@ecohouse/ui 0.1.49 → 0.1.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecohouse/ui",
3
- "version": "0.1.49",
3
+ "version": "0.1.51",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "Cross-platform presentation-only UI components for EcoHouse (React Native + React Native Web)",
@@ -83,12 +83,17 @@
83
83
  "devDependencies": {
84
84
  "@commitlint/cli": "^21.2.1",
85
85
  "@commitlint/config-conventional": "^21.2.0",
86
+ "@csstools/css-parser-algorithms": "4.0.0",
87
+ "@csstools/css-tokenizer": "4.0.0",
88
+ "@emnapi/core": "1.11.2",
89
+ "@emnapi/runtime": "1.11.2",
86
90
  "@eslint/js": "^9.17.0",
87
91
  "@storybook/react-vite": "^10.5.6",
88
92
  "@tailwindcss/postcss": "^4.1.13",
89
93
  "@tailwindcss/vite": "^4.1.13",
90
94
  "@types/react": "^18.3.18",
91
95
  "@types/react-dom": "^18.3.7",
96
+ "css-tree": "3.2.1",
92
97
  "eslint": "^9.17.0",
93
98
  "eslint-config-prettier": "^10.1.8",
94
99
  "eslint-plugin-react-hooks": "^5.1.0",
@@ -74,6 +74,7 @@ export const Drawer = forwardRef<ComponentRef<typeof View>, DrawerProps>(functio
74
74
  forwardedRef,
75
75
  ) {
76
76
  const panelRef = useRef<ComponentRef<typeof View>>(null);
77
+ const shellRef = useRef<HTMLDivElement | null>(null);
77
78
  const setPanelRef = useMemo(() => mergeRefs(panelRef, forwardedRef), [forwardedRef]);
78
79
  const resolvedClassName = className?.trim() || undefined;
79
80
  const closeTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
@@ -102,6 +103,27 @@ export const Drawer = forwardRef<ComponentRef<typeof View>, DrawerProps>(functio
102
103
  };
103
104
  }, [mounted, onClose]);
104
105
 
106
+ const targetWidth = Math.min(width, typeof window !== "undefined" ? window.innerWidth : width);
107
+
108
+ const playWidth = useCallback(
109
+ (target: number) => {
110
+ const shell = shellRef.current;
111
+ if (!shell) return;
112
+ const reduced =
113
+ typeof window !== "undefined" &&
114
+ window.matchMedia("(prefers-reduced-motion: reduce)").matches;
115
+ const duration = reduced ? 0 : animationDuration;
116
+ const from = shell.getBoundingClientRect().width;
117
+ shell.style.transition = "none";
118
+ shell.style.width = `${from}px`;
119
+ // Flush layout so the transition starts from the current width, not the final one.
120
+ void shell.offsetWidth;
121
+ shell.style.transition = `width ${duration}ms cubic-bezier(0.32, 0.72, 0, 1)`;
122
+ shell.style.width = `${target}px`;
123
+ },
124
+ [animationDuration],
125
+ );
126
+
105
127
  // Web: mount at width 0, then expand; on close collapse then unmount.
