# door-sensor icon

Door sensor. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/door-sensor

- Category: Home & household
- Use it for: contact sensor, door sensor, window sensor, open close sensor, entry sensor
- Tags: door, sensor, contact-sensor, door-sensor, window-sensor, smart-home, matter, zigbee, open-close, security
- Family: door, door-alert, door-check, door-gear, door-lock, door-off, door-open, door-package, door-plus, door-sliding, door-unlock, door-user, door-x
- Component name: DoorSensorIcon
- Added: 2026-11-12

## Alternatives

- `motion-sensor`: movement or occupancy in a room

## Also fits

- motion sensor: an open/close contact sensor

## Files

Each icon is drawn on the 16 px grid, and most also on the 20 and 24 px grids (at 24 in three weights: light 1 px, regular 1.5 px, bold 2 px). Show the drawing made for your size, or an exact multiple of it, on whole pixels: 16 for 16 and 32 px, 20 for 20 and 40, 24 for 24 and 48. A size in between or a fractional position blurs it. The code on each icon page is the 16 px drawing, an SVG with fill="currentColor"; the icon page's downloads follow its Grid switch, and npm has the 20 and 24 px drawings too.

- line-round: https://gentleface.com/svg/line-round/16/door-sensor.svg · PNG https://gentleface.com/png/line-round/16/door-sensor.png · https://gentleface.com/png/line-round/32/door-sensor.png · https://gentleface.com/png/line-round/48/door-sensor.png
- line-soft: https://gentleface.com/svg/line-soft/16/door-sensor.svg · PNG https://gentleface.com/png/line-soft/16/door-sensor.png · https://gentleface.com/png/line-soft/32/door-sensor.png · https://gentleface.com/png/line-soft/48/door-sensor.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/door-sensor.svg · PNG https://gentleface.com/png/line-sharp/16/door-sensor.png · https://gentleface.com/png/line-sharp/32/door-sensor.png · https://gentleface.com/png/line-sharp/48/door-sensor.png
- solid-round: https://gentleface.com/svg/solid-round/16/door-sensor.svg · PNG https://gentleface.com/png/solid-round/16/door-sensor.png · https://gentleface.com/png/solid-round/32/door-sensor.png · https://gentleface.com/png/solid-round/48/door-sensor.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/door-sensor.svg · PNG https://gentleface.com/png/solid-soft/16/door-sensor.png · https://gentleface.com/png/solid-soft/32/door-sensor.png · https://gentleface.com/png/solid-soft/48/door-sensor.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/door-sensor.svg · PNG https://gentleface.com/png/solid-sharp/16/door-sensor.png · https://gentleface.com/png/solid-sharp/32/door-sensor.png · https://gentleface.com/png/solid-sharp/48/door-sensor.png

The SVG of every style: https://gentleface.com/icons/door-sensor.json (`svg`).

## Code (line-round)

The snippets are decorative (aria-hidden). For an icon that carries meaning on its own, such as an icon-only button, label the button, or give the SVG role="img" and an aria-label. For another style, take its SVG from the JSON and swap the path `d`.

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6 1C6.254 1 6.5 1.047 6.736 1.14C6.993 1.242 7.219 1.391 7.414 1.586C7.609 1.781 7.758 2.007 7.86 2.264C7.953 2.5 8 2.746 8 3L8 14L8.5 14C8.641 14 8.759 14.048 8.856 14.144C8.952 14.241 9 14.359 9 14.5C9 14.641 8.952 14.759 8.856 14.856C8.759 14.952 8.641 15 8.5 15L1.5 15C1.359 15 1.241 14.952 1.144 14.856C1.048 14.759 1 14.641 1 14.5L1 3C1 2.746 1.047 2.5 1.14 2.264ZM7 14L7 3C7 2.724 6.902 2.488 6.707 2.293C6.512 2.098 6.276 2 6 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 14L7 14ZM7 8C7 8.276 6.902 8.512 6.707 8.707C6.512 8.902 6.276 9 6 9C5.724 9 5.488 8.902 5.293 8.707C5.098 8.512 5 8.276 5 8C5 7.724 5.098 7.488 5.293 7.293C5.488 7.098 5.724 7 6 7C6.276 7 6.512 7.098 6.707 7.293C6.902 7.488 7 7.724 7 8ZM12.95 3.05C13.579 3.68 14.071 4.403 14.424 5.22C14.808 6.107 15 7.033 15 8C15 8.967 14.808 9.893 14.424 10.78C14.071 11.597 13.579 12.32 12.95 12.95C12.85 13.049 12.732 13.099 12.596 13.099C12.46 13.099 12.342 13.049 12.243 12.95C12.143 12.85 12.093 12.732 12.093 12.596C12.093 12.46 12.143 12.342 12.243 12.243C12.782 11.703 13.203 11.083 13.506 10.383C13.835 9.623 14 8.828 14 8C14 7.172 13.835 6.377 13.506 5.617C13.203 4.917 12.782 4.297 12.243 3.757C12.145 3.66 12.096 3.542 12.096 3.404C12.096 3.266 12.145 3.148 12.243 3.05C12.342 2.951 12.46 2.901 12.596 2.901C12.732 2.901 12.85 2.951 12.95 3.05ZM12 8C12 8.552 11.89 9.082 11.671 9.589C11.469 10.056 11.188 10.469 10.828 10.828C10.729 10.928 10.611 10.978 10.475 10.978C10.339 10.978 10.221 10.928 10.121 10.828C10.022 10.729 9.972 10.611 9.972 10.475C9.972 10.339 10.022 10.221 10.121 10.121C10.391 9.852 10.602 9.542 10.753 9.192C10.918 8.811 11 8.414 11 8C11 7.586 10.918 7.189 10.753 6.808C10.602 6.458 10.391 6.148 10.121 5.879C10.022 5.779 9.972 5.661 9.972 5.525C9.972 5.389 10.022 5.271 10.121 5.172C10.219 5.074 10.337 5.025 10.475 5.025C10.613 5.025 10.731 5.074 10.828 5.172C11.188 5.531 11.469 5.944 11.671 6.411C11.89 6.918 12 7.448 12 8Z"/></svg>
```

### React

```tsx
// Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor
import type { SVGProps } from 'react';

