@reshape-biotech/design-system 2.4.2 → 2.5.1

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 (472) hide show
  1. package/README.md +3 -0
  2. package/dist/app.css +115 -0
  3. package/dist/components/activity/Activity.stories.svelte +127 -0
  4. package/dist/components/activity/Activity.stories.svelte.d.ts +19 -0
  5. package/dist/components/activity/Activity.svelte +127 -0
  6. package/dist/components/activity/Activity.svelte.d.ts +17 -0
  7. package/dist/components/activity/index.d.ts +1 -0
  8. package/dist/components/activity/index.js +1 -0
  9. package/dist/components/avatar/Avatar.stories.svelte +41 -0
  10. package/dist/components/avatar/Avatar.stories.svelte.d.ts +19 -0
  11. package/dist/components/avatar/Avatar.svelte +63 -0
  12. package/dist/components/avatar/Avatar.svelte.d.ts +8 -0
  13. package/dist/components/avatar/index.d.ts +1 -0
  14. package/dist/components/avatar/index.js +1 -0
  15. package/dist/components/banner/Banner.stories.svelte +129 -0
  16. package/dist/components/banner/Banner.stories.svelte.d.ts +19 -0
  17. package/dist/components/banner/Banner.svelte +59 -0
  18. package/dist/components/banner/Banner.svelte.d.ts +11 -0
  19. package/dist/components/banner/index.d.ts +1 -0
  20. package/dist/components/banner/index.js +1 -0
  21. package/dist/components/button/Button.stories.svelte +76 -0
  22. package/dist/components/button/Button.stories.svelte.d.ts +19 -0
  23. package/dist/components/button/Button.svelte +311 -0
  24. package/dist/components/button/Button.svelte.d.ts +22 -0
  25. package/dist/components/button/index.d.ts +1 -0
  26. package/dist/components/button/index.js +1 -0
  27. package/dist/components/card/Card.stories.svelte +130 -0
  28. package/dist/components/card/Card.stories.svelte.d.ts +19 -0
  29. package/dist/components/card/Card.svelte +25 -0
  30. package/dist/components/card/Card.svelte.d.ts +10 -0
  31. package/dist/components/card/index.d.ts +1 -0
  32. package/dist/components/card/index.js +1 -0
  33. package/dist/components/checkbox/Checkbox.stories.svelte +22 -0
  34. package/dist/components/checkbox/Checkbox.stories.svelte.d.ts +19 -0
  35. package/dist/components/checkbox/Checkbox.svelte +24 -0
  36. package/dist/components/checkbox/Checkbox.svelte.d.ts +5 -0
  37. package/dist/components/checkbox/index.d.ts +1 -0
  38. package/dist/components/checkbox/index.js +1 -0
  39. package/dist/components/collapsible/Collapsible.stories.svelte +41 -0
  40. package/dist/components/collapsible/Collapsible.stories.svelte.d.ts +19 -0
  41. package/dist/components/collapsible/components/collapsible-content.svelte +26 -0
  42. package/dist/components/collapsible/components/collapsible-content.svelte.d.ts +10 -0
  43. package/dist/components/collapsible/components/collapsible-trigger.svelte +36 -0
  44. package/dist/components/collapsible/components/collapsible-trigger.svelte.d.ts +4 -0
  45. package/dist/components/collapsible/index.d.ts +5 -0
  46. package/dist/components/collapsible/index.js +4 -0
  47. package/dist/components/collapsible/types.d.ts +9 -0
  48. package/dist/components/collapsible/types.js +1 -0
  49. package/dist/components/combobox/Combobox.stories.svelte +442 -0
  50. package/dist/components/combobox/Combobox.stories.svelte.d.ts +19 -0
  51. package/dist/components/combobox/components/combobox-add.svelte +31 -0
  52. package/dist/components/combobox/components/combobox-add.svelte.d.ts +8 -0
  53. package/dist/components/combobox/components/combobox-content.svelte +156 -0
  54. package/dist/components/combobox/components/combobox-content.svelte.d.ts +4 -0
  55. package/dist/components/combobox/components/combobox-indicator.svelte +5 -0
  56. package/dist/components/combobox/components/combobox-indicator.svelte.d.ts +18 -0
  57. package/dist/components/combobox/index.d.ts +14 -0
  58. package/dist/components/combobox/index.js +15 -0
  59. package/dist/components/combobox/types.d.ts +24 -0
  60. package/dist/components/combobox/types.js +1 -0
  61. package/dist/components/datepicker/DatePicker.stories.svelte +222 -0
  62. package/dist/components/datepicker/DatePicker.stories.svelte.d.ts +19 -0
  63. package/dist/components/datepicker/DatePicker.svelte +346 -0
  64. package/dist/components/datepicker/DatePicker.svelte.d.ts +8 -0
  65. package/dist/components/datepicker/index.d.ts +1 -0
  66. package/dist/components/datepicker/index.js +1 -0
  67. package/dist/components/divider/Divider.stories.svelte +12 -0
  68. package/dist/components/divider/Divider.stories.svelte.d.ts +27 -0
  69. package/dist/components/divider/Divider.svelte +15 -0
  70. package/dist/components/divider/Divider.svelte.d.ts +8 -0
  71. package/dist/components/divider/index.d.ts +1 -0
  72. package/dist/components/divider/index.js +1 -0
  73. package/dist/components/drawer/Drawer.stories.svelte +231 -0
  74. package/dist/components/drawer/Drawer.stories.svelte.d.ts +27 -0
  75. package/dist/components/drawer/components/drawer-bottom.svelte +14 -0
  76. package/dist/components/drawer/components/drawer-bottom.svelte.d.ts +4 -0
  77. package/dist/components/drawer/components/drawer-close.svelte +19 -0
  78. package/dist/components/drawer/components/drawer-close.svelte.d.ts +4 -0
  79. package/dist/components/drawer/components/drawer-content.svelte +74 -0
  80. package/dist/components/drawer/components/drawer-content.svelte.d.ts +4 -0
  81. package/dist/components/drawer/components/drawer-overlay.svelte +23 -0
  82. package/dist/components/drawer/components/drawer-overlay.svelte.d.ts +4 -0
  83. package/dist/components/drawer/components/drawer-title.svelte +20 -0
  84. package/dist/components/drawer/components/drawer-title.svelte.d.ts +4 -0
  85. package/dist/components/drawer/components/drawer-trigger.svelte +10 -0
  86. package/dist/components/drawer/components/drawer-trigger.svelte.d.ts +4 -0
  87. package/dist/components/drawer/index.d.ts +12 -0
  88. package/dist/components/drawer/index.js +15 -0
  89. package/dist/components/drawer/types.d.ts +36 -0
  90. package/dist/components/drawer/types.js +1 -0
  91. package/dist/components/dropdown/Dropdown.stories.svelte +236 -0
  92. package/dist/components/dropdown/Dropdown.stories.svelte.d.ts +27 -0
  93. package/dist/components/dropdown/Dropdown.svelte +69 -0
  94. package/dist/components/dropdown/Dropdown.svelte.d.ts +26 -0
  95. package/dist/components/dropdown/components/DropdownContent.svelte +29 -0
  96. package/dist/components/dropdown/components/DropdownContent.svelte.d.ts +10 -0
  97. package/dist/components/dropdown/components/DropdownMenu.svelte +23 -0
  98. package/dist/components/dropdown/components/DropdownMenu.svelte.d.ts +8 -0
  99. package/dist/components/dropdown/components/DropdownTrigger.svelte +46 -0
  100. package/dist/components/dropdown/components/DropdownTrigger.svelte.d.ts +13 -0
  101. package/dist/components/dropdown/components/OutlinedButton.svelte +61 -0
  102. package/dist/components/dropdown/components/OutlinedButton.svelte.d.ts +8 -0
  103. package/dist/components/dropdown/index.d.ts +1 -0
  104. package/dist/components/dropdown/index.js +1 -0
  105. package/dist/components/empty-content/EmptyContent.stories.svelte +47 -0
  106. package/dist/components/empty-content/EmptyContent.stories.svelte.d.ts +27 -0
  107. package/dist/components/empty-content/EmptyContent.svelte +19 -0
  108. package/dist/components/empty-content/EmptyContent.svelte.d.ts +8 -0
  109. package/dist/components/empty-content/index.d.ts +1 -0
  110. package/dist/components/empty-content/index.js +1 -0
  111. package/dist/components/graphs/bar-chart/BarChart.stories.svelte +119 -0
  112. package/dist/components/graphs/bar-chart/BarChart.stories.svelte.d.ts +19 -0
  113. package/dist/components/graphs/bar-chart/BarChart.svelte +169 -0
  114. package/dist/components/graphs/bar-chart/BarChart.svelte.d.ts +17 -0
  115. package/dist/components/graphs/bar-chart/StackedBarChart.stories.svelte +74 -0
  116. package/dist/components/graphs/bar-chart/StackedBarChart.stories.svelte.d.ts +19 -0
  117. package/dist/components/graphs/bar-chart/StackedBarChart.svelte +208 -0
  118. package/dist/components/graphs/bar-chart/StackedBarChart.svelte.d.ts +18 -0
  119. package/dist/components/graphs/chart/Chart.stories.svelte +133 -0
  120. package/dist/components/graphs/chart/Chart.stories.svelte.d.ts +19 -0
  121. package/dist/components/graphs/chart/Chart.svelte +226 -0
  122. package/dist/components/graphs/chart/Chart.svelte.d.ts +28 -0
  123. package/dist/components/graphs/index.d.ts +7 -0
  124. package/dist/components/graphs/index.js +7 -0
  125. package/dist/components/graphs/line/LineChart.stories.svelte +173 -0
  126. package/dist/components/graphs/line/LineChart.stories.svelte.d.ts +19 -0
  127. package/dist/components/graphs/line/LineChart.svelte +156 -0
  128. package/dist/components/graphs/line/LineChart.svelte.d.ts +4 -0
  129. package/dist/components/graphs/line/types.d.ts +13 -0
  130. package/dist/components/graphs/line/types.js +1 -0
  131. package/dist/components/graphs/matrix/Matrix.stories.svelte +142 -0
  132. package/dist/components/graphs/matrix/Matrix.stories.svelte.d.ts +19 -0
  133. package/dist/components/graphs/matrix/Matrix.svelte +149 -0
  134. package/dist/components/graphs/matrix/Matrix.svelte.d.ts +24 -0
  135. package/dist/components/graphs/matrix/index.d.ts +3 -0
  136. package/dist/components/graphs/matrix/index.js +3 -0
  137. package/dist/components/graphs/multiline/MultiLineChart.stories.svelte +200 -0
  138. package/dist/components/graphs/multiline/MultiLineChart.stories.svelte.d.ts +19 -0
  139. package/dist/components/graphs/multiline/MultiLineChart.svelte +263 -0
  140. package/dist/components/graphs/multiline/MultiLineChart.svelte.d.ts +23 -0
  141. package/dist/components/graphs/multiline/types.d.ts +20 -0
  142. package/dist/components/graphs/multiline/types.js +1 -0
  143. package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte +105 -0
  144. package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte.d.ts +19 -0
  145. package/dist/components/graphs/scatterplot/Scatterplot.svelte +335 -0
  146. package/dist/components/graphs/scatterplot/Scatterplot.svelte.d.ts +26 -0
  147. package/dist/components/graphs/utils/duration.d.ts +1 -0
  148. package/dist/components/graphs/utils/duration.js +33 -0
  149. package/dist/components/graphs/utils/tooltipFormatter.d.ts +15 -0
  150. package/dist/components/graphs/utils/tooltipFormatter.js +70 -0
  151. package/dist/components/icon-button/IconButton.stories.svelte +82 -0
  152. package/dist/components/icon-button/IconButton.stories.svelte.d.ts +19 -0
  153. package/dist/components/icon-button/IconButton.svelte +194 -0
  154. package/dist/components/icon-button/IconButton.svelte.d.ts +14 -0
  155. package/dist/components/icon-button/index.d.ts +1 -0
  156. package/dist/components/icon-button/index.js +1 -0
  157. package/dist/components/icons/AnalysisIcon.stories.svelte +32 -0
  158. package/dist/components/icons/AnalysisIcon.stories.svelte.d.ts +27 -0
  159. package/dist/components/icons/AnalysisIcon.svelte +131 -0
  160. package/dist/components/icons/AnalysisIcon.svelte.d.ts +11 -0
  161. package/dist/components/icons/Icon.stories.svelte +127 -0
  162. package/dist/components/icons/Icon.stories.svelte.d.ts +19 -0
  163. package/dist/components/icons/Icon.svelte +24 -0
  164. package/dist/components/icons/Icon.svelte.d.ts +4 -0
  165. package/dist/components/icons/PrincipalIcon.svelte +96 -0
  166. package/dist/components/icons/PrincipalIcon.svelte.d.ts +10 -0
  167. package/dist/components/icons/custom/Halo.svelte +39 -0
  168. package/dist/components/icons/custom/Halo.svelte.d.ts +8 -0
  169. package/dist/components/icons/custom/LightBottomHighIcon.svelte +26 -0
  170. package/dist/components/icons/custom/LightBottomHighIcon.svelte.d.ts +8 -0
  171. package/dist/components/icons/custom/LightBottomLowIcon.svelte +23 -0
  172. package/dist/components/icons/custom/LightBottomLowIcon.svelte.d.ts +8 -0
  173. package/dist/components/icons/custom/LightBottomMediumIcon.svelte +26 -0
  174. package/dist/components/icons/custom/LightBottomMediumIcon.svelte.d.ts +8 -0
  175. package/dist/components/icons/custom/LightTopHighIcon.svelte +26 -0
  176. package/dist/components/icons/custom/LightTopHighIcon.svelte.d.ts +8 -0
  177. package/dist/components/icons/custom/LightTopLowIcon.svelte +26 -0
  178. package/dist/components/icons/custom/LightTopLowIcon.svelte.d.ts +8 -0
  179. package/dist/components/icons/custom/LightTopMediumIcon.svelte +26 -0
  180. package/dist/components/icons/custom/LightTopMediumIcon.svelte.d.ts +8 -0
  181. package/dist/components/icons/custom/Well.svelte +35 -0
  182. package/dist/components/icons/custom/Well.svelte.d.ts +8 -0
  183. package/dist/components/icons/custom/index.d.ts +9 -0
  184. package/dist/components/icons/custom/index.js +8 -0
  185. package/dist/components/icons/index.d.ts +29 -0
  186. package/dist/components/icons/index.js +249 -0
  187. package/dist/components/icons/types.d.ts +0 -0
  188. package/dist/components/icons/types.js +1 -0
  189. package/dist/components/image/Image.svelte +55 -0
  190. package/dist/components/image/Image.svelte.d.ts +7 -0
  191. package/dist/components/image/index.d.ts +1 -0
  192. package/dist/components/image/index.js +1 -0
  193. package/dist/components/input/Input.stories.svelte +87 -0
  194. package/dist/components/input/Input.stories.svelte.d.ts +27 -0
  195. package/dist/components/input/Input.svelte +228 -0
  196. package/dist/components/input/Input.svelte.d.ts +23 -0
  197. package/dist/components/input/index.d.ts +1 -0
  198. package/dist/components/input/index.js +1 -0
  199. package/dist/components/label/Label.stories.svelte +28 -0
  200. package/dist/components/label/Label.stories.svelte.d.ts +19 -0
  201. package/dist/components/label/Label.svelte +17 -0
  202. package/dist/components/label/Label.svelte.d.ts +9 -0
  203. package/dist/components/legend/Legend.stories.svelte +108 -0
  204. package/dist/components/legend/Legend.stories.svelte.d.ts +19 -0
  205. package/dist/components/legend/components/legend-item.svelte +28 -0
  206. package/dist/components/legend/components/legend-item.svelte.d.ts +9 -0
  207. package/dist/components/legend/components/legend-root.svelte +24 -0
  208. package/dist/components/legend/components/legend-root.svelte.d.ts +8 -0
  209. package/dist/components/legend/index.d.ts +11 -0
  210. package/dist/components/legend/index.js +2 -0
  211. package/dist/components/list/List.stories.svelte +97 -0
  212. package/dist/components/list/List.stories.svelte.d.ts +19 -0
  213. package/dist/components/list/List.svelte +69 -0
  214. package/dist/components/list/List.svelte.d.ts +24 -0
  215. package/dist/components/list/index.d.ts +1 -0
  216. package/dist/components/list/index.js +1 -0
  217. package/dist/components/logo/Logo.stories.svelte +21 -0
  218. package/dist/components/logo/Logo.stories.svelte.d.ts +27 -0
  219. package/dist/components/logo/Logo.svelte +39 -0
  220. package/dist/components/logo/Logo.svelte.d.ts +7 -0
  221. package/dist/components/logo/index.d.ts +1 -0
  222. package/dist/components/logo/index.js +1 -0
  223. package/dist/components/manual-cfu-counter/ManualCFUCounter.stories.svelte +125 -0
  224. package/dist/components/manual-cfu-counter/ManualCFUCounter.stories.svelte.d.ts +3 -0
  225. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte +580 -0
  226. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte.d.ts +20 -0
  227. package/dist/components/manual-cfu-counter/index.d.ts +1 -0
  228. package/dist/components/manual-cfu-counter/index.js +1 -0
  229. package/dist/components/manual-cfu-counter/test/ManualCFUCounterTestWrapper.svelte +22 -0
  230. package/dist/components/manual-cfu-counter/test/ManualCFUCounterTestWrapper.svelte.d.ts +19 -0
  231. package/dist/components/markdown/Markdown.stories.svelte +41 -0
  232. package/dist/components/markdown/Markdown.stories.svelte.d.ts +27 -0
  233. package/dist/components/markdown/Markdown.svelte +12 -0
  234. package/dist/components/markdown/Markdown.svelte.d.ts +6 -0
  235. package/dist/components/markdown/index.d.ts +1 -0
  236. package/dist/components/markdown/index.js +1 -0
  237. package/dist/components/modal/Modal.stories.svelte +247 -0
  238. package/dist/components/modal/Modal.stories.svelte.d.ts +19 -0
  239. package/dist/components/modal/components/modal-bottom.svelte +15 -0
  240. package/dist/components/modal/components/modal-bottom.svelte.d.ts +4 -0
  241. package/dist/components/modal/components/modal-close.svelte +19 -0
  242. package/dist/components/modal/components/modal-close.svelte.d.ts +4 -0
  243. package/dist/components/modal/components/modal-content.svelte +59 -0
  244. package/dist/components/modal/components/modal-content.svelte.d.ts +4 -0
  245. package/dist/components/modal/components/modal-overlay.svelte +19 -0
  246. package/dist/components/modal/components/modal-overlay.svelte.d.ts +4 -0
  247. package/dist/components/modal/components/modal-title.svelte +21 -0
  248. package/dist/components/modal/components/modal-title.svelte.d.ts +4 -0
  249. package/dist/components/modal/components/modal-trigger.svelte +10 -0
  250. package/dist/components/modal/components/modal-trigger.svelte.d.ts +4 -0
  251. package/dist/components/modal/index.d.ts +12 -0
  252. package/dist/components/modal/index.js +15 -0
  253. package/dist/components/modal/types.d.ts +32 -0
  254. package/dist/components/modal/types.js +1 -0
  255. package/dist/components/multi-cfu-counter/MultiCFUCounter.stories.svelte +215 -0
  256. package/dist/components/multi-cfu-counter/MultiCFUCounter.stories.svelte.d.ts +3 -0
  257. package/dist/components/multi-cfu-counter/MultiCFUCounter.svelte +669 -0
  258. package/dist/components/multi-cfu-counter/MultiCFUCounter.svelte.d.ts +36 -0
  259. package/dist/components/multi-cfu-counter/index.d.ts +1 -0
  260. package/dist/components/multi-cfu-counter/index.js +1 -0
  261. package/dist/components/multi-cfu-counter/test/MultiCFUCounterTestWrapper.svelte +28 -0
  262. package/dist/components/multi-cfu-counter/test/MultiCFUCounterTestWrapper.svelte.d.ts +20 -0
  263. package/dist/components/notification-popup/NotificationPopup.stories.svelte +26 -0
  264. package/dist/components/notification-popup/NotificationPopup.stories.svelte.d.ts +27 -0
  265. package/dist/components/notification-popup/NotificationPopup.svelte +33 -0
  266. package/dist/components/notification-popup/NotificationPopup.svelte.d.ts +11 -0
  267. package/dist/components/notification-popup/index.d.ts +1 -0
  268. package/dist/components/notification-popup/index.js +1 -0
  269. package/dist/components/notifications/Notifications.stories.svelte +107 -0
  270. package/dist/components/notifications/Notifications.stories.svelte.d.ts +19 -0
  271. package/dist/components/notifications/Notifications.svelte +14 -0
  272. package/dist/components/notifications/Notifications.svelte.d.ts +18 -0
  273. package/dist/components/notifications/index.d.ts +1 -0
  274. package/dist/components/notifications/index.js +1 -0
  275. package/dist/components/pill/Pill.stories.svelte +13 -0
  276. package/dist/components/pill/Pill.stories.svelte.d.ts +19 -0
  277. package/dist/components/pill/Pill.svelte +39 -0
  278. package/dist/components/pill/Pill.svelte.d.ts +10 -0
  279. package/dist/components/pill/index.d.ts +1 -0
  280. package/dist/components/pill/index.js +1 -0
  281. package/dist/components/progress-circle/ProgressCircle.stories.svelte +15 -0
  282. package/dist/components/progress-circle/ProgressCircle.stories.svelte.d.ts +19 -0
  283. package/dist/components/progress-circle/ProgressCircle.svelte +79 -0
  284. package/dist/components/progress-circle/ProgressCircle.svelte.d.ts +7 -0
  285. package/dist/components/progress-circle/index.d.ts +1 -0
  286. package/dist/components/progress-circle/index.js +1 -0
  287. package/dist/components/required-status-indicator/RequiredStatusIndicator.stories.svelte +28 -0
  288. package/dist/components/required-status-indicator/RequiredStatusIndicator.stories.svelte.d.ts +19 -0
  289. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte +22 -0
  290. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte.d.ts +8 -0
  291. package/dist/components/required-status-indicator/index.d.ts +1 -0
  292. package/dist/components/required-status-indicator/index.js +1 -0
  293. package/dist/components/segmented-control-buttons/ControlButton.svelte +59 -0
  294. package/dist/components/segmented-control-buttons/ControlButton.svelte.d.ts +14 -0
  295. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +45 -0
  296. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte.d.ts +19 -0
  297. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte +21 -0
  298. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte.d.ts +12 -0
  299. package/dist/components/segmented-control-buttons/index.d.ts +1 -0
  300. package/dist/components/segmented-control-buttons/index.js +1 -0
  301. package/dist/components/select/Select.stories.svelte +219 -0
  302. package/dist/components/select/Select.stories.svelte.d.ts +19 -0
  303. package/dist/components/select/components/Group.svelte +24 -0
  304. package/dist/components/select/components/Group.svelte.d.ts +11 -0
  305. package/dist/components/select/components/MultiSelectTrigger.svelte +70 -0
  306. package/dist/components/select/components/MultiSelectTrigger.svelte.d.ts +18 -0
  307. package/dist/components/select/components/SelectContent.svelte +33 -0
  308. package/dist/components/select/components/SelectContent.svelte.d.ts +10 -0
  309. package/dist/components/select/components/SelectGroupHeading.svelte +19 -0
  310. package/dist/components/select/components/SelectGroupHeading.svelte.d.ts +9 -0
  311. package/dist/components/select/components/SelectItem.svelte +39 -0
  312. package/dist/components/select/components/SelectItem.svelte.d.ts +9 -0
  313. package/dist/components/select/components/SelectTrigger.svelte +48 -0
  314. package/dist/components/select/components/SelectTrigger.svelte.d.ts +12 -0
  315. package/dist/components/select/index.d.ts +10 -0
  316. package/dist/components/select/index.js +12 -0
  317. package/dist/components/select/types.d.ts +25 -0
  318. package/dist/components/select/types.js +1 -0
  319. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte +107 -0
  320. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte.d.ts +3 -0
  321. package/dist/components/sjsf-wrappers/SjsfSelectWidgetWrapper.svelte +77 -0
  322. package/dist/components/sjsf-wrappers/SjsfSelectWidgetWrapper.svelte.d.ts +3 -0
  323. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte +65 -0
  324. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte.d.ts +3 -0
  325. package/dist/components/sjsf-wrappers/index.d.ts +2 -0
  326. package/dist/components/sjsf-wrappers/index.js +2 -0
  327. package/dist/components/sjsf-wrappers/sjsfCustomTheme.d.ts +2 -0
  328. package/dist/components/sjsf-wrappers/sjsfCustomTheme.js +12 -0
  329. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +45 -0
  330. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte.d.ts +27 -0
  331. package/dist/components/skeleton-loader/SkeletonLoader.svelte +17 -0
  332. package/dist/components/skeleton-loader/SkeletonLoader.svelte.d.ts +14 -0
  333. package/dist/components/skeleton-loader/StatcardSkeleton.svelte +14 -0
  334. package/dist/components/skeleton-loader/StatcardSkeleton.svelte.d.ts +18 -0
  335. package/dist/components/skeleton-loader/components/Skeleton.svelte +14 -0
  336. package/dist/components/skeleton-loader/components/Skeleton.svelte.d.ts +8 -0
  337. package/dist/components/skeleton-loader/components/SkeletonImage.svelte +14 -0
  338. package/dist/components/skeleton-loader/components/SkeletonImage.svelte.d.ts +26 -0
  339. package/dist/components/skeleton-loader/index.d.ts +3 -0
  340. package/dist/components/skeleton-loader/index.js +3 -0
  341. package/dist/components/slider/Slider.stories.svelte +42 -0
  342. package/dist/components/slider/Slider.stories.svelte.d.ts +27 -0
  343. package/dist/components/slider/Slider.svelte +133 -0
  344. package/dist/components/slider/Slider.svelte.d.ts +32 -0
  345. package/dist/components/slider/index.d.ts +1 -0
  346. package/dist/components/slider/index.js +1 -0
  347. package/dist/components/spinner/Spinner.stories.svelte +13 -0
  348. package/dist/components/spinner/Spinner.stories.svelte.d.ts +19 -0
  349. package/dist/components/spinner/Spinner.svelte +32 -0
  350. package/dist/components/spinner/Spinner.svelte.d.ts +7 -0
  351. package/dist/components/spinner/index.d.ts +1 -0
  352. package/dist/components/spinner/index.js +1 -0
  353. package/dist/components/stat-card/StatCard.stories.svelte +40 -0
  354. package/dist/components/stat-card/StatCard.stories.svelte.d.ts +27 -0
  355. package/dist/components/stat-card/StatCard.svelte +146 -0
  356. package/dist/components/stat-card/StatCard.svelte.d.ts +13 -0
  357. package/dist/components/stat-card/index.d.ts +1 -0
  358. package/dist/components/stat-card/index.js +1 -0
  359. package/dist/components/status-badge/StatusBadge.stories.svelte +393 -0
  360. package/dist/components/status-badge/StatusBadge.stories.svelte.d.ts +19 -0
  361. package/dist/components/status-badge/StatusBadge.svelte +149 -0
  362. package/dist/components/status-badge/StatusBadge.svelte.d.ts +12 -0
  363. package/dist/components/status-badge/index.d.ts +1 -0
  364. package/dist/components/status-badge/index.js +1 -0
  365. package/dist/components/stepper/Stepper.stories.svelte +243 -0
  366. package/dist/components/stepper/Stepper.stories.svelte.d.ts +19 -0
  367. package/dist/components/stepper/components/stepper-root.svelte +24 -0
  368. package/dist/components/stepper/components/stepper-root.svelte.d.ts +9 -0
  369. package/dist/components/stepper/components/stepper-step.svelte +100 -0
  370. package/dist/components/stepper/components/stepper-step.svelte.d.ts +11 -0
  371. package/dist/components/stepper/index.d.ts +15 -0
  372. package/dist/components/stepper/index.js +2 -0
  373. package/dist/components/table/Table.stories.svelte +94 -0
  374. package/dist/components/table/Table.stories.svelte.d.ts +24 -0
  375. package/dist/components/table/Table.svelte +47 -0
  376. package/dist/components/table/Table.svelte.d.ts +21 -0
  377. package/dist/components/table/components/TBody.svelte +14 -0
  378. package/dist/components/table/components/TBody.svelte.d.ts +8 -0
  379. package/dist/components/table/components/THead.svelte +14 -0
  380. package/dist/components/table/components/THead.svelte.d.ts +8 -0
  381. package/dist/components/table/components/Td.svelte +15 -0
  382. package/dist/components/table/components/Td.svelte.d.ts +9 -0
  383. package/dist/components/table/components/Th.svelte +15 -0
  384. package/dist/components/table/components/Th.svelte.d.ts +9 -0
  385. package/dist/components/table/components/Tr.svelte +32 -0
  386. package/dist/components/table/components/Tr.svelte.d.ts +9 -0
  387. package/dist/components/table/index.d.ts +1 -0
  388. package/dist/components/table/index.js +1 -0
  389. package/dist/components/tabs/Tabs.stories.svelte +28 -0
  390. package/dist/components/tabs/Tabs.stories.svelte.d.ts +27 -0
  391. package/dist/components/tabs/Tabs.svelte +13 -0
  392. package/dist/components/tabs/Tabs.svelte.d.ts +14 -0
  393. package/dist/components/tabs/components/Content.svelte +15 -0
  394. package/dist/components/tabs/components/Content.svelte.d.ts +9 -0
  395. package/dist/components/tabs/components/Tab.svelte +21 -0
  396. package/dist/components/tabs/components/Tab.svelte.d.ts +10 -0
  397. package/dist/components/tabs/components/Tabs.svelte +14 -0
  398. package/dist/components/tabs/components/Tabs.svelte.d.ts +8 -0
  399. package/dist/components/tabs/index.d.ts +1 -0
  400. package/dist/components/tabs/index.js +1 -0
  401. package/dist/components/tag/Tag.stories.svelte +83 -0
  402. package/dist/components/tag/Tag.stories.svelte.d.ts +19 -0
  403. package/dist/components/tag/Tag.svelte +121 -0
  404. package/dist/components/tag/Tag.svelte.d.ts +12 -0
  405. package/dist/components/tag/index.d.ts +1 -0
  406. package/dist/components/tag/index.js +1 -0
  407. package/dist/components/textarea/Textarea.stories.svelte +97 -0
  408. package/dist/components/textarea/Textarea.stories.svelte.d.ts +19 -0
  409. package/dist/components/textarea/Textarea.svelte +94 -0
  410. package/dist/components/textarea/Textarea.svelte.d.ts +17 -0
  411. package/dist/components/textarea/index.d.ts +1 -0
  412. package/dist/components/textarea/index.js +1 -0
  413. package/dist/components/toast/Toast.stories.svelte +209 -0
  414. package/dist/components/toast/Toast.stories.svelte.d.ts +19 -0
  415. package/dist/components/toast/Toast.svelte +62 -0
  416. package/dist/components/toast/Toast.svelte.d.ts +7 -0
  417. package/dist/components/toast/index.d.ts +1 -0
  418. package/dist/components/toast/index.js +1 -0
  419. package/dist/components/toggle/Toggle.stories.svelte +15 -0
  420. package/dist/components/toggle/Toggle.stories.svelte.d.ts +27 -0
  421. package/dist/components/toggle/Toggle.svelte +74 -0
  422. package/dist/components/toggle/Toggle.svelte.d.ts +9 -0
  423. package/dist/components/toggle/index.d.ts +1 -0
  424. package/dist/components/toggle/index.js +1 -0
  425. package/dist/components/toggle-icon-button/ToggleIconButton.stories.svelte +173 -0
  426. package/dist/components/toggle-icon-button/ToggleIconButton.stories.svelte.d.ts +19 -0
  427. package/dist/components/toggle-icon-button/ToggleIconButton.svelte +117 -0
  428. package/dist/components/toggle-icon-button/ToggleIconButton.svelte.d.ts +15 -0
  429. package/dist/components/toggle-icon-button/index.d.ts +3 -0
  430. package/dist/components/toggle-icon-button/index.js +3 -0
  431. package/dist/components/tooltip/Tooltip.stories.svelte +100 -0
  432. package/dist/components/tooltip/Tooltip.stories.svelte.d.ts +27 -0
  433. package/dist/components/tooltip/Tooltip.svelte +63 -0
  434. package/dist/components/tooltip/Tooltip.svelte.d.ts +14 -0
  435. package/dist/components/tooltip/TooltipTest.svelte +31 -0
  436. package/dist/components/tooltip/TooltipTest.svelte.d.ts +11 -0
  437. package/dist/components/tooltip/index.d.ts +1 -0
  438. package/dist/components/tooltip/index.js +1 -0
  439. package/dist/fonts/MDSystemMono-Regular.woff +0 -0
  440. package/dist/fonts/MDSystemMono-Regular.woff2 +0 -0
  441. package/dist/fonts/afAnotherSans-Medium.woff2 +0 -0
  442. package/dist/fonts/afAnotherSans-Regular.woff2 +0 -0
  443. package/dist/fonts/afAnotherSans-SemiBold.woff2 +0 -0
  444. package/dist/fonts/afAnotherSans.woff2 +0 -0
  445. package/dist/fonts/index.d.ts +4 -0
  446. package/dist/fonts/index.js +6 -0
  447. package/dist/icons.d.ts +0 -0
  448. package/dist/icons.js +0 -0
  449. package/dist/index.d.ts +52 -0
  450. package/dist/index.js +55 -110505
  451. package/dist/notifications.d.ts +19 -0
  452. package/dist/notifications.js +27 -0
  453. package/dist/styles.d.ts +1 -0
  454. package/dist/styles.js +4 -0
  455. package/dist/tailwind-safelist.d.ts +28 -0
  456. package/dist/tailwind-safelist.js +491 -0
  457. package/dist/tailwind.d.ts +11 -0
  458. package/dist/tailwind.js +1 -0
  459. package/dist/tailwind.preset.d.ts +538 -0
  460. package/dist/tailwind.preset.js +56 -0
  461. package/dist/tokens/colors.d.ts +292 -0
  462. package/dist/tokens/colors.js +146 -0
  463. package/dist/tokens/index.d.ts +3 -0
  464. package/dist/tokens/index.js +5 -0
  465. package/dist/tokens/typography.d.ts +48 -0
  466. package/dist/tokens/typography.js +48 -0
  467. package/dist/tokens.d.ts +830 -0
  468. package/dist/tokens.js +380 -0
  469. package/dist/types/fonts.d.ts +4 -0
  470. package/package.json +195 -189
  471. package/dist/index.css +0 -823
  472. package/dist/index.umd.cjs +0 -96499
