@gradient-ui/core 0.5.0-rc.0 → 0.8.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.
Files changed (151) hide show
  1. package/README.md +4 -4
  2. package/dist/{GLoading.vue_vue_type_style_index_0_lang-CBB_GocW.js → GLoading.vue_vue_type_style_index_0_lang-BbVYszn2.js} +90 -88
  3. package/dist/GLoading.vue_vue_type_style_index_0_lang-DW5X0giH.cjs +1 -0
  4. package/dist/GSwitch.vue_vue_type_script_setup_true_lang-BPwF9Kug.js +8734 -0
  5. package/dist/GSwitch.vue_vue_type_script_setup_true_lang-C45EmRhx.cjs +1 -0
  6. package/dist/{camelToKebabCase-6qY6WHvl.js → camelToKebabCase-BWbQb81D.js} +4 -4
  7. package/dist/components.cjs +1 -1
  8. package/dist/components.mjs +73 -65
  9. package/dist/default--73FwpwZ.cjs +4 -0
  10. package/dist/default-DlsS6GI_.js +58 -0
  11. package/dist/directives.cjs +1 -1
  12. package/dist/directives.mjs +1 -1
  13. package/dist/index-DVHKm06w.cjs +1 -0
  14. package/dist/index-DeFv4BdJ.js +418 -0
  15. package/dist/index.cjs +1 -1
  16. package/dist/index.mjs +197 -173
  17. package/dist/{mask-CZX-I_iy.js → mask-669nMf98.js} +2 -2
  18. package/dist/{mask-BbofdFd4.cjs → mask-Bh_UkcCe.cjs} +1 -1
  19. package/dist/materialSurface-BbFTyJuA.js +634 -0
  20. package/dist/materialSurface-DOfA2E9c.cjs +1 -0
  21. package/dist/scheme-CZ0a0X5e.cjs +299 -0
  22. package/dist/scheme-Dqwdqg6N.js +1405 -0
  23. package/dist/services.cjs +1 -1
  24. package/dist/services.mjs +1 -1
  25. package/dist/style.css +1 -1
  26. package/dist/{surface-BKu4KfkY.js → surface-C3w1Rz6V.js} +50 -47
  27. package/dist/surface-DB9flb-h.cjs +1 -0
  28. package/dist/theme.cjs +1 -1
  29. package/dist/theme.mjs +52 -48
  30. package/dist/types/components/index.d.ts +10 -0
  31. package/dist/types/components/ui/GAlert/GAlert.vue.d.ts +3 -3
  32. package/dist/types/components/ui/GAvatar/GAvatar.vue.d.ts +873 -0
  33. package/dist/types/components/ui/GAvatar/GAvatarGroup.vue.d.ts +194 -0
  34. package/dist/types/components/ui/GAvatar/index.d.ts +3 -0
  35. package/dist/types/components/ui/GAvatar/types.d.ts +585 -0
  36. package/dist/types/components/ui/GBadge/GBadge.vue.d.ts +5 -5
  37. package/dist/types/components/ui/GButton/GButton.vue.d.ts +3 -3
  38. package/dist/types/components/ui/GCard/GCard.vue.d.ts +949 -0
  39. package/dist/types/components/ui/GCard/index.d.ts +2 -0
  40. package/dist/types/components/ui/GCard/types.d.ts +519 -0
  41. package/dist/types/components/ui/GCheckControl/GCheckGroup.vue.d.ts +1 -1
  42. package/dist/types/components/ui/GChip/GChip.vue.d.ts +8 -4
  43. package/dist/types/components/ui/GChip/types.d.ts +1 -0
  44. package/dist/types/components/ui/GCombobox/GCombobox.vue.d.ts +37 -0
  45. package/dist/types/components/ui/GCombobox/index.d.ts +2 -0
  46. package/dist/types/components/ui/GCombobox/types.d.ts +59 -0
  47. package/dist/types/components/ui/GDivider/GDivider.vue.d.ts +965 -0
  48. package/dist/types/components/ui/GDivider/index.d.ts +2 -0
  49. package/dist/types/components/ui/GDivider/types.d.ts +518 -0
  50. package/dist/types/components/ui/GExpansion/GExpansion.vue.d.ts +9 -9
  51. package/dist/types/components/ui/GExpansionGroup/types.d.ts +4 -1
  52. package/dist/types/components/ui/GFAB/GFAB.vue.d.ts +4 -4
  53. package/dist/types/components/ui/GFieldBase/GFieldBase.vue.d.ts +75 -0
  54. package/dist/types/components/ui/GFieldBase/props.d.ts +73 -4
  55. package/dist/types/components/ui/GGradientMaterial/GGradientMaterial.vue.d.ts +3 -3
  56. package/dist/types/components/ui/GInput/GInput.vue.d.ts +75 -0
  57. package/dist/types/components/ui/GMenu/GMenu.vue.d.ts +1 -1
  58. package/dist/types/components/ui/GMenu/GSubmenu.vue.d.ts +6 -6
  59. package/dist/types/components/ui/GMenuItem/GMenuItem.vue.d.ts +1 -1
  60. package/dist/types/components/ui/GNavbar/GNavbar.vue.d.ts +3 -3
  61. package/dist/types/components/ui/GQuickActions/GQuickActions.vue.d.ts +1 -1
  62. package/dist/types/components/ui/GSelect/types.d.ts +6 -0
  63. package/dist/types/components/ui/GSelectItem.vue.d.ts +1 -1
  64. package/dist/types/components/ui/GSnackbar/GSnackbar.vue.d.ts +4 -4
  65. package/dist/types/components/ui/GStepper/GStepItem.vue.d.ts +16 -0
  66. package/dist/types/components/ui/GStepper/GStepPanel.vue.d.ts +76 -0
  67. package/dist/types/components/ui/GStepper/GStepper.vue.d.ts +63 -0
  68. package/dist/types/components/ui/GStepper/GStepperActions.vue.d.ts +22 -0
  69. package/dist/types/components/ui/GStepper/context.d.ts +42 -0
  70. package/dist/types/components/ui/GStepper/index.d.ts +4 -0
  71. package/dist/types/components/ui/GStepper/types.d.ts +708 -0
  72. package/dist/types/components/ui/GTable/GTable.vue.d.ts +13 -13
  73. package/dist/types/components/ui/GTable/types.d.ts +59 -55
  74. package/dist/types/components/ui/GTextarea/GTextarea.vue.d.ts +75 -0
  75. package/dist/types/components/ui/GToggleButton/GToggleButton.vue.d.ts +4 -4
  76. package/dist/types/theme/default.d.ts +2 -1
  77. package/dist/types/theme/gradient.d.ts +1 -1
  78. package/dist/types/theme/index.d.ts +6 -6
  79. package/dist/types/use/actionSurface.d.ts +5 -1650
  80. package/dist/types/use/density.d.ts +16 -0
  81. package/dist/types/use/form/fieldKeyboard.d.ts +19 -0
  82. package/dist/types/use/form/props.d.ts +54 -2
  83. package/dist/types/use/form/textFieldControl.d.ts +9 -1
  84. package/dist/types/use/gradient.d.ts +4 -1653
  85. package/dist/types/use/gradientMaterial.d.ts +1 -1
  86. package/dist/types/use/index.d.ts +9 -0
  87. package/dist/types/use/input/props.d.ts +43 -4
  88. package/dist/types/use/material.d.ts +3 -2
  89. package/dist/types/use/materialSurface.d.ts +10 -4
  90. package/dist/types/use/navigation/controller.d.ts +14 -0
  91. package/dist/types/use/navigation/index.d.ts +4 -0
  92. package/dist/types/use/navigation/item.d.ts +9 -0
  93. package/dist/types/use/navigation/keyboard.d.ts +4 -0
  94. package/dist/types/use/navigation/types.d.ts +42 -0
  95. package/dist/types/use/select/comboboxController.d.ts +36 -0
  96. package/dist/types/use/select/commit.d.ts +23 -0
  97. package/dist/types/use/select/controller.d.ts +5 -0
  98. package/dist/types/use/select/creatable.d.ts +18 -0
  99. package/dist/types/use/select/fieldControl.d.ts +59 -0
  100. package/dist/types/use/select/filter.d.ts +14 -0
  101. package/dist/types/use/select/listboxKeyboard.d.ts +9 -0
  102. package/dist/types/use/select/modelFallbackItems.d.ts +12 -0
  103. package/dist/types/use/select/search.d.ts +14 -0
  104. package/dist/types/use/select/searchFieldControl.d.ts +24 -0
  105. package/dist/types/use/select/selectionSummary.d.ts +1 -0
  106. package/dist/types/use/select/tokenInputKeyboard.d.ts +11 -0
  107. package/dist/types/use/stateIcon.d.ts +9 -0
  108. package/dist/types/use/stepper/controller.d.ts +20 -0
  109. package/dist/types/use/stepper/index.d.ts +1 -0
  110. package/dist/types/use/surfaceColor.d.ts +2 -1
  111. package/dist/types/use/surfaceMaterial.d.ts +45 -0
  112. package/dist/types/use/textarea/props.d.ts +43 -4
  113. package/dist/use.cjs +1 -1
  114. package/dist/use.mjs +54 -42
  115. package/dist/useSnackbar-6OiYxhJA.cjs +1 -0
  116. package/dist/useSnackbar-BYPu4tJ4.js +922 -0
  117. package/package.json +4 -2
  118. package/dist/GLoading.vue_vue_type_style_index_0_lang-Bv3dWEq8.cjs +0 -1
  119. package/dist/GSwitch.vue_vue_type_script_setup_true_lang-BS6bb1XY.cjs +0 -1
  120. package/dist/GSwitch.vue_vue_type_script_setup_true_lang-UTBNFP5X.js +0 -7015
  121. package/dist/default-BhuY-A3o.cjs +0 -4
  122. package/dist/default-OTmCd0Aq.js +0 -131
  123. package/dist/index-B3_n44N_.cjs +0 -1
  124. package/dist/index-BtCLucTD.js +0 -66
  125. package/dist/material-Ca7ZZAiO.cjs +0 -194
  126. package/dist/material-okvXHenb.js +0 -1162
  127. package/dist/materialSurface-BBrP9ltj.js +0 -591
  128. package/dist/materialSurface-CK8LN_dU.cjs +0 -1
  129. package/dist/surface-8z3gR7vF.cjs +0 -1
  130. package/dist/types/theme/gradient/animation/css.d.ts +0 -12
  131. package/dist/types/theme/gradient/animation/index.d.ts +0 -1
  132. package/dist/types/theme/gradient/colorMath.d.ts +0 -3
  133. package/dist/types/theme/gradient/constants.d.ts +0 -3
  134. package/dist/types/theme/gradient/core.d.ts +0 -1
  135. package/dist/types/theme/gradient/effects/index.d.ts +0 -1
  136. package/dist/types/theme/gradient/effects/morph.d.ts +0 -5
  137. package/dist/types/theme/gradient/effects/shadow.d.ts +0 -3
  138. package/dist/types/theme/gradient/formatters/canvas.d.ts +0 -2
  139. package/dist/types/theme/gradient/formatters/css.d.ts +0 -3
  140. package/dist/types/theme/gradient/formatters/index.d.ts +0 -1
  141. package/dist/types/theme/gradient/formatters/svg.d.ts +0 -5
  142. package/dist/types/theme/gradient/index.d.ts +0 -1
  143. package/dist/types/theme/gradient/material.d.ts +0 -1
  144. package/dist/types/theme/gradient/model.d.ts +0 -5
  145. package/dist/types/theme/gradient/presets.d.ts +0 -158
  146. package/dist/types/theme/gradient/recipes.d.ts +0 -14
  147. package/dist/types/theme/gradient/tokens.d.ts +0 -72
  148. package/dist/types/theme/gradient/types.d.ts +0 -117
  149. package/dist/types/theme/gradient/utils.d.ts +0 -10
  150. package/dist/useSnackbar-BHQshEZ8.cjs +0 -1
  151. package/dist/useSnackbar-DeNHZH8v.js +0 -908