export function DoorSensorIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6 1C6.254 1 6.5 1.047 6.736 1.14C6.993 1.242 7.219 1.391 7.414 1.586C7.609 1.781 7.758 2.007 7.86 2.264C7.953 2.5 8 2.746 8 3L8 14L8.5 14C8.641 14 8.759 14.048 8.856 14.144C8.952 14.241 9 14.359 9 14.5C9 14.641 8.952 14.759 8.856 14.856C8.759 14.952 8.641 15 8.5 15L1.5 15C1.359 15 1.241 14.952 1.144 14.856C1.048 14.759 1 14.641 1 14.5L1 3C1 2.746 1.047 2.5 1.14 2.264ZM7 14L7 3C7 2.724 6.902 2.488 6.707 2.293C6.512 2.098 6.276 2 6 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 14L7 14ZM7 8C7 8.276 6.902 8.512 6.707 8.707C6.512 8.902 6.276 9 6 9C5.724 9 5.488 8.902 5.293 8.707C5.098 8.512 5 8.276 5 8C5 7.724 5.098 7.488 5.293 7.293C5.488 7.098 5.724 7 6 7C6.276 7 6.512 7.098 6.707 7.293C6.902 7.488 7 7.724 7 8ZM12.95 3.05C13.579 3.68 14.071 4.403 14.424 5.22C14.808 6.107 15 7.033 15 8C15 8.967 14.808 9.893 14.424 10.78C14.071 11.597 13.579 12.32 12.95 12.95C12.85 13.049 12.732 13.099 12.596 13.099C12.46 13.099 12.342 13.049 12.243 12.95C12.143 12.85 12.093 12.732 12.093 12.596C12.093 12.46 12.143 12.342 12.243 12.243C12.782 11.703 13.203 11.083 13.506 10.383C13.835 9.623 14 8.828 14 8C14 7.172 13.835 6.377 13.506 5.617C13.203 4.917 12.782 4.297 12.243 3.757C12.145 3.66 12.096 3.542 12.096 3.404C12.096 3.266 12.145 3.148 12.243 3.05C12.342 2.951 12.46 2.901 12.596 2.901C12.732 2.901 12.85 2.951 12.95 3.05ZM12 8C12 8.552 11.89 9.082 11.671 9.589C11.469 10.056 11.188 10.469 10.828 10.828C10.729 10.928 10.611 10.978 10.475 10.978C10.339 10.978 10.221 10.928 10.121 10.828C10.022 10.729 9.972 10.611 9.972 10.475C9.972 10.339 10.022 10.221 10.121 10.121C10.391 9.852 10.602 9.542 10.753 9.192C10.918 8.811 11 8.414 11 8C11 7.586 10.918 7.189 10.753 6.808C10.602 6.458 10.391 6.148 10.121 5.879C10.022 5.779 9.972 5.661 9.972 5.525C9.972 5.389 10.022 5.271 10.121 5.172C10.219 5.074 10.337 5.025 10.475 5.025C10.613 5.025 10.731 5.074 10.828 5.172C11.188 5.531 11.469 5.944 11.671 6.411C11.89 6.918 12 7.448 12 8Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6 1C6.254 1 6.5 1.047 6.736 1.14C6.993 1.242 7.219 1.391 7.414 1.586C7.609 1.781 7.758 2.007 7.86 2.264C7.953 2.5 8 2.746 8 3L8 14L8.5 14C8.641 14 8.759 14.048 8.856 14.144C8.952 14.241 9 14.359 9 14.5C9 14.641 8.952 14.759 8.856 14.856C8.759 14.952 8.641 15 8.5 15L1.5 15C1.359 15 1.241 14.952 1.144 14.856C1.048 14.759 1 14.641 1 14.5L1 3C1 2.746 1.047 2.5 1.14 2.264ZM7 14L7 3C7 2.724 6.902 2.488 6.707 2.293C6.512 2.098 6.276 2 6 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 14L7 14ZM7 8C7 8.276 6.902 8.512 6.707 8.707C6.512 8.902 6.276 9 6 9C5.724 9 5.488 8.902 5.293 8.707C5.098 8.512 5 8.276 5 8C5 7.724 5.098 7.488 5.293 7.293C5.488 7.098 5.724 7 6 7C6.276 7 6.512 7.098 6.707 7.293C6.902 7.488 7 7.724 7 8ZM12.95 3.05C13.579 3.68 14.071 4.403 14.424 5.22C14.808 6.107 15 7.033 15 8C15 8.967 14.808 9.893 14.424 10.78C14.071 11.597 13.579 12.32 12.95 12.95C12.85 13.049 12.732 13.099 12.596 13.099C12.46 13.099 12.342 13.049 12.243 12.95C12.143 12.85 12.093 12.732 12.093 12.596C12.093 12.46 12.143 12.342 12.243 12.243C12.782 11.703 13.203 11.083 13.506 10.383C13.835 9.623 14 8.828 14 8C14 7.172 13.835 6.377 13.506 5.617C13.203 4.917 12.782 4.297 12.243 3.757C12.145 3.66 12.096 3.542 12.096 3.404C12.096 3.266 12.145 3.148 12.243 3.05C12.342 2.951 12.46 2.901 12.596 2.901C12.732 2.901 12.85 2.951 12.95 3.05ZM12 8C12 8.552 11.89 9.082 11.671 9.589C11.469 10.056 11.188 10.469 10.828 10.828C10.729 10.928 10.611 10.978 10.475 10.978C10.339 10.978 10.221 10.928 10.121 10.828C10.022 10.729 9.972 10.611 9.972 10.475C9.972 10.339 10.022 10.221 10.121 10.121C10.391 9.852 10.602 9.542 10.753 9.192C10.918 8.811 11 8.414 11 8C11 7.586 10.918 7.189 10.753 6.808C10.602 6.458 10.391 6.148 10.121 5.879C10.022 5.779 9.972 5.661 9.972 5.525C9.972 5.389 10.022 5.271 10.121 5.172C10.219 5.074 10.337 5.025 10.475 5.025C10.613 5.025 10.731 5.074 10.828 5.172C11.188 5.531 11.469 5.944 11.671 6.411C11.89 6.918 12 7.448 12 8Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor -->
<script>
  let props = $props();
