paris 0.23.1 → 0.24.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 (555) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +17 -17
  3. package/dist/helpers/OpenChangeEffect.d.ts +11 -0
  4. package/dist/helpers/OpenChangeEffect.js +16 -0
  5. package/dist/helpers/OpenChangeEffect.js.map +1 -0
  6. package/dist/helpers/renderEnhancer.d.ts +7 -0
  7. package/dist/helpers/renderEnhancer.js +20 -0
  8. package/dist/helpers/renderEnhancer.js.map +1 -0
  9. package/dist/helpers/useControllableState.d.ts +7 -0
  10. package/dist/helpers/useControllableState.js +49 -0
  11. package/dist/helpers/useControllableState.js.map +1 -0
  12. package/dist/helpers/useIsMounted.d.ts +1 -0
  13. package/dist/helpers/useResizeObserver.d.ts +12 -0
  14. package/dist/stories/accordion/Accordion.css +130 -0
  15. package/dist/stories/accordion/Accordion.d.ts +47 -0
  16. package/dist/stories/accordion/Accordion.js +82 -0
  17. package/dist/stories/accordion/Accordion.js.map +1 -0
  18. package/dist/stories/accordion/Accordion.module.scss.js +26 -0
  19. package/dist/stories/accordion/Accordion.module.scss.js.map +1 -0
  20. package/dist/stories/accordion/index.js +2 -0
  21. package/dist/stories/accordion/index.js.map +1 -0
  22. package/dist/stories/accordionselect/AccordionSelect.css +106 -0
  23. package/dist/stories/accordionselect/AccordionSelect.d.ts +102 -0
  24. package/dist/stories/accordionselect/AccordionSelect.js +137 -0
  25. package/dist/stories/accordionselect/AccordionSelect.js.map +1 -0
  26. package/dist/stories/accordionselect/AccordionSelect.module.scss.js +27 -0
  27. package/dist/stories/accordionselect/AccordionSelect.module.scss.js.map +1 -0
  28. package/dist/stories/accordionselect/index.js +2 -0
  29. package/dist/stories/accordionselect/index.js.map +1 -0
  30. package/dist/stories/avatar/Avatar.css +7 -0
  31. package/dist/stories/avatar/Avatar.d.ts +22 -0
  32. package/dist/stories/avatar/Avatar.js +37 -0
  33. package/dist/stories/avatar/Avatar.js.map +1 -0
  34. package/dist/stories/avatar/Avatar.module.scss.js +7 -0
  35. package/dist/stories/avatar/Avatar.module.scss.js.map +1 -0
  36. package/dist/stories/avatar/index.js +2 -0
  37. package/dist/stories/avatar/index.js.map +1 -0
  38. package/dist/stories/button/Button.css +137 -0
  39. package/dist/stories/button/Button.d.ts +120 -0
  40. package/dist/stories/button/Button.js +123 -0
  41. package/dist/stories/button/Button.js.map +1 -0
  42. package/dist/stories/button/Button.module.scss.js +35 -0
  43. package/dist/stories/button/Button.module.scss.js.map +1 -0
  44. package/dist/stories/button/index.js +2 -0
  45. package/dist/stories/button/index.js.map +1 -0
  46. package/dist/stories/callout/Callout.css +35 -0
  47. package/dist/stories/callout/Callout.d.ts +22 -0
  48. package/dist/stories/callout/Callout.js +21 -0
  49. package/dist/stories/callout/Callout.js.map +1 -0
  50. package/dist/stories/callout/Callout.module.scss.js +15 -0
  51. package/dist/stories/callout/Callout.module.scss.js.map +1 -0
  52. package/dist/stories/callout/index.js +2 -0
  53. package/dist/stories/callout/index.js.map +1 -0
  54. package/dist/stories/card/Card.css +39 -0
  55. package/dist/stories/card/Card.d.ts +30 -0
  56. package/dist/stories/card/Card.js +22 -0
  57. package/dist/stories/card/Card.js.map +1 -0
  58. package/dist/stories/card/Card.module.scss.js +17 -0
  59. package/dist/stories/card/Card.module.scss.js.map +1 -0
  60. package/dist/stories/card/index.js +2 -0
  61. package/dist/stories/card/index.js.map +1 -0
  62. package/dist/stories/cardbutton/CardButton.css +77 -0
  63. package/dist/stories/cardbutton/CardButton.d.ts +50 -0
  64. package/dist/stories/cardbutton/CardButton.js +53 -0
  65. package/dist/stories/cardbutton/CardButton.js.map +1 -0
  66. package/dist/stories/cardbutton/CardButton.module.scss.js +19 -0
  67. package/dist/stories/cardbutton/CardButton.module.scss.js.map +1 -0
  68. package/dist/stories/cardbutton/index.js +2 -0
  69. package/dist/stories/cardbutton/index.js.map +1 -0
  70. package/dist/stories/checkbox/Checkbox.css +155 -0
  71. package/dist/stories/checkbox/Checkbox.d.ts +31 -0
  72. package/dist/stories/checkbox/Checkbox.js +99 -0
  73. package/dist/stories/checkbox/Checkbox.js.map +1 -0
  74. package/dist/stories/checkbox/Checkbox.module.scss.js +32 -0
  75. package/dist/stories/checkbox/Checkbox.module.scss.js.map +1 -0
  76. package/dist/stories/checkbox/index.js +2 -0
  77. package/dist/stories/checkbox/index.js.map +1 -0
  78. package/dist/stories/codeinput/CodeInput.css +63 -0
  79. package/dist/stories/codeinput/CodeInput.d.ts +47 -0
  80. package/dist/stories/codeinput/CodeInput.js +105 -0
  81. package/dist/stories/codeinput/CodeInput.js.map +1 -0
  82. package/dist/stories/codeinput/CodeInput.module.scss.js +13 -0
  83. package/dist/stories/codeinput/CodeInput.module.scss.js.map +1 -0
  84. package/dist/stories/codeinput/index.js +2 -0
  85. package/dist/stories/codeinput/index.js.map +1 -0
  86. package/dist/stories/combobox/Combobox.d.ts +125 -0
  87. package/dist/stories/combobox/Combobox.js +257 -0
  88. package/dist/stories/combobox/Combobox.js.map +1 -0
  89. package/dist/stories/combobox/index.js +2 -0
  90. package/dist/stories/combobox/index.js.map +1 -0
  91. package/dist/stories/dialog/Dialog.css +185 -0
  92. package/dist/stories/dialog/Dialog.d.ts +103 -0
  93. package/dist/stories/dialog/Dialog.js +187 -0
  94. package/dist/stories/dialog/Dialog.js.map +1 -0
  95. package/dist/stories/dialog/Dialog.module.scss.js +48 -0
  96. package/dist/stories/dialog/Dialog.module.scss.js.map +1 -0
  97. package/dist/stories/dialog/index.js +2 -0
  98. package/dist/stories/dialog/index.js.map +1 -0
  99. package/dist/stories/drawer/Drawer.css +406 -0
  100. package/dist/stories/drawer/Drawer.d.ts +143 -0
  101. package/dist/stories/drawer/Drawer.js +357 -0
  102. package/dist/stories/drawer/Drawer.js.map +1 -0
  103. package/dist/stories/drawer/Drawer.module.scss.js +96 -0
  104. package/dist/stories/drawer/Drawer.module.scss.js.map +1 -0
  105. package/dist/stories/drawer/DrawerActions.d.ts +5 -0
  106. package/dist/stories/drawer/DrawerActions.js +23 -0
  107. package/dist/stories/drawer/DrawerActions.js.map +1 -0
  108. package/dist/stories/drawer/DrawerBottomPanel.d.ts +9 -0
  109. package/dist/stories/drawer/DrawerBottomPanel.js +48 -0
  110. package/dist/stories/drawer/DrawerBottomPanel.js.map +1 -0
  111. package/dist/stories/drawer/DrawerContext.d.ts +11 -0
  112. package/dist/stories/drawer/DrawerContext.js +23 -0
  113. package/dist/stories/drawer/DrawerContext.js.map +1 -0
  114. package/dist/stories/drawer/DrawerPage.d.ts +12 -0
  115. package/dist/stories/drawer/DrawerPage.js +22 -0
  116. package/dist/stories/drawer/DrawerPage.js.map +1 -0
  117. package/dist/stories/drawer/DrawerPageContext.d.ts +12 -0
  118. package/dist/stories/drawer/DrawerPageContext.js +23 -0
  119. package/dist/stories/drawer/DrawerPageContext.js.map +1 -0
  120. package/dist/stories/drawer/DrawerPaginationContext.d.ts +9 -0
  121. package/dist/stories/drawer/DrawerPaginationContext.js +17 -0
  122. package/dist/stories/drawer/DrawerPaginationContext.js.map +1 -0
  123. package/dist/stories/drawer/DrawerProgressBar.d.ts +15 -0
  124. package/dist/stories/drawer/DrawerProgressBar.js +60 -0
  125. package/dist/stories/drawer/DrawerProgressBar.js.map +1 -0
  126. package/dist/stories/drawer/DrawerSlotContext.d.ts +34 -0
  127. package/dist/stories/drawer/DrawerSlotContext.js +120 -0
  128. package/dist/stories/drawer/DrawerSlotContext.js.map +1 -0
  129. package/dist/stories/drawer/DrawerTitle.d.ts +5 -0
  130. package/dist/stories/drawer/DrawerTitle.js +29 -0
  131. package/dist/stories/drawer/DrawerTitle.js.map +1 -0
  132. package/dist/stories/drawer/index.js +10 -0
  133. package/dist/stories/drawer/index.js.map +1 -0
  134. package/dist/stories/field/Field.d.ts +54 -0
  135. package/dist/stories/field/Field.js +91 -0
  136. package/dist/stories/field/Field.js.map +1 -0
  137. package/dist/stories/field/index.js +2 -0
  138. package/dist/stories/field/index.js.map +1 -0
  139. package/dist/stories/icon/ArrowRight.d.ts +2 -0
  140. package/dist/stories/icon/ArrowRight.js +13 -0
  141. package/dist/stories/icon/ArrowRight.js.map +1 -0
  142. package/dist/stories/icon/Check.d.ts +2 -0
  143. package/dist/stories/icon/Check.js +13 -0
  144. package/dist/stories/icon/Check.js.map +1 -0
  145. package/dist/stories/icon/ChevronLeft.d.ts +2 -0
  146. package/dist/stories/icon/ChevronLeft.js +13 -0
  147. package/dist/stories/icon/ChevronLeft.js.map +1 -0
  148. package/dist/stories/icon/ChevronRight.d.ts +2 -0
  149. package/dist/stories/icon/ChevronRight.js +13 -0
  150. package/dist/stories/icon/ChevronRight.js.map +1 -0
  151. package/dist/stories/icon/Close.d.ts +2 -0
  152. package/dist/stories/icon/Close.js +13 -0
  153. package/dist/stories/icon/Close.js.map +1 -0
  154. package/dist/stories/icon/Ellipsis.d.ts +2 -0
  155. package/dist/stories/icon/Ellipsis.js +13 -0
  156. package/dist/stories/icon/Ellipsis.js.map +1 -0
  157. package/{src/stories/icon/Icon.tsx → dist/stories/icon/Icon.d.ts} +2 -8
  158. package/dist/stories/icon/Icon.js +8 -0
  159. package/dist/stories/icon/Icon.js.map +1 -0
  160. package/dist/stories/icon/Info.d.ts +2 -0
  161. package/dist/stories/icon/Info.js +13 -0
  162. package/dist/stories/icon/Info.js.map +1 -0
  163. package/dist/stories/icon/NotificationDot.d.ts +2 -0
  164. package/dist/stories/icon/NotificationDot.js +7 -0
  165. package/dist/stories/icon/NotificationDot.js.map +1 -0
  166. package/dist/stories/icon/Spinner.d.ts +2 -0
  167. package/dist/stories/icon/Spinner.js +24 -0
  168. package/dist/stories/icon/Spinner.js.map +1 -0
  169. package/dist/stories/icon/index.js +11 -0
  170. package/dist/stories/icon/index.js.map +1 -0
  171. package/dist/stories/informationaltooltip/InformationalTooltip.css +22 -0
  172. package/dist/stories/informationaltooltip/InformationalTooltip.d.ts +68 -0
  173. package/dist/stories/informationaltooltip/InformationalTooltip.js +85 -0
  174. package/dist/stories/informationaltooltip/InformationalTooltip.js.map +1 -0
  175. package/dist/stories/informationaltooltip/InformationalTooltip.module.scss.js +11 -0
  176. package/dist/stories/informationaltooltip/InformationalTooltip.module.scss.js.map +1 -0
  177. package/dist/stories/informationaltooltip/index.js +2 -0
  178. package/dist/stories/informationaltooltip/index.js.map +1 -0
  179. package/dist/stories/input/Input.css +165 -0
  180. package/dist/stories/input/Input.d.ts +57 -0
  181. package/dist/stories/input/Input.js +108 -0
  182. package/dist/stories/input/Input.js.map +1 -0
  183. package/dist/stories/input/Input.module.scss.js +23 -0
  184. package/dist/stories/input/Input.module.scss.js.map +1 -0
  185. package/dist/stories/input/index.js +2 -0
  186. package/dist/stories/input/index.js.map +1 -0
  187. package/dist/stories/markdown/Markdown.css +301 -0
  188. package/dist/stories/markdown/Markdown.d.ts +36 -0
  189. package/dist/stories/markdown/Markdown.js +141 -0
  190. package/dist/stories/markdown/Markdown.js.map +1 -0
  191. package/dist/stories/markdown/Markdown.module.scss.js +73 -0
  192. package/dist/stories/markdown/Markdown.module.scss.js.map +1 -0
  193. package/dist/stories/markdown/index.js +2 -0
  194. package/dist/stories/markdown/index.js.map +1 -0
  195. package/dist/stories/markdowneditor/FixedToolbar.css +24 -0
  196. package/dist/stories/markdowneditor/FixedToolbar.d.ts +19 -0
  197. package/dist/stories/markdowneditor/FixedToolbar.js +212 -0
  198. package/dist/stories/markdowneditor/FixedToolbar.js.map +1 -0
  199. package/dist/stories/markdowneditor/FixedToolbar.module.scss.js +11 -0
  200. package/dist/stories/markdowneditor/FixedToolbar.module.scss.js.map +1 -0
  201. package/dist/stories/markdowneditor/FloatingToolbar.css +18 -0
  202. package/dist/stories/markdowneditor/FloatingToolbar.d.ts +15 -0
  203. package/dist/stories/markdowneditor/FloatingToolbar.js +66 -0
  204. package/dist/stories/markdowneditor/FloatingToolbar.js.map +1 -0
  205. package/dist/stories/markdowneditor/FloatingToolbar.module.scss.js +9 -0
  206. package/dist/stories/markdowneditor/FloatingToolbar.module.scss.js.map +1 -0
  207. package/dist/stories/markdowneditor/LinkPopover.css +113 -0
  208. package/dist/stories/markdowneditor/LinkPopover.d.ts +11 -0
  209. package/dist/stories/markdowneditor/LinkPopover.js +106 -0
  210. package/dist/stories/markdowneditor/LinkPopover.js.map +1 -0
  211. package/dist/stories/markdowneditor/LinkPopover.module.scss.js +21 -0
  212. package/dist/stories/markdowneditor/LinkPopover.module.scss.js.map +1 -0
  213. package/dist/stories/markdowneditor/MarkdownEditor.css +325 -0
  214. package/{src/stories/markdowneditor/MarkdownEditor.tsx → dist/stories/markdowneditor/MarkdownEditor.d.ts} +5 -68
  215. package/dist/stories/markdowneditor/MarkdownEditor.js +62 -0
  216. package/dist/stories/markdowneditor/MarkdownEditor.js.map +1 -0
  217. package/dist/stories/markdowneditor/MarkdownEditor.module.scss.js +11 -0
  218. package/dist/stories/markdowneditor/MarkdownEditor.module.scss.js.map +1 -0
  219. package/dist/stories/markdowneditor/MarkdownEditorContext.d.ts +10 -0
  220. package/dist/stories/markdowneditor/MarkdownEditorContext.js +11 -0
  221. package/dist/stories/markdowneditor/MarkdownEditorContext.js.map +1 -0
  222. package/dist/stories/markdowneditor/ToolbarButton.css +30 -0
  223. package/dist/stories/markdowneditor/ToolbarButton.d.ts +22 -0
  224. package/dist/stories/markdowneditor/ToolbarButton.js +33 -0
  225. package/dist/stories/markdowneditor/ToolbarButton.js.map +1 -0
  226. package/dist/stories/markdowneditor/ToolbarButton.module.scss.js +7 -0
  227. package/dist/stories/markdowneditor/ToolbarButton.module.scss.js.map +1 -0
  228. package/dist/stories/markdowneditor/features.d.ts +10 -0
  229. package/dist/stories/markdowneditor/features.js +79 -0
  230. package/dist/stories/markdowneditor/features.js.map +1 -0
  231. package/dist/stories/markdowneditor/index.js +7 -0
  232. package/dist/stories/markdowneditor/index.js.map +1 -0
  233. package/dist/stories/markdowneditor/useMarkdownEditor.d.ts +19 -0
  234. package/dist/stories/markdowneditor/useMarkdownEditor.js +50 -0
  235. package/dist/stories/markdowneditor/useMarkdownEditor.js.map +1 -0
  236. package/dist/stories/menu/Menu.css +59 -0
  237. package/dist/stories/menu/Menu.d.ts +48 -0
  238. package/dist/stories/menu/Menu.js +31 -0
  239. package/dist/stories/menu/Menu.js.map +1 -0
  240. package/dist/stories/menu/Menu.module.scss.js +12 -0
  241. package/dist/stories/menu/Menu.module.scss.js.map +1 -0
  242. package/dist/stories/menu/index.js +2 -0
  243. package/dist/stories/menu/index.js.map +1 -0
  244. package/dist/stories/pagination/index.js +2 -0
  245. package/dist/stories/pagination/index.js.map +1 -0
  246. package/dist/stories/pagination/usePagination.d.ts +47 -0
  247. package/dist/stories/pagination/usePagination.js +52 -0
  248. package/dist/stories/pagination/usePagination.js.map +1 -0
  249. package/dist/stories/popover/Popover.css +20 -0
  250. package/dist/stories/popover/Popover.d.ts +29 -0
  251. package/dist/stories/popover/Popover.js +56 -0
  252. package/dist/stories/popover/Popover.js.map +1 -0
  253. package/dist/stories/popover/Popover.module.scss.js +8 -0
  254. package/dist/stories/popover/Popover.module.scss.js.map +1 -0
  255. package/dist/stories/popover/index.js +2 -0
  256. package/dist/stories/popover/index.js.map +1 -0
  257. package/dist/stories/select/Select.css +236 -0
  258. package/dist/stories/select/Select.d.ts +112 -0
  259. package/dist/stories/select/Select.js +283 -0
  260. package/dist/stories/select/Select.js.map +1 -0
  261. package/dist/stories/select/Select.module.scss.js +47 -0
  262. package/dist/stories/select/Select.module.scss.js.map +1 -0
  263. package/dist/stories/select/index.js +2 -0
  264. package/dist/stories/select/index.js.map +1 -0
  265. package/dist/stories/styledlink/StyledLink.css +10 -0
  266. package/dist/stories/styledlink/StyledLink.d.ts +20 -0
  267. package/dist/stories/styledlink/StyledLink.js +15 -0
  268. package/dist/stories/styledlink/StyledLink.js.map +1 -0
  269. package/dist/stories/styledlink/StyledLink.module.scss.js +7 -0
  270. package/dist/stories/styledlink/StyledLink.module.scss.js.map +1 -0
  271. package/dist/stories/styledlink/index.js +2 -0
  272. package/dist/stories/styledlink/index.js.map +1 -0
  273. package/dist/stories/table/Table.css +60 -0
  274. package/dist/stories/table/Table.d.ts +76 -0
  275. package/dist/stories/table/Table.js +91 -0
  276. package/dist/stories/table/Table.js.map +1 -0
  277. package/dist/stories/table/Table.module.scss.js +21 -0
  278. package/dist/stories/table/Table.module.scss.js.map +1 -0
  279. package/dist/stories/table/index.js +2 -0
  280. package/dist/stories/table/index.js.map +1 -0
  281. package/dist/stories/tabs/Tabs.css +144 -0
  282. package/dist/stories/tabs/Tabs.d.ts +74 -0
  283. package/dist/stories/tabs/Tabs.js +128 -0
  284. package/dist/stories/tabs/Tabs.js.map +1 -0
  285. package/dist/stories/tabs/Tabs.module.scss.js +37 -0
  286. package/dist/stories/tabs/Tabs.module.scss.js.map +1 -0
  287. package/dist/stories/tabs/index.js +2 -0
  288. package/dist/stories/tabs/index.js.map +1 -0
  289. package/dist/stories/tag/Tag.css +164 -0
  290. package/dist/stories/tag/Tag.d.ts +36 -0
  291. package/dist/stories/tag/Tag.js +52 -0
  292. package/dist/stories/tag/Tag.js.map +1 -0
  293. package/dist/stories/tag/Tag.module.scss.js +38 -0
  294. package/dist/stories/tag/Tag.module.scss.js.map +1 -0
  295. package/dist/stories/tag/index.js +2 -0
  296. package/dist/stories/tag/index.js.map +1 -0
  297. package/dist/stories/text/Text.css +54 -0
  298. package/dist/stories/text/Text.d.ts +52 -0
  299. package/dist/stories/text/Text.js +37 -0
  300. package/dist/stories/text/Text.js.map +1 -0
  301. package/dist/stories/text/Text.module.scss.js +19 -0
  302. package/dist/stories/text/Text.module.scss.js.map +1 -0
  303. package/{src/stories/text/Typography.module.css → dist/stories/text/Typography.css} +20 -20
  304. package/dist/stories/text/Typography.module.css.js +45 -0
  305. package/dist/stories/text/Typography.module.css.js.map +1 -0
  306. package/dist/stories/text/index.js +2 -0
  307. package/dist/stories/text/index.js.map +1 -0
  308. package/dist/stories/textarea/TextArea.d.ts +28 -0
  309. package/dist/stories/textarea/TextArea.js +102 -0
  310. package/dist/stories/textarea/TextArea.js.map +1 -0
  311. package/dist/stories/textarea/index.js +2 -0
  312. package/dist/stories/textarea/index.js.map +1 -0
  313. package/{src/stories/theme/tw-preflight.css → dist/stories/theme/global.css} +86 -110
  314. package/dist/stories/theme/index.js +4 -0
  315. package/dist/stories/theme/index.js.map +1 -0
  316. package/dist/stories/theme/themes.d.ts +513 -0
  317. package/dist/stories/theme/themes.js +854 -0
  318. package/dist/stories/theme/themes.js.map +1 -0
  319. package/dist/stories/theme/tokens.d.ts +128 -0
  320. package/dist/stories/theme/tokens.js +130 -0
  321. package/dist/stories/theme/tokens.js.map +1 -0
  322. package/dist/stories/tilt/Tilt.css +22 -0
  323. package/dist/stories/tilt/Tilt.d.ts +70 -0
  324. package/dist/stories/tilt/Tilt.js +256 -0
  325. package/dist/stories/tilt/Tilt.js.map +1 -0
  326. package/dist/stories/tilt/Tilt.module.scss.js +11 -0
  327. package/dist/stories/tilt/Tilt.module.scss.js.map +1 -0
  328. package/dist/stories/tilt/index.js +2 -0
  329. package/dist/stories/tilt/index.js.map +1 -0
  330. package/dist/stories/toast/Toast.css +17 -0
  331. package/{src/stories/toast/Toast.tsx → dist/stories/toast/Toast.d.ts} +3 -17
  332. package/dist/stories/toast/Toast.js +19 -0
  333. package/dist/stories/toast/Toast.js.map +1 -0
  334. package/dist/stories/toast/Toast.module.scss.js +7 -0
  335. package/dist/stories/toast/Toast.module.scss.js.map +1 -0
  336. package/dist/stories/toast/index.js +3 -0
  337. package/dist/stories/toast/index.js.map +1 -0
  338. package/dist/stories/utility/EasingFunctions.d.ts +1 -0
  339. package/dist/stories/utility/EasingFunctions.js +6 -0
  340. package/dist/stories/utility/EasingFunctions.js.map +1 -0
  341. package/dist/stories/utility/RemoveFromDOM.d.ts +11 -0
  342. package/dist/stories/utility/RemoveFromDOM.js +7 -0
  343. package/dist/stories/utility/RemoveFromDOM.js.map +1 -0
  344. package/dist/stories/utility/TextWhenString.d.ts +6 -0
  345. package/dist/stories/utility/TextWhenString.js +13 -0
  346. package/dist/stories/utility/TextWhenString.js.map +1 -0
  347. package/dist/stories/utility/VisuallyHidden.d.ts +13 -0
  348. package/dist/stories/utility/VisuallyHidden.js +8 -0
  349. package/dist/stories/utility/VisuallyHidden.js.map +1 -0
  350. package/dist/stories/utility/index.js +5 -0
  351. package/dist/stories/utility/index.js.map +1 -0
  352. package/dist/styles.css +3307 -0
  353. package/dist/types/Enhancer.d.ts +4 -0
  354. package/package.json +148 -44
  355. package/src/helpers/OpenChangeEffect.tsx +0 -21
  356. package/src/helpers/renderEnhancer.tsx +0 -20
  357. package/src/helpers/useControllableState.test.ts +0 -88
  358. package/src/helpers/useControllableState.ts +0 -59
  359. package/src/helpers/useIsMounted.ts +0 -17
  360. package/src/helpers/useResizeObserver.ts +0 -94
  361. package/src/pages/_app.tsx +0 -6
  362. package/src/pages/_document.tsx +0 -13
  363. package/src/pages/index.tsx +0 -116
  364. package/src/stories/Pagination.mdx +0 -73
  365. package/src/stories/Tokens.mdx +0 -46
  366. package/src/stories/Welcome.mdx +0 -8
  367. package/src/stories/accordion/Accordion.module.scss +0 -163
  368. package/src/stories/accordion/Accordion.stories.ts +0 -48
  369. package/src/stories/accordion/Accordion.test.tsx +0 -142
  370. package/src/stories/accordion/Accordion.tsx +0 -148
  371. package/src/stories/accordionselect/AccordionSelect.module.scss +0 -119
  372. package/src/stories/accordionselect/AccordionSelect.stories.ts +0 -38
  373. package/src/stories/accordionselect/AccordionSelect.test.tsx +0 -327
  374. package/src/stories/accordionselect/AccordionSelect.tsx +0 -249
  375. package/src/stories/avatar/Avatar.module.scss +0 -7
  376. package/src/stories/avatar/Avatar.stories.ts +0 -22
  377. package/src/stories/avatar/Avatar.test.tsx +0 -77
  378. package/src/stories/avatar/Avatar.tsx +0 -55
  379. package/src/stories/button/Button.module.scss +0 -167
  380. package/src/stories/button/Button.stories.ts +0 -93
  381. package/src/stories/button/Button.test.tsx +0 -266
  382. package/src/stories/button/Button.tsx +0 -226
  383. package/src/stories/callout/Callout.module.scss +0 -43
  384. package/src/stories/callout/Callout.stories.ts +0 -52
  385. package/src/stories/callout/Callout.test.tsx +0 -79
  386. package/src/stories/callout/Callout.tsx +0 -43
  387. package/src/stories/card/Card.module.scss +0 -42
  388. package/src/stories/card/Card.stories.ts +0 -38
  389. package/src/stories/card/Card.test.tsx +0 -81
  390. package/src/stories/card/Card.tsx +0 -54
  391. package/src/stories/cardbutton/CardButton.module.scss +0 -88
  392. package/src/stories/cardbutton/CardButton.stories.tsx +0 -24
  393. package/src/stories/cardbutton/CardButton.test.tsx +0 -174
  394. package/src/stories/cardbutton/CardButton.tsx +0 -100
  395. package/src/stories/checkbox/Checkbox.module.scss +0 -198
  396. package/src/stories/checkbox/Checkbox.stories.ts +0 -87
  397. package/src/stories/checkbox/Checkbox.test.tsx +0 -584
  398. package/src/stories/checkbox/Checkbox.tsx +0 -123
  399. package/src/stories/codeinput/CodeInput.module.scss +0 -77
  400. package/src/stories/codeinput/CodeInput.stories.ts +0 -51
  401. package/src/stories/codeinput/CodeInput.test.tsx +0 -56
  402. package/src/stories/codeinput/CodeInput.tsx +0 -160
  403. package/src/stories/combobox/Combobox.module.scss +0 -5
  404. package/src/stories/combobox/Combobox.stories.ts +0 -270
  405. package/src/stories/combobox/Combobox.test.tsx +0 -275
  406. package/src/stories/combobox/Combobox.tsx +0 -396
  407. package/src/stories/dialog/Dialog.module.scss +0 -211
  408. package/src/stories/dialog/Dialog.stories.tsx +0 -93
  409. package/src/stories/dialog/Dialog.test.tsx +0 -244
  410. package/src/stories/dialog/Dialog.tsx +0 -283
  411. package/src/stories/drawer/Drawer.module.scss +0 -479
  412. package/src/stories/drawer/Drawer.stories.tsx +0 -494
  413. package/src/stories/drawer/Drawer.test.tsx +0 -734
  414. package/src/stories/drawer/Drawer.tsx +0 -548
  415. package/src/stories/drawer/DrawerActions.tsx +0 -28
  416. package/src/stories/drawer/DrawerBottomPanel.tsx +0 -55
  417. package/src/stories/drawer/DrawerContext.tsx +0 -31
  418. package/src/stories/drawer/DrawerPage.tsx +0 -37
  419. package/src/stories/drawer/DrawerPageContext.tsx +0 -35
  420. package/src/stories/drawer/DrawerPaginationContext.tsx +0 -22
  421. package/src/stories/drawer/DrawerProgressBar.tsx +0 -72
  422. package/src/stories/drawer/DrawerSlotContext.tsx +0 -172
  423. package/src/stories/drawer/DrawerTitle.tsx +0 -35
  424. package/src/stories/field/Field.stories.ts +0 -36
  425. package/src/stories/field/Field.test.tsx +0 -146
  426. package/src/stories/field/Field.tsx +0 -145
  427. package/src/stories/icon/ArrowRight.tsx +0 -11
  428. package/src/stories/icon/Check.tsx +0 -11
  429. package/src/stories/icon/ChevronLeft.tsx +0 -11
  430. package/src/stories/icon/ChevronRight.tsx +0 -11
  431. package/src/stories/icon/Close.tsx +0 -11
  432. package/src/stories/icon/Ellipsis.tsx +0 -11
  433. package/src/stories/icon/Icon.module.scss +0 -5
  434. package/src/stories/icon/Icon.stories.ts +0 -33
  435. package/src/stories/icon/Icon.test.tsx +0 -59
  436. package/src/stories/icon/Info.tsx +0 -11
  437. package/src/stories/icon/NotificationDot.tsx +0 -8
  438. package/src/stories/icon/Spinner.tsx +0 -17
  439. package/src/stories/informationaltooltip/InformationalTooltip.module.scss +0 -23
  440. package/src/stories/informationaltooltip/InformationalTooltip.stories.tsx +0 -61
  441. package/src/stories/informationaltooltip/InformationalTooltip.test.tsx +0 -178
  442. package/src/stories/informationaltooltip/InformationalTooltip.tsx +0 -170
  443. package/src/stories/input/Input.module.scss +0 -217
  444. package/src/stories/input/Input.stories.ts +0 -110
  445. package/src/stories/input/Input.test.tsx +0 -174
  446. package/src/stories/input/Input.tsx +0 -181
  447. package/src/stories/markdown/Markdown.module.scss +0 -384
  448. package/src/stories/markdown/Markdown.stories.ts +0 -203
  449. package/src/stories/markdown/Markdown.test.tsx +0 -228
  450. package/src/stories/markdown/Markdown.tsx +0 -293
  451. package/src/stories/markdowneditor/FixedToolbar.module.scss +0 -24
  452. package/src/stories/markdowneditor/FixedToolbar.tsx +0 -274
  453. package/src/stories/markdowneditor/FloatingToolbar.module.scss +0 -21
  454. package/src/stories/markdowneditor/FloatingToolbar.tsx +0 -94
  455. package/src/stories/markdowneditor/LinkPopover.module.scss +0 -124
  456. package/src/stories/markdowneditor/LinkPopover.tsx +0 -135
  457. package/src/stories/markdowneditor/MarkdownEditor.module.scss +0 -405
  458. package/src/stories/markdowneditor/MarkdownEditor.stories.tsx +0 -226
  459. package/src/stories/markdowneditor/MarkdownEditor.test.tsx +0 -115
  460. package/src/stories/markdowneditor/MarkdownEditorContext.tsx +0 -20
  461. package/src/stories/markdowneditor/ToolbarButton.module.scss +0 -35
  462. package/src/stories/markdowneditor/ToolbarButton.tsx +0 -52
  463. package/src/stories/markdowneditor/features.ts +0 -92
  464. package/src/stories/markdowneditor/useMarkdownEditor.ts +0 -75
  465. package/src/stories/menu/Menu.module.scss +0 -71
  466. package/src/stories/menu/Menu.stories.tsx +0 -37
  467. package/src/stories/menu/Menu.test.tsx +0 -254
  468. package/src/stories/menu/Menu.tsx +0 -95
  469. package/src/stories/pagination/usePagination.test.ts +0 -259
  470. package/src/stories/pagination/usePagination.ts +0 -117
  471. package/src/stories/popover/Popover.module.scss +0 -22
  472. package/src/stories/popover/Popover.stories.ts +0 -20
  473. package/src/stories/popover/Popover.test.tsx +0 -152
  474. package/src/stories/popover/Popover.tsx +0 -89
  475. package/src/stories/select/Select.module.scss +0 -311
  476. package/src/stories/select/Select.stories.ts +0 -153
  477. package/src/stories/select/Select.test.tsx +0 -341
  478. package/src/stories/select/Select.tsx +0 -398
  479. package/src/stories/styledlink/StyledLink.module.scss +0 -11
  480. package/src/stories/styledlink/StyledLink.stories.ts +0 -28
  481. package/src/stories/styledlink/StyledLink.test.tsx +0 -59
  482. package/src/stories/styledlink/StyledLink.tsx +0 -33
  483. package/src/stories/table/Table.module.scss +0 -74
  484. package/src/stories/table/Table.stories.ts +0 -62
  485. package/src/stories/table/Table.test.tsx +0 -156
  486. package/src/stories/table/Table.tsx +0 -182
  487. package/src/stories/tabs/Tabs.module.scss +0 -185
  488. package/src/stories/tabs/Tabs.stories.tsx +0 -209
  489. package/src/stories/tabs/Tabs.test.tsx +0 -167
  490. package/src/stories/tabs/Tabs.tsx +0 -191
  491. package/src/stories/tag/Tag.module.scss +0 -189
  492. package/src/stories/tag/Tag.stories.ts +0 -58
  493. package/src/stories/tag/Tag.test.tsx +0 -90
  494. package/src/stories/tag/Tag.tsx +0 -84
  495. package/src/stories/text/Text.module.scss +0 -39
  496. package/src/stories/text/Text.stories.ts +0 -195
  497. package/src/stories/text/Text.test.tsx +0 -81
  498. package/src/stories/text/Text.tsx +0 -108
  499. package/src/stories/textarea/TextArea.stories.ts +0 -39
  500. package/src/stories/textarea/TextArea.test.tsx +0 -147
  501. package/src/stories/textarea/TextArea.tsx +0 -112
  502. package/src/stories/theme/global.scss +0 -6
  503. package/src/stories/theme/themes.ts +0 -1509
  504. package/src/stories/theme/tokens.ts +0 -149
  505. package/src/stories/theme/util.scss +0 -8
  506. package/src/stories/tilt/Tilt.module.scss +0 -22
  507. package/src/stories/tilt/Tilt.stories.tsx +0 -42
  508. package/src/stories/tilt/Tilt.test.tsx +0 -203
  509. package/src/stories/tilt/Tilt.tsx +0 -375
  510. package/src/stories/toast/Toast.module.scss +0 -20
  511. package/src/stories/toast/Toast.stories.tsx +0 -31
  512. package/src/stories/toast/Toast.test.tsx +0 -86
  513. package/src/stories/utility/Dropdown.module.scss +0 -28
  514. package/src/stories/utility/EasingFunctions.ts +0 -3
  515. package/src/stories/utility/RemoveFromDOM.tsx +0 -15
  516. package/src/stories/utility/TextWhenString.tsx +0 -15
  517. package/src/stories/utility/Utility.test.tsx +0 -96
  518. package/src/stories/utility/VisuallyHidden.tsx +0 -18
  519. package/src/styles/Home.module.css +0 -268
  520. package/src/styles/globals.css +0 -3
  521. package/src/test/render.tsx +0 -20
  522. package/src/test/setup.ts +0 -32
  523. package/src/types/Enhancer.ts +0 -3
  524. /package/{src/stories/accordion/index.ts → dist/stories/accordion/index.d.ts} +0 -0
  525. /package/{src/stories/accordionselect/index.ts → dist/stories/accordionselect/index.d.ts} +0 -0
  526. /package/{src/stories/avatar/index.ts → dist/stories/avatar/index.d.ts} +0 -0
  527. /package/{src/stories/button/index.ts → dist/stories/button/index.d.ts} +0 -0
  528. /package/{src/stories/callout/index.ts → dist/stories/callout/index.d.ts} +0 -0
  529. /package/{src/stories/card/index.ts → dist/stories/card/index.d.ts} +0 -0
  530. /package/{src/stories/cardbutton/index.ts → dist/stories/cardbutton/index.d.ts} +0 -0
  531. /package/{src/stories/checkbox/index.ts → dist/stories/checkbox/index.d.ts} +0 -0
  532. /package/{src/stories/codeinput/index.ts → dist/stories/codeinput/index.d.ts} +0 -0
  533. /package/{src/stories/combobox/index.ts → dist/stories/combobox/index.d.ts} +0 -0
  534. /package/{src/stories/dialog/index.ts → dist/stories/dialog/index.d.ts} +0 -0
  535. /package/{src/stories/drawer/index.ts → dist/stories/drawer/index.d.ts} +0 -0
  536. /package/{src/stories/field/index.ts → dist/stories/field/index.d.ts} +0 -0
  537. /package/{src/stories/icon/index.ts → dist/stories/icon/index.d.ts} +0 -0
  538. /package/{src/stories/informationaltooltip/index.ts → dist/stories/informationaltooltip/index.d.ts} +0 -0
  539. /package/{src/stories/input/index.ts → dist/stories/input/index.d.ts} +0 -0
  540. /package/{src/stories/markdown/index.ts → dist/stories/markdown/index.d.ts} +0 -0
  541. /package/{src/stories/markdowneditor/index.ts → dist/stories/markdowneditor/index.d.ts} +0 -0
  542. /package/{src/stories/menu/index.ts → dist/stories/menu/index.d.ts} +0 -0
  543. /package/{src/stories/pagination/index.ts → dist/stories/pagination/index.d.ts} +0 -0
  544. /package/{src/stories/popover/index.ts → dist/stories/popover/index.d.ts} +0 -0
  545. /package/{src/stories/select/index.ts → dist/stories/select/index.d.ts} +0 -0
  546. /package/{src/stories/styledlink/index.ts → dist/stories/styledlink/index.d.ts} +0 -0
  547. /package/{src/stories/table/index.ts → dist/stories/table/index.d.ts} +0 -0
  548. /package/{src/stories/tabs/index.ts → dist/stories/tabs/index.d.ts} +0 -0
  549. /package/{src/stories/tag/index.ts → dist/stories/tag/index.d.ts} +0 -0
  550. /package/{src/stories/text/index.ts → dist/stories/text/index.d.ts} +0 -0
  551. /package/{src/stories/textarea/index.ts → dist/stories/textarea/index.d.ts} +0 -0
  552. /package/{src/stories/theme/index.ts → dist/stories/theme/index.d.ts} +0 -0
  553. /package/{src/stories/tilt/index.ts → dist/stories/tilt/index.d.ts} +0 -0
  554. /package/{src/stories/toast/index.ts → dist/stories/toast/index.d.ts} +0 -0
  555. /package/{src/stories/utility/index.ts → dist/stories/utility/index.d.ts} +0 -0
