From 25d86d5d3c2c3c05649478162348b63bae80981a Mon Sep 17 00:00:00 2001 From: Davis SHYAKA <87414827+davis-shyaka@users.noreply.github.com> Date: Wed, 25 Sep 2024 13:39:47 +0200 Subject: [PATCH 01/27] feat: Charts --- pnpm-lock.yaml | 286 +++++++++++++++++- sites/docs/package.json | 4 + .../lib/components/docs/announcement.svelte | 23 +- .../lib/components/docs/chart-display.svelte | 25 ++ .../src/lib/components/docs/charts-nav.svelte | 62 ++++ sites/docs/src/lib/components/docs/index.ts | 2 + .../lib/components/docs/nav/main-nav.svelte | 33 +- .../page-header/page-header-actions.svelte | 10 +- .../page-header-description.svelte | 13 +- .../page-header/page-header-heading.svelte | 9 +- .../docs/page-header/page-header.svelte | 9 +- sites/docs/src/lib/config/docs.ts | 12 +- .../block/charts/chart-area-axes.svelte | 93 ++++++ .../block/charts/chart-area-default.svelte | 84 +++++ .../block/charts/chart-area-gradient.svelte | 0 .../block/charts/chart-area-icons.svelte | 95 ++++++ .../charts/chart-area-interactive.svelte | 0 .../block/charts/chart-area-legend.svelte | 0 .../block/charts/chart-area-linear.svelte | 79 +++++ .../charts/chart-area-stacked-expand.svelte | 0 .../block/charts/chart-area-stacked.svelte | 93 ++++++ .../block/charts/chart-area-step.svelte | 81 +++++ .../block/charts/chart-bar-multiple.svelte | 78 +++++ .../block/charts/chart-pie-donut-text.svelte | 0 .../registry/new-york/block/charts/index.ts | 14 + .../new-york/ui/chart/chart-container.svelte | 31 ++ .../new-york/ui/chart/chart-legend.svelte | 0 .../new-york/ui/chart/chart-tooltip.svelte | 83 +++++ .../lib/registry/new-york/ui/chart/index.ts | 56 ++++ .../src/routes/(app)/charts/+layout.svelte | 22 ++ .../docs/src/routes/(app)/charts/+page.svelte | 68 +++++ .../docs/src/routes/(app)/colors/+page.svelte | 2 +- .../docs/src/routes/(app)/themes/+page.svelte | 2 +- sites/docs/src/styles/globals.css | 12 + 34 files changed, 1323 insertions(+), 58 deletions(-) create mode 100644 sites/docs/src/lib/components/docs/chart-display.svelte create mode 100644 sites/docs/src/lib/components/docs/charts-nav.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-axes.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-default.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-gradient.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-icons.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-interactive.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-legend.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-linear.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-stacked-expand.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-stacked.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-area-step.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-bar-multiple.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/chart-pie-donut-text.svelte create mode 100644 sites/docs/src/lib/registry/new-york/block/charts/index.ts create mode 100644 sites/docs/src/lib/registry/new-york/ui/chart/chart-container.svelte create mode 100644 sites/docs/src/lib/registry/new-york/ui/chart/chart-legend.svelte create mode 100644 sites/docs/src/lib/registry/new-york/ui/chart/chart-tooltip.svelte create mode 100644 sites/docs/src/lib/registry/new-york/ui/chart/index.ts create mode 100644 sites/docs/src/routes/(app)/charts/+layout.svelte create mode 100644 sites/docs/src/routes/(app)/charts/+page.svelte diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 859c438b0..16ff91a41 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -215,6 +215,9 @@ importers: '@internationalized/date': specifier: ^3.5.2 version: 3.5.5 + '@layerstack/utils': + specifier: ^0.0.4 + version: 0.0.4 '@unovis/svelte': specifier: 1.3.6-beta.1 version: 1.3.6-beta.1(@unovis/ts@1.3.6-beta.1)(svelte@4.2.18) @@ -233,6 +236,9 @@ importers: d3-scale: specifier: ^4.0.2 version: 4.0.2 + d3-shape: + specifier: ^3.2.0 + version: 3.2.0 embla-carousel-autoplay: specifier: 8.0.0-rc19 version: 8.0.0-rc19(embla-carousel@8.0.0-rc19) @@ -242,6 +248,9 @@ importers: formsnap: specifier: ^0.5.1 version: 0.5.1(svelte@4.2.18)(sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@18.19.43)))(svelte@4.2.18)(vite@5.3.5(@types/node@18.19.43)))(svelte@4.2.18)) + layerchart: + specifier: ^0.51.2 + version: 0.51.2(svelte@4.2.18)(typescript@5.5.4) lucide-svelte: specifier: ^0.363.0 version: 0.363.0(svelte@4.2.18) @@ -300,6 +309,9 @@ importers: '@types/d3-scale': specifier: ^4.0.8 version: 4.0.8 + '@types/d3-shape': + specifier: ^3.1.6 + version: 3.1.6 '@types/hast': specifier: ^3.0.4 version: 3.0.4 @@ -1378,6 +1390,18 @@ packages: '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + '@layerstack/svelte-actions@0.0.4': + resolution: {integrity: sha512-tC6+KfqU0t/ugj222sPljb9qkmIpZljaXh2YVKKhsyHGmTS5FRSinr3GFOONOJbQxCQjA7XhIgcSGkFHypaJig==} + + '@layerstack/svelte-stores@0.0.4': + resolution: {integrity: sha512-pO5N+5XtSlGn1a7BhNgQJj/KQQ6IEYZImlGZbIboKJ5nlnvHpSywwqJaUvzPP7yRNGQQEDje/mnIm0m1Rbxrwg==} + + '@layerstack/tailwind@0.0.6': + resolution: {integrity: sha512-gmBwg3JYddylrodNd6Y4cz0xT/3HVWKsu/QEi5u2fps7hCsYMuI/gr3sil/zDCeuUXm2OOxerWosRBYfX7YqWA==} + + '@layerstack/utils@0.0.4': + resolution: {integrity: sha512-EjN9SoJlOo9GAX0KMy+3D3Tpw63n46owHwmo1vK4niZFpQA0gdoDfwHTw6yVkxe71mcHDKKyV62Yc/buezWXwg==} + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -2121,6 +2145,9 @@ packages: arktype@2.0.0-beta.0: resolution: {integrity: sha512-fE3ssMiXjr/bLqFPzlDhRlXngdyHQreu7p7i8+dtcY1CA+f8WrVUcue6JxywhnqEJXPG4HOcIwQcC+q4VfeUMQ==} + array-source@0.0.4: + resolution: {integrity: sha512-frNdc+zBn80vipY+GdcJkLEbMWj3xmzArYApmUGxoiV8uAu/ygcs9icPdsGdA26h0MkHUMW6EN2piIvVx+M5Mw==} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -2404,6 +2431,10 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + culori@4.0.1: + resolution: {integrity: sha512-LSnjA6HuIUOlkfKVbzi2OlToZE8OjFi667JWN9qNymXVXzGDmvuP60SSgC+e92sd7B7158f7Fy3Mb6rXS5EDPw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + d3-array@2.12.1: resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} @@ -2472,6 +2503,10 @@ packages: engines: {node: '>=12'} hasBin: true + d3-geo-voronoi@2.1.0: + resolution: {integrity: sha512-kqE4yYuOjPbKdBXG0xztCacPwkVSK2REF1opSNrnqqtXJmNcM++UbwQ8SxvwP6IQTj9RvIjjK4qeiVsEfj0Z2Q==} + engines: {node: '>=12'} + d3-geo@3.1.1: resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} engines: {node: '>=12'} @@ -2528,6 +2563,9 @@ packages: resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} engines: {node: '>=12'} + d3-tile@1.0.0: + resolution: {integrity: sha512-79fnTKpPMPDS5xQ0xuS9ir0165NEwwkFpe/DSOmc2Gl9ldYzKKRDWogmTTE8wAJ8NA7PMapNfEcyKhI9Lxdu5Q==} + d3-time-format@4.1.0: resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} engines: {node: '>=12'} @@ -2546,6 +2584,10 @@ packages: peerDependencies: d3-selection: 2 - 3 + d3-tricontour@1.0.2: + resolution: {integrity: sha512-HIRxHzHagPtUPNabjOlfcyismJYIsc+Xlq4mlsts4e8eAcwyq9Tgk/sYdyhlBpQ0MHwVquc/8j+e29YjXnmxeA==} + engines: {node: '>=12'} + d3-zoom@3.0.0: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} @@ -2554,6 +2596,9 @@ packages: resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} engines: {node: '>=12'} + date-fns@3.6.0: + resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + dayjs@1.11.12: resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==} @@ -3001,10 +3046,16 @@ packages: fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + fflate@0.4.8: + resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + file-source@0.6.1: + resolution: {integrity: sha512-1R1KneL7eTXmXfKxC10V/9NeGOdbsAXJ+lQ//fvvcHUgtaZcZDWNJNblxAoVOyV1cj45pOtUrR3vZTBwqcW8XA==} + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -3267,6 +3318,9 @@ packages: resolution: {integrity: sha512-XDUx3Ac1VrZ4XF5eAJNYdHbFXRPNyebHFrwJsZ4WHb7X2MitOVW23cFphSDByT3MH5rdWdxKr4edSW2agChvDg==} engines: {node: '>=18.0.0'} + immer@10.1.1: + resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -3476,6 +3530,17 @@ packages: known-css-properties@0.34.0: resolution: {integrity: sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==} + layercake@8.3.4: + resolution: {integrity: sha512-r5OrzTxpDp0BQm9m5kJTIzsD5o9nbOkxXTaMzce1LPTigs9PnQfvfjnsAdj/tXpe15BJaP1RVWFgnMDSghJhXw==} + peerDependencies: + svelte: 3 - 5 || >=5.0.0-next.120 + typescript: ^5.0.2 + + layerchart@0.51.2: + resolution: {integrity: sha512-AC4j5vcOCCB9YNSdXcA2YHy6RjHQ6s2fmkXetEVD2jDGzFxVB5F5szJUBYYe6QZnd9MzIsASz/hEe4JiHUmu7w==} + peerDependencies: + svelte: ^3.56.0 || ^4.0.0 || ^5.0.0-next.120 + leaflet@1.7.1: resolution: {integrity: sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw==} @@ -3986,6 +4051,9 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-source@0.1.3: + resolution: {integrity: sha512-dWRHm5mIw5kw0cs3QZLNmpUWty48f5+5v9nWD2dw3Y0Hf+s01Ag8iJEWV0Sm0kocE8kK27DrIowha03e1YR+Qw==} + path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -4149,9 +4217,15 @@ packages: resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} + posthog-js@1.164.3: + resolution: {integrity: sha512-MKtvSfaFgrkBUD9X8tJUKsJ/FXKTMR+Qg1AYrMfLXabsCawAe3HFLhwMpWVlbBXHRj/oumtchNbd69jtAMexEQ==} + potpack@1.0.2: resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==} + preact@10.24.1: + resolution: {integrity: sha512-PnBAwFI3Yjxxcxw75n6VId/5TFxNW/81zexzWD9jn1+eSrOP84NdsS38H5IkF/UH3frqRPT+MvuCoVHjTDTnDw==} + preferred-pm@3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} engines: {node: '>=10'} @@ -4420,6 +4494,10 @@ packages: set-cookie-parser@2.7.0: resolution: {integrity: sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==} + shapefile@0.6.6: + resolution: {integrity: sha512-rLGSWeK2ufzCVx05wYd+xrWnOOdSV7xNUW5/XFgx3Bc02hBkpMlrd2F1dDII7/jhWzv0MSyBFh5uJIy9hLdfuw==} + hasBin: true + sharp@0.33.4: resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==} engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -4474,6 +4552,9 @@ packages: slashes@3.0.12: resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} + slice-source@0.4.1: + resolution: {integrity: sha512-YiuPbxpCj4hD9Qs06hGAz/OZhQ0eDuALN0lRWJez0eD/RevzKqGdUx1IOMUnXgpr+sXZLq3g8ERwbAH0bCb8vg==} + sorcery@0.11.1: resolution: {integrity: sha512-o7npfeJE6wi6J9l0/5LKshFzZ2rMatRiCDwYeDQaOzqdzRJwALhX7mk/A/ecg6wjMu7wdZbmXfD2S/vpOg0bdQ==} hasBin: true @@ -4530,6 +4611,9 @@ packages: std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + stream-source@0.3.5: + resolution: {integrity: sha512-ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -4744,12 +4828,20 @@ packages: tailwind-merge@2.4.0: resolution: {integrity: sha512-49AwoOQNKdqKPd9CViyH5wJoSKsCDjUlzL8DxuGp3P1FsGY36NJDAa18jLZcaHAUUuTj+JB8IAo8zWgBNvBF7A==} + tailwind-merge@2.5.2: + resolution: {integrity: sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==} + tailwind-variants@0.1.20: resolution: {integrity: sha512-AMh7x313t/V+eTySKB0Dal08RHY7ggYK0MSn/ad8wKWOrDUIzyiWNayRUm2PIJ4VRkvRnfNuyRuKbLV3EN+ewQ==} engines: {node: '>=16.x', pnpm: '>=7.x'} peerDependencies: tailwindcss: '*' + tailwindcss@3.4.13: + resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==} + engines: {node: '>=14.0.0'} + hasBin: true + tailwindcss@3.4.7: resolution: {integrity: sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==} engines: {node: '>=14.0.0'} @@ -4763,6 +4855,10 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} + text-encoding@0.6.4: + resolution: {integrity: sha512-hJnc6Qg3dWoOMkqP53F0dzRIgtmsAge09kxUIqGrEUS4qr5rWLckGYaQAVr+opBrIMRErGgy6f5aPnyPpyGRfg==} + deprecated: no longer maintained + text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -5155,6 +5251,9 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + web-vitals@4.2.3: + resolution: {integrity: sha512-/CFAm1mNxSmOj6i0Co+iGFJ58OS4NRGVP+AWS/l509uIK5a1bSoIVaHz/ZumpHTfHSZBpgrJ+wjfpAOrTHok5Q==} + webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -5269,7 +5368,7 @@ snapshots: '@antfu/install-pkg': 0.3.3 '@clack/prompts': 0.7.0 '@stylistic/eslint-plugin': 2.6.1(eslint@9.8.0)(typescript@5.5.4) - '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/parser': 8.0.1(eslint@9.8.0)(typescript@5.5.4) eslint: 9.8.0 eslint-config-flat-gitignore: 0.1.8 @@ -5288,8 +5387,8 @@ snapshots: eslint-plugin-regexp: 2.6.0(eslint@9.8.0) eslint-plugin-toml: 0.11.1(eslint@9.8.0) eslint-plugin-unicorn: 55.0.0(eslint@9.8.0) - eslint-plugin-unused-imports: 4.0.1(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0) - eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)(vitest@1.6.0(@types/node@18.19.43)) + eslint-plugin-unused-imports: 4.0.1(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0) + eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)(vitest@1.6.0(@types/node@18.19.43)) eslint-plugin-vue: 9.27.0(eslint@9.8.0) eslint-plugin-yml: 1.14.0(eslint@9.8.0) eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.36)(eslint@9.8.0) @@ -6131,6 +6230,43 @@ snapshots: '@juggle/resize-observer@3.4.0': {} + '@layerstack/svelte-actions@0.0.4': + dependencies: + '@floating-ui/dom': 1.6.10 + '@layerstack/utils': 0.0.4 + d3-array: 3.2.4 + d3-scale: 4.0.2 + date-fns: 3.6.0 + lodash-es: 4.17.21 + + '@layerstack/svelte-stores@0.0.4': + dependencies: + '@layerstack/utils': 0.0.4 + d3-array: 3.2.4 + date-fns: 3.6.0 + immer: 10.1.1 + lodash-es: 4.17.21 + zod: 3.23.8 + + '@layerstack/tailwind@0.0.6': + dependencies: + '@layerstack/utils': 0.0.4 + clsx: 2.1.1 + culori: 4.0.1 + d3-array: 3.2.4 + date-fns: 3.6.0 + lodash-es: 4.17.21 + tailwind-merge: 2.5.2 + tailwindcss: 3.4.13 + transitivePeerDependencies: + - ts-node + + '@layerstack/utils@0.0.4': + dependencies: + d3-array: 3.2.4 + date-fns: 3.6.0 + lodash-es: 4.17.21 + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.21.5 @@ -6693,10 +6829,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.0.1(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/parser': 7.18.0(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/scope-manager': 8.0.1 '@typescript-eslint/type-utils': 8.0.1(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/utils': 8.0.1(eslint@9.8.0)(typescript@5.5.4) @@ -7056,6 +7192,8 @@ snapshots: '@ark/util': 0.1.0 optional: true + array-source@0.0.4: {} + array-union@2.1.0: {} assertion-error@1.1.0: {} @@ -7326,6 +7464,8 @@ snapshots: csstype@3.1.3: {} + culori@4.0.1: {} + d3-array@2.12.1: dependencies: internmap: 1.0.1 @@ -7393,6 +7533,13 @@ snapshots: d3-array: 3.2.4 d3-geo: 3.1.1 + d3-geo-voronoi@2.1.0: + dependencies: + d3-array: 3.2.4 + d3-delaunay: 6.0.4 + d3-geo: 3.1.1 + d3-tricontour: 1.0.2 + d3-geo@3.1.1: dependencies: d3-array: 3.2.4 @@ -7443,6 +7590,8 @@ snapshots: dependencies: d3-path: 3.1.0 + d3-tile@1.0.0: {} + d3-time-format@4.1.0: dependencies: d3-time: 3.1.0 @@ -7462,6 +7611,11 @@ snapshots: d3-selection: 3.0.0 d3-timer: 3.0.1 + d3-tricontour@1.0.2: + dependencies: + d3-delaunay: 6.0.4 + d3-scale: 4.0.2 + d3-zoom@3.0.0: dependencies: d3-dispatch: 3.0.1 @@ -7503,6 +7657,8 @@ snapshots: d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 + date-fns@3.6.0: {} + dayjs@1.11.12: optional: true @@ -7920,19 +8076,19 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.0.1(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0): + eslint-plugin-unused-imports@4.0.1(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0): dependencies: eslint: 9.8.0 eslint-rule-composer: 0.3.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)(vitest@1.6.0(@types/node@18.19.43)): + eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)(vitest@1.6.0(@types/node@18.19.43)): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.4) eslint: 9.8.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) vitest: 1.6.0(@types/node@18.19.43) transitivePeerDependencies: - supports-color @@ -8126,10 +8282,16 @@ snapshots: dependencies: reusify: 1.0.4 + fflate@0.4.8: {} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 + file-source@0.6.1: + dependencies: + stream-source: 0.3.5 + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 @@ -8467,6 +8629,8 @@ snapshots: imagetools-core@7.0.1: {} + immer@10.1.1: {} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -8633,6 +8797,51 @@ snapshots: known-css-properties@0.34.0: {} + layercake@8.3.4(svelte@4.2.18)(typescript@5.5.4): + dependencies: + d3-array: 3.2.4 + d3-color: 3.1.0 + d3-scale: 4.0.2 + d3-shape: 3.2.0 + svelte: 4.2.18 + typescript: 5.5.4 + + layerchart@0.51.2(svelte@4.2.18)(typescript@5.5.4): + dependencies: + '@layerstack/svelte-actions': 0.0.4 + '@layerstack/svelte-stores': 0.0.4 + '@layerstack/tailwind': 0.0.6 + '@layerstack/utils': 0.0.4 + d3-array: 3.2.4 + d3-color: 3.1.0 + d3-delaunay: 6.0.4 + d3-dsv: 3.0.1 + d3-force: 3.0.0 + d3-geo: 3.1.1 + d3-geo-voronoi: 2.1.0 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-interpolate-path: 2.3.0 + d3-path: 3.1.0 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-sankey: 0.12.3 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-shape: 3.2.0 + d3-tile: 1.0.0 + d3-time: 3.1.0 + date-fns: 3.6.0 + layercake: 8.3.4(svelte@4.2.18)(typescript@5.5.4) + lodash-es: 4.17.21 + posthog-js: 1.164.3 + shapefile: 0.6.6 + svelte: 4.2.18 + topojson-client: 3.1.0 + transitivePeerDependencies: + - ts-node + - typescript + leaflet@1.7.1: {} levn@0.4.1: @@ -9326,6 +9535,11 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + path-source@0.1.3: + dependencies: + array-source: 0.0.4 + file-source: 0.6.1 + path-type@4.0.0: {} pathe@1.1.2: {} @@ -9445,8 +9659,16 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 + posthog-js@1.164.3: + dependencies: + fflate: 0.4.8 + preact: 10.24.1 + web-vitals: 4.2.3 + potpack@1.0.2: {} + preact@10.24.1: {} + preferred-pm@3.0.3: dependencies: find-up: 5.0.0 @@ -9709,6 +9931,15 @@ snapshots: set-cookie-parser@2.7.0: {} + shapefile@0.6.6: + dependencies: + array-source: 0.0.4 + commander: 2.20.3 + path-source: 0.1.3 + slice-source: 0.4.1 + stream-source: 0.3.5 + text-encoding: 0.6.4 + sharp@0.33.4: dependencies: color: 4.2.3 @@ -9776,6 +10007,8 @@ snapshots: slashes@3.0.12: {} + slice-source@0.4.1: {} + sorcery@0.11.1: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -9832,6 +10065,8 @@ snapshots: std-env@3.7.0: {} + stream-source@0.3.5: {} + string-argv@0.3.2: {} string-width@4.2.3: @@ -10092,11 +10327,40 @@ snapshots: tailwind-merge@2.4.0: {} + tailwind-merge@2.5.2: {} + tailwind-variants@0.1.20(tailwindcss@3.4.7): dependencies: tailwind-merge: 1.14.0 tailwindcss: 3.4.7 + tailwindcss@3.4.13: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.1 + postcss: 8.4.41 + postcss-import: 15.1.0(postcss@8.4.41) + postcss-js: 4.0.1(postcss@8.4.41) + postcss-load-config: 4.0.2(postcss@8.4.41) + postcss-nested: 6.2.0(postcss@8.4.41) + postcss-selector-parser: 6.1.1 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tailwindcss@3.4.7: dependencies: '@alloc/quick-lru': 5.2.0 @@ -10128,6 +10392,8 @@ snapshots: term-size@2.2.1: {} + text-encoding@0.6.4: {} + text-table@0.2.0: {} thenify-all@1.6.0: @@ -10571,6 +10837,8 @@ snapshots: web-namespaces@2.0.1: {} + web-vitals@4.2.3: {} + webidl-conversions@4.0.2: {} whatwg-url@7.1.0: diff --git a/sites/docs/package.json b/sites/docs/package.json index 798900e81..f57274880 100644 --- a/sites/docs/package.json +++ b/sites/docs/package.json @@ -31,6 +31,7 @@ "@sveltejs/kit": "^2.5.2", "@sveltejs/vite-plugin-svelte": "^3.0.2", "@types/d3-scale": "^4.0.8", + "@types/d3-shape": "^3.1.6", "@types/hast": "^3.0.4", "@types/lodash.template": "^4.5.3", "@types/mdast": "^4.0.3", @@ -64,15 +65,18 @@ "type": "module", "dependencies": { "@internationalized/date": "^3.5.2", + "@layerstack/utils": "^0.0.4", "@unovis/svelte": "1.3.6-beta.1", "@unovis/ts": "1.3.6-beta.1", "bits-ui": "0.21.4", "clsx": "^2.1.0", "cmdk-sv": "^0.0.15", "d3-scale": "^4.0.2", + "d3-shape": "^3.2.0", "embla-carousel-autoplay": "8.0.0-rc19", "embla-carousel-svelte": "8.0.0-rc19", "formsnap": "^0.5.1", + "layerchart": "^0.51.2", "lucide-svelte": "^0.363.0", "mode-watcher": "^0.2.2", "nanoid": "^5.0.6", diff --git a/sites/docs/src/lib/components/docs/announcement.svelte b/sites/docs/src/lib/components/docs/announcement.svelte index 1411bc843..c577de11b 100644 --- a/sites/docs/src/lib/components/docs/announcement.svelte +++ b/sites/docs/src/lib/components/docs/announcement.svelte @@ -1,23 +1,12 @@ - - + + - Introducing Lift Mode - + npx shadcn-svelte init + diff --git a/sites/docs/src/lib/components/docs/chart-display.svelte b/sites/docs/src/lib/components/docs/chart-display.svelte new file mode 100644 index 000000000..213097aba --- /dev/null +++ b/sites/docs/src/lib/components/docs/chart-display.svelte @@ -0,0 +1,25 @@ + + +
+ {name} + +
+ +
+
diff --git a/sites/docs/src/lib/components/docs/charts-nav.svelte b/sites/docs/src/lib/components/docs/charts-nav.svelte new file mode 100644 index 000000000..52c32e264 --- /dev/null +++ b/sites/docs/src/lib/components/docs/charts-nav.svelte @@ -0,0 +1,62 @@ + + + +
+ {#each links as example, index} + + {example.name} + + {/each} +
+
diff --git a/sites/docs/src/lib/components/docs/index.ts b/sites/docs/src/lib/components/docs/index.ts index f8b8ccb15..3cb845fdf 100644 --- a/sites/docs/src/lib/components/docs/index.ts +++ b/sites/docs/src/lib/components/docs/index.ts @@ -27,6 +27,8 @@ export { default as PMExecute } from "./pm-execute.svelte"; export { default as PMAddComp } from "./pm-add-comp.svelte"; export { default as PMCreate } from "./pm-create.svelte"; export { default as PMInstall } from "./pm-install.svelte"; +export { default as ChartsNav } from "./charts-nav.svelte"; +export { default as ChartDisplay } from "./chart-display.svelte"; export * from "./icons/index.js"; export * from "./page-header/index.js"; diff --git a/sites/docs/src/lib/components/docs/nav/main-nav.svelte b/sites/docs/src/lib/components/docs/nav/main-nav.svelte index 24516c9c1..57e714dd3 100644 --- a/sites/docs/src/lib/components/docs/nav/main-nav.svelte +++ b/sites/docs/src/lib/components/docs/nav/main-nav.svelte @@ -12,6 +12,7 @@ {siteConfig.name} +