@cloudflare/kumo 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/LICENSE +21 -0
- package/ai/component-registry.json +21 -2
- package/ai/component-registry.md +15 -2
- package/ai/schemas.ts +3 -1
- package/dist/.build-complete +1 -1
- package/dist/{breadcrumbs-B5SY2CWj.js → breadcrumbs-DyKi7BcP.js} +2 -2
- package/dist/{breadcrumbs-B5SY2CWj.js.map → breadcrumbs-DyKi7BcP.js.map} +1 -1
- package/dist/{button-E2-hZMZE.js → button-Bh96oxRL.js} +3 -3
- package/dist/{button-E2-hZMZE.js.map → button-Bh96oxRL.js.map} +1 -1
- package/dist/catalog.js +1 -1
- package/dist/{checkbox-BexIU_lZ.js → checkbox-C1LPq8eL.js} +3 -3
- package/dist/{checkbox-BexIU_lZ.js.map → checkbox-C1LPq8eL.js.map} +1 -1
- package/dist/{clipboard-text-BFHWMjmr.js → clipboard-text-CJSI9X2m.js} +3 -3
- package/dist/{clipboard-text-BFHWMjmr.js.map → clipboard-text-CJSI9X2m.js.map} +1 -1
- package/dist/{combobox-Dld0kS0U.js → combobox-CWxn5aHA.js} +4 -4
- package/dist/{combobox-Dld0kS0U.js.map → combobox-CWxn5aHA.js.map} +1 -1
- package/dist/command-line/cli.js +0 -0
- package/dist/command-line/commands/add.js +0 -0
- package/dist/command-line/commands/blocks.js +0 -0
- package/dist/command-line/commands/doc.js +0 -0
- package/dist/command-line/commands/init.js +0 -0
- package/dist/command-line/commands/ls.js +0 -0
- package/dist/{command-palette-BgQ680BG.js → command-palette-BxmGYxBv.js} +2 -2
- package/dist/{command-palette-BgQ680BG.js.map → command-palette-BxmGYxBv.js.map} +1 -1
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/clipboard-text.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/input.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/toast.js +6 -4
- package/dist/components/tooltip.js +1 -1
- package/dist/{dialog-B1TaN0oR.js → dialog-BxXPA2vI.js} +2 -2
- package/dist/{dialog-B1TaN0oR.js.map → dialog-BxXPA2vI.js.map} +1 -1
- package/dist/{dropdown-D0rhYKeG.js → dropdown-BAyk1knz.js} +7 -7
- package/dist/{dropdown-D0rhYKeG.js.map → dropdown-BAyk1knz.js.map} +1 -1
- package/dist/{empty-DzCqjea-.js → empty-D03cbzRS.js} +2 -2
- package/dist/{empty-DzCqjea-.js.map → empty-D03cbzRS.js.map} +1 -1
- package/dist/{field-V3J0Ql_V.js → field-B7ORz5ej.js} +3 -3
- package/dist/{field-V3J0Ql_V.js.map → field-B7ORz5ej.js.map} +1 -1
- package/dist/index.js +66 -65
- package/dist/{input-Dqvc2AB_.js → input-D6YgDfDG.js} +3 -3
- package/dist/{input-Dqvc2AB_.js.map → input-D6YgDfDG.js.map} +1 -1
- package/dist/{input-area-B9qajxvZ.js → input-area-DN_Ncliw.js} +10 -10
- package/dist/{input-area-B9qajxvZ.js.map → input-area-DN_Ncliw.js.map} +1 -1
- package/dist/{input-group-Bl6tgD5-.js → input-group-BXzBwH4p.js} +29 -29
- package/dist/{input-group-Bl6tgD5-.js.map → input-group-BXzBwH4p.js.map} +1 -1
- package/dist/{label-87HQArUG.js → label-B4FY8MX_.js} +2 -2
- package/dist/{label-87HQArUG.js.map → label-B4FY8MX_.js.map} +1 -1
- package/dist/{link-6TIZ4JIw.js → link-CcuZKqob.js} +8 -8
- package/dist/{link-6TIZ4JIw.js.map → link-CcuZKqob.js.map} +1 -1
- package/dist/{menubar-DLwLRFB1.js → menubar-CzimiryS.js} +2 -2
- package/dist/{menubar-DLwLRFB1.js.map → menubar-CzimiryS.js.map} +1 -1
- package/dist/{meter-DKUuvXxS.js → meter-BrJnHJ3Q.js} +2 -2
- package/dist/{meter-DKUuvXxS.js.map → meter-BrJnHJ3Q.js.map} +1 -1
- package/dist/{pagination-C4HQqodz.js → pagination-D0x9KQSk.js} +2 -2
- package/dist/{pagination-C4HQqodz.js.map → pagination-D0x9KQSk.js.map} +1 -1
- package/dist/{popover-DhdIqrP7.js → popover-BfGLC2s6.js} +4 -4
- package/dist/{popover-DhdIqrP7.js.map → popover-BfGLC2s6.js.map} +1 -1
- package/dist/primitives/accordion.js +1 -1
- package/dist/primitives/alert-dialog.js +1 -1
- package/dist/primitives/autocomplete.js +1 -1
- package/dist/primitives/avatar.js +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/checkbox-group.js +1 -1
- package/dist/primitives/checkbox.js +1 -1
- package/dist/primitives/collapsible.js +1 -1
- package/dist/primitives/combobox.js +1 -1
- package/dist/primitives/context-menu.js +1 -1
- package/dist/primitives/dialog.js +1 -1
- package/dist/primitives/direction-provider.js +1 -1
- package/dist/primitives/field.js +1 -1
- package/dist/primitives/fieldset.js +1 -1
- package/dist/primitives/form.js +1 -1
- package/dist/primitives/input.js +1 -1
- package/dist/primitives/menu.js +1 -1
- package/dist/primitives/menubar.js +1 -1
- package/dist/primitives/meter.js +1 -1
- package/dist/primitives/navigation-menu.js +1 -1
- package/dist/primitives/number-field.js +1 -1
- package/dist/primitives/popover.js +1 -1
- package/dist/primitives/preview-card.js +1 -1
- package/dist/primitives/progress.js +1 -1
- package/dist/primitives/radio-group.js +1 -1
- package/dist/primitives/radio.js +1 -1
- package/dist/primitives/scroll-area.js +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/separator.js +1 -1
- package/dist/primitives/slider.js +1 -1
- package/dist/primitives/switch.js +1 -1
- package/dist/primitives/tabs.js +1 -1
- package/dist/primitives/toast.js +1 -1
- package/dist/primitives/toggle-group.js +1 -1
- package/dist/primitives/toggle.js +1 -1
- package/dist/primitives/toolbar.js +1 -1
- package/dist/primitives/tooltip.js +1 -1
- package/dist/primitives.js +1 -1
- package/dist/{radio-BVAG7hNp.js → radio-CYejLANA.js} +6 -6
- package/dist/{radio-BVAG7hNp.js.map → radio-CYejLANA.js.map} +1 -1
- package/dist/{schemas-Cbid4MwW.js → schemas-C2YJKpDC.js} +5 -1
- package/dist/{schemas-Cbid4MwW.js.map → schemas-C2YJKpDC.js.map} +1 -1
- package/dist/{select-B5Vb3zou.js → select-D4rKQAax.js} +4 -4
- package/dist/{select-B5Vb3zou.js.map → select-D4rKQAax.js.map} +1 -1
- package/dist/{sensitive-input-D5HCV04N.js → sensitive-input-DYvAmxkN.js} +19 -19
- package/dist/{sensitive-input-D5HCV04N.js.map → sensitive-input-DYvAmxkN.js.map} +1 -1
- package/dist/src/components/toast/index.d.ts +2 -0
- package/dist/src/components/toast/index.d.ts.map +1 -1
- package/dist/src/components/toast/toast.d.ts +53 -3
- package/dist/src/components/toast/toast.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/{switch-D4duMhJ0.js → switch-z7FE1nQE.js} +3 -3
- package/dist/{switch-D4duMhJ0.js.map → switch-z7FE1nQE.js.map} +1 -1
- package/dist/{table-KuvHGpL8.js → table-Sd2Etb1N.js} +2 -2
- package/dist/{table-KuvHGpL8.js.map → table-Sd2Etb1N.js.map} +1 -1
- package/dist/{tabs-lQup-IbT.js → tabs-DAEeuQLd.js} +2 -2
- package/dist/{tabs-lQup-IbT.js.map → tabs-DAEeuQLd.js.map} +1 -1
- package/dist/toast-B8ebpHaU.js +248 -0
- package/dist/toast-B8ebpHaU.js.map +1 -0
- package/dist/{tooltip-DJWsDTWJ.js → tooltip-C4DRhJi1.js} +6 -6
- package/dist/{tooltip-DJWsDTWJ.js.map → tooltip-C4DRhJi1.js.map} +1 -1
- package/dist/{vendor-base-ui-DWIDNgE1.js → vendor-base-ui-kX0wjdav.js} +32 -31
- package/dist/{vendor-base-ui-DWIDNgE1.js.map → vendor-base-ui-kX0wjdav.js.map} +1 -1
- package/package.json +46 -46
- package/dist/toast-8YyyQuqZ.js +0 -69
- package/dist/toast-8YyyQuqZ.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudflare/kumo",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Kumo - Cloudflare's component library for building modern web applications",
|
|
@@ -366,30 +366,6 @@
|
|
|
366
366
|
"access": "public",
|
|
367
367
|
"registry": "https://registry.npmjs.org"
|
|
368
368
|
},
|
|
369
|
-
"scripts": {
|
|
370
|
-
"prepublish": "pnpm run clean && pnpm run build && pnpm run test:unit",
|
|
371
|
-
"build": "vite build --mode production && tsx scripts/css-build.ts && tsx src/command-line/build-cli.ts",
|
|
372
|
-
"dev": "vite build --watch --mode development",
|
|
373
|
-
"new:component": "plop component",
|
|
374
|
-
"clean": "rm -rf dist",
|
|
375
|
-
"codegen": "pnpm run codegen:primitives && pnpm run codegen:themes && pnpm run codegen:registry",
|
|
376
|
-
"codegen:themes": "tsx scripts/theme-generator/index.ts",
|
|
377
|
-
"migrate:tokens": "tsx scripts/theme-generator/migrate.ts",
|
|
378
|
-
"codegen:primitives": "tsx scripts/generate-primitives.ts",
|
|
379
|
-
"codegen:registry": "pnpm --filter @cloudflare/kumo-docs-astro codegen:demos && tsx scripts/component-registry/index.ts",
|
|
380
|
-
"lint": "pnpm run lint:oxlint && pnpm run lint:eslint",
|
|
381
|
-
"lint:oxlint": "oxlint --config .oxlintrc.json src/** --type-aware",
|
|
382
|
-
"lint:eslint": "eslint src/",
|
|
383
|
-
"test": "CI=true vitest run --project=unit",
|
|
384
|
-
"test:ui": "vitest --ui",
|
|
385
|
-
"test:run": "vitest run",
|
|
386
|
-
"test:unit": "vitest run --project=unit",
|
|
387
|
-
"test:coverage": "vitest run --coverage",
|
|
388
|
-
"test:exports": "vitest run --project=unit tests/imports/export-path-validation.test.ts",
|
|
389
|
-
"typecheck": "tsc --noEmit",
|
|
390
|
-
"validate:build": "vitest run --project=unit tests/imports/export-path-validation.test.ts",
|
|
391
|
-
"validate:changeset": "tsx ../../ci/scripts/validate-kumo-changeset.ts"
|
|
392
|
-
},
|
|
393
369
|
"peerDependencies": {
|
|
394
370
|
"@phosphor-icons/react": "^2.1.10",
|
|
395
371
|
"react": "^18.0.0 || ^19.0.0",
|
|
@@ -407,35 +383,59 @@
|
|
|
407
383
|
"tailwind-merge": "^3.4.0"
|
|
408
384
|
},
|
|
409
385
|
"devDependencies": {
|
|
410
|
-
"@tailwindcss/cli": "
|
|
411
|
-
"@tailwindcss/vite": "
|
|
386
|
+
"@tailwindcss/cli": "^4.1.17",
|
|
387
|
+
"@tailwindcss/vite": "^4.1.17",
|
|
412
388
|
"@testing-library/react": "16.3.1",
|
|
413
389
|
"@testing-library/user-event": "14.6.1",
|
|
414
390
|
"@types/glob": "9.0.0",
|
|
415
|
-
"@types/node": "
|
|
416
|
-
"@types/react": "
|
|
417
|
-
"@types/react-dom": "
|
|
418
|
-
"@vitest/browser": "
|
|
419
|
-
"@vitest/ui": "
|
|
391
|
+
"@types/node": "^22.10.2",
|
|
392
|
+
"@types/react": "19.2.4",
|
|
393
|
+
"@types/react-dom": "19.2.3",
|
|
394
|
+
"@vitest/browser": "^3.2.4",
|
|
395
|
+
"@vitest/ui": "^3.2.4",
|
|
420
396
|
"esbuild": "0.27.2",
|
|
421
|
-
"eslint": "
|
|
422
|
-
"eslint-plugin-jsx-a11y": "
|
|
397
|
+
"eslint": "^9.17.0",
|
|
398
|
+
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
423
399
|
"glob": "13.0.0",
|
|
424
|
-
"happy-dom": "
|
|
425
|
-
"oxlint": "
|
|
426
|
-
"oxlint-tsgolint": "
|
|
427
|
-
"playwright": "
|
|
400
|
+
"happy-dom": "^15.11.7",
|
|
401
|
+
"oxlint": "1.42.0",
|
|
402
|
+
"oxlint-tsgolint": "0.11.3",
|
|
403
|
+
"playwright": "^1.57.0",
|
|
428
404
|
"plop": "4.0.4",
|
|
429
405
|
"rollup-plugin-preserve-directives": "0.4.0",
|
|
430
|
-
"tailwindcss": "
|
|
406
|
+
"tailwindcss": "^4.1.17",
|
|
431
407
|
"ts-json-schema-generator": "2.4.0",
|
|
432
|
-
"tsx": "
|
|
433
|
-
"typescript": "
|
|
408
|
+
"tsx": "^4.19.2",
|
|
409
|
+
"typescript": "^5.9.2",
|
|
434
410
|
"typescript-eslint": "^8.18.1",
|
|
435
|
-
"vite": "
|
|
436
|
-
"vite-plugin-dts": "
|
|
437
|
-
"vitest": "
|
|
438
|
-
"wrangler": "
|
|
411
|
+
"vite": "^7.1.7",
|
|
412
|
+
"vite-plugin-dts": "^4.3.0",
|
|
413
|
+
"vitest": "^3.2.4",
|
|
414
|
+
"wrangler": "^4.59.1",
|
|
439
415
|
"zod": "^4.0.0"
|
|
416
|
+
},
|
|
417
|
+
"scripts": {
|
|
418
|
+
"prepublish": "pnpm run clean && pnpm run build && pnpm run test:unit",
|
|
419
|
+
"build": "vite build --mode production && tsx scripts/css-build.ts && tsx src/command-line/build-cli.ts",
|
|
420
|
+
"dev": "vite build --watch --mode development",
|
|
421
|
+
"new:component": "plop component",
|
|
422
|
+
"clean": "rm -rf dist",
|
|
423
|
+
"codegen": "pnpm run codegen:primitives && pnpm run codegen:themes && pnpm run codegen:registry",
|
|
424
|
+
"codegen:themes": "tsx scripts/theme-generator/index.ts",
|
|
425
|
+
"migrate:tokens": "tsx scripts/theme-generator/migrate.ts",
|
|
426
|
+
"codegen:primitives": "tsx scripts/generate-primitives.ts",
|
|
427
|
+
"codegen:registry": "pnpm --filter @cloudflare/kumo-docs-astro codegen:demos && tsx scripts/component-registry/index.ts",
|
|
428
|
+
"lint": "pnpm run lint:oxlint && pnpm run lint:eslint",
|
|
429
|
+
"lint:oxlint": "oxlint --config .oxlintrc.json src/** --type-aware",
|
|
430
|
+
"lint:eslint": "eslint src/",
|
|
431
|
+
"test": "CI=true vitest run --project=unit",
|
|
432
|
+
"test:ui": "vitest --ui",
|
|
433
|
+
"test:run": "vitest run",
|
|
434
|
+
"test:unit": "vitest run --project=unit",
|
|
435
|
+
"test:coverage": "vitest run --coverage",
|
|
436
|
+
"test:exports": "vitest run --project=unit tests/imports/export-path-validation.test.ts",
|
|
437
|
+
"typecheck": "tsc --noEmit",
|
|
438
|
+
"validate:build": "vitest run --project=unit tests/imports/export-path-validation.test.ts",
|
|
439
|
+
"validate:changeset": "tsx ../../ci/scripts/validate-kumo-changeset.ts"
|
|
440
440
|
}
|
|
441
|
-
}
|
|
441
|
+
}
|
package/dist/toast-8YyyQuqZ.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs as e, jsx as t } from "react/jsx-runtime";
|
|
3
|
-
import { c as r } from "./cn-Bhsu1vx2.js";
|
|
4
|
-
import { aS as o, aT as n, aU as i, aV as d, aW as l, aX as c, aY as m, aZ as p, a_ as f } from "./vendor-base-ui-DWIDNgE1.js";
|
|
5
|
-
function x({ children: a }) {
|
|
6
|
-
return /* @__PURE__ */ e(o, { children: [
|
|
7
|
-
a,
|
|
8
|
-
/* @__PURE__ */ t(n, { children: /* @__PURE__ */ t(i, { className: "fixed top-auto right-4 bottom-4 z-10 mx-auto flex w-[250px] sm:right-8 sm:bottom-8 sm:w-[300px]", children: /* @__PURE__ */ t(v, {}) }) })
|
|
9
|
-
] });
|
|
10
|
-
}
|
|
11
|
-
function v() {
|
|
12
|
-
const { toasts: a } = d();
|
|
13
|
-
return a.map((s) => /* @__PURE__ */ t(
|
|
14
|
-
l,
|
|
15
|
-
{
|
|
16
|
-
toast: s,
|
|
17
|
-
className: r(
|
|
18
|
-
"absolute right-0 bottom-0 left-auto z-[calc(1000-var(--toast-index))] mr-0 h-[var(--height)] w-full origin-bottom rounded-lg border border-kumo-fill bg-kumo-control bg-clip-padding p-4 shadow-lg select-none",
|
|
19
|
-
"[--gap:0.75rem] [--height:var(--toast-frontmost-height,var(--toast-height))] [--offset-y:calc(var(--toast-offset-y)*-1+calc(var(--toast-index)*var(--gap)*-1)+var(--toast-swipe-movement-y))] [--peek:0.75rem] [--scale:calc(max(0,1-(var(--toast-index)*0.1)))] [--shrink:calc(1-var(--scale))]",
|
|
20
|
-
"[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--peek))-(var(--shrink)*var(--height))))_scale(var(--scale))] [transition:transform_0.5s_cubic-bezier(0.22,1,0.36,1),opacity_0.5s,height_0.15s]",
|
|
21
|
-
"after:absolute after:top-full after:left-0 after:h-[calc(var(--gap)+1px)] after:w-full after:content-['']",
|
|
22
|
-
"data-[ending-style]:opacity-0 data-[expanded]:h-[var(--toast-height)] data-[expanded]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--offset-y)))] data-[limited]:opacity-0 data-[starting-style]:[transform:translateY(150%)]",
|
|
23
|
-
"data-[ending-style]:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))] data-[expanded]:data-[ending-style]:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]",
|
|
24
|
-
"data-[ending-style]:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))] data-[expanded]:data-[ending-style]:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]",
|
|
25
|
-
"data-[ending-style]:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))] data-[expanded]:data-[ending-style]:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]",
|
|
26
|
-
"data-[ending-style]:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))] data-[expanded]:data-[ending-style]:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]",
|
|
27
|
-
"[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:[transform:translateY(150%)]"
|
|
28
|
-
),
|
|
29
|
-
children: /* @__PURE__ */ e(c, { className: "overflow-hidden transition-opacity [transition-duration:250ms] data-[behind]:pointer-events-none data-[behind]:opacity-0 data-[expanded]:pointer-events-auto data-[expanded]:opacity-100", children: [
|
|
30
|
-
/* @__PURE__ */ t(m, { className: "text-[0.975rem] leading-5 font-medium text-kumo-default" }),
|
|
31
|
-
/* @__PURE__ */ t(p, { className: "text-[0.925rem] leading-5 text-kumo-subtle" }),
|
|
32
|
-
/* @__PURE__ */ t(
|
|
33
|
-
f,
|
|
34
|
-
{
|
|
35
|
-
className: "absolute top-2 right-2 flex h-5 w-5 items-center justify-center rounded border-none bg-transparent text-kumo-subtle hover:bg-kumo-fill-hover hover:text-kumo-strong",
|
|
36
|
-
"aria-label": "Close",
|
|
37
|
-
children: /* @__PURE__ */ t(h, { className: "h-4 w-4" })
|
|
38
|
-
}
|
|
39
|
-
)
|
|
40
|
-
] })
|
|
41
|
-
},
|
|
42
|
-
s.id
|
|
43
|
-
));
|
|
44
|
-
}
|
|
45
|
-
function h(a) {
|
|
46
|
-
return /* @__PURE__ */ e(
|
|
47
|
-
"svg",
|
|
48
|
-
{
|
|
49
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
50
|
-
width: "24",
|
|
51
|
-
height: "24",
|
|
52
|
-
viewBox: "0 0 24 24",
|
|
53
|
-
fill: "none",
|
|
54
|
-
stroke: "currentColor",
|
|
55
|
-
strokeWidth: "2",
|
|
56
|
-
strokeLinecap: "round",
|
|
57
|
-
strokeLinejoin: "round",
|
|
58
|
-
...a,
|
|
59
|
-
children: [
|
|
60
|
-
/* @__PURE__ */ t("path", { d: "M18 6 6 18" }),
|
|
61
|
-
/* @__PURE__ */ t("path", { d: "m6 6 12 12" })
|
|
62
|
-
]
|
|
63
|
-
}
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
export {
|
|
67
|
-
x as T
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=toast-8YyyQuqZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toast-8YyyQuqZ.js","sources":["../src/components/toast/toast.tsx"],"sourcesContent":["import { Toast } from \"@base-ui/react/toast\";\nimport type React from \"react\";\nimport { cn } from \"../../utils/cn\";\n\n/**\n * Toast styling configuration for Figma plugin consumption.\n * Toast has no user-facing variants but documents the styling structure.\n */\nexport const KUMO_TOAST_VARIANTS = {\n root: {\n classes: \"rounded-lg border border-kumo-fill bg-kumo-control p-4 shadow-lg\",\n description: \"Toast container with background, border, and shadow\",\n },\n title: {\n classes: \"text-[0.975rem] leading-5 font-medium text-kumo-default\",\n description: \"Toast title with primary text color\",\n },\n description: {\n classes: \"text-[0.925rem] leading-5 text-kumo-subtle\",\n description: \"Toast description with muted text color\",\n },\n close: {\n classes:\n \"absolute top-2 right-2 flex h-5 w-5 items-center justify-center rounded border-none bg-transparent text-kumo-subtle hover:bg-kumo-fill-hover hover:text-kumo-strong\",\n description: \"Close button with X icon\",\n },\n} as const;\n\nexport const KUMO_TOAST_DEFAULT_VARIANTS = {} as const;\n\n/**\n * Toast styling configuration for Figma plugin consumption.\n * Provides structured metadata for generating Toast components in Figma.\n */\nexport const KUMO_TOAST_STYLING = {\n container: {\n width: 300,\n padding: 16,\n borderRadius: 8,\n background: \"color-secondary\",\n border: \"color-color\",\n shadow: \"shadow-lg\",\n gap: 4,\n },\n title: {\n fontSize: 16,\n fontWeight: 500,\n color: \"text-color-surface\",\n },\n description: {\n fontSize: 15,\n fontWeight: 400,\n color: \"text-color-muted\",\n },\n closeButton: {\n size: 20,\n iconSize: 16,\n iconName: \"ph-x\",\n iconColor: \"text-color-muted\",\n hoverBackground: \"color-color-2\",\n hoverColor: \"text-color-label\",\n borderRadius: 4,\n },\n} as const;\n\n// Derived types from KUMO_TOAST_VARIANTS\nexport interface KumoToastVariantsProps {}\n\nexport function toastVariants(_props: KumoToastVariantsProps = {}) {\n return cn(\n // Base styles for toast root\n \"absolute right-0 bottom-0 left-auto z-[calc(1000-var(--toast-index))] mr-0 h-[var(--height)] w-full origin-bottom rounded-lg border border-kumo-fill bg-kumo-control bg-clip-padding p-4 shadow-lg select-none\",\n );\n}\n\nexport interface ToastyProps extends KumoToastVariantsProps {\n children: React.ReactNode;\n}\n\nexport function Toasty({ children }: ToastyProps) {\n return (\n <Toast.Provider>\n {children}\n <Toast.Portal>\n <Toast.Viewport className=\"fixed top-auto right-4 bottom-4 z-10 mx-auto flex w-[250px] sm:right-8 sm:bottom-8 sm:w-[300px]\">\n <ToastList />\n </Toast.Viewport>\n </Toast.Portal>\n </Toast.Provider>\n );\n}\n\nfunction ToastList() {\n const { toasts } = Toast.useToastManager();\n return toasts.map((toast) => (\n <Toast.Root\n key={toast.id}\n toast={toast}\n className={cn(\n \"absolute right-0 bottom-0 left-auto z-[calc(1000-var(--toast-index))] mr-0 h-[var(--height)] w-full origin-bottom rounded-lg border border-kumo-fill bg-kumo-control bg-clip-padding p-4 shadow-lg select-none\",\n \"[--gap:0.75rem] [--height:var(--toast-frontmost-height,var(--toast-height))] [--offset-y:calc(var(--toast-offset-y)*-1+calc(var(--toast-index)*var(--gap)*-1)+var(--toast-swipe-movement-y))] [--peek:0.75rem] [--scale:calc(max(0,1-(var(--toast-index)*0.1)))] [--shrink:calc(1-var(--scale))]\",\n \"[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--peek))-(var(--shrink)*var(--height))))_scale(var(--scale))] [transition:transform_0.5s_cubic-bezier(0.22,1,0.36,1),opacity_0.5s,height_0.15s]\",\n \"after:absolute after:top-full after:left-0 after:h-[calc(var(--gap)+1px)] after:w-full after:content-['']\",\n \"data-[ending-style]:opacity-0 data-[expanded]:h-[var(--toast-height)] data-[expanded]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--offset-y)))] data-[limited]:opacity-0 data-[starting-style]:[transform:translateY(150%)]\",\n \"data-[ending-style]:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))] data-[expanded]:data-[ending-style]:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]\",\n \"data-[ending-style]:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))] data-[expanded]:data-[ending-style]:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]\",\n \"data-[ending-style]:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))] data-[expanded]:data-[ending-style]:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]\",\n \"data-[ending-style]:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))] data-[expanded]:data-[ending-style]:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]\",\n \"[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:[transform:translateY(150%)]\",\n )}\n >\n <Toast.Content className=\"overflow-hidden transition-opacity [transition-duration:250ms] data-[behind]:pointer-events-none data-[behind]:opacity-0 data-[expanded]:pointer-events-auto data-[expanded]:opacity-100\">\n <Toast.Title className=\"text-[0.975rem] leading-5 font-medium text-kumo-default\" />\n <Toast.Description className=\"text-[0.925rem] leading-5 text-kumo-subtle\" />\n <Toast.Close\n className=\"absolute top-2 right-2 flex h-5 w-5 items-center justify-center rounded border-none bg-transparent text-kumo-subtle hover:bg-kumo-fill-hover hover:text-kumo-strong\"\n aria-label=\"Close\"\n >\n <XIcon className=\"h-4 w-4\" />\n </Toast.Close>\n </Toast.Content>\n </Toast.Root>\n ));\n}\n\nfunction XIcon(props: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n );\n}\n"],"names":["Toasty","children","jsxs","Toast.Provider","jsx","Toast.Portal","Toast.Viewport","ToastList","toasts","Toast.useToastManager","toast","Toast.Root","cn","Toast.Content","Toast.Title","Toast.Description","Toast.Close","XIcon","props"],"mappings":";;;;AA+EO,SAASA,EAAO,EAAE,UAAAC,KAAyB;AAChD,SACE,gBAAAC,EAACC,GAAA,EACE,UAAA;AAAA,IAAAF;AAAA,IACD,gBAAAG,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACE,GAAA,EAAe,WAAU,mGACxB,UAAA,gBAAAF,EAACG,GAAA,CAAA,CAAU,GACb,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;AAEA,SAASA,IAAY;AACnB,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAM;AACzB,SAAOD,EAAO,IAAI,CAACE,MACjB,gBAAAN;AAAA,IAACO;AAAAA,IAAA;AAAA,MAEC,OAAAD;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAGF,UAAA,gBAAAV,EAACW,GAAA,EAAc,WAAU,4LACvB,UAAA;AAAA,QAAA,gBAAAT,EAACU,GAAA,EAAY,WAAU,0DAAA,CAA0D;AAAA,QACjF,gBAAAV,EAACW,GAAA,EAAkB,WAAU,6CAAA,CAA6C;AAAA,QAC1E,gBAAAX;AAAA,UAACY;AAAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,cAAW;AAAA,YAEX,UAAA,gBAAAZ,EAACa,GAAA,EAAM,WAAU,UAAA,CAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MAC7B,EAAA,CACF;AAAA,IAAA;AAAA,IAxBKP,EAAM;AAAA,EAAA,CA0Bd;AACH;AAEA,SAASO,EAAMC,GAAoC;AACjD,SACE,gBAAAhB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MACd,GAAGgB;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAd,EAAC,QAAA,EAAK,GAAE,aAAA,CAAa;AAAA,QACrB,gBAAAA,EAAC,QAAA,EAAK,GAAE,aAAA,CAAa;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG3B;"}
|