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,145 +0,0 @@
1
- import { clsx } from 'clsx';
2
- import type React from 'react';
3
- import type { ComponentPropsWithoutRef, FC, PropsWithChildren } from 'react';
4
- import styles from '../input/Input.module.scss';
5
- import type { TextProps } from '../text';
6
- import { Text } from '../text';
7
-
8
- export type FieldProps = {
9
- /**
10
- * The ID of the child input.
11
- */
12
- htmlFor?: string;
13
- /**
14
- * A label for the field. Can be visually hidden using the `hideLabel` prop.
15
- */
16
- label?: React.ReactNode;
17
- /**
18
- * Visually hide the label (while keeping it accessible to screen readers).
19
- * @default false
20
- */
21
- hideLabel?: boolean;
22
- /**
23
- * A description of the field. Can be visually hidden using the `hideDescription` prop.
24
- */
25
- description?: React.ReactNode;
26
- /**
27
- * Visually hide the description while keeping it accessible to screen readers.
28
- * @default false
29
- */
30
- hideDescription?: boolean;
31
- /**
32
- * Disables the field, disallowing user interaction.
33
- */
34
- disabled?: boolean;
35
- /**
36
- * Position of the description relative to the children/input.
37
- * @default 'bottom'
38
- */
39
- descriptionPosition?: 'top' | 'bottom';
40
- overrides?: {
41
- container?: ComponentPropsWithoutRef<'div'>;
42
- label?: TextProps<'label'>;
43
- description?: TextProps<'p'>;
44
- labelContainer?: ComponentPropsWithoutRef<'div'>;
45
- };
46
- };
47
-
48
- /**
49
- * A Field component wraps a form input component with an accessible label and description.
50
- *
51
- * <hr />
52
- *
53
- * To use this component, import it as follows:
54
- *
55
- * ```js
56
- * import { Field } from 'paris/field';
57
- * ```
58
- * @constructor
59
- */
60
- export const Field: FC<PropsWithChildren<FieldProps>> = ({
61
- htmlFor,
62
- disabled,
63
- descriptionPosition = 'bottom',
64
- children,
65
- // className,
66
- ...props
67
- }) => {
68
- const label =
69
- typeof props.label === 'string' ? (
70
- <Text
71
- {...props.overrides?.label}
72
- as="label"
73
- kind="paragraphSmall"
74
- htmlFor={htmlFor}
75
- className={clsx(styles.label, { [styles.hidden]: props.hideLabel })}
76
- >
77
- {props.label}
78
- </Text>
79
- ) : (
80
- <label htmlFor={htmlFor} className={clsx(styles.label, { [styles.hidden]: props.hideLabel })}>
81
- {props.label}
82
- </label>
83
- );
84
-
85
- const description =
86
- typeof props.description === 'string' ? (
87
- <Text
88
- id={`${htmlFor}-description`}
89
- {...props.overrides?.description}
90
- as="p"
91
- kind="paragraphXSmall"
92
- className={clsx(
93
- styles.description,
94
- { [styles.hidden]: !props.description || props.hideDescription },
95
- props.overrides?.description?.className,
96
- )}
97
- >
98
- {props.description}
99
- </Text>
100
- ) : (
101
- <div
102
- id={`${htmlFor}-description`}
103
- className={clsx({ [styles.hidden]: !props.description || props.hideDescription })}
104
- >
105
- {props.description}
106
- </div>
107
- );
108
-
109
- return (
110
- // Disable a11y rules because the container doesn't need to be focusable for screen readers; the input itself should receive focus instead.
111
- // The container is only made clickable for usability purposes.
112
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
113
- <div
114
- {...props.overrides?.container}
115
- className={clsx(
116
- props.overrides?.container?.className,
117
- styles.container,
118
- // className,
119
- )}
120
- onClick={(e) => {
121
- if (typeof window !== 'undefined' && htmlFor) {
122
- const input = document.getElementById(htmlFor);
123
- if (input && !disabled && !input.contains(e.target as Node)) {
124
- if (input.tagName === 'BUTTON') input.click();
125
- else input.focus();
126
- }
127
- }
128
- }}
129
- >
130
- {descriptionPosition === 'top' ? (
131
- <div
132
- {...props.overrides?.labelContainer}
133
- className={clsx(styles.labelContainer, props.overrides?.labelContainer?.className)}
134
- >
135
- {label}
136
- {description}
137
- </div>
138
- ) : (
139
- label
140
- )}
141
- {children}
142
- {descriptionPosition === 'bottom' ? description : <></>}
143
- </div>
144
- );
145
- };
@@ -1,11 +0,0 @@
1
- import { memo } from 'react';
2
- import type { IconDefinition } from './Icon';
3
-
4
- export const ArrowRight: IconDefinition = memo(({ size }) => (
5
- <svg width={size} height={size} viewBox="0 0 448 512" fill="none" xmlns="http://www.w3.org/2000/svg">
6
- <path
7
- d="M440.6 273.4c4.7-4.5 7.4-10.8 7.4-17.4s-2.7-12.8-7.4-17.4l-176-168c-9.6-9.2-24.8-8.8-33.9 .8s-8.8 24.8 .8 33.9L364.1 232 24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l340.1 0L231.4 406.6c-9.6 9.2-9.9 24.3-.8 33.9s24.3 9.9 33.9 .8l176-168z"
8
- fill="currentColor"
9
- />
10
- </svg>
11
- ));
@@ -1,11 +0,0 @@
1
- import { memo } from 'react';
2
- import type { IconDefinition } from './Icon';
3
-
4
- export const Check: IconDefinition = memo(({ size }) => (
5
- <svg width={size} height={size} viewBox="0 0 448 512" fill="none" xmlns="http://www.w3.org/2000/svg">
6
- <path
7
- d="M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z"
8
- fill="currentColor"
9
- />
10
- </svg>
11
- ));
@@ -1,11 +0,0 @@
1
- import { memo } from 'react';
2
- import type { IconDefinition } from './Icon';
3
-
4
- export const ChevronLeft: IconDefinition = memo(({ size }) => (
5
- <svg width={size} height={size} viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
- <path
7
- d="M5.46875 9.46875L11.4688 3.5C11.75 3.1875 12.2188 3.1875 12.5312 3.5C12.8125 3.78125 12.8125 4.25 12.5312 4.53125L7.03125 10L12.5 15.5C12.8125 15.7812 12.8125 16.25 12.5 16.5312C12.2188 16.8438 11.75 16.8438 11.4688 16.5312L5.46875 10.5312C5.15625 10.25 5.15625 9.78125 5.46875 9.46875Z"
8
- fill="currentColor"
9
- />
10
- </svg>
11
- ));
@@ -1,11 +0,0 @@
1
- import { memo } from 'react';
2
- import type { IconDefinition } from './Icon';
3
-
4
- export const ChevronRight: IconDefinition = memo(({ size }) => (
5
- <svg width={size} height={size} viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
- <path
7
- d="M14.5312 9.46875C14.8125 9.78125 14.8125 10.25 14.5312 10.5312L8.53125 16.5312C8.21875 16.8438 7.75 16.8438 7.46875 16.5312C7.15625 16.25 7.15625 15.7812 7.46875 15.5L12.9375 10.0312L7.46875 4.53125C7.15625 4.25 7.15625 3.78125 7.46875 3.5C7.75 3.1875 8.21875 3.1875 8.5 3.5L14.5312 9.46875Z"
8
- fill="currentColor"
9
- />
10
- </svg>
11
- ));
@@ -1,11 +0,0 @@
1
- import { memo } from 'react';
2
- import type { IconDefinition } from './Icon';
3
-
4
- export const Close: IconDefinition = memo(({ size }) => (
5
- <svg width={size} height={size} viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
- <path
7
- d="M14.7812 6.28125L11.0312 10.0312L14.75 13.75C15.0625 14.0312 15.0625 14.5 14.75 14.7812C14.4688 15.0938 14 15.0938 13.7188 14.7812L9.96875 11.0625L6.25 14.7812C5.96875 15.0938 5.5 15.0938 5.21875 14.7812C4.90625 14.5 4.90625 14.0312 5.21875 13.7188L8.9375 10L5.21875 6.28125C4.90625 6 4.90625 5.53125 5.21875 5.21875C5.5 4.9375 5.96875 4.9375 6.28125 5.21875L10 8.96875L13.7188 5.25C14 4.9375 14.4688 4.9375 14.7812 5.25C15.0625 5.53125 15.0625 6 14.7812 6.28125Z"
8
- fill="currentColor"
9
- />
10
- </svg>
11
- ));
@@ -1,11 +0,0 @@
1
- import { memo } from 'react';
2
- import type { IconDefinition } from './Icon';
3
-
4
- export const Ellipsis: IconDefinition = memo(({ size }) => (
5
- <svg width={size} height={size} viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
- <path
7
- d="M13.5 10C13.5 9.1875 14.1562 8.5 15 8.5C15.8125 8.5 16.5 9.1875 16.5 10C16.5 10.8438 15.8125 11.5 15 11.5C14.1562 11.5 13.5 10.8438 13.5 10ZM8.5 10C8.5 9.1875 9.15625 8.5 10 8.5C10.8125 8.5 11.5 9.1875 11.5 10C11.5 10.8438 10.8125 11.5 10 11.5C9.15625 11.5 8.5 10.8438 8.5 10ZM6.5 10C6.5 10.8438 5.8125 11.5 5 11.5C4.15625 11.5 3.5 10.8438 3.5 10C3.5 9.1875 4.15625 8.5 5 8.5C5.8125 8.5 6.5 9.1875 6.5 10Z"
8
- fill="currentColor"
9
- />
10
- </svg>
11
- ));
@@ -1,5 +0,0 @@
1
- .content {
2
- background-color: pink;
3
- color: white;
4
- height: 2rem;
5
- }
@@ -1,33 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/nextjs-vite';
2
- import { pvar } from '../theme';
3
- import type { IconDefinition } from './Icon';
4
- import { Icon } from './Icon';
5
- import * as Icons from './index';
6
-
7
- const meta: Meta<typeof Icon> = {
8
- title: 'Content/Icon',
9
- component: Icon,
10
- tags: ['autodocs'],
11
- };
12
-
13
- export default meta;
14
- type Story = StoryObj<typeof Icon>;
15
-
16
- const getArgs = (icon: IconDefinition): Story => ({
17
- args: {
18
- icon,
19
- size: 20,
20
- style: {
21
- color: pvar('new.colors.contentPrimary'),
22
- },
23
- },
24
- });
25
-
26
- export const Close: Story = getArgs(Icons.Close);
27
- export const ChevronLeft: Story = getArgs(Icons.ChevronLeft);
28
- export const ChevronRight: Story = getArgs(Icons.ChevronRight);
29
- export const Ellipsis: Story = getArgs(Icons.Ellipsis);
30
- export const NotificationDot: Story = getArgs(Icons.NotificationDot);
31
- export const Spinner: Story = getArgs(Icons.Spinner);
32
- export const Check: Story = getArgs(Icons.Check);
33
- export const ArrowRight: Story = getArgs(Icons.ArrowRight);
@@ -1,59 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { render, screen } from '../../test/render';
3
- import { Close } from './Close';
4
- import { Icon } from './Icon';
5
-
6
- describe('Icon', () => {
7
- it('renders with the icon prop', () => {
8
- render(<Icon icon={Close} size={20} data-testid="icon" />);
9
- const el = screen.getByTestId('icon');
10
- expect(el).toBeInTheDocument();
11
- });
12
-
13
- it('renders as a span by default', () => {
14
- render(<Icon icon={Close} size={20} data-testid="icon-span" />);
15
- const el = screen.getByTestId('icon-span');
16
- expect(el.tagName).toBe('SPAN');
17
- });
18
-
19
- it('renders as a different element via the as prop', () => {
20
- render(<Icon icon={Close} size={20} as="div" data-testid="icon-div" />);
21
- const el = screen.getByTestId('icon-div');
22
- expect(el.tagName).toBe('DIV');
23
- });
24
-
25
- it('renders the SVG icon inside', () => {
26
- render(<Icon icon={Close} size={20} data-testid="icon-svg" />);
27
- const el = screen.getByTestId('icon-svg');
28
- const svg = el.querySelector('svg');
29
- expect(svg).toBeInTheDocument();
30
- });
31
-
32
- it('passes size to the icon definition', () => {
33
- render(<Icon icon={Close} size={24} data-testid="icon-sized" />);
34
- const el = screen.getByTestId('icon-sized');
35
- const svg = el.querySelector('svg');
36
- expect(svg?.getAttribute('width')).toBe('24');
37
- expect(svg?.getAttribute('height')).toBe('24');
38
- });
39
-
40
- it('forwards className prop', () => {
41
- render(<Icon icon={Close} size={20} className="custom-icon" data-testid="icon-class" />);
42
- const el = screen.getByTestId('icon-class');
43
- expect(el.className).toContain('custom-icon');
44
- });
45
-
46
- it('forwards additional HTML props', () => {
47
- render(<Icon icon={Close} size={20} id="my-icon" data-testid="icon-props" />);
48
- const el = screen.getByTestId('icon-props');
49
- expect(el.id).toBe('my-icon');
50
- });
51
-
52
- it('renders correctly with overrides prop', () => {
53
- render(<Icon icon={Close} size={16} overrides={{ icon: {} }} data-testid="icon-overrides" />);
54
- const el = screen.getByTestId('icon-overrides');
55
- const svg = el.querySelector('svg');
56
- expect(svg).toBeInTheDocument();
57
- expect(svg?.getAttribute('width')).toBe('16');
58
- });
59
- });
@@ -1,11 +0,0 @@
1
- import { memo } from 'react';
2
- import type { IconDefinition } from './Icon';
3
-
4
- export const Info: IconDefinition = memo(({ size }) => (
5
- <svg width={size} height={size} viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
6
- <path
7
- d="M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"
8
- fill="currentColor"
9
- />
10
- </svg>
11
- ));
@@ -1,8 +0,0 @@
1
- import { memo } from 'react';
2
- import type { IconDefinition } from './Icon';
3
-
4
- export const NotificationDot: IconDefinition = memo(({ size }) => (
5
- <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 8 8" fill="none">
6
- <circle cx="4" cy="4" r="3.5" fill="#1DEECD" stroke="#8EF7E6" />
7
- </svg>
8
- ));
@@ -1,17 +0,0 @@
1
- import { memo } from 'react';
2
- import type { IconDefinition } from './Icon';
3
-
4
- export const Spinner: IconDefinition = memo(({ size }) => (
5
- <svg width={size} height={size} viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
6
- <style
7
- dangerouslySetInnerHTML={{
8
- __html: '.spinner_ajPY{transform-origin:center;animation:spinner_AtaB .75s infinite linear}@keyframes spinner_AtaB{100%{transform:rotate(360deg)}}',
9
- }}
10
- />
11
- <path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25" />
12
- <path
13
- d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
14
- className="spinner_ajPY"
15
- />
16
- </svg>
17
- ));
@@ -1,23 +0,0 @@
1
- .tooltip {
2
- background-color: var(--pte-new-colors-surfacePrimary);
3
- border-radius: var(--pte-new-borders-radius-rounded);
4
- box-shadow: var(--pte-new-lighting-deepBelow);
5
- display: flex;
6
- flex-direction: column;
7
- justify-content: center;
8
- gap: 6px;
9
- width: 280px;
10
- padding: 12px 14px;
11
- color: var(--pte-new-colors-contentTertiary);
12
-
13
- &.medium {
14
- width: 240px;
15
- }
16
- }
17
-
18
- .heading {
19
- color: var(--pte-new-colors-contentSecondary);
20
- display: flex;
21
- align-items: center;
22
- gap: 8px;
23
- }
@@ -1,61 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/nextjs-vite';
2
- import { createElement } from 'react';
3
- import { InformationalTooltip } from './InformationalTooltip';
4
-
5
- const meta: Meta<typeof InformationalTooltip> = {
6
- title: 'Surfaces/InformationalTooltip',
7
- component: InformationalTooltip,
8
- tags: ['autodocs'],
9
- };
10
-
11
- export default meta;
12
- type Story = StoryObj<typeof InformationalTooltip>;
13
-
14
- const render: Story['render'] = (args) =>
15
- createElement(
16
- 'div',
17
- {
18
- style: { minHeight: '200px' },
19
- },
20
- createElement(InformationalTooltip, {
21
- ...args,
22
- }),
23
- );
24
-
25
- export const Default: Story = {
26
- args: {
27
- children:
28
- 'If you are being paid on 1099s (through transfer outs) you need to pay taxes quarterly. The amount you pay each quarter is a portion of your estimated tax burden for the year, based on your anticipated income amount. If you over/underpay, you will be refunded/owe the difference at the end of the year. ',
29
- heading: 'Quarterly taxes',
30
- },
31
- render,
32
- };
33
-
34
- export const Medium: Story = {
35
- args: {
36
- children: 'This is a medium tooltip with no heading',
37
- size: 'medium',
38
- },
39
- render,
40
- };
41
-
42
- export const CustomTrigger: Story = {
43
- args: {
44
- children: 'With some text below',
45
- heading: 'Another info tooltip',
46
- size: 'medium',
47
- trigger: <div>This is a custom trigger</div>,
48
- },
49
- render,
50
- };
51
-
52
- export const CustomAlign: Story = {
53
- args: {
54
- children: 'With some text below',
55
- heading: 'Another info tooltip',
56
- size: 'medium',
57
- align: 'end',
58
- trigger: <div>This tooltip below is set to align = `end`</div>,
59
- },
60
- render,
61
- };
@@ -1,178 +0,0 @@
1
- import { render, screen, waitFor } from '../../test/render';
2
- import { InformationalTooltip } from './InformationalTooltip';
3
-
4
- // Mock pget to return a valid CSS time value for animation duration
5
- vi.mock('../theme', () => ({
6
- pvar: (path: string) => `var(--pte-${path.replace(/\./g, '-')})`,
7
- pget: () => '100ms',
8
- }));
9
-
10
- /**
11
- * Radix Tooltip duplicates content inside a visually-hidden `role="tooltip"` span
12
- * for screen readers. This helper queries the *visible* tooltip content element,
13
- * excluding the hidden aria-describedby clone.
14
- */
15
- function getVisibleTooltipContent(): HTMLElement | null {
16
- const wrapper = document.querySelector('[data-radix-popper-content-wrapper]');
17
- if (!wrapper) return null;
18
- // The direct child with data-side is the visible tooltip content
19
- return wrapper.querySelector(':scope > [data-side]');
20
- }
21
-
22
- describe('InformationalTooltip', () => {
23
- it('renders the default trigger icon', () => {
24
- render(<InformationalTooltip>Tooltip content</InformationalTooltip>);
25
- const trigger = screen.getByRole('button');
26
- expect(trigger).toBeInTheDocument();
27
- });
28
-
29
- it('renders a custom trigger', () => {
30
- render(
31
- <InformationalTooltip trigger={<span data-testid="custom-trigger">?</span>}>
32
- Tooltip body
33
- </InformationalTooltip>,
34
- );
35
- expect(screen.getByTestId('custom-trigger')).toBeInTheDocument();
36
- });
37
-
38
- it('shows tooltip content on hover', async () => {
39
- const { user } = render(<InformationalTooltip>Hover content</InformationalTooltip>);
40
-
41
- const trigger = screen.getByRole('button');
42
- await user.hover(trigger);
43
-
44
- await waitFor(() => {
45
- const tooltip = getVisibleTooltipContent();
46
- expect(tooltip).toBeInTheDocument();
47
- expect(tooltip).toHaveTextContent('Hover content');
48
- });
49
- });
50
-
51
- it('does not show tooltip when closed', () => {
52
- render(<InformationalTooltip>Hidden content</InformationalTooltip>);
53
- expect(getVisibleTooltipContent()).not.toBeInTheDocument();
54
- });
55
-
56
- it('renders with a heading when provided', async () => {
57
- const { user } = render(<InformationalTooltip heading="Info Title">Body text</InformationalTooltip>);
58
-
59
- const trigger = screen.getByRole('button');
60
- await user.hover(trigger);
61
-
62
- await waitFor(() => {
63
- const tooltip = getVisibleTooltipContent();
64
- expect(tooltip).toHaveTextContent('Info Title');
65
- expect(tooltip).toHaveTextContent('Body text');
66
- });
67
- });
68
-
69
- it('does not render heading when heading is null', async () => {
70
- const { user } = render(<InformationalTooltip heading={null}>Only body</InformationalTooltip>);
71
-
72
- const trigger = screen.getByRole('button');
73
- await user.hover(trigger);
74
-
75
- await waitFor(() => {
76
- const tooltip = getVisibleTooltipContent();
77
- expect(tooltip).toHaveTextContent('Only body');
78
- });
79
-
80
- const headingEl = getVisibleTooltipContent()?.querySelector('[class*="heading"]');
81
- expect(headingEl).toBeNull();
82
- });
83
-
84
- it('opens on click by default', async () => {
85
- const { user } = render(<InformationalTooltip>Click content</InformationalTooltip>);
86
-
87
- const trigger = screen.getByRole('button');
88
- await user.click(trigger);
89
-
90
- await waitFor(() => {
91
- const tooltip = getVisibleTooltipContent();
92
- expect(tooltip).toBeInTheDocument();
93
- expect(tooltip).toHaveTextContent('Click content');
94
- });
95
- });
96
-
97
- it('does not open on click when disableClick is true', async () => {
98
- const { user } = render(<InformationalTooltip disableClick>No click</InformationalTooltip>);
99
-
100
- const trigger = screen.getByRole('button');
101
- await user.click(trigger);
102
-
103
- expect(getVisibleTooltipContent()).not.toBeInTheDocument();
104
- });
105
-
106
- it('renders open by default when defaultOpen is true', async () => {
107
- render(<InformationalTooltip defaultOpen>Default open content</InformationalTooltip>);
108
-
109
- await waitFor(() => {
110
- const tooltip = getVisibleTooltipContent();
111
- expect(tooltip).toBeInTheDocument();
112
- expect(tooltip).toHaveTextContent('Default open content');
113
- });
114
- });
115
-
116
- it('applies the medium size class', async () => {
117
- const { user } = render(<InformationalTooltip size="medium">Medium tip</InformationalTooltip>);
118
-
119
- const trigger = screen.getByRole('button');
120
- await user.hover(trigger);
121
-
122
- await waitFor(() => {
123
- const tooltip = getVisibleTooltipContent();
124
- expect(tooltip).toHaveClass('medium');
125
- });
126
- });
127
-
128
- it('applies the large size class by default', async () => {
129
- const { user } = render(<InformationalTooltip>Large tip</InformationalTooltip>);
130
-
131
- const trigger = screen.getByRole('button');
132
- await user.hover(trigger);
133
-
134
- await waitFor(() => {
135
- const tooltip = getVisibleTooltipContent();
136
- expect(tooltip).toHaveClass('large');
137
- });
138
- });
139
-
140
- it('accepts override props for the tooltip element', async () => {
141
- render(
142
- <InformationalTooltip
143
- defaultOpen
144
- overrides={{
145
- tooltip: { 'data-testid': 'overridden-tooltip' } as any,
146
- }}
147
- >
148
- Overridden
149
- </InformationalTooltip>,
150
- );
151
-
152
- await waitFor(() => {
153
- const tooltip = getVisibleTooltipContent();
154
- expect(tooltip).toHaveAttribute('data-testid', 'overridden-tooltip');
155
- });
156
- });
157
-
158
- it('accepts override props for the heading element', async () => {
159
- render(
160
- <InformationalTooltip
161
- defaultOpen
162
- heading="Title"
163
- overrides={{
164
- heading: { 'data-testid': 'overridden-heading' },
165
- }}
166
- >
167
- Body
168
- </InformationalTooltip>,
169
- );
170
-
171
- await waitFor(() => {
172
- const tooltip = getVisibleTooltipContent();
173
- // Query only direct children to avoid the duplicated aria-describedby copy
174
- const heading = tooltip?.querySelector(':scope > [data-testid="overridden-heading"]');
175
- expect(heading).toBeInTheDocument();
176
- });
177
- });
178
- });