@finsweet/webflow-apps-utils 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/README.md +45 -0
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.js +5 -0
  4. package/dist/router/Link.svelte +166 -0
  5. package/dist/router/Link.svelte.d.ts +26 -0
  6. package/dist/router/README.md +397 -0
  7. package/dist/router/Route.svelte +82 -0
  8. package/dist/router/Route.svelte.d.ts +24 -0
  9. package/dist/router/Router.svelte +71 -0
  10. package/dist/router/Router.svelte.d.ts +20 -0
  11. package/dist/router/hooks.svelte.d.ts +77 -0
  12. package/dist/router/hooks.svelte.js +148 -0
  13. package/dist/router/index.svelte.d.ts +107 -0
  14. package/dist/router/index.svelte.js +400 -0
  15. package/dist/stores/breakpoints.d.ts +10 -0
  16. package/dist/stores/breakpoints.js +2 -0
  17. package/dist/stores/componentInjectErrors.d.ts +1 -0
  18. package/dist/stores/componentInjectErrors.js +2 -0
  19. package/dist/stores/forms.d.ts +110 -0
  20. package/dist/stores/forms.js +307 -0
  21. package/dist/stores/globalStore.d.ts +10 -0
  22. package/dist/stores/globalStore.js +10 -0
  23. package/dist/stores/index.d.ts +7 -0
  24. package/dist/stores/index.js +7 -0
  25. package/dist/stores/router.d.ts +4 -0
  26. package/dist/stores/router.js +5 -0
  27. package/dist/stores/showConfirmActionModal.d.ts +1 -0
  28. package/dist/stores/showConfirmActionModal.js +2 -0
  29. package/dist/stores/siteInfo.d.ts +13 -0
  30. package/dist/stores/siteInfo.js +2 -0
  31. package/dist/types/auth.d.ts +40 -0
  32. package/dist/types/auth.js +1 -0
  33. package/dist/types/customCode.d.ts +16 -0
  34. package/dist/types/customCode.js +1 -0
  35. package/dist/types/index.d.ts +5 -0
  36. package/dist/types/index.js +5 -0
  37. package/dist/types/license.d.ts +5 -0
  38. package/dist/types/license.js +1 -0
  39. package/dist/types/webflow.d.ts +125 -0
  40. package/dist/types/webflow.js +1 -0
  41. package/dist/types/window.d.ts +14 -0
  42. package/dist/types/window.js +1 -0
  43. package/dist/ui/components/ButtonGroup.svelte +106 -0
  44. package/dist/ui/components/ButtonGroup.svelte.d.ts +28 -0
  45. package/dist/ui/components/Checkbox.svelte +94 -0
  46. package/dist/ui/components/Checkbox.svelte.d.ts +36 -0
  47. package/dist/ui/components/Copy.svelte +329 -0
  48. package/dist/ui/components/Copy.svelte.d.ts +35 -0
  49. package/dist/ui/components/CustomModal.svelte +192 -0
  50. package/dist/ui/components/CustomModal.svelte.d.ts +45 -0
  51. package/dist/ui/components/DisableInEditMode.svelte +66 -0
  52. package/dist/ui/components/DisableInEditMode.svelte.d.ts +33 -0
  53. package/dist/ui/components/Divider.svelte +31 -0
  54. package/dist/ui/components/Divider.svelte.d.ts +31 -0
  55. package/dist/ui/components/Header.svelte +30 -0
  56. package/dist/ui/components/Header.svelte.d.ts +20 -0
  57. package/dist/ui/components/Iframe.svelte +89 -0
  58. package/dist/ui/components/Iframe.svelte.d.ts +40 -0
  59. package/dist/ui/components/ImageUpload.svelte +213 -0
  60. package/dist/ui/components/ImageUpload.svelte.d.ts +42 -0
  61. package/dist/ui/components/InjectComponent.svelte +297 -0
  62. package/dist/ui/components/InjectComponent.svelte.d.ts +27 -0
  63. package/dist/ui/components/Loader.svelte +68 -0
  64. package/dist/ui/components/Loader.svelte.d.ts +24 -0
  65. package/dist/ui/components/LoadingScreen.svelte +71 -0
  66. package/dist/ui/components/LoadingScreen.svelte.d.ts +26 -0
  67. package/dist/ui/components/Modal.svelte +139 -0
  68. package/dist/ui/components/Modal.svelte.d.ts +42 -0
  69. package/dist/ui/components/Navbar.svelte +132 -0
  70. package/dist/ui/components/Navbar.svelte.d.ts +29 -0
  71. package/dist/ui/components/NoSettingsNeeded.svelte +31 -0
  72. package/dist/ui/components/NoSettingsNeeded.svelte.d.ts +18 -0
  73. package/dist/ui/components/Notification.svelte +193 -0
  74. package/dist/ui/components/Notification.svelte.d.ts +64 -0
  75. package/dist/ui/components/PlusMinusButton.svelte +91 -0
  76. package/dist/ui/components/PlusMinusButton.svelte.d.ts +22 -0
  77. package/dist/ui/components/PreviewBar.svelte +40 -0
  78. package/dist/ui/components/PreviewBar.svelte.d.ts +20 -0
  79. package/dist/ui/components/ScrollableContent.svelte +18 -0
  80. package/dist/ui/components/ScrollableContent.svelte.d.ts +31 -0
  81. package/dist/ui/components/Section.svelte +97 -0
  82. package/dist/ui/components/Section.svelte.d.ts +50 -0
  83. package/dist/ui/components/SelectBodyOrDivBlock.svelte +26 -0
  84. package/dist/ui/components/SelectBodyOrDivBlock.svelte.d.ts +26 -0
  85. package/dist/ui/components/Spacer.svelte +9 -0
  86. package/dist/ui/components/Spacer.svelte.d.ts +22 -0
  87. package/dist/ui/components/SpinnerPlusMinus.svelte +75 -0
  88. package/dist/ui/components/SpinnerPlusMinus.svelte.d.ts +23 -0
  89. package/dist/ui/components/SpinnerUpDown.svelte +194 -0
  90. package/dist/ui/components/SpinnerUpDown.svelte.d.ts +31 -0
  91. package/dist/ui/components/Tabs.svelte +71 -0
  92. package/dist/ui/components/Tabs.svelte.d.ts +26 -0
  93. package/dist/ui/components/ToggleItem.svelte +29 -0
  94. package/dist/ui/components/ToggleItem.svelte.d.ts +28 -0
  95. package/dist/ui/components/ToggleList.svelte +57 -0
  96. package/dist/ui/components/ToggleList.svelte.d.ts +39 -0
  97. package/dist/ui/components/breakpoints/BreakpointItem.svelte +84 -0
  98. package/dist/ui/components/breakpoints/BreakpointItem.svelte.d.ts +37 -0
  99. package/dist/ui/components/breakpoints/breakpointOptions.d.ts +12 -0
  100. package/dist/ui/components/breakpoints/breakpointOptions.js +38 -0
  101. package/dist/ui/components/breakpoints/index.d.ts +3 -0
  102. package/dist/ui/components/breakpoints/index.js +3 -0
  103. package/dist/ui/components/button/Button.stories.svelte +275 -0
  104. package/dist/ui/components/button/Button.stories.svelte.d.ts +27 -0
  105. package/dist/ui/components/button/Button.svelte +389 -0
  106. package/dist/ui/components/button/Button.svelte.d.ts +84 -0
  107. package/dist/ui/components/button/index.d.ts +2 -0
  108. package/dist/ui/components/button/index.js +1 -0
  109. package/dist/ui/components/button/types.d.ts +23 -0
  110. package/dist/ui/components/button/types.js +1 -0
  111. package/dist/ui/components/buttons/FooterButton.svelte +277 -0
  112. package/dist/ui/components/buttons/FooterButton.svelte.d.ts +10 -0
  113. package/dist/ui/components/buttons/index.d.ts +5 -0
  114. package/dist/ui/components/buttons/index.js +5 -0
  115. package/dist/ui/components/buttons/types.d.ts +28 -0
  116. package/dist/ui/components/buttons/types.js +1 -0
  117. package/dist/ui/components/clickable/Clickable.stories.svelte +213 -0
  118. package/dist/ui/components/clickable/Clickable.stories.svelte.d.ts +27 -0
  119. package/dist/ui/components/clickable/Clickable.svelte +93 -0
  120. package/dist/ui/components/clickable/Clickable.svelte.d.ts +4 -0
  121. package/dist/ui/components/clickable/index.d.ts +2 -0
  122. package/dist/ui/components/clickable/index.js +1 -0
  123. package/dist/ui/components/clickable/types.d.ts +17 -0
  124. package/dist/ui/components/clickable/types.js +1 -0
  125. package/dist/ui/components/index.d.ts +46 -0
  126. package/dist/ui/components/index.js +46 -0
  127. package/dist/ui/components/input/Input.stories.d.ts +109 -0
  128. package/dist/ui/components/input/Input.stories.js +337 -0
  129. package/dist/ui/components/input/Input.svelte +422 -0
  130. package/dist/ui/components/input/Input.svelte.d.ts +4 -0
  131. package/dist/ui/components/input/index.d.ts +2 -0
  132. package/dist/ui/components/input/index.js +1 -0
  133. package/dist/ui/components/input/types.d.ts +109 -0
  134. package/dist/ui/components/input/types.js +1 -0
  135. package/dist/ui/components/layout/ExampleLayout.svelte +538 -0
  136. package/dist/ui/components/layout/ExampleLayout.svelte.d.ts +3 -0
  137. package/dist/ui/components/layout/Layout.stories.svelte +24 -0
  138. package/dist/ui/components/layout/Layout.stories.svelte.d.ts +18 -0
  139. package/dist/ui/components/layout/Layout.svelte +551 -0
  140. package/dist/ui/components/layout/Layout.svelte.d.ts +30 -0
  141. package/dist/ui/components/layout/common/EditModeMessage.svelte +59 -0
  142. package/dist/ui/components/layout/common/EditModeMessage.svelte.d.ts +3 -0
  143. package/dist/ui/components/layout/common/index.d.ts +1 -0
  144. package/dist/ui/components/layout/common/index.js +1 -0
  145. package/dist/ui/components/layout/index.d.ts +3 -0
  146. package/dist/ui/components/layout/index.js +2 -0
  147. package/dist/ui/components/layout/types.d.ts +59 -0
  148. package/dist/ui/components/layout/types.js +1 -0
  149. package/dist/ui/components/select/Select.stories.d.ts +94 -0
  150. package/dist/ui/components/select/Select.stories.js +396 -0
  151. package/dist/ui/components/select/Select.svelte +705 -0
  152. package/dist/ui/components/select/Select.svelte.d.ts +11 -0
  153. package/dist/ui/components/select/index.d.ts +2 -0
  154. package/dist/ui/components/select/index.js +1 -0
  155. package/dist/ui/components/select/types.d.ts +94 -0
  156. package/dist/ui/components/select/types.js +1 -0
  157. package/dist/ui/components/switch/Switch.stories.d.ts +58 -0
  158. package/dist/ui/components/switch/Switch.stories.js +198 -0
  159. package/dist/ui/components/switch/Switch.svelte +220 -0
  160. package/dist/ui/components/switch/Switch.svelte.d.ts +4 -0
  161. package/dist/ui/components/switch/index.d.ts +2 -0
  162. package/dist/ui/components/switch/index.js +1 -0
  163. package/dist/ui/components/switch/types.d.ts +47 -0
  164. package/dist/ui/components/switch/types.js +1 -0
  165. package/dist/ui/components/text/README.md +73 -0
  166. package/dist/ui/components/text/Text.stories.svelte +203 -0
  167. package/dist/ui/components/text/Text.stories.svelte.d.ts +27 -0
  168. package/dist/ui/components/text/Text.svelte +778 -0
  169. package/dist/ui/components/text/Text.svelte.d.ts +8 -0
  170. package/dist/ui/components/text/index.d.ts +3 -0
  171. package/dist/ui/components/text/index.js +2 -0
  172. package/dist/ui/components/text/types.d.ts +46 -0
  173. package/dist/ui/components/text/types.js +1 -0
  174. package/dist/ui/components/tooltip/Tooltip.stories.svelte +128 -0
  175. package/dist/ui/components/tooltip/Tooltip.stories.svelte.d.ts +27 -0
  176. package/dist/ui/components/tooltip/Tooltip.svelte +463 -0
  177. package/dist/ui/components/tooltip/Tooltip.svelte.d.ts +7 -0
  178. package/dist/ui/components/tooltip/index.d.ts +2 -0
  179. package/dist/ui/components/tooltip/index.js +1 -0
  180. package/dist/ui/components/tooltip/types.d.ts +114 -0
  181. package/dist/ui/components/tooltip/types.js +1 -0
  182. package/dist/ui/icons/AccordionDownArrow.svelte +8 -0
  183. package/dist/ui/icons/AccordionDownArrow.svelte.d.ts +26 -0
  184. package/dist/ui/icons/AccordionUpArrow.svelte +8 -0
  185. package/dist/ui/icons/AccordionUpArrow.svelte.d.ts +26 -0
  186. package/dist/ui/icons/AccountIcon.svelte +14 -0
  187. package/dist/ui/icons/AccountIcon.svelte.d.ts +26 -0
  188. package/dist/ui/icons/ArrowIcon.svelte +6 -0
  189. package/dist/ui/icons/ArrowIcon.svelte.d.ts +26 -0
  190. package/dist/ui/icons/BackIcon.svelte +8 -0
  191. package/dist/ui/icons/BackIcon.svelte.d.ts +26 -0
  192. package/dist/ui/icons/BodyIcon.svelte +8 -0
  193. package/dist/ui/icons/BodyIcon.svelte.d.ts +26 -0
  194. package/dist/ui/icons/BookmarkIcon.svelte +13 -0
  195. package/dist/ui/icons/BookmarkIcon.svelte.d.ts +26 -0
  196. package/dist/ui/icons/BoxAddIcon.svelte +8 -0
  197. package/dist/ui/icons/BoxAddIcon.svelte.d.ts +26 -0
  198. package/dist/ui/icons/BrushIcon.svelte +10 -0
  199. package/dist/ui/icons/BrushIcon.svelte.d.ts +26 -0
  200. package/dist/ui/icons/BuilderEditIcon.svelte +12 -0
  201. package/dist/ui/icons/BuilderEditIcon.svelte.d.ts +26 -0
  202. package/dist/ui/icons/BuilderIcon.svelte +14 -0
  203. package/dist/ui/icons/BuilderIcon.svelte.d.ts +26 -0
  204. package/dist/ui/icons/CMSIcon.svelte +8 -0
  205. package/dist/ui/icons/CMSIcon.svelte.d.ts +26 -0
  206. package/dist/ui/icons/CheckCircleIcon.svelte +8 -0
  207. package/dist/ui/icons/CheckCircleIcon.svelte.d.ts +26 -0
  208. package/dist/ui/icons/CheckCircleOutlinedIcon.svelte +15 -0
  209. package/dist/ui/icons/CheckCircleOutlinedIcon.svelte.d.ts +26 -0
  210. package/dist/ui/icons/CheckIcon.svelte +9 -0
  211. package/dist/ui/icons/CheckIcon.svelte.d.ts +26 -0
  212. package/dist/ui/icons/CheckboxCheckedIcon.svelte +15 -0
  213. package/dist/ui/icons/CheckboxCheckedIcon.svelte.d.ts +26 -0
  214. package/dist/ui/icons/ChevronIcon.svelte +8 -0
  215. package/dist/ui/icons/ChevronIcon.svelte.d.ts +26 -0
  216. package/dist/ui/icons/ChevronRightIcon.svelte +8 -0
  217. package/dist/ui/icons/ChevronRightIcon.svelte.d.ts +26 -0
  218. package/dist/ui/icons/CircleIcon.svelte +3 -0
  219. package/dist/ui/icons/CircleIcon.svelte.d.ts +26 -0
  220. package/dist/ui/icons/CloseCircleIcon.svelte +6 -0
  221. package/dist/ui/icons/CloseCircleIcon.svelte.d.ts +26 -0
  222. package/dist/ui/icons/CloseIcon.svelte +8 -0
  223. package/dist/ui/icons/CloseIcon.svelte.d.ts +26 -0
  224. package/dist/ui/icons/CodeIcon.svelte +8 -0
  225. package/dist/ui/icons/CodeIcon.svelte.d.ts +26 -0
  226. package/dist/ui/icons/ComponentsIcon.svelte +7 -0
  227. package/dist/ui/icons/ComponentsIcon.svelte.d.ts +26 -0
  228. package/dist/ui/icons/CookieIcon.svelte +15 -0
  229. package/dist/ui/icons/CookieIcon.svelte.d.ts +26 -0
  230. package/dist/ui/icons/CopyIcon.svelte +19 -0
  231. package/dist/ui/icons/CopyIcon.svelte.d.ts +20 -0
  232. package/dist/ui/icons/CrossIcon.svelte +4 -0
  233. package/dist/ui/icons/CrossIcon.svelte.d.ts +26 -0
  234. package/dist/ui/icons/DOMElement.svelte +19 -0
  235. package/dist/ui/icons/DOMElement.svelte.d.ts +28 -0
  236. package/dist/ui/icons/DeleteIcon.svelte +8 -0
  237. package/dist/ui/icons/DeleteIcon.svelte.d.ts +26 -0
  238. package/dist/ui/icons/DeleteOutlinedIcon.svelte +8 -0
  239. package/dist/ui/icons/DeleteOutlinedIcon.svelte.d.ts +26 -0
  240. package/dist/ui/icons/Desktop.svelte +19 -0
  241. package/dist/ui/icons/Desktop.svelte.d.ts +21 -0
  242. package/dist/ui/icons/DesktopWithStar.svelte +21 -0
  243. package/dist/ui/icons/DesktopWithStar.svelte.d.ts +21 -0
  244. package/dist/ui/icons/DivBlock.svelte +14 -0
  245. package/dist/ui/icons/DivBlock.svelte.d.ts +28 -0
  246. package/dist/ui/icons/EditIcon.svelte +15 -0
  247. package/dist/ui/icons/EditIcon.svelte.d.ts +26 -0
  248. package/dist/ui/icons/ExpertIcon.svelte +16 -0
  249. package/dist/ui/icons/ExpertIcon.svelte.d.ts +26 -0
  250. package/dist/ui/icons/EyeCancelIcon.svelte +12 -0
  251. package/dist/ui/icons/EyeCancelIcon.svelte.d.ts +26 -0
  252. package/dist/ui/icons/EyeIcon.svelte +12 -0
  253. package/dist/ui/icons/EyeIcon.svelte.d.ts +26 -0
  254. package/dist/ui/icons/FavouriteIcon.svelte +6 -0
  255. package/dist/ui/icons/FavouriteIcon.svelte.d.ts +26 -0
  256. package/dist/ui/icons/FileUploadIcon.svelte +18 -0
  257. package/dist/ui/icons/FileUploadIcon.svelte.d.ts +26 -0
  258. package/dist/ui/icons/FilterIcon.svelte +8 -0
  259. package/dist/ui/icons/FilterIcon.svelte.d.ts +26 -0
  260. package/dist/ui/icons/FinsweetLibraryIcon.svelte +21 -0
  261. package/dist/ui/icons/FinsweetLibraryIcon.svelte.d.ts +26 -0
  262. package/dist/ui/icons/FinsweetLogoIcon.svelte +20 -0
  263. package/dist/ui/icons/FinsweetLogoIcon.svelte.d.ts +26 -0
  264. package/dist/ui/icons/FolderIcon.svelte +6 -0
  265. package/dist/ui/icons/FolderIcon.svelte.d.ts +26 -0
  266. package/dist/ui/icons/FolderOutlinedIcon.svelte +8 -0
  267. package/dist/ui/icons/FolderOutlinedIcon.svelte.d.ts +26 -0
  268. package/dist/ui/icons/FolderPlusIcon.svelte +10 -0
  269. package/dist/ui/icons/FolderPlusIcon.svelte.d.ts +26 -0
  270. package/dist/ui/icons/FreeComponentIcon.svelte +8 -0
  271. package/dist/ui/icons/FreeComponentIcon.svelte.d.ts +26 -0
  272. package/dist/ui/icons/GlobeIcon.svelte +14 -0
  273. package/dist/ui/icons/GlobeIcon.svelte.d.ts +26 -0
  274. package/dist/ui/icons/HandPointUpIcon.svelte +9 -0
  275. package/dist/ui/icons/HandPointUpIcon.svelte.d.ts +26 -0
  276. package/dist/ui/icons/HeartIcon.svelte +8 -0
  277. package/dist/ui/icons/HeartIcon.svelte.d.ts +26 -0
  278. package/dist/ui/icons/HeartIconOutlined.svelte +8 -0
  279. package/dist/ui/icons/HeartIconOutlined.svelte.d.ts +26 -0
  280. package/dist/ui/icons/HelpAltIcon.svelte +23 -0
  281. package/dist/ui/icons/HelpAltIcon.svelte.d.ts +26 -0
  282. package/dist/ui/icons/HelpIcon.svelte +16 -0
  283. package/dist/ui/icons/HelpIcon.svelte.d.ts +26 -0
  284. package/dist/ui/icons/HomeIcon.svelte +8 -0
  285. package/dist/ui/icons/HomeIcon.svelte.d.ts +26 -0
  286. package/dist/ui/icons/InfoIcon.svelte +14 -0
  287. package/dist/ui/icons/InfoIcon.svelte.d.ts +26 -0
  288. package/dist/ui/icons/ListIcon.svelte +18 -0
  289. package/dist/ui/icons/ListIcon.svelte.d.ts +26 -0
  290. package/dist/ui/icons/LockIcon.svelte +13 -0
  291. package/dist/ui/icons/LockIcon.svelte.d.ts +26 -0
  292. package/dist/ui/icons/MessageIcon.svelte +10 -0
  293. package/dist/ui/icons/MessageIcon.svelte.d.ts +26 -0
  294. package/dist/ui/icons/MobileLandscape.svelte +20 -0
  295. package/dist/ui/icons/MobileLandscape.svelte.d.ts +21 -0
  296. package/dist/ui/icons/MobilePortrait.svelte +20 -0
  297. package/dist/ui/icons/MobilePortrait.svelte.d.ts +21 -0
  298. package/dist/ui/icons/NavigatorIcon.svelte +8 -0
  299. package/dist/ui/icons/NavigatorIcon.svelte.d.ts +26 -0
  300. package/dist/ui/icons/OpenBookIcon.svelte +8 -0
  301. package/dist/ui/icons/OpenBookIcon.svelte.d.ts +26 -0
  302. package/dist/ui/icons/PageDraftIcon.svelte +8 -0
  303. package/dist/ui/icons/PageDraftIcon.svelte.d.ts +26 -0
  304. package/dist/ui/icons/PageIcon.svelte +9 -0
  305. package/dist/ui/icons/PageIcon.svelte.d.ts +26 -0
  306. package/dist/ui/icons/PageLockedIcon.svelte +8 -0
  307. package/dist/ui/icons/PageLockedIcon.svelte.d.ts +26 -0
  308. package/dist/ui/icons/PageOutlinedIcon.svelte +8 -0
  309. package/dist/ui/icons/PageOutlinedIcon.svelte.d.ts +26 -0
  310. package/dist/ui/icons/PageSectionIcon.svelte +10 -0
  311. package/dist/ui/icons/PageSectionIcon.svelte.d.ts +26 -0
  312. package/dist/ui/icons/Pencil.svelte +12 -0
  313. package/dist/ui/icons/Pencil.svelte.d.ts +20 -0
  314. package/dist/ui/icons/PencilOutlinedIcon.svelte +15 -0
  315. package/dist/ui/icons/PencilOutlinedIcon.svelte.d.ts +26 -0
  316. package/dist/ui/icons/PinIcon.svelte +8 -0
  317. package/dist/ui/icons/PinIcon.svelte.d.ts +26 -0
  318. package/dist/ui/icons/PlayIcon.svelte +8 -0
  319. package/dist/ui/icons/PlayIcon.svelte.d.ts +26 -0
  320. package/dist/ui/icons/PlusIcon.svelte +8 -0
  321. package/dist/ui/icons/PlusIcon.svelte.d.ts +26 -0
  322. package/dist/ui/icons/PreviewEyeIcon.svelte +12 -0
  323. package/dist/ui/icons/PreviewEyeIcon.svelte.d.ts +26 -0
  324. package/dist/ui/icons/ProfileIcon.svelte +12 -0
  325. package/dist/ui/icons/ProfileIcon.svelte.d.ts +26 -0
  326. package/dist/ui/icons/PublishCancelIcon.svelte +8 -0
  327. package/dist/ui/icons/PublishCancelIcon.svelte.d.ts +26 -0
  328. package/dist/ui/icons/PublishIcon.svelte +12 -0
  329. package/dist/ui/icons/PublishIcon.svelte.d.ts +26 -0
  330. package/dist/ui/icons/RefreshIcon.svelte +10 -0
  331. package/dist/ui/icons/RefreshIcon.svelte.d.ts +26 -0
  332. package/dist/ui/icons/RepairIcon.svelte +10 -0
  333. package/dist/ui/icons/RepairIcon.svelte.d.ts +26 -0
  334. package/dist/ui/icons/SaveIcon.svelte +14 -0
  335. package/dist/ui/icons/SaveIcon.svelte.d.ts +26 -0
  336. package/dist/ui/icons/SearchIcon.svelte +8 -0
  337. package/dist/ui/icons/SearchIcon.svelte.d.ts +26 -0
  338. package/dist/ui/icons/SelectIcon.svelte +7 -0
  339. package/dist/ui/icons/SelectIcon.svelte.d.ts +26 -0
  340. package/dist/ui/icons/SettingsIcon.svelte +8 -0
  341. package/dist/ui/icons/SettingsIcon.svelte.d.ts +26 -0
  342. package/dist/ui/icons/SidebarToggleIcon.svelte +28 -0
  343. package/dist/ui/icons/SidebarToggleIcon.svelte.d.ts +26 -0
  344. package/dist/ui/icons/SliderAppIcon.svelte +14 -0
  345. package/dist/ui/icons/SliderAppIcon.svelte.d.ts +26 -0
  346. package/dist/ui/icons/SquareCheckIcon.svelte +3 -0
  347. package/dist/ui/icons/SquareCheckIcon.svelte.d.ts +26 -0
  348. package/dist/ui/icons/StarIcon.svelte +6 -0
  349. package/dist/ui/icons/StarIcon.svelte.d.ts +26 -0
  350. package/dist/ui/icons/StarOutlinedIcon.svelte +6 -0
  351. package/dist/ui/icons/StarOutlinedIcon.svelte.d.ts +26 -0
  352. package/dist/ui/icons/StaticContentIcon.svelte +8 -0
  353. package/dist/ui/icons/StaticContentIcon.svelte.d.ts +26 -0
  354. package/dist/ui/icons/SubtractIcon.svelte +9 -0
  355. package/dist/ui/icons/SubtractIcon.svelte.d.ts +26 -0
  356. package/dist/ui/icons/TabNewIcon.svelte +6 -0
  357. package/dist/ui/icons/TabNewIcon.svelte.d.ts +26 -0
  358. package/dist/ui/icons/TableAppIcon.svelte +19 -0
  359. package/dist/ui/icons/TableAppIcon.svelte.d.ts +26 -0
  360. package/dist/ui/icons/Tablet.svelte +20 -0
  361. package/dist/ui/icons/Tablet.svelte.d.ts +21 -0
  362. package/dist/ui/icons/TabletPreview.svelte +20 -0
  363. package/dist/ui/icons/TabletPreview.svelte.d.ts +21 -0
  364. package/dist/ui/icons/TabsIcon.svelte +17 -0
  365. package/dist/ui/icons/TabsIcon.svelte.d.ts +26 -0
  366. package/dist/ui/icons/ThreeDotsIcon.svelte +14 -0
  367. package/dist/ui/icons/ThreeDotsIcon.svelte.d.ts +26 -0
  368. package/dist/ui/icons/TimesIcon.svelte +4 -0
  369. package/dist/ui/icons/TimesIcon.svelte.d.ts +26 -0
  370. package/dist/ui/icons/ToolTipInfoCircleIcon.svelte +11 -0
  371. package/dist/ui/icons/ToolTipInfoCircleIcon.svelte.d.ts +26 -0
  372. package/dist/ui/icons/TooltipInfoCircleFilled.svelte +13 -0
  373. package/dist/ui/icons/TooltipInfoCircleFilled.svelte.d.ts +26 -0
  374. package/dist/ui/icons/TooltipInfoSquaredIcon.svelte +16 -0
  375. package/dist/ui/icons/TooltipInfoSquaredIcon.svelte.d.ts +26 -0
  376. package/dist/ui/icons/TriangleDownIcon.svelte +7 -0
  377. package/dist/ui/icons/TriangleDownIcon.svelte.d.ts +26 -0
  378. package/dist/ui/icons/TriangleDownIconToggle.svelte +21 -0
  379. package/dist/ui/icons/TriangleDownIconToggle.svelte.d.ts +20 -0
  380. package/dist/ui/icons/UndoIcon.svelte +6 -0
  381. package/dist/ui/icons/UndoIcon.svelte.d.ts +26 -0
  382. package/dist/ui/icons/UploadFileIcon.svelte +10 -0
  383. package/dist/ui/icons/UploadFileIcon.svelte.d.ts +26 -0
  384. package/dist/ui/icons/WarningCircleIcon.svelte +7 -0
  385. package/dist/ui/icons/WarningCircleIcon.svelte.d.ts +26 -0
  386. package/dist/ui/icons/WarningCircleOutlineIcon.svelte +14 -0
  387. package/dist/ui/icons/WarningCircleOutlineIcon.svelte.d.ts +26 -0
  388. package/dist/ui/icons/WarningTriangleIcon.svelte +6 -0
  389. package/dist/ui/icons/WarningTriangleIcon.svelte.d.ts +26 -0
  390. package/dist/ui/icons/WarningTriangleOutlineIcon.svelte +14 -0
  391. package/dist/ui/icons/WarningTriangleOutlineIcon.svelte.d.ts +26 -0
  392. package/dist/ui/icons/WebflowComponentIcon.svelte +14 -0
  393. package/dist/ui/icons/WebflowComponentIcon.svelte.d.ts +26 -0
  394. package/dist/ui/icons/WebflowComponentOutlinedIcon.svelte +10 -0
  395. package/dist/ui/icons/WebflowComponentOutlinedIcon.svelte.d.ts +26 -0
  396. package/dist/ui/icons/WebflowInsightsIcon.svelte +6 -0
  397. package/dist/ui/icons/WebflowInsightsIcon.svelte.d.ts +26 -0
  398. package/dist/ui/icons/WizedLogoIcon.svelte +39 -0
  399. package/dist/ui/icons/WizedLogoIcon.svelte.d.ts +26 -0
  400. package/dist/ui/icons/XL.svelte +19 -0
  401. package/dist/ui/icons/XL.svelte.d.ts +21 -0
  402. package/dist/ui/icons/XXL.svelte +19 -0
  403. package/dist/ui/icons/XXL.svelte.d.ts +21 -0
  404. package/dist/ui/icons/XXXL.svelte +19 -0
  405. package/dist/ui/icons/XXXL.svelte.d.ts +21 -0
  406. package/dist/ui/icons/apps/FsConsentIcon.svelte +22 -0
  407. package/dist/ui/icons/apps/FsConsentIcon.svelte.d.ts +26 -0
  408. package/dist/ui/icons/apps/FsCursorIcon.svelte +12 -0
  409. package/dist/ui/icons/apps/FsCursorIcon.svelte.d.ts +26 -0
  410. package/dist/ui/icons/apps/FsExampleIcon.svelte +10 -0
  411. package/dist/ui/icons/apps/FsExampleIcon.svelte.d.ts +26 -0
  412. package/dist/ui/icons/apps/FsInstagramFeedIcon.svelte +27 -0
  413. package/dist/ui/icons/apps/FsInstagramFeedIcon.svelte.d.ts +26 -0
  414. package/dist/ui/icons/apps/FsMarqueeIcon.svelte +13 -0
  415. package/dist/ui/icons/apps/FsMarqueeIcon.svelte.d.ts +26 -0
  416. package/dist/ui/icons/apps/FsNumberCountIcon.svelte +46 -0
  417. package/dist/ui/icons/apps/FsNumberCountIcon.svelte.d.ts +26 -0
  418. package/dist/ui/icons/apps/FsSliderIcon.svelte +13 -0
  419. package/dist/ui/icons/apps/FsSliderIcon.svelte.d.ts +26 -0
  420. package/dist/ui/icons/apps/FsTablesIcon.svelte +19 -0
  421. package/dist/ui/icons/apps/FsTablesIcon.svelte.d.ts +26 -0
  422. package/dist/ui/icons/apps/FsTabsIcon.svelte +24 -0
  423. package/dist/ui/icons/apps/FsTabsIcon.svelte.d.ts +26 -0
  424. package/dist/ui/icons/apps/FsTooltipIcon.svelte +12 -0
  425. package/dist/ui/icons/apps/FsTooltipIcon.svelte.d.ts +26 -0
  426. package/dist/ui/icons/apps/FsYouTubeFeedIcon.svelte +43 -0
  427. package/dist/ui/icons/apps/FsYouTubeFeedIcon.svelte.d.ts +26 -0
  428. package/dist/ui/icons/apps/index.d.ts +15 -0
  429. package/dist/ui/icons/apps/index.js +15 -0
  430. package/dist/ui/icons/index.d.ts +120 -0
  431. package/dist/ui/icons/index.js +120 -0
  432. package/dist/ui/index.css +494 -0
  433. package/dist/ui/index.d.ts +2 -0
  434. package/dist/ui/index.js +2 -0
  435. package/dist/utils/api/checkIfAppModeIsDesign.d.ts +5 -0
  436. package/dist/utils/api/checkIfAppModeIsDesign.js +20 -0
  437. package/dist/utils/api/clipboard/handlePaste.d.ts +46 -0
  438. package/dist/utils/api/clipboard/handlePaste.js +53 -0
  439. package/dist/utils/api/clipboard/index.d.ts +1 -0
  440. package/dist/utils/api/clipboard/index.js +1 -0
  441. package/dist/utils/api/copyPaste/index.d.ts +18 -0
  442. package/dist/utils/api/copyPaste/index.js +1 -0
  443. package/dist/utils/api/getAllAssets.d.ts +12 -0
  444. package/dist/utils/api/getAllAssets.js +21 -0
  445. package/dist/utils/api/getFinsweetComponentsEnvironment.d.ts +9 -0
  446. package/dist/utils/api/getFinsweetComponentsEnvironment.js +70 -0
  447. package/dist/utils/api/index.d.ts +6 -0
  448. package/dist/utils/api/index.js +6 -0
  449. package/dist/utils/api/insertWithXSCP.d.ts +5 -0
  450. package/dist/utils/api/insertWithXSCP.js +13 -0
  451. package/dist/utils/auth/crossWindowLogin.d.ts +2 -0
  452. package/dist/utils/auth/crossWindowLogin.js +49 -0
  453. package/dist/utils/auth/index.d.ts +61 -0
  454. package/dist/utils/auth/index.js +196 -0
  455. package/dist/utils/browser-storage/index.d.ts +2 -0
  456. package/dist/utils/browser-storage/index.js +2 -0
  457. package/dist/utils/browser-storage/localStorage.d.ts +24 -0
  458. package/dist/utils/browser-storage/localStorage.js +56 -0
  459. package/dist/utils/browser-storage/sessionStorage.d.ts +24 -0
  460. package/dist/utils/browser-storage/sessionStorage.js +56 -0
  461. package/dist/utils/constants.d.ts +61 -0
  462. package/dist/utils/constants.js +73 -0
  463. package/dist/utils/custom-code/api.d.ts +17 -0
  464. package/dist/utils/custom-code/api.js +41 -0
  465. package/dist/utils/custom-code/index.d.ts +1 -0
  466. package/dist/utils/custom-code/index.js +1 -0
  467. package/dist/utils/helpers/cleanupTooltipMessage.d.ts +5 -0
  468. package/dist/utils/helpers/cleanupTooltipMessage.js +25 -0
  469. package/dist/utils/helpers/goto.d.ts +7 -0
  470. package/dist/utils/helpers/goto.js +35 -0
  471. package/dist/utils/helpers/index.d.ts +5 -0
  472. package/dist/utils/helpers/index.js +5 -0
  473. package/dist/utils/helpers/noop.d.ts +4 -0
  474. package/dist/utils/helpers/noop.js +7 -0
  475. package/dist/utils/helpers/numbers.d.ts +27 -0
  476. package/dist/utils/helpers/numbers.js +61 -0
  477. package/dist/utils/helpers/objectsToModuleExports.d.ts +9 -0
  478. package/dist/utils/helpers/objectsToModuleExports.js +13 -0
  479. package/dist/utils/helpers/trimText.d.ts +15 -0
  480. package/dist/utils/helpers/trimText.js +33 -0
  481. package/dist/utils/index.d.ts +4 -0
  482. package/dist/utils/index.js +4 -0
  483. package/dist/utils/logger/index.d.ts +19 -0
  484. package/dist/utils/logger/index.js +41 -0
  485. package/dist/utils/webflow-canvas/attributes/getAllWebflowElementAttributes.d.ts +6 -0
  486. package/dist/utils/webflow-canvas/attributes/getAllWebflowElementAttributes.js +19 -0
  487. package/dist/utils/webflow-canvas/attributes/getInstanceNamesFromObject.d.ts +8 -0
  488. package/dist/utils/webflow-canvas/attributes/getInstanceNamesFromObject.js +21 -0
  489. package/dist/utils/webflow-canvas/attributes/getWebflowElementAttribute.d.ts +7 -0
  490. package/dist/utils/webflow-canvas/attributes/getWebflowElementAttribute.js +25 -0
  491. package/dist/utils/webflow-canvas/attributes/getWebflowElementTextContent.d.ts +6 -0
  492. package/dist/utils/webflow-canvas/attributes/getWebflowElementTextContent.js +26 -0
  493. package/dist/utils/webflow-canvas/attributes/index.d.ts +7 -0
  494. package/dist/utils/webflow-canvas/attributes/index.js +7 -0
  495. package/dist/utils/webflow-canvas/attributes/removeWebflowElementAttribute.d.ts +7 -0
  496. package/dist/utils/webflow-canvas/attributes/removeWebflowElementAttribute.js +37 -0
  497. package/dist/utils/webflow-canvas/attributes/setStyles.d.ts +10 -0
  498. package/dist/utils/webflow-canvas/attributes/setStyles.js +36 -0
  499. package/dist/utils/webflow-canvas/attributes/setWebflowElementAttribute.d.ts +11 -0
  500. package/dist/utils/webflow-canvas/attributes/setWebflowElementAttribute.js +61 -0
  501. package/dist/utils/webflow-canvas/findInstanceElement.d.ts +32 -0
  502. package/dist/utils/webflow-canvas/findInstanceElement.js +144 -0
  503. package/dist/utils/webflow-canvas/getAllPages.d.ts +29 -0
  504. package/dist/utils/webflow-canvas/getAllPages.js +93 -0
  505. package/dist/utils/webflow-canvas/getSiteStagingUrl.d.ts +7 -0
  506. package/dist/utils/webflow-canvas/getSiteStagingUrl.js +14 -0
  507. package/dist/utils/webflow-canvas/index.d.ts +3 -0
  508. package/dist/utils/webflow-canvas/index.js +3 -0
  509. package/package.json +107 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,94 @@