@@ -0,0 +1,14 @@
1
+ import { Combobox } from 'bits-ui';
2
+ export declare const Root: import("svelte").Component<import("bits-ui").ComboboxRootPropsWithoutHTML, {}, "value" | "open">;
3
+ export declare const Item: import("svelte").Component<Combobox.ItemProps, {}, "ref">;
4
+ export declare const Group: import("svelte").Component<Combobox.GroupProps, {}, "ref">;
5
+ export declare const GroupHeading: import("svelte").Component<Combobox.GroupHeadingProps, {}, "ref">;
6
+ export declare const Separator: import("svelte").Component<import("bits-ui").SeparatorRootProps, {}, "ref">;
7
+ export declare const Trigger: import("svelte").Component<Combobox.TriggerProps, {}, "ref">;
8
+ export declare const Portal: import("svelte").Component<import("bits-ui").PortalProps, {}, "">;
9
+ export declare const Input: import("svelte").Component<Combobox.InputProps, {}, "ref">;
10
+ export declare const Arrow: import("svelte").Component<import("bits-ui/dist/bits/utilities/arrow").ArrowProps, {}, "">;
11
+ export { default as Add } from './components/combobox-add.svelte';
12
+ export { default as Content } from './components/combobox-content.svelte';
13
+ export { default as Indicator } from './components/combobox-indicator.svelte';
14
+ export * from './types';
@@ -0,0 +1,15 @@
1
+ import { Combobox } from 'bits-ui';
2
+ // Non-modified components
3
+ export const Root = Combobox.Root;
4
+ export const Item = Combobox.Item;
5
+ export const Group = Combobox.Group;
6
+ export const GroupHeading = Combobox.GroupHeading;
7
+ export const Separator = Combobox.Separator;
8
+ export const Trigger = Combobox.Trigger;
9
+ export const Portal = Combobox.Portal;
10
+ export const Input = Combobox.Input;
11
+ export const Arrow = Combobox.Arrow;
12
+ export { default as Add } from './components/combobox-add.svelte';
13
+ export { default as Content } from './components/combobox-content.svelte';
14
+ export { default as Indicator } from './components/combobox-indicator.svelte';
15
+ export * from './types';
@@ -0,0 +1,24 @@
1
+ import { type ComboboxContentProps as BitsComboboxContentProps, type ComboboxRootProps as BitsComboboxRootProps, type ComboboxItemProps as BitsComboboxItemProps, type ComboboxInputProps as BitsComboboxInputProps, type ComboboxTriggerProps as BitsComboboxTriggerProps, type ComboboxArrowProps as BitsComboboxArrowProps, type ComboboxContentStaticProps as BitsComboboxContentStaticProps, type ComboboxGroupHeadingProps as BitsComboboxGroupHeadingProps, type SelectItemSnippetProps } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ export type ComboboxRootProps = BitsComboboxRootProps;
4
+ export type ComboboxContentProps = {
5
+ children: Snippet;
6
+ showScroll?: boolean;
7
+ portalled?: boolean;
8
+ header?: Snippet;
9
+ footer?: Snippet;
10
+ paddedContent?: boolean;
11
+ fadeDuration?: number;
12
+ } & BitsComboboxContentProps;
13
+ export type ComboboxTriggerProps = {
14
+ children: Snippet;
15
+ } & BitsComboboxTriggerProps;
16
+ export type ComboboxItemProps = {
17
+ children?: Snippet<[SelectItemSnippetProps]>;
18
+ } & BitsComboboxItemProps;
19
+ export type ComboboxGroupHeadingProps = {
20
+ children: Snippet;
21
+ } & BitsComboboxGroupHeadingProps;
22
+ export type ComboboxInputProps = BitsComboboxInputProps;
23
+ export type ComboboxContentStatic = BitsComboboxContentStaticProps;
24
+ export type ComboboxArrowProps = BitsComboboxArrowProps;
@@ -0,0 +1 @@
1
+ import {} from 'bits-ui';
@@ -0,0 +1,222 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { userEvent, within } from '@storybook/test';
4
+ import { DateTime } from 'luxon';
5
+ import DatePicker from './DatePicker.svelte';
6
+ import Dropdown from '../dropdown/Dropdown.svelte';
7
+ import { Icon } from '../icons';
8
+
9
+ const { Story } = defineMeta({
10
+ component: DatePicker,
11
+ title: 'Design System/DatePicker',
12
+ tags: ['autodocs'],
13
+ parameters: {
14
+ design: {
15
+ type: 'figma',
16
+ url: 'https://www.figma.com/design/WkxhG4H2Ybc7STFi1VJIau/%F0%9F%92%A0-Reshape-Design-System%3A-V1?node-id=4381-32638&t=Epi2Ul7Cw7sCJpGy-0',
17
+ },
18
+ },
19
+ });
20
+
21
+ const staticDate = DateTime.local(2023, 10, 15);
22
+
23
+ let selectedDate = $state<DateTime | undefined>(undefined);
24
+ let loggedDate = $state<string | undefined>(undefined);
25
+
26
+ function handleDateSelection(date: DateTime) {
27
+ loggedDate = date.toFormat('yyyy-MM-dd');
28
+ }
29
+
30
+ // States for the dropdown story
31
+ let dropdownDate = $state<DateTime | undefined>(undefined);
32
+ let displayText = $state('Select a date');
33
+ let isOpen = $state(false);
34
+
35
+ // States for the form test
36
+ let formDropdownDate = $state<DateTime | undefined>(undefined);
37
+ let formDisplayText = $state('Select a date');
38
+ let formIsOpen = $state(false);
39
+
40
+ function handleDropdownSelection(date: DateTime) {
41
+ dropdownDate = date;
42
+ displayText = date.toFormat('MMM dd, yyyy');
43
+ isOpen = false;
44
+ }
45
+
46
+ function handleFormDateSelection(date: DateTime) {
47
+ formDropdownDate = date;
48
+ formDisplayText = date.toFormat('MMM dd, yyyy');
49
+ formIsOpen = false;
50
+ }
51
+ </script>
52
+
53
+ <Story name="Default" args={{ selectedDate: undefined }} />
54
+
55
+ <Story name="With Selected Date" args={{ selectedDate: staticDate }} />
56
+
57
+ <Story name="With Date Change Handler" asChild>
58
+ <div class="p-4">
59
+ <div class="mb-4">
60
+ <DatePicker {selectedDate} onClick={handleDateSelection} />
61
+ </div>
62
+ {#if loggedDate}
63
+ <div class="mt-4 rounded bg-neutral p-2">
64
+ <p>Selected date: <strong>{loggedDate}</strong></p>
65
+ </div>
66
+ {/if}
67
+ </div>
68
+ </Story>
69
+
70
+ <Story name="Month Navigation" asChild>
71
+ <div class="p-4">
72
+ <DatePicker selectedDate={staticDate} />
73
+ <div class="mt-4 text-sm text-tertiary">
74
+ <p>Click the arrow buttons to navigate between months</p>
75
+ </div>
76
+ </div>
77
+ </Story>
78
+
79
+ <Story
80
+ name="Interaction Test"
81
+ asChild
82
+ play={async ({ canvasElement }) => {
83
+ const canvas = within(canvasElement);
84
+
85
+ // Click next month button
86
+ const nextMonthButton = canvas.getAllByRole('button')[1]; // Second button is next month
87
+ await userEvent.click(nextMonthButton);
88
+
89
+ // Wait a moment
90
+ await new Promise((resolve) => setTimeout(resolve, 300));
91
+
92
+ // Click a date (the 15th of the month)
93
+ const dateButtons = canvas.getAllByRole('button').filter((button) => {
94
+ // Find buttons with just numbers as their text content
95
+ const text = button.textContent?.trim();
96
+ return text && !isNaN(Number(text));
97
+ });
98
+
99
+ // Find the button with text "15" if it exists
100
+ const date15Button = dateButtons.find((button) => button.textContent?.trim() === '15');
101
+
102
+ if (date15Button) {
103
+ await userEvent.click(date15Button);
104
+ }
105
+ }}
106
+ >
107
+ <div class="p-4">
108
+ <DatePicker bind:selectedDate />
109
+ {#if selectedDate}
110
+ <div class="mt-4 rounded bg-neutral p-2">
111
+ <p>Selected date: <strong>{selectedDate.toFormat('yyyy-MM-dd')}</strong></p>
112
+ </div>
113
+ {/if}
114
+ </div>
115
+ </Story>
116
+
117
+ <Story name="Multiple DatePickers" asChild>
118
+ <div class="flex flex-col gap-4 p-4 md:flex-row">
119
+ <div>
120
+ <h3 class="mb-2 text-sm font-medium">Start Date</h3>
121
+ <DatePicker selectedDate={staticDate.minus({ days: 7 })} />
122
+ </div>
123
+ <div>
124
+ <h3 class="mb-2 text-sm font-medium">End Date</h3>
125
+ <DatePicker selectedDate={staticDate} />
126
+ </div>
127
+ </div>
128
+ </Story>
129
+
130
+ <Story name="In Dropdown" asChild>
131
+ <div class="p-4">
132
+ <Dropdown bind:open={isOpen} side="dropdown-bottom" alignEnd={false}>
133
+ {#snippet trigger({ Trigger })}
134
+ <Trigger>
135
+ <Icon iconName="CalendarBlank" class="mr-2" size={16} />
136
+ {displayText}
137
+ </Trigger>
138
+ {/snippet}
139
+
140
+ {#snippet content()}
141
+ <DatePicker selectedDate={dropdownDate} onClick={handleDropdownSelection} />
142
+ {/snippet}
143
+ </Dropdown>
144
+
145
+ {#if dropdownDate}
146
+ <div class="mt-4 rounded bg-neutral p-2">
147
+ <p>You selected: <strong>{dropdownDate.toFormat('MMMM dd, yyyy')}</strong></p>
148
+ </div>
149
+ {/if}
150
+ </div>
151
+ </Story>
152
+
153
+ <Story
154
+ name="Form Submit Prevention Test"
155
+ asChild
156
+ play={async ({ canvasElement }) => {
157
+ const canvas = within(canvasElement);
158
+
159
+ // Setup spy on form submission
160
+ const form = canvas.getByTestId('test-form');
161
+ let submissionCount = 0;
162
+ form.addEventListener('submit', (e) => {
163
+ e.preventDefault();
164
+ submissionCount++;
165
+ console.log('Form was submitted!');
166
+ });
167
+
168
+ // First open the dropdown
169
+ const dropdownTrigger = canvas.getByTestId('form-date-trigger');
170
+ await userEvent.click(dropdownTrigger);
171
+
172
+ // Click prev/next month and verify no submission
173
+ const buttons = document.querySelectorAll('button');
174
+ const prevMonthButton = Array.from(buttons).find((btn) => btn.innerHTML.includes('CaretLeft'));
175
+ const nextMonthButton = Array.from(buttons).find((btn) => btn.innerHTML.includes('CaretRight'));
176
+
177
+ if (prevMonthButton) {
178
+ await userEvent.click(prevMonthButton);
179
+ console.log('Clicked prev month, submission count:', submissionCount);
180
+ }
181
+
182
+ if (nextMonthButton) {
183
+ await userEvent.click(nextMonthButton);
184
+ console.log('Clicked next month, submission count:', submissionCount);
185
+ }
186
+
187
+ // Success message if no form submission occurred
188
+ if (submissionCount === 0) {
189
+ console.log('TEST PASSED: Month navigation did not trigger form submission');
190
+ } else {
191
+ console.error('TEST FAILED: Month navigation triggered form submission');
192
+ }
193
+ }}
194
+ >
195
+ <div class="p-4">
196
+ <form data-testid="test-form" onsubmit={(e) => e.preventDefault()}>
197
+ <div class="mb-4">
198
+ <label for="name" class="mb-1 block text-sm font-medium">Name</label>
199
+ <input id="name" type="text" class="input input-bordered w-full" />
200
+ </div>
201
+
202
+ <div class="mb-4">
203
+ <Dropdown bind:open={formIsOpen} side="dropdown-bottom" alignEnd={false}>
204
+ {#snippet trigger({ Trigger })}
205
+ <Trigger>
206
+ <div data-testid="form-date-trigger" class="flex items-center gap-2">
207
+ <Icon iconName="CalendarBlank" class="mr-2" size={16} />
208
+ {formDisplayText}
209
+ </div>
210
+ </Trigger>
211
+ {/snippet}
212
+
213
+ {#snippet content()}
214
+ <DatePicker selectedDate={formDropdownDate} onClick={handleFormDateSelection} />
215
+ {/snippet}
216
+ </Dropdown>
217
+ </div>
218
+
219
+ <button type="submit" class="btn btn-primary mt-4">Submit Form</button>
220
+ </form>
221
+ </div>
222
+ </Story>
@@ -0,0 +1,19 @@
1
+ import DatePicker from './DatePicker.svelte';
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports & {
10
+ $set?: any;
11
+ $on?: any;
12
+ };
13
+ z_$$bindings?: Bindings;
14
+ }
15
+ declare const DatePicker: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}, {}, string>;
18
+ type DatePicker = InstanceType<typeof DatePicker>;
19
+ export default DatePicker;
@@ -0,0 +1,346 @@
1
+ <script lang="ts">
2
+ import { run } from 'svelte/legacy';
3
+
4
+ import { DateTime, type MonthNumbers } from 'luxon';
5
+
6
+ import IconButton from '../icon-button/IconButton.svelte';
7
+ import { Icon } from '../icons';
8
+
9
+ interface Props {
10
+ selectedDate: DateTime | undefined;
11
+ onClick?: any;
12
+ }
13
+
14
+ let { selectedDate = $bindable(), onClick = (date: DateTime) => {} }: Props = $props();
15
+
16
+ const arrDays = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
17
+ let today = DateTime.local();
18
+ const currentDay = today.day;
19
+ const currentMonth = today.month;
20
+ const currentYear = today.year;
21
+ let shownMonth = $state(today.month);
22
+ let shownYear = $state(today.year);
23
+ let selectedDay: number | undefined = $state();
24
+ let selectedMonth: number | undefined = $state();
25
+ let selectedYear: number | undefined = $state();
26
+ let rows = $state(initRows());
27
+
28
+ run(() => {
29
+ if (selectedDate) {
30
+ selectedDay = selectedDate.day;
31
+ selectedMonth = selectedDate.month;
32
+ selectedYear = selectedDate.year;
33
+ }
34
+ });
35
+
36
+ affectedRows();
37
+
38
+ function initRows() {
39
+ return [
40
+ [0, 0, 0, 0, 0, 0, 0],
41
+ [0, 0, 0, 0, 0, 0, 0],
42
+ [0, 0, 0, 0, 0, 0, 0],
43
+ [0, 0, 0, 0, 0, 0, 0],
44
+ [0, 0, 0, 0, 0, 0, 0],
45
+ [0, 0, 0, 0, 0, 0, 0],
46
+ ];
47
+ }
48
+
49
+ function affectedRows() {
50
+ rows = initRows();
51
+ const firstDayOfCurrentMonth = DateTime.local(shownYear, shownMonth, 1).weekday - 1; // 0-based index
52
+ const lastDayOfCurrentMonth = DateTime.local(shownYear, shownMonth, 1).daysInMonth;
53
+
54
+ if (lastDayOfCurrentMonth === undefined) {
55
+ // Handle invalid date
56
+ return;
57
+ }
58
+
59
+ let iRow = 0;
60
+ let iCol = firstDayOfCurrentMonth; // Start at the correct weekday
61
+ let cpt = 1; // Start from day 1
62
+
63
+ for (iRow = 0; iRow < 6; iRow++) {
64
+ while (iCol < 7 && cpt <= lastDayOfCurrentMonth) {
65
+ rows[iRow][iCol] = cpt++;
66
+ iCol++;
67
+ }
68
+ iCol = 0; // Reset for the next row
69
+ }
70
+ }
71
+
72
+ function previousMonth() {
73
+ let dt = DateTime.local(shownYear, shownMonth).minus({ months: 1 });
74
+ shownMonth = dt.month as MonthNumbers;
75
+ shownYear = dt.year;
76
+ affectedRows();
77
+ }
78
+
79
+ function nextMonth() {
80
+ let dt = DateTime.local(shownYear, shownMonth).plus({ months: 1 });
81
+ shownMonth = dt.month as MonthNumbers;
82
+ shownYear = dt.year;
83
+ affectedRows();
84
+ }
85
+
86
+ function selectDate(y: number, m: number, d: number) {
87
+ selectedDate = DateTime.local(y, m, d);
88
+ onClick(selectedDate);
89
+ }
90
+ </script>
91
+
92
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
93
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
94
+ <div class="calendar-container" onclick={(e) => e.stopPropagation()}>
95
+ <div class="calendar">
96
+ <div class="calendar-header">
97
+ <div class="month-year">
98
+ <IconButton onclick={previousMonth} type="button">
99
+ <Icon iconName="CaretLeft" color="secondary" size="0.75rem" />
100
+ </IconButton>
101
+ <h5>{DateTime.local(shownYear, shownMonth).toFormat('MMM yyyy')}</h5>
102
+ <IconButton onclick={nextMonth} type="button">
103
+ <Icon iconName="CaretRight" color="secondary" size="0.75rem" />
104
+ </IconButton>
105
+ </div>
106
+ </div>
107
+ <div class="calendar-body">
108
+ <table>
109
+ <thead>
110
+ <tr>
111
+ {#each arrDays as day}
112
+ <th>
113
+ <p>{day}</p>
114
+ </th>
115
+ {/each}
116
+ </tr>
117
+ </thead>
118
+ <tbody>
119
+ {#each rows as col}
120
+ <tr>
121
+ {#each col as dayOfMonth}
122
+ <td>
123
+ {#if dayOfMonth > 0}
124
+ <div class="date-container">
125
+ <p
126
+ class={dayOfMonth === selectedDay &&
127
+ selectedMonth === shownMonth &&
128
+ selectedYear === shownYear
129
+ ? 'date selected-date'
130
+ : 'date'}
131
+ >
132
+ <button
133
+ onclick={() => {
134
+ selectDate(shownYear, shownMonth, dayOfMonth);
135
+ }}
136
+ >
137
+ {dayOfMonth}
138
+ </button>
139
+ </p>
140
+ {#if dayOfMonth === currentDay && shownMonth === currentMonth && shownYear === currentYear && dayOfMonth != selectedDay}
141
+ <svg
142
+ class="current-date-indicator text-accent"
143
+ data-chromatic="ignore"
144
+ xmlns="http://www.w3.org/2000/svg"
145
+ width="4"
146
+ height="4"
147
+ viewBox="0 0 4 4"
148
+ >
149
+ <circle cx="2" cy="2" r="2" fill="currentColor" />
150
+ </svg>
151
+ {/if}
152
+ </div>
153
+ {/if}
154
+ </td>
155
+ {/each}
156
+ </tr>
157
+ {/each}
158
+ </tbody>
159
+ </table>
160
+ </div>
161
+ </div>
162
+ </div>
163
+
164
+ <style>
165
+ .calendar-container {
166
+
167
+ display: flex;
168
+
169
+ width: 312px
170
+ }
171
+
172
+ .calendar {
173
+
174
+ overflow: hidden;
175
+
176
+ border-radius: 0.5rem;
177
+
178
+ --tw-bg-opacity: 1;
179
+
180
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
181
+
182
+ padding: 1rem;
183
+
184
+ --tw-shadow: 0 4px 20px 0 rgba(18, 25, 42, 0.06), 0 0 0 1px rgba(18, 25, 42, 0.08);
185
+
186
+ --tw-shadow-colored: 0 4px 20px 0 var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);
187
+
188
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
189
+ }
190
+
191
+ .month-year {
192
+
193
+ display: flex;
194
+
195
+ align-items: center;
196
+
197
+ justify-content: space-between
198
+ }
199
+
200
+ .month-year .btn-custom {
201
+
202
+ border-style: none;
203
+
204
+ background-image: none
205
+ }
206
+
207
+ .calendar-body {
208
+
209
+ display: flex;
210
+
211
+ align-items: center;
212
+
213
+ justify-content: space-between;
214
+
215
+ overflow-x: auto;
216
+
217
+ padding-top: 22px
218
+ }
219
+
220
+ table {
221
+
222
+ margin: 0px;
223
+
224
+ width: 100%;
225
+
226
+ border-collapse: collapse;
227
+
228
+ --tw-border-spacing-x: 0px;
229
+
230
+ --tw-border-spacing-y: 0px;
231
+
232
+ border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
233
+
234
+ padding: 0px
235
+ }
236
+
237
+ table thead th p {
238
+
239
+ text-align: center;
240
+
241
+ font-size: 0.75rem;
242
+
243
+ line-height: 1rem;
244
+
245
+ font-weight: 500;
246
+
247
+ --tw-text-opacity: 1;
248
+
249
+ color: rgb(136 140 148 / var(--tw-text-opacity, 1))
250
+ }
251
+
252
+ tr {
253
+
254
+ height: 2.5rem;
255
+
256
+ border-style: none
257
+ }
258
+
259
+ table th,
260
+ table td {
261
+
262
+ margin: 0px;
263
+
264
+ border-style: none;
265
+
266
+ padding: 0px
267
+ }
268
+
269
+ .date-container {
270
+
271
+ position: relative
272
+ }
273
+
274
+ .date {
275
+
276
+ display: flex;
277
+
278
+ height: 2.5rem;
279
+
280
+ width: 2.5rem;
281
+
282
+ cursor: pointer;
283
+
284
+ align-items: center;
285
+
286
+ justify-content: center;
287
+
288
+ border-radius: 0.5rem;
289
+
290
+ font-size: 0.875rem;
291
+
292
+ line-height: 1.25rem;
293
+
294
+ transition-duration: 150ms
295
+ }
296
+
297
+ .date:hover {
298
+
299
+ background-color: #5750ee1A
300
+ }
301
+
302
+ .date:focus {
303
+
304
+ --tw-bg-opacity: 1;
305
+
306
+ background-color: rgb(87 80 238 / var(--tw-bg-opacity, 1));
307
+
308
+ --tw-text-opacity: 1;
309
+
310
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1))
311
+ }
312
+
313
+ .selected-date {
314
+
315
+ --tw-bg-opacity: 1;
316
+
317
+ background-color: rgb(87 80 238 / var(--tw-bg-opacity, 1));
318
+
319
+ --tw-text-opacity: 1;
320
+
321
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1))
322
+ }
323
+
324
+ .selected-date:hover {
325
+
326
+ --tw-bg-opacity: 1;
327
+
328
+ background-color: rgb(87 80 238 / var(--tw-bg-opacity, 1))
329
+ }
330
+
331
+ .current-date-indicator {
332
+
333
+ position: absolute;
334
+
335
+ left: 18px;
336
+
337
+ top: 2rem
338
+ }
339
+
340
+ .date button {
341
+
342
+ border-style: none;
343
+
344
+ background-image: none
345
+ }
346
+ </style>
@@ -0,0 +1,8 @@
1
+ import { DateTime } from 'luxon';
2
+ interface Props {
3
+ selectedDate: DateTime | undefined;
4
+ onClick?: any;
5
+ }
6
+ declare const DatePicker: import("svelte").Component<Props, {}, "selectedDate">;
7
+ type DatePicker = ReturnType<typeof DatePicker>;
8
+ export default DatePicker;
@@ -0,0 +1 @@
1
+ export { default as DatePicker } from './DatePicker.svelte';
@@ -0,0 +1 @@
1
+ export { default as DatePicker } from './DatePicker.svelte';
@@ -0,0 +1,12 @@
1
+ <script module>
2
+ import Divider from './Divider.svelte';
3
+ import { defineMeta } from '@storybook/addon-svelte-csf';
4
+
5
+ const { Story } = defineMeta({
6
+ component: Divider,
7
+ title: 'Design System/Divider',
8
+ tags: ['autodocs'],
9
+ });
10
+ </script>
11
+
12
+ <Story name="Primary" />