@goliapkg/gds 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/a11y-CoNNB_xa.js +6 -0
  2. package/dist/a11y-CoNNB_xa.js.map +1 -0
  3. package/dist/{avatar-Ct8OOGx6.js → avatar-oCar1zX6.js} +2 -2
  4. package/dist/{avatar-Ct8OOGx6.js.map → avatar-oCar1zX6.js.map} +1 -1
  5. package/dist/{badge-BCvi5RVF.js → badge-B3ijD3ch.js} +2 -2
  6. package/dist/{badge-BCvi5RVF.js.map → badge-B3ijD3ch.js.map} +1 -1
  7. package/dist/{button-BD3VHhwq.js → button-fRpdsI_4.js} +15 -41
  8. package/dist/button-fRpdsI_4.js.map +1 -0
  9. package/dist/dist-qdXk1a7h.js +35 -0
  10. package/dist/dist-qdXk1a7h.js.map +1 -0
  11. package/dist/{dom-17XgfxMq.js → dom-DkPgnDHP.js} +1 -1
  12. package/dist/{dom-17XgfxMq.js.map → dom-DkPgnDHP.js.map} +1 -1
  13. package/dist/editor/index.d.ts +11 -0
  14. package/dist/editor/index.d.ts.map +1 -0
  15. package/dist/editor/index.js +1250 -0
  16. package/dist/editor/index.js.map +1 -0
  17. package/dist/email-composer-field-UoKh5XMX.js +178 -0
  18. package/dist/email-composer-field-UoKh5XMX.js.map +1 -0
  19. package/dist/{gesture-I79dlTuS.js → gesture-CVcSA-iZ.js} +1 -1
  20. package/dist/{gesture-I79dlTuS.js.map → gesture-CVcSA-iZ.js.map} +1 -1
  21. package/dist/{highlight-BAGZc-4h.js → highlight-pgwGrmcq.js} +1 -1
  22. package/dist/{highlight-BAGZc-4h.js.map → highlight-pgwGrmcq.js.map} +1 -1
  23. package/dist/{hooks-BE-_EmDI.js → hooks-CejfTXVD.js} +1 -1
  24. package/dist/{hooks-BE-_EmDI.js.map → hooks-CejfTXVD.js.map} +1 -1
  25. package/dist/{icon-button-Bns79124.js → icon-button-CR2GECEZ.js} +3 -3
  26. package/dist/{icon-button-Bns79124.js.map → icon-button-CR2GECEZ.js.map} +1 -1
  27. package/dist/index.js +30 -27
  28. package/dist/l2-primitives/index.js +11 -11
  29. package/dist/{l2-primitives-Cn0KNxbB.js → l2-primitives-D503ozjH.js} +4 -4
  30. package/dist/{l2-primitives-Cn0KNxbB.js.map → l2-primitives-D503ozjH.js.map} +1 -1
  31. package/dist/l3-atoms/index.js +6 -5
  32. package/dist/{l3-atoms-BCJNqPHk.js → l3-atoms-CumlHlnP.js} +54 -53
  33. package/dist/{l3-atoms-BCJNqPHk.js.map → l3-atoms-CumlHlnP.js.map} +1 -1
  34. package/dist/l4-molecules/index.js +5 -4
  35. package/dist/{l4-molecules-DtNnQaFU.js → l4-molecules-CWwgFWmO.js} +125 -124
  36. package/dist/{l4-molecules-DtNnQaFU.js.map → l4-molecules-CWwgFWmO.js.map} +1 -1
  37. package/dist/l5-organisms/index.d.ts +0 -10
  38. package/dist/l5-organisms/index.d.ts.map +1 -1
  39. package/dist/l5-organisms/index.js +2 -2
  40. package/dist/{l5-organisms-Bu2Z8LSj.js → l5-organisms-QcvIAoHr.js} +1310 -2548
  41. package/dist/l5-organisms-QcvIAoHr.js.map +1 -0
  42. package/dist/l6-charts/index.js +1 -1
  43. package/dist/{l6-charts-DEA5DgMy.js → l6-charts-DKNVGuo0.js} +145 -17
  44. package/dist/l6-charts-DKNVGuo0.js.map +1 -0
  45. package/dist/l7-patterns/index.js +1 -1
  46. package/dist/{l7-patterns-CwonNW9o.js → l7-patterns-CM3FUxjA.js} +34 -34
  47. package/dist/{l7-patterns-CwonNW9o.js.map → l7-patterns-CM3FUxjA.js.map} +1 -1
  48. package/dist/loading-dots-CjzCz938.js +24 -0
  49. package/dist/loading-dots-CjzCz938.js.map +1 -0
  50. package/dist/motion-CKB1OKVd.js +22 -0
  51. package/dist/motion-CKB1OKVd.js.map +1 -0
  52. package/dist/{portal-Bbl6F_Wj.js → portal-B7bfstxv.js} +1 -1
  53. package/dist/{portal-Bbl6F_Wj.js.map → portal-B7bfstxv.js.map} +1 -1
  54. package/dist/{progress-dZIQEiTw.js → progress-B81FKPw5.js} +2 -2
  55. package/dist/{progress-dZIQEiTw.js.map → progress-B81FKPw5.js.map} +1 -1
  56. package/dist/{resize-handle-BjSNhgJK.js → resize-handle-BFffbhyG.js} +2 -2
  57. package/dist/{resize-handle-BjSNhgJK.js.map → resize-handle-BFffbhyG.js.map} +1 -1
  58. package/dist/{sanitize-BF45M9xp.js → sanitize-CO5dRqZX.js} +1 -1
  59. package/dist/{sanitize-BF45M9xp.js.map → sanitize-CO5dRqZX.js.map} +1 -1
  60. package/dist/{separator-CRll1Ycp.js → separator-wAUWmxji.js} +2 -2
  61. package/dist/{separator-CRll1Ycp.js.map → separator-wAUWmxji.js.map} +1 -1
  62. package/dist/{skeleton-C9FFZSYN.js → skeleton-DhqLfA7r.js} +1 -1
  63. package/dist/{skeleton-C9FFZSYN.js.map → skeleton-DhqLfA7r.js.map} +1 -1
  64. package/dist/{spinner-C15eER04.js → spinner-BimzKtfC.js} +3 -3
  65. package/dist/{spinner-C15eER04.js.map → spinner-BimzKtfC.js.map} +1 -1
  66. package/dist/{stepper-DJ8pn-9D.js → stepper-BINbai2f.js} +4 -4
  67. package/dist/{stepper-DJ8pn-9D.js.map → stepper-BINbai2f.js.map} +1 -1
  68. package/dist/{switch-BAS-GXJV.js → switch-COzaggYE.js} +3 -3
  69. package/dist/{switch-BAS-GXJV.js.map → switch-COzaggYE.js.map} +1 -1
  70. package/dist/{textarea-Btdu41rY.js → textarea-DD1huKel.js} +3 -3
  71. package/dist/{textarea-Btdu41rY.js.map → textarea-DD1huKel.js.map} +1 -1
  72. package/dist/toast-BujeTn1T.js +442 -0
  73. package/dist/toast-BujeTn1T.js.map +1 -0
  74. package/dist/{loading-dots-C1LPHGa0.js → tooltip-BlvhLCp0.js} +2 -17
  75. package/dist/tooltip-BlvhLCp0.js.map +1 -0
  76. package/dist/utils/index.js +8 -7
  77. package/package.json +5 -1
  78. package/dist/button-BD3VHhwq.js.map +0 -1
  79. package/dist/l5-organisms-Bu2Z8LSj.js.map +0 -1
  80. package/dist/l6-charts-DEA5DgMy.js.map +0 -1
  81. package/dist/loading-dots-C1LPHGa0.js.map +0 -1
  82. package/dist/motion-DUPegem-.js +0 -22
  83. package/dist/motion-DUPegem-.js.map +0 -1
  84. package/dist/toast-QxCZG0Oy.js +0 -614
  85. package/dist/toast-QxCZG0Oy.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ //#region src/utils/a11y.ts
