diff --git a/tailwind/package.json b/tailwind/package.json index 7a25ff6..433bfaf 100644 --- a/tailwind/package.json +++ b/tailwind/package.json @@ -8,6 +8,7 @@ "dist/index.css" ], "main": "dist/index.css", + "author": "thien@samuwrite.com", "devDependencies": { "@tailwindcss/typography": "0.5.7", "sass": "1.55.0", diff --git a/web/package-lock.json b/web/package-lock.json index 31b5f09..012d44b 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -7,29 +7,15 @@ "name": "samuwrite.com", "dependencies": { "@primer/octicons-react": "17.5.0", - "@radix-ui/react-alert-dialog": "^1.0.0", - "@radix-ui/react-dropdown-menu": "1.0.0", - "@radix-ui/react-label": "1.0.0", - "@radix-ui/react-popover": "1.0.0", - "@radix-ui/react-radio-group": "1.0.0", - "@radix-ui/react-scroll-area": "1.0.0", - "@radix-ui/react-slider": "^1.0.0", - "@radix-ui/react-slot": "^1.0.0", - "@radix-ui/react-switch": "1.0.0", - "@radix-ui/react-tooltip": "1.0.0", "@rose-pine/palette": "3.0.1", + "@samuwrite/markdown": "^1.0.0", + "@samuwrite/radix": "^1.0.0", + "@samuwrite/tailwind": "^1.0.3", "monaco-editor": "0.31.0", "monaco-vim": "0.3.4", "react": "18.2.0", "react-dom": "18.2.0", - "rehype-dom-stringify": "3.0.1", - "rehype-external-links": "2.0.1", - "rehype-source-map": "1.0.1", - "remark-gfm": "3.0.1", - "remark-parse": "10.0.1", - "remark-rehype": "10.1.0", - "tinykeys": "1.4.0", - "unified": "10.1.2" + "tinykeys": "1.4.0" }, "devDependencies": { "@parcel/transformer-sass": "2.7.0", @@ -1647,6 +1633,39 @@ "@babel/runtime": "^7.13.10" } }, + "node_modules/@radix-ui/react-accessible-icon": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accessible-icon/-/react-accessible-icon-1.0.0.tgz", + "integrity": "sha512-uaaiQ1bhRpXeHNbOfAuviOUbxkxL8lV1tcIbIjMDOyB9TgR6t2BNt843D7d9mBiqKarUevmEogdUEMtymGY1kQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-visually-hidden": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.0.0.tgz", + "integrity": "sha512-F4vrzev+f1gjrWiU+IFQIzN43fYyvQ+AN0OicHYoDddis53xnPC0DKm16Ks4/XjvmqbISAR/FscYX0vymEHxcA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collapsible": "1.0.0", + "@radix-ui/react-collection": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, "node_modules/@radix-ui/react-alert-dialog": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.0.tgz", @@ -1665,6 +1684,21 @@ "react-dom": "^16.8 || ^17.0 || ^18.0" } }, + "node_modules/@radix-ui/react-announce": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-announce/-/react-announce-0.1.5.tgz", + "integrity": "sha512-S4KeYhPzOH5T64Gw+Cpebx53KDng1tItnUiG97jxUf5Fyl42wAY+ApCZr9r/kgVONUNB2Tnu8NOiw3Yb9AHP5g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, "node_modules/@radix-ui/react-arrow": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.0.tgz", @@ -1678,6 +1712,76 @@ "react-dom": "^16.8 || ^17.0 || ^18.0" } }, + "node_modules/@radix-ui/react-aspect-ratio": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.0.0.tgz", + "integrity": "sha512-/QlrIrrcWU8QPz5AccWgKdQGUFw+EKZaxzlH5eWqbOCBTmq0kM1lgaa9EbsmyJwOTtlN0Az9F83lNboQubifwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.0.0.tgz", + "integrity": "sha512-pCN+bXAjhuGt7xkDh8MgdB2wN09XhLKpzPMJR9aVVS0tz0oTCy8wkbFOAmLotjBwZBHMJ9acpsVh7/JIuDSCtw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.0.tgz", + "integrity": "sha512-MoboEfb4O6Akggz7UwZDKp4p9YR8+FIAmIa7UEAiAxfbTArIgSJqJLaEpdF+MPR4Uk/lSGNW727uvugef/UqWQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-label": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-use-size": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.0.tgz", + "integrity": "sha512-NfZqWntvPsC43szs0NvumRjmTTJTLgaDOAnmVGDZaGsg2u6LcJwUT7YeYSKnlxWRQWN4pwwEfoYdWrtoutfO8g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, "node_modules/@radix-ui/react-collection": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.0.tgz", @@ -1716,6 +1820,24 @@ "react": "^16.8 || ^17.0 || ^18.0" } }, + "node_modules/@radix-ui/react-context-menu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-1.0.0.tgz", + "integrity": "sha512-JkwOgdXwErwEEpsmgu0Ob8zD3gzWS1brPXnNGPyZEtR6/EYyDgruQYKiihXVsCrPCdrNUHawop9I1+6JTdXPTA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-menu": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, "node_modules/@radix-ui/react-dialog": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.0.tgz", @@ -1815,6 +1937,27 @@ "react-dom": "^16.8 || ^17.0 || ^18.0" } }, + "node_modules/@radix-ui/react-hover-card": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.0.0.tgz", + "integrity": "sha512-9Vn24lwbB0QUrVsgIKdjCmX9Y/ElBbBbGrJ4FWeT6EktaOQUWJT7y1Ao+WBSlNwbklhJIbbhZgknHm0IAoxTLA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.0", + "@radix-ui/react-popper": "1.0.0", + "@radix-ui/react-portal": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, "node_modules/@radix-ui/react-id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz", @@ -1873,6 +2016,32 @@ "react-dom": "^16.8 || ^17.0 || ^18.0" } }, + "node_modules/@radix-ui/react-navigation-menu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.0.0.tgz", + "integrity": "sha512-HbwG3A9z9zdcan0076EbTXqMvmQeesC3nOMEL7XtWqBnxPo8MLStk0vMs0hjIQ+9O9/KTcEJq+TeRX2pUuvuSg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-visually-hidden": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, "node_modules/@radix-ui/react-popover": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.0.tgz", @@ -1961,6 +2130,20 @@ "react-dom": "^16.8 || ^17.0 || ^18.0" } }, + "node_modules/@radix-ui/react-progress": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.0.0.tgz", + "integrity": "sha512-j+JHtTuDpIhF0eOolNug+8hpZqNXcXp2GhTtwz+lnFzhY2a8+LXRSU79iy0r0WUs7UqCXCEeIJIrhg7NS/vPGA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-primitive": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, "node_modules/@radix-ui/react-radio-group": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.0.0.tgz", @@ -2026,6 +2209,52 @@ "react-dom": "^16.8 || ^17.0 || ^18.0" } }, + "node_modules/@radix-ui/react-select": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.0.0.tgz", + "integrity": "sha512-GfbVBxx7JPvytNT+0XYCFCOImEMmpl0Vg7hhifLaLV7p5zRottFMgQ7qrrxw8v6B8buKXz41kWYMrdRrWqsZaQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.0", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.0", + "@radix-ui/react-focus-guards": "1.0.0", + "@radix-ui/react-focus-scope": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-label": "1.0.0", + "@radix-ui/react-portal": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-slot": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-visually-hidden": "1.0.0", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.4" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.0.tgz", + "integrity": "sha512-narSsDP+CKJWEOV9Yx9aOpw4bLaNRNIvnqmfx30mAJAJ9wPKoyVmcLzFj0Hyx3yQNZx7EokMwW6KtMyxN5jDUw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, "node_modules/@radix-ui/react-slider": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.0.0.tgz", @@ -2051,30 +2280,127 @@ }, "node_modules/@radix-ui/react-slot": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.0.tgz", - "integrity": "sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.0.tgz", + "integrity": "sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.0.0.tgz", + "integrity": "sha512-SydkCiuirxJfRG8259J0RIpOw1p6y4TgJdNYvDNXgkEjCjFzLCvBbgDNQn9SeYXk3mjO/ezMgMFsacnrp4eihw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-label": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-use-size": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.0.tgz", + "integrity": "sha512-oKUwEDsySVC0uuSEH7SHCVt1+ijmiDFAI9p+fHCtuZdqrRDKIFs09zp5nrmu4ggP6xqSx9lj1VSblnDH+n3IBA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-roving-focus": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-toast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.0.0.tgz", + "integrity": "sha512-mdoF6rahgushdev0OX+9a7JKoH0xZAZBo2Ktf/s779S7EnkZeL3/MFiRIV5LpRP5CtASmfdSD3FLnEvG1RHRtQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.0", + "@radix-ui/react-portal": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0", + "@radix-ui/react-visually-hidden": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-toggle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.0.tgz", + "integrity": "sha512-RvY06eyDlZMC4rZdWK8jNovEDKf2jBvYFOB4rkQ/ypMOjFQuoh2QodlxlGakrZDrLnfxzyNnn/pg88CWVtAAdw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-toggle-group": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.0.tgz", + "integrity": "sha512-R/5sK4/BPgOYWAsheFaFpNFh0sLPHdqsBcqO5KW2+Foy36B2KBYrGd6Hu4HnzgivawVX+mSmVNhAwHA8Yb1hLA==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.0" + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-roving-focus": "1.0.0", + "@radix-ui/react-toggle": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" }, "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" } }, - "node_modules/@radix-ui/react-switch": { + "node_modules/@radix-ui/react-toolbar": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.0.0.tgz", - "integrity": "sha512-SydkCiuirxJfRG8259J0RIpOw1p6y4TgJdNYvDNXgkEjCjFzLCvBbgDNQn9SeYXk3mjO/ezMgMFsacnrp4eihw==", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.0.tgz", + "integrity": "sha512-IvE13O0MP7pNc4c87Q7JPOyyXKRUJBjvqfoC/wCPxLlCz4ijoW+cU7J0Rw9Rj5TScyhUyinLL014j2uBH9O0EA==", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-compose-refs": "1.0.0", "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-label": "1.0.0", + "@radix-ui/react-direction": "1.0.0", "@radix-ui/react-primitive": "1.0.0", - "@radix-ui/react-use-controllable-state": "1.0.0", - "@radix-ui/react-use-previous": "1.0.0", - "@radix-ui/react-use-size": "1.0.0" + "@radix-ui/react-roving-focus": "1.0.0", + "@radix-ui/react-separator": "1.0.0", + "@radix-ui/react-toggle-group": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0", @@ -2218,6 +2544,67 @@ "url": "https://github.com/rose-pine/palette?sponsor=1" } }, + "node_modules/@samuwrite/markdown": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@samuwrite/markdown/-/markdown-1.0.0.tgz", + "integrity": "sha512-LPcaMPO3sgRDBGgRsG4S1a3B6Qn36L/ek5VAQQLKtGDer22Ydz3nL1aB4KZKygaewRYX+vhDi2mydY0Jf53ihA==", + "dependencies": { + "rehype-dom-stringify": "^3.0.1", + "rehype-external-links": "^2.0.1", + "rehype-source-map": "^1.0.1", + "remark-gfm": "^3.0.1", + "remark-parse": "^10.0.1", + "remark-rehype": "^10.1.0", + "unified": "^10.1.2" + } + }, + "node_modules/@samuwrite/radix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@samuwrite/radix/-/radix-1.0.0.tgz", + "integrity": "sha512-dkVtx3i3qTaWf4ajyCgv/0JHZjpXXyziasGAIMkV+3JkcMJNgHW+aHIrsLQjgoSPLrNOabHY+UY4mk7QMdHATA==", + "dependencies": { + "@radix-ui/react-accessible-icon": "^1.0.0", + "@radix-ui/react-accordion": "^1.0.0", + "@radix-ui/react-alert-dialog": "^1.0.0", + "@radix-ui/react-announce": "^0.1.5", + "@radix-ui/react-aspect-ratio": "^1.0.0", + "@radix-ui/react-avatar": "^1.0.0", + "@radix-ui/react-checkbox": "^1.0.0", + "@radix-ui/react-collapsible": "^1.0.0", + "@radix-ui/react-context": "^1.0.0", + "@radix-ui/react-context-menu": "^1.0.0", + "@radix-ui/react-dialog": "^1.0.0", + "@radix-ui/react-dropdown-menu": "^1.0.0", + "@radix-ui/react-hover-card": "^1.0.0", + "@radix-ui/react-id": "^1.0.0", + "@radix-ui/react-label": "^1.0.0", + "@radix-ui/react-menu": "^1.0.0", + "@radix-ui/react-navigation-menu": "^1.0.0", + "@radix-ui/react-popover": "^1.0.0", + "@radix-ui/react-portal": "^1.0.0", + "@radix-ui/react-primitive": "^1.0.0", + "@radix-ui/react-progress": "^1.0.0", + "@radix-ui/react-radio-group": "^1.0.0", + "@radix-ui/react-scroll-area": "^1.0.0", + "@radix-ui/react-select": "^1.0.0", + "@radix-ui/react-separator": "^1.0.0", + "@radix-ui/react-slider": "^1.0.0", + "@radix-ui/react-slot": "^1.0.0", + "@radix-ui/react-switch": "^1.0.0", + "@radix-ui/react-tabs": "^1.0.0", + "@radix-ui/react-toast": "^1.0.0", + "@radix-ui/react-toggle": "^1.0.0", + "@radix-ui/react-toggle-group": "^1.0.0", + "@radix-ui/react-toolbar": "^1.0.0", + "@radix-ui/react-tooltip": "^1.0.0", + "@radix-ui/react-visually-hidden": "^1.0.0" + } + }, + "node_modules/@samuwrite/tailwind": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@samuwrite/tailwind/-/tailwind-1.0.3.tgz", + "integrity": "sha512-Vb/zaKSx35GVJNe/I9vfESQM74rnL4AAZJXvZCoCaPEsJtGslFamkgABYI3COQmWCms7ahFNIYQJWfurfOvmqQ==" + }, "node_modules/@swc/helpers": { "version": "0.4.11", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", @@ -2858,9 +3245,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001410", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz", - "integrity": "sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ==", + "version": "1.0.30001412", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", + "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", "dev": true, "funding": [ { @@ -5614,9 +6001,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/msgpackr": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.7.0.tgz", - "integrity": "sha512-/lumbjWnrRn8mZ8TEJXbFpkRDSei94CcqwcgbyuE0hT2/f6az2Fmi4ojNUOUTS9T8AYyADrmoPvCiLL9+ufvsA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.7.1.tgz", + "integrity": "sha512-p2YUTuwFAUtoPACKPDfoibJn4oBuzSCXs0/AudNLqczL8R2Ult32987Ih69df5zaaMnWT/3JizgP8q8d3s2ZlQ==", "dev": true, "optionalDependencies": { "msgpackr-extract": "^2.1.2" @@ -8280,6 +8667,31 @@ "@babel/runtime": "^7.13.10" } }, + "@radix-ui/react-accessible-icon": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accessible-icon/-/react-accessible-icon-1.0.0.tgz", + "integrity": "sha512-uaaiQ1bhRpXeHNbOfAuviOUbxkxL8lV1tcIbIjMDOyB9TgR6t2BNt843D7d9mBiqKarUevmEogdUEMtymGY1kQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-visually-hidden": "1.0.0" + } + }, + "@radix-ui/react-accordion": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.0.0.tgz", + "integrity": "sha512-F4vrzev+f1gjrWiU+IFQIzN43fYyvQ+AN0OicHYoDddis53xnPC0DKm16Ks4/XjvmqbISAR/FscYX0vymEHxcA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collapsible": "1.0.0", + "@radix-ui/react-collection": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + } + }, "@radix-ui/react-alert-dialog": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.0.tgz", @@ -8294,6 +8706,17 @@ "@radix-ui/react-slot": "1.0.0" } }, + "@radix-ui/react-announce": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-announce/-/react-announce-0.1.5.tgz", + "integrity": "sha512-S4KeYhPzOH5T64Gw+Cpebx53KDng1tItnUiG97jxUf5Fyl42wAY+ApCZr9r/kgVONUNB2Tnu8NOiw3Yb9AHP5g==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + } + }, "@radix-ui/react-arrow": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.0.tgz", @@ -8303,6 +8726,60 @@ "@radix-ui/react-primitive": "1.0.0" } }, + "@radix-ui/react-aspect-ratio": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.0.0.tgz", + "integrity": "sha512-/QlrIrrcWU8QPz5AccWgKdQGUFw+EKZaxzlH5eWqbOCBTmq0kM1lgaa9EbsmyJwOTtlN0Az9F83lNboQubifwg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.0" + } + }, + "@radix-ui/react-avatar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.0.0.tgz", + "integrity": "sha512-pCN+bXAjhuGt7xkDh8MgdB2wN09XhLKpzPMJR9aVVS0tz0oTCy8wkbFOAmLotjBwZBHMJ9acpsVh7/JIuDSCtw==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + } + }, + "@radix-ui/react-checkbox": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.0.tgz", + "integrity": "sha512-MoboEfb4O6Akggz7UwZDKp4p9YR8+FIAmIa7UEAiAxfbTArIgSJqJLaEpdF+MPR4Uk/lSGNW727uvugef/UqWQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-label": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-use-size": "1.0.0" + } + }, + "@radix-ui/react-collapsible": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.0.tgz", + "integrity": "sha512-NfZqWntvPsC43szs0NvumRjmTTJTLgaDOAnmVGDZaGsg2u6LcJwUT7YeYSKnlxWRQWN4pwwEfoYdWrtoutfO8g==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + } + }, "@radix-ui/react-collection": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.0.tgz", @@ -8331,6 +8808,20 @@ "@babel/runtime": "^7.13.10" } }, + "@radix-ui/react-context-menu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-1.0.0.tgz", + "integrity": "sha512-JkwOgdXwErwEEpsmgu0Ob8zD3gzWS1brPXnNGPyZEtR6/EYyDgruQYKiihXVsCrPCdrNUHawop9I1+6JTdXPTA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-menu": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + } + }, "@radix-ui/react-dialog": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.0.tgz", @@ -8408,6 +8899,23 @@ "@radix-ui/react-use-callback-ref": "1.0.0" } }, + "@radix-ui/react-hover-card": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.0.0.tgz", + "integrity": "sha512-9Vn24lwbB0QUrVsgIKdjCmX9Y/ElBbBbGrJ4FWeT6EktaOQUWJT7y1Ao+WBSlNwbklhJIbbhZgknHm0IAoxTLA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.0", + "@radix-ui/react-popper": "1.0.0", + "@radix-ui/react-portal": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + } + }, "@radix-ui/react-id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz", @@ -8455,6 +8963,28 @@ "react-remove-scroll": "2.5.4" } }, + "@radix-ui/react-navigation-menu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.0.0.tgz", + "integrity": "sha512-HbwG3A9z9zdcan0076EbTXqMvmQeesC3nOMEL7XtWqBnxPo8MLStk0vMs0hjIQ+9O9/KTcEJq+TeRX2pUuvuSg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-visually-hidden": "1.0.0" + } + }, "@radix-ui/react-popover": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.0.tgz", @@ -8523,6 +9053,16 @@ "@radix-ui/react-slot": "1.0.0" } }, + "@radix-ui/react-progress": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.0.0.tgz", + "integrity": "sha512-j+JHtTuDpIhF0eOolNug+8hpZqNXcXp2GhTtwz+lnFzhY2a8+LXRSU79iy0r0WUs7UqCXCEeIJIrhg7NS/vPGA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-primitive": "1.0.0" + } + }, "@radix-ui/react-radio-group": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.0.0.tgz", @@ -8576,6 +9116,44 @@ "@radix-ui/react-use-layout-effect": "1.0.0" } }, + "@radix-ui/react-select": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.0.0.tgz", + "integrity": "sha512-GfbVBxx7JPvytNT+0XYCFCOImEMmpl0Vg7hhifLaLV7p5zRottFMgQ7qrrxw8v6B8buKXz41kWYMrdRrWqsZaQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.0", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.0", + "@radix-ui/react-focus-guards": "1.0.0", + "@radix-ui/react-focus-scope": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-label": "1.0.0", + "@radix-ui/react-portal": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-slot": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-visually-hidden": "1.0.0", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.4" + } + }, + "@radix-ui/react-separator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.0.tgz", + "integrity": "sha512-narSsDP+CKJWEOV9Yx9aOpw4bLaNRNIvnqmfx30mAJAJ9wPKoyVmcLzFj0Hyx3yQNZx7EokMwW6KtMyxN5jDUw==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.0" + } + }, "@radix-ui/react-slider": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.0.0.tgz", @@ -8620,6 +9198,83 @@ "@radix-ui/react-use-size": "1.0.0" } }, + "@radix-ui/react-tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.0.tgz", + "integrity": "sha512-oKUwEDsySVC0uuSEH7SHCVt1+ijmiDFAI9p+fHCtuZdqrRDKIFs09zp5nrmu4ggP6xqSx9lj1VSblnDH+n3IBA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-roving-focus": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + } + }, + "@radix-ui/react-toast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.0.0.tgz", + "integrity": "sha512-mdoF6rahgushdev0OX+9a7JKoH0xZAZBo2Ktf/s779S7EnkZeL3/MFiRIV5LpRP5CtASmfdSD3FLnEvG1RHRtQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.0", + "@radix-ui/react-portal": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0", + "@radix-ui/react-visually-hidden": "1.0.0" + } + }, + "@radix-ui/react-toggle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.0.tgz", + "integrity": "sha512-RvY06eyDlZMC4rZdWK8jNovEDKf2jBvYFOB4rkQ/ypMOjFQuoh2QodlxlGakrZDrLnfxzyNnn/pg88CWVtAAdw==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + } + }, + "@radix-ui/react-toggle-group": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.0.tgz", + "integrity": "sha512-R/5sK4/BPgOYWAsheFaFpNFh0sLPHdqsBcqO5KW2+Foy36B2KBYrGd6Hu4HnzgivawVX+mSmVNhAwHA8Yb1hLA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-roving-focus": "1.0.0", + "@radix-ui/react-toggle": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + } + }, + "@radix-ui/react-toolbar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.0.tgz", + "integrity": "sha512-IvE13O0MP7pNc4c87Q7JPOyyXKRUJBjvqfoC/wCPxLlCz4ijoW+cU7J0Rw9Rj5TScyhUyinLL014j2uBH9O0EA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-primitive": "1.0.0", + "@radix-ui/react-roving-focus": "1.0.0", + "@radix-ui/react-separator": "1.0.0", + "@radix-ui/react-toggle-group": "1.0.0" + } + }, "@radix-ui/react-tooltip": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.0.0.tgz", @@ -8722,6 +9377,67 @@ "resolved": "https://registry.npmjs.org/@rose-pine/palette/-/palette-3.0.1.tgz", "integrity": "sha512-HKPCy4Y+pa2nRV9RLOMjm5T7lwiKPoJdguq85jDIfkvrymshaRYJYurQybE/tF6KHzK4JrN8E0Epo2OLZj1wqg==" }, + "@samuwrite/markdown": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@samuwrite/markdown/-/markdown-1.0.0.tgz", + "integrity": "sha512-LPcaMPO3sgRDBGgRsG4S1a3B6Qn36L/ek5VAQQLKtGDer22Ydz3nL1aB4KZKygaewRYX+vhDi2mydY0Jf53ihA==", + "requires": { + "rehype-dom-stringify": "^3.0.1", + "rehype-external-links": "^2.0.1", + "rehype-source-map": "^1.0.1", + "remark-gfm": "^3.0.1", + "remark-parse": "^10.0.1", + "remark-rehype": "^10.1.0", + "unified": "^10.1.2" + } + }, + "@samuwrite/radix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@samuwrite/radix/-/radix-1.0.0.tgz", + "integrity": "sha512-dkVtx3i3qTaWf4ajyCgv/0JHZjpXXyziasGAIMkV+3JkcMJNgHW+aHIrsLQjgoSPLrNOabHY+UY4mk7QMdHATA==", + "requires": { + "@radix-ui/react-accessible-icon": "^1.0.0", + "@radix-ui/react-accordion": "^1.0.0", + "@radix-ui/react-alert-dialog": "^1.0.0", + "@radix-ui/react-announce": "^0.1.5", + "@radix-ui/react-aspect-ratio": "^1.0.0", + "@radix-ui/react-avatar": "^1.0.0", + "@radix-ui/react-checkbox": "^1.0.0", + "@radix-ui/react-collapsible": "^1.0.0", + "@radix-ui/react-context": "^1.0.0", + "@radix-ui/react-context-menu": "^1.0.0", + "@radix-ui/react-dialog": "^1.0.0", + "@radix-ui/react-dropdown-menu": "^1.0.0", + "@radix-ui/react-hover-card": "^1.0.0", + "@radix-ui/react-id": "^1.0.0", + "@radix-ui/react-label": "^1.0.0", + "@radix-ui/react-menu": "^1.0.0", + "@radix-ui/react-navigation-menu": "^1.0.0", + "@radix-ui/react-popover": "^1.0.0", + "@radix-ui/react-portal": "^1.0.0", + "@radix-ui/react-primitive": "^1.0.0", + "@radix-ui/react-progress": "^1.0.0", + "@radix-ui/react-radio-group": "^1.0.0", + "@radix-ui/react-scroll-area": "^1.0.0", + "@radix-ui/react-select": "^1.0.0", + "@radix-ui/react-separator": "^1.0.0", + "@radix-ui/react-slider": "^1.0.0", + "@radix-ui/react-slot": "^1.0.0", + "@radix-ui/react-switch": "^1.0.0", + "@radix-ui/react-tabs": "^1.0.0", + "@radix-ui/react-toast": "^1.0.0", + "@radix-ui/react-toggle": "^1.0.0", + "@radix-ui/react-toggle-group": "^1.0.0", + "@radix-ui/react-toolbar": "^1.0.0", + "@radix-ui/react-tooltip": "^1.0.0", + "@radix-ui/react-visually-hidden": "^1.0.0" + } + }, + "@samuwrite/tailwind": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@samuwrite/tailwind/-/tailwind-1.0.3.tgz", + "integrity": "sha512-Vb/zaKSx35GVJNe/I9vfESQM74rnL4AAZJXvZCoCaPEsJtGslFamkgABYI3COQmWCms7ahFNIYQJWfurfOvmqQ==" + }, "@swc/helpers": { "version": "0.4.11", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", @@ -9151,9 +9867,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001410", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz", - "integrity": "sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ==", + "version": "1.0.30001412", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", + "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", "dev": true }, "ccount": { @@ -10965,9 +11681,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "msgpackr": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.7.0.tgz", - "integrity": "sha512-/lumbjWnrRn8mZ8TEJXbFpkRDSei94CcqwcgbyuE0hT2/f6az2Fmi4ojNUOUTS9T8AYyADrmoPvCiLL9+ufvsA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.7.1.tgz", + "integrity": "sha512-p2YUTuwFAUtoPACKPDfoibJn4oBuzSCXs0/AudNLqczL8R2Ult32987Ih69df5zaaMnWT/3JizgP8q8d3s2ZlQ==", "dev": true, "requires": { "msgpackr-extract": "^2.1.2" diff --git a/web/package.json b/web/package.json index 240638c..7bdf1bf 100644 --- a/web/package.json +++ b/web/package.json @@ -21,28 +21,14 @@ }, "dependencies": { "@primer/octicons-react": "17.5.0", - "@radix-ui/react-alert-dialog": "^1.0.0", - "@radix-ui/react-dropdown-menu": "1.0.0", - "@radix-ui/react-label": "1.0.0", - "@radix-ui/react-popover": "1.0.0", - "@radix-ui/react-radio-group": "1.0.0", - "@radix-ui/react-scroll-area": "1.0.0", - "@radix-ui/react-slider": "^1.0.0", - "@radix-ui/react-slot": "^1.0.0", - "@radix-ui/react-switch": "1.0.0", - "@radix-ui/react-tooltip": "1.0.0", "@rose-pine/palette": "3.0.1", + "@samuwrite/markdown": "^1.0.0", + "@samuwrite/radix": "^1.0.0", + "@samuwrite/tailwind": "^1.0.3", "monaco-editor": "0.31.0", "monaco-vim": "0.3.4", - "react": "18.2.0", "react-dom": "18.2.0", - "rehype-dom-stringify": "3.0.1", - "rehype-external-links": "2.0.1", - "rehype-source-map": "1.0.1", - "remark-gfm": "3.0.1", - "remark-parse": "10.0.1", - "remark-rehype": "10.1.0", - "tinykeys": "1.4.0", - "unified": "10.1.2" + "react": "18.2.0", + "tinykeys": "1.4.0" } } diff --git a/web/src/app/app.tsx b/web/src/app/app.tsx index 386c582..a5d12a1 100644 --- a/web/src/app/app.tsx +++ b/web/src/app/app.tsx @@ -1,4 +1,4 @@ -import { TooltipProvider } from "@radix-ui/react-tooltip"; +import { Tooltip } from "@samuwrite/radix"; import { useState } from "react"; import { Doc } from "../doc/type"; import { Editor } from "../editor/type"; @@ -53,7 +53,7 @@ export const App = (): JSX.Element => { return ( - {app} + {app} ); }; diff --git a/web/src/button/button.tsx b/web/src/button/button.tsx index 3183d20..1fd48c2 100644 --- a/web/src/button/button.tsx +++ b/web/src/button/button.tsx @@ -1,4 +1,4 @@ -import { Slot } from "@radix-ui/react-slot"; +import { Slot } from "@samuwrite/radix"; import { ButtonHTMLAttributes, forwardRef } from "react"; import { outline } from "../outline/outline"; import * as s from "./button.module.css"; @@ -11,7 +11,7 @@ interface Props extends ButtonHTMLAttributes { export const Button = forwardRef( (props, ref): JSX.Element => { const { asChild, primary, ...rest } = props; - const Comp = asChild ? Slot : "button"; + const Comp = asChild ? Slot.Root : "button"; return ( => { - const file = await processor.process(editor.getValue()); - const html = file.toString(); - return html; -}; - export const usePreviewHtml = (params: Params): string => { const { editor } = params; @@ -34,10 +13,14 @@ export const usePreviewHtml = (params: Params): string => { useEffect(() => { // Set initial value - getHtml(editor).then((text) => setHtml(text)); + getHtml(editor.getValue()).then((text) => setHtml(text)); // Listen for changes - const handler = async () => setHtml(await getHtml(editor)); + const handler = async () => { + const markdown = editor.getValue(); + const html = await getHtml(markdown); + setHtml(html); + }; const listeners = [ editor.onDidChangeModelContent(handler), editor.onDidChangeModel(handler), // Open new file diff --git a/web/src/prompt/dialog.tsx b/web/src/prompt/dialog.tsx index 90b1737..5761701 100644 --- a/web/src/prompt/dialog.tsx +++ b/web/src/prompt/dialog.tsx @@ -1,4 +1,4 @@ -import * as Radix from "@radix-ui/react-alert-dialog"; +import { AlertDialog as Radix } from "@samuwrite/radix"; import { ReactNode } from "react"; import { animation } from "../animation/animation"; import { Card } from "../card/card"; diff --git a/web/src/scroll/scroll.tsx b/web/src/scroll/scroll.tsx index 03c1913..a1965dd 100644 --- a/web/src/scroll/scroll.tsx +++ b/web/src/scroll/scroll.tsx @@ -1,4 +1,4 @@ -import * as Radix from "@radix-ui/react-scroll-area"; +import { ScrollArea as Radix } from "@samuwrite/radix"; import { ReactNode } from "react"; import * as s from "./scroll.module.css"; diff --git a/web/src/settings/radio/group.tsx b/web/src/settings/radio/group.tsx index 6e35ebc..dfbac72 100644 --- a/web/src/settings/radio/group.tsx +++ b/web/src/settings/radio/group.tsx @@ -1,9 +1,8 @@ -import { RadioGroup, RadioGroupProps } from "@radix-ui/react-radio-group"; -import { Label } from "@radix-ui/react-label"; +import { RadioGroup, Label } from "@samuwrite/radix"; import { SettingsRadioOption } from "./option"; import * as s from "./group.module.css"; -interface Props extends RadioGroupProps { +interface Props extends RadioGroup.RadioGroupProps { label: string; options: { value: string; label: string; icon: JSX.Element }[]; } @@ -11,8 +10,8 @@ interface Props extends RadioGroupProps { export const SettingsRadioGroup = (props: Props): JSX.Element => { const { label, options, ...rest } = props; return ( - - {label} + + {label} {options.map((option) => ( { /> ))} - + ); }; diff --git a/web/src/settings/radio/option.tsx b/web/src/settings/radio/option.tsx index e134979..ae05021 100644 --- a/web/src/settings/radio/option.tsx +++ b/web/src/settings/radio/option.tsx @@ -1,4 +1,4 @@ -import { RadioGroupItem } from "@radix-ui/react-radio-group"; +import { RadioGroup } from "@samuwrite/radix"; import { outline } from "../../outline/outline"; import * as s from "./option.module.css"; @@ -12,12 +12,12 @@ export const SettingsRadioOption = (props: Props): JSX.Element => { const { icon, label, value } = props; return ( - {icon} {label} - + ); }; diff --git a/web/src/settings/slider/slider.tsx b/web/src/settings/slider/slider.tsx index 52477c2..0df584b 100644 --- a/web/src/settings/slider/slider.tsx +++ b/web/src/settings/slider/slider.tsx @@ -1,5 +1,5 @@ import { Slider, SliderProps } from "../../slider/slider"; -import { Label } from "@radix-ui/react-label"; +import { Label } from "@samuwrite/radix"; import * as s from "./slider.module.css"; interface Props { @@ -21,9 +21,9 @@ export const SettingsSlider = (props: Props): JSX.Element => { return ( - + {label} - + {value} diff --git a/web/src/settings/switch/switch.tsx b/web/src/settings/switch/switch.tsx index d007788..1705775 100644 --- a/web/src/settings/switch/switch.tsx +++ b/web/src/settings/switch/switch.tsx @@ -1,4 +1,4 @@ -import { Label } from "@radix-ui/react-label"; +import { Label } from "@samuwrite/radix"; import { SwitchButton } from "../../switch/switch"; import * as s from "./switch.module.css"; @@ -13,7 +13,7 @@ export const SettingsSwitch = (props: Props): JSX.Element => { const { id, checked, setChecked, label } = props; return ( - {label} + {label} ); diff --git a/web/src/slider/slider.tsx b/web/src/slider/slider.tsx index 14e9e00..d4100e9 100644 --- a/web/src/slider/slider.tsx +++ b/web/src/slider/slider.tsx @@ -1,4 +1,4 @@ -import * as Radix from "@radix-ui/react-slider"; +import { Slider as Radix } from "@samuwrite/radix"; import { CSSProperties } from "react"; import { outline } from "../outline/outline"; import * as s from "./slider.module.css"; diff --git a/web/src/switch/switch.tsx b/web/src/switch/switch.tsx index 4c2536c..0f9195e 100644 --- a/web/src/switch/switch.tsx +++ b/web/src/switch/switch.tsx @@ -1,7 +1,7 @@ import { DashIcon, DotIcon } from "@primer/octicons-react"; +import { Switch as Radix } from "@samuwrite/radix"; import { outline } from "../outline/outline"; import * as s from "./switch.module.css"; -import * as Radix from "@radix-ui/react-switch"; interface Props extends Radix.SwitchProps {} diff --git a/web/src/tooltip/tooltip.tsx b/web/src/tooltip/tooltip.tsx index 588e9a0..bf8b326 100644 --- a/web/src/tooltip/tooltip.tsx +++ b/web/src/tooltip/tooltip.tsx @@ -1,4 +1,4 @@ -import * as Radix from "@radix-ui/react-tooltip"; +import { Tooltip as Radix } from "@samuwrite/radix"; import { ReactNode } from "react"; import { Card } from "../card/card"; import * as s from "./tooltip.module.css"; diff --git a/web/tsconfig.json b/web/tsconfig.json index 1a27356..d64edf2 100644 --- a/web/tsconfig.json +++ b/web/tsconfig.json @@ -4,7 +4,6 @@ "moduleResolution": "node", "strict": true, "jsx": "react-jsx", - "plugins": [{ "name": "typescript-plugin-css-modules" }], // Rose pine vsc themes are JSON "resolveJsonModule": true, // Require to import JSON