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
@@ -1,375 +0,0 @@
1
- 'use client';
2
-
3
- import { clsx } from 'clsx';
4
- import type { CSSProperties, FC, MouseEvent as ReactMouseEvent, ReactNode, TouchEvent as ReactTouchEvent } from 'react';
5
- import { useCallback, useEffect, useRef, useState } from 'react';
6
- import styles from './Tilt.module.scss';
7
-
8
- type GlarePosition = 'top' | 'right' | 'bottom' | 'left' | 'all';
9
-
10
- export type OnMoveParams = {
11
- tiltAngleX: number;
12
- tiltAngleY: number;
13
- tiltAngleXPercentage: number;
14
- tiltAngleYPercentage: number;
15
- glareAngle: number;
16
- glareOpacity: number;
17
- };
18
-
19
- export type TiltProps = {
20
- /** Disables the tilt effect. @default false */
21
- disableTilt?: boolean;
22
- children?: ReactNode | ReactNode[];
23
- className?: string;
24
- style?: CSSProperties;
25
- /** Scale on hover (1.05 = 105%). @default 1.05 */
26
- scale?: number;
27
- /** Max tilt on X axis in degrees. @default 12.5 */
28
- tiltMaxAngleX?: number;
29
- /** Max tilt on Y axis in degrees. @default 12.5 */
30
- tiltMaxAngleY?: number;
31
- /** Manual tilt on X axis in degrees. Overrides mouse input when non-null. */
32
- tiltAngleXManual?: number | null;
33
- /** Manual tilt on Y axis in degrees. Overrides mouse input when non-null. */
34
- tiltAngleYManual?: number | null;
35
- /** CSS perspective distance in px. @default 1000 */
36
- perspective?: number;
37
- /** Transition speed in ms for enter/leave. @default 400 */
38
- transitionSpeed?: number;
39
- /** Transition easing function. @default 'cubic-bezier(.03,.98,.52,.99)' */
40
- transitionEasing?: string;
41
- /** Reset tilt on mouse leave. @default true */
42
- reset?: boolean;
43
- /** Enable glare overlay. @default true */
44
- glareEnable?: boolean;
45
- /** Max glare opacity (0-1). @default 0.5 */
46
- glareMaxOpacity?: number;
47
- /** Glare gradient color. @default '#ffffff' */
48
- glareColor?: string;
49
- /** Glare gradient origin position. @default 'bottom' */
50
- glarePosition?: GlarePosition;
51
- /** Reverse glare direction. @default false */
52
- glareReverse?: boolean;
53
- /** CSS border-radius for glare wrapper. Derived from style.borderRadius by default. */
54
- glareBorderRadius?: string;
55
- onEnter?: (params: { event: ReactMouseEvent | ReactTouchEvent }) => void;
56
- onLeave?: (params: { event: ReactMouseEvent | ReactTouchEvent }) => void;
57
- onMove?: (params: OnMoveParams) => void;
58
- };
59
-
60
- type TiltState = {
61
- tiltAngleX: number;
62
- tiltAngleY: number;
63
- currentScale: number;
64
- glareAngle: number;
65
- glareOpacity: number;
66
- transitioning: boolean;
67
- };
68
-
69
- const INITIAL_STATE: TiltState = {
70
- tiltAngleX: 0,
71
- tiltAngleY: 0,
72
- currentScale: 1,
73
- glareAngle: 0,
74
- glareOpacity: 0,
75
- transitioning: false,
76
- };
77
-
78
- const clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);
79
-
80
- function computeGlareOpacity(
81
- xPct: number,
82
- yPct: number,
83
- position: GlarePosition,
84
- reverse: boolean,
85
- maxOpacity: number,
86
- ): number {
87
- const g = reverse ? -1 : 1;
88
- let raw = 0;
89
- switch (position) {
90
- case 'top':
91
- raw = -xPct * g;
92
- break;
93
- case 'right':
94
- raw = yPct * g;
95
- break;
96
- case 'left':
97
- raw = -yPct * g;
98
- break;
99
- case 'all':
100
- raw = Math.hypot(xPct, yPct);
101
- break;
102
- default:
103
- raw = xPct * g;
104
- break;
105
- }
106
- return (clamp(raw, 0, 100) * maxOpacity) / 100;
107
- }
108
-
109
- /**
110
- * Tilt components allow you to add a parallax tilt effect to any component.
111
- *
112
- * > Card components include a Tilt component by default, by setting the `tilt` prop to `true`. You can override any of the underlying Tilt props by passing them to the Card component's `overrides.tilt` prop.
113
- *
114
- * <hr />
115
- *
116
- * To use this component, import it as follows:
117
- *
118
- * ```js
119
- * import { Tilt } from 'paris/tilt';
120
- * ```
121
- * @constructor
122
- */
123
- export const Tilt: FC<TiltProps> = ({
124
- disableTilt = false,
125
- scale = 1.05,
126
- tiltMaxAngleX = 12.5,
127
- tiltMaxAngleY = 12.5,
128
- tiltAngleXManual = null,
129
- tiltAngleYManual = null,
130
- perspective = 1000,
131
- transitionSpeed = 400,
132
- transitionEasing = 'cubic-bezier(.03,.98,.52,.99)',
133
- reset = true,
134
- glareEnable = true,
135
- glareMaxOpacity = 0.5,
136
- glareColor = '#ffffff',
137
- glarePosition = 'bottom',
138
- glareReverse = false,
139
- glareBorderRadius,
140
- style = {},
141
- className,
142
- children,
143
- onEnter,
144
- onLeave,
145
- onMove,
146
- }) => {
147
- const containerRef = useRef<HTMLDivElement>(null);
148
- const rafID = useRef<number | null>(null);
149
- const rectRef = useRef<DOMRect | null>(null);
150
- const pendingRef = useRef<TiltState | null>(null);
151
-
152
- const [tilt, setTilt] = useState<TiltState>(INITIAL_STATE);
153
-
154
- const effectiveScale = disableTilt ? 1 : scale;
155
- const effectiveMaxX = disableTilt ? 0 : tiltMaxAngleX;
156
- const effectiveMaxY = disableTilt ? 0 : tiltMaxAngleY;
157
- const effectiveGlare = !disableTilt && glareEnable;
158
- const effectiveGlareMax = disableTilt ? 0 : glareMaxOpacity;
159
- const effectiveManualX = disableTilt ? 0 : tiltAngleXManual;
160
- const effectiveManualY = disableTilt ? 0 : tiltAngleYManual;
161
-
162
- const computedGlareBorderRadius = glareBorderRadius ?? `calc(${style?.borderRadius || '1px'} - 1px)`;
163
- const isManual = effectiveManualX !== null || effectiveManualY !== null;
164
-
165
- // Cancel any pending rAF on unmount
166
- useEffect(
167
- () => () => {
168
- if (rafID.current !== null) cancelAnimationFrame(rafID.current);
169
- },
170
- [],
171
- );
172
-
173
- const flushToState = useCallback(() => {
174
- if (!pendingRef.current) return;
175
- const next = pendingRef.current;
176
- pendingRef.current = null;
177
- setTilt(next);
178
- }, []);
179
-
180
- const scheduleUpdate = useCallback(
181
- (next: TiltState) => {
182
- pendingRef.current = next;
183
- if (rafID.current !== null) cancelAnimationFrame(rafID.current);
184
- rafID.current = requestAnimationFrame(flushToState);
185
- },
186
- [flushToState],
187
- );
188
-
189
- const computeTilt = useCallback(
190
- (pageX: number, pageY: number): TiltState => {
191
- const rect = rectRef.current;
192
- if (!rect) return { ...INITIAL_STATE, currentScale: effectiveScale };
193
-
194
- const xPct = clamp(((pageX - rect.left) / rect.width) * 200 - 100, -100, 100);
195
- const yPct = clamp(((pageY - rect.top) / rect.height) * 200 - 100, -100, 100);
196
-
197
- const angleX = effectiveManualX !== null ? effectiveManualX : (yPct * effectiveMaxX) / 100;
198
- const angleY = effectiveManualY !== null ? effectiveManualY : ((xPct * effectiveMaxY) / 100) * -1;
199
-
200
- const glareAngle = xPct ? Math.atan2(yPct, -xPct) * (180 / Math.PI) : 0;
201
- const glareOpacity = effectiveGlare
202
- ? computeGlareOpacity(xPct, yPct, glarePosition, glareReverse, effectiveGlareMax)
203
- : 0;
204
-
205
- return {
206
- tiltAngleX: clamp(angleX, -90, 90),
207
- tiltAngleY: clamp(angleY, -90, 90),
208
- currentScale: effectiveScale,
209
- glareAngle,
210
- glareOpacity,
211
- transitioning: false,
212
- };
213
- },
214
- [
215
- effectiveScale,
216
- effectiveMaxX,
217
- effectiveMaxY,
218
- effectiveManualX,
219
- effectiveManualY,
220
- effectiveGlare,
221
- effectiveGlareMax,
222
- glarePosition,
223
- glareReverse,
224
- ],
225
- );
226
-
227
- const handleMouseEnter = useCallback(
228
- (e: ReactMouseEvent<HTMLDivElement>) => {
229
- if (!containerRef.current) return;
230
- rectRef.current = containerRef.current.getBoundingClientRect();
231
-
232
- const next = computeTilt(e.pageX, e.pageY);
233
- setTilt({ ...next, transitioning: true });
234
- onEnter?.({ event: e });
235
- },
236
- [computeTilt, onEnter],
237
- );
238
-
239
- const handleMouseMove = useCallback(
240
- (e: ReactMouseEvent<HTMLDivElement>) => {
241
- if (!containerRef.current || !rectRef.current) return;
242
- if (effectiveManualX !== null || effectiveManualY !== null) return;
243
-
244
- const next = computeTilt(e.pageX, e.pageY);
245
- scheduleUpdate(next);
246
-
247
- if (onMove) {
248
- onMove({
249
- tiltAngleX: next.tiltAngleX,
250
- tiltAngleY: next.tiltAngleY,
251
- tiltAngleXPercentage: effectiveMaxX ? (next.tiltAngleX / effectiveMaxX) * 100 : 0,
252
- tiltAngleYPercentage: effectiveMaxY ? (next.tiltAngleY / effectiveMaxY) * 100 : 0,
253
- glareAngle: next.glareAngle,
254
- glareOpacity: next.glareOpacity,
255
- });
256
- }
257
- },
258
- [computeTilt, scheduleUpdate, onMove, effectiveManualX, effectiveManualY, effectiveMaxX, effectiveMaxY],
259
- );
260
-
261
- const handleMouseLeave = useCallback(
262
- (e: ReactMouseEvent<HTMLDivElement>) => {
263
- if (!containerRef.current) return;
264
- rectRef.current = null;
265
-
266
- if (reset) {
267
- setTilt({ ...INITIAL_STATE, transitioning: true });
268
- }
269
- onLeave?.({ event: e });
270
- },
271
- [reset, onLeave],
272
- );
273
-
274
- const handleTouchStart = useCallback(
275
- (e: ReactTouchEvent<HTMLDivElement>) => {
276
- if (!containerRef.current || !e.touches[0]) return;
277
- rectRef.current = containerRef.current.getBoundingClientRect();
278
-
279
- const touch = e.touches[0];
280
- const next = computeTilt(touch.pageX, touch.pageY);
281
- setTilt({ ...next, transitioning: true });
282
- onEnter?.({ event: e });
283
- },
284
- [computeTilt, onEnter],
285
- );
286
-
287
- const handleTouchMove = useCallback(
288
- (e: ReactTouchEvent<HTMLDivElement>) => {
289
- if (!containerRef.current || !rectRef.current || !e.touches[0]) return;
290
- if (effectiveManualX !== null || effectiveManualY !== null) return;
291
-
292
- const touch = e.touches[0];
293
- const next = computeTilt(touch.pageX, touch.pageY);
294
- scheduleUpdate(next);
295
- },
296
- [computeTilt, scheduleUpdate, effectiveManualX, effectiveManualY],
297
- );
298
-
299
- const handleTouchEnd = useCallback(
300
- (e: ReactTouchEvent<HTMLDivElement>) => {
301
- if (!containerRef.current) return;
302
- rectRef.current = null;
303
-
304
- if (reset) {
305
- setTilt({ ...INITIAL_STATE, transitioning: true });
306
- }
307
- onLeave?.({ event: e });
308
- },
309
- [reset, onLeave],
310
- );
311
-
312
- // Compute glare element size (diagonal of container)
313
- const [glareSize, setGlareSize] = useState(0);
314
- useEffect(() => {
315
- if (!effectiveGlare || !containerRef.current) {
316
- return undefined;
317
- }
318
- const el = containerRef.current;
319
- const observer = new ResizeObserver(([entry]) => {
320
- if (!entry) return;
321
- const { width, height } = entry.contentRect;
322
- setGlareSize(Math.sqrt(width ** 2 + height ** 2));
323
- });
324
- observer.observe(el);
325
- return () => observer.disconnect();
326
- }, [effectiveGlare]);
327
-
328
- // Apply manual angle overrides at render time
329
- const finalAngleX = isManual ? (effectiveManualX ?? 0) : tilt.tiltAngleX;
330
- const finalAngleY = isManual ? (effectiveManualY ?? 0) : tilt.tiltAngleY;
331
- const finalScale = tilt.currentScale;
332
-
333
- const transform = `perspective(${perspective}px) rotateX(${finalAngleX}deg) rotateY(${finalAngleY}deg) scale3d(${finalScale},${finalScale},${finalScale})`;
334
-
335
- const transition =
336
- tilt.transitioning || isManual ? `transform ${transitionSpeed}ms ${transitionEasing}` : undefined;
337
-
338
- return (
339
- <div
340
- ref={containerRef}
341
- onMouseEnter={handleMouseEnter}
342
- onMouseMove={handleMouseMove}
343
- onMouseLeave={handleMouseLeave}
344
- onTouchStart={handleTouchStart}
345
- onTouchMove={handleTouchMove}
346
- onTouchEnd={handleTouchEnd}
347
- className={clsx(styles.container, className)}
348
- style={{
349
- ...style,
350
- transform,
351
- transition,
352
- willChange:
353
- tilt.transitioning || finalScale !== 1 || finalAngleX !== 0 || finalAngleY !== 0
354
- ? 'transform'
355
- : undefined,
356
- }}
357
- >
358
- {children}
359
- {effectiveGlare && (
360
- <div className={styles.glareWrapper} style={{ borderRadius: computedGlareBorderRadius }}>
361
- <div
362
- className={styles.glare}
363
- style={{
364
- width: glareSize,
365
- height: glareSize,
366
- transform: `rotate(${tilt.glareAngle}deg) translate(-50%, -50%)`,
367
- opacity: tilt.glareOpacity,
368
- background: `linear-gradient(0deg, rgba(255,255,255,0) 0%, ${glareColor} 100%)`,
369
- }}
370
- />
371
- </div>
372
- )}
373
- </div>
374
- );
375
- };
@@ -1,20 +0,0 @@
1
- .toast {
2
- color: var(--pte-new-colors-contentInversePrimary) !important;
3
- background-color: var(--pte-new-colors-buttonFill) !important;
4
- //border: 1px solid var(--pte-colors-border) !important;
5
- border-radius: var(--pte-borders-radius-rounded) !important;
6
- backdrop-filter: blur(4px) !important;
7
- box-shadow: var(--pte-new-lighting-subtlePopup) !important;
8
- font-weight: 500 !important;
9
- padding: 4px 8px !important;
10
-
11
- svg {
12
- width: 10px;
13
- margin-left: 8px;
14
- }
15
-
16
- & > div {
17
- margin-left: 8px;
18
- margin-right: 8px;
19
- }
20
- }
@@ -1,31 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/nextjs-vite';
2
- import { Button } from '../button';
3
- import { ChevronRight, Icon } from '../icon';
4
- import { Toast, toast } from './Toast';
5
-
6
- const meta: Meta<typeof Toast> = {
7
- title: 'Surfaces/Toast',
8
- component: Toast,
9
- tags: ['autodocs'],
10
- };
11
-
12
- export default meta;
13
- type Story = StoryObj<typeof Toast>;
14
-
15
- export const Default: Story = {
16
- args: {},
17
- render: (args) => (
18
- <>
19
- <Button
20
- onClick={() => {
21
- toast('Like we were in Paris', {
22
- icon: <Icon size={12} icon={ChevronRight} />,
23
- });
24
- }}
25
- >
26
- Show toast
27
- </Button>
28
- <Toast {...args} />
29
- </>
30
- ),
31
- };
@@ -1,86 +0,0 @@
1
- import { act, render, screen, waitFor } from '../../test/render';
2
- import { Toast, toast } from './Toast';
3
-
4
- describe('Toast', () => {
5
- it('renders the Toaster container without crashing', () => {
6
- const { container } = render(<Toast />);
7
- expect(container).toBeInTheDocument();
8
- });
9
-
10
- it('displays a toast message when toast() is called', async () => {
11
- render(<Toast />);
12
-
13
- act(() => {
14
- toast('Hello from Paris');
15
- });
16
-
17
- await waitFor(() => {
18
- expect(screen.getByText('Hello from Paris')).toBeInTheDocument();
19
- });
20
- });
21
-
22
- it('displays a success toast', async () => {
23
- render(<Toast />);
24
-
25
- act(() => {
26
- toast.success('Operation succeeded');
27
- });
28
-
29
- await waitFor(() => {
30
- expect(screen.getByText('Operation succeeded')).toBeInTheDocument();
31
- });
32
- });
33
-
34
- it('displays an error toast', async () => {
35
- render(<Toast />);
36
-
37
- act(() => {
38
- toast.error('Something went wrong');
39
- });
40
-
41
- await waitFor(() => {
42
- expect(screen.getByText('Something went wrong')).toBeInTheDocument();
43
- });
44
- });
45
-
46
- it('displays a loading toast', async () => {
47
- render(<Toast />);
48
-
49
- act(() => {
50
- toast.loading('Please wait...');
51
- });
52
-
53
- await waitFor(() => {
54
- expect(screen.getByText('Please wait...')).toBeInTheDocument();
55
- });
56
- });
57
-
58
- it('displays a custom JSX toast', async () => {
59
- render(<Toast />);
60
-
61
- act(() => {
62
- toast(<span data-testid="custom-toast">Custom content</span>);
63
- });
64
-
65
- await waitFor(() => {
66
- expect(screen.getByTestId('custom-toast')).toBeInTheDocument();
67
- });
68
- });
69
-
70
- it('applies toast styling className', async () => {
71
- render(<Toast />);
72
-
73
- act(() => {
74
- toast('Styled toast');
75
- });
76
-
77
- await waitFor(() => {
78
- const toastEl = screen.getByText('Styled toast').closest('[class*="toast"]');
79
- expect(toastEl).toBeInTheDocument();
80
- });
81
- });
82
-
83
- it('passes additional Toaster props through', () => {
84
- render(<Toast position="bottom-left" />);
85
- });
86
- });
@@ -1,28 +0,0 @@
1
- .transitionContainer {
2
- position: relative;
3
- z-index: var(--pte-new-layers-dropdown);
4
- }
5
-
6
- .transition {
7
- transition: var(--pte-animations-interaction);
8
- }
9
-
10
- .enterFrom {
11
- opacity: 0;
12
- transform: translateY(-8px);
13
- }
14
-
15
- .enterTo {
16
- opacity: 1;
17
- transform: translateY(0);
18
- }
19
-
20
- .leaveFrom {
21
- opacity: 1;
22
- transform: translateY(0);
23
- }
24
-
25
- .leaveTo {
26
- opacity: 0;
27
- transform: translateY(-8px);
28
- }
@@ -1,3 +0,0 @@
1
- import { cubicBezier } from 'framer-motion';
2
-
3
- export const easeInOutExpo = cubicBezier(0.87, 0, 0.13, 1);
@@ -1,15 +0,0 @@
1
- import type { PropsWithChildren } from 'react';
2
- import { memo } from 'react';
3
-
4
- /**
5
- * A memoized component that conditionally removes its children from the DOM if the `when` prop is `true`.
6
- */
7
- export const RemoveFromDOM = memo<
8
- PropsWithChildren<{
9
- /**
10
- * An optional condition that determines whether the children should be removed from the DOM. If `true`, the children will be removed.
11
- * @default true
12
- */
13
- when: boolean;
14
- }>
15
- >(({ when, children }) => (when ? <></> : children));
@@ -1,15 +0,0 @@
1
- import type { PropsWithChildren } from 'react';
2
- import { memo } from 'react';
3
- import type { TextElement, TextProps } from '../text';
4
- import { Text } from '../text';
5
-
6
- /**
7
- * A memoized component that renders its children as a {@link Text} component if `children` is just a string.
8
- */
9
- export const TextWhenString = memo<PropsWithChildren<TextProps<TextElement>>>(({ children, ...props }) => {
10
- if (typeof children === 'string' || typeof children === 'number') {
11
- return <Text {...props}>{children}</Text>;
12
- }
13
-
14
- return <>{children}</>;
15
- });
@@ -1,96 +0,0 @@
1
- import { render, screen } from '../../test/render';
2
- import { RemoveFromDOM } from './RemoveFromDOM';
3
- import { TextWhenString } from './TextWhenString';
4
- import { VisuallyHidden } from './VisuallyHidden';
5
-
6
- describe('RemoveFromDOM', () => {
7
- it('renders children when `when` is false', () => {
8
- render(
9
- <RemoveFromDOM when={false}>
10
- <span>visible child</span>
11
- </RemoveFromDOM>,
12
- );
13
- expect(screen.getByText('visible child')).toBeInTheDocument();
14
- });
15
-
16
- it('removes children from the DOM when `when` is true', () => {
17
- render(
18
- <RemoveFromDOM when={true}>
19
- <span>hidden child</span>
20
- </RemoveFromDOM>,
21
- );
22
- expect(screen.queryByText('hidden child')).not.toBeInTheDocument();
23
- });
24
-
25
- it('toggles visibility when `when` prop changes', () => {
26
- const { rerender } = render(
27
- <RemoveFromDOM when={false}>
28
- <span>toggle me</span>
29
- </RemoveFromDOM>,
30
- );
31
- expect(screen.getByText('toggle me')).toBeInTheDocument();
32
-
33
- rerender(
34
- <RemoveFromDOM when={true}>
35
- <span>toggle me</span>
36
- </RemoveFromDOM>,
37
- );
38
- expect(screen.queryByText('toggle me')).not.toBeInTheDocument();
39
- });
40
- });
41
-
42
- describe('TextWhenString', () => {
43
- it('wraps string children in a Text component', () => {
44
- render(<TextWhenString as="span">hello world</TextWhenString>);
45
- const el = screen.getByText('hello world');
46
- expect(el).toBeInTheDocument();
47
- expect(el.tagName).toBe('SPAN');
48
- });
49
-
50
- it('wraps numeric children in a Text component', () => {
51
- render(<TextWhenString as="span">{42}</TextWhenString>);
52
- expect(screen.getByText('42')).toBeInTheDocument();
53
- });
54
-
55
- it('passes ReactNode children through without wrapping', () => {
56
- render(
57
- <TextWhenString as="span">
58
- <div data-testid="passthrough">node child</div>
59
- </TextWhenString>,
60
- );
61
- const el = screen.getByTestId('passthrough');
62
- expect(el).toBeInTheDocument();
63
- expect(el.tagName).toBe('DIV');
64
- });
65
- });
66
-
67
- describe('VisuallyHidden', () => {
68
- it('visually hides children when `when` is true (default)', () => {
69
- render(
70
- <VisuallyHidden>
71
- <span>hidden text</span>
72
- </VisuallyHidden>,
73
- );
74
- expect(screen.getByText('hidden text')).toBeInTheDocument();
75
- });
76
-
77
- it('renders children normally when `when` is false', () => {
78
- render(
79
- <VisuallyHidden when={false}>
80
- <span data-testid="normal">visible text</span>
81
- </VisuallyHidden>,
82
- );
83
- const el = screen.getByTestId('normal');
84
- expect(el).toBeInTheDocument();
85
- expect(el.tagName).toBe('SPAN');
86
- });
87
-
88
- it('visually hides children when `when` is explicitly true', () => {
89
- render(
90
- <VisuallyHidden when={true}>
91
- <span>explicitly hidden</span>
92
- </VisuallyHidden>,
93
- );
94
- expect(screen.getByText('explicitly hidden')).toBeInTheDocument();
95
- });
96
- });
@@ -1,18 +0,0 @@
1
- import { VisuallyHidden as AriaVisuallyHidden } from '@ariakit/react';
2
- import type { PropsWithChildren } from 'react';
3
- import { memo } from 'react';
4
-
5
- /**
6
- * A memoized component that visually hides its children, but keeps them accessible to screen readers.
7
- *
8
- * Specify the `when` prop to conditionally render the children normally.
9
- */
10
- export const VisuallyHidden = memo<
11
- PropsWithChildren<{
12
- /**
13
- * An optional condition that determines whether the children should be hidden. If `false`, the children will be rendered normally.
14
- * @default true
15
- */
16
- when?: boolean;
17
- }>
18
- >(({ when = true, children }) => (when ? <AriaVisuallyHidden>{children}</AriaVisuallyHidden> : children));