@clubmed/trident-ui 2.0.0-beta.9 → 2.0.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 (486) hide show
  1. package/README.md +8 -0
  2. package/assets/trident-ui.css +3 -0
  3. package/chunks/Backdrop.js +1 -1
  4. package/chunks/Backdrop.js.map +1 -1
  5. package/chunks/Birthdate.js +27 -0
  6. package/chunks/Birthdate.js.map +1 -0
  7. package/chunks/Carousel.context.js +1548 -0
  8. package/chunks/Carousel.context.js.map +1 -0
  9. package/chunks/ChatMessage.js +14395 -0
  10. package/chunks/ChatMessage.js.map +1 -0
  11. package/chunks/CriteriaParticipants.js +415 -0
  12. package/chunks/CriteriaParticipants.js.map +1 -0
  13. package/chunks/DateField.js +196 -136
  14. package/chunks/DateField.js.map +1 -1
  15. package/chunks/Datepicker.js +2039 -0
  16. package/chunks/Datepicker.js.map +1 -0
  17. package/chunks/Day.js +88 -0
  18. package/chunks/Day.js.map +1 -0
  19. package/chunks/Range.js +2 -2
  20. package/chunks/Range.js.map +1 -1
  21. package/chunks/Tooltip.js +4461 -0
  22. package/chunks/Tooltip.js.map +1 -0
  23. package/chunks/addLeadingZeros.js +33 -0
  24. package/chunks/addLeadingZeros.js.map +1 -0
  25. package/chunks/addYears.js +18 -0
  26. package/chunks/addYears.js.map +1 -0
  27. package/chunks/chunk.js +11 -4
  28. package/chunks/client.js +18953 -0
  29. package/chunks/client.js.map +1 -0
  30. package/chunks/endOfMonth.js +17 -0
  31. package/chunks/endOfMonth.js.map +1 -0
  32. package/chunks/format.js +1113 -0
  33. package/chunks/format.js.map +1 -0
  34. package/chunks/formatISO.js +29 -0
  35. package/chunks/formatISO.js.map +1 -0
  36. package/chunks/isAfter.js +9 -0
  37. package/chunks/isAfter.js.map +1 -0
  38. package/chunks/isBefore.js +15 -0
  39. package/chunks/isBefore.js.map +1 -0
  40. package/chunks/normalizeDates.js +10 -0
  41. package/chunks/normalizeDates.js.map +1 -0
  42. package/chunks/subYears.js +9 -0
  43. package/chunks/subYears.js.map +1 -0
  44. package/examples/accordion-demo.d.ts +1 -0
  45. package/examples/accordion-demo.js +79 -0
  46. package/examples/accordion-demo.js.map +1 -0
  47. package/examples/accordion-multiple-demo.d.ts +1 -0
  48. package/examples/accordion-multiple-demo.js +79 -0
  49. package/examples/accordion-multiple-demo.js.map +1 -0
  50. package/examples/accordion-trigger-wrapper-demo.d.ts +1 -0
  51. package/examples/accordion-trigger-wrapper-demo.js +80 -0
  52. package/examples/accordion-trigger-wrapper-demo.js.map +1 -0
  53. package/examples/advanced-toast-demo.js +2 -2
  54. package/examples/advanced-toast-demo.js.map +1 -1
  55. package/examples/advanced-toast-green-demo.js +1 -1
  56. package/examples/advanced-toast-green-demo.js.map +1 -1
  57. package/examples/advanced-toast-no-dismiss-demo.js +1 -1
  58. package/examples/advanced-toast-no-dismiss-demo.js.map +1 -1
  59. package/examples/advanced-toast-red-demo.js +1 -1
  60. package/examples/advanced-toast-red-demo.js.map +1 -1
  61. package/examples/advanced-toast-with-details-demo.js +2 -2
  62. package/examples/advanced-toast-with-details-demo.js.map +1 -1
  63. package/examples/arrow-button-demo.js +2 -1
  64. package/examples/arrow-button-demo.js.map +1 -1
  65. package/examples/arrow-button-disabled-demo.js +2 -1
  66. package/examples/arrow-button-disabled-demo.js.map +1 -1
  67. package/examples/arrow-button-left-demo.js +2 -1
  68. package/examples/arrow-button-left-demo.js.map +1 -1
  69. package/examples/arrow-button-outline-demo.js +2 -1
  70. package/examples/arrow-button-outline-demo.js.map +1 -1
  71. package/examples/arrow-button-tail-demo.js +2 -1
  72. package/examples/arrow-button-tail-demo.js.map +1 -1
  73. package/examples/avatar-demo.js +7 -7
  74. package/examples/button-demo.js +2 -2
  75. package/examples/button-demo.js.map +1 -1
  76. package/examples/card-list-demo.js +10 -10
  77. package/examples/card-no-border-demo.js +7 -7
  78. package/examples/chapters-demo.d.ts +1 -0
  79. package/examples/chapters-demo.js +46 -0
  80. package/examples/chapters-demo.js.map +1 -0
  81. package/examples/chat-button-demo.js +1 -1
  82. package/examples/chat-button-demo.js.map +1 -1
  83. package/examples/chat-button-offset-demo.js +4 -1
  84. package/examples/chat-button-offset-demo.js.map +1 -1
  85. package/examples/chat-input-demo.d.ts +1 -0
  86. package/examples/chat-input-demo.js +22 -0
  87. package/examples/chat-input-demo.js.map +1 -0
  88. package/examples/chat-message-demo.d.ts +1 -0
  89. package/examples/chat-message-demo.js +20 -0
  90. package/examples/chat-message-demo.js.map +1 -0
  91. package/examples/chat-typing-indicator-demo.d.ts +1 -0
  92. package/examples/chat-typing-indicator-demo.js +14 -0
  93. package/examples/chat-typing-indicator-demo.js.map +1 -0
  94. package/examples/chat-window-csat-demo.d.ts +1 -0
  95. package/examples/chat-window-csat-demo.js +69 -0
  96. package/examples/chat-window-csat-demo.js.map +1 -0
  97. package/examples/chat-window-csat-prompt-demo.d.ts +1 -0
  98. package/examples/chat-window-csat-prompt-demo.js +40 -0
  99. package/examples/chat-window-csat-prompt-demo.js.map +1 -0
  100. package/examples/chat-window-demo.d.ts +1 -0
  101. package/examples/chat-window-demo.js +70 -0
  102. package/examples/chat-window-demo.js.map +1 -0
  103. package/examples/chat-window-quote-demo.d.ts +1 -0
  104. package/examples/chat-window-quote-demo.js +47 -0
  105. package/examples/chat-window-quote-demo.js.map +1 -0
  106. package/examples/chat-window-quotes-demo.d.ts +1 -0
  107. package/examples/chat-window-quotes-demo.js +68 -0
  108. package/examples/chat-window-quotes-demo.js.map +1 -0
  109. package/examples/checkbox-demo.js +2 -2
  110. package/examples/checkbox-demo.js.map +1 -1
  111. package/examples/checkbox-select-demo.d.ts +1 -0
  112. package/examples/checkbox-select-demo.js +101 -0
  113. package/examples/checkbox-select-demo.js.map +1 -0
  114. package/examples/checkboxes-demo.js +1 -0
  115. package/examples/checkboxes-demo.js.map +1 -1
  116. package/examples/checkboxes-with-form-control-demo.js +4 -4
  117. package/examples/chip-demo.js +4 -4
  118. package/examples/choice-expander-demo.js +5 -67
  119. package/examples/choice-expander-demo.js.map +1 -1
  120. package/examples/countdown-demo.d.ts +1 -0
  121. package/examples/countdown-demo.js +39 -0
  122. package/examples/countdown-demo.js.map +1 -0
  123. package/examples/criteria-dates-demo.d.ts +1 -0
  124. package/examples/criteria-dates-demo.js +41 -0
  125. package/examples/criteria-dates-demo.js.map +1 -0
  126. package/examples/criteria-participants-demo.d.ts +1 -0
  127. package/examples/criteria-participants-demo.js +77 -0
  128. package/examples/criteria-participants-demo.js.map +1 -0
  129. package/examples/criteria-participants-flow1-demo.d.ts +1 -0
  130. package/examples/criteria-participants-flow1-demo.js +53 -0
  131. package/examples/criteria-participants-flow1-demo.js.map +1 -0
  132. package/examples/criteria-participants-flow2-demo.d.ts +1 -0
  133. package/examples/criteria-participants-flow2-demo.js +61 -0
  134. package/examples/criteria-participants-flow2-demo.js.map +1 -0
  135. package/examples/criteria-participants-flow3-demo.d.ts +1 -0
  136. package/examples/criteria-participants-flow3-demo.js +72 -0
  137. package/examples/criteria-participants-flow3-demo.js.map +1 -0
  138. package/examples/criteria-transports-b2b-demo.d.ts +1 -0
  139. package/examples/criteria-transports-b2b-demo.js +118 -0
  140. package/examples/criteria-transports-b2b-demo.js.map +1 -0
  141. package/examples/criteria-transports-demo.d.ts +1 -0
  142. package/examples/criteria-transports-demo.js +223 -0
  143. package/examples/criteria-transports-demo.js.map +1 -0
  144. package/examples/datepicker-demo.d.ts +1 -0
  145. package/examples/datepicker-demo.js +51 -0
  146. package/examples/datepicker-demo.js.map +1 -0
  147. package/examples/datepicker-disabled-days-demo.d.ts +1 -0
  148. package/examples/datepicker-disabled-days-demo.js +42 -0
  149. package/examples/datepicker-disabled-days-demo.js.map +1 -0
  150. package/examples/datepicker-duration-tooltip-demo.d.ts +1 -0
  151. package/examples/datepicker-duration-tooltip-demo.js +68 -0
  152. package/examples/datepicker-duration-tooltip-demo.js.map +1 -0
  153. package/examples/datepicker-no-prices-demo.d.ts +1 -0
  154. package/examples/datepicker-no-prices-demo.js +42 -0
  155. package/examples/datepicker-no-prices-demo.js.map +1 -0
  156. package/examples/datepicker-preselected-demo.d.ts +1 -0
  157. package/examples/datepicker-preselected-demo.js +77 -0
  158. package/examples/datepicker-preselected-demo.js.map +1 -0
  159. package/examples/dropdown-demo.js +9 -1
  160. package/examples/dropdown-demo.js.map +1 -1
  161. package/examples/expandable-text-demo.d.ts +1 -0
  162. package/examples/expandable-text-demo.js +22 -0
  163. package/examples/expandable-text-demo.js.map +1 -0
  164. package/examples/filter-demo.js +5 -5
  165. package/examples/floating-label-text-field-demo.d.ts +1 -0
  166. package/examples/floating-label-text-field-demo.js +32 -0
  167. package/examples/floating-label-text-field-demo.js.map +1 -0
  168. package/examples/frame-demo.d.ts +1 -0
  169. package/examples/frame-demo.js +36 -0
  170. package/examples/frame-demo.js.map +1 -0
  171. package/examples/frame-horizontal-demo.d.ts +1 -0
  172. package/examples/frame-horizontal-demo.js +44 -0
  173. package/examples/frame-horizontal-demo.js.map +1 -0
  174. package/examples/frame-no-image-demo.d.ts +1 -0
  175. package/examples/frame-no-image-demo.js +47 -0
  176. package/examples/frame-no-image-demo.js.map +1 -0
  177. package/examples/frame-vertical-demo.d.ts +1 -0
  178. package/examples/frame-vertical-demo.js +44 -0
  179. package/examples/frame-vertical-demo.js.map +1 -0
  180. package/examples/frame-with-tag-demo.d.ts +1 -0
  181. package/examples/frame-with-tag-demo.js +48 -0
  182. package/examples/frame-with-tag-demo.js.map +1 -0
  183. package/examples/journey-card-compact-demo.d.ts +1 -0
  184. package/examples/journey-card-compact-demo.js +71 -0
  185. package/examples/journey-card-compact-demo.js.map +1 -0
  186. package/examples/journey-card-demo.d.ts +1 -0
  187. package/examples/journey-card-demo.js +123 -0
  188. package/examples/journey-card-demo.js.map +1 -0
  189. package/examples/page-navigation-demo.d.ts +1 -0
  190. package/examples/page-navigation-demo.js +53 -0
  191. package/examples/page-navigation-demo.js.map +1 -0
  192. package/examples/password-demo.js +1 -0
  193. package/examples/password-demo.js.map +1 -1
  194. package/examples/phone-field-demo.js +6 -2
  195. package/examples/phone-field-demo.js.map +1 -1
  196. package/examples/promises-demo.d.ts +1 -0
  197. package/examples/promises-demo.js +50 -0
  198. package/examples/promises-demo.js.map +1 -0
  199. package/examples/radio-demo.js +3 -3
  200. package/examples/radio-demo.js.map +1 -1
  201. package/examples/radio-select-demo.d.ts +1 -0
  202. package/examples/radio-select-demo.js +100 -0
  203. package/examples/radio-select-demo.js.map +1 -0
  204. package/examples/scrollbar-demo.d.ts +1 -0
  205. package/examples/scrollbar-demo.js +42 -0
  206. package/examples/scrollbar-demo.js.map +1 -0
  207. package/examples/select-demo.js +1 -0
  208. package/examples/select-demo.js.map +1 -1
  209. package/examples/slider-frame-demo.d.ts +1 -0
  210. package/examples/slider-frame-demo.js +39 -0
  211. package/examples/slider-frame-demo.js.map +1 -0
  212. package/examples/slider-frame-with-button-demo.d.ts +1 -0
  213. package/examples/slider-frame-with-button-demo.js +47 -0
  214. package/examples/slider-frame-with-button-demo.js.map +1 -0
  215. package/examples/slider-frame-with-tag-demo.d.ts +1 -0
  216. package/examples/slider-frame-with-tag-demo.js +51 -0
  217. package/examples/slider-frame-with-tag-demo.js.map +1 -0
  218. package/examples/sparkle-wrapper-demo.d.ts +1 -0
  219. package/examples/sparkle-wrapper-demo.js +34 -0
  220. package/examples/sparkle-wrapper-demo.js.map +1 -0
  221. package/examples/switch-demo.js +3 -2
  222. package/examples/switch-demo.js.map +1 -1
  223. package/examples/tabs-demo.js +2 -5
  224. package/examples/tabs-demo.js.map +1 -1
  225. package/examples/tabs-notification-demo.d.ts +1 -0
  226. package/examples/tabs-notification-demo.js +64 -0
  227. package/examples/tabs-notification-demo.js.map +1 -0
  228. package/examples/tabs-with-select-demo.js +1 -0
  229. package/examples/tabs-with-select-demo.js.map +1 -1
  230. package/examples/text-field-demo.js +6 -0
  231. package/examples/text-field-demo.js.map +1 -1
  232. package/examples/toggle-demo.d.ts +1 -0
  233. package/examples/toggle-demo.js +44 -0
  234. package/examples/toggle-demo.js.map +1 -0
  235. package/examples/toggle-small-demo.d.ts +1 -0
  236. package/examples/toggle-small-demo.js +33 -0
  237. package/examples/toggle-small-demo.js.map +1 -0
  238. package/examples/tooltip-demo.d.ts +1 -0
  239. package/examples/tooltip-demo.js +103 -0
  240. package/examples/tooltip-demo.js.map +1 -0
  241. package/package.json +9 -3
  242. package/styles/animate.css +19 -0
  243. package/styles/components.css +97 -4
  244. package/styles/index.css +0 -1
  245. package/styles/theme.css +1 -2
  246. package/styles/ui/button.css +1 -1
  247. package/styles/ui/chat-button.css +68 -1
  248. package/styles/ui/controls.css +11 -58
  249. package/styles/ui/range.css +6 -1
  250. package/styles/ui/tabs.css +0 -19
  251. package/ui/Accordion.d.ts +30 -0
  252. package/ui/Accordion.js +71 -0
  253. package/ui/Accordion.js.map +1 -0
  254. package/ui/AdvancedToast.js +22 -19
  255. package/ui/AdvancedToast.js.map +1 -1
  256. package/ui/Avatar.js +1 -1
  257. package/ui/Avatar.js.map +1 -1
  258. package/ui/BasicToast.js +12 -12
  259. package/ui/BasicToast.js.map +1 -1
  260. package/ui/Breadcrumb.js +7 -6
  261. package/ui/Breadcrumb.js.map +1 -1
  262. package/ui/Chapters/Chapter.d.ts +7 -0
  263. package/ui/Chapters/Chapter.js +36 -0
  264. package/ui/Chapters/Chapter.js.map +1 -0
  265. package/ui/Chapters/ChapterTitle.d.ts +14 -0
  266. package/ui/Chapters/ChapterTitle.js +35 -0
  267. package/ui/Chapters/ChapterTitle.js.map +1 -0
  268. package/ui/Chapters/Chapters.d.ts +15 -0
  269. package/ui/Chapters/Chapters.js +42 -0
  270. package/ui/Chapters/Chapters.js.map +1 -0
  271. package/ui/Chapters/Chapters.themes.d.ts +9 -0
  272. package/ui/Chapters/Chapters.themes.js +65 -0
  273. package/ui/Chapters/Chapters.themes.js.map +1 -0
  274. package/ui/Chapters/ChaptersSummary.d.ts +17 -0
  275. package/ui/Chapters/ChaptersSummary.js +29 -0
  276. package/ui/Chapters/ChaptersSummary.js.map +1 -0
  277. package/ui/ChatButton.js +9 -9
  278. package/ui/ChatButton.js.map +1 -1
  279. package/ui/ChatInput.d.ts +10 -0
  280. package/ui/ChatInput.js +149 -0
  281. package/ui/ChatInput.js.map +1 -0
  282. package/ui/ChatMessage.d.ts +6 -0
  283. package/ui/ChatMessage.js +2 -0
  284. package/ui/ChatTypingIndicator.d.ts +2 -0
  285. package/ui/ChatTypingIndicator.js +30 -0
  286. package/ui/ChatTypingIndicator.js.map +1 -0
  287. package/ui/ChatWindow.d.ts +34 -0
  288. package/ui/ChatWindow.js +142 -0
  289. package/ui/ChatWindow.js.map +1 -0
  290. package/ui/ChatWindowCsatPrompt.d.ts +15 -0
  291. package/ui/ChatWindowCsatPrompt.js +71 -0
  292. package/ui/ChatWindowCsatPrompt.js.map +1 -0
  293. package/ui/ChatWindowCsatThankYou.d.ts +9 -0
  294. package/ui/ChatWindowCsatThankYou.js +29 -0
  295. package/ui/ChatWindowCsatThankYou.js.map +1 -0
  296. package/ui/ChatWindowQuote.d.ts +22 -0
  297. package/ui/ChatWindowQuote.js +141 -0
  298. package/ui/ChatWindowQuote.js.map +1 -0
  299. package/ui/Chip.js +4 -4
  300. package/ui/ChoiceExpander.js +17 -17
  301. package/ui/ChoiceExpander.js.map +1 -1
  302. package/ui/Countdown.d.ts +16 -0
  303. package/ui/Countdown.js +61 -0
  304. package/ui/Countdown.js.map +1 -0
  305. package/ui/Datepicker.d.ts +26 -0
  306. package/ui/Datepicker.js +2 -0
  307. package/ui/Day.d.ts +25 -0
  308. package/ui/Day.js +2 -0
  309. package/ui/Dropdown.d.ts +20 -3
  310. package/ui/Dropdown.js +61 -27
  311. package/ui/Dropdown.js.map +1 -1
  312. package/ui/ElasticHeight.js +1 -0
  313. package/ui/ElasticHeight.js.map +1 -1
  314. package/ui/ExpandableText.d.ts +14 -0
  315. package/ui/ExpandableText.js +40 -0
  316. package/ui/ExpandableText.js.map +1 -0
  317. package/ui/FlipCard.d.ts +7 -0
  318. package/ui/FlipCard.js +59 -0
  319. package/ui/FlipCard.js.map +1 -0
  320. package/ui/HamburgerIcon.js +1 -1
  321. package/ui/HamburgerIcon.js.map +1 -1
  322. package/ui/Link.js +8 -8
  323. package/ui/Link.js.map +1 -1
  324. package/ui/PageNavigation.d.ts +13 -0
  325. package/ui/PageNavigation.js +71 -0
  326. package/ui/PageNavigation.js.map +1 -0
  327. package/ui/Pagination.js +23 -23
  328. package/ui/Pagination.js.map +1 -1
  329. package/ui/Promises/Promises.d.ts +26 -0
  330. package/ui/Promises/Promises.js +42 -0
  331. package/ui/Promises/Promises.js.map +1 -0
  332. package/ui/Promises/PromisesMedia.d.ts +12 -0
  333. package/ui/Promises/PromisesMedia.js +64 -0
  334. package/ui/Promises/PromisesMedia.js.map +1 -0
  335. package/ui/Promises/PromisesMenu.d.ts +11 -0
  336. package/ui/Promises/PromisesMenu.js +154 -0
  337. package/ui/Promises/PromisesMenu.js.map +1 -0
  338. package/ui/Scrollbar.d.ts +14 -0
  339. package/ui/Scrollbar.js +68 -0
  340. package/ui/Scrollbar.js.map +1 -0
  341. package/ui/SidebarLayout.d.ts +3 -1
  342. package/ui/SidebarLayout.js +67 -59
  343. package/ui/SidebarLayout.js.map +1 -1
  344. package/ui/SparkleWrapper.d.ts +5 -0
  345. package/ui/SparkleWrapper.js +56 -0
  346. package/ui/SparkleWrapper.js.map +1 -0
  347. package/ui/Tag.js +6 -6
  348. package/ui/Toggle.d.ts +15 -0
  349. package/ui/Toggle.js +42 -0
  350. package/ui/Toggle.js.map +1 -0
  351. package/ui/Tooltip.d.ts +8 -0
  352. package/ui/Tooltip.js +2 -0
  353. package/ui/buttons/Button.type.d.ts +1 -1
  354. package/ui/buttons/Button.type.js +1 -1
  355. package/ui/buttons/Button.type.js.map +1 -1
  356. package/ui/buttons/ButtonContent.js +3 -3
  357. package/ui/carousel/Carousel.context.d.ts +27 -0
  358. package/ui/carousel/Carousel.context.js +2 -0
  359. package/ui/carousel/Carousel.d.ts +3 -0
  360. package/ui/carousel/Carousel.js +12 -0
  361. package/ui/carousel/Carousel.js.map +1 -0
  362. package/ui/carousel/CarouselBody.d.ts +6 -0
  363. package/ui/carousel/CarouselBody.js +21 -0
  364. package/ui/carousel/CarouselBody.js.map +1 -0
  365. package/ui/carousel/CarouselItem.d.ts +6 -0
  366. package/ui/carousel/CarouselItem.js +21 -0
  367. package/ui/carousel/CarouselItem.js.map +1 -0
  368. package/ui/carousel/CarouselNext.d.ts +8 -0
  369. package/ui/carousel/CarouselNext.js +23 -0
  370. package/ui/carousel/CarouselNext.js.map +1 -0
  371. package/ui/carousel/CarouselPrevious.d.ts +8 -0
  372. package/ui/carousel/CarouselPrevious.js +23 -0
  373. package/ui/carousel/CarouselPrevious.js.map +1 -0
  374. package/ui/contexts/TridentUIConfig.js +1 -1
  375. package/ui/criteria/Birthdate.d.ts +13 -0
  376. package/ui/criteria/Birthdate.js +2 -0
  377. package/ui/criteria/CriteriaDates.d.ts +32 -0
  378. package/ui/criteria/CriteriaDates.js +76 -0
  379. package/ui/criteria/CriteriaDates.js.map +1 -0
  380. package/ui/criteria/CriteriaParticipants.d.ts +106 -0
  381. package/ui/criteria/CriteriaParticipants.js +2 -0
  382. package/ui/criteria/CriteriaSection.d.ts +6 -0
  383. package/ui/criteria/CriteriaSection.js +15 -0
  384. package/ui/criteria/CriteriaSection.js.map +1 -0
  385. package/ui/criteria/CriteriaTransports.d.ts +53 -0
  386. package/ui/criteria/CriteriaTransports.js +274 -0
  387. package/ui/criteria/CriteriaTransports.js.map +1 -0
  388. package/ui/forms/CheckboxSelect.d.ts +31 -0
  389. package/ui/forms/CheckboxSelect.js +119 -0
  390. package/ui/forms/CheckboxSelect.js.map +1 -0
  391. package/ui/forms/Filter.d.ts +3 -1
  392. package/ui/forms/Filter.js +17 -13
  393. package/ui/forms/Filter.js.map +1 -1
  394. package/ui/forms/FloatingLabelTextField.d.ts +12 -0
  395. package/ui/forms/FloatingLabelTextField.js +132 -0
  396. package/ui/forms/FloatingLabelTextField.js.map +1 -0
  397. package/ui/forms/FormControl.d.ts +1 -1
  398. package/ui/forms/FormControl.js.map +1 -1
  399. package/ui/forms/FormControlError.js +4 -4
  400. package/ui/forms/NumberField.d.ts +3 -2
  401. package/ui/forms/NumberField.js +24 -25
  402. package/ui/forms/NumberField.js.map +1 -1
  403. package/ui/forms/PhoneField.d.ts +5 -10
  404. package/ui/forms/PhoneField.js +31 -211
  405. package/ui/forms/PhoneField.js.map +1 -1
  406. package/ui/forms/PhoneFieldFullInput.d.ts +16 -0
  407. package/ui/forms/PhoneFieldFullInput.js +110 -0
  408. package/ui/forms/PhoneFieldFullInput.js.map +1 -0
  409. package/ui/forms/PhoneFieldSplitInput.d.ts +19 -0
  410. package/ui/forms/PhoneFieldSplitInput.js +158 -0
  411. package/ui/forms/PhoneFieldSplitInput.js.map +1 -0
  412. package/ui/forms/RadioSelect.d.ts +31 -0
  413. package/ui/forms/RadioSelect.js +117 -0
  414. package/ui/forms/RadioSelect.js.map +1 -0
  415. package/ui/forms/Range.d.ts +1 -1
  416. package/ui/forms/Select.js +16 -17
  417. package/ui/forms/Select.js.map +1 -1
  418. package/ui/forms/Switch.d.ts +5 -3
  419. package/ui/forms/Switch.js +54 -34
  420. package/ui/forms/Switch.js.map +1 -1
  421. package/ui/forms/TextField.js +33 -24
  422. package/ui/forms/TextField.js.map +1 -1
  423. package/ui/forms/checkboxes/Checkbox.d.ts +3 -1
  424. package/ui/forms/checkboxes/Checkbox.js +21 -17
  425. package/ui/forms/checkboxes/Checkbox.js.map +1 -1
  426. package/ui/forms/checkboxes/Checkboxes.d.ts +5 -0
  427. package/ui/forms/checkboxes/Checkboxes.js +8 -8
  428. package/ui/forms/checkboxes/Checkboxes.js.map +1 -1
  429. package/ui/forms/password/Password.js +19 -20
  430. package/ui/forms/password/Password.js.map +1 -1
  431. package/ui/forms/password/ValidationMessage.js +5 -5
  432. package/ui/forms/radios/Radio.d.ts +2 -1
  433. package/ui/forms/radios/Radio.js +6 -3
  434. package/ui/forms/radios/Radio.js.map +1 -1
  435. package/ui/forms/radios/RadioGroup.js +5 -6
  436. package/ui/forms/radios/RadioGroup.js.map +1 -1
  437. package/ui/frame/Frame.d.ts +8 -0
  438. package/ui/frame/Frame.js +16 -0
  439. package/ui/frame/Frame.js.map +1 -0
  440. package/ui/frame/FrameLabelsWrapper.d.ts +5 -0
  441. package/ui/frame/FrameLabelsWrapper.js +12 -0
  442. package/ui/frame/FrameLabelsWrapper.js.map +1 -0
  443. package/ui/frame/FrameTitle.d.ts +7 -0
  444. package/ui/frame/FrameTitle.js +25 -0
  445. package/ui/frame/FrameTitle.js.map +1 -0
  446. package/ui/frame/FrameWrapper.d.ts +6 -0
  447. package/ui/frame/FrameWrapper.js +14 -0
  448. package/ui/frame/FrameWrapper.js.map +1 -0
  449. package/ui/frame/SliderFrame.d.ts +14 -0
  450. package/ui/frame/SliderFrame.js +50 -0
  451. package/ui/frame/SliderFrame.js.map +1 -0
  452. package/ui/helpers/cn.d.ts +2 -0
  453. package/ui/helpers/cn.js +10 -0
  454. package/ui/helpers/cn.js.map +1 -0
  455. package/ui/helpers/phone/defaultPrefixes.d.ts +1 -0
  456. package/ui/helpers/phone/defaultPrefixes.js +52 -28
  457. package/ui/helpers/phone/defaultPrefixes.js.map +1 -1
  458. package/ui/helpers/phone/formatters.d.ts +11 -0
  459. package/ui/helpers/phone/formatters.js +32 -1
  460. package/ui/helpers/phone/formatters.js.map +1 -1
  461. package/ui/helpers/phone/index.d.ts +1 -1
  462. package/ui/helpers/phone/index.js +3 -3
  463. package/ui/hooks/useIsClient.d.ts +1 -0
  464. package/ui/hooks/useIsClient.js +12 -0
  465. package/ui/hooks/useIsClient.js.map +1 -0
  466. package/ui/hooks/useValue.d.ts +3 -4
  467. package/ui/hooks/useValue.js +11 -11
  468. package/ui/hooks/useValue.js.map +1 -1
  469. package/ui/journey-card/FlightSegmentCard.d.ts +15 -0
  470. package/ui/journey-card/FlightSegmentCard.js +73 -0
  471. package/ui/journey-card/FlightSegmentCard.js.map +1 -0
  472. package/ui/journey-card/FlightTimeline.d.ts +5 -0
  473. package/ui/journey-card/FlightTimeline.js +27 -0
  474. package/ui/journey-card/FlightTimeline.js.map +1 -0
  475. package/ui/journey-card/ItineraryDetails.d.ts +9 -0
  476. package/ui/journey-card/ItineraryDetails.js +40 -0
  477. package/ui/journey-card/ItineraryDetails.js.map +1 -0
  478. package/ui/journey-card/JourneyCard.d.ts +17 -0
  479. package/ui/journey-card/JourneyCard.js +34 -0
  480. package/ui/journey-card/JourneyCard.js.map +1 -0
  481. package/ui/journey-card/JourneyDetails.d.ts +47 -0
  482. package/ui/journey-card/JourneyDetails.js +183 -0
  483. package/ui/journey-card/JourneyDetails.js.map +1 -0
  484. package/ui/tabs/Tabs.d.ts +5 -1
  485. package/ui/tabs/Tabs.js +208 -124
  486. package/ui/tabs/Tabs.js.map +1 -1
