paris 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/CHANGELOG.md +22 -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.d.ts +47 -0
  15. package/dist/stories/accordion/Accordion.js +82 -0
  16. package/dist/stories/accordion/Accordion.js.map +1 -0
  17. package/dist/stories/accordion/Accordion.module.css +130 -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.d.ts +102 -0
  23. package/dist/stories/accordionselect/AccordionSelect.js +137 -0
  24. package/dist/stories/accordionselect/AccordionSelect.js.map +1 -0
  25. package/dist/stories/accordionselect/AccordionSelect.module.css +106 -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.d.ts +22 -0
  31. package/dist/stories/avatar/Avatar.js +37 -0
  32. package/dist/stories/avatar/Avatar.js.map +1 -0
  33. package/dist/stories/avatar/Avatar.module.css +7 -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.d.ts +120 -0
  39. package/dist/stories/button/Button.js +123 -0
  40. package/dist/stories/button/Button.js.map +1 -0
  41. package/dist/stories/button/Button.module.css +137 -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.d.ts +22 -0
  47. package/dist/stories/callout/Callout.js +21 -0
  48. package/dist/stories/callout/Callout.js.map +1 -0
  49. package/dist/stories/callout/Callout.module.css +35 -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.d.ts +30 -0
  55. package/dist/stories/card/Card.js +22 -0
  56. package/dist/stories/card/Card.js.map +1 -0
  57. package/dist/stories/card/Card.module.css +39 -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.d.ts +50 -0
  63. package/dist/stories/cardbutton/CardButton.js +53 -0
  64. package/dist/stories/cardbutton/CardButton.js.map +1 -0
  65. package/dist/stories/cardbutton/CardButton.module.css +77 -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.d.ts +31 -0
  71. package/dist/stories/checkbox/Checkbox.js +99 -0
  72. package/dist/stories/checkbox/Checkbox.js.map +1 -0
  73. package/dist/stories/checkbox/Checkbox.module.css +155 -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.d.ts +47 -0
  79. package/dist/stories/codeinput/CodeInput.js +105 -0
  80. package/dist/stories/codeinput/CodeInput.js.map +1 -0
  81. package/dist/stories/codeinput/CodeInput.module.css +63 -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.d.ts +103 -0
  92. package/dist/stories/dialog/Dialog.js +187 -0
  93. package/dist/stories/dialog/Dialog.js.map +1 -0
  94. package/dist/stories/dialog/Dialog.module.css +185 -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.d.ts +143 -0
  100. package/dist/stories/drawer/Drawer.js +357 -0
  101. package/dist/stories/drawer/Drawer.js.map +1 -0
  102. package/dist/stories/drawer/Drawer.module.css +406 -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.d.ts +68 -0
  172. package/dist/stories/informationaltooltip/InformationalTooltip.js +85 -0
  173. package/dist/stories/informationaltooltip/InformationalTooltip.js.map +1 -0
  174. package/dist/stories/informationaltooltip/InformationalTooltip.module.css +22 -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.d.ts +57 -0
  180. package/dist/stories/input/Input.js +108 -0
  181. package/dist/stories/input/Input.js.map +1 -0
  182. package/dist/stories/input/Input.module.css +165 -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.d.ts +36 -0
  188. package/dist/stories/markdown/Markdown.js +141 -0
  189. package/dist/stories/markdown/Markdown.js.map +1 -0
  190. package/dist/stories/markdown/Markdown.module.css +301 -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.d.ts +19 -0
  196. package/dist/stories/markdowneditor/FixedToolbar.js +212 -0
  197. package/dist/stories/markdowneditor/FixedToolbar.js.map +1 -0
  198. package/dist/stories/markdowneditor/FixedToolbar.module.css +24 -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.d.ts +15 -0
  202. package/dist/stories/markdowneditor/FloatingToolbar.js +66 -0
  203. package/dist/stories/markdowneditor/FloatingToolbar.js.map +1 -0
  204. package/dist/stories/markdowneditor/FloatingToolbar.module.css +18 -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.d.ts +11 -0
  208. package/dist/stories/markdowneditor/LinkPopover.js +106 -0
  209. package/dist/stories/markdowneditor/LinkPopover.js.map +1 -0
  210. package/dist/stories/markdowneditor/LinkPopover.module.css +113 -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/{src/stories/markdowneditor/MarkdownEditor.tsx → dist/stories/markdowneditor/MarkdownEditor.d.ts} +5 -68
  214. package/dist/stories/markdowneditor/MarkdownEditor.js +62 -0
  215. package/dist/stories/markdowneditor/MarkdownEditor.js.map +1 -0
  216. package/dist/stories/markdowneditor/MarkdownEditor.module.css +325 -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.d.ts +22 -0
  223. package/dist/stories/markdowneditor/ToolbarButton.js +33 -0
  224. package/dist/stories/markdowneditor/ToolbarButton.js.map +1 -0
  225. package/dist/stories/markdowneditor/ToolbarButton.module.css +30 -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.d.ts +48 -0
  237. package/dist/stories/menu/Menu.js +31 -0
  238. package/dist/stories/menu/Menu.js.map +1 -0
  239. package/dist/stories/menu/Menu.module.css +59 -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.d.ts +29 -0
  250. package/dist/stories/popover/Popover.js +56 -0
  251. package/dist/stories/popover/Popover.js.map +1 -0
  252. package/dist/stories/popover/Popover.module.css +20 -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.d.ts +112 -0
  258. package/dist/stories/select/Select.js +283 -0
  259. package/dist/stories/select/Select.js.map +1 -0
  260. package/dist/stories/select/Select.module.css +236 -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.d.ts +20 -0
  266. package/dist/stories/styledlink/StyledLink.js +15 -0
  267. package/dist/stories/styledlink/StyledLink.js.map +1 -0
  268. package/dist/stories/styledlink/StyledLink.module.css +10 -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.d.ts +76 -0
  274. package/dist/stories/table/Table.js +91 -0
  275. package/dist/stories/table/Table.js.map +1 -0
  276. package/dist/stories/table/Table.module.css +60 -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.d.ts +74 -0
  282. package/dist/stories/tabs/Tabs.js +128 -0
  283. package/dist/stories/tabs/Tabs.js.map +1 -0
  284. package/dist/stories/tabs/Tabs.module.css +144 -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.d.ts +36 -0
  290. package/dist/stories/tag/Tag.js +52 -0
  291. package/dist/stories/tag/Tag.js.map +1 -0
  292. package/dist/stories/tag/Tag.module.css +164 -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.d.ts +52 -0
  298. package/dist/stories/text/Text.js +37 -0
  299. package/dist/stories/text/Text.js.map +1 -0
  300. package/dist/stories/text/Text.module.css +54 -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 → dist}/stories/text/Typography.module.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.d.ts +70 -0
  323. package/dist/stories/tilt/Tilt.js +256 -0
  324. package/dist/stories/tilt/Tilt.js.map +1 -0
  325. package/dist/stories/tilt/Tilt.module.css +22 -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/{src/stories/toast/Toast.tsx → dist/stories/toast/Toast.d.ts} +3 -17
  331. package/dist/stories/toast/Toast.js +19 -0
  332. package/dist/stories/toast/Toast.js.map +1 -0
  333. package/dist/stories/toast/Toast.module.css +17 -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 -542
  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,11 @@