@@ -0,0 +1,96 @@
1
+ import './Drawer.css';const root = "paris_root_wVedw";
2
+ const overlay = "paris_overlay_WN57R";
3
+ const overlayBlur = "paris_overlayBlur_W12Sf";
4
+ const overlayGrey = "paris_overlayGrey_q3bTn";
5
+ const overlayBlurContainer = "paris_overlayBlurContainer_cSgvI";
6
+ const enterFrom = "paris_enterFrom_zr3n4";
7
+ const enterTo = "paris_enterTo_GrF2Z";
8
+ const leave = "paris_leave_w8FN3";
9
+ const leaveFrom = "paris_leaveFrom_YtyIZ";
10
+ const leaveTo = "paris_leaveTo_9QQtj";
11
+ const overlayGreyContainer = "paris_overlayGreyContainer_CXgCA";
12
+ const panelContainer = "paris_panelContainer_APxfS";
13
+ const enter = "paris_enter_WSNrL";
14
+ const panel = "paris_panel_TfIuG";
15
+ const titleTextContainer = "paris_titleTextContainer_vxVpU";
16
+ const titleBar = "paris_titleBar_SMIdo";
17
+ const titleBarButtons = "paris_titleBarButtons_0oNpU";
18
+ const content = "paris_content_NRQ-q";
19
+ const contentChildren = "paris_contentChildren_3gvnu";
20
+ const paginationButtons = "paris_paginationButtons_9T8xu";
21
+ const navButton = "paris_navButton_2bjrt";
22
+ const titleArea = "paris_titleArea_q2SWc";
23
+ const enterFromOpacity = "paris_enterFromOpacity_ddD5x";
24
+ const enterToOpacity = "paris_enterToOpacity_JKJ7T";
25
+ const leaveFromOpacity = "paris_leaveFromOpacity_xAfhm";
26
+ const leaveToOpacity = "paris_leaveToOpacity_-gHpF";
27
+ const paginationEnter = "paris_paginationEnter_DT9JT";
28
+ const paginationLeave = "paris_paginationLeave_OR93X";
29
+ const pageStack = "paris_pageStack_s7fPJ";
30
+ const pageStackClip = "paris_pageStackClip_DQKZW";
31
+ const pageStackItem = "paris_pageStackItem_n8m9c";
32
+ const progressBar = "paris_progressBar_3-iya";
33
+ const progressBarFill = "paris_progressBarFill_QAxRP";
34
+ const bottomPanel = "paris_bottomPanel_g3-TO";
35
+ const bottomPanelSlots = "paris_bottomPanelSlots_aLf1H";
36
+ const bottomPanelContent = "paris_bottomPanelContent_dfSgU";
37
+ const noPadding = "paris_noPadding_fr4a4";
38
+ const bottomPanelSlotItem = "paris_bottomPanelSlotItem_fEB43";
39
+ const bottomPanelSpacer = "paris_bottomPanelSpacer_bBinW";
40
+ const glassBlend = "paris_glassBlend_5DeJV";
41
+ const glassOpacity = "paris_glassOpacity_flxn1";
42
+ const styles = {
43
+ root: root,
44
+ overlay: overlay,
45
+ overlayBlur: overlayBlur,
46
+ overlayGrey: overlayGrey,
47
+ overlayBlurContainer: overlayBlurContainer,
48
+ enterFrom: enterFrom,
49
+ enterTo: enterTo,
50
+ leave: leave,
51
+ leaveFrom: leaveFrom,
52
+ leaveTo: leaveTo,
53
+ overlayGreyContainer: overlayGreyContainer,
54
+ panelContainer: panelContainer,
55
+ enter: enter,
56
+ "from-right": "paris_from-right_2gsEu",
57
+ "size-content": "paris_size-content_-2Lgk",
58
+ "size-fullWithMargin": "paris_size-fullWithMargin_fcu9t",
59
+ "size-default": "paris_size-default_1Q1At",
60
+ "size-fullOnMobile": "paris_size-fullOnMobile_G97hn",
61
+ "from-left": "paris_from-left_1gDXg",
62
+ "size-full": "paris_size-full_Vltmt",
63
+ "from-top": "paris_from-top_-Vc82",
64
+ "from-bottom": "paris_from-bottom_G1MLu",
65
+ panel: panel,
66
+ titleTextContainer: titleTextContainer,
67
+ titleBar: titleBar,
68
+ titleBarButtons: titleBarButtons,
69
+ content: content,
70
+ contentChildren: contentChildren,
71
+ paginationButtons: paginationButtons,
72
+ navButton: navButton,
73
+ titleArea: titleArea,
74
+ enterFromOpacity: enterFromOpacity,
75
+ enterToOpacity: enterToOpacity,
76
+ leaveFromOpacity: leaveFromOpacity,
77
+ leaveToOpacity: leaveToOpacity,
78
+ paginationEnter: paginationEnter,
79
+ paginationLeave: paginationLeave,
80
+ pageStack: pageStack,
81
+ pageStackClip: pageStackClip,
82
+ pageStackItem: pageStackItem,
83
+ progressBar: progressBar,
84
+ progressBarFill: progressBarFill,
85
+ bottomPanel: bottomPanel,
86
+ bottomPanelSlots: bottomPanelSlots,
87
+ bottomPanelContent: bottomPanelContent,
88
+ noPadding: noPadding,
89
+ bottomPanelSlotItem: bottomPanelSlotItem,
90
+ bottomPanelSpacer: bottomPanelSpacer,
91
+ glassBlend: glassBlend,
92
+ glassOpacity: glassOpacity
93
+ };
94
+
95
+ export { bottomPanel, bottomPanelContent, bottomPanelSlotItem, bottomPanelSlots, bottomPanelSpacer, content, contentChildren, styles as default, enter, enterFrom, enterFromOpacity, enterTo, enterToOpacity, glassBlend, glassOpacity, leave, leaveFrom, leaveFromOpacity, leaveTo, leaveToOpacity, navButton, noPadding, overlay, overlayBlur, overlayBlurContainer, overlayGrey, overlayGreyContainer, pageStack, pageStackClip, pageStackItem, paginationButtons, paginationEnter, paginationLeave, panel, panelContainer, progressBar, progressBarFill, root, titleArea, titleBar, titleBarButtons, titleTextContainer };
96
+ //# sourceMappingURL=Drawer.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from 'react';
2
+ export type DrawerActionsProps = {
3
+ children: ReactNode;
4
+ };
5
+ export declare const DrawerActions: ({ children }: DrawerActionsProps) => import('react').ReactPortal | null;
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ import { useId, useLayoutEffect } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { useIsPageActive } from './DrawerPageContext.js';
5
+ import { useDrawerSlotContext } from './DrawerSlotContext.js';
6
+
7
+ const DrawerActions = ({ children }) => {
8
+ const isActive = useIsPageActive();
9
+ const slotContext = useDrawerSlotContext();
10
+ const id = useId();
11
+ useLayoutEffect(() => {
12
+ if (!isActive || !slotContext) return;
13
+ const unregister = slotContext.registerActionsSlot();
14
+ return unregister;
15
+ }, [isActive, slotContext]);
16
+ if (!isActive || !slotContext?.actionsRef.current) {
17
+ return null;
18
+ }
19
+ return createPortal(children, slotContext.actionsRef.current, id);
20
+ };
21
+
22
+ export { DrawerActions };
23
+ //# sourceMappingURL=DrawerActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerActions.js","sources":["../../../src/stories/drawer/DrawerActions.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode, useId, useLayoutEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useIsPageActive } from './DrawerPageContext';\nimport { useDrawerSlotContext } from './DrawerSlotContext';\n\nexport type DrawerActionsProps = {\n children: ReactNode;\n};\n\nexport const DrawerActions = ({ children }: DrawerActionsProps) => {\n const isActive = useIsPageActive();\n const slotContext = useDrawerSlotContext();\n const id = useId();\n\n useLayoutEffect(() => {\n if (!isActive || !slotContext) return;\n const unregister = slotContext.registerActionsSlot();\n return unregister;\n }, [isActive, slotContext]);\n\n if (!isActive || !slotContext?.actionsRef.current) {\n return null;\n }\n\n return createPortal(children, slotContext.actionsRef.current, id);\n};\n"],"names":[],"mappings":";;;;;;AAWO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,aAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAA0B;AAC/D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB;AACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,IAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAEjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAClB,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,WAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,mBAAA,CAAA,CAAoB;AACnD,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACX,CAAA,CAAA,CAAG,CAAC,QAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA;AAE1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,WAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAC/C,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACX;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAE,CAAA;AACpE,CAAA;;"}
@@ -0,0 +1,9 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ export type DrawerBottomPanelProps = ComponentPropsWithoutRef<'div'> & {
3
+ children: ReactNode;
4
+ /** 'replace' fully replaces the base bottomPanel. 'append' renders after the base. @default 'replace' */
5
+ mode?: 'replace' | 'append';
6
+ /** Render order for append mode. Lower = higher up. @default 0 */
7
+ priority?: number;
8
+ };
9
+ export declare const DrawerBottomPanel: ({ children, className, mode, priority, style, ...rest }: DrawerBottomPanelProps) => import('react').ReactPortal | null;
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { clsx } from 'clsx';
4
+ import { useId, useLayoutEffect } from 'react';
5
+ import { createPortal } from 'react-dom';
6
+ import styles from './Drawer.module.scss.js';
7
+ import { useIsPageActive } from './DrawerPageContext.js';
8
+ import { useDrawerSlotContext } from './DrawerSlotContext.js';
9
+
10
+ const DrawerBottomPanel = ({
11
+ children,
12
+ className,
13
+ mode = "replace",
14
+ priority = 0,
15
+ style,
16
+ ...rest
17
+ }) => {
18
+ const isActive = useIsPageActive();
19
+ const slotContext = useDrawerSlotContext();
20
+ const id = useId();
21
+ const registerBottomPanel = slotContext?.registerBottomPanel;
22
+ useLayoutEffect(() => {
23
+ if (!isActive || !registerBottomPanel) return;
24
+ const unregister = registerBottomPanel({ id, mode, priority });
25
+ return unregister;
26
+ }, [isActive, registerBottomPanel, id, mode, priority]);
27
+ if (!isActive || !slotContext?.isBottomPanelMounted || !slotContext.bottomPanelRef.current) {
28
+ return null;
29
+ }
30
+ return createPortal(
31
+ /* @__PURE__ */ jsx(
32
+ "div",
33
+ {
34
+ "data-slot-mode": mode,
35
+ "data-slot-priority": priority,
36
+ className: clsx(styles.bottomPanelSlotItem, className),
37
+ style: { order: priority, ...style },
38
+ ...rest,
39
+ children
40
+ }
41
+ ),
42
+ slotContext.bottomPanelRef.current,
43
+ `${id}-${priority}`
44
+ );
45
+ };
46
+
47
+ export { DrawerBottomPanel };
48
+ //# sourceMappingURL=DrawerBottomPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerBottomPanel.js","sources":["../../../src/stories/drawer/DrawerBottomPanel.tsx"],"sourcesContent":["'use client';\n\nimport { clsx } from 'clsx';\nimport { type ComponentPropsWithoutRef, type ReactNode, useId, useLayoutEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport styles from './Drawer.module.scss';\nimport { useIsPageActive } from './DrawerPageContext';\nimport { useDrawerSlotContext } from './DrawerSlotContext';\n\nexport type DrawerBottomPanelProps = ComponentPropsWithoutRef<'div'> & {\n children: ReactNode;\n /** 'replace' fully replaces the base bottomPanel. 'append' renders after the base. @default 'replace' */\n mode?: 'replace' | 'append';\n /** Render order for append mode. Lower = higher up. @default 0 */\n priority?: number;\n};\n\nexport const DrawerBottomPanel = ({\n children,\n className,\n mode = 'replace',\n priority = 0,\n style,\n ...rest\n}: DrawerBottomPanelProps) => {\n const isActive = useIsPageActive();\n const slotContext = useDrawerSlotContext();\n const id = useId();\n\n const registerBottomPanel = slotContext?.registerBottomPanel;\n\n useLayoutEffect(() => {\n if (!isActive || !registerBottomPanel) return;\n const unregister = registerBottomPanel({ id, mode, priority });\n return unregister;\n }, [isActive, registerBottomPanel, id, mode, priority]);\n\n if (!isActive || !slotContext?.isBottomPanelMounted || !slotContext.bottomPanelRef.current) {\n return null;\n }\n\n return createPortal(\n <div\n data-slot-mode={mode}\n data-slot-priority={priority}\n className={clsx(styles.bottomPanelSlotItem, className)}\n style={{ order: priority, ...style }}\n {...rest}\n >\n {children}\n </div>,\n slotContext.bottomPanelRef.current,\n `${id}-${priority}`,\n );\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ export type DrawerContextValue = {
3
+ close: () => void;
4
+ isOpen: boolean;
5
+ };
6
+ export declare function useDrawer(): DrawerContextValue;
7
+ export declare function DrawerProvider({ close, isOpen, children, }: {
8
+ close: () => void;
9
+ isOpen: boolean;
10
+ children: ReactNode;
11
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useContext, useMemo, createContext } from 'react';
4
+
5
+ const DrawerContext = createContext(null);
6
+ function useDrawer() {
7
+ const context = useContext(DrawerContext);
8
+ if (!context) {
9
+ throw new Error("useDrawer must be used within a Drawer component");
10
+ }
11
+ return context;
12
+ }
13
+ function DrawerProvider({
14
+ close,
15
+ isOpen,
16
+ children
17
+ }) {
18
+ const value = useMemo(() => ({ close, isOpen }), [close, isOpen]);
19
+ return /* @__PURE__ */ jsx(DrawerContext.Provider, { value, children });
20
+ }
21
+
22
+ export { DrawerProvider, useDrawer };
23
+ //# sourceMappingURL=DrawerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerContext.js","sources":["../../../src/stories/drawer/DrawerContext.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, type ReactNode, useContext, useMemo } from 'react';\n\nexport type DrawerContextValue = {\n close: () => void;\n isOpen: boolean;\n};\n\nconst DrawerContext = createContext<DrawerContextValue | null>(null);\n\nexport function useDrawer(): DrawerContextValue {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error('useDrawer must be used within a Drawer component');\n }\n return context;\n}\n\nexport function DrawerProvider({\n close,\n isOpen,\n children,\n}: {\n close: () => void;\n isOpen: boolean;\n children: ReactNode;\n}) {\n const value = useMemo(() => ({ close, isOpen }), [close, isOpen]);\n return <DrawerContext.Provider value={value}>{children}</DrawerContext.Provider>;\n}\n"],"names":[],"mappings":";;;;AASA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAyC,IAAI,CAAA;AAE5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,SAAA,CAAA,CAAA,CAAgC;AAC5C,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,aAAa,CAAA;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,EAAM,kDAAkD,CAAA;AAAA,CAAA,CACtE;AACA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACX;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,cAAA,CAAe;AAAA,CAAA,CAC3B,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAIG;AACC,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAI,CAAC,KAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA;AAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAd,CAAA,CAAuB,CAAA,CAAA,CAAA,CAAA,GAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA;AAC3D;;"}
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export type DrawerPageProps<TPageID extends string = string> = {
3
+ /** Unique identifier for this page. Must match a pagination page ID. */
4
+ id: TPageID;
5
+ /** Defer first mount until page becomes active. Once mounted, stays mounted. */
6
+ lazy?: boolean;
7
+ /** Page content. */
8
+ children: ReactNode;
9
+ };
10
+ export declare const DrawerPage: <TPageID extends string = string>({ lazy, children }: DrawerPageProps<TPageID>) => import("react/jsx-runtime").JSX.Element | null;
11
+ /** Type guard to check if a React element is a DrawerPage */
12
+ export declare const isDrawerPageElement: (element: unknown) => element is React.ReactElement<DrawerPageProps>;
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ import { jsx, Fragment } from 'react/jsx-runtime';
3
+ import { useState, useEffect } from 'react';
4
+ import { useIsPageActive } from './DrawerPageContext.js';
5
+
6
+ const DrawerPage = ({ lazy = false, children }) => {
7
+ const isActive = useIsPageActive();
8
+ const [hasBeenActive, setHasBeenActive] = useState(isActive);
9
+ useEffect(() => {
10
+ if (isActive && !hasBeenActive) {
11
+ setHasBeenActive(true);
12
+ }
13
+ }, [isActive, hasBeenActive]);
14
+ if (lazy && !hasBeenActive) {
15
+ return null;
16
+ }
17
+ return /* @__PURE__ */ jsx(Fragment, { children });
18
+ };
19
+ const isDrawerPageElement = (element) => element != null && typeof element === "object" && "type" in element && element.type === DrawerPage;
20
+
21
+ export { DrawerPage, isDrawerPageElement };
22
+ //# sourceMappingURL=DrawerPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerPage.js","sources":["../../../src/stories/drawer/DrawerPage.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode, useEffect, useState } from 'react';\nimport { useIsPageActive } from './DrawerPageContext';\n\nexport type DrawerPageProps<TPageID extends string = string> = {\n /** Unique identifier for this page. Must match a pagination page ID. */\n id: TPageID;\n /** Defer first mount until page becomes active. Once mounted, stays mounted. */\n lazy?: boolean;\n /** Page content. */\n children: ReactNode;\n};\n\nexport const DrawerPage = <TPageID extends string = string>({ lazy = false, children }: DrawerPageProps<TPageID>) => {\n const isActive = useIsPageActive();\n const [hasBeenActive, setHasBeenActive] = useState(isActive);\n\n useEffect(() => {\n if (isActive && !hasBeenActive) {\n setHasBeenActive(true);\n }\n }, [isActive, hasBeenActive]);\n\n if (lazy && !hasBeenActive) {\n return null;\n }\n\n return <>{children}</>;\n};\n\n/** Type guard to check if a React element is a DrawerPage */\nexport const isDrawerPageElement = (element: unknown): element is React.ReactElement<DrawerPageProps> =>\n element != null &&\n typeof element === 'object' &&\n 'type' in element &&\n (element as { type: unknown }).type === DrawerPage;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export type DrawerPageContextValue = {
3
+ isActive: boolean;
4
+ pageID: string;
5
+ };
6
+ export declare function useDrawerPageContext(): DrawerPageContextValue | null;
7
+ export declare function useIsPageActive(): boolean;
8
+ export declare function DrawerPageProvider({ isActive, pageID, children, }: {
9
+ isActive: boolean;
10
+ pageID: string;
11
+ children: ReactNode;
12
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useContext, createContext, useMemo } from 'react';
4
+
5
+ const DrawerPageContext = createContext(null);
6
+ function useIsPageActive() {
7
+ const context = useContext(DrawerPageContext);
8
+ if (!context) {
9
+ return true;
10
+ }
11
+ return context.isActive;
12
+ }
13
+ function DrawerPageProvider({
14
+ isActive,
15
+ pageID,
16
+ children
17
+ }) {
18
+ const value = useMemo(() => ({ isActive, pageID }), [isActive, pageID]);
19
+ return /* @__PURE__ */ jsx(DrawerPageContext.Provider, { value, children });
20
+ }
21
+
22
+ export { DrawerPageProvider, useIsPageActive };
23
+ //# sourceMappingURL=DrawerPageContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerPageContext.js","sources":["../../../src/stories/drawer/DrawerPageContext.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, type ReactNode, useContext, useMemo } from 'react';\n\nexport type DrawerPageContextValue = {\n isActive: boolean;\n pageID: string;\n};\n\nconst DrawerPageContext = createContext<DrawerPageContextValue | null>(null);\n\nexport function useDrawerPageContext(): DrawerPageContextValue | null {\n return useContext(DrawerPageContext);\n}\n\nexport function useIsPageActive(): boolean {\n const context = useContext(DrawerPageContext);\n if (!context) {\n return true;\n }\n return context.isActive;\n}\n\nexport function DrawerPageProvider({\n isActive,\n pageID,\n children,\n}: {\n isActive: boolean;\n pageID: string;\n children: ReactNode;\n}) {\n const value = useMemo(() => ({ isActive, pageID }), [isActive, pageID]);\n return <DrawerPageContext.Provider value={value}>{children}</DrawerPageContext.Provider>;\n}\n"],"names":[],"mappings":";;;;AASA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAA6C,IAAI,CAAA;AAMpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,eAAA,CAAA,CAAA,CAA2B;AACvC,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,iBAAiB,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACV,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACX;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACnB;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,kBAAA,CAAmB;AAAA,CAAA,CAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAIG;AACC,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAI,CAAC,QAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA;AACtE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAlB,CAAA,CAA2B,CAAA,CAAA,CAAA,CAAA,GAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA;AAC/D;;"}
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ import { PaginationState } from '../pagination';
3
+ type AnyPaginationState = PaginationState<string[] | readonly string[]>;
4
+ export declare function useDrawerPagination(): AnyPaginationState | null;
5
+ export declare function DrawerPaginationProvider({ pagination, children, }: {
6
+ pagination: AnyPaginationState | null;
7
+ children: ReactNode;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useContext, createContext } from 'react';
4
+
5
+ const DrawerPaginationContext = createContext(null);
6
+ function useDrawerPagination() {
7
+ return useContext(DrawerPaginationContext);
8
+ }
9
+ function DrawerPaginationProvider({
10
+ pagination,
11
+ children
12
+ }) {
13
+ return /* @__PURE__ */ jsx(DrawerPaginationContext.Provider, { value: pagination, children });
14
+ }
15
+
16
+ export { DrawerPaginationProvider, useDrawerPagination };
17
+ //# sourceMappingURL=DrawerPaginationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerPaginationContext.js","sources":["../../../src/stories/drawer/DrawerPaginationContext.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, type ReactNode, useContext } from 'react';\nimport type { PaginationState } from '../pagination';\n\ntype AnyPaginationState = PaginationState<string[] | readonly string[]>;\n\nconst DrawerPaginationContext = createContext<AnyPaginationState | null>(null);\n\nexport function useDrawerPagination(): AnyPaginationState | null {\n return useContext(DrawerPaginationContext);\n}\n\nexport function DrawerPaginationProvider({\n pagination,\n children,\n}: {\n pagination: AnyPaginationState | null;\n children: ReactNode;\n}) {\n return <DrawerPaginationContext.Provider value={pagination}>{children}</DrawerPaginationContext.Provider>;\n}\n"],"names":[],"mappings":";;;;AAOA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAyC,IAAI,CAAA;AAEtE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,mBAAA,CAAA,CAAA,CAAiD;AAC7D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAA;AAC7C;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,wBAAA,CAAyB;AAAA,CAAA,CACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAGG;AACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAxB,CAAA,CAAiC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA;AAC1E;;"}
@@ -0,0 +1,15 @@
1
+ export type DrawerProgressBarStyleProps = {
2
+ /** Fill color. @default 'var(--pte-new-colors-contentPrimary)' */
3
+ fill?: string;
4
+ /** Track (unfilled) color. @default 'var(--pte-new-colors-borderMedium)' */
5
+ track?: string;
6
+ /** Bar height as a CSS value. @default '2px' */
7
+ height?: string | number;
8
+ };
9
+ export type DrawerProgressBarProps = DrawerProgressBarStyleProps & {
10
+ /** Page IDs in order. Determines fill percentage based on the current page. */
11
+ steps?: readonly string[];
12
+ /** Fill percentage (0–100). When provided, takes precedence over the auto-calculated value from `steps`. */
13
+ value?: number;
14
+ };
15
+ export declare const DrawerProgressBar: ({ steps, value, fill, track, height }: DrawerProgressBarProps) => import('react').ReactPortal | null;
@@ -0,0 +1,60 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useLayoutEffect } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+ import styles from './Drawer.module.scss.js';
6
+ import { useDrawerPagination } from './DrawerPaginationContext.js';
7
+ import { useDrawerSlotContext } from './DrawerSlotContext.js';
8
+
9
+ const DrawerProgressBar = ({ steps, value, fill, track, height }) => {
10
+ const pagination = useDrawerPagination();
11
+ const slotContext = useDrawerSlotContext();
12
+ const registerProgressBar = slotContext?.registerProgressBar;
13
+ useLayoutEffect(() => {
14
+ if (!registerProgressBar) return;
15
+ return registerProgressBar();
16
+ }, [registerProgressBar]);
17
+ let progress;
18
+ if (value != null) {
19
+ progress = Math.max(0, Math.min(100, value));
20
+ } else if (steps && steps.length > 0 && pagination) {
21
+ const activeIndex = steps.indexOf(pagination.currentPage);
22
+ progress = (activeIndex + 1) / steps.length * 100;
23
+ } else {
24
+ progress = 0;
25
+ }
26
+ if (!slotContext?.progressBarRef.current) {
27
+ return null;
28
+ }
29
+ return createPortal(
30
+ /* @__PURE__ */ jsx(
31
+ "div",
32
+ {
33
+ className: styles.progressBar,
34
+ role: "progressbar",
35
+ "aria-valuemin": 0,
36
+ "aria-valuenow": Math.round(progress),
37
+ "aria-valuemax": 100,
38
+ "aria-label": "Page progress",
39
+ style: {
40
+ ...track && { background: track },
41
+ ...height != null && { height: typeof height === "number" ? `${height}px` : height }
42
+ },
43
+ children: /* @__PURE__ */ jsx(
44
+ "div",
45
+ {
46
+ className: styles.progressBarFill,
47
+ style: {
48
+ width: `${progress}%`,
49
+ ...fill && { background: fill }
50
+ }
51
+ }
52
+ )
53
+ }
54
+ ),
55
+ slotContext.progressBarRef.current
56
+ );
57
+ };
58
+
59
+ export { DrawerProgressBar };
60
+ //# sourceMappingURL=DrawerProgressBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerProgressBar.js","sources":["../../../src/stories/drawer/DrawerProgressBar.tsx"],"sourcesContent":["'use client';\n\nimport { useLayoutEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport styles from './Drawer.module.scss';\nimport { useDrawerPagination } from './DrawerPaginationContext';\nimport { useDrawerSlotContext } from './DrawerSlotContext';\n\nexport type DrawerProgressBarStyleProps = {\n /** Fill color. @default 'var(--pte-new-colors-contentPrimary)' */\n fill?: string;\n /** Track (unfilled) color. @default 'var(--pte-new-colors-borderMedium)' */\n track?: string;\n /** Bar height as a CSS value. @default '2px' */\n height?: string | number;\n};\n\nexport type DrawerProgressBarProps = DrawerProgressBarStyleProps & {\n /** Page IDs in order. Determines fill percentage based on the current page. */\n steps?: readonly string[];\n /** Fill percentage (0–100). When provided, takes precedence over the auto-calculated value from `steps`. */\n value?: number;\n};\n\nexport const DrawerProgressBar = ({ steps, value, fill, track, height }: DrawerProgressBarProps) => {\n const pagination = useDrawerPagination();\n const slotContext = useDrawerSlotContext();\n\n const registerProgressBar = slotContext?.registerProgressBar;\n useLayoutEffect(() => {\n if (!registerProgressBar) return;\n return registerProgressBar();\n }, [registerProgressBar]);\n\n let progress: number;\n if (value != null) {\n progress = Math.max(0, Math.min(100, value));\n } else if (steps && steps.length > 0 && pagination) {\n const activeIndex = steps.indexOf(pagination.currentPage);\n progress = ((activeIndex + 1) / steps.length) * 100;\n } else {\n progress = 0;\n }\n\n if (!slotContext?.progressBarRef.current) {\n return null;\n }\n\n return createPortal(\n <div\n className={styles.progressBar}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuenow={Math.round(progress)}\n aria-valuemax={100}\n aria-label=\"Page progress\"\n style={{\n ...(track && { background: track }),\n ...(height != null && { height: typeof height === 'number' ? `${height}px` : height }),\n }}\n >\n <div\n className={styles.progressBarFill}\n style={{\n width: `${progress}%`,\n ...(fill && { background: fill }),\n }}\n />\n </div>,\n slotContext.progressBarRef.current,\n );\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ export type BottomPanelEntry = {
3
+ id: string;
4
+ mode: 'replace' | 'append';
5
+ priority: number;
6
+ };
7
+ export type DrawerSlotContextValue = {
8
+ titleRef: RefObject<HTMLDivElement | null>;
9
+ actionsRef: RefObject<HTMLDivElement | null>;
10
+ bottomPanelRef: RefObject<HTMLDivElement | null>;
11
+ /** Callback ref for the bottom panel portal target — triggers re-render when assigned */
12
+ bottomPanelCallbackRef: (node: HTMLDivElement | null) => void;
13
+ /** Whether the bottom panel portal target is mounted in the DOM */
14
+ isBottomPanelMounted: boolean;
15
+ /** Portal target for the progress bar, rendered at the very top of the bottom panel */
16
+ progressBarRef: RefObject<HTMLDivElement | null>;
17
+ hasTitleSlot: boolean;
18
+ hasActionsSlot: boolean;
19
+ hasProgressBar: boolean;
20
+ /** Whether a replace-mode bottom panel is registered */
21
+ hasBottomPanelReplace: boolean;
22
+ /** Whether any bottom panel slot (replace or append) is registered */
23
+ hasAnyBottomPanelSlot: boolean;
24
+ /** Sorted list of append-mode bottom panel entries */
25
+ bottomPanelAppendEntries: BottomPanelEntry[];
26
+ registerTitleSlot: () => () => void;
27
+ registerActionsSlot: () => () => void;
28
+ registerProgressBar: () => () => void;
29
+ registerBottomPanel: (entry: BottomPanelEntry) => () => void;
30
+ };
31
+ export declare function useDrawerSlotContext(): DrawerSlotContextValue | null;
32
+ export declare function DrawerSlotProvider({ children }: {
33
+ children: ReactNode;
34
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,120 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useRef, useState, useCallback, useMemo, useContext, createContext } from 'react';
4
+
5
+ const DrawerSlotContext = createContext(null);
6
+ function useDrawerSlotContext() {
7
+ return useContext(DrawerSlotContext);
8
+ }
9
+ function DrawerSlotProvider({ children }) {
10
+ const titleRef = useRef(null);
11
+ const actionsRef = useRef(null);
12
+ const progressBarRef = useRef(null);
13
+ const bottomPanelRef = useRef(null);
14
+ const [isBottomPanelMounted, setIsBottomPanelMounted] = useState(false);
15
+ const bottomPanelCallbackRef = useCallback((node) => {
16
+ bottomPanelRef.current = node;
17
+ setIsBottomPanelMounted(node !== null);
18
+ }, []);
19
+ const [titleSlotCount, setTitleSlotCount] = useState(0);
20
+ const [actionsSlotCount, setActionsSlotCount] = useState(0);
21
+ const [progressBarCount, setProgressBarCount] = useState(0);
22
+ const [bottomPanelEntries, setBottomPanelEntries] = useState([]);
23
+ const registerTitleSlot = useCallback(() => {
24
+ setTitleSlotCount((prev) => {
25
+ const next = prev + 1;
26
+ if (process.env.NODE_ENV === "development" && next > 1) {
27
+ console.warn(
28
+ "DrawerSlotContext: Multiple title slots registered simultaneously. Only one is expected."
29
+ );
30
+ }
31
+ return next;
32
+ });
33
+ return () => {
34
+ setTitleSlotCount((prev) => Math.max(0, prev - 1));
35
+ };
36
+ }, []);
37
+ const registerActionsSlot = useCallback(() => {
38
+ setActionsSlotCount((prev) => {
39
+ const next = prev + 1;
40
+ if (process.env.NODE_ENV === "development" && next > 1) {
41
+ console.warn(
42
+ "DrawerSlotContext: Multiple actions slots registered simultaneously. Only one is expected."
43
+ );
44
+ }
45
+ return next;
46
+ });
47
+ return () => {
48
+ setActionsSlotCount((prev) => Math.max(0, prev - 1));
49
+ };
50
+ }, []);
51
+ const registerProgressBar = useCallback(() => {
52
+ setProgressBarCount((prev) => prev + 1);
53
+ return () => {
54
+ setProgressBarCount((prev) => Math.max(0, prev - 1));
55
+ };
56
+ }, []);
57
+ const registerBottomPanel = useCallback((entry) => {
58
+ setBottomPanelEntries((prev) => {
59
+ if (process.env.NODE_ENV === "development" && entry.mode === "replace") {
60
+ const existingReplace = prev.find((e) => e.mode === "replace");
61
+ if (existingReplace) {
62
+ console.warn(
63
+ `DrawerSlotContext: Multiple replace-mode bottom panels registered (existing: "${existingReplace.id}", new: "${entry.id}"). Only one replace-mode panel is expected.`
64
+ );
65
+ }
66
+ }
67
+ return [...prev, entry];
68
+ });
69
+ return () => {
70
+ setBottomPanelEntries((prev) => prev.filter((e) => e.id !== entry.id));
71
+ };
72
+ }, []);
73
+ const hasTitleSlot = titleSlotCount > 0;
74
+ const hasActionsSlot = actionsSlotCount > 0;
75
+ const hasProgressBar = progressBarCount > 0;
76
+ const hasBottomPanelReplace = bottomPanelEntries.some((e) => e.mode === "replace");
77
+ const hasAnyBottomPanelSlot = bottomPanelEntries.length > 0;
78
+ const bottomPanelAppendEntries = useMemo(
79
+ () => bottomPanelEntries.filter((e) => e.mode === "append").sort((a, b) => a.priority - b.priority),
80
+ [bottomPanelEntries]
81
+ );
82
+ const value = useMemo(
83
+ () => ({
84
+ titleRef,
85
+ actionsRef,
86
+ progressBarRef,
87
+ bottomPanelRef,
88
+ bottomPanelCallbackRef,
89
+ isBottomPanelMounted,
90
+ hasTitleSlot,
91
+ hasActionsSlot,
92
+ hasProgressBar,
93
+ hasBottomPanelReplace,
94
+ hasAnyBottomPanelSlot,
95
+ bottomPanelAppendEntries,
96
+ registerTitleSlot,
97
+ registerActionsSlot,
98
+ registerProgressBar,
99
+ registerBottomPanel
100
+ }),
101
+ [
102
+ bottomPanelCallbackRef,
103
+ isBottomPanelMounted,
104
+ hasTitleSlot,
105
+ hasActionsSlot,
106
+ hasProgressBar,
107
+ hasBottomPanelReplace,
108
+ hasAnyBottomPanelSlot,
109
+ bottomPanelAppendEntries,
110
+ registerTitleSlot,
111
+ registerActionsSlot,
112
+ registerProgressBar,
113
+ registerBottomPanel
114
+ ]
115
+ );
116
+ return /* @__PURE__ */ jsx(DrawerSlotContext.Provider, { value, children });
117
+ }
118
+
119
+ export { DrawerSlotProvider, useDrawerSlotContext };
120
+ //# sourceMappingURL=DrawerSlotContext.js.map