@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,155 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { gothamColors } from '../../utils/colorUtils.js';
3
+ import { interactWithCanvas } from '../../utils/storyInteractions.js';
4
+ import { SelectField } from './SelectField.js';
5
+ const meta = {
6
+ argTypes: {
7
+ color: {
8
+ control: 'select',
9
+ description: 'The color of the select field',
10
+ options: gothamColors
11
+ },
12
+ defaultValue: {
13
+ control: 'text',
14
+ description: 'The default selected value'
15
+ },
16
+ label: {
17
+ control: 'text',
18
+ description: 'The label text for the select field'
19
+ },
20
+ name: {
21
+ control: 'text',
22
+ description: 'The name of the select field'
23
+ },
24
+ options: {
25
+ control: 'object',
26
+ description: 'Array of select options'
27
+ }
28
+ },
29
+ component: SelectField,
30
+ decorators: [
31
+ (Story)=>/*#__PURE__*/ _jsx("div", {
32
+ className: "flex flex-col items-center justify-center min-h-screen w-full p-4",
33
+ style: {
34
+ width: '300px'
35
+ },
36
+ children: /*#__PURE__*/ _jsx(Story, {})
37
+ })
38
+ ],
39
+ title: 'Components/Form/SelectField'
40
+ };
41
+ export default meta;
42
+ const defaultOptions = [
43
+ {
44
+ id: 1,
45
+ label: 'First Option',
46
+ value: '1'
47
+ },
48
+ {
49
+ id: 2,
50
+ label: 'Second Option',
51
+ value: '2'
52
+ },
53
+ {
54
+ id: 3,
55
+ label: 'Third Option',
56
+ value: '3'
57
+ }
58
+ ];
59
+ export const Default = {
60
+ args: {
61
+ label: 'Select an Option',
62
+ name: 'selectGroup',
63
+ options: defaultOptions
64
+ },
65
+ play: interactWithCanvas
66
+ };
67
+ export const WithDefaultValue = {
68
+ args: {
69
+ defaultValue: '2',
70
+ label: 'Select an Option',
71
+ name: 'selectGroupWithDefault',
72
+ options: defaultOptions
73
+ },
74
+ play: interactWithCanvas
75
+ };
76
+ export const WithIcons = {
77
+ args: {
78
+ label: 'Select a Category',
79
+ name: 'categorySelect',
80
+ options: [
81
+ {
82
+ icon: 'briefcase',
83
+ id: 1,
84
+ label: 'Work',
85
+ value: 'work'
86
+ },
87
+ {
88
+ icon: 'user',
89
+ id: 2,
90
+ label: 'Personal',
91
+ value: 'personal'
92
+ },
93
+ {
94
+ icon: 'shopping-cart',
95
+ id: 3,
96
+ label: 'Shopping',
97
+ value: 'shopping'
98
+ }
99
+ ]
100
+ },
101
+ play: interactWithCanvas
102
+ };
103
+ export const WithImages = {
104
+ args: {
105
+ label: 'Select a Country',
106
+ name: 'countrySelect',
107
+ options: [
108
+ {
109
+ id: 1,
110
+ image: 'https://flagcdn.com/w20/us.png',
111
+ label: 'United States',
112
+ value: 'us'
113
+ },
114
+ {
115
+ id: 2,
116
+ image: 'https://flagcdn.com/w20/gb.png',
117
+ label: 'United Kingdom',
118
+ value: 'gb'
119
+ },
120
+ {
121
+ id: 3,
122
+ image: 'https://flagcdn.com/w20/ca.png',
123
+ label: 'Canada',
124
+ value: 'ca'
125
+ }
126
+ ]
127
+ },
128
+ play: interactWithCanvas
129
+ };
130
+ export const WithLongLabels = {
131
+ args: {
132
+ label: 'Select a Plan',
133
+ name: 'planSelect',
134
+ options: [
135
+ {
136
+ id: 1,
137
+ label: 'Basic Plan - Perfect for individuals and small projects',
138
+ value: 'basic'
139
+ },
140
+ {
141
+ id: 2,
142
+ label: 'Professional Plan - Ideal for growing businesses with advanced features',
143
+ value: 'pro'
144
+ },
145
+ {
146
+ id: 3,
147
+ label: 'Enterprise Plan - Full-featured solution with dedicated support',
148
+ value: 'enterprise'
149
+ }
150
+ ]
151
+ },
152
+ play: interactWithCanvas
153
+ };
154
+
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NlbGVjdEZpZWxkL1NlbGVjdEZpZWxkLnN0b3JpZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z290aGFtQ29sb3JzfSBmcm9tICcuLi8uLi91dGlscy9jb2xvclV0aWxzLmpzJztcbmltcG9ydCB7aW50ZXJhY3RXaXRoQ2FudmFzfSBmcm9tICcuLi8uLi91dGlscy9zdG9yeUludGVyYWN0aW9ucy5qcyc7XG5pbXBvcnQge1NlbGVjdEZpZWxkfSBmcm9tICcuL1NlbGVjdEZpZWxkLmpzJztcblxuaW1wb3J0IHR5cGUge01ldGEsIFN0b3J5T2JqfSBmcm9tICdAbmxhYnMvbGV4L3N0b3J5Ym9vayc7XG5cblxuY29uc3QgbWV0YTogTWV0YTx0eXBlb2YgU2VsZWN0RmllbGQ+ID0ge1xuICBhcmdUeXBlczoge1xuICAgIGNvbG9yOiB7XG4gICAgICBjb250cm9sOiAnc2VsZWN0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGNvbG9yIG9mIHRoZSBzZWxlY3QgZmllbGQnLFxuICAgICAgb3B0aW9uczogZ290aGFtQ29sb3JzXG4gICAgfSxcbiAgICBkZWZhdWx0VmFsdWU6IHtcbiAgICAgIGNvbnRyb2w6ICd0ZXh0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGRlZmF1bHQgc2VsZWN0ZWQgdmFsdWUnXG4gICAgfSxcbiAgICBsYWJlbDoge1xuICAgICAgY29udHJvbDogJ3RleHQnLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGUgbGFiZWwgdGV4dCBmb3IgdGhlIHNlbGVjdCBmaWVsZCdcbiAgICB9LFxuICAgIG5hbWU6IHtcbiAgICAgIGNvbnRyb2w6ICd0ZXh0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIG5hbWUgb2YgdGhlIHNlbGVjdCBmaWVsZCdcbiAgICB9LFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGNvbnRyb2w6ICdvYmplY3QnLFxuICAgICAgZGVzY3JpcHRpb246ICdBcnJheSBvZiBzZWxlY3Qgb3B0aW9ucydcbiAgICB9XG4gIH0sXG4gIGNvbXBvbmVudDogU2VsZWN0RmllbGQsXG4gIGRlY29yYXRvcnM6IFtcbiAgICAoU3RvcnkpID0+IChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWluLWgtc2NyZWVuIHctZnVsbCBwLTRcIiBzdHlsZT17e3dpZHRoOiAnMzAwcHgnfX0+XG4gICAgICAgIDxTdG9yeSAvPlxuICAgICAgPC9kaXY+XG4gICAgKVxuICBdLFxuICB0aXRsZTogJ0NvbXBvbmVudHMvRm9ybS9TZWxlY3RGaWVsZCdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG1ldGE7XG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8dHlwZW9mIFNlbGVjdEZpZWxkPjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSBbXG4gIHtcbiAgICBpZDogMSxcbiAgICBsYWJlbDogJ0ZpcnN0IE9wdGlvbicsXG4gICAgdmFsdWU6ICcxJ1xuICB9LFxuICB7XG4gICAgaWQ6IDIsXG4gICAgbGFiZWw6ICdTZWNvbmQgT3B0aW9uJyxcbiAgICB2YWx1ZTogJzInXG4gIH0sXG4gIHtcbiAgICBpZDogMyxcbiAgICBsYWJlbDogJ1RoaXJkIE9wdGlvbicsXG4gICAgdmFsdWU6ICczJ1xuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdDogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICBsYWJlbDogJ1NlbGVjdCBhbiBPcHRpb24nLFxuICAgIG5hbWU6ICdzZWxlY3RHcm91cCcsXG4gICAgb3B0aW9uczogZGVmYXVsdE9wdGlvbnNcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzXG59O1xuXG5leHBvcnQgY29uc3QgV2l0aERlZmF1bHRWYWx1ZTogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICBkZWZhdWx0VmFsdWU6ICcyJyxcbiAgICBsYWJlbDogJ1NlbGVjdCBhbiBPcHRpb24nLFxuICAgIG5hbWU6ICdzZWxlY3RHcm91cFdpdGhEZWZhdWx0JyxcbiAgICBvcHRpb25zOiBkZWZhdWx0T3B0aW9uc1xuICB9LFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXNcbn07XG5cbmV4cG9ydCBjb25zdCBXaXRoSWNvbnM6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgbGFiZWw6ICdTZWxlY3QgYSBDYXRlZ29yeScsXG4gICAgbmFtZTogJ2NhdGVnb3J5U2VsZWN0JyxcbiAgICBvcHRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGljb246ICdicmllZmNhc2UnLFxuICAgICAgICBpZDogMSxcbiAgICAgICAgbGFiZWw6ICdXb3JrJyxcbiAgICAgICAgdmFsdWU6ICd3b3JrJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ3VzZXInLFxuICAgICAgICBpZDogMixcbiAgICAgICAgbGFiZWw6ICdQZXJzb25hbCcsXG4gICAgICAgIHZhbHVlOiAncGVyc29uYWwnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiAnc2hvcHBpbmctY2FydCcsXG4gICAgICAgIGlkOiAzLFxuICAgICAgICBsYWJlbDogJ1Nob3BwaW5nJyxcbiAgICAgICAgdmFsdWU6ICdzaG9wcGluZydcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhc1xufTtcblxuZXhwb3J0IGNvbnN0IFdpdGhJbWFnZXM6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgbGFiZWw6ICdTZWxlY3QgYSBDb3VudHJ5JyxcbiAgICBuYW1lOiAnY291bnRyeVNlbGVjdCcsXG4gICAgb3B0aW9uczogW1xuICAgICAge1xuICAgICAgICBpZDogMSxcbiAgICAgICAgaW1hZ2U6ICdodHRwczovL2ZsYWdjZG4uY29tL3cyMC91cy5wbmcnLFxuICAgICAgICBsYWJlbDogJ1VuaXRlZCBTdGF0ZXMnLFxuICAgICAgICB2YWx1ZTogJ3VzJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IDIsXG4gICAgICAgIGltYWdlOiAnaHR0cHM6Ly9mbGFnY2RuLmNvbS93MjAvZ2IucG5nJyxcbiAgICAgICAgbGFiZWw6ICdVbml0ZWQgS2luZ2RvbScsXG4gICAgICAgIHZhbHVlOiAnZ2InXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogMyxcbiAgICAgICAgaW1hZ2U6ICdodHRwczovL2ZsYWdjZG4uY29tL3cyMC9jYS5wbmcnLFxuICAgICAgICBsYWJlbDogJ0NhbmFkYScsXG4gICAgICAgIHZhbHVlOiAnY2EnXG4gICAgICB9XG4gICAgXVxuICB9LFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXNcbn07XG5cbmV4cG9ydCBjb25zdCBXaXRoTG9uZ0xhYmVsczogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICBsYWJlbDogJ1NlbGVjdCBhIFBsYW4nLFxuICAgIG5hbWU6ICdwbGFuU2VsZWN0JyxcbiAgICBvcHRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAxLFxuICAgICAgICBsYWJlbDogJ0Jhc2ljIFBsYW4gLSBQZXJmZWN0IGZvciBpbmRpdmlkdWFscyBhbmQgc21hbGwgcHJvamVjdHMnLFxuICAgICAgICB2YWx1ZTogJ2Jhc2ljJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IDIsXG4gICAgICAgIGxhYmVsOiAnUHJvZmVzc2lvbmFsIFBsYW4gLSBJZGVhbCBmb3IgZ3Jvd2luZyBidXNpbmVzc2VzIHdpdGggYWR2YW5jZWQgZmVhdHVyZXMnLFxuICAgICAgICB2YWx1ZTogJ3BybydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAzLFxuICAgICAgICBsYWJlbDogJ0VudGVycHJpc2UgUGxhbiAtIEZ1bGwtZmVhdHVyZWQgc29sdXRpb24gd2l0aCBkZWRpY2F0ZWQgc3VwcG9ydCcsXG4gICAgICAgIHZhbHVlOiAnZW50ZXJwcmlzZSdcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhc1xufTtcbiJdLCJuYW1lcyI6WyJnb3RoYW1Db2xvcnMiLCJpbnRlcmFjdFdpdGhDYW52YXMiLCJTZWxlY3RGaWVsZCIsIm1ldGEiLCJhcmdUeXBlcyIsImNvbG9yIiwiY29udHJvbCIsImRlc2NyaXB0aW9uIiwib3B0aW9ucyIsImRlZmF1bHRWYWx1ZSIsImxhYmVsIiwibmFtZSIsImNvbXBvbmVudCIsImRlY29yYXRvcnMiLCJTdG9yeSIsImRpdiIsImNsYXNzTmFtZSIsInN0eWxlIiwid2lkdGgiLCJ0aXRsZSIsImRlZmF1bHRPcHRpb25zIiwiaWQiLCJ2YWx1ZSIsIkRlZmF1bHQiLCJhcmdzIiwicGxheSIsIldpdGhEZWZhdWx0VmFsdWUiLCJXaXRoSWNvbnMiLCJpY29uIiwiV2l0aEltYWdlcyIsImltYWdlIiwiV2l0aExvbmdMYWJlbHMiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFRQSxZQUFZLFFBQU8sNEJBQTRCO0FBQ3ZELFNBQVFDLGtCQUFrQixRQUFPLG1DQUFtQztBQUNwRSxTQUFRQyxXQUFXLFFBQU8sbUJBQW1CO0FBSzdDLE1BQU1DLE9BQWlDO0lBQ3JDQyxVQUFVO1FBQ1JDLE9BQU87WUFDTEMsU0FBUztZQUNUQyxhQUFhO1lBQ2JDLFNBQVNSO1FBQ1g7UUFDQVMsY0FBYztZQUNaSCxTQUFTO1lBQ1RDLGFBQWE7UUFDZjtRQUNBRyxPQUFPO1lBQ0xKLFNBQVM7WUFDVEMsYUFBYTtRQUNmO1FBQ0FJLE1BQU07WUFDSkwsU0FBUztZQUNUQyxhQUFhO1FBQ2Y7UUFDQUMsU0FBUztZQUNQRixTQUFTO1lBQ1RDLGFBQWE7UUFDZjtJQUNGO0lBQ0FLLFdBQVdWO0lBQ1hXLFlBQVk7UUFDVixDQUFDQyxzQkFDQyxLQUFDQztnQkFBSUMsV0FBVTtnQkFBb0VDLE9BQU87b0JBQUNDLE9BQU87Z0JBQU87MEJBQ3ZHLGNBQUEsS0FBQ0o7O0tBR047SUFDREssT0FBTztBQUNUO0FBRUEsZUFBZWhCLEtBQUs7QUFHcEIsTUFBTWlCLGlCQUFpQjtJQUNyQjtRQUNFQyxJQUFJO1FBQ0pYLE9BQU87UUFDUFksT0FBTztJQUNUO0lBQ0E7UUFDRUQsSUFBSTtRQUNKWCxPQUFPO1FBQ1BZLE9BQU87SUFDVDtJQUNBO1FBQ0VELElBQUk7UUFDSlgsT0FBTztRQUNQWSxPQUFPO0lBQ1Q7Q0FDRDtBQUVELE9BQU8sTUFBTUMsVUFBaUI7SUFDNUJDLE1BQU07UUFDSmQsT0FBTztRQUNQQyxNQUFNO1FBQ05ILFNBQVNZO0lBQ1g7SUFDQUssTUFBTXhCO0FBQ1IsRUFBRTtBQUVGLE9BQU8sTUFBTXlCLG1CQUEwQjtJQUNyQ0YsTUFBTTtRQUNKZixjQUFjO1FBQ2RDLE9BQU87UUFDUEMsTUFBTTtRQUNOSCxTQUFTWTtJQUNYO0lBQ0FLLE1BQU14QjtBQUNSLEVBQUU7QUFFRixPQUFPLE1BQU0wQixZQUFtQjtJQUM5QkgsTUFBTTtRQUNKZCxPQUFPO1FBQ1BDLE1BQU07UUFDTkgsU0FBUztZQUNQO2dCQUNFb0IsTUFBTTtnQkFDTlAsSUFBSTtnQkFDSlgsT0FBTztnQkFDUFksT0FBTztZQUNUO1lBQ0E7Z0JBQ0VNLE1BQU07Z0JBQ05QLElBQUk7Z0JBQ0pYLE9BQU87Z0JBQ1BZLE9BQU87WUFDVDtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOUCxJQUFJO2dCQUNKWCxPQUFPO2dCQUNQWSxPQUFPO1lBQ1Q7U0FDRDtJQUNIO0lBQ0FHLE1BQU14QjtBQUNSLEVBQUU7QUFFRixPQUFPLE1BQU00QixhQUFvQjtJQUMvQkwsTUFBTTtRQUNKZCxPQUFPO1FBQ1BDLE1BQU07UUFDTkgsU0FBUztZQUNQO2dCQUNFYSxJQUFJO2dCQUNKUyxPQUFPO2dCQUNQcEIsT0FBTztnQkFDUFksT0FBTztZQUNUO1lBQ0E7Z0JBQ0VELElBQUk7Z0JBQ0pTLE9BQU87Z0JBQ1BwQixPQUFPO2dCQUNQWSxPQUFPO1lBQ1Q7WUFDQTtnQkFDRUQsSUFBSTtnQkFDSlMsT0FBTztnQkFDUHBCLE9BQU87Z0JBQ1BZLE9BQU87WUFDVDtTQUNEO0lBQ0g7SUFDQUcsTUFBTXhCO0FBQ1IsRUFBRTtBQUVGLE9BQU8sTUFBTThCLGlCQUF3QjtJQUNuQ1AsTUFBTTtRQUNKZCxPQUFPO1FBQ1BDLE1BQU07UUFDTkgsU0FBUztZQUNQO2dCQUNFYSxJQUFJO2dCQUNKWCxPQUFPO2dCQUNQWSxPQUFPO1lBQ1Q7WUFDQTtnQkFDRUQsSUFBSTtnQkFDSlgsT0FBTztnQkFDUFksT0FBTztZQUNUO1lBQ0E7Z0JBQ0VELElBQUk7Z0JBQ0pYLE9BQU87Z0JBQ1BZLE9BQU87WUFDVDtTQUNEO0lBQ0g7SUFDQUcsTUFBTXhCO0FBQ1IsRUFBRSJ9
@@ -0,0 +1,13 @@
1
+ export type SelectFieldOption = {
2
+ readonly icon?: string;
3
+ readonly id?: number | string;
4
+ readonly image?: string;
5
+ readonly label: string;
6
+ readonly value: string | number | boolean;
7
+ };
8
+ export type SelectOptionProps = {
9
+ readonly option: SelectFieldOption;
10
+ };
11
+ declare const SelectOptionComponent: ({ option }: SelectOptionProps) => import("react").JSX.Element;
12
+ export declare const SelectOption: import("react").MemoExoticComponent<typeof SelectOptionComponent>;
13
+ export {};
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ListboxOption } from '@headlessui/react';
3
+ import { Check } from 'lucide-react';
4
+ import { memo } from 'react';
5
+ import { Svg } from '../Svg/Svg.js';
6
+ const SelectOptionComponent = ({ option })=>/*#__PURE__*/ _jsxs(ListboxOption, {
7
+ className: "group relative cursor-default py-2 pr-9 pl-3 text-gray-900 select-none data-focus:bg-indigo-600 data-focus:text-white data-focus:outline-hidden",
8
+ value: String(option.value),
9
+ children: [
10
+ /*#__PURE__*/ _jsxs("div", {
11
+ className: "flex items-center",
12
+ children: [
13
+ option.icon && /*#__PURE__*/ _jsx(Svg, {
14
+ className: "size-5 shrink-0 rounded-full",
15
+ name: option.icon
16
+ }),
17
+ option.image && /*#__PURE__*/ _jsx("img", {
18
+ alt: "",
19
+ className: "size-5 shrink-0 rounded-full",
20
+ src: option.image
21
+ }),
22
+ /*#__PURE__*/ _jsx("span", {
23
+ className: "ml-3 block truncate font-normal group-data-selected:font-semibold",
24
+ children: option.label
25
+ })
26
+ ]
27
+ }),
28
+ /*#__PURE__*/ _jsx("span", {
29
+ className: "absolute inset-y-0 right-0 flex items-center pr-4 text-indigo-600 group-not-data-selected:hidden group-data-focus:text-white",
30
+ children: /*#__PURE__*/ _jsx(Check, {
31
+ "aria-hidden": "true",
32
+ className: "size-5"
33
+ })
34
+ })
35
+ ]
36
+ }, option.id || option.label);
37
+ export const SelectOption = /*#__PURE__*/ memo(SelectOptionComponent);
38
+ SelectOption.displayName = 'SelectOption';
39
+
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NlbGVjdEZpZWxkL1NlbGVjdE9wdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMaXN0Ym94T3B0aW9ufSBmcm9tICdAaGVhZGxlc3N1aS9yZWFjdCc7XG5pbXBvcnQge0NoZWNrfSBmcm9tICdsdWNpZGUtcmVhY3QnO1xuaW1wb3J0IHttZW1vfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7U3ZnfSBmcm9tICcuLi9TdmcvU3ZnLmpzJztcblxuZXhwb3J0IHR5cGUgU2VsZWN0RmllbGRPcHRpb24gPSB7XG4gIHJlYWRvbmx5IGljb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlkPzogbnVtYmVyIHwgc3RyaW5nO1xuICByZWFkb25seSBpbWFnZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb25Qcm9wcyA9IHtcbiAgcmVhZG9ubHkgb3B0aW9uOiBTZWxlY3RGaWVsZE9wdGlvbjtcbn07XG5jb25zdCBTZWxlY3RPcHRpb25Db21wb25lbnQgPSAoe29wdGlvbn06IFNlbGVjdE9wdGlvblByb3BzKSA9PiAoXG4gIDxMaXN0Ym94T3B0aW9uXG4gICAgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgY3Vyc29yLWRlZmF1bHQgcHktMiBwci05IHBsLTMgdGV4dC1ncmF5LTkwMCBzZWxlY3Qtbm9uZSBkYXRhLWZvY3VzOmJnLWluZGlnby02MDAgZGF0YS1mb2N1czp0ZXh0LXdoaXRlIGRhdGEtZm9jdXM6b3V0bGluZS1oaWRkZW5cIlxuICAgIGtleT17b3B0aW9uLmlkIHx8IG9wdGlvbi5sYWJlbH1cbiAgICB2YWx1ZT17U3RyaW5nKG9wdGlvbi52YWx1ZSl9XG4gID5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICB7b3B0aW9uLmljb24gJiYgPFN2ZyBjbGFzc05hbWU9XCJzaXplLTUgc2hyaW5rLTAgcm91bmRlZC1mdWxsXCIgbmFtZT17b3B0aW9uLmljb259IC8+fVxuICAgICAge29wdGlvbi5pbWFnZSAmJiA8aW1nIGFsdD1cIlwiIGNsYXNzTmFtZT1cInNpemUtNSBzaHJpbmstMCByb3VuZGVkLWZ1bGxcIiBzcmM9e29wdGlvbi5pbWFnZX0gLz59XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJtbC0zIGJsb2NrIHRydW5jYXRlIGZvbnQtbm9ybWFsIGdyb3VwLWRhdGEtc2VsZWN0ZWQ6Zm9udC1zZW1pYm9sZFwiPntvcHRpb24ubGFiZWx9PC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQteS0wIHJpZ2h0LTAgZmxleCBpdGVtcy1jZW50ZXIgcHItNCB0ZXh0LWluZGlnby02MDAgZ3JvdXAtbm90LWRhdGEtc2VsZWN0ZWQ6aGlkZGVuIGdyb3VwLWRhdGEtZm9jdXM6dGV4dC13aGl0ZVwiPlxuICAgICAgPENoZWNrIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzTmFtZT1cInNpemUtNVwiIC8+XG4gICAgPC9zcGFuPlxuICA8L0xpc3Rib3hPcHRpb24+XG4pO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0T3B0aW9uID0gbWVtbyhTZWxlY3RPcHRpb25Db21wb25lbnQpO1xuU2VsZWN0T3B0aW9uLmRpc3BsYXlOYW1lID0gJ1NlbGVjdE9wdGlvbic7XG4iXSwibmFtZXMiOlsiTGlzdGJveE9wdGlvbiIsIkNoZWNrIiwibWVtbyIsIlN2ZyIsIlNlbGVjdE9wdGlvbkNvbXBvbmVudCIsIm9wdGlvbiIsImNsYXNzTmFtZSIsInZhbHVlIiwiU3RyaW5nIiwiZGl2IiwiaWNvbiIsIm5hbWUiLCJpbWFnZSIsImltZyIsImFsdCIsInNyYyIsInNwYW4iLCJsYWJlbCIsImFyaWEtaGlkZGVuIiwiaWQiLCJTZWxlY3RPcHRpb24iLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLGFBQWEsUUFBTyxvQkFBb0I7QUFDaEQsU0FBUUMsS0FBSyxRQUFPLGVBQWU7QUFDbkMsU0FBUUMsSUFBSSxRQUFPLFFBQVE7QUFFM0IsU0FBUUMsR0FBRyxRQUFPLGdCQUFnQjtBQWFsQyxNQUFNQyx3QkFBd0IsQ0FBQyxFQUFDQyxNQUFNLEVBQW9CLGlCQUN4RCxNQUFDTDtRQUNDTSxXQUFVO1FBRVZDLE9BQU9DLE9BQU9ILE9BQU9FLEtBQUs7OzBCQUUxQixNQUFDRTtnQkFBSUgsV0FBVTs7b0JBQ1pELE9BQU9LLElBQUksa0JBQUksS0FBQ1A7d0JBQUlHLFdBQVU7d0JBQStCSyxNQUFNTixPQUFPSyxJQUFJOztvQkFDOUVMLE9BQU9PLEtBQUssa0JBQUksS0FBQ0M7d0JBQUlDLEtBQUk7d0JBQUdSLFdBQVU7d0JBQStCUyxLQUFLVixPQUFPTyxLQUFLOztrQ0FDdkYsS0FBQ0k7d0JBQUtWLFdBQVU7a0NBQXFFRCxPQUFPWSxLQUFLOzs7OzBCQUduRyxLQUFDRDtnQkFBS1YsV0FBVTswQkFDZCxjQUFBLEtBQUNMO29CQUFNaUIsZUFBWTtvQkFBT1osV0FBVTs7OztPQVZqQ0QsT0FBT2MsRUFBRSxJQUFJZCxPQUFPWSxLQUFLO0FBZWxDLE9BQU8sTUFBTUcsNkJBQWVsQixLQUFLRSx1QkFBdUI7QUFDeERnQixhQUFhQyxXQUFXLEdBQUcifQ==
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Listbox } from '@headlessui/react';
3
+ import React from 'react';
4
+ import { interactWithCanvas } from '../../utils/storyInteractions.js';
5
+ import { SelectOption } from './SelectOption.js';
6
+ const meta = {
7
+ argTypes: {
8
+ option: {
9
+ control: 'object'
10
+ }
11
+ },
12
+ component: SelectOption,
13
+ parameters: {
14
+ layout: 'centered'
15
+ },
16
+ title: 'Components/Form/SelectOption'
17
+ };
18
+ export default meta;
19
+ export const Default = {
20
+ args: {
21
+ option: {
22
+ id: 'docs',
23
+ label: 'Documentation',
24
+ value: 'docs'
25
+ }
26
+ },
27
+ play: interactWithCanvas,
28
+ render: (args)=>/*#__PURE__*/ _jsx(Listbox, {
29
+ value: args.option,
30
+ children: /*#__PURE__*/ _jsx(Listbox.Options, {
31
+ static: true,
32
+ className: "w-64 rounded-md border bg-white p-1 shadow",
33
+ children: /*#__PURE__*/ _jsx(SelectOption, {
34
+ ...args
35
+ })
36
+ })
37
+ })
38
+ };
39
+
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NlbGVjdEZpZWxkL1NlbGVjdE9wdGlvbi5zdG9yaWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xpc3Rib3h9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7aW50ZXJhY3RXaXRoQ2FudmFzfSBmcm9tICcuLi8uLi91dGlscy9zdG9yeUludGVyYWN0aW9ucy5qcyc7XG5pbXBvcnQge1NlbGVjdE9wdGlvbn0gZnJvbSAnLi9TZWxlY3RPcHRpb24uanMnO1xuXG5pbXBvcnQgdHlwZSB7TWV0YSwgU3RvcnlPYmp9IGZyb20gJ0BubGFicy9sZXgvc3Rvcnlib29rJztcblxuY29uc3QgbWV0YTogTWV0YTx0eXBlb2YgU2VsZWN0T3B0aW9uPiA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBvcHRpb246IHtcbiAgICAgIGNvbnRyb2w6ICdvYmplY3QnXG4gICAgfVxuICB9LFxuICBjb21wb25lbnQ6IFNlbGVjdE9wdGlvbixcbiAgcGFyYW1ldGVyczoge1xuICAgIGxheW91dDogJ2NlbnRlcmVkJ1xuICB9LFxuICB0aXRsZTogJ0NvbXBvbmVudHMvRm9ybS9TZWxlY3RPcHRpb24nXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xuXG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8dHlwZW9mIFNlbGVjdE9wdGlvbj47XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0OiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIG9wdGlvbjoge1xuICAgICAgaWQ6ICdkb2NzJyxcbiAgICAgIGxhYmVsOiAnRG9jdW1lbnRhdGlvbicsXG4gICAgICB2YWx1ZTogJ2RvY3MnXG4gICAgfVxuICB9LFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXMsXG4gIHJlbmRlcjogKGFyZ3MpID0+IChcbiAgICA8TGlzdGJveCB2YWx1ZT17YXJncy5vcHRpb259PlxuICAgICAgPExpc3Rib3guT3B0aW9ucyBzdGF0aWMgY2xhc3NOYW1lPVwidy02NCByb3VuZGVkLW1kIGJvcmRlciBiZy13aGl0ZSBwLTEgc2hhZG93XCI+XG4gICAgICAgIDxTZWxlY3RPcHRpb24gey4uLmFyZ3N9IC8+XG4gICAgICA8L0xpc3Rib3guT3B0aW9ucz5cbiAgICA8L0xpc3Rib3g+XG4gIClcbn07XG4iXSwibmFtZXMiOlsiTGlzdGJveCIsIlJlYWN0IiwiaW50ZXJhY3RXaXRoQ2FudmFzIiwiU2VsZWN0T3B0aW9uIiwibWV0YSIsImFyZ1R5cGVzIiwib3B0aW9uIiwiY29udHJvbCIsImNvbXBvbmVudCIsInBhcmFtZXRlcnMiLCJsYXlvdXQiLCJ0aXRsZSIsIkRlZmF1bHQiLCJhcmdzIiwiaWQiLCJsYWJlbCIsInZhbHVlIiwicGxheSIsInJlbmRlciIsIk9wdGlvbnMiLCJzdGF0aWMiLCJjbGFzc05hbWUiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFRQSxPQUFPLFFBQU8sb0JBQW9CO0FBQzFDLE9BQU9DLFdBQVcsUUFBUTtBQUUxQixTQUFRQyxrQkFBa0IsUUFBTyxtQ0FBbUM7QUFDcEUsU0FBUUMsWUFBWSxRQUFPLG9CQUFvQjtBQUkvQyxNQUFNQyxPQUFrQztJQUN0Q0MsVUFBVTtRQUNSQyxRQUFRO1lBQ05DLFNBQVM7UUFDWDtJQUNGO0lBQ0FDLFdBQVdMO0lBQ1hNLFlBQVk7UUFDVkMsUUFBUTtJQUNWO0lBQ0FDLE9BQU87QUFDVDtBQUVBLGVBQWVQLEtBQUs7QUFJcEIsT0FBTyxNQUFNUSxVQUFpQjtJQUM1QkMsTUFBTTtRQUNKUCxRQUFRO1lBQ05RLElBQUk7WUFDSkMsT0FBTztZQUNQQyxPQUFPO1FBQ1Q7SUFDRjtJQUNBQyxNQUFNZjtJQUNOZ0IsUUFBUSxDQUFDTCxxQkFDUCxLQUFDYjtZQUFRZ0IsT0FBT0gsS0FBS1AsTUFBTTtzQkFDekIsY0FBQSxLQUFDTixRQUFRbUIsT0FBTztnQkFBQ0MsTUFBTTtnQkFBQ0MsV0FBVTswQkFDaEMsY0FBQSxLQUFDbEI7b0JBQWMsR0FBR1UsSUFBSTs7OztBQUk5QixFQUFFIn0=
@@ -0,0 +1,6 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export interface SeparatorProps extends HTMLAttributes<HTMLDivElement> {
3
+ readonly decorative?: boolean;
4
+ readonly orientation?: 'horizontal' | 'vertical';
5
+ }
6
+ export declare const Separator: ({ 'aria-orientation': ariaOrientation, className, decorative, orientation, role, ...props }: SeparatorProps) => import("react").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '@nlabs/utils';
3
+ export const Separator = ({ 'aria-orientation': ariaOrientation, className, decorative = true, orientation = 'horizontal', role, ...props })=>/*#__PURE__*/ _jsx("div", {
4
+ "aria-hidden": decorative ? true : undefined,
5
+ "aria-orientation": ariaOrientation ?? orientation,
6
+ className: cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-px w-full' : 'h-full w-px', className),
7
+ "data-orientation": orientation,
8
+ "data-slot": "separator",
9
+ role: role ?? (decorative ? 'presentation' : 'separator'),
10
+ ...props
11
+ });
12
+
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NlcGFyYXRvci9TZXBhcmF0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y259IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB0eXBlIHtIVE1MQXR0cmlidXRlc30gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlcGFyYXRvclByb3BzIGV4dGVuZHMgSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+IHtcbiAgcmVhZG9ubHkgZGVjb3JhdGl2ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IG9yaWVudGF0aW9uPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcbn1cblxuZXhwb3J0IGNvbnN0IFNlcGFyYXRvciA9ICh7XG4gICdhcmlhLW9yaWVudGF0aW9uJzogYXJpYU9yaWVudGF0aW9uLFxuICBjbGFzc05hbWUsXG4gIGRlY29yYXRpdmUgPSB0cnVlLFxuICBvcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJyxcbiAgcm9sZSxcbiAgLi4ucHJvcHNcbn06IFNlcGFyYXRvclByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBhcmlhLWhpZGRlbj17ZGVjb3JhdGl2ZSA/IHRydWUgOiB1bmRlZmluZWR9XG4gICAgYXJpYS1vcmllbnRhdGlvbj17YXJpYU9yaWVudGF0aW9uID8/IG9yaWVudGF0aW9ufVxuICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAnc2hyaW5rLTAgYmctYm9yZGVyJyxcbiAgICAgIG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAnaC1weCB3LWZ1bGwnIDogJ2gtZnVsbCB3LXB4JyxcbiAgICAgIGNsYXNzTmFtZVxuICAgICl9XG4gICAgZGF0YS1vcmllbnRhdGlvbj17b3JpZW50YXRpb259XG4gICAgZGF0YS1zbG90PVwic2VwYXJhdG9yXCJcbiAgICByb2xlPXtyb2xlID8/IChkZWNvcmF0aXZlID8gJ3ByZXNlbnRhdGlvbicgOiAnc2VwYXJhdG9yJyl9XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbiJdLCJuYW1lcyI6WyJjbiIsIlNlcGFyYXRvciIsImFyaWFPcmllbnRhdGlvbiIsImNsYXNzTmFtZSIsImRlY29yYXRpdmUiLCJvcmllbnRhdGlvbiIsInJvbGUiLCJwcm9wcyIsImRpdiIsImFyaWEtaGlkZGVuIiwidW5kZWZpbmVkIiwiYXJpYS1vcmllbnRhdGlvbiIsImRhdGEtb3JpZW50YXRpb24iLCJkYXRhLXNsb3QiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFRQSxFQUFFLFFBQU8sZUFBZTtBQVNoQyxPQUFPLE1BQU1DLFlBQVksQ0FBQyxFQUN4QixvQkFBb0JDLGVBQWUsRUFDbkNDLFNBQVMsRUFDVEMsYUFBYSxJQUFJLEVBQ2pCQyxjQUFjLFlBQVksRUFDMUJDLElBQUksRUFDSixHQUFHQyxPQUNZLGlCQUNmLEtBQUNDO1FBQ0NDLGVBQWFMLGFBQWEsT0FBT007UUFDakNDLG9CQUFrQlQsbUJBQW1CRztRQUNyQ0YsV0FBV0gsR0FDVCxzQkFDQUssZ0JBQWdCLGVBQWUsZ0JBQWdCLGVBQy9DRjtRQUVGUyxvQkFBa0JQO1FBQ2xCUSxhQUFVO1FBQ1ZQLE1BQU1BLFFBQVNGLENBQUFBLGFBQWEsaUJBQWlCLFdBQVU7UUFDdEQsR0FBR0csS0FBSztPQUVYIn0=
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { focusCanvas } from '../../utils/storyInteractions.js';
4
+ import { Separator } from './Separator.js';
5
+ const meta = {
6
+ argTypes: {
7
+ decorative: {
8
+ control: 'boolean'
9
+ },
10
+ orientation: {
11
+ control: 'select',
12
+ options: [
13
+ 'horizontal',
14
+ 'vertical'
15
+ ]
16
+ }
17
+ },
18
+ component: Separator,
19
+ parameters: {
20
+ layout: 'centered'
21
+ },
22
+ title: 'Components/Separator'
23
+ };
24
+ export default meta;
25
+ export const Horizontal = {
26
+ args: {
27
+ decorative: false,
28
+ orientation: 'horizontal'
29
+ },
30
+ play: focusCanvas,
31
+ render: (args)=>/*#__PURE__*/ _jsxs("div", {
32
+ className: "w-80 space-y-3",
33
+ children: [
34
+ /*#__PURE__*/ _jsx("p", {
35
+ className: "text-sm",
36
+ children: "Section above"
37
+ }),
38
+ /*#__PURE__*/ _jsx(Separator, {
39
+ ...args
40
+ }),
41
+ /*#__PURE__*/ _jsx("p", {
42
+ className: "text-sm",
43
+ children: "Section below"
44
+ })
45
+ ]
46
+ })
47
+ };
48
+ export const Vertical = {
49
+ args: {
50
+ decorative: false,
51
+ orientation: 'vertical'
52
+ },
53
+ play: focusCanvas,
54
+ render: (args)=>/*#__PURE__*/ _jsxs("div", {
55
+ className: "flex h-16 items-center gap-4",
56
+ children: [
57
+ /*#__PURE__*/ _jsx("span", {
58
+ children: "Left"
59
+ }),
60
+ /*#__PURE__*/ _jsx(Separator, {
61
+ ...args
62
+ }),
63
+ /*#__PURE__*/ _jsx("span", {
64
+ children: "Right"
65
+ })
66
+ ]
67
+ })
68
+ };
69
+
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NlcGFyYXRvci9TZXBhcmF0b3Iuc3Rvcmllcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7Zm9jdXNDYW52YXN9IGZyb20gJy4uLy4uL3V0aWxzL3N0b3J5SW50ZXJhY3Rpb25zLmpzJztcbmltcG9ydCB7U2VwYXJhdG9yfSBmcm9tICcuL1NlcGFyYXRvci5qcyc7XG5cbmltcG9ydCB0eXBlIHtNZXRhLCBTdG9yeU9ian0gZnJvbSAnQG5sYWJzL2xleC9zdG9yeWJvb2snO1xuXG5jb25zdCBtZXRhOiBNZXRhPHR5cGVvZiBTZXBhcmF0b3I+ID0ge1xuICBhcmdUeXBlczoge1xuICAgIGRlY29yYXRpdmU6IHtcbiAgICAgIGNvbnRyb2w6ICdib29sZWFuJ1xuICAgIH0sXG4gICAgb3JpZW50YXRpb246IHtcbiAgICAgIGNvbnRyb2w6ICdzZWxlY3QnLFxuICAgICAgb3B0aW9uczogWydob3Jpem9udGFsJywgJ3ZlcnRpY2FsJ11cbiAgICB9XG4gIH0sXG4gIGNvbXBvbmVudDogU2VwYXJhdG9yLFxuICBwYXJhbWV0ZXJzOiB7XG4gICAgbGF5b3V0OiAnY2VudGVyZWQnXG4gIH0sXG4gIHRpdGxlOiAnQ29tcG9uZW50cy9TZXBhcmF0b3InXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xuXG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8dHlwZW9mIFNlcGFyYXRvcj47XG5cbmV4cG9ydCBjb25zdCBIb3Jpem9udGFsOiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIGRlY29yYXRpdmU6IGZhbHNlLFxuICAgIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCdcbiAgfSxcbiAgcGxheTogZm9jdXNDYW52YXMsXG4gIHJlbmRlcjogKGFyZ3MpID0+IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInctODAgc3BhY2UteS0zXCI+XG4gICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtXCI+U2VjdGlvbiBhYm92ZTwvcD5cbiAgICAgIDxTZXBhcmF0b3Igey4uLmFyZ3N9IC8+XG4gICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtXCI+U2VjdGlvbiBiZWxvdzwvcD5cbiAgICA8L2Rpdj5cbiAgKVxufTtcblxuZXhwb3J0IGNvbnN0IFZlcnRpY2FsOiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIGRlY29yYXRpdmU6IGZhbHNlLFxuICAgIG9yaWVudGF0aW9uOiAndmVydGljYWwnXG4gIH0sXG4gIHBsYXk6IGZvY3VzQ2FudmFzLFxuICByZW5kZXI6IChhcmdzKSA9PiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtMTYgaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICA8c3Bhbj5MZWZ0PC9zcGFuPlxuICAgICAgPFNlcGFyYXRvciB7Li4uYXJnc30gLz5cbiAgICAgIDxzcGFuPlJpZ2h0PC9zcGFuPlxuICAgIDwvZGl2PlxuICApXG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiZm9jdXNDYW52YXMiLCJTZXBhcmF0b3IiLCJtZXRhIiwiYXJnVHlwZXMiLCJkZWNvcmF0aXZlIiwiY29udHJvbCIsIm9yaWVudGF0aW9uIiwib3B0aW9ucyIsImNvbXBvbmVudCIsInBhcmFtZXRlcnMiLCJsYXlvdXQiLCJ0aXRsZSIsIkhvcml6b250YWwiLCJhcmdzIiwicGxheSIsInJlbmRlciIsImRpdiIsImNsYXNzTmFtZSIsInAiLCJWZXJ0aWNhbCIsInNwYW4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxXQUFXLFFBQVE7QUFDMUIsU0FBUUMsV0FBVyxRQUFPLG1DQUFtQztBQUM3RCxTQUFRQyxTQUFTLFFBQU8saUJBQWlCO0FBSXpDLE1BQU1DLE9BQStCO0lBQ25DQyxVQUFVO1FBQ1JDLFlBQVk7WUFDVkMsU0FBUztRQUNYO1FBQ0FDLGFBQWE7WUFDWEQsU0FBUztZQUNURSxTQUFTO2dCQUFDO2dCQUFjO2FBQVc7UUFDckM7SUFDRjtJQUNBQyxXQUFXUDtJQUNYUSxZQUFZO1FBQ1ZDLFFBQVE7SUFDVjtJQUNBQyxPQUFPO0FBQ1Q7QUFFQSxlQUFlVCxLQUFLO0FBSXBCLE9BQU8sTUFBTVUsYUFBb0I7SUFDL0JDLE1BQU07UUFDSlQsWUFBWTtRQUNaRSxhQUFhO0lBQ2Y7SUFDQVEsTUFBTWQ7SUFDTmUsUUFBUSxDQUFDRixxQkFDUCxNQUFDRztZQUFJQyxXQUFVOzs4QkFDYixLQUFDQztvQkFBRUQsV0FBVTs4QkFBVTs7OEJBQ3ZCLEtBQUNoQjtvQkFBVyxHQUFHWSxJQUFJOzs4QkFDbkIsS0FBQ0s7b0JBQUVELFdBQVU7OEJBQVU7Ozs7QUFHN0IsRUFBRTtBQUVGLE9BQU8sTUFBTUUsV0FBa0I7SUFDN0JOLE1BQU07UUFDSlQsWUFBWTtRQUNaRSxhQUFhO0lBQ2Y7SUFDQVEsTUFBTWQ7SUFDTmUsUUFBUSxDQUFDRixxQkFDUCxNQUFDRztZQUFJQyxXQUFVOzs4QkFDYixLQUFDRzs4QkFBSzs7OEJBQ04sS0FBQ25CO29CQUFXLEdBQUdZLElBQUk7OzhCQUNuQixLQUFDTzs4QkFBSzs7OztBQUdaLEVBQUUifQ==
@@ -0,0 +1,2 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export declare const Skeleton: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '@nlabs/utils';
3
+ export const Skeleton = ({ className, ...props })=>/*#__PURE__*/ _jsx("div", {
4
+ className: cn('animate-pulse rounded-md bg-accent', className),
5
+ "data-slot": "skeleton",
6
+ ...props
7
+ });
8
+
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NrZWxldG9uL1NrZWxldG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NufSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7SFRNTEF0dHJpYnV0ZXN9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IFNrZWxldG9uID0gKHtjbGFzc05hbWUsIC4uLnByb3BzfTogSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+KSA9PiAoXG4gIDxkaXZcbiAgICBjbGFzc05hbWU9e2NuKCdhbmltYXRlLXB1bHNlIHJvdW5kZWQtbWQgYmctYWNjZW50JywgY2xhc3NOYW1lKX1cbiAgICBkYXRhLXNsb3Q9XCJza2VsZXRvblwiXG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbiJdLCJuYW1lcyI6WyJjbiIsIlNrZWxldG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiLCJkYXRhLXNsb3QiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFRQSxFQUFFLFFBQU8sZUFBZTtBQUloQyxPQUFPLE1BQU1DLFdBQVcsQ0FBQyxFQUFDQyxTQUFTLEVBQUUsR0FBR0MsT0FBc0MsaUJBQzVFLEtBQUNDO1FBQ0NGLFdBQVdGLEdBQUcsc0NBQXNDRTtRQUNwREcsYUFBVTtRQUNULEdBQUdGLEtBQUs7T0FFWCJ9
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { focusCanvas } from '../../utils/storyInteractions.js';
3
+ import { Skeleton } from './Skeleton.js';
4
+ const meta = {
5
+ argTypes: {
6
+ className: {
7
+ control: 'text'
8
+ }
9
+ },
10
+ component: Skeleton,
11
+ parameters: {
12
+ layout: 'centered'
13
+ },
14
+ title: 'Components/Skeleton'
15
+ };
16
+ export default meta;
17
+ export const Default = {
18
+ args: {
19
+ className: 'h-24 w-80'
20
+ },
21
+ play: focusCanvas
22
+ };
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NrZWxldG9uL1NrZWxldG9uLnN0b3JpZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZvY3VzQ2FudmFzfSBmcm9tICcuLi8uLi91dGlscy9zdG9yeUludGVyYWN0aW9ucy5qcyc7XG5pbXBvcnQge1NrZWxldG9ufSBmcm9tICcuL1NrZWxldG9uLmpzJztcblxuaW1wb3J0IHR5cGUge01ldGEsIFN0b3J5T2JqfSBmcm9tICdAbmxhYnMvbGV4L3N0b3J5Ym9vayc7XG5cbmNvbnN0IG1ldGE6IE1ldGE8dHlwZW9mIFNrZWxldG9uPiA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBjbGFzc05hbWU6IHtcbiAgICAgIGNvbnRyb2w6ICd0ZXh0J1xuICAgIH1cbiAgfSxcbiAgY29tcG9uZW50OiBTa2VsZXRvbixcbiAgcGFyYW1ldGVyczoge1xuICAgIGxheW91dDogJ2NlbnRlcmVkJ1xuICB9LFxuICB0aXRsZTogJ0NvbXBvbmVudHMvU2tlbGV0b24nXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xuXG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8dHlwZW9mIFNrZWxldG9uPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHQ6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgY2xhc3NOYW1lOiAnaC0yNCB3LTgwJ1xuICB9LFxuICBwbGF5OiBmb2N1c0NhbnZhc1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImZvY3VzQ2FudmFzIiwiU2tlbGV0b24iLCJtZXRhIiwiYXJnVHlwZXMiLCJjbGFzc05hbWUiLCJjb250cm9sIiwiY29tcG9uZW50IiwicGFyYW1ldGVycyIsImxheW91dCIsInRpdGxlIiwiRGVmYXVsdCIsImFyZ3MiLCJwbGF5Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxXQUFXLFFBQVE7QUFDMUIsU0FBUUMsV0FBVyxRQUFPLG1DQUFtQztBQUM3RCxTQUFRQyxRQUFRLFFBQU8sZ0JBQWdCO0FBSXZDLE1BQU1DLE9BQThCO0lBQ2xDQyxVQUFVO1FBQ1JDLFdBQVc7WUFDVEMsU0FBUztRQUNYO0lBQ0Y7SUFDQUMsV0FBV0w7SUFDWE0sWUFBWTtRQUNWQyxRQUFRO0lBQ1Y7SUFDQUMsT0FBTztBQUNUO0FBRUEsZUFBZVAsS0FBSztBQUlwQixPQUFPLE1BQU1RLFVBQWlCO0lBQzVCQyxNQUFNO1FBQ0pQLFdBQVc7SUFDYjtJQUNBUSxNQUFNWjtBQUNSLEVBQUUifQ==
@@ -0,0 +1,9 @@
1
+ import type { FC } from 'react';
2
+ export interface SvgProps {
3
+ readonly className?: string;
4
+ readonly color?: string;
5
+ readonly height?: number;
6
+ readonly name: string;
7
+ readonly width?: number;
8
+ }
9
+ export declare const Svg: FC<SvgProps>;
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2018-Present, Nitrogen Labs, Inc.
4
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
5
+ */ import { cn } from '@nlabs/utils';
6
+ import { Config } from '../../config/appConfig.js';
7
+ export const Svg = ({ className, color = 'inherit', height = 32, name, width = 32 })=>{
8
+ const baseUrl = Config.get('baseUrl', '');
9
+ const iconPath = baseUrl ? `${baseUrl}/icons/icons.svg#${name}` : `/icons/icons.svg#${name}`;
10
+ return /*#__PURE__*/ _jsx("svg", {
11
+ className: cn('w-full h-full', className),
12
+ style: {
13
+ color,
14
+ fill: color,
15
+ height: `${height}px`,
16
+ width: `${width}px`
17
+ },
18
+ viewBox: `0 0 ${width} ${height}`,
19
+ children: /*#__PURE__*/ _jsx("use", {
20
+ href: iconPath
21
+ })
22
+ });
23
+ };
24
+
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1N2Zy9TdmcudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2NufSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uLy4uL2NvbmZpZy9hcHBDb25maWcuanMnO1xuaW1wb3J0IHR5cGUge0ZDfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ZnUHJvcHMge1xuICByZWFkb25seSBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbG9yPzogc3RyaW5nO1xuICByZWFkb25seSBoZWlnaHQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgd2lkdGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBTdmc6IEZDPFN2Z1Byb3BzPiA9ICh7XG4gIGNsYXNzTmFtZSxcbiAgY29sb3IgPSAnaW5oZXJpdCcsXG4gIGhlaWdodCA9IDMyLFxuICBuYW1lLFxuICB3aWR0aCA9IDMyXG59KSA9PiB7XG4gIGNvbnN0IGJhc2VVcmwgPSBDb25maWcuZ2V0KCdiYXNlVXJsJywgJycpO1xuICBjb25zdCBpY29uUGF0aCA9IGJhc2VVcmwgPyBgJHtiYXNlVXJsfS9pY29ucy9pY29ucy5zdmcjJHtuYW1lfWAgOiBgL2ljb25zL2ljb25zLnN2ZyMke25hbWV9YDtcblxuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIGNsYXNzTmFtZT17Y24oJ3ctZnVsbCBoLWZ1bGwnLCBjbGFzc05hbWUpfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgY29sb3IsXG4gICAgICAgIGZpbGw6IGNvbG9yLFxuICAgICAgICBoZWlnaHQ6IGAke2hlaWdodH1weGAsXG4gICAgICAgIHdpZHRoOiBgJHt3aWR0aH1weGBcbiAgICAgIH19XG4gICAgICB2aWV3Qm94PXtgMCAwICR7d2lkdGh9ICR7aGVpZ2h0fWB9XG4gICAgPlxuICAgICAgPHVzZSBocmVmPXtpY29uUGF0aH0gLz5cbiAgICA8L3N2Zz5cbiAgKTtcbn07XG4iXSwibmFtZXMiOlsiY24iLCJDb25maWciLCJTdmciLCJjbGFzc05hbWUiLCJjb2xvciIsImhlaWdodCIsIm5hbWUiLCJ3aWR0aCIsImJhc2VVcmwiLCJnZXQiLCJpY29uUGF0aCIsInN2ZyIsInN0eWxlIiwiZmlsbCIsInZpZXdCb3giLCJ1c2UiLCJocmVmIl0sIm1hcHBpbmdzIjoiO0FBQUE7OztDQUdDLEdBQ0QsU0FBUUEsRUFBRSxRQUFPLGVBQWU7QUFDaEMsU0FBUUMsTUFBTSxRQUFPLDRCQUE0QjtBQVdqRCxPQUFPLE1BQU1DLE1BQW9CLENBQUMsRUFDaENDLFNBQVMsRUFDVEMsUUFBUSxTQUFTLEVBQ2pCQyxTQUFTLEVBQUUsRUFDWEMsSUFBSSxFQUNKQyxRQUFRLEVBQUUsRUFDWDtJQUNDLE1BQU1DLFVBQVVQLE9BQU9RLEdBQUcsQ0FBQyxXQUFXO0lBQ3RDLE1BQU1DLFdBQVdGLFVBQVUsR0FBR0EsUUFBUSxpQkFBaUIsRUFBRUYsTUFBTSxHQUFHLENBQUMsaUJBQWlCLEVBQUVBLE1BQU07SUFFNUYscUJBQ0UsS0FBQ0s7UUFDQ1IsV0FBV0gsR0FBRyxpQkFBaUJHO1FBQy9CUyxPQUFPO1lBQ0xSO1lBQ0FTLE1BQU1UO1lBQ05DLFFBQVEsR0FBR0EsT0FBTyxFQUFFLENBQUM7WUFDckJFLE9BQU8sR0FBR0EsTUFBTSxFQUFFLENBQUM7UUFDckI7UUFDQU8sU0FBUyxDQUFDLElBQUksRUFBRVAsTUFBTSxDQUFDLEVBQUVGLFFBQVE7a0JBRWpDLGNBQUEsS0FBQ1U7WUFBSUMsTUFBTU47OztBQUdqQixFQUFFIn0=
@@ -0,0 +1,34 @@
1
+ import { Svg as SvgComponent } from './Svg.js';
2
+ import { gothamColors } from '../../utils/colorUtils.js';
3
+ import { focusCanvas } from '../../utils/storyInteractions.js';
4
+ const meta = {
5
+ argTypes: {
6
+ color: {
7
+ control: 'select',
8
+ options: gothamColors
9
+ },
10
+ height: {
11
+ control: 'number'
12
+ },
13
+ name: {
14
+ control: 'text'
15
+ },
16
+ width: {
17
+ control: 'number'
18
+ }
19
+ },
20
+ component: SvgComponent
21
+ };
22
+ export default meta;
23
+ export const Svg = {
24
+ args: {
25
+ className: 'test',
26
+ color: 'error',
27
+ height: 100,
28
+ name: 'test',
29
+ width: 100
30
+ },
31
+ play: focusCanvas
32
+ };
33
+
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1N2Zy9Tdmcuc3Rvcmllcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ZnIGFzIFN2Z0NvbXBvbmVudCB9IGZyb20gJy4vU3ZnLmpzJztcbmltcG9ydCB7Z290aGFtQ29sb3JzfSBmcm9tICcuLi8uLi91dGlscy9jb2xvclV0aWxzLmpzJztcbmltcG9ydCB7Zm9jdXNDYW52YXN9IGZyb20gJy4uLy4uL3V0aWxzL3N0b3J5SW50ZXJhY3Rpb25zLmpzJztcblxuaW1wb3J0IHR5cGUgeyBNZXRhLCBTdG9yeU9iaiB9IGZyb20gJ0BubGFicy9sZXgvc3Rvcnlib29rJztcblxuY29uc3QgbWV0YTogTWV0YTx0eXBlb2YgU3ZnQ29tcG9uZW50PiA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBjb2xvcjoge1xuICAgICAgY29udHJvbDogJ3NlbGVjdCcsXG4gICAgICBvcHRpb25zOiBnb3RoYW1Db2xvcnNcbiAgICB9LFxuICAgIGhlaWdodDoge1xuICAgICAgY29udHJvbDogJ251bWJlcidcbiAgICB9LFxuICAgIG5hbWU6IHtcbiAgICAgIGNvbnRyb2w6ICd0ZXh0J1xuICAgIH0sXG4gICAgd2lkdGg6IHtcbiAgICAgIGNvbnRyb2w6ICdudW1iZXInXG4gICAgfVxuICB9LFxuICBjb21wb25lbnQ6IFN2Z0NvbXBvbmVudFxufTtcblxuZXhwb3J0IGRlZmF1bHQgbWV0YTtcbnR5cGUgU3RvcnkgPSBTdG9yeU9iajx0eXBlb2YgU3ZnQ29tcG9uZW50PjtcblxuZXhwb3J0IGNvbnN0IFN2ZzogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICBjbGFzc05hbWU6ICd0ZXN0JyxcbiAgICBjb2xvcjogJ2Vycm9yJyxcbiAgICBoZWlnaHQ6IDEwMCxcbiAgICBuYW1lOiAndGVzdCcsXG4gICAgd2lkdGg6IDEwMFxuICB9LFxuICBwbGF5OiBmb2N1c0NhbnZhc1xufTtcbiJdLCJuYW1lcyI6WyJTdmciLCJTdmdDb21wb25lbnQiLCJnb3RoYW1Db2xvcnMiLCJmb2N1c0NhbnZhcyIsIm1ldGEiLCJhcmdUeXBlcyIsImNvbG9yIiwiY29udHJvbCIsIm9wdGlvbnMiLCJoZWlnaHQiLCJuYW1lIiwid2lkdGgiLCJjb21wb25lbnQiLCJhcmdzIiwiY2xhc3NOYW1lIiwicGxheSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBT0MsWUFBWSxRQUFRLFdBQVc7QUFDL0MsU0FBUUMsWUFBWSxRQUFPLDRCQUE0QjtBQUN2RCxTQUFRQyxXQUFXLFFBQU8sbUNBQW1DO0FBSTdELE1BQU1DLE9BQWtDO0lBQ3RDQyxVQUFVO1FBQ1JDLE9BQU87WUFDTEMsU0FBUztZQUNUQyxTQUFTTjtRQUNYO1FBQ0FPLFFBQVE7WUFDTkYsU0FBUztRQUNYO1FBQ0FHLE1BQU07WUFDSkgsU0FBUztRQUNYO1FBQ0FJLE9BQU87WUFDTEosU0FBUztRQUNYO0lBQ0Y7SUFDQUssV0FBV1g7QUFDYjtBQUVBLGVBQWVHLEtBQUs7QUFHcEIsT0FBTyxNQUFNSixNQUFhO0lBQ3hCYSxNQUFNO1FBQ0pDLFdBQVc7UUFDWFIsT0FBTztRQUNQRyxRQUFRO1FBQ1JDLE1BQU07UUFDTkMsT0FBTztJQUNUO0lBQ0FJLE1BQU1aO0FBQ1IsRUFBRSJ9
@@ -0,0 +1,12 @@
1
+ import { Field as HeadlessField } from '@headlessui/react';
2
+ import type { ComponentPropsWithoutRef, FC, HTMLAttributes, InputHTMLAttributes } from 'react';
3
+ import type { GothamColor } from '../../utils/colorUtils.js';
4
+ export interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
5
+ readonly color?: GothamColor;
6
+ readonly onCheckedChange?: (checked: boolean) => void;
7
+ }
8
+ export declare const Switch: FC<SwitchProps>;
9
+ export declare const SwitchGroup: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react").JSX.Element;
10
+ export declare const SwitchField: ({ className, ...props }: Omit<ComponentPropsWithoutRef<typeof HeadlessField>, 'as' | 'className'> & {
11
+ readonly className?: string;
12
+ }) => import("react").JSX.Element;
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Field as HeadlessField } from '@headlessui/react';
3
+ import { cn } from '@nlabs/utils';
4
+ const switchBackgroundClasses = {
5
+ black: 'peer-checked:bg-black dark:peer-checked:bg-black-dark',
6
+ error: 'peer-checked:bg-error dark:peer-checked:bg-error-dark',
7
+ info: 'peer-checked:bg-info dark:peer-checked:bg-info-dark',
8
+ link: 'peer-checked:bg-link dark:peer-checked:bg-link-dark',
9
+ neutral: 'peer-checked:bg-neutral dark:peer-checked:bg-neutral-dark',
10
+ primary: 'peer-checked:bg-primary dark:peer-checked:bg-primary-dark',
11
+ secondary: 'peer-checked:bg-secondary dark:peer-checked:bg-secondary-dark',
12
+ success: 'peer-checked:bg-success dark:peer-checked:bg-success-dark',
13
+ tertiary: 'peer-checked:bg-tertiary dark:peer-checked:bg-tertiary-dark',
14
+ transparent: 'peer-checked:bg-transparent',
15
+ warning: 'peer-checked:bg-warning dark:peer-checked:bg-warning-dark',
16
+ white: 'peer-checked:bg-white dark:peer-checked:bg-white-dark'
17
+ };
18
+ export const Switch = ({ className, color = 'primary', disabled, onCheckedChange, onChange, ...props })=>/*#__PURE__*/ _jsxs("label", {
19
+ className: cn('relative isolate inline-flex h-6 w-10 rounded-full sm:h-5 sm:w-8', className),
20
+ "data-slot": "switch",
21
+ children: [
22
+ /*#__PURE__*/ _jsx("input", {
23
+ className: "peer absolute inset-0 size-full cursor-pointer appearance-none rounded-full disabled:cursor-not-allowed",
24
+ disabled: disabled,
25
+ onChange: (event)=>{
26
+ onChange?.(event);
27
+ onCheckedChange?.(event.currentTarget.checked);
28
+ },
29
+ role: "switch",
30
+ type: "checkbox",
31
+ ...props
32
+ }),
33
+ /*#__PURE__*/ _jsx("span", {
34
+ "aria-hidden": "true",
35
+ className: cn('pointer-events-none absolute inset-0 rounded-full bg-black/15 ring-1 ring-black/20 ring-inset transition-colors peer-checked:ring-transparent peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-ring peer-disabled:opacity-50 dark:bg-white/25 dark:ring-white/25 dark:peer-focus-visible:outline-ring-dark', switchBackgroundClasses[color])
36
+ }),
37
+ /*#__PURE__*/ _jsx("span", {
38
+ "aria-hidden": "true",
39
+ className: "pointer-events-none relative m-[3px] inline-block size-4.5 rounded-full border border-transparent bg-white shadow-sm ring-1 ring-black/5 transition-transform peer-checked:translate-x-4 peer-disabled:opacity-50 sm:size-3.5 sm:peer-checked:translate-x-3 dark:bg-foreground-dark"
40
+ })
41
+ ]
42
+ });
43
+ export const SwitchGroup = ({ className, ...props })=>/*#__PURE__*/ _jsx("div", {
44
+ className: cn('space-y-3 has-data-[slot=description]:space-y-6', className),
45
+ "data-slot": "control",
46
+ ...props
47
+ });
48
+ export const SwitchField = ({ className, ...props })=>/*#__PURE__*/ _jsx(HeadlessField, {
49
+ className: cn('grid grid-cols-[1fr_auto] gap-x-8 gap-y-1', '*:data-[slot=switch]:col-start-2 *:data-[slot=switch]:row-start-1 *:data-[slot=switch]:self-start', '*:data-[slot=label]:col-start-1 *:data-[slot=label]:row-start-1', '*:data-[slot=description]:col-start-1 *:data-[slot=description]:row-start-2', className),
50
+ "data-slot": "field",
51
+ ...props
52
+ });
53
+
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1N3aXRjaC9Td2l0Y2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmllbGQgYXMgSGVhZGxlc3NGaWVsZH0gZnJvbSAnQGhlYWRsZXNzdWkvcmVhY3QnO1xuaW1wb3J0IHtjbn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHR5cGUge0NvbXBvbmVudFByb3BzV2l0aG91dFJlZiwgRkMsIEhUTUxBdHRyaWJ1dGVzLCBJbnB1dEhUTUxBdHRyaWJ1dGVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7R290aGFtQ29sb3J9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9yVXRpbHMuanMnO1xuXG5jb25zdCBzd2l0Y2hCYWNrZ3JvdW5kQ2xhc3NlczogUmVjb3JkPEdvdGhhbUNvbG9yLCBzdHJpbmc+ID0ge1xuICBibGFjazogJ3BlZXItY2hlY2tlZDpiZy1ibGFjayBkYXJrOnBlZXItY2hlY2tlZDpiZy1ibGFjay1kYXJrJyxcbiAgZXJyb3I6ICdwZWVyLWNoZWNrZWQ6YmctZXJyb3IgZGFyazpwZWVyLWNoZWNrZWQ6YmctZXJyb3ItZGFyaycsXG4gIGluZm86ICdwZWVyLWNoZWNrZWQ6YmctaW5mbyBkYXJrOnBlZXItY2hlY2tlZDpiZy1pbmZvLWRhcmsnLFxuICBsaW5rOiAncGVlci1jaGVja2VkOmJnLWxpbmsgZGFyazpwZWVyLWNoZWNrZWQ6YmctbGluay1kYXJrJyxcbiAgbmV1dHJhbDogJ3BlZXItY2hlY2tlZDpiZy1uZXV0cmFsIGRhcms6cGVlci1jaGVja2VkOmJnLW5ldXRyYWwtZGFyaycsXG4gIHByaW1hcnk6ICdwZWVyLWNoZWNrZWQ6YmctcHJpbWFyeSBkYXJrOnBlZXItY2hlY2tlZDpiZy1wcmltYXJ5LWRhcmsnLFxuICBzZWNvbmRhcnk6ICdwZWVyLWNoZWNrZWQ6Ymctc2Vjb25kYXJ5IGRhcms6cGVlci1jaGVja2VkOmJnLXNlY29uZGFyeS1kYXJrJyxcbiAgc3VjY2VzczogJ3BlZXItY2hlY2tlZDpiZy1zdWNjZXNzIGRhcms6cGVlci1jaGVja2VkOmJnLXN1Y2Nlc3MtZGFyaycsXG4gIHRlcnRpYXJ5OiAncGVlci1jaGVja2VkOmJnLXRlcnRpYXJ5IGRhcms6cGVlci1jaGVja2VkOmJnLXRlcnRpYXJ5LWRhcmsnLFxuICB0cmFuc3BhcmVudDogJ3BlZXItY2hlY2tlZDpiZy10cmFuc3BhcmVudCcsXG4gIHdhcm5pbmc6ICdwZWVyLWNoZWNrZWQ6Ymctd2FybmluZyBkYXJrOnBlZXItY2hlY2tlZDpiZy13YXJuaW5nLWRhcmsnLFxuICB3aGl0ZTogJ3BlZXItY2hlY2tlZDpiZy13aGl0ZSBkYXJrOnBlZXItY2hlY2tlZDpiZy13aGl0ZS1kYXJrJ1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBTd2l0Y2hQcm9wcyBleHRlbmRzIE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ3R5cGUnPiB7XG4gIHJlYWRvbmx5IGNvbG9yPzogR290aGFtQ29sb3I7XG4gIHJlYWRvbmx5IG9uQ2hlY2tlZENoYW5nZT86IChjaGVja2VkOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgU3dpdGNoOiBGQzxTd2l0Y2hQcm9wcz4gPSAoe1xuICBjbGFzc05hbWUsXG4gIGNvbG9yID0gJ3ByaW1hcnknLFxuICBkaXNhYmxlZCxcbiAgb25DaGVja2VkQ2hhbmdlLFxuICBvbkNoYW5nZSxcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGxhYmVsXG4gICAgY2xhc3NOYW1lPXtjbigncmVsYXRpdmUgaXNvbGF0ZSBpbmxpbmUtZmxleCBoLTYgdy0xMCByb3VuZGVkLWZ1bGwgc206aC01IHNtOnctOCcsIGNsYXNzTmFtZSl9XG4gICAgZGF0YS1zbG90PVwic3dpdGNoXCJcbiAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzTmFtZT1cInBlZXIgYWJzb2x1dGUgaW5zZXQtMCBzaXplLWZ1bGwgY3Vyc29yLXBvaW50ZXIgYXBwZWFyYW5jZS1ub25lIHJvdW5kZWQtZnVsbCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWRcIlxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICBvbkNoYW5nZT17KGV2ZW50KSA9PiB7XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgICAgICBvbkNoZWNrZWRDaGFuZ2U/LihldmVudC5jdXJyZW50VGFyZ2V0LmNoZWNrZWQpO1xuICAgICAgfX1cbiAgICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICAgIDxzcGFuXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgJ3BvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgaW5zZXQtMCByb3VuZGVkLWZ1bGwgYmctYmxhY2svMTUgcmluZy0xIHJpbmctYmxhY2svMjAgcmluZy1pbnNldCB0cmFuc2l0aW9uLWNvbG9ycyBwZWVyLWNoZWNrZWQ6cmluZy10cmFuc3BhcmVudCBwZWVyLWZvY3VzLXZpc2libGU6b3V0bGluZS0yIHBlZXItZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIHBlZXItZm9jdXMtdmlzaWJsZTpvdXRsaW5lLXJpbmcgcGVlci1kaXNhYmxlZDpvcGFjaXR5LTUwIGRhcms6Ymctd2hpdGUvMjUgZGFyazpyaW5nLXdoaXRlLzI1IGRhcms6cGVlci1mb2N1cy12aXNpYmxlOm91dGxpbmUtcmluZy1kYXJrJyxcbiAgICAgICAgc3dpdGNoQmFja2dyb3VuZENsYXNzZXNbY29sb3JdXG4gICAgICApfVxuICAgIC8+XG4gICAgPHNwYW5cbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICBjbGFzc05hbWU9XCJwb2ludGVyLWV2ZW50cy1ub25lIHJlbGF0aXZlIG0tWzNweF0gaW5saW5lLWJsb2NrIHNpemUtNC41IHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IGJnLXdoaXRlIHNoYWRvdy1zbSByaW5nLTEgcmluZy1ibGFjay81IHRyYW5zaXRpb24tdHJhbnNmb3JtIHBlZXItY2hlY2tlZDp0cmFuc2xhdGUteC00IHBlZXItZGlzYWJsZWQ6b3BhY2l0eS01MCBzbTpzaXplLTMuNSBzbTpwZWVyLWNoZWNrZWQ6dHJhbnNsYXRlLXgtMyBkYXJrOmJnLWZvcmVncm91bmQtZGFya1wiXG4gICAgLz5cbiAgPC9sYWJlbD5cbik7XG5cbmV4cG9ydCBjb25zdCBTd2l0Y2hHcm91cCA9ICh7XG4gIGNsYXNzTmFtZSxcbiAgLi4ucHJvcHNcbn06IEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PikgPT4gKFxuICA8ZGl2XG4gICAgY2xhc3NOYW1lPXtjbignc3BhY2UteS0zIGhhcy1kYXRhLVtzbG90PWRlc2NyaXB0aW9uXTpzcGFjZS15LTYnLCBjbGFzc05hbWUpfVxuICAgIGRhdGEtc2xvdD1cImNvbnRyb2xcIlxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5cbmV4cG9ydCBjb25zdCBTd2l0Y2hGaWVsZCA9ICh7XG4gIGNsYXNzTmFtZSxcbiAgLi4ucHJvcHNcbn06IE9taXQ8Q29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBIZWFkbGVzc0ZpZWxkPiwgJ2FzJyB8ICdjbGFzc05hbWUnPiAmIHtyZWFkb25seSBjbGFzc05hbWU/OiBzdHJpbmd9KSA9PiAoXG4gIDxIZWFkbGVzc0ZpZWxkXG4gICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICdncmlkIGdyaWQtY29scy1bMWZyX2F1dG9dIGdhcC14LTggZ2FwLXktMScsXG4gICAgICAnKjpkYXRhLVtzbG90PXN3aXRjaF06Y29sLXN0YXJ0LTIgKjpkYXRhLVtzbG90PXN3aXRjaF06cm93LXN0YXJ0LTEgKjpkYXRhLVtzbG90PXN3aXRjaF06c2VsZi1zdGFydCcsXG4gICAgICAnKjpkYXRhLVtzbG90PWxhYmVsXTpjb2wtc3RhcnQtMSAqOmRhdGEtW3Nsb3Q9bGFiZWxdOnJvdy1zdGFydC0xJyxcbiAgICAgICcqOmRhdGEtW3Nsb3Q9ZGVzY3JpcHRpb25dOmNvbC1zdGFydC0xICo6ZGF0YS1bc2xvdD1kZXNjcmlwdGlvbl06cm93LXN0YXJ0LTInLFxuICAgICAgY2xhc3NOYW1lXG4gICAgKX1cbiAgICBkYXRhLXNsb3Q9XCJmaWVsZFwiXG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbiJdLCJuYW1lcyI6WyJGaWVsZCIsIkhlYWRsZXNzRmllbGQiLCJjbiIsInN3aXRjaEJhY2tncm91bmRDbGFzc2VzIiwiYmxhY2siLCJlcnJvciIsImluZm8iLCJsaW5rIiwibmV1dHJhbCIsInByaW1hcnkiLCJzZWNvbmRhcnkiLCJzdWNjZXNzIiwidGVydGlhcnkiLCJ0cmFuc3BhcmVudCIsIndhcm5pbmciLCJ3aGl0ZSIsIlN3aXRjaCIsImNsYXNzTmFtZSIsImNvbG9yIiwiZGlzYWJsZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJvbkNoYW5nZSIsInByb3BzIiwibGFiZWwiLCJkYXRhLXNsb3QiLCJpbnB1dCIsImV2ZW50IiwiY3VycmVudFRhcmdldCIsImNoZWNrZWQiLCJyb2xlIiwidHlwZSIsInNwYW4iLCJhcmlhLWhpZGRlbiIsIlN3aXRjaEdyb3VwIiwiZGl2IiwiU3dpdGNoRmllbGQiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFRQSxTQUFTQyxhQUFhLFFBQU8sb0JBQW9CO0FBQ3pELFNBQVFDLEVBQUUsUUFBTyxlQUFlO0FBS2hDLE1BQU1DLDBCQUF1RDtJQUMzREMsT0FBTztJQUNQQyxPQUFPO0lBQ1BDLE1BQU07SUFDTkMsTUFBTTtJQUNOQyxTQUFTO0lBQ1RDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxTQUFTO0lBQ1RDLFVBQVU7SUFDVkMsYUFBYTtJQUNiQyxTQUFTO0lBQ1RDLE9BQU87QUFDVDtBQU9BLE9BQU8sTUFBTUMsU0FBMEIsQ0FBQyxFQUN0Q0MsU0FBUyxFQUNUQyxRQUFRLFNBQVMsRUFDakJDLFFBQVEsRUFDUkMsZUFBZSxFQUNmQyxRQUFRLEVBQ1IsR0FBR0MsT0FDSixpQkFDQyxNQUFDQztRQUNDTixXQUFXZixHQUFHLG9FQUFvRWU7UUFDbEZPLGFBQVU7OzBCQUVSLEtBQUNDO2dCQUNDUixXQUFVO2dCQUNWRSxVQUFVQTtnQkFDWkUsVUFBVSxDQUFDSztvQkFDVEwsV0FBV0s7b0JBQ1hOLGtCQUFrQk0sTUFBTUMsYUFBYSxDQUFDQyxPQUFPO2dCQUMvQztnQkFDQUMsTUFBSztnQkFDTEMsTUFBSztnQkFDSixHQUFHUixLQUFLOzswQkFFWCxLQUFDUztnQkFDQ0MsZUFBWTtnQkFDWmYsV0FBV2YsR0FDVCx5VkFDQUMsdUJBQXVCLENBQUNlLE1BQU07OzBCQUdsQyxLQUFDYTtnQkFDQ0MsZUFBWTtnQkFDWmYsV0FBVTs7O09BR2Q7QUFFRixPQUFPLE1BQU1nQixjQUFjLENBQUMsRUFDMUJoQixTQUFTLEVBQ1QsR0FBR0ssT0FDNEIsaUJBQy9CLEtBQUNZO1FBQ0NqQixXQUFXZixHQUFHLG1EQUFtRGU7UUFDakVPLGFBQVU7UUFDVCxHQUFHRixLQUFLO09BRVg7QUFFRixPQUFPLE1BQU1hLGNBQWMsQ0FBQyxFQUMxQmxCLFNBQVMsRUFDVCxHQUFHSyxPQUNzRyxpQkFDekcsS0FBQ3JCO1FBQ0NnQixXQUFXZixHQUNULDZDQUNBLHFHQUNBLG1FQUNBLCtFQUNBZTtRQUVGTyxhQUFVO1FBQ1QsR0FBR0YsS0FBSztPQUVYIn0=
@@ -0,0 +1,61 @@
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 { FieldDescription, FieldLabel } from '../Fieldset/Fieldset.js';
5
+ import { Switch, SwitchField, SwitchGroup } from './Switch.js';
6
+ const meta = {
7
+ argTypes: {
8
+ color: {
9
+ control: 'select',
10
+ options: [
11
+ 'primary',
12
+ 'secondary',
13
+ 'link',
14
+ 'neutral',
15
+ 'error',
16
+ 'warning',
17
+ 'success',
18
+ 'info'
19
+ ]
20
+ },
21
+ defaultChecked: {
22
+ control: 'boolean'
23
+ }
24
+ },
25
+ component: Switch,
26
+ parameters: {
27
+ layout: 'centered'
28
+ },
29
+ title: 'Components/Form/Switch'
30
+ };
31
+ export default meta;
32
+ export const Default = {
33
+ args: {
34
+ 'aria-label': 'Enable notifications',
35
+ color: 'primary',
36
+ defaultChecked: true
37
+ },
38
+ play: interactWithCanvas
39
+ };
40
+ export const WithField = {
41
+ play: interactWithCanvas,
42
+ render: ()=>/*#__PURE__*/ _jsx(SwitchGroup, {
43
+ className: "w-96",
44
+ children: /*#__PURE__*/ _jsxs(SwitchField, {
45
+ children: [
46
+ /*#__PURE__*/ _jsx(FieldLabel, {
47
+ children: "Email notifications"
48
+ }),
49
+ /*#__PURE__*/ _jsx(FieldDescription, {
50
+ children: "Receive project activity summaries."
51
+ }),
52
+ /*#__PURE__*/ _jsx(Switch, {
53
+ defaultChecked: true,
54
+ name: "emailNotifications"
55
+ })
56
+ ]
57
+ })
58
+ })
59
+ };
60
+
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1N3aXRjaC9Td2l0Y2guc3Rvcmllcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtpbnRlcmFjdFdpdGhDYW52YXN9IGZyb20gJy4uLy4uL3V0aWxzL3N0b3J5SW50ZXJhY3Rpb25zLmpzJztcbmltcG9ydCB7RmllbGREZXNjcmlwdGlvbiwgRmllbGRMYWJlbH0gZnJvbSAnLi4vRmllbGRzZXQvRmllbGRzZXQuanMnO1xuaW1wb3J0IHtTd2l0Y2gsIFN3aXRjaEZpZWxkLCBTd2l0Y2hHcm91cH0gZnJvbSAnLi9Td2l0Y2guanMnO1xuXG5pbXBvcnQgdHlwZSB7TWV0YSwgU3RvcnlPYmp9IGZyb20gJ0BubGFicy9sZXgvc3Rvcnlib29rJztcblxuY29uc3QgbWV0YTogTWV0YTx0eXBlb2YgU3dpdGNoPiA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBjb2xvcjoge1xuICAgICAgY29udHJvbDogJ3NlbGVjdCcsXG4gICAgICBvcHRpb25zOiBbJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ2xpbmsnLCAnbmV1dHJhbCcsICdlcnJvcicsICd3YXJuaW5nJywgJ3N1Y2Nlc3MnLCAnaW5mbyddXG4gICAgfSxcbiAgICBkZWZhdWx0Q2hlY2tlZDoge1xuICAgICAgY29udHJvbDogJ2Jvb2xlYW4nXG4gICAgfVxuICB9LFxuICBjb21wb25lbnQ6IFN3aXRjaCxcbiAgcGFyYW1ldGVyczoge1xuICAgIGxheW91dDogJ2NlbnRlcmVkJ1xuICB9LFxuICB0aXRsZTogJ0NvbXBvbmVudHMvRm9ybS9Td2l0Y2gnXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xuXG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8dHlwZW9mIFN3aXRjaD47XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0OiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgICdhcmlhLWxhYmVsJzogJ0VuYWJsZSBub3RpZmljYXRpb25zJyxcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIGRlZmF1bHRDaGVja2VkOiB0cnVlXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhc1xufTtcblxuZXhwb3J0IGNvbnN0IFdpdGhGaWVsZDogU3RvcnkgPSB7XG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoKSA9PiAoXG4gICAgPFN3aXRjaEdyb3VwIGNsYXNzTmFtZT1cInctOTZcIj5cbiAgICAgIDxTd2l0Y2hGaWVsZD5cbiAgICAgICAgPEZpZWxkTGFiZWw+RW1haWwgbm90aWZpY2F0aW9uczwvRmllbGRMYWJlbD5cbiAgICAgICAgPEZpZWxkRGVzY3JpcHRpb24+UmVjZWl2ZSBwcm9qZWN0IGFjdGl2aXR5IHN1bW1hcmllcy48L0ZpZWxkRGVzY3JpcHRpb24+XG4gICAgICAgIDxTd2l0Y2ggZGVmYXVsdENoZWNrZWQgbmFtZT1cImVtYWlsTm90aWZpY2F0aW9uc1wiIC8+XG4gICAgICA8L1N3aXRjaEZpZWxkPlxuICAgIDwvU3dpdGNoR3JvdXA+XG4gIClcbn07XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJpbnRlcmFjdFdpdGhDYW52YXMiLCJGaWVsZERlc2NyaXB0aW9uIiwiRmllbGRMYWJlbCIsIlN3aXRjaCIsIlN3aXRjaEZpZWxkIiwiU3dpdGNoR3JvdXAiLCJtZXRhIiwiYXJnVHlwZXMiLCJjb2xvciIsImNvbnRyb2wiLCJvcHRpb25zIiwiZGVmYXVsdENoZWNrZWQiLCJjb21wb25lbnQiLCJwYXJhbWV0ZXJzIiwibGF5b3V0IiwidGl0bGUiLCJEZWZhdWx0IiwiYXJncyIsInBsYXkiLCJXaXRoRmllbGQiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJuYW1lIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsV0FBVyxRQUFRO0FBRTFCLFNBQVFDLGtCQUFrQixRQUFPLG1DQUFtQztBQUNwRSxTQUFRQyxnQkFBZ0IsRUFBRUMsVUFBVSxRQUFPLDBCQUEwQjtBQUNyRSxTQUFRQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsV0FBVyxRQUFPLGNBQWM7QUFJN0QsTUFBTUMsT0FBNEI7SUFDaENDLFVBQVU7UUFDUkMsT0FBTztZQUNMQyxTQUFTO1lBQ1RDLFNBQVM7Z0JBQUM7Z0JBQVc7Z0JBQWE7Z0JBQVE7Z0JBQVc7Z0JBQVM7Z0JBQVc7Z0JBQVc7YUFBTztRQUM3RjtRQUNBQyxnQkFBZ0I7WUFDZEYsU0FBUztRQUNYO0lBQ0Y7SUFDQUcsV0FBV1Q7SUFDWFUsWUFBWTtRQUNWQyxRQUFRO0lBQ1Y7SUFDQUMsT0FBTztBQUNUO0FBRUEsZUFBZVQsS0FBSztBQUlwQixPQUFPLE1BQU1VLFVBQWlCO0lBQzVCQyxNQUFNO1FBQ0osY0FBYztRQUNkVCxPQUFPO1FBQ1BHLGdCQUFnQjtJQUNsQjtJQUNBTyxNQUFNbEI7QUFDUixFQUFFO0FBRUYsT0FBTyxNQUFNbUIsWUFBbUI7SUFDOUJELE1BQU1sQjtJQUNOb0IsUUFBUSxrQkFDTixLQUFDZjtZQUFZZ0IsV0FBVTtzQkFDckIsY0FBQSxNQUFDakI7O2tDQUNDLEtBQUNGO2tDQUFXOztrQ0FDWixLQUFDRDtrQ0FBaUI7O2tDQUNsQixLQUFDRTt3QkFBT1EsY0FBYzt3QkFBQ1csTUFBSzs7Ozs7QUFJcEMsRUFBRSJ9