package/chunks/Day.js ADDED
@@ -0,0 +1,88 @@
1
+ "use client";
2
+ import { t as e } from "./clsx.js";
3
+ import { i as t } from "./addLeadingZeros.js";
4
+ import { o as n, t as r } from "./format.js";
5
+ import { t as i } from "./isBefore.js";
6
+ import { createContext as a, useContext as o } from "react";
7
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
8
+ //#region ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isEqual.js
9
+ function u(e, n) {
10
+ return +t(e) == +t(n);
11
+ }
12
+ //#endregion
13
+ //#region ../../node_modules/.pnpm/react-day-picker@9.13.0_react@19.2.4/node_modules/react-day-picker/dist/esm/useDayPicker.js
14
+ var d = a(void 0);
15
+ function f() {
16
+ let e = o(d);
17
+ if (e === void 0) throw Error("useDayPicker() must be used within a custom component.");
18
+ return e;
19
+ }
20
+ //#endregion
21
+ //#region lib/ui/Day.tsx
22
+ var p = 5.5, m = 45, h = (e = "default", t, n) => {
23
+ if (t) return { thDay: "" };
24
+ if (n) return { thDay: "rounded-8 bg-sand text-middleGrey opacity-60" };
25
+ switch (e) {
26
+ case "green": return { thDay: "bg-green rounded-pill text-white" };
27
+ case "orange": return { thDay: "bg-orange rounded-8 text-white" };
28
+ case "outline": return { thDay: "bg-white rounded-8 border border-black" };
29
+ default: return { thDay: "" };
30
+ }
31
+ }, g = ({ date: t, disabled: r, formatDurationsLabel: a, selected: o }) => {
32
+ let s = f().selected;
33
+ if (!a || r || !s || typeof s != "object" || !("from" in s) || !s.from && !s.to || s.to && s.from && !u(s.to, t)) return null;
34
+ let { from: d, to: p } = s;
35
+ if (i(t, d ?? p)) return null;
36
+ let m = n(p && u(p, t) ? p : t, d ?? p);
37
+ if (m <= 0) return null;
38
+ let h = a(m);
39
+ return /* @__PURE__ */ l("div", {
40
+ className: e("pointer-events-none absolute bottom-full left-1/2 isolate mb-10 -translate-x-1/2", { "hidden group-hover:block": !o }),
41
+ children: [/* @__PURE__ */ c("div", {
42
+ className: "rounded-8 text-b4 relative flex items-center justify-center border bg-white p-8 text-center font-sans whitespace-nowrap text-black",
43
+ children: h
44
+ }), /* @__PURE__ */ c("div", { className: "absolute top-full left-1/2 z-1 size-10 -translate-x-1/2 -translate-y-1/2 rotate-45 border-r border-b bg-white" })]
45
+ });
46
+ }, _ = ({ children: t, dateTime: n, disabled: r, label: i, price: a, selected: o, status: u }) => {
47
+ let { thDay: d } = h(u, o, r);
48
+ return /* @__PURE__ */ l(s, { children: [
49
+ /* @__PURE__ */ c("time", {
50
+ className: e("text-b3 mx-auto flex size-27 items-center justify-center leading-none font-semibold", d),
51
+ dateTime: n,
52
+ children: t
53
+ }),
54
+ a != null && !o && /* @__PURE__ */ c("span", {
55
+ className: "text-b6 mt-4 flex items-center justify-center font-semibold",
56
+ style: { scale: `calc(${m} / max(${a.length * p}, ${m}))` },
57
+ children: a
58
+ }),
59
+ i && /* @__PURE__ */ l("span", {
60
+ className: "sr-only",
61
+ children: ["\xA0", i]
62
+ })
63
+ ] });
64
+ }, v = ({ formatDurationsLabel: e, label: t, price: n, status: i, day: a, modifiers: o, className: s, ...u }) => {
65
+ let d = o?.selected ?? !1, f = o?.disabled ?? !1, p = r(a.date, "yyyy-MM-dd");
66
+ return /* @__PURE__ */ l("button", {
67
+ className: s,
68
+ ...u,
69
+ children: [/* @__PURE__ */ c(_, {
70
+ dateTime: p,
71
+ disabled: f,
72
+ label: t,
73
+ price: n,
74
+ selected: d,
75
+ status: i,
76
+ children: a.date.getDate()
77
+ }), /* @__PURE__ */ c(g, {
78
+ date: a.date,
79
+ formatDurationsLabel: e,
80
+ disabled: f,
81
+ selected: d
82
+ })]
83
+ });
84
+ };
85
+ //#endregion
86
+ export { f as i, _ as n, d as r, v as t };
87
+
88
+ //# sourceMappingURL=Day.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Day.js","names":[],"sources":["../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isEqual.js","../../../../node_modules/.pnpm/react-day-picker@9.13.0_react@19.2.4/node_modules/react-day-picker/dist/esm/useDayPicker.js","../../lib/ui/Day.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The dates are equal\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nexport function isEqual(leftDate, rightDate) {\n return +toDate(leftDate) === +toDate(rightDate);\n}\n\n// Fallback for modularized imports:\nexport default isEqual;\n","import { createContext, useContext } from \"react\";\n/** @ignore */\nexport const dayPickerContext = createContext(undefined);\n/**\n * Provides access to the DayPicker context, which includes properties and\n * methods to interact with the DayPicker component. This hook must be used\n * within a custom component.\n *\n * @template T - Use this type to refine the returned context type with a\n * specific selection mode.\n * @returns The context to work with DayPicker.\n * @throws {Error} If the hook is used outside of a DayPicker provider.\n * @group Hooks\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function useDayPicker() {\n const context = useContext(dayPickerContext);\n if (context === undefined) {\n throw new Error(\"useDayPicker() must be used within a custom component.\");\n }\n return context;\n}\n","'use client';\nimport clsx from 'clsx';\nimport { differenceInCalendarDays, format, isBefore, isEqual } from 'date-fns';\nimport type { ButtonHTMLAttributes, FunctionComponent, PropsWithChildren } from 'react';\nimport type { DayButtonProps } from 'react-day-picker';\nimport { useDayPicker } from 'react-day-picker';\n\nexport interface DayDataProps {\n /** Date in 'yyyy-MM-dd' format */\n id: string;\n price: string | null;\n status: 'default' | 'green' | 'orange' | 'outline';\n}\n\nexport interface DayProps {\n formatDurationsLabel?: (count: number) => string;\n label?: string;\n price?: string | null;\n status?: DayDataProps['status'];\n}\n\ninterface InternalDayProps {\n dateTime: string;\n disabled?: boolean;\n label?: string;\n price?: string | null;\n selected?: boolean;\n status?: DayDataProps['status'];\n}\n\nconst APPROXIMATED_CHAR_WIDTH = 5.5;\nconst APPROXIMATED_BLOCK_SIZE = 45;\n\nconst getStyle = (status = 'default', selected?: boolean, disabled?: boolean) => {\n if (selected) {\n return { thDay: '' };\n }\n if (disabled) {\n return { thDay: 'rounded-8 bg-sand text-middleGrey opacity-60' };\n }\n switch (status) {\n case 'green':\n return { thDay: 'bg-green rounded-pill text-white' };\n case 'orange':\n return { thDay: 'bg-orange rounded-8 text-white' };\n case 'outline':\n return { thDay: 'bg-white rounded-8 border border-black' };\n default:\n return { thDay: '' };\n }\n};\n\ninterface DateRange {\n from?: Date;\n to?: Date;\n}\n\nconst DurationTooltip = ({\n date,\n disabled,\n formatDurationsLabel,\n selected,\n}: {\n date: Date;\n disabled?: boolean;\n formatDurationsLabel?: (count: number) => string;\n selected?: boolean;\n}) => {\n const context = useDayPicker();\n const selectedDate = context.selected as DateRange | undefined;\n\n if (\n !formatDurationsLabel ||\n disabled ||\n !selectedDate ||\n typeof selectedDate !== 'object' ||\n !('from' in selectedDate) ||\n (!selectedDate.from && !selectedDate.to) ||\n (selectedDate.to && selectedDate.from && !isEqual(selectedDate.to, date))\n ) {\n return null;\n }\n\n const { from, to } = selectedDate;\n\n if (isBefore(date, from ?? to!)) {\n return null;\n }\n\n const nights = differenceInCalendarDays(to && isEqual(to, date) ? to : date, from ?? to!);\n\n if (nights <= 0) {\n return null;\n }\n\n const label = formatDurationsLabel(nights);\n return (\n <div\n className={clsx(\n 'pointer-events-none absolute bottom-full left-1/2 isolate mb-10 -translate-x-1/2',\n { 'hidden group-hover:block': !selected },\n )}\n >\n <div className=\"rounded-8 text-b4 relative flex items-center justify-center border bg-white p-8 text-center font-sans whitespace-nowrap text-black\">\n {label}\n </div>\n <div className=\"absolute top-full left-1/2 z-1 size-10 -translate-x-1/2 -translate-y-1/2 rotate-45 border-r border-b bg-white\" />\n </div>\n );\n};\n\nexport const _Day: FunctionComponent<PropsWithChildren<InternalDayProps>> = ({\n children,\n dateTime,\n disabled,\n label,\n price,\n selected,\n status,\n}) => {\n const { thDay } = getStyle(status, selected, disabled);\n\n return (\n <>\n <time\n className={clsx(\n 'text-b3 mx-auto flex size-27 items-center justify-center leading-none font-semibold',\n thDay,\n )}\n dateTime={dateTime}\n >\n {children}\n </time>\n {price != null && !selected && (\n <span\n className=\"text-b6 mt-4 flex items-center justify-center font-semibold\"\n style={{\n scale: `calc(${APPROXIMATED_BLOCK_SIZE} / max(${\n price.length * APPROXIMATED_CHAR_WIDTH\n }, ${APPROXIMATED_BLOCK_SIZE}))`,\n }}\n >\n {price}\n </span>\n )}\n {label && <span className=\"sr-only\">&nbsp;{label}</span>}\n </>\n );\n};\n\nexport const Day: FunctionComponent<DayProps & DayButtonProps> = ({\n formatDurationsLabel,\n label,\n price,\n status,\n day,\n modifiers,\n className,\n ...buttonProps\n}) => {\n const selected = modifiers?.selected ?? false;\n const disabled = modifiers?.disabled ?? false;\n const dateTime = format(day.date, 'yyyy-MM-dd');\n\n return (\n <button className={className} {...(buttonProps as ButtonHTMLAttributes<HTMLButtonElement>)}>\n <_Day\n dateTime={dateTime}\n disabled={disabled}\n label={label}\n price={price}\n selected={selected}\n status={status}\n >\n {day.date.getDate()}\n </_Day>\n <DurationTooltip\n date={day.date}\n formatDurationsLabel={formatDurationsLabel}\n disabled={disabled}\n selected={selected}\n />\n </button>\n );\n};\n"],"x_google_ignoreList":[0,1],"mappings":";;;;;;;;AAuBA,SAAgB,EAAQ,GAAU,GAAW;AAC3C,QAAO,CAAC,EAAO,EAAS,IAAK,CAAC,EAAO,EAAU;;;;ACtBjD,IAAa,IAAmB,EAAc,KAAA,EAAU;AAaxD,SAAgB,IAAe;CAC3B,IAAM,IAAU,EAAW,EAAiB;AAC5C,KAAI,MAAY,KAAA,EACZ,OAAU,MAAM,yDAAyD;AAE7E,QAAO;;;;ACUX,IAAM,IAA0B,KAC1B,IAA0B,IAE1B,KAAY,IAAS,WAAW,GAAoB,MAAuB;AAC/E,KAAI,EACF,QAAO,EAAE,OAAO,IAAI;AAEtB,KAAI,EACF,QAAO,EAAE,OAAO,gDAAgD;AAElE,SAAQ,GAAR;EACE,KAAK,QACH,QAAO,EAAE,OAAO,oCAAoC;EACtD,KAAK,SACH,QAAO,EAAE,OAAO,kCAAkC;EACpD,KAAK,UACH,QAAO,EAAE,OAAO,0CAA0C;EAC5D,QACE,QAAO,EAAE,OAAO,IAAI;;GASpB,KAAmB,EACvB,SACA,aACA,yBACA,kBAMI;CAEJ,IAAM,IADU,GAAc,CACD;AAE7B,KACE,CAAC,KACD,KACA,CAAC,KACD,OAAO,KAAiB,YACxB,EAAE,UAAU,MACX,CAAC,EAAa,QAAQ,CAAC,EAAa,MACpC,EAAa,MAAM,EAAa,QAAQ,CAAC,EAAQ,EAAa,IAAI,EAAK,CAExE,QAAO;CAGT,IAAM,EAAE,SAAM,UAAO;AAErB,KAAI,EAAS,GAAM,KAAQ,EAAI,CAC7B,QAAO;CAGT,IAAM,IAAS,EAAyB,KAAM,EAAQ,GAAI,EAAK,GAAG,IAAK,GAAM,KAAQ,EAAI;AAEzF,KAAI,KAAU,EACZ,QAAO;CAGT,IAAM,IAAQ,EAAqB,EAAO;AAC1C,QACE,kBAAC,OAAD;EACE,WAAW,EACT,oFACA,EAAE,4BAA4B,CAAC,GAAU,CAC1C;YAJH,CAME,kBAAC,OAAD;GAAK,WAAU;aACZ;GACG,CAAA,EACN,kBAAC,OAAD,EAAK,WAAU,iHAAkH,CAAA,CAAA;;GAK1H,KAAgE,EAC3E,aACA,aACA,aACA,UACA,UACA,aACA,gBACI;CACJ,IAAM,EAAE,aAAU,EAAS,GAAQ,GAAU,EAAS;AAEtD,QACE,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,QAAD;GACE,WAAW,EACT,uFACA,EACD;GACS;GAET;GACI,CAAA;EACN,KAAS,QAAQ,CAAC,KACjB,kBAAC,QAAD;GACE,WAAU;GACV,OAAO,EACL,OAAO,QAAQ,EAAwB,SACrC,EAAM,SAAS,EAChB,IAAI,EAAwB,KAC9B;aAEA;GACI,CAAA;EAER,KAAS,kBAAC,QAAD;GAAM,WAAU;aAAhB,CAA0B,QAAO,EAAA;;EAC1C,EAAA,CAAA;GAIM,KAAqD,EAChE,yBACA,UACA,UACA,WACA,QACA,cACA,cACA,GAAG,QACC;CACJ,IAAM,IAAW,GAAW,YAAY,IAClC,IAAW,GAAW,YAAY,IAClC,IAAW,EAAO,EAAI,MAAM,aAAa;AAE/C,QACE,kBAAC,UAAD;EAAmB;EAAW,GAAK;YAAnC,CACE,kBAAC,GAAD;GACY;GACA;GACH;GACA;GACG;GACF;aAEP,EAAI,KAAK,SAAA;GACL,CAAA,EACP,kBAAC,GAAD;GACE,MAAM,EAAI;GACY;GACZ;GACA;GACV,CAAA,CAAA"}
package/chunks/Range.js CHANGED
@@ -124,8 +124,8 @@ var m = [
124
124
  let i = r(), { ariaLabel: a, className: l, dataTestId: d = "range", id: f = i, name: p = f, singleCursorMode: m = !1, min: h = 0, options: g = [], step: _ = 1, readOnly: v, disabled: y, onChange: b, ...x } = n, [S, C] = o(g.length - 1), [w, T] = o(h), [E, { width: D }] = u({ polyfill: t }), O = (e) => {
125
125
  if (!v) {
126
126
  e.persist();
127
- let t = Number(e.target.value);
128
- e.target.id[e.target.id.length - 1] === "a" ? C(t) : T(t), b && b(p, [S, w]);
127
+ let t = Number(e.target.value), n = e.target.id[e.target.id.length - 1];
128
+ n === "a" ? C(t) : T(t), b && b(e.nativeEvent, n === "a" ? [t, w] : [S, t]);
129
129
  }
130
130
  };
131
131
  return /* @__PURE__ */ c("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"Range.js","names":["T","p","M","u"],"sources":["../../../../node_modules/.pnpm/react-use-measure@2.1.7_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-use-measure/dist/index.js","../../lib/ui/forms/Range.tsx"],"sourcesContent":["import{useState as T,useRef as p,useEffect as u,useMemo as M}from\"react\";function g(n,t){let o;return(...i)=>{window.clearTimeout(o),o=window.setTimeout(()=>n(...i),t)}}function j({debounce:n,scroll:t,polyfill:o,offsetSize:i}={debounce:0,scroll:!1,offsetSize:!1}){const a=o||(typeof window==\"undefined\"?class{}:window.ResizeObserver);if(!a)throw new Error(\"This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills\");const[c,h]=T({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),e=p({element:null,scrollContainers:null,resizeObserver:null,lastBounds:c,orientationHandler:null}),d=n?typeof n==\"number\"?n:n.scroll:null,f=n?typeof n==\"number\"?n:n.resize:null,w=p(!1);u(()=>(w.current=!0,()=>void(w.current=!1)));const[z,m,s]=M(()=>{const r=()=>{if(!e.current.element)return;const{left:y,top:C,width:H,height:O,bottom:S,right:x,x:B,y:R}=e.current.element.getBoundingClientRect(),l={left:y,top:C,width:H,height:O,bottom:S,right:x,x:B,y:R};e.current.element instanceof HTMLElement&&i&&(l.height=e.current.element.offsetHeight,l.width=e.current.element.offsetWidth),Object.freeze(l),w.current&&!D(e.current.lastBounds,l)&&h(e.current.lastBounds=l)};return[r,f?g(r,f):r,d?g(r,d):r]},[h,i,d,f]);function v(){e.current.scrollContainers&&(e.current.scrollContainers.forEach(r=>r.removeEventListener(\"scroll\",s,!0)),e.current.scrollContainers=null),e.current.resizeObserver&&(e.current.resizeObserver.disconnect(),e.current.resizeObserver=null),e.current.orientationHandler&&(\"orientation\"in screen&&\"removeEventListener\"in screen.orientation?screen.orientation.removeEventListener(\"change\",e.current.orientationHandler):\"onorientationchange\"in window&&window.removeEventListener(\"orientationchange\",e.current.orientationHandler))}function b(){e.current.element&&(e.current.resizeObserver=new a(s),e.current.resizeObserver.observe(e.current.element),t&&e.current.scrollContainers&&e.current.scrollContainers.forEach(r=>r.addEventListener(\"scroll\",s,{capture:!0,passive:!0})),e.current.orientationHandler=()=>{s()},\"orientation\"in screen&&\"addEventListener\"in screen.orientation?screen.orientation.addEventListener(\"change\",e.current.orientationHandler):\"onorientationchange\"in window&&window.addEventListener(\"orientationchange\",e.current.orientationHandler))}const L=r=>{!r||r===e.current.element||(v(),e.current.element=r,e.current.scrollContainers=E(r),b())};return X(s,!!t),W(m),u(()=>{v(),b()},[t,s,m]),u(()=>v,[]),[L,c,z]}function W(n){u(()=>{const t=n;return window.addEventListener(\"resize\",t),()=>void window.removeEventListener(\"resize\",t)},[n])}function X(n,t){u(()=>{if(t){const o=n;return window.addEventListener(\"scroll\",o,{capture:!0,passive:!0}),()=>void window.removeEventListener(\"scroll\",o,!0)}},[n,t])}function E(n){const t=[];if(!n||n===document.body)return t;const{overflow:o,overflowX:i,overflowY:a}=window.getComputedStyle(n);return[o,i,a].some(c=>c===\"auto\"||c===\"scroll\")&&t.push(n),[...t,...E(n.parentElement)]}const k=[\"x\",\"y\",\"top\",\"bottom\",\"left\",\"right\",\"width\",\"height\"],D=(n,t)=>k.every(o=>n[o]===t[o]);export{j as default};\n//# sourceMappingURL=index.js.map\n","import { ResizeObserver } from '@juggle/resize-observer';\nimport clsx from 'clsx';\nimport {\n type ChangeEvent,\n type CSSProperties,\n type InputHTMLAttributes,\n useId,\n useState,\n} from 'react';\n\nimport useMeasure from 'react-use-measure';\n\ninterface RangeProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n /**\n * Aria label\n * @default 'Range'\n * */\n ariaLabel?: string;\n /**\n * Additional class names\n * */\n className?: string;\n /**\n * Data test id\n * */\n dataTestId?: string;\n /**\n * Single cursor mode\n * @default false\n * */\n singleCursorMode?: boolean;\n /**\n * Min value\n * @default 0\n * */\n min?: number;\n /**\n * On change\n * */\n onChange?: (name: string, value: number[]) => void;\n /**\n * Options\n * @default []\n * */\n options: { value: number; label: string }[];\n}\n\nexport const Range = (props: RangeProps) => {\n const internalId = useId();\n\n const {\n ariaLabel,\n className,\n dataTestId = 'range',\n id = internalId,\n name = id,\n singleCursorMode = false,\n min = 0,\n options = [],\n step = 1,\n readOnly,\n disabled,\n onChange,\n ...rest\n } = props;\n\n const [valueA, setValueA] = useState(options.length - 1);\n const [valueB, setValueB] = useState(min);\n const [containerRef, { width }] = useMeasure({ polyfill: ResizeObserver });\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (!readOnly) {\n e.persist();\n const inputValue = Number(e.target.value);\n const inputId = e.target.id[e.target.id.length - 1];\n\n if (inputId === 'a') {\n setValueA(inputValue);\n } else {\n setValueB(inputValue);\n }\n\n if (onChange) {\n onChange(name, [valueA, valueB]);\n }\n }\n };\n\n return (\n <div\n style={\n {\n '--min': min,\n '--max': options.length - 1,\n '--inputWidth': `${width}px`,\n '--inputHeight': '4px',\n '--thumbWidth': '32px',\n '--usefulWidth': 'calc(var(--inputWidth) - var(--thumbWidth))',\n '--valueA': valueA,\n '--valueB': valueB,\n } as CSSProperties\n }\n className={clsx('relative w-full', className)}\n data-testid={dataTestId}\n data-name=\"Range\"\n ref={containerRef}\n >\n <div className=\"input-range-container\">\n <input\n {...rest}\n aria-label={ariaLabel}\n className=\"input-range\"\n id={`${id}-a`}\n max={options.length - 1}\n min={min}\n name={name}\n onChange={handleChange}\n disabled={disabled}\n step={step}\n type=\"range\"\n value={valueA}\n />\n {!singleCursorMode && (\n <input\n {...rest}\n aria-label={ariaLabel}\n className=\"input-range\"\n disabled={disabled}\n id={`${id}-b`}\n max={options.length - 1}\n min={min}\n name={name}\n onChange={handleChange}\n step={step}\n type=\"range\"\n value={valueB}\n />\n )}\n </div>\n <output\n htmlFor={`${id}-a`}\n style={{ '--value': valueA } as CSSProperties}\n className=\"input-range-output\"\n >\n {options[valueA].label}\n </output>\n {!singleCursorMode && (\n <output\n htmlFor={`${id}-b`}\n style={{ '--value': valueB } as CSSProperties}\n className=\"input-range-output\"\n >\n {options[valueB].label}\n </output>\n )}\n </div>\n );\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"Range.js","names":["T","p","M","u"],"sources":["../../../../node_modules/.pnpm/react-use-measure@2.1.7_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-use-measure/dist/index.js","../../lib/ui/forms/Range.tsx"],"sourcesContent":["import{useState as T,useRef as p,useEffect as u,useMemo as M}from\"react\";function g(n,t){let o;return(...i)=>{window.clearTimeout(o),o=window.setTimeout(()=>n(...i),t)}}function j({debounce:n,scroll:t,polyfill:o,offsetSize:i}={debounce:0,scroll:!1,offsetSize:!1}){const a=o||(typeof window==\"undefined\"?class{}:window.ResizeObserver);if(!a)throw new Error(\"This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills\");const[c,h]=T({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),e=p({element:null,scrollContainers:null,resizeObserver:null,lastBounds:c,orientationHandler:null}),d=n?typeof n==\"number\"?n:n.scroll:null,f=n?typeof n==\"number\"?n:n.resize:null,w=p(!1);u(()=>(w.current=!0,()=>void(w.current=!1)));const[z,m,s]=M(()=>{const r=()=>{if(!e.current.element)return;const{left:y,top:C,width:H,height:O,bottom:S,right:x,x:B,y:R}=e.current.element.getBoundingClientRect(),l={left:y,top:C,width:H,height:O,bottom:S,right:x,x:B,y:R};e.current.element instanceof HTMLElement&&i&&(l.height=e.current.element.offsetHeight,l.width=e.current.element.offsetWidth),Object.freeze(l),w.current&&!D(e.current.lastBounds,l)&&h(e.current.lastBounds=l)};return[r,f?g(r,f):r,d?g(r,d):r]},[h,i,d,f]);function v(){e.current.scrollContainers&&(e.current.scrollContainers.forEach(r=>r.removeEventListener(\"scroll\",s,!0)),e.current.scrollContainers=null),e.current.resizeObserver&&(e.current.resizeObserver.disconnect(),e.current.resizeObserver=null),e.current.orientationHandler&&(\"orientation\"in screen&&\"removeEventListener\"in screen.orientation?screen.orientation.removeEventListener(\"change\",e.current.orientationHandler):\"onorientationchange\"in window&&window.removeEventListener(\"orientationchange\",e.current.orientationHandler))}function b(){e.current.element&&(e.current.resizeObserver=new a(s),e.current.resizeObserver.observe(e.current.element),t&&e.current.scrollContainers&&e.current.scrollContainers.forEach(r=>r.addEventListener(\"scroll\",s,{capture:!0,passive:!0})),e.current.orientationHandler=()=>{s()},\"orientation\"in screen&&\"addEventListener\"in screen.orientation?screen.orientation.addEventListener(\"change\",e.current.orientationHandler):\"onorientationchange\"in window&&window.addEventListener(\"orientationchange\",e.current.orientationHandler))}const L=r=>{!r||r===e.current.element||(v(),e.current.element=r,e.current.scrollContainers=E(r),b())};return X(s,!!t),W(m),u(()=>{v(),b()},[t,s,m]),u(()=>v,[]),[L,c,z]}function W(n){u(()=>{const t=n;return window.addEventListener(\"resize\",t),()=>void window.removeEventListener(\"resize\",t)},[n])}function X(n,t){u(()=>{if(t){const o=n;return window.addEventListener(\"scroll\",o,{capture:!0,passive:!0}),()=>void window.removeEventListener(\"scroll\",o,!0)}},[n,t])}function E(n){const t=[];if(!n||n===document.body)return t;const{overflow:o,overflowX:i,overflowY:a}=window.getComputedStyle(n);return[o,i,a].some(c=>c===\"auto\"||c===\"scroll\")&&t.push(n),[...t,...E(n.parentElement)]}const k=[\"x\",\"y\",\"top\",\"bottom\",\"left\",\"right\",\"width\",\"height\"],D=(n,t)=>k.every(o=>n[o]===t[o]);export{j as default};\n//# sourceMappingURL=index.js.map\n","import { ResizeObserver } from '@juggle/resize-observer';\nimport clsx from 'clsx';\nimport {\n type ChangeEvent,\n type CSSProperties,\n type InputHTMLAttributes,\n useId,\n useState,\n} from 'react';\n\nimport useMeasure from 'react-use-measure';\n\ninterface RangeProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n /**\n * Aria label\n * @default 'Range'\n * */\n ariaLabel?: string;\n /**\n * Additional class names\n * */\n className?: string;\n /**\n * Data test id\n * */\n dataTestId?: string;\n /**\n * Single cursor mode\n * @default false\n * */\n singleCursorMode?: boolean;\n /**\n * Min value\n * @default 0\n * */\n min?: number;\n /**\n * On change\n * */\n onChange?: (event: Event, value: number[]) => void;\n /**\n * Options\n * @default []\n * */\n options: { value: number; label: string }[];\n}\n\nexport const Range = (props: RangeProps) => {\n const internalId = useId();\n\n const {\n ariaLabel,\n className,\n dataTestId = 'range',\n id = internalId,\n name = id,\n singleCursorMode = false,\n min = 0,\n options = [],\n step = 1,\n readOnly,\n disabled,\n onChange,\n ...rest\n } = props;\n\n const [valueA, setValueA] = useState(options.length - 1);\n const [valueB, setValueB] = useState(min);\n const [containerRef, { width }] = useMeasure({ polyfill: ResizeObserver });\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (!readOnly) {\n e.persist();\n const inputValue = Number(e.target.value);\n const inputId = e.target.id[e.target.id.length - 1];\n\n if (inputId === 'a') {\n setValueA(inputValue);\n } else {\n setValueB(inputValue);\n }\n\n if (onChange) {\n onChange(e.nativeEvent, inputId === 'a' ? [inputValue, valueB] : [valueA, inputValue]);\n }\n }\n };\n\n return (\n <div\n style={\n {\n '--min': min,\n '--max': options.length - 1,\n '--inputWidth': `${width}px`,\n '--inputHeight': '4px',\n '--thumbWidth': '32px',\n '--usefulWidth': 'calc(var(--inputWidth) - var(--thumbWidth))',\n '--valueA': valueA,\n '--valueB': valueB,\n } as CSSProperties\n }\n className={clsx('relative w-full', className)}\n data-testid={dataTestId}\n data-name=\"Range\"\n ref={containerRef}\n >\n <div className=\"input-range-container\">\n <input\n {...rest}\n aria-label={ariaLabel}\n className=\"input-range\"\n id={`${id}-a`}\n max={options.length - 1}\n min={min}\n name={name}\n onChange={handleChange}\n disabled={disabled}\n step={step}\n type=\"range\"\n value={valueA}\n />\n {!singleCursorMode && (\n <input\n {...rest}\n aria-label={ariaLabel}\n className=\"input-range\"\n disabled={disabled}\n id={`${id}-b`}\n max={options.length - 1}\n min={min}\n name={name}\n onChange={handleChange}\n step={step}\n type=\"range\"\n value={valueB}\n />\n )}\n </div>\n <output\n htmlFor={`${id}-a`}\n style={{ '--value': valueA } as CSSProperties}\n className=\"input-range-output\"\n >\n {options[valueA].label}\n </output>\n {!singleCursorMode && (\n <output\n htmlFor={`${id}-b`}\n style={{ '--value': valueB } as CSSProperties}\n className=\"input-range-output\"\n >\n {options[valueB].label}\n </output>\n )}\n </div>\n );\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}