2
+ var e = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg", t = "absolute h-px w-px overflow-hidden whitespace-nowrap border-0 p-0 [clip:rect(0,0,0,0)]";
3
+ //#endregion
4
+ export { t as n, e as t };
5
+
6
+ //# sourceMappingURL=a11y-CoNNB_xa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y-CoNNB_xa.js","names":[],"sources":["../src/utils/a11y.ts"],"sourcesContent":["// a11y utilities — used by all layers from L2+\n// values reference L0 tokens via Tailwind classes\n\n// focus-visible ring for all interactive elements\n// uses --gds-focus-ring-color (= --gds-accent), 2px ring, 1px offset\nexport const focusCls =\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg'\n\n// screen reader only — visually hidden but accessible to assistive tech\nexport const srOnly =\n 'absolute h-px w-px overflow-hidden whitespace-nowrap border-0 p-0 [clip:rect(0,0,0,0)]'\n"],"mappings":";AAKA,IAAa,IACX,sIAGW,IACX"}
@@ -1,5 +1,5 @@
1
1
  import { r as e, t } from "./glass-CQTlX7IO.js";
2
- import { r as n } from "./button-BD3VHhwq.js";
2
+ import { t as n } from "./dist-qdXk1a7h.js";
3
3
  import { forwardRef as r } from "react";
4
4
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
5
  //#region src/l3-atoms/avatar.tsx
