@nlabs/gothamui 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION.md +36 -0
  3. package/README.md +768 -0
  4. package/docs/assets/gothamui-app-architecture.svg +159 -0
  5. package/docs/assets/gothamui-logo.png +0 -0
  6. package/docs/assets/gothamui-logo.svg +42 -0
  7. package/docs/render-performance.md +34 -0
  8. package/lib/actions/GothamActions.d.ts +42 -0
  9. package/lib/actions/GothamActions.js +67 -0
  10. package/lib/actions/MarkdownActions.d.ts +4 -0
  11. package/lib/actions/MarkdownActions.js +48 -0
  12. package/lib/app.d.ts +1 -0
  13. package/lib/app.js +198 -0
  14. package/lib/components/Alert/Alert.d.ts +8 -0
  15. package/lib/components/Alert/Alert.js +24 -0
  16. package/lib/components/Alert/Alert.stories.js +59 -0
  17. package/lib/components/AuthRoute/AuthRoute.d.ts +3 -0
  18. package/lib/components/AuthRoute/AuthRoute.js +21 -0
  19. package/lib/components/AuthRoute/AuthRoute.stories.js +45 -0
  20. package/lib/components/AutocompleteField/AutocompleteField.d.ts +24 -0
  21. package/lib/components/AutocompleteField/AutocompleteField.js +148 -0
  22. package/lib/components/AutocompleteField/AutocompleteField.stories.js +62 -0
  23. package/lib/components/Avatar/Avatar.d.ts +29 -0
  24. package/lib/components/Avatar/Avatar.js +154 -0
  25. package/lib/components/Avatar/Avatar.stories.js +105 -0
  26. package/lib/components/Badge/Badge.d.ts +9 -0
  27. package/lib/components/Badge/Badge.js +22 -0
  28. package/lib/components/Badge/Badge.stories.js +53 -0
  29. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +19 -0
  30. package/lib/components/Breadcrumbs/Breadcrumbs.js +74 -0
  31. package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +95 -0
  32. package/lib/components/Button/Button.d.ts +25 -0
  33. package/lib/components/Button/Button.js +157 -0
  34. package/lib/components/Button/Button.stories.js +119 -0
  35. package/lib/components/Card/Card.d.ts +8 -0
  36. package/lib/components/Card/Card.js +39 -0
  37. package/lib/components/Card/Card.stories.js +60 -0
  38. package/lib/components/CategoryGrid/CategoryGrid.d.ts +15 -0
  39. package/lib/components/CategoryGrid/CategoryGrid.js +42 -0
  40. package/lib/components/CategoryGrid/CategoryGrid.stories.js +35 -0
  41. package/lib/components/Chat/AudioMessage/AudioMessage.css +1 -0
  42. package/lib/components/Chat/AudioMessage/AudioMessage.d.ts +3 -0
  43. package/lib/components/Chat/AudioMessage/AudioMessage.js +28 -0
  44. package/lib/components/Chat/Avatar/Avatar.css +1 -0
  45. package/lib/components/Chat/Avatar/Avatar.d.ts +3 -0
  46. package/lib/components/Chat/Avatar/Avatar.js +72 -0
  47. package/lib/components/Chat/Button/Button.css +1 -0
  48. package/lib/components/Chat/Button/Button.d.ts +3 -0
  49. package/lib/components/Chat/Button/Button.js +37 -0
  50. package/lib/components/Chat/Chat.stories.js +688 -0
  51. package/lib/components/Chat/ChatItem/ChatItem.css +1 -0
  52. package/lib/components/Chat/ChatItem/ChatItem.d.ts +3 -0
  53. package/lib/components/Chat/ChatItem/ChatItem.js +183 -0
  54. package/lib/components/Chat/ChatList/ChatList.css +1 -0
  55. package/lib/components/Chat/ChatList/ChatList.d.ts +3 -0
  56. package/lib/components/Chat/ChatList/ChatList.js +84 -0
  57. package/lib/components/Chat/Circle/Circle.d.ts +3 -0
  58. package/lib/components/Chat/Circle/Circle.js +27 -0
  59. package/lib/components/Chat/Dropdown/Dropdown.css +1 -0
  60. package/lib/components/Chat/Dropdown/Dropdown.d.ts +3 -0
  61. package/lib/components/Chat/Dropdown/Dropdown.js +66 -0
  62. package/lib/components/Chat/FileMessage/FileMessage.css +1 -0
  63. package/lib/components/Chat/FileMessage/FileMessage.d.ts +3 -0
  64. package/lib/components/Chat/FileMessage/FileMessage.js +77 -0
  65. package/lib/components/Chat/Input/Input.css +1 -0
  66. package/lib/components/Chat/Input/Input.d.ts +3 -0
  67. package/lib/components/Chat/Input/Input.js +108 -0
  68. package/lib/components/Chat/LocationMessage/LocationMessage.css +1 -0
  69. package/lib/components/Chat/LocationMessage/LocationMessage.d.ts +3 -0
  70. package/lib/components/Chat/LocationMessage/LocationMessage.js +36 -0
  71. package/lib/components/Chat/MeetingItem/MeetingItem.css +1 -0
  72. package/lib/components/Chat/MeetingItem/MeetingItem.d.ts +3 -0
  73. package/lib/components/Chat/MeetingItem/MeetingItem.js +106 -0
  74. package/lib/components/Chat/MeetingLink/MeetingLink.css +1 -0
  75. package/lib/components/Chat/MeetingLink/MeetingLink.d.ts +3 -0
  76. package/lib/components/Chat/MeetingLink/MeetingLink.js +26 -0
  77. package/lib/components/Chat/MeetingList/MeetingList.css +1 -0
  78. package/lib/components/Chat/MeetingList/MeetingList.d.ts +3 -0
  79. package/lib/components/Chat/MeetingList/MeetingList.js +52 -0
  80. package/lib/components/Chat/MeetingMessage/MeetingMessage.css +1 -0
  81. package/lib/components/Chat/MeetingMessage/MeetingMessage.d.ts +3 -0
  82. package/lib/components/Chat/MeetingMessage/MeetingMessage.js +227 -0
  83. package/lib/components/Chat/MessageBox/MessageBox.css +1 -0
  84. package/lib/components/Chat/MessageBox/MessageBox.d.ts +3 -0
  85. package/lib/components/Chat/MessageBox/MessageBox.js +263 -0
  86. package/lib/components/Chat/MessageList/MessageList.css +1 -0
  87. package/lib/components/Chat/MessageList/MessageList.d.ts +2 -0
  88. package/lib/components/Chat/MessageList/MessageList.js +196 -0
  89. package/lib/components/Chat/Navbar/Navbar.css +1 -0
  90. package/lib/components/Chat/Navbar/Navbar.d.ts +3 -0
  91. package/lib/components/Chat/Navbar/Navbar.js +21 -0
  92. package/lib/components/Chat/PhotoMessage/PhotoMessage.css +1 -0
  93. package/lib/components/Chat/PhotoMessage/PhotoMessage.d.ts +3 -0
  94. package/lib/components/Chat/PhotoMessage/PhotoMessage.js +73 -0
  95. package/lib/components/Chat/Popup/Popup.css +1 -0
  96. package/lib/components/Chat/Popup/Popup.d.ts +3 -0
  97. package/lib/components/Chat/Popup/Popup.js +45 -0
  98. package/lib/components/Chat/README.md +50 -0
  99. package/lib/components/Chat/ReplyMessage/ReplyMessage.css +1 -0
  100. package/lib/components/Chat/ReplyMessage/ReplyMessage.d.ts +3 -0
  101. package/lib/components/Chat/ReplyMessage/ReplyMessage.js +42 -0
  102. package/lib/components/Chat/SideBar/SideBar.css +1 -0
  103. package/lib/components/Chat/SideBar/SideBar.d.ts +3 -0
  104. package/lib/components/Chat/SideBar/SideBar.js +21 -0
  105. package/lib/components/Chat/SpotifyMessage/SpotifyMessage.css +1 -0
  106. package/lib/components/Chat/SpotifyMessage/SpotifyMessage.d.ts +3 -0
  107. package/lib/components/Chat/SpotifyMessage/SpotifyMessage.js +28 -0
  108. package/lib/components/Chat/SystemMessage/SystemMessage.css +1 -0
  109. package/lib/components/Chat/SystemMessage/SystemMessage.d.ts +3 -0
  110. package/lib/components/Chat/SystemMessage/SystemMessage.js +14 -0
  111. package/lib/components/Chat/VideoMessage/VideoMessage.css +1 -0
  112. package/lib/components/Chat/VideoMessage/VideoMessage.d.ts +3 -0
  113. package/lib/components/Chat/VideoMessage/VideoMessage.js +88 -0
  114. package/lib/components/Chat/assets/img/leftArrow.svg +6 -0
  115. package/lib/components/Chat/assets/img/rightArrow.svg +6 -0
  116. package/lib/components/Chat/index.d.ts +25 -0
  117. package/lib/components/Chat/index.js +27 -0
  118. package/lib/components/Chat/type.d.js +52 -0
  119. package/lib/components/Chat/utils/formatRelativeDate.d.ts +4 -0
  120. package/lib/components/Chat/utils/formatRelativeDate.js +110 -0
  121. package/lib/components/Checkbox/Checkbox.d.ts +15 -0
  122. package/lib/components/Checkbox/Checkbox.js +106 -0
  123. package/lib/components/Checkbox/Checkbox.stories.js +51 -0
  124. package/lib/components/ComponentUtils/renderWithAsChild.d.ts +9 -0
  125. package/lib/components/ComponentUtils/renderWithAsChild.js +27 -0
  126. package/lib/components/Container/Container.d.ts +7 -0
  127. package/lib/components/Container/Container.js +16 -0
  128. package/lib/components/Container/Container.stories.js +36 -0
  129. package/lib/components/DateField/DateField.d.ts +22 -0
  130. package/lib/components/DateField/DateField.js +145 -0
  131. package/lib/components/DateField/DateField.stories.js +125 -0
  132. package/lib/components/DateField/DatePicker.d.ts +9 -0
  133. package/lib/components/DateField/DatePicker.js +205 -0
  134. package/lib/components/DateField/DatePicker.stories.js +33 -0
  135. package/lib/components/DescriptionList/DescriptionList.d.ts +4 -0
  136. package/lib/components/DescriptionList/DescriptionList.js +19 -0
  137. package/lib/components/DescriptionList/DescriptionList.stories.js +34 -0
  138. package/lib/components/Dialog/Dialog.d.ts +25 -0
  139. package/lib/components/Dialog/Dialog.js +66 -0
  140. package/lib/components/Dialog/Dialog.stories.js +88 -0
  141. package/lib/components/DropUpload/DropUpload.d.ts +37 -0
  142. package/lib/components/DropUpload/DropUpload.js +323 -0
  143. package/lib/components/DropUpload/DropUpload.stories.js +48 -0
  144. package/lib/components/Empty/Empty.d.ts +11 -0
  145. package/lib/components/Empty/Empty.js +39 -0
  146. package/lib/components/Empty/Empty.stories.js +52 -0
  147. package/lib/components/EmptyState/EmptyState.d.ts +15 -0
  148. package/lib/components/EmptyState/EmptyState.js +44 -0
  149. package/lib/components/EmptyState/EmptyState.stories.js +36 -0
  150. package/lib/components/ErrorMessage/ErrorMessage.d.ts +7 -0
  151. package/lib/components/ErrorMessage/ErrorMessage.js +20 -0
  152. package/lib/components/ErrorMessage/ErrorMessage.stories.js +25 -0
  153. package/lib/components/FaqSection/FaqSection.d.ts +14 -0
  154. package/lib/components/FaqSection/FaqSection.js +37 -0
  155. package/lib/components/FaqSection/FaqSection.stories.js +31 -0
  156. package/lib/components/Fieldset/Fieldset.d.ts +21 -0
  157. package/lib/components/Fieldset/Fieldset.js +39 -0
  158. package/lib/components/Fieldset/Fieldset.stories.js +42 -0
  159. package/lib/components/Footer/Footer.d.ts +26 -0
  160. package/lib/components/Footer/Footer.js +119 -0
  161. package/lib/components/Footer/Footer.stories.js +184 -0
  162. package/lib/components/Form/Form.d.ts +42 -0
  163. package/lib/components/Form/Form.js +198 -0
  164. package/lib/components/Form/Form.stories.js +65 -0
  165. package/lib/components/Form/FormContext.d.ts +35 -0
  166. package/lib/components/Form/FormContext.js +71 -0
  167. package/lib/components/GothamRoute/GothamRoute.d.ts +0 -0
  168. package/lib/components/GothamRoute/GothamRoute.js +56 -0
  169. package/lib/components/GothamRouter/GothamRouter.d.ts +0 -0
  170. package/lib/components/GothamRouter/GothamRouter.js +52 -0
  171. package/lib/components/Heading/Heading.d.ts +7 -0
  172. package/lib/components/Heading/Heading.js +20 -0
  173. package/lib/components/Heading/Heading.stories.js +51 -0
  174. package/lib/components/IncentiveGrid/IncentiveGrid.d.ts +15 -0
  175. package/lib/components/IncentiveGrid/IncentiveGrid.js +34 -0
  176. package/lib/components/IncentiveGrid/IncentiveGrid.stories.js +41 -0
  177. package/lib/components/InputField/InputField.d.ts +25 -0
  178. package/lib/components/InputField/InputField.js +68 -0
  179. package/lib/components/InputField/InputField.stories.js +58 -0
  180. package/lib/components/Item/Item.d.ts +25 -0
  181. package/lib/components/Item/Item.js +79 -0
  182. package/lib/components/Item/Item.stories.js +94 -0
  183. package/lib/components/Kbd/Kbd.d.ts +2 -0
  184. package/lib/components/Kbd/Kbd.js +9 -0
  185. package/lib/components/Kbd/Kbd.stories.js +24 -0
  186. package/lib/components/Label/Label.d.ts +11 -0
  187. package/lib/components/Label/Label.js +23 -0
  188. package/lib/components/Label/Label.stories.js +38 -0
  189. package/lib/components/Link/Link.d.ts +7 -0
  190. package/lib/components/Link/Link.js +13 -0
  191. package/lib/components/Link/Link.stories.js +28 -0
  192. package/lib/components/ListContainer/ListContainer.d.ts +8 -0
  193. package/lib/components/ListContainer/ListContainer.js +14 -0
  194. package/lib/components/ListContainer/ListContainer.stories.js +45 -0
  195. package/lib/components/Loader/Loader.d.ts +9 -0
  196. package/lib/components/Loader/Loader.js +36 -0
  197. package/lib/components/Loader/Loader.stories.js +94 -0
  198. package/lib/components/LogoCloud/LogoCloud.d.ts +15 -0
  199. package/lib/components/LogoCloud/LogoCloud.js +43 -0
  200. package/lib/components/LogoCloud/LogoCloud.stories.js +28 -0
  201. package/lib/components/Markdown/Markdown.d.ts +8 -0
  202. package/lib/components/Markdown/Markdown.js +64 -0
  203. package/lib/components/Markdown/Markdown.stories.js +34 -0
  204. package/lib/components/MediaLightbox/MediaLightbox.d.ts +22 -0
  205. package/lib/components/MediaLightbox/MediaLightbox.js +80 -0
  206. package/lib/components/MediaObject/MediaObject.d.ts +8 -0
  207. package/lib/components/MediaObject/MediaObject.js +37 -0
  208. package/lib/components/MediaObject/MediaObject.stories.js +28 -0
  209. package/lib/components/Navbar/Navbar.d.ts +43 -0
  210. package/lib/components/Navbar/Navbar.js +213 -0
  211. package/lib/components/Navbar/Navbar.stories.js +235 -0
  212. package/lib/components/NotFound/NotFound.d.ts +34 -0
  213. package/lib/components/NotFound/NotFound.js +351 -0
  214. package/lib/components/NotFound/NotFound.stories.js +80 -0
  215. package/lib/components/Notify/Notify.d.ts +18 -0
  216. package/lib/components/Notify/Notify.js +178 -0
  217. package/lib/components/Notify/Notify.stories.js +148 -0
  218. package/lib/components/Notify/NotifyExample.d.ts +1 -0
  219. package/lib/components/Notify/NotifyExample.js +174 -0
  220. package/lib/components/Notify/README.md +103 -0
  221. package/lib/components/Pagination/Pagination.d.ts +18 -0
  222. package/lib/components/Pagination/Pagination.js +225 -0
  223. package/lib/components/Pagination/Pagination.stories.js +69 -0
  224. package/lib/components/PasswordStrengthMeter/PasswordStrengthMeter.d.ts +12 -0
  225. package/lib/components/PasswordStrengthMeter/PasswordStrengthMeter.js +88 -0
  226. package/lib/components/PasswordStrengthMeter/PasswordStrengthMeter.stories.js +16 -0
  227. package/lib/components/PaymentMethodPanel/PaymentMethodPanel.d.ts +18 -0
  228. package/lib/components/PaymentMethodPanel/PaymentMethodPanel.js +113 -0
  229. package/lib/components/PaymentMethodPanel/PaymentMethodPanel.stories.js +88 -0
  230. package/lib/components/Pricing/Pricing.d.ts +78 -0
  231. package/lib/components/Pricing/Pricing.js +764 -0
  232. package/lib/components/Pricing/Pricing.stories.js +146 -0
  233. package/lib/components/ProductGrid/ProductGrid.d.ts +23 -0
  234. package/lib/components/ProductGrid/ProductGrid.js +79 -0
  235. package/lib/components/ProductGrid/ProductGrid.stories.js +50 -0
  236. package/lib/components/ProgressSteps/ProgressSteps.d.ts +13 -0
  237. package/lib/components/ProgressSteps/ProgressSteps.js +51 -0
  238. package/lib/components/ProgressSteps/ProgressSteps.stories.js +35 -0
  239. package/lib/components/RadioField/RadioField.d.ts +16 -0
  240. package/lib/components/RadioField/RadioField.js +63 -0
  241. package/lib/components/RadioField/RadioField.stories.js +140 -0
  242. package/lib/components/ReviewList/ReviewList.d.ts +15 -0
  243. package/lib/components/ReviewList/ReviewList.js +51 -0
  244. package/lib/components/ReviewList/ReviewList.stories.js +29 -0
  245. package/lib/components/SectionHeader/SectionHeader.d.ts +9 -0
  246. package/lib/components/SectionHeader/SectionHeader.js +36 -0
  247. package/lib/components/SectionHeader/SectionHeader.stories.js +35 -0
  248. package/lib/components/SelectField/SelectField.d.ts +18 -0
  249. package/lib/components/SelectField/SelectField.js +145 -0
  250. package/lib/components/SelectField/SelectField.stories.js +155 -0
  251. package/lib/components/SelectField/SelectOption.d.ts +13 -0
  252. package/lib/components/SelectField/SelectOption.js +40 -0
  253. package/lib/components/SelectField/SelectOption.stories.js +40 -0
  254. package/lib/components/Separator/Separator.d.ts +6 -0
  255. package/lib/components/Separator/Separator.js +13 -0
  256. package/lib/components/Separator/Separator.stories.js +70 -0
  257. package/lib/components/Skeleton/Skeleton.d.ts +2 -0
  258. package/lib/components/Skeleton/Skeleton.js +9 -0
  259. package/lib/components/Skeleton/Skeleton.stories.js +24 -0
  260. package/lib/components/Svg/Svg.d.ts +9 -0
  261. package/lib/components/Svg/Svg.js +25 -0
  262. package/lib/components/Svg/Svg.stories.js +34 -0
  263. package/lib/components/Switch/Switch.d.ts +12 -0
  264. package/lib/components/Switch/Switch.js +54 -0
  265. package/lib/components/Switch/Switch.stories.js +61 -0
  266. package/lib/components/Table/Table.d.ts +18 -0
  267. package/lib/components/Table/Table.js +99 -0
  268. package/lib/components/Table/Table.stories.js +79 -0
  269. package/lib/components/Tabs/Tabs.d.ts +17 -0
  270. package/lib/components/Tabs/Tabs.js +85 -0
  271. package/lib/components/Tabs/Tabs.stories.js +45 -0
  272. package/lib/components/Text/Text.d.ts +5 -0
  273. package/lib/components/Text/Text.js +24 -0
  274. package/lib/components/Text/Text.stories.js +35 -0
  275. package/lib/components/TextField/TextField.d.ts +31 -0
  276. package/lib/components/TextField/TextField.js +91 -0
  277. package/lib/components/TextField/TextField.stories.js +158 -0
  278. package/lib/components/Textarea/Textarea.d.ts +5 -0
  279. package/lib/components/Textarea/Textarea.js +10 -0
  280. package/lib/components/Textarea/Textarea.stories.js +32 -0
  281. package/lib/components/index.d.ts +60 -0
  282. package/lib/components/index.js +62 -0
  283. package/lib/config/appConfig.d.ts +5 -0
  284. package/lib/config/appConfig.js +20 -0
  285. package/lib/constants/AuthConstants.d.ts +8 -0
  286. package/lib/constants/AuthConstants.js +9 -0
  287. package/lib/constants/GothamConstants.d.ts +24 -0
  288. package/lib/constants/GothamConstants.js +25 -0
  289. package/lib/constants/MarkdownConstants.d.ts +8 -0
  290. package/lib/constants/MarkdownConstants.js +9 -0
  291. package/lib/constants/MessageConstants.d.ts +10 -0
  292. package/lib/constants/MessageConstants.js +11 -0
  293. package/lib/docs/analytics.md +231 -0
  294. package/lib/docs/api-reference.md +364 -0
  295. package/lib/docs/comparison.md +83 -0
  296. package/lib/docs/containers.md +11 -0
  297. package/lib/docs/gettingStarted.md +338 -0
  298. package/lib/docs/payments.md +79 -0
  299. package/lib/editor/CodeEditor.d.ts +11 -0
  300. package/lib/editor/CodeEditor.js +15 -0
  301. package/lib/editor/CodeEditor.stories.js +24 -0
  302. package/lib/editor/index.d.ts +1 -0
  303. package/lib/editor/index.js +3 -0
  304. package/lib/errors/UserError.d.ts +8 -0
  305. package/lib/errors/UserError.js +12 -0
  306. package/lib/examples/OptimizedFormExample.d.ts +1 -0
  307. package/lib/examples/OptimizedFormExample.js +130 -0
  308. package/lib/form/index.d.ts +11 -0
  309. package/lib/form/index.js +13 -0
  310. package/lib/hooks/useIsMobile.d.ts +1 -0
  311. package/lib/hooks/useIsMobile.js +12 -0
  312. package/lib/i18n/index.d.ts +8 -0
  313. package/lib/i18n/index.js +7 -0
  314. package/lib/icons/Dual Ring-1s-100px.svg +1 -0
  315. package/lib/icons/gotham-logo.svg +17 -0
  316. package/lib/icons/gotham.svg +8 -0
  317. package/lib/icons/index.d.ts +5 -0
  318. package/lib/icons/index.js +6 -0
  319. package/lib/icons/pencil.svg +6 -0
  320. package/lib/img/arkhamjs-logo.png +0 -0
  321. package/lib/img/logo.png +0 -0
  322. package/lib/index.d.ts +25 -0
  323. package/lib/index.js +25 -0
  324. package/lib/router/index.d.ts +5 -0
  325. package/lib/router/index.js +6 -0
  326. package/lib/stores/GothamAppStore.d.ts +35 -0
  327. package/lib/stores/GothamAppStore.js +70 -0
  328. package/lib/stories/Button.d.ts +28 -0
  329. package/lib/stories/Button.js +22 -0
  330. package/lib/stories/Header.d.ts +12 -0
  331. package/lib/stories/Header.js +78 -0
  332. package/lib/stories/Page.d.ts +3 -0
  333. package/lib/stories/Page.js +108 -0
  334. package/lib/stories/assets/accessibility.png +0 -0
  335. package/lib/stories/assets/accessibility.svg +5 -0
  336. package/lib/stories/assets/addon-library.png +0 -0
  337. package/lib/stories/assets/assets.png +0 -0
  338. package/lib/stories/assets/context.png +0 -0
  339. package/lib/stories/assets/discord.svg +15 -0
  340. package/lib/stories/assets/docs.png +0 -0
  341. package/lib/stories/assets/figma-plugin.png +0 -0
  342. package/lib/stories/assets/github.svg +3 -0
  343. package/lib/stories/assets/share.png +0 -0
  344. package/lib/stories/assets/styling.png +0 -0
  345. package/lib/stories/assets/testing.png +0 -0
  346. package/lib/stories/assets/theming.png +0 -0
  347. package/lib/stories/assets/tutorials.svg +12 -0
  348. package/lib/stories/assets/youtube.svg +4 -0
  349. package/lib/stories/button.css +1 -0
  350. package/lib/stories/header.css +1 -0
  351. package/lib/stories/page.css +1 -0
  352. package/lib/styles/chat.css +1 -0
  353. package/lib/styles/index.css +2 -0
  354. package/lib/styles/tailwind.css +1 -0
  355. package/lib/types/assets.d.js +2 -0
  356. package/lib/types/gotham.d.ts +12 -0
  357. package/lib/types/gotham.js +3 -0
  358. package/lib/types/vitest-globals.d.js +3 -0
  359. package/lib/utils/GothamContext.d.ts +14 -0
  360. package/lib/utils/GothamContext.js +14 -0
  361. package/lib/utils/awsRum.d.ts +23 -0
  362. package/lib/utils/awsRum.js +50 -0
  363. package/lib/utils/colorUtils.d.ts +20 -0
  364. package/lib/utils/colorUtils.js +499 -0
  365. package/lib/utils/contentUtils.d.ts +2 -0
  366. package/lib/utils/contentUtils.js +18 -0
  367. package/lib/utils/i18nUtil.d.ts +1 -0
  368. package/lib/utils/i18nUtil.js +7 -0
  369. package/lib/utils/imageUtils.d.ts +5 -0
  370. package/lib/utils/imageUtils.js +48 -0
  371. package/lib/utils/interactionAnalytics.d.ts +10 -0
  372. package/lib/utils/interactionAnalytics.js +142 -0
  373. package/lib/utils/navEventQueue.d.ts +6 -0
  374. package/lib/utils/navEventQueue.js +50 -0
  375. package/lib/utils/refUtils.d.ts +2 -0
  376. package/lib/utils/refUtils.js +11 -0
  377. package/lib/utils/routeUtils.d.ts +12 -0
  378. package/lib/utils/routeUtils.js +109 -0
  379. package/lib/utils/sizeUtils.d.ts +5 -0
  380. package/lib/utils/sizeUtils.js +6 -0
  381. package/lib/utils/storyInteractions.d.ts +6 -0
  382. package/lib/utils/storyInteractions.js +45 -0
  383. package/lib/utils/storyUtils.d.ts +1 -0
  384. package/lib/utils/storyUtils.js +11 -0
  385. package/lib/utils/testUtils.d.ts +3 -0
  386. package/lib/utils/testUtils.js +56 -0
  387. package/lib/utils/timer.d.ts +21 -0
  388. package/lib/utils/timer.js +38 -0
  389. package/lib/utils/useBreakpoint.d.ts +6 -0
  390. package/lib/utils/useBreakpoint.js +56 -0
  391. package/lib/utils/viewPerformance.d.ts +34 -0
  392. package/lib/utils/viewPerformance.js +103 -0
  393. package/lib/utils/viewUtils.d.ts +9 -0
  394. package/lib/utils/viewUtils.js +44 -0
  395. package/lib/views/AuthSignInView/AuthSignInView.d.ts +20 -0
  396. package/lib/views/AuthSignInView/AuthSignInView.js +107 -0
  397. package/lib/views/AuthSignInView/AuthSignInView.stories.js +29 -0
  398. package/lib/views/AuthSignUpView/AuthSignUpView.d.ts +21 -0
  399. package/lib/views/AuthSignUpView/AuthSignUpView.js +146 -0
  400. package/lib/views/AuthSignUpView/AuthSignUpView.stories.js +30 -0
  401. package/lib/views/AuthView/AuthView.d.ts +16 -0
  402. package/lib/views/AuthView/AuthView.js +60 -0
  403. package/lib/views/AuthView/AuthView.stories.js +34 -0
  404. package/lib/views/DefaultView/DefaultView.d.ts +5 -0
  405. package/lib/views/DefaultView/DefaultView.js +134 -0
  406. package/lib/views/Gotham/Gotham.d.ts +44 -0
  407. package/lib/views/Gotham/Gotham.js +24 -0
  408. package/lib/views/Gotham/Gotham.stories.js +31 -0
  409. package/lib/views/Gotham/GothamListeners.d.ts +0 -0
  410. package/lib/views/Gotham/GothamListeners.js +2 -0
  411. package/lib/views/Gotham/GothamProvider.d.ts +43 -0
  412. package/lib/views/Gotham/GothamProvider.js +217 -0
  413. package/lib/views/Gotham/GothamRoot.d.ts +6 -0
  414. package/lib/views/Gotham/GothamRoot.js +69 -0
  415. package/lib/views/HomeView/HomeView.d.ts +10 -0
  416. package/lib/views/HomeView/HomeView.js +134 -0
  417. package/lib/views/LoaderView/LoaderView.d.ts +8 -0
  418. package/lib/views/LoaderView/LoaderView.js +30 -0
  419. package/lib/views/MenuView/MenuView.d.ts +13 -0
  420. package/lib/views/MenuView/MenuView.js +305 -0
  421. package/lib/views/NotFoundView/NotFoundView.d.ts +2 -0
  422. package/lib/views/NotFoundView/NotFoundView.js +12 -0
  423. package/lib/views/index.d.ts +11 -0
  424. package/lib/views/index.js +13 -0
  425. package/package.json +202 -0
  426. package/styles/tailwind.css +1 -0
