@arc-ui/components 11.16.0 → 11.18.0

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 (230) hide show
  1. package/dist/Calendar/Calendar.cjs.js +21 -0
  2. package/dist/Calendar/Calendar.esm.js +13 -0
  3. package/dist/Calendar/package.json +7 -0
  4. package/dist/Checkbox/Checkbox.cjs.js +3 -2
  5. package/dist/Checkbox/Checkbox.esm.js +3 -2
  6. package/dist/DatePicker/DatePicker.cjs.js +565 -0
  7. package/dist/DatePicker/DatePicker.esm.js +552 -0
  8. package/dist/DatePicker/package.json +7 -0
  9. package/dist/FormControl/FormControl.cjs.js +2 -1
  10. package/dist/FormControl/FormControl.esm.js +2 -1
  11. package/dist/InformationCard/InformationCard.cjs.js +10 -9
  12. package/dist/InformationCard/InformationCard.esm.js +8 -7
  13. package/dist/MediaCard/MediaCard.cjs.js +56 -0
  14. package/dist/MediaCard/MediaCard.esm.js +48 -0
  15. package/dist/MediaCard/package.json +7 -0
  16. package/dist/Modal/Modal.cjs.js +13 -286
  17. package/dist/Modal/Modal.esm.js +6 -279
  18. package/dist/RadioGroup/RadioGroup.cjs.js +3 -2
  19. package/dist/RadioGroup/RadioGroup.esm.js +3 -2
  20. package/dist/Select/Select.cjs.js +31 -2705
  21. package/dist/Select/Select.esm.js +13 -2668
  22. package/dist/SiteFooter/SiteFooter.cjs.js +2 -2
  23. package/dist/SiteFooter/SiteFooter.esm.js +3 -3
  24. package/dist/SiteHeader/SiteHeader.cjs.js +2 -2
  25. package/dist/SiteHeader/SiteHeader.esm.js +2 -2
  26. package/dist/SiteHeaderV2/SiteHeaderV2.cjs.js +23 -0
  27. package/dist/SiteHeaderV2/SiteHeaderV2.esm.js +15 -0
  28. package/dist/SiteHeaderV2/package.json +7 -0
  29. package/dist/Switch/Switch.cjs.js +4 -3
  30. package/dist/Switch/Switch.esm.js +4 -3
  31. package/dist/Tabs/Tabs.cjs.js +5 -5
  32. package/dist/Tabs/Tabs.esm.js +5 -5
  33. package/dist/TextArea/TextArea.cjs.js +20 -20
  34. package/dist/TextArea/TextArea.esm.js +20 -20
  35. package/dist/TextInput/TextInput.cjs.js +3 -2
  36. package/dist/TextInput/TextInput.esm.js +3 -2
  37. package/dist/Toast/Toast.cjs.js +6 -7
  38. package/dist/Toast/Toast.esm.js +6 -7
  39. package/dist/TypographyCard/TypographyCard.cjs.js +13 -70
  40. package/dist/TypographyCard/TypographyCard.esm.js +14 -71
  41. package/dist/_shared/cjs/Calendar-18e255f8.js +4106 -0
  42. package/dist/_shared/cjs/CardFooter-43c32239.js +80 -0
  43. package/dist/_shared/cjs/CardLabel-768abf20.js +54 -0
  44. package/dist/_shared/cjs/{Checkbox-904ad028.js → Checkbox-4d4b432f.js} +1 -1
  45. package/dist/_shared/cjs/{index-3d69ea00.js → Combination-9974f2e2.js} +662 -145
  46. package/dist/_shared/cjs/{FormControl-166e0957.js → FormControl-b26ad353.js} +8 -5
  47. package/dist/_shared/cjs/{RadioGroup-1eddf86f.js → RadioGroup-23c964ae.js} +1 -1
  48. package/dist/_shared/cjs/{SiteFooter-97c27b29.js → SiteFooter-65b6360c.js} +2 -2
  49. package/dist/_shared/cjs/{SiteHeader.rehydrator-af3dddef.js → SiteHeader.rehydrator-df053a52.js} +8 -8
  50. package/dist/_shared/cjs/SiteHeaderV2-79930632.js +663 -0
  51. package/dist/_shared/cjs/{Tabs-cc77dabb.js → Tabs-34db6bc1.js} +4 -4
  52. package/dist/_shared/cjs/{TextInput-fd9c756f.js → TextInput-d0370fa8.js} +19 -6
  53. package/dist/_shared/cjs/{Toast-91e96744.js → Toast-392b1d60.js} +292 -34
  54. package/dist/_shared/cjs/{index-84e6a68f.js → index-6eb396a3.js} +1 -1
  55. package/dist/_shared/cjs/{index-6542b467.js → index-74004a9c.js} +1 -1
  56. package/dist/_shared/cjs/index-77ab5c6a.js +2180 -0
  57. package/dist/_shared/cjs/{index-d31f2b65.js → index-9f99d686.js} +1 -1
  58. package/dist/_shared/cjs/{index-1641d0b4.js → index-a31e64a9.js} +1 -1
  59. package/dist/_shared/cjs/{index-49c72a87.js → index-d38f1bd0.js} +1 -1
  60. package/dist/_shared/esm/Calendar-4033fa48.js +4093 -0
  61. package/dist/_shared/esm/CardFooter-dd8d4000.js +74 -0
  62. package/dist/_shared/esm/CardLabel-d6d71407.js +46 -0
  63. package/dist/_shared/esm/{Checkbox-8a5bb9a1.js → Checkbox-720b074d.js} +1 -1
  64. package/dist/_shared/esm/{index-3e2bc99d.js → Combination-e9f7e64e.js} +643 -132
  65. package/dist/_shared/esm/{FormControl-9d4ddfec.js → FormControl-f0b8fe91.js} +8 -5
  66. package/dist/_shared/esm/{RadioGroup-238db88d.js → RadioGroup-37fdb06b.js} +1 -1
  67. package/dist/_shared/esm/{SiteFooter-94316b8b.js → SiteFooter-38ee1536.js} +1 -1
  68. package/dist/_shared/esm/{SiteHeader.rehydrator-1b507253.js → SiteHeader.rehydrator-32bdcd88.js} +2 -2
  69. package/dist/_shared/esm/SiteHeaderV2-9e7e7d3b.js +657 -0
  70. package/dist/_shared/esm/{Tabs-8719d952.js → Tabs-df9965dd.js} +4 -4
  71. package/dist/_shared/esm/{TextInput-c1e2a1dd.js → TextInput-abbab56b.js} +19 -6
  72. package/dist/_shared/esm/{Toast-7cb1e544.js → Toast-5d66e13f.js} +264 -7
  73. package/dist/_shared/esm/{index-39019a9b.js → index-044da8d0.js} +1 -1
  74. package/dist/_shared/esm/{index-6b7b075c.js → index-25a5b393.js} +1 -1
  75. package/dist/_shared/esm/{index-246b4f18.js → index-2cfab9f2.js} +1 -1
  76. package/dist/_shared/esm/{index-12f3a407.js → index-7b531fa7.js} +68 -68
  77. package/dist/_shared/esm/index-b84a20c6.js +2155 -0
  78. package/dist/_shared/esm/{index-db47e95a.js → index-ca72c9d5.js} +1 -1
  79. package/dist/_shared/esm/{index-936b5179.js → index-efa9be1a.js} +1 -1
  80. package/dist/_shared/esm/{index.es-c552c0ea.js → use-media-query-4c807227.js} +9 -9
  81. package/dist/index.es.js +1188 -791
  82. package/dist/index.es.js.map +1 -1
  83. package/dist/index.js +1189 -791
  84. package/dist/index.js.map +1 -1
  85. package/dist/styles.css +4 -4
  86. package/dist/types/components/Calendar/Calendar.d.ts +49 -0
  87. package/dist/types/components/Calendar/Calendar.provider.d.ts +21 -0
  88. package/dist/types/components/Calendar/components/CalendarDateSelect/CalendarDateSelect.d.ts +15 -0
  89. package/dist/types/components/Calendar/components/CalendarDateSelect/index.d.ts +1 -0
  90. package/dist/types/components/Calendar/components/CalendarDayGrid/CalendarDayGrid.d.ts +6 -0
  91. package/dist/types/components/Calendar/components/CalendarDayGrid/index.d.ts +1 -0
  92. package/dist/types/components/Calendar/components/CalendarDayNumber/CalendarDayNumber.d.ts +8 -0
  93. package/dist/types/components/Calendar/components/CalendarDayNumber/index.d.ts +1 -0
  94. package/dist/types/components/Calendar/components/CalendarDoubleMonthView/CalendarDoubleMonthView.d.ts +9 -0
  95. package/dist/types/components/Calendar/components/CalendarDoubleMonthView/index.d.ts +1 -0
  96. package/dist/types/components/Calendar/components/CalendarFooter/CalendarFooter.d.ts +6 -0
  97. package/dist/types/components/Calendar/components/CalendarFooter/index.d.ts +1 -0
  98. package/dist/types/components/Calendar/components/CalendarMonthView/CalendarMonthView.d.ts +9 -0
  99. package/dist/types/components/Calendar/components/CalendarMonthView/index.d.ts +1 -0
  100. package/dist/types/components/Calendar/components/CalendarMonthYearView/CalendarMonthYearView.d.ts +11 -0
  101. package/dist/types/components/Calendar/components/CalendarMonthYearView/index.d.ts +1 -0
  102. package/dist/types/components/Calendar/components/CalendarNavButton/CalendarNavButton.d.ts +10 -0
  103. package/dist/types/components/Calendar/components/CalendarNavButton/index.d.ts +1 -0
  104. package/dist/types/components/Calendar/components/CalendarWrapper/CalendarWrapper.d.ts +5 -0
  105. package/dist/types/components/Calendar/components/CalendarWrapper/index.d.ts +1 -0
  106. package/dist/types/components/Calendar/components/index.d.ts +6 -0
  107. package/dist/types/components/Calendar/constants/day-names.d.ts +5 -0
  108. package/dist/types/components/Calendar/constants/index.d.ts +1 -0
  109. package/dist/types/components/Calendar/helpers/contains-date.d.ts +1 -0
  110. package/dist/types/components/Calendar/helpers/contains-date.test.d.ts +1 -0
  111. package/dist/types/components/Calendar/helpers/date-without-time.d.ts +1 -0
  112. package/dist/types/components/Calendar/helpers/date-without-time.test.d.ts +1 -0
  113. package/dist/types/components/Calendar/helpers/get-calendar-type.d.ts +2 -0
  114. package/dist/types/components/Calendar/helpers/get-calendar-type.test.d.ts +1 -0
  115. package/dist/types/components/Calendar/helpers/get-dates-in-month.d.ts +1 -0
  116. package/dist/types/components/Calendar/helpers/get-dates-in-month.test.d.ts +1 -0
  117. package/dist/types/components/Calendar/helpers/get-double-month-display-range.d.ts +1 -0
  118. package/dist/types/components/Calendar/helpers/get-double-month-display-range.test.d.ts +1 -0
  119. package/dist/types/components/Calendar/helpers/get-focus-date.d.ts +5 -0
  120. package/dist/types/components/Calendar/helpers/get-focus-date.test.d.ts +1 -0
  121. package/dist/types/components/Calendar/helpers/get-highlighted-range.d.ts +6 -0
  122. package/dist/types/components/Calendar/helpers/get-highlighted-range.test.d.ts +1 -0
  123. package/dist/types/components/Calendar/helpers/get-keydown-date.d.ts +6 -0
  124. package/dist/types/components/Calendar/helpers/get-keydown-date.test.d.ts +1 -0
  125. package/dist/types/components/Calendar/helpers/index.d.ts +13 -0
  126. package/dist/types/components/Calendar/helpers/is-day.d.ts +2 -0
  127. package/dist/types/components/Calendar/helpers/is-day.test.d.ts +1 -0
  128. package/dist/types/components/Calendar/helpers/is-disabled-date.d.ts +1 -0
  129. package/dist/types/components/Calendar/helpers/is-disabled-date.test.d.ts +1 -0
  130. package/dist/types/components/Calendar/helpers/is-month-after-max-date.d.ts +1 -0
  131. package/dist/types/components/Calendar/helpers/is-month-after-max-date.test.d.ts +1 -0
  132. package/dist/types/components/Calendar/helpers/is-month-before-min-date.d.ts +1 -0
  133. package/dist/types/components/Calendar/helpers/is-month-before-min-date.test.d.ts +1 -0
  134. package/dist/types/components/Calendar/helpers/process-selected-range.d.ts +9 -0
  135. package/dist/types/components/Calendar/helpers/process-selected-range.test.d.ts +1 -0
  136. package/dist/types/components/Calendar/index.d.ts +2 -0
  137. package/dist/types/components/Calendar/state/handlers/calendar-keydown-handler.d.ts +3 -0
  138. package/dist/types/components/Calendar/state/handlers/day-grid-leave-handler.d.ts +3 -0
  139. package/dist/types/components/Calendar/state/handlers/day-number-select-handler.d.ts +3 -0
  140. package/dist/types/components/Calendar/state/handlers/default-handler.d.ts +2 -0
  141. package/dist/types/components/Calendar/state/handlers/dropdown-change-month-handler.d.ts +3 -0
  142. package/dist/types/components/Calendar/state/handlers/dropdown-change-year-handler.d.ts +3 -0
  143. package/dist/types/components/Calendar/state/handlers/highlight-range-handler.d.ts +3 -0
  144. package/dist/types/components/Calendar/state/handlers/index.d.ts +12 -0
  145. package/dist/types/components/Calendar/state/handlers/range-select-handler.d.ts +3 -0
  146. package/dist/types/components/Calendar/state/handlers/show-next-double-month-handler.d.ts +3 -0
  147. package/dist/types/components/Calendar/state/handlers/show-next-month-handler.d.ts +3 -0
  148. package/dist/types/components/Calendar/state/handlers/show-previous-double-month-handler.d.ts +3 -0
  149. package/dist/types/components/Calendar/state/handlers/show-previous-month-handler.d.ts +3 -0
  150. package/dist/types/components/Calendar/state/index.d.ts +2 -0
  151. package/dist/types/components/Calendar/state/reducer.d.ts +3 -0
  152. package/dist/types/components/Calendar/state/reducer.test.d.ts +1 -0
  153. package/dist/types/components/Calendar/state/types/actions.d.ts +81 -0
  154. package/dist/types/components/Calendar/state/types/state-handler.d.ts +3 -0
  155. package/dist/types/components/Calendar/state/types/state.d.ts +5 -0
  156. package/dist/types/components/Calendar/types/calendar-type.d.ts +1 -0
  157. package/dist/types/components/Calendar/types/date-select-value.d.ts +2 -0
  158. package/dist/types/components/Calendar/types/index.d.ts +6 -0
  159. package/dist/types/components/Calendar/types/key-names.d.ts +13 -0
  160. package/dist/types/components/Calendar/types/range-selection.d.ts +10 -0
  161. package/dist/types/components/Calendar/types/selection-type.d.ts +1 -0
  162. package/dist/types/components/Calendar/types/week-days.d.ts +18 -0
  163. package/dist/types/components/DatePicker/DatePicker.d.ts +17 -0
  164. package/dist/types/components/DatePicker/constants/date-format.d.ts +1 -0
  165. package/dist/types/components/DatePicker/constants/index.d.ts +1 -0
  166. package/dist/types/components/DatePicker/helpers/convert-date-string-to-date.d.ts +1 -0
  167. package/dist/types/components/DatePicker/helpers/convert-date-string-to-date.test.d.ts +1 -0
  168. package/dist/types/components/DatePicker/helpers/convert-range-string-to-dates.d.ts +1 -0
  169. package/dist/types/components/DatePicker/helpers/convert-range-string-to-dates.test.d.ts +1 -0
  170. package/dist/types/components/DatePicker/helpers/format-date.d.ts +1 -0
  171. package/dist/types/components/DatePicker/helpers/format-date.test.d.ts +1 -0
  172. package/dist/types/components/DatePicker/helpers/index.d.ts +8 -0
  173. package/dist/types/components/DatePicker/helpers/is-date-valid.d.ts +1 -0
  174. package/dist/types/components/DatePicker/helpers/is-date-valid.test.d.ts +1 -0
  175. package/dist/types/components/DatePicker/helpers/is-disabled-date.d.ts +1 -0
  176. package/dist/types/components/DatePicker/helpers/is-disabled-date.test.d.ts +1 -0
  177. package/dist/types/components/DatePicker/helpers/is-range-valid.d.ts +1 -0
  178. package/dist/types/components/DatePicker/helpers/is-range-valid.test.d.ts +1 -0
  179. package/dist/types/components/DatePicker/helpers/parse-date-string.d.ts +5 -0
  180. package/dist/types/components/DatePicker/helpers/parse-date-string.test.d.ts +1 -0
  181. package/dist/types/components/DatePicker/helpers/parse-range-string.d.ts +14 -0
  182. package/dist/types/components/DatePicker/helpers/parse-range-string.test.d.ts +1 -0
  183. package/dist/types/components/DatePicker/index.d.ts +6 -0
  184. package/dist/types/components/FormControl/FormControl.d.ts +4 -0
  185. package/dist/types/components/RadioGroup/RadioGroup.d.ts +1 -1
  186. package/dist/types/components/SiteHeaderV2/SiteHeaderV2.d.ts +77 -0
  187. package/dist/types/components/SiteHeaderV2/components/BackButton/BackButton.d.ts +6 -0
  188. package/dist/types/components/SiteHeaderV2/components/BackButton/index.d.ts +1 -0
  189. package/dist/types/components/SiteHeaderV2/components/Column/Column.d.ts +8 -0
  190. package/dist/types/components/SiteHeaderV2/components/Column/index.d.ts +1 -0
  191. package/dist/types/components/SiteHeaderV2/components/HorizontalPanel/HorizontalPanel.d.ts +13 -0
  192. package/dist/types/components/SiteHeaderV2/components/HorizontalPanel/index.d.ts +1 -0
  193. package/dist/types/components/SiteHeaderV2/components/Item/Item.d.ts +20 -0
  194. package/dist/types/components/SiteHeaderV2/components/Item/index.d.ts +1 -0
  195. package/dist/types/components/SiteHeaderV2/components/ItemGroup/ItemGroup.d.ts +27 -0
  196. package/dist/types/components/SiteHeaderV2/components/ItemGroup/index.d.ts +1 -0
  197. package/dist/types/components/SiteHeaderV2/components/MenuButton/MenuButton.d.ts +6 -0
  198. package/dist/types/components/SiteHeaderV2/components/MenuButton/index.d.ts +1 -0
  199. package/dist/types/components/SiteHeaderV2/components/NavItem/NavItem.d.ts +41 -0
  200. package/dist/types/components/SiteHeaderV2/components/NavItem/NavItemWithSubNav.d.ts +56 -0
  201. package/dist/types/components/SiteHeaderV2/components/NavItem/index.d.ts +2 -0
  202. package/dist/types/components/SiteHeaderV2/components/NodeItem/NodeItem.d.ts +8 -0
  203. package/dist/types/components/SiteHeaderV2/components/Panel/Panel.d.ts +28 -0
  204. package/dist/types/components/SiteHeaderV2/components/Panel/index.d.ts +1 -0
  205. package/dist/types/components/SiteHeaderV2/components/SubNavItem/SubNavItem.d.ts +45 -0
  206. package/dist/types/components/SiteHeaderV2/components/SubNavItem/index.d.ts +1 -0
  207. package/dist/types/components/SiteHeaderV2/components/VerticalDivider/VerticalDivider.d.ts +1 -0
  208. package/dist/types/components/SiteHeaderV2/components/VerticalDivider/index.d.ts +1 -0
  209. package/dist/types/components/SiteHeaderV2/index.d.ts +1 -0
  210. package/dist/types/components/TextArea/TextArea.d.ts +4 -0
  211. package/dist/types/components/TextInput/TextInput.d.ts +22 -3
  212. package/dist/types/components/index.d.ts +1 -0
  213. package/dist/types/private-components/CardFooter/CardFooter.d.ts +11 -0
  214. package/dist/types/private-components/CardFooter/index.d.ts +1 -0
  215. package/dist/types/private-components/CardHeading/CardHeading.d.ts +19 -0
  216. package/dist/types/private-components/CardHeading/index.d.ts +1 -0
  217. package/dist/types/private-components/CardLabel/CardLabel.d.ts +10 -0
  218. package/dist/types/private-components/CardLabel/index.d.ts +1 -0
  219. package/dist/types/private-components/index.d.ts +4 -0
  220. package/dist/types/styles.d.ts +6 -0
  221. package/package.json +13 -4
  222. package/dist/_shared/cjs/BtIconArrowRight.esm-8e8ac316.js +0 -30
  223. package/dist/_shared/cjs/index-4ecad2dd.js +0 -273
  224. package/dist/_shared/esm/BtIconArrowRight.esm-267916a4.js +0 -24
  225. package/dist/_shared/esm/index-d0307140.js +0 -264
  226. package/dist/types/internal-components/index.d.ts +0 -1
  227. package/dist/_shared/cjs/{index-56a040f4.js → index-dd1d18ea.js} +66 -66
  228. package/dist/_shared/cjs/{index.es-26dd8c5d.js → use-media-query-e61881d8.js} +8 -8
  229. /package/dist/types/{internal-components → private-components}/ConditionalWrapper/ConditionalWrapper.d.ts +0 -0
  230. /package/dist/types/{internal-components → private-components}/ConditionalWrapper/index.d.ts +0 -0