1
+ import type { StoryObj } from '@storybook/sveltekit';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("svelte").Component<import("./types.js").SelectProps, {
5
+ init: () => Promise<{
6
+ result: import("./types.js").DropdownInstance[];
7
+ destroy(): void;
8
+ } | undefined>;
9
+ }, "selected">;
10
+ parameters: {
11
+ layout: string;
12
+ docs: {
13
+ description: {
14
+ component: string;
15
+ };
16
+ };
17
+ };
18
+ tags: string[];
19
+ argTypes: {
20
+ options: {
21
+ control: string;
22
+ description: string;
23
+ };
24
+ selected: {
25
+ control: string;
26
+ description: string;
27
+ };
28
+ defaultText: {
29
+ control: string;
30
+ description: string;
31
+ };
32
+ disabled: {
33
+ control: string;
34
+ description: string;
35
+ };
36
+ enableSearch: {
37
+ control: string;
38
+ description: string;
39
+ };
40
+ preventNoSelection: {
41
+ control: string;
42
+ description: string;
43
+ };
44
+ width: {
45
+ control: string;
46
+ description: string;
47
+ };
48
+ dropdownWidth: {
49
+ control: string;
50
+ description: string;
51
+ };
52
+ dropdownHeight: {
53
+ control: string;
54
+ description: string;
55
+ };
56
+ placement: {
57
+ control: {
58
+ type: string;
59
+ };
60
+ options: string[];
61
+ description: string;
62
+ };
63
+ hide: {
64
+ control: string;
65
+ description: string;
66
+ };
67
+ className: {
68
+ control: string;
69
+ description: string;
70
+ };
71
+ };
72
+ };
73
+ export default meta;
74
+ type Story = StoryObj<typeof meta>;
75
+ export declare const Default: Story;
76
+ export declare const WithSelection: Story;
77
+ export declare const Disabled: Story;
78
+ export declare const WithSearch: Story;
79
+ export declare const WithDescriptions: Story;
80
+ export declare const WithIcons: Story;
81
+ export declare const CustomDimensions: Story;
82
+ export declare const CompactSelect: Story;
83
+ export declare const WideSelect: Story;
84
+ export declare const PreventDeselection: Story;
85
+ export declare const MixedOptions: Story;
86
+ export declare const TopPlacement: Story;
87
+ export declare const LeftPlacement: Story;
88
+ export declare const RightPlacement: Story;
89
+ export declare const InteractiveExample: Story;
90
+ export declare const EmptyOptions: Story;
91
+ export declare const SingleOption: Story;
92
+ export declare const LongOptions: Story;
93
+ export declare const AccessibilityTest: Story;
94
+ export declare const ManyOptions: Story;
@@ -0,0 +1,396 @@
1
+ import { CheckIcon, UndoIcon } from '../../icons';
2
+ import Select from './Select.svelte';
3
+ // Mock options for stories
4
+ const basicOptions = [
5
+ { label: 'Option 1', value: 'option1' },
6
+ { label: 'Option 2', value: 'option2' },
7
+ { label: 'Option 3', value: 'option3' },
8
+ { label: 'Option 4', value: 'option4' },
9
+ { label: 'Option 5', value: 'option5' }
10
+ ];
11
+ const optionsWithDescriptions = [
12
+ {
13
+ label: 'Basic Plan',
14
+ value: 'basic',
15
+ description: 'Perfect for individuals and small teams',
16
+ descriptionTitle: 'Free'
17
+ },
18
+ {
19
+ label: 'Pro Plan',
20
+ value: 'pro',
21
+ description: 'Advanced features for growing businesses',
22
+ descriptionTitle: '$29/month'
23
+ },
24
+ {
25
+ label: 'Enterprise Plan',
26
+ value: 'enterprise',
27
+ description: 'Full-scale solution for large organizations',
28
+ descriptionTitle: 'Custom pricing'
29
+ }
30
+ ];
31
+ const optionsWithIcons = [
32
+ {
33
+ label: 'Approved',
34
+ value: 'approved',
35
+ labelIcon: CheckIcon,
36
+ description: 'Item has been approved'
37
+ },
38
+ {
39
+ label: 'Reset',
40
+ value: 'reset',
41
+ labelIcon: UndoIcon,
42
+ description: 'Reset to default state'
43
+ }
44
+ ];
45
+ const mixedOptions = [
46
+ { label: 'Simple Option', value: 'simple' },
47
+ { label: 'Disabled Option', value: 'disabled', isDisabled: true },
48
+ {
49
+ label: 'Complex Option',
50
+ value: 'complex',
51
+ description: 'This option has both description and custom styling',
52
+ descriptionTitle: 'Pro Feature',
53
+ className: 'custom-option-class'
54
+ }
55
+ ];
56
+ const meta = {
57
+ title: 'Ui/Select',
58
+ component: Select,
59
+ parameters: {
60
+ layout: 'centered',
61
+ docs: {
62
+ description: {
63
+ component: 'A flexible dropdown select component with search, keyboard navigation, and rich option formatting.'
64
+ }
65
+ }
66
+ },
67
+ tags: ['autodocs'],
68
+ argTypes: {
69
+ options: {
70
+ control: 'object',
71
+ description: 'Array of selectable options with labels and values'
72
+ },
73
+ selected: {
74
+ control: 'text',
75
+ description: 'Currently selected value (bindable)'
76
+ },
77
+ defaultText: {
78
+ control: 'text',
79
+ description: 'Text to display when no option is selected'
80
+ },
81
+ disabled: {
82
+ control: 'boolean',
83
+ description: 'Whether the select is disabled'
84
+ },
85
+ enableSearch: {
86
+ control: 'boolean',
87
+ description: 'Enable search/filter functionality'
88
+ },
89
+ preventNoSelection: {
90
+ control: 'boolean',
91
+ description: 'Prevent deselection of the current value'
92
+ },
93
+ width: {
94
+ control: 'text',
95
+ description: 'Width of the select button'
96
+ },
97
+ dropdownWidth: {
98
+ control: 'text',
99
+ description: 'Width of the dropdown menu'
100
+ },
101
+ dropdownHeight: {
102
+ control: 'text',
103
+ description: 'Maximum height of the dropdown menu'
104
+ },
105
+ placement: {
106
+ control: { type: 'select' },
107
+ options: ['top', 'bottom', 'left', 'right'],
108
+ description: 'Placement of the dropdown relative to the trigger'
109
+ },
110
+ hide: {
111
+ control: 'boolean',
112
+ description: 'Whether to hide the component'
113
+ },
114
+ className: {
115
+ control: 'text',
116
+ description: 'Additional CSS classes'
117
+ }
118
+ }
119
+ };
120
+ export default meta;
121
+ // Basic stories
122
+ export const Default = {
123
+ args: {
124
+ options: basicOptions,
125
+ defaultText: 'Select an option'
126
+ }
127
+ };
128
+ export const WithSelection = {
129
+ args: {
130
+ options: basicOptions,
131
+ selected: 'option2',
132
+ defaultText: 'Select an option'
133
+ }
134
+ };
135
+ export const Disabled = {
136
+ args: {
137
+ options: basicOptions,
138
+ disabled: true,
139
+ defaultText: 'Disabled select'
140
+ }
141
+ };
142
+ // Search functionality
143
+ export const WithSearch = {
144
+ args: {
145
+ options: basicOptions,
146
+ enableSearch: true,
147
+ defaultText: 'Searchable select'
148
+ },
149
+ parameters: {
150
+ docs: {
151
+ description: {
152
+ story: 'Enable search functionality to filter options by typing.'
153
+ }
154
+ }
155
+ }
156
+ };
157
+ // Rich content options
158
+ export const WithDescriptions = {
159
+ args: {
160
+ options: optionsWithDescriptions,
161
+ defaultText: 'Choose a plan',
162
+ dropdownWidth: '300px'
163
+ },
164
+ parameters: {
165
+ docs: {
166
+ description: {
167
+ story: 'Options can include descriptions and titles for rich content display.'
168
+ }
169
+ }
170
+ }
171
+ };
172
+ export const WithIcons = {
173
+ args: {
174
+ options: optionsWithIcons,
175
+ defaultText: 'Select status',
176
+ dropdownWidth: '250px'
177
+ },
178
+ parameters: {
179
+ docs: {
180
+ description: {
181
+ story: 'Options can include icons alongside labels and descriptions.'
182
+ }
183
+ }
184
+ }
185
+ };
186
+ // Different sizes and layouts
187
+ export const CustomDimensions = {
188
+ args: {
189
+ options: basicOptions,
190
+ width: '300px',
191
+ dropdownWidth: '350px',
192
+ dropdownHeight: '150px',
193
+ defaultText: 'Custom sized select'
194
+ },
195
+ parameters: {
196
+ docs: {
197
+ description: {
198
+ story: 'Customize the width and height of both the select button and dropdown.'
199
+ }
200
+ }
201
+ }
202
+ };
203
+ export const CompactSelect = {
204
+ args: {
205
+ options: basicOptions,
206
+ width: '120px',
207
+ dropdownWidth: '120px',
208
+ defaultText: 'Compact'
209
+ }
210
+ };
211
+ export const WideSelect = {
212
+ args: {
213
+ options: basicOptions,
214
+ width: '400px',
215
+ dropdownWidth: '400px',
216
+ defaultText: 'Wide selection field'
217
+ }
218
+ };
219
+ // Behavioral variants
220
+ export const PreventDeselection = {
221
+ args: {
222
+ options: basicOptions,
223
+ selected: 'option1',
224
+ preventNoSelection: true,
225
+ defaultText: 'Cannot deselect'
226
+ },
227
+ parameters: {
228
+ docs: {
229
+ description: {
230
+ story: 'Prevent users from deselecting the current option by clicking it again.'
231
+ }
232
+ }
233
+ }
234
+ };
235
+ export const MixedOptions = {
236
+ args: {
237
+ options: mixedOptions,
238
+ defaultText: 'Mixed option types',
239
+ dropdownWidth: '280px'
240
+ },
241
+ parameters: {
242
+ docs: {
243
+ description: {
244
+ story: 'Demonstrates a mix of simple, disabled, and complex options with various features.'
245
+ }
246
+ }
247
+ }
248
+ };
249
+ // Placement variations
250
+ export const TopPlacement = {
251
+ args: {
252
+ options: basicOptions,
253
+ placement: 'top',
254
+ defaultText: 'Dropdown opens above'
255
+ },
256
+ parameters: {
257
+ docs: {
258
+ description: {
259
+ story: 'Configure dropdown placement relative to the trigger button.'
260
+ }
261
+ }
262
+ }
263
+ };
264
+ export const LeftPlacement = {
265
+ args: {
266
+ options: basicOptions,
267
+ placement: 'left',
268
+ defaultText: 'Opens to left'
269
+ }
270
+ };
271
+ export const RightPlacement = {
272
+ args: {
273
+ options: basicOptions,
274
+ placement: 'right',
275
+ defaultText: 'Opens to right'
276
+ }
277
+ };
278
+ // Interactive examples
279
+ export const InteractiveExample = {
280
+ render: (args) => ({
281
+ Component: Select,
282
+ props: {
283
+ ...args,
284
+ onchange: (event) => {
285
+ console.log('Selection changed:', event.value);
286
+ // In a real app, you might update some state here
287
+ alert(`Selected: ${event.value || 'None'}`);
288
+ }
289
+ }
290
+ }),
291
+ args: {
292
+ options: basicOptions,
293
+ defaultText: 'Click to see change event'
294
+ },
295
+ parameters: {
296
+ docs: {
297
+ description: {
298
+ story: 'Demonstrates the change event handler that fires when selection changes.'
299
+ }
300
+ }
301
+ }
302
+ };
303
+ // Edge cases and error states
304
+ export const EmptyOptions = {
305
+ args: {
306
+ options: [],
307
+ defaultText: 'No options available'
308
+ },
309
+ parameters: {
310
+ docs: {
311
+ description: {
312
+ story: 'Handles the case when no options are provided.'
313
+ }
314
+ }
315
+ }
316
+ };
317
+ export const SingleOption = {
318
+ args: {
319
+ options: [{ label: 'Only Option', value: 'only' }],
320
+ defaultText: 'Single option'
321
+ }
322
+ };
323
+ export const LongOptions = {
324
+ args: {
325
+ options: [
326
+ {
327
+ label: 'This is a very long option label that might overflow',
328
+ value: 'long1',
329
+ description: 'And this is an even longer description that explains the purpose of this particular option in great detail'
330
+ },
331
+ {
332
+ label: 'Another extremely long option with lots of text',
333
+ value: 'long2',
334
+ description: 'Short desc'
335
+ },
336
+ {
337
+ label: 'Short',
338
+ value: 'short',
339
+ description: 'But this description is much longer than the label and contains a lot of explanatory text about what this option does'
340
+ }
341
+ ],
342
+ dropdownWidth: '300px',
343
+ defaultText: 'Long content handling'
344
+ },
345
+ parameters: {
346
+ docs: {
347
+ description: {
348
+ story: 'Tests how the component handles long labels and descriptions with text wrapping.'
349
+ }
350
+ }
351
+ }
352
+ };
353
+ // Accessibility testing
354
+ export const AccessibilityTest = {
355
+ args: {
356
+ options: basicOptions,
357
+ defaultText: 'Accessibility test',
358
+ id: 'accessible-select'
359
+ },
360
+ parameters: {
361
+ docs: {
362
+ description: {
363
+ story: 'Tests accessibility features like ARIA attributes and keyboard navigation.'
364
+ }
365
+ },
366
+ a11y: {
367
+ config: {
368
+ rules: [
369
+ { id: 'select-name', enabled: true },
370
+ { id: 'aria-valid-attr-value', enabled: true }
371
+ ]
372
+ }
373
+ }
374
+ }
375
+ };
376
+ // Performance testing with many options
377
+ export const ManyOptions = {
378
+ args: {
379
+ options: Array.from({ length: 100 }, (_, i) => ({
380
+ label: `Option ${i + 1}`,
381
+ value: `option${i + 1}`,
382
+ ...(i % 10 === 0 ? { description: `Description for option ${i + 1}` } : {}),
383
+ ...(i % 15 === 0 ? { isDisabled: true } : {})
384
+ })),
385
+ enableSearch: true,
386
+ defaultText: '100 options with search',
387
+ dropdownHeight: '200px'
388
+ },
389
+ parameters: {
390
+ docs: {
391
+ description: {
392
+ story: 'Performance test with many options. Search functionality helps manage large lists.'
393
+ }
394
+ }
395
+ }
396
+ };