@ecohouse/ui 0.1.57 → 0.1.58

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.
Files changed (34) hide show
  1. package/dist/index.cjs +396 -30
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +39 -2
  4. package/dist/index.d.ts +39 -2
  5. package/dist/index.js +386 -32
  6. package/dist/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/components/NotificationStatus/NotificationStatus.stories.tsx +86 -0
  9. package/src/components/NotificationStatus/NotificationStatus.tsx +255 -0
  10. package/src/components/NotificationStatus/index.ts +9 -0
  11. package/src/components/index.ts +10 -0
  12. package/src/icons/DoubleCheck/DoubleCheckIcon.tsx +25 -0
  13. package/src/icons/DoubleCheck/DoubleCheckIcon.web.tsx +31 -0
  14. package/src/icons/DoubleCheck/doubleCheckPath.ts +3 -0
  15. package/src/icons/DoubleCheck/index.ts +1 -0
  16. package/src/icons/NotificationCancelled/NotificationCancelledIcon.tsx +22 -0
  17. package/src/icons/NotificationCancelled/NotificationCancelledIcon.web.tsx +21 -0
  18. package/src/icons/NotificationCancelled/index.ts +1 -0
  19. package/src/icons/NotificationCheckout/NotificationCheckoutIcon.tsx +22 -0
  20. package/src/icons/NotificationCheckout/NotificationCheckoutIcon.web.tsx +21 -0
  21. package/src/icons/NotificationCheckout/index.ts +1 -0
  22. package/src/icons/NotificationIcons.stories.tsx +99 -0
  23. package/src/icons/NotificationQrCode/NotificationQrCodeIcon.tsx +25 -0
  24. package/src/icons/NotificationQrCode/NotificationQrCodeIcon.web.tsx +24 -0
  25. package/src/icons/NotificationQrCode/index.ts +1 -0
  26. package/src/icons/NotificationSuccess/NotificationSuccessIcon.tsx +26 -0
  27. package/src/icons/NotificationSuccess/NotificationSuccessIcon.web.tsx +25 -0
  28. package/src/icons/NotificationSuccess/index.ts +1 -0
  29. package/src/icons/NotificationWarning/NotificationWarningIcon.tsx +22 -0
  30. package/src/icons/NotificationWarning/NotificationWarningIcon.web.tsx +21 -0
  31. package/src/icons/NotificationWarning/index.ts +1 -0
  32. package/src/icons/index.ts +6 -0
  33. package/src/icons/registry.ts +20 -0
  34. package/src/index.ts +13 -0
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { forwardRef, useRef, useMemo, useState, useCallback, useEffect, useLayoutEffect, useId, useImperativeHandle, isValidElement, cloneElement } from 'react';
2
2
  import { View, Text, Platform, Pressable, StyleSheet, Image, useWindowDimensions, Animated, Easing, TouchableOpacity, ActivityIndicator, Modal as Modal$1, TextInput, ScrollView, PanResponder } from 'react-native';
3
- import Svg30, { Path } from 'react-native-svg';
3
+ import Svg30, { Path, Rect } from 'react-native-svg';
4
4
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
5
5
 
6
6
  var __create = Object.create;
@@ -9449,15 +9449,15 @@ var require_react_dom_development = __commonJS({
9449
9449
  };
9450
9450
  }
9451
9451
  var warnValidStyle$1 = warnValidStyle;
