@zentauri-ui/zentauri-components 2.1.5 → 2.1.7
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/README.md +12 -8
- package/cli/cli.integration.test.ts +36 -0
- package/cli/index.mjs +91 -12
- package/cli/index.test.ts +180 -0
- package/cli/props.json +609 -14
- package/cli/registry.json +22 -0
- package/cli/rewrite-imports.mjs +29 -4
- package/cli/rewrite-imports.test.ts +35 -0
- package/dist/{chunk-RENXBUZY.js → chunk-5ELR6MIN.js} +6 -6
- package/dist/{chunk-RENXBUZY.js.map → chunk-5ELR6MIN.js.map} +1 -1
- package/dist/chunk-5FU57ZVQ.js +19 -0
- package/dist/{chunk-D2GISTDL.js.map → chunk-5FU57ZVQ.js.map} +1 -1
- package/dist/chunk-74SKXGTM.js +4 -0
- package/dist/chunk-74SKXGTM.js.map +1 -0
- package/dist/{chunk-WBZKMSXW.mjs → chunk-7UXPXCKV.mjs} +3 -3
- package/dist/{chunk-WBZKMSXW.mjs.map → chunk-7UXPXCKV.mjs.map} +1 -1
- package/dist/chunk-COCPCZMR.mjs +77 -0
- package/dist/chunk-COCPCZMR.mjs.map +1 -0
- package/dist/chunk-CYKSS5S5.mjs +128 -0
- package/dist/chunk-CYKSS5S5.mjs.map +1 -0
- package/dist/chunk-DBNGLT5U.mjs +221 -0
- package/dist/chunk-DBNGLT5U.mjs.map +1 -0
- package/dist/{chunk-BL6UVCV7.mjs → chunk-FUCW5GPE.mjs} +36 -11
- package/dist/chunk-FUCW5GPE.mjs.map +1 -0
- package/dist/chunk-G7FVHZRB.js +225 -0
- package/dist/chunk-G7FVHZRB.js.map +1 -0
- package/dist/chunk-HMDH4BQJ.js +123 -0
- package/dist/chunk-HMDH4BQJ.js.map +1 -0
- package/dist/chunk-I7EBE7BD.js +98 -0
- package/dist/chunk-I7EBE7BD.js.map +1 -0
- package/dist/{chunk-PAG5CTLN.mjs → chunk-KVSRUAXP.mjs} +3 -3
- package/dist/{chunk-PAG5CTLN.mjs.map → chunk-KVSRUAXP.mjs.map} +1 -1
- package/dist/chunk-LHBJD57K.mjs +143 -0
- package/dist/chunk-LHBJD57K.mjs.map +1 -0
- package/dist/chunk-OYAJG2BO.js +83 -0
- package/dist/chunk-OYAJG2BO.js.map +1 -0
- package/dist/chunk-PG7LQVU6.js +86 -0
- package/dist/chunk-PG7LQVU6.js.map +1 -0
- package/dist/chunk-PTU5ZAYX.js +145 -0
- package/dist/chunk-PTU5ZAYX.js.map +1 -0
- package/dist/chunk-QKO5DA4N.mjs +81 -0
- package/dist/chunk-QKO5DA4N.mjs.map +1 -0
- package/dist/chunk-T7PIKDUZ.js +130 -0
- package/dist/chunk-T7PIKDUZ.js.map +1 -0
- package/dist/chunk-TDK5TVJE.mjs +3 -0
- package/dist/chunk-TDK5TVJE.mjs.map +1 -0
- package/dist/{chunk-NZSZE36T.js → chunk-TJ2EWPER.js} +42 -10
- package/dist/chunk-TJ2EWPER.js.map +1 -0
- package/dist/chunk-VBNW2B4D.mjs +3 -0
- package/dist/chunk-VBNW2B4D.mjs.map +1 -0
- package/dist/chunk-W6DO36XD.mjs +96 -0
- package/dist/chunk-W6DO36XD.mjs.map +1 -0
- package/dist/chunk-XR3J46TZ.js +4 -0
- package/dist/chunk-XR3J46TZ.js.map +1 -0
- package/dist/chunk-ZOHCADDL.mjs +121 -0
- package/dist/chunk-ZOHCADDL.mjs.map +1 -0
- package/dist/design-system/audio-player.d.ts +61 -0
- package/dist/design-system/audio-player.d.ts.map +1 -0
- package/dist/design-system/data-table.d.ts +8 -0
- package/dist/design-system/data-table.d.ts.map +1 -0
- package/dist/design-system/facade.js +11 -10
- package/dist/design-system/facade.js.map +1 -1
- package/dist/design-system/facade.mjs +10 -9
- package/dist/design-system/facade.mjs.map +1 -1
- package/dist/design-system/index.d.ts +2 -0
- package/dist/design-system/index.d.ts.map +1 -1
- package/dist/hooks/useTableFilter.js +6 -116
- package/dist/hooks/useTableFilter.js.map +1 -1
- package/dist/hooks/useTableFilter.mjs +1 -118
- package/dist/hooks/useTableFilter.mjs.map +1 -1
- package/dist/hooks/useTableSort.js +6 -91
- package/dist/hooks/useTableSort.js.map +1 -1
- package/dist/hooks/useTableSort.mjs +1 -93
- package/dist/hooks/useTableSort.mjs.map +1 -1
- package/dist/hooks/useVirtualList.js +6 -76
- package/dist/hooks/useVirtualList.js.map +1 -1
- package/dist/hooks/useVirtualList.mjs +1 -78
- package/dist/hooks/useVirtualList.mjs.map +1 -1
- package/dist/ui/audio-player/audio-player-base.d.ts +20 -0
- package/dist/ui/audio-player/audio-player-base.d.ts.map +1 -0
- package/dist/ui/audio-player/audio-player.d.ts +6 -0
- package/dist/ui/audio-player/audio-player.d.ts.map +1 -0
- package/dist/ui/audio-player/index.d.ts +5 -0
- package/dist/ui/audio-player/index.d.ts.map +1 -0
- package/dist/ui/audio-player/types.d.ts +44 -0
- package/dist/ui/audio-player/types.d.ts.map +1 -0
- package/dist/ui/audio-player/variants.d.ts +12 -0
- package/dist/ui/audio-player/variants.d.ts.map +1 -0
- package/dist/ui/audio-player.js +556 -0
- package/dist/ui/audio-player.js.map +1 -0
- package/dist/ui/audio-player.mjs +545 -0
- package/dist/ui/audio-player.mjs.map +1 -0
- package/dist/ui/buttons/animated.js +13 -12
- package/dist/ui/buttons/animated.js.map +1 -1
- package/dist/ui/buttons/animated.mjs +11 -10
- package/dist/ui/buttons/animated.mjs.map +1 -1
- package/dist/ui/buttons.js +15 -13
- package/dist/ui/buttons.mjs +13 -11
- package/dist/ui/checkbox.js +7 -123
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/checkbox.mjs +2 -126
- package/dist/ui/checkbox.mjs.map +1 -1
- package/dist/ui/data-table/data-table-base.d.ts +6 -0
- package/dist/ui/data-table/data-table-base.d.ts.map +1 -0
- package/dist/ui/data-table/data-table.d.ts +6 -0
- package/dist/ui/data-table/data-table.d.ts.map +1 -0
- package/dist/ui/data-table/index.d.ts +4 -0
- package/dist/ui/data-table/index.d.ts.map +1 -0
- package/dist/ui/data-table/types.d.ts +92 -0
- package/dist/ui/data-table/types.d.ts.map +1 -0
- package/dist/ui/data-table/variants.d.ts +8 -0
- package/dist/ui/data-table/variants.d.ts.map +1 -0
- package/dist/ui/data-table.js +620 -0
- package/dist/ui/data-table.js.map +1 -0
- package/dist/ui/data-table.mjs +611 -0
- package/dist/ui/data-table.mjs.map +1 -0
- package/dist/ui/dynamic-stepper.js +23 -22
- package/dist/ui/dynamic-stepper.js.map +1 -1
- package/dist/ui/dynamic-stepper.mjs +12 -11
- package/dist/ui/dynamic-stepper.mjs.map +1 -1
- package/dist/ui/inputs.js +7 -138
- package/dist/ui/inputs.js.map +1 -1
- package/dist/ui/inputs.mjs +2 -141
- package/dist/ui/inputs.mjs.map +1 -1
- package/dist/ui/pagination.js +25 -225
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +13 -227
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/table.js +1 -0
- package/dist/ui/table.mjs +1 -0
- package/package.json +1 -1
- package/src/design-system/audio-player.ts +109 -0
- package/src/design-system/data-table.ts +20 -0
- package/src/design-system/index.ts +2 -0
- package/src/ui/audio-player/audio-player-base.tsx +557 -0
- package/src/ui/audio-player/audio-player.test.tsx +485 -0
- package/src/ui/audio-player/audio-player.tsx +8 -0
- package/src/ui/audio-player/index.ts +24 -0
- package/src/ui/audio-player/types.ts +57 -0
- package/src/ui/audio-player/variants.ts +43 -0
- package/src/ui/data-table/data-table-base.tsx +701 -0
- package/src/ui/data-table/data-table.test.tsx +389 -0
- package/src/ui/data-table/data-table.tsx +11 -0
- package/src/ui/data-table/index.ts +24 -0
- package/src/ui/data-table/types.ts +121 -0
- package/src/ui/data-table/variants.ts +21 -0
- package/dist/chunk-BL6UVCV7.mjs.map +0 -1
- package/dist/chunk-D2GISTDL.js +0 -19
- package/dist/chunk-NZSZE36T.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/design-system/audio-player.ts"],"names":[],"mappings":";;;AAAO,IAAM,kBAAA,GAAqB;AAAA,EAChC,QAAA;AAAA,EACA,oEAAA;AAAA,EACA,sIAAA;AAAA,EACA,2JAAA;AAAA,EACA,4KAAA;AAAA,EACA;AACF;AAEO,IAAM,yBAAA,GAA4B;AAAA,EACvC,OAAA,EACE,0KAAA;AAAA,EACF,SAAA,EACE,wKAAA;AAAA,EACF,WAAA,EACE,gMAAA;AAAA,EACF,IAAA,EAAM,8KAAA;AAAA,EACN,IAAA,EAAM,8KAAA;AAAA,EACN,KAAA,EACE,kLAAA;AAAA,EACF,IAAA,EAAM,8KAAA;AAAA,EACN,IAAA,EAAM,8KAAA;AAAA,EACN,KAAA,EACE,kLAAA;AAAA,EACF,QAAA,EACE,8LAAA;AAAA,EACF,QAAA,EACE,8LAAA;AAAA,EACF,IAAA,EAAM,8KAAA;AAAA,EACN,GAAA,EAAK,0KAAA;AAAA,EACL,KAAA,EACE,kLAAA;AAAA,EACF,IAAA,EAAM,8KAAA;AAAA,EACN,KAAA,EACE,kLAAA;AAAA,EACF,QAAA,EACE,8LAAA;AAAA,EACF,MAAA,EACE,sLAAA;AAAA,EACF,MAAA,EACE,sLAAA;AAAA,EACF,OAAA,EACE,0LAAA;AAAA,EACF,OAAA,EACE,0LAAA;AAAA,EACF,OAAA,EACE,0LAAA;AAAA,EACF,MAAA,EACE,sLAAA;AAAA,EACF,MAAA,EACE,sLAAA;AAAA,EACF,IAAA,EAAM,8KAAA;AAAA,EACN,IAAA,EAAM,8KAAA;AAAA,EACN,GAAA,EAAK,0KAAA;AAAA,EACL,IAAA,EAAM,8KAAA;AAAA,EACN,MAAA,EACE,sLAAA;AAAA,EACF,MAAA,EACE,sLAAA;AAAA,EACF,eAAA,EACE,6MAAA;AAAA,EACF,gBAAA,EACE,+MAAA;AAAA,EACF,cAAA,EACE,2MAAA;AAAA,EACF,iBAAA,EACE,iNAAA;AAAA,EACF,iBAAA,EACE,iNAAA;AAAA,EACF,eAAA,EACE,6MAAA;AAAA,EACF,iBAAA,EACE,iNAAA;AAAA,EACF,eAAA,EACE,6MAAA;AAAA,EACF,iBAAA,EACE;AACJ;AAEO,IAAM,mBAAA,GAAsB;AAAA,EACjC,EAAA,EAAI,mBAAA;AAAA,EACJ,EAAA,EAAI,mBAAA;AAAA,EACJ,EAAA,EAAI;AACN;AAEO,IAAM,oBAAA,GAAuB;AAAA,EAClC,IAAA,EAAM,cAAA;AAAA,EACN,OAAA,EAAS,YAAA;AAAA,EACT,IAAA,EAAM;AACR;AAEO,IAAM,uBAAA,GAA0B;AAAA,EACrC,gDAAA;AAAA,EACA,mBAAA;AAAA,EACA,kKAAA;AAAA,EACA;AACF;AAEO,IAAM,wBAAA,GAA2B;AAAA,EACtC,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,OAAA;AAAA,EACJ,EAAA,EAAI;AACN;AAEO,IAAM,qBAAA,GACX;AAEK,IAAM,sBAAA,GACX","file":"chunk-PG7LQVU6.js","sourcesContent":["export const zuiAudioPlayerBase = [\n \"w-full\",\n \"rounded-[var(--zui-audio-player-radius,var(--zui-radius,0.75rem))]\",\n \"bg-[var(--zui-audio-player-bg,var(--zui-surface,#ffffff))] dark:bg-[var(--zui-audio-player-bg-dark,var(--zui-surface-dark,#0f172a))]\",\n \"border border-[var(--zui-audio-player-border,var(--zui-border,#e2e8f0))] dark:border-[var(--zui-audio-player-border-dark,var(--zui-border-dark,#1e293b))]\",\n \"shadow-[var(--zui-audio-player-shadow,var(--zui-shadow,0_1px_2px_#0f172a14))] dark:shadow-[var(--zui-audio-player-shadow-dark,var(--zui-shadow-dark,0_1px_2px_#0f172a1f))]\",\n \"text-[color:var(--zui-audio-player-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-audio-player-fg-dark,var(--zui-fg-dark,#f8fafc))]\",\n] as const;\n\nexport const zuiAudioPlayerAppearances = {\n default:\n \"[--audio-fill:var(--zui-audio-player-default-fill,var(--zui-brand,#0f172a))] dark:[--audio-fill:var(--zui-audio-player-default-fill-dark,var(--zui-brand-dark,#f8fafc))]\",\n secondary:\n \"[--audio-fill:var(--zui-audio-player-secondary-fill,var(--zui-fg,#475569))] dark:[--audio-fill:var(--zui-audio-player-secondary-fill-dark,var(--zui-fg-dark,#94a3b8))]\",\n destructive:\n \"[--audio-fill:var(--zui-audio-player-destructive-fill,var(--zui-status-error,#dc2626))] dark:[--audio-fill:var(--zui-audio-player-destructive-fill-dark,var(--zui-status-error-dark,#ef4444))]\",\n blue: \"[--audio-fill:var(--zui-audio-player-blue-fill,var(--zui-color-blue,#2563eb))] dark:[--audio-fill:var(--zui-audio-player-blue-fill-dark,var(--zui-color-blue-dark,#3b82f6))]\",\n cyan: \"[--audio-fill:var(--zui-audio-player-cyan-fill,var(--zui-color-cyan,#0891b2))] dark:[--audio-fill:var(--zui-audio-player-cyan-fill-dark,var(--zui-color-cyan-dark,#22d3ee))]\",\n green:\n \"[--audio-fill:var(--zui-audio-player-green-fill,var(--zui-color-green,#16a34a))] dark:[--audio-fill:var(--zui-audio-player-green-fill-dark,var(--zui-color-green-dark,#22c55e))]\",\n lime: \"[--audio-fill:var(--zui-audio-player-lime-fill,var(--zui-color-lime,#65a30d))] dark:[--audio-fill:var(--zui-audio-player-lime-fill-dark,var(--zui-color-lime-dark,#a3e635))]\",\n mint: \"[--audio-fill:var(--zui-audio-player-mint-fill,var(--zui-color-mint,#10b981))] dark:[--audio-fill:var(--zui-audio-player-mint-fill-dark,var(--zui-color-mint-dark,#6ee7b7))]\",\n ocean:\n \"[--audio-fill:var(--zui-audio-player-ocean-fill,var(--zui-color-ocean,#0284c7))] dark:[--audio-fill:var(--zui-audio-player-ocean-fill-dark,var(--zui-color-ocean-dark,#38bdf8))]\",\n sapphire:\n \"[--audio-fill:var(--zui-audio-player-sapphire-fill,var(--zui-color-sapphire,#1d4ed8))] dark:[--audio-fill:var(--zui-audio-player-sapphire-fill-dark,var(--zui-color-sapphire-dark,#60a5fa))]\",\n lavender:\n \"[--audio-fill:var(--zui-audio-player-lavender-fill,var(--zui-color-lavender,#8b5cf6))] dark:[--audio-fill:var(--zui-audio-player-lavender-fill-dark,var(--zui-color-lavender-dark,#a78bfa))]\",\n ruby: \"[--audio-fill:var(--zui-audio-player-ruby-fill,var(--zui-color-ruby,#be123c))] dark:[--audio-fill:var(--zui-audio-player-ruby-fill-dark,var(--zui-color-ruby-dark,#fb7185))]\",\n red: \"[--audio-fill:var(--zui-audio-player-red-fill,var(--zui-color-red,#dc2626))] dark:[--audio-fill:var(--zui-audio-player-red-fill-dark,var(--zui-color-red-dark,#ef4444))]\",\n slate:\n \"[--audio-fill:var(--zui-audio-player-slate-fill,var(--zui-color-slate,#475569))] dark:[--audio-fill:var(--zui-audio-player-slate-fill-dark,var(--zui-color-slate-dark,#64748b))]\",\n zinc: \"[--audio-fill:var(--zui-audio-player-zinc-fill,var(--zui-color-zinc,#52525b))] dark:[--audio-fill:var(--zui-audio-player-zinc-fill-dark,var(--zui-color-zinc-dark,#71717a))]\",\n royal:\n \"[--audio-fill:var(--zui-audio-player-royal-fill,var(--zui-color-royal,#4338ca))] dark:[--audio-fill:var(--zui-audio-player-royal-fill-dark,var(--zui-color-royal-dark,#818cf8))]\",\n electric:\n \"[--audio-fill:var(--zui-audio-player-electric-fill,var(--zui-color-electric,#0ea5e9))] dark:[--audio-fill:var(--zui-audio-player-electric-fill-dark,var(--zui-color-electric-dark,#38bdf8))]\",\n forest:\n \"[--audio-fill:var(--zui-audio-player-forest-fill,var(--zui-color-forest,#166534))] dark:[--audio-fill:var(--zui-audio-player-forest-fill-dark,var(--zui-color-forest-dark,#4ade80))]\",\n sunset:\n \"[--audio-fill:var(--zui-audio-player-sunset-fill,var(--zui-color-sunset,#ea580c))] dark:[--audio-fill:var(--zui-audio-player-sunset-fill-dark,var(--zui-color-sunset-dark,#fb923c))]\",\n magenta:\n \"[--audio-fill:var(--zui-audio-player-magenta-fill,var(--zui-color-magenta,#c026d3))] dark:[--audio-fill:var(--zui-audio-player-magenta-fill-dark,var(--zui-color-magenta-dark,#e879f9))]\",\n crimson:\n \"[--audio-fill:var(--zui-audio-player-crimson-fill,var(--zui-color-crimson,#b91c1c))] dark:[--audio-fill:var(--zui-audio-player-crimson-fill-dark,var(--zui-color-crimson-dark,#f87171))]\",\n emerald:\n \"[--audio-fill:var(--zui-audio-player-emerald-fill,var(--zui-color-emerald,#059669))] dark:[--audio-fill:var(--zui-audio-player-emerald-fill-dark,var(--zui-color-emerald-dark,#34d399))]\",\n indigo:\n \"[--audio-fill:var(--zui-audio-player-indigo-fill,var(--zui-color-indigo,#4f46e5))] dark:[--audio-fill:var(--zui-audio-player-indigo-fill-dark,var(--zui-color-indigo-dark,#6366f1))]\",\n purple:\n \"[--audio-fill:var(--zui-audio-player-purple-fill,var(--zui-color-purple,#7c3aed))] dark:[--audio-fill:var(--zui-audio-player-purple-fill-dark,var(--zui-color-purple-dark,#8b5cf6))]\",\n pink: \"[--audio-fill:var(--zui-audio-player-pink-fill,var(--zui-color-pink,#db2777))] dark:[--audio-fill:var(--zui-audio-player-pink-fill-dark,var(--zui-color-pink-dark,#ec4899))]\",\n rose: \"[--audio-fill:var(--zui-audio-player-rose-fill,var(--zui-color-rose,#e11d48))] dark:[--audio-fill:var(--zui-audio-player-rose-fill-dark,var(--zui-color-rose-dark,#f43f5e))]\",\n sky: \"[--audio-fill:var(--zui-audio-player-sky-fill,var(--zui-color-sky,#0284c7))] dark:[--audio-fill:var(--zui-audio-player-sky-fill-dark,var(--zui-color-sky-dark,#38bdf8))]\",\n teal: \"[--audio-fill:var(--zui-audio-player-teal-fill,var(--zui-color-teal,#0d9488))] dark:[--audio-fill:var(--zui-audio-player-teal-fill-dark,var(--zui-color-teal-dark,#2dd4bf))]\",\n yellow:\n \"[--audio-fill:var(--zui-audio-player-yellow-fill,var(--zui-color-yellow,#ca8a04))] dark:[--audio-fill:var(--zui-audio-player-yellow-fill-dark,var(--zui-color-yellow-dark,#eab308))]\",\n orange:\n \"[--audio-fill:var(--zui-audio-player-orange-fill,var(--zui-color-orange,#ea580c))] dark:[--audio-fill:var(--zui-audio-player-orange-fill-dark,var(--zui-color-orange-dark,#f97316))]\",\n \"gradient-blue\":\n \"[--audio-fill:var(--zui-audio-player-gradient-blue-fill,linear-gradient(90deg,#2563eb,#7c3aed))] dark:[--audio-fill:var(--zui-audio-player-gradient-blue-fill-dark,linear-gradient(90deg,#3b82f6,#8b5cf6))]\",\n \"gradient-green\":\n \"[--audio-fill:var(--zui-audio-player-gradient-green-fill,linear-gradient(90deg,#16a34a,#0d9488))] dark:[--audio-fill:var(--zui-audio-player-gradient-green-fill-dark,linear-gradient(90deg,#22c55e,#2dd4bf))]\",\n \"gradient-red\":\n \"[--audio-fill:var(--zui-audio-player-gradient-red-fill,linear-gradient(90deg,#dc2626,#db2777))] dark:[--audio-fill:var(--zui-audio-player-gradient-red-fill-dark,linear-gradient(90deg,#ef4444,#ec4899))]\",\n \"gradient-yellow\":\n \"[--audio-fill:var(--zui-audio-player-gradient-yellow-fill,linear-gradient(90deg,#ca8a04,#ea580c))] dark:[--audio-fill:var(--zui-audio-player-gradient-yellow-fill-dark,linear-gradient(90deg,#eab308,#f97316))]\",\n \"gradient-purple\":\n \"[--audio-fill:var(--zui-audio-player-gradient-purple-fill,linear-gradient(90deg,#7c3aed,#db2777))] dark:[--audio-fill:var(--zui-audio-player-gradient-purple-fill-dark,linear-gradient(90deg,#8b5cf6,#ec4899))]\",\n \"gradient-teal\":\n \"[--audio-fill:var(--zui-audio-player-gradient-teal-fill,linear-gradient(90deg,#0d9488,#0284c7))] dark:[--audio-fill:var(--zui-audio-player-gradient-teal-fill-dark,linear-gradient(90deg,#2dd4bf,#38bdf8))]\",\n \"gradient-indigo\":\n \"[--audio-fill:var(--zui-audio-player-gradient-indigo-fill,linear-gradient(90deg,#4f46e5,#7c3aed))] dark:[--audio-fill:var(--zui-audio-player-gradient-indigo-fill-dark,linear-gradient(90deg,#6366f1,#8b5cf6))]\",\n \"gradient-pink\":\n \"[--audio-fill:var(--zui-audio-player-gradient-pink-fill,linear-gradient(90deg,#db2777,#e11d48))] dark:[--audio-fill:var(--zui-audio-player-gradient-pink-fill-dark,linear-gradient(90deg,#ec4899,#f43f5e))]\",\n \"gradient-orange\":\n \"[--audio-fill:var(--zui-audio-player-gradient-orange-fill,linear-gradient(90deg,#ea580c,#ca8a04))] dark:[--audio-fill:var(--zui-audio-player-gradient-orange-fill-dark,linear-gradient(90deg,#f97316,#eab308))]\",\n} as const;\n\nexport const zuiAudioPlayerSizes = {\n sm: \"p-3 text-xs gap-2\",\n md: \"p-4 text-sm gap-3\",\n lg: \"p-5 text-base gap-4\",\n} as const;\n\nexport const zuiAudioPlayerShapes = {\n flat: \"rounded-none\",\n rounded: \"rounded-xl\",\n pill: \"rounded-3xl\",\n} as const;\n\nexport const zuiAudioPlayerTrackBase = [\n \"relative w-full overflow-hidden cursor-pointer\",\n \"rounded-[inherit]\",\n \"bg-[var(--zui-audio-player-track-bg,var(--zui-surface-muted,#0000001a))] dark:bg-[var(--zui-audio-player-track-bg-dark,var(--zui-surface-muted-dark,#ffffff1a))]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--audio-fill,#0f172a)] focus-visible:ring-offset-2\",\n] as const;\n\nexport const zuiAudioPlayerTrackSizes = {\n sm: \"h-1\",\n md: \"h-1.5\",\n lg: \"h-2\",\n} as const;\n\nexport const zuiAudioPlayerBarBase =\n \"h-full origin-left [background:var(--audio-fill)] transition-[transform] will-change-transform\" as const;\n\nexport const zuiAudioPlayerTimeBase =\n \"tabular-nums font-mono text-[color:var(--zui-audio-player-time-fg,var(--zui-fg-muted,#64748b))] dark:text-[color:var(--zui-audio-player-time-fg-dark,var(--zui-fg-muted-dark,#94a3b8))]\" as const;\n"]}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkSCOIRBML_js = require('./chunk-SCOIRBML.js');
|
|
4
|
+
var chunkZS5756ZC_js = require('./chunk-ZS5756ZC.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function mergeDescribedByIds(user, ...generated) {
|
|
9
|
+
const ids = [
|
|
10
|
+
...(user ?? "").split(/\s+/).filter(Boolean),
|
|
11
|
+
...generated.filter((id) => Boolean(id))
|
|
12
|
+
];
|
|
13
|
+
const unique = [...new Set(ids)];
|
|
14
|
+
return unique.length > 0 ? unique.join(" ") : void 0;
|
|
15
|
+
}
|
|
16
|
+
var InputBase = (props) => {
|
|
17
|
+
const generatedId = react.useId();
|
|
18
|
+
if (props.as === "textarea") {
|
|
19
|
+
const {
|
|
20
|
+
className: className2,
|
|
21
|
+
appearance: appearance2,
|
|
22
|
+
size: size2,
|
|
23
|
+
ring: ring2 = true,
|
|
24
|
+
ref: ref2,
|
|
25
|
+
"aria-invalid": ariaInvalidProp2,
|
|
26
|
+
errorMessage: errorMessage2,
|
|
27
|
+
hint: hint2,
|
|
28
|
+
label: label2,
|
|
29
|
+
id: id2,
|
|
30
|
+
as: as2,
|
|
31
|
+
"aria-describedby": ariaDescribedByUser2,
|
|
32
|
+
...rest2
|
|
33
|
+
} = props;
|
|
34
|
+
const controlId2 = id2 ?? generatedId;
|
|
35
|
+
const errorId2 = `${controlId2}-error`;
|
|
36
|
+
const hintId2 = `${controlId2}-hint`;
|
|
37
|
+
const ariaInvalid2 = ariaInvalidProp2 !== void 0 ? ariaInvalidProp2 : appearance2 === "error" ? true : void 0;
|
|
38
|
+
const describedBy2 = mergeDescribedByIds(
|
|
39
|
+
ariaDescribedByUser2,
|
|
40
|
+
hint2 !== void 0 ? hintId2 : void 0,
|
|
41
|
+
errorMessage2 && appearance2 === "error" ? errorId2 : void 0
|
|
42
|
+
);
|
|
43
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
44
|
+
label2 !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
45
|
+
"label",
|
|
46
|
+
{
|
|
47
|
+
htmlFor: controlId2,
|
|
48
|
+
className: "mb-1 block text-sm font-medium text-slate-200",
|
|
49
|
+
children: label2
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
hint2 !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: hintId2, className: "mb-1 text-xs text-slate-400", children: hint2 }),
|
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
54
|
+
"textarea",
|
|
55
|
+
{
|
|
56
|
+
ref: ref2,
|
|
57
|
+
id: controlId2,
|
|
58
|
+
"data-slot": "input",
|
|
59
|
+
className: chunkZS5756ZC_js.cn(
|
|
60
|
+
chunkSCOIRBML_js.inputVariants({ appearance: appearance2, size: size2, ring: ring2, as: as2 }),
|
|
61
|
+
className2
|
|
62
|
+
),
|
|
63
|
+
"aria-invalid": ariaInvalid2,
|
|
64
|
+
"aria-describedby": describedBy2,
|
|
65
|
+
...rest2
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
errorMessage2 && appearance2 === "error" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
69
|
+
"p",
|
|
70
|
+
{
|
|
71
|
+
id: errorId2,
|
|
72
|
+
className: "mt-2 pl-4 text-sm text-rose-500 wrap-break-word",
|
|
73
|
+
children: errorMessage2
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
] });
|
|
77
|
+
}
|
|
78
|
+
const {
|
|
79
|
+
className,
|
|
80
|
+
appearance,
|
|
81
|
+
size,
|
|
82
|
+
ring = true,
|
|
83
|
+
ref,
|
|
84
|
+
"aria-invalid": ariaInvalidProp,
|
|
85
|
+
errorMessage,
|
|
86
|
+
hint,
|
|
87
|
+
label,
|
|
88
|
+
id,
|
|
89
|
+
as,
|
|
90
|
+
"aria-describedby": ariaDescribedByUser,
|
|
91
|
+
...rest
|
|
92
|
+
} = props;
|
|
93
|
+
const controlId = id ?? generatedId;
|
|
94
|
+
const errorId = `${controlId}-error`;
|
|
95
|
+
const hintId = `${controlId}-hint`;
|
|
96
|
+
const ariaInvalid = ariaInvalidProp !== void 0 ? ariaInvalidProp : appearance === "error" ? true : void 0;
|
|
97
|
+
const describedBy = mergeDescribedByIds(
|
|
98
|
+
ariaDescribedByUser,
|
|
99
|
+
hint !== void 0 ? hintId : void 0,
|
|
100
|
+
errorMessage && appearance === "error" ? errorId : void 0
|
|
101
|
+
);
|
|
102
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
103
|
+
label !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
104
|
+
"label",
|
|
105
|
+
{
|
|
106
|
+
htmlFor: controlId,
|
|
107
|
+
className: "mb-1 block text-sm font-medium text-slate-200",
|
|
108
|
+
children: label
|
|
109
|
+
}
|
|
110
|
+
),
|
|
111
|
+
hint !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: hintId, className: "mb-1 text-xs text-slate-400", children: hint }),
|
|
112
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
113
|
+
"input",
|
|
114
|
+
{
|
|
115
|
+
ref,
|
|
116
|
+
id: controlId,
|
|
117
|
+
"data-slot": "input",
|
|
118
|
+
className: chunkZS5756ZC_js.cn(
|
|
119
|
+
chunkSCOIRBML_js.inputVariants({ appearance, size, ring, as: as ?? "input" }),
|
|
120
|
+
className
|
|
121
|
+
),
|
|
122
|
+
"aria-invalid": ariaInvalid,
|
|
123
|
+
"aria-describedby": describedBy,
|
|
124
|
+
...rest
|
|
125
|
+
}
|
|
126
|
+
),
|
|
127
|
+
errorMessage && appearance === "error" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
128
|
+
"p",
|
|
129
|
+
{
|
|
130
|
+
id: errorId,
|
|
131
|
+
className: "mt-2 pl-4 text-sm text-rose-500 wrap-break-word",
|
|
132
|
+
children: errorMessage
|
|
133
|
+
}
|
|
134
|
+
)
|
|
135
|
+
] });
|
|
136
|
+
};
|
|
137
|
+
InputBase.displayName = "Input";
|
|
138
|
+
var Input = (props) => {
|
|
139
|
+
return /* @__PURE__ */ jsxRuntime.jsx(InputBase, { ...props });
|
|
140
|
+
};
|
|
141
|
+
Input.displayName = "Input";
|
|
142
|
+
|
|
143
|
+
exports.Input = Input;
|
|
144
|
+
//# sourceMappingURL=chunk-PTU5ZAYX.js.map
|
|
145
|
+
//# sourceMappingURL=chunk-PTU5ZAYX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/inputs/input-base.tsx","../src/ui/inputs/input.tsx"],"names":["useId","className","appearance","size","ring","ref","ariaInvalidProp","errorMessage","hint","label","id","as","ariaDescribedByUser","rest","controlId","errorId","hintId","ariaInvalid","describedBy","jsxs","Fragment","jsx","cn","inputVariants"],"mappings":"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","file":"chunk-PTU5ZAYX.js","sourcesContent":["\"use client\";\n\nimport { useId } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { InputProps } from \"./types\";\nimport { inputVariants } from \"./variants\";\n\nfunction mergeDescribedByIds(\n user: string | undefined,\n ...generated: (string | undefined)[]\n): string | undefined {\n const ids = [\n ...(user ?? \"\").split(/\\s+/).filter(Boolean),\n ...generated.filter((id): id is string => Boolean(id)),\n ];\n const unique = [...new Set(ids)];\n return unique.length > 0 ? unique.join(\" \") : undefined;\n}\n\nexport const InputBase = (props: InputProps) => {\n const generatedId = useId();\n\n if (props.as === \"textarea\") {\n const {\n className,\n appearance,\n size,\n ring = true,\n ref,\n \"aria-invalid\": ariaInvalidProp,\n errorMessage,\n hint,\n label,\n id,\n as,\n \"aria-describedby\": ariaDescribedByUser,\n ...rest\n } = props;\n\n const controlId = id ?? generatedId;\n const errorId = `${controlId}-error`;\n const hintId = `${controlId}-hint`;\n const ariaInvalid =\n ariaInvalidProp !== undefined\n ? ariaInvalidProp\n : appearance === \"error\"\n ? true\n : undefined;\n\n const describedBy = mergeDescribedByIds(\n ariaDescribedByUser,\n hint !== undefined ? hintId : undefined,\n errorMessage && appearance === \"error\" ? errorId : undefined,\n );\n\n return (\n <>\n {label !== undefined && (\n <label\n htmlFor={controlId}\n className=\"mb-1 block text-sm font-medium text-slate-200\"\n >\n {label}\n </label>\n )}\n {hint !== undefined && (\n <p id={hintId} className=\"mb-1 text-xs text-slate-400\">\n {hint}\n </p>\n )}\n <textarea\n ref={ref}\n id={controlId}\n data-slot=\"input\"\n className={cn(\n inputVariants({ appearance, size, ring, as }),\n className,\n )}\n aria-invalid={ariaInvalid}\n aria-describedby={describedBy}\n {...rest}\n />\n {errorMessage && appearance === \"error\" && (\n <p\n id={errorId}\n className=\"mt-2 pl-4 text-sm text-rose-500 wrap-break-word\"\n >\n {errorMessage}\n </p>\n )}\n </>\n );\n }\n\n const {\n className,\n appearance,\n size,\n ring = true,\n ref,\n \"aria-invalid\": ariaInvalidProp,\n errorMessage,\n hint,\n label,\n id,\n as,\n \"aria-describedby\": ariaDescribedByUser,\n ...rest\n } = props;\n\n const controlId = id ?? generatedId;\n const errorId = `${controlId}-error`;\n const hintId = `${controlId}-hint`;\n const ariaInvalid =\n ariaInvalidProp !== undefined\n ? ariaInvalidProp\n : appearance === \"error\"\n ? true\n : undefined;\n\n const describedBy = mergeDescribedByIds(\n ariaDescribedByUser,\n hint !== undefined ? hintId : undefined,\n errorMessage && appearance === \"error\" ? errorId : undefined,\n );\n\n return (\n <>\n {label !== undefined && (\n <label\n htmlFor={controlId}\n className=\"mb-1 block text-sm font-medium text-slate-200\"\n >\n {label}\n </label>\n )}\n {hint !== undefined && (\n <p id={hintId} className=\"mb-1 text-xs text-slate-400\">\n {hint}\n </p>\n )}\n <input\n ref={ref}\n id={controlId}\n data-slot=\"input\"\n className={cn(\n inputVariants({ appearance, size, ring, as: as ?? \"input\" }),\n className,\n )}\n aria-invalid={ariaInvalid}\n aria-describedby={describedBy}\n {...rest}\n />\n {errorMessage && appearance === \"error\" && (\n <p\n id={errorId}\n className=\"mt-2 pl-4 text-sm text-rose-500 wrap-break-word\"\n >\n {errorMessage}\n </p>\n )}\n </>\n );\n};\n\nInputBase.displayName = \"Input\";\n","import { InputBase } from \"./input-base\";\nimport type { InputProps } from \"./types\";\n\nexport const Input = (props: InputProps) => {\n return <InputBase {...props} />;\n};\n\nInput.displayName = \"Input\";\n"]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { useState, useCallback, useEffect, useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
// src/hooks/useVirtualList/useVirtualList.ts
|
|
4
|
+
function useVirtualList({
|
|
5
|
+
itemCount,
|
|
6
|
+
itemHeight,
|
|
7
|
+
overscan = 3
|
|
8
|
+
}) {
|
|
9
|
+
const [container, setContainer] = useState(null);
|
|
10
|
+
const [scrollTop, setScrollTop] = useState(0);
|
|
11
|
+
const [viewportHeight, setViewportHeight] = useState(0);
|
|
12
|
+
const setContainerRef = useCallback((node) => {
|
|
13
|
+
setContainer(node);
|
|
14
|
+
}, []);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (container == null) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const onScroll = () => {
|
|
20
|
+
setScrollTop(container.scrollTop);
|
|
21
|
+
};
|
|
22
|
+
const measure = () => {
|
|
23
|
+
setViewportHeight(container.clientHeight);
|
|
24
|
+
};
|
|
25
|
+
measure();
|
|
26
|
+
onScroll();
|
|
27
|
+
container.addEventListener("scroll", onScroll, { passive: true });
|
|
28
|
+
let observer;
|
|
29
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
30
|
+
observer = new ResizeObserver(measure);
|
|
31
|
+
observer.observe(container);
|
|
32
|
+
}
|
|
33
|
+
return () => {
|
|
34
|
+
container.removeEventListener("scroll", onScroll);
|
|
35
|
+
observer?.disconnect();
|
|
36
|
+
};
|
|
37
|
+
}, [container]);
|
|
38
|
+
const safeItemCount = Math.max(0, Math.floor(itemCount));
|
|
39
|
+
const safeItemHeight = Math.max(1, itemHeight);
|
|
40
|
+
const safeOverscan = Math.max(0, Math.floor(overscan));
|
|
41
|
+
const totalHeight = safeItemCount * safeItemHeight;
|
|
42
|
+
const startIndex = safeItemCount === 0 ? 0 : Math.max(0, Math.floor(scrollTop / safeItemHeight) - safeOverscan);
|
|
43
|
+
const endIndex = safeItemCount === 0 ? -1 : Math.min(
|
|
44
|
+
safeItemCount - 1,
|
|
45
|
+
Math.ceil((scrollTop + viewportHeight) / safeItemHeight) - 1 + safeOverscan
|
|
46
|
+
);
|
|
47
|
+
const virtualItems = useMemo(() => {
|
|
48
|
+
const items = [];
|
|
49
|
+
for (let index = startIndex; index <= endIndex; index += 1) {
|
|
50
|
+
items.push({
|
|
51
|
+
index,
|
|
52
|
+
start: index * safeItemHeight,
|
|
53
|
+
size: safeItemHeight
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return items;
|
|
57
|
+
}, [endIndex, safeItemHeight, startIndex]);
|
|
58
|
+
const scrollToIndex = useCallback(
|
|
59
|
+
(index) => {
|
|
60
|
+
if (container == null || safeItemCount === 0) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const clamped = Math.min(Math.max(index, 0), safeItemCount - 1);
|
|
64
|
+
container.scrollTop = clamped * safeItemHeight;
|
|
65
|
+
setScrollTop(container.scrollTop);
|
|
66
|
+
},
|
|
67
|
+
[container, safeItemCount, safeItemHeight]
|
|
68
|
+
);
|
|
69
|
+
return {
|
|
70
|
+
setContainerRef,
|
|
71
|
+
virtualItems,
|
|
72
|
+
totalHeight,
|
|
73
|
+
startIndex,
|
|
74
|
+
endIndex,
|
|
75
|
+
scrollToIndex
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export { useVirtualList };
|
|
80
|
+
//# sourceMappingURL=chunk-QKO5DA4N.mjs.map
|
|
81
|
+
//# sourceMappingURL=chunk-QKO5DA4N.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useVirtualList/useVirtualList.ts"],"names":[],"mappings":"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","file":"chunk-QKO5DA4N.mjs","sourcesContent":["\"use client\";\n\nimport type { RefCallback } from \"react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nexport type VirtualItem = {\n /** Index into your data array. */\n index: number;\n /** Offset from the top of the scroll content in pixels (use for `translateY` / `top`). */\n start: number;\n /** Row height in pixels. */\n size: number;\n};\n\nexport type UseVirtualListParams = {\n /** Total number of rows in the list. */\n itemCount: number;\n /** Fixed height of every row in pixels (must be > 0). */\n itemHeight: number;\n /** Extra rows rendered above and below the viewport (default `3`). */\n overscan?: number;\n};\n\nexport type UseVirtualListResult = {\n /** Callback ref for the scrollable container (needs `overflow-y: auto` and a bounded height). */\n setContainerRef: RefCallback<HTMLElement>;\n /** The rows to render, each with its absolute `start` offset. */\n virtualItems: VirtualItem[];\n /** Height of the full list content; set it on an inner spacer element. */\n totalHeight: number;\n /** First rendered index (after overscan). */\n startIndex: number;\n /** Last rendered index (after overscan), `-1` when empty. */\n endIndex: number;\n /** Scroll the container so the given row is at the top. */\n scrollToIndex: (index: number) => void;\n};\n\n/**\n * Headless fixed-height list virtualization: renders only the rows visible in the\n * scroll container (plus `overscan`), so lists of tens of thousands of rows stay cheap.\n *\n * Markup recipe: outer container gets `setContainerRef` + `overflow-y: auto` and a height;\n * inside it, one relative spacer div with `height: totalHeight`; each virtual item is\n * absolutely positioned at `translateY(item.start)` with `height: item.size`.\n *\n * Viewport size tracks `ResizeObserver` (when available) and scroll position tracks a\n * passive `scroll` listener. For variable-height rows, reach for a dedicated virtualizer.\n *\n * @param params - {@link UseVirtualListParams}\n * @returns {@link UseVirtualListResult}\n */\nexport function useVirtualList({\n itemCount,\n itemHeight,\n overscan = 3,\n}: UseVirtualListParams): UseVirtualListResult {\n const [container, setContainer] = useState<HTMLElement | null>(null);\n const [scrollTop, setScrollTop] = useState(0);\n const [viewportHeight, setViewportHeight] = useState(0);\n\n const setContainerRef = useCallback((node: HTMLElement | null) => {\n setContainer(node);\n }, []);\n\n useEffect(() => {\n if (container == null) {\n return;\n }\n const onScroll = () => {\n setScrollTop(container.scrollTop);\n };\n const measure = () => {\n setViewportHeight(container.clientHeight);\n };\n measure();\n onScroll();\n container.addEventListener(\"scroll\", onScroll, { passive: true });\n let observer: ResizeObserver | undefined;\n if (typeof ResizeObserver !== \"undefined\") {\n observer = new ResizeObserver(measure);\n observer.observe(container);\n }\n return () => {\n container.removeEventListener(\"scroll\", onScroll);\n observer?.disconnect();\n };\n }, [container]);\n\n const safeItemCount = Math.max(0, Math.floor(itemCount));\n const safeItemHeight = Math.max(1, itemHeight);\n const safeOverscan = Math.max(0, Math.floor(overscan));\n\n const totalHeight = safeItemCount * safeItemHeight;\n const startIndex =\n safeItemCount === 0\n ? 0\n : Math.max(0, Math.floor(scrollTop / safeItemHeight) - safeOverscan);\n const endIndex =\n safeItemCount === 0\n ? -1\n : Math.min(\n safeItemCount - 1,\n Math.ceil((scrollTop + viewportHeight) / safeItemHeight) -\n 1 +\n safeOverscan,\n );\n\n const virtualItems = useMemo(() => {\n const items: VirtualItem[] = [];\n for (let index = startIndex; index <= endIndex; index += 1) {\n items.push({\n index,\n start: index * safeItemHeight,\n size: safeItemHeight,\n });\n }\n return items;\n }, [endIndex, safeItemHeight, startIndex]);\n\n const scrollToIndex = useCallback(\n (index: number) => {\n if (container == null || safeItemCount === 0) {\n return;\n }\n const clamped = Math.min(Math.max(index, 0), safeItemCount - 1);\n container.scrollTop = clamped * safeItemHeight;\n setScrollTop(container.scrollTop);\n },\n [container, safeItemCount, safeItemHeight],\n );\n\n return {\n setContainerRef,\n virtualItems,\n totalHeight,\n startIndex,\n endIndex,\n scrollToIndex,\n };\n}\n"]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkKOIXQXZB_js = require('./chunk-KOIXQXZB.js');
|
|
4
|
+
var chunkZS5756ZC_js = require('./chunk-ZS5756ZC.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function resolveCheckboxState(checked, indeterminate) {
|
|
9
|
+
if (indeterminate) {
|
|
10
|
+
return "indeterminate";
|
|
11
|
+
}
|
|
12
|
+
return checked ? "checked" : "unchecked";
|
|
13
|
+
}
|
|
14
|
+
function CheckboxBase(props) {
|
|
15
|
+
const {
|
|
16
|
+
className,
|
|
17
|
+
rootClassName,
|
|
18
|
+
controlClassName,
|
|
19
|
+
indicatorClassName,
|
|
20
|
+
appearance,
|
|
21
|
+
size,
|
|
22
|
+
checked,
|
|
23
|
+
defaultChecked = false,
|
|
24
|
+
indeterminate,
|
|
25
|
+
onCheckedChange,
|
|
26
|
+
disabled,
|
|
27
|
+
children,
|
|
28
|
+
label,
|
|
29
|
+
id,
|
|
30
|
+
ref,
|
|
31
|
+
"aria-label": ariaLabel,
|
|
32
|
+
...rest
|
|
33
|
+
} = props;
|
|
34
|
+
const generatedId = react.useId();
|
|
35
|
+
const controlId = id ?? generatedId;
|
|
36
|
+
const isControlled = checked !== void 0;
|
|
37
|
+
const [uncontrolled, setUncontrolled] = react.useState(defaultChecked);
|
|
38
|
+
const resolvedChecked = isControlled ? Boolean(checked) : uncontrolled;
|
|
39
|
+
const state = resolveCheckboxState(resolvedChecked, indeterminate);
|
|
40
|
+
const labelContent = label ?? children;
|
|
41
|
+
const hasVisibleLabel = labelContent !== void 0 && labelContent !== null && labelContent !== false;
|
|
42
|
+
const setChecked = react.useCallback(
|
|
43
|
+
(next) => {
|
|
44
|
+
if (!isControlled) {
|
|
45
|
+
setUncontrolled(next);
|
|
46
|
+
}
|
|
47
|
+
onCheckedChange?.(next);
|
|
48
|
+
},
|
|
49
|
+
[isControlled, onCheckedChange]
|
|
50
|
+
);
|
|
51
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
52
|
+
"label",
|
|
53
|
+
{
|
|
54
|
+
className: chunkZS5756ZC_js.cn(chunkKOIXQXZB_js.checkboxRootVariants({ size }), rootClassName, className),
|
|
55
|
+
"data-disabled": disabled ? "true" : void 0,
|
|
56
|
+
"data-state": state,
|
|
57
|
+
htmlFor: controlId,
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
+
"input",
|
|
61
|
+
{
|
|
62
|
+
ref,
|
|
63
|
+
id: controlId,
|
|
64
|
+
type: "checkbox",
|
|
65
|
+
"data-slot": "checkbox",
|
|
66
|
+
className: "peer sr-only",
|
|
67
|
+
checked: resolvedChecked,
|
|
68
|
+
disabled,
|
|
69
|
+
"aria-checked": indeterminate ? "mixed" : resolvedChecked,
|
|
70
|
+
"aria-label": ariaLabel ?? (hasVisibleLabel ? void 0 : "Checkbox"),
|
|
71
|
+
onChange: (event) => setChecked(event.currentTarget.checked),
|
|
72
|
+
...rest
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
76
|
+
"span",
|
|
77
|
+
{
|
|
78
|
+
"aria-hidden": "true",
|
|
79
|
+
className: chunkZS5756ZC_js.cn(
|
|
80
|
+
chunkKOIXQXZB_js.checkboxControlVariants({ appearance, size }),
|
|
81
|
+
controlClassName
|
|
82
|
+
),
|
|
83
|
+
"data-slot": "checkbox-control",
|
|
84
|
+
children: state === "indeterminate" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
85
|
+
"svg",
|
|
86
|
+
{
|
|
87
|
+
viewBox: "0 0 16 16",
|
|
88
|
+
fill: "none",
|
|
89
|
+
className: chunkZS5756ZC_js.cn(
|
|
90
|
+
chunkKOIXQXZB_js.checkboxIndicatorVariants({ size }),
|
|
91
|
+
indicatorClassName
|
|
92
|
+
),
|
|
93
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.5 8H12.5", strokeWidth: "2.4", strokeLinecap: "round" })
|
|
94
|
+
}
|
|
95
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
96
|
+
"svg",
|
|
97
|
+
{
|
|
98
|
+
viewBox: "0 0 16 16",
|
|
99
|
+
fill: "none",
|
|
100
|
+
className: chunkZS5756ZC_js.cn(
|
|
101
|
+
chunkKOIXQXZB_js.checkboxIndicatorVariants({ size }),
|
|
102
|
+
indicatorClassName
|
|
103
|
+
),
|
|
104
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
+
"path",
|
|
106
|
+
{
|
|
107
|
+
d: "M3.2 8.4L6.5 11.5L12.8 4.5",
|
|
108
|
+
strokeWidth: "2.2",
|
|
109
|
+
strokeLinecap: "round",
|
|
110
|
+
strokeLinejoin: "round"
|
|
111
|
+
}
|
|
112
|
+
)
|
|
113
|
+
}
|
|
114
|
+
)
|
|
115
|
+
}
|
|
116
|
+
),
|
|
117
|
+
hasVisibleLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 leading-6", "data-slot": "checkbox-label", children: labelContent })
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
CheckboxBase.displayName = "Checkbox";
|
|
123
|
+
function Checkbox(props) {
|
|
124
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CheckboxBase, { ...props });
|
|
125
|
+
}
|
|
126
|
+
Checkbox.displayName = "Checkbox";
|
|
127
|
+
|
|
128
|
+
exports.Checkbox = Checkbox;
|
|
129
|
+
//# sourceMappingURL=chunk-T7PIKDUZ.js.map
|
|
130
|
+
//# sourceMappingURL=chunk-T7PIKDUZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/checkbox/checkbox-base.tsx","../src/ui/checkbox/checkbox.tsx"],"names":["useId","useState","useCallback","jsxs","cn","checkboxRootVariants","jsx","checkboxControlVariants","checkboxIndicatorVariants"],"mappings":"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","file":"chunk-T7PIKDUZ.js","sourcesContent":["\"use client\";\n\nimport { useCallback, useId, useState } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { CheckboxProps, CheckboxState } from \"./types\";\nimport {\n checkboxControlVariants,\n checkboxIndicatorVariants,\n checkboxRootVariants,\n} from \"./variants\";\n\nfunction resolveCheckboxState(\n checked: boolean,\n indeterminate: boolean | undefined,\n): CheckboxState {\n if (indeterminate) {\n return \"indeterminate\";\n }\n return checked ? \"checked\" : \"unchecked\";\n}\n\nexport function CheckboxBase(props: CheckboxProps) {\n const {\n className,\n rootClassName,\n controlClassName,\n indicatorClassName,\n appearance,\n size,\n checked,\n defaultChecked = false,\n indeterminate,\n onCheckedChange,\n disabled,\n children,\n label,\n id,\n ref,\n \"aria-label\": ariaLabel,\n ...rest\n } = props;\n const generatedId = useId();\n const controlId = id ?? generatedId;\n const isControlled = checked !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultChecked);\n const resolvedChecked = isControlled ? Boolean(checked) : uncontrolled;\n const state = resolveCheckboxState(resolvedChecked, indeterminate);\n const labelContent = label ?? children;\n const hasVisibleLabel =\n labelContent !== undefined &&\n labelContent !== null &&\n labelContent !== false;\n\n const setChecked = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolled(next);\n }\n onCheckedChange?.(next);\n },\n [isControlled, onCheckedChange],\n );\n\n return (\n <label\n className={cn(checkboxRootVariants({ size }), rootClassName, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-state={state}\n htmlFor={controlId}\n >\n <input\n ref={ref}\n id={controlId}\n type=\"checkbox\"\n data-slot=\"checkbox\"\n className=\"peer sr-only\"\n checked={resolvedChecked}\n disabled={disabled}\n aria-checked={indeterminate ? \"mixed\" : resolvedChecked}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : \"Checkbox\")}\n onChange={(event) => setChecked(event.currentTarget.checked)}\n {...rest}\n />\n <span\n aria-hidden=\"true\"\n className={cn(\n checkboxControlVariants({ appearance, size }),\n controlClassName,\n )}\n data-slot=\"checkbox-control\"\n >\n {state === \"indeterminate\" ? (\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={cn(\n checkboxIndicatorVariants({ size }),\n indicatorClassName,\n )}\n >\n <path d=\"M3.5 8H12.5\" strokeWidth=\"2.4\" strokeLinecap=\"round\" />\n </svg>\n ) : (\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={cn(\n checkboxIndicatorVariants({ size }),\n indicatorClassName,\n )}\n >\n <path\n d=\"M3.2 8.4L6.5 11.5L12.8 4.5\"\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </span>\n {hasVisibleLabel && (\n <span className=\"min-w-0 leading-6\" data-slot=\"checkbox-label\">\n {labelContent}\n </span>\n )}\n </label>\n );\n}\n\nCheckboxBase.displayName = \"Checkbox\";\n","import { CheckboxBase } from \"./checkbox-base\";\nimport type { CheckboxProps } from \"./types\";\n\nexport function Checkbox(props: CheckboxProps) {\n return <CheckboxBase {...props} />;\n}\n\nCheckbox.displayName = \"Checkbox\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-TDK5TVJE.mjs"}
|
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkFBUY6K6S_js = require('./chunk-FBUY6K6S.js');
|
|
4
|
+
var chunkY7BU5RC4_js = require('./chunk-Y7BU5RC4.js');
|
|
5
|
+
var chunkNDF3HORF_js = require('./chunk-NDF3HORF.js');
|
|
4
6
|
var chunkUSLNTKVQ_js = require('./chunk-USLNTKVQ.js');
|
|
5
7
|
var chunkD7ATXPVI_js = require('./chunk-D7ATXPVI.js');
|
|
6
8
|
var chunkIEHY6KNM_js = require('./chunk-IEHY6KNM.js');
|
|
7
9
|
var chunk3MK7CWEX_js = require('./chunk-3MK7CWEX.js');
|
|
10
|
+
var chunk22FJROCI_js = require('./chunk-22FJROCI.js');
|
|
11
|
+
var chunkUJXFD4SK_js = require('./chunk-UJXFD4SK.js');
|
|
8
12
|
var chunk3EJCQXGV_js = require('./chunk-3EJCQXGV.js');
|
|
9
13
|
var chunk6KVTKYTB_js = require('./chunk-6KVTKYTB.js');
|
|
10
14
|
var chunkL7W4NRK6_js = require('./chunk-L7W4NRK6.js');
|
|
11
15
|
var chunkKWBGLH7G_js = require('./chunk-KWBGLH7G.js');
|
|
12
16
|
var chunkOH5VOGNW_js = require('./chunk-OH5VOGNW.js');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
17
|
+
var chunkWGN2CBG6_js = require('./chunk-WGN2CBG6.js');
|
|
18
|
+
var chunkSRSRY5K2_js = require('./chunk-SRSRY5K2.js');
|
|
15
19
|
var chunkUG3GF2BD_js = require('./chunk-UG3GF2BD.js');
|
|
16
20
|
var chunkBZTAA3MK_js = require('./chunk-BZTAA3MK.js');
|
|
17
21
|
var chunkPZ25OHJE_js = require('./chunk-PZ25OHJE.js');
|
|
18
22
|
var chunkHOOZYA4N_js = require('./chunk-HOOZYA4N.js');
|
|
19
23
|
var chunkCJCOURVM_js = require('./chunk-CJCOURVM.js');
|
|
20
|
-
var
|
|
21
|
-
var chunkUJXFD4SK_js = require('./chunk-UJXFD4SK.js');
|
|
24
|
+
var chunkKJMW7S5X_js = require('./chunk-KJMW7S5X.js');
|
|
22
25
|
var chunk3CYJQ6KF_js = require('./chunk-3CYJQ6KF.js');
|
|
23
26
|
var chunk3453DQNL_js = require('./chunk-3453DQNL.js');
|
|
24
27
|
var chunkDYSXCJGL_js = require('./chunk-DYSXCJGL.js');
|
|
25
28
|
var chunkA7MU6SFI_js = require('./chunk-A7MU6SFI.js');
|
|
26
|
-
var
|
|
27
|
-
var chunkSRSRY5K2_js = require('./chunk-SRSRY5K2.js');
|
|
29
|
+
var chunkNYO3W5GY_js = require('./chunk-NYO3W5GY.js');
|
|
28
30
|
var chunkHNRCPZCK_js = require('./chunk-HNRCPZCK.js');
|
|
29
31
|
var chunkJ2SUGU3X_js = require('./chunk-J2SUGU3X.js');
|
|
30
32
|
var chunkJ5NTJVKX_js = require('./chunk-J5NTJVKX.js');
|
|
@@ -32,14 +34,13 @@ var chunkUQQHB3OI_js = require('./chunk-UQQHB3OI.js');
|
|
|
32
34
|
var chunkBBM4BKSN_js = require('./chunk-BBM4BKSN.js');
|
|
33
35
|
var chunkY5JAQEBF_js = require('./chunk-Y5JAQEBF.js');
|
|
34
36
|
var chunk7DVECOO7_js = require('./chunk-7DVECOO7.js');
|
|
35
|
-
var chunkKJMW7S5X_js = require('./chunk-KJMW7S5X.js');
|
|
36
37
|
var chunkYPYPWALR_js = require('./chunk-YPYPWALR.js');
|
|
37
38
|
var chunkPP3L6M62_js = require('./chunk-PP3L6M62.js');
|
|
38
39
|
var chunkBJDT7P2I_js = require('./chunk-BJDT7P2I.js');
|
|
40
|
+
var chunkPG7LQVU6_js = require('./chunk-PG7LQVU6.js');
|
|
39
41
|
var chunkNFUOJMNI_js = require('./chunk-NFUOJMNI.js');
|
|
40
42
|
var chunkUT6QG35L_js = require('./chunk-UT6QG35L.js');
|
|
41
43
|
var chunkIR5SJ7AQ_js = require('./chunk-IR5SJ7AQ.js');
|
|
42
|
-
var chunkNYO3W5GY_js = require('./chunk-NYO3W5GY.js');
|
|
43
44
|
var chunkPZ5AY32C_js = require('./chunk-PZ5AY32C.js');
|
|
44
45
|
|
|
45
46
|
// src/design-system/index.ts
|
|
@@ -63,6 +64,14 @@ chunkPZ5AY32C_js.__export(design_system_exports, {
|
|
|
63
64
|
zuiAnimatedNumberAppearance: () => chunkNFUOJMNI_js.zuiAnimatedNumberAppearance,
|
|
64
65
|
zuiAnimatedNumberBase: () => chunkNFUOJMNI_js.zuiAnimatedNumberBase,
|
|
65
66
|
zuiAnimatedNumberSize: () => chunkNFUOJMNI_js.zuiAnimatedNumberSize,
|
|
67
|
+
zuiAudioPlayerAppearances: () => chunkPG7LQVU6_js.zuiAudioPlayerAppearances,
|
|
68
|
+
zuiAudioPlayerBarBase: () => chunkPG7LQVU6_js.zuiAudioPlayerBarBase,
|
|
69
|
+
zuiAudioPlayerBase: () => chunkPG7LQVU6_js.zuiAudioPlayerBase,
|
|
70
|
+
zuiAudioPlayerShapes: () => chunkPG7LQVU6_js.zuiAudioPlayerShapes,
|
|
71
|
+
zuiAudioPlayerSizes: () => chunkPG7LQVU6_js.zuiAudioPlayerSizes,
|
|
72
|
+
zuiAudioPlayerTimeBase: () => chunkPG7LQVU6_js.zuiAudioPlayerTimeBase,
|
|
73
|
+
zuiAudioPlayerTrackBase: () => chunkPG7LQVU6_js.zuiAudioPlayerTrackBase,
|
|
74
|
+
zuiAudioPlayerTrackSizes: () => chunkPG7LQVU6_js.zuiAudioPlayerTrackSizes,
|
|
66
75
|
zuiAvatarAppearances: () => chunkUT6QG35L_js.zuiAvatarAppearances,
|
|
67
76
|
zuiAvatarBase: () => chunkUT6QG35L_js.zuiAvatarBase,
|
|
68
77
|
zuiAvatarFallbackBase: () => chunkUT6QG35L_js.zuiAvatarFallbackBase,
|
|
@@ -145,6 +154,13 @@ chunkPZ5AY32C_js.__export(design_system_exports, {
|
|
|
145
154
|
zuiCopyButtonIconOnlySizes: () => chunk7DVECOO7_js.zuiCopyButtonIconOnlySizes,
|
|
146
155
|
zuiCopyButtonSizes: () => chunk7DVECOO7_js.zuiCopyButtonSizes,
|
|
147
156
|
zuiCssVariablePattern: () => chunkYPYPWALR_js.zuiCssVariablePattern,
|
|
157
|
+
zuiDataTableColumnPanelBase: () => zuiDataTableColumnPanelBase,
|
|
158
|
+
zuiDataTableRootBase: () => zuiDataTableRootBase,
|
|
159
|
+
zuiDataTableStateCellBase: () => zuiDataTableStateCellBase,
|
|
160
|
+
zuiDataTableStatusBase: () => zuiDataTableStatusBase,
|
|
161
|
+
zuiDataTableToolbarBase: () => zuiDataTableToolbarBase,
|
|
162
|
+
zuiDataTableToolbarGroupBase: () => zuiDataTableToolbarGroupBase,
|
|
163
|
+
zuiDataTableVirtualScrollBase: () => zuiDataTableVirtualScrollBase,
|
|
148
164
|
zuiDisabledState: () => chunkYPYPWALR_js.zuiDisabledState,
|
|
149
165
|
zuiDividerAppearances: () => chunkKJMW7S5X_js.zuiDividerAppearances,
|
|
150
166
|
zuiDividerBase: () => chunkKJMW7S5X_js.zuiDividerBase,
|
|
@@ -445,6 +461,15 @@ var zuiButtonSizes = {
|
|
|
445
461
|
icon: "h-10 w-10"
|
|
446
462
|
};
|
|
447
463
|
|
|
464
|
+
// src/design-system/data-table.ts
|
|
465
|
+
var zuiDataTableRootBase = "w-full space-y-3 text-[color:var(--zui-data-table-fg,var(--zui-fg,oklch(37.2%_0.044_257.287)))] dark:text-[color:var(--zui-data-table-fg-dark,var(--zui-fg-dark,oklch(92.9%_0.013_255.508)))]";
|
|
466
|
+
var zuiDataTableToolbarBase = "flex flex-col gap-3 rounded-lg border border-[color:var(--zui-data-table-toolbar-border,var(--zui-border,#0000001a))] bg-[var(--zui-data-table-toolbar-bg,var(--zui-surface,#ffffff))] p-3 dark:border-[color:var(--zui-data-table-toolbar-border-dark,var(--zui-border-dark,#ffffff1a))] dark:bg-[var(--zui-data-table-toolbar-bg-dark,var(--zui-surface-dark,#020617))] sm:flex-row sm:items-center sm:justify-between";
|
|
467
|
+
var zuiDataTableToolbarGroupBase = "flex min-w-0 flex-wrap items-center gap-2";
|
|
468
|
+
var zuiDataTableColumnPanelBase = "absolute right-0 z-20 mt-2 grid min-w-48 gap-2 rounded-lg border border-[color:var(--zui-data-table-column-panel-border,var(--zui-border,#0000001a))] bg-[var(--zui-data-table-column-panel-bg,var(--zui-surface,#ffffff))] p-3 shadow-lg shadow-black/10 dark:border-[color:var(--zui-data-table-column-panel-border-dark,var(--zui-border-dark,#ffffff1a))] dark:bg-[var(--zui-data-table-column-panel-bg-dark,var(--zui-surface-dark,#020617))] dark:shadow-black/40";
|
|
469
|
+
var zuiDataTableStatusBase = "text-sm text-[color:var(--zui-data-table-muted-fg,var(--zui-muted-fg,oklch(55.4%_0.046_257.417)))] dark:text-[color:var(--zui-data-table-muted-fg-dark,var(--zui-muted-fg-dark,oklch(70.4%_0.04_256.788)))]";
|
|
470
|
+
var zuiDataTableStateCellBase = "p-8 text-center text-[color:var(--zui-data-table-state-fg,var(--zui-muted-fg,oklch(55.4%_0.046_257.417)))] dark:text-[color:var(--zui-data-table-state-fg-dark,var(--zui-muted-fg-dark,oklch(70.4%_0.04_256.788)))]";
|
|
471
|
+
var zuiDataTableVirtualScrollBase = "overflow-auto rounded-lg border border-[color:var(--zui-data-table-virtual-border,var(--zui-border,#0000001a))] dark:border-[color:var(--zui-data-table-virtual-border-dark,var(--zui-border-dark,#ffffff1a))]";
|
|
472
|
+
|
|
448
473
|
// src/design-system/dynamic-stepper.ts
|
|
449
474
|
var zuiDynamicStepperIndicatorToneClasses = {
|
|
450
475
|
default: {
|
|
@@ -656,6 +681,13 @@ exports.design_system_exports = design_system_exports;
|
|
|
656
681
|
exports.zuiButtonAppearances = zuiButtonAppearances;
|
|
657
682
|
exports.zuiButtonBase = zuiButtonBase;
|
|
658
683
|
exports.zuiButtonSizes = zuiButtonSizes;
|
|
684
|
+
exports.zuiDataTableColumnPanelBase = zuiDataTableColumnPanelBase;
|
|
685
|
+
exports.zuiDataTableRootBase = zuiDataTableRootBase;
|
|
686
|
+
exports.zuiDataTableStateCellBase = zuiDataTableStateCellBase;
|
|
687
|
+
exports.zuiDataTableStatusBase = zuiDataTableStatusBase;
|
|
688
|
+
exports.zuiDataTableToolbarBase = zuiDataTableToolbarBase;
|
|
689
|
+
exports.zuiDataTableToolbarGroupBase = zuiDataTableToolbarGroupBase;
|
|
690
|
+
exports.zuiDataTableVirtualScrollBase = zuiDataTableVirtualScrollBase;
|
|
659
691
|
exports.zuiDynamicStepperIndicatorBase = zuiDynamicStepperIndicatorBase;
|
|
660
692
|
exports.zuiDynamicStepperIndicatorSizes = zuiDynamicStepperIndicatorSizes;
|
|
661
693
|
exports.zuiDynamicStepperIndicatorToneClasses = zuiDynamicStepperIndicatorToneClasses;
|
|
@@ -670,5 +702,5 @@ exports.zuiPaginationEllipsisSizes = zuiPaginationEllipsisSizes;
|
|
|
670
702
|
exports.zuiPaginationListAppearances = zuiPaginationListAppearances;
|
|
671
703
|
exports.zuiPaginationListBase = zuiPaginationListBase;
|
|
672
704
|
exports.zuiPaginationListSizes = zuiPaginationListSizes;
|
|
673
|
-
//# sourceMappingURL=chunk-
|
|
674
|
-
//# sourceMappingURL=chunk-
|
|
705
|
+
//# sourceMappingURL=chunk-TJ2EWPER.js.map
|
|
706
|
+
//# sourceMappingURL=chunk-TJ2EWPER.js.map
|