@crystallize/design-system 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/dist/TableComponent-I2YOOYOU.css +281 -0
  3. package/dist/TableComponent-QINOO453.mjs +1377 -0
  4. package/dist/arrow-clockwise-Z2G6UEGP.svg +1 -0
  5. package/dist/arrow-counterclockwise-2O5EYVJT.svg +1 -0
  6. package/dist/bg-color-HB2WDYGO.svg +1 -0
  7. package/dist/camera-CR7D2PNH.svg +1 -0
  8. package/dist/caret-right-fill-FFBNEXVX.svg +1 -0
  9. package/dist/chat-square-quote-CI6PUJHH.svg +1 -0
  10. package/dist/chevron-down-3FRWSIKS.svg +1 -0
  11. package/dist/chunk-VUXQZRSP.mjs +737 -0
  12. package/dist/clipboard-OSEFDF25.svg +1 -0
  13. package/dist/close-FH57ZMJF.svg +1 -0
  14. package/dist/code-SEVR6TIQ.svg +1 -0
  15. package/dist/copy-DMGDODUL.svg +1 -0
  16. package/dist/diagram-2-CEJUD2B4.svg +1 -0
  17. package/dist/download-JXUGIUCX.svg +1 -0
  18. package/dist/draggable-block-menu-KKHDNKJA.svg +1 -0
  19. package/dist/dropdown-more-BHZ5COKX.svg +1 -0
  20. package/dist/file-image-TIQPFJX4.svg +1 -0
  21. package/dist/filetype-gif-OG2BEYYK.svg +1 -0
  22. package/dist/font-color-J4GA3ZJO.svg +1 -0
  23. package/dist/font-family-ZU5N6TTE.svg +1 -0
  24. package/dist/gear-ICMT4NTP.svg +1 -0
  25. package/dist/horizontal-rule-N6RD2V7H.svg +1 -0
  26. package/dist/indent-MJ6JIMCK.svg +1 -0
  27. package/dist/index.css +4209 -0
  28. package/dist/index.d.ts +450 -3
  29. package/dist/index.js +11526 -5
  30. package/dist/index.mjs +9437 -0
  31. package/dist/journal-code-XUT44HDV.svg +1 -0
  32. package/dist/justify-J7X5JEEX.svg +1 -0
  33. package/dist/link-W52N4JKZ.svg +1 -0
  34. package/dist/list-ol-2ZEUN4Z7.svg +1 -0
  35. package/dist/list-ul-DVKNUP47.svg +1 -0
  36. package/dist/lock-WCYOZOHW.svg +1 -0
  37. package/dist/lock-fill-JZSKOSHK.svg +1 -0
  38. package/dist/markdown-4BGQNLLT.svg +1 -0
  39. package/dist/mic-H5FNOMM7.svg +1 -0
  40. package/dist/outdent-2LUMUMIP.svg +1 -0
  41. package/dist/paint-bucket-VCISMZTH.svg +1 -0
  42. package/dist/palette-SWGFPRWZ.svg +1 -0
  43. package/dist/pencil-fill-STFSC26F.svg +1 -0
  44. package/dist/plug-HGGGEVS3.svg +1 -0
  45. package/dist/plug-fill-OTG3U4TN.svg +1 -0
  46. package/dist/plus-CQISIKEC.svg +1 -0
  47. package/dist/plus-slash-minus-N22JU4TI.svg +1 -0
  48. package/dist/prettier-WUJ7B5NV.svg +1 -0
  49. package/dist/prettier-error-DYJSLYDP.svg +1 -0
  50. package/dist/square-check-UTG6FU6D.svg +1 -0
  51. package/dist/success-YVXUMPEZ.svg +1 -0
  52. package/dist/table-BR6DI4ZQ.svg +1 -0
  53. package/dist/text-center-UQI6PAEF.svg +1 -0
  54. package/dist/text-left-KT2B6TR3.svg +1 -0
  55. package/dist/text-paragraph-MFTUIIQG.svg +1 -0
  56. package/dist/text-right-SKELPISG.svg +1 -0
  57. package/dist/trash-UOM6D7TD.svg +1 -0
  58. package/dist/type-bold-PY7COC3N.svg +1 -0
  59. package/dist/type-h1-6KJP7YOM.svg +1 -0
  60. package/dist/type-h2-VHI2USC3.svg +1 -0
  61. package/dist/type-h3-JIU77CHO.svg +1 -0
  62. package/dist/type-h4-P5EHKDAL.svg +1 -0
  63. package/dist/type-h5-CS2KYVRG.svg +1 -0
  64. package/dist/type-h6-J2O74LJZ.svg +1 -0
  65. package/dist/type-italic-3DSFOSG2.svg +1 -0
  66. package/dist/type-strikethrough-E2KKQFSX.svg +1 -0
  67. package/dist/type-subscript-BMPTRIBU.svg +1 -0
  68. package/dist/type-superscript-EDF6EPAA.svg +1 -0
  69. package/dist/type-underline-CBFA5VLF.svg +1 -0
  70. package/dist/upload-Q6KICGZW.svg +1 -0
  71. package/dist/user-EOI2NEFZ.svg +1 -0
  72. package/package.json +114 -79
  73. package/readme.md +9 -0
  74. package/src/action-menu/ActionMenu.stories.tsx +25 -0
  75. package/src/action-menu/action-item.tsx +16 -0
  76. package/src/action-menu/action-menu.css +38 -0
  77. package/src/action-menu/action-menu.tsx +25 -0
  78. package/src/action-menu/index.tsx +3 -0
  79. package/src/avatar/Avatar.stories.tsx +20 -0
  80. package/src/avatar/avatar.css +23 -0
  81. package/src/avatar/avatar.tsx +34 -0
  82. package/src/avatar/get-initials.ts +5 -0
  83. package/src/avatar/index.ts +1 -0
  84. package/src/button/Button.stories.tsx +105 -0
  85. package/src/button/button.css +116 -0
  86. package/src/button/button.tsx +136 -0
  87. package/src/button/index.ts +3 -0
  88. package/src/card/card.css +7 -0
  89. package/src/card/card.stories.tsx +24 -0
  90. package/src/card/card.tsx +27 -0
  91. package/src/card/index.ts +3 -0
  92. package/src/checkbox/checkbox.css +30 -0
  93. package/src/checkbox/checkbox.stories.tsx +62 -0
  94. package/src/checkbox/checkbox.test.tsx +16 -0
  95. package/src/checkbox/checkbox.tsx +28 -0
  96. package/src/checkbox/index.ts +1 -0
  97. package/src/colors/Colors.stories.tsx +127 -0
  98. package/src/colors/color-defaults.json +15 -0
  99. package/src/colors/color-pairing.json +12 -0
  100. package/src/colors/colors.json +158 -0
  101. package/src/colors/index.ts +1 -0
  102. package/src/colors/old-to-new.txt +19 -0
  103. package/src/colors/types.ts +29 -0
  104. package/src/dialog/Dialog.stories.tsx +168 -0
  105. package/src/dialog/Dialog.test.tsx +25 -0
  106. package/src/dialog/config.tsx +139 -0
  107. package/src/dialog/confirm-dialog.tsx +70 -0
  108. package/src/dialog/destroyFns.ts +1 -0
  109. package/src/dialog/dialog.css +27 -0
  110. package/src/dialog/dialog.tsx +95 -0
  111. package/src/dialog/index.tsx +40 -0
  112. package/src/dialog/types.ts +70 -0
  113. package/src/dropdown-menu/DropdownMenu.stories.tsx +38 -0
  114. package/src/dropdown-menu/dropdown-menu-item.tsx +15 -0
  115. package/src/dropdown-menu/dropdown-menu-label.tsx +10 -0
  116. package/src/dropdown-menu/dropdown-menu-root.tsx +33 -0
  117. package/src/dropdown-menu/dropdown-menu.css +20 -0
  118. package/src/dropdown-menu/index.ts +11 -0
  119. package/src/icon-button/IconButton.stories.tsx +45 -0
  120. package/src/icon-button/icon-button.css +50 -0
  121. package/src/icon-button/icon-button.tsx +39 -0
  122. package/src/icon-button/index.ts +3 -0
  123. package/src/iconography/Icon.stories.tsx +47 -0
  124. package/src/iconography/add.tsx +30 -0
  125. package/src/iconography/arrow.tsx +15 -0
  126. package/src/iconography/atom.tsx +59 -0
  127. package/src/iconography/cancel.tsx +26 -0
  128. package/src/iconography/catalogue.tsx +26 -0
  129. package/src/iconography/copy.tsx +24 -0
  130. package/src/iconography/crystal.tsx +93 -0
  131. package/src/iconography/customers.tsx +38 -0
  132. package/src/iconography/edit.tsx +30 -0
  133. package/src/iconography/error.tsx +40 -0
  134. package/src/iconography/fulfilment.tsx +58 -0
  135. package/src/iconography/glasses.tsx +62 -0
  136. package/src/iconography/graphQL.tsx +90 -0
  137. package/src/iconography/grid.tsx +84 -0
  138. package/src/iconography/hooks.tsx +26 -0
  139. package/src/iconography/image.tsx +47 -0
  140. package/src/iconography/index.ts +63 -0
  141. package/src/iconography/info.tsx +41 -0
  142. package/src/iconography/key.tsx +19 -0
  143. package/src/iconography/language.tsx +38 -0
  144. package/src/iconography/nail-polish.tsx +84 -0
  145. package/src/iconography/order.tsx +38 -0
  146. package/src/iconography/particle.tsx +88 -0
  147. package/src/iconography/percentage.tsx +44 -0
  148. package/src/iconography/price-tag.tsx +40 -0
  149. package/src/iconography/shapes.tsx +48 -0
  150. package/src/iconography/subscription.tsx +34 -0
  151. package/src/iconography/topics.tsx +58 -0
  152. package/src/iconography/triangle.tsx +27 -0
  153. package/src/iconography/usage.tsx +34 -0
  154. package/src/iconography/users.tsx +44 -0
  155. package/src/iconography/warning.tsx +51 -0
  156. package/src/index.css +14 -0
  157. package/src/index.ts +33 -0
  158. package/src/inline-radio/index.ts +1 -0
  159. package/src/inline-radio/inline-radio.css +36 -0
  160. package/src/inline-radio/inline-radio.stories.tsx +81 -0
  161. package/src/inline-radio/inline-radio.tsx +41 -0
  162. package/src/input/Input.stories.tsx +26 -0
  163. package/src/input/index.ts +1 -0
  164. package/src/input/input.css +7 -0
  165. package/src/input/input.tsx +20 -0
  166. package/src/input-with-label/InputWithLabel.stories.tsx +98 -0
  167. package/src/input-with-label/index.ts +3 -0
  168. package/src/input-with-label/input-with-label.css +35 -0
  169. package/src/input-with-label/input-with-label.tsx +59 -0
  170. package/src/label/index.ts +1 -0
  171. package/src/label/label.css +3 -0
  172. package/src/label/label.stories.tsx +19 -0
  173. package/src/label/label.tsx +13 -0
  174. package/src/progress/Progress.stories.tsx +26 -0
  175. package/src/progress/index.ts +1 -0
  176. package/src/progress/progress.css +7 -0
  177. package/src/progress/progress.tsx +17 -0
  178. package/src/radio/index.ts +1 -0
  179. package/src/radio/radio.css +20 -0
  180. package/src/radio/radio.stories.tsx +142 -0
  181. package/src/radio/radio.tsx +19 -0
  182. package/src/rich-text-editor/appSettings.ts +28 -0
  183. package/src/rich-text-editor/context/SettingsContext.tsx +71 -0
  184. package/src/rich-text-editor/context/SharedAutocompleteContext.tsx +60 -0
  185. package/src/rich-text-editor/context/SharedHistoryContext.tsx +25 -0
  186. package/src/rich-text-editor/hooks/useReport.ts +64 -0
  187. package/src/rich-text-editor/images/cat-typing.gif +0 -0
  188. package/src/rich-text-editor/images/emoji/1F600.png +0 -0
  189. package/src/rich-text-editor/images/emoji/1F641.png +0 -0
  190. package/src/rich-text-editor/images/emoji/1F642.png +0 -0
  191. package/src/rich-text-editor/images/emoji/2764.png +0 -0
  192. package/src/rich-text-editor/images/emoji/LICENSE.md +5 -0
  193. package/src/rich-text-editor/images/icons/LICENSE.md +5 -0
  194. package/src/rich-text-editor/images/icons/arrow-clockwise.svg +1 -0
  195. package/src/rich-text-editor/images/icons/arrow-counterclockwise.svg +1 -0
  196. package/src/rich-text-editor/images/icons/bg-color.svg +1 -0
  197. package/src/rich-text-editor/images/icons/camera.svg +1 -0
  198. package/src/rich-text-editor/images/icons/card-checklist.svg +1 -0
  199. package/src/rich-text-editor/images/icons/caret-right-fill.svg +1 -0
  200. package/src/rich-text-editor/images/icons/chat-left-text.svg +1 -0
  201. package/src/rich-text-editor/images/icons/chat-right-dots.svg +1 -0
  202. package/src/rich-text-editor/images/icons/chat-right-text.svg +1 -0
  203. package/src/rich-text-editor/images/icons/chat-right.svg +1 -0
  204. package/src/rich-text-editor/images/icons/chat-square-quote.svg +1 -0
  205. package/src/rich-text-editor/images/icons/chevron-down.svg +1 -0
  206. package/src/rich-text-editor/images/icons/clipboard.svg +1 -0
  207. package/src/rich-text-editor/images/icons/close.svg +1 -0
  208. package/src/rich-text-editor/images/icons/code.svg +1 -0
  209. package/src/rich-text-editor/images/icons/comments.svg +1 -0
  210. package/src/rich-text-editor/images/icons/copy.svg +1 -0
  211. package/src/rich-text-editor/images/icons/diagram-2.svg +1 -0
  212. package/src/rich-text-editor/images/icons/download.svg +1 -0
  213. package/src/rich-text-editor/images/icons/draggable-block-menu.svg +1 -0
  214. package/src/rich-text-editor/images/icons/dropdown-more.svg +1 -0
  215. package/src/rich-text-editor/images/icons/figma.svg +1 -0
  216. package/src/rich-text-editor/images/icons/file-image.svg +1 -0
  217. package/src/rich-text-editor/images/icons/filetype-gif.svg +1 -0
  218. package/src/rich-text-editor/images/icons/font-color.svg +1 -0
  219. package/src/rich-text-editor/images/icons/font-family.svg +1 -0
  220. package/src/rich-text-editor/images/icons/gear.svg +1 -0
  221. package/src/rich-text-editor/images/icons/horizontal-rule.svg +1 -0
  222. package/src/rich-text-editor/images/icons/indent.svg +1 -0
  223. package/src/rich-text-editor/images/icons/journal-code.svg +1 -0
  224. package/src/rich-text-editor/images/icons/journal-text.svg +1 -0
  225. package/src/rich-text-editor/images/icons/justify.svg +1 -0
  226. package/src/rich-text-editor/images/icons/link.svg +1 -0
  227. package/src/rich-text-editor/images/icons/list-ol.svg +1 -0
  228. package/src/rich-text-editor/images/icons/list-ul.svg +1 -0
  229. package/src/rich-text-editor/images/icons/lock-fill.svg +1 -0
  230. package/src/rich-text-editor/images/icons/lock.svg +1 -0
  231. package/src/rich-text-editor/images/icons/markdown.svg +1 -0
  232. package/src/rich-text-editor/images/icons/mic.svg +1 -0
  233. package/src/rich-text-editor/images/icons/outdent.svg +1 -0
  234. package/src/rich-text-editor/images/icons/paint-bucket.svg +1 -0
  235. package/src/rich-text-editor/images/icons/palette.svg +1 -0
  236. package/src/rich-text-editor/images/icons/pencil-fill.svg +1 -0
  237. package/src/rich-text-editor/images/icons/plug-fill.svg +1 -0
  238. package/src/rich-text-editor/images/icons/plug.svg +1 -0
  239. package/src/rich-text-editor/images/icons/plus-slash-minus.svg +1 -0
  240. package/src/rich-text-editor/images/icons/plus.svg +1 -0
  241. package/src/rich-text-editor/images/icons/prettier-error.svg +1 -0
  242. package/src/rich-text-editor/images/icons/prettier.svg +1 -0
  243. package/src/rich-text-editor/images/icons/send.svg +1 -0
  244. package/src/rich-text-editor/images/icons/square-check.svg +1 -0
  245. package/src/rich-text-editor/images/icons/sticky.svg +1 -0
  246. package/src/rich-text-editor/images/icons/success.svg +1 -0
  247. package/src/rich-text-editor/images/icons/table.svg +1 -0
  248. package/src/rich-text-editor/images/icons/text-center.svg +1 -0
  249. package/src/rich-text-editor/images/icons/text-left.svg +1 -0
  250. package/src/rich-text-editor/images/icons/text-paragraph.svg +1 -0
  251. package/src/rich-text-editor/images/icons/text-right.svg +1 -0
  252. package/src/rich-text-editor/images/icons/trash.svg +1 -0
  253. package/src/rich-text-editor/images/icons/trash3.svg +1 -0
  254. package/src/rich-text-editor/images/icons/tweet.svg +1 -0
  255. package/src/rich-text-editor/images/icons/type-bold.svg +1 -0
  256. package/src/rich-text-editor/images/icons/type-h1.svg +1 -0
  257. package/src/rich-text-editor/images/icons/type-h2.svg +1 -0
  258. package/src/rich-text-editor/images/icons/type-h3.svg +1 -0
  259. package/src/rich-text-editor/images/icons/type-h4.svg +1 -0
  260. package/src/rich-text-editor/images/icons/type-h5.svg +1 -0
  261. package/src/rich-text-editor/images/icons/type-h6.svg +1 -0
  262. package/src/rich-text-editor/images/icons/type-italic.svg +1 -0
  263. package/src/rich-text-editor/images/icons/type-strikethrough.svg +1 -0
  264. package/src/rich-text-editor/images/icons/type-subscript.svg +1 -0
  265. package/src/rich-text-editor/images/icons/type-superscript.svg +1 -0
  266. package/src/rich-text-editor/images/icons/type-underline.svg +1 -0
  267. package/src/rich-text-editor/images/icons/upload.svg +1 -0
  268. package/src/rich-text-editor/images/icons/user.svg +1 -0
  269. package/src/rich-text-editor/images/icons/youtube.svg +1 -0
  270. package/src/rich-text-editor/images/image/LICENSE.md +5 -0
  271. package/src/rich-text-editor/images/landscape.jpg +0 -0
  272. package/src/rich-text-editor/images/logo.svg +1 -0
  273. package/src/rich-text-editor/images/yellow-flower-small.jpg +0 -0
  274. package/src/rich-text-editor/images/yellow-flower.jpg +0 -0
  275. package/src/rich-text-editor/index.ts +1 -0
  276. package/src/rich-text-editor/model/crystallize-rich-text-types/code.ts +39 -0
  277. package/src/rich-text-editor/model/crystallize-rich-text-types/headings.ts +12 -0
  278. package/src/rich-text-editor/model/crystallize-rich-text-types/index.ts +69 -0
  279. package/src/rich-text-editor/model/crystallize-rich-text-types/link.ts +9 -0
  280. package/src/rich-text-editor/model/crystallize-rich-text-types/table.ts +16 -0
  281. package/src/rich-text-editor/model/crystallize-to-lexical.ts +186 -0
  282. package/src/rich-text-editor/model/lexical-to-crystallize.ts +232 -0
  283. package/src/rich-text-editor/nodes/AutocompleteNode.tsx +96 -0
  284. package/src/rich-text-editor/nodes/BaseNodes.ts +45 -0
  285. package/src/rich-text-editor/nodes/KeywordNode.ts +73 -0
  286. package/src/rich-text-editor/nodes/TableCellNodes.ts +31 -0
  287. package/src/rich-text-editor/nodes/TableComponent.tsx +1547 -0
  288. package/src/rich-text-editor/nodes/TableNode.tsx +398 -0
  289. package/src/rich-text-editor/plugins/ActionsPlugin/index.tsx +83 -0
  290. package/src/rich-text-editor/plugins/AutoLinkPlugin/index.tsx +47 -0
  291. package/src/rich-text-editor/plugins/AutocompletePlugin/index.tsx +2536 -0
  292. package/src/rich-text-editor/plugins/CodeActionMenuPlugin/components/CopyButton/index.tsx +60 -0
  293. package/src/rich-text-editor/plugins/CodeActionMenuPlugin/components/PrettierButton/index.css +14 -0
  294. package/src/rich-text-editor/plugins/CodeActionMenuPlugin/components/PrettierButton/index.tsx +140 -0
  295. package/src/rich-text-editor/plugins/CodeActionMenuPlugin/index.css +46 -0
  296. package/src/rich-text-editor/plugins/CodeActionMenuPlugin/index.tsx +155 -0
  297. package/src/rich-text-editor/plugins/CodeHighlightPlugin/index.ts +21 -0
  298. package/src/rich-text-editor/plugins/ComponentPickerPlugin/index.tsx +320 -0
  299. package/src/rich-text-editor/plugins/DragDropPastePlugin/index.ts +40 -0
  300. package/src/rich-text-editor/plugins/DraggableBlockPlugin/index.css +36 -0
  301. package/src/rich-text-editor/plugins/DraggableBlockPlugin/index.tsx +368 -0
  302. package/src/rich-text-editor/plugins/FloatingLinkEditorPlugin/index.css +40 -0
  303. package/src/rich-text-editor/plugins/FloatingLinkEditorPlugin/index.tsx +305 -0
  304. package/src/rich-text-editor/plugins/FloatingTextFormatToolbarPlugin/index.css +128 -0
  305. package/src/rich-text-editor/plugins/FloatingTextFormatToolbarPlugin/index.tsx +351 -0
  306. package/src/rich-text-editor/plugins/LinkPlugin/index.tsx +16 -0
  307. package/src/rich-text-editor/plugins/ListMaxIndentLevelPlugin/index.ts +86 -0
  308. package/src/rich-text-editor/plugins/MarkdownShortcutPlugin/index.tsx +16 -0
  309. package/src/rich-text-editor/plugins/MarkdownTransformers/index.ts +195 -0
  310. package/src/rich-text-editor/plugins/MaxLengthPlugin/index.tsx +49 -0
  311. package/src/rich-text-editor/plugins/SpeechToTextPlugin/index.ts +113 -0
  312. package/src/rich-text-editor/plugins/TabFocusPlugin/index.tsx +65 -0
  313. package/src/rich-text-editor/plugins/TableActionMenuPlugin/index.tsx +481 -0
  314. package/src/rich-text-editor/plugins/TableCellResizer/index.css +12 -0
  315. package/src/rich-text-editor/plugins/TableCellResizer/index.tsx +386 -0
  316. package/src/rich-text-editor/plugins/TablePlugin.tsx +190 -0
  317. package/src/rich-text-editor/plugins/ToolbarPlugin/index.tsx +726 -0
  318. package/src/rich-text-editor/plugins/TreeViewPlugin/index.tsx +25 -0
  319. package/src/rich-text-editor/plugins/TypingPerfPlugin/index.ts +117 -0
  320. package/src/rich-text-editor/rich-text-editor.css +1396 -0
  321. package/src/rich-text-editor/rich-text-editor.stories.tsx +385 -0
  322. package/src/rich-text-editor/rich-text-editor.tsx +228 -0
  323. package/src/rich-text-editor/tests/rich-text-editor-basic-rendering.test.tsx +47 -0
  324. package/src/rich-text-editor/tests/rich-text-editor-code.test.tsx +39 -0
  325. package/src/rich-text-editor/tests/rich-text-editor-model-basics.test.tsx +56 -0
  326. package/src/rich-text-editor/tests/rich-text-editor-model-conversions.test.tsx +195 -0
  327. package/src/rich-text-editor/tests/rich-text-editor-onchange.test.tsx +37 -0
  328. package/src/rich-text-editor/tests/rich-text-editor-quote.test.tsx +36 -0
  329. package/src/rich-text-editor/tests/rich-text-editor-text-formats.test.tsx +135 -0
  330. package/src/rich-text-editor/tests/rich-text-editor-typing.test.tsx +73 -0
  331. package/src/rich-text-editor/tests/utils.ts +23 -0
  332. package/src/rich-text-editor/themes/PlaygroundEditorTheme.css +433 -0
  333. package/src/rich-text-editor/themes/PlaygroundEditorTheme.ts +113 -0
  334. package/src/rich-text-editor/types.ts +5 -0
  335. package/src/rich-text-editor/ui/ContentEditable.css +13 -0
  336. package/src/rich-text-editor/ui/ContentEditable.tsx +15 -0
  337. package/src/rich-text-editor/ui/LinkPreview.css +57 -0
  338. package/src/rich-text-editor/ui/LinkPreview.tsx +169 -0
  339. package/src/rich-text-editor/utils/environment.ts +1 -0
  340. package/src/rich-text-editor/utils/getDOMRangeRect.ts +42 -0
  341. package/src/rich-text-editor/utils/getSelectedNode.ts +27 -0
  342. package/src/rich-text-editor/utils/guard.ts +10 -0
  343. package/src/rich-text-editor/utils/isMobileWidth.ts +7 -0
  344. package/src/rich-text-editor/utils/joinClasses.ts +13 -0
  345. package/src/rich-text-editor/utils/point.ts +55 -0
  346. package/src/rich-text-editor/utils/rect.ts +158 -0
  347. package/src/rich-text-editor/utils/setFloatingElemPosition.ts +46 -0
  348. package/src/rich-text-editor/utils/swipe.ts +127 -0
  349. package/src/rich-text-editor/utils/url.ts +33 -0
  350. package/src/select/index.ts +1 -0
  351. package/src/select/select-item.tsx +18 -0
  352. package/src/select/select-root.tsx +50 -0
  353. package/src/select/select.css +44 -0
  354. package/src/select/select.stories.tsx +74 -0
  355. package/src/select/select.ts +9 -0
  356. package/src/slider/Slider.stories.tsx +54 -0
  357. package/src/slider/index.ts +1 -0
  358. package/src/slider/slider.css +27 -0
  359. package/src/slider/slider.tsx +20 -0
  360. package/src/spinner/Spinner.stories.tsx +19 -0
  361. package/src/spinner/index.tsx +48 -0
  362. package/src/spinner/spinner.css +11 -0
  363. package/src/tag/Tag.stories.tsx +32 -0
  364. package/src/tag/index.ts +1 -0
  365. package/src/tag/tag.css +7 -0
  366. package/src/tag/tag.tsx +27 -0
  367. package/src/vite-env.d.ts +1 -0
  368. package/tailwind.config.cjs +51 -0
  369. package/LICENSE +0 -21
  370. package/README.md +0 -87
  371. package/dist/components/Button.d.ts +0 -11
  372. package/dist/components/Checkbox.d.ts +0 -29
  373. package/dist/components/Typography.d.ts +0 -14
  374. package/dist/design-system.cjs.development.js +0 -251
  375. package/dist/design-system.cjs.development.js.map +0 -1
  376. package/dist/design-system.cjs.production.min.js +0 -2
  377. package/dist/design-system.cjs.production.min.js.map +0 -1
  378. package/dist/design-system.esm.js +0 -245
  379. package/dist/design-system.esm.js.map +0 -1
  380. package/dist/styles/theme.d.ts +0 -2