@@ -0,0 +1,552 @@
1
+ import { r as requiredArgs, t as toDate, i as isValid, f as format, C as Calendar, a as isBefore, b as isAfter, c as compareAsc } from '../_shared/esm/Calendar-4033fa48.js';
2
+ import { b as __spreadArray, _ as __rest, a as __assign } from '../_shared/esm/filter-data-attrs-ea8f4ed4.js';
3
+ import React__default, { useRef, useState, createElement, useCallback, forwardRef, useEffect, useContext } from 'react';
4
+ import { c as classNames } from '../_shared/esm/index-2e73c2e9.js';
5
+ import { _ as _extends } from '../_shared/esm/extends-8cc61aad.js';
6
+ import { $ as $c512c27ab02ef895$export$50c7b4e9d9f19c1, a as $71cd76cc60e0454e$export$6f32135080cb4c3, b as $6ed0406888f73fc4$export$c7b2cbe3552a0d05, c as $5e63c961fc1ce211$export$8c6ed5c666ac1360, d as $e42e1063c40fb3ef$export$b9ecd428b558ff10 } from '../_shared/esm/index-7b531fa7.js';
7
+ import { $ as $f1701beae083dbae$export$602eac185826482c, h as hideOthers, a as $01b9c$RemoveScroll, b as $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c, c as $d3863c46a17e8a28$export$20e40289641fbbb6, d as $5cb92bef7577960e$export$177fb62ff3ec1f22 } from '../_shared/esm/Combination-e9f7e64e.js';
8
+ import { $ as $1746a345f3d73bb7$export$f680877a34711e37 } from '../_shared/esm/index-efa9be1a.js';
9
+ import { $ as $cf1ac5d9fe0e8206$export$722aac194ae923, a as $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9, b as $cf1ac5d9fe0e8206$export$b688253958b8dfe7, c as $cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2 } from '../_shared/esm/index-b84a20c6.js';
10
+ import { $ as $921a889cee6df7e8$export$99c2b779aa4e8b8b } from '../_shared/esm/index-ca72c9d5.js';
11
+ import { A as ArcRootElementContext } from '../_shared/esm/Base-f200653c.js';
12
+ import { T as TextInput } from '../_shared/esm/TextInput-abbab56b.js';
13
+ import '../_shared/esm/use-media-query-4c807227.js';
14
+ import '../_shared/esm/Text-14f586ac.js';
15
+ import '../_shared/esm/suffix-modifier-3d548e45.js';
16
+ import '../_shared/esm/Surface-0ca6817d.js';
17
+ import '../_shared/esm/VisuallyHidden-b9eebf71.js';
18
+ import '../_shared/esm/Heading-d16e0e53.js';
19
+ import '../_shared/esm/BtIconChevronLeftMid.esm-1ed8330b.js';
20
+ import '../_shared/esm/BtIconChevronRightMid.esm-32268f1a.js';
21
+ import '../_shared/esm/Icon-abd0d990.js';
22
+ import 'react-dom';
23
+ import '../_shared/esm/index-2cfab9f2.js';
24
+ import '../_shared/esm/FormControl-f0b8fe91.js';
25
+ import '../_shared/esm/BtIconAlert.esm-a4608d47.js';
26
+ import '../_shared/esm/DisclosureMini-ec17b008.js';
27
+ import '../_shared/esm/BtIconChevronDown2Px.esm-217276c2.js';
28
+
29
+ /**
30
+ * @name startOfDay
31
+ * @category Day Helpers
32
+ * @summary Return the start of a day for the given date.
33
+ *
34
+ * @description
35
+ * Return the start of a day for the given date.
36
+ * The result will be in the local timezone.
37
+ *
38
+ * @param {Date|Number} date - the original date
39
+ * @returns {Date} the start of a day
40
+ * @throws {TypeError} 1 argument required
41
+ *
42
+ * @example
43
+ * // The start of a day for 2 September 2014 11:55:00:
44
+ * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
45
+ * //=> Tue Sep 02 2014 00:00:00
46
+ */
47
+ function startOfDay(dirtyDate) {
48
+ requiredArgs(1, arguments);
49
+ var date = toDate(dirtyDate);
50
+ date.setHours(0, 0, 0, 0);
51
+ return date;
52
+ }
53
+
54
+ /**
55
+ * @name isSameDay
56
+ * @category Day Helpers
57
+ * @summary Are the given dates in the same day (and year and month)?
58
+ *
59
+ * @description
60
+ * Are the given dates in the same day (and year and month)?
61
+ *
62
+ * @param {Date|Number} dateLeft - the first date to check
63
+ * @param {Date|Number} dateRight - the second date to check
64
+ * @returns {Boolean} the dates are in the same day (and year and month)
65
+ * @throws {TypeError} 2 arguments required
66
+ *
67
+ * @example
68
+ * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?
69
+ * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))
70
+ * //=> true
71
+ *
72
+ * @example
73
+ * // Are 4 September and 4 October in the same day?
74
+ * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))
75
+ * //=> false
76
+ *
77
+ * @example
78
+ * // Are 4 September, 2014 and 4 September, 2015 in the same day?
79
+ * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))
80
+ * //=> false
81
+ */
82
+ function isSameDay(dirtyDateLeft, dirtyDateRight) {
83
+ requiredArgs(2, arguments);
84
+ var dateLeftStartOfDay = startOfDay(dirtyDateLeft);
85
+ var dateRightStartOfDay = startOfDay(dirtyDateRight);
86
+ return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();
87
+ }
88
+
89
+ var parseRangeString = function (value) {
90
+ if (value === void 0) { value = ""; }
91
+ var _a = value.replace(/\s/g, "").split("-"), _b = _a[0], start = _b === void 0 ? "" : _b, _c = _a[1], end = _c === void 0 ? "" : _c;
92
+ var _d = start.split("/"), startDay = _d[0], startMonth = _d[1], startYear = _d[2];
93
+ var _e = end.split("/"), endDay = _e[0], endMonth = _e[1], endYear = _e[2];
94
+ return {
95
+ start: {
96
+ date: start,
97
+ day: startDay,
98
+ month: startMonth,
99
+ year: startYear
100
+ },
101
+ end: {
102
+ date: end,
103
+ day: endDay,
104
+ month: endMonth,
105
+ year: endYear
106
+ }
107
+ };
108
+ };
109
+
110
+ var parseDateString = function (value) {
111
+ var _a = value.split("/"), day = _a[0], month = _a[1], year = _a[2];
112
+ return {
113
+ day: day,
114
+ month: month,
115
+ year: year
116
+ };
117
+ };
118
+
119
+ var isDateValid = function (value) {
120
+ if (value === void 0) { value = ""; }
121
+ var _a = value.split("/"), day = _a[0], month = _a[1], year = _a[2];
122
+ return (/^\d{2}\/\d{2}\/\d{4}$/.test(value) &&
123
+ isValid(new Date("".concat(year, "-").concat(month, "-").concat(day))));
124
+ };
125
+
126
+ var isRangeValid = function (value) {
127
+ if (value === void 0) { value = ""; }
128
+ var _a = value.replace(/\s/g, "").split("-"), _b = _a[0], start = _b === void 0 ? "" : _b, _c = _a[1], end = _c === void 0 ? "" : _c;
129
+ return isDateValid(start) && isDateValid(end);
130
+ };
131
+
132
+ var DATE_FORMAT = "dd/MM/yyyy";
133
+
134
+ /* -------------------------------------------------------------------------------------------------
135
+ * Popover
136
+ * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$POPOVER_NAME = 'Popover';
137
+ const [$cb5cc270b50c6fcd$var$createPopoverContext, $cb5cc270b50c6fcd$export$c8393c9e73286932] = $c512c27ab02ef895$export$50c7b4e9d9f19c1($cb5cc270b50c6fcd$var$POPOVER_NAME, [
138
+ $cf1ac5d9fe0e8206$export$722aac194ae923
139
+ ]);
140
+ const $cb5cc270b50c6fcd$var$usePopperScope = $cf1ac5d9fe0e8206$export$722aac194ae923();
141
+ const [$cb5cc270b50c6fcd$var$PopoverProvider, $cb5cc270b50c6fcd$var$usePopoverContext] = $cb5cc270b50c6fcd$var$createPopoverContext($cb5cc270b50c6fcd$var$POPOVER_NAME);
142
+ const $cb5cc270b50c6fcd$export$5b6b19405a83ff9d = (props)=>{
143
+ const { __scopePopover: __scopePopover , children: children , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , modal: modal = false } = props;
144
+ const popperScope = $cb5cc270b50c6fcd$var$usePopperScope(__scopePopover);
145
+ const triggerRef = useRef(null);
146
+ const [hasCustomAnchor, setHasCustomAnchor] = useState(false);
147
+ const [open = false, setOpen] = $71cd76cc60e0454e$export$6f32135080cb4c3({
148
+ prop: openProp,
149
+ defaultProp: defaultOpen,
150
+ onChange: onOpenChange
151
+ });
152
+ return /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9, popperScope, /*#__PURE__*/ createElement($cb5cc270b50c6fcd$var$PopoverProvider, {
153
+ scope: __scopePopover,
154
+ contentId: $1746a345f3d73bb7$export$f680877a34711e37(),
155
+ triggerRef: triggerRef,
156
+ open: open,
157
+ onOpenChange: setOpen,
158
+ onOpenToggle: useCallback(()=>setOpen((prevOpen)=>!prevOpen
159
+ )
160
+ , [
161
+ setOpen
162
+ ]),
163
+ hasCustomAnchor: hasCustomAnchor,
164
+ onCustomAnchorAdd: useCallback(()=>setHasCustomAnchor(true)
165
+ , []),
166
+ onCustomAnchorRemove: useCallback(()=>setHasCustomAnchor(false)
167
+ , []),
168
+ modal: modal
169
+ }, children));
170
+ };
171
+ /* -------------------------------------------------------------------------------------------------
172
+ * PopoverAnchor
173
+ * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$ANCHOR_NAME = 'PopoverAnchor';
174
+ const $cb5cc270b50c6fcd$export$96e5381f42521a79 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
175
+ const { __scopePopover: __scopePopover , ...anchorProps } = props;
176
+ const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$ANCHOR_NAME, __scopePopover);
177
+ const popperScope = $cb5cc270b50c6fcd$var$usePopperScope(__scopePopover);
178
+ const { onCustomAnchorAdd: onCustomAnchorAdd , onCustomAnchorRemove: onCustomAnchorRemove } = context;
179
+ useEffect(()=>{
180
+ onCustomAnchorAdd();
181
+ return ()=>onCustomAnchorRemove()
182
+ ;
183
+ }, [
184
+ onCustomAnchorAdd,
185
+ onCustomAnchorRemove
186
+ ]);
187
+ return /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$b688253958b8dfe7, _extends({}, popperScope, anchorProps, {
188
+ ref: forwardedRef
189
+ }));
190
+ });
191
+ /* -------------------------------------------------------------------------------------------------
192
+ * PopoverPortal
193
+ * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$PORTAL_NAME = 'PopoverPortal';
194
+ const [$cb5cc270b50c6fcd$var$PortalProvider, $cb5cc270b50c6fcd$var$usePortalContext] = $cb5cc270b50c6fcd$var$createPopoverContext($cb5cc270b50c6fcd$var$PORTAL_NAME, {
195
+ forceMount: undefined
196
+ });
197
+ const $cb5cc270b50c6fcd$export$dd679ffb4362d2d4 = (props)=>{
198
+ const { __scopePopover: __scopePopover , forceMount: forceMount , children: children , container: container } = props;
199
+ const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$PORTAL_NAME, __scopePopover);
200
+ return /*#__PURE__*/ createElement($cb5cc270b50c6fcd$var$PortalProvider, {
201
+ scope: __scopePopover,
202
+ forceMount: forceMount
203
+ }, /*#__PURE__*/ createElement($921a889cee6df7e8$export$99c2b779aa4e8b8b, {
204
+ present: forceMount || context.open
205
+ }, /*#__PURE__*/ createElement($f1701beae083dbae$export$602eac185826482c, {
206
+ asChild: true,
207
+ container: container
208
+ }, children)));
209
+ };
210
+ /* -------------------------------------------------------------------------------------------------
211
+ * PopoverContent
212
+ * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$CONTENT_NAME = 'PopoverContent';
213
+ const $cb5cc270b50c6fcd$export$d7e1f420b25549ff = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
214
+ const portalContext = $cb5cc270b50c6fcd$var$usePortalContext($cb5cc270b50c6fcd$var$CONTENT_NAME, props.__scopePopover);
215
+ const { forceMount: forceMount = portalContext.forceMount , ...contentProps } = props;
216
+ const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME, props.__scopePopover);
217
+ return /*#__PURE__*/ createElement($921a889cee6df7e8$export$99c2b779aa4e8b8b, {
218
+ present: forceMount || context.open
219
+ }, context.modal ? /*#__PURE__*/ createElement($cb5cc270b50c6fcd$var$PopoverContentModal, _extends({}, contentProps, {
220
+ ref: forwardedRef
221
+ })) : /*#__PURE__*/ createElement($cb5cc270b50c6fcd$var$PopoverContentNonModal, _extends({}, contentProps, {
222
+ ref: forwardedRef
223
+ })));
224
+ });
225
+ /* -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$PopoverContentModal = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
226
+ const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME, props.__scopePopover);
227
+ const contentRef = useRef(null);
228
+ const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, contentRef);
229
+ const isRightClickOutsideRef = useRef(false); // aria-hide everything except the content (better supported equivalent to setting aria-modal)
230
+ useEffect(()=>{
231
+ const content = contentRef.current;
232
+ if (content) return hideOthers(content);
233
+ }, []);
234
+ return /*#__PURE__*/ createElement($01b9c$RemoveScroll, {
235
+ as: $5e63c961fc1ce211$export$8c6ed5c666ac1360,
236
+ allowPinchZoom: true
237
+ }, /*#__PURE__*/ createElement($cb5cc270b50c6fcd$var$PopoverContentImpl, _extends({}, props, {
238
+ ref: composedRefs // we make sure we're not trapping once it's been closed
239
+ ,
240
+ trapFocus: context.open,
241
+ disableOutsidePointerEvents: true,
242
+ onCloseAutoFocus: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onCloseAutoFocus, (event)=>{
243
+ var _context$triggerRef$c;
244
+ event.preventDefault();
245
+ if (!isRightClickOutsideRef.current) (_context$triggerRef$c = context.triggerRef.current) === null || _context$triggerRef$c === void 0 || _context$triggerRef$c.focus();
246
+ }),
247
+ onPointerDownOutside: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerDownOutside, (event)=>{
248
+ const originalEvent = event.detail.originalEvent;
249
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
250
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
251
+ isRightClickOutsideRef.current = isRightClick;
252
+ }, {
253
+ checkForDefaultPrevented: false
254
+ }) // When focus is trapped, a `focusout` event may still happen.
255
+ ,
256
+ onFocusOutside: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocusOutside, (event)=>event.preventDefault()
257
+ , {
258
+ checkForDefaultPrevented: false
259
+ })
260
+ })));
261
+ });
262
+ const $cb5cc270b50c6fcd$var$PopoverContentNonModal = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
263
+ const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME, props.__scopePopover);
264
+ const hasInteractedOutsideRef = useRef(false);
265
+ const hasPointerDownOutsideRef = useRef(false);
266
+ return /*#__PURE__*/ createElement($cb5cc270b50c6fcd$var$PopoverContentImpl, _extends({}, props, {
267
+ ref: forwardedRef,
268
+ trapFocus: false,
269
+ disableOutsidePointerEvents: false,
270
+ onCloseAutoFocus: (event)=>{
271
+ var _props$onCloseAutoFoc;
272
+ (_props$onCloseAutoFoc = props.onCloseAutoFocus) === null || _props$onCloseAutoFoc === void 0 || _props$onCloseAutoFoc.call(props, event);
273
+ if (!event.defaultPrevented) {
274
+ var _context$triggerRef$c2;
275
+ if (!hasInteractedOutsideRef.current) (_context$triggerRef$c2 = context.triggerRef.current) === null || _context$triggerRef$c2 === void 0 || _context$triggerRef$c2.focus(); // Always prevent auto focus because we either focus manually or want user agent focus
276
+ event.preventDefault();
277
+ }
278
+ hasInteractedOutsideRef.current = false;
279
+ hasPointerDownOutsideRef.current = false;
280
+ },
281
+ onInteractOutside: (event)=>{
282
+ var _props$onInteractOuts, _context$triggerRef$c3;
283
+ (_props$onInteractOuts = props.onInteractOutside) === null || _props$onInteractOuts === void 0 || _props$onInteractOuts.call(props, event);
284
+ if (!event.defaultPrevented) {
285
+ hasInteractedOutsideRef.current = true;
286
+ if (event.detail.originalEvent.type === 'pointerdown') hasPointerDownOutsideRef.current = true;
287
+ } // Prevent dismissing when clicking the trigger.
288
+ // As the trigger is already setup to close, without doing so would
289
+ // cause it to close and immediately open.
290
+ const target = event.target;
291
+ const targetIsTrigger = (_context$triggerRef$c3 = context.triggerRef.current) === null || _context$triggerRef$c3 === void 0 ? void 0 : _context$triggerRef$c3.contains(target);
292
+ if (targetIsTrigger) event.preventDefault(); // On Safari if the trigger is inside a container with tabIndex={0}, when clicked
293
+ // we will get the pointer down outside event on the trigger, but then a subsequent
294
+ // focus outside event on the container, we ignore any focus outside event when we've
295
+ // already had a pointer down outside event.
296
+ if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) event.preventDefault();
297
+ }
298
+ }));
299
+ });
300
+ /* -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$PopoverContentImpl = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
301
+ const { __scopePopover: __scopePopover , trapFocus: trapFocus , onOpenAutoFocus: onOpenAutoFocus , onCloseAutoFocus: onCloseAutoFocus , disableOutsidePointerEvents: disableOutsidePointerEvents , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , onFocusOutside: onFocusOutside , onInteractOutside: onInteractOutside , ...contentProps } = props;
302
+ const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME, __scopePopover);
303
+ const popperScope = $cb5cc270b50c6fcd$var$usePopperScope(__scopePopover); // Make sure the whole tree has focus guards as our `Popover` may be
304
+ // the last element in the DOM (beacuse of the `Portal`)
305
+ $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c();
306
+ return /*#__PURE__*/ createElement($d3863c46a17e8a28$export$20e40289641fbbb6, {
307
+ asChild: true,
308
+ loop: true,
309
+ trapped: trapFocus,
310
+ onMountAutoFocus: onOpenAutoFocus,
311
+ onUnmountAutoFocus: onCloseAutoFocus
312
+ }, /*#__PURE__*/ createElement($5cb92bef7577960e$export$177fb62ff3ec1f22, {
313
+ asChild: true,
314
+ disableOutsidePointerEvents: disableOutsidePointerEvents,
315
+ onInteractOutside: onInteractOutside,
316
+ onEscapeKeyDown: onEscapeKeyDown,
317
+ onPointerDownOutside: onPointerDownOutside,
318
+ onFocusOutside: onFocusOutside,
319
+ onDismiss: ()=>context.onOpenChange(false)
320
+ }, /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2, _extends({
321
+ "data-state": $cb5cc270b50c6fcd$var$getState(context.open),
322
+ role: "dialog",
323
+ id: context.contentId
324
+ }, popperScope, contentProps, {
325
+ ref: forwardedRef,
326
+ style: {
327
+ ...contentProps.style,
328
+ '--radix-popover-content-transform-origin': 'var(--radix-popper-transform-origin)',
329
+ '--radix-popover-content-available-width': 'var(--radix-popper-available-width)',
330
+ '--radix-popover-content-available-height': 'var(--radix-popper-available-height)',
331
+ '--radix-popover-trigger-width': 'var(--radix-popper-anchor-width)',
332
+ '--radix-popover-trigger-height': 'var(--radix-popper-anchor-height)'
333
+ }
334
+ }))));
335
+ });
336
+ /* -----------------------------------------------------------------------------------------------*/ function $cb5cc270b50c6fcd$var$getState(open) {
337
+ return open ? 'open' : 'closed';
338
+ }
339
+ const $cb5cc270b50c6fcd$export$be92b6f5f03c0fe9 = $cb5cc270b50c6fcd$export$5b6b19405a83ff9d;
340
+ const $cb5cc270b50c6fcd$export$b688253958b8dfe7 = $cb5cc270b50c6fcd$export$96e5381f42521a79;
341
+ const $cb5cc270b50c6fcd$export$602eac185826482c = $cb5cc270b50c6fcd$export$dd679ffb4362d2d4;
342
+ const $cb5cc270b50c6fcd$export$7c6e2c02157bb7d2 = $cb5cc270b50c6fcd$export$d7e1f420b25549ff;
343
+
344
+ const BtIconCalender = (props) =>
345
+ /*#__PURE__*/ React__default.createElement(
346
+ "svg",
347
+ Object.assign(
348
+ {
349
+ xmlns: "http://www.w3.org/2000/svg",
350
+ viewBox: "0 0 32 32",
351
+ },
352
+ props,
353
+ ),
354
+ /*#__PURE__*/ React__default.createElement("defs", null),
355
+ /*#__PURE__*/ React__default.createElement("path", {
356
+ d: "M27,7H25V4.5a.5.5,0,0,0-1,0V7H8V4.5a.5.5,0,0,0-1,0V7H5A1.003,1.003,0,0,0,4,8V27a1.003,1.003,0,0,0,1,1H27a1.003,1.003,0,0,0,1-1V8A1.003,1.003,0,0,0,27,7ZM7,8v.5a.5.5,0,0,0,1,0V8H24v.5a.5.5,0,0,0,1,0V8h2v4H5V8ZM5,27V13H27V27Z",
357
+ fill: "currentColor",
358
+ }),
359
+ );
360
+
361
+ var formatDate = function (value) {
362
+ return format(value, DATE_FORMAT);
363
+ };
364
+
365
+ var isDisabledDate = function (disabledDates, date) {
366
+ return Boolean(disabledDates &&
367
+ disabledDates.find(function (disabledDate) { return isSameDay(date, disabledDate); }));
368
+ };
369
+
370
+ var convertDateStringToDate = function (value) {
371
+ if (value === void 0) { value = ""; }
372
+ var _a = parseDateString(value), day = _a.day, month = _a.month, year = _a.year;
373
+ var isValidDate = isDateValid(value);
374
+ return isValidDate ? new Date("".concat(year, "-").concat(month, "-").concat(day)) : new Date();
375
+ };
376
+
377
+ var convertRangeStringToDates = function (value) {
378
+ if (value === void 0) { value = ""; }
379
+ var _a = parseRangeString(value), start = _a.start, end = _a.end;
380
+ return __spreadArray(__spreadArray([], (isDateValid(start.date)
381
+ ? [new Date("".concat(start.year, "-").concat(start.month, "-").concat(start.day))]
382
+ : []), true), (isDateValid(end.date)
383
+ ? [new Date("".concat(end.year, "-").concat(end.month, "-").concat(end.day))]
384
+ : []), true);
385
+ };
386
+
387
+ var DatePicker = forwardRef(function (_a, ref) {
388
+ var errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, label = _a.label, isDisabled = _a.isDisabled, isReadOnly = _a.isReadOnly, isRequired = _a.isRequired, labelSize = _a.labelSize, inputSize = _a.inputSize, _b = _a.value, value = _b === void 0 ? "" : _b, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, onDateSelect = _a.onDateSelect, onRangeSelect = _a.onRangeSelect, onClickDisclosure = _a.onClickDisclosure, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, type = _a.type, _c = _a.isFluid, isFluid = _c === void 0 ? false : _c, _d = _a.selectionType, selectionType = _d === void 0 ? "single" : _d, disabledDates = _a.disabledDates, minDate = _a.minDate, maxDate = _a.maxDate, props = __rest(_a, ["errorMessage", "helper", "id", "label", "isDisabled", "isReadOnly", "isRequired", "labelSize", "inputSize", "value", "name", "onBlur", "onChange", "onDateSelect", "onRangeSelect", "onClickDisclosure", "disclosureTitle", "disclosureText", "type", "isFluid", "selectionType", "disabledDates", "minDate", "maxDate"]);
389
+ var arcRootElement = useContext(ArcRootElementContext);
390
+ var _e = useState("Choose date"), ariaLabel = _e[0], setAriaLabel = _e[1];
391
+ var _f = useState(false), showCalendar = _f[0], setShowCalendar = _f[1];
392
+ var buttonRef = useRef(null);
393
+ var ourRef = useRef(null);
394
+ var previousValidValue = useRef(value);
395
+ var lowerCaseDateFormat = DATE_FORMAT.toLowerCase();
396
+ var placeHolder = selectionType === "range"
397
+ ? "".concat(lowerCaseDateFormat, " - ").concat(lowerCaseDateFormat)
398
+ : lowerCaseDateFormat;
399
+ useEffect(function () {
400
+ if (selectionType === "single" &&
401
+ isDateValid(value) &&
402
+ !isDisabledDate(disabledDates, convertDateStringToDate(value))) {
403
+ previousValidValue.current = value;
404
+ }
405
+ if (selectionType === "range" && isRangeValid(value)) {
406
+ var rangeHasDisabledDates = convertRangeStringToDates(value).some(function (rangeValue) { return isDisabledDate(disabledDates, rangeValue); });
407
+ if (!rangeHasDisabledDates) {
408
+ previousValidValue.current = value;
409
+ }
410
+ }
411
+ }, [value, disabledDates, selectionType]);
412
+ var getDatePickerRef = function (elementRef) {
413
+ ourRef.current = elementRef;
414
+ if (ref && typeof ref === "object") {
415
+ ref.current = elementRef;
416
+ }
417
+ if (ref && typeof ref === "function") {
418
+ ref(elementRef);
419
+ }
420
+ };
421
+ var dispatchChangeEvent = function (e, value) {
422
+ onChange &&
423
+ onChange(__assign(__assign({}, e), { target: __assign(__assign({}, e.target), { value: value }) }));
424
+ };
425
+ var handleRangeSelect = function (rangeSelection) {
426
+ var start = formatDate(rangeSelection.start);
427
+ var end = rangeSelection.end ? formatDate(rangeSelection.end) : null;
428
+ onRangeSelect &&
429
+ onRangeSelect(__assign(__assign({}, rangeSelection), { formattedRange: "".concat(start).concat(end ? " - ".concat(end) : "") }));
430
+ rangeSelection.isSelectionComplete && setShowCalendar(false);
431
+ };
432
+ var handleDateSelect = function (value) {
433
+ onDateSelect &&
434
+ onDateSelect({
435
+ date: value,
436
+ formattedDate: formatDate(value)
437
+ });
438
+ setShowCalendar(false);
439
+ };
440
+ var handleSingleSelectionBlur = function (e) {
441
+ if (value && isDateValid(value) && selectionType === "single") {
442
+ var _a = parseDateString(value), day = _a.day, month = _a.month, year = _a.year;
443
+ var date = new Date("".concat(year, "-").concat(month, "-").concat(day));
444
+ var isDateBeforeMinDate = minDate && isBefore(date, minDate);
445
+ var isDateAfterMaxDate = maxDate && isAfter(date, maxDate);
446
+ var isDisabledValue = isDisabledDate(disabledDates, date);
447
+ if (isDateBeforeMinDate) {
448
+ return dispatchChangeEvent(e, "".concat(formatDate(minDate)));
449
+ }
450
+ if (isDateAfterMaxDate) {
451
+ return dispatchChangeEvent(e, "".concat(formatDate(maxDate)));
452
+ }
453
+ if (isDisabledValue) {
454
+ var date_1 = previousValidValue.current
455
+ ? convertDateStringToDate(previousValidValue.current)
456
+ : new Date();
457
+ return dispatchChangeEvent(e, "".concat(formatDate(date_1)));
458
+ }
459
+ }
460
+ };
461
+ var handleRangeSelectionBlur = function (e) {
462
+ if (isRangeValid(value) && selectionType === "range") {
463
+ var _a = convertRangeStringToDates(value), start = _a[0], end = _a[1];
464
+ var isStartDateBeforeMinDate = minDate && isBefore(start, minDate);
465
+ var isEndDateAfterMaxDate = maxDate && isAfter(end, maxDate);
466
+ var isStartDateDisabled = isDisabledDate(disabledDates, start);
467
+ var isEndDateDisabled = isDisabledDate(disabledDates, end);
468
+ if (isStartDateBeforeMinDate && isEndDateAfterMaxDate) {
469
+ return dispatchChangeEvent(e, "".concat(formatDate(minDate), " - ").concat(formatDate(maxDate)));
470
+ }
471
+ if (isStartDateBeforeMinDate) {
472
+ return dispatchChangeEvent(e, "".concat(formatDate(minDate), " - ").concat(formatDate(end)));
473
+ }
474
+ if (isEndDateAfterMaxDate) {
475
+ return dispatchChangeEvent(e, "".concat(formatDate(start), " - ").concat(formatDate(maxDate)));
476
+ }
477
+ if (isStartDateDisabled || isEndDateDisabled) {
478
+ var _b = previousValidValue.current
479
+ ? convertRangeStringToDates(previousValidValue.current)
480
+ : [], start_1 = _b[0], end_1 = _b[1];
481
+ return dispatchChangeEvent(e, start_1 && end_1 ? "".concat(formatDate(start_1), " - ").concat(formatDate(end_1)) : "");
482
+ }
483
+ if (isAfter(start, end)) {
484
+ var _c = [start, end].sort(compareAsc), orderedStart = _c[0], orderedEnd = _c[1];
485
+ return dispatchChangeEvent(e, "".concat(formatDate(orderedStart), " - ").concat(formatDate(orderedEnd)));
486
+ }
487
+ }
488
+ };
489
+ var handleBlur = function (e) {
490
+ onBlur && onBlur(e);
491
+ if (selectionType === "single") {
492
+ handleSingleSelectionBlur(e);
493
+ }
494
+ if (selectionType === "range") {
495
+ handleRangeSelectionBlur(e);
496
+ }
497
+ };
498
+ var handleChange = function (e) {
499
+ onChange && onChange(e);
500
+ };
501
+ var handleCalendarOpenChange = function (isOpen) {
502
+ if (document.activeElement)
503
+ setShowCalendar(isOpen);
504
+ };
505
+ var handleIconClick = function () {
506
+ var _a;
507
+ !((_a = ourRef.current) === null || _a === void 0 ? void 0 : _a.contains(document.activeElement)) &&
508
+ !isDisabled &&
509
+ !isReadOnly &&
510
+ setShowCalendar(true);
511
+ };
512
+ var handleIconFocus = function () {
513
+ if (selectionType === "range" && isRangeValid(value)) {
514
+ var _a = convertRangeStringToDates(value), start = _a[0], end = _a[1];
515
+ return setAriaLabel("Change dates, currently selected dates are ".concat(format(start, "EEEE do MMMM, yyyy"), " to ").concat(format(end, "EEEE do MMMM, yyyy")));
516
+ }
517
+ if (selectionType === "single" && isDateValid(value)) {
518
+ var date = convertDateStringToDate(value);
519
+ return setAriaLabel("Change date, currently selected date is ".concat(format(date, "EEEE do MMMM, yyyy")));
520
+ }
521
+ setAriaLabel("Choose Date");
522
+ };
523
+ var handleCalendarClose = function () {
524
+ var _a, _b;
525
+ if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.tagName) === "BODY") {
526
+ (_b = buttonRef.current) === null || _b === void 0 ? void 0 : _b.focus();
527
+ }
528
+ };
529
+ var onCancelClick = function () {
530
+ setShowCalendar(false);
531
+ };
532
+ var handleAutoFocus = function (e) {
533
+ e.preventDefault();
534
+ };
535
+ return (React__default.createElement("div", { className: classNames({
536
+ "arc-DatePicker--constrained": !isFluid
537
+ }) },
538
+ React__default.createElement(TextInput, __assign({ ref: getDatePickerRef, iconButton: {
539
+ onClick: handleIconClick,
540
+ onFocus: handleIconFocus,
541
+ icon: BtIconCalender,
542
+ label: ariaLabel,
543
+ ref: buttonRef
544
+ }, placeholder: placeHolder, errorMessage: errorMessage, helper: helper, id: id, isDisabled: isDisabled, isReadOnly: isReadOnly, isRequired: isRequired, label: label, labelSize: labelSize, maxLength: selectionType === "range" ? 23 : 10, name: name, onBlur: handleBlur, onChange: handleChange, onClickDisclosure: onClickDisclosure, type: "text", value: value, disclosureTitle: disclosureTitle, disclosureText: disclosureText, inputSize: inputSize }, props)),
545
+ React__default.createElement($cb5cc270b50c6fcd$export$be92b6f5f03c0fe9, { open: showCalendar, onOpenChange: handleCalendarOpenChange },
546
+ React__default.createElement($cb5cc270b50c6fcd$export$b688253958b8dfe7, null),
547
+ React__default.createElement($cb5cc270b50c6fcd$export$602eac185826482c, { container: arcRootElement || undefined },
548
+ React__default.createElement($cb5cc270b50c6fcd$export$7c6e2c02157bb7d2, { align: "start", "aria-modal": "true", "aria-label": "Choose Date", className: "arc-DatePicker-modal", onOpenAutoFocus: handleAutoFocus, onCloseAutoFocus: handleCalendarClose },
549
+ React__default.createElement(Calendar, { autoFocusOnMount: true, type: type, onCancelClick: onCancelClick, selectionType: selectionType, selectedDate: convertDateStringToDate(value), selectedRange: convertRangeStringToDates(value), disabledDates: disabledDates, minDate: minDate, maxDate: maxDate, onDateSelect: handleDateSelect, onRangeSelect: handleRangeSelect }))))));
550
+ });
551
+
552
+ export { DATE_FORMAT, DatePicker, isDateValid, isRangeValid, parseDateString, parseRangeString };
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@arc-ui/datepicker",
3
+ "types": "../types/components/DatePicker/index.d.ts",
4
+ "main": "./DatePicker.cjs.js",
5
+ "module": "./DatePicker.esm.js",
6
+ "private": true
7
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FormControl = require('../_shared/cjs/FormControl-166e0957.js');
5
+ var FormControl = require('../_shared/cjs/FormControl-b26ad353.js');
6
6
  require('../_shared/cjs/filter-data-attrs-1c9a530c.js');