</script>

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6 1C6.254 1 6.5 1.047 6.736 1.14C6.993 1.242 7.219 1.391 7.414 1.586C7.609 1.781 7.758 2.007 7.86 2.264C7.953 2.5 8 2.746 8 3L8 14L8.5 14C8.641 14 8.759 14.048 8.856 14.144C8.952 14.241 9 14.359 9 14.5C9 14.641 8.952 14.759 8.856 14.856C8.759 14.952 8.641 15 8.5 15L1.5 15C1.359 15 1.241 14.952 1.144 14.856C1.048 14.759 1 14.641 1 14.5L1 3C1 2.746 1.047 2.5 1.14 2.264ZM7 14L7 3C7 2.724 6.902 2.488 6.707 2.293C6.512 2.098 6.276 2 6 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 14L7 14ZM7 8C7 8.276 6.902 8.512 6.707 8.707C6.512 8.902 6.276 9 6 9C5.724 9 5.488 8.902 5.293 8.707C5.098 8.512 5 8.276 5 8C5 7.724 5.098 7.488 5.293 7.293C5.488 7.098 5.724 7 6 7C6.276 7 6.512 7.098 6.707 7.293C6.902 7.488 7 7.724 7 8ZM12.95 3.05C13.579 3.68 14.071 4.403 14.424 5.22C14.808 6.107 15 7.033 15 8C15 8.967 14.808 9.893 14.424 10.78C14.071 11.597 13.579 12.32 12.95 12.95C12.85 13.049 12.732 13.099 12.596 13.099C12.46 13.099 12.342 13.049 12.243 12.95C12.143 12.85 12.093 12.732 12.093 12.596C12.093 12.46 12.143 12.342 12.243 12.243C12.782 11.703 13.203 11.083 13.506 10.383C13.835 9.623 14 8.828 14 8C14 7.172 13.835 6.377 13.506 5.617C13.203 4.917 12.782 4.297 12.243 3.757C12.145 3.66 12.096 3.542 12.096 3.404C12.096 3.266 12.145 3.148 12.243 3.05C12.342 2.951 12.46 2.901 12.596 2.901C12.732 2.901 12.85 2.951 12.95 3.05ZM12 8C12 8.552 11.89 9.082 11.671 9.589C11.469 10.056 11.188 10.469 10.828 10.828C10.729 10.928 10.611 10.978 10.475 10.978C10.339 10.978 10.221 10.928 10.121 10.828C10.022 10.729 9.972 10.611 9.972 10.475C9.972 10.339 10.022 10.221 10.121 10.121C10.391 9.852 10.602 9.542 10.753 9.192C10.918 8.811 11 8.414 11 8C11 7.586 10.918 7.189 10.753 6.808C10.602 6.458 10.391 6.148 10.121 5.879C10.022 5.779 9.972 5.661 9.972 5.525C9.972 5.389 10.022 5.271 10.121 5.172C10.219 5.074 10.337 5.025 10.475 5.025C10.613 5.025 10.731 5.074 10.828 5.172C11.188 5.531 11.469 5.944 11.671 6.411C11.89 6.918 12 7.448 12 8Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor. An <img> can't take currentColor: it draws black. Inline the SVG or use the CSS mask to color it. -->
<img src="https://gentleface.com/svg/line-round/16/door-sensor.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor. Takes the text color. */
.icon-door-sensor {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6 1C6.254 1 6.5 1.047 6.736 1.14C6.993 1.242 7.219 1.391 7.414 1.586C7.609 1.781 7.758 2.007 7.86 2.264C7.953 2.5 8 2.746 8 3L8 14L8.5 14C8.641 14 8.759 14.048 8.856 14.144C8.952 14.241 9 14.359 9 14.5C9 14.641 8.952 14.759 8.856 14.856C8.759 14.952 8.641 15 8.5 15L1.5 15C1.359 15 1.241 14.952 1.144 14.856C1.048 14.759 1 14.641 1 14.5L1 3C1 2.746 1.047 2.5 1.14 2.264ZM7 14L7 3C7 2.724 6.902 2.488 6.707 2.293C6.512 2.098 6.276 2 6 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 14L7 14ZM7 8C7 8.276 6.902 8.512 6.707 8.707C6.512 8.902 6.276 9 6 9C5.724 9 5.488 8.902 5.293 8.707C5.098 8.512 5 8.276 5 8C5 7.724 5.098 7.488 5.293 7.293C5.488 7.098 5.724 7 6 7C6.276 7 6.512 7.098 6.707 7.293C6.902 7.488 7 7.724 7 8ZM12.95 3.05C13.579 3.68 14.071 4.403 14.424 5.22C14.808 6.107 15 7.033 15 8C15 8.967 14.808 9.893 14.424 10.78C14.071 11.597 13.579 12.32 12.95 12.95C12.85 13.049 12.732 13.099 12.596 13.099C12.46 13.099 12.342 13.049 12.243 12.95C12.143 12.85 12.093 12.732 12.093 12.596C12.093 12.46 12.143 12.342 12.243 12.243C12.782 11.703 13.203 11.083 13.506 10.383C13.835 9.623 14 8.828 14 8C14 7.172 13.835 6.377 13.506 5.617C13.203 4.917 12.782 4.297 12.243 3.757C12.145 3.66 12.096 3.542 12.096 3.404C12.096 3.266 12.145 3.148 12.243 3.05C12.342 2.951 12.46 2.901 12.596 2.901C12.732 2.901 12.85 2.951 12.95 3.05ZM12 8C12 8.552 11.89 9.082 11.671 9.589C11.469 10.056 11.188 10.469 10.828 10.828C10.729 10.928 10.611 10.978 10.475 10.978C10.339 10.978 10.221 10.928 10.121 10.828C10.022 10.729 9.972 10.611 9.972 10.475C9.972 10.339 10.022 10.221 10.121 10.121C10.391 9.852 10.602 9.542 10.753 9.192C10.918 8.811 11 8.414 11 8C11 7.586 10.918 7.189 10.753 6.808C10.602 6.458 10.391 6.148 10.121 5.879C10.022 5.779 9.972 5.661 9.972 5.525C9.972 5.389 10.022 5.271 10.121 5.172C10.219 5.074 10.337 5.025 10.475 5.025C10.613 5.025 10.731 5.074 10.828 5.172C11.188 5.531 11.469 5.944 11.671 6.411C11.89 6.918 12 7.448 12 8Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6 1C6.254 1 6.5 1.047 6.736 1.14C6.993 1.242 7.219 1.391 7.414 1.586C7.609 1.781 7.758 2.007 7.86 2.264C7.953 2.5 8 2.746 8 3L8 14L8.5 14C8.641 14 8.759 14.048 8.856 14.144C8.952 14.241 9 14.359 9 14.5C9 14.641 8.952 14.759 8.856 14.856C8.759 14.952 8.641 15 8.5 15L1.5 15C1.359 15 1.241 14.952 1.144 14.856C1.048 14.759 1 14.641 1 14.5L1 3C1 2.746 1.047 2.5 1.14 2.264ZM7 14L7 3C7 2.724 6.902 2.488 6.707 2.293C6.512 2.098 6.276 2 6 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 14L7 14ZM7 8C7 8.276 6.902 8.512 6.707 8.707C6.512 8.902 6.276 9 6 9C5.724 9 5.488 8.902 5.293 8.707C5.098 8.512 5 8.276 5 8C5 7.724 5.098 7.488 5.293 7.293C5.488 7.098 5.724 7 6 7C6.276 7 6.512 7.098 6.707 7.293C6.902 7.488 7 7.724 7 8ZM12.95 3.05C13.579 3.68 14.071 4.403 14.424 5.22C14.808 6.107 15 7.033 15 8C15 8.967 14.808 9.893 14.424 10.78C14.071 11.597 13.579 12.32 12.95 12.95C12.85 13.049 12.732 13.099 12.596 13.099C12.46 13.099 12.342 13.049 12.243 12.95C12.143 12.85 12.093 12.732 12.093 12.596C12.093 12.46 12.143 12.342 12.243 12.243C12.782 11.703 13.203 11.083 13.506 10.383C13.835 9.623 14 8.828 14 8C14 7.172 13.835 6.377 13.506 5.617C13.203 4.917 12.782 4.297 12.243 3.757C12.145 3.66 12.096 3.542 12.096 3.404C12.096 3.266 12.145 3.148 12.243 3.05C12.342 2.951 12.46 2.901 12.596 2.901C12.732 2.901 12.85 2.951 12.95 3.05ZM12 8C12 8.552 11.89 9.082 11.671 9.589C11.469 10.056 11.188 10.469 10.828 10.828C10.729 10.928 10.611 10.978 10.475 10.978C10.339 10.978 10.221 10.928 10.121 10.828C10.022 10.729 9.972 10.611 9.972 10.475C9.972 10.339 10.022 10.221 10.121 10.121C10.391 9.852 10.602 9.542 10.753 9.192C10.918 8.811 11 8.414 11 8C11 7.586 10.918 7.189 10.753 6.808C10.602 6.458 10.391 6.148 10.121 5.879C10.022 5.779 9.972 5.661 9.972 5.525C9.972 5.389 10.022 5.271 10.121 5.172C10.219 5.074 10.337 5.025 10.475 5.025C10.613 5.025 10.731 5.074 10.828 5.172C11.188 5.531 11.469 5.944 11.671 6.411C11.89 6.918 12 7.448 12 8Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6 1C6.254 1 6.5 1.047 6.736 1.14C6.993 1.242 7.219 1.391 7.414 1.586C7.609 1.781 7.758 2.007 7.86 2.264C7.953 2.5 8 2.746 8 3L8 14L8.5 14C8.641 14 8.759 14.048 8.856 14.144C8.952 14.241 9 14.359 9 14.5C9 14.641 8.952 14.759 8.856 14.856C8.759 14.952 8.641 15 8.5 15L1.5 15C1.359 15 1.241 14.952 1.144 14.856C1.048 14.759 1 14.641 1 14.5L1 3C1 2.746 1.047 2.5 1.14 2.264ZM7 14L7 3C7 2.724 6.902 2.488 6.707 2.293C6.512 2.098 6.276 2 6 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 14L7 14ZM7 8C7 8.276 6.902 8.512 6.707 8.707C6.512 8.902 6.276 9 6 9C5.724 9 5.488 8.902 5.293 8.707C5.098 8.512 5 8.276 5 8C5 7.724 5.098 7.488 5.293 7.293C5.488 7.098 5.724 7 6 7C6.276 7 6.512 7.098 6.707 7.293C6.902 7.488 7 7.724 7 8ZM12.95 3.05C13.579 3.68 14.071 4.403 14.424 5.22C14.808 6.107 15 7.033 15 8C15 8.967 14.808 9.893 14.424 10.78C14.071 11.597 13.579 12.32 12.95 12.95C12.85 13.049 12.732 13.099 12.596 13.099C12.46 13.099 12.342 13.049 12.243 12.95C12.143 12.85 12.093 12.732 12.093 12.596C12.093 12.46 12.143 12.342 12.243 12.243C12.782 11.703 13.203 11.083 13.506 10.383C13.835 9.623 14 8.828 14 8C14 7.172 13.835 6.377 13.506 5.617C13.203 4.917 12.782 4.297 12.243 3.757C12.145 3.66 12.096 3.542 12.096 3.404C12.096 3.266 12.145 3.148 12.243 3.05C12.342 2.951 12.46 2.901 12.596 2.901C12.732 2.901 12.85 2.951 12.95 3.05ZM12 8C12 8.552 11.89 9.082 11.671 9.589C11.469 10.056 11.188 10.469 10.828 10.828C10.729 10.928 10.611 10.978 10.475 10.978C10.339 10.978 10.221 10.928 10.121 10.828C10.022 10.729 9.972 10.611 9.972 10.475C9.972 10.339 10.022 10.221 10.121 10.121C10.391 9.852 10.602 9.542 10.753 9.192C10.918 8.811 11 8.414 11 8C11 7.586 10.918 7.189 10.753 6.808C10.602 6.458 10.391 6.148 10.121 5.879C10.022 5.779 9.972 5.661 9.972 5.525C9.972 5.389 10.022 5.271 10.121 5.172C10.219 5.074 10.337 5.025 10.475 5.025C10.613 5.025 10.731 5.074 10.828 5.172C11.188 5.531 11.469 5.944 11.671 6.411C11.89 6.918 12 7.448 12 8Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor
     Every icon of this style in one file: https://gentleface.com/sprite/line-round.svg
     Serve it from your own origin: <use> does not load from another origin. -->
<svg width="16" height="16" aria-hidden="true"><use href="/sprite/line-round.svg#door-sensor"/></svg>
```

### SwiftUI

```swift
// Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor
import SwiftUI

struct DoorSensorIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 1.14, y: 2.264))
        p.addCurve(to: CGPoint(x: 1.586, y: 1.586), control1: CGPoint(x: 1.242, y: 2.007), control2: CGPoint(x: 1.391, y: 1.781))
        p.addCurve(to: CGPoint(x: 2.264, y: 1.14), control1: CGPoint(x: 1.781, y: 1.391), control2: CGPoint(x: 2.007, y: 1.242))
        p.addCurve(to: CGPoint(x: 3, y: 1), control1: CGPoint(x: 2.5, y: 1.047), control2: CGPoint(x: 2.746, y: 1))
        p.addLine(to: CGPoint(x: 6, y: 1))
        p.addCurve(to: CGPoint(x: 6.736, y: 1.14), control1: CGPoint(x: 6.254, y: 1), control2: CGPoint(x: 6.5, y: 1.047))
        p.addCurve(to: CGPoint(x: 7.414, y: 1.586), control1: CGPoint(x: 6.993, y: 1.242), control2: CGPoint(x: 7.219, y: 1.391))
        p.addCurve(to: CGPoint(x: 7.86, y: 2.264), control1: CGPoint(x: 7.609, y: 1.781), control2: CGPoint(x: 7.758, y: 2.007))
        p.addCurve(to: CGPoint(x: 8, y: 3), control1: CGPoint(x: 7.953, y: 2.5), control2: CGPoint(x: 8, y: 2.746))
        p.addLine(to: CGPoint(x: 8, y: 14))
        p.addLine(to: CGPoint(x: 8.5, y: 14))
        p.addCurve(to: CGPoint(x: 8.856, y: 14.144), control1: CGPoint(x: 8.641, y: 14), control2: CGPoint(x: 8.759, y: 14.048))
        p.addCurve(to: CGPoint(x: 9, y: 14.5), control1: CGPoint(x: 8.952, y: 14.241), control2: CGPoint(x: 9, y: 14.359))
        p.addCurve(to: CGPoint(x: 8.856, y: 14.856), control1: CGPoint(x: 9, y: 14.641), control2: CGPoint(x: 8.952, y: 14.759))
        p.addCurve(to: CGPoint(x: 8.5, y: 15), control1: CGPoint(x: 8.759, y: 14.952), control2: CGPoint(x: 8.641, y: 15))
        p.addLine(to: CGPoint(x: 1.5, y: 15))
        p.addCurve(to: CGPoint(x: 1.144, y: 14.856), control1: CGPoint(x: 1.359, y: 15), control2: CGPoint(x: 1.241, y: 14.952))
        p.addCurve(to: CGPoint(x: 1, y: 14.5), control1: CGPoint(x: 1.048, y: 14.759), control2: CGPoint(x: 1, y: 14.641))
        p.addLine(to: CGPoint(x: 1, y: 3))
        p.addCurve(to: CGPoint(x: 1.14, y: 2.264), control1: CGPoint(x: 1, y: 2.746), control2: CGPoint(x: 1.047, y: 2.5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 7, y: 14))
        p.addLine(to: CGPoint(x: 7, y: 3))
        p.addCurve(to: CGPoint(x: 6.707, y: 2.293), control1: CGPoint(x: 7, y: 2.724), control2: CGPoint(x: 6.902, y: 2.488))
        p.addCurve(to: CGPoint(x: 6, y: 2), control1: CGPoint(x: 6.512, y: 2.098), control2: CGPoint(x: 6.276, y: 2))
        p.addLine(to: CGPoint(x: 3, y: 2))
        p.addCurve(to: CGPoint(x: 2.293, y: 2.293), control1: CGPoint(x: 2.724, y: 2), control2: CGPoint(x: 2.488, y: 2.098))
        p.addCurve(to: CGPoint(x: 2, y: 3), control1: CGPoint(x: 2.098, y: 2.488), control2: CGPoint(x: 2, y: 2.724))
        p.addLine(to: CGPoint(x: 2, y: 14))
        p.addLine(to: CGPoint(x: 7, y: 14))
        p.closeSubpath()
        p.move(to: CGPoint(x: 7, y: 8))
        p.addCurve(to: CGPoint(x: 6.707, y: 8.707), control1: CGPoint(x: 7, y: 8.276), control2: CGPoint(x: 6.902, y: 8.512))
        p.addCurve(to: CGPoint(x: 6, y: 9), control1: CGPoint(x: 6.512, y: 8.902), control2: CGPoint(x: 6.276, y: 9))
        p.addCurve(to: CGPoint(x: 5.293, y: 8.707), control1: CGPoint(x: 5.724, y: 9), control2: CGPoint(x: 5.488, y: 8.902))
        p.addCurve(to: CGPoint(x: 5, y: 8), control1: CGPoint(x: 5.098, y: 8.512), control2: CGPoint(x: 5, y: 8.276))
        p.addCurve(to: CGPoint(x: 5.293, y: 7.293), control1: CGPoint(x: 5, y: 7.724), control2: CGPoint(x: 5.098, y: 7.488))
        p.addCurve(to: CGPoint(x: 6, y: 7), control1: CGPoint(x: 5.488, y: 7.098), control2: CGPoint(x: 5.724, y: 7))
        p.addCurve(to: CGPoint(x: 6.707, y: 7.293), control1: CGPoint(x: 6.276, y: 7), control2: CGPoint(x: 6.512, y: 7.098))
        p.addCurve(to: CGPoint(x: 7, y: 8), control1: CGPoint(x: 6.902, y: 7.488), control2: CGPoint(x: 7, y: 7.724))
        p.closeSubpath()
        p.move(to: CGPoint(x: 12.95, y: 3.05))
        p.addCurve(to: CGPoint(x: 14.424, y: 5.22), control1: CGPoint(x: 13.579, y: 3.68), control2: CGPoint(x: 14.071, y: 4.403))
        p.addCurve(to: CGPoint(x: 15, y: 8), control1: CGPoint(x: 14.808, y: 6.107), control2: CGPoint(x: 15, y: 7.033))
        p.addCurve(to: CGPoint(x: 14.424, y: 10.78), control1: CGPoint(x: 15, y: 8.967), control2: CGPoint(x: 14.808, y: 9.893))
        p.addCurve(to: CGPoint(x: 12.95, y: 12.95), control1: CGPoint(x: 14.071, y: 11.597), control2: CGPoint(x: 13.579, y: 12.32))
        p.addCurve(to: CGPoint(x: 12.596, y: 13.099), control1: CGPoint(x: 12.85, y: 13.049), control2: CGPoint(x: 12.732, y: 13.099))
        p.addCurve(to: CGPoint(x: 12.243, y: 12.95), control1: CGPoint(x: 12.46, y: 13.099), control2: CGPoint(x: 12.342, y: 13.049))
        p.addCurve(to: CGPoint(x: 12.093, y: 12.596), control1: CGPoint(x: 12.143, y: 12.85), control2: CGPoint(x: 12.093, y: 12.732))
        p.addCurve(to: CGPoint(x: 12.243, y: 12.243), control1: CGPoint(x: 12.093, y: 12.46), control2: CGPoint(x: 12.143, y: 12.342))
        p.addCurve(to: CGPoint(x: 13.506, y: 10.383), control1: CGPoint(x: 12.782, y: 11.703), control2: CGPoint(x: 13.203, y: 11.083))
        p.addCurve(to: CGPoint(x: 14, y: 8), control1: CGPoint(x: 13.835, y: 9.623), control2: CGPoint(x: 14, y: 8.828))
        p.addCurve(to: CGPoint(x: 13.506, y: 5.617), control1: CGPoint(x: 14, y: 7.172), control2: CGPoint(x: 13.835, y: 6.377))
        p.addCurve(to: CGPoint(x: 12.243, y: 3.757), control1: CGPoint(x: 13.203, y: 4.917), control2: CGPoint(x: 12.782, y: 4.297))
        p.addCurve(to: CGPoint(x: 12.096, y: 3.404), control1: CGPoint(x: 12.145, y: 3.66), control2: CGPoint(x: 12.096, y: 3.542))
        p.addCurve(to: CGPoint(x: 12.243, y: 3.05), control1: CGPoint(x: 12.096, y: 3.266), control2: CGPoint(x: 12.145, y: 3.148))
        p.addCurve(to: CGPoint(x: 12.596, y: 2.901), control1: CGPoint(x: 12.342, y: 2.951), control2: CGPoint(x: 12.46, y: 2.901))
        p.addCurve(to: CGPoint(x: 12.95, y: 3.05), control1: CGPoint(x: 12.732, y: 2.901), control2: CGPoint(x: 12.85, y: 2.951))
        p.closeSubpath()
        p.move(to: CGPoint(x: 12, y: 8))
        p.addCurve(to: CGPoint(x: 11.671, y: 9.589), control1: CGPoint(x: 12, y: 8.552), control2: CGPoint(x: 11.89, y: 9.082))
        p.addCurve(to: CGPoint(x: 10.828, y: 10.828), control1: CGPoint(x: 11.469, y: 10.056), control2: CGPoint(x: 11.188, y: 10.469))
        p.addCurve(to: CGPoint(x: 10.475, y: 10.978), control1: CGPoint(x: 10.729, y: 10.928), control2: CGPoint(x: 10.611, y: 10.978))
        p.addCurve(to: CGPoint(x: 10.121, y: 10.828), control1: CGPoint(x: 10.339, y: 10.978), control2: CGPoint(x: 10.221, y: 10.928))
        p.addCurve(to: CGPoint(x: 9.972, y: 10.475), control1: CGPoint(x: 10.022, y: 10.729), control2: CGPoint(x: 9.972, y: 10.611))
        p.addCurve(to: CGPoint(x: 10.121, y: 10.121), control1: CGPoint(x: 9.972, y: 10.339), control2: CGPoint(x: 10.022, y: 10.221))
        p.addCurve(to: CGPoint(x: 10.753, y: 9.192), control1: CGPoint(x: 10.391, y: 9.852), control2: CGPoint(x: 10.602, y: 9.542))
        p.addCurve(to: CGPoint(x: 11, y: 8), control1: CGPoint(x: 10.918, y: 8.811), control2: CGPoint(x: 11, y: 8.414))
        p.addCurve(to: CGPoint(x: 10.753, y: 6.808), control1: CGPoint(x: 11, y: 7.586), control2: CGPoint(x: 10.918, y: 7.189))
        p.addCurve(to: CGPoint(x: 10.121, y: 5.879), control1: CGPoint(x: 10.602, y: 6.458), control2: CGPoint(x: 10.391, y: 6.148))
        p.addCurve(to: CGPoint(x: 9.972, y: 5.525), control1: CGPoint(x: 10.022, y: 5.779), control2: CGPoint(x: 9.972, y: 5.661))
        p.addCurve(to: CGPoint(x: 10.121, y: 5.172), control1: CGPoint(x: 9.972, y: 5.389), control2: CGPoint(x: 10.022, y: 5.271))
        p.addCurve(to: CGPoint(x: 10.475, y: 5.025), control1: CGPoint(x: 10.219, y: 5.074), control2: CGPoint(x: 10.337, y: 5.025))
        p.addCurve(to: CGPoint(x: 10.828, y: 5.172), control1: CGPoint(x: 10.613, y: 5.025), control2: CGPoint(x: 10.731, y: 5.074))
        p.addCurve(to: CGPoint(x: 11.671, y: 6.411), control1: CGPoint(x: 11.188, y: 5.531), control2: CGPoint(x: 11.469, y: 5.944))
        p.addCurve(to: CGPoint(x: 12, y: 8), control1: CGPoint(x: 11.89, y: 6.918), control2: CGPoint(x: 12, y: 7.448))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

