@dmsi/wedgekit-react 0.0.2

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 (263) hide show
  1. package/README.md +35 -0
  2. package/dist/chunk-27KIIUAR.js +59 -0
  3. package/dist/chunk-2G2E2JMA.js +123 -0
  4. package/dist/chunk-4C66DLIJ.js +51 -0
  5. package/dist/chunk-4RD5ZF2V.js +55 -0
  6. package/dist/chunk-4RJKB7LC.js +14 -0
  7. package/dist/chunk-4T7F5BZZ.js +26 -0
  8. package/dist/chunk-5GOBP2JS.js +53 -0
  9. package/dist/chunk-6ZY524ID.js +42 -0
  10. package/dist/chunk-AWQSSKCK.js +32 -0
  11. package/dist/chunk-BNHSAFMP.js +93 -0
  12. package/dist/chunk-BWRHL2AG.js +439 -0
  13. package/dist/chunk-DKKYR6DS.js +132 -0
  14. package/dist/chunk-E5ALT5W7.js +182 -0
  15. package/dist/chunk-FY7PTP6E.js +322 -0
  16. package/dist/chunk-GTCSRHPF.js +119 -0
  17. package/dist/chunk-I2UVVKQI.js +12 -0
  18. package/dist/chunk-IGQVA7SC.js +41 -0
  19. package/dist/chunk-K3IKUSZW.js +59 -0
  20. package/dist/chunk-KENSVWOY.js +151 -0
  21. package/dist/chunk-KX3O6GJ6.js +138 -0
  22. package/dist/chunk-L4UM372R.js +253 -0
  23. package/dist/chunk-ORMEWXMH.js +37 -0
  24. package/dist/chunk-Q3FKEKIN.js +23 -0
  25. package/dist/chunk-SEKKGFM6.js +28 -0
  26. package/dist/chunk-SY3HT54E.js +91 -0
  27. package/dist/chunk-TAW5ZZ4Z.js +346 -0
  28. package/dist/chunk-TRUPPHBQ.js +109 -0
  29. package/dist/chunk-TU55CHXU.js +30 -0
  30. package/dist/chunk-TWZZB4WO.js +114 -0
  31. package/dist/chunk-TYI74BSP.js +62 -0
  32. package/dist/chunk-U42SKNR6.js +104 -0
  33. package/dist/chunk-UU3FA6LV.js +72 -0
  34. package/dist/chunk-WVUIIBRR.js +51 -0
  35. package/dist/chunk-XUIPGYP5.js +39 -0
  36. package/dist/chunk-Z4UCFUF7.js +299 -0
  37. package/dist/components/Breadcrumbs.cjs +376 -0
  38. package/dist/components/Breadcrumbs.js +90 -0
  39. package/dist/components/Button.cjs +319 -0
  40. package/dist/components/Button.js +8 -0
  41. package/dist/components/CalendarRange.cjs +520 -0
  42. package/dist/components/CalendarRange.js +13 -0
  43. package/dist/components/Caption.cjs +283 -0
  44. package/dist/components/Caption.js +80 -0
  45. package/dist/components/Checkbox.cjs +378 -0
  46. package/dist/components/Checkbox.js +11 -0
  47. package/dist/components/ContentTab.cjs +382 -0
  48. package/dist/components/ContentTab.js +10 -0
  49. package/dist/components/ContentTabs.cjs +472 -0
  50. package/dist/components/ContentTabs.js +98 -0
  51. package/dist/components/DMSiLogo.cjs +79 -0
  52. package/dist/components/DMSiLogo.js +56 -0
  53. package/dist/components/DataGrid.cjs +3113 -0
  54. package/dist/components/DataGrid.js +758 -0
  55. package/dist/components/DataGridCell.cjs +1907 -0
  56. package/dist/components/DataGridCell.js +24 -0
  57. package/dist/components/DataTable.cjs +791 -0
  58. package/dist/components/DataTable.js +720 -0
  59. package/dist/components/DateInput.cjs +1130 -0
  60. package/dist/components/DateInput.js +170 -0
  61. package/dist/components/DateRangeInput.cjs +1131 -0
  62. package/dist/components/DateRangeInput.js +171 -0
  63. package/dist/components/DebugJson.cjs +50 -0
  64. package/dist/components/DebugJson.js +27 -0
  65. package/dist/components/Display.cjs +234 -0
  66. package/dist/components/Display.js +12 -0
  67. package/dist/components/EditingContext.cjs +73 -0
  68. package/dist/components/EditingContext.js +35 -0
  69. package/dist/components/FilterGroup.cjs +1431 -0
  70. package/dist/components/FilterGroup.js +231 -0
  71. package/dist/components/FullViewportBox.cjs +35 -0
  72. package/dist/components/FullViewportBox.js +12 -0
  73. package/dist/components/Grid.cjs +69 -0
  74. package/dist/components/Grid.js +36 -0
  75. package/dist/components/GridContainer.cjs +125 -0
  76. package/dist/components/GridContainer.js +92 -0
  77. package/dist/components/Heading.cjs +238 -0
  78. package/dist/components/Heading.js +14 -0
  79. package/dist/components/HorizontalDivider.cjs +33 -0
  80. package/dist/components/HorizontalDivider.js +10 -0
  81. package/dist/components/Icon.cjs +98 -0
  82. package/dist/components/Icon.js +7 -0
  83. package/dist/components/Input.cjs +672 -0
  84. package/dist/components/Input.js +21 -0
  85. package/dist/components/InputGroup.cjs +270 -0
  86. package/dist/components/InputGroup.js +60 -0
  87. package/dist/components/Label.cjs +223 -0
  88. package/dist/components/Label.js +8 -0
  89. package/dist/components/Link.cjs +262 -0
  90. package/dist/components/Link.js +8 -0
  91. package/dist/components/List.cjs +37 -0
  92. package/dist/components/List.js +14 -0
  93. package/dist/components/LiveChatComponent.cjs +63 -0
  94. package/dist/components/LiveChatComponent.js +40 -0
  95. package/dist/components/LogoAgilityTopBar.cjs +115 -0
  96. package/dist/components/LogoAgilityTopBar.js +92 -0
  97. package/dist/components/LogoDMSiTopBar.cjs +79 -0
  98. package/dist/components/LogoDMSiTopBar.js +7 -0
  99. package/dist/components/LogoMillworkTopBar.cjs +221 -0
  100. package/dist/components/LogoMillworkTopBar.js +198 -0
  101. package/dist/components/MainBar.cjs +211 -0
  102. package/dist/components/MainBar.js +65 -0
  103. package/dist/components/Menu.cjs +437 -0
  104. package/dist/components/Menu.js +11 -0
  105. package/dist/components/MenuOption.cjs +483 -0
  106. package/dist/components/MenuOption.js +13 -0
  107. package/dist/components/MobileDataGrid.cjs +658 -0
  108. package/dist/components/MobileDataGrid.js +125 -0
  109. package/dist/components/Modal.cjs +783 -0
  110. package/dist/components/Modal.js +245 -0
  111. package/dist/components/ModalButtons.cjs +385 -0
  112. package/dist/components/ModalButtons.js +10 -0
  113. package/dist/components/ModalContent.cjs +57 -0
  114. package/dist/components/ModalContent.js +7 -0
  115. package/dist/components/ModalHeader.cjs +426 -0
  116. package/dist/components/ModalHeader.js +11 -0
  117. package/dist/components/ModalScrim.cjs +64 -0
  118. package/dist/components/ModalScrim.js +7 -0
  119. package/dist/components/NavigationTab.cjs +431 -0
  120. package/dist/components/NavigationTab.js +10 -0
  121. package/dist/components/NavigationTabs.cjs +477 -0
  122. package/dist/components/NavigationTabs.js +56 -0
  123. package/dist/components/Notification.cjs +640 -0
  124. package/dist/components/Notification.js +117 -0
  125. package/dist/components/OptionPill.cjs +478 -0
  126. package/dist/components/OptionPill.js +11 -0
  127. package/dist/components/Paragraph.cjs +231 -0
  128. package/dist/components/Paragraph.js +8 -0
  129. package/dist/components/Password.cjs +700 -0
  130. package/dist/components/Password.js +53 -0
  131. package/dist/components/ProjectBar.cjs +242 -0
  132. package/dist/components/ProjectBar.js +63 -0
  133. package/dist/components/Radio.cjs +349 -0
  134. package/dist/components/Radio.js +131 -0
  135. package/dist/components/Search.cjs +767 -0
  136. package/dist/components/Search.js +12 -0
  137. package/dist/components/Select.cjs +758 -0
  138. package/dist/components/Select.js +12 -0
  139. package/dist/components/SideMenu.cjs +54 -0
  140. package/dist/components/SideMenu.js +21 -0
  141. package/dist/components/SideMenuGroup.cjs +422 -0
  142. package/dist/components/SideMenuGroup.js +83 -0
  143. package/dist/components/SideMenuItem.cjs +388 -0
  144. package/dist/components/SideMenuItem.js +70 -0
  145. package/dist/components/Stack.cjs +138 -0
  146. package/dist/components/Stack.js +7 -0
  147. package/dist/components/StatusPill.cjs +265 -0
  148. package/dist/components/StatusPill.js +52 -0
  149. package/dist/components/Stepper.cjs +885 -0
  150. package/dist/components/Stepper.js +105 -0
  151. package/dist/components/Subheader.cjs +226 -0
  152. package/dist/components/Subheader.js +8 -0
  153. package/dist/components/Surface.cjs +98 -0
  154. package/dist/components/Surface.js +40 -0
  155. package/dist/components/Swatch.cjs +1728 -0
  156. package/dist/components/Swatch.js +1319 -0
  157. package/dist/components/Textarea.cjs +269 -0
  158. package/dist/components/Textarea.js +96 -0
  159. package/dist/components/Theme.cjs +36 -0
  160. package/dist/components/Theme.js +7 -0
  161. package/dist/components/Time.cjs +1118 -0
  162. package/dist/components/Time.js +353 -0
  163. package/dist/components/Toast.cjs +644 -0
  164. package/dist/components/Toast.js +218 -0
  165. package/dist/components/Tooltip.cjs +273 -0
  166. package/dist/components/Tooltip.js +9 -0
  167. package/dist/components/TopBar.cjs +352 -0
  168. package/dist/components/TopBar.js +132 -0
  169. package/dist/components/useInfiniteScroll.cjs +57 -0
  170. package/dist/components/useInfiniteScroll.js +8 -0
  171. package/dist/components/useMatchesMedia.cjs +53 -0
  172. package/dist/components/useMatchesMedia.js +9 -0
  173. package/dist/components/useMenuSystem.cjs +358 -0
  174. package/dist/components/useMenuSystem.js +11 -0
  175. package/dist/components/useMounted.cjs +39 -0
  176. package/dist/components/useMounted.js +8 -0
  177. package/dist/fonts.css +21 -0
  178. package/dist/icons-light[FILL]-PPZXOLWS.woff2 +0 -0
  179. package/dist/icons-normal[FILL]-PPZXOLWS.woff2 +0 -0
  180. package/dist/index.css +4401 -0
  181. package/dist/open-sans-55T6A4JE.woff2 +0 -0
  182. package/dist/types.cjs +18 -0
  183. package/dist/types.js +0 -0
  184. package/package.json +66 -0
  185. package/src/brand.css +125 -0
  186. package/src/classNames.ts +144 -0
  187. package/src/components/Breadcrumbs.tsx +116 -0
  188. package/src/components/Button.tsx +210 -0
  189. package/src/components/CalendarRange.tsx +429 -0
  190. package/src/components/Caption.tsx +101 -0
  191. package/src/components/Checkbox.tsx +196 -0
  192. package/src/components/ContentTab.tsx +66 -0
  193. package/src/components/ContentTabs.tsx +103 -0
  194. package/src/components/DMSiLogo.tsx +32 -0
  195. package/src/components/DataGrid.tsx +948 -0
  196. package/src/components/DataGridCell.tsx +384 -0
  197. package/src/components/DataTable.tsx +835 -0
  198. package/src/components/DateInput.tsx +188 -0
  199. package/src/components/DateRangeInput.tsx +179 -0
  200. package/src/components/DebugJson.tsx +24 -0
  201. package/src/components/Display.tsx +60 -0
  202. package/src/components/EditingContext.tsx +40 -0
  203. package/src/components/FilterGroup.tsx +234 -0
  204. package/src/components/FullViewportBox.tsx +11 -0
  205. package/src/components/Grid.tsx +75 -0
  206. package/src/components/GridContainer.tsx +124 -0
  207. package/src/components/Heading.tsx +66 -0
  208. package/src/components/HorizontalDivider.tsx +3 -0
  209. package/src/components/Icon.tsx +36 -0
  210. package/src/components/Input.tsx +511 -0
  211. package/src/components/InputGroup.tsx +51 -0
  212. package/src/components/Label.tsx +40 -0
  213. package/src/components/Link.tsx +106 -0
  214. package/src/components/List.tsx +10 -0
  215. package/src/components/LiveChatComponent.tsx +56 -0
  216. package/src/components/LogoAgilityTopBar.tsx +53 -0
  217. package/src/components/LogoDMSiTopBar.tsx +32 -0
  218. package/src/components/LogoMillworkTopBar.tsx +118 -0
  219. package/src/components/MainBar.tsx +83 -0
  220. package/src/components/Menu.tsx +286 -0
  221. package/src/components/MenuOption.tsx +275 -0
  222. package/src/components/MobileDataGrid.tsx +135 -0
  223. package/src/components/Modal.tsx +271 -0
  224. package/src/components/ModalButtons.tsx +44 -0
  225. package/src/components/ModalContent.tsx +23 -0
  226. package/src/components/ModalHeader.tsx +41 -0
  227. package/src/components/ModalScrim.tsx +35 -0
  228. package/src/components/NavigationTab.tsx +89 -0
  229. package/src/components/NavigationTabs.tsx +63 -0
  230. package/src/components/Notification.tsx +120 -0
  231. package/src/components/OptionPill.tsx +114 -0
  232. package/src/components/Paragraph.tsx +49 -0
  233. package/src/components/Password.tsx +46 -0
  234. package/src/components/ProjectBar.tsx +76 -0
  235. package/src/components/Radio.tsx +140 -0
  236. package/src/components/Search.tsx +129 -0
  237. package/src/components/Select.tsx +104 -0
  238. package/src/components/SideMenu.tsx +21 -0
  239. package/src/components/SideMenuGroup.tsx +81 -0
  240. package/src/components/SideMenuItem.tsx +90 -0
  241. package/src/components/Stack.tsx +179 -0
  242. package/src/components/StatusPill.tsx +51 -0
  243. package/src/components/Stepper.tsx +91 -0
  244. package/src/components/Subheader.tsx +44 -0
  245. package/src/components/Surface.tsx +34 -0
  246. package/src/components/Swatch.tsx +1066 -0
  247. package/src/components/Textarea.tsx +101 -0
  248. package/src/components/Theme.tsx +13 -0
  249. package/src/components/Time.tsx +438 -0
  250. package/src/components/Toast.tsx +244 -0
  251. package/src/components/Tooltip.tsx +137 -0
  252. package/src/components/TopBar.tsx +124 -0
  253. package/src/components/useInfiniteScroll.tsx +40 -0
  254. package/src/components/useMatchesMedia.tsx +28 -0
  255. package/src/components/useMenuSystem.tsx +367 -0
  256. package/src/components/useMounted.tsx +14 -0
  257. package/src/darkmode.css +140 -0
  258. package/src/fonts.css +23 -0
  259. package/src/index.css +509 -0
  260. package/src/index.tsx +2 -0
  261. package/src/types.ts +149 -0
  262. package/src/utils/formatting.tsx +81 -0
  263. package/src/utils.ts +23 -0
