@stfrigerio/sito-template 0.1.36 → 0.1.37

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 (250) hide show
  1. package/dist/__tests__/setup.d.ts +2 -0
  2. package/dist/__tests__/setup.d.ts.map +1 -0
  3. package/dist/components/atoms/AllAtoms.stories.d.ts +1 -1
  4. package/dist/components/atoms/AllAtoms.stories.d.ts.map +1 -1
  5. package/dist/components/atoms/Button/Button.stories.d.ts +2 -14
  6. package/dist/components/atoms/Button/Button.stories.d.ts.map +1 -1
  7. package/dist/components/atoms/Card/Card.stories.d.ts +4 -23
  8. package/dist/components/atoms/Card/Card.stories.d.ts.map +1 -1
  9. package/dist/components/atoms/Checkbox/Checkbox.stories.d.ts +1 -1
  10. package/dist/components/atoms/Checkbox/Checkbox.stories.d.ts.map +1 -1
  11. package/dist/components/atoms/DateInput/DateInput.d.ts +1 -1
  12. package/dist/components/atoms/DateInput/DateInput.d.ts.map +1 -1
  13. package/dist/components/atoms/DateInput/DateInput.stories.d.ts +1 -1
  14. package/dist/components/atoms/DateInput/DateInput.stories.d.ts.map +1 -1
  15. package/dist/components/atoms/DecryptedText/DecryptedText.d.ts +50 -0
  16. package/dist/components/atoms/DecryptedText/DecryptedText.d.ts.map +1 -0
  17. package/dist/components/atoms/DecryptedText/index.d.ts +3 -0
  18. package/dist/components/atoms/DecryptedText/index.d.ts.map +1 -0
  19. package/dist/components/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +1 -1
  20. package/dist/components/atoms/LoadingSpinner/LoadingSpinner.stories.d.ts +1 -1
  21. package/dist/components/atoms/LoadingSpinner/LoadingSpinner.stories.d.ts.map +1 -1
  22. package/dist/components/atoms/NumberStepper/NumberStepper.d.ts.map +1 -1
  23. package/dist/components/atoms/NumberStepper/NumberStepper.stories.d.ts +1 -1
  24. package/dist/components/atoms/NumberStepper/NumberStepper.stories.d.ts.map +1 -1
  25. package/dist/components/atoms/SearchableDropdown/SearchableDropdown.stories.d.ts +1 -1
  26. package/dist/components/atoms/SearchableDropdown/SearchableDropdown.stories.d.ts.map +1 -1
  27. package/dist/components/atoms/SelectInput/SelectInput.d.ts +4 -2
  28. package/dist/components/atoms/SelectInput/SelectInput.d.ts.map +1 -1
  29. package/dist/components/atoms/Slider/Slider.stories.d.ts +2 -10
  30. package/dist/components/atoms/Slider/Slider.stories.d.ts.map +1 -1
  31. package/dist/components/atoms/SoundDemo/SoundDemo.d.ts +11 -0
  32. package/dist/components/atoms/SoundDemo/SoundDemo.d.ts.map +1 -0
  33. package/dist/components/atoms/SoundDemo/SoundDemo.stories.d.ts +1 -1
  34. package/dist/components/atoms/SoundDemo/SoundDemo.stories.d.ts.map +1 -1
  35. package/dist/components/atoms/TextArea/TextArea.d.ts.map +1 -1
  36. package/dist/components/atoms/TextArea/TextArea.stories.d.ts +1 -1
  37. package/dist/components/atoms/TextArea/TextArea.stories.d.ts.map +1 -1
  38. package/dist/components/atoms/TextInput/TextInput.d.ts +1 -1
  39. package/dist/components/atoms/TextInput/TextInput.d.ts.map +1 -1
  40. package/dist/components/atoms/TextInput/TextInput.stories.d.ts +1 -4
  41. package/dist/components/atoms/TextInput/TextInput.stories.d.ts.map +1 -1
  42. package/dist/components/atoms/Toggle/Toggle.d.ts +5 -4
  43. package/dist/components/atoms/Toggle/Toggle.d.ts.map +1 -1
  44. package/dist/components/atoms/Toggle/Toggle.stories.d.ts +1 -1
  45. package/dist/components/atoms/Toggle/Toggle.stories.d.ts.map +1 -1
  46. package/dist/components/atoms/ToggleButton/ToggleButton.stories.d.ts +1 -1
  47. package/dist/components/atoms/ToggleButton/ToggleButton.stories.d.ts.map +1 -1
  48. package/dist/components/atoms/index.d.ts +2 -0
  49. package/dist/components/atoms/index.d.ts.map +1 -1
  50. package/dist/components/molecules/ArrayInput/ArrayInput.d.ts +3 -3
  51. package/dist/components/molecules/ArrayInput/ArrayInput.d.ts.map +1 -1
  52. package/dist/components/molecules/ArrayInput/ArrayInput.stories.d.ts +1 -1
  53. package/dist/components/molecules/ArrayInput/ArrayInput.stories.d.ts.map +1 -1
  54. package/dist/components/molecules/Breadcrumb/Breadcrumb.d.ts +28 -0
  55. package/dist/components/molecules/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  56. package/dist/components/molecules/Breadcrumb/index.d.ts +3 -0
  57. package/dist/components/molecules/Breadcrumb/index.d.ts.map +1 -0
  58. package/dist/components/molecules/EditFAB/EditFAB.stories.d.ts +1 -1
  59. package/dist/components/molecules/EditFAB/EditFAB.stories.d.ts.map +1 -1
  60. package/dist/components/molecules/LiquidButton/LiquidButton.d.ts +33 -0
  61. package/dist/components/molecules/LiquidButton/LiquidButton.d.ts.map +1 -0
  62. package/dist/components/molecules/LiquidButton/index.d.ts +3 -0
  63. package/dist/components/molecules/LiquidButton/index.d.ts.map +1 -0
  64. package/dist/components/molecules/SearchBar/SearchBar.stories.d.ts +1 -1
  65. package/dist/components/molecules/SearchBar/SearchBar.stories.d.ts.map +1 -1
  66. package/dist/components/molecules/Tabs/Tabs.d.ts +1 -1
  67. package/dist/components/molecules/Tabs/Tabs.d.ts.map +1 -1
  68. package/dist/components/molecules/Tabs/Tabs.stories.d.ts +1 -1
  69. package/dist/components/molecules/Tabs/Tabs.stories.d.ts.map +1 -1
  70. package/dist/components/molecules/ThemeSwitcher/ThemeSwitcher.d.ts +4 -3
  71. package/dist/components/molecules/ThemeSwitcher/ThemeSwitcher.d.ts.map +1 -1
  72. package/dist/components/molecules/ThemeSwitcher/ThemeSwitcher.stories.d.ts +1 -1
  73. package/dist/components/molecules/ThemeSwitcher/ThemeSwitcher.stories.d.ts.map +1 -1
  74. package/dist/components/molecules/TimeInput/TimeInput.stories.d.ts +1 -1
  75. package/dist/components/molecules/TimeInput/TimeInput.stories.d.ts.map +1 -1
  76. package/dist/components/molecules/Toast/Toast.d.ts +16 -0
  77. package/dist/components/molecules/Toast/Toast.d.ts.map +1 -0
  78. package/dist/components/molecules/Toast/index.d.ts +3 -0
  79. package/dist/components/molecules/Toast/index.d.ts.map +1 -0
  80. package/dist/components/molecules/index.d.ts +6 -0
  81. package/dist/components/molecules/index.d.ts.map +1 -1
  82. package/dist/components/organisms/Calendar/Calendar.d.ts +1 -1
  83. package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
  84. package/dist/components/organisms/Calendar/Calendar.stories.d.ts +1 -1
  85. package/dist/components/organisms/Calendar/Calendar.stories.d.ts.map +1 -1
  86. package/dist/components/organisms/ConfirmationModal/ConfirmationModal.d.ts +30 -0
  87. package/dist/components/organisms/ConfirmationModal/ConfirmationModal.d.ts.map +1 -0
  88. package/dist/components/organisms/ConfirmationModal/index.d.ts +3 -0
  89. package/dist/components/organisms/ConfirmationModal/index.d.ts.map +1 -0
  90. package/dist/components/organisms/ImageSlideshow/ImageSlideshow.d.ts +1 -1
  91. package/dist/components/organisms/ImageSlideshow/ImageSlideshow.d.ts.map +1 -1
  92. package/dist/components/organisms/ImageSlideshow/ImageSlideshow.stories.d.ts +1 -6
  93. package/dist/components/organisms/ImageSlideshow/ImageSlideshow.stories.d.ts.map +1 -1
  94. package/dist/components/organisms/Navbar/Navbar.d.ts +3 -2
  95. package/dist/components/organisms/Navbar/Navbar.d.ts.map +1 -1
  96. package/dist/components/organisms/Navbar/Navbar.stories.d.ts +1 -1
  97. package/dist/components/organisms/Navbar/Navbar.stories.d.ts.map +1 -1
  98. package/dist/components/organisms/Table/Table.d.ts +6 -6
  99. package/dist/components/organisms/Table/Table.d.ts.map +1 -1
  100. package/dist/components/organisms/Table/Table.stories.d.ts +26 -14
  101. package/dist/components/organisms/Table/Table.stories.d.ts.map +1 -1
  102. package/dist/components/organisms/ThemeProvider/ThemeProvider.d.ts +3 -1
  103. package/dist/components/organisms/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  104. package/dist/components/organisms/charts/BooleansHeatmap/BooleansHeatmap.d.ts.map +1 -1
  105. package/dist/components/organisms/charts/BooleansHeatmap/BooleansHeatmap.stories.d.ts +1 -1
  106. package/dist/components/organisms/charts/BooleansHeatmap/BooleansHeatmap.stories.d.ts.map +1 -1
  107. package/dist/components/organisms/charts/MoodChart/MoodChart.stories.d.ts +1 -1
  108. package/dist/components/organisms/charts/MoodChart/MoodChart.stories.d.ts.map +1 -1
  109. package/dist/components/organisms/charts/PieChart/PieChart.d.ts.map +1 -1
  110. package/dist/components/organisms/charts/PieChart/PieChart.stories.d.ts +1 -1
  111. package/dist/components/organisms/charts/PieChart/PieChart.stories.d.ts.map +1 -1
  112. package/dist/components/organisms/charts/QuantifiableHabitsChart/QuantifiableHabitsChart.d.ts +2 -0
  113. package/dist/components/organisms/charts/QuantifiableHabitsChart/QuantifiableHabitsChart.d.ts.map +1 -1
  114. package/dist/components/organisms/charts/QuantifiableHabitsChart/QuantifiableHabitsChart.stories.d.ts +1 -1
  115. package/dist/components/organisms/charts/QuantifiableHabitsChart/QuantifiableHabitsChart.stories.d.ts.map +1 -1
  116. package/dist/components/organisms/charts/SleepChart/SleepChart.stories.d.ts +1 -1
  117. package/dist/components/organisms/charts/SleepChart/SleepChart.stories.d.ts.map +1 -1
  118. package/dist/components/organisms/charts/SunburstChart/SunburstChart.d.ts.map +1 -1
  119. package/dist/components/organisms/charts/SunburstChart/SunburstChart.stories.d.ts +1 -1
  120. package/dist/components/organisms/charts/SunburstChart/SunburstChart.stories.d.ts.map +1 -1
  121. package/dist/components/organisms/index.d.ts +3 -1
  122. package/dist/components/organisms/index.d.ts.map +1 -1
  123. package/dist/index.d.ts +0 -1
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.esm.js +716 -473
  126. package/dist/index.esm.js.map +1 -1
  127. package/dist/index.js +734 -485
  128. package/dist/index.js.map +1 -1
  129. package/dist/stories/utils.d.ts +2 -2
  130. package/dist/stories/utils.d.ts.map +1 -1
  131. package/dist/styles.css +1 -1
  132. package/dist/styles.css.map +1 -1
  133. package/dist/themes/default.css +47 -0
  134. package/dist/themes/dmood.css +46 -0
  135. package/dist/themes/globals.css +110 -0
  136. package/dist/themes/lossito.css +52 -0
  137. package/dist/tokens/tokens.css +79 -0
  138. package/dist/utils/formUtils.d.ts +0 -5
  139. package/dist/utils/formUtils.d.ts.map +1 -1
  140. package/package.json +32 -10
  141. package/storybook-static/addon-visual-tests-assets/visual-test-illustration.mp4 +0 -0
  142. package/storybook-static/assets/AllAtoms.stories-DBoQZmq-.js +109 -0
  143. package/storybook-static/assets/AnimationPlayer-UXJjBKtF.css +1 -0
  144. package/storybook-static/assets/AnimationPlayer.stories-yXQ8fqUT.js +379 -0
  145. package/storybook-static/assets/ArrayInput-CkUpk1TR.css +1 -0
  146. package/storybook-static/assets/ArrayInput.stories-CRqKExgm.js +221 -0
  147. package/storybook-static/assets/BooleansHeatmap-BV4VTyo6.css +1 -0
  148. package/storybook-static/assets/BooleansHeatmap.stories-2u4SThph.js +123 -0
  149. package/storybook-static/assets/Button-O-w2-ag3.css +1 -0
  150. package/storybook-static/assets/Button-VfdDKp2T.js +37 -0
  151. package/storybook-static/assets/Button.stories-BeeBKHoX.js +117 -0
  152. package/storybook-static/assets/Calendar-BTQfDDfP.css +1 -0
  153. package/storybook-static/assets/Calendar.stories-CKOG4XAn.js +545 -0
  154. package/storybook-static/assets/Card-Bc7TyfBx.css +1 -0
  155. package/storybook-static/assets/Card-D-kcaQHV.js +49 -0
  156. package/storybook-static/assets/Card.stories-CpcboxKs.js +130 -0
  157. package/storybook-static/assets/Checkbox-BHwlDfRP.js +33 -0
  158. package/storybook-static/assets/Checkbox-DMUHtq9s.css +1 -0
  159. package/storybook-static/assets/Checkbox.stories-DxTQrFgm.js +83 -0
  160. package/storybook-static/assets/Color-AVL7NMMY-BzNNgCT5.js +1 -0
  161. package/storybook-static/assets/DateInput-C4-Rlnpy.css +1 -0
  162. package/storybook-static/assets/DateInput-Cu3PZYc0.js +33 -0
  163. package/storybook-static/assets/DateInput.stories-BGB5zJBm.js +119 -0
  164. package/storybook-static/assets/DocsRenderer-PQXLIZUC-q9kcQxfH.js +1243 -0
  165. package/storybook-static/assets/EditFAB-CntUhqRB.css +1 -0
  166. package/storybook-static/assets/EditFAB.stories-CmfJxWns.js +408 -0
  167. package/storybook-static/assets/MoodChart-2hr_Y2GI.css +1 -0
  168. package/storybook-static/assets/MoodChart.stories-V-wKOSu-.js +40 -0
  169. package/storybook-static/assets/Navbar-B8vEvGnB.css +1 -0
  170. package/storybook-static/assets/Navbar.stories-Dkf77idX.js +235 -0
  171. package/storybook-static/assets/NumberStepper-BVHPJutJ.css +1 -0
  172. package/storybook-static/assets/NumberStepper-BZGlrWCN.js +30 -0
  173. package/storybook-static/assets/NumberStepper.stories-NZw7r4Oh.js +127 -0
  174. package/storybook-static/assets/PieChart-OfDGlJ4g.css +1 -0
  175. package/storybook-static/assets/PieChart.stories-BkfNODjW.js +199 -0
  176. package/storybook-static/assets/QuantifiableHabitsChart-BEfzqND4.css +1 -0
  177. package/storybook-static/assets/QuantifiableHabitsChart.stories-Df6rcrdD.js +105 -0
  178. package/storybook-static/assets/SearchBar-CYhuHFt7.css +1 -0
  179. package/storybook-static/assets/SearchBar.stories-DmHIaDZB.js +154 -0
  180. package/storybook-static/assets/SearchableDropdown-ByAXm1md.js +38 -0
  181. package/storybook-static/assets/SearchableDropdown-CLYLzeoj.css +1 -0
  182. package/storybook-static/assets/SearchableDropdown.stories-ByZj6lJu.js +282 -0
  183. package/storybook-static/assets/SelectInput-BTPptV1H.css +1 -0
  184. package/storybook-static/assets/SelectInput-D-AwfWVz.js +31 -0
  185. package/storybook-static/assets/SelectInput.stories-MyE-GqOw.js +112 -0
  186. package/storybook-static/assets/SleepChart-yGsG5RlQ.css +1 -0
  187. package/storybook-static/assets/SleepChart.stories-Dsz1U6F9.js +58 -0
  188. package/storybook-static/assets/SunburstChart-ChXvU9py.css +1 -0
  189. package/storybook-static/assets/SunburstChart.stories-CphfyDsR.js +285 -0
  190. package/storybook-static/assets/Tabs-BfJ7skOE.css +1 -0
  191. package/storybook-static/assets/Tabs.stories-c24Ffu3K.js +49 -0
  192. package/storybook-static/assets/TextArea-B2UrQsuf.css +1 -0
  193. package/storybook-static/assets/TextArea-B_sATPlw.js +28 -0
  194. package/storybook-static/assets/TextArea.stories-CCqRRpwq.js +145 -0
  195. package/storybook-static/assets/TextInput-BjVJQEYN.css +1 -0
  196. package/storybook-static/assets/TextInput-ZGg8LTL_.js +28 -0
  197. package/storybook-static/assets/TextInput.stories-CtvOb60q.js +203 -0
  198. package/storybook-static/assets/ThemeSwitcher-XCVQ6hhy.css +1 -0
  199. package/storybook-static/assets/ThemeSwitcher.stories-BvkX1SDm.js +62 -0
  200. package/storybook-static/assets/TimeInput-C3enPYoV.css +1 -0
  201. package/storybook-static/assets/TimeInput.stories-BchhRfKo.js +50 -0
  202. package/storybook-static/assets/Toggle-BQ2KHBDr.js +39 -0
  203. package/storybook-static/assets/Toggle-DhKq5lh5.css +1 -0
  204. package/storybook-static/assets/Toggle.stories-BUSZc6m3.js +194 -0
  205. package/storybook-static/assets/ToggleButton-Dl6hvkJv.js +32 -0
  206. package/storybook-static/assets/ToggleButton-gfPoPxTQ.css +1 -0
  207. package/storybook-static/assets/ToggleButton.stories-BKN4zU3N.js +143 -0
  208. package/storybook-static/assets/arc-DgcIQOLP.js +1 -0
  209. package/storybook-static/assets/array-BKyUJesY.js +1 -0
  210. package/storybook-static/assets/defaultLocale-DJ2q5QjE.js +1 -0
  211. package/storybook-static/assets/iframe-BOc1hSA-.css +1 -0
  212. package/storybook-static/assets/iframe-BUaP2gIF.js +1087 -0
  213. package/storybook-static/assets/index-5bdJXrkD.js +1 -0
  214. package/storybook-static/assets/index-CBmvvqzc.js +1 -0
  215. package/storybook-static/assets/index-CZs7_DA6.js +9 -0
  216. package/storybook-static/assets/linear-4t_RuQok.js +1 -0
  217. package/storybook-static/assets/monotone-BYG7Mesf.js +1 -0
  218. package/storybook-static/assets/path-CbwjOpE9.js +1 -0
  219. package/storybook-static/assets/preload-helper-C1FmrZbK.js +1 -0
  220. package/storybook-static/assets/proxy-9Y4F2rF8.js +1 -0
  221. package/storybook-static/assets/react-18-D4c-_GAk.js +24 -0
  222. package/storybook-static/assets/transform-NloTqvdv.js +1 -0
  223. package/storybook-static/favicon-wrapper.svg +46 -0
  224. package/storybook-static/favicon.svg +1 -0
  225. package/storybook-static/iframe.html +726 -0
  226. package/storybook-static/index.html +164 -0
  227. package/storybook-static/index.json +1 -0
  228. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  229. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  230. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  231. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  232. package/storybook-static/project.json +1 -0
  233. package/storybook-static/sb-addons/chromatic-com-storybook-4/manager-bundle.js +356 -0
  234. package/storybook-static/sb-addons/chromatic-com-storybook-4/manager-bundle.js.LEGAL.txt +40 -0
  235. package/storybook-static/sb-addons/docs-2/manager-bundle.js +151 -0
  236. package/storybook-static/sb-addons/links-3/manager-bundle.js +3 -0
  237. package/storybook-static/sb-addons/onboarding-1/manager-bundle.js +127 -0
  238. package/storybook-static/sb-addons/storybook-5/manager-bundle.js +3 -0
  239. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +971 -0
  240. package/storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
  241. package/storybook-static/sb-common-assets/favicon.svg +1 -0
  242. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  243. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  244. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  245. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  246. package/storybook-static/sb-manager/globals-module-info.js +797 -0
  247. package/storybook-static/sb-manager/globals-runtime.js +69653 -0
  248. package/storybook-static/sb-manager/globals.js +34 -0
  249. package/storybook-static/sb-manager/runtime.js +13181 -0
  250. package/storybook-static/vite-inject-mocker-entry.js +18 -0