@@ -1,4 +0,0 @@
1
- "use strict";const c=require("./camelToKebabCase-BQDotaQm.cjs"),i=require("@gradient-ui/gradient-engine"),u=require("vue"),h=e=>{const t=c.parseColor(e);if(!t)throw new Error(`Unsupported generated color: ${String(e)}`);return c.rgbToChannels(t)},k=e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`,C=e=>`on${k(e)}`,O=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),$=(e,t,o,r)=>{const{colors:s,onColors:a}=r;for(const n of c.COLOR_SHADES){const l=s[n];e[`${o}${n}`]=h(l),e[`${C(o)}${n}`]=h(a[n]),t[`${o}${n}`]=i.createGradient(s,{shade:n})}e[o]=e[`${o}500`],e[C(o)]=e[`${C(o)}500`],t[o]=t[`${o}500`]},P=e=>typeof e=="object"&&e!==null&&"color"in e,L=e=>P(e)?e:{color:e},w=(e,t,o,r)=>{e[o]=h(r.color),e[C(o)]=h(r.onColor??c.getContrastingColor(r.color)),r.gradient!==!1&&(t[o]=r.gradient??i.createGradientFromColor(r.color))},v=(e,t,o,r,s)=>{const a=O(c.camelToKebabCase(r)),n=L(s);if(n.palette===!1){w(e,t,a,n);return}const l=c.createPalettePair(n.color);o[a]=l,$(e,t,a,l),n.onColor&&(e[C(a)]=h(n.onColor)),n.gradient&&(t[a]=n.gradient)},E=(e,t={})=>{const o={},r={},s={source:c.createPalettePair(e)};for(const[a,n]of Object.entries(c.COLOR_SEEDS))s[a]=c.createPalettePair(n);for(const[a,n]of Object.entries(s))$(o,r,a,n);for(const[a,n]of Object.entries(t.colors??{}))v(o,r,s,a,n);return r.main=i.createGradient(s.source.colors),r.error=i.createGradient(s.red.colors,{shade:600}),r.warning=i.createGradient(s.amber.colors,{shade:600}),r.success=i.createGradient(s.green.colors,{shade:600}),{colors:o,gradients:r,palettes:s}},_=e=>{const t=c.parseColor(e);if(!t)throw new Error(`Unsupported generated color: ${String(e)}`);return c.rgbToChannels(t)},S=(e,t)=>{const o=c.themeFromSourceColor(c.argbFromHex(e)).schemes[t].toJSON();return Object.fromEntries(Object.entries(o).map(([r,s])=>[r,_(c.hexFromArgb(s))]))},b=(e,t)=>{const o=S(e,t),r=S(c.COLOR_SEEDS.amber,t),s=S(c.COLOR_SEEDS.green,t);return{...o,warning:r.primary,onWarning:r.onPrimary,warningContainer:r.primaryContainer,onWarningContainer:r.onPrimaryContainer,success:s.primary,onSuccess:s.onPrimary,successContainer:s.primaryContainer,onSuccessContainer:s.onPrimaryContainer}},j=(e,{className:t,id:o,prefix:r})=>{const s=Object.entries(e).map(([l,d])=>` --g-${r}-${c.camelToKebabCase(l)}: ${d};`),a=`.${t} {
2
- ${s.join(`
3
- `)}
4
- }`;let n=document.getElementById(o);return n||(n=document.createElement("style"),n.id=o,document.head.appendChild(n)),n.textContent=a,n},m="#4e51ff",y="g-theme--material",T="g-theme--",f=Symbol("gradient-theme"),A=e=>c.colorToHex(e,m),p=(e,t)=>j(e,{className:y,id:`g-${t}-style`,prefix:t}),F=(e=m,t={})=>g(e,"light",t),z=(e=m,t={})=>g(e,"dark",t),g=(e=m,t="light",o={})=>{const r=document.documentElement;r.classList.add(y),r.classList.remove(`${T}light`,`${T}dark`),r.classList.add(`${T}${t}`);const s=A(e),a=E(s,{colors:o.colors}),n={theme:b(s,t),colors:a.colors,gradients:a.gradients};return{tokens:n,themeCSS:p(n.theme,"theme"),colorsCSS:p(n.colors,"color"),gradientCSS:p(n.gradients,"gradient")}},D=(e={})=>{const t=u.ref(e.seed??m),o=u.ref(e.mode??"light"),r=u.shallowRef(null),s=()=>typeof window>"u"?null:(r.value=g(t.value,o.value,{colors:e.colors}),r.value),a=d=>(t.value=d,s()),n=d=>(o.value=d,s()),l=()=>(o.value=o.value==="dark"?"light":"dark",s());return e.autoApply!==!1&&s(),{seed:t,mode:o,result:r,apply:s,setSeed:a,setMode:n,toggleMode:l}},G=(e=D())=>(u.provide(f,e),e),R=(e,t)=>{e.provide(f,t)},U=()=>u.inject(f,null);exports.DEFAULT_SEED=m;exports.createColorSystem=E;exports.createDefaultDarkTheme=z;exports.createDefaultLightTheme=F;exports.createDefaultTheme=g;exports.createSemanticTokens=b;exports.createTheme=D;exports.installTheme=R;exports.provideTheme=G;exports.useTheme=U;
@@ -1,131 +0,0 @@
1
- import { d as p, f as S, C as D, h as y, p as b, r as k, g as w, t as j, i as P, j as L, c as v } from "./camelToKebabCase-6qY6WHvl.js";
2
- import { createGradient as i, createGradientFromColor as A } from "@gradient-ui/gradient-engine";
3
- import { inject as _, ref as T, shallowRef as z, provide as F } from "vue";
4
- const d = (e) => {
5
- const o = b(e);
6
- if (!o)
7
- throw new Error(`Unsupported generated color: ${String(e)}`);
8
- return k(o);
9
- }, U = (e) => `${e.charAt(0).toUpperCase()}${e.slice(1)}`, m = (e) => `on${U(e)}`, x = (e) => e.replace(
10
- /-([a-z0-9])/g,
11
- (o, t) => t.toUpperCase()
12
- ), E = (e, o, t, r) => {
13
- const { colors: s, onColors: a } = r;
14
- for (const n of D) {
15
- const c = s[n];
16
- e[`${t}${n}`] = d(c), e[`${m(t)}${n}`] = d(a[n]), o[`${t}${n}`] = i(s, { shade: n });
17
- }
18
- e[t] = e[`${t}500`], e[m(t)] = e[`${m(t)}500`], o[t] = o[`${t}500`];
19
- }, H = (e) => typeof e == "object" && e !== null && "color" in e, M = (e) => H(e) ? e : { color: e }, N = (e, o, t, r) => {
20
- e[t] = d(r.color), e[m(t)] = d(
21
- r.onColor ?? w(r.color)
22
- ), r.gradient !== !1 && (o[t] = r.gradient ?? A(r.color));
23
- }, R = (e, o, t, r, s) => {
24
- const a = x(y(r)), n = M(s);
25
- if (n.palette === !1) {
26
- N(e, o, a, n);
27
- return;
28
- }
29
- const c = p(n.color);
30
- t[a] = c, E(e, o, a, c), n.onColor && (e[m(a)] = d(n.onColor)), n.gradient && (o[a] = n.gradient);
31
- }, G = (e, o = {}) => {
32
- const t = {}, r = {}, s = {
33
- source: p(e)
34
- };
35
- for (const [a, n] of Object.entries(S))
36
- s[a] = p(n);
37
- for (const [a, n] of Object.entries(s))
38
- E(t, r, a, n);
39
- for (const [a, n] of Object.entries(o.colors ?? {}))
40
- R(t, r, s, a, n);
41
- return r.main = i(s.source.colors), r.error = i(s.red.colors, { shade: 600 }), r.warning = i(s.amber.colors, { shade: 600 }), r.success = i(s.green.colors, { shade: 600 }), {
42
- colors: t,
43
- gradients: r,
44
- palettes: s
45
- };
46
- }, I = (e) => {
47
- const o = b(e);
48
- if (!o)
49
- throw new Error(`Unsupported generated color: ${String(e)}`);
50
- return k(o);
51
- }, C = (e, o) => {
52
- const t = j(P(e)).schemes[o].toJSON();
53
- return Object.fromEntries(
54
- Object.entries(t).map(([r, s]) => [
55
- r,
56
- I(L(s))
57
- ])
58
- );
59
- }, W = (e, o) => {
60
- const t = C(e, o), r = C(S.amber, o), s = C(S.green, o);
61
- return {
62
- ...t,
63
- warning: r.primary,
64
- onWarning: r.onPrimary,
65
- warningContainer: r.primaryContainer,
66
- onWarningContainer: r.onPrimaryContainer,
67
- success: s.primary,
68
- onSuccess: s.onPrimary,
69
- successContainer: s.primaryContainer,
70
- onSuccessContainer: s.onPrimaryContainer
71
- };
72
- }, B = (e, { className: o, id: t, prefix: r }) => {
73
- const s = Object.entries(e).map(
74
- ([c, l]) => ` --g-${r}-${y(c)}: ${l};`
75
- ), a = `.${o} {
76
- ${s.join(`
77
- `)}
78
- }`;
79
- let n = document.getElementById(t);
80
- return n || (n = document.createElement("style"), n.id = t, document.head.appendChild(n)), n.textContent = a, n;
81
- }, u = "#4e51ff", O = "g-theme--material", g = "g-theme--", f = Symbol("gradient-theme"), J = (e) => v(e, u), h = (e, o) => B(e, {
82
- className: O,
83
- id: `g-${o}-style`,
84
- prefix: o
85
- }), V = (e = u, o = {}) => $(e, "light", o), Y = (e = u, o = {}) => $(e, "dark", o), $ = (e = u, o = "light", t = {}) => {
86
- const r = document.documentElement;
87
- r.classList.add(O), r.classList.remove(
88
- `${g}light`,
89
- `${g}dark`
90
- ), r.classList.add(`${g}${o}`);
91
- const s = J(e), a = G(s, {
92
- colors: t.colors
93
- }), n = {
94
- theme: W(s, o),
95
- colors: a.colors,
96
- gradients: a.gradients
97
- };
98
- return {
99
- tokens: n,
100
- themeCSS: h(n.theme, "theme"),
101
- colorsCSS: h(n.colors, "color"),
102
- gradientCSS: h(n.gradients, "gradient")
103
- };
104
- }, K = (e = {}) => {
105
- const o = T(e.seed ?? u), t = T(e.mode ?? "light"), r = z(null), s = () => typeof window > "u" ? null : (r.value = $(o.value, t.value, {
106
- colors: e.colors
107
- }), r.value), a = (l) => (o.value = l, s()), n = (l) => (t.value = l, s()), c = () => (t.value = t.value === "dark" ? "light" : "dark", s());
108
- return e.autoApply !== !1 && s(), {
109
- seed: o,
110
- mode: t,
111
- result: r,
112
- apply: s,
113
- setSeed: a,
114
- setMode: n,
115
- toggleMode: c
116
- };
117
- }, Z = (e = K()) => (F(f, e), e), ee = (e, o) => {
118
- e.provide(f, o);
119
- }, oe = () => _(f, null);
120
- export {
121
- u as D,
122
- Y as a,
123
- V as b,
124
- G as c,
125
- $ as d,
126
- W as e,
127
- K as f,
128
- ee as i,
129
- Z as p,
130
- oe as u
131
- };
@@ -1 +0,0 @@
1
- "use strict";const o=require("vue"),w={sm:600,md:900,lg:1200,xl:1536};function c(n,e){return typeof e=="number"?e:n[e]??0}function p(n=w){const e=o.ref(0),f=o.ref(0);function l(){e.value=window.innerWidth,f.value=window.innerHeight}o.onMounted(()=>{l(),window.addEventListener("resize",l,{passive:!0})}),o.onBeforeUnmount(()=>{window.removeEventListener("resize",l)});function u(t){return o.computed(()=>e.value>=c(n,t))}function r(t){return o.computed(()=>e.value<=c(n,t))}function v(t,i){return o.computed(()=>{const s=c(n,t),d=c(n,i);return e.value>=s&&e.value<=d})}const a=o.computed(()=>{var s;const t=Object.entries(n).sort((d,m)=>d[1]-m[1]);let i=((s=t[0])==null?void 0:s[0])??"";for(const[d,m]of t)e.value>=m&&(i=d);return i});return{breakpoints:n,width:e,height:f,name:a,up:u,down:r,between:v,smAndUp:u("sm"),smAndDown:r("sm"),mdAndUp:u("md"),mdAndDown:r("md"),lgAndUp:u("lg"),lgAndDown:r("lg"),xlAndUp:u("xl"),xlAndDown:r("xl")}}exports.defaultBreakpoints=w;exports.useBreakpoints=p;
@@ -1,66 +0,0 @@
1
- import { ref as f, onMounted as p, onBeforeUnmount as A, computed as s } from "vue";
2
- const h = {
3
- sm: 600,
4
- md: 900,
5
- lg: 1200,
6
- xl: 1536
7
- };
8
- function l(e, n) {
9
- return typeof n == "number" ? n : e[n] ?? 0;
10
- }
11
- function g(e = h) {
12
- const n = f(0), w = f(0);
13
- function m() {
14
- n.value = window.innerWidth, w.value = window.innerHeight;
15
- }
16
- p(() => {
17
- m(), window.addEventListener("resize", m, { passive: !0 });
18
- }), A(() => {
19
- window.removeEventListener("resize", m);
20
- });
21
- function o(t) {
22
- return s(
23
- () => n.value >= l(e, t)
24
- );
25
- }
26
- function u(t) {
27
- return s(
28
- () => n.value <= l(e, t)
29
- );
30
- }
31
- function v(t, d) {
32
- return s(() => {
33
- const i = l(e, t), r = l(e, d);
34
- return n.value >= i && n.value <= r;
35
- });
36
- }
37
- const a = s(() => {
38
- var i;
39
- const t = Object.entries(e).sort((r, c) => r[1] - c[1]);
40
- let d = ((i = t[0]) == null ? void 0 : i[0]) ?? "";
41
- for (const [r, c] of t)
42
- n.value >= c && (d = r);
43
- return d;
44
- });
45
- return {
46
- breakpoints: e,
47
- width: n,
48
- height: w,
49
- name: a,
50
- up: o,
51
- down: u,
52
- between: v,
53
- smAndUp: o("sm"),
54
- smAndDown: u("sm"),
55
- mdAndUp: o("md"),
56
- mdAndDown: u("md"),
57
- lgAndUp: o("lg"),
58
- lgAndDown: u("lg"),
59
- xlAndUp: o("xl"),
60
- xlAndDown: u("xl")
61
- };
62
- }
63
- export {
64
- h as d,
65
- g as u
66
- };
@@ -1,194 +0,0 @@
1
- "use strict";const p=require("./camelToKebabCase-BQDotaQm.cjs"),V=(t,e=0,r=1)=>Math.min(r,Math.max(e,t)),St=t=>{const e=t.slice(1),r=e.length===3||e.length===4?e.slice(0,3).split("").map(a=>a.repeat(2)).join(""):e.slice(0,6);return r.length!==6||!/^[\da-f]{6}$/i.test(r)?null:{r:parseInt(r.slice(0,2),16),g:parseInt(r.slice(2,4),16),b:parseInt(r.slice(4,6),16)}},wt=t=>{const e=t.match(/^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*[\d.]+%?)?\s*\)$/i);return e?{r:V(Number(e[1]),0,255),g:V(Number(e[2]),0,255),b:V(Number(e[3]),0,255)}:null},D=t=>{if(typeof t=="number"){const r=t&16777215;return{r:r>>16&255,g:r>>8&255,b:r&255}}const e=t.trim();return e.startsWith("#")?St(e):e.toLowerCase().startsWith("rgb")?wt(e):null},vt=({r:t,g:e,b:r})=>`#${[t,e,r].map(a=>Math.round(a).toString(16).padStart(2,"0")).join("")}`,Mt=({r:t,g:e,b:r})=>`${Math.round(t)}, ${Math.round(e)}, ${Math.round(r)}`,kt=(t,e)=>{const r=D(t)??D(e);if(!r)throw new Error(`Invalid fallback color: ${e}`);return vt(r)},j=135,F="center",rt="farthest-corner",at=(t=j)=>typeof t=="number"?`${t}deg`:t,M=t=>typeof t=="number"?`${t}px`:t,_=t=>typeof t=="number"?`${t}ms`:t,v=(t,e=0,r=1)=>Math.min(r,Math.max(e,t)),C=(t,e)=>{if(e===void 0)return t;const r=D(t);return r?`rgb(${Mt(r).replace(/,/g,"")} / ${v(e)})`:t},z=({color:t,opacity:e,position:r})=>`${C(t,e)} ${r}%`,c=(t,e,r)=>({color:t,position:e}),nt=t=>{if(t.length<=1)return t;const e=t.map(a=>({...a,position:a.position/2})),r=[...t].reverse().map(a=>({...a,position:100-a.position/2}));return[...e,...r]},Ct=t=>`@keyframes ${t} {
2
- 0% {
3
- background-position: 0% 50%;
4
- }
5
-
6
- 50% {
7
- background-position: 100% 50%;
8
- }
9
-
10
- 100% {
11
- background-position: 0% 50%;
12
- }
13
- }`,Gt=t=>`@keyframes ${t} {
14
- 0%, 100% {
15
- filter: saturate(1) brightness(1);
16
- }
17
-
18
- 50% {
19
- filter: saturate(1.22) brightness(1.08);
20
- }
21
- }`,Tt=t=>`@keyframes ${t} {
22
- 0%, 100% {
23
- filter: hue-rotate(0deg) saturate(1);
24
- }
25
-
26
- 50% {
27
- filter: hue-rotate(28deg) saturate(1.18);
28
- }
29
- }`,Nt=t=>`@keyframes ${t} {
30
- from {
31
- transform: translate(-50%, -50%) rotate(0deg);
32
- }
33
-
34
- to {
35
- transform: translate(-50%, -50%) rotate(360deg);
36
- }
37
- }`,P=(t={})=>{const e=t.name??"g-gradient-shift",r=_(t.duration??6e3),a=t.easing??"ease-in-out",o=t.selector??".g-gradient-animated",n=t.preset??"shift";return{duration:r,easing:a,name:e,preset:n,selector:o}},R=(t={})=>{const{name:e,preset:r}=P(t);return r==="pulse"?Gt(e):r==="hue-rotate"?Tt(e):r==="rotate"?Nt(e):Ct(e)},ot=(t={})=>{const{duration:e,easing:r,name:a,preset:o}=P(t);return`${a} ${e} ${o==="rotate"?"linear":r} infinite`},it=(t={})=>{const{duration:e,easing:r,name:a,preset:o,selector:n}=P(t);return o==="rotate"?`${n} {
38
- position: relative;
39
- overflow: hidden;
40
- }
41
-
42
- ${n}::before {
43
- content: '';
44
- position: absolute;
45
- top: 50%;
46
- left: 50%;
47
- width: 200%;
48
- height: 200%;
49
- min-width: 150vmax;
50
- min-height: 150vmax;
51
- background: inherit;
52
- animation: ${a} ${e} linear infinite;
53
- transform-origin: center;
54
- }`:o==="pulse"||o==="hue-rotate"?`${n} {
55
- animation: ${a} ${e} ${r} infinite;
56
- }`:`${n} {
57
- animation: ${a} ${e} ${r} infinite;
58
- background-size: 220% 220%;
59
- }`},st=(t={})=>{const e=R(t),r=it(t);return`${e}
60
- ${r}`},Ot=Object.freeze(Object.defineProperty({__proto__:null,getGradientAnimationOptions:P,toGradientAnimationCSS:st,toGradientAnimationKeyframes:R,toGradientAnimationStyles:it,toGradientAnimationValue:ot},Symbol.toStringTag,{value:"Module"})),At=[50,100,200,300,400,500,600,700,800,900],jt={50:90,100:80,200:70,300:60,400:50,500:40,600:35,700:30,800:20,900:10},_t=t=>{const e=kt(t,"#000000");return p.themeFromSourceColor(p.argbFromHex(e)).palettes.primary},B=t=>{const e=_t(t);return Object.fromEntries(At.map(r=>[r,p.hexFromArgb(e.tone(jt[r]))]))},ct=(t,e=j)=>`linear-gradient(${at(e)}, ${t.join(", ")})`,E=t=>{const e=t.stops.map(z).join(", ");if(t.type==="radial"){const r=t.shape??"ellipse",a=t.size??rt,o=t.position??F;return`radial-gradient(${r} ${a} at ${o}, ${e})`}if(t.type==="conic"){const r=at(t.direction),a=t.position??F,o=nt(t.stops).map(z).join(", ");return`conic-gradient(from ${r} at ${a}, ${o})`}return ct(t.stops.map(z),t.direction)},$=(t,e)=>{const r=p.Hct.fromInt(p.argbFromHex(t));return p.hexFromArgb(p.Hct.from(r.hue,r.chroma,e).toInt())},u=(t,e,r,a=1)=>{const o=p.Hct.fromInt(p.argbFromHex(t)),n=(o.hue+e+360)%360,i=Math.min(o.chroma*a,100);return p.hexFromArgb(p.Hct.from(n,i,r).toInt())},G=t=>{const e=p.Hct.fromInt(p.argbFromHex(t)),r=(e.hue+110)%360,a=Math.min(e.chroma*1.2,100),o=e.tone<50?65:Math.min(e.tone+10,75);return p.hexFromArgb(p.Hct.from(r,a,o).toInt())},Pt=t=>{const e=G(t);return[c($(e,95),0),c(e,25),c(t,50),c($(t,80),75),c($(t,20),100)]},Bt=t=>[c($(t,94),0),c($(t,72),28),c(t,55),c($(t,24),100)],Et=t=>[c($(G(t),88),0),c(t,50),c($(G(t),32),100)],It=t=>[c(u(t,148,82,.95),0),c(u(t,-148,70,1.05),28),c(t,56),c(u(t,150,34,1.08),100)],Vt=t=>[c(u(t,-34,72,.95),0),c(t,50),c(u(t,34,34,1.05),100)],zt=t=>[c(u(t,-120,78,.9),0),c(t,50),c(u(t,120,36,1.05),100)],Dt=t=>[c(u(t,-90,78,.92),0),c(t,32),c(u(t,90,62,1),58),c(u(t,180,34,1.08),100)],Ft=t=>[c(u(t,-28,82,.96),0),c(t,27),c(u(t,152,66,1.02),62),c(u(t,180,34,1.08),100)],Ht=t=>[c(u(t,-90,78,.94),0),c(t,30),c(u(t,90,62,1),62),c(u(t,180,36,1.08),100)],Rt=(t,e)=>{const r=(e==null?void 0:e[0])??$(t,84),a=(e==null?void 0:e[1])??G(t);return[c(r,0),c(t,48),c(a,100)]},dt={glare:Pt,monochrome:Bt,complementary:Et,"split-complementary":It,analogous:Vt,triadic:zt,tetradic:Dt,rectangle:Ft,square:Ht,duotone:Rt},lt=(t,e,r)=>dt[e](t,r),I=(t,e={})=>{const r=e.shade??500,a=e.recipe??"glare";return{type:e.type??"linear",stops:lt(t[r],a,e.colors),direction:e.direction??j,shape:e.shape??"ellipse",position:e.position??F,size:e.size??rt}},Lt=(t,e={})=>I(B(t),e),b=t=>t,gt=t=>t,A=gt({materialBorder:b({label:"Material border",description:"Default Gradient UI border material.",gradient:{recipe:"glare",type:"linear",direction:135},shadow:{layers:2,opacity:.22,blur:12,y:4,spread:-3},dropShadow:{layers:2,opacity:.32,blur:12,y:5},animation:{preset:"shift",duration:6400,easing:"ease-in-out"}}),materialAction:b({label:"Material action",description:"Compact action material for buttons, chips and controls.",gradient:{recipe:"glare",type:"linear",direction:135},shadow:{layers:2,opacity:.2,blur:10,y:3,spread:-2},dropShadow:{layers:2,opacity:.28,blur:10,y:4},animation:{preset:"shift",duration:6800,easing:"ease-in-out"}}),materialSurface:b({label:"Material surface",description:"Soft surface material for calm gradient backgrounds.",gradient:{recipe:"monochrome",type:"linear",direction:145},shadow:{layers:2,opacity:.18,blur:14,y:5,spread:-3},dropShadow:{layers:2,opacity:.22,blur:14,y:5},animation:{preset:"pulse",duration:7600,easing:"ease-in-out"}}),brandGlare:b({label:"Brand glare",description:"Classic Gradient UI glare with a vivid complementary highlight.",gradient:{recipe:"glare",type:"linear",direction:135},shadow:{layers:2,opacity:.24,blur:16,y:6,spread:-3},dropShadow:{layers:3,opacity:.38,blur:16,y:6},animation:{preset:"shift",duration:6e3,easing:"ease-in-out"}}),softMono:b({label:"Soft mono",description:"Quiet monochrome ramp for subtle surfaces.",gradient:{recipe:"monochrome",type:"linear",direction:145},shadow:{layers:2,opacity:.18,blur:18,y:7,spread:-4},dropShadow:{layers:2,opacity:.26,blur:16,y:6},animation:{preset:"pulse",duration:7200,easing:"ease-in-out"}}),neonDuo:b({label:"Neon duo",description:"Punchy duotone setup with stronger glow defaults.",gradient:{recipe:"duotone",type:"linear",direction:120},shadow:{layers:2,opacity:.32,blur:18,y:7,spread:-3},dropShadow:{layers:3,opacity:.52,blur:18,y:7},animation:{preset:"shift",duration:5200,easing:"ease-in-out"}}),orbitalConic:b({label:"Orbital conic",description:"Smooth mirrored conic gradient for badges and marks.",gradient:{recipe:"triadic",type:"conic",direction:35,position:"center"},shadow:{layers:2,opacity:.24,blur:16,y:6,spread:-3},dropShadow:{layers:3,opacity:.36,blur:16,y:6},animation:{preset:"rotate",duration:9e3}}),auroraRadial:b({label:"Aurora radial",description:"Radial analogous gradient with slow hue motion.",gradient:{recipe:"analogous",type:"radial",direction:0,position:"top left",shape:"circle"},shadow:{layers:2,opacity:.22,blur:18,y:7,spread:-4},dropShadow:{layers:3,opacity:.32,blur:18,y:7},animation:{preset:"hue-rotate",duration:8e3,easing:"ease-in-out"}})}),ht=(t,e=A)=>e[t]??A.brandGlare,mt=(t,e={})=>E(I(t,e)),Xt=(t,e={})=>mt(B(t),e),Yt=Object.freeze(Object.defineProperty({__proto__:null,createGradient:mt,createGradientFromColor:Xt,createGradientModel:I,createGradientModelFromColor:Lt,createRecipeStops:lt,defineGradientPreset:b,defineGradientPresetRegistry:gt,getGradientPreset:ht,gradientPresets:A,gradientRecipes:dt},Symbol.toStringTag,{value:"Module"})),Ut="http://www.w3.org/2000/svg",Wt={soft:{blobCount:5,blur:40,contrast:18,duration:12e3,opacity:.76,scale:1.05},liquid:{blobCount:6,blur:46,contrast:22,duration:9200,opacity:.82,scale:1.18},ripple:{blobCount:7,blur:34,contrast:20,duration:7200,opacity:.78,scale:.94}},T=(t={})=>{const e=Wt[t.preset??"soft"];return{blobCount:Math.max(2,Math.round(t.blobCount??e.blobCount)),blur:v(t.blur??e.blur,0,80),contrast:v(t.contrast??e.contrast,0,36),duration:t.duration??e.duration,id:t.id??"g-gradient-morph",opacity:v(t.opacity??e.opacity),scale:v(t.scale??e.scale,.4,2)}},Kt=(t,e)=>{var r,a;return((r=t.stops[e%t.stops.length])==null?void 0:r.color)??((a=t.stops[0])==null?void 0:a.color)??"currentColor"},qt=t=>{if(typeof t=="number")return t;const e=Number.parseFloat(t);return Number.isFinite(e)?e:9e3},Jt=(t,e)=>{const r=Math.sin((t+1)*12.9898+e*78.233)*43758.5453;return r-Math.floor(r)},f=(t,e,r,a)=>r+Jt(t,e)*(a-r),w=t=>Number(t.toFixed(3)),tt=[{animationName:"g-gradient-morph-drift",dx:20,dx2:8,dy:-8,dy2:16,originX:"50%",originY:"50%",scaleMid:1.16,scaleTo:1.04,x:6,y:58},{animationName:"g-gradient-morph-orbit",dx:-18,dx2:10,dy:18,dy2:-10,originX:"24%",originY:"68%",scaleMid:.96,scaleTo:1.12,x:44,y:20},{animationName:"g-gradient-morph-float",dx:-16,dx2:-8,dy:-12,dy2:18,originX:"50%",originY:"50%",scaleMid:1.2,scaleTo:1.08,x:74,y:58},{animationName:"g-gradient-morph-orbit",dx:12,dx2:-20,dy:14,dy2:6,originX:"70%",originY:"30%",scaleMid:1.04,scaleTo:1.18,x:88,y:25},{animationName:"g-gradient-morph-drift",dx:24,dx2:-12,dy:-16,dy2:-8,originX:"50%",originY:"50%",scaleMid:1.12,scaleTo:.98,x:30,y:78},{animationName:"g-gradient-morph-float",dx:-22,dx2:14,dy:10,dy2:-18,originX:"50%",originY:"50%",scaleMid:.94,scaleTo:1.1,x:104,y:82},{animationName:"g-gradient-morph-orbit",dx:14,dx2:-16,dy:-22,dy2:10,originX:"35%",originY:"35%",scaleMid:1.18,scaleTo:1.02,x:55,y:64},{animationName:"g-gradient-morph-drift",dx:-18,dx2:18,dy:-14,dy2:14,originX:"50%",originY:"50%",scaleMid:1.08,scaleTo:.96,x:18,y:24}],L=(t,e={})=>{const{blobCount:r,duration:a,scale:o}=T(e),n=qt(a);return Array.from({length:r},(i,s)=>{const l=tt[s%tt.length],d=f(s,1,.88,1.16),h=f(s,2,.86,1.24),g=f(s,3,.72,1),m=f(s,4,0,4),y=(34+s%4*9)*o*d;return{animationName:l.animationName,blur:w(m),color:Kt(t,s),delay:Math.round(s*-.19*n-f(s,5,0,900)),dx:w(l.dx*f(s,6,.84,1.18)),dx2:w(l.dx2*f(s,7,.82,1.22)),dy:w(l.dy*f(s,8,.84,1.18)),dy2:w(l.dy2*f(s,9,.82,1.22)),duration:Math.round(n*(1+s%3*.11)*h),opacity:w(g),originX:l.originX,originY:l.originY,rotateMid:Math.round(f(s,10,95,165)),rotateTo:Math.round(f(s,11,220,310)),scaleMid:l.scaleMid,scaleTo:l.scaleTo,size:w(y),x:l.x,y:l.y}})},X=(t={})=>`url(#${T(t).id}) blur(${T(t).blur}px)`,ut=(t={})=>{const{blur:e,contrast:r,id:a}=T(t),o=Math.max(2,Math.round(e*.25)),n=-(r*.45),i=r<=0?"":`
61
- <feColorMatrix in="g-gradient-morph-blur" mode="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 ${r} ${n}" result="g-gradient-morph-goo" />
62
- <feBlend in="SourceGraphic" in2="g-gradient-morph-goo" />`;return`<svg xmlns="${Ut}" width="0" height="0" aria-hidden="true" focusable="false" style="position:absolute;overflow:hidden;inline-size:0;block-size:0;">
63
- <filter id="${a}" x="-30%" y="-30%" width="160%" height="160%" color-interpolation-filters="sRGB">
64
- <feGaussianBlur in="SourceGraphic" stdDeviation="${o}" result="g-gradient-morph-blur" />${i}
65
- </filter>
66
- </svg>`},Zt=(t,e={})=>{const r=e.selector??".g-gradient-morph",{opacity:a}=T(e),o=L(t,e);return`${r} {
67
- position: relative;
68
- overflow: hidden;
69
- }
70
-
71
- ${r}__blobs {
72
- position: absolute;
73
- inset: -18%;
74
- opacity: ${a};
75
- filter: ${X(e)};
76
- mix-blend-mode: hard-light;
77
- }
78
-
79
- ${r}__blob {
80
- position: absolute;
81
- transform: translate(-50%, -50%);
82
- transform-origin: var(--g-gradient-morph-origin-x) var(--g-gradient-morph-origin-y);
83
- opacity: var(--g-gradient-morph-opacity);
84
- filter: blur(var(--g-gradient-morph-blur));
85
- border-radius: 999px;
86
- background: radial-gradient(circle, var(--g-gradient-morph-blob-color) 0%, transparent 72%);
87
- animation: var(--g-gradient-morph-animation) var(--g-gradient-morph-duration, 9000ms) ease-in-out infinite alternate;
88
- }
89
-
90
- ${o.map((n,i)=>`${r}__blob:nth-child(${i+1}) {
91
- top: ${n.y}%;
92
- left: ${n.x}%;
93
- width: ${n.size}%;
94
- aspect-ratio: 1;
95
- --g-gradient-morph-blob-color: ${n.color};
96
- --g-gradient-morph-x: ${n.dx}%;
97
- --g-gradient-morph-x2: ${n.dx2}%;
98
- --g-gradient-morph-y: ${n.dy}%;
99
- --g-gradient-morph-y2: ${n.dy2}%;
100
- --g-gradient-morph-origin-x: ${n.originX};
101
- --g-gradient-morph-origin-y: ${n.originY};
102
- --g-gradient-morph-animation: ${n.animationName};
103
- --g-gradient-morph-blur: ${n.blur}px;
104
- --g-gradient-morph-opacity: ${n.opacity};
105
- --g-gradient-morph-rotate-mid: ${n.rotateMid}deg;
106
- --g-gradient-morph-rotate-to: ${n.rotateTo}deg;
107
- --g-gradient-morph-scale-mid: ${n.scaleMid};
108
- --g-gradient-morph-scale: ${n.scaleTo};
109
- animation-delay: ${n.delay}ms;
110
- animation-duration: ${_(n.duration)};
111
- }`).join(`
112
-
113
- `)}
114
-
115
- @keyframes g-gradient-morph-drift {
116
- 0% {
117
- transform: translate(-50%, -50%) scale(0.92);
118
- }
119
-
120
- 42% {
121
- transform: translate(calc(-50% + var(--g-gradient-morph-x)), calc(-50% + var(--g-gradient-morph-y))) scale(var(--g-gradient-morph-scale));
122
- }
123
-
124
- 100% {
125
- transform: translate(calc(-50% + var(--g-gradient-morph-x2)), calc(-50% + var(--g-gradient-morph-y2))) scale(var(--g-gradient-morph-scale-mid));
126
- }
127
- }
128
-
129
- @keyframes g-gradient-morph-float {
130
- 0% {
131
- transform: translate(-50%, -50%) scale(1);
132
- }
133
-
134
- 50% {
135
- transform: translate(calc(-50% + var(--g-gradient-morph-x)), calc(-50% + var(--g-gradient-morph-y))) scale(var(--g-gradient-morph-scale-mid));
136
- }
137
-
138
- 100% {
139
- transform: translate(calc(-50% + var(--g-gradient-morph-x2)), calc(-50% + var(--g-gradient-morph-y2))) scale(var(--g-gradient-morph-scale));
140
- }
141
- }
142
-
143
- @keyframes g-gradient-morph-orbit {
144
- 0% {
145
- transform: translate(-50%, -50%) rotate(0deg) scale(0.96);
146
- }
147
-
148
- 50% {
149
- transform: translate(calc(-50% + var(--g-gradient-morph-x)), calc(-50% + var(--g-gradient-morph-y))) rotate(var(--g-gradient-morph-rotate-mid)) scale(var(--g-gradient-morph-scale-mid));
150
- }
151
-
152
- 100% {
153
- transform: translate(calc(-50% + var(--g-gradient-morph-x2)), calc(-50% + var(--g-gradient-morph-y2))) rotate(var(--g-gradient-morph-rotate-to)) scale(var(--g-gradient-morph-scale));
154
- }
155
- }`},pt=(t,e)=>{const r=t.stops.filter(n=>n.position>=25&&n.position<=85),a=t.stops.filter(n=>!r.includes(n));return[...r,...a].sort((n,i)=>Math.abs(n.position-50)-Math.abs(i.position-50)).slice(0,e)},Qt=(t,e)=>t*([1,.54,.3,.18][e]??.12),k=(t,e)=>{const r=String(t).match(/^(-?\d*\.?\d+)(.*)$/);return r?`${Math.round(Number(r[1])*e*1e3)/1e3}${r[2]||"px"}`:null},et=(t,e,r)=>k(t,1/e)??(r===0?M(t):"0px"),te=(t,e)=>k(t,1/Math.sqrt(e))??M(t),yt=(t,e={})=>{var x;const r=e.x??0,a=e.y??6,o=e.blur??14,n=e.spread??-3,i=e.opacity??.24,s=Math.max(1,Math.round(e.layers??2)),l=((x=pt(t,1)[0])==null?void 0:x.color)??"#000000",d=`${M(r)} ${M(a)} ${M(o)} ${M(n)} ${C(l,i)}`;if(s===1)return d;const h=k(r,.35)??"0px",g=k(a,.35)??"2px",m=k(o,.3)??"4px",y=k(n,.5)??"-2px",S=Math.min(.18,i*.65);return`${`${h} ${g} ${m} ${y} ${C("#000000",S)}`}, ${d}`},ft=(t,e={})=>{const r=e.x??0,a=e.y??6,o=e.blur??14,n=e.opacity??.42,i=Math.max(1,Math.round(e.layers??2)),s=te(o,i);return pt(t,i).map((l,d)=>{const h=et(r,i,d),g=et(a,i,d);return`drop-shadow(${h} ${g} ${s} ${C(l.color,Qt(n,d))})`}).join(" ")},ee=Object.freeze(Object.defineProperty({__proto__:null,createGradientMorphBlobs:L,toGradientBoxShadow:yt,toGradientDropShadow:ft,toGradientMorphCSS:Zt,toGradientMorphFilter:X,toGradientMorphFilterMarkup:ut},Symbol.toStringTag,{value:"Module"})),re=(t,e,r={})=>{const a=r.width??t.canvas.width,o=r.height??t.canvas.height,n=a/2,i=o/2,s=Math.hypot(a,o)/2,d=((typeof e.direction=="number"?e.direction:Number.parseFloat(e.direction)||j)-90)*Math.PI/180,h=a/2,g=o/2,m=Math.cos(d)*h,y=Math.sin(d)*g,S=e.type==="radial"?t.createRadialGradient(r.x0??n,r.y0??i,r.r0??0,r.x1??n,r.y1??i,r.r1??s):e.type==="conic"&&typeof t.createConicGradient=="function"?t.createConicGradient(r.startAngle??d,r.x0??n,r.y0??i):t.createLinearGradient(r.x0??n-m,r.y0??i-y,r.x1??n+m,r.y1??i+y),O=e.type==="conic"?nt(e.stops):e.stops;for(const x of O)S.addColorStop(x.position/100,C(x.color,x.opacity));return S},Y="http://www.w3.org/2000/svg",ae="http://www.w3.org/1999/xhtml",N=t=>t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),U=t=>{const e=t.opacity===void 0?"":` stop-opacity="${v(t.opacity)}"`;return`<stop offset="${t.position}%" stop-color="${t.color}"${e} />`},ne=(t,e)=>{var r,a,o;return{active:e.activeStroke??((r=t.stops[Math.max(0,Math.floor(t.stops.length/2))])==null?void 0:r.color)??((a=t.stops[0])==null?void 0:a.color)??"currentColor",background:e.backgroundStroke??((o=t.stops[0])==null?void 0:o.color)??e.activeStroke??"currentColor"}},oe=(t,e)=>{var n;const r=(n=t.match(/\bviewBox=(["'])(.*?)\1/i))==null?void 0:n[2];if(r)return r;const a=e.width??240,o=e.height??120;return`0 0 ${a} ${o}`},ie=t=>{var e;return((e=t.replace(/<\?xml[\s\S]*?\?>/gi,"").replace(/<!doctype[\s\S]*?>/gi,"").match(/<svg\b[^>]*>([\s\S]*?)<\/svg>/i))==null?void 0:e[1].trim())??t},se=t=>{const e=t.trim().split(/(?=M\s*[-+.\d])/).map(r=>r.trim()).filter(Boolean);return e.length>1?e:[t]},ce=t=>[...t.matchAll(/<path\b[^>]*\sd=(["'])([\s\S]*?)\1/gi)].flatMap(e=>se(e[2])),$t=t=>{var e;return Math.max(1,((e=t.match(/[LlHhVvCcSsQqTtAaZz]/g))==null?void 0:e.length)??0)},de=(t,e)=>{const a=.5+(1-$t(t)/e)*.22;return Math.round(a*1e3)/1e3},W=t=>{const[e="0",r="0",a="240",o="120"]=t.trim().split(/[\s,]+/);return{height:Number(o)||120,width:Number(a)||240,x:Number(e)||0,y:Number(r)||0}},le=(t,e,r)=>{if(r.viewBoxPadding===!1)return t;const a=W(t),o=Math.max(e*2,Math.min(a.width,a.height)*.02),n=r.viewBoxPadding??o;return[a.x-n,a.y-n,a.width+n*2,a.height+n*2].join(" ")},ge=t=>{const{height:e,width:r}=W(t);return{height:Number(e)||120,width:Number(r)||240}},he=(t,e,r)=>{if(r.normalizeStrokeWidth===!1)return t;const{height:a,width:o}=ge(e),n=r.strokeWidthBase??180;return t*(Math.min(o,a)/n)},K=(t,e={})=>{const r=e.id??"g-gradient",a=t.stops.map(U).join("");return t.type==="radial"?`<radialGradient id="${r}" cx="${e.cx??"50%"}" cy="${e.cy??"50%"}" r="${e.r??"75%"}">${a}</radialGradient>`:t.type==="conic"?`<pattern id="${r}" patternUnits="objectBoundingBox" width="1" height="1"><foreignObject x="0" y="0" width="100%" height="100%"><div xmlns="${ae}" style="width:100%;height:100%;background:${N(E(t))};"></div></foreignObject></pattern>`:`<linearGradient id="${r}" x1="${e.x1??"0%"}" y1="${e.y1??"0%"}" x2="${e.x2??"100%"}" y2="${e.y2??"100%"}">${a}</linearGradient>`},me=(t,e={})=>{const r=e.id??"g-gradient",a=e.width??240,o=e.height??120,n=e.rx??18;return`<svg xmlns="${Y}" viewBox="0 0 ${a} ${o}" role="img">
156
- <defs>
157
- ${K(t,e)}
158
- </defs>
159
- <rect width="${a}" height="${o}" rx="${n}" fill="url(#${r})" />
160
- </svg>`},ue=(t,e,r={})=>{const o=`${r.id??"g-gradient-source"}-stroke`,n=oe(t,r),i=ie(t),s=ce(t),l=he(r.strokeWidth??1.4,n,r),d=le(n,l,r),{width:h,x:g}=W(d),m=r.linecap??"round",y=_(r.duration??3600),S=r.repeatCount??"indefinite",O=r.sourceOpacity??.22,x=e.stops.map(U).join(""),xt=Math.max(...s.map($t));return`<svg xmlns="${Y}" viewBox="${N(d)}" role="img">
161
- <defs>
162
- <linearGradient id="${o}" gradientUnits="userSpaceOnUse" x1="${g}" y1="0" x2="${g+h}" y2="0">
163
- ${x}
164
- </linearGradient>
165
- </defs>
166
- <g opacity="${v(O)}">
167
- ${i}
168
- </g>
169
- <g fill="none" stroke="url(#${o})" stroke-width="${l}" stroke-linecap="${m}" stroke-linejoin="round">
170
- ${s.map(Z=>{const Q=de(Z,xt);return`<path d="${N(Z)}" pathLength="100" stroke-dasharray="0 100" stroke-dashoffset="0">
171
- <animate attributeName="stroke-dasharray" values="0 100;100 100;0 100" keyTimes="0;${Q};1" dur="${y}" repeatCount="${S}" calcMode="linear" />
172
- <animate attributeName="stroke-dashoffset" values="0;0;-100" keyTimes="0;${Q};1" dur="${y}" repeatCount="${S}" calcMode="linear" />
173
- </path>`}).join(`
174
- `)}
175
- </g>
176
- </svg>`},pe=(t,e={})=>{const a=`${e.id??"g-gradient-path"}-stroke`,o=e.width??240,n=e.height??120,i=e.path??`M 20 ${n*.64} C ${o*.28} ${n*.18}, ${o*.58} ${n*.18}, ${o-20} ${n*.64}`,s=e.strokeWidth??12,l=e.linecap??"round",d=_(e.duration??2800),h=e.repeatCount??"indefinite",g=e.backgroundOpacity??.24,m=ne(t,e),y=t.stops.map(U).join("");return`<svg xmlns="${Y}" viewBox="0 0 ${o} ${n}" role="img">
177
- <defs>
178
- <linearGradient id="${a}" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="${o}" y2="0">
179
- ${y}
180
- </linearGradient>
181
- </defs>
182
- <path d="${N(i)}" fill="none" stroke="${m.background}" stroke-width="${s}" stroke-linecap="${l}" opacity="${g}" />
183
- <path d="${N(i)}" fill="none" stroke="${e.activeStroke?m.active:`url(#${a})`}" stroke-width="${s}" stroke-linecap="${l}" pathLength="100" stroke-dasharray="100 100" stroke-dashoffset="100">
184
- <animate attributeName="stroke-dashoffset" values="100;0;-100" dur="${d}" repeatCount="${h}" />
185
- </path>
186
- </svg>`},ye=Object.freeze(Object.defineProperty({__proto__:null,createLinearGradient:ct,toCanvasGradient:re,toCssGradient:E,toSvgGradient:K,toSvgGradientMarkup:me,toSvgPathAnimationMarkup:pe,toSvgSourceAnimationMarkup:ue},Symbol.toStringTag,{value:"Module"})),fe=["glare","soft","mesh"],$e=t=>t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),be=t=>$e(t),xe=(t,e,r)=>`${t}-${e}`,q=t=>Object.entries(t).map(([e,r])=>`${e}: ${r};`).join(`
187
- `),Se=t=>t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),we=t=>Object.entries(t).map(([e,r])=>`${Se(e)}: ${r};`).join(`
188
- `),H=t=>t===null||typeof t!="object"?JSON.stringify(t):Array.isArray(t)?`[${t.map(H).join(",")}]`:`{${Object.entries(t).filter(([,e])=>e!==void 0).sort(([e],[r])=>e.localeCompare(r)).map(([e,r])=>`${JSON.stringify(e)}:${H(r)}`).join(",")}}`,ve=t=>{let e=5381;for(let r=0;r<t.length;r+=1)e=e*33^t.charCodeAt(r);return(e>>>0).toString(36)},Me=(t,e,r,a)=>{const o=q(e),n=we(r),i=[o,n].filter(Boolean).join(`
189
- `);return[`.${t} {
190
- ${i}
191
- }`,a].filter(Boolean).join(`
192
-
193
- `)},ke=(t,e)=>t in e,bt=(t,e)=>ke(t,e)?ht(t,e):t==="soft"?{label:"Soft",description:"Quiet monochrome radial gradient.",gradient:{recipe:"monochrome",type:"radial",position:"center",shape:"ellipse"},shadow:{layers:2,opacity:.18,blur:18,y:7,spread:-4},dropShadow:{layers:2,opacity:.26,blur:16,y:6},animation:{preset:"pulse",duration:7200,easing:"ease-in-out"}}:t==="mesh"?null:{label:t,gradient:{recipe:t,type:"linear",direction:t==="glare"?135:145}},Ce=t=>{const e=[`radial-gradient(circle at 16% 18%, ${u(t,-42,72,1.05)} 0%, transparent 34%)`,`radial-gradient(circle at 86% 20%, ${G(t)} 0%, transparent 32%)`,`radial-gradient(circle at 50% 84%, ${u(t,56,64,1.08)} 0%, transparent 38%)`,`linear-gradient(135deg, ${$(t,94)}, ${$(t,28)})`];return{layers:e,value:e.join(", ")}},Ge=(t,e,r,a,o)=>{if(e==="mesh"){const l=Ce(t);return{cssVar:r,layers:l.layers,value:l.value}}const n=bt(e,o),i=B(t),s=I(i,{...n==null?void 0:n.gradient,...a});return{cssVar:r,model:s,stops:s.stops,svg:K(s,{id:r.replace(/^--/,"")}),value:E(s)}},Te=(t,e,r,a)=>{var i;if(!t)return{};const o=`${e.replace(/^--/,"")}-morph`,n={...a==null?void 0:a.morph,id:((i=a==null?void 0:a.morph)==null?void 0:i.id)??o};return{boxShadow:{cssVar:`${e}-shadow`,value:yt(t,(a==null?void 0:a.shadow)??(r==null?void 0:r.shadow))},dropShadow:{cssVar:`${e}-drop-shadow`,value:ft(t,(a==null?void 0:a.dropShadow)??(r==null?void 0:r.dropShadow))},morph:{cssVar:`${e}-morph`,svg:ut(n),value:X(n)}}},Ne=(t,e,r,a)=>{var n;const o={...r==null?void 0:r.animation,...a,name:`g-gradient-${t}-${(a==null?void 0:a.preset)??((n=r==null?void 0:r.animation)==null?void 0:n.preset)??"shift"}`,selector:`.g-gradient-${t}`};return{css:st(o),cssVar:`${e}-animation`,keyframes:R(o),name:o.name,value:ot(o)}},J=(t,e="glare",r={})=>{const a=r.registry??A,o=be(e),n=xe(r.prefix??"--g-gradient",o),i=bt(e,a),l=B(t)[500],d=Ge(l,e,n,r,a),h={[n]:d.value},g=r.effects?Te(d.model,n,i,{dropShadow:r.dropShadow,morph:r.morph,shadow:r.shadow}):void 0,m=r.animations?Ne(o,n,i,r.animation):void 0;return g!=null&&g.boxShadow&&(h[g.boxShadow.cssVar]=g.boxShadow.value),g!=null&&g.dropShadow&&(h[g.dropShadow.cssVar]=g.dropShadow.value),g!=null&&g.morph&&(h[g.morph.cssVar]=g.morph.value),m&&(h[m.cssVar]=m.value),{animation:m,cssText:q(h),cssVars:h,description:i==null?void 0:i.description,effects:g,gradient:d,keyframes:(m==null?void 0:m.keyframes)??"",label:(i==null?void 0:i.label)??o,name:o}},Oe=(t,e={})=>{const r=e.recipes??fe,a={},o={},n={},i={},s=[];for(const l of r){const d=J(t,l,{animations:e.animations,effects:e.effects,morph:e.morph,prefix:e.prefix,registry:e.registry});a[d.name]=d.gradient,Object.assign(i,d.cssVars),d.effects&&(o[d.name]=d.effects),d.animation&&(n[d.name]=d.animation,s.push(d.animation.keyframes))}return{animations:n,cssText:q(i),cssVars:i,effects:o,gradients:a,keyframes:s.join(`
194
- `)}},Ae=(t,e={})=>{var g,m;const{className:r,id:a,recipe:o="glare",...n}=e,i=J(t,o,n),s=i.gradient.model&&e.effects&&e.morph?L(i.gradient.model,e.morph):void 0,l=a??`g-gradient-${i.name}-${ve(H({options:e,seed:t}))}`,d=r??l,h={backgroundImage:`var(${i.gradient.cssVar})`};return(g=i.effects)!=null&&g.boxShadow&&(h.boxShadow=`var(${i.effects.boxShadow.cssVar})`),(m=i.effects)!=null&&m.dropShadow&&(h.filter=`var(${i.effects.dropShadow.cssVar})`),i.animation&&(h.animation=`var(${i.animation.cssVar})`),{animation:i.animation,className:d,cssText:Me(d,i.cssVars,h,i.keyframes),cssVars:i.cssVars,effects:i.effects,gradient:i.gradient,id:l,keyframes:i.keyframes,morphBlobs:s,preset:i,style:h}},je=Object.freeze(Object.defineProperty({__proto__:null,createGradientMaterial:Ae,createGradientPreset:J,createGradientTokens:Oe},Symbol.toStringTag,{value:"Module"}));exports.core=Yt;exports.index=Ot;exports.index$1=ee;exports.index$2=ye;exports.material=je;