@@ -71,4 +71,4 @@ var f = r(function({ className: n, glass: r, loading: f, name: p, size: m = "def
71
71
  //#endregion
72
72
  export { p as n, o as r, f as t };
73
73
 
74
- //# sourceMappingURL=avatar-Ct8OOGx6.js.map
74
+ //# sourceMappingURL=avatar-oCar1zX6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar-Ct8OOGx6.js","names":[],"sources":["../src/l3-atoms/avatar.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport type { VariantProps } from '../utils/types'\n\nconst avatarVariants = cva(\n 'relative inline-flex shrink-0 select-none items-center justify-center rounded-full font-medium',\n {\n defaultVariants: { size: 'default' },\n variants: {\n size: {\n default: 'h-8 w-8 text-xs',\n lg: 'h-10 w-10 text-sm',\n sm: 'h-6 w-6 text-[10px]',\n xs: 'h-5 w-5 text-[9px]',\n },\n },\n }\n)\n\nconst paletteColors = [\n 'bg-palette-0',\n 'bg-palette-1',\n 'bg-palette-2',\n 'bg-palette-3',\n 'bg-palette-4',\n 'bg-palette-5',\n 'bg-palette-6',\n 'bg-palette-7',\n 'bg-palette-8',\n 'bg-palette-9',\n]\n\nconst statusColors: Record<string, string> = {\n away: 'bg-warning',\n busy: 'bg-danger',\n offline: 'bg-fg-muted/30',\n online: 'bg-success',\n}\n\nconst statusSizeMap: Record<string, string> = {\n default: 'h-2.5 w-2.5',\n lg: 'h-3 w-3',\n sm: 'h-2 w-2',\n xs: 'h-1.5 w-1.5',\n}\n\nfunction getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/)\n if (parts.length >= 2) return `${parts[0][0]}${parts[1][0]}`.toUpperCase()\n return name.slice(0, 2).toUpperCase()\n}\n\nfunction hashName(name: string): number {\n let hash = 0\n for (let i = 0; i < name.length; i++) {\n hash = (hash * 31 + name.charCodeAt(i)) | 0\n }\n return Math.abs(hash)\n}\n\ntype AvatarStatus = 'away' | 'busy' | 'offline' | 'online'\n\ntype AvatarProps = React.HTMLAttributes<HTMLSpanElement> &\n VariantProps<typeof avatarVariants> & {\n /** Enable frosted glass translucency effect */\n glass?: boolean\n /** Show pulse skeleton placeholder */\n loading?: boolean\n /** Display name — used for initials and color hashing */\n name?: string\n /** Image URL; falls back to initials when absent */\n src?: string\n /** Presence indicator dot in bottom-right corner */\n status?: AvatarStatus\n }\n\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(function Avatar(\n { className, glass, loading, name, size = 'default', src, status, ...props },\n ref\n) {\n const sizeKey = size ?? 'default'\n const colorIdx = name !== undefined ? hashName(name) % 10 : 0\n\n return (\n <span\n className={cx(\n avatarVariants({ size }),\n src === undefined && paletteColors[colorIdx],\n src === undefined && 'text-accent-fg',\n glassClass(glass),\n className\n )}\n data-component=\"avatar\"\n ref={ref}\n {...props}\n >\n {loading === true ? (\n <span className=\"bg-fg-muted/20 absolute inset-0 animate-pulse rounded-full\" />\n ) : src !== undefined ? (\n <img\n alt={name ?? ''}\n className=\"absolute inset-0 h-full w-full rounded-full object-cover\"\n src={src}\n />\n ) : (\n <span>{name !== undefined ? getInitials(name) : '?'}</span>\n )}\n {status !== undefined && (\n <span\n className={cx(\n 'ring-bg absolute right-0 bottom-0 rounded-full ring-2',\n statusSizeMap[sizeKey],\n statusColors[status]\n )}\n />\n )}\n </span>\n )\n})\n\ntype AvatarGroupProps = React.HTMLAttributes<HTMLDivElement> & {\n max?: number\n}\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n function AvatarGroup({ children, className, max, ...props }, ref) {\n const items = Array.isArray(children) ? children : [children]\n const visible = max !== undefined ? items.slice(0, max) : items\n const overflow = max !== undefined ? items.length - max : 0\n\n return (\n <div\n className={cx('flex -space-x-2', className)}\n data-component=\"avatar-group\"\n ref={ref}\n {...props}\n >\n {visible}\n {overflow > 0 && (\n <span className=\"gds-sq bg-bg-tertiary gds-text-body text-fg-muted ring-bg inline-flex items-center justify-center rounded-full font-medium ring-2\">\n +{overflow}\n </span>\n )}\n </div>\n )\n }\n)\n\nexport { avatarVariants }\nexport type { AvatarGroupProps, AvatarProps, AvatarStatus }\n"],"mappings":";;;;;AAOA,IAAM,IAAiB,EACrB,kGACA;CACE,iBAAiB,EAAE,MAAM,WAAW;CACpC,UAAU,EACR,MAAM;EACJ,SAAS;EACT,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CACF,EAEK,IAAgB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,EAEK,IAAuC;CAC3C,MAAM;CACN,MAAM;CACN,SAAS;CACT,QAAQ;CACT,EAEK,IAAwC;CAC5C,SAAS;CACT,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,SAAS,EAAY,GAAsB;CACzC,IAAM,IAAQ,EAAK,MAAM,CAAC,MAAM,MAAM;AAEtC,QADI,EAAM,UAAU,IAAU,GAAG,EAAM,GAAG,KAAK,EAAM,GAAG,KAAK,aAAa,GACnE,EAAK,MAAM,GAAG,EAAE,CAAC,aAAa;;AAGvC,SAAS,EAAS,GAAsB;CACtC,IAAI,IAAO;AACX,MAAK,IAAI,IAAI,GAAG,IAAI,EAAK,QAAQ,IAC/B,KAAQ,IAAO,KAAK,EAAK,WAAW,EAAE,GAAI;AAE5C,QAAO,KAAK,IAAI,EAAK;;AAmBvB,IAAa,IAAS,EAAyC,SAC7D,EAAE,cAAW,UAAO,YAAS,SAAM,UAAO,WAAW,QAAK,WAAQ,GAAG,KACrE,GACA;CACA,IAAM,IAAU,KAAQ,WAClB,IAAW,MAAS,KAAA,IAAkC,IAAtB,EAAS,EAAK,GAAG;AAEvD,QACE,kBAAC,QAAD;EACE,WAAW,EACT,EAAe,EAAE,SAAM,CAAC,EACxB,MAAQ,KAAA,KAAa,EAAc,IACnC,MAAQ,KAAA,KAAa,kBACrB,EAAW,EAAM,EACjB,EACD;EACD,kBAAe;EACV;EACL,GAAI;YAVN,CAYG,MAAY,KACX,kBAAC,QAAD,EAAM,WAAU,8DAA+D,CAAA,GAC7E,MAAQ,KAAA,IAOV,kBAAC,QAAD,EAAA,UAAO,MAAS,KAAA,IAAgC,MAApB,EAAY,EAAK,EAAc,CAAA,GAN3D,kBAAC,OAAD;GACE,KAAK,KAAQ;GACb,WAAU;GACL;GACL,CAAA,EAIH,MAAW,KAAA,KACV,kBAAC,QAAD,EACE,WAAW,EACT,yDACA,EAAc,IACd,EAAa,GACd,EACD,CAAA,CAEC;;EAET,EAMW,IAAc,EACzB,SAAqB,EAAE,aAAU,cAAW,QAAK,GAAG,KAAS,GAAK;CAChE,IAAM,IAAQ,MAAM,QAAQ,EAAS,GAAG,IAAW,CAAC,EAAS,EACvD,IAAU,MAAQ,KAAA,IAAkC,IAAtB,EAAM,MAAM,GAAG,EAAI,EACjD,IAAW,MAAQ,KAAA,IAAiC,IAArB,EAAM,SAAS;AAEpD,QACE,kBAAC,OAAD;EACE,WAAW,EAAG,mBAAmB,EAAU;EAC3C,kBAAe;EACV;EACL,GAAI;YAJN,CAMG,GACA,IAAW,KACV,kBAAC,QAAD;GAAM,WAAU;aAAhB,CAAoJ,KAChJ,EACG;KAEL;;EAGX"}
1
+ {"version":3,"file":"avatar-oCar1zX6.js","names":[],"sources":["../src/l3-atoms/avatar.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport type { VariantProps } from '../utils/types'\n\nconst avatarVariants = cva(\n 'relative inline-flex shrink-0 select-none items-center justify-center rounded-full font-medium',\n {\n defaultVariants: { size: 'default' },\n variants: {\n size: {\n default: 'h-8 w-8 text-xs',\n lg: 'h-10 w-10 text-sm',\n sm: 'h-6 w-6 text-[10px]',\n xs: 'h-5 w-5 text-[9px]',\n },\n },\n }\n)\n\nconst paletteColors = [\n 'bg-palette-0',\n 'bg-palette-1',\n 'bg-palette-2',\n 'bg-palette-3',\n 'bg-palette-4',\n 'bg-palette-5',\n 'bg-palette-6',\n 'bg-palette-7',\n 'bg-palette-8',\n 'bg-palette-9',\n]\n\nconst statusColors: Record<string, string> = {\n away: 'bg-warning',\n busy: 'bg-danger',\n offline: 'bg-fg-muted/30',\n online: 'bg-success',\n}\n\nconst statusSizeMap: Record<string, string> = {\n default: 'h-2.5 w-2.5',\n lg: 'h-3 w-3',\n sm: 'h-2 w-2',\n xs: 'h-1.5 w-1.5',\n}\n\nfunction getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/)\n if (parts.length >= 2) return `${parts[0][0]}${parts[1][0]}`.toUpperCase()\n return name.slice(0, 2).toUpperCase()\n}\n\nfunction hashName(name: string): number {\n let hash = 0\n for (let i = 0; i < name.length; i++) {\n hash = (hash * 31 + name.charCodeAt(i)) | 0\n }\n return Math.abs(hash)\n}\n\ntype AvatarStatus = 'away' | 'busy' | 'offline' | 'online'\n\ntype AvatarProps = React.HTMLAttributes<HTMLSpanElement> &\n VariantProps<typeof avatarVariants> & {\n /** Enable frosted glass translucency effect */\n glass?: boolean\n /** Show pulse skeleton placeholder */\n loading?: boolean\n /** Display name — used for initials and color hashing */\n name?: string\n /** Image URL; falls back to initials when absent */\n src?: string\n /** Presence indicator dot in bottom-right corner */\n status?: AvatarStatus\n }\n\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(function Avatar(\n { className, glass, loading, name, size = 'default', src, status, ...props },\n ref\n) {\n const sizeKey = size ?? 'default'\n const colorIdx = name !== undefined ? hashName(name) % 10 : 0\n\n return (\n <span\n className={cx(\n avatarVariants({ size }),\n src === undefined && paletteColors[colorIdx],\n src === undefined && 'text-accent-fg',\n glassClass(glass),\n className\n )}\n data-component=\"avatar\"\n ref={ref}\n {...props}\n >\n {loading === true ? (\n <span className=\"bg-fg-muted/20 absolute inset-0 animate-pulse rounded-full\" />\n ) : src !== undefined ? (\n <img\n alt={name ?? ''}\n className=\"absolute inset-0 h-full w-full rounded-full object-cover\"\n src={src}\n />\n ) : (\n <span>{name !== undefined ? getInitials(name) : '?'}</span>\n )}\n {status !== undefined && (\n <span\n className={cx(\n 'ring-bg absolute right-0 bottom-0 rounded-full ring-2',\n statusSizeMap[sizeKey],\n statusColors[status]\n )}\n />\n )}\n </span>\n )\n})\n\ntype AvatarGroupProps = React.HTMLAttributes<HTMLDivElement> & {\n max?: number\n}\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n function AvatarGroup({ children, className, max, ...props }, ref) {\n const items = Array.isArray(children) ? children : [children]\n const visible = max !== undefined ? items.slice(0, max) : items\n const overflow = max !== undefined ? items.length - max : 0\n\n return (\n <div\n className={cx('flex -space-x-2', className)}\n data-component=\"avatar-group\"\n ref={ref}\n {...props}\n >\n {visible}\n {overflow > 0 && (\n <span className=\"gds-sq bg-bg-tertiary gds-text-body text-fg-muted ring-bg inline-flex items-center justify-center rounded-full font-medium ring-2\">\n +{overflow}\n </span>\n )}\n </div>\n )\n }\n)\n\nexport { avatarVariants }\nexport type { AvatarGroupProps, AvatarProps, AvatarStatus }\n"],"mappings":";;;;;AAOA,IAAM,IAAiB,EACrB,kGACA;CACE,iBAAiB,EAAE,MAAM,WAAW;CACpC,UAAU,EACR,MAAM;EACJ,SAAS;EACT,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CACF,EAEK,IAAgB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,EAEK,IAAuC;CAC3C,MAAM;CACN,MAAM;CACN,SAAS;CACT,QAAQ;CACT,EAEK,IAAwC;CAC5C,SAAS;CACT,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,SAAS,EAAY,GAAsB;CACzC,IAAM,IAAQ,EAAK,MAAM,CAAC,MAAM,MAAM;AAEtC,QADI,EAAM,UAAU,IAAU,GAAG,EAAM,GAAG,KAAK,EAAM,GAAG,KAAK,aAAa,GACnE,EAAK,MAAM,GAAG,EAAE,CAAC,aAAa;;AAGvC,SAAS,EAAS,GAAsB;CACtC,IAAI,IAAO;AACX,MAAK,IAAI,IAAI,GAAG,IAAI,EAAK,QAAQ,IAC/B,KAAQ,IAAO,KAAK,EAAK,WAAW,EAAE,GAAI;AAE5C,QAAO,KAAK,IAAI,EAAK;;AAmBvB,IAAa,IAAS,EAAyC,SAC7D,EAAE,cAAW,UAAO,YAAS,SAAM,UAAO,WAAW,QAAK,WAAQ,GAAG,KACrE,GACA;CACA,IAAM,IAAU,KAAQ,WAClB,IAAW,MAAS,KAAA,IAAkC,IAAtB,EAAS,EAAK,GAAG;AAEvD,QACE,kBAAC,QAAD;EACE,WAAW,EACT,EAAe,EAAE,SAAM,CAAC,EACxB,MAAQ,KAAA,KAAa,EAAc,IACnC,MAAQ,KAAA,KAAa,kBACrB,EAAW,EAAM,EACjB,EACD;EACD,kBAAe;EACV;EACL,GAAI;YAVN,CAYG,MAAY,KACX,kBAAC,QAAD,EAAM,WAAU,8DAA+D,CAAA,GAC7E,MAAQ,KAAA,IAOV,kBAAC,QAAD,EAAA,UAAO,MAAS,KAAA,IAAgC,MAApB,EAAY,EAAK,EAAc,CAAA,GAN3D,kBAAC,OAAD;GACE,KAAK,KAAQ;GACb,WAAU;GACL;GACL,CAAA,EAIH,MAAW,KAAA,KACV,kBAAC,QAAD,EACE,WAAW,EACT,yDACA,EAAc,IACd,EAAa,GACd,EACD,CAAA,CAEC;;EAET,EAMW,IAAc,EACzB,SAAqB,EAAE,aAAU,cAAW,QAAK,GAAG,KAAS,GAAK;CAChE,IAAM,IAAQ,MAAM,QAAQ,EAAS,GAAG,IAAW,CAAC,EAAS,EACvD,IAAU,MAAQ,KAAA,IAAkC,IAAtB,EAAM,MAAM,GAAG,EAAI,EACjD,IAAW,MAAQ,KAAA,IAAiC,IAArB,EAAM,SAAS;AAEpD,QACE,kBAAC,OAAD;EACE,WAAW,EAAG,mBAAmB,EAAU;EAC3C,kBAAe;EACV;EACL,GAAI;YAJN,CAMG,GACA,IAAW,KACV,kBAAC,QAAD;GAAM,WAAU;aAAhB,CAAoJ,KAChJ,EACG;KAEL;;EAGX"}
@@ -1,5 +1,5 @@
1
1
  import { r as e, t } from "./glass-CQTlX7IO.js";
2
- import { r as n } from "./button-BD3VHhwq.js";
2
+ import { t as n } from "./dist-qdXk1a7h.js";
3
3
  import { forwardRef as r } from "react";
4
4
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
5
  //#region src/l2-primitives/badge.tsx
@@ -56,4 +56,4 @@ function l(e) {
56
56
  //#endregion
57
57
  export { o as n, l as r, c as t };
58
58
 
59
- //# sourceMappingURL=badge-BCvi5RVF.js.map
59
+ //# sourceMappingURL=badge-B3ijD3ch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge-BCvi5RVF.js","names":[],"sources":["../src/l2-primitives/badge.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport type { VariantProps } from '../utils/types'\n\nconst badgeVariants = cva(\n 'inline-flex select-none items-center gds-gap-xs gds-radius-badge gds-pad-x-sm gds-pad-y-sm gds-text-caption font-medium',\n {\n defaultVariants: {\n variant: 'default',\n },\n variants: {\n variant: {\n danger: 'bg-danger/10 text-danger',\n default: 'bg-fg-muted/10 text-fg-muted',\n info: 'bg-accent/10 text-accent',\n 'palette-0': 'bg-palette-0/10 text-palette-0',\n 'palette-1': 'bg-palette-1/10 text-palette-1',\n 'palette-2': 'bg-palette-2/10 text-palette-2',\n 'palette-3': 'bg-palette-3/10 text-palette-3',\n 'palette-4': 'bg-palette-4/10 text-palette-4',\n 'palette-5': 'bg-palette-5/10 text-palette-5',\n 'palette-6': 'bg-palette-6/10 text-palette-6',\n 'palette-7': 'bg-palette-7/10 text-palette-7',\n 'palette-8': 'bg-palette-8/10 text-palette-8',\n 'palette-9': 'bg-palette-9/10 text-palette-9',\n success: 'bg-success/10 text-success',\n warning: 'bg-warning/10 text-warning',\n },\n },\n }\n)\n\nconst dotColors: Partial<Record<string, string>> = {\n danger: 'bg-danger',\n default: 'bg-fg-muted',\n info: 'bg-accent',\n success: 'bg-success',\n warning: 'bg-warning',\n}\n\ntype BadgeVariant = NonNullable<VariantProps<typeof badgeVariants>['variant']>\n\ntype BadgeProps = React.HTMLAttributes<HTMLSpanElement> &\n VariantProps<typeof badgeVariants> & {\n count?: number\n countMax?: number\n dot?: boolean\n glass?: boolean\n }\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(function Badge(\n { children, className, count, countMax = 99, dot, glass, variant, ...props },\n ref\n) {\n // count badge mode\n if (count !== undefined) {\n if (count <= 0) return null\n const display = count > countMax ? `${countMax}+` : String(count)\n return (\n <span\n className={cx(\n 'gds-radius-badge gds-text-caption text-accent-fg inline-flex items-center justify-center font-bold select-none',\n 'h-[18px] min-w-[18px] px-1',\n variant === 'danger' ? 'bg-danger animate-pulse' : 'bg-accent',\n glassClass(glass),\n glass === true && 'border border-white/10 bg-white/5',\n className\n )}\n data-component=\"badge\"\n data-variant=\"count\"\n ref={ref}\n {...props}\n >\n {display}\n </span>\n )\n }\n\n // standard badge\n return (\n <span\n className={cx(\n badgeVariants({ variant }),\n glassClass(glass),\n glass === true && 'border border-white/10 bg-white/5',\n className\n )}\n data-component=\"badge\"\n data-variant={variant ?? 'default'}\n ref={ref}\n {...props}\n >\n {dot === true && (\n <span\n className={cx(\n 'gds-radius-badge h-1.5 w-1.5',\n dotColors[variant ?? 'default'] ?? 'bg-fg-muted'\n )}\n />\n )}\n {children}\n </span>\n )\n})\n\n// map a numeric index to a palette variant\nexport function paletteVariant(index: number): BadgeVariant {\n return `palette-${index % 10}` as BadgeVariant\n}\n\nexport { badgeVariants }\nexport type { BadgeProps, BadgeVariant }\n"],"mappings":";;;;;AAOA,IAAM,IAAgB,EACpB,2HACA;CACE,iBAAiB,EACf,SAAS,WACV;CACD,UAAU,EACR,SAAS;EACP,QAAQ;EACR,SAAS;EACT,MAAM;EACN,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,SAAS;EACT,SAAS;EACV,EACF;CACF,CACF,EAEK,IAA6C;CACjD,QAAQ;CACR,SAAS;CACT,MAAM;CACN,SAAS;CACT,SAAS;CACV,EAYY,IAAQ,EAAwC,SAC3D,EAAE,aAAU,cAAW,UAAO,cAAW,IAAI,QAAK,UAAO,YAAS,GAAG,KACrE,GACA;AAEA,KAAI,MAAU,KAAA,GAAW;AACvB,MAAI,KAAS,EAAG,QAAO;EACvB,IAAM,IAAU,IAAQ,IAAW,GAAG,EAAS,KAAK,OAAO,EAAM;AACjE,SACE,kBAAC,QAAD;GACE,WAAW,EACT,kHACA,8BACA,MAAY,WAAW,4BAA4B,aACnD,EAAW,EAAM,EACjB,MAAU,MAAQ,qCAClB,EACD;GACD,kBAAe;GACf,gBAAa;GACR;GACL,GAAI;aAEH;GACI,CAAA;;AAKX,QACE,kBAAC,QAAD;EACE,WAAW,EACT,EAAc,EAAE,YAAS,CAAC,EAC1B,EAAW,EAAM,EACjB,MAAU,MAAQ,qCAClB,EACD;EACD,kBAAe;EACf,gBAAc,KAAW;EACpB;EACL,GAAI;YAVN,CAYG,MAAQ,MACP,kBAAC,QAAD,EACE,WAAW,EACT,gCACA,EAAU,KAAW,cAAc,cACpC,EACD,CAAA,EAEH,EACI;;EAET;AAGF,SAAgB,EAAe,GAA6B;AAC1D,QAAO,WAAW,IAAQ"}
1
+ {"version":3,"file":"badge-B3ijD3ch.js","names":[],"sources":["../src/l2-primitives/badge.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport type { VariantProps } from '../utils/types'\n\nconst badgeVariants = cva(\n 'inline-flex select-none items-center gds-gap-xs gds-radius-badge gds-pad-x-sm gds-pad-y-sm gds-text-caption font-medium',\n {\n defaultVariants: {\n variant: 'default',\n },\n variants: {\n variant: {\n danger: 'bg-danger/10 text-danger',\n default: 'bg-fg-muted/10 text-fg-muted',\n info: 'bg-accent/10 text-accent',\n 'palette-0': 'bg-palette-0/10 text-palette-0',\n 'palette-1': 'bg-palette-1/10 text-palette-1',\n 'palette-2': 'bg-palette-2/10 text-palette-2',\n 'palette-3': 'bg-palette-3/10 text-palette-3',\n 'palette-4': 'bg-palette-4/10 text-palette-4',\n 'palette-5': 'bg-palette-5/10 text-palette-5',\n 'palette-6': 'bg-palette-6/10 text-palette-6',\n 'palette-7': 'bg-palette-7/10 text-palette-7',\n 'palette-8': 'bg-palette-8/10 text-palette-8',\n 'palette-9': 'bg-palette-9/10 text-palette-9',\n success: 'bg-success/10 text-success',\n warning: 'bg-warning/10 text-warning',\n },\n },\n }\n)\n\nconst dotColors: Partial<Record<string, string>> = {\n danger: 'bg-danger',\n default: 'bg-fg-muted',\n info: 'bg-accent',\n success: 'bg-success',\n warning: 'bg-warning',\n}\n\ntype BadgeVariant = NonNullable<VariantProps<typeof badgeVariants>['variant']>\n\ntype BadgeProps = React.HTMLAttributes<HTMLSpanElement> &\n VariantProps<typeof badgeVariants> & {\n count?: number\n countMax?: number\n dot?: boolean\n glass?: boolean\n }\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(function Badge(\n { children, className, count, countMax = 99, dot, glass, variant, ...props },\n ref\n) {\n // count badge mode\n if (count !== undefined) {\n if (count <= 0) return null\n const display = count > countMax ? `${countMax}+` : String(count)\n return (\n <span\n className={cx(\n 'gds-radius-badge gds-text-caption text-accent-fg inline-flex items-center justify-center font-bold select-none',\n 'h-[18px] min-w-[18px] px-1',\n variant === 'danger' ? 'bg-danger animate-pulse' : 'bg-accent',\n glassClass(glass),\n glass === true && 'border border-white/10 bg-white/5',\n className\n )}\n data-component=\"badge\"\n data-variant=\"count\"\n ref={ref}\n {...props}\n >\n {display}\n </span>\n )\n }\n\n // standard badge\n return (\n <span\n className={cx(\n badgeVariants({ variant }),\n glassClass(glass),\n glass === true && 'border border-white/10 bg-white/5',\n className\n )}\n data-component=\"badge\"\n data-variant={variant ?? 'default'}\n ref={ref}\n {...props}\n >\n {dot === true && (\n <span\n className={cx(\n 'gds-radius-badge h-1.5 w-1.5',\n dotColors[variant ?? 'default'] ?? 'bg-fg-muted'\n )}\n />\n )}\n {children}\n </span>\n )\n})\n\n// map a numeric index to a palette variant\nexport function paletteVariant(index: number): BadgeVariant {\n return `palette-${index % 10}` as BadgeVariant\n}\n\nexport { badgeVariants }\nexport type { BadgeProps, BadgeVariant }\n"],"mappings":";;;;;AAOA,IAAM,IAAgB,EACpB,2HACA;CACE,iBAAiB,EACf,SAAS,WACV;CACD,UAAU,EACR,SAAS;EACP,QAAQ;EACR,SAAS;EACT,MAAM;EACN,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,SAAS;EACT,SAAS;EACV,EACF;CACF,CACF,EAEK,IAA6C;CACjD,QAAQ;CACR,SAAS;CACT,MAAM;CACN,SAAS;CACT,SAAS;CACV,EAYY,IAAQ,EAAwC,SAC3D,EAAE,aAAU,cAAW,UAAO,cAAW,IAAI,QAAK,UAAO,YAAS,GAAG,KACrE,GACA;AAEA,KAAI,MAAU,KAAA,GAAW;AACvB,MAAI,KAAS,EAAG,QAAO;EACvB,IAAM,IAAU,IAAQ,IAAW,GAAG,EAAS,KAAK,OAAO,EAAM;AACjE,SACE,kBAAC,QAAD;GACE,WAAW,EACT,kHACA,8BACA,MAAY,WAAW,4BAA4B,aACnD,EAAW,EAAM,EACjB,MAAU,MAAQ,qCAClB,EACD;GACD,kBAAe;GACf,gBAAa;GACR;GACL,GAAI;aAEH;GACI,CAAA;;AAKX,QACE,kBAAC,QAAD;EACE,WAAW,EACT,EAAc,EAAE,YAAS,CAAC,EAC1B,EAAW,EAAM,EACjB,MAAU,MAAQ,qCAClB,EACD;EACD,kBAAe;EACf,gBAAc,KAAW;EACpB;EACL,GAAI;YAVN,CAYG,MAAQ,MACP,kBAAC,QAAD,EACE,WAAW,EACT,gCACA,EAAU,KAAW,cAAc,cACpC,EACD,CAAA,EAEH,EACI;;EAET;AAGF,SAAgB,EAAe,GAA6B;AAC1D,QAAO,WAAW,IAAQ"}
@@ -1,37 +1,11 @@
1
- import { i as e, r as t, t as n } from "./glass-CQTlX7IO.js";
2
- import { r, t as i } from "./motion-DUPegem-.js";
1
+ import { r as e, t } from "./glass-CQTlX7IO.js";
2
+ import { t as n } from "./dist-qdXk1a7h.js";
3
+ import { t as r } from "./a11y-CoNNB_xa.js";
4
+ import { t as i } from "./motion-CKB1OKVd.js";
3
5
  import { forwardRef as a } from "react";
4
6
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
- //#region node_modules/class-variance-authority/dist/index.mjs
6
- var c = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, l = e, u = (e, t) => (n) => {
7
- if (t?.variants == null) return l(e, n?.class, n?.className);
8
- let { variants: r, defaultVariants: i } = t, a = Object.keys(r).map((e) => {
9
- let t = n?.[e], a = i?.[e];
10
- if (t === null) return null;
11
- let o = c(t) || c(a);
12
- return r[e][o];
13
- }), o = n && Object.entries(n).reduce((e, t) => {
14
- let [n, r] = t;
15
- return r === void 0 || (e[n] = r), e;
16
- }, {});
17
- return l(e, a, t?.compoundVariants?.reduce((e, t) => {
18
- let { class: n, className: r, ...a } = t;
19
- return Object.entries(a).every((e) => {
20
- let [t, n] = e;
21
- return Array.isArray(n) ? n.includes({
22
- ...i,
23
- ...o
24
- }[t]) : {
25
- ...i,
26
- ...o
27
- }[t] === n;
28
- }) ? [
29
- ...e,
30
- n,
31
- r
32
- ] : e;
33
- }, []), n?.class, n?.className);
34
- }, d = u("inline-flex select-none items-center justify-center font-medium transition-colors " + r, {
7
+ //#region src/l2-primitives/button.tsx
8
+ var c = n("inline-flex select-none items-center justify-center font-medium transition-colors " + r, {
35
9
  defaultVariants: {
36
10
  size: "default",
37
11
  variant: "primary"
@@ -50,7 +24,7 @@ var c = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, l = e, u = (e
50
24
  }
51
25
  }
52
26
  });
53
- function f() {
27
+ function l() {
54
28
  return /* @__PURE__ */ s("svg", {
55
29
  className: "h-3 w-3 animate-spin",
56
30
  fill: "none",
@@ -69,23 +43,23 @@ function f() {
69
43
  })]
70
44
  });
71
45
  }
72
- var p = a(function({ children: e, className: r, disabled: a, fullWidth: c, glass: l, icon: u, iconRight: p, loading: m, motion: h, size: g, variant: _, ...v }, y) {
46
+ var u = a(function({ children: n, className: r, disabled: a, fullWidth: u, glass: d, icon: f, iconRight: p, loading: m, motion: h, size: g, variant: _, ...v }, y) {
73
47
  return /* @__PURE__ */ s("button", {
74
- className: t(d({
48
+ className: e(c({
75
49
  size: g,
76
50
  variant: _
77
- }), (a === !0 || m === !0) && "cursor-not-allowed opacity-50", c === !0 && "w-full", n(l), l === !0 && "bg-bg/60 border border-white/10", i(h), r),
51
+ }), (a === !0 || m === !0) && "cursor-not-allowed opacity-50", u === !0 && "w-full", t(d), d === !0 && "bg-bg/60 border border-white/10", i(h), r),
78
52
  "data-component": "button",
79
53
  "data-variant": _ ?? "primary",
80
54
  disabled: a === !0 || m === !0,
81
55
  ref: y,
82
56
  ...v,
83
57
  children: [
84
- m === !0 ? /* @__PURE__ */ o(f, {}) : u === void 0 ? null : /* @__PURE__ */ o("span", {
58
+ m === !0 ? /* @__PURE__ */ o(l, {}) : f === void 0 ? null : /* @__PURE__ */ o("span", {
85
59
  className: "gds-icon-child-sm",
86
- children: u
60
+ children: f
87
61
  }),
88
- e,
62
+ n,
89
63
  p !== void 0 && /* @__PURE__ */ o("span", {
90
64
  className: "gds-icon-child-sm",
91
65
  children: p
@@ -94,6 +68,6 @@ var p = a(function({ children: e, className: r, disabled: a, fullWidth: c, glass
94
68
  });
95
69
  });
96
70
  //#endregion
97
- export { d as n, u as r, p as t };
71
+ export { c as n, u as t };
98
72
 
99
- //# sourceMappingURL=button-BD3VHhwq.js.map
73
+ //# sourceMappingURL=button-fRpdsI_4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-fRpdsI_4.js","names":[],"sources":["../src/l2-primitives/button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport { motionClass } from '../utils/motion'\nimport type { VariantProps } from '../utils/types'\n\nconst buttonVariants = cva(\n 'inline-flex select-none items-center justify-center font-medium transition-colors ' +\n focusCls,\n {\n defaultVariants: {\n size: 'default',\n variant: 'primary',\n },\n variants: {\n size: {\n default: 'gds-h gds-gap-sm gds-radius-button gds-pad-x gds-text-body',\n lg: 'gds-h-lg gds-gap gds-radius-button gds-pad-x-lg gds-text-body',\n sm: 'gds-h-sm gds-gap-xs gds-radius-button gds-pad-x-sm gds-text-label',\n },\n variant: {\n danger: 'bg-danger text-accent-fg hover:bg-danger/90',\n ghost:\n 'bg-transparent text-fg-muted hover:bg-bg-tertiary hover:text-fg',\n primary: 'bg-accent text-accent-fg hover:bg-accent-hover',\n secondary:\n 'border border-border bg-transparent text-fg hover:bg-bg-tertiary',\n },\n },\n }\n)\n\ntype ButtonSize = 'default' | 'lg' | 'sm'\ntype ButtonVariant = 'danger' | 'ghost' | 'primary' | 'secondary'\n\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> &\n VariantProps<typeof buttonVariants> & {\n /** Visual style: primary, secondary, ghost, danger */\n variant?: 'danger' | 'ghost' | 'primary' | 'secondary'\n /** Height and text scale preset */\n size?: 'default' | 'lg' | 'sm'\n fullWidth?: boolean\n /** Enable frosted glass translucency effect */\n glass?: boolean\n /** Icon element rendered before children */\n icon?: ReactNode\n iconRight?: ReactNode\n /** Show spinner and disable interaction */\n loading?: boolean\n /** Animation preset name (e.g. 'fade', 'scale') */\n motion?: string\n }\n\n// inline SVG spinner to avoid circular L2 dependency\nfunction InlineSpinner() {\n return (\n <svg className=\"h-3 w-3 animate-spin\" fill=\"none\" viewBox=\"0 0 24 24\">\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n {\n children,\n className,\n disabled,\n fullWidth,\n glass,\n icon,\n iconRight,\n loading,\n motion: m,\n size,\n variant,\n ...props\n },\n ref\n ) {\n return (\n <button\n className={cx(\n buttonVariants({ size, variant }),\n (disabled === true || loading === true) &&\n 'cursor-not-allowed opacity-50',\n fullWidth === true && 'w-full',\n glassClass(glass),\n glass === true && 'bg-bg/60 border border-white/10',\n motionClass(m),\n className\n )}\n data-component=\"button\"\n data-variant={variant ?? 'primary'}\n disabled={disabled === true || loading === true}\n ref={ref}\n {...props}\n >\n {loading === true ? (\n <InlineSpinner />\n ) : icon !== undefined ? (\n <span className=\"gds-icon-child-sm\">{icon}</span>\n ) : null}\n {children}\n {iconRight !== undefined && (\n <span className=\"gds-icon-child-sm\">{iconRight}</span>\n )}\n </button>\n )\n }\n)\n\nexport { buttonVariants }\nexport type { ButtonProps, ButtonSize, ButtonVariant }\n"],"mappings":";;;;;;;AAUA,IAAM,IAAiB,EACrB,uFACE,GACF;CACE,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;CACD,UAAU;EACR,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACL;EACD,SAAS;GACP,QAAQ;GACR,OACE;GACF,SAAS;GACT,WACE;GACH;EACF;CACF,CACF;AAwBD,SAAS,IAAgB;AACvB,QACE,kBAAC,OAAD;EAAK,WAAU;EAAuB,MAAK;EAAO,SAAQ;YAA1D,CACE,kBAAC,UAAD;GACE,WAAU;GACV,IAAG;GACH,IAAG;GACH,GAAE;GACF,QAAO;GACP,aAAY;GACZ,CAAA,EACF,kBAAC,QAAD;GACE,WAAU;GACV,GAAE;GACF,MAAK;GACL,CAAA,CACE;;;AAIV,IAAa,IAAS,EACpB,SACE,EACE,aACA,cACA,aACA,cACA,UACA,SACA,cACA,YACA,QAAQ,GACR,SACA,YACA,GAAG,KAEL,GACA;AACA,QACE,kBAAC,UAAD;EACE,WAAW,EACT,EAAe;GAAE;GAAM;GAAS,CAAC,GAChC,MAAa,MAAQ,MAAY,OAChC,iCACF,MAAc,MAAQ,UACtB,EAAW,EAAM,EACjB,MAAU,MAAQ,mCAClB,EAAY,EAAE,EACd,EACD;EACD,kBAAe;EACf,gBAAc,KAAW;EACzB,UAAU,MAAa,MAAQ,MAAY;EACtC;EACL,GAAI;YAfN;GAiBG,MAAY,KACX,kBAAC,GAAD,EAAiB,CAAA,GACf,MAAS,KAAA,IAET,OADF,kBAAC,QAAD;IAAM,WAAU;cAAqB;IAAY,CAAA;GAElD;GACA,MAAc,KAAA,KACb,kBAAC,QAAD;IAAM,WAAU;cAAqB;IAAiB,CAAA;GAEjD;;EAGd"}
@@ -0,0 +1,35 @@
1
+ import { i as e } from "./glass-CQTlX7IO.js";
2
+ //#region node_modules/class-variance-authority/dist/index.mjs
3
+ var t = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, n = e, r = (e, r) => (i) => {
4
+ if (r?.variants == null) return n(e, i?.class, i?.className);
5
+ let { variants: a, defaultVariants: o } = r, s = Object.keys(a).map((e) => {
6
+ let n = i?.[e], r = o?.[e];
7
+ if (n === null) return null;
8
+ let s = t(n) || t(r);
9
+ return a[e][s];
10
+ }), c = i && Object.entries(i).reduce((e, t) => {
11
+ let [n, r] = t;
12
+ return r === void 0 || (e[n] = r), e;
13
+ }, {});
14
+ return n(e, s, r?.compoundVariants?.reduce((e, t) => {
15
+ let { class: n, className: r, ...i } = t;
16
+ return Object.entries(i).every((e) => {
17
+ let [t, n] = e;
18
+ return Array.isArray(n) ? n.includes({
19
+ ...o,
20
+ ...c
21
+ }[t]) : {
22
+ ...o,
23
+ ...c
24
+ }[t] === n;
25
+ }) ? [
26
+ ...e,
27
+ n,
28
+ r
29
+ ] : e;
30
+ }, []), i?.class, i?.className);
31
+ };
32
+ //#endregion
33
+ export { r as t };
34
+
35
+ //# sourceMappingURL=dist-qdXk1a7h.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dist-qdXk1a7h.js","names":[],"sources":["../node_modules/class-variance-authority/dist/index.mjs"],"sourcesContent":["/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n"],"x_google_ignoreList":[0],"mappings":";;AAeA,IAAM,KAAiB,MAAQ,OAAO,KAAU,YAAY,GAAG,MAAU,MAAU,IAAI,MAAM,GAChF,IAAK,GACL,KAAO,GAAM,OAAU,MAAQ;AAEpC,KAAK,GAAuD,YAAa,KAAM,QAAO,EAAG,GAAM,GAAoD,OAAO,GAAoD,UAAU;CACxN,IAAM,EAAE,aAAU,uBAAoB,GAChC,IAAuB,OAAO,KAAK,EAAS,CAAC,KAAK,MAAU;EAC9D,IAAM,IAAc,IAAoD,IAClE,IAAqB,IAAkF;AAC7G,MAAI,MAAgB,KAAM,QAAO;EACjC,IAAM,IAAa,EAAc,EAAY,IAAI,EAAc,EAAmB;AAClF,SAAO,EAAS,GAAS;GAC3B,EACI,IAAwB,KAAS,OAAO,QAAQ,EAAM,CAAC,QAAQ,GAAK,MAAQ;EAC9E,IAAI,CAAC,GAAK,KAAS;AAKnB,SAJI,MAAU,KAAA,MAGd,EAAI,KAAO,IAFA;IAIZ,EAAE,CAAC;AAkBN,QAAO,EAAG,GAAM,GAjBqB,GAAmF,kBAAsG,QAAQ,GAAK,MAAQ;EAC/O,IAAI,EAAE,OAAO,GAAS,WAAW,GAAa,GAAG,MAA2B;AAC5E,SAAO,OAAO,QAAQ,EAAuB,CAAC,OAAO,MAAQ;GACzD,IAAI,CAAC,GAAK,KAAS;AACnB,UAAO,MAAM,QAAQ,EAAM,GAAG,EAAM,SAAS;IACzC,GAAG;IACH,GAAG;IACN,CAAC,GAAK,GAAI;IACP,GAAG;IACH,GAAG;IACN,CAAE,OAAS;IACd,GAAG;GACD,GAAG;GACH;GACA;GACH,GAAG;IACL,EAAE,CAAC,EAC8D,GAAoD,OAAO,GAAoD,UAAU"}
@@ -17,4 +17,4 @@ function i(e = "gds") {
17
17
  //#endregion
18
18
  export { i, e as n, t as r, n as t };
19
19
 
20
- //# sourceMappingURL=dom-17XgfxMq.js.map
20
+ //# sourceMappingURL=dom-DkPgnDHP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom-17XgfxMq.js","names":[],"sources":["../src/utils/dom.ts"],"sourcesContent":["// dom utilities — keyboard, event, and element helpers\n\n// check if keyboard event should trigger click (Enter or Space)\nexport function isActivationKey(e: React.KeyboardEvent): boolean {\n return e.key === 'Enter' || e.key === ' '\n}\n\n// merge multiple refs into one callback ref\nexport function mergeRefs<T>(\n ...refs: (React.Ref<T> | undefined)[]\n): React.RefCallback<T> {\n return (value) => {\n for (const ref of refs) {\n if (ref === undefined || ref === null) continue\n if (typeof ref === 'function') {\n ref(value)\n } else {\n ;(ref as React.MutableRefObject<T | null>).current = value\n }\n }\n }\n}\n\n// clamp a number between min and max (immutable)\nexport function clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max)\n}\n\n// generate a unique id with optional prefix\nlet counter = 0\nexport function uid(prefix = 'gds'): string {\n counter += 1\n return `${prefix}-${counter}`\n}\n"],"mappings":";AAGA,SAAgB,EAAgB,GAAiC;AAC/D,QAAO,EAAE,QAAQ,WAAW,EAAE,QAAQ;;AAIxC,SAAgB,EACd,GAAG,GACmB;AACtB,SAAQ,MAAU;AAChB,OAAK,IAAM,KAAO,EACZ,MAA6B,SAC7B,OAAO,KAAQ,aACjB,EAAI,EAAM,GAER,EAAyC,UAAU;;;AAO7D,SAAgB,EAAM,GAAe,GAAa,GAAqB;AACrE,QAAO,KAAK,IAAI,KAAK,IAAI,GAAO,EAAI,EAAE,EAAI;;AAI5C,IAAI,IAAU;AACd,SAAgB,EAAI,IAAS,OAAe;AAE1C,QADA,KAAW,GACJ,GAAG,EAAO,GAAG"}
1
+ {"version":3,"file":"dom-DkPgnDHP.js","names":[],"sources":["../src/utils/dom.ts"],"sourcesContent":["// dom utilities — keyboard, event, and element helpers\n\n// check if keyboard event should trigger click (Enter or Space)\nexport function isActivationKey(e: React.KeyboardEvent): boolean {\n return e.key === 'Enter' || e.key === ' '\n}\n\n// merge multiple refs into one callback ref\nexport function mergeRefs<T>(\n ...refs: (React.Ref<T> | undefined)[]\n): React.RefCallback<T> {\n return (value) => {\n for (const ref of refs) {\n if (ref === undefined || ref === null) continue\n if (typeof ref === 'function') {\n ref(value)\n } else {\n ;(ref as React.MutableRefObject<T | null>).current = value\n }\n }\n }\n}\n\n// clamp a number between min and max (immutable)\nexport function clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max)\n}\n\n// generate a unique id with optional prefix\nlet counter = 0\nexport function uid(prefix = 'gds'): string {\n counter += 1\n return `${prefix}-${counter}`\n}\n"],"mappings":";AAGA,SAAgB,EAAgB,GAAiC;AAC/D,QAAO,EAAE,QAAQ,WAAW,EAAE,QAAQ;;AAIxC,SAAgB,EACd,GAAG,GACmB;AACtB,SAAQ,MAAU;AAChB,OAAK,IAAM,KAAO,EACZ,MAA6B,SAC7B,OAAO,KAAQ,aACjB,EAAI,EAAM,GAER,EAAyC,UAAU;;;AAO7D,SAAgB,EAAM,GAAe,GAAa,GAAqB;AACrE,QAAO,KAAK,IAAI,KAAK,IAAI,GAAO,EAAI,EAAE,EAAI;;AAI5C,IAAI,IAAU;AACd,SAAgB,EAAI,IAAS,OAAe;AAE1C,QADA,KAAW,GACJ,GAAG,EAAO,GAAG"}
@@ -0,0 +1,11 @@
1
+ export type { AssembledEmail, ComposerBlock, EmailComposerHandle, EmailComposerMode, EmailComposerProps, } from '../l5-organisms/email-composer';
2
+ export { EmailComposer } from '../l5-organisms/email-composer';
3
+ export type { EmailAiAnalysis, EmailAttachment, EmailMessage, EmailThreadProps, } from '../l5-organisms/email-thread';
4
+ export { EmailThread } from '../l5-organisms/email-thread';
5
+ export type { MarkdownEditorProps } from '../l5-organisms/markdown-editor';
6
+ export { MarkdownEditor } from '../l5-organisms/markdown-editor';
7
+ export type { MarkdownPreviewProps } from '../l5-organisms/markdown-preview';
8
+ export { MarkdownPreview } from '../l5-organisms/markdown-preview';
9
+ export type { RichTextEditorHandle, RichTextEditorProps, ToolbarItem, } from '../l5-organisms/rich-text-editor';
10
+ export { RichTextEditor } from '../l5-organisms/rich-text-editor';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,YAAY,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACZ,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA"}