@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
@@ -22,6 +22,7 @@ function c() {
22
22
  selected: 1,
23
23
  children: [
24
24
  /* @__PURE__ */ o(r, {
25
+ "aria-label": "Choose a tab",
25
26
  className: "md:hidden w-full",
26
27
  items: c
27
28
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-with-select-demo.js","names":[],"sources":["../../lib/examples/tabs-with-select-demo.tsx"],"sourcesContent":["import { Tab, TabList, TabPanel, Tabs, TabsBody, TabSelect } from '../ui/tabs/Tabs';\n\nexport default function TabsWithSelectDemo() {\n const tabs = new Array(3).fill(undefined).map((_, n) => ({ label: `${n + 1}`, value: n + 1 }));\n\n const bgs = (count: number) => {\n switch (count % 3) {\n case 0:\n return 'bg-lightSand';\n case 1:\n return 'bg-saffron';\n case 2:\n return 'bg-lavender';\n default:\n return 'bg-sienna';\n }\n };\n return (\n <Tabs className=\"w-full\" selected={1}>\n <TabSelect className=\"md:hidden w-full\" items={tabs} />\n <TabList className=\"hidden md:flex\">\n {tabs.map((tab) => {\n return <Tab key={tab.label} label={`Tab - ${tab.label}`} value={tab.value} />;\n })}\n </TabList>\n <TabsBody>\n {tabs.map((tab) => {\n return (\n <TabPanel key={tab.label} value={tab.value}>\n <div className={`p-16 ${bgs(tab.value)}`}>Panel - {tab.label}</div>\n </TabPanel>\n );\n })}\n </TabsBody>\n </Tabs>\n );\n}\n"],"mappings":";;;AAEA,SAAwB,IAAqB;CAC3C,IAAM,IAAO;;;;EAAY,CAAC,KAAK,KAAA,EAAU,CAAC,KAAK,GAAG,OAAO;EAAE,OAAO,GAAG,IAAI;EAAK,OAAO,IAAI;EAAG,EAAE,EAExF,KAAO,MAAkB;AAC7B,UAAQ,IAAQ,GAAhB;GACE,KAAK,EACH,QAAO;GACT,KAAK,EACH,QAAO;GACT,KAAK,EACH,QAAO;GACT,QACE,QAAO;;;AAGb,QACE,kBAAC,GAAD;EAAM,WAAU;EAAS,UAAU;YAAnC;GACE,kBAAC,GAAD;IAAW,WAAU;IAAmB,OAAO;IAAQ,CAAA;GACvD,kBAAC,GAAD;IAAS,WAAU;cAChB,EAAK,KAAK,MACF,kBAAC,GAAD;KAAqB,OAAO,SAAS,EAAI;KAAS,OAAO,EAAI;KAAS,EAA5D,EAAI,MAAwD,CAC7E;IACM,CAAA;GACV,kBAAC,GAAD,EAAA,UACG,EAAK,KAAK,MAEP,kBAAC,GAAD;IAA0B,OAAO,EAAI;cACnC,kBAAC,OAAD;KAAK,WAAW,QAAQ,EAAI,EAAI,MAAM;eAAtC,CAA0C,YAAS,EAAI,MAAY;;IAC1D,EAFI,EAAI,MAER,CAEb,EACO,CAAA;GACN"}
1
+ {"version":3,"file":"tabs-with-select-demo.js","names":[],"sources":["../../lib/examples/tabs-with-select-demo.tsx"],"sourcesContent":["import { Tab, TabList, TabPanel, Tabs, TabsBody, TabSelect } from '../ui/tabs/Tabs';\n\nexport default function TabsWithSelectDemo() {\n const tabs = new Array(3).fill(undefined).map((_, n) => ({ label: `${n + 1}`, value: n + 1 }));\n\n const bgs = (count: number) => {\n switch (count % 3) {\n case 0:\n return 'bg-lightSand';\n case 1:\n return 'bg-saffron';\n case 2:\n return 'bg-lavender';\n default:\n return 'bg-sienna';\n }\n };\n return (\n <Tabs className=\"w-full\" selected={1}>\n <TabSelect aria-label=\"Choose a tab\" className=\"md:hidden w-full\" items={tabs} />\n <TabList className=\"hidden md:flex\">\n {tabs.map((tab) => {\n return <Tab key={tab.label} label={`Tab - ${tab.label}`} value={tab.value} />;\n })}\n </TabList>\n <TabsBody>\n {tabs.map((tab) => {\n return (\n <TabPanel key={tab.label} value={tab.value}>\n <div className={`p-16 ${bgs(tab.value)}`}>Panel - {tab.label}</div>\n </TabPanel>\n );\n })}\n </TabsBody>\n </Tabs>\n );\n}\n"],"mappings":";;;AAEA,SAAwB,IAAqB;CAC3C,IAAM,IAAO;;;;EAAY,CAAC,KAAK,KAAA,EAAU,CAAC,KAAK,GAAG,OAAO;EAAE,OAAO,GAAG,IAAI;EAAK,OAAO,IAAI;EAAG,EAAE,EAExF,KAAO,MAAkB;AAC7B,UAAQ,IAAQ,GAAhB;GACE,KAAK,EACH,QAAO;GACT,KAAK,EACH,QAAO;GACT,KAAK,EACH,QAAO;GACT,QACE,QAAO;;;AAGb,QACE,kBAAC,GAAD;EAAM,WAAU;EAAS,UAAU;YAAnC;GACE,kBAAC,GAAD;IAAW,cAAW;IAAe,WAAU;IAAmB,OAAO;IAAQ,CAAA;GACjF,kBAAC,GAAD;IAAS,WAAU;cAChB,EAAK,KAAK,MACF,kBAAC,GAAD;KAAqB,OAAO,SAAS,EAAI;KAAS,OAAO,EAAI;KAAS,EAA5D,EAAI,MAAwD,CAC7E;IACM,CAAA;GACV,kBAAC,GAAD,EAAA,UACG,EAAK,KAAK,MAEP,kBAAC,GAAD;IAA0B,OAAO,EAAI;cACnC,kBAAC,OAAD;KAAK,WAAW,QAAQ,EAAI,EAAI,MAAM;eAAtC,CAA0C,YAAS,EAAI,MAAY;;IAC1D,EAFI,EAAI,MAER,CAEb,EACO,CAAA;GACN"}
@@ -7,12 +7,14 @@ function r() {
7
7
  className: "flex flex-col gap-16",
8
8
  children: [
9
9
  /* @__PURE__ */ t(e, {
10
+ name: "email",
10
11
  label: "Email Address",
11
12
  description: "Enter your email address",
12
13
  placeholder: "you@example.com",
13
14
  className: "max-w-sm"
14
15
  }),
15
16
  /* @__PURE__ */ t(e, {
17
+ name: "disabled",
16
18
  label: "Disabled",
17
19
  description: "This field is disabled",
18
20
  placeholder: "Disabled input",
@@ -20,6 +22,7 @@ function r() {
20
22
  className: "max-w-sm"
21
23
  }),
22
24
  /* @__PURE__ */ t(e, {
25
+ name: "search",
23
26
  label: "With Icon",
24
27
  description: "This field has an icon",
25
28
  placeholder: "Search...",
@@ -28,14 +31,17 @@ function r() {
28
31
  validationStatus: "success"
29
32
  }),
30
33
  /* @__PURE__ */ t(e, {
34
+ name: "error",
31
35
  label: "Error",
32
36
  description: "This field has an error message",
33
37
  placeholder: "Enter your text",
34
38
  className: "max-w-sm",
39
+ clear: "eke",
35
40
  validationStatus: "error",
36
41
  errorMessage: "This is an error message"
37
42
  }),
38
43
  /* @__PURE__ */ t(e, {
44
+ name: "success",
39
45
  label: "Success",
40
46
  description: "This field has a success message",
41
47
  placeholder: "Enter your text",
@@ -1 +1 @@
1
- {"version":3,"file":"text-field-demo.js","names":[],"sources":["../../lib/examples/text-field-demo.tsx"],"sourcesContent":["'use client';\n\nimport { TextField } from '@/ui/forms/TextField';\n\nexport default function TextFieldDemo() {\n return (\n <div className=\"flex flex-col gap-16\">\n <TextField\n label=\"Email Address\"\n description=\"Enter your email address\"\n placeholder=\"you@example.com\"\n className=\"max-w-sm\"\n />\n <TextField\n label=\"Disabled\"\n description=\"This field is disabled\"\n placeholder=\"Disabled input\"\n disabled\n className=\"max-w-sm\"\n />\n <TextField\n label=\"With Icon\"\n description=\"This field has an icon\"\n placeholder=\"Search...\"\n icon=\"PeopleSingle\"\n className=\"max-w-sm\"\n validationStatus=\"success\"\n />\n <TextField\n label=\"Error\"\n description=\"This field has an error message\"\n placeholder=\"Enter your text\"\n className=\"max-w-sm\"\n validationStatus=\"error\"\n errorMessage=\"This is an error message\"\n />\n <TextField\n label=\"Success\"\n description=\"This field has a success message\"\n placeholder=\"Enter your text\"\n className=\"max-w-sm\"\n validationStatus=\"success\"\n />\n </div>\n );\n}\n"],"mappings":";;;;AAIA,SAAwB,IAAgB;AACtC,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,GAAD;IACE,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,WAAU;IACV,CAAA;GACF,kBAAC,GAAD;IACE,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,UAAA;IACA,WAAU;IACV,CAAA;GACF,kBAAC,GAAD;IACE,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,MAAK;IACL,WAAU;IACV,kBAAiB;IACjB,CAAA;GACF,kBAAC,GAAD;IACE,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,WAAU;IACV,kBAAiB;IACjB,cAAa;IACb,CAAA;GACF,kBAAC,GAAD;IACE,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,WAAU;IACV,kBAAiB;IACjB,CAAA"}
1
+ {"version":3,"file":"text-field-demo.js","names":[],"sources":["../../lib/examples/text-field-demo.tsx"],"sourcesContent":["'use client';\n\nimport { TextField } from '@/ui/forms/TextField';\n\nexport default function TextFieldDemo() {\n return (\n <div className=\"flex flex-col gap-16\">\n <TextField\n name=\"email\"\n label=\"Email Address\"\n description=\"Enter your email address\"\n placeholder=\"you@example.com\"\n className=\"max-w-sm\"\n />\n <TextField\n name=\"disabled\"\n label=\"Disabled\"\n description=\"This field is disabled\"\n placeholder=\"Disabled input\"\n disabled\n className=\"max-w-sm\"\n />\n <TextField\n name=\"search\"\n label=\"With Icon\"\n description=\"This field has an icon\"\n placeholder=\"Search...\"\n icon=\"PeopleSingle\"\n className=\"max-w-sm\"\n validationStatus=\"success\"\n />\n <TextField\n name=\"error\"\n label=\"Error\"\n description=\"This field has an error message\"\n placeholder=\"Enter your text\"\n className=\"max-w-sm\"\n clear=\"eke\"\n validationStatus=\"error\"\n errorMessage=\"This is an error message\"\n />\n <TextField\n name=\"success\"\n label=\"Success\"\n description=\"This field has a success message\"\n placeholder=\"Enter your text\"\n className=\"max-w-sm\"\n validationStatus=\"success\"\n />\n </div>\n );\n}\n"],"mappings":";;;;AAIA,SAAwB,IAAgB;AACtC,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,GAAD;IACE,MAAK;IACL,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,WAAU;IACV,CAAA;GACF,kBAAC,GAAD;IACE,MAAK;IACL,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,UAAA;IACA,WAAU;IACV,CAAA;GACF,kBAAC,GAAD;IACE,MAAK;IACL,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,MAAK;IACL,WAAU;IACV,kBAAiB;IACjB,CAAA;GACF,kBAAC,GAAD;IACE,MAAK;IACL,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,WAAU;IACV,OAAM;IACN,kBAAiB;IACjB,cAAa;IACb,CAAA;GACF,kBAAC,GAAD;IACE,MAAK;IACL,OAAM;IACN,aAAY;IACZ,aAAY;IACZ,WAAU;IACV,kBAAiB;IACjB,CAAA"}
@@ -0,0 +1 @@
1
+ export default function ToggleDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ import { Toggle as e } from "../ui/Toggle.js";
3
+ import { useState as t } from "react";
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ //#region lib/examples/toggle-demo.tsx
6
+ function i() {
7
+ let [i, a] = t(0), o = [
8
+ "Our selection",
9
+ "Exclusive Collection",
10
+ "Safari"
11
+ ];
12
+ return /* @__PURE__ */ r("div", {
13
+ className: "space-y-16",
14
+ children: [/* @__PURE__ */ n(e, {
15
+ "aria-label": "Choose a collection",
16
+ items: [
17
+ {
18
+ color: "saffron",
19
+ label: "Our selection",
20
+ id: "id1"
21
+ },
22
+ {
23
+ color: "ultramarine",
24
+ label: "Exclusive Collection",
25
+ id: "id2"
26
+ },
27
+ {
28
+ color: "sienna",
29
+ label: "Safari",
30
+ id: "id3"
31
+ }
32
+ ],
33
+ index: i,
34
+ onClick: a
35
+ }), /* @__PURE__ */ r("p", {
36
+ className: "text-b3",
37
+ children: ["Active: ", o[i]]
38
+ })]
39
+ });
40
+ }
41
+ //#endregion
42
+ export { i as default };
43
+
44
+ //# sourceMappingURL=toggle-demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-demo.js","names":[],"sources":["../../lib/examples/toggle-demo.tsx"],"sourcesContent":["'use client';\nimport { useState } from 'react';\n\nimport { Toggle } from '@/ui/Toggle';\n\nexport default function ToggleDemo() {\n const [active, setActive] = useState(0);\n const labels = ['Our selection', 'Exclusive Collection', 'Safari'];\n\n return (\n <div className=\"space-y-16\">\n <Toggle\n aria-label=\"Choose a collection\"\n items={[\n { color: 'saffron', label: 'Our selection', id: 'id1' },\n { color: 'ultramarine', label: 'Exclusive Collection', id: 'id2' },\n { color: 'sienna', label: 'Safari', id: 'id3' },\n ]}\n index={active}\n onClick={setActive}\n />\n <p className=\"text-b3\">Active: {labels[active]}</p>\n </div>\n );\n}\n"],"mappings":";;;;;AAKA,SAAwB,IAAa;CACnC,IAAM,CAAC,GAAQ,KAAa,EAAS,EAAE,EACjC,IAAS;EAAC;EAAiB;EAAwB;EAAS;AAElE,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GACE,cAAW;GACX,OAAO;IACL;KAAE,OAAO;KAAW,OAAO;KAAiB,IAAI;KAAO;IACvD;KAAE,OAAO;KAAe,OAAO;KAAwB,IAAI;KAAO;IAClE;KAAE,OAAO;KAAU,OAAO;KAAU,IAAI;;IACzC;GACD,OAAO;GACP,SAAS;GACT,CAAA,EACF,kBAAC,KAAD;GAAG,WAAU;aAAb,CAAuB,YAAS,EAAO,GAAA"}
@@ -0,0 +1 @@
1
+ export default function ToggleSmallDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { Toggle as e } from "../ui/Toggle.js";
3
+ import { useState as t } from "react";
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ //#region lib/examples/toggle-small-demo.tsx
6
+ function i() {
7
+ let [i, a] = t(0), o = ["Year", "Month"];
8
+ return /* @__PURE__ */ r("div", {
9
+ className: "space-y-16",
10
+ children: [/* @__PURE__ */ n(e, {
11
+ "aria-label": "Choose a period",
12
+ size: "small",
13
+ items: [{
14
+ color: "saffron",
15
+ label: "Year",
16
+ id: "id1"
17
+ }, {
18
+ color: "saffron",
19
+ label: "Month",
20
+ id: "id2"
21
+ }],
22
+ index: i,
23
+ onClick: a
24
+ }), /* @__PURE__ */ r("p", {
25
+ className: "text-b3",
26
+ children: ["Active: ", o[i]]
27
+ })]
28
+ });
29
+ }
30
+ //#endregion
31
+ export { i as default };
32
+
33
+ //# sourceMappingURL=toggle-small-demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-small-demo.js","names":[],"sources":["../../lib/examples/toggle-small-demo.tsx"],"sourcesContent":["'use client';\nimport { useState } from 'react';\n\nimport { Toggle } from '@/ui/Toggle';\n\nexport default function ToggleSmallDemo() {\n const [active, setActive] = useState(0);\n const labels = ['Year', 'Month'];\n\n return (\n <div className=\"space-y-16\">\n <Toggle\n aria-label=\"Choose a period\"\n size=\"small\"\n items={[\n { color: 'saffron', label: 'Year', id: 'id1' },\n { color: 'saffron', label: 'Month', id: 'id2' },\n ]}\n index={active}\n onClick={setActive}\n />\n <p className=\"text-b3\">Active: {labels[active]}</p>\n </div>\n );\n}\n"],"mappings":";;;;;AAKA,SAAwB,IAAkB;CACxC,IAAM,CAAC,GAAQ,KAAa,EAAS,EAAE,EACjC,IAAS,CAAC,QAAQ,QAAQ;AAEhC,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GACE,cAAW;GACX,MAAK;GACL,OAAO,CACL;IAAE,OAAO;IAAW,OAAO;IAAQ,IAAI;IAAO,EAC9C;IAAE,OAAO;IAAW,OAAO;IAAS,IAAI;IAAO,CAChD;GACD,OAAO;GACP,SAAS;GACT,CAAA,EACF,kBAAC,KAAD;GAAG,WAAU;aAAb,CAAuB,YAAS,EAAO,GAAA"}
@@ -0,0 +1 @@
1
+ export default function TooltipDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,103 @@
1
+ "use client";
2
+ import { Clickable as e } from "../ui/Clickable.js";
3
+ import { i as t, n, r, t as i } from "../chunks/Tooltip.js";
4
+ import { useState as a } from "react";
5
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
+ //#region lib/examples/tooltip-demo.tsx
7
+ function c() {
8
+ let [c, l] = a(!1);
9
+ return /* @__PURE__ */ o("div", {
10
+ className: "flex flex-col gap-24 h-300",
11
+ children: /* @__PURE__ */ s(r, { children: [
12
+ "DARK MODE",
13
+ /* @__PURE__ */ s("div", {
14
+ className: "flex gap-48 items-center",
15
+ children: [
16
+ /* @__PURE__ */ s(i, { children: [/* @__PURE__ */ o(t, {
17
+ className: "underline decoration-dashed cursor-help",
18
+ children: "Hover me"
19
+ }), /* @__PURE__ */ o(n, { children: "This is a helpful tooltip" })] }),
20
+ /* @__PURE__ */ s(i, {
21
+ open: c,
22
+ children: [/* @__PURE__ */ o(t, { render: /* @__PURE__ */ o(e, {
23
+ className: "rounded-lg border-2 border-dashed border-gray-300 p-6 text-center hover:border-gray-400 hover:bg-gray-50",
24
+ onClick: () => l(!c),
25
+ children: "Click me"
26
+ }) }), /* @__PURE__ */ o(n, { children: "This tooltip opens on click" })]
27
+ }),
28
+ /* @__PURE__ */ s(i, {
29
+ open: !0,
30
+ children: [/* @__PURE__ */ o(t, {
31
+ className: "underline decoration-dashed cursor-help",
32
+ children: "Always open"
33
+ }), /* @__PURE__ */ o(n, { children: "This tooltip is always open" })]
34
+ })
35
+ ]
36
+ }),
37
+ "LIGHT MODE",
38
+ /* @__PURE__ */ s("div", {
39
+ className: "flex gap-48 items-center",
40
+ children: [
41
+ /* @__PURE__ */ s(i, { children: [/* @__PURE__ */ o(t, {
42
+ className: "underline decoration-dashed cursor-help",
43
+ children: "Hover me"
44
+ }), /* @__PURE__ */ o(n, {
45
+ theme: "light",
46
+ children: "This is a helpful tooltip"
47
+ })] }),
48
+ /* @__PURE__ */ s(i, {
49
+ open: c,
50
+ children: [/* @__PURE__ */ o(t, { render: /* @__PURE__ */ o(e, {
51
+ className: "rounded-lg border-2 border-dashed border-gray-300 p-6 text-center hover:border-gray-400 hover:bg-gray-50",
52
+ onClick: () => l(!c),
53
+ children: "Click me"
54
+ }) }), /* @__PURE__ */ o(n, {
55
+ theme: "light",
56
+ children: "This tooltip opens on click"
57
+ })]
58
+ }),
59
+ /* @__PURE__ */ s(i, {
60
+ open: !0,
61
+ children: [/* @__PURE__ */ o(t, {
62
+ className: "underline decoration-dashed cursor-help",
63
+ children: "Always open"
64
+ }), /* @__PURE__ */ o(n, {
65
+ theme: "light",
66
+ children: "This tooltip is always open"
67
+ })]
68
+ })
69
+ ]
70
+ }),
71
+ "POSITIONS",
72
+ /* @__PURE__ */ o("div", {
73
+ className: "flex gap-48 items-center",
74
+ children: /* @__PURE__ */ s(i, { children: [
75
+ /* @__PURE__ */ o(t, {
76
+ className: "underline decoration-dashed cursor-help",
77
+ children: "Hover me"
78
+ }),
79
+ /* @__PURE__ */ o(n, {
80
+ side: "top",
81
+ children: "This tooltip is on the top"
82
+ }),
83
+ /* @__PURE__ */ o(n, {
84
+ side: "bottom",
85
+ children: "This tooltip is on the bottom"
86
+ }),
87
+ /* @__PURE__ */ o(n, {
88
+ side: "right",
89
+ children: "This tooltip is on the right"
90
+ }),
91
+ /* @__PURE__ */ o(n, {
92
+ side: "left",
93
+ children: "This tooltip is on the left"
94
+ })
95
+ ] })
96
+ })
97
+ ] })
98
+ });
99
+ }
100
+ //#endregion
101
+ export { c as default };
102
+
103
+ //# sourceMappingURL=tooltip-demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-demo.js","names":[],"sources":["../../lib/examples/tooltip-demo.tsx"],"sourcesContent":["'use client';\n\nimport { useState } from 'react';\nimport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from '@/ui/Tooltip';\nimport { Clickable } from '@/ui/Clickable';\n\nexport default function TooltipDemo() {\n const [clickTooltipOpen, setClickTooltipOpen] = useState(false);\n\n return (\n <div className=\"flex flex-col gap-24 h-300\">\n <TooltipProvider>\n DARK MODE\n <div className=\"flex gap-48 items-center\">\n <Tooltip>\n <TooltipTrigger className=\"underline decoration-dashed cursor-help\">\n Hover me\n </TooltipTrigger>\n <TooltipContent>This is a helpful tooltip</TooltipContent>\n </Tooltip>\n\n <Tooltip open={clickTooltipOpen}>\n <TooltipTrigger\n render={\n <Clickable\n className=\"rounded-lg border-2 border-dashed border-gray-300 p-6 text-center hover:border-gray-400 hover:bg-gray-50\"\n onClick={() => setClickTooltipOpen(!clickTooltipOpen)}\n >\n Click me\n </Clickable>\n }\n ></TooltipTrigger>\n <TooltipContent>This tooltip opens on click</TooltipContent>\n </Tooltip>\n\n {/* Always open */}\n <Tooltip open>\n <TooltipTrigger className=\"underline decoration-dashed cursor-help\">\n Always open\n </TooltipTrigger>\n <TooltipContent>This tooltip is always open</TooltipContent>\n </Tooltip>\n </div>\n LIGHT MODE\n <div className=\"flex gap-48 items-center\">\n <Tooltip>\n <TooltipTrigger className=\"underline decoration-dashed cursor-help\">\n Hover me\n </TooltipTrigger>\n <TooltipContent theme=\"light\">This is a helpful tooltip</TooltipContent>\n </Tooltip>\n\n <Tooltip open={clickTooltipOpen}>\n <TooltipTrigger\n render={\n <Clickable\n className=\"rounded-lg border-2 border-dashed border-gray-300 p-6 text-center hover:border-gray-400 hover:bg-gray-50\"\n onClick={() => setClickTooltipOpen(!clickTooltipOpen)}\n >\n Click me\n </Clickable>\n }\n ></TooltipTrigger>\n <TooltipContent theme=\"light\">This tooltip opens on click</TooltipContent>\n </Tooltip>\n\n {/* Always open */}\n <Tooltip open>\n <TooltipTrigger className=\"underline decoration-dashed cursor-help\">\n Always open\n </TooltipTrigger>\n <TooltipContent theme=\"light\">This tooltip is always open</TooltipContent>\n </Tooltip>\n </div>\n POSITIONS\n <div className=\"flex gap-48 items-center\">\n <Tooltip>\n <TooltipTrigger className=\"underline decoration-dashed cursor-help\">\n Hover me\n </TooltipTrigger>\n <TooltipContent side=\"top\">This tooltip is on the top</TooltipContent>\n <TooltipContent side=\"bottom\">This tooltip is on the bottom</TooltipContent>\n <TooltipContent side=\"right\">This tooltip is on the right</TooltipContent>\n <TooltipContent side=\"left\">This tooltip is on the left</TooltipContent>\n </Tooltip>\n </div>\n </TooltipProvider>\n </div>\n );\n}\n"],"mappings":";;;;;;AAMA,SAAwB,IAAc;CACpC,IAAM,CAAC,GAAkB,KAAuB,EAAS,GAAM;AAE/D,QACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD,EAAA,UAAA;GAAiB;GAEf,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;MAAgB,WAAU;gBAA0C;MAEnD,CAAA,EACjB,kBAAC,GAAD,EAAA,UAAgB,6BAA0C,CAAA,CAClD,EAAA,CAAA;KAEV,kBAAC,GAAD;MAAS,MAAM;gBAAf,CACE,kBAAC,GAAD,EACE,QACE,kBAAC,GAAD;OACE,WAAU;OACV,eAAe,EAAoB,CAAC,EAAiB;iBACtD;OAEW,CAAA,EAEE,CAAA,EAClB,kBAAC,GAAD,EAAA,UAAgB,+BAA4C,CAAA,CAAA;;KAI9D,kBAAC,GAAD;MAAS,MAAA;gBAAT,CACE,kBAAC,GAAD;OAAgB,WAAU;iBAA0C;OAEnD,CAAA,EACjB,kBAAC,GAAD,EAAA,UAAgB,+BAA4C,CAAA,CAAA;;;;;GAIhE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;MAAgB,WAAU;gBAA0C;MAEnD,CAAA,EACjB,kBAAC,GAAD;MAAgB,OAAM;gBAAQ;MAA0C,CAAA,CAChE,EAAA,CAAA;KAEV,kBAAC,GAAD;MAAS,MAAM;gBAAf,CACE,kBAAC,GAAD,EACE,QACE,kBAAC,GAAD;OACE,WAAU;OACV,eAAe,EAAoB,CAAC,EAAiB;iBACtD;OAEW,CAAA,EAEE,CAAA,EAClB,kBAAC,GAAD;OAAgB,OAAM;iBAAQ;OAA4C,CAAA,CAAA;;KAI5E,kBAAC,GAAD;MAAS,MAAA;gBAAT,CACE,kBAAC,GAAD;OAAgB,WAAU;iBAA0C;OAEnD,CAAA,EACjB,kBAAC,GAAD;OAAgB,OAAM;iBAAQ;OAA4C,CAAA,CAAA;;;;;GAI9E,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD,EAAA,UAAA;KACE,kBAAC,GAAD;MAAgB,WAAU;gBAA0C;MAEnD,CAAA;KACjB,kBAAC,GAAD;MAAgB,MAAK;gBAAM;MAA2C,CAAA;KACtE,kBAAC,GAAD;MAAgB,MAAK;gBAAS;MAA8C,CAAA;KAC5E,kBAAC,GAAD;MAAgB,MAAK;gBAAQ;MAA6C,CAAA;KAC1E,kBAAC,GAAD;MAAgB,MAAK;gBAAO;MAA4C,CAAA;KAChE,EAAA,CAAA;IACN,CAAA;GACU,EAAA,CAAA;EACd,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubmed/trident-ui",
3
- "version": "2.0.0-beta.9",
3
+ "version": "2.0.0",
4
4
  "type": "module",
5
5
  "description": "Shared ClubMed React UI components",
6
6
  "keywords": [
@@ -78,10 +78,15 @@
78
78
  "build:exports": "NODE_NO_WARNINGS=1 node --loader ts-node/esm ../../tools/exports-builder/index.ts"
79
79
  },
80
80
  "dependencies": {
81
+ "@base-ui/react": ">=1.3.0",
82
+ "@chenglou/pretext": "^0.0.7",
81
83
  "@juggle/resize-observer": ">=3.4.0",
82
84
  "@use-gesture/react": ">=10.2.26",
83
85
  "clsx": ">=2.1.1",
84
86
  "date-fns": ">=2.30.0",
87
+ "embla-carousel-react": "^8.6.0",
88
+ "embla-carousel-wheel-gestures": "^8.1.0",
89
+ "leva": "^0.10.1",
85
90
  "react-day-picker": ">=8.10.0",
86
91
  "react-hot-toast": ">=2.4.1",
87
92
  "react-transition-state": ">=2.3.2",
@@ -90,8 +95,9 @@
90
95
  "tw-animate-css": ">=1.3.6"
91
96
  },
92
97
  "devDependencies": {
93
- "@clubmed/trident-icons": ">=1.7.1",
98
+ "@clubmed/trident-icons": ">=1.16.0",
94
99
  "@tailwindcss/vite": "4.1.18",
100
+ "@types/dom-speech-recognition": "^0.0.11",
95
101
  "@vitest/coverage-v8": "^4.1.2",
96
102
  "add": "^2.0.6",
97
103
  "autoprefixer": "^10.4.17",
@@ -106,7 +112,7 @@
106
112
  "tw-animate-css": "^1.3.6"
107
113
  },
108
114
  "peerDependencies": {
109
- "@clubmed/trident-icons": ">=1.3.3",
115
+ "@clubmed/trident-icons": ">=1.16.0",
110
116
  "@tailwindcss/container-queries": ">=0.1.1",
111
117
  "@tailwindcss/typography": ">=0.5.19",
112
118
  "react": ">=18.0.0",
@@ -299,3 +299,22 @@
299
299
  transform: translateX(0px);
300
300
  }
301
301
  }
302
+
303
+ @keyframes sparkle-fly {
304
+ 0% {
305
+ opacity: 1;
306
+ transform: translate(
307
+ calc(-50% + var(--sparkle-start-x, 0px)),
308
+ calc(-50% + var(--sparkle-start-y, 0px))
309
+ )
310
+ scale(1);
311
+ }
312
+ 100% {
313
+ opacity: 0;
314
+ transform: translate(
315
+ calc(-50% + var(--sparkle-end-x, 0px)),
316
+ calc(-50% + var(--sparkle-end-y, 0px))
317
+ )
318
+ scale(0);
319
+ }
320
+ }
@@ -91,9 +91,102 @@
91
91
  }
92
92
  }
93
93
 
94
- @property --1fr {
95
- syntax: '<length>';
96
- initial-value: 0px;
97
- inherits: false;
94
+ .scrollbar-hidden {
95
+ -ms-overflow-style: none;
96
+ scrollbar-width: none;
97
+ --scrollbar-x-padding-bottom: 0;
98
+ }
99
+
100
+ .scrollbar-hidden::-webkit-scrollbar {
101
+ display: none;
102
+ }
103
+
104
+ [data-scroller] {
105
+ overflow-x: auto;
106
+ scrollbar-width: none;
107
+ -ms-overflow-style: none;
108
+ }
109
+
110
+ [data-scroller]::-webkit-scrollbar {
111
+ display: none;
112
+ }
113
+
114
+ /* Custom scroll track */
115
+ [data-scrollbar] {
116
+ position: relative;
117
+ width: 100%;
118
+ height: 6px;
119
+ padding: 1px;
120
+ background: var(--color-ultramarine);
121
+ border-radius: 4px;
122
+ pointer-events: none;
123
+ user-select: none;
124
+ }
125
+
126
+ /* Custom scroll bar */
127
+ [data-scrollbar] [data-scrollprogress] {
128
+ content: '';
129
+ position: absolute;
130
+ bottom: 1px;
131
+ inset-inline-start: 1px;
132
+ width: var(--scrollbar-width, 60%);
133
+ height: 4px;
134
+ background: var(--color-saffron);
135
+ border-radius: 4px;
136
+ animation: scroll-position linear both;
137
+ display: block;
138
+ cursor: grab;
139
+ transition: background-color 150ms ease;
140
+ }
141
+
142
+ [data-scrollbar] [data-scrollprogress]:hover {
143
+ background: color-mix(in srgb, var(--color-saffron) 85%, black);
144
+ }
145
+
146
+ [data-scrollbar] [data-scrollprogress]:active {
147
+ cursor: grabbing;
148
+ background: color-mix(in srgb, var(--color-saffron) 70%, black);
149
+ }
150
+
151
+ [data-scroller='dark'] + [data-scrollbar] {
152
+ background: var(--color-white);
153
+ }
154
+
155
+ [data-scroller='dark'] + [data-scrollbar] [data-scrollprogress] {
156
+ background: var(--color-ultramarine);
157
+ }
158
+
159
+ [data-scroller='dark'] + [data-scrollbar] [data-scrollprogress]:hover {
160
+ background: color-mix(in srgb, var(--color-ultramarine) 85%, white);
161
+ }
162
+
163
+ [data-scroller='dark'] + [data-scrollbar] [data-scrollprogress]:active {
164
+ background: color-mix(in srgb, var(--color-ultramarine) 70%, white);
165
+ }
166
+
167
+ @keyframes scroll-position {
168
+ from {
169
+ inset-inline-start: 1px;
170
+ }
171
+ to {
172
+ inset-inline-start: calc(100% - var(--scrollbar-width, 60%) - 1px);
173
+ }
174
+ }
175
+
176
+ .toggle button.active {
177
+ background-color: var(--toggle-color);
178
+ }
179
+
180
+ /* CSS Anchor Positioning (Chrome 125+) - animated sliding background */
181
+ @supports (position-anchor: --active) {
182
+ .toggle button.active {
183
+ background-color: transparent;
184
+ anchor-name: --active;
185
+ }
186
+
187
+ .toggle:before {
188
+ position-anchor: --active;
189
+ inset: anchor(top) anchor(right) anchor(bottom) anchor(left);
190
+ }
98
191
  }
99
192
  }
package/styles/index.css CHANGED
@@ -15,5 +15,4 @@
15
15
  @import './ui/controls.css';
16
16
  @import './ui/number-field.css';
17
17
  @import './ui/range.css';
18
- @import './ui/tabs.css';
19
18
  @import './ui/chat-button.css';
package/styles/theme.css CHANGED
@@ -1,7 +1,5 @@
1
1
  @theme {
2
2
  /* Colors */
3
-
4
- --color-*: initial;
5
3
  --color-current: currentColor;
6
4
  --color-transparent: transparent;
7
5
 
@@ -176,4 +174,5 @@
176
174
  --animate-zoom-in: zoom-in 220ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards; /* NOT IN DCX */
177
175
  --animate-zoom-out: zoom-out 180ms cubic-bezier(0.4, 0, 1, 1) forwards; /* NOT IN DCX */
178
176
  --animate-wiggle: wiggle 0.75s ease-in-out;
177
+ --animate-sparkle-fly: sparkle-fly 900ms ease-out both;
179
178
  }
@@ -3,7 +3,7 @@
3
3
  @apply border;
4
4
  @apply border-solid;
5
5
  @apply font-sans;
6
- @apply font-semibold;
6
+ font-weight: 600;
7
7
  transition-duration: 200ms;
8
8
  column-gap: 8px;
9
9
  align-items: center;
@@ -1,4 +1,4 @@
1
- .chat-button {
1
+ .chat-border {
2
2
  border: 4px solid #0000;
3
3
  background:
4
4
  linear-gradient(white, white) padding-box,
@@ -23,3 +23,70 @@
23
23
  initial-value: 0deg;
24
24
  inherits: false;
25
25
  }
26
+
27
+ /*
28
+ * Scroll-driven fade mask on the message log.
29
+ *
30
+ * Two @property custom properties hold the current fade band sizes and are
31
+ * animated via scroll(self) — no JS required.
32
+ *
33
+ * Top fade: 0px → 48px as scroll goes 0 → 48px from the top
34
+ * Bottom fade: 48px → 0px as scroll goes from (max − 48px) → max
35
+ *
36
+ * When content doesn't overflow the bottom animation is past its end range
37
+ * at rest, so --chat-fade-bottom stays at 0px (no spurious bottom fade).
38
+ */
39
+ @property --chat-fade-top {
40
+ syntax: '<length>';
41
+ initial-value: 0px;
42
+ inherits: false;
43
+ }
44
+
45
+ @property --chat-fade-bottom {
46
+ syntax: '<length>';
47
+ initial-value: 48px;
48
+ inherits: false;
49
+ }
50
+
51
+ .chat-message-log {
52
+ mask-image: linear-gradient(
53
+ to bottom,
54
+ transparent,
55
+ black var(--chat-fade-top),
56
+ black calc(100% - var(--chat-fade-bottom)),
57
+ transparent
58
+ );
59
+ -webkit-mask-image: linear-gradient(
60
+ to bottom,
61
+ transparent,
62
+ black var(--chat-fade-top),
63
+ black calc(100% - var(--chat-fade-bottom)),
64
+ transparent
65
+ );
66
+
67
+ animation:
68
+ chat-fade-top-in linear both,
69
+ chat-fade-bottom-out linear both;
70
+ animation-timeline: scroll(self), scroll(self);
71
+ animation-range:
72
+ 0px 48px,
73
+ calc(100% - 48px) 100%;
74
+ }
75
+
76
+ @keyframes chat-fade-top-in {
77
+ from {
78
+ --chat-fade-top: 0px;
79
+ }
80
+ to {
81
+ --chat-fade-top: 48px;
82
+ }
83
+ }
84
+
85
+ @keyframes chat-fade-bottom-out {
86
+ from {
87
+ --chat-fade-bottom: 48px;
88
+ }
89
+ to {
90
+ --chat-fade-bottom: 0px;
91
+ }
92
+ }