// DoorSensorIcon().frame(width: 16, height: 16) fills with the foreground style. Keep it on whole points to stay crisp.
```

### Compose

```kotlin
// Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.addPathNodes
import androidx.compose.ui.unit.dp

val DoorSensorIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "door-sensor", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6 1C6.254 1 6.5 1.047 6.736 1.14C6.993 1.242 7.219 1.391 7.414 1.586C7.609 1.781 7.758 2.007 7.86 2.264C7.953 2.5 8 2.746 8 3L8 14L8.5 14C8.641 14 8.759 14.048 8.856 14.144C8.952 14.241 9 14.359 9 14.5C9 14.641 8.952 14.759 8.856 14.856C8.759 14.952 8.641 15 8.5 15L1.5 15C1.359 15 1.241 14.952 1.144 14.856C1.048 14.759 1 14.641 1 14.5L1 3C1 2.746 1.047 2.5 1.14 2.264ZM7 14L7 3C7 2.724 6.902 2.488 6.707 2.293C6.512 2.098 6.276 2 6 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 14L7 14ZM7 8C7 8.276 6.902 8.512 6.707 8.707C6.512 8.902 6.276 9 6 9C5.724 9 5.488 8.902 5.293 8.707C5.098 8.512 5 8.276 5 8C5 7.724 5.098 7.488 5.293 7.293C5.488 7.098 5.724 7 6 7C6.276 7 6.512 7.098 6.707 7.293C6.902 7.488 7 7.724 7 8ZM12.95 3.05C13.579 3.68 14.071 4.403 14.424 5.22C14.808 6.107 15 7.033 15 8C15 8.967 14.808 9.893 14.424 10.78C14.071 11.597 13.579 12.32 12.95 12.95C12.85 13.049 12.732 13.099 12.596 13.099C12.46 13.099 12.342 13.049 12.243 12.95C12.143 12.85 12.093 12.732 12.093 12.596C12.093 12.46 12.143 12.342 12.243 12.243C12.782 11.703 13.203 11.083 13.506 10.383C13.835 9.623 14 8.828 14 8C14 7.172 13.835 6.377 13.506 5.617C13.203 4.917 12.782 4.297 12.243 3.757C12.145 3.66 12.096 3.542 12.096 3.404C12.096 3.266 12.145 3.148 12.243 3.05C12.342 2.951 12.46 2.901 12.596 2.901C12.732 2.901 12.85 2.951 12.95 3.05ZM12 8C12 8.552 11.89 9.082 11.671 9.589C11.469 10.056 11.188 10.469 10.828 10.828C10.729 10.928 10.611 10.978 10.475 10.978C10.339 10.978 10.221 10.928 10.121 10.828C10.022 10.729 9.972 10.611 9.972 10.475C9.972 10.339 10.022 10.221 10.121 10.121C10.391 9.852 10.602 9.542 10.753 9.192C10.918 8.811 11 8.414 11 8C11 7.586 10.918 7.189 10.753 6.808C10.602 6.458 10.391 6.148 10.121 5.879C10.022 5.779 9.972 5.661 9.972 5.525C9.972 5.389 10.022 5.271 10.121 5.172C10.219 5.074 10.337 5.025 10.475 5.025C10.613 5.025 10.731 5.074 10.828 5.172C11.188 5.531 11.469 5.944 11.671 6.411C11.89 6.918 12 7.448 12 8Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