7
7
  require('../_shared/cjs/index-9947ac13.js');
8
8
  require('react');
@@ -12,6 +12,7 @@ require('../_shared/cjs/DisclosureMini-d0eeb6bb.js');
12
12
  require('../_shared/cjs/BtIconChevronDown2Px.esm-39030ee0.js');
13
13
  require('../_shared/cjs/Text-606ca3a2.js');
14
14
  require('../_shared/cjs/suffix-modifier-64dcd338.js');
15
+ require('../_shared/cjs/VisuallyHidden-e2c8b291.js');
15
16
 
16
17
 
17
18
 
@@ -1,4 +1,4 @@
1
- export { F as FormControl, C as FormControlContext } from '../_shared/esm/FormControl-9d4ddfec.js';
1
+ export { F as FormControl, C as FormControlContext } from '../_shared/esm/FormControl-f0b8fe91.js';
2
2
  import '../_shared/esm/filter-data-attrs-ea8f4ed4.js';
3
3
  import '../_shared/esm/index-2e73c2e9.js';
4
4
  import 'react';
@@ -8,3 +8,4 @@ import '../_shared/esm/DisclosureMini-ec17b008.js';
8
8
  import '../_shared/esm/BtIconChevronDown2Px.esm-217276c2.js';
9
9
  import '../_shared/esm/Text-14f586ac.js';