@@ -0,0 +1,221 @@
1
+ import{j as e,r as d}from"./iframe-BUaP2gIF.js";import{B as k}from"./Button-VfdDKp2T.js";import{T as ne}from"./TextInput-ZGg8LTL_.js";import{T as te}from"./TextArea-B_sATPlw.js";import{A as re}from"./index-CZs7_DA6.js";import{m as se}from"./proxy-9Y4F2rF8.js";import"./preload-helper-C1FmrZbK.js";const oe="_arrayInput_6qbs9_1",le="_arrayInputLabel_6qbs9_5",ie="_arrayInputItem_6qbs9_14",me="_inputWrapper_6qbs9_38",ce="_input_6qbs9_38",de="_complexItem_6qbs9_71",pe="_fieldsWrapper_6qbs9_77",ue="_removeButton_6qbs9_96",he="_addButton_6qbs9_112",o={arrayInput:oe,arrayInputLabel:le,arrayInputItem:ie,inputWrapper:me,input:ce,complexItem:de,fieldsWrapper:pe,removeButton:ue,addButton:he};function c(t){return t.type==="complex"?e.jsx(be,{...t}):e.jsx(ge,{...t})}function ge({label:t,values:s,onChange:l,placeholder:m,itemStyle:p,inputStyle:u,multiline:S=!1,rows:h=3}){const g=(n,r)=>{const a=[...s];a[n]=r,l(a)},A=()=>{l([...s,""])},w=n=>{const r=s.filter((a,i)=>i!==n);l(r)};return e.jsxs("div",{className:o.arrayInput,children:[e.jsx("h3",{className:o.arrayInputLabel,children:t}),e.jsx("div",{children:e.jsx(re,{children:s.map((n,r)=>e.jsxs(se.div,{className:o.arrayInputItem,style:p,initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0},transition:{duration:.3,ease:"easeInOut",layout:{duration:.2}},children:[e.jsx("div",{className:o.inputWrapper,children:S?e.jsx("div",{style:u,children:e.jsx(te,{label:"",value:n,onChange:a=>g(r,a),placeholder:m,rows:h,compact:!0})}):e.jsx("input",{type:"text",value:n,onChange:a=>g(r,a.target.value),placeholder:m,className:o.input,style:u})}),e.jsx(k,{variant:"ghost",size:"small",onClick:()=>w(r),"aria-label":"Remove item",className:o.removeButton,children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})})})]},`item-${r}`))})}),e.jsxs(k,{variant:"primary",size:"small",onClick:A,className:o.addButton,children:["Add ",t]})]})}function be({label:t,values:s,onChange:l,fields:m,getKey:p,itemStyle:u,inputStyle:S}){const h=(n,r,a)=>{const i=[...s];i[n]={...i[n],[r]:a},l(i)},g=()=>{const n=m.reduce((r,a)=>({...r,[a.name]:""}),{});l([...s,n])},A=n=>{const r=s.filter((a,i)=>i!==n);l(r)},w=(n,r)=>p?p(n,r):m.map(a=>n[a.name]||"").join("-")+`-${r}`;return e.jsxs("div",{className:o.arrayInput,children:[e.jsx("h3",{className:o.arrayInputLabel,children:t}),e.jsx("div",{children:e.jsx(re,{children:s.map((n,r)=>e.jsxs(se.div,{className:`${o.arrayInputItem} ${m.length>1?o.complexItem:""}`,style:u,initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0},transition:{duration:.3,ease:"easeInOut",layout:{duration:.2}},children:[e.jsx("div",{className:o.fieldsWrapper,children:m.map(a=>e.jsx("div",{style:S,children:a.multiline?e.jsx(te,{value:n[a.name]||"",onChange:i=>h(r,a.name,i),label:a.label,placeholder:a.placeholder,rows:a.rows,compact:!0}):e.jsx(ne,{value:n[a.name]||"",onChange:i=>h(r,a.name,i),label:a.label,type:a.type,placeholder:a.placeholder})},a.name))}),e.jsx(k,{variant:"ghost",size:"small",onClick:()=>A(r),"aria-label":"Remove item",className:o.removeButton,children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})})})]},w(n,r)))})}),e.jsxs(k,{variant:"primary",size:"small",onClick:g,className:o.addButton,children:["Add ",t]})]})}c.__docgenInfo={description:`ArrayInput component - Versatile dynamic list manager
2
+
3
+ @component
4
+ @description
5
+ A flexible component that can handle both simple string arrays and complex object arrays.
6
+ Users can add, remove, and edit items dynamically. Supports custom field configurations
7
+ for complex data structures.
8
+
9
+ @example
10
+ // Simple string array
11
+ <ArrayInput
12
+ label="Tags"
13
+ values={tags}
14
+ onChange={setTags}
15
+ placeholder="Enter tag"
16
+ />
17
+
18
+ @example
19
+ // Complex object array
20
+ <ArrayInput
21
+ type="complex"
22
+ label="Social Links"
23
+ values={links}
24
+ onChange={setLinks}
25
+ fields={[
26
+ { name: 'label', label: 'Label', placeholder: 'GitHub' },
27
+ { name: 'url', label: 'URL', type: 'url', placeholder: 'https://github.com/...' }
28
+ ]}
29
+ />`,methods:[],displayName:"ArrayInput"};const Ce={title:"Molecules/ArrayInput",component:c,parameters:{layout:"centered",docs:{description:{component:"A dynamic array input component that allows adding and removing multiple text inputs."}}},tags:["autodocs"],argTypes:{label:{control:"text",description:"Label for the array input group"},values:{control:"object",description:"Array of string values"},placeholder:{control:"text",description:"Placeholder text for each input"},onChange:{action:"changed"}}},b={args:{label:"Items",values:[""],placeholder:"Enter item",onChange:()=>{}}},x={args:{label:"Tags",values:["React","TypeScript","Storybook"],placeholder:"Enter tag",onChange:()=>{}}},y={args:{label:"Skills",values:[],placeholder:"Add a skill",onChange:()=>{}}},f={args:{label:"Email Addresses",values:["john@example.com","jane@example.com"],placeholder:"Enter email",onChange:()=>{}},render:()=>{const[t,s]=d.useState(["john@example.com","jane@example.com"]);return e.jsxs("div",{children:[e.jsx(c,{label:"Email Addresses",values:t,onChange:s,placeholder:"Enter email"}),e.jsxs("div",{style:{marginTop:"1rem",padding:"1rem",background:"#f5f5f5",borderRadius:"4px"},children:[e.jsx("p",{style:{margin:0,fontSize:"0.875rem"},children:e.jsxs("strong",{children:["Emails (",t.length,"):"]})}),e.jsx("ul",{style:{margin:"0.5rem 0 0",paddingLeft:"1.5rem"},children:t.map((l,m)=>e.jsx("li",{style:{fontSize:"0.875rem"},children:l||"(empty)"},m))})]})]})}},v={args:{label:"Tasks",values:["Buy groceries","Walk the dog",""],placeholder:"Enter a task",onChange:()=>{}},render:()=>{const[t,s]=d.useState(["Buy groceries","Walk the dog",""]);return e.jsxs("div",{style:{maxWidth:"400px"},children:[e.jsx("h3",{style:{marginBottom:"1rem"},children:"Todo List"}),e.jsx(c,{label:"Tasks",values:t,onChange:s,placeholder:"Enter a task"})]})},parameters:{controls:{disable:!0}}},j={args:{label:"Team Members",values:["Alice Johnson","Bob Smith",""],placeholder:"Enter member name",onChange:()=>{}},render:()=>{const[t,s]=d.useState(["Alice Johnson","Bob Smith",""]);return e.jsxs("div",{style:{padding:"1.5rem",background:"#fff",border:"1px solid #e0e0e0",borderRadius:"8px",maxWidth:"450px"},children:[e.jsx("h3",{style:{marginTop:0},children:"Project Team"}),e.jsx(c,{label:"Team Members",values:t,onChange:s,placeholder:"Enter member name"}),e.jsxs("p",{style:{marginTop:"1rem",fontSize:"0.875rem",color:"#666"},children:["Total members: ",t.filter(l=>l).length]})]})},parameters:{controls:{disable:!0}}},I={args:{label:"Ingredients",values:["2 cups flour","1 cup sugar","3 eggs","1 tsp vanilla extract",""],placeholder:"Add ingredient",onChange:()=>{}},render:()=>{const[t,s]=d.useState(["2 cups flour","1 cup sugar","3 eggs","1 tsp vanilla extract",""]);return e.jsxs("div",{style:{padding:"1.5rem",background:"#fffef5",border:"2px solid #f0e68c",borderRadius:"8px",maxWidth:"400px"},children:[e.jsx("h3",{style:{marginTop:0,color:"#8b7355"},children:"🍰 Recipe Ingredients"}),e.jsx(c,{label:"Ingredients",values:t,onChange:s,placeholder:"Add ingredient"})]})},parameters:{controls:{disable:!0}}},T={render:()=>{const[t,s]=d.useState(["This is a longer note that demonstrates how multiline text works. The textarea will wrap properly and allow for multiple lines of content.","Another note with some detailed information that spans multiple lines and shows how the component handles longer text content.",""]);return e.jsx("div",{style:{maxWidth:"600px"},children:e.jsx(c,{label:"Project Notes",values:t,onChange:s,placeholder:"Enter detailed note...",multiline:!0,rows:4})})},parameters:{controls:{disable:!0}}},C={render:()=>{const[t,s]=d.useState([{name:"Sarah Johnson",title:"Product Manager",feedback:"This tool has completely transformed how our team collaborates. The intuitive interface and powerful features make project management effortless."},{name:"Mike Chen",title:"Software Engineer",feedback:"Amazing performance and reliability. The development experience is smooth and the documentation is comprehensive."}]);return e.jsx("div",{style:{maxWidth:"700px"},children:e.jsx(c,{type:"complex",label:"Customer Testimonials",values:t,onChange:s,fields:[{name:"name",label:"Name",placeholder:"Customer name"},{name:"title",label:"Job Title",placeholder:"Job title"},{name:"feedback",label:"Testimonial",placeholder:"Enter customer feedback...",multiline:!0,rows:4}]})})},parameters:{controls:{disable:!0}}};var E,_,B;b.parameters={...b.parameters,docs:{...(E=b.parameters)==null?void 0:E.docs,source:{originalSource:`{
30
+ args: {
31
+ label: 'Items',
32
+ values: [''],
33
+ placeholder: 'Enter item',
34
+ onChange: () => {}
35
+ }
36
+ }`,...(B=(_=b.parameters)==null?void 0:_.docs)==null?void 0:B.source}}};var W,N,L;x.parameters={...x.parameters,docs:{...(W=x.parameters)==null?void 0:W.docs,source:{originalSource:`{
37
+ args: {
38
+ label: 'Tags',
39
+ values: ['React', 'TypeScript', 'Storybook'],
40
+ placeholder: 'Enter tag',
41
+ onChange: () => {}
42
+ }
43
+ }`,...(L=(N=x.parameters)==null?void 0:N.docs)==null?void 0:L.source}}};var M,R,z;y.parameters={...y.parameters,docs:{...(M=y.parameters)==null?void 0:M.docs,source:{originalSource:`{
44
+ args: {
45
+ label: 'Skills',
46
+ values: [],
47
+ placeholder: 'Add a skill',
48
+ onChange: () => {}
49
+ }
50
+ }`,...(z=(R=y.parameters)==null?void 0:R.docs)==null?void 0:z.source}}};var J,q,P;f.parameters={...f.parameters,docs:{...(J=f.parameters)==null?void 0:J.docs,source:{originalSource:`{
51
+ args: {
52
+ label: 'Email Addresses',
53
+ values: ['john@example.com', 'jane@example.com'],
54
+ placeholder: 'Enter email',
55
+ onChange: () => {}
56
+ },
57
+ render: () => {
58
+ const [emails, setEmails] = useState(['john@example.com', 'jane@example.com']);
59
+ return <div>
60
+ <ArrayInput label="Email Addresses" values={emails} onChange={setEmails} placeholder="Enter email" />
61
+ <div style={{
62
+ marginTop: '1rem',
63
+ padding: '1rem',
64
+ background: '#f5f5f5',
65
+ borderRadius: '4px'
66
+ }}>
67
+ <p style={{
68
+ margin: 0,
69
+ fontSize: '0.875rem'
70
+ }}>
71
+ <strong>Emails ({emails.length}):</strong>
72
+ </p>
73
+ <ul style={{
74
+ margin: '0.5rem 0 0',
75
+ paddingLeft: '1.5rem'
76
+ }}>
77
+ {emails.map((email, index) => <li key={index} style={{
78
+ fontSize: '0.875rem'
79
+ }}>
80
+ {email || '(empty)'}
81
+ </li>)}
82
+ </ul>
83
+ </div>
84
+ </div>;
85
+ }
86
+ }`,...(P=(q=f.parameters)==null?void 0:q.docs)==null?void 0:P.source}}};var V,$,O;v.parameters={...v.parameters,docs:{...(V=v.parameters)==null?void 0:V.docs,source:{originalSource:`{
87
+ args: {
88
+ label: 'Tasks',
89
+ values: ['Buy groceries', 'Walk the dog', ''],
90
+ placeholder: 'Enter a task',
91
+ onChange: () => {}
92
+ },
93
+ render: () => {
94
+ const [todos, setTodos] = useState(['Buy groceries', 'Walk the dog', '']);
95
+ return <div style={{
96
+ maxWidth: '400px'
97
+ }}>
98
+ <h3 style={{
99
+ marginBottom: '1rem'
100
+ }}>Todo List</h3>
101
+ <ArrayInput label="Tasks" values={todos} onChange={setTodos} placeholder="Enter a task" />
102
+ </div>;
103
+ },
104
+ parameters: {
105
+ controls: {
106
+ disable: true
107
+ }
108
+ }
109
+ }`,...(O=($=v.parameters)==null?void 0:$.docs)==null?void 0:O.source}}};var D,F,U;j.parameters={...j.parameters,docs:{...(D=j.parameters)==null?void 0:D.docs,source:{originalSource:`{
110
+ args: {
111
+ label: 'Team Members',
112
+ values: ['Alice Johnson', 'Bob Smith', ''],
113
+ placeholder: 'Enter member name',
114
+ onChange: () => {}
115
+ },
116
+ render: () => {
117
+ const [members, setMembers] = useState(['Alice Johnson', 'Bob Smith', '']);
118
+ return <div style={{
119
+ padding: '1.5rem',
120
+ background: '#fff',
121
+ border: '1px solid #e0e0e0',
122
+ borderRadius: '8px',
123
+ maxWidth: '450px'
124
+ }}>
125
+ <h3 style={{
126
+ marginTop: 0
127
+ }}>Project Team</h3>
128
+ <ArrayInput label="Team Members" values={members} onChange={setMembers} placeholder="Enter member name" />
129
+ <p style={{
130
+ marginTop: '1rem',
131
+ fontSize: '0.875rem',
132
+ color: '#666'
133
+ }}>
134
+ Total members: {members.filter(m => m).length}
135
+ </p>
136
+ </div>;
137
+ },
138
+ parameters: {
139
+ controls: {
140
+ disable: true
141
+ }
142
+ }
143
+ }`,...(U=(F=j.parameters)==null?void 0:F.docs)==null?void 0:U.source}}};var G,H,K;I.parameters={...I.parameters,docs:{...(G=I.parameters)==null?void 0:G.docs,source:{originalSource:`{
144
+ args: {
145
+ label: 'Ingredients',
146
+ values: ['2 cups flour', '1 cup sugar', '3 eggs', '1 tsp vanilla extract', ''],
147
+ placeholder: 'Add ingredient',
148
+ onChange: () => {}
149
+ },
150
+ render: () => {
151
+ const [ingredients, setIngredients] = useState(['2 cups flour', '1 cup sugar', '3 eggs', '1 tsp vanilla extract', '']);
152
+ return <div style={{
153
+ padding: '1.5rem',
154
+ background: '#fffef5',
155
+ border: '2px solid #f0e68c',
156
+ borderRadius: '8px',
157
+ maxWidth: '400px'
158
+ }}>
159
+ <h3 style={{
160
+ marginTop: 0,
161
+ color: '#8b7355'
162
+ }}>🍰 Recipe Ingredients</h3>
163
+ <ArrayInput label="Ingredients" values={ingredients} onChange={setIngredients} placeholder="Add ingredient" />
164
+ </div>;
165
+ },
166
+ parameters: {
167
+ controls: {
168
+ disable: true
169
+ }
170
+ }
171
+ }`,...(K=(H=I.parameters)==null?void 0:H.docs)==null?void 0:K.source}}};var Q,X,Y;T.parameters={...T.parameters,docs:{...(Q=T.parameters)==null?void 0:Q.docs,source:{originalSource:`{
172
+ render: () => {
173
+ const [notes, setNotes] = useState(['This is a longer note that demonstrates how multiline text works. The textarea will wrap properly and allow for multiple lines of content.', 'Another note with some detailed information that spans multiple lines and shows how the component handles longer text content.', '']);
174
+ return <div style={{
175
+ maxWidth: '600px'
176
+ }}>
177
+ <ArrayInput label="Project Notes" values={notes} onChange={setNotes} placeholder="Enter detailed note..." multiline={true} rows={4} />
178
+ </div>;
179
+ },
180
+ parameters: {
181
+ controls: {
182
+ disable: true
183
+ }
184
+ }
185
+ }`,...(Y=(X=T.parameters)==null?void 0:X.docs)==null?void 0:Y.source}}};var Z,ee,ae;C.parameters={...C.parameters,docs:{...(Z=C.parameters)==null?void 0:Z.docs,source:{originalSource:`{
186
+ render: () => {
187
+ const [testimonials, setTestimonials] = useState([{
188
+ name: 'Sarah Johnson',
189
+ title: 'Product Manager',
190
+ feedback: 'This tool has completely transformed how our team collaborates. The intuitive interface and powerful features make project management effortless.'
191
+ }, {
192
+ name: 'Mike Chen',
193
+ title: 'Software Engineer',
194
+ feedback: 'Amazing performance and reliability. The development experience is smooth and the documentation is comprehensive.'
195
+ }]);
196
+ return <div style={{
197
+ maxWidth: '700px'
198
+ }}>
199
+ <ArrayInput type="complex" label="Customer Testimonials" values={testimonials} onChange={setTestimonials} fields={[{
200
+ name: 'name',
201
+ label: 'Name',
202
+ placeholder: 'Customer name'
203
+ }, {
204
+ name: 'title',
205
+ label: 'Job Title',
206
+ placeholder: 'Job title'
207
+ }, {
208
+ name: 'feedback',
209
+ label: 'Testimonial',
210
+ placeholder: 'Enter customer feedback...',
211
+ multiline: true,
212
+ rows: 4
213
+ }]} />
214
+ </div>;
215
+ },
216
+ parameters: {
217
+ controls: {
218
+ disable: true
219
+ }
220
+ }
221
+ }`,...(ae=(ee=C.parameters)==null?void 0:ee.docs)==null?void 0:ae.source}}};const ke=["Default","WithInitialValues","EmptyState","Interactive","TodoList","TeamMembers","IngredientsList","MultilineNotes","ComplexMultilineForm"];export{C as ComplexMultilineForm,b as Default,y as EmptyState,I as IngredientsList,f as Interactive,T as MultilineNotes,j as TeamMembers,v as TodoList,x as WithInitialValues,ke as __namedExportsOrder,Ce as default};
@@ -0,0 +1 @@
1
+ ._container_ma4de_1{background:var(--color-background-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}._title_ma4de_8{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:8px}._habitEmoji_ma4de_18{font-size:20px;display:inline-block}._chart_ma4de_23{display:block;margin:var(--spacing-lg) 0}._monthLabel_ma4de_28{fill:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}._dayLabel_ma4de_34{fill:var(--color-text-secondary);font-size:var(--font-size-xs)}._cell_ma4de_39{stroke:var(--color-background-secondary);stroke-width:1;cursor:pointer;transition:var(--transition-base)}._cell_ma4de_39:hover{stroke:var(--color-primary);stroke-width:2}._legend_ma4de_51{display:flex;gap:var(--spacing-xl);justify-content:center;margin-top:var(--spacing-lg)}._legendItem_ma4de_58{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}._legendColor_ma4de_66{width:16px;height:16px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}._tooltip_ma4de_73{background:var(--color-background);border:2px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);box-shadow:var(--shadow-lg);pointer-events:none;z-index:1000}._tooltip_ma4de_73 div{margin:var(--spacing-xs) 0}._tooltip_ma4de_73 strong{color:var(--color-primary)}
@@ -0,0 +1,123 @@
1
+ import{r as W,j as l}from"./iframe-BUaP2gIF.js";import{s as F}from"./transform-NloTqvdv.js";import{t as it}from"./defaultLocale-DJ2q5QjE.js";import"./preload-helper-C1FmrZbK.js";const dt="_container_ma4de_1",ct="_title_ma4de_8",lt="_habitEmoji_ma4de_18",mt="_chart_ma4de_23",ht="_monthLabel_ma4de_28",gt="_dayLabel_ma4de_34",pt="_cell_ma4de_39",ut="_legend_ma4de_51",bt="_legendItem_ma4de_58",ft="_legendColor_ma4de_66",yt="_tooltip_ma4de_73",r={container:dt,title:ct,habitEmoji:lt,chart:mt,monthLabel:ht,dayLabel:gt,cell:pt,legend:ut,legendItem:bt,legendColor:ft,tooltip:yt},Dt=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],wt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],et=({data:e,habitName:t,width:a=800,height:i=200,habitColor:o="#6BCB77",habitEmoji:m="✓"})=>{const S=W.useRef(null),{startDate:p,endDate:R,weeksToShow:b}=W.useMemo(()=>{const h=Object.keys(e).sort();if(h.length===0){const g=new Date;return{startDate:g,endDate:g,weeksToShow:1}}const d=new Date(h[0]),f=new Date(h[h.length-1]),v=Math.ceil((f.getTime()-d.getTime())/(1e3*60*60*24))+1,c=Math.ceil(v/7);return{startDate:d,endDate:f,weeksToShow:c}},[e]);return W.useEffect(()=>{if(!S.current)return;const h=F(S.current);h.selectAll("*").remove();const d={top:40,right:20,bottom:20,left:40},f=a-d.left-d.right,v=i-d.top-d.bottom,c=Math.min(Math.floor(v/7)-1,Math.floor(f/b)-1,20),g=2,k=h.append("g").attr("transform",`translate(${d.left},${d.top})`),N=(p.getDay()+6)%7,C=new Map;let y=p.getMonth();C.set(y,0);for(let s=0;s<b;s++){const n=new Date(p);n.setDate(n.getDate()+s*7-N),n.getMonth()!==y&&(y=n.getMonth(),C.set(y,s))}C.forEach((s,n)=>{k.append("text").attr("x",s*(c+g)).attr("y",-10).attr("class",r.monthLabel).text(wt[n])}),Dt.forEach((s,n)=>{k.append("text").attr("x",-10).attr("y",n*(c+g)+c/2).attr("class",r.dayLabel).attr("text-anchor","end").attr("alignment-baseline","middle").text(s)});const D=F("body").append("div").attr("class",r.tooltip).style("opacity",0).style("position","absolute"),at=b*7;for(let s=0;s<at;s++){const n=new Date(p);if(n.setDate(n.getDate()+s-N),n<p||n>R)continue;const O=n.toISOString().split("T")[0],nt=(n.getDay()+6)%7,ot=Math.floor((s+N)/7),T=O in e&&e[O];k.append("rect").attr("x",ot*(c+g)).attr("y",nt*(c+g)).attr("width",c).attr("height",c).attr("rx",3).attr("class",r.cell).attr("data-date",O).attr("data-value",T?"true":"false").style("fill",T?o:"#4D4D4DFF").on("mouseover",function(I){D.transition().duration(200).style("opacity",1);const st=it("%b %d, %Y"),rt=T?`${m} Done`:"✗ Not done";D.html(`
2
+ <div><strong>${t}</strong></div>
3
+ <div>${st(n)}</div>
4
+ <div>${rt}</div>
5
+ `).style("left",I.pageX+10+"px").style("top",I.pageY-28+"px")}).on("mouseout",function(){D.transition().duration(500).style("opacity",0)})}return()=>{D.remove()}},[e,t,a,i,p,R,b,o,m]),l.jsxs("div",{className:r.container,children:[l.jsxs("h3",{className:r.title,children:[l.jsx("span",{className:r.habitEmoji,children:m}),t]}),l.jsx("svg",{ref:S,width:a,height:i,className:r.chart}),l.jsxs("div",{className:r.legend,children:[l.jsxs("span",{className:r.legendItem,children:[l.jsx("span",{className:r.legendColor,style:{backgroundColor:o}}),"Done"]}),l.jsxs("span",{className:r.legendItem,children:[l.jsx("span",{className:r.legendColor,style:{backgroundColor:"#4D4D4DFF"}}),"Not done"]})]})]})};et.__docgenInfo={description:"",methods:[],displayName:"BooleansHeatmap",props:{data:{required:!0,tsType:{name:"signature",type:"object",raw:"{ [date: string]: boolean }",signature:{properties:[{key:{name:"string"},value:{name:"boolean",required:!0}}]}},description:""},habitName:{required:!0,tsType:{name:"string"},description:""},width:{required:!1,tsType:{name:"number"},description:"",defaultValue:{value:"800",computed:!1}},height:{required:!1,tsType:{name:"number"},description:"",defaultValue:{value:"200",computed:!1}},habitColor:{required:!1,tsType:{name:"string"},description:"",defaultValue:{value:"'#6BCB77'",computed:!1}},habitEmoji:{required:!1,tsType:{name:"string"},description:"",defaultValue:{value:"'✓'",computed:!1}}}};const St={title:"Organisms/Charts/BooleansHeatmap",component:et,parameters:{layout:"centered"},argTypes:{width:{control:{type:"number",min:400,max:1200,step:50}},height:{control:{type:"number",min:150,max:400,step:50}},habitColor:{control:{type:"color"}},habitEmoji:{control:{type:"text"}}}},u=e=>{const t=[],a=new Date;for(let i=e-1;i>=0;i--){const o=new Date(a);o.setDate(o.getDate()-i),t.push(o.toISOString().split("T")[0])}return t},w={args:{data:(()=>{const e=u(90),t={};return e.forEach(a=>{t[a]=Math.random()>.3}),t})(),habitName:"Daily Exercise",width:900,height:200,habitColor:"#10b981",habitEmoji:"💪"}},E={args:{data:(()=>{const e=u(60),t={};return e.forEach(a=>{t[a]=Math.random()>.4}),t})(),habitName:"Meditation",width:800,height:200,habitColor:"#8b5cf6",habitEmoji:"🧘"}},_={args:{data:(()=>{const e=u(120),t={};return e.forEach((a,i)=>{const o=new Date(a).getDay(),m=o===0||o===6;t[a]=Math.random()>(m?.2:.5)}),t})(),habitName:"Daily Reading",width:1e3,height:200,habitColor:"#f59e0b",habitEmoji:"📚"}},M={args:{data:(()=>{const e=u(30),t={};return e.forEach(a=>{t[a]=Math.random()>.15}),t})(),habitName:"8 Glasses of Water",width:800,height:180,habitColor:"#3b82f6",habitEmoji:"💧"}},x={args:{data:(()=>{const e=u(365),t={};return e.forEach((a,i)=>{const o=new Date(a).getMonth(),m=o>=5&&o<=8;t[a]=Math.random()>(m?.25:.45)}),t})(),habitName:"Outdoor Activity",width:1100,height:250,habitColor:"#10b981",habitEmoji:"🏃"}},j={args:{data:(()=>{const e=u(60),t={};return e.forEach(a=>{Math.random()>.3&&(t[a]=Math.random()>.6)}),t})(),habitName:"Side Project Work",width:800,height:200,habitColor:"#7c3aed",habitEmoji:"💻"}};var L,q,B;w.parameters={...w.parameters,docs:{...(L=w.parameters)==null?void 0:L.docs,source:{originalSource:`{
6
+ args: {
7
+ data: (() => {
8
+ const dates = generateDateRange(90);
9
+ const data: {
10
+ [date: string]: boolean;
11
+ } = {};
12
+ dates.forEach(date => {
13
+ data[date] = Math.random() > 0.3;
14
+ });
15
+ return data;
16
+ })(),
17
+ habitName: 'Daily Exercise',
18
+ width: 900,
19
+ height: 200,
20
+ habitColor: '#10b981',
21
+ habitEmoji: '💪'
22
+ }
23
+ }`,...(B=(q=w.parameters)==null?void 0:q.docs)==null?void 0:B.source}}};var A,H,$;E.parameters={...E.parameters,docs:{...(A=E.parameters)==null?void 0:A.docs,source:{originalSource:`{
24
+ args: {
25
+ data: (() => {
26
+ const dates = generateDateRange(60);
27
+ const data: {
28
+ [date: string]: boolean;
29
+ } = {};
30
+ dates.forEach(date => {
31
+ data[date] = Math.random() > 0.4;
32
+ });
33
+ return data;
34
+ })(),
35
+ habitName: 'Meditation',
36
+ width: 800,
37
+ height: 200,
38
+ habitColor: '#8b5cf6',
39
+ habitEmoji: '🧘'
40
+ }
41
+ }`,...($=(H=E.parameters)==null?void 0:H.docs)==null?void 0:$.source}}};var Y,V,G;_.parameters={..._.parameters,docs:{...(Y=_.parameters)==null?void 0:Y.docs,source:{originalSource:`{
42
+ args: {
43
+ data: (() => {
44
+ const dates = generateDateRange(120);
45
+ const data: {
46
+ [date: string]: boolean;
47
+ } = {};
48
+ dates.forEach((date, i) => {
49
+ // More likely to read on weekends
50
+ const dayOfWeek = new Date(date).getDay();
51
+ const isWeekend = dayOfWeek === 0 || dayOfWeek === 6;
52
+ data[date] = Math.random() > (isWeekend ? 0.2 : 0.5);
53
+ });
54
+ return data;
55
+ })(),
56
+ habitName: 'Daily Reading',
57
+ width: 1000,
58
+ height: 200,
59
+ habitColor: '#f59e0b',
60
+ habitEmoji: '📚'
61
+ }
62
+ }`,...(G=(V=_.parameters)==null?void 0:V.docs)==null?void 0:G.source}}};var J,P,z;M.parameters={...M.parameters,docs:{...(J=M.parameters)==null?void 0:J.docs,source:{originalSource:`{
63
+ args: {
64
+ data: (() => {
65
+ const dates = generateDateRange(30);
66
+ const data: {
67
+ [date: string]: boolean;
68
+ } = {};
69
+ dates.forEach(date => {
70
+ // High success rate for water intake
71
+ data[date] = Math.random() > 0.15;
72
+ });
73
+ return data;
74
+ })(),
75
+ habitName: '8 Glasses of Water',
76
+ width: 800,
77
+ height: 180,
78
+ habitColor: '#3b82f6',
79
+ habitEmoji: '💧'
80
+ }
81
+ }`,...(z=(P=M.parameters)==null?void 0:P.docs)==null?void 0:z.source}}};var K,X,Q;x.parameters={...x.parameters,docs:{...(K=x.parameters)==null?void 0:K.docs,source:{originalSource:`{
82
+ args: {
83
+ data: (() => {
84
+ const dates = generateDateRange(365);
85
+ const data: {
86
+ [date: string]: boolean;
87
+ } = {};
88
+ dates.forEach((date, i) => {
89
+ // Simulate seasonal patterns
90
+ const month = new Date(date).getMonth();
91
+ const isSummer = month >= 5 && month <= 8;
92
+ data[date] = Math.random() > (isSummer ? 0.25 : 0.45);
93
+ });
94
+ return data;
95
+ })(),
96
+ habitName: 'Outdoor Activity',
97
+ width: 1100,
98
+ height: 250,
99
+ habitColor: '#10b981',
100
+ habitEmoji: '🏃'
101
+ }
102
+ }`,...(Q=(X=x.parameters)==null?void 0:X.docs)==null?void 0:Q.source}}};var U,Z,tt;j.parameters={...j.parameters,docs:{...(U=j.parameters)==null?void 0:U.docs,source:{originalSource:`{
103
+ args: {
104
+ data: (() => {
105
+ const dates = generateDateRange(60);
106
+ const data: {
107
+ [date: string]: boolean;
108
+ } = {};
109
+ // Only populate some dates
110
+ dates.forEach(date => {
111
+ if (Math.random() > 0.3) {
112
+ data[date] = Math.random() > 0.6;
113
+ }
114
+ });
115
+ return data;
116
+ })(),
117
+ habitName: 'Side Project Work',
118
+ width: 800,
119
+ height: 200,
120
+ habitColor: '#7c3aed',
121
+ habitEmoji: '💻'
122
+ }
123
+ }`,...(tt=(Z=j.parameters)==null?void 0:Z.docs)==null?void 0:tt.source}}};const vt=["DailyExercise","Meditation","Reading","WaterIntake","YearlyOverview","SparseData"];export{w as DailyExercise,E as Meditation,_ as Reading,j as SparseData,M as WaterIntake,x as YearlyOverview,vt as __namedExportsOrder,St as default};
@@ -0,0 +1 @@
1
+ ._button_7s9mx_1{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide);border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;overflow:hidden;isolation:isolate}._button_7s9mx_1:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}._button_7s9mx_1:active:before{width:300px;height:300px}._primary_7s9mx_43{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--color-text-inverse);box-shadow:var(--shadow-md),0 4px 14px #7c3aed4d}._primary_7s9mx_43:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary-active));transform:translateY(-2px);box-shadow:var(--shadow-lg),0 6px 20px #7c3aed66}._primary_7s9mx_43:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm),0 2px 8px #7c3aed4d}._secondary_7s9mx_61{background:linear-gradient(135deg,var(--color-secondary),var(--color-secondary-hover));color:var(--color-text-inverse);box-shadow:var(--shadow-sm),0 2px 8px #14b8a633}._secondary_7s9mx_61:hover:not(:disabled){background:linear-gradient(135deg,var(--color-secondary-hover),var(--color-secondary-active));transform:translateY(-1px);box-shadow:var(--shadow-md),0 4px 12px #14b8a64d}._secondary_7s9mx_61:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs),0 1px 4px #14b8a633}._outline_7s9mx_79{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);box-shadow:none;position:relative;overflow:hidden;z-index:1}._outline_7s9mx_79:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));z-index:-1;opacity:0;transition:opacity var(--transition-base)}._outline_7s9mx_79:hover:not(:disabled){color:var(--color-text-inverse);border-color:transparent;transform:translateY(-1px);box-shadow:var(--shadow-md)}._outline_7s9mx_79:hover:not(:disabled):after{opacity:1}._outline_7s9mx_79:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}._ghost_7s9mx_119{background:transparent;color:var(--color-text-secondary);box-shadow:none}._ghost_7s9mx_119:hover:not(:disabled){background:linear-gradient(135deg,var(--color-background-secondary),var(--color-background-tertiary));color:var(--color-text);transform:translateY(-1px);box-shadow:var(--shadow-sm)}._ghost_7s9mx_119:active:not(:disabled){transform:translateY(0);background:var(--color-background-tertiary);box-shadow:none}._danger_7s9mx_142{background:linear-gradient(135deg,var(--color-error),var(--color-error-hover));color:var(--color-text-inverse);box-shadow:var(--shadow-md),0 4px 14px #ef44444d}._danger_7s9mx_142:hover:not(:disabled){background:linear-gradient(135deg,var(--color-error-hover),var(--color-error-active));transform:translateY(-2px);box-shadow:var(--shadow-lg),0 6px 20px #ef444466}._danger_7s9mx_142:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm),0 2px 8px #ef44444d}._small_7s9mx_160{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-md)}._medium_7s9mx_166{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base)}._large_7s9mx_171{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}._fullWidth_7s9mx_178{width:100%}._button_7s9mx_1:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important;background:var(--color-background-tertiary)!important;color:var(--color-text-tertiary)!important;border-color:var(--color-border)!important}._button_7s9mx_1:disabled:before,._button_7s9mx_1:disabled:after{display:none}._loading_7s9mx_199{color:transparent;pointer-events:none}._spinner_7s9mx_204{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1em;height:1em}._spinner_7s9mx_204:after{content:"";display:block;width:1em;height:1em;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:_spin_7s9mx_204 .6s linear infinite}@keyframes _spin_7s9mx_204{to{transform:rotate(360deg)}}._iconLeft_7s9mx_231,._iconRight_7s9mx_232{display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;flex-shrink:0}._iconLeft_7s9mx_231{margin-left:calc(var(--spacing-xs) * -1)}._iconRight_7s9mx_232{margin-right:calc(var(--spacing-xs) * -1)}._button_7s9mx_1:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[data-theme=dark] ._primary_7s9mx_43{box-shadow:var(--shadow-md),0 4px 14px #a78bfa4d}[data-theme=dark] ._primary_7s9mx_43:hover:not(:disabled){box-shadow:var(--shadow-lg),0 6px 20px #a78bfa66}[data-theme=dark] ._secondary_7s9mx_61{box-shadow:var(--shadow-sm),0 2px 8px #2dd4bf33}[data-theme=dark] ._secondary_7s9mx_61:hover:not(:disabled){box-shadow:var(--shadow-md),0 4px 12px #2dd4bf4d}
@@ -0,0 +1,37 @@
1
+ import{j as t}from"./iframe-BUaP2gIF.js";import{m as f}from"./proxy-9Y4F2rF8.js";const h="_button_7s9mx_1",_="_primary_7s9mx_43",g="_secondary_7s9mx_61",y="_outline_7s9mx_79",x="_ghost_7s9mx_119",v="_danger_7s9mx_142",b="_small_7s9mx_160",B="_medium_7s9mx_166",T="_large_7s9mx_171",W="_fullWidth_7s9mx_178",q="_loading_7s9mx_199",w="_spinner_7s9mx_204",L="_spin_7s9mx_204",N="_iconLeft_7s9mx_231",R="_iconRight_7s9mx_232",e={button:h,primary:_,secondary:g,outline:y,ghost:x,danger:v,small:b,medium:B,large:T,fullWidth:W,loading:q,spinner:w,spin:L,iconLeft:N,iconRight:R},j=({variant:i="primary",size:l="medium",fullWidth:r=!1,loading:n=!1,iconLeft:o,iconRight:s,children:m,className:u="",disabled:a,motionProps:d,...c})=>{const p=[e.button,e[i],e[l],r&&e.fullWidth,n&&e.loading,u].filter(Boolean).join(" ");return t.jsxs(f.button,{className:p,disabled:a||n,whileHover:{scale:a||n?1:1.02},whileTap:{scale:a||n?1:.98},transition:{type:"spring",stiffness:400,damping:17},...d,...c,children:[n&&t.jsx("span",{className:e.spinner}),o&&t.jsx("span",{className:e.iconLeft,children:o}),m,s&&t.jsx("span",{className:e.iconRight,children:s})]})};j.__docgenInfo={description:`Button Component
2
+
3
+ @component
4
+ @description
5
+ A versatile, animated button component built with Framer Motion. Supports multiple
6
+ variants, sizes, loading states, and icons. Includes smooth hover/tap animations
7
+ and full accessibility support.
8
+
9
+ @example
10
+ // Basic usage
11
+ <Button onClick={handleClick}>Click me</Button>
12
+
13
+ @example
14
+ // With variant and size
15
+ <Button variant="secondary" size="large">
16
+ Large Secondary Button
17
+ </Button>
18
+
19
+ @example
20
+ // With icons and loading state
21
+ <Button
22
+ variant="primary"
23
+ iconLeft={<Icon />}
24
+ loading={isLoading}
25
+ onClick={handleSubmit}
26
+ >
27
+ Submit Form
28
+ </Button>
29
+
30
+ @example
31
+ // Full width danger button
32
+ <Button variant="danger" fullWidth>
33
+ Delete Account
34
+ </Button>
35
+
36
+ @param {ButtonProps} props - The props for the Button component
37
+ @returns {JSX.Element} The rendered Button component`,methods:[],displayName:"Button",props:{variant:{required:!1,tsType:{name:"union",raw:"'primary' | 'secondary' | 'outline' | 'ghost' | 'danger'",elements:[{name:"literal",value:"'primary'"},{name:"literal",value:"'secondary'"},{name:"literal",value:"'outline'"},{name:"literal",value:"'ghost'"},{name:"literal",value:"'danger'"}]},description:"Visual style variant of the button",defaultValue:{value:"'primary'",computed:!1}},size:{required:!1,tsType:{name:"union",raw:"'small' | 'medium' | 'large'",elements:[{name:"literal",value:"'small'"},{name:"literal",value:"'medium'"},{name:"literal",value:"'large'"}]},description:"Size of the button",defaultValue:{value:"'medium'",computed:!1}},fullWidth:{required:!1,tsType:{name:"boolean"},description:"Whether the button should take full width of its container",defaultValue:{value:"false",computed:!1}},loading:{required:!1,tsType:{name:"boolean"},description:"Whether the button is in loading state (shows spinner, disabled interaction)",defaultValue:{value:"false",computed:!1}},iconLeft:{required:!1,tsType:{name:"ReactNode"},description:"Icon to display on the left side of the button text"},iconRight:{required:!1,tsType:{name:"ReactNode"},description:"Icon to display on the right side of the button text"},children:{required:!1,tsType:{name:"ReactNode"},description:"Button content (text, elements, etc.)"},motionProps:{required:!1,tsType:{name:"HTMLMotionProps",elements:[{name:"literal",value:'"button"'}],raw:'HTMLMotionProps<"button">'},description:"Additional Framer Motion props for custom animations"},className:{defaultValue:{value:"''",computed:!1},required:!1}},composes:["Omit"]};export{j as B};
@@ -0,0 +1,117 @@
1
+ import{j as e}from"./iframe-BUaP2gIF.js";import{B as r}from"./Button-VfdDKp2T.js";import{F as ce,a as le,b as de,c as ue}from"./index-5bdJXrkD.js";import"./preload-helper-C1FmrZbK.js";import"./proxy-9Y4F2rF8.js";const ve={title:"Atoms/Button",component:r,parameters:{layout:"centered",docs:{description:{component:"A versatile button component with multiple variants, sizes, and animation support."}}},tags:["autodocs"],argTypes:{variant:{control:"select",options:["primary","secondary","outline","ghost"],description:"The visual style variant of the button"},size:{control:"select",options:["small","medium","large"],description:"The size of the button"},fullWidth:{control:"boolean",description:"Whether the button should take full width of its container"},loading:{control:"boolean",description:"Shows loading spinner and disables the button"},disabled:{control:"boolean",description:"Disables the button"},onClick:{action:"clicked"}}},a={args:{children:"Click me",variant:"primary",size:"medium"}},t={args:{children:"Primary Button",variant:"primary"}},s={args:{children:"Secondary Button",variant:"secondary"}},n={args:{children:"Outline Button",variant:"outline"}},o={args:{children:"Ghost Button",variant:"ghost"}},i={args:{children:"Small Button",size:"small"}},c={args:{children:"Large Button",size:"large"}},l={args:{children:"Full Width Button",fullWidth:!0},parameters:{layout:"padded"}},d={args:{children:"Loading...",loading:!0}},u={args:{children:"Disabled Button",disabled:!0}},m={args:{children:"Save",iconLeft:e.jsx(ce,{})}},p={args:{children:"Next",iconRight:e.jsx(le,{})}},h={args:{children:"Add Item",iconLeft:e.jsx(de,{}),iconRight:e.jsx(le,{})}},g={args:{children:e.jsx(ue,{}),size:"small",variant:"ghost"}},y={render:()=>e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},children:[e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[e.jsx(r,{variant:"primary",children:"Primary"}),e.jsx(r,{variant:"secondary",children:"Secondary"}),e.jsx(r,{variant:"outline",children:"Outline"}),e.jsx(r,{variant:"ghost",children:"Ghost"})]}),e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[e.jsx(r,{size:"small",children:"Small"}),e.jsx(r,{size:"medium",children:"Medium"}),e.jsx(r,{size:"large",children:"Large"})]}),e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[e.jsx(r,{loading:!0,children:"Loading"}),e.jsx(r,{disabled:!0,children:"Disabled"}),e.jsx(r,{iconLeft:e.jsx(ce,{}),children:"With Icon"})]})]}),parameters:{controls:{disable:!0}}};var v,B,x;a.parameters={...a.parameters,docs:{...(v=a.parameters)==null?void 0:v.docs,source:{originalSource:`{
2
+ args: {
3
+ children: 'Click me',
4
+ variant: 'primary',
5
+ size: 'medium'
6
+ }
7
+ }`,...(x=(B=a.parameters)==null?void 0:B.docs)==null?void 0:x.source}}};var S,f,b;t.parameters={...t.parameters,docs:{...(S=t.parameters)==null?void 0:S.docs,source:{originalSource:`{
8
+ args: {
9
+ children: 'Primary Button',
10
+ variant: 'primary'
11
+ }
12
+ }`,...(b=(f=t.parameters)==null?void 0:f.docs)==null?void 0:b.source}}};var j,L,I;s.parameters={...s.parameters,docs:{...(j=s.parameters)==null?void 0:j.docs,source:{originalSource:`{
13
+ args: {
14
+ children: 'Secondary Button',
15
+ variant: 'secondary'
16
+ }
17
+ }`,...(I=(L=s.parameters)==null?void 0:L.docs)==null?void 0:I.source}}};var z,W,F;n.parameters={...n.parameters,docs:{...(z=n.parameters)==null?void 0:z.docs,source:{originalSource:`{
18
+ args: {
19
+ children: 'Outline Button',
20
+ variant: 'outline'
21
+ }
22
+ }`,...(F=(W=n.parameters)==null?void 0:W.docs)==null?void 0:F.source}}};var D,R,O;o.parameters={...o.parameters,docs:{...(D=o.parameters)==null?void 0:D.docs,source:{originalSource:`{
23
+ args: {
24
+ children: 'Ghost Button',
25
+ variant: 'ghost'
26
+ }
27
+ }`,...(O=(R=o.parameters)==null?void 0:R.docs)==null?void 0:O.source}}};var P,A,C;i.parameters={...i.parameters,docs:{...(P=i.parameters)==null?void 0:P.docs,source:{originalSource:`{
28
+ args: {
29
+ children: 'Small Button',
30
+ size: 'small'
31
+ }
32
+ }`,...(C=(A=i.parameters)==null?void 0:A.docs)==null?void 0:C.source}}};var G,k,T;c.parameters={...c.parameters,docs:{...(G=c.parameters)==null?void 0:G.docs,source:{originalSource:`{
33
+ args: {
34
+ children: 'Large Button',
35
+ size: 'large'
36
+ }
37
+ }`,...(T=(k=c.parameters)==null?void 0:k.docs)==null?void 0:T.source}}};var w,E,M;l.parameters={...l.parameters,docs:{...(w=l.parameters)==null?void 0:w.docs,source:{originalSource:`{
38
+ args: {
39
+ children: 'Full Width Button',
40
+ fullWidth: true
41
+ },
42
+ parameters: {
43
+ layout: 'padded'
44
+ }
45
+ }`,...(M=(E=l.parameters)==null?void 0:E.docs)==null?void 0:M.source}}};var N,V,_;d.parameters={...d.parameters,docs:{...(N=d.parameters)==null?void 0:N.docs,source:{originalSource:`{
46
+ args: {
47
+ children: 'Loading...',
48
+ loading: true
49
+ }
50
+ }`,...(_=(V=d.parameters)==null?void 0:V.docs)==null?void 0:_.source}}};var q,H,J;u.parameters={...u.parameters,docs:{...(q=u.parameters)==null?void 0:q.docs,source:{originalSource:`{
51
+ args: {
52
+ children: 'Disabled Button',
53
+ disabled: true
54
+ }
55
+ }`,...(J=(H=u.parameters)==null?void 0:H.docs)==null?void 0:J.source}}};var K,Q,U;m.parameters={...m.parameters,docs:{...(K=m.parameters)==null?void 0:K.docs,source:{originalSource:`{
56
+ args: {
57
+ children: 'Save',
58
+ iconLeft: <FiSave />
59
+ }
60
+ }`,...(U=(Q=m.parameters)==null?void 0:Q.docs)==null?void 0:U.source}}};var X,Y,Z;p.parameters={...p.parameters,docs:{...(X=p.parameters)==null?void 0:X.docs,source:{originalSource:`{
61
+ args: {
62
+ children: 'Next',
63
+ iconRight: <FiChevronRight />
64
+ }
65
+ }`,...(Z=(Y=p.parameters)==null?void 0:Y.docs)==null?void 0:Z.source}}};var $,ee,re;h.parameters={...h.parameters,docs:{...($=h.parameters)==null?void 0:$.docs,source:{originalSource:`{
66
+ args: {
67
+ children: 'Add Item',
68
+ iconLeft: <FiPlus />,
69
+ iconRight: <FiChevronRight />
70
+ }
71
+ }`,...(re=(ee=h.parameters)==null?void 0:ee.docs)==null?void 0:re.source}}};var ae,te,se;g.parameters={...g.parameters,docs:{...(ae=g.parameters)==null?void 0:ae.docs,source:{originalSource:`{
72
+ args: {
73
+ children: <FiTrash2 />,
74
+ size: 'small',
75
+ variant: 'ghost'
76
+ }
77
+ }`,...(se=(te=g.parameters)==null?void 0:te.docs)==null?void 0:se.source}}};var ne,oe,ie;y.parameters={...y.parameters,docs:{...(ne=y.parameters)==null?void 0:ne.docs,source:{originalSource:`{
78
+ render: () => <div style={{
79
+ display: 'flex',
80
+ flexDirection: 'column',
81
+ gap: '1rem'
82
+ }}>
83
+ <div style={{
84
+ display: 'flex',
85
+ gap: '1rem',
86
+ alignItems: 'center'
87
+ }}>
88
+ <Button variant="primary">Primary</Button>
89
+ <Button variant="secondary">Secondary</Button>
90
+ <Button variant="outline">Outline</Button>
91
+ <Button variant="ghost">Ghost</Button>
92
+ </div>
93
+ <div style={{
94
+ display: 'flex',
95
+ gap: '1rem',
96
+ alignItems: 'center'
97
+ }}>
98
+ <Button size="small">Small</Button>
99
+ <Button size="medium">Medium</Button>
100
+ <Button size="large">Large</Button>
101
+ </div>
102
+ <div style={{
103
+ display: 'flex',
104
+ gap: '1rem',
105
+ alignItems: 'center'
106
+ }}>
107
+ <Button loading>Loading</Button>
108
+ <Button disabled>Disabled</Button>
109
+ <Button iconLeft={<FiSave />}>With Icon</Button>
110
+ </div>
111
+ </div>,
112
+ parameters: {
113
+ controls: {
114
+ disable: true
115
+ }
116
+ }
117
+ }`,...(ie=(oe=y.parameters)==null?void 0:oe.docs)==null?void 0:ie.source}}};const Be=["Default","Primary","Secondary","Outline","Ghost","Small","Large","FullWidth","Loading","Disabled","WithIconLeft","WithIconRight","WithBothIcons","IconOnly","AllVariants"];export{y as AllVariants,a as Default,u as Disabled,l as FullWidth,o as Ghost,g as IconOnly,c as Large,d as Loading,n as Outline,t as Primary,s as Secondary,i as Small,h as WithBothIcons,m as WithIconLeft,p as WithIconRight,Be as __namedExportsOrder,ve as default};
@@ -0,0 +1 @@
1
+ ._calendar_1k9gq_2{background:var(--color-background);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);font-family:var(--font-primary);color:var(--color-text);width:100%;max-width:100%}._loading_1k9gq_14{display:flex;align-items:center;justify-content:center;min-height:400px}._loadingSpinner_1k9gq_21{color:var(--color-text-secondary);font-size:var(--font-size-lg)}._header_1k9gq_27{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}._navigation_1k9gq_35{display:flex;align-items:center;gap:var(--spacing-md)}._navButton_1k9gq_41{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text);cursor:pointer;transition:all .2s ease}._navButton_1k9gq_41:hover{background:var(--color-background-secondary);border-color:var(--color-border-hover)}._title_1k9gq_60{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin:0;text-transform:capitalize;min-width:200px;text-align:center}._controls_1k9gq_70{display:flex;align-items:center;gap:var(--spacing-md)}._todayButton_1k9gq_76{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-primary);font-weight:500;cursor:pointer;transition:all .2s ease}._todayButton_1k9gq_76:hover{background:var(--color-primary);color:var(--color-text-inverse)}._viewToggle_1k9gq_92{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}._viewButton_1k9gq_99{padding:var(--spacing-sm) var(--spacing-md);border:none;background:var(--color-background);color:var(--color-text);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-sm)}._viewButton_1k9gq_99:hover{background:var(--color-background-secondary)}._viewButton_1k9gq_99._active_1k9gq_113{background:var(--color-primary);color:var(--color-text-inverse)}._viewButton_1k9gq_99+._viewButton_1k9gq_99{border-left:1px solid var(--color-border)}._weekDays_1k9gq_123{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}._weekDays_1k9gq_123._withWeekNumbers_1k9gq_130{grid-template-columns:40px repeat(7,1fr)}._weekNumberHeader_1k9gq_134,._weekDay_1k9gq_123{text-align:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);padding:var(--spacing-sm) 0}._daysGrid_1k9gq_151{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs)}._daysGrid_1k9gq_151._withWeekNumbers_1k9gq_130{grid-template-columns:40px repeat(7,1fr)}._weekView_1k9gq_161{grid-template-rows:repeat(1,minmax(300px,1fr))}._weekView_1k9gq_161 ._dayCell_1k9gq_165{min-height:300px;display:flex;flex-direction:column;border-left:1px solid var(--color-border);position:relative}._weekView_1k9gq_161 ._dayCell_1k9gq_165:first-child{border-left:none}._weekView_1k9gq_161 ._dayCell_1k9gq_165:before{content:"";position:absolute;top:60px;left:0;right:0;height:1px;background:repeating-linear-gradient(to right,var(--color-border) 0px,var(--color-border) 1px,transparent 1px,transparent 20px);opacity:.3}._weekView_1k9gq_161 ._dayNumber_1k9gq_194{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--spacing-sm);text-align:center;padding:var(--spacing-sm);border-bottom:2px solid var(--color-border);background:var(--color-background-secondary);position:sticky;top:0;z-index:2}._weekView_1k9gq_161 ._dayCell_1k9gq_165._today_1k9gq_76 ._dayNumber_1k9gq_194{background:var(--color-primary);color:var(--color-text-inverse);border-bottom-color:var(--color-primary)}._weekView_1k9gq_161 ._events_1k9gq_213{flex:1;padding:var(--spacing-sm);gap:var(--spacing-xs);position:relative}._weekView_1k9gq_161 ._event_1k9gq_213{padding:var(--spacing-sm);font-size:var(--font-size-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:3px solid rgba(0,0,0,.2);margin-bottom:var(--spacing-xs);position:relative}._weekView_1k9gq_161 ._event_1k9gq_213:hover{box-shadow:var(--shadow-md);transform:translate(2px)}._weekView_1k9gq_161 ._eventTitle_1k9gq_235{font-weight:600;line-height:1.2}._weekView_1k9gq_161 ._eventTime_1k9gq_240{font-size:var(--font-size-xs);font-weight:700;background:#ffffffe6;color:var(--color-text);padding:2px 6px;border-radius:var(--radius-sm);margin-right:var(--spacing-xs);border:1px solid rgba(0,0,0,.1);display:inline-block}._dayCell_1k9gq_165{min-height:100px;padding:var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);position:relative;overflow:hidden;cursor:pointer}._dayCell_1k9gq_165:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}._dayCell_1k9gq_165._today_1k9gq_76{background:var(--color-primary-light);border-color:var(--color-primary)}._dayCell_1k9gq_165._today_1k9gq_76 ._dayNumber_1k9gq_194{color:var(--color-primary);font-weight:700}._dayCell_1k9gq_165._otherMonth_1k9gq_280{background:var(--color-background-tertiary);opacity:.5}._weekNumber_1k9gq_134{position:absolute;top:2px;left:2px;font-size:10px;color:var(--color-text-tertiary);background:var(--color-background-secondary);padding:2px 4px;border-radius:var(--radius-xs)}._dayNumber_1k9gq_194{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-xs)}._events_1k9gq_213{display:flex;flex-direction:column;gap:2px}._event_1k9gq_213{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--radius-xs);color:var(--color-text-inverse);font-size:11px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3}._event_1k9gq_213._completed_1k9gq_330{opacity:.7;text-decoration:line-through}._eventTitle_1k9gq_235{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}._eventTime_1k9gq_240{font-weight:600;margin-right:4px;font-size:10px}._completedIcon_1k9gq_351{width:12px;height:12px;flex-shrink:0;stroke-width:2}._moreEvents_1k9gq_358{padding:2px 6px;background:var(--color-background-secondary);color:var(--color-text-secondary);font-size:10px;text-align:center;border-radius:var(--radius-xs);margin-top:2px}._emptyState_1k9gq_368{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}@media (max-width: 768px){._calendar_1k9gq_2{padding:var(--spacing-md);border-radius:var(--radius-md)}._header_1k9gq_27{flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}._navigation_1k9gq_35{order:2;width:100%;justify-content:center}._controls_1k9gq_70{order:1;width:100%;justify-content:center;flex-wrap:wrap}._navButton_1k9gq_41{width:32px;height:32px}._title_1k9gq_60{font-size:var(--font-size-lg);min-width:auto}._todayButton_1k9gq_76{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}._viewButton_1k9gq_99{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}._weekDays_1k9gq_123{gap:1px;margin-bottom:var(--spacing-sm)}._weekDay_1k9gq_123{font-size:11px;padding:var(--spacing-xs) 0}._daysGrid_1k9gq_151{gap:1px}._dayCell_1k9gq_165{min-height:70px;padding:4px}._weekView_1k9gq_161 ._dayCell_1k9gq_165{min-height:180px}._weekView_1k9gq_161 ._dayNumber_1k9gq_194{font-size:var(--font-size-md);padding:var(--spacing-xs);margin-bottom:var(--spacing-xs)}._weekView_1k9gq_161 ._events_1k9gq_213{gap:2px;padding:4px}._weekView_1k9gq_161 ._event_1k9gq_213{padding:4px 6px;font-size:10px}._weekView_1k9gq_161 ._eventTime_1k9gq_240{font-size:8px;padding:1px 3px}._dayNumber_1k9gq_194{font-size:12px;margin-bottom:2px;font-weight:600}._events_1k9gq_213{gap:1px}._event_1k9gq_213{font-size:9px;padding:1px 4px;border-radius:2px}._eventTime_1k9gq_240{font-size:8px;margin-right:2px}._moreEvents_1k9gq_358{font-size:8px;padding:1px 4px}._completedIcon_1k9gq_351{width:10px;height:10px}._weekNumber_1k9gq_134{font-size:8px;padding:1px 3px}}@media (max-width: 480px){._calendar_1k9gq_2{padding:var(--spacing-sm);border-radius:var(--radius-sm)}._header_1k9gq_27{gap:var(--spacing-xs)}._navButton_1k9gq_41{width:28px;height:28px}._title_1k9gq_60{font-size:var(--font-size-md)}._todayButton_1k9gq_76{padding:var(--spacing-xs);font-size:11px}._viewButton_1k9gq_99{padding:var(--spacing-xs);font-size:10px}._weekDay_1k9gq_123{font-size:10px;padding:4px 0}._dayCell_1k9gq_165{min-height:60px;padding:2px}._weekView_1k9gq_161 ._dayCell_1k9gq_165{min-height:100px}._dayNumber_1k9gq_194{font-size:11px;margin-bottom:1px}._event_1k9gq_213{font-size:8px;padding:1px 2px}._eventTime_1k9gq_240{font-size:7px;margin-right:1px}._moreEvents_1k9gq_358{font-size:7px;padding:1px 2px}._completedIcon_1k9gq_351{width:8px;height:8px}}@media (prefers-color-scheme: dark){._calendar_1k9gq_2{box-shadow:var(--shadow-dark-md)}._event_1k9gq_213{box-shadow:none}._event_1k9gq_213:hover{box-shadow:var(--shadow-dark-sm)}}@media (prefers-contrast: high){._dayCell_1k9gq_165{border-width:2px}._dayCell_1k9gq_165._today_1k9gq_76{border-width:3px}._event_1k9gq_213{border:1px solid var(--color-text-inverse)}}@media (prefers-reduced-motion: reduce){._calendar_1k9gq_2 *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}