// Icon(DoorSensorIcon, contentDescription = null) tints it with LocalContentColor.
```

### Android XML

```xml
<!-- res/drawable/ic_door_sensor.xml · Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6 1C6.254 1 6.5 1.047 6.736 1.14C6.993 1.242 7.219 1.391 7.414 1.586C7.609 1.781 7.758 2.007 7.86 2.264C7.953 2.5 8 2.746 8 3L8 14L8.5 14C8.641 14 8.759 14.048 8.856 14.144C8.952 14.241 9 14.359 9 14.5C9 14.641 8.952 14.759 8.856 14.856C8.759 14.952 8.641 15 8.5 15L1.5 15C1.359 15 1.241 14.952 1.144 14.856C1.048 14.759 1 14.641 1 14.5L1 3C1 2.746 1.047 2.5 1.14 2.264ZM7 14L7 3C7 2.724 6.902 2.488 6.707 2.293C6.512 2.098 6.276 2 6 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 14L7 14ZM7 8C7 8.276 6.902 8.512 6.707 8.707C6.512 8.902 6.276 9 6 9C5.724 9 5.488 8.902 5.293 8.707C5.098 8.512 5 8.276 5 8C5 7.724 5.098 7.488 5.293 7.293C5.488 7.098 5.724 7 6 7C6.276 7 6.512 7.098 6.707 7.293C6.902 7.488 7 7.724 7 8ZM12.95 3.05C13.579 3.68 14.071 4.403 14.424 5.22C14.808 6.107 15 7.033 15 8C15 8.967 14.808 9.893 14.424 10.78C14.071 11.597 13.579 12.32 12.95 12.95C12.85 13.049 12.732 13.099 12.596 13.099C12.46 13.099 12.342 13.049 12.243 12.95C12.143 12.85 12.093 12.732 12.093 12.596C12.093 12.46 12.143 12.342 12.243 12.243C12.782 11.703 13.203 11.083 13.506 10.383C13.835 9.623 14 8.828 14 8C14 7.172 13.835 6.377 13.506 5.617C13.203 4.917 12.782 4.297 12.243 3.757C12.145 3.66 12.096 3.542 12.096 3.404C12.096 3.266 12.145 3.148 12.243 3.05C12.342 2.951 12.46 2.901 12.596 2.901C12.732 2.901 12.85 2.951 12.95 3.05ZM12 8C12 8.552 11.89 9.082 11.671 9.589C11.469 10.056 11.188 10.469 10.828 10.828C10.729 10.928 10.611 10.978 10.475 10.978C10.339 10.978 10.221 10.928 10.121 10.828C10.022 10.729 9.972 10.611 9.972 10.475C9.972 10.339 10.022 10.221 10.121 10.121C10.391 9.852 10.602 9.542 10.753 9.192C10.918 8.811 11 8.414 11 8C11 7.586 10.918 7.189 10.753 6.808C10.602 6.458 10.391 6.148 10.121 5.879C10.022 5.779 9.972 5.661 9.972 5.525C9.972 5.389 10.022 5.271 10.121 5.172C10.219 5.074 10.337 5.025 10.475 5.025C10.613 5.025 10.731 5.074 10.828 5.172C11.188 5.531 11.469 5.944 11.671 6.411C11.89 6.918 12 7.448 12 8Z"/>
</vector>
```

### Flutter

```dart
// Gentleface "door-sensor" (line-round), MIT. https://gentleface.com/icons/door-sensor
import 'package:flutter/widgets.dart';