@@ -0,0 +1,205 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
4
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
5
+ */ import { useEffect, useState } from 'react';
6
+ export const DatePicker = ({ initialDate, maxDate, minDate, onDateSelect })=>{
7
+ const [fallbackDate] = useState(()=>Date.now());
8
+ const timestamp = initialDate ?? fallbackDate;
9
+ const defaultDate = new Date(timestamp);
10
+ const [selectedDate, setSelectedDate] = useState(defaultDate);
11
+ const [currentMonth, setCurrentMonth] = useState(defaultDate.getMonth());
12
+ const [currentYear, setCurrentYear] = useState(defaultDate.getFullYear());
13
+ useEffect(()=>{
14
+ const updatedDate = new Date(timestamp);
15
+ setSelectedDate((current)=>current.getTime() === timestamp ? current : updatedDate);
16
+ setCurrentMonth(updatedDate.getMonth());
17
+ setCurrentYear(updatedDate.getFullYear());
18
+ }, [
19
+ timestamp
20
+ ]);
21
+ const handlePrevMonth = ()=>{
22
+ if (currentMonth === 0) {
23
+ setCurrentMonth(11);
24
+ setCurrentYear(currentYear - 1);
25
+ } else {
26
+ setCurrentMonth(currentMonth - 1);
27
+ }
28
+ };
29
+ const handleNextMonth = ()=>{
30
+ if (currentMonth === 11) {
31
+ setCurrentMonth(0);
32
+ setCurrentYear(currentYear + 1);
33
+ } else {
34
+ setCurrentMonth(currentMonth + 1);
35
+ }
36
+ };
37
+ const handleMonthChange = (e)=>{
38
+ setCurrentMonth(parseInt(e.target.value, 10));
39
+ };
40
+ const handleYearChange = (e)=>{
41
+ setCurrentYear(parseInt(e.target.value, 10));
42
+ };
43
+ const isDateInRange = (date)=>{
44
+ const dateTimestamp = date.getTime();
45
+ if (minDate && dateTimestamp < minDate) {
46
+ return false;
47
+ }
48
+ if (maxDate && dateTimestamp > maxDate) {
49
+ return false;
50
+ }
51
+ return true;
52
+ };
53
+ const handleDateSelect = (day)=>{
54
+ const newDate = new Date(currentYear, currentMonth, day);
55
+ if (!isDateInRange(newDate)) {
56
+ return;
57
+ }
58
+ setSelectedDate(newDate);
59
+ if (onDateSelect) {
60
+ onDateSelect(newDate.getTime());
61
+ }
62
+ };
63
+ // Get month name
64
+ const monthNames = [
65
+ 'January',
66
+ 'February',
67
+ 'March',
68
+ 'April',
69
+ 'May',
70
+ 'June',
71
+ 'July',
72
+ 'August',
73
+ 'September',
74
+ 'October',
75
+ 'November',
76
+ 'December'
77
+ ];
78
+ const getDaysInMonth = (year, month)=>new Date(year, month + 1, 0).getDate();
79
+ const getFirstDayOfMonth = (year, month)=>new Date(year, month, 1).getDay();
80
+ // Generate years for dropdown (range based on min/max dates)
81
+ const generateYearOptions = ()=>{
82
+ let startYear = currentYear - 5;
83
+ let endYear = currentYear + 5;
84
+ if (minDate) {
85
+ const minYear = new Date(minDate).getFullYear();
86
+ startYear = minYear;
87
+ }
88
+ if (maxDate) {
89
+ const maxYear = new Date(maxDate).getFullYear();
90
+ endYear = maxYear;
91
+ }
92
+ return Array.from({
93
+ length: endYear - startYear + 1
94
+ }, (_, i)=>startYear + i);
95
+ };
96
+ // Generate days for the calendar
97
+ const daysInMonth = getDaysInMonth(currentYear, currentMonth);
98
+ const firstDayOfMonth = getFirstDayOfMonth(currentYear, currentMonth);
99
+ const days = [];
100
+ // Add empty cells for days before the first day of the month
101
+ for(let i = 0; i < firstDayOfMonth; i++){
102
+ days.push(/*#__PURE__*/ _jsx("div", {
103
+ className: "h-8 w-8"
104
+ }, `empty-${i}`));
105
+ }
106
+ // Add days of the month
107
+ for(let day = 1; day <= daysInMonth; day++){
108
+ const date = new Date(currentYear, currentMonth, day);
109
+ const isSelected = selectedDate.getDate() === day && selectedDate.getMonth() === currentMonth && selectedDate.getFullYear() === currentYear;
110
+ const isDisabled = !isDateInRange(date);
111
+ days.push(/*#__PURE__*/ _jsx("button", {
112
+ className: `h-7 w-7 text-sm rounded-full flex items-center justify-center ${isSelected ? 'bg-blue-500 text-white' : isDisabled ? 'text-gray-300 cursor-not-allowed' : 'hover:bg-gray-200'}`,
113
+ disabled: isDisabled,
114
+ onClick: ()=>handleDateSelect(day),
115
+ children: day
116
+ }, day));
117
+ }
118
+ const yearOptions = generateYearOptions();
119
+ return /*#__PURE__*/ _jsxs("div", {
120
+ className: "bg-white border border-gray-200 rounded-lg shadow-lg p-3",
121
+ children: [
122
+ /*#__PURE__*/ _jsxs("div", {
123
+ className: "flex justify-between items-center mb-2",
124
+ children: [
125
+ /*#__PURE__*/ _jsx("button", {
126
+ className: "p-1 rounded-full hover:bg-gray-200 text-sm",
127
+ onClick: handlePrevMonth,
128
+ children: "<"
129
+ }),
130
+ /*#__PURE__*/ _jsxs("div", {
131
+ className: "flex space-x-1",
132
+ children: [
133
+ /*#__PURE__*/ _jsx("select", {
134
+ className: "border border-gray-300 rounded px-1.5 py-0.5 text-sm",
135
+ onChange: handleMonthChange,
136
+ value: currentMonth,
137
+ children: monthNames.map((month, index)=>/*#__PURE__*/ _jsx("option", {
138
+ value: index,
139
+ children: month
140
+ }, month))
141
+ }),
142
+ /*#__PURE__*/ _jsxs("div", {
143
+ className: "relative inline-flex items-center",
144
+ children: [
145
+ /*#__PURE__*/ _jsx("select", {
146
+ className: "px-1.5 py-0.5 text-sm appearance-none bg-transparent focus:outline-none pr-5 hover:text-blue-600 cursor-pointer",
147
+ onChange: handleYearChange,
148
+ style: {
149
+ MozAppearance: 'none',
150
+ WebkitAppearance: 'none',
151
+ scrollbarWidth: 'thin'
152
+ },
153
+ value: currentYear,
154
+ children: yearOptions.map((year)=>/*#__PURE__*/ _jsx("option", {
155
+ className: "text-sm",
156
+ value: year,
157
+ children: year
158
+ }, year))
159
+ }),
160
+ /*#__PURE__*/ _jsx("div", {
161
+ className: "pointer-events-none absolute inset-y-0 right-0 flex items-center px-1 text-gray-700",
162
+ children: /*#__PURE__*/ _jsx("svg", {
163
+ className: "h-3 w-3 fill-current",
164
+ viewBox: "0 0 20 20",
165
+ xmlns: "http://www.w3.org/2000/svg",
166
+ children: /*#__PURE__*/ _jsx("path", {
167
+ d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"
168
+ })
169
+ })
170
+ })
171
+ ]
172
+ })
173
+ ]
174
+ }),
175
+ /*#__PURE__*/ _jsx("button", {
176
+ className: "p-1 rounded-full hover:bg-gray-200 text-sm",
177
+ onClick: handleNextMonth,
178
+ children: ">"
179
+ })
180
+ ]
181
+ }),
182
+ /*#__PURE__*/ _jsxs("div", {
183
+ className: "grid grid-cols-7 gap-0.5",
184
+ children: [
185
+ [
186
+ 'Su',
187
+ 'Mo',
188
+ 'Tu',
189
+ 'We',
190
+ 'Th',
191
+ 'Fr',
192
+ 'Sa'
193
+ ].map((day)=>/*#__PURE__*/ _jsx("div", {
194
+ className: "text-center font-medium text-gray-500 text-xs",
195
+ children: day
196
+ }, day)),
197
+ days
198
+ ]
199
+ })
200
+ ]
201
+ });
202
+ };
203
+ export default DatePicker;
204
+
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0RhdGVGaWVsZC9EYXRlUGlja2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHtGQywgUmVhY3ROb2RlfSBmcm9tICdyZWFjdCc7XG5cbmludGVyZmFjZSBEYXRlUGlja2VyUHJvcHMge1xuICBpbml0aWFsRGF0ZT86IG51bWJlcjtcbiAgbWF4RGF0ZT86IG51bWJlcjtcbiAgbWluRGF0ZT86IG51bWJlcjtcbiAgb25EYXRlU2VsZWN0PzogKGRhdGU6IG51bWJlcikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXI6IEZDPERhdGVQaWNrZXJQcm9wcz4gPSAoe1xuICBpbml0aWFsRGF0ZSxcbiAgbWF4RGF0ZSxcbiAgbWluRGF0ZSxcbiAgb25EYXRlU2VsZWN0XG59KSA9PiB7XG4gIGNvbnN0IFtmYWxsYmFja0RhdGVdID0gdXNlU3RhdGUoKCkgPT4gRGF0ZS5ub3coKSk7XG4gIGNvbnN0IHRpbWVzdGFtcCA9IGluaXRpYWxEYXRlID8/IGZhbGxiYWNrRGF0ZTtcbiAgY29uc3QgZGVmYXVsdERhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xuICBjb25zdCBbc2VsZWN0ZWREYXRlLCBzZXRTZWxlY3RlZERhdGVdID0gdXNlU3RhdGU8RGF0ZT4oZGVmYXVsdERhdGUpO1xuICBjb25zdCBbY3VycmVudE1vbnRoLCBzZXRDdXJyZW50TW9udGhdID0gdXNlU3RhdGU8bnVtYmVyPihkZWZhdWx0RGF0ZS5nZXRNb250aCgpKTtcbiAgY29uc3QgW2N1cnJlbnRZZWFyLCBzZXRDdXJyZW50WWVhcl0gPSB1c2VTdGF0ZTxudW1iZXI+KGRlZmF1bHREYXRlLmdldEZ1bGxZZWFyKCkpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlZERhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xuICAgIHNldFNlbGVjdGVkRGF0ZSgoY3VycmVudCkgPT4gKGN1cnJlbnQuZ2V0VGltZSgpID09PSB0aW1lc3RhbXAgPyBjdXJyZW50IDogdXBkYXRlZERhdGUpKTtcbiAgICBzZXRDdXJyZW50TW9udGgodXBkYXRlZERhdGUuZ2V0TW9udGgoKSk7XG4gICAgc2V0Q3VycmVudFllYXIodXBkYXRlZERhdGUuZ2V0RnVsbFllYXIoKSk7XG4gIH0sIFt0aW1lc3RhbXBdKTtcblxuICBjb25zdCBoYW5kbGVQcmV2TW9udGggPSAoKSA9PiB7XG4gICAgaWYoY3VycmVudE1vbnRoID09PSAwKSB7XG4gICAgICBzZXRDdXJyZW50TW9udGgoMTEpO1xuICAgICAgc2V0Q3VycmVudFllYXIoY3VycmVudFllYXIgLSAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0Q3VycmVudE1vbnRoKGN1cnJlbnRNb250aCAtIDEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVOZXh0TW9udGggPSAoKSA9PiB7XG4gICAgaWYoY3VycmVudE1vbnRoID09PSAxMSkge1xuICAgICAgc2V0Q3VycmVudE1vbnRoKDApO1xuICAgICAgc2V0Q3VycmVudFllYXIoY3VycmVudFllYXIgKyAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0Q3VycmVudE1vbnRoKGN1cnJlbnRNb250aCArIDEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVNb250aENoYW5nZSA9IChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MU2VsZWN0RWxlbWVudD4pID0+IHtcbiAgICBzZXRDdXJyZW50TW9udGgocGFyc2VJbnQoZS50YXJnZXQudmFsdWUsIDEwKSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlWWVhckNoYW5nZSA9IChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MU2VsZWN0RWxlbWVudD4pID0+IHtcbiAgICBzZXRDdXJyZW50WWVhcihwYXJzZUludChlLnRhcmdldC52YWx1ZSwgMTApKTtcbiAgfTtcblxuICBjb25zdCBpc0RhdGVJblJhbmdlID0gKGRhdGU6IERhdGUpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBkYXRlVGltZXN0YW1wID0gZGF0ZS5nZXRUaW1lKCk7XG5cbiAgICBpZihtaW5EYXRlICYmIGRhdGVUaW1lc3RhbXAgPCBtaW5EYXRlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYobWF4RGF0ZSAmJiBkYXRlVGltZXN0YW1wID4gbWF4RGF0ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURhdGVTZWxlY3QgPSAoZGF5OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgZGF5KTtcblxuICAgIGlmKCFpc0RhdGVJblJhbmdlKG5ld0RhdGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0U2VsZWN0ZWREYXRlKG5ld0RhdGUpO1xuXG4gICAgaWYob25EYXRlU2VsZWN0KSB7XG4gICAgICBvbkRhdGVTZWxlY3QobmV3RGF0ZS5nZXRUaW1lKCkpO1xuICAgIH1cbiAgfTtcblxuICAvLyBHZXQgbW9udGggbmFtZVxuICBjb25zdCBtb250aE5hbWVzID0gW1xuICAgICdKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJyxcbiAgICAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXG4gIF07XG5cbiAgY29uc3QgZ2V0RGF5c0luTW9udGggPSAoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyKSA9PiBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIDApLmdldERhdGUoKTtcblxuICBjb25zdCBnZXRGaXJzdERheU9mTW9udGggPSAoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyKSA9PiBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSkuZ2V0RGF5KCk7XG5cbiAgLy8gR2VuZXJhdGUgeWVhcnMgZm9yIGRyb3Bkb3duIChyYW5nZSBiYXNlZCBvbiBtaW4vbWF4IGRhdGVzKVxuICBjb25zdCBnZW5lcmF0ZVllYXJPcHRpb25zID0gKCkgPT4ge1xuICAgIGxldCBzdGFydFllYXIgPSBjdXJyZW50WWVhciAtIDU7XG4gICAgbGV0IGVuZFllYXIgPSBjdXJyZW50WWVhciArIDU7XG5cbiAgICBpZihtaW5EYXRlKSB7XG4gICAgICBjb25zdCBtaW5ZZWFyID0gbmV3IERhdGUobWluRGF0ZSkuZ2V0RnVsbFllYXIoKTtcbiAgICAgIHN0YXJ0WWVhciA9IG1pblllYXI7XG4gICAgfVxuXG4gICAgaWYobWF4RGF0ZSkge1xuICAgICAgY29uc3QgbWF4WWVhciA9IG5ldyBEYXRlKG1heERhdGUpLmdldEZ1bGxZZWFyKCk7XG4gICAgICBlbmRZZWFyID0gbWF4WWVhcjtcbiAgICB9XG5cbiAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgIHtsZW5ndGg6IGVuZFllYXIgLSBzdGFydFllYXIgKyAxfSxcbiAgICAgIChfLCBpKSA9PiBzdGFydFllYXIgKyBpXG4gICAgKTtcbiAgfTtcblxuICAvLyBHZW5lcmF0ZSBkYXlzIGZvciB0aGUgY2FsZW5kYXJcbiAgY29uc3QgZGF5c0luTW9udGggPSBnZXREYXlzSW5Nb250aChjdXJyZW50WWVhciwgY3VycmVudE1vbnRoKTtcbiAgY29uc3QgZmlyc3REYXlPZk1vbnRoID0gZ2V0Rmlyc3REYXlPZk1vbnRoKGN1cnJlbnRZZWFyLCBjdXJyZW50TW9udGgpO1xuXG4gIGNvbnN0IGRheXM6IFJlYWN0Tm9kZVtdID0gW107XG4gIC8vIEFkZCBlbXB0eSBjZWxscyBmb3IgZGF5cyBiZWZvcmUgdGhlIGZpcnN0IGRheSBvZiB0aGUgbW9udGhcbiAgZm9yKGxldCBpID0gMDsgaSA8IGZpcnN0RGF5T2ZNb250aDsgaSsrKSB7XG4gICAgZGF5cy5wdXNoKDxkaXYgY2xhc3NOYW1lPVwiaC04IHctOFwiIGtleT17YGVtcHR5LSR7aX1gfT48L2Rpdj4pO1xuICB9XG5cbiAgLy8gQWRkIGRheXMgb2YgdGhlIG1vbnRoXG4gIGZvcihsZXQgZGF5ID0gMTsgZGF5IDw9IGRheXNJbk1vbnRoOyBkYXkrKykge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShjdXJyZW50WWVhciwgY3VycmVudE1vbnRoLCBkYXkpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPVxuICAgICAgc2VsZWN0ZWREYXRlLmdldERhdGUoKSA9PT0gZGF5ICYmXG4gICAgICBzZWxlY3RlZERhdGUuZ2V0TW9udGgoKSA9PT0gY3VycmVudE1vbnRoICYmXG4gICAgICBzZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gY3VycmVudFllYXI7XG5cbiAgICBjb25zdCBpc0Rpc2FibGVkID0gIWlzRGF0ZUluUmFuZ2UoZGF0ZSk7XG5cbiAgICBkYXlzLnB1c2goXG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzTmFtZT17YGgtNyB3LTcgdGV4dC1zbSByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgJHtcbiAgICAgICAgICBpc1NlbGVjdGVkXG4gICAgICAgICAgICA/ICdiZy1ibHVlLTUwMCB0ZXh0LXdoaXRlJ1xuICAgICAgICAgICAgOiBpc0Rpc2FibGVkXG4gICAgICAgICAgICAgID8gJ3RleHQtZ3JheS0zMDAgY3Vyc29yLW5vdC1hbGxvd2VkJ1xuICAgICAgICAgICAgICA6ICdob3ZlcjpiZy1ncmF5LTIwMCdcbiAgICAgICAgfWB9XG4gICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICBrZXk9e2RheX1cbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRGF0ZVNlbGVjdChkYXkpfVxuICAgICAgPlxuICAgICAgICB7ZGF5fVxuICAgICAgPC9idXR0b24+XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHllYXJPcHRpb25zID0gZ2VuZXJhdGVZZWFyT3B0aW9ucygpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93LWxnIHAtM1wiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItMlwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3NOYW1lPVwicC0xIHJvdW5kZWQtZnVsbCBob3ZlcjpiZy1ncmF5LTIwMCB0ZXh0LXNtXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQcmV2TW9udGh9XG4gICAgICAgID5cbiAgICAgICAgICAmbHQ7XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggc3BhY2UteC0xXCI+XG4gICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkIHB4LTEuNSBweS0wLjUgdGV4dC1zbVwiXG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlTW9udGhDaGFuZ2V9XG4gICAgICAgICAgICB2YWx1ZT17Y3VycmVudE1vbnRofVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHttb250aE5hbWVzLm1hcCgobW9udGgsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxvcHRpb24ga2V5PXttb250aH0gdmFsdWU9e2luZGV4fT5cbiAgICAgICAgICAgICAgICB7bW9udGh9XG4gICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicHgtMS41IHB5LTAuNSB0ZXh0LXNtIGFwcGVhcmFuY2Utbm9uZSBiZy10cmFuc3BhcmVudCBmb2N1czpvdXRsaW5lLW5vbmUgcHItNSBob3Zlcjp0ZXh0LWJsdWUtNjAwIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVllYXJDaGFuZ2V9XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgTW96QXBwZWFyYW5jZTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIFdlYmtpdEFwcGVhcmFuY2U6ICdub25lJyxcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aDogJ3RoaW4nXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHZhbHVlPXtjdXJyZW50WWVhcn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3llYXJPcHRpb25zLm1hcCgoeWVhcikgPT4gKFxuICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3NOYW1lPVwidGV4dC1zbVwiIGtleT17eWVhcn0gdmFsdWU9e3llYXJ9PlxuICAgICAgICAgICAgICAgICAge3llYXJ9XG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgaW5zZXQteS0wIHJpZ2h0LTAgZmxleCBpdGVtcy1jZW50ZXIgcHgtMSB0ZXh0LWdyYXktNzAwXCI+XG4gICAgICAgICAgICAgIDxzdmcgY2xhc3NOYW1lPVwiaC0zIHctMyBmaWxsLWN1cnJlbnRcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS4yOTMgNy4yOTNhMSAxIDAgMDExLjQxNCAwTDEwIDEwLjU4NmwzLjI5My0zLjI5M2ExIDEgMCAxMTEuNDE0IDEuNDE0bC00IDRhMSAxIDAgMDEtMS40MTQgMGwtNC00YTEgMSAwIDAxMC0xLjQxNHpcIiAvPlxuICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzTmFtZT1cInAtMSByb3VuZGVkLWZ1bGwgaG92ZXI6YmctZ3JheS0yMDAgdGV4dC1zbVwiXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlTmV4dE1vbnRofVxuICAgICAgICA+XG4gICAgICAgICAgJmd0O1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy03IGdhcC0wLjVcIj5cbiAgICAgICAge1snU3UnLCAnTW8nLCAnVHUnLCAnV2UnLCAnVGgnLCAnRnInLCAnU2EnXS5tYXAoKGRheSkgPT4gKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgZm9udC1tZWRpdW0gdGV4dC1ncmF5LTUwMCB0ZXh0LXhzXCIga2V5PXtkYXl9PlxuICAgICAgICAgICAge2RheX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSl9XG4gICAgICAgIHtkYXlzfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEYXRlUGlja2VyOyJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIkRhdGVQaWNrZXIiLCJpbml0aWFsRGF0ZSIsIm1heERhdGUiLCJtaW5EYXRlIiwib25EYXRlU2VsZWN0IiwiZmFsbGJhY2tEYXRlIiwiRGF0ZSIsIm5vdyIsInRpbWVzdGFtcCIsImRlZmF1bHREYXRlIiwic2VsZWN0ZWREYXRlIiwic2V0U2VsZWN0ZWREYXRlIiwiY3VycmVudE1vbnRoIiwic2V0Q3VycmVudE1vbnRoIiwiZ2V0TW9udGgiLCJjdXJyZW50WWVhciIsInNldEN1cnJlbnRZZWFyIiwiZ2V0RnVsbFllYXIiLCJ1cGRhdGVkRGF0ZSIsImN1cnJlbnQiLCJnZXRUaW1lIiwiaGFuZGxlUHJldk1vbnRoIiwiaGFuZGxlTmV4dE1vbnRoIiwiaGFuZGxlTW9udGhDaGFuZ2UiLCJlIiwicGFyc2VJbnQiLCJ0YXJnZXQiLCJ2YWx1ZSIsImhhbmRsZVllYXJDaGFuZ2UiLCJpc0RhdGVJblJhbmdlIiwiZGF0ZSIsImRhdGVUaW1lc3RhbXAiLCJoYW5kbGVEYXRlU2VsZWN0IiwiZGF5IiwibmV3RGF0ZSIsIm1vbnRoTmFtZXMiLCJnZXREYXlzSW5Nb250aCIsInllYXIiLCJtb250aCIsImdldERhdGUiLCJnZXRGaXJzdERheU9mTW9udGgiLCJnZXREYXkiLCJnZW5lcmF0ZVllYXJPcHRpb25zIiwic3RhcnRZZWFyIiwiZW5kWWVhciIsIm1pblllYXIiLCJtYXhZZWFyIiwiQXJyYXkiLCJmcm9tIiwibGVuZ3RoIiwiXyIsImkiLCJkYXlzSW5Nb250aCIsImZpcnN0RGF5T2ZNb250aCIsImRheXMiLCJwdXNoIiwiZGl2IiwiY2xhc3NOYW1lIiwiaXNTZWxlY3RlZCIsImlzRGlzYWJsZWQiLCJidXR0b24iLCJkaXNhYmxlZCIsIm9uQ2xpY2siLCJ5ZWFyT3B0aW9ucyIsInNlbGVjdCIsIm9uQ2hhbmdlIiwibWFwIiwiaW5kZXgiLCJvcHRpb24iLCJzdHlsZSIsIk1vekFwcGVhcmFuY2UiLCJXZWJraXRBcHBlYXJhbmNlIiwic2Nyb2xsYmFyV2lkdGgiLCJzdmciLCJ2aWV3Qm94IiwieG1sbnMiLCJwYXRoIiwiZCJdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLFNBQVMsRUFBRUMs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
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { interactWithCanvas } from '../../utils/storyInteractions.js';
3
+ import { DatePicker } from './DatePicker.js';
4
+ const today = new Date(2026, 4, 14).getTime();
5
+ const meta = {
6
+ argTypes: {
7
+ initialDate: {
8
+ control: 'date'
9
+ },
10
+ maxDate: {
11
+ control: 'date'
12
+ },
13
+ minDate: {
14
+ control: 'date'
15
+ }
16
+ },
17
+ component: DatePicker,
18
+ parameters: {
19
+ layout: 'centered'
20
+ },
21
+ title: 'Components/Form/DatePicker'
22
+ };
23
+ export default meta;
24
+ export const Default = {
25
+ args: {
26
+ initialDate: today,
27
+ maxDate: new Date(2026, 11, 31).getTime(),
28
+ minDate: new Date(2026, 0, 1).getTime()
29
+ },
30
+ play: interactWithCanvas
31
+ };
32
+
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0RhdGVGaWVsZC9EYXRlUGlja2VyLnN0b3JpZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7aW50ZXJhY3RXaXRoQ2FudmFzfSBmcm9tICcuLi8uLi91dGlscy9zdG9yeUludGVyYWN0aW9ucy5qcyc7XG5pbXBvcnQge0RhdGVQaWNrZXJ9IGZyb20gJy4vRGF0ZVBpY2tlci5qcyc7XG5cbmltcG9ydCB0eXBlIHtNZXRhLCBTdG9yeU9ian0gZnJvbSAnQG5sYWJzL2xleC9zdG9yeWJvb2snO1xuXG5jb25zdCB0b2RheSA9IG5ldyBEYXRlKDIwMjYsIDQsIDE0KS5nZXRUaW1lKCk7XG5cbmNvbnN0IG1ldGE6IE1ldGE8dHlwZW9mIERhdGVQaWNrZXI+ID0ge1xuICBhcmdUeXBlczoge1xuICAgIGluaXRpYWxEYXRlOiB7XG4gICAgICBjb250cm9sOiAnZGF0ZSdcbiAgICB9LFxuICAgIG1heERhdGU6IHtcbiAgICAgIGNvbnRyb2w6ICdkYXRlJ1xuICAgIH0sXG4gICAgbWluRGF0ZToge1xuICAgICAgY29udHJvbDogJ2RhdGUnXG4gICAgfVxuICB9LFxuICBjb21wb25lbnQ6IERhdGVQaWNrZXIsXG4gIHBhcmFtZXRlcnM6IHtcbiAgICBsYXlvdXQ6ICdjZW50ZXJlZCdcbiAgfSxcbiAgdGl0bGU6ICdDb21wb25lbnRzL0Zvcm0vRGF0ZVBpY2tlcidcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG1ldGE7XG5cbnR5cGUgU3RvcnkgPSBTdG9yeU9iajx0eXBlb2YgRGF0ZVBpY2tlcj47XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0OiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIGluaXRpYWxEYXRlOiB0b2RheSxcbiAgICBtYXhEYXRlOiBuZXcgRGF0ZSgyMDI2LCAxMSwgMzEpLmdldFRpbWUoKSxcbiAgICBtaW5EYXRlOiBuZXcgRGF0ZSgyMDI2LCAwLCAxKS5nZXRUaW1lKClcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzXG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiaW50ZXJhY3RXaXRoQ2FudmFzIiwiRGF0ZVBpY2tlciIsInRvZGF5IiwiRGF0ZSIsImdldFRpbWUiLCJtZXRhIiwiYXJnVHlwZXMiLCJpbml0aWFsRGF0ZSIsImNvbnRyb2wiLCJtYXhEYXRlIiwibWluRGF0ZSIsImNvbXBvbmVudCIsInBhcmFtZXRlcnMiLCJsYXlvdXQiLCJ0aXRsZSIsIkRlZmF1bHQiLCJhcmdzIiwicGxheSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsV0FBVyxRQUFRO0FBRTFCLFNBQVFDLGtCQUFrQixRQUFPLG1DQUFtQztBQUNwRSxTQUFRQyxVQUFVLFFBQU8sa0JBQWtCO0FBSTNDLE1BQU1DLFFBQVEsSUFBSUMsS0FBSyxNQUFNLEdBQUcsSUFBSUMsT0FBTztBQUUzQyxNQUFNQyxPQUFnQztJQUNwQ0MsVUFBVTtRQUNSQyxhQUFhO1lBQ1hDLFNBQVM7UUFDWDtRQUNBQyxTQUFTO1lBQ1BELFNBQVM7UUFDWDtRQUNBRSxTQUFTO1lBQ1BGLFNBQVM7UUFDWDtJQUNGO0lBQ0FHLFdBQVdWO0lBQ1hXLFlBQVk7UUFDVkMsUUFBUTtJQUNWO0lBQ0FDLE9BQU87QUFDVDtBQUVBLGVBQWVULEtBQUs7QUFJcEIsT0FBTyxNQUFNVSxVQUFpQjtJQUM1QkMsTUFBTTtRQUNKVCxhQUFhTDtRQUNiTyxTQUFTLElBQUlOLEtBQUssTUFBTSxJQUFJLElBQUlDLE9BQU87UUFDdkNNLFNBQVMsSUFBSVAsS0FBSyxNQUFNLEdBQUcsR0FBR0MsT0FBTztJQUN2QztJQUNBYSxNQUFNakI7QUFDUixFQUFFIn0=
@@ -0,0 +1,4 @@
1
+ import type { ComponentPropsWithoutRef } from 'react';
2
+ export declare const DescriptionList: ({ className, ...props }: ComponentPropsWithoutRef<'dl'>) => import("react").JSX.Element;
3
+ export declare const DescriptionTerm: ({ className, ...props }: ComponentPropsWithoutRef<'dt'>) => import("react").JSX.Element;
4
+ export declare const DescriptionDetails: ({ className, ...props }: ComponentPropsWithoutRef<'dd'>) => import("react").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '@nlabs/utils';
3
+ export const DescriptionList = ({ className, ...props })=>/*#__PURE__*/ _jsx("dl", {
4
+ className: cn('grid grid-cols-1 text-base/6 sm:grid-cols-[min(50%,20rem)_auto] sm:text-sm/6', className),
5
+ "data-slot": "description-list",
6
+ ...props
7
+ });
8
+ export const DescriptionTerm = ({ className, ...props })=>/*#__PURE__*/ _jsx("dt", {
9
+ className: cn('col-start-1 border-t border-border pt-3 text-muted-foreground first:border-none sm:py-3 dark:border-border-dark dark:text-muted-foreground-dark', className),
10
+ "data-slot": "description-term",
11
+ ...props
12
+ });
13
+ export const DescriptionDetails = ({ className, ...props })=>/*#__PURE__*/ _jsx("dd", {
14
+ className: cn('pt-1 pb-3 text-foreground sm:border-t sm:border-border sm:py-3 sm:[&:nth-of-type(1)]:border-none dark:text-foreground-dark dark:sm:border-border-dark', className),
15
+ "data-slot": "description-details",
16
+ ...props
17
+ });
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkxpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y259IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB0eXBlIHtDb21wb25lbnRQcm9wc1dpdGhvdXRSZWZ9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IERlc2NyaXB0aW9uTGlzdCA9ICh7XG4gIGNsYXNzTmFtZSxcbiAgLi4ucHJvcHNcbn06IENvbXBvbmVudFByb3BzV2l0aG91dFJlZjwnZGwnPikgPT4gKFxuICA8ZGxcbiAgICBjbGFzc05hbWU9e2NuKCdncmlkIGdyaWQtY29scy0xIHRleHQtYmFzZS82IHNtOmdyaWQtY29scy1bbWluKDUwJSwyMHJlbSlfYXV0b10gc206dGV4dC1zbS82JywgY2xhc3NOYW1lKX1cbiAgICBkYXRhLXNsb3Q9XCJkZXNjcmlwdGlvbi1saXN0XCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgRGVzY3JpcHRpb25UZXJtID0gKHtcbiAgY2xhc3NOYW1lLFxuICAuLi5wcm9wc1xufTogQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPCdkdCc+KSA9PiAoXG4gIDxkdFxuICAgIGNsYXNzTmFtZT17Y24oJ2NvbC1zdGFydC0xIGJvcmRlci10IGJvcmRlci1ib3JkZXIgcHQtMyB0ZXh0LW11dGVkLWZvcmVncm91bmQgZmlyc3Q6Ym9yZGVyLW5vbmUgc206cHktMyBkYXJrOmJvcmRlci1ib3JkZXItZGFyayBkYXJrOnRleHQtbXV0ZWQtZm9yZWdyb3VuZC1kYXJrJywgY2xhc3NOYW1lKX1cbiAgICBkYXRhLXNsb3Q9XCJkZXNjcmlwdGlvbi10ZXJtXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgRGVzY3JpcHRpb25EZXRhaWxzID0gKHtcbiAgY2xhc3NOYW1lLFxuICAuLi5wcm9wc1xufTogQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPCdkZCc+KSA9PiAoXG4gIDxkZFxuICAgIGNsYXNzTmFtZT17Y24oJ3B0LTEgcGItMyB0ZXh0LWZvcmVncm91bmQgc206Ym9yZGVyLXQgc206Ym9yZGVyLWJvcmRlciBzbTpweS0zIHNtOlsmOm50aC1vZi10eXBlKDEpXTpib3JkZXItbm9uZSBkYXJrOnRleHQtZm9yZWdyb3VuZC1kYXJrIGRhcms6c206Ym9yZGVyLWJvcmRlci1kYXJrJywgY2xhc3NOYW1lKX1cbiAgICBkYXRhLXNsb3Q9XCJkZXNjcmlwdGlvbi1kZXRhaWxzXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl0sIm5hbWVzIjpbImNuIiwiRGVzY3JpcHRpb25MaXN0IiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkbCIsImRhdGEtc2xvdCIsIkRlc2NyaXB0aW9uVGVybSIsImR0IiwiRGVzY3JpcHRpb25EZXRhaWxzIiwiZGQiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFRQSxFQUFFLFFBQU8sZUFBZTtBQUloQyxPQUFPLE1BQU1DLGtCQUFrQixDQUFDLEVBQzlCQyxTQUFTLEVBQ1QsR0FBR0MsT0FDNEIsaUJBQy9CLEtBQUNDO1FBQ0NGLFdBQVdGLEdBQUcsZ0ZBQWdGRTtRQUM5RkcsYUFBVTtRQUNULEdBQUdGLEtBQUs7T0FFWDtBQUVGLE9BQU8sTUFBTUcsa0JBQWtCLENBQUMsRUFDOUJKLFNBQVMsRUFDVCxHQUFHQyxPQUM0QixpQkFDL0IsS0FBQ0k7UUFDQ0wsV0FBV0YsR0FBRyxtSkFBbUpFO1FBQ2pLRyxhQUFVO1FBQ1QsR0FBR0YsS0FBSztPQUVYO0FBRUYsT0FBTyxNQUFNSyxxQkFBcUIsQ0FBQyxFQUNqQ04sU0FBUyxFQUNULEdBQUdDLE9BQzRCLGlCQUMvQixLQUFDTTtRQUNDUCxXQUFXRixHQUFHLHlKQUF5SkU7UUFDdktHLGFBQVU7UUFDVCxHQUFHRixLQUFLO09BRVgifQ==
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { interactWithCanvas } from '../../utils/storyInteractions.js';
4
+ import { DescriptionDetails, DescriptionList, DescriptionTerm } from './DescriptionList.js';
5
+ const meta = {
6
+ component: DescriptionList,
7
+ parameters: {
8
+ layout: 'centered'
9
+ },
10
+ title: 'Components/DescriptionList'
11
+ };
12
+ export default meta;
13
+ export const Default = {
14
+ play: interactWithCanvas,
15
+ render: ()=>/*#__PURE__*/ _jsxs(DescriptionList, {
16
+ className: "w-96",
17
+ children: [
18
+ /*#__PURE__*/ _jsx(DescriptionTerm, {
19
+ children: "Status"
20
+ }),
21
+ /*#__PURE__*/ _jsx(DescriptionDetails, {
22
+ children: "Active"
23
+ }),
24
+ /*#__PURE__*/ _jsx(DescriptionTerm, {
25
+ children: "Owner"
26
+ }),
27
+ /*#__PURE__*/ _jsx(DescriptionDetails, {
28
+ children: "Nitrogen Labs"
29
+ })
30
+ ]
31
+ })
32
+ };
33
+
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkxpc3Quc3Rvcmllcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7aW50ZXJhY3RXaXRoQ2FudmFzfSBmcm9tICcuLi8uLi91dGlscy9zdG9yeUludGVyYWN0aW9ucy5qcyc7XG5pbXBvcnQge0Rlc2NyaXB0aW9uRGV0YWlscywgRGVzY3JpcHRpb25MaXN0LCBEZXNjcmlwdGlvblRlcm19IGZyb20gJy4vRGVzY3JpcHRpb25MaXN0LmpzJztcblxuaW1wb3J0IHR5cGUge01ldGEsIFN0b3J5T2JqfSBmcm9tICdAbmxhYnMvbGV4L3N0b3J5Ym9vayc7XG5cbmNvbnN0IG1ldGE6IE1ldGE8dHlwZW9mIERlc2NyaXB0aW9uTGlzdD4gPSB7XG4gIGNvbXBvbmVudDogRGVzY3JpcHRpb25MaXN0LFxuICBwYXJhbWV0ZXJzOiB7XG4gICAgbGF5b3V0OiAnY2VudGVyZWQnXG4gIH0sXG4gIHRpdGxlOiAnQ29tcG9uZW50cy9EZXNjcmlwdGlvbkxpc3QnXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xuXG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8dHlwZW9mIERlc2NyaXB0aW9uTGlzdD47XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0OiBTdG9yeSA9IHtcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6ICgpID0+IChcbiAgICA8RGVzY3JpcHRpb25MaXN0IGNsYXNzTmFtZT1cInctOTZcIj5cbiAgICAgIDxEZXNjcmlwdGlvblRlcm0+U3RhdHVzPC9EZXNjcmlwdGlvblRlcm0+XG4gICAgICA8RGVzY3JpcHRpb25EZXRhaWxzPkFjdGl2ZTwvRGVzY3JpcHRpb25EZXRhaWxzPlxuICAgICAgPERlc2NyaXB0aW9uVGVybT5Pd25lcjwvRGVzY3JpcHRpb25UZXJtPlxuICAgICAgPERlc2NyaXB0aW9uRGV0YWlscz5OaXRyb2dlbiBMYWJzPC9EZXNjcmlwdGlvbkRldGFpbHM+XG4gICAgPC9EZXNjcmlwdGlvbkxpc3Q+XG4gIClcbn07XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJpbnRlcmFjdFdpdGhDYW52YXMiLCJEZXNjcmlwdGlvbkRldGFpbHMiLCJEZXNjcmlwdGlvbkxpc3QiLCJEZXNjcmlwdGlvblRlcm0iLCJtZXRhIiwiY29tcG9uZW50IiwicGFyYW1ldGVycyIsImxheW91dCIsInRpdGxlIiwiRGVmYXVsdCIsInBsYXkiLCJyZW5kZXIiLCJjbGFzc05hbWUiXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxXQUFXLFFBQVE7QUFDMUIsU0FBUUMsa0JBQWtCLFFBQU8sbUNBQW1DO0FBQ3BFLFNBQVFDLGtCQUFrQixFQUFFQyxlQUFlLEVBQUVDLGVBQWUsUUFBTyx1QkFBdUI7QUFJMUYsTUFBTUMsT0FBcUM7SUFDekNDLFdBQVdIO0lBQ1hJLFlBQVk7UUFDVkMsUUFBUTtJQUNWO0lBQ0FDLE9BQU87QUFDVDtBQUVBLGVBQWVKLEtBQUs7QUFJcEIsT0FBTyxNQUFNSyxVQUFpQjtJQUM1QkMsTUFBTVY7SUFDTlcsUUFBUSxrQkFDTixNQUFDVDtZQUFnQlUsV0FBVTs7OEJBQ3pCLEtBQUNUOzhCQUFnQjs7OEJBQ2pCLEtBQUNGOzhCQUFtQjs7OEJBQ3BCLEtBQUNFOzhCQUFnQjs7OEJBQ2pCLEtBQUNGOzhCQUFtQjs7OztBQUcxQixFQUFFIn0=
@@ -0,0 +1,25 @@
1
+ import type { HTMLAttributes, ReactNode, Ref } from 'react';
2
+ export type DialogSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl';
3
+ export interface DialogProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClose'> {
4
+ readonly children?: ReactNode;
5
+ readonly open: boolean;
6
+ readonly onClose: (open: boolean) => void;
7
+ readonly size?: DialogSize;
8
+ }
9
+ export declare const Dialog: ({ children, className, onClose, open, size, ...props }: DialogProps) => import("react").JSX.Element;
10
+ export interface DialogTitleProps extends HTMLAttributes<HTMLHeadingElement> {
11
+ readonly ref?: Ref<HTMLHeadingElement>;
12
+ }
13
+ export declare const DialogTitle: ({ className, ref, ...props }: DialogTitleProps) => import("react").JSX.Element;
14
+ export interface DialogDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
15
+ readonly ref?: Ref<HTMLParagraphElement>;
16
+ }
17
+ export declare const DialogDescription: ({ className, ref, ...props }: DialogDescriptionProps) => import("react").JSX.Element;
18
+ export interface DialogBodyProps extends HTMLAttributes<HTMLDivElement> {
19
+ readonly ref?: Ref<HTMLDivElement>;
20
+ }
21
+ export declare const DialogBody: ({ className, ref, ...props }: DialogBodyProps) => import("react").JSX.Element;
22
+ export interface DialogActionsProps extends HTMLAttributes<HTMLDivElement> {
23
+ readonly ref?: Ref<HTMLDivElement>;
24
+ }
25
+ export declare const DialogActions: ({ className, ref, ...props }: DialogActionsProps) => import("react").JSX.Element;
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Dialog as HeadlessDialog, DialogPanel, DialogTitle as HeadlessDialogTitle, Description } from '@headlessui/react';
3
+ import { cn } from '@nlabs/utils';
4
+ const dialogSizeClasses = {
5
+ '2xl': 'sm:max-w-2xl',
6
+ '3xl': 'sm:max-w-3xl',
7
+ '4xl': 'sm:max-w-4xl',
8
+ '5xl': 'sm:max-w-5xl',
9
+ lg: 'sm:max-w-lg',
10
+ md: 'sm:max-w-md',
11
+ sm: 'sm:max-w-sm',
12
+ xl: 'sm:max-w-xl',
13
+ xs: 'sm:max-w-xs'
14
+ };
15
+ export const Dialog = ({ children, className, onClose, open, size = 'lg', ...props })=>/*#__PURE__*/ _jsxs(HeadlessDialog, {
16
+ className: "relative z-50",
17
+ "data-slot": "dialog",
18
+ onClose: onClose,
19
+ open: open,
20
+ children: [
21
+ /*#__PURE__*/ _jsx("div", {
22
+ className: "fixed inset-0 bg-zinc-900/45 backdrop-blur-md",
23
+ "data-slot": "dialog-backdrop"
24
+ }),
25
+ /*#__PURE__*/ _jsx("div", {
26
+ className: "fixed inset-0 w-screen overflow-y-auto p-4 sm:p-6 md:p-8",
27
+ "data-slot": "dialog-scroll-container",
28
+ children: /*#__PURE__*/ _jsx("div", {
29
+ className: "flex min-h-full items-end justify-center sm:items-center",
30
+ "data-slot": "dialog-container",
31
+ children: /*#__PURE__*/ _jsx(DialogPanel, {
32
+ className: cn('w-full rounded-2xl border border-white/70 bg-white/95 p-6 shadow-2xl shadow-zinc-950/25 ring-1 ring-zinc-950/5 backdrop-blur-xl sm:p-7 dark:border-white/10 dark:bg-zinc-900/95 dark:ring-white/10', dialogSizeClasses[size], className),
33
+ "data-slot": "dialog-panel",
34
+ ...props,
35
+ children: children
36
+ })
37
+ })
38
+ })
39
+ ]
40
+ });
41
+ export const DialogTitle = ({ className, ref, ...props })=>/*#__PURE__*/ _jsx(HeadlessDialogTitle, {
42
+ className: cn('text-lg font-semibold tracking-tight text-zinc-950 dark:text-white', className),
43
+ "data-slot": "dialog-title",
44
+ ref: ref,
45
+ ...props
46
+ });
47
+ export const DialogDescription = ({ className, ref, ...props })=>/*#__PURE__*/ _jsx(Description, {
48
+ className: cn('mt-2 text-sm/6 text-zinc-600 dark:text-zinc-400', className),
49
+ "data-slot": "dialog-description",
50
+ ref: ref,
51
+ ...props
52
+ });
53
+ export const DialogBody = ({ className, ref, ...props })=>/*#__PURE__*/ _jsx("div", {
54
+ className: cn('mt-6 max-h-[65vh] overflow-y-auto text-sm/6 text-zinc-950 dark:text-white', className),
55
+ "data-slot": "dialog-body",
56
+ ref: ref,
57
+ ...props
58
+ });
59
+ export const DialogActions = ({ className, ref, ...props })=>/*#__PURE__*/ _jsx("div", {
60
+ className: cn('mt-8 flex flex-col-reverse gap-3 sm:flex-row sm:justify-end', className),
61
+ "data-slot": "dialog-actions",
62
+ ref: ref,
63
+ ...props
64
+ });
65
+
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpYWxvZyBhcyBIZWFkbGVzc0RpYWxvZyxcbiAgRGlhbG9nUGFuZWwsXG4gIERpYWxvZ1RpdGxlIGFzIEhlYWRsZXNzRGlhbG9nVGl0bGUsXG4gIERlc2NyaXB0aW9uXG59IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0JztcbmltcG9ydCB7Y259IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB0eXBlIHtIVE1MQXR0cmlidXRlcywgUmVhY3ROb2RlLCBSZWZ9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IHR5cGUgRGlhbG9nU2l6ZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJzJ4bCcgfCAnM3hsJyB8ICc0eGwnIHwgJzV4bCc7XG5cbmNvbnN0IGRpYWxvZ1NpemVDbGFzc2VzOiBSZWNvcmQ8RGlhbG9nU2l6ZSwgc3RyaW5nPiA9IHtcbiAgJzJ4bCc6ICdzbTptYXgtdy0yeGwnLFxuICAnM3hsJzogJ3NtOm1heC13LTN4bCcsXG4gICc0eGwnOiAnc206bWF4LXctNHhsJyxcbiAgJzV4bCc6ICdzbTptYXgtdy01eGwnLFxuICBsZzogJ3NtOm1heC13LWxnJyxcbiAgbWQ6ICdzbTptYXgtdy1tZCcsXG4gIHNtOiAnc206bWF4LXctc20nLFxuICB4bDogJ3NtOm1heC13LXhsJyxcbiAgeHM6ICdzbTptYXgtdy14cydcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nUHJvcHMgZXh0ZW5kcyBPbWl0PEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgJ29uQ2xvc2UnPiB7XG4gIHJlYWRvbmx5IGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICByZWFkb25seSBvcGVuOiBib29sZWFuO1xuICByZWFkb25seSBvbkNsb3NlOiAob3BlbjogYm9vbGVhbikgPT4gdm9pZDtcbiAgcmVhZG9ubHkgc2l6ZT86IERpYWxvZ1NpemU7XG59XG5cbmV4cG9ydCBjb25zdCBEaWFsb2cgPSAoe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBvbkNsb3NlLFxuICBvcGVuLFxuICBzaXplID0gJ2xnJyxcbiAgLi4ucHJvcHNcbn06IERpYWxvZ1Byb3BzKSA9PiAoXG4gIDxIZWFkbGVzc0RpYWxvZyBjbGFzc05hbWU9XCJyZWxhdGl2ZSB6LTUwXCIgZGF0YS1zbG90PVwiZGlhbG9nXCIgb25DbG9zZT17b25DbG9zZX0gb3Blbj17b3Blbn0+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJmaXhlZCBpbnNldC0wIGJnLXppbmMtOTAwLzQ1IGJhY2tkcm9wLWJsdXItbWRcIiBkYXRhLXNsb3Q9XCJkaWFsb2ctYmFja2Ryb3BcIiAvPlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZml4ZWQgaW5zZXQtMCB3LXNjcmVlbiBvdmVyZmxvdy15LWF1dG8gcC00IHNtOnAtNiBtZDpwLThcIiBkYXRhLXNsb3Q9XCJkaWFsb2ctc2Nyb2xsLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IG1pbi1oLWZ1bGwgaXRlbXMtZW5kIGp1c3RpZnktY2VudGVyIHNtOml0ZW1zLWNlbnRlclwiIGRhdGEtc2xvdD1cImRpYWxvZy1jb250YWluZXJcIj5cbiAgICAgICAgPERpYWxvZ1BhbmVsXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICd3LWZ1bGwgcm91bmRlZC0yeGwgYm9yZGVyIGJvcmRlci13aGl0ZS83MCBiZy13aGl0ZS85NSBwLTYgc2hhZG93LTJ4bCBzaGFkb3ctemluYy05NTAvMjUgcmluZy0xIHJpbmctemluYy05NTAvNSBiYWNrZHJvcC1ibHVyLXhsIHNtOnAtNyBkYXJrOmJvcmRlci13aGl0ZS8xMCBkYXJrOmJnLXppbmMtOTAwLzk1IGRhcms6cmluZy13aGl0ZS8xMCcsXG4gICAgICAgICAgICBkaWFsb2dTaXplQ2xhc3Nlc1tzaXplXSxcbiAgICAgICAgICAgIGNsYXNzTmFtZVxuICAgICAgICAgICl9XG4gICAgICAgICAgZGF0YS1zbG90PVwiZGlhbG9nLXBhbmVsXCJcbiAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvRGlhbG9nUGFuZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9IZWFkbGVzc0RpYWxvZz5cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nVGl0bGVQcm9wcyBleHRlbmRzIEhUTUxBdHRyaWJ1dGVzPEhUTUxIZWFkaW5nRWxlbWVudD4ge1xuICByZWFkb25seSByZWY/OiBSZWY8SFRNTEhlYWRpbmdFbGVtZW50Pjtcbn1cblxuZXhwb3J0IGNvbnN0IERpYWxvZ1RpdGxlID0gKHtcbiAgY2xhc3NOYW1lLFxuICByZWYsXG4gIC4uLnByb3BzXG59OiBEaWFsb2dUaXRsZVByb3BzKSA9PiAoXG4gIDxIZWFkbGVzc0RpYWxvZ1RpdGxlXG4gICAgY2xhc3NOYW1lPXtjbigndGV4dC1sZyBmb250LXNlbWlib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtemluYy05NTAgZGFyazp0ZXh0LXdoaXRlJywgY2xhc3NOYW1lKX1cbiAgICBkYXRhLXNsb3Q9XCJkaWFsb2ctdGl0bGVcIlxuICAgIHJlZj17cmVmfVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGVzY3JpcHRpb25Qcm9wcyBleHRlbmRzIEhUTUxBdHRyaWJ1dGVzPEhUTUxQYXJhZ3JhcGhFbGVtZW50PiB7XG4gIHJlYWRvbmx5IHJlZj86IFJlZjxIVE1MUGFyYWdyYXBoRWxlbWVudD47XG59XG5cbmV4cG9ydCBjb25zdCBEaWFsb2dEZXNjcmlwdGlvbiA9ICh7XG4gIGNsYXNzTmFtZSxcbiAgcmVmLFxuICAuLi5wcm9wc1xufTogRGlhbG9nRGVzY3JpcHRpb25Qcm9wcykgPT4gKFxuICA8RGVzY3JpcHRpb25cbiAgICBjbGFzc05hbWU9e2NuKCdtdC0yIHRleHQtc20vNiB0ZXh0LXppbmMtNjAwIGRhcms6dGV4dC16aW5jLTQwMCcsIGNsYXNzTmFtZSl9XG4gICAgZGF0YS1zbG90PVwiZGlhbG9nLWRlc2NyaXB0aW9uXCJcbiAgICByZWY9e3JlZn1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0JvZHlQcm9wcyBleHRlbmRzIEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiB7XG4gIHJlYWRvbmx5IHJlZj86IFJlZjxIVE1MRGl2RWxlbWVudD47XG59XG5cbmV4cG9ydCBjb25zdCBEaWFsb2dCb2R5ID0gKHtcbiAgY2xhc3NOYW1lLFxuICByZWYsXG4gIC4uLnByb3BzXG59OiBEaWFsb2dCb2R5UHJvcHMpID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y24oJ210LTYgbWF4LWgtWzY1dmhdIG92ZXJmbG93LXktYXV0byB0ZXh0LXNtLzYgdGV4dC16aW5jLTk1MCBkYXJrOnRleHQtd2hpdGUnLCBjbGFzc05hbWUpfVxuICAgIGRhdGEtc2xvdD1cImRpYWxvZy1ib2R5XCJcbiAgICByZWY9e3JlZn1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0FjdGlvbnNQcm9wcyBleHRlbmRzIEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiB7XG4gIHJlYWRvbmx5IHJlZj86IFJlZjxIVE1MRGl2RWxlbWVudD47XG59XG5cbmV4cG9ydCBjb25zdCBEaWFsb2dBY3Rpb25zID0gKHtcbiAgY2xhc3NOYW1lLFxuICByZWYsXG4gIC4uLnByb3BzXG59OiBEaWFsb2dBY3Rpb25zUHJvcHMpID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y24oJ210LTggZmxleCBmbGV4LWNvbC1yZXZlcnNlIGdhcC0zIHNtOmZsZXgtcm93IHNtOmp1c3RpZnktZW5kJywgY2xhc3NOYW1lKX1cbiAgICBkYXRhLXNsb3Q9XCJkaWFsb2ctYWN0aW9uc1wiXG4gICAgcmVmPXtyZWZ9XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbiJdLCJuYW1lcyI6WyJEaWFsb2ciLCJIZWFkbGVzc0RpYWxvZyIsIkRpYWxvZ1BhbmVsIiwiRGlhbG9nVGl0bGUiLCJIZWFkbGVzc0RpYWxvZ1RpdGxlIiwiRGVzY3JpcHRpb24iLCJjbiIsImRpYWxvZ1NpemVDbGFzc2VzIiwibGciLCJtZCIsInNtIiwieGwiLCJ4cyIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwib25DbG9zZSIsIm9wZW4iLCJzaXplIiwicHJvcHMiLCJkYXRhLXNsb3QiLCJkaXYiLCJyZWYiLCJEaWFsb2dEZXNjcmlwdGlvbiIsIkRpYWxvZ0JvZHkiLCJEaWFsb2dBY3Rpb25zIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FDRUEsVUFBVUMsY0FBYyxFQUN4QkMsV0FBVyxFQUNYQyxlQUFlQyxtQkFBbUIsRUFDbENDLFdBQVcsUUFDTixvQkFBb0I7QUFDM0IsU0FBUUMsRUFBRSxRQUFPLGVBQWU7QUFNaEMsTUFBTUMsb0JBQWdEO0lBQ3BELE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUEMsSUFBSTtJQUNKQyxJQUFJO0lBQ0pDLElBQUk7SUFDSkMsSUFBSTtJQUNKQyxJQUFJO0FBQ047QUFTQSxPQUFPLE1BQU1aLFNBQVMsQ0FBQyxFQUNyQmEsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUEMsSUFBSSxFQUNKQyxPQUFPLElBQUksRUFDWCxHQUFHQyxPQUNTLGlCQUNaLE1BQUNqQjtRQUFlYSxXQUFVO1FBQWdCSyxhQUFVO1FBQVNKLFNBQVNBO1FBQVNDLE1BQU1BOzswQkFDbkYsS0FBQ0k7Z0JBQUlOLFdBQVU7Z0JBQWdESyxhQUFVOzswQkFDekUsS0FBQ0M7Z0JBQUlOLFdBQVU7Z0JBQTJESyxhQUFVOzBCQUNsRixjQUFBLEtBQUNDO29CQUFJTixXQUFVO29CQUEyREssYUFBVTs4QkFDbEYsY0FBQSxLQUFDakI7d0JBQ0NZLFdBQVdSLEdBQ1Qsc01BQ0FDLGlCQUFpQixDQUFDVSxLQUFLLEVBQ3ZCSDt3QkFFRkssYUFBVTt3QkFDVCxHQUFHRCxLQUFLO2tDQUVSTDs7Ozs7T0FLVDtBQU1GLE9BQU8sTUFBTVYsY0FBYyxDQUFDLEVBQzFCVyxTQUFTLEVBQ1RPLEdBQUcsRUFDSCxHQUFHSCxPQUNjLGlCQUNqQixLQUFDZDtRQUNDVSxXQUFXUixHQUFHLHNFQUFzRVE7UUFDcEZLLGFBQVU7UUFDVkUsS0FBS0E7UUFDSixHQUFHSCxLQUFLO09BRVg7QUFNRixPQUFPLE1BQU1JLG9CQUFvQixDQUFDLEVBQ2hDUixTQUFTLEVBQ1RPLEdBQUcsRUFDSCxHQUFHSCxPQUNvQixpQkFDdkIsS0FBQ2I7UUFDQ1MsV0FBV1IsR0FBRyxtREFBbURRO1FBQ2pFSyxhQUFVO1FBQ1ZFLEtBQUtBO1FBQ0osR0FBR0gsS0FBSztPQUVYO0FBTUYsT0FBTyxNQUFNSyxhQUFhLENBQUMsRUFDekJULFNBQVMsRUFDVE8sR0FBRyxFQUNILEdBQUdILE9BQ2EsaUJBQ2hCLEtBQUNFO1FBQ0NOLFdBQVdSLEdBQUcsNkVBQTZFUTtRQUMzRkssYUFBVTtRQUNWRSxLQUFLQTtRQUNKLEdBQUdILEtBQUs7T0FFWDtBQU1GLE9BQU8sTUFBTU0sZ0JBQWdCLENBQUMsRUFDNUJWLFNBQVMsRUFDVE8sR0FBRyxFQUNILEdBQUdILE9BQ2dCLGlCQUNuQixLQUFDRTtRQUNDTixXQUFXUixHQUFHLCtEQUErRFE7UUFDN0VLLGFBQVU7UUFDVkUsS0FBS0E7UUFDSixHQUFHSCxLQUFLO09BRVgifQ==
@@ -0,0 +1,88 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React, { useEffect, useState } from 'react';
3
+ import { interactWithCanvas } from '../../utils/storyInteractions.js';
4
+ import { Button } from '../Button/Button.js';
5
+ import { Dialog, DialogActions, DialogBody, DialogDescription, DialogTitle } from './Dialog.js';
6
+ const DialogStory = (args)=>{
7
+ const [open, setOpen] = useState(args.open ?? true);
8
+ useEffect(()=>{
9
+ setOpen(args.open ?? true);
10
+ }, [
11
+ args.open
12
+ ]);
13
+ return /*#__PURE__*/ _jsxs(_Fragment, {
14
+ children: [
15
+ /*#__PURE__*/ _jsx(Button, {
16
+ label: "Open dialog",
17
+ onClick: ()=>setOpen(true)
18
+ }),
19
+ /*#__PURE__*/ _jsxs(Dialog, {
20
+ ...args,
21
+ onClose: setOpen,
22
+ open: open,
23
+ children: [
24
+ /*#__PURE__*/ _jsx(DialogTitle, {
25
+ children: "Archive project"
26
+ }),
27
+ /*#__PURE__*/ _jsx(DialogDescription, {
28
+ children: "Archived projects can be restored from workspace settings."
29
+ }),
30
+ /*#__PURE__*/ _jsx(DialogBody, {
31
+ children: "Use this dialog to confirm a destructive workflow without leaving the current task."
32
+ }),
33
+ /*#__PURE__*/ _jsxs(DialogActions, {
34
+ children: [
35
+ /*#__PURE__*/ _jsx(Button, {
36
+ label: "Cancel",
37
+ onClick: ()=>setOpen(false),
38
+ variant: "outlined"
39
+ }),
40
+ /*#__PURE__*/ _jsx(Button, {
41
+ color: "error",
42
+ label: "Archive",
43
+ onClick: ()=>setOpen(false)
44
+ })
45
+ ]
46
+ })
47
+ ]
48
+ })
49
+ ]
50
+ });
51
+ };
52
+ const meta = {
53
+ argTypes: {
54
+ open: {
55
+ control: 'boolean'
56
+ },
57
+ size: {
58
+ control: 'select',
59
+ options: [
60
+ 'xs',
61
+ 'sm',
62
+ 'md',
63
+ 'lg',
64
+ 'xl',
65
+ '2xl',
66
+ '3xl',
67
+ '4xl',
68
+ '5xl'
69
+ ]
70
+ }
71
+ },
72
+ component: Dialog,
73
+ parameters: {
74
+ layout: 'centered'
75
+ },
76
+ title: 'Components/Dialog'
77
+ };
78
+ export default meta;
79
+ export const Default = {
80
+ args: {
81
+ open: true,
82
+ size: 'lg'
83
+ },
84
+ play: interactWithCanvas,
85
+ render: DialogStory
86
+ };
87
+
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2cuc3Rvcmllcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtpbnRlcmFjdFdpdGhDYW52YXN9IGZyb20gJy4uLy4uL3V0aWxzL3N0b3J5SW50ZXJhY3Rpb25zLmpzJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICcuLi9CdXR0b24vQnV0dG9uLmpzJztcbmltcG9ydCB7RGlhbG9nLCBEaWFsb2dBY3Rpb25zLCBEaWFsb2dCb2R5LCBEaWFsb2dEZXNjcmlwdGlvbiwgRGlhbG9nVGl0bGV9IGZyb20gJy4vRGlhbG9nLmpzJztcblxuaW1wb3J0IHR5cGUge01ldGEsIFN0b3J5T2JqfSBmcm9tICdAbmxhYnMvbGV4L3N0b3J5Ym9vayc7XG5pbXBvcnQgdHlwZSB7Q29tcG9uZW50UHJvcHN9IGZyb20gJ3JlYWN0JztcblxuY29uc3QgRGlhbG9nU3RvcnkgPSAoYXJnczogT21pdDxDb21wb25lbnRQcm9wczx0eXBlb2YgRGlhbG9nPiwgJ29uQ2xvc2UnIHwgJ29wZW4nPiAmIHtvcGVuPzogYm9vbGVhbn0pID0+IHtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoYXJncy5vcGVuID8/IHRydWUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0T3BlbihhcmdzLm9wZW4gPz8gdHJ1ZSk7XG4gIH0sIFthcmdzLm9wZW5dKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8QnV0dG9uIGxhYmVsPVwiT3BlbiBkaWFsb2dcIiBvbkNsaWNrPXsoKSA9PiBzZXRPcGVuKHRydWUpfSAvPlxuICAgICAgPERpYWxvZyB7Li4uYXJnc30gb25DbG9zZT17c2V0T3Blbn0gb3Blbj17b3Blbn0+XG4gICAgICAgIDxEaWFsb2dUaXRsZT5BcmNoaXZlIHByb2plY3Q8L0RpYWxvZ1RpdGxlPlxuICAgICAgICA8RGlhbG9nRGVzY3JpcHRpb24+QXJjaGl2ZWQgcHJvamVjdHMgY2FuIGJlIHJlc3RvcmVkIGZyb20gd29ya3NwYWNlIHNldHRpbmdzLjwvRGlhbG9nRGVzY3JpcHRpb24+XG4gICAgICAgIDxEaWFsb2dCb2R5PlVzZSB0aGlzIGRpYWxvZyB0byBjb25maXJtIGEgZGVzdHJ1Y3RpdmUgd29ya2Zsb3cgd2l0aG91dCBsZWF2aW5nIHRoZSBjdXJyZW50IHRhc2suPC9EaWFsb2dCb2R5PlxuICAgICAgICA8RGlhbG9nQWN0aW9ucz5cbiAgICAgICAgICA8QnV0dG9uIGxhYmVsPVwiQ2FuY2VsXCIgb25DbGljaz17KCkgPT4gc2V0T3BlbihmYWxzZSl9IHZhcmlhbnQ9XCJvdXRsaW5lZFwiIC8+XG4gICAgICAgICAgPEJ1dHRvbiBjb2xvcj1cImVycm9yXCIgbGFiZWw9XCJBcmNoaXZlXCIgb25DbGljaz17KCkgPT4gc2V0T3BlbihmYWxzZSl9IC8+XG4gICAgICAgIDwvRGlhbG9nQWN0aW9ucz5cbiAgICAgIDwvRGlhbG9nPlxuICAgIDwvPlxuICApO1xufTtcblxuY29uc3QgbWV0YTogTWV0YTx0eXBlb2YgRGlhbG9nPiA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBvcGVuOiB7XG4gICAgICBjb250cm9sOiAnYm9vbGVhbidcbiAgICB9LFxuICAgIHNpemU6IHtcbiAgICAgIGNvbnRyb2w6ICdzZWxlY3QnLFxuICAgICAgb3B0aW9uczogWyd4cycsICdzbScsICdtZCcsICdsZycsICd4bCcsICcyeGwnLCAnM3hsJywgJzR4bCcsICc1eGwnXVxuICAgIH1cbiAgfSxcbiAgY29tcG9uZW50OiBEaWFsb2csXG4gIHBhcmFtZXRlcnM6IHtcbiAgICBsYXlvdXQ6ICdjZW50ZXJlZCdcbiAgfSxcbiAgdGl0bGU6ICdDb21wb25lbnRzL0RpYWxvZydcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG1ldGE7XG5cbnR5cGUgU3RvcnkgPSBTdG9yeU9iajx0eXBlb2YgRGlhbG9nPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHQ6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgb3BlbjogdHJ1ZSxcbiAgICBzaXplOiAnbGcnXG4gIH0gYXMgbmV2ZXIsXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiBEaWFsb2dTdG9yeSBhcyBuZXZlclxufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiaW50ZXJhY3RXaXRoQ2FudmFzIiwiQnV0dG9uIiwiRGlhbG9nIiwiRGlhbG9nQWN0aW9ucyIsIkRpYWxvZ0JvZHkiLCJEaWFsb2dEZXNjcmlwdGlvbiIsIkRpYWxvZ1RpdGxlIiwiRGlhbG9nU3RvcnkiLCJhcmdzIiwib3BlbiIsInNldE9wZW4iLCJsYWJlbCIsIm9uQ2xpY2siLCJvbkNsb3NlIiwidmFyaWFudCIsImNvbG9yIiwibWV0YSIsImFyZ1R5cGVzIiwiY29udHJvbCIsInNpemUiLCJvcHRpb25zIiwiY29tcG9uZW50IiwicGFyYW1ldGVycyIsImxheW91dCIsInRpdGxlIiwiRGVmYXVsdCIsInBsYXkiLCJyZW5kZXIiXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxTQUFRQyxTQUFTLEVBQUVDLFFBQVEsUUFBTyxRQUFRO0FBQ2pELFNBQVFDLGtCQUFrQixRQUFPLG1DQUFtQztBQUNwRSxTQUFRQyxNQUFNLFFBQU8sc0JBQXNCO0FBQzNDLFNBQVFDLE1BQU0sRUFBRUMsYUFBYSxFQUFFQyxVQUFVLEVBQUVDLGlCQUFpQixFQUFFQyxXQUFXLFFBQU8sY0FBYztBQUs5RixNQUFNQyxjQUFjLENBQUNDO0lBQ25CLE1BQU0sQ0FBQ0MsTUFBTUMsUUFBUSxHQUFHWCxTQUFTUyxLQUFLQyxJQUFJLElBQUk7SUFFOUNYLFVBQVU7UUFDUlksUUFBUUYsS0FBS0MsSUFBSSxJQUFJO0lBQ3ZCLEdBQUc7UUFBQ0QsS0FBS0MsSUFBSTtLQUFDO0lBRWQscUJBQ0U7OzBCQUNFLEtBQUNSO2dCQUFPVSxPQUFNO2dCQUFjQyxTQUFTLElBQU1GLFFBQVE7OzBCQUNuRCxNQUFDUjtnQkFBUSxHQUFHTSxJQUFJO2dCQUFFSyxTQUFTSDtnQkFBU0QsTUFBTUE7O2tDQUN4QyxLQUFDSDtrQ0FBWTs7a0NBQ2IsS0FBQ0Q7a0NBQWtCOztrQ0FDbkIsS0FBQ0Q7a0NBQVc7O2tDQUNaLE1BQUNEOzswQ0FDQyxLQUFDRjtnQ0FBT1UsT0FBTTtnQ0FBU0MsU0FBUyxJQUFNRixRQUFRO2dDQUFRSSxTQUFROzswQ0FDOUQsS0FBQ2I7Z0NBQU9jLE9BQU07Z0NBQVFKLE9BQU07Z0NBQVVDLFNBQVMsSUFBTUYsUUFBUTs7Ozs7Ozs7QUFLdkU7QUFFQSxNQUFNTSxPQUE0QjtJQUNoQ0MsVUFBVTtRQUNSUixNQUFNO1lBQ0pTLFNBQVM7UUFDWDtRQUNBQyxNQUFNO1lBQ0pELFNBQVM7WUFDVEUsU0FBUztnQkFBQztnQkFBTTtnQkFBTTtnQkFBTTtnQkFBTTtnQkFBTTtnQkFBTztnQkFBTztnQkFBTzthQUFNO1FBQ3JFO0lBQ0Y7SUFDQUMsV0FBV25CO0lBQ1hvQixZQUFZO1FBQ1ZDLFFBQVE7SUFDVjtJQUNBQyxPQUFPO0FBQ1Q7QUFFQSxlQUFlUixLQUFLO0FBSXBCLE9BQU8sTUFBTVMsVUFBaUI7SUFDNUJqQixNQUFNO1FBQ0pDLE1BQU07UUFDTlUsTUFBTTtJQUNSO0lBQ0FPLE1BQU0xQjtJQUNOMkIsUUFBUXBCO0FBQ1YsRUFBRSJ9
@@ -0,0 +1,37 @@
1
+ import type { HTMLAttributes, ReactNode, Ref } from 'react';
2
+ export type DropUploadRejectionReason = 'max-files' | 'max-size' | 'type';
3
+ export interface DropUploadItem {
4
+ readonly file: File;
5
+ readonly id: string;
6
+ readonly previewUrl?: string;
7
+ }
8
+ export interface DropUploadRejection {
9
+ readonly file: File;
10
+ readonly reason: DropUploadRejectionReason;
11
+ }
12
+ export interface DropUploadProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'onDrop'> {
13
+ readonly accept?: string;
14
+ readonly browseLabel?: string;
15
+ readonly defaultFiles?: readonly File[];
16
+ readonly disabled?: boolean;
17
+ readonly files?: readonly File[];
18
+ readonly helperText?: ReactNode;
19
+ readonly imageOutputMimeType?: 'image/jpeg' | 'image/png' | 'image/webp';
20
+ readonly imageOutputQuality?: number;
21
+ readonly imageResizeTargetHeight?: number;
22
+ readonly imageResizeTargetWidth?: number;
23
+ readonly imageResizeUpscale?: boolean;
24
+ readonly label?: ReactNode;
25
+ readonly maxFileSize?: number;
26
+ readonly maxFiles?: number;
27
+ readonly multiple?: boolean;
28
+ readonly onFilesChange?: (files: File[], items: DropUploadItem[]) => void;
29
+ readonly onReject?: (rejections: DropUploadRejection[]) => void;
30
+ readonly previewClassName?: string;
31
+ readonly ref?: Ref<HTMLDivElement>;
32
+ readonly showPreviews?: boolean;
33
+ readonly transformImages?: boolean;
34
+ }
35
+ declare const DropUploadComponent: ({ accept, browseLabel, className, defaultFiles, disabled, files, helperText, imageOutputMimeType, imageOutputQuality, imageResizeTargetHeight, imageResizeTargetWidth, imageResizeUpscale, label, maxFileSize, maxFiles, multiple, onFilesChange, onReject, previewClassName, ref, showPreviews, transformImages, ...props }: DropUploadProps) => import("react").JSX.Element;
36
+ export declare const DropUpload: import("react").MemoExoticComponent<typeof DropUploadComponent>;
37
+ export {};