106
128
  useEffect(() => {
107
129
  if (Platform.OS !== "web") return undefined;
@@ -113,13 +135,11 @@ export const Drawer = forwardRef<ComponentRef<typeof View>, DrawerProps>(functio
113
135
 
114
136
  if (open) {
115
137
  setMounted(true);
116
- const frame = requestAnimationFrame(() => {
117
- requestAnimationFrame(() => setEntered(true));
118
- });
119
- return () => cancelAnimationFrame(frame);
138
+ return undefined;
120
139
  }
121
140
 
122
141
  setEntered(false);
142
+ playWidth(0);
123
143
  // Fallback if transitionend is skipped (e.g. reduced motion / tab background).
124
144
  closeTimeoutRef.current = setTimeout(() => {
125
145
  setMounted(false);
@@ -132,7 +152,27 @@ export const Drawer = forwardRef<ComponentRef<typeof View>, DrawerProps>(functio
132
152
  closeTimeoutRef.current = null;
133
153
  }
134
154
  };
135
- }, [open, animationDuration]);
155
+ }, [open, animationDuration, playWidth]);
156
+
157
+ // Portal exists only after mounted flips. Animate from 0 on the next frame.
158
+ useEffect(() => {
159
+ if (Platform.OS !== "web" || !mounted || !open) return undefined;
160
+
161
+ const shell = shellRef.current;
162
+ if (shell) {
163
+ shell.style.transition = "none";
164
+ shell.style.width = "0px";
165
+ }
166
+
167
+ const frame = requestAnimationFrame(() => {
168
+ requestAnimationFrame(() => {
169
+ setEntered(true);
170
+ playWidth(targetWidth);
171
+ });
172
+ });
173
+
174
+ return () => cancelAnimationFrame(frame);
175
+ }, [mounted, open, targetWidth, playWidth]);
136
176
 
137
177
  // Native: animate width + backdrop opacity.