10
10
  import '../_shared/esm/suffix-modifier-3d548e45.js';
11
+ import '../_shared/esm/VisuallyHidden-b9eebf71.js';
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var filterDataAttrs = require('../_shared/cjs/filter-data-attrs-1c9a530c.js');
6
6
  var React = require('react');
7
- var index_es = require('../_shared/cjs/index.es-26dd8c5d.js');
8
- var BtIconArrowRight_esm = require('../_shared/cjs/BtIconArrowRight.esm-8e8ac316.js');
7
+ var useMediaQuery = require('../_shared/cjs/use-media-query-e61881d8.js');
8
+ var CardLabel = require('../_shared/cjs/CardLabel-768abf20.js');
9
9
  var Icon = require('../_shared/cjs/Icon-a9801f05.js');
10
10
  var Tag = require('../_shared/cjs/Tag-42ddca45.js');
11
11
  var Image = require('../_shared/cjs/Image-e873b8fc.js');
@@ -24,14 +24,15 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
24
 
25
25
  var InformationCard = function (_a) {
26
26
  var cardUrl = _a.cardUrl, onClick = _a.onClick, heading = _a.heading, text = _a.text, label = _a.label, footerLogo = _a.footerLogo, button = _a.button, image = _a.image, tags = _a.tags, icon = _a.icon, _b = _a.headingLevel, headingLevel = _b === void 0 ? "2" : _b, props = filterDataAttrs.__rest(_a, ["cardUrl", "onClick", "heading", "text", "label", "footerLogo", "button", "image", "tags", "icon", "headingLevel"]);
27
- var isMinWidthArcBreakpointS = index_es.useMediaQuery("(min-width: ".concat(index_es.ArcBreakpointS, "px)"));
28
- var isMinWidthArcBreakpointM = index_es.useMediaQuery("(min-width: ".concat(index_es.ArcBreakpointM, "px)"));
27
+ var isMinWidthArcBreakpointS = useMediaQuery.useMediaQuery("(min-width: ".concat(useMediaQuery.ArcBreakpointS, "px)"));
28
+ var isMinWidthArcBreakpointM = useMediaQuery.useMediaQuery("(min-width: ".concat(useMediaQuery.ArcBreakpointM, "px)"));
29
+ var _c = React.useState(false), showHoverState = _c[0], setShowHoverState = _c[1];
29
30
  var headingSpacing = isMinWidthArcBreakpointS ? "16" : "8";
30
31
  var assetSpacing = isMinWidthArcBreakpointM ? "24" : "20";
31
32
  var containerSpacing = isMinWidthArcBreakpointS ? "32" : "24";
32
- var HeadingElement = "h".concat(headingLevel);
33
+ var handleShowHoverState = function (show) { return function () { return setShowHoverState(show); }; };
33
34
  return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames("arc-InformationCard", {
34
- "arc-InformationCard--interactive": cardUrl
35
+ "arc-InformationCard--outlined": cardUrl && showHoverState
35
36
  }) }, filterDataAttrs.filterDataAttrs(props)),