class DoorSensorIcon extends StatelessWidget {
  const DoorSensorIcon({super.key, this.size = 16, this.color});
  final double size;
  final Color? color;

  @override
  Widget build(BuildContext context) => CustomPaint(
        size: Size.square(size),
        painter: _DoorSensorIconPainter(color ?? IconTheme.of(context).color ?? const Color(0xFF000000)),
      );
}

class _DoorSensorIconPainter extends CustomPainter {
  _DoorSensorIconPainter(this.color);
  final Color color;

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(1.14, 2.264)
      ..cubicTo(1.242, 2.007, 1.391, 1.781, 1.586, 1.586)
      ..cubicTo(1.781, 1.391, 2.007, 1.242, 2.264, 1.14)
      ..cubicTo(2.5, 1.047, 2.746, 1, 3, 1)
      ..lineTo(6, 1)
      ..cubicTo(6.254, 1, 6.5, 1.047, 6.736, 1.14)
      ..cubicTo(6.993, 1.242, 7.219, 1.391, 7.414, 1.586)
      ..cubicTo(7.609, 1.781, 7.758, 2.007, 7.86, 2.264)
      ..cubicTo(7.953, 2.5, 8, 2.746, 8, 3)
      ..lineTo(8, 14)
      ..lineTo(8.5, 14)
      ..cubicTo(8.641, 14, 8.759, 14.048, 8.856, 14.144)
      ..cubicTo(8.952, 14.241, 9, 14.359, 9, 14.5)
      ..cubicTo(9, 14.641, 8.952, 14.759, 8.856, 14.856)
      ..cubicTo(8.759, 14.952, 8.641, 15, 8.5, 15)
      ..lineTo(1.5, 15)
      ..cubicTo(1.359, 15, 1.241, 14.952, 1.144, 14.856)
      ..cubicTo(1.048, 14.759, 1, 14.641, 1, 14.5)
      ..lineTo(1, 3)
      ..cubicTo(1, 2.746, 1.047, 2.5, 1.14, 2.264)
      ..close()
      ..moveTo(7, 14)
      ..lineTo(7, 3)
      ..cubicTo(7, 2.724, 6.902, 2.488, 6.707, 2.293)
      ..cubicTo(6.512, 2.098, 6.276, 2, 6, 2)
      ..lineTo(3, 2)
      ..cubicTo(2.724, 2, 2.488, 2.098, 2.293, 2.293)
      ..cubicTo(2.098, 2.488, 2, 2.724, 2, 3)
      ..lineTo(2, 14)
      ..lineTo(7, 14)
      ..close()
      ..moveTo(7, 8)
      ..cubicTo(7, 8.276, 6.902, 8.512, 6.707, 8.707)
      ..cubicTo(6.512, 8.902, 6.276, 9, 6, 9)
      ..cubicTo(5.724, 9, 5.488, 8.902, 5.293, 8.707)
      ..cubicTo(5.098, 8.512, 5, 8.276, 5, 8)
      ..cubicTo(5, 7.724, 5.098, 7.488, 5.293, 7.293)
      ..cubicTo(5.488, 7.098, 5.724, 7, 6, 7)
      ..cubicTo(6.276, 7, 6.512, 7.098, 6.707, 7.293)
      ..cubicTo(6.902, 7.488, 7, 7.724, 7, 8)
      ..close()
      ..moveTo(12.95, 3.05)
      ..cubicTo(13.579, 3.68, 14.071, 4.403, 14.424, 5.22)
      ..cubicTo(14.808, 6.107, 15, 7.033, 15, 8)
      ..cubicTo(15, 8.967, 14.808, 9.893, 14.424, 10.78)
      ..cubicTo(14.071, 11.597, 13.579, 12.32, 12.95, 12.95)
      ..cubicTo(12.85, 13.049, 12.732, 13.099, 12.596, 13.099)
      ..cubicTo(12.46, 13.099, 12.342, 13.049, 12.243, 12.95)
      ..cubicTo(12.143, 12.85, 12.093, 12.732, 12.093, 12.596)
      ..cubicTo(12.093, 12.46, 12.143, 12.342, 12.243, 12.243)
      ..cubicTo(12.782, 11.703, 13.203, 11.083, 13.506, 10.383)
      ..cubicTo(13.835, 9.623, 14, 8.828, 14, 8)
      ..cubicTo(14, 7.172, 13.835, 6.377, 13.506, 5.617)
      ..cubicTo(13.203, 4.917, 12.782, 4.297, 12.243, 3.757)
      ..cubicTo(12.145, 3.66, 12.096, 3.542, 12.096, 3.404)
      ..cubicTo(12.096, 3.266, 12.145, 3.148, 12.243, 3.05)
      ..cubicTo(12.342, 2.951, 12.46, 2.901, 12.596, 2.901)
      ..cubicTo(12.732, 2.901, 12.85, 2.951, 12.95, 3.05)
      ..close()
      ..moveTo(12, 8)
      ..cubicTo(12, 8.552, 11.89, 9.082, 11.671, 9.589)
      ..cubicTo(11.469, 10.056, 11.188, 10.469, 10.828, 10.828)
      ..cubicTo(10.729, 10.928, 10.611, 10.978, 10.475, 10.978)
      ..cubicTo(10.339, 10.978, 10.221, 10.928, 10.121, 10.828)
      ..cubicTo(10.022, 10.729, 9.972, 10.611, 9.972, 10.475)
      ..cubicTo(9.972, 10.339, 10.022, 10.221, 10.121, 10.121)
      ..cubicTo(10.391, 9.852, 10.602, 9.542, 10.753, 9.192)
      ..cubicTo(10.918, 8.811, 11, 8.414, 11, 8)
      ..cubicTo(11, 7.586, 10.918, 7.189, 10.753, 6.808)
      ..cubicTo(10.602, 6.458, 10.391, 6.148, 10.121, 5.879)
      ..cubicTo(10.022, 5.779, 9.972, 5.661, 9.972, 5.525)
      ..cubicTo(9.972, 5.389, 10.022, 5.271, 10.121, 5.172)
      ..cubicTo(10.219, 5.074, 10.337, 5.025, 10.475, 5.025)
      ..cubicTo(10.613, 5.025, 10.731, 5.074, 10.828, 5.172)
      ..cubicTo(11.188, 5.531, 11.469, 5.944, 11.671, 6.411)
      ..cubicTo(11.89, 6.918, 12, 7.448, 12, 8)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

  @override
  bool shouldRepaint(_DoorSensorIconPainter old) => old.color != color;
}
```