9452
- function createDangerousStringForStyles(styles42) {
9452
+ function createDangerousStringForStyles(styles43) {
9453
9453
  {
9454
9454
  var serialized = "";
9455
9455
  var delimiter = "";
9456
- for (var styleName in styles42) {
9457
- if (!styles42.hasOwnProperty(styleName)) {
9456
+ for (var styleName in styles43) {
9457
+ if (!styles43.hasOwnProperty(styleName)) {
9458
9458
  continue;
9459
9459
  }
9460
- var styleValue = styles42[styleName];
9460
+ var styleValue = styles43[styleName];
9461
9461
  if (styleValue != null) {
9462
9462
  var isCustomProperty = styleName.indexOf("--") === 0;
9463
9463
  serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ":";
@@ -9468,19 +9468,19 @@ var require_react_dom_development = __commonJS({
9468
9468
  return serialized || null;
9469
9469
  }
9470
9470
  }
9471
- function setValueForStyles(node, styles42) {
9471
+ function setValueForStyles(node, styles43) {
9472
9472
  var style2 = node.style;
9473
- for (var styleName in styles42) {
9474
- if (!styles42.hasOwnProperty(styleName)) {
9473
+ for (var styleName in styles43) {
9474
+ if (!styles43.hasOwnProperty(styleName)) {
9475
9475
  continue;
9476
9476
  }
9477
9477
  var isCustomProperty = styleName.indexOf("--") === 0;
9478
9478
  {
9479
9479
  if (!isCustomProperty) {
9480
- warnValidStyle$1(styleName, styles42[styleName]);
9480
+ warnValidStyle$1(styleName, styles43[styleName]);
9481
9481
  }
9482
9482
  }
9483
- var styleValue = dangerousStyleValue(styleName, styles42[styleName], isCustomProperty);
9483
+ var styleValue = dangerousStyleValue(styleName, styles43[styleName], isCustomProperty);
9484
9484
  if (styleName === "float") {
9485
9485
  styleName = "cssFloat";
9486
9486
  }
@@ -9494,9 +9494,9 @@ var require_react_dom_development = __commonJS({
9494
9494
  function isValueEmpty(value) {
9495
9495
  return value == null || typeof value === "boolean" || value === "";
9496
9496
  }
9497
- function expandShorthandMap(styles42) {
9497
+ function expandShorthandMap(styles43) {
9498
9498
  var expanded = {};
9499
- for (var key in styles42) {
9499
+ for (var key in styles43) {
9500
9500
  var longhands = shorthandToLonghand[key] || [key];
9501
9501
  for (var i = 0; i < longhands.length; i++) {
9502
9502
  expanded[longhands[i]] = key;
@@ -29533,6 +29533,25 @@ function DragHandleIcon({ size = 9, color = colors.white }) {
29533
29533
  return /* @__PURE__ */ jsx(Svg30, { width: size * 6 / 9, height: size, viewBox: "0 0 6 9", fill: "none", children: /* @__PURE__ */ jsx(Path, { d: DRAG_HANDLE_PATH, fill: color }) });
29534
29534
  }
29535
29535
 
29536
+ // src/icons/DoubleCheck/doubleCheckPath.ts
29537
+ var DOUBLE_CHECK_PATH = "M4.66683 8L7.96666 11.2998L15.0383 4.22884M1.3667 8.03353L4.66653 11.3334M11.7375 4.26237L8.20199 7.79791";
29538
+ function DoubleCheckIcon({
29539
+ size = 16,
29540
+ color = colors.primary,
29541
+ strokeWidth = 1.5
29542
+ }) {
29543
+ return /* @__PURE__ */ jsx(Svg30, { width: size, height: size, viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ jsx(
29544
+ Path,
29545
+ {
29546
+ d: DOUBLE_CHECK_PATH,
29547
+ stroke: color,
29548
+ strokeWidth,
29549
+ strokeLinecap: "round",
29550
+ strokeLinejoin: "round"
29551
+ }
29552
+ ) });
29553
+ }
29554
+
29536
29555
  // src/icons/Heart/heartPath.ts
29537
29556
  var HEART_PATH = "M7.99547 3.42388C6.66257 1.8656 4.43987 1.44643 2.76984 2.87334C1.0998 4.30026 0.864686 6.68598 2.17617 8.3736C3.26659 9.77674 6.56656 12.7361 7.64811 13.6939C7.76911 13.801 7.82961 13.8546 7.90018 13.8757C7.96178 13.8941 8.02917 13.8941 8.09077 13.8757C8.16134 13.8546 8.22184 13.801 8.34284 13.6939C9.42439 12.7361 12.7244 9.77674 13.8148 8.3736C15.1263 6.68598 14.9199 4.28525 13.2211 2.87334C11.5224 1.46144 9.32838 1.8656 7.99547 3.42388Z";
29538
29557
  function HeartIcon({ size = 20, color = colors.primary, strokeWidth = 1.5 }) {
@@ -29969,6 +29988,114 @@ function NoPetsIcon({ size = 20, color = colors.white, strokeWidth = 1.5 }) {
29969
29988
  `no-pets-${index}`
29970
29989
  )) });
29971
29990
  }
29991
+ function NotificationCancelledIcon({
29992
+ size = 44,
29993
+ color = "#A63E3E",
29994
+ strokeWidth = 2,
29995
+ fillOpacity = 0.08
29996
+ }) {
29997
+ return /* @__PURE__ */ jsxs(Svg30, { width: size, height: size, viewBox: "0 0 44 44", fill: "none", children: [
29998
+ /* @__PURE__ */ jsx(Rect, { width: "44", height: "44", rx: "22", fill: color, fillOpacity }),
29999
+ /* @__PURE__ */ jsx(
30000
+ Path,
30001
+ {
30002
+ d: "M27 17L17 27M17 17L27 27",
30003
+ stroke: color,
30004
+ strokeWidth,
30005
+ strokeLinecap: "round",
30006
+ strokeLinejoin: "round"
30007
+ }
30008
+ )
30009
+ ] });
30010
+ }
30011
+ function NotificationCheckoutIcon({
30012
+ size = 44,
30013
+ color = "#B46436",
30014
+ strokeWidth = 2,
30015
+ fillOpacity = 0.06
30016
+ }) {
30017
+ return /* @__PURE__ */ jsxs(Svg30, { width: size, height: size, viewBox: "0 0 44 44", fill: "none", children: [
30018
+ /* @__PURE__ */ jsx(Rect, { width: "44", height: "44", rx: "22", fill: color, fillOpacity }),
30019
+ /* @__PURE__ */ jsx(
30020
+ Path,
30021
+ {
30022
+ d: "M17 17L27 27M20.3333 27H27V20.3333",
30023
+ stroke: color,
30024
+ strokeWidth,
30025
+ strokeLinecap: "round",
30026
+ strokeLinejoin: "round"
30027
+ }
30028
+ )
30029
+ ] });
30030
+ }
30031
+ var QR_PATH = "M17.4167 17.4167H17.425M26.5833 17.4167H26.5917M17.4167 26.5833H17.425M22.8333 22.8333H22.8417M26.5833 26.5833H26.5917M26.1667 29.5H29.5V26.1667M23.6667 25.75V29.5M29.5 23.6667H25.75M25 20.3333H28.1667C28.6334 20.3333 28.8667 20.3333 29.045 20.2425C29.2018 20.1626 29.3293 20.0351 29.4092 19.8783C29.5 19.7001 29.5 19.4667 29.5 19V15.8333C29.5 15.3666 29.5 15.1333 29.4092 14.955C29.3293 14.7982 29.2018 14.6707 29.045 14.5908C28.8667 14.5 28.6334 14.5 28.1667 14.5H25C24.5333 14.5 24.2999 14.5 24.1217 14.5908C23.9649 14.6707 23.8374 14.7982 23.7575 14.955C23.6667 15.1333 23.6667 15.3666 23.6667 15.8333V19C23.6667 19.4667 23.6667 19.7001 23.7575 19.8783C23.8374 20.0351 23.9649 20.1626 24.1217 20.2425C24.2999 20.3333 24.5333 20.3333 25 20.3333ZM15.8333 20.3333H19C19.4667 20.3333 19.7001 20.3333 19.8783 20.2425C20.0351 20.1626 20.1626 20.0351 20.2425 19.8783C20.3333 19.7001 20.3333 19.4667 20.3333 19V15.8333C20.3333 15.3666 20.3333 15.1333 20.2425 14.955C20.1626 14.7982 20.0351 14.6707 19.8783 14.5908C19.7001 14.5 19.4667 14.5 19 14.5H15.8333C15.3666 14.5 15.1333 14.5 14.955 14.5908C14.7982 14.6707 14.6707 14.7982 14.5908 14.955C14.5 15.1333 14.5 15.3666 14.5 15.8333V19C14.5 19.4667 14.5 19.7001 14.5908 19.8783C14.6707 20.0351 14.7982 20.1626 14.955 20.2425C15.1333 20.3333 15.3666 20.3333 15.8333 20.3333ZM15.8333 29.5H19C19.4667 29.5 19.7001 29.5 19.8783 29.4092C20.0351 29.3293 20.1626 29.2018 20.2425 29.045C20.3333 28.8667 20.3333 28.6334 20.3333 28.1667V25C20.3333 24.5333 20.3333 24.2999 20.2425 24.1217C20.1626 23.9649 20.0351 23.8374 19.8783 23.7575C19.7001 23.6667 19.4667 23.6667 19 23.6667H15.8333C15.3666 23.6667 15.1333 23.6667 14.955 23.7575C14.7982 23.8374 14.6707 23.9649 14.5908 24.1217C14.5 24.2999 14.5 24.5333 14.5 25V28.1667C14.5 28.6334 14.5 28.8667 14.5908 29.045C14.6707 29.2018 14.7982 29.3293 14.955 29.4092C15.1333 29.5 15.3666 29.5 15.8333 29.5Z";
30032
+ function NotificationQrCodeIcon({
30033
+ size = 44,
30034
+ color = "#B46436",
30035
+ strokeWidth = 2,
30036
+ fillOpacity = 0.06
30037
+ }) {
30038
+ return /* @__PURE__ */ jsxs(Svg30, { width: size, height: size, viewBox: "0 0 44 44", fill: "none", children: [
30039
+ /* @__PURE__ */ jsx(Rect, { width: "44", height: "44", rx: "22", fill: color, fillOpacity }),
30040
+ /* @__PURE__ */ jsx(
30041
+ Path,
30042
+ {
30043
+ d: QR_PATH,
30044
+ stroke: color,
30045
+ strokeWidth,
30046
+ strokeLinecap: "round",
30047
+ strokeLinejoin: "round"
30048
+ }
30049
+ )
30050
+ ] });
30051
+ }
30052
+ function NotificationSuccessIcon({
30053
+ size = 44,
30054
+ color = "#34A853",
30055
+ strokeWidth = 2,
30056
+ fillOpacity = 0.08
30057
+ }) {
30058
+ return /* @__PURE__ */ jsxs(Svg30, { width: size, height: size, viewBox: "0 0 44 44", fill: "none", children: [
30059
+ /* @__PURE__ */ jsx(
30060
+ Path,
30061
+ {
30062
+ d: "M0 22C0 9.84974 9.84974 0 22 0C34.1503 0 44 9.84974 44 22C44 34.1503 34.1503 44 22 44C9.84974 44 0 34.1503 0 22Z",
30063
+ fill: color,
30064
+ fillOpacity
30065
+ }
30066
+ ),
30067
+ /* @__PURE__ */ jsx(
30068
+ Path,
30069
+ {
30070
+ d: "M28.6666 17L19.4999 26.1667L15.3333 22",
30071
+ stroke: color,
30072
+ strokeWidth,
30073
+ strokeLinecap: "round",
30074
+ strokeLinejoin: "round"
30075
+ }
30076
+ )
30077
+ ] });
30078
+ }
30079
+ function NotificationWarningIcon({
30080
+ size = 44,
30081
+ color = "#A63E3E",
30082
+ strokeWidth = 2,
30083
+ fillOpacity = 0.08
30084
+ }) {
30085
+ return /* @__PURE__ */ jsxs(Svg30, { width: size, height: size, viewBox: "0 0 44 44", fill: "none", children: [
30086
+ /* @__PURE__ */ jsx(Rect, { width: "44", height: "44", rx: "22", fill: color, fillOpacity }),
30087
+ /* @__PURE__ */ jsx(
30088
+ Path,
30089
+ {
30090
+ d: "M21.9999 19.5V22.8333M21.9999 26.1667H22.0082M20.846 15.2431L13.9919 27.082C13.6117 27.7386 13.4216 28.0669 13.4497 28.3364C13.4742 28.5715 13.5974 28.785 13.7885 28.924C14.0077 29.0833 14.387 29.0833 15.1458 29.0833H28.8539C29.6127 29.0833 29.9921 29.0833 30.2112 28.924C30.4024 28.785 30.5255 28.5715 30.55 28.3364C30.5781 28.0669 30.388 27.7386 30.0078 27.082L23.1538 15.2431C22.775 14.5888 22.5856 14.2617 22.3385 14.1518C22.1229 14.0559 21.8768 14.0559 21.6613 14.1518C21.4142 14.2617 21.2248 14.5888 20.846 15.2431Z",
30091
+ stroke: color,
30092
+ strokeWidth,
30093
+ strokeLinecap: "round",
30094
+ strokeLinejoin: "round"
30095
+ }
30096
+ )
30097
+ ] });
30098
+ }
29972
30099
 
29973
30100
  // src/icons/Phone/phonePath.ts
29974
30101
  var PHONE_PATH = "M7.91872 3.54768C7.66561 2.91492 7.05276 2.5 6.37126 2.5H4.07895C3.20692 2.5 2.5 3.20675 2.5 4.07878C2.5 11.491 8.50898 17.5 15.9212 17.5C16.7933 17.5 17.5 16.793 17.5 15.921L17.5004 13.6283C17.5004 12.9468 17.0856 12.334 16.4528 12.0809L14.2558 11.2024C13.6874 10.9751 13.0402 11.0774 12.57 11.4693L12.0029 11.9422C11.3407 12.4941 10.3664 12.4502 9.75683 11.8407L8.16018 10.2425C7.55066 9.63302 7.50561 8.65945 8.05745 7.99724L8.53027 7.43025C8.92218 6.95996 9.02541 6.31263 8.79805 5.74424L7.91872 3.54768Z";
@@ -30466,6 +30593,11 @@ var icons = {
30466
30593
  navigate: NavigateIcon,
30467
30594
  noPets: NoPetsIcon,
30468
30595
  noSmoking: NoSmokingIcon,
30596
+ notificationCancelled: NotificationCancelledIcon,
30597
+ notificationCheckout: NotificationCheckoutIcon,
30598
+ notificationQrCode: NotificationQrCodeIcon,
30599
+ notificationSuccess: NotificationSuccessIcon,
30600
+ notificationWarning: NotificationWarningIcon,
30469
30601
  paw: PawIcon,
30470
30602
  phone: PhoneIcon,
30471
30603
  qrCode: QrCodeIcon,
@@ -30501,6 +30633,7 @@ var icons = {
30501
30633
  dollar: DollarIcon,
30502
30634
  dram: DramIcon,
30503
30635
  dragHandle: DragHandleIcon,
30636
+ doubleCheck: DoubleCheckIcon,
30504
30637
  externalLink: ExternalLinkIcon,
30505
30638
  eye: EyeIcon,
30506
30639
  image: ImageIcon,
@@ -30540,6 +30673,7 @@ var iconGroups = {
30540
30673
  "checkSuccess",
30541
30674
  "copy",
30542
30675
  "download",
30676
+ "doubleCheck",
30543
30677
  "dragHandle",
30544
30678
  "search",
30545
30679
  "calendar",
@@ -30602,6 +30736,13 @@ var iconGroups = {
30602
30736
  "whatsApp"
30603
30737
  ],
30604
30738
  communication: ["mail", "phone"],
30739
+ notifications: [
30740
+ "notificationSuccess",
30741
+ "notificationCancelled",
30742
+ "notificationCheckout",
30743
+ "notificationQrCode",
30744
+ "notificationWarning"
30745
+ ],
30605
30746
  social: ["apple", "facebook", "googlePlay", "instagram", "linkedin"],
30606
30747
  interface: [
30607
30748
  "areaExpand",
@@ -37827,6 +37968,219 @@ var styles39 = StyleSheet.create({
37827
37968
  color: colors.white
37828
37969
  }
37829
37970
  });
37971
+ function NewBookingNotification(props) {
37972
+ return /* @__PURE__ */ jsx(NotificationStatus, { icon: /* @__PURE__ */ jsx(NotificationSuccessIcon, {}), ...props });
37973
+ }
37974
+ function CancelledBookingNotification(props) {
37975
+ return /* @__PURE__ */ jsx(NotificationStatus, { icon: /* @__PURE__ */ jsx(NotificationCancelledIcon, {}), ...props });
37976
+ }
37977
+ function GuestCheckInNotification(props) {
37978
+ return /* @__PURE__ */ jsx(NotificationStatus, { icon: /* @__PURE__ */ jsx(NotificationCheckoutIcon, {}), ...props });
37979
+ }
37980
+ function QrKeyNotification(props) {
37981
+ return /* @__PURE__ */ jsx(NotificationStatus, { icon: /* @__PURE__ */ jsx(NotificationQrCodeIcon, {}), ...props });
37982
+ }
37983
+ function BookingWarningNotification(props) {
37984
+ return /* @__PURE__ */ jsx(NotificationStatus, { icon: /* @__PURE__ */ jsx(NotificationWarningIcon, {}), ...props });
37985
+ }
37986
+ function NotificationStatusSkeleton() {
37987
+ return /* @__PURE__ */ jsxs(
37988
+ View,
37989
+ {
37990
+ accessibilityElementsHidden: true,
37991
+ importantForAccessibility: "no-hide-descendants",
37992
+ style: styles40.root,
37993
+ children: [
37994
+ /* @__PURE__ */ jsx(View, { style: [styles40.icon, styles40.skeletonIcon] }),
37995
+ /* @__PURE__ */ jsxs(View, { style: [styles40.content, styles40.skeletonContent], children: [
37996
+ /* @__PURE__ */ jsx(View, { style: [styles40.skeletonLine, styles40.skeletonTitle] }),
37997
+ /* @__PURE__ */ jsxs(View, { style: styles40.skeletonDescription, children: [
37998
+ /* @__PURE__ */ jsx(View, { style: [styles40.skeletonLine, styles40.skeletonDescriptionFirst] }),
37999
+ /* @__PURE__ */ jsx(View, { style: [styles40.skeletonLine, styles40.skeletonDescriptionSecond] })
38000
+ ] }),
38001
+ /* @__PURE__ */ jsx(View, { style: [styles40.skeletonLine, styles40.skeletonTimestamp] })
38002
+ ] }),
38003
+ /* @__PURE__ */ jsx(View, { style: [styles40.chevron, styles40.skeletonChevron] })
38004
+ ]
38005
+ }
38006
+ );
38007
+ }
38008
+ function NotificationStatus({
38009
+ icon,
38010
+ title,
38011
+ description,
38012
+ timestamp,
38013
+ unread = false,
38014
+ disabled = false,
38015
+ showChevron,
38016
+ onPress,
38017
+ style,
38018
+ accessibilityLabel,
38019
+ onHoverIn,
38020
+ onHoverOut,
38021
+ onPressIn,
38022
+ onPressOut,
38023
+ ...rest
38024
+ }) {
38025
+ const [active, setActive] = useState(false);
38026
+ const interactive = onPress !== void 0;
38027
+ return /* @__PURE__ */ jsxs(
38028
+ Pressable,
38029
+ {
38030
+ ...rest,
38031
+ accessibilityLabel: accessibilityLabel ?? `${title}. ${description}. ${timestamp}`,
38032
+ accessibilityRole: interactive ? "button" : void 0,
38033
+ accessibilityState: { disabled },
38034
+ disabled,
38035
+ onPress,
38036
+ onHoverIn: (event) => {
38037
+ setActive(true);
38038
+ onHoverIn?.(event);
38039
+ },
38040
+ onHoverOut: (event) => {
38041
+ setActive(false);
38042
+ onHoverOut?.(event);
38043
+ },
38044
+ onPressIn: (event) => {
38045
+ setActive(true);
38046
+ onPressIn?.(event);
38047
+ },
38048
+ onPressOut: (event) => {
38049
+ setActive(false);
38050
+ onPressOut?.(event);
38051
+ },
38052
+ style: [styles40.root, active && styles40.rootActive, disabled && styles40.disabled, style],
38053
+ children: [
38054
+ /* @__PURE__ */ jsx(View, { style: styles40.icon, children: icon }),
38055
+ /* @__PURE__ */ jsxs(View, { style: styles40.content, children: [
38056
+ /* @__PURE__ */ jsxs(View, { style: styles40.titleRow, children: [
38057
+ unread ? /* @__PURE__ */ jsx(View, { style: styles40.unreadIndicator }) : null,
38058
+ /* @__PURE__ */ jsx(Text, { numberOfLines: 1, style: styles40.title, children: title })
38059
+ ] }),
38060
+ /* @__PURE__ */ jsx(Text, { style: styles40.description, children: description }),
38061
+ /* @__PURE__ */ jsx(Text, { numberOfLines: 1, style: styles40.timestamp, children: timestamp })
38062
+ ] }),
38063
+ showChevron ?? interactive ? /* @__PURE__ */ jsx(
38064
+ View,
38065
+ {
38066
+ accessibilityElementsHidden: true,
38067
+ importantForAccessibility: "no-hide-descendants",
38068
+ style: styles40.chevron,
38069
+ children: /* @__PURE__ */ jsx(ChevronRightIcon, { color: colors.grey300, size: 16, strokeWidth: 1.5 })
38070
+ }
38071
+ ) : null
38072
+ ]
38073
+ }
38074
+ );
38075
+ }
38076
+ var styles40 = StyleSheet.create({
38077
+ root: {
38078
+ width: "100%",
38079
+ minHeight: 111,
38080
+ flexDirection: "row",
38081
+ alignItems: "flex-start",
38082
+ gap: 16,
38083
+ padding: 16,
38084
+ backgroundColor: "transparent"
38085
+ },
38086
+ rootActive: {
38087
+ backgroundColor: colors.whiteAlpha1
38088
+ },
38089
+ disabled: {
38090
+ opacity: 0.4
38091
+ },
38092
+ icon: {
38093
+ width: 44,
38094
+ height: 44,
38095
+ flexShrink: 0
38096
+ },
38097
+ content: {
38098
+ minWidth: 0,
38099
+ flex: 1,
38100
+ alignSelf: "stretch",
38101
+ justifyContent: "space-between"
38102
+ },
38103
+ titleRow: {
38104
+ minWidth: 0,
38105
+ flexDirection: "row",
38106
+ alignItems: "center",
38107
+ gap: 10
38108
+ },
38109
+ unreadIndicator: {
38110
+ width: 8,
38111
+ height: 8,
38112
+ flexShrink: 0,
38113
+ borderRadius: 4,
38114
+ backgroundColor: colors.primaryLight
38115
+ },
38116
+ title: {
38117
+ minWidth: 0,
38118
+ flex: 1,
38119
+ color: colors.white,
38120
+ fontFamily: fonts.sans,
38121
+ fontSize: 14,
38122
+ fontWeight: "600",
38123
+ lineHeight: 14,
38124
+ letterSpacing: 0
38125
+ },
38126
+ description: {
38127
+ color: colors.lightGrey,
38128
+ fontFamily: fonts.sans,
38129
+ fontSize: 12,
38130
+ fontWeight: "400",
38131
+ lineHeight: 16,
38132
+ letterSpacing: 0
38133
+ },
38134
+ timestamp: {
38135
+ color: colors.grey50,
38136
+ fontFamily: fonts.sans,
38137
+ fontSize: 12,
38138
+ fontWeight: "400",
38139
+ lineHeight: 16,
38140
+ letterSpacing: 0
38141
+ },
38142
+ chevron: {
38143
+ alignSelf: "center",
38144
+ flexShrink: 0
38145
+ },
38146
+ skeletonIcon: {
38147
+ borderRadius: 22,
38148
+ backgroundColor: colors.grey600
38149
+ },
38150
+ skeletonContent: {
38151
+ paddingTop: 1,
38152
+ paddingBottom: 2
38153
+ },
38154
+ skeletonLine: {
38155
+ borderRadius: 999,
38156
+ backgroundColor: colors.grey500
38157
+ },
38158
+ skeletonTitle: {
38159
+ width: "42%",
38160
+ height: 12
38161
+ },
38162
+ skeletonDescription: {
38163
+ gap: 5
38164
+ },
38165
+ skeletonDescriptionFirst: {
38166
+ width: "92%",
38167
+ height: 10
38168
+ },
38169
+ skeletonDescriptionSecond: {
38170
+ width: "68%",
38171
+ height: 10
38172
+ },
38173
+ skeletonTimestamp: {
38174
+ width: 58,
38175
+ height: 10
38176
+ },
38177
+ skeletonChevron: {
38178
+ width: 7,
38179
+ height: 12,
38180
+ borderRadius: 4,
38181
+ backgroundColor: colors.grey500
38182
+ }
38183
+ });
37830
38184
 
37831
38185
  // src/components/Range/Range.utils.ts
37832
38186
  function decimals(value) {
@@ -38201,7 +38555,7 @@ var Range = forwardRef(function Range2({
38201
38555
  ...rest,
38202
38556
  ref: setRootRef,
38203
38557
  onLayout,
38204
- style: [styles40.root, disabled && styles40.disabled, style],
38558
+ style: [styles41.root, disabled && styles41.disabled, style],
38205
38559
  children: [
38206
38560
  /* @__PURE__ */ jsxs(
38207
38561
  Pressable,
@@ -38215,16 +38569,16 @@ var Range = forwardRef(function Range2({
38215
38569
  updateNearestFromTrack(event.nativeEvent.offsetX);
38216
38570
  } : void 0,
38217
38571
  onPress: Platform.OS === "web" ? void 0 : handleTrackPress,
38218
- style: styles40.sliderPlane,
38572
+ style: styles41.sliderPlane,
38219
38573
  tabIndex: -1,
38220
38574
  children: [
38221
- /* @__PURE__ */ jsx(View, { pointerEvents: "none", style: styles40.track }),
38575
+ /* @__PURE__ */ jsx(View, { pointerEvents: "none", style: styles41.track }),
38222
38576
  /* @__PURE__ */ jsx(
38223
38577
  View,
38224
38578
  {
38225
38579
  pointerEvents: "none",
38226
38580
  style: [
38227
- styles40.activeTrack,
38581
+ styles41.activeTrack,
38228
38582
  {
38229
38583
  left: TRACK_HORIZONTAL_INSET + fromOffset,
38230
38584
  width: toOffset - fromOffset + THUMB_SIZE2
@@ -38266,9 +38620,9 @@ var Range = forwardRef(function Range2({
38266
38620
  onAccessibilityAction: (event) => handleAccessibilityAction(event, effectiveFrom, updateFromInput),
38267
38621
  pointerEvents: disabled ? "none" : "auto",
38268
38622
  style: [
38269
- styles40.thumb,
38270
- Platform.OS === "web" && styles40.thumbWeb,
38271
- focusedThumb === "from" && Platform.OS === "web" && styles40.thumbFocusedWeb,
38623
+ styles41.thumb,
38624
+ Platform.OS === "web" && styles41.thumbWeb,
38625
+ focusedThumb === "from" && Platform.OS === "web" && styles41.thumbFocusedWeb,
38272
38626
  { left: TRACK_HORIZONTAL_INSET + fromOffset }
38273
38627
  ],
38274
38628
  tabIndex: disabled ? -1 : 0
@@ -38308,9 +38662,9 @@ var Range = forwardRef(function Range2({
38308
38662
  onAccessibilityAction: (event) => handleAccessibilityAction(event, effectiveTo, updateToInput),
38309
38663
  pointerEvents: disabled ? "none" : "auto",
38310
38664
  style: [
38311
- styles40.thumb,
38312
- Platform.OS === "web" && styles40.thumbWeb,
38313
- focusedThumb === "to" && Platform.OS === "web" && styles40.thumbFocusedWeb,
38665
+ styles41.thumb,
38666
+ Platform.OS === "web" && styles41.thumbWeb,
38667
+ focusedThumb === "to" && Platform.OS === "web" && styles41.thumbFocusedWeb,
38314
38668
  { left: TRACK_HORIZONTAL_INSET + toOffset }
38315
38669
  ],
38316
38670
  tabIndex: disabled ? -1 : 0
@@ -38319,7 +38673,7 @@ var Range = forwardRef(function Range2({
38319
38673
  ]
38320
38674
  }
38321
38675
  ),
38322
- /* @__PURE__ */ jsxs(View, { style: styles40.inputs, children: [
38676
+ /* @__PURE__ */ jsxs(View, { style: styles41.inputs, children: [
38323
38677
  /* @__PURE__ */ jsx(
38324
38678
  RangeInput,
38325
38679
  {
@@ -38370,7 +38724,7 @@ function RangeInput({
38370
38724
  placeholder,
38371
38725
  value
38372
38726
  }) {
38373
- return /* @__PURE__ */ jsxs(View, { style: [styles40.inputField, focused && styles40.inputFieldFocused], children: [
38727
+ return /* @__PURE__ */ jsxs(View, { style: [styles41.inputField, focused && styles41.inputFieldFocused], children: [
38374
38728
  /* @__PURE__ */ jsx(
38375
38729
  TextInput,
38376
38730
  {
@@ -38386,15 +38740,15 @@ function RangeInput({
38386
38740
  placeholder,
38387
38741
  placeholderTextColor: colors.grey150,
38388
38742
  returnKeyType: "done",
38389
- style: [styles40.input, Platform.OS === "web" && styles40.inputWeb],
38743
+ style: [styles41.input, Platform.OS === "web" && styles41.inputWeb],
38390
38744
  tabIndex: disabled ? -1 : void 0,
38391
38745
  value
38392
38746
  }
38393
38747
  ),
38394
- /* @__PURE__ */ jsx(View, { style: styles40.currencySlot, children: /* @__PURE__ */ jsx(Text, { style: styles40.currency, children: currency }) })
38748
+ /* @__PURE__ */ jsx(View, { style: styles41.currencySlot, children: /* @__PURE__ */ jsx(Text, { style: styles41.currency, children: currency }) })
38395
38749
  ] });
38396
38750
  }
38397
- var styles40 = StyleSheet.create({
38751
+ var styles41 = StyleSheet.create({
38398
38752
  root: {
38399
38753
  width: DEFAULT_WIDTH6,
38400
38754
  gap: 15,
@@ -38539,16 +38893,16 @@ var RadioButton = forwardRef(
38539
38893
  accessibilityRole: "radio",
38540
38894
  accessibilityLabel: resolvedAccessibilityLabel,
38541
38895
  accessibilityState: { selected: isActive, disabled },
38542
- style: [styles41.root, disabled && styles41.disabled, style],
38896
+ style: [styles42.root, disabled && styles42.disabled, style],
38543
38897
  children: [
38544
- /* @__PURE__ */ jsx(View, { style: styles41.control, children: isActive ? /* @__PURE__ */ jsx(View, { style: styles41.dot }) : null }),
38545
- labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsx(Text, { style: [styles41.label, labelStyle], children: labelContent }) : labelContent : null
38898
+ /* @__PURE__ */ jsx(View, { style: styles42.control, children: isActive ? /* @__PURE__ */ jsx(View, { style: styles42.dot }) : null }),
38899
+ labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsx(Text, { style: [styles42.label, labelStyle], children: labelContent }) : labelContent : null
38546
38900
  ]
38547
38901
  }
38548
38902
  );
38549
38903
  }
38550
38904
  );
38551
- var styles41 = StyleSheet.create({
38905
+ var styles42 = StyleSheet.create({
38552
38906
  root: {
38553
38907
  flexDirection: "row",
38554
38908
  alignItems: "center",
@@ -38690,6 +39044,6 @@ react-dom/cjs/react-dom.development.js:
38690
39044
  *)
38691
39045
  */
38692
39046
 
38693
- export { Accordion, AccordionItem, AccountHeader, ActiveGuestsIcon, AlertTriangleIcon, Amenity, AmenityIcon, AppleIcon, AreaExpandIcon, ArrowLeftIcon, ArrowRightIcon, AutocompleteInput, Avatar, AvatarSimple, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, BagIcon, BanIcon, BathroomsIcon, BedroomsIcon, BellIcon, BlockedGuestsIcon, BrandLogo, BuildingIcon, Button, CalendarFilledIcon, CalendarIcon, CalendarMinusIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ClockFilledIcon, ClockIcon, CloseIcon, CloudUploadIcon, CommentCard, ContactInfoCard, CopyIcon, Counter, CurrentLocationIcon, CutleryIcon, DatePicker, DeactivateIcon, DollarIcon, DownloadIcon, DragHandleIcon, DramIcon, Drawer, EditIcon, ExternalLinkIcon, EyeIcon, FacebookIcon, FavoritesButton, FiltersIcon, FloatingActionButton, FullscreenIcon, GlobeIcon, GooglePlayIcon, GuestsIcon, HeadsetIcon, HeartIcon, HelpCircleIcon, HideIcon, HomeIcon, Icon, IconStatusBadge, ImageIcon, InfoCardV2, InfoCircleIcon, InfoTile, Input, InstagramIcon, KeyIcon, LanguageSwitcher, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, MenuItem, MenuLinesIcon, MinusIcon, Modal, MoonStarsIcon, MoreHorizontalIcon, NavigateIcon, NoPetsIcon, NoReviewIcon, NoSmokingIcon, PaginationDots, PawIcon, PhoneIcon, PlusIcon, QrCodeIcon, QuantityInput, QuietHoursIcon, RadioButton, Range, RatingInput, RatingStarIcon, RefreshIcon, RefundStatusIcon, SaveHeartIcon, SearchIcon, SegmentedToggle, Select, SettingsIcon, ShareIcon, ShowIcon, Sidebar, SidebarIcon, SmartKeyIcon, SortIcon, StarFilledIcon, StarIcon, StarOutlineIcon, StatCard, StatusBadge, StatusIndicator, StayHomeIcon, StepList, StepPager, SunIcon, TableViewIcon, Textarea, Toggle, ToggleRow, TooltipArrowIcon, TotalGuestsIcon, TrashIcon, UnlockIcon, UserIcon, UsersAltIcon, VerificationCodeInput, VideoIcon, VideoOffIcon, WasherIcon, WhatsAppIcon, ZoomOutIcon, abbreviateMonthName, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, formatDate, formatDateDayShortMonth, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, resolvePopoverAlign, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
39047
+ export { Accordion, AccordionItem, AccountHeader, ActiveGuestsIcon, AlertTriangleIcon, Amenity, AmenityIcon, AppleIcon, AreaExpandIcon, ArrowLeftIcon, ArrowRightIcon, AutocompleteInput, Avatar, AvatarSimple, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, BagIcon, BanIcon, BathroomsIcon, BedroomsIcon, BellIcon, BlockedGuestsIcon, BookingWarningNotification, BrandLogo, BuildingIcon, Button, CalendarFilledIcon, CalendarIcon, CalendarMinusIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CancelledBookingNotification, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ClockFilledIcon, ClockIcon, CloseIcon, CloudUploadIcon, CommentCard, ContactInfoCard, CopyIcon, Counter, CurrentLocationIcon, CutleryIcon, DatePicker, DeactivateIcon, DollarIcon, DoubleCheckIcon, DownloadIcon, DragHandleIcon, DramIcon, Drawer, EditIcon, ExternalLinkIcon, EyeIcon, FacebookIcon, FavoritesButton, FiltersIcon, FloatingActionButton, FullscreenIcon, GlobeIcon, GooglePlayIcon, GuestCheckInNotification, GuestsIcon, HeadsetIcon, HeartIcon, HelpCircleIcon, HideIcon, HomeIcon, Icon, IconStatusBadge, ImageIcon, InfoCardV2, InfoCircleIcon, InfoTile, Input, InstagramIcon, KeyIcon, LanguageSwitcher, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, MenuItem, MenuLinesIcon, MinusIcon, Modal, MoonStarsIcon, MoreHorizontalIcon, NavigateIcon, NewBookingNotification, NoPetsIcon, NoReviewIcon, NoSmokingIcon, NotificationCancelledIcon, NotificationCheckoutIcon, NotificationQrCodeIcon, NotificationStatusSkeleton, NotificationSuccessIcon, NotificationWarningIcon, PaginationDots, PawIcon, PhoneIcon, PlusIcon, QrCodeIcon, QrKeyNotification, QuantityInput, QuietHoursIcon, RadioButton, Range, RatingInput, RatingStarIcon, RefreshIcon, RefundStatusIcon, SaveHeartIcon, SearchIcon, SegmentedToggle, Select, SettingsIcon, ShareIcon, ShowIcon, Sidebar, SidebarIcon, SmartKeyIcon, SortIcon, StarFilledIcon, StarIcon, StarOutlineIcon, StatCard, StatusBadge, StatusIndicator, StayHomeIcon, StepList, StepPager, SunIcon, TableViewIcon, Textarea, Toggle, ToggleRow, TooltipArrowIcon, TotalGuestsIcon, TrashIcon, UnlockIcon, UserIcon, UsersAltIcon, VerificationCodeInput, VideoIcon, VideoOffIcon, WasherIcon, WhatsAppIcon, ZoomOutIcon, abbreviateMonthName, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, formatDate, formatDateDayShortMonth, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, resolvePopoverAlign, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
38694
39048
  //# sourceMappingURL=index.js.map
38695
39049
  //# sourceMappingURL=index.js.map