@taiv/ui 1.14.1 → 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 (399) hide show
  1. package/dist/assets/assets.d.ts +12 -1
  2. package/dist/assets/assets.d.ts.map +1 -1
  3. package/dist/assets/assets.js +22 -16
  4. package/dist/assets/brand/taiv-favicon-dark.png +0 -0
  5. package/dist/assets/brand/taiv-favicon-light.png +0 -0
  6. package/dist/assets/brand/taiv-icon-black.svg +10 -0
  7. package/dist/assets/brand/taiv-icon-dark.svg +17 -0
  8. package/dist/assets/brand/taiv-icon-white.svg +17 -0
  9. package/dist/assets/brand/taiv-logo-black.svg +16 -0
  10. package/dist/assets/brand/taiv-logo-dark.svg +23 -0
  11. package/dist/assets/brand/taiv-logo-old.svg +1 -0
  12. package/dist/assets/brand/taiv-logo-purple.svg +16 -0
  13. package/dist/assets/brand/taiv-logo-white.svg +23 -0
  14. package/dist/assets/icons.d.ts +1 -1
  15. package/dist/assets/icons.d.ts.map +1 -1
  16. package/dist/assets/icons.js +57 -53
  17. package/dist/assets/index.d.ts +3 -0
  18. package/dist/assets/index.d.ts.map +1 -0
  19. package/dist/assets/index.js +2 -0
  20. package/dist/components/Data/BigCalendar/BigCalendar.d.ts +26 -0
  21. package/dist/components/Data/BigCalendar/BigCalendar.d.ts.map +1 -0
  22. package/dist/components/Data/BigCalendar/BigCalendar.js +54 -0
  23. package/dist/components/Data/BigCalendar/BigCalendar.stories.d.ts +8 -0
  24. package/dist/components/Data/BigCalendar/BigCalendar.stories.d.ts.map +1 -0
  25. package/dist/components/Data/BigCalendar/BigCalendar.stories.js +77 -0
  26. package/dist/components/Data/Calendar/Calendar.d.ts +102 -0
  27. package/dist/components/Data/Calendar/Calendar.d.ts.map +1 -0
  28. package/dist/components/Data/Calendar/Calendar.js +671 -0
  29. package/dist/components/Data/Calendar/Calendar.stories.d.ts +10 -0
  30. package/dist/components/Data/Calendar/Calendar.stories.d.ts.map +1 -0
  31. package/dist/components/Data/Calendar/Calendar.stories.js +87 -0
  32. package/dist/components/Data/MediaPill/MediaPill.d.ts +27 -0
  33. package/dist/components/Data/MediaPill/MediaPill.d.ts.map +1 -0
  34. package/dist/components/Data/MediaPill/MediaPill.js +53 -0
  35. package/dist/components/Data/MediaPill/MediaPill.stories.d.ts +10 -0
  36. package/dist/components/Data/MediaPill/MediaPill.stories.d.ts.map +1 -0
  37. package/dist/components/Data/MediaPill/MediaPill.stories.js +51 -0
  38. package/dist/components/Info/Avatar/Avatar.d.ts +9 -0
  39. package/dist/components/Info/Avatar/Avatar.d.ts.map +1 -0
  40. package/dist/components/Info/Avatar/Avatar.js +36 -0
  41. package/dist/components/Info/Avatar/Avatar.stories.d.ts +9 -0
  42. package/dist/components/Info/Avatar/Avatar.stories.d.ts.map +1 -0
  43. package/dist/components/Info/Avatar/Avatar.stories.js +78 -0
  44. package/dist/components/Info/Badge/Badge.stories.d.ts.map +1 -1
  45. package/dist/components/Info/Badge/Badge.stories.js +21 -6
  46. package/dist/components/Info/Badge/sizes.d.ts +10 -10
  47. package/dist/components/Info/Badge/sizes.js +16 -16
  48. package/dist/components/Info/Badge/variants.d.ts +4 -4
  49. package/dist/components/Info/Badge/variants.d.ts.map +1 -1
  50. package/dist/components/Info/Badge/variants.js +26 -13
  51. package/dist/components/Info/Drawer/Drawer.d.ts +24 -0
  52. package/dist/components/Info/Drawer/Drawer.d.ts.map +1 -0
  53. package/dist/components/Info/Drawer/Drawer.js +44 -0
  54. package/dist/components/Info/Drawer/Drawer.stories.d.ts +10 -0
  55. package/dist/components/Info/Drawer/Drawer.stories.d.ts.map +1 -0
  56. package/dist/components/Info/Drawer/Drawer.stories.js +47 -0
  57. package/dist/components/Info/HoverCard/HoverCard.d.ts +16 -0
  58. package/dist/components/Info/HoverCard/HoverCard.d.ts.map +1 -0
  59. package/dist/components/Info/HoverCard/HoverCard.js +26 -0
  60. package/dist/components/Info/HoverCard/HoverCard.stories.d.ts +11 -0
  61. package/dist/components/Info/HoverCard/HoverCard.stories.d.ts.map +1 -0
  62. package/dist/components/Info/HoverCard/HoverCard.stories.js +86 -0
  63. package/dist/components/Info/HoverCard/HoverCardMenuItem.d.ts +12 -0
  64. package/dist/components/Info/HoverCard/HoverCardMenuItem.d.ts.map +1 -0
  65. package/dist/components/Info/HoverCard/HoverCardMenuItem.js +22 -0
  66. package/dist/components/Info/Indicator/Indicator.d.ts +3 -0
  67. package/dist/components/Info/Indicator/Indicator.d.ts.map +1 -0
  68. package/dist/components/Info/Indicator/Indicator.js +1 -0
  69. package/dist/components/Info/Indicator/Indicator.stories.d.ts +11 -0
  70. package/dist/components/Info/Indicator/Indicator.stories.d.ts.map +1 -0
  71. package/dist/components/Info/Indicator/Indicator.stories.js +123 -0
  72. package/dist/components/Info/InfoCard/InfoCard.d.ts +2 -2
  73. package/dist/components/Info/InfoCard/InfoCard.d.ts.map +1 -1
  74. package/dist/components/Info/InfoCard/InfoCard.js +5 -5
  75. package/dist/components/Info/MobileDrawer/MobileDrawer.d.ts +30 -0
  76. package/dist/components/Info/MobileDrawer/MobileDrawer.d.ts.map +1 -0
  77. package/dist/components/Info/MobileDrawer/MobileDrawer.js +52 -0
  78. package/dist/components/Info/MobileDrawer/MobileDrawer.stories.d.ts +9 -0
  79. package/dist/components/Info/MobileDrawer/MobileDrawer.stories.d.ts.map +1 -0
  80. package/dist/components/Info/MobileDrawer/MobileDrawer.stories.js +38 -0
  81. package/dist/components/Info/Modals/FormModal/FormModal.d.ts +17 -1
  82. package/dist/components/Info/Modals/FormModal/FormModal.d.ts.map +1 -1
  83. package/dist/components/Info/Modals/FormModal/FormModal.js +30 -12
  84. package/dist/components/Info/Modals/FormModalV2/FormModalV2.d.ts +60 -0
  85. package/dist/components/Info/Modals/FormModalV2/FormModalV2.d.ts.map +1 -0
  86. package/dist/components/Info/Modals/FormModalV2/FormModalV2.js +96 -0
  87. package/dist/components/Info/Modals/Modal/Modal.d.ts.map +1 -1
  88. package/dist/components/Info/Modals/Modal/Modal.js +9 -1
  89. package/dist/components/Info/Modals/StepperModal/StepperModal.d.ts +21 -0
  90. package/dist/components/Info/Modals/StepperModal/StepperModal.d.ts.map +1 -0
  91. package/dist/components/Info/Modals/StepperModal/StepperModal.js +50 -0
  92. package/dist/components/Info/Modals/StepperModal/StepperModal.stories.d.ts +10 -0
  93. package/dist/components/Info/Modals/StepperModal/StepperModal.stories.d.ts.map +1 -0
  94. package/dist/components/Info/Modals/StepperModal/StepperModal.stories.js +169 -0
  95. package/dist/components/Info/Modals/variants.d.ts +61 -41
  96. package/dist/components/Info/Modals/variants.d.ts.map +1 -1
  97. package/dist/components/Info/Modals/variants.js +58 -38
  98. package/dist/components/Info/Notifications/Notifications.stories.d.ts +1 -0
  99. package/dist/components/Info/Notifications/Notifications.stories.d.ts.map +1 -1
  100. package/dist/components/Info/Notifications/Notifications.stories.js +31 -0
  101. package/dist/components/Info/Notifications/variants.d.ts +25 -19
  102. package/dist/components/Info/Notifications/variants.d.ts.map +1 -1
  103. package/dist/components/Info/Notifications/variants.js +30 -24
  104. package/dist/components/Info/ResponsiveDrawer/ResponsiveDrawer.d.ts +37 -0
  105. package/dist/components/Info/ResponsiveDrawer/ResponsiveDrawer.d.ts.map +1 -0
  106. package/dist/components/Info/ResponsiveDrawer/ResponsiveDrawer.js +17 -0
  107. package/dist/components/Info/ResponsiveDrawer/ResponsiveDrawer.stories.d.ts +7 -0
  108. package/dist/components/Info/ResponsiveDrawer/ResponsiveDrawer.stories.d.ts.map +1 -0
  109. package/dist/components/Info/ResponsiveDrawer/ResponsiveDrawer.stories.js +26 -0
  110. package/dist/components/Info/Tooltips/InfoTooltip/InfoTooltip.d.ts +1 -1
  111. package/dist/components/Info/Tooltips/InfoTooltip/InfoTooltip.d.ts.map +1 -1
  112. package/dist/components/Info/Tooltips/InfoTooltip/InfoTooltip.js +9 -3
  113. package/dist/components/Info/Tooltips/Popover/Popover.d.ts +16 -0
  114. package/dist/components/Info/Tooltips/Popover/Popover.d.ts.map +1 -0
  115. package/dist/components/Info/Tooltips/Popover/Popover.js +32 -0
  116. package/dist/components/Info/Tooltips/Tooltip/Tooltip.d.ts +5 -1
  117. package/dist/components/Info/Tooltips/Tooltip/Tooltip.d.ts.map +1 -1
  118. package/dist/components/Info/Tooltips/Tooltip/Tooltip.js +10 -8
  119. package/dist/components/Inputs/Buttons/Button/Button.d.ts +3 -1
  120. package/dist/components/Inputs/Buttons/Button/Button.d.ts.map +1 -1
  121. package/dist/components/Inputs/Buttons/Button/Button.js +38 -5
  122. package/dist/components/Inputs/Buttons/Button/Button.stories.d.ts +1 -0
  123. package/dist/components/Inputs/Buttons/Button/Button.stories.d.ts.map +1 -1
  124. package/dist/components/Inputs/Buttons/Button/Button.stories.js +105 -79
  125. package/dist/components/Inputs/Buttons/IconButton/IconButton.d.ts +7 -2
  126. package/dist/components/Inputs/Buttons/IconButton/IconButton.d.ts.map +1 -1
  127. package/dist/components/Inputs/Buttons/IconButton/IconButton.js +35 -11
  128. package/dist/components/Inputs/Buttons/IconButton/IconButton.stories.d.ts +1 -0
  129. package/dist/components/Inputs/Buttons/IconButton/IconButton.stories.d.ts.map +1 -1
  130. package/dist/components/Inputs/Buttons/IconButton/IconButton.stories.js +100 -74
  131. package/dist/components/Inputs/Buttons/IconButton/sizes.d.ts +15 -0
  132. package/dist/components/Inputs/Buttons/IconButton/sizes.d.ts.map +1 -1
  133. package/dist/components/Inputs/Buttons/IconButton/sizes.js +3 -0
  134. package/dist/components/Inputs/Buttons/shared/variants.d.ts +399 -164
  135. package/dist/components/Inputs/Buttons/shared/variants.d.ts.map +1 -1
  136. package/dist/components/Inputs/Buttons/shared/variants.js +353 -143
  137. package/dist/components/Inputs/ColorPickerTrigger/ColorPickerTrigger.d.ts +40 -0
  138. package/dist/components/Inputs/ColorPickerTrigger/ColorPickerTrigger.d.ts.map +1 -0
  139. package/dist/components/Inputs/ColorPickerTrigger/ColorPickerTrigger.js +139 -0
  140. package/dist/components/Inputs/ColorPickerTrigger/ColorPickerTrigger.stories.d.ts +13 -0
  141. package/dist/components/Inputs/ColorPickerTrigger/ColorPickerTrigger.stories.d.ts.map +1 -0
  142. package/dist/components/Inputs/ColorPickerTrigger/ColorPickerTrigger.stories.js +75 -0
  143. package/dist/components/Inputs/ColorSwatch/ColorSwatch.d.ts +27 -0
  144. package/dist/components/Inputs/ColorSwatch/ColorSwatch.d.ts.map +1 -0
  145. package/dist/components/Inputs/ColorSwatch/ColorSwatch.js +46 -0
  146. package/dist/components/Inputs/Controls/DaysOfWeek/DaysOfWeek.d.ts +32 -0
  147. package/dist/components/Inputs/Controls/DaysOfWeek/DaysOfWeek.d.ts.map +1 -0
  148. package/dist/components/Inputs/Controls/DaysOfWeek/DaysOfWeek.js +92 -0
  149. package/dist/components/Inputs/Controls/SegmentedControl/SegmentedControl.d.ts +11 -8
  150. package/dist/components/Inputs/Controls/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  151. package/dist/components/Inputs/Controls/SegmentedControl/SegmentedControl.js +20 -12
  152. package/dist/components/Inputs/Controls/Toggle/Toggle.d.ts +25 -11
  153. package/dist/components/Inputs/Controls/Toggle/Toggle.d.ts.map +1 -1
  154. package/dist/components/Inputs/Controls/Toggle/Toggle.js +67 -20
  155. package/dist/components/Inputs/Controls/Toggle/Toggle.stories.d.ts +1 -0
  156. package/dist/components/Inputs/Controls/Toggle/Toggle.stories.d.ts.map +1 -1
  157. package/dist/components/Inputs/Controls/Toggle/Toggle.stories.js +86 -69
  158. package/dist/components/Inputs/Dates/DatePicker/DatePicker.d.ts.map +1 -1
  159. package/dist/components/Inputs/Dates/DatePicker/DatePicker.js +23 -7
  160. package/dist/components/Inputs/Dates/DateTimePicker/DateTimePicker.d.ts +12 -0
  161. package/dist/components/Inputs/Dates/DateTimePicker/DateTimePicker.d.ts.map +1 -0
  162. package/dist/components/Inputs/Dates/DateTimePicker/DateTimePicker.js +87 -0
  163. package/dist/components/Inputs/Dates/DateTimePicker/DateTimePicker.stories.d.ts +13 -0
  164. package/dist/components/Inputs/Dates/DateTimePicker/DateTimePicker.stories.d.ts.map +1 -0
  165. package/dist/components/Inputs/Dates/DateTimePicker/DateTimePicker.stories.js +239 -0
  166. package/dist/components/Inputs/Dates/TimeInput/TimeInput.d.ts +19 -0
  167. package/dist/components/Inputs/Dates/TimeInput/TimeInput.d.ts.map +1 -0
  168. package/dist/components/Inputs/Dates/TimeInput/TimeInput.js +51 -0
  169. package/dist/components/Inputs/Dropdowns/FontSelect/FontSelect.d.ts.map +1 -1
  170. package/dist/components/Inputs/Dropdowns/FontSelect/FontSelect.js +8 -1
  171. package/dist/components/Inputs/Dropdowns/MultiSelect/MultiSelect.d.ts +2 -2
  172. package/dist/components/Inputs/Dropdowns/MultiSelect/MultiSelect.d.ts.map +1 -1
  173. package/dist/components/Inputs/Dropdowns/MultiSelect/MultiSelect.js +76 -57
  174. package/dist/components/Inputs/Dropdowns/Select/Select.d.ts.map +1 -1
  175. package/dist/components/Inputs/Dropdowns/Select/Select.js +5 -3
  176. package/dist/components/Inputs/Dropzone/Dropzone.d.ts +23 -0
  177. package/dist/components/Inputs/Dropzone/Dropzone.d.ts.map +1 -0
  178. package/dist/components/Inputs/Dropzone/Dropzone.js +44 -0
  179. package/dist/components/Inputs/Dropzone/Dropzone.stories.d.ts +12 -0
  180. package/dist/components/Inputs/Dropzone/Dropzone.stories.d.ts.map +1 -0
  181. package/dist/components/Inputs/Dropzone/Dropzone.stories.js +114 -0
  182. package/dist/components/Inputs/TextInputs/NumberInput/NumberInput.d.ts.map +1 -1
  183. package/dist/components/Inputs/TextInputs/NumberInput/NumberInput.js +4 -1
  184. package/dist/components/Inputs/TextInputs/NumberInput/ResponsiveNumberInput.d.ts +46 -0
  185. package/dist/components/Inputs/TextInputs/NumberInput/ResponsiveNumberInput.d.ts.map +1 -0
  186. package/dist/components/Inputs/TextInputs/NumberInput/ResponsiveNumberInput.js +60 -0
  187. package/dist/components/Layout/Accordion/Accordion.d.ts +16 -0
  188. package/dist/components/Layout/Accordion/Accordion.d.ts.map +1 -0
  189. package/dist/components/Layout/Accordion/Accordion.js +63 -0
  190. package/dist/components/Layout/Accordion/Accordion.stories.d.ts +11 -0
  191. package/dist/components/Layout/Accordion/Accordion.stories.d.ts.map +1 -0
  192. package/dist/components/Layout/Accordion/Accordion.stories.js +148 -0
  193. package/dist/components/Layout/AutoGrid/AutoGrid.d.ts +20 -5
  194. package/dist/components/Layout/AutoGrid/AutoGrid.d.ts.map +1 -1
  195. package/dist/components/Layout/AutoGrid/AutoGrid.js +51 -3
  196. package/dist/components/Layout/AutoGrid/AutoGrid.stories.d.ts +1 -0
  197. package/dist/components/Layout/AutoGrid/AutoGrid.stories.d.ts.map +1 -1
  198. package/dist/components/Layout/AutoGrid/AutoGrid.stories.js +39 -29
  199. package/dist/components/Layout/BottomActionBar/BottomActionBar.d.ts +40 -0
  200. package/dist/components/Layout/BottomActionBar/BottomActionBar.d.ts.map +1 -0
  201. package/dist/components/Layout/BottomActionBar/BottomActionBar.js +79 -0
  202. package/dist/components/Layout/BottomActionBar/BottomActionBar.stories.d.ts +10 -0
  203. package/dist/components/Layout/BottomActionBar/BottomActionBar.stories.d.ts.map +1 -0
  204. package/dist/components/Layout/BottomActionBar/BottomActionBar.stories.js +102 -0
  205. package/dist/components/Layout/Card/Card.d.ts +1 -1
  206. package/dist/components/Layout/Card/Card.d.ts.map +1 -1
  207. package/dist/components/Layout/Container/Container.d.ts +3 -0
  208. package/dist/components/Layout/Container/Container.d.ts.map +1 -0
  209. package/dist/components/Layout/Container/Container.js +1 -0
  210. package/dist/components/Layout/Container/Container.stories.d.ts +8 -0
  211. package/dist/components/Layout/Container/Container.stories.d.ts.map +1 -0
  212. package/dist/components/Layout/Container/Container.stories.js +52 -0
  213. package/dist/components/Layout/DataState/DataState.d.ts +34 -0
  214. package/dist/components/Layout/DataState/DataState.d.ts.map +1 -0
  215. package/dist/components/Layout/DataState/DataState.js +22 -0
  216. package/dist/components/Layout/DataState/DataState.stories.d.ts +11 -0
  217. package/dist/components/Layout/DataState/DataState.stories.d.ts.map +1 -0
  218. package/dist/components/Layout/DataState/DataState.stories.js +38 -0
  219. package/dist/components/Layout/Divider/Divider.d.ts.map +1 -1
  220. package/dist/components/Layout/Divider/Divider.js +4 -2
  221. package/dist/components/Layout/Group/Group.d.ts +1 -1
  222. package/dist/components/Layout/Group/Group.d.ts.map +1 -1
  223. package/dist/components/Layout/Loader/Loader.d.ts +1 -1
  224. package/dist/components/Layout/Loader/Loader.d.ts.map +1 -1
  225. package/dist/components/Layout/Loader/Loader.js +3 -2
  226. package/dist/components/Layout/Navbar/Navbar.d.ts +15 -0
  227. package/dist/components/Layout/Navbar/Navbar.d.ts.map +1 -0
  228. package/dist/components/Layout/Navbar/Navbar.js +20 -0
  229. package/dist/components/Layout/Navbar/Navbar.stories.d.ts +9 -0
  230. package/dist/components/Layout/Navbar/Navbar.stories.d.ts.map +1 -0
  231. package/dist/components/Layout/Navbar/Navbar.stories.js +98 -0
  232. package/dist/components/Layout/Page/Page.d.ts +13 -0
  233. package/dist/components/Layout/Page/Page.d.ts.map +1 -0
  234. package/dist/components/Layout/Page/Page.js +13 -0
  235. package/dist/components/Layout/Pagination/Pagination.d.ts +23 -0
  236. package/dist/components/Layout/Pagination/Pagination.d.ts.map +1 -0
  237. package/dist/components/Layout/Pagination/Pagination.js +53 -0
  238. package/dist/components/Layout/Pagination/Pagination.stories.d.ts +10 -0
  239. package/dist/components/Layout/Pagination/Pagination.stories.d.ts.map +1 -0
  240. package/dist/components/Layout/Pagination/Pagination.stories.js +76 -0
  241. package/dist/components/Layout/ScrollArea/ScrollArea.d.ts +3 -0
  242. package/dist/components/Layout/ScrollArea/ScrollArea.d.ts.map +1 -0
  243. package/dist/components/Layout/ScrollArea/ScrollArea.js +1 -0
  244. package/dist/components/Layout/ScrollArea/ScrollArea.stories.d.ts +8 -0
  245. package/dist/components/Layout/ScrollArea/ScrollArea.stories.d.ts.map +1 -0
  246. package/dist/components/Layout/ScrollArea/ScrollArea.stories.js +62 -0
  247. package/dist/components/Layout/Tabs/Tabs.d.ts +16 -5
  248. package/dist/components/Layout/Tabs/Tabs.d.ts.map +1 -1
  249. package/dist/components/Layout/Tabs/Tabs.js +53 -18
  250. package/dist/components/Layout/Tabs/Tabs.stories.d.ts.map +1 -1
  251. package/dist/components/Layout/Tabs/Tabs.stories.js +39 -39
  252. package/dist/components/Layout/VirtualGrid/VirtualGrid.d.ts +63 -0
  253. package/dist/components/Layout/VirtualGrid/VirtualGrid.d.ts.map +1 -0
  254. package/dist/components/Layout/VirtualGrid/VirtualGrid.js +159 -0
  255. package/dist/components/Misc/Burger/Burger.d.ts +6 -0
  256. package/dist/components/Misc/Burger/Burger.d.ts.map +1 -0
  257. package/dist/components/Misc/Burger/Burger.js +7 -0
  258. package/dist/components/Misc/Burger/Burger.stories.d.ts +10 -0
  259. package/dist/components/Misc/Burger/Burger.stories.d.ts.map +1 -0
  260. package/dist/components/Misc/Burger/Burger.stories.js +86 -0
  261. package/dist/components/Misc/Carousel/Carousel.d.ts +32 -0
  262. package/dist/components/Misc/Carousel/Carousel.d.ts.map +1 -0
  263. package/dist/components/Misc/Carousel/Carousel.js +16 -0
  264. package/dist/components/Misc/DragHandle/DragHandle.d.ts +19 -0
  265. package/dist/components/Misc/DragHandle/DragHandle.d.ts.map +1 -0
  266. package/dist/components/Misc/DragHandle/DragHandle.js +39 -0
  267. package/dist/components/Misc/DragHandle/DragHandle.stories.d.ts +9 -0
  268. package/dist/components/Misc/DragHandle/DragHandle.stories.d.ts.map +1 -0
  269. package/dist/components/Misc/DragHandle/DragHandle.stories.js +54 -0
  270. package/dist/components/Misc/FAB/FAB.d.ts +54 -0
  271. package/dist/components/Misc/FAB/FAB.d.ts.map +1 -0
  272. package/dist/components/Misc/FAB/FAB.js +53 -0
  273. package/dist/components/Misc/FAB/FAB.stories.d.ts +10 -0
  274. package/dist/components/Misc/FAB/FAB.stories.d.ts.map +1 -0
  275. package/dist/components/Misc/FAB/FAB.stories.js +100 -0
  276. package/dist/components/Misc/FloatingToolbar/FloatingToolbar.d.ts +50 -0
  277. package/dist/components/Misc/FloatingToolbar/FloatingToolbar.d.ts.map +1 -0
  278. package/dist/components/Misc/FloatingToolbar/FloatingToolbar.js +40 -0
  279. package/dist/components/Misc/FloatingToolbar/FloatingToolbar.stories.d.ts +9 -0
  280. package/dist/components/Misc/FloatingToolbar/FloatingToolbar.stories.d.ts.map +1 -0
  281. package/dist/components/Misc/FloatingToolbar/FloatingToolbar.stories.js +53 -0
  282. package/dist/components/Misc/HoverAction/HoverAction.d.ts +50 -0
  283. package/dist/components/Misc/HoverAction/HoverAction.d.ts.map +1 -0
  284. package/dist/components/Misc/HoverAction/HoverAction.js +61 -0
  285. package/dist/components/Misc/HoverAction/HoverAction.stories.d.ts +12 -0
  286. package/dist/components/Misc/HoverAction/HoverAction.stories.d.ts.map +1 -0
  287. package/dist/components/Misc/HoverAction/HoverAction.stories.js +96 -0
  288. package/dist/components/Misc/IconBadge/IconBadge.d.ts.map +1 -1
  289. package/dist/components/Misc/IconBadge/IconBadge.js +8 -6
  290. package/dist/components/Misc/Image/Image.d.ts +3 -0
  291. package/dist/components/Misc/Image/Image.d.ts.map +1 -0
  292. package/dist/components/Misc/Image/Image.js +1 -0
  293. package/dist/components/Misc/Image/Image.stories.d.ts +11 -0
  294. package/dist/components/Misc/Image/Image.stories.d.ts.map +1 -0
  295. package/dist/components/Misc/Image/Image.stories.js +63 -0
  296. package/dist/components/Misc/Kbd/Kbd.d.ts +6 -0
  297. package/dist/components/Misc/Kbd/Kbd.d.ts.map +1 -0
  298. package/dist/components/Misc/Kbd/Kbd.js +16 -0
  299. package/dist/components/Misc/Kbd/Kbd.stories.d.ts +9 -0
  300. package/dist/components/Misc/Kbd/Kbd.stories.d.ts.map +1 -0
  301. package/dist/components/Misc/Kbd/Kbd.stories.js +52 -0
  302. package/dist/components/Misc/Menu/Menu.d.ts +17 -0
  303. package/dist/components/Misc/Menu/Menu.d.ts.map +1 -0
  304. package/dist/components/Misc/Menu/Menu.js +52 -0
  305. package/dist/components/Misc/OverflowFade/OverflowFade.d.ts +42 -0
  306. package/dist/components/Misc/OverflowFade/OverflowFade.d.ts.map +1 -0
  307. package/dist/components/Misc/OverflowFade/OverflowFade.js +110 -0
  308. package/dist/components/Misc/OverflowFade/OverflowFade.stories.d.ts +11 -0
  309. package/dist/components/Misc/OverflowFade/OverflowFade.stories.d.ts.map +1 -0
  310. package/dist/components/Misc/OverflowFade/OverflowFade.stories.js +112 -0
  311. package/dist/components/Misc/Picker/Picker.d.ts +62 -0
  312. package/dist/components/Misc/Picker/Picker.d.ts.map +1 -0
  313. package/dist/components/Misc/Picker/Picker.js +111 -0
  314. package/dist/components/Misc/Picker/Picker.stories.d.ts +14 -0
  315. package/dist/components/Misc/Picker/Picker.stories.d.ts.map +1 -0
  316. package/dist/components/Misc/Picker/Picker.stories.js +154 -0
  317. package/dist/components/Misc/SelectableObject/SelectableObject.d.ts +38 -0
  318. package/dist/components/Misc/SelectableObject/SelectableObject.d.ts.map +1 -0
  319. package/dist/components/Misc/SelectableObject/SelectableObject.js +70 -0
  320. package/dist/components/Misc/SelectableObject/SelectableObject.stories.d.ts +11 -0
  321. package/dist/components/Misc/SelectableObject/SelectableObject.stories.d.ts.map +1 -0
  322. package/dist/components/Misc/SelectableObject/SelectableObject.stories.js +84 -0
  323. package/dist/components/Misc/SelectionToolbar/SelectionToolbar.d.ts +26 -0
  324. package/dist/components/Misc/SelectionToolbar/SelectionToolbar.d.ts.map +1 -0
  325. package/dist/components/Misc/SelectionToolbar/SelectionToolbar.js +41 -0
  326. package/dist/components/Misc/SelectionToolbar/SelectionToolbar.stories.d.ts +10 -0
  327. package/dist/components/Misc/SelectionToolbar/SelectionToolbar.stories.d.ts.map +1 -0
  328. package/dist/components/Misc/SelectionToolbar/SelectionToolbar.stories.js +48 -0
  329. package/dist/components/Misc/Stepper/Step.stories.d.ts +118 -118
  330. package/dist/components/Misc/Stepper/variants.d.ts +1 -1
  331. package/dist/components/Misc/Timeline/Timeline.d.ts +18 -0
  332. package/dist/components/Misc/Timeline/Timeline.d.ts.map +1 -0
  333. package/dist/components/Misc/Timeline/Timeline.js +38 -0
  334. package/dist/components/Misc/Timeline/Timeline.stories.d.ts +8 -0
  335. package/dist/components/Misc/Timeline/Timeline.stories.d.ts.map +1 -0
  336. package/dist/components/Misc/Timeline/Timeline.stories.js +54 -0
  337. package/dist/components/Typography/InlineEditableText/InlineEditableText.d.ts +35 -0
  338. package/dist/components/Typography/InlineEditableText/InlineEditableText.d.ts.map +1 -0
  339. package/dist/components/Typography/InlineEditableText/InlineEditableText.js +112 -0
  340. package/dist/components/Typography/InlineEditableText/InlineEditableText.stories.d.ts +11 -0
  341. package/dist/components/Typography/InlineEditableText/InlineEditableText.stories.d.ts.map +1 -0
  342. package/dist/components/Typography/InlineEditableText/InlineEditableText.stories.js +48 -0
  343. package/dist/components/index.d.ts +149 -66
  344. package/dist/components/index.d.ts.map +1 -1
  345. package/dist/components/index.js +110 -67
  346. package/dist/constants/colors.d.ts +117 -91
  347. package/dist/constants/colors.d.ts.map +1 -1
  348. package/dist/constants/colors.js +56 -43
  349. package/dist/constants/font.d.ts +4 -4
  350. package/dist/constants/font.js +2 -2
  351. package/dist/hooks/index.d.ts +9 -1
  352. package/dist/hooks/index.d.ts.map +1 -1
  353. package/dist/hooks/index.js +7 -1
  354. package/dist/hooks/useConfirmationModal.d.ts.map +1 -1
  355. package/dist/hooks/useConfirmationModal.js +20 -1
  356. package/dist/hooks/useDisclosure.d.ts +11 -0
  357. package/dist/hooks/useDisclosure.d.ts.map +1 -0
  358. package/dist/hooks/useDisclosure.js +10 -0
  359. package/dist/hooks/useHeadroom.d.ts +18 -0
  360. package/dist/hooks/useHeadroom.d.ts.map +1 -0
  361. package/dist/hooks/useHeadroom.js +17 -0
  362. package/dist/hooks/useInfoModal.d.ts.map +1 -1
  363. package/dist/hooks/useInfoModal.js +13 -1
  364. package/dist/hooks/useMediaQuery.d.ts +1 -0
  365. package/dist/hooks/useMediaQuery.d.ts.map +1 -1
  366. package/dist/hooks/useMediaQuery.js +1 -0
  367. package/dist/hooks/useNotifications.d.ts +39 -7
  368. package/dist/hooks/useNotifications.d.ts.map +1 -1
  369. package/dist/hooks/useNotifications.js +108 -5
  370. package/dist/hooks/usePagination.d.ts +11 -0
  371. package/dist/hooks/usePagination.d.ts.map +1 -0
  372. package/dist/hooks/usePagination.js +2 -0
  373. package/dist/hooks/useScrollLock.d.ts +21 -0
  374. package/dist/hooks/useScrollLock.d.ts.map +1 -0
  375. package/dist/hooks/useScrollLock.js +20 -0
  376. package/dist/index.d.ts +5 -5
  377. package/dist/index.js +5 -5
  378. package/dist/styles/iosInputZoomFix.d.ts +31 -0
  379. package/dist/styles/iosInputZoomFix.d.ts.map +1 -0
  380. package/dist/styles/iosInputZoomFix.js +135 -0
  381. package/dist/utils/bytes.d.ts +10 -0
  382. package/dist/utils/bytes.d.ts.map +1 -0
  383. package/dist/utils/bytes.js +17 -0
  384. package/dist/utils/datetime.d.ts +18 -0
  385. package/dist/utils/datetime.d.ts.map +1 -0
  386. package/dist/utils/datetime.js +42 -0
  387. package/dist/utils/duration.d.ts +17 -0
  388. package/dist/utils/duration.d.ts.map +1 -0
  389. package/dist/utils/duration.js +30 -0
  390. package/dist/utils/index.d.ts +8 -2
  391. package/dist/utils/index.d.ts.map +1 -1
  392. package/dist/utils/index.js +7 -2
  393. package/dist/utils/sort.d.ts +44 -0
  394. package/dist/utils/sort.d.ts.map +1 -0
  395. package/dist/utils/sort.js +53 -0
  396. package/dist/utils/string.d.ts +22 -0
  397. package/dist/utils/string.d.ts.map +1 -0
  398. package/dist/utils/string.js +25 -0
  399. package/package.json +26 -2
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Calendar } from './Calendar';
3
+ declare const meta: Meta<typeof Calendar>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Calendar>;
6
+ export declare const Default: Story;
7
+ export declare const ReadOnly: Story;
8
+ export declare const CustomPalette: Story;
9
+ export declare const ClickHandlers: Story;
10
+ //# sourceMappingURL=Calendar.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Data/Calendar/Calendar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EACL,QAAQ,EAMT,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAI/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AA0DvC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAyB3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAU3B,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import dayjs from 'dayjs';
3
+ import { useState } from 'react';
4
+ import { Calendar, TAIV_CALENDAR_PALETTE, } from './Calendar';
5
+ const meta = {
6
+ title: 'Components/Data/Calendar',
7
+ component: Calendar,
8
+ parameters: { layout: 'fullscreen' },
9
+ };
10
+ export default meta;
11
+ // Helper — produce ISO datetime strings Schedule-X expects.
12
+ const dt = (offsetDays, hour) => dayjs()
13
+ .startOf('day')
14
+ .add(offsetDays, 'day')
15
+ .add(hour, 'hour')
16
+ .format('YYYY-MM-DD HH:mm');
17
+ const sampleEvents = [
18
+ {
19
+ id: '1',
20
+ title: 'Daily standup',
21
+ start: dt(0, 9),
22
+ end: dt(0, 10),
23
+ calendarId: 'primary',
24
+ },
25
+ {
26
+ id: '2',
27
+ title: 'Lunch with client',
28
+ start: dt(1, 12),
29
+ end: dt(1, 13),
30
+ calendarId: 'success',
31
+ },
32
+ {
33
+ id: '3',
34
+ title: 'Review PR',
35
+ start: dt(0, 14),
36
+ end: dt(0, 15),
37
+ calendarId: 'warning',
38
+ },
39
+ {
40
+ id: '4',
41
+ title: 'Off-site',
42
+ start: dt(2, 10),
43
+ end: dt(2, 16),
44
+ calendarId: 'neutral',
45
+ },
46
+ ];
47
+ const ControlledCalendar = (args) => {
48
+ var _a;
49
+ const [view, setView] = useState('week');
50
+ const [date, setDate] = useState(new Date());
51
+ return (_jsx(Calendar, { ...args, events: (_a = args.events) !== null && _a !== void 0 ? _a : sampleEvents, view: view, onViewChange: setView, currentDate: date, onDateChange: setDate }));
52
+ };
53
+ export const Default = {
54
+ render: () => _jsx(ControlledCalendar, {}),
55
+ };
56
+ export const ReadOnly = {
57
+ render: () => _jsx(ControlledCalendar, { readOnly: true }),
58
+ };
59
+ export const CustomPalette = {
60
+ render: () => {
61
+ const customCalendars = {
62
+ ...TAIV_CALENDAR_PALETTE,
63
+ vip: {
64
+ colorName: 'vip',
65
+ lightColors: {
66
+ main: '#7D63C8',
67
+ container: '#EFEAFF',
68
+ onContainer: '#7D63C8',
69
+ },
70
+ },
71
+ };
72
+ const events = [
73
+ ...sampleEvents,
74
+ {
75
+ id: '5',
76
+ title: 'VIP dinner',
77
+ start: dt(3, 19),
78
+ end: dt(3, 21),
79
+ calendarId: 'vip',
80
+ },
81
+ ];
82
+ return _jsx(ControlledCalendar, { calendars: customCalendars, events: events });
83
+ },
84
+ };
85
+ export const ClickHandlers = {
86
+ render: () => (_jsx(ControlledCalendar, { onEventClick: (e) => alert(`Clicked event: ${e.title}`), onClickDateTime: (iso) => alert(`Clicked slot: ${iso}`), onEventUpdate: (e) => console.log('Event updated:', e.id, e.start, e.end) })),
87
+ };
@@ -0,0 +1,27 @@
1
+ import type React from 'react';
2
+ export type MediaPillType = 'video' | 'image';
3
+ export type MediaPillSize = 'xs' | 'sm';
4
+ export interface MediaPillProps {
5
+ type: MediaPillType;
6
+ /** Formatted duration label (e.g. `'0:15'`). Required for videos; ignored for images. */
7
+ duration?: string;
8
+ size?: MediaPillSize;
9
+ /** Override the default label shown on image pills. */
10
+ imageLabel?: string;
11
+ style?: React.CSSProperties;
12
+ className?: string;
13
+ }
14
+ /**
15
+ * Small pill that sits on top of a thumbnail to tag media type + duration.
16
+ * Parent thumbnail container handles positioning — MediaPill is slot-agnostic.
17
+ *
18
+ * @example
19
+ * <div style={{ position: 'relative' }}>
20
+ * <img src={thumbnailUrl} alt="" />
21
+ * <div style={{ position: 'absolute', top: 8, left: 8 }}>
22
+ * <MediaPill type="video" duration="0:15" />
23
+ * </div>
24
+ * </div>
25
+ */
26
+ export declare const MediaPill: ({ type, duration, size, imageLabel, style, className, }: MediaPillProps) => import("react/jsx-runtime").JSX.Element;
27
+ //# sourceMappingURL=MediaPill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPill.d.ts","sourceRoot":"","sources":["../../../../src/components/Data/MediaPill/MediaPill.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;AAC9C,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,GAAI,yDAOvB,cAAc,4CA8BhB,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { IconPhotoFilled, IconPlayerPlayFilled } from '@tabler/icons-react';
3
+ import { neutral, white } from '../../../constants/colors';
4
+ import { fontBase, fontSize } from '../../../constants/font';
5
+ import { spacing } from '../../../constants/spacing';
6
+ const SIZE_CONFIG = {
7
+ sm: {
8
+ ...{ fontSize: fontSize.sm.fontSize },
9
+ gap: spacing.xs,
10
+ iconSize: 12,
11
+ padding: `${spacing.xxs} ${spacing.sm}`,
12
+ },
13
+ xs: {
14
+ ...{ fontSize: fontSize.xs.fontSize },
15
+ gap: spacing.xxs,
16
+ iconSize: 10,
17
+ padding: `${spacing.xxs} ${spacing.xs}`,
18
+ },
19
+ };
20
+ /**
21
+ * Small pill that sits on top of a thumbnail to tag media type + duration.
22
+ * Parent thumbnail container handles positioning — MediaPill is slot-agnostic.
23
+ *
24
+ * @example
25
+ * <div style={{ position: 'relative' }}>
26
+ * <img src={thumbnailUrl} alt="" />
27
+ * <div style={{ position: 'absolute', top: 8, left: 8 }}>
28
+ * <MediaPill type="video" duration="0:15" />
29
+ * </div>
30
+ * </div>
31
+ */
32
+ export const MediaPill = ({ type, duration, size = 'sm', imageLabel = 'IMG', style, className, }) => {
33
+ const cfg = SIZE_CONFIG[size];
34
+ const Icon = type === 'video' ? IconPlayerPlayFilled : IconPhotoFilled;
35
+ const label = type === 'video' ? (duration !== null && duration !== void 0 ? duration : '') : imageLabel;
36
+ return (_jsxs("span", { className: className, style: {
37
+ ...fontBase,
38
+ alignItems: 'center',
39
+ backdropFilter: 'blur(4px)',
40
+ backgroundColor: `${neutral[500]}B3`,
41
+ borderRadius: '999px',
42
+ color: white,
43
+ display: 'inline-flex',
44
+ fontSize: cfg.fontSize,
45
+ fontWeight: 600,
46
+ gap: cfg.gap,
47
+ lineHeight: 1,
48
+ padding: cfg.padding,
49
+ WebkitBackdropFilter: 'blur(4px)',
50
+ whiteSpace: 'nowrap',
51
+ ...style,
52
+ }, children: [_jsx(Icon, { size: cfg.iconSize }), label] }));
53
+ };
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { MediaPill } from './MediaPill';
3
+ declare const meta: Meta<typeof MediaPill>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Video: Story;
7
+ export declare const Image: Story;
8
+ export declare const Sizes: Story;
9
+ export declare const Matrix: Story;
10
+ //# sourceMappingURL=MediaPill.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPill.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Data/MediaPill/MediaPill.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAkBhC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA4BnC,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAiBnB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAiBpB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { neutral } from '../../../constants/colors';
3
+ import { spacing } from '../../../constants/spacing';
4
+ import { Group } from '../../Layout/Group/Group';
5
+ import { Stack } from '../../Layout/Stack/Stack';
6
+ import { Text } from '../../Typography/Text/Text';
7
+ import { MediaPill } from './MediaPill';
8
+ const meta = {
9
+ argTypes: {
10
+ duration: { control: { type: 'text' } },
11
+ imageLabel: { control: { type: 'text' } },
12
+ size: { control: { type: 'inline-radio' }, options: ['xs', 'sm'] },
13
+ type: { control: { type: 'inline-radio' }, options: ['video', 'image'] },
14
+ },
15
+ component: MediaPill,
16
+ parameters: {
17
+ docs: {
18
+ description: {
19
+ component: 'Small pill overlay for thumbnails that tags media type (video / image) plus a duration or `IMG` label. Parent container must handle absolute positioning.',
20
+ },
21
+ },
22
+ layout: 'centered',
23
+ },
24
+ title: 'Components/Data/MediaPill',
25
+ };
26
+ export default meta;
27
+ const Thumbnail = ({ children, size = 160, }) => (_jsx("div", { style: {
28
+ alignItems: 'center',
29
+ background: `linear-gradient(135deg, ${neutral[100]}, ${neutral[200]})`,
30
+ borderRadius: 8,
31
+ display: 'flex',
32
+ height: size,
33
+ justifyContent: 'center',
34
+ overflow: 'hidden',
35
+ position: 'relative',
36
+ width: size,
37
+ }, children: _jsx("div", { style: { left: spacing.sm, position: 'absolute', top: spacing.sm }, children: children }) }));
38
+ export const Video = {
39
+ args: { duration: '0:15', type: 'video' },
40
+ render: (args) => (_jsx(Thumbnail, { children: _jsx(MediaPill, { ...args }) })),
41
+ };
42
+ export const Image = {
43
+ args: { type: 'image' },
44
+ render: (args) => (_jsx(Thumbnail, { children: _jsx(MediaPill, { ...args }) })),
45
+ };
46
+ export const Sizes = {
47
+ render: () => (_jsxs(Group, { spacing: spacing.xl, children: [_jsxs(Stack, { align: 'center', spacing: spacing.xs, children: [_jsx(Thumbnail, { size: 120, children: _jsx(MediaPill, { duration: '0:15', size: 'xs', type: 'video' }) }), _jsx(Text, { variant: 'label', children: "xs" })] }), _jsxs(Stack, { align: 'center', spacing: spacing.xs, children: [_jsx(Thumbnail, { size: 160, children: _jsx(MediaPill, { duration: '0:30', size: 'sm', type: 'video' }) }), _jsx(Text, { variant: 'label', children: "sm" })] })] })),
48
+ };
49
+ export const Matrix = {
50
+ render: () => (_jsxs(Group, { spacing: spacing.lg, children: [_jsx(Thumbnail, { children: _jsx(MediaPill, { duration: '0:06', type: 'video' }) }), _jsx(Thumbnail, { children: _jsx(MediaPill, { duration: '1:24', type: 'video' }) }), _jsx(Thumbnail, { children: _jsx(MediaPill, { type: 'image' }) }), _jsx(Thumbnail, { children: _jsx(MediaPill, { imageLabel: 'GIF', type: 'image' }) })] })),
51
+ };
@@ -0,0 +1,9 @@
1
+ import { Avatar as MantineAvatar, type AvatarProps as MantineAvatarProps } from '@mantine/core';
2
+ import { primitives } from '../../../constants/colors';
3
+ export type AvatarPrimitiveColor = keyof typeof primitives;
4
+ interface AvatarProps extends Omit<MantineAvatarProps, 'color'> {
5
+ color?: AvatarPrimitiveColor;
6
+ }
7
+ declare const Avatar: typeof MantineAvatar;
8
+ export { Avatar, type AvatarProps };
9
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/Info/Avatar/Avatar.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,IAAI,aAAa,EACvB,KAAK,WAAW,IAAI,kBAAkB,EACvC,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,UAAU,CAAC;AAE3D,UAAU,WAAY,SAAQ,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7D,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B;AAkCD,QAAA,MAAM,MAAM,EAEN,OAAO,aAAa,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ //TODO clean this file up
3
+ import { Avatar as MantineAvatar, } from '@mantine/core';
4
+ import React from 'react';
5
+ import { primitives } from '../../../constants/colors';
6
+ const AvatarRoot = React.forwardRef(({ color: primitiveColor = 'purple', styles, ...props }, ref) => {
7
+ var _a;
8
+ const mergedStyles = primitiveColor && typeof styles !== 'function'
9
+ ? {
10
+ ...(styles !== null && styles !== void 0 ? styles : {}),
11
+ placeholder: {
12
+ ...((_a = styles === null || styles === void 0 ? void 0 : styles.placeholder) !== null && _a !== void 0 ? _a : {}),
13
+ backgroundColor: primitives[primitiveColor][25],
14
+ color: primitives[primitiveColor][200],
15
+ },
16
+ }
17
+ : primitiveColor && typeof styles === 'function'
18
+ ? (...args) => {
19
+ const resolved = styles(...args);
20
+ return {
21
+ ...resolved,
22
+ placeholder: {
23
+ ...resolved === null || resolved === void 0 ? void 0 : resolved.placeholder,
24
+ backgroundColor: primitives[primitiveColor][25],
25
+ color: primitives[primitiveColor][200],
26
+ },
27
+ };
28
+ }
29
+ : styles;
30
+ return _jsx(MantineAvatar, { ref: ref, styles: mergedStyles, ...props });
31
+ });
32
+ AvatarRoot.displayName = 'Avatar';
33
+ const Avatar = Object.assign(AvatarRoot, {
34
+ Group: MantineAvatar.Group,
35
+ });
36
+ export { Avatar };
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Avatar } from './Avatar';
3
+ declare const meta: Meta<typeof Avatar>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Initials: Story;
8
+ export declare const Grouped: Story;
9
+ //# sourceMappingURL=Avatar.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Info/Avatar/Avatar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAkD7B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAStB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { primitives } from '../../../constants/colors';
3
+ import { Avatar } from './Avatar';
4
+ const meta = {
5
+ argTypes: {
6
+ alt: {
7
+ control: { type: 'text' },
8
+ description: 'Alt text for the image, or title for placeholder',
9
+ table: { type: { summary: 'string' } },
10
+ },
11
+ children: {
12
+ control: { type: 'text' },
13
+ description: 'Fallback content when there is no image (e.g. initials)',
14
+ table: { type: { summary: 'ReactNode' } },
15
+ },
16
+ color: {
17
+ control: { type: 'select' },
18
+ description: 'Taiv primitives palette key (applied via Mantine styles API)',
19
+ options: Object.keys(primitives),
20
+ table: { type: { summary: 'AvatarPrimitiveColor' } },
21
+ },
22
+ radius: {
23
+ control: { type: 'select' },
24
+ description: 'Border radius',
25
+ options: ['xs', 'sm', 'md', 'lg', 'xl'],
26
+ table: { type: { summary: 'MantineNumberSize' } },
27
+ },
28
+ size: {
29
+ control: { type: 'select' },
30
+ description: 'Width and height',
31
+ options: ['xs', 'sm', 'md', 'lg', 'xl'],
32
+ table: { type: { summary: 'MantineNumberSize' } },
33
+ },
34
+ src: {
35
+ control: { type: 'text' },
36
+ description: 'Image URL',
37
+ table: { type: { summary: 'string | null' } },
38
+ },
39
+ variant: {
40
+ control: { type: 'select' },
41
+ description: 'Visual style',
42
+ options: ['filled', 'light', 'gradient', 'outline'],
43
+ table: {
44
+ type: { summary: "'filled' | 'light' | 'gradient' | 'outline'" },
45
+ },
46
+ },
47
+ },
48
+ component: Avatar,
49
+ parameters: {
50
+ layout: 'centered',
51
+ },
52
+ title: 'Components/Info/Avatar',
53
+ };
54
+ export default meta;
55
+ export const Default = {
56
+ args: {
57
+ alt: 'Profile photo',
58
+ radius: 'xl',
59
+ size: 'lg',
60
+ src: 'https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=200&h=200&fit=crop',
61
+ },
62
+ };
63
+ export const Initials = {
64
+ args: {
65
+ alt: 'User initials',
66
+ children: 'AB',
67
+ color: 'blue',
68
+ radius: 'xl',
69
+ size: 'lg',
70
+ variant: 'filled',
71
+ },
72
+ };
73
+ export const Grouped = {
74
+ parameters: {
75
+ docs: { source: { code: false } },
76
+ },
77
+ render: () => (_jsxs(Avatar.Group, { spacing: 'sm', children: [_jsx(Avatar, { radius: 'xl', src: 'https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=200&h=200&fit=crop' }), _jsx(Avatar, { radius: 'xl', src: 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=200&h=200&fit=crop' }), _jsx(Avatar, { color: 'gray', radius: 'xl', variant: 'light', children: "+3" })] })),
78
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Info/Badge/Badge.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK1C,KAAK,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAEhE,KAAK,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;IACnD,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,cAAc,CAwD9B,CAAC;AAQF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAUpB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAsC1B,CAAC"}
1
+ {"version":3,"file":"Badge.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Info/Badge/Badge.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK1C,KAAK,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAEhE,KAAK,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;IACnD,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,cAAc,CAwE9B,CAAC;AAQF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAStB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAUpB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAsC1B,CAAC"}
@@ -18,10 +18,10 @@ const meta = {
18
18
  argTypes: {
19
19
  variant: {
20
20
  control: { type: 'select' },
21
- options: ['outline', 'filled', 'gradient'],
21
+ options: ['outline', 'filled', 'gradient', 'dark'],
22
22
  description: 'Visual style of the badge',
23
23
  table: {
24
- type: { summary: "'outline' | 'filled' | 'gradient'" },
24
+ type: { summary: "'outline' | 'filled' | 'gradient' | 'dark'" },
25
25
  defaultValue: { summary: "'outline'" },
26
26
  },
27
27
  },
@@ -36,10 +36,25 @@ const meta = {
36
36
  },
37
37
  color: {
38
38
  control: { type: 'select' },
39
- options: ['primary', 'success', 'warning', 'error', 'neutral', 'white'],
40
- description: 'Design system color',
39
+ options: [
40
+ 'primary',
41
+ 'success',
42
+ 'warning',
43
+ 'error',
44
+ 'neutral',
45
+ 'white',
46
+ 'blue',
47
+ 'gray',
48
+ 'green',
49
+ 'purple',
50
+ 'red',
51
+ 'salmon',
52
+ 'teal',
53
+ 'yellow',
54
+ ],
55
+ description: 'Color token key — semantic (theme-following) or primitive (fixed hue)',
41
56
  table: {
42
- type: { summary: 'keyof typeof colors' },
57
+ type: { summary: 'keyof typeof colors | keyof typeof primitives' },
43
58
  defaultValue: { summary: "'primary'" },
44
59
  },
45
60
  },
@@ -80,7 +95,7 @@ export const Default = {
80
95
  },
81
96
  };
82
97
  export const Variants = {
83
- render: () => (_jsxs(Group, { gap: spacing.lg, children: [_jsx(Badge, { variant: "outline", color: "primary", children: "Outline" }), _jsx(Badge, { variant: "filled", color: "primary", children: "Filled" }), _jsx(Badge, { variant: "gradient", color: "primary", children: "Gradient" })] })),
98
+ render: () => (_jsxs(Group, { gap: spacing.lg, children: [_jsx(Badge, { variant: "outline", color: "primary", children: "Outline" }), _jsx(Badge, { variant: "filled", color: "primary", children: "Filled" }), _jsx(Badge, { variant: "gradient", color: "primary", children: "Gradient" }), _jsx(Badge, { variant: "dark", color: "primary", children: "Dark" })] })),
84
99
  };
85
100
  export const Colors = {
86
101
  render: () => (_jsxs(Group, { gap: spacing.lg, style: { flexWrap: 'wrap' }, children: [_jsx(Badge, { variant: "outline", color: "primary", children: "Primary" }), _jsx(Badge, { variant: "outline", color: "success", children: "Success" }), _jsx(Badge, { variant: "outline", color: "warning", children: "Warning" }), _jsx(Badge, { variant: "outline", color: "error", children: "Error" }), _jsx(Badge, { variant: "outline", color: "neutral", children: "Neutral" })] })),
@@ -1,33 +1,33 @@
1
1
  export declare const badgeSizes: {
2
- sm: {
3
- mantineSize: string;
4
- padding: string;
5
- height: string;
2
+ lg: {
6
3
  fontSize: {
7
4
  fontSize: string;
8
5
  lineHeight: string;
9
6
  };
7
+ height: string;
10
8
  iconSize: number;
11
- };
12
- md: {
13
9
  mantineSize: string;
14
10
  padding: string;
15
- height: string;
11
+ };
12
+ md: {
16
13
  fontSize: {
17
14
  fontSize: string;
18
15
  lineHeight: string;
19
16
  };
17
+ height: string;
20
18
  iconSize: number;
21
- };
22
- lg: {
23
19
  mantineSize: string;
24
20
  padding: string;
25
- height: string;
21
+ };
22
+ sm: {
26
23
  fontSize: {
27
24
  fontSize: string;
28
25
  lineHeight: string;
29
26
  };
27
+ height: string;
30
28
  iconSize: number;
29
+ mantineSize: string;
30
+ padding: string;
31
31
  };
32
32
  };
33
33
  export type BadgeSize = keyof typeof badgeSizes;
@@ -1,25 +1,25 @@
1
- import { inputFontSize } from '../../../constants/font';
2
- import { spacing } from '../../../constants/spacing';
1
+ import { inputFontSize } from "../../../constants/font";
2
+ import { spacing } from "../../../constants/spacing";
3
3
  export const badgeSizes = {
4
- sm: {
5
- mantineSize: 'md',
4
+ lg: {
5
+ fontSize: inputFontSize["lg"],
6
+ height: "32px",
7
+ iconSize: 16,
8
+ mantineSize: "xl",
6
9
  padding: `${spacing.xs} ${spacing.sm}`,
7
- height: '15px',
8
- fontSize: inputFontSize['sm'],
9
- iconSize: 10,
10
10
  },
11
11
  md: {
12
- mantineSize: 'lg',
13
- padding: `${spacing.xs} ${spacing.sm}`,
14
- height: '25px',
15
- fontSize: inputFontSize['md'],
12
+ fontSize: inputFontSize["md"],
13
+ height: "24px",
16
14
  iconSize: 14,
15
+ mantineSize: "lg",
16
+ padding: `${spacing.xs} ${spacing.sm}`,
17
17
  },
18
- lg: {
19
- mantineSize: 'xl',
18
+ sm: {
19
+ fontSize: inputFontSize["sm"],
20
+ height: "20px",
21
+ iconSize: 10,
22
+ mantineSize: "md",
20
23
  padding: `${spacing.xs} ${spacing.sm}`,
21
- height: '30px',
22
- fontSize: inputFontSize['lg'],
23
- iconSize: 16,
24
24
  },
25
25
  };
@@ -1,6 +1,6 @@
1
- import type { CSSObject } from '@mantine/styles';
2
- import { colors } from '../../../constants/colors';
3
- export type BadgeVariant = 'outline' | 'filled' | 'gradient';
4
- export type BadgeColor = keyof typeof colors;
1
+ import type { CSSObject } from "@mantine/styles";
2
+ import { colors, primitives } from "../../../constants/colors";
3
+ export type BadgeVariant = "outline" | "filled" | "gradient" | "dark";
4
+ export type BadgeColor = keyof typeof colors | keyof typeof primitives;
5
5
  export declare function getVariantStyles(color: BadgeColor): Record<BadgeVariant, CSSObject>;
6
6
  //# sourceMappingURL=variants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../src/components/Info/Badge/variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGnD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE7D,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,MAAM,CAAC;AAE7C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAoBnF"}
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../src/components/Info/Badge/variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAW,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGxE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAMtE,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,MAAM,GAAG,MAAM,OAAO,UAAU,CAAC;AASvE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,GAChB,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CA2BjC"}
@@ -1,22 +1,35 @@
1
- import { colors } from '../../../constants/colors';
2
- import { spacing } from '../../../constants/spacing';
1
+ import { colors, neutral, primitives } from "../../../constants/colors";
2
+ import { spacing } from "../../../constants/spacing";
3
+ // Combined token lookup so either kind of key resolves by index. Semantic and
4
+ // primitive scales live in separate objects; merging once (no overlapping
5
+ // keys) avoids branching per lookup. NOTE: `colors.white` is a flat string
6
+ // rather than a scale — indexing it by a shade yields a character, harmless
7
+ // since `white` is only ever a decorative, non-scale Badge color.
8
+ const palette = { ...colors, ...primitives };
3
9
  export function getVariantStyles(color) {
10
+ const scale = palette[color];
4
11
  return {
5
- outline: {
6
- border: `1.5px solid ${colors[color][200]}`,
7
- color: colors[color][200],
8
- backgroundColor: 'transparent',
9
- borderRadius: '8px',
10
- padding: `${spacing.xs} ${spacing.sm}`,
12
+ dark: {
13
+ backgroundColor: `${neutral[300]}b3`,
14
+ border: "none",
15
+ borderRadius: "6px",
16
+ color: "white",
11
17
  },
12
18
  filled: {
13
- backgroundColor: colors[color][50],
14
- color: colors[color][200],
19
+ backgroundColor: scale[25],
20
+ color: scale[200],
15
21
  },
16
22
  gradient: {
17
- background: `linear-gradient(to right, ${colors[color][50]}, ${colors[color][200]})`,
18
- color: 'white',
19
- borderRadius: '16px',
23
+ background: `linear-gradient(to right, ${scale[50]}, ${scale[200]})`,
24
+ borderRadius: "16px",
25
+ color: "white",
26
+ padding: `${spacing.xs} ${spacing.sm}`,
27
+ },
28
+ outline: {
29
+ backgroundColor: "transparent",
30
+ border: `1.5px solid ${scale[200]}`,
31
+ borderRadius: "8px",
32
+ color: scale[200],
20
33
  padding: `${spacing.xs} ${spacing.sm}`,
21
34
  },
22
35
  };
@@ -0,0 +1,24 @@
1
+ import { type DrawerProps as MantineDrawerProps } from '@mantine/core';
2
+ import type React from 'react';
3
+ export type DrawerPosition = 'right' | 'left' | 'top' | 'bottom';
4
+ export interface DrawerProps extends Omit<MantineDrawerProps, 'title' | 'children'> {
5
+ /** Body content. Scrolls independently of header + pinned footer. */
6
+ children: React.ReactNode;
7
+ /** Title shown in the header slot. If omitted, no header renders. */
8
+ title?: React.ReactNode;
9
+ /** Optional subtitle / metadata underneath the title. */
10
+ subtitle?: React.ReactNode;
11
+ /** Pinned footer. Stays visible while the body scrolls. */
12
+ footer?: React.ReactNode;
13
+ /** Show the built-in close button in the header. Default `true`. */
14
+ showClose?: boolean;
15
+ /** Swap the header for a fully custom node. Bypasses title/subtitle/close. */
16
+ header?: React.ReactNode;
17
+ }
18
+ /**
19
+ * Side drawer built on Mantine v6 with pinned header + footer slots.
20
+ * Right-anchored by default — use `MobileDrawer` for bottom-anchored mobile
21
+ * sheets, or `ResponsiveDrawer` for automatic right/bottom switching.
22
+ */
23
+ export declare const Drawer: ({ children, title, subtitle, footer, header, showClose, position, size, onClose, styles, ...props }: DrawerProps) => import("react/jsx-runtime").JSX.Element;
24
+ //# sourceMappingURL=Drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/components/Info/Drawer/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,IAAI,kBAAkB,EACvC,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,UAAU,CAAC;IACtD,qEAAqE;IACrE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qEAAqE;IACrE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,qGAYpB,WAAW,4CAwEb,CAAC"}