1
+ import './MarkdownEditor.module.css';const root = "paris_root_AbYRN";
2
+ const editorContainer = "paris_editorContainer_9v7gh";
3
+ const editorContent = "paris_editorContent_WTm2y";
4
+ const styles = {
5
+ root: root,
6
+ editorContainer: editorContainer,
7
+ editorContent: editorContent
8
+ };
9
+
10
+ export { styles as default, editorContainer, editorContent, root };
11
+ //# sourceMappingURL=MarkdownEditor.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownEditor.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import { Editor } from '@tiptap/react';
2
+ import { MarkdownEditorFeature } from './features';
3
+ export type ImageUploadHandler = (file: File) => Promise<string>;
4
+ export type MarkdownEditorContextValue = {
5
+ editor: Editor | null;
6
+ features: Set<MarkdownEditorFeature>;
7
+ handleImageUpload?: ImageUploadHandler;
8
+ };
9
+ export declare const MarkdownEditorContext: import('react').Context<MarkdownEditorContextValue>;
10
+ export declare const useMarkdownEditorContext: () => MarkdownEditorContextValue;
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { useContext, createContext } from 'react';
3
+
4
+ const MarkdownEditorContext = createContext({
5
+ editor: null,
6
+ features: /* @__PURE__ */ new Set()
7
+ });
8
+ const useMarkdownEditorContext = () => useContext(MarkdownEditorContext);
9
+
10
+ export { MarkdownEditorContext, useMarkdownEditorContext };
11
+ //# sourceMappingURL=MarkdownEditorContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownEditorContext.js","sources":["../../../src/stories/markdowneditor/MarkdownEditorContext.tsx"],"sourcesContent":["'use client';\n\nimport type { Editor } from '@tiptap/react';\nimport { createContext, useContext } from 'react';\nimport type { MarkdownEditorFeature } from './features';\n\nexport type ImageUploadHandler = (file: File) => Promise<string>;\n\nexport type MarkdownEditorContextValue = {\n editor: Editor | null;\n features: Set<MarkdownEditorFeature>;\n handleImageUpload?: ImageUploadHandler;\n};\n\nexport const MarkdownEditorContext = createContext<MarkdownEditorContextValue>({\n editor: null,\n features: new Set(),\n});\n\nexport const useMarkdownEditorContext = () => useContext(MarkdownEditorContext);\n"],"names":[],"mappings":";;;AAcO,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,IAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0C;AAAA,CAAA,CAC3E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACR,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,KAAc,CAAA,CAAA,CAAA,CAAA;AAClB,CAAC,CAAA;AAEM,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,CAAA,CAA2B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA;;"}
@@ -0,0 +1,22 @@
1
+ import { ComponentPropsWithoutRef, FC, ReactNode } from 'react';
2
+ export type ToolbarButtonProps = {
3
+ /** Whether the button is currently active (e.g., bold is on). */
4
+ isActive?: boolean;
5
+ /** The action to perform when clicked. */
6
+ onAction: () => void;
7
+ /** Whether the button is disabled. */
8
+ disabled?: boolean;
9
+ /** Icon or label content. */
10
+ children: ReactNode;
11
+ /** Optional tooltip text. */
12
+ tooltip?: string;
13
+ /** Prop overrides for the button element. */
14
+ overrides?: {
15
+ button?: ComponentPropsWithoutRef<'button'>;
16
+ };
17
+ };
18
+ /**
19
+ * A toolbar button used in FixedToolbar and FloatingToolbar.
20
+ * Uses onMouseDown instead of onClick to prevent stealing editor focus.
21
+ */
22
+ export declare const ToolbarButton: FC<ToolbarButtonProps>;
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { clsx } from 'clsx';
4
+ import styles from './ToolbarButton.module.scss.js';
5
+
6
+ const ToolbarButton = ({
7
+ isActive = false,
8
+ onAction,
9
+ disabled = false,
10
+ children,
11
+ tooltip,
12
+ overrides
13
+ }) => {
14
+ return /* @__PURE__ */ jsx(
15
+ "button",
16
+ {
17
+ type: "button",
18
+ title: tooltip,
19
+ disabled,
20
+ "data-active": isActive,
21
+ ...overrides?.button,
22
+ className: clsx(styles.button, overrides?.button?.className),
23
+ onMouseDown: (e) => {
24
+ e.preventDefault();
25
+ if (!disabled) onAction();
26
+ },
27
+ children
28
+ }
29
+ );
30
+ };
31
+
32
+ export { ToolbarButton };
33
+ //# sourceMappingURL=ToolbarButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarButton.js","sources":["../../../src/stories/markdowneditor/ToolbarButton.tsx"],"sourcesContent":["'use client';\n\nimport { clsx } from 'clsx';\nimport type { ComponentPropsWithoutRef, FC, ReactNode } from 'react';\nimport styles from './ToolbarButton.module.scss';\n\nexport type ToolbarButtonProps = {\n /** Whether the button is currently active (e.g., bold is on). */\n isActive?: boolean;\n /** The action to perform when clicked. */\n onAction: () => void;\n /** Whether the button is disabled. */\n disabled?: boolean;\n /** Icon or label content. */\n children: ReactNode;\n /** Optional tooltip text. */\n tooltip?: string;\n /** Prop overrides for the button element. */\n overrides?: {\n button?: ComponentPropsWithoutRef<'button'>;\n };\n};\n\n/**\n * A toolbar button used in FixedToolbar and FloatingToolbar.\n * Uses onMouseDown instead of onClick to prevent stealing editor focus.\n */\nexport const ToolbarButton: FC<ToolbarButtonProps> = ({\n isActive = false,\n onAction,\n disabled = false,\n children,\n tooltip,\n overrides,\n}) => {\n return (\n <button\n type=\"button\"\n title={tooltip}\n disabled={disabled}\n data-active={isActive}\n {...overrides?.button}\n className={clsx(styles.button, overrides?.button?.className)}\n onMouseDown={(e) => {\n e.preventDefault();\n if (!disabled) onAction();\n }}\n >\n {children}\n </button>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ .paris_button_o-kCm {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ width: 28px;
6
+ height: 28px;
7
+ border: none;
8
+ border-radius: 6px;
9
+ background: transparent;
10
+ color: var(--pte-new-colors-contentSecondary);
11
+ cursor: pointer;
12
+ padding: 0;
13
+ font-size: 13px;
14
+ font-family: inherit;
15
+ transition: background-color var(--pte-new-animations-interaction, 150ms) ease, color var(--pte-new-animations-interaction, 150ms) ease;
16
+ flex-shrink: 0;
17
+ }
18
+ .paris_button_o-kCm:hover {
19
+ background-color: var(--pte-new-colors-backgroundSecondary);
20
+ color: var(--pte-new-colors-contentPrimary);
21
+ }
22
+ .paris_button_o-kCm[data-active=true] {
23
+ background-color: var(--pte-new-colors-borderSubtle);
24
+ color: var(--pte-new-colors-contentPrimary);
25
+ }
26
+ .paris_button_o-kCm:disabled {
27
+ color: var(--pte-new-colors-contentDisabled);
28
+ cursor: not-allowed;
29
+ background: transparent;
30
+ }
@@ -0,0 +1,7 @@
1
+ import './ToolbarButton.module.css';const button = "paris_button_o-kCm";
2
+ const styles = {
3
+ button: button
4
+ };
5
+
6
+ export { button, styles as default };
7
+ //# sourceMappingURL=ToolbarButton.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarButton.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import { Extensions } from '@tiptap/react';
2
+ export declare const FEATURES: readonly ["bold", "italic", "strikethrough", "heading", "blockquote", "horizontalRule", "bulletList", "orderedList", "taskList", "codeBlock", "code", "link", "image", "table"];
3
+ export type MarkdownEditorFeature = (typeof FEATURES)[number];
4
+ export declare const ALL_FEATURES: MarkdownEditorFeature[];
5
+ /**
6
+ * Builds the Tiptap extensions array based on enabled features.
7
+ * Always includes: Document, Paragraph, Text, History, Markdown, Placeholder.
8
+ * Conditionally includes StarterKit sub-extensions and standalone extensions.
9
+ */
10
+ export declare function buildExtensions(features: Set<MarkdownEditorFeature>, placeholder?: string): Extensions;
@@ -0,0 +1,79 @@
1
+ import Image from '@tiptap/extension-image';
2
+ import Placeholder from '@tiptap/extension-placeholder';
3
+ import { Table } from '@tiptap/extension-table';
4
+ import TableCell from '@tiptap/extension-table-cell';
5
+ import TableHeader from '@tiptap/extension-table-header';
6
+ import TableRow from '@tiptap/extension-table-row';
7
+ import TaskItem from '@tiptap/extension-task-item';
8
+ import TaskList from '@tiptap/extension-task-list';
9
+ import { Markdown } from '@tiptap/markdown';
10
+ import StarterKit from '@tiptap/starter-kit';
11
+
12
+ const FEATURES = [
13
+ "bold",
14
+ "italic",
15
+ "strikethrough",
16
+ "heading",
17
+ "blockquote",
18
+ "horizontalRule",
19
+ "bulletList",
20
+ "orderedList",
21
+ "taskList",
22
+ "codeBlock",
23
+ "code",
24
+ "link",
25
+ "image",
26
+ "table"
27
+ ];
28
+ const ALL_FEATURES = [...FEATURES];
29
+ function buildExtensions(features, placeholder) {
30
+ const extensions = [
31
+ StarterKit.configure({
32
+ bold: features.has("bold") ? {} : false,
33
+ italic: features.has("italic") ? {} : false,
34
+ strike: features.has("strikethrough") ? {} : false,
35
+ heading: features.has("heading") ? { levels: [1, 2, 3, 4, 5, 6] } : false,
36
+ blockquote: features.has("blockquote") ? {} : false,
37
+ horizontalRule: features.has("horizontalRule") ? {} : false,
38
+ bulletList: features.has("bulletList") ? {} : false,
39
+ orderedList: features.has("orderedList") ? {} : false,
40
+ listItem: features.has("bulletList") || features.has("orderedList") ? {} : false,
41
+ codeBlock: features.has("codeBlock") ? {} : false,
42
+ code: features.has("code") ? {} : false,
43
+ link: features.has("link") ? {
44
+ openOnClick: false,
45
+ HTMLAttributes: {
46
+ rel: "noopener noreferrer",
47
+ target: "_blank"
48
+ }
49
+ } : false
50
+ }),
51
+ Markdown,
52
+ Placeholder.configure({
53
+ placeholder: placeholder ?? "",
54
+ showOnlyCurrent: false
55
+ })
56
+ ];
57
+ if (features.has("taskList")) {
58
+ extensions.push(TaskList);
59
+ extensions.push(TaskItem.configure({ nested: true }));
60
+ }
61
+ if (features.has("table")) {
62
+ extensions.push(Table.configure({ resizable: false }));
63
+ extensions.push(TableRow);
64
+ extensions.push(TableCell);
65
+ extensions.push(TableHeader);
66
+ }
67
+ if (features.has("image")) {
68
+ extensions.push(
69
+ Image.configure({
70
+ inline: false,
71
+ allowBase64: true
72
+ })
73
+ );
74
+ }
75
+ return extensions;
76
+ }
77
+
78
+ export { ALL_FEATURES, FEATURES, buildExtensions };
79
+ //# sourceMappingURL=features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sources":["../../../src/stories/markdowneditor/features.ts"],"sourcesContent":["import Image from '@tiptap/extension-image';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport { Table } from '@tiptap/extension-table';\nimport TableCell from '@tiptap/extension-table-cell';\nimport TableHeader from '@tiptap/extension-table-header';\nimport TableRow from '@tiptap/extension-table-row';\nimport TaskItem from '@tiptap/extension-task-item';\nimport TaskList from '@tiptap/extension-task-list';\nimport { Markdown } from '@tiptap/markdown';\nimport type { Extensions } from '@tiptap/react';\nimport StarterKit from '@tiptap/starter-kit';\n\nexport const FEATURES = [\n 'bold',\n 'italic',\n 'strikethrough',\n 'heading',\n 'blockquote',\n 'horizontalRule',\n 'bulletList',\n 'orderedList',\n 'taskList',\n 'codeBlock',\n 'code',\n 'link',\n 'image',\n 'table',\n] as const;\n\nexport type MarkdownEditorFeature = (typeof FEATURES)[number];\n\nexport const ALL_FEATURES: MarkdownEditorFeature[] = [...FEATURES];\n\n/**\n * Builds the Tiptap extensions array based on enabled features.\n * Always includes: Document, Paragraph, Text, History, Markdown, Placeholder.\n * Conditionally includes StarterKit sub-extensions and standalone extensions.\n */\nexport function buildExtensions(features: Set<MarkdownEditorFeature>, placeholder?: string): Extensions {\n const extensions: Extensions = [\n StarterKit.configure({\n bold: features.has('bold') ? {} : false,\n italic: features.has('italic') ? {} : false,\n strike: features.has('strikethrough') ? {} : false,\n heading: features.has('heading') ? { levels: [1, 2, 3, 4, 5, 6] } : false,\n blockquote: features.has('blockquote') ? {} : false,\n horizontalRule: features.has('horizontalRule') ? {} : false,\n bulletList: features.has('bulletList') ? {} : false,\n orderedList: features.has('orderedList') ? {} : false,\n listItem: features.has('bulletList') || features.has('orderedList') ? {} : false,\n codeBlock: features.has('codeBlock') ? {} : false,\n code: features.has('code') ? {} : false,\n link: features.has('link')\n ? {\n openOnClick: false,\n HTMLAttributes: {\n rel: 'noopener noreferrer',\n target: '_blank',\n },\n }\n : false,\n }),\n Markdown,\n Placeholder.configure({\n placeholder: placeholder ?? '',\n showOnlyCurrent: false,\n }),\n ];\n\n if (features.has('taskList')) {\n extensions.push(TaskList);\n extensions.push(TaskItem.configure({ nested: true }));\n }\n\n if (features.has('table')) {\n extensions.push(Table.configure({ resizable: false }));\n extensions.push(TableRow);\n extensions.push(TableCell);\n extensions.push(TableHeader);\n }\n\n if (features.has('image')) {\n extensions.push(\n Image.configure({\n inline: false,\n allowBase64: true,\n }),\n );\n }\n\n return extensions;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { FixedToolbar } from './FixedToolbar.js';
2
+ export { FloatingToolbar } from './FloatingToolbar.js';
3
+ export { ALL_FEATURES, FEATURES } from './features.js';
4
+ export { MarkdownEditor } from './MarkdownEditor.js';
5
+ export { useMarkdownEditorContext } from './MarkdownEditorContext.js';
6
+ export { ToolbarButton } from './ToolbarButton.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,19 @@
1
+ import { MarkdownEditorFeature } from './features';
2
+ export type UseMarkdownEditorOptions = {
3
+ /** The markdown string value (controlled). */
4
+ value: string;
5
+ /** Fires with the updated markdown string on every edit. */
6
+ onChange?: (value: string) => void;
7
+ /** Whitelist of formatting features. Defaults to ALL_FEATURES. */
8
+ features?: MarkdownEditorFeature[];
9
+ /** Placeholder text when the editor is empty. */
10
+ placeholder?: string;
11
+ /** Whether the editor is editable. @default true */
12
+ editable?: boolean;
13
+ /** Whether to autofocus the editor on mount. @default false */
14
+ autofocus?: boolean;
15
+ };
16
+ export declare function useMarkdownEditor({ value, onChange, features, placeholder, editable, autofocus, }: UseMarkdownEditorOptions): {
17
+ editor: import('@tiptap/core').Editor | null;
18
+ featureSet: Set<"blockquote" | "code" | "link" | "table" | "image" | "heading" | "bold" | "italic" | "strikethrough" | "horizontalRule" | "bulletList" | "orderedList" | "taskList" | "codeBlock">;
19
+ };
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+ import { useEditor } from '@tiptap/react';
3
+ import { useMemo, useRef, useEffect } from 'react';
4
+ import { ALL_FEATURES, buildExtensions } from './features.js';
5
+
6
+ function useMarkdownEditor({
7
+ value,
8
+ onChange,
9
+ features = ALL_FEATURES,
10
+ placeholder,
11
+ editable = true,
12
+ autofocus = false
13
+ }) {
14
+ const featureSet = useMemo(() => new Set(features), [features]);
15
+ const extensions = useMemo(() => buildExtensions(featureSet, placeholder), [featureSet, placeholder]);
16
+ const lastOnChangeValue = useRef(value);
17
+ const editor = useEditor({
18
+ extensions,
19
+ // Empty strings produce no DOM nodes with contentType: 'markdown',
20
+ // which breaks the placeholder. Only use markdown parsing for non-empty content.
21
+ content: value || void 0,
22
+ contentType: value ? "markdown" : void 0,
23
+ editable,
24
+ autofocus,
25
+ immediatelyRender: false,
26
+ onUpdate: ({ editor: ed }) => {
27
+ const markdown = ed.getMarkdown();
28
+ lastOnChangeValue.current = markdown;
29
+ onChange?.(markdown);
30
+ }
31
+ });
32
+ useEffect(() => {
33
+ if (!editor || editor.isDestroyed) return;
34
+ if (value === lastOnChangeValue.current) return;
35
+ const currentMarkdown = editor.getMarkdown();
36
+ if (value !== currentMarkdown) {
37
+ editor.commands.setContent(value, { contentType: "markdown", emitUpdate: false });
38
+ lastOnChangeValue.current = value;
39
+ }
40
+ }, [editor, value]);
41
+ useEffect(() => {
42
+ if (editor && !editor.isDestroyed) {
43
+ editor.setEditable(editable);
44
+ }
45
+ }, [editor, editable]);
46
+ return { editor, featureSet };
47
+ }
48
+
49
+ export { useMarkdownEditor };
50
+ //# sourceMappingURL=useMarkdownEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMarkdownEditor.js","sources":["../../../src/stories/markdowneditor/useMarkdownEditor.ts"],"sourcesContent":["'use client';\n\nimport { useEditor } from '@tiptap/react';\nimport { useEffect, useMemo, useRef } from 'react';\nimport type { MarkdownEditorFeature } from './features';\nimport { ALL_FEATURES, buildExtensions } from './features';\n\nexport type UseMarkdownEditorOptions = {\n /** The markdown string value (controlled). */\n value: string;\n /** Fires with the updated markdown string on every edit. */\n onChange?: (value: string) => void;\n /** Whitelist of formatting features. Defaults to ALL_FEATURES. */\n features?: MarkdownEditorFeature[];\n /** Placeholder text when the editor is empty. */\n placeholder?: string;\n /** Whether the editor is editable. @default true */\n editable?: boolean;\n /** Whether to autofocus the editor on mount. @default false */\n autofocus?: boolean;\n};\n\nexport function useMarkdownEditor({\n value,\n onChange,\n features = ALL_FEATURES,\n placeholder,\n editable = true,\n autofocus = false,\n}: UseMarkdownEditorOptions) {\n const featureSet = useMemo(() => new Set(features), [features]);\n const extensions = useMemo(() => buildExtensions(featureSet, placeholder), [featureSet, placeholder]);\n\n // Track the last value we sent via onChange to prevent circular updates\n const lastOnChangeValue = useRef(value);\n\n const editor = useEditor({\n extensions,\n // Empty strings produce no DOM nodes with contentType: 'markdown',\n // which breaks the placeholder. Only use markdown parsing for non-empty content.\n content: value || undefined,\n contentType: value ? 'markdown' : undefined,\n editable,\n autofocus,\n immediatelyRender: false,\n onUpdate: ({ editor: ed }) => {\n const markdown = ed.getMarkdown();\n lastOnChangeValue.current = markdown;\n onChange?.(markdown);\n },\n });\n\n // Sync external value changes into the editor (controlled mode)\n useEffect(() => {\n if (!editor || editor.isDestroyed) return;\n\n // Skip if this value came from our own onChange\n if (value === lastOnChangeValue.current) return;\n\n const currentMarkdown = editor.getMarkdown();\n if (value !== currentMarkdown) {\n editor.commands.setContent(value, { contentType: 'markdown', emitUpdate: false });\n lastOnChangeValue.current = value;\n }\n }, [editor, value]);\n\n // Sync editable state\n useEffect(() => {\n if (editor && !editor.isDestroyed) {\n editor.setEditable(editable);\n }\n }, [editor, editable]);\n\n return { editor, featureSet };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { MenuButtonProps, MenuItemProps, MenuItemsProps, MenuProps } from '@headlessui/react';
2
+ import { FC } from 'react';
3
+ /**
4
+ * Wraps the `HeadlessMenu` component from `@headlessui/react` to provide a styled dropdown menu.
5
+ *
6
+ * This component serves as the root of the menu and should wrap `MenuButton`, `MenuItems`, and `MenuItem` components.
7
+ *
8
+ * Usage:
9
+ *
10
+ * ```tsx
11
+ * <Menu>
12
+ * <MenuButton>Options</MenuButton>
13
+ * <MenuItems>
14
+ * <MenuItem>Item 1</MenuItem>
15
+ * <MenuItem>Item 2</MenuItem>
16
+ * </MenuItems>
17
+ * </Menu>
18
+ * ```
19
+ */
20
+ export declare const Menu: FC<MenuProps<React.ElementType> & {
21
+ onOpenChange?: (open: boolean) => void;
22
+ }>;
23
+ /**
24
+ * Renders a button that toggles the display of `MenuItems` in a `Menu`.
25
+ *
26
+ * Should be used inside a `Menu` component to serve as the toggle for `MenuItems`.
27
+ */
28
+ export declare const MenuButton: FC<MenuButtonProps<React.ElementType>>;
29
+ /**
30
+ * Container for menu item options, rendering the list of `MenuItem` components.
31
+ *
32
+ * Positions the menu items relative to the `MenuButton` based on the `position` prop.
33
+ *
34
+ * @param position - Controls the positioning of the menu items ('left' or 'right').
35
+ */
36
+ export declare const MenuItems: FC<MenuItemsProps<React.ElementType> & {
37
+ position?: 'left' | 'right';
38
+ }>;
39
+ /**
40
+ * Represents an individual item within a `MenuItems` container.
41
+ *
42
+ * Should be used inside `MenuItems` to represent selectable options in the menu.
43
+ *
44
+ * @param isNew - Whether the menu items should be styled as new items.
45
+ */
46
+ export declare const MenuItem: FC<MenuItemProps<React.ElementType> & {
47
+ isNew?: boolean;
48
+ }>;
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { Menu as Menu$1, MenuButton as MenuButton$1, MenuItem as MenuItem$1, MenuItems as MenuItems$1 } from '@headlessui/react';
4
+ import { clsx } from 'clsx';
5
+ import { OpenChangeEffect } from '../../helpers/OpenChangeEffect.js';
6
+ import styles from './Menu.module.scss.js';
7
+
8
+ const Menu = ({
9
+ className,
10
+ children,
11
+ onOpenChange,
12
+ ...props
13
+ }) => /* @__PURE__ */ jsx(Menu$1, { as: "div", className: clsx(styles.menu, className), ...props, children: ({ open, close }) => /* @__PURE__ */ jsxs(Fragment, { children: [
14
+ /* @__PURE__ */ jsx(OpenChangeEffect, { open, onOpenChange }),
15
+ typeof children === "function" ? children({ open, close }) : children
16
+ ] }) });
17
+ const MenuButton = ({ className, children, ...props }) => /* @__PURE__ */ jsx(MenuButton$1, { className: clsx(styles.menuButton, className), ...props, children });
18
+ const MenuItems = ({ className, children, position = "left", ...props }) => /* @__PURE__ */ jsx(
19
+ MenuItems$1,
20
+ {
21
+ transition: true,
22
+ anchor: position === "left" ? "bottom start" : "bottom end",
23
+ className: clsx(styles.menuItems, className),
24
+ ...props,
25
+ children
26
+ }
27
+ );
28
+ const MenuItem = ({ className, children, isNew = false, ...props }) => /* @__PURE__ */ jsx(MenuItem$1, { className: clsx(styles.menuItem, isNew && styles.newItem, className), ...props, children });
29
+
30
+ export { Menu, MenuButton, MenuItem, MenuItems };
31
+ //# sourceMappingURL=Menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.js","sources":["../../../src/stories/menu/Menu.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuButtonProps, MenuItemProps, MenuItemsProps, MenuProps } from '@headlessui/react';\nimport {\n Menu as HeadlessMenu,\n MenuButton as HMenuButton,\n MenuItem as HMenuItem,\n MenuItems as HMenuItems,\n} from '@headlessui/react';\nimport { clsx } from 'clsx';\nimport type { FC } from 'react';\nimport { OpenChangeEffect } from '../../helpers/OpenChangeEffect';\n\nimport styles from './Menu.module.scss';\n\n/**\n * Wraps the `HeadlessMenu` component from `@headlessui/react` to provide a styled dropdown menu.\n *\n * This component serves as the root of the menu and should wrap `MenuButton`, `MenuItems`, and `MenuItem` components.\n *\n * Usage:\n *\n * ```tsx\n * <Menu>\n * <MenuButton>Options</MenuButton>\n * <MenuItems>\n * <MenuItem>Item 1</MenuItem>\n * <MenuItem>Item 2</MenuItem>\n * </MenuItems>\n * </Menu>\n * ```\n */\nexport const Menu: FC<MenuProps<React.ElementType> & { onOpenChange?: (open: boolean) => void }> = ({\n className,\n children,\n onOpenChange,\n ...props\n}) => (\n <HeadlessMenu as=\"div\" className={clsx(styles.menu, className)} {...props}>\n {({ open, close }) => (\n <>\n <OpenChangeEffect open={open} onOpenChange={onOpenChange} />\n {typeof children === 'function' ? children({ open, close }) : children}\n </>\n )}\n </HeadlessMenu>\n);\n\n/**\n * Renders a button that toggles the display of `MenuItems` in a `Menu`.\n *\n * Should be used inside a `Menu` component to serve as the toggle for `MenuItems`.\n */\nexport const MenuButton: FC<MenuButtonProps<React.ElementType>> = ({ className, children, ...props }) => (\n <HMenuButton className={clsx(styles.menuButton, className)} {...props}>\n {children}\n </HMenuButton>\n);\n\n/**\n * Container for menu item options, rendering the list of `MenuItem` components.\n *\n * Positions the menu items relative to the `MenuButton` based on the `position` prop.\n *\n * @param position - Controls the positioning of the menu items ('left' or 'right').\n */\nexport const MenuItems: FC<\n MenuItemsProps<React.ElementType> & {\n position?: 'left' | 'right';\n }\n> = ({ className, children, position = 'left', ...props }) => (\n <HMenuItems\n transition\n anchor={position === 'left' ? 'bottom start' : 'bottom end'}\n className={clsx(styles.menuItems, className)}\n {...props}\n >\n {children}\n </HMenuItems>\n);\n\n/**\n * Represents an individual item within a `MenuItems` container.\n *\n * Should be used inside `MenuItems` to represent selectable options in the menu.\n *\n * @param isNew - Whether the menu items should be styled as new items.\n */\nexport const MenuItem: FC<\n MenuItemProps<React.ElementType> & {\n isNew?: boolean;\n }\n> = ({ className, children, isNew = false, ...props }) => (\n <HMenuItem className={clsx(styles.menuItem, isNew && styles.newItem, className)} {...props}>\n {children}\n </HMenuItem>\n);\n"],"names":["HeadlessMenu","HMenuButton","HMenuItems","HMenuItem"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ .paris_menu_HYnWi {
2
+ position: relative;
3
+ }
4
+
5
+ .paris_menuItems_QbqR7 {
6
+ --anchor-gap: 6px;
7
+ border-radius: 8px;
8
+ background: var(--pte-new-colors-surfacePrimary);
9
+ box-shadow: var(--pte-new-lighting-deepBelow);
10
+ border: var(--pte-new-borders-dropdown-border);
11
+ display: flex;
12
+ width: 200px;
13
+ flex-direction: column;
14
+ align-items: flex-start;
15
+ overflow: hidden;
16
+ z-index: var(--pte-new-layers-menu);
17
+ transition: opacity var(--pte-animations-interaction), transform var(--pte-animations-interaction);
18
+ opacity: 1;
19
+ transform: translateY(0);
20
+ }
21
+ .paris_menuItems_QbqR7[data-closed] {
22
+ opacity: 0;
23
+ transform: translateY(-8px);
24
+ }
25
+
26
+ .paris_menuItem_snmkz {
27
+ width: 100%;
28
+ padding: 8px 14px;
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: space-between;
32
+ color: var(--pte-new-colors-contentPrimary);
33
+ border-bottom: 0.5px solid var(--pte-new-colors-borderMedium);
34
+ }
35
+ .paris_menuItem_snmkz:last-child {
36
+ border-bottom: none;
37
+ }
38
+ .paris_menuItem_snmkz:hover {
39
+ background-color: var(--pte-new-colors-overlayMedium);
40
+ }
41
+ @keyframes paris_gradientFlow_ZffNc {
42
+ 0% {
43
+ background-position: 0%;
44
+ }
45
+ 100% {
46
+ background-position: 125%;
47
+ }
48
+ }
49
+
50
+ .paris_newItem_LE830 {
51
+ background: radial-gradient(circle, rgba(20, 239, 172, 0.2) 0%, rgba(38, 237, 237, 0.05) 75%);
52
+ background-size: 150% 100%;
53
+ animation: paris_gradientFlow_ZffNc 2.5s ease-in-out infinite alternate;
54
+ background-position: 0%;
55
+ }
56
+ .paris_newItem_LE830:hover {
57
+ background-color: unset;
58
+ animation-play-state: paused;
59
+ }
@@ -0,0 +1,12 @@
1
+ import './Menu.module.css';const menu = "paris_menu_HYnWi";
2
+ const menuItems = "paris_menuItems_QbqR7";
3
+ const menuItem = "paris_menuItem_snmkz";
4
+ const newItem = "paris_newItem_LE830";
5
+ const styles = {
6
+ menu: menu,
7
+ menuItems: menuItems,
8
+ menuItem: menuItem,
9
+ newItem: newItem};
10
+
11
+ export { styles as default, menu, menuItem, menuItems, newItem };
12
+ //# sourceMappingURL=Menu.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export { Menu, MenuButton, MenuItem, MenuItems } from './Menu.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { usePagination } from './usePagination.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ export type PaginationState<T extends string[] | readonly string[] = string[]> = {
2
+ /**
3
+ * The current page key.
4
+ */
5
+ currentPage: T[number];
6
+ /**
7
+ * Open a page and add it to the history.
8
+ * @param page - The page's unique key.
9
+ */
10
+ open: (page: T[number]) => void;
11
+ /**
12
+ * Check if the current page can go back.
13
+ */
14
+ canGoBack: () => boolean;
15
+ /**
16
+ * Go back to the previous page.
17
+ *
18
+ * If the current page is the first page, nothing happens.
19
+ */
20
+ back: () => void;
21
+ /**
22
+ * Check if the current page can go forward.
23
+ */
24
+ canGoForward: () => boolean;
25
+ /**
26
+ * Go forward to the next page.
27
+ *
28
+ * If there is no next page, nothing happens.
29
+ */
30
+ forward: () => void;
31
+ /**
32
+ * The page history.
33
+ */
34
+ history: T[number][];
35
+ /**
36
+ * Clear the page history and reset to the initial page.
37
+ */
38
+ reset: () => void;
39
+ };
40
+ /**
41
+ * A hook to create a page history and navigate between pages.
42
+ *
43
+ * In TypeScript, you can pass in a string array to the generic type to explicitly define the page keys, which will add type safety and auto-completion for each method.
44
+ *
45
+ * @param initialPage - The initial page key.
46
+ */
47
+ export declare const usePagination: <T extends string[] | readonly string[] = string[]>(initialPage: T[number]) => PaginationState<T>;