@@ -0,0 +1,520 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __export = (target, all) => {
38
+ for (var name in all)
39
+ __defProp(target, name, { get: all[name], enumerable: true });
40
+ };
41
+ var __copyProps = (to, from, except, desc) => {
42
+ if (from && typeof from === "object" || typeof from === "function") {
43
+ for (let key of __getOwnPropNames(from))
44
+ if (!__hasOwnProp.call(to, key) && key !== except)
45
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
+ }
47
+ return to;
48
+ };
49
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
+ // If the importer is in node compatibility mode or this is not an ESM
51
+ // file that has been converted to a CommonJS file using a Babel-
52
+ // compatible transform (i.e. "__esModule" has not been set), then set
53
+ // "default" to the CommonJS "module.exports" for node compatibility.
54
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
55
+ mod
56
+ ));
57
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
58
+
59
+ // src/components/CalendarRange.tsx
60
+ var CalendarRange_exports = {};
61
+ __export(CalendarRange_exports, {
62
+ CalendarRange: () => CalendarRange,
63
+ default: () => CalendarRange_default,
64
+ isWeekend: () => isWeekend
65
+ });
66
+ module.exports = __toCommonJS(CalendarRange_exports);
67
+ var import_clsx3 = __toESM(require("clsx"), 1);
68
+
69
+ // src/classNames.ts
70
+ var import_clsx = __toESM(require("clsx"), 1);
71
+ var typography = {
72
+ display1: (0, import_clsx.default)(
73
+ "font-sans font-semibold",
74
+ "text-display-1-mobile desktop:text-display-1-desktop compact:text-display-1-desktop-compact",
75
+ "leading-display-1-mobile desktop:leading-display-1-desktop"
76
+ ),
77
+ display2: (0, import_clsx.default)(
78
+ "font-sans font-bold",
79
+ "text-display-2-mobile desktop:text-display-2-desktop compact:text-display-2-desktop-compact",
80
+ "leading-display-2-mobile desktop:leading-display-2-desktop"
81
+ ),
82
+ heading1: (0, import_clsx.default)(
83
+ "font-sans font-semibold",
84
+ "text-heading-1-mobile desktop:text-heading-1-desktop compact:text-heading-1-desktop-compact",
85
+ "leading-heading-1-mobile desktop:leading-heading-1-desktop"
86
+ ),
87
+ heading2: (0, import_clsx.default)(
88
+ "font-sans font-normal",
89
+ "text-heading-2-mobile desktop:text-heading-2-desktop compact:text-heading-2-desktop-compact",
90
+ "leading-heading-2-mobile desktop:leading-heading-2-desktop"
91
+ ),
92
+ heading3: (0, import_clsx.default)(
93
+ "font-sans font-semibold",
94
+ "text-heading-3-mobile desktop:text-heading-3-desktop compact:text-heading-3-desktop-compact",
95
+ "leading-heading-3-mobile desktop:leading-heading-3-desktop"
96
+ ),
97
+ subheader: (0, import_clsx.default)(
98
+ "font-sans font-semibold",
99
+ "text-subheader-mobile desktop:text-subheader-desktop compact:text-subheader-desktop-compact",
100
+ "leading-subheader-mobile desktop:leading-subheader-desktop"
101
+ ),
102
+ link: (0, import_clsx.default)(
103
+ "font-sans font-normal",
104
+ "text-link-mobile desktop:text-link-desktop compact:text-link-desktop-compact",
105
+ "leading-link-mobile desktop:leading-link-desktop"
106
+ ),
107
+ buttonLabel: (0, import_clsx.default)(
108
+ "font-sans font-semibold",
109
+ "text-label-mobile desktop:text-label-desktop compact:text-label-desktop-compact",
110
+ "leading-label-mobile desktop:leading-label-desktop"
111
+ ),
112
+ label: (0, import_clsx.default)(
113
+ "font-sans font-semibold",
114
+ "text-label-mobile desktop:text-label-desktop compact:text-label-desktop-compact",
115
+ "leading-label-mobile desktop:leading-label-desktop"
116
+ ),
117
+ paragraph: (0, import_clsx.default)(
118
+ "font-sans font-normal",
119
+ "text-paragraph-mobile desktop:text-paragraph-desktop compact:text-paragraph-desktop-compact",
120
+ "leading-paragraph-mobile desktop:leading-paragraph-desktop"
121
+ ),
122
+ caption: (0, import_clsx.default)(
123
+ "font-sans font-normal",
124
+ "text-caption-mobile desktop:text-caption-desktop compact:text-caption-desktop-compact",
125
+ "leading-caption-mobile desktop:leading-caption-desktop"
126
+ )
127
+ };
128
+ var baseTransition = (0, import_clsx.default)(
129
+ "transition-colors duration-100 ease-in-out"
130
+ );
131
+ var componentGap = (0, import_clsx.default)(
132
+ "gap-mobile-component-gap desktop:gap-desktop-component-gap compact:gap-desktop-compact-component-gap"
133
+ );
134
+ var paddingUsingComponentGap = (0, import_clsx.default)(
135
+ "p-mobile-component-gap desktop:p-desktop-component-gap compact:p-desktop-compact-component-gap"
136
+ );
137
+ var paddingYUsingLayoutGroupGap = (0, import_clsx.default)(
138
+ "py-mobile-layout-group-gap desktop:py-desktop-layout-group-gap compact:py-desktop-compact-layout-group-gap"
139
+ );
140
+ var componentPadding = (0, import_clsx.default)(
141
+ "p-mobile-component-padding desktop:p-desktop-component-padding compact:p-desktop-compact-component-padding"
142
+ );
143
+ var componentPaddingBottom = (0, import_clsx.default)(
144
+ "pb-mobile-component-padding desktop:pb-desktop-component-padding compact:pb-desktop-compact-component-padding"
145
+ );
146
+ var componentPaddingY = (0, import_clsx.default)(
147
+ "py-mobile-component-padding desktop:py-desktop-component-padding compact:py-desktop-compact-component-padding"
148
+ );
149
+ var componentPaddingXUsingComponentGap = (0, import_clsx.default)(
150
+ "px-mobile-component-gap desktop:px-desktop-component-gap compact:px-desktop-compact-component-gap"
151
+ );
152
+ var componentPaddingYUsingComponentGap = (0, import_clsx.default)(
153
+ "py-mobile-component-gap desktop:py-desktop-component-gap compact:py-desktop-compact-component-gap"
154
+ );
155
+ var componentPaddingMinusBorder = (0, import_clsx.default)(
156
+ "p-[calc(var(--spacing-mobile-component-padding)_-_1px)] desktop:p-[calc(var(--spacing-desktop-component-padding)_-_1px)] compact:p-[calc(var(--spacing-desktop-compact-component-padding)_-_1px)]"
157
+ );
158
+ var componentPaddingMinus2pxBorder = (0, import_clsx.default)(
159
+ "p-[calc(var(--spacing-mobile-component-padding)_-_2px)] desktop:p-[calc(var(--spacing-desktop-component-padding)_-_2px)] compact:p-[calc(var(--spacing-desktop-compact-component-padding)_-_2px)]"
160
+ );
161
+ var layoutPaddingBottom = (0, import_clsx.default)(
162
+ "pb-mobile-layout-padding desktop:pb-desktop-layout-padding compact:pb-desktop-compact-layout-padding"
163
+ );
164
+ var layoutPaddingY = (0, import_clsx.default)(
165
+ "py-mobile-layout-padding desktop:py-desktop-layout-padding compact:py-desktop-compact-layout-padding"
166
+ );
167
+ var containerPaddingX = (0, import_clsx.default)(
168
+ "px-mobile-container-padding desktop:px-desktop-container-padding compact:px-desktop-compact-container-padding"
169
+ );
170
+ var containerPaddingY = (0, import_clsx.default)(
171
+ "py-mobile-container-padding desktop:py-desktop-container-padding compact:py-desktop-compact-container-padding"
172
+ );
173
+ var layoutGroupGapPaddingY = (0, import_clsx.default)(
174
+ "py-mobile-layout-group-gap desktop:py-desktop-layout-group-gap compact:py-desktop-compact-layout-group-gap"
175
+ );
176
+ var layoutGroupGap = (0, import_clsx.default)(
177
+ "gap-mobile-layout-group-gap desktop:gap-desktop-layout-group-gap compact:gap-desktop-compact-layout-group-gap"
178
+ );
179
+ var layoutGap = (0, import_clsx.default)(
180
+ "gap-mobile-layout-gap desktop:gap-desktop-layout-gap compact:gap-desktop-compact-layout-gap"
181
+ );
182
+ var gapUsingContainerPadding = (0, import_clsx.default)(
183
+ "gap-mobile-container-padding desktop:gap-desktop-container-padding compact:gap-desktop-compact-container-padding"
184
+ );
185
+
186
+ // src/components/Icon.tsx
187
+ var import_clsx2 = __toESM(require("clsx"), 1);
188
+ var import_jsx_runtime = require("react/jsx-runtime");
189
+ function Icon(_a) {
190
+ var _b = _a, {
191
+ name,
192
+ size = 24,
193
+ variant = "outline"
194
+ } = _b, props = __objRest(_b, [
195
+ "name",
196
+ "size",
197
+ "variant"
198
+ ]);
199
+ const variantStyle = variant === "filled" ? '"FILL" 1' : '"FILL" 0';
200
+ const weightStyle = size === 16 ? '"wght" 400' : '"wght" 300';
201
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
202
+ "span",
203
+ __spreadProps(__spreadValues({}, props), {
204
+ className: (0, import_clsx2.default)(
205
+ "icon",
206
+ `icon-${size}`,
207
+ // size === 16 ? "font-normal" : "font-light", // size 16 font weight is not working as normal from before
208
+ props.className
209
+ ),
210
+ style: __spreadValues({
211
+ fontVariationSettings: variantStyle + `, ${weightStyle}`
212
+ }, props.style),
213
+ children: name
214
+ })
215
+ );
216
+ }
217
+
218
+ // src/components/CalendarRange.tsx
219
+ var import_react = __toESM(require("react"), 1);
220
+ var import_polyfill = require("@js-temporal/polyfill");
221
+ var import_jsx_runtime2 = require("react/jsx-runtime");
222
+ function isWeekend(date) {
223
+ return date.dayOfWeek === 6 || date.dayOfWeek === 7;
224
+ }
225
+ function DateCell(_a) {
226
+ var _b = _a, {
227
+ date,
228
+ isInMonth,
229
+ isToday,
230
+ isSelected,
231
+ inRange,
232
+ isDisabled,
233
+ isRangeStart,
234
+ isRangeEnd,
235
+ onClick,
236
+ onMouseEnter,
237
+ onMouseLeave,
238
+ cellPadding = "",
239
+ isRangeDisabled = false
240
+ } = _b, props = __objRest(_b, [
241
+ "date",
242
+ "isInMonth",
243
+ "isToday",
244
+ "isSelected",
245
+ "inRange",
246
+ "isDisabled",
247
+ "isRangeStart",
248
+ "isRangeEnd",
249
+ "onClick",
250
+ "onMouseEnter",
251
+ "onMouseLeave",
252
+ "cellPadding",
253
+ "isRangeDisabled"
254
+ ]);
255
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
256
+ "span",
257
+ __spreadProps(__spreadValues({}, props), {
258
+ className: (0, import_clsx3.default)(
259
+ "flex items-center justify-center aspect-square select-none transition-colors border duration-100 font-medium",
260
+ typography.caption,
261
+ cellPadding,
262
+ !isToday && !isSelected && !inRange && !isDisabled && !isRangeStart && !isRangeEnd && "border-transparent",
263
+ !isInMonth && "border-transparent",
264
+ // Today: subtle border ring
265
+ isToday && !isSelected && !inRange && "rounded-full border-border-primary-normal ",
266
+ // Selected: Figma blue, white text, strong shadow
267
+ isSelected && "bg-action-400 text-white border-action-400 z-10",
268
+ !isSelected && !inRange && "rounded-base",
269
+ // When range is disabled OR when only 'from' is selected (no range yet), apply rounded corners
270
+ (isRangeDisabled || !inRange && isSelected) && "rounded-base",
271
+ inRange && isSelected && "hover:border-action-500",
272
+ // In range: Figma light blue background
273
+ inRange && !isSelected && "bg-action-100 text-text-primary-normal border-y-action-400 border-x-0 ",
274
+ // Disabled: Figma gray, no pointer, no hover
275
+ isDisabled && !inRange ? "text-text-primary-disabled bg-transparent pointer-events-none opacity-40 border-transparent" : [
276
+ "text-text-primary-normal cursor-pointer",
277
+ // Figma hover: blue bg, blue text (or red text if selected)
278
+ isSelected ? "hover:bg-background-action-primary-hover hover:text-white" : "hover:bg-action-100 hover:text-text-action-primary-hover",
279
+ // Figma active: darker blue bg, white text
280
+ "active:bg-action-300 active:text-white",
281
+ // Figma focus: ring
282
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-action-400"
283
+ ],
284
+ isRangeStart && "rounded-l",
285
+ isRangeEnd && "rounded-r"
286
+ ),
287
+ tabIndex: isDisabled ? -1 : 0,
288
+ "aria-disabled": isDisabled,
289
+ onClick: () => !isDisabled && isInMonth && onClick(),
290
+ onMouseEnter: () => isInMonth && onMouseEnter(),
291
+ onMouseLeave: () => isInMonth && onMouseLeave(),
292
+ children: isInMonth ? date.day : ""
293
+ })
294
+ );
295
+ }
296
+ function CalendarRange({
297
+ from,
298
+ to,
299
+ onChange,
300
+ isDateAvailable,
301
+ mode = "double",
302
+ cardStyle = false,
303
+ disableRange = false
304
+ }) {
305
+ const weekDays = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
306
+ const parseDate = (d) => {
307
+ if (!d) return void 0;
308
+ if (typeof d === "number")
309
+ return import_polyfill.Temporal.PlainDate.from(new Date(d).toISOString().slice(0, 10));
310
+ if (typeof d === "string") return import_polyfill.Temporal.PlainDate.from(d);
311
+ return void 0;
312
+ };
313
+ const fromDate = parseDate(from);
314
+ const toDate = parseDate(to);
315
+ const today = import_polyfill.Temporal.Now.plainDateISO();
316
+ const [baseMonth, setBaseMonth] = (0, import_react.useState)(
317
+ fromDate != null ? fromDate : today.with({ day: 1 })
318
+ );
319
+ const [selecting, setSelecting] = (0, import_react.useState)("from");
320
+ const [pendingFrom, setPendingFrom] = (0, import_react.useState)(void 0);
321
+ const [hoveredDate, setHoveredDate] = (0, import_react.useState)(void 0);
322
+ function getMonthData(monthOffset) {
323
+ const monthDate = baseMonth.add({ months: monthOffset }).with({ day: 1 });
324
+ const days = monthDate.daysInMonth;
325
+ const firstDayOffset = monthDate.dayOfWeek % 7;
326
+ return {
327
+ name: monthDate.toLocaleString("en-US", { month: "long" }),
328
+ year: monthDate.year,
329
+ days,
330
+ firstDayOffset,
331
+ date: monthDate
332
+ };
333
+ }
334
+ function handleDayClick(date) {
335
+ if (isDateAvailable && !isDateAvailable(date)) return;
336
+ if (mode === "single" && disableRange) {
337
+ if (onChange) {
338
+ onChange(date.toString(), date.toString());
339
+ }
340
+ return;
341
+ }
342
+ if (selecting === "from") {
343
+ setPendingFrom(date);
344
+ setSelecting("to");
345
+ setHoveredDate(void 0);
346
+ } else if (pendingFrom) {
347
+ if (onChange) {
348
+ const [start, end] = import_polyfill.Temporal.PlainDate.compare(date, pendingFrom) < 0 ? [date, pendingFrom] : [pendingFrom, date];
349
+ onChange(start.toString(), end.toString());
350
+ }
351
+ setPendingFrom(void 0);
352
+ setSelecting("from");
353
+ setHoveredDate(void 0);
354
+ }
355
+ }
356
+ function isInRange(date) {
357
+ if (mode === "single" && disableRange) {
358
+ return false;
359
+ }
360
+ if (pendingFrom && selecting === "to" && hoveredDate) {
361
+ const [start, end] = import_polyfill.Temporal.PlainDate.compare(hoveredDate, pendingFrom) < 0 ? [hoveredDate, pendingFrom] : [pendingFrom, hoveredDate];
362
+ return import_polyfill.Temporal.PlainDate.compare(date, start) >= 0 && import_polyfill.Temporal.PlainDate.compare(date, end) <= 0;
363
+ }
364
+ if (!pendingFrom && fromDate && toDate) {
365
+ return import_polyfill.Temporal.PlainDate.compare(date, fromDate) >= 0 && import_polyfill.Temporal.PlainDate.compare(date, toDate) <= 0;
366
+ }
367
+ return false;
368
+ }
369
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
370
+ "div",
371
+ {
372
+ className: (0, import_clsx3.default)(
373
+ "relative bg-background-grouped-primary-normal rounded-base w-fit",
374
+ componentPadding,
375
+ componentGap,
376
+ cardStyle && "shadow-4",
377
+ // baseTransition,
378
+ "overflow-hidden"
379
+ ),
380
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
381
+ "div",
382
+ {
383
+ className: (0, import_clsx3.default)(
384
+ "flex flex-row items-start justify-start bg-background-primary-normal overflow-clip",
385
+ componentGap,
386
+ paddingUsingComponentGap
387
+ ),
388
+ children: (mode === "double" ? [0, 1] : [0]).map((offset, idx) => {
389
+ const month = getMonthData(offset);
390
+ const totalCells = 42;
391
+ const emptyCells = month.firstDayOffset;
392
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react.default.Fragment, { children: [
393
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
394
+ "div",
395
+ {
396
+ className: (0, import_clsx3.default)(
397
+ "flex flex-col",
398
+ componentGap,
399
+ componentPadding
400
+ ),
401
+ children: [
402
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
403
+ "div",
404
+ {
405
+ className: (0, import_clsx3.default)(
406
+ "flex flex-row items-center justify-between",
407
+ componentGap,
408
+ componentPaddingXUsingComponentGap,
409
+ componentPaddingYUsingComponentGap,
410
+ "mb-3",
411
+ typography.label,
412
+ "text-text-action-primary-normal"
413
+ ),
414
+ children: [
415
+ idx === 0 ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
416
+ "button",
417
+ {
418
+ type: "button",
419
+ className: (0, import_clsx3.default)(
420
+ "flex items-center justify-center rounded-base hover:bg-action-100 active:bg-action-300 text-icon-primary-normal",
421
+ componentPadding,
422
+ "mr-1"
423
+ ),
424
+ "aria-label": "Previous month",
425
+ onClick: () => setBaseMonth(baseMonth.subtract({ months: 1 })),
426
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { name: "chevron_left", size: 24 })
427
+ }
428
+ ) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: (0, import_clsx3.default)(componentPadding, "mr-1") }),
429
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex gap-desktop-compact-component-padding", children: [
430
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "font-semibold text-text-action-primary-normal text-[14px] leading-[1] truncate", children: month.name }),
431
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "font-semibold text-text-action-primary-normal text-[14px] leading-[1] px-1 truncate", children: month.year })
432
+ ] }),
433
+ (mode === "double" ? idx === 1 : true) ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
434
+ "button",
435
+ {
436
+ type: "button",
437
+ className: (0, import_clsx3.default)(
438
+ "flex items-center justify-center rounded-base hover:bg-action-100 active:bg-action-300 text-icon-primary-normal",
439
+ componentPadding,
440
+ "ml-1"
441
+ ),
442
+ "aria-label": "Next month",
443
+ onClick: () => setBaseMonth(baseMonth.add({ months: 1 })),
444
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { name: "chevron_right", size: 24 })
445
+ }
446
+ ) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: (0, import_clsx3.default)(componentPadding, "ml-1") })
447
+ ]
448
+ }
449
+ ),
450
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: (0, import_clsx3.default)("grid grid-cols-7 mb-1", componentGap), children: weekDays.map((d) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
451
+ "span",
452
+ {
453
+ className: (0, import_clsx3.default)(
454
+ typography.caption,
455
+ "text-text-secondary-normal text-center"
456
+ ),
457
+ children: d
458
+ },
459
+ d
460
+ )) }),
461
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: (0, import_clsx3.default)("grid grid-cols-7"), children: Array.from({ length: totalCells }).map((_, i) => {
462
+ const day = i - emptyCells + 1;
463
+ const date = month.date.with({ day: 1 }).add({
464
+ days: i - emptyCells
465
+ });
466
+ const isInMonth = day > 0 && day <= month.days;
467
+ const isToday = isInMonth && date.equals(today);
468
+ const isSelected = isInMonth && (!pendingFrom && fromDate && date.equals(fromDate) || !pendingFrom && toDate && date.equals(toDate) || pendingFrom && date.equals(pendingFrom));
469
+ const inRange = isInMonth && isInRange(date);
470
+ const isDisabled = !isInMonth || (isDateAvailable ? !isDateAvailable(date) : false);
471
+ const hoverDateIsBeforePendingFrom = hoveredDate && pendingFrom && import_polyfill.Temporal.PlainDate.compare(hoveredDate, pendingFrom) < 0;
472
+ const hoverDateIsAfterPendingFrom = hoveredDate && pendingFrom && import_polyfill.Temporal.PlainDate.compare(hoveredDate, pendingFrom) >= 0;
473
+ const isRangeStart = mode === "single" && disableRange ? false : !pendingFrom && isInMonth && fromDate && date.equals(fromDate) || hoverDateIsAfterPendingFrom && date.equals(pendingFrom);
474
+ const isRangeEnd = mode === "single" && disableRange ? false : !pendingFrom && isInMonth && toDate && date.equals(toDate) || hoverDateIsBeforePendingFrom && date.equals(pendingFrom);
475
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
476
+ DateCell,
477
+ {
478
+ date,
479
+ isInMonth: !!isInMonth,
480
+ isToday: !!isToday,
481
+ isSelected: !!isSelected,
482
+ inRange: !!inRange,
483
+ isDisabled: !!isDisabled,
484
+ onClick: () => handleDayClick(date),
485
+ onMouseEnter: () => setHoveredDate(date),
486
+ onMouseLeave: () => setHoveredDate(void 0),
487
+ isRangeStart: !!isRangeStart,
488
+ isRangeEnd: !!isRangeEnd,
489
+ isRangeDisabled: mode === "single" && disableRange,
490
+ cellPadding: "p-1.5 md:p-2 lg:p-2.5"
491
+ },
492
+ i
493
+ );
494
+ }) })
495
+ ]
496
+ }
497
+ ),
498
+ mode === "double" && idx === 0 && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
499
+ "div",
500
+ {
501
+ className: (0, import_clsx3.default)(
502
+ "self-stretch bg-border-primary-normal rounded-base mx-mobile-component-padding desktop:mx-desktop-component-padding compact:mx-desktop-compact-component-padding",
503
+ // 1px width, full height, matches Figma divider
504
+ "w-px"
505
+ )
506
+ }
507
+ )
508
+ ] }, month.name + month.year);
509
+ })
510
+ }
511
+ )
512
+ }
513
+ );
514
+ }
515
+ var CalendarRange_default = CalendarRange;
516
+ // Annotate the CommonJS export names for ESM import in node:
517
+ 0 && (module.exports = {
518
+ CalendarRange,
519
+ isWeekend
520
+ });
@@ -0,0 +1,13 @@
1
+ import {
2
+ CalendarRange,
3
+ CalendarRange_default,
4
+ isWeekend
5
+ } from "../chunk-FY7PTP6E.js";
6
+ import "../chunk-IGQVA7SC.js";
7
+ import "../chunk-KX3O6GJ6.js";
8
+ import "../chunk-ORMEWXMH.js";
9
+ export {
10
+ CalendarRange,
11
+ CalendarRange_default as default,
12
+ isWeekend
13
+ };