@@ -0,0 +1,18 @@
1
+ import { ComponentProps, forwardRef } from 'react';
2
+ import * as SelectPrimitives from '@radix-ui/react-select';
3
+
4
+ export type SelectItemRef = HTMLDivElement;
5
+ export type SelectItemProps = ComponentProps<typeof SelectPrimitives.Item>;
6
+
7
+ export const SelectItem = forwardRef<SelectItemRef, SelectItemProps>((props, ref) => {
8
+ const { children, ...delegated } = props;
9
+
10
+ return (
11
+ <SelectPrimitives.Item className="c-select-item" ref={ref} {...delegated}>
12
+ <SelectPrimitives.ItemText>{children}</SelectPrimitives.ItemText>
13
+ <SelectPrimitives.ItemIndicator />
14
+ </SelectPrimitives.Item>
15
+ );
16
+ });
17
+
18
+ SelectItem.displayName = 'SelectItem';
@@ -0,0 +1,50 @@
1
+ import { ComponentProps, forwardRef } from 'react';
2
+ import * as SelectPrimitives from '@radix-ui/react-select';
3
+ import { cva, VariantProps } from 'class-variance-authority';
4
+
5
+ import { Icon } from '../iconography';
6
+
7
+ const selectTriggerStyles = cva('c-select-trigger', {
8
+ variants: {
9
+ size: {
10
+ xs: 'c-select-trigger-xs',
11
+ sm: 'c-select-trigger-sm',
12
+ md: 'c-select-trigger-md',
13
+ lg: 'c-select-trigger-lg',
14
+ },
15
+ },
16
+ defaultVariants: {
17
+ size: 'sm',
18
+ },
19
+ });
20
+
21
+ export type SelectRef = HTMLButtonElement;
22
+ export type SelectProps = ComponentProps<typeof SelectPrimitives.Root> &
23
+ VariantProps<typeof selectTriggerStyles> & {
24
+ disabled?: boolean;
25
+ id?: string;
26
+ placeholder?: string;
27
+ };
28
+
29
+ export const SelectContainer = forwardRef<SelectRef, SelectProps>(
30
+ ({ children, id, placeholder, disabled, size, ...delegated }, ref) => {
31
+ return (
32
+ <SelectPrimitives.Root {...delegated}>
33
+ <SelectPrimitives.Trigger ref={ref} className={selectTriggerStyles({ size })} disabled={disabled} id={id}>
34
+ <SelectPrimitives.Value placeholder={<span className="c-select-value">{placeholder ?? 'Select...'}</span>} />
35
+ <Icon.Arrow />
36
+ </SelectPrimitives.Trigger>
37
+
38
+ <SelectPrimitives.Portal>
39
+ <SelectPrimitives.Content className="c-select-content">
40
+ <SelectPrimitives.ScrollUpButton />
41
+ <SelectPrimitives.Viewport className="c-select-viewport">{children}</SelectPrimitives.Viewport>
42
+ <SelectPrimitives.ScrollDownButton />
43
+ </SelectPrimitives.Content>
44
+ </SelectPrimitives.Portal>
45
+ </SelectPrimitives.Root>
46
+ );
47
+ },
48
+ );
49
+
50
+ SelectContainer.displayName = 'Select';
@@ -0,0 +1,44 @@
1
+ .c-select-trigger {
2
+ @apply inline-flex cursor-pointer items-center justify-center gap-4 whitespace-nowrap rounded border-0 bg-elevate px-4 text-sm font-medium text-gray shadow;
3
+
4
+ &:disabled {
5
+ @apply cursor-default opacity-50;
6
+ }
7
+
8
+ &-xs {
9
+ @apply h-6;
10
+ }
11
+
12
+ &-sm {
13
+ @apply h-9 text-sm;
14
+ }
15
+
16
+ &-md {
17
+ @apply h-11 text-base;
18
+ }
19
+
20
+ &-lg {
21
+ @apply h-14 text-lg;
22
+ }
23
+ }
24
+
25
+ .c-select-value {
26
+ @apply italic text-gray-500-400;
27
+ }
28
+
29
+ .c-select-content {
30
+ @apply overflow-hidden rounded bg-elevate text-gray shadow;
31
+ }
32
+
33
+ .c-select-viewport {
34
+ @apply py-2;
35
+ }
36
+
37
+ .c-select-item {
38
+ @apply flex cursor-pointer items-center whitespace-nowrap px-6 py-2 font-medium text-gray;
39
+
40
+ &:hover,
41
+ &:focus {
42
+ @apply bg-gray-50-900 outline-none;
43
+ }
44
+ }
@@ -0,0 +1,74 @@
1
+ import { useState } from 'react';
2
+ import type { Meta } from '@storybook/react';
3
+
4
+ import { Select } from './select';
5
+ import { Label } from '../label';
6
+
7
+ export default {
8
+ title: 'Components/Select',
9
+ parameters: {
10
+ backgrounds: { default: 'gray' },
11
+ },
12
+ } as Meta<typeof Select.Container>;
13
+
14
+ export const Example = () => {
15
+ return (
16
+ <Select.Container>
17
+ <Select.Item value="react">React</Select.Item>
18
+ <Select.Item value="vue">Vue</Select.Item>
19
+ <Select.Item value="svelte">Svelte</Select.Item>
20
+ <Select.Item value="angular">Angular</Select.Item>
21
+ </Select.Container>
22
+ );
23
+ };
24
+
25
+ export const Uncontrolled = () => {
26
+ return (
27
+ <Select.Container>
28
+ <Select.Item value="react">React</Select.Item>
29
+ <Select.Item value="vue">Vue</Select.Item>
30
+ <Select.Item value="svelte">Svelte</Select.Item>
31
+ <Select.Item value="angular">Angular</Select.Item>
32
+ </Select.Container>
33
+ );
34
+ };
35
+
36
+ export const Controlled = () => {
37
+ const [value, setValue] = useState('react');
38
+
39
+ return (
40
+ <Select.Container value={value} onValueChange={setValue}>
41
+ <Select.Item value="react">React</Select.Item>
42
+ <Select.Item value="vue">Vue</Select.Item>
43
+ <Select.Item value="svelte">Svelte</Select.Item>
44
+ <Select.Item value="angular">Angular</Select.Item>
45
+ </Select.Container>
46
+ );
47
+ };
48
+
49
+ export const WithLabel = () => {
50
+ const [value, setValue] = useState('react');
51
+
52
+ return (
53
+ <div className="flex flex-col items-start space-y-2">
54
+ <Label htmlFor="with-label-c1">Select framework</Label>
55
+ <Select.Container id="with-label-c1" value={value} onValueChange={setValue}>
56
+ <Select.Item value="react">React</Select.Item>
57
+ <Select.Item value="vue">Vue</Select.Item>
58
+ <Select.Item value="svelte">Svelte</Select.Item>
59
+ <Select.Item value="angular">Angular</Select.Item>
60
+ </Select.Container>
61
+ </div>
62
+ );
63
+ };
64
+
65
+ export const Disabled = () => {
66
+ return (
67
+ <Select.Container disabled>
68
+ <Select.Item value="react">React</Select.Item>
69
+ <Select.Item value="vue">Vue</Select.Item>
70
+ <Select.Item value="svelte">Svelte</Select.Item>
71
+ <Select.Item value="angular">Angular</Select.Item>
72
+ </Select.Container>
73
+ );
74
+ };
@@ -0,0 +1,9 @@
1
+ import { SelectItem } from './select-item';
2
+ import { SelectContainer } from './select-root';
3
+
4
+ import './select.css';
5
+
6
+ export const Select = {
7
+ Container: SelectContainer,
8
+ Item: SelectItem,
9
+ };
@@ -0,0 +1,54 @@
1
+ import type { StoryObj, Meta } from '@storybook/react';
2
+ import { useState } from 'react';
3
+ import { Slider } from '.';
4
+
5
+ const meta: Meta<typeof Slider> = {
6
+ title: 'Components/Slider',
7
+ component: Slider,
8
+ argTypes: {},
9
+ };
10
+
11
+ export default meta;
12
+ type Story = StoryObj<typeof Slider>;
13
+
14
+ export const Default: Story = {
15
+ args: {
16
+ 'aria-label': 'volume',
17
+ defaultValue: [50],
18
+ max: 100,
19
+ step: 1,
20
+ },
21
+ };
22
+
23
+ export const Vertical: Story = {
24
+ args: {
25
+ 'aria-label': 'volume',
26
+ defaultValue: [25],
27
+ max: 100,
28
+ orientation: 'vertical',
29
+ step: 1,
30
+ },
31
+ };
32
+
33
+ export const TransparentRange: Story = {
34
+ args: {
35
+ 'aria-label': 'volume',
36
+ defaultValue: [25],
37
+ max: 100,
38
+ step: 1,
39
+ transparentRange: true,
40
+ },
41
+ };
42
+
43
+ export const Controlled: Story = {
44
+ render: () => {
45
+ const [value, setValue] = useState<number[]>([25]);
46
+
47
+ return (
48
+ <div className="space-y-6">
49
+ <Slider aria-label="volume" step={1} max={100} onValueChange={setValue} value={value} />
50
+ <pre>{value}</pre>
51
+ </div>
52
+ );
53
+ },
54
+ };
@@ -0,0 +1 @@
1
+ export { Slider } from './slider';
@@ -0,0 +1,27 @@
1
+ .c-slider-root {
2
+ @apply relative flex w-52 touch-none select-none items-center;
3
+ @apply data-[orientation='horizontal']:h-5;
4
+ @apply data-[orientation='vertical']:h-28 data-[orientation='vertical']:w-5 data-[orientation='vertical']:flex-col;
5
+ }
6
+
7
+ .c-slider-track {
8
+ @apply relative grow rounded-full bg-gray-100-800;
9
+ @apply data-[orientation='horizontal']:h-[3px];
10
+ @apply data-[orientation='vertical']:w-[3px];
11
+ }
12
+
13
+ .c-slider-range {
14
+ @apply absolute rounded-full bg-gray-600-300;
15
+ @apply data-[orientation="horizontal"]:h-full;
16
+ @apply data-[orientation="vertical"]:w-full;
17
+ }
18
+
19
+ .c-slider-range-transparent {
20
+ @apply bg-transparent;
21
+ }
22
+
23
+ .c-slider-thumb {
24
+ @apply block h-5 w-5 rounded-xl bg-gray-600-300 shadow;
25
+ @apply hover:bg-gray-700-200;
26
+ @apply focus:shadow-lg focus:outline-none;
27
+ }
@@ -0,0 +1,20 @@
1
+ import * as SliderPrimitive from '@radix-ui/react-slider';
2
+ import { cx } from 'class-variance-authority';
3
+ import { forwardRef } from 'react';
4
+
5
+ import './slider.css';
6
+
7
+ type SliderProps = SliderPrimitive.SliderProps & {
8
+ transparentRange?: boolean;
9
+ };
10
+
11
+ export const Slider = forwardRef<HTMLSpanElement, SliderProps>(({ className, transparentRange, ...delegated }, ref) => {
12
+ return (
13
+ <SliderPrimitive.Root className={cx('c-slider-root', className)} ref={ref} {...delegated}>
14
+ <SliderPrimitive.Track className="c-slider-track">
15
+ <SliderPrimitive.Range className={`c-slider-range ${transparentRange ? 'c-slider-range-transparent' : ''}`} />
16
+ </SliderPrimitive.Track>
17
+ <SliderPrimitive.Thumb className="c-slider-thumb" />
18
+ </SliderPrimitive.Root>
19
+ );
20
+ });
@@ -0,0 +1,19 @@
1
+ import type { StoryObj, Meta } from '@storybook/react';
2
+ import { Spinner } from '.';
3
+
4
+ const meta: Meta<typeof Spinner> = {
5
+ title: 'Components/Spinner',
6
+ component: Spinner,
7
+ argTypes: {
8
+ size: {
9
+ defaultValue: 30,
10
+ },
11
+ },
12
+ };
13
+
14
+ export default meta;
15
+ type Story = StoryObj<typeof Spinner>;
16
+
17
+ export const Default: Story = {
18
+ args: {},
19
+ };
@@ -0,0 +1,48 @@
1
+ import { cx } from 'class-variance-authority';
2
+ import { ComponentPropsWithRef, forwardRef, ReactNode } from 'react';
3
+
4
+ import './spinner.css';
5
+
6
+ const realSize = 40;
7
+
8
+ type SpinnerProps = ComponentPropsWithRef<'div'> & {
9
+ children?: ReactNode;
10
+ className?: string;
11
+ color?: string;
12
+ size?: number;
13
+ strokeSize?: number;
14
+ };
15
+
16
+ export const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(
17
+ ({ children, className, color = 'currentColor', size = 30, strokeSize, ...delegated }, ref) => {
18
+ const viewSize = size || realSize;
19
+ const sizeHalf = realSize / 2;
20
+
21
+ return (
22
+ <div ref={ref} className={cx('c-spinner', className)} data-testid="loading-spinner" {...delegated}>
23
+ <svg viewBox={`0 0 ${realSize} ${realSize}`} x="0px" y="0px" style={{ width: viewSize, height: viewSize }}>
24
+ <circle
25
+ cx="20"
26
+ cy="20"
27
+ r="18"
28
+ style={{
29
+ stroke: color,
30
+ strokeWidth: strokeSize ? strokeSize : viewSize / 10,
31
+ strokeLinecap: 'round',
32
+ strokeDasharray: size < 16 ? size * 6 : size * 3.5,
33
+ transformOrigin: `${sizeHalf}px ${sizeHalf}px 0`,
34
+ }}
35
+ className="c-spinner-artifact"
36
+ />
37
+ </svg>
38
+ {children && (
39
+ <span className="c-spinner-children" style={{ fontSize: size ? `${size * 0.75}px` : '1em' }}>
40
+ {children}
41
+ </span>
42
+ )}
43
+ </div>
44
+ );
45
+ },
46
+ );
47
+
48
+ Spinner.displayName = 'Spinner';
@@ -0,0 +1,11 @@
1
+ .c-spinner {
2
+ @apply inline-flex items-center;
3
+
4
+ &-artifact {
5
+ @apply animate-spin fill-transparent;
6
+ }
7
+
8
+ &-children {
9
+ @apply ml-[15px] inline-block;
10
+ }
11
+ }
@@ -0,0 +1,32 @@
1
+ import type { StoryObj, Meta } from '@storybook/react';
2
+ import { Tag } from '.';
3
+
4
+ const meta: Meta<typeof Tag> = {
5
+ title: 'Components/Tag',
6
+ component: Tag,
7
+ argTypes: {},
8
+ };
9
+
10
+ export default meta;
11
+ type Story = StoryObj<typeof Tag>;
12
+
13
+ export const Default: Story = {
14
+ args: {
15
+ children: 'EUR',
16
+ },
17
+ };
18
+
19
+ export const Elevate: Story = {
20
+ args: {
21
+ children: 'EUR',
22
+ variant: 'elevate',
23
+ },
24
+ };
25
+
26
+ export const DarkMode: Story = {
27
+ args: {
28
+ children: '%',
29
+ variant: 'elevate',
30
+ className: 'c-dark',
31
+ },
32
+ };
@@ -0,0 +1 @@
1
+ export { Tag } from './tag';
@@ -0,0 +1,7 @@
1
+ .c-tag {
2
+ @apply inline-flex items-center rounded border border-solid border-gray-200-700 bg-purple-50-900 p-1 text-center text-xs font-medium text-gray-700-200 shadow-sm;
3
+ }
4
+
5
+ .c-tag-elevate {
6
+ @apply bg-elevate;
7
+ }
@@ -0,0 +1,27 @@
1
+ import { cva, VariantProps } from 'class-variance-authority';
2
+ import type { ComponentProps } from 'react';
3
+
4
+ import './tag.css';
5
+
6
+ type TagStylesProps = VariantProps<typeof tagStyles>;
7
+ const tagStyles = cva('c-tag', {
8
+ variants: {
9
+ variant: {
10
+ default: '',
11
+ elevate: 'c-tag-elevate',
12
+ },
13
+ },
14
+ defaultVariants: {
15
+ variant: 'default',
16
+ },
17
+ });
18
+
19
+ export type TagProps = ComponentProps<'span'> & TagStylesProps;
20
+
21
+ export function Tag({ children, className, variant, ...delegated }: TagProps) {
22
+ return (
23
+ <span className={tagStyles({ className, variant })} {...delegated}>
24
+ {children}
25
+ </span>
26
+ );
27
+ }
@@ -0,0 +1 @@
1
+ /// <reference types="vite/client" />
@@ -0,0 +1,51 @@
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ const defaultTheme = require('tailwindcss/defaultTheme');
3
+ const colorsPlugin = require('./plugins/colors');
4
+
5
+ /** @type {import("tailwindcss").Config} */
6
+ module.exports = {
7
+ content: ['./src/**/*.tsx'],
8
+ safelist: ['c-dark'],
9
+ experimental: {
10
+ optimizeUniversalDefaults: true,
11
+ },
12
+ corePlugins: {
13
+ preflight: false,
14
+ },
15
+ theme: {
16
+ extend: {
17
+ fontFamily: {
18
+ sans: ['Roboto', ...defaultTheme.fontFamily.sans],
19
+ serif: ["'Roboto Slab'", ...defaultTheme.fontFamily.serif],
20
+ },
21
+ colors: {
22
+ // Some nice-to-have colors
23
+ transparent: 'transparent',
24
+ inherit: 'inherit',
25
+ },
26
+ keyframes: {
27
+ spin: {
28
+ '0%': {
29
+ transform: 'rotate(0deg)',
30
+ strokeDashoffset: 26.4, // 40 * 0.66
31
+ },
32
+ '50%': {
33
+ transform: 'rotate(720deg)',
34
+ strokeDashoffset: 125.6, // 40 * 3.14
35
+ },
36
+ '100%': {
37
+ transform: 'rotate(1080deg)',
38
+ strokeDashoffset: 26.4, // 40 * 0.66
39
+ },
40
+ },
41
+ },
42
+ animation: {
43
+ spin: 'spin 2s linear infinite',
44
+ },
45
+ boxShadow: {
46
+ DEFAULT: '0 2px 4px rgba(130,138,144,0.15)',
47
+ },
48
+ },
49
+ },
50
+ plugins: [colorsPlugin],
51
+ };
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 deekshasharma
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/README.md DELETED
@@ -1,87 +0,0 @@
1
- # React component library for Crystallize using TypeScript and Storybook
2
-
3
- This React component library is published to NPM.
4
-
5
- ## Start the project
6
-
7
- ```bash
8
- npm start # or yarn start
9
- ```
10
-
11
- This builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.
12
-
13
- Then run either Storybook or the example playground:
14
-
15
- > NOTE:
16
- >
17
- > 1. Install the peer dependencies from the `package.json` before running this project.
18
- >
19
- > 2. Stories should reference the components as if using the library. This has been aliased in the tsconfig and the storybook webpack config as a helper.
20
-
21
- ### Install dependencies
22
-
23
- Then run the example inside another:
24
-
25
- ```bash
26
- yarn add @crystallize/ui styled-components
27
- ```
28
-
29
- Note: You also need React to be able to work with this library.
30
-
31
- ### How to import and use Button component
32
-
33
- ```js
34
- import {Button} from "@crystallize/ui";
35
-
36
- function App() {
37
- return (
38
- <div className="App" style={{justifyContent: "space-between", alignItems: "center", marginTop: "10vh"}}>
39
- <Button color={"primary"} variant="filled" size={"large"}>Add to Cart</Button>
40
- </div>
41
- );
42
- }
43
- ```
44
-
45
- Jest tests are set up to run with `npm test` or `yarn test`.
46
-
47
- ### Bundle analysis
48
-
49
- Calculates the real cost of your library using [size-limit](https://github.com/ai/size-limit) with `npm run size` and visulize it with `npm run analyze`.
50
-
51
- #### Setup Files
52
-
53
- This is the folder structure we set up for you:
54
-
55
- ```txt
56
- /example
57
- index.html
58
- index.tsx # test your component here in a demo app
59
- package.json
60
- tsconfig.json
61
- /src
62
- index.tsx # Main file to export the components
63
- /test # Jest tests
64
- /stories # Stories for the components
65
-
66
- /.storybook # Storybook consfiguration files
67
- main.js
68
- preview.js
69
- .gitignore
70
- package.json
71
- README.md
72
- tsconfig.json
73
- ```
74
-
75
- ### How to import and use Typography component
76
-
77
- ```js
78
- import {Typography} from "@crystallize/ui";
79
-
80
- function App() {
81
- return (
82
- <div className="App" style={{justifyContent: "space-between", alignItems: "center", marginTop: "10vh"}}>
83
- <Typography color={"primary"} style={"h3"} align={"center"}>Headless e-Commerce is the future!</Typography>
84
- </div>
85
- );
86
- }
87
- ```
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- export interface ButtonProps {
3
- color?: 'primary' | 'secondary' | 'default';
4
- variant?: 'filled' | 'outlined' | 'text';
5
- size?: 'small' | 'medium' | 'large';
6
- onClick?: () => void;
7
- fullWidth?: boolean;
8
- disabled?: boolean;
9
- children?: React.ReactNode;
10
- }
11
- export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -1,29 +0,0 @@
1
- import React from 'react';
2
- declare type ColorType = 'primary' | 'secondary';
3
- declare type CheckboxSizeType = 'small' | 'medium' | 'large';
4
- export interface CheckboxProps {
5
- checked: boolean;
6
- color?: ColorType;
7
- disabled?: boolean;
8
- id?: string;
9
- name?: string;
10
- onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
11
- size?: CheckboxSizeType;
12
- }
13
- export interface CustomCheckboxProps {
14
- color?: ColorType;
15
- checked: boolean;
16
- disabled: boolean;
17
- size: CheckboxSizeType;
18
- }
19
- export declare enum checkboxColors {
20
- primary = "primary",
21
- secondary = "secondary"
22
- }
23
- export declare enum checkboxSizes {
24
- small = "small",
25
- medium = "medium",
26
- large = "large"
27
- }
28
- export declare const Checkbox: React.FC<CheckboxProps>;
29
- export {};
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- export interface TypographyProps {
3
- color?: 'primary' | 'secondary' | 'primaryText' | 'secondaryText' | 'error';
4
- style?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'subtitle1' | 'subtitle2' | 'body1' | 'body2' | 'caption' | 'overline';
5
- underline?: boolean;
6
- bold?: boolean;
7
- display?: 'inline' | 'block' | 'inherit';
8
- gutter?: boolean;
9
- align?: 'left' | 'right' | 'center' | 'justify' | 'initial' | 'inherit';
10
- ellipsis?: boolean;
11
- textParagraph?: boolean;
12
- children?: React.ReactNode;
13
- }
14
- export declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLSpanElement>>;