138
178
  useEffect(() => {
@@ -267,28 +307,28 @@ export const Drawer = forwardRef<ComponentRef<typeof View>, DrawerProps>(functio
267
307
  minWidth:0 is required — flex defaults would otherwise lock width to content.
268
308
  */}
269
309
  <div
310
+ ref={shellRef}
270
311
  onTransitionEnd={handleWebTransitionEnd}
271
312
  style={{
272
313
  position: "relative",
273
314
  zIndex: 1,
274
315
  height: "100%",
275
- width: entered
276
- ? Math.min(width, typeof window !== "undefined" ? window.innerWidth : width)
277
- : 0,
316
+ flex: "0 0 auto",
278
317
  minWidth: 0,
279
318
  maxWidth: "100%",
280
319
  overflow: "hidden",
281
- transition: `width ${animationDuration}ms cubic-bezier(0.32, 0.72, 0, 1)`,
282
320
  willChange: "width",
283
321
  boxSizing: "border-box",
284
322
  }}
285
323
  >
286
324
  <div
287
325
  style={{
288
- width,
326
+ position: "absolute",
327
+ top: 0,
328
+ right: 0,
329
+ bottom: 0,
330
+ width: targetWidth,
289
331
  maxWidth: "100%",
290
- height: "100%",
291
- marginLeft: "auto",
292
332
  display: "flex",
293
333
  flexDirection: "column",
294
334
  }}
@@ -0,0 +1,14 @@
1
+ import Svg, { Path } from "react-native-svg";
2
+ import { colors } from "../../theme";
3
+ import type { IconProps } from "../types";
4
+ import { CALENDAR_FILLED_PATH } from "./calendarFilledPath";
5
+
6
+ export { CALENDAR_FILLED_PATH } from "./calendarFilledPath";
7
+
8
+ export function CalendarFilledIcon({ size = 16, color = colors.primary }: IconProps) {
9
+ return (
10
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
11
+ <Path d={CALENDAR_FILLED_PATH} fill={color} />
12
+ </Svg>
13
+ );
14
+ }
@@ -0,0 +1,13 @@
1
+ import { CALENDAR_FILLED_PATH } from "./calendarFilledPath";
2
+ import { colors } from "../../theme";
3
+ import type { IconProps } from "../types";
4
+
5
+ export function CalendarFilledIcon({ size = 16, color = colors.primary }: IconProps) {
6
+ return (
7
+ <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden>
8
+ <path d={CALENDAR_FILLED_PATH} fill={color} />
9
+ </svg>
10
+ );
11
+ }
12
+
13
+ export { CALENDAR_FILLED_PATH } from "./calendarFilledPath";
@@ -0,0 +1,2 @@
1
+ export const CALENDAR_FILLED_PATH =
2
+ "M12.6654 2.66732H11.332V2.00065C11.332 1.82384 11.2618 1.65427 11.1368 1.52925C11.0117 1.40422 10.8422 1.33398 10.6654 1.33398C10.4886 1.33398 10.319 1.40422 10.194 1.52925C10.0689 1.65427 9.9987 1.82384 9.9987 2.00065V2.66732H5.9987V2.00065C5.9987 1.82384 5.92846 1.65427 5.80344 1.52925C5.67841 1.40422 5.50884 1.33398 5.33203 1.33398C5.15522 1.33398 4.98565 1.40422 4.86063 1.52925C4.7356 1.65427 4.66536 1.82384 4.66536 2.00065V2.66732H3.33203C2.8016 2.66732 2.29289 2.87803 1.91782 3.2531C1.54274 3.62818 1.33203 4.13688 1.33203 4.66732V12.6673C1.33203 13.1978 1.54274 13.7065 1.91782 14.0815C2.29289 14.4566 2.8016 14.6673 3.33203 14.6673H12.6654C13.1958 14.6673 13.7045 14.4566 14.0796 14.0815C14.4546 13.7065 14.6654 13.1978 14.6654 12.6673V4.66732C14.6654 4.13688 14.4546 3.62818 14.0796 3.2531C13.7045 2.87803 13.1958 2.66732 12.6654 2.66732ZM13.332 12.6673C13.332 12.8441 13.2618 13.0137 13.1368 13.1387C13.0117 13.2637 12.8422 13.334 12.6654 13.334H3.33203C3.15522 13.334 2.98565 13.2637 2.86063 13.1387C2.7356 13.0137 2.66536 12.8441 2.66536 12.6673V8.00065H13.332V12.6673ZM13.332 6.66732H2.66536V4.66732C2.66536 4.49051 2.7356 4.32094 2.86063 4.19591C2.98565 4.07089 3.15522 4.00065 3.33203 4.00065H4.66536V4.66732C4.66536 4.84413 4.7356 5.0137 4.86063 5.13872C4.98565 5.26375 5.15522 5.33398 5.33203 5.33398C5.50884 5.33398 5.67841 5.26375 5.80344 5.13872C5.92846 5.0137 5.9987 4.84413 5.9987 4.66732V4.00065H9.9987V4.66732C9.9987 4.84413 10.0689 5.0137 10.194 5.13872C10.319 5.26375 10.4886 5.33398 10.6654 5.33398C10.8422 5.33398 11.0117 5.26375 11.1368 5.13872C11.2618 5.0137 11.332 4.84413 11.332 4.66732V4.00065H12.6654C12.8422 4.00065 13.0117 4.07089 13.1368 4.19591C13.2618 4.32094 13.332 4.49051 13.332 4.66732V6.66732Z";
@@ -0,0 +1 @@
1
+ export { CalendarFilledIcon, CALENDAR_FILLED_PATH } from "./CalendarFilledIcon";
@@ -0,0 +1,24 @@
1
+ import Svg, { Path } from "react-native-svg";
2
+ import { colors } from "../../theme";
3
+ import type { IconProps } from "../types";
4
+ import { EXTERNAL_LINK_PATH } from "./externalLinkPath";
5
+
6
+ export { EXTERNAL_LINK_PATH } from "./externalLinkPath";
7
+
8
+ export function ExternalLinkIcon({
9
+ size = 12,
10
+ color = colors.lightGrey,
11
+ strokeWidth = 1.5,
12
+ }: IconProps) {
13
+ return (
14
+ <Svg width={size} height={size} viewBox="0 0 12 12" fill="none">
15
+ <Path
16
+ d={EXTERNAL_LINK_PATH}
17
+ stroke={color}
18
+ strokeWidth={strokeWidth}
19
+ strokeLinecap="round"
20
+ strokeLinejoin="round"
21
+ />
22
+ </Svg>
23
+ );
24
+ }
@@ -0,0 +1,23 @@
1
+ import { EXTERNAL_LINK_PATH } from "./externalLinkPath";
2
+ import { colors } from "../../theme";
3
+ import type { IconProps } from "../types";
4
+
5
+ export function ExternalLinkIcon({
6
+ size = 12,
7
+ color = colors.lightGrey,
8
+ strokeWidth = 1.5,
9
+ }: IconProps) {
10
+ return (
11
+ <svg width={size} height={size} viewBox="0 0 12 12" fill="none" aria-hidden>
12
+ <path
13
+ d={EXTERNAL_LINK_PATH}
14
+ stroke={color}
15
+ strokeWidth={strokeWidth}
16
+ strokeLinecap="round"
17
+ strokeLinejoin="round"
18
+ />
19
+ </svg>
20
+ );
21
+ }
22
+
23
+ export { EXTERNAL_LINK_PATH } from "./externalLinkPath";
@@ -0,0 +1,2 @@
1
+ export const EXTERNAL_LINK_PATH =
2
+ "M7.5 1.5H10.5L10.5 4.5M10.5 1.5L6.5 5.5M5 2.5H3.9C3.05992 2.5 2.63988 2.5 2.31901 2.66349C2.03677 2.8073 1.8073 3.03677 1.66349 3.31901C1.5 3.63988 1.5 4.05992 1.5 4.9V8.1C1.5 8.94008 1.5 9.36012 1.66349 9.68099C1.8073 9.96323 2.03677 10.1927 2.31901 10.3365C2.63988 10.5 3.05992 10.5 3.9 10.5H7.1C7.94008 10.5 8.36012 10.5 8.68099 10.3365C8.96323 10.1927 9.1927 9.96323 9.33651 9.68099C9.5 9.36012 9.5 8.94008 9.5 8.1V7";
@@ -0,0 +1 @@
1
+ export { ExternalLinkIcon, EXTERNAL_LINK_PATH } from "./ExternalLinkIcon";
@@ -0,0 +1,20 @@
1
+ import Svg, { Path } from "react-native-svg";
2
+ import { colors } from "../../theme";
3
+ import type { IconProps } from "../types";
4
+ import { SMART_KEY_PATH } from "./smartKeyPath";
5
+
6
+ export { SMART_KEY_PATH } from "./smartKeyPath";
7
+
8
+ export function SmartKeyIcon({ size = 16, color = colors.primary, strokeWidth = 1.5 }: IconProps) {
9
+ return (
10
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
11
+ <Path
12
+ d={SMART_KEY_PATH}
13
+ stroke={color}
14
+ strokeWidth={strokeWidth}
15
+ strokeLinecap="round"
16
+ strokeLinejoin="round"
17
+ />
18
+ </Svg>
19
+ );
20
+ }
@@ -0,0 +1,19 @@
1
+ import { SMART_KEY_PATH } from "./smartKeyPath";
2
+ import { colors } from "../../theme";
3
+ import type { IconProps } from "../types";
4
+
5
+ export function SmartKeyIcon({ size = 16, color = colors.primary, strokeWidth = 1.5 }: IconProps) {
6
+ return (
7
+ <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden>
8
+ <path
9
+ d={SMART_KEY_PATH}
10
+ stroke={color}
11
+ strokeWidth={strokeWidth}
12
+ strokeLinecap="round"
13
+ strokeLinejoin="round"
14
+ />
15
+ </svg>
16
+ );
17
+ }
18
+
19
+ export { SMART_KEY_PATH } from "./smartKeyPath";
@@ -0,0 +1 @@
1
+ export { SmartKeyIcon, SMART_KEY_PATH } from "./SmartKeyIcon";
@@ -0,0 +1,2 @@
1
+ export const SMART_KEY_PATH =
2
+ "M4.33333 4.33333H4.34M11.6667 4.33333H11.6733M4.33333 11.6667H4.34M8.66667 8.66667H8.67333M11.6667 11.6667H11.6733M11.3333 14H14V11.3333M9.33333 11V14M14 9.33333H11M10.4 6.66667H12.9333C13.3067 6.66667 13.4934 6.66667 13.636 6.594C13.7614 6.53009 13.8634 6.4281 13.9273 6.30266C14 6.16005 14 5.97337 14 5.6V3.06667C14 2.6933 14 2.50661 13.9273 2.36401C13.8634 2.23856 13.7614 2.13658 13.636 2.07266C13.4934 2 13.3067 2 12.9333 2H10.4C10.0266 2 9.83995 2 9.69734 2.07266C9.5719 2.13658 9.46991 2.23856 9.406 2.36401C9.33333 2.50661 9.33333 2.6933 9.33333 3.06667V5.6C9.33333 5.97337 9.33333 6.16005 9.406 6.30266C9.46991 6.4281 9.5719 6.53009 9.69734 6.594C9.83995 6.66667 10.0266 6.66667 10.4 6.66667ZM3.06667 6.66667H5.6C5.97337 6.66667 6.16005 6.66667 6.30266 6.594C6.4281 6.53009 6.53009 6.4281 6.594 6.30266C6.66667 6.16005 6.66667 5.97337 6.66667 5.6V3.06667C6.66667 2.6933 6.66667 2.50661 6.594 2.36401C6.53009 2.23856 6.4281 2.13658 6.30266 2.07266C6.16005 2 5.97337 2 5.6 2H3.06667C2.6933 2 2.50661 2 2.36401 2.07266C2.23856 2.13658 2.13658 2.23856 2.07266 2.36401C2 2.50661 2 2.6933 2 3.06667V5.6C2 5.97337 2 6.16005 2.07266 6.30266C2.13658 6.4281 2.23856 6.53009 2.36401 6.594C2.50661 6.66667 2.6933 6.66667 3.06667 6.66667ZM3.06667 14H5.6C5.97337 14 6.16005 14 6.30266 13.9273C6.4281 13.8634 6.53009 13.7614 6.594 13.636C6.66667 13.4934 6.66667 13.3067 6.66667 12.9333V10.4C6.66667 10.0266 6.66667 9.83995 6.594 9.69734C6.53009 9.5719 6.4281 9.46991 6.30266 9.406C6.16005 9.33333 5.97337 9.33333 5.6 9.33333H3.06667C2.6933 9.33333 2.50661 9.33333 2.36401 9.406C2.23856 9.46991 2.13658 9.5719 2.07266 9.69734C2 9.83995 2 10.0266 2 10.4V12.9333C2 13.3067 2 13.4934 2.07266 13.636C2.13658 13.7614 2.23856 13.8634 2.36401 13.9273C2.50661 14 2.6933 14 3.06667 14Z";
@@ -0,0 +1,20 @@
1
+ import Svg, { Path } from "react-native-svg";
2
+ import { colors } from "../../theme";
3
+ import type { IconProps } from "../types";
4
+ import { STAY_HOME_PATH } from "./stayHomePath";
5
+
6
+ export { STAY_HOME_PATH } from "./stayHomePath";
7
+
8
+ export function StayHomeIcon({ size = 16, color = colors.primary, strokeWidth = 1.5 }: IconProps) {
9
+ return (
10
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
11
+ <Path
12
+ d={STAY_HOME_PATH}
13
+ stroke={color}
14
+ strokeWidth={strokeWidth}
15
+ strokeLinecap="round"
16
+ strokeLinejoin="round"
17
+ />
18
+ </Svg>
19
+ );
20
+ }
@@ -0,0 +1,19 @@
1
+ import { STAY_HOME_PATH } from "./stayHomePath";
2
+ import { colors } from "../../theme";
3
+ import type { IconProps } from "../types";
4
+
5
+ export function StayHomeIcon({ size = 16, color = colors.primary, strokeWidth = 1.5 }: IconProps) {
6
+ return (
7
+ <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden>
8
+ <path
9
+ d={STAY_HOME_PATH}
10
+ stroke={color}
11
+ strokeWidth={strokeWidth}
12
+ strokeLinecap="round"
13
+ strokeLinejoin="round"
14
+ />
15
+ </svg>
16
+ );
17
+ }
18
+
19
+ export { STAY_HOME_PATH } from "./stayHomePath";
@@ -0,0 +1 @@
1
+ export { StayHomeIcon, STAY_HOME_PATH } from "./StayHomeIcon";
@@ -0,0 +1,2 @@
1
+ export const STAY_HOME_PATH =
2
+ "M5.41735 9.33381C5.71337 10.484 6.75744 11.3338 8 11.3338C9.24256 11.3338 10.2866 10.484 10.5827 9.33381M7.34513 1.84315L2.82359 5.3599C2.52135 5.59498 2.37022 5.71252 2.26135 5.85973C2.16491 5.99012 2.09307 6.13701 2.04935 6.29319C2 6.4695 2 6.66095 2 7.04386V11.8671C2 12.6139 2 12.9872 2.14532 13.2725C2.27316 13.5233 2.47713 13.7273 2.72801 13.8552C3.01323 14.0005 3.3866 14.0005 4.13333 14.0005H11.8667C12.6134 14.0005 12.9868 14.0005 13.272 13.8552C13.5229 13.7273 13.7268 13.5233 13.8547 13.2725C14 12.9872 14 12.6139 14 11.8671V7.04386C14 6.66095 14 6.4695 13.9506 6.29319C13.9069 6.13701 13.8351 5.99012 13.7386 5.85973C13.6298 5.71252 13.4787 5.59499 13.1764 5.35991L8.65487 1.84315C8.42065 1.66099 8.30354 1.5699 8.17423 1.53489C8.06013 1.504 7.93987 1.504 7.82577 1.53489C7.69646 1.5699 7.57935 1.66099 7.34513 1.84315Z";
@@ -17,6 +17,7 @@ export { BanIcon } from "./Ban";
17
17
  export { BlockedGuestsIcon } from "./BlockedGuests";
18
18
  export { BellIcon } from "./Bell";
19
19
  export { BuildingIcon } from "./Building";
20
+ export { CalendarFilledIcon } from "./CalendarFilled";
20
21
  export { CalendarIcon } from "./Calendar";
21
22
  export { CalendarMinusIcon } from "./CalendarMinus";
22
23
  export { CalendarOutlineIcon } from "./CalendarOutline";
@@ -33,6 +34,7 @@ export { NoReviewIcon } from "./NoReview";
33
34
  export { CurrentLocationIcon } from "./CurrentLocation";
34
35
  export { DeactivateIcon } from "./Deactivate";
35
36
  export { EditIcon } from "./Edit";
37
+ export { ExternalLinkIcon } from "./ExternalLink";
36
38
  export { EyeIcon } from "./Eye";
37
39
  export {
38
40
  BathroomsIcon,
@@ -98,8 +100,10 @@ export { SearchIcon } from "./Search";
98
100
  export { SettingsIcon } from "./Settings";
99
101
  export { ShowIcon } from "./Show";
100
102
  export { SidebarIcon } from "./Sidebar";
103
+ export { SmartKeyIcon } from "./SmartKey";
101
104
  export { SortIcon } from "./Sort";
102
105
  export { StarIcon } from "./Star";
106
+ export { StayHomeIcon } from "./StayHome";
103
107
  export { StarFilledIcon } from "./StarFilled";
104
108
  export { StarOutlineIcon } from "./StarOutline";
105
109
  export { SunIcon } from "./Sun";
@@ -7,6 +7,7 @@ import { BanIcon } from "./Ban";
7
7
  import { BlockedGuestsIcon } from "./BlockedGuests";
8
8
  import { BellIcon } from "./Bell";
9
9
  import { BuildingIcon } from "./Building";
10
+ import { CalendarFilledIcon } from "./CalendarFilled";
10
11
  import { CalendarIcon } from "./Calendar";
11
12
  import { CalendarMinusIcon } from "./CalendarMinus";
12
13
  import { CalendarOutlineIcon } from "./CalendarOutline";
@@ -22,6 +23,7 @@ import { DeactivateIcon } from "./Deactivate";
22
23
  import { CloudUploadIcon } from "./CloudUpload";
23
24
  import { NoReviewIcon } from "./NoReview";
24
25
  import { EditIcon } from "./Edit";
26
+ import { ExternalLinkIcon } from "./ExternalLink";
25
27
  import { EyeIcon } from "./Eye";
26
28
  import {
27
29
  BathroomsIcon,
@@ -85,7 +87,9 @@ import { SearchIcon } from "./Search";
85
87
  import { SettingsIcon } from "./Settings";
86
88
  import { ShowIcon } from "./Show";
87
89
  import { SidebarIcon } from "./Sidebar";
90
+ import { SmartKeyIcon } from "./SmartKey";
88
91
  import { SortIcon } from "./Sort";
92
+ import { StayHomeIcon } from "./StayHome";
89
93
  import { StarIcon } from "./Star";
90
94
  import { StarFilledIcon } from "./StarFilled";
91
95
  import { StarOutlineIcon } from "./StarOutline";
@@ -112,6 +116,7 @@ export const icons = {
112
116
  blockedGuests: BlockedGuestsIcon,
113
117
  bell: BellIcon,
114
118
  building: BuildingIcon,
119
+ calendarFilled: CalendarFilledIcon,
115
120
  calendar: CalendarIcon,
116
121
  calendarMinus: CalendarMinusIcon,
117
122
  calendarOutline: CalendarOutlineIcon,
@@ -180,7 +185,9 @@ export const icons = {
180
185
  settings: SettingsIcon,
181
186
  show: ShowIcon,
182
187
  sidebar: SidebarIcon,
188
+ smartKey: SmartKeyIcon,
183
189
  sort: SortIcon,
190
+ stayHome: StayHomeIcon,
184
191
  star: StarIcon,
185
192
  starFilled: StarFilledIcon,
186
193
  starOutline: StarOutlineIcon,
@@ -199,6 +206,7 @@ export const icons = {
199
206
  dollar: DollarIcon,
200
207
  dram: DramIcon,
201
208
  dragHandle: DragHandleIcon,
209
+ externalLink: ExternalLinkIcon,
202
210
  eye: EyeIcon,
203
211
  image: ImageIcon,
204
212
  infoCircle: InfoCircleIcon,
@@ -243,6 +251,7 @@ export const iconGroups = {
243
251
  "dragHandle",
244
252
  "search",
245
253
  "calendar",
254
+ "calendarFilled",
246
255
  "calendarMinus",
247
256
  "calendarOutline",
248
257
  "close",
@@ -250,9 +259,12 @@ export const iconGroups = {
250
259
  "cloudUpload",
251
260
  "noReview",
252
261
  "edit",
262
+ "externalLink",
253
263
  "ratingStar",
254
264
  "saveHeart",
255
265
  "share",
266
+ "smartKey",
267
+ "stayHome",
256
268
  "filters",
257
269
  "fullscreen",
258
270
  "heart",
package/src/index.ts CHANGED
@@ -137,6 +137,7 @@ export {
137
137
  BanIcon,
138
138
  BellIcon,
139
139
  BuildingIcon,
140
+ CalendarFilledIcon,
140
141
  CalendarIcon,
141
142
  CalendarMinusIcon,
142
143
  CalendarOutlineIcon,
@@ -211,8 +212,10 @@ export {
211
212
  SettingsIcon,
212
213
  ShowIcon,
213
214
  SidebarIcon,
215
+ SmartKeyIcon,
214
216
  SortIcon,
215
217
  StarIcon,
218
+ StayHomeIcon,
216
219
  StarFilledIcon,
217
220
  StarOutlineIcon,
218
221
  SunIcon,
@@ -229,6 +232,7 @@ export {
229
232
  CutleryIcon,
230
233
  DollarIcon,
231
234
  DragHandleIcon,
235
+ ExternalLinkIcon,
232
236
  EyeIcon,
233
237
  ImageIcon,
234
238
  InfoCircleIcon,