36
37
  React__default["default"].createElement(Surface.Surface, { growVertically: true, padding: containerSpacing, background: "white" },
37
38
  React__default["default"].createElement("div", null,
@@ -42,9 +43,9 @@ var InformationCard = function (_a) {
42
43
  React__default["default"].createElement(Icon.Icon, { testId: "information-card-icon", icon: icon, size: 96 }),
43
44
  React__default["default"].createElement(VerticalSpace.VerticalSpace, { size: assetSpacing }))),
44
45
  label && (React__default["default"].createElement(React__default["default"].Fragment, null,
45
- React__default["default"].createElement("span", { className: "arc-InformationCard-label" }, label),
46
+ React__default["default"].createElement(CardLabel.CardLabel, { color: "supporting", text: label }),
46
47
  React__default["default"].createElement(VerticalSpace.VerticalSpace, { size: headingSpacing }))),
47
- React__default["default"].createElement(HeadingElement, { className: "arc-InformationCard-heading" }, cardUrl ? (React__default["default"].createElement("a", { className: "arc-InformationCard-headingLink", href: cardUrl, onClick: onClick }, heading)) : (heading))),
48
+ React__default["default"].createElement(CardLabel.CardHeading, { heading: heading, headingLevel: headingLevel, href: cardUrl, onClick: onClick, onMouseEnter: handleShowHoverState(true), onMouseLeave: handleShowHoverState(false), onFocus: handleShowHoverState(true), onBlur: handleShowHoverState(false) })),
48
49
  React__default["default"].createElement("div", { className: "arc-InformationCard-contentContainer" },
49
50
  text && (React__default["default"].createElement(React__default["default"].Fragment, null,
50
51
  React__default["default"].createElement(VerticalSpace.VerticalSpace, { size: headingSpacing }),
@@ -59,7 +60,7 @@ var InformationCard = function (_a) {
59
60
  (button || footerLogo) && React__default["default"].createElement(VerticalSpace.VerticalSpace, { size: "24" })))),
60
61
  React__default["default"].createElement("div", { className: "arc-InformationCard-footer" },
61
62
  button && !cardUrl && (React__default["default"].createElement("div", { className: "arc-InformationCard-footerButtonContainer" },
62
- React__default["default"].createElement(Button.Button, filterDataAttrs.__assign({}, button, { iconPosition: "beforeText", fill: "flat", icon: BtIconArrowRight_esm.BtIconArrowRight })))),
63
+ React__default["default"].createElement(Button.Button, filterDataAttrs.__assign({}, button, { iconPosition: "beforeText", fill: "flat", icon: CardLabel.BtIconArrowRight })))),
63
64
  footerLogo && (React__default["default"].createElement("div", { className: "arc-InformationCard-footerLogoContainer" },
64
65
  React__default["default"].createElement(Image.Image, filterDataAttrs.__assign({}, footerLogo))))))));
65
66
  };