@tomny-dev/uzi 0.6.3 → 0.7.0-pr.78.214.1.87d1ede

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 (118) hide show
  1. package/dist/components/conversation/Conversation.d.ts +18 -0
  2. package/dist/components/conversation/Conversation.d.ts.map +1 -0
  3. package/dist/components/conversation/Conversation.test.d.ts +2 -0
  4. package/dist/components/conversation/Conversation.test.d.ts.map +1 -0
  5. package/dist/components/multi-select/MultiSelect.d.ts +9 -0
  6. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  7. package/dist/components/multi-select/MultiSelect.test.d.ts +2 -0
  8. package/dist/components/multi-select/MultiSelect.test.d.ts.map +1 -0
  9. package/dist/index.cjs +19 -11
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +13 -12
  13. package/dist/index26.js +10 -2
  14. package/dist/index26.js.map +1 -1
  15. package/dist/index27.cjs +13 -1
  16. package/dist/index27.cjs.map +1 -1
  17. package/dist/index27.js +74 -37
  18. package/dist/index27.js.map +1 -1
  19. package/dist/index28.cjs +74 -37
  20. package/dist/index28.cjs.map +1 -1
  21. package/dist/index53.js +26 -16
  22. package/dist/index53.js.map +1 -1
  23. package/dist/index54.cjs +37 -20
  24. package/dist/index54.cjs.map +1 -1
  25. package/dist/index54.js +57 -23
  26. package/dist/index54.js.map +1 -1
  27. package/dist/index55.cjs +63 -24
  28. package/dist/index55.cjs.map +1 -1
  29. package/dist/index55.js +16 -16
  30. package/dist/index55.js.map +1 -1
  31. package/dist/index56.cjs +19 -20
  32. package/dist/index56.cjs.map +1 -1
  33. package/dist/index56.js +24 -21
  34. package/dist/index56.js.map +1 -1
  35. package/dist/index57.cjs +25 -22
  36. package/dist/index57.cjs.map +1 -1
  37. package/dist/index57.js +17 -10
  38. package/dist/index57.js.map +1 -1
  39. package/dist/index58.cjs +23 -11
  40. package/dist/index58.cjs.map +1 -1
  41. package/dist/index58.js +25 -14
  42. package/dist/index58.js.map +1 -1
  43. package/dist/index59.cjs +25 -13
  44. package/dist/index59.cjs.map +1 -1
  45. package/dist/index59.js +10 -11
  46. package/dist/index59.js.map +1 -1
  47. package/dist/index60.cjs +11 -13
  48. package/dist/index60.cjs.map +1 -1
  49. package/dist/index60.js +13 -16
  50. package/dist/index60.js.map +1 -1
  51. package/dist/index61.cjs +13 -16
  52. package/dist/index61.cjs.map +1 -1
  53. package/dist/index61.js +10 -8
  54. package/dist/index61.js.map +1 -1
  55. package/dist/index62.cjs +11 -10
  56. package/dist/index62.cjs.map +1 -1
  57. package/dist/index62.js +15 -87
  58. package/dist/index62.js.map +1 -1
  59. package/dist/index63.cjs +15 -89
  60. package/dist/index63.cjs.map +1 -1
  61. package/dist/index63.js +9 -21
  62. package/dist/index63.js.map +1 -1
  63. package/dist/index64.cjs +12 -30
  64. package/dist/index64.cjs.map +1 -1
  65. package/dist/index64.js +89 -43
  66. package/dist/index64.js.map +1 -1
  67. package/dist/index65.cjs +88 -42
  68. package/dist/index65.cjs.map +1 -1
  69. package/dist/index65.js +14 -50
  70. package/dist/index65.js.map +1 -1
  71. package/dist/index66.cjs +15 -69
  72. package/dist/index66.cjs.map +1 -1
  73. package/dist/index66.js +25 -414
  74. package/dist/index66.js.map +1 -1
  75. package/dist/index67.cjs +25 -416
  76. package/dist/index67.cjs.map +1 -1
  77. package/dist/index67.js +56 -58
  78. package/dist/index67.js.map +1 -1
  79. package/dist/index68.cjs +82 -85
  80. package/dist/index68.cjs.map +1 -1
  81. package/dist/index68.js +419 -226
  82. package/dist/index68.js.map +1 -1
  83. package/dist/index69.cjs +420 -225
  84. package/dist/index69.cjs.map +1 -1
  85. package/dist/index69.js +58 -42
  86. package/dist/index69.js.map +1 -1
  87. package/dist/index70.cjs +85 -61
  88. package/dist/index70.cjs.map +1 -1
  89. package/dist/index70.js +236 -76
  90. package/dist/index70.js.map +1 -1
  91. package/dist/index71.cjs +235 -75
  92. package/dist/index71.cjs.map +1 -1
  93. package/dist/index71.js +42 -20
  94. package/dist/index71.js.map +1 -1
  95. package/dist/index72.cjs +60 -27
  96. package/dist/index72.cjs.map +1 -1
  97. package/dist/index72.js +73 -88
  98. package/dist/index72.js.map +1 -1
  99. package/dist/index73.cjs +73 -90
  100. package/dist/index73.cjs.map +1 -1
  101. package/dist/index73.js +17 -15
  102. package/dist/index73.js.map +1 -1
  103. package/dist/index74.cjs +22 -19
  104. package/dist/index74.cjs.map +1 -1
  105. package/dist/index74.js +85 -143
  106. package/dist/index74.js.map +1 -1
  107. package/dist/index75.cjs +87 -143
  108. package/dist/index75.cjs.map +1 -1
  109. package/dist/index75.js +23 -0
  110. package/dist/index75.js.map +1 -0
  111. package/dist/index76.cjs +31 -0
  112. package/dist/index76.cjs.map +1 -0
  113. package/dist/index76.js +159 -0
  114. package/dist/index76.js.map +1 -0
  115. package/dist/index77.cjs +161 -0
  116. package/dist/index77.cjs.map +1 -0
  117. package/dist/style.css +150 -0
  118. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index55.js","names":[],"sources":["../src/components/toolbar/toolbar.module.css"],"sourcesContent":[".toolbar {\n display: flex;\n min-width: 0;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--uzi-space-2, 0.5rem);\n border: 1px solid var(--uzi-border-subtle, var(--border));\n border-radius: var(--uzi-radius-md, 0.625rem);\n background: var(--uzi-surface-1, var(--panel));\n}\n\n.density-compact { padding: var(--uzi-space-2, 0.5rem); }\n\n.density-default {\n padding: var(--uzi-space-3, 0.75rem);\n gap: var(--uzi-space-3, 0.75rem);\n}\n\n.sticky {\n position: sticky;\n top: var(--uzi-toolbar-sticky-offset, 0);\n z-index: 20;\n background: color-mix(in srgb, var(--uzi-surface-1, var(--panel)) 90%, transparent);\n -webkit-backdrop-filter: blur(12px);\n backdrop-filter: blur(12px);\n}\n\n.group {\n display: flex;\n min-width: 0;\n align-items: center;\n gap: var(--uzi-space-2, 0.5rem);\n}\n\n.group + .group {\n margin-left: var(--uzi-space-1, 0.25rem);\n padding-left: var(--uzi-space-3, 0.75rem);\n border-left: 1px solid var(--uzi-border-subtle, var(--border));\n}\n\n.grow { flex: 1 1 16rem; }\n\n.label {\n flex: 0 0 auto;\n color: var(--uzi-text-secondary, var(--muted-foreground));\n font-size: var(--uzi-font-small, 0.8125rem);\n font-weight: 600;\n white-space: nowrap;\n}\n\n.controls {\n display: flex;\n min-width: 0;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--uzi-space-2, 0.5rem);\n}\n\n@media (max-width: 40rem) {\n .toolbar { align-items: stretch; }\n\n .group,\n .grow { flex: 1 1 100%; }\n\n .group + .group {\n margin-left: 0;\n padding-top: var(--uzi-space-2, 0.5rem);\n padding-left: 0;\n border-top: 1px solid var(--uzi-border-subtle, var(--border));\n border-left: 0;\n }\n\n .controls { flex: 1 1 auto; }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"index55.js","names":[],"sources":["../src/components/stat/stat.module.css"],"sourcesContent":[".stat {\n min-width: 0;\n display: grid;\n gap: 0.25rem;\n}\n\n.label {\n color: var(--uzi-text-secondary, var(--muted-foreground));\n font-size: var(--uzi-font-small, 0.8125rem);\n font-weight: 600;\n}\n\n.value {\n color: var(--uzi-text-primary, var(--foreground));\n font-size: var(--uzi-font-title, clamp(1.375rem, 2.5vw, 1.875rem));\n font-weight: 700;\n line-height: 1.15;\n}\n\n.detail {\n color: var(--uzi-text-muted, var(--muted-foreground));\n font-size: var(--uzi-font-small, 0.8125rem);\n line-height: 1.5;\n}\n\n.group {\n display: grid;\n gap: var(--uzi-space-4, 1rem);\n}\n\n.columns-1 { grid-template-columns: 1fr; }\n.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }\n.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }\n\n@media (max-width: 48rem) {\n .columns-3,\n .columns-4 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n@media (max-width: 32rem) {\n .columns-2,\n .columns-3,\n .columns-4 {\n grid-template-columns: 1fr;\n }\n}\n"],"mappings":""}
package/dist/index56.cjs CHANGED
@@ -1,27 +1,26 @@
1
- //#region src/components/toolbar/toolbar.module.css
2
- var toolbar = "uzi-toolbar-module__toolbar__IXW3o";
3
- var sticky = "uzi-toolbar-module__sticky__PxGot";
4
- var group = "uzi-toolbar-module__group__Cw0lk";
5
- var grow = "uzi-toolbar-module__grow__8oFpY";
6
- var label = "uzi-toolbar-module__label__H1fT1";
7
- var controls = "uzi-toolbar-module__controls__EOiOk";
8
- var toolbar_module_default = {
9
- toolbar,
10
- "density-compact": "uzi-toolbar-module__density-compact__qqXRT",
11
- "density-default": "uzi-toolbar-module__density-default__rGiHv",
12
- sticky,
13
- group,
14
- grow,
1
+ //#region src/components/stat/stat.module.css
2
+ var stat = "uzi-stat-module__stat__R4Ke6";
3
+ var label = "uzi-stat-module__label__MSJ0Q";
4
+ var value = "uzi-stat-module__value__nSd-e";
5
+ var detail = "uzi-stat-module__detail__eB2As";
6
+ var group = "uzi-stat-module__group__Hb6Bh";
7
+ var stat_module_default = {
8
+ stat,
15
9
  label,
16
- controls
10
+ value,
11
+ detail,
12
+ group,
13
+ "columns-1": "uzi-stat-module__columns-1__HYln2",
14
+ "columns-2": "uzi-stat-module__columns-2__SMKHs",
15
+ "columns-3": "uzi-stat-module__columns-3__97hX7",
16
+ "columns-4": "uzi-stat-module__columns-4__0eN97"
17
17
  };
18
18
  //#endregion
19
- exports.controls = controls;
20
- exports.default = toolbar_module_default;
19
+ exports.default = stat_module_default;
20
+ exports.detail = detail;
21
21
  exports.group = group;
22
- exports.grow = grow;
23
22
  exports.label = label;
24
- exports.sticky = sticky;
25
- exports.toolbar = toolbar;
23
+ exports.stat = stat;
24
+ exports.value = value;
26
25
 
27
26
  //# sourceMappingURL=index56.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index56.cjs","names":[],"sources":["../src/components/toolbar/toolbar.module.css"],"sourcesContent":[".toolbar {\n display: flex;\n min-width: 0;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--uzi-space-2, 0.5rem);\n border: 1px solid var(--uzi-border-subtle, var(--border));\n border-radius: var(--uzi-radius-md, 0.625rem);\n background: var(--uzi-surface-1, var(--panel));\n}\n\n.density-compact { padding: var(--uzi-space-2, 0.5rem); }\n\n.density-default {\n padding: var(--uzi-space-3, 0.75rem);\n gap: var(--uzi-space-3, 0.75rem);\n}\n\n.sticky {\n position: sticky;\n top: var(--uzi-toolbar-sticky-offset, 0);\n z-index: 20;\n background: color-mix(in srgb, var(--uzi-surface-1, var(--panel)) 90%, transparent);\n -webkit-backdrop-filter: blur(12px);\n backdrop-filter: blur(12px);\n}\n\n.group {\n display: flex;\n min-width: 0;\n align-items: center;\n gap: var(--uzi-space-2, 0.5rem);\n}\n\n.group + .group {\n margin-left: var(--uzi-space-1, 0.25rem);\n padding-left: var(--uzi-space-3, 0.75rem);\n border-left: 1px solid var(--uzi-border-subtle, var(--border));\n}\n\n.grow { flex: 1 1 16rem; }\n\n.label {\n flex: 0 0 auto;\n color: var(--uzi-text-secondary, var(--muted-foreground));\n font-size: var(--uzi-font-small, 0.8125rem);\n font-weight: 600;\n white-space: nowrap;\n}\n\n.controls {\n display: flex;\n min-width: 0;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--uzi-space-2, 0.5rem);\n}\n\n@media (max-width: 40rem) {\n .toolbar { align-items: stretch; }\n\n .group,\n .grow { flex: 1 1 100%; }\n\n .group + .group {\n margin-left: 0;\n padding-top: var(--uzi-space-2, 0.5rem);\n padding-left: 0;\n border-top: 1px solid var(--uzi-border-subtle, var(--border));\n border-left: 0;\n }\n\n .controls { flex: 1 1 auto; }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"index56.cjs","names":[],"sources":["../src/components/stat/stat.module.css"],"sourcesContent":[".stat {\n min-width: 0;\n display: grid;\n gap: 0.25rem;\n}\n\n.label {\n color: var(--uzi-text-secondary, var(--muted-foreground));\n font-size: var(--uzi-font-small, 0.8125rem);\n font-weight: 600;\n}\n\n.value {\n color: var(--uzi-text-primary, var(--foreground));\n font-size: var(--uzi-font-title, clamp(1.375rem, 2.5vw, 1.875rem));\n font-weight: 700;\n line-height: 1.15;\n}\n\n.detail {\n color: var(--uzi-text-muted, var(--muted-foreground));\n font-size: var(--uzi-font-small, 0.8125rem);\n line-height: 1.5;\n}\n\n.group {\n display: grid;\n gap: var(--uzi-space-4, 1rem);\n}\n\n.columns-1 { grid-template-columns: 1fr; }\n.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }\n.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }\n\n@media (max-width: 48rem) {\n .columns-3,\n .columns-4 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n@media (max-width: 32rem) {\n .columns-2,\n .columns-3,\n .columns-4 {\n grid-template-columns: 1fr;\n }\n}\n"],"mappings":""}
package/dist/index56.js CHANGED
@@ -1,32 +1,35 @@
1
1
  import { cx } from "./index3.js";
2
- import toolbar_module_default from "./index55.js";
2
+ import stat_module_default from "./index55.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
- //#region src/components/toolbar/Toolbar.tsx
5
- function Toolbar({ density = "compact", sticky = false, role, className, children, ...rest }) {
6
- return /* @__PURE__ */ jsx("div", {
7
- role,
8
- className: cx(toolbar_module_default.toolbar, toolbar_module_default[`density-${density}`], sticky && toolbar_module_default.sticky, className),
4
+ //#region src/components/stat/Stat.tsx
5
+ function Stat({ label, value, detail, className, ...rest }) {
6
+ return /* @__PURE__ */ jsxs("div", {
7
+ className: cx(stat_module_default.stat, className),
9
8
  ...rest,
10
- children
9
+ children: [
10
+ /* @__PURE__ */ jsx("div", {
11
+ className: stat_module_default.label,
12
+ children: label
13
+ }),
14
+ /* @__PURE__ */ jsx("div", {
15
+ className: stat_module_default.value,
16
+ children: value
17
+ }),
18
+ detail && /* @__PURE__ */ jsx("div", {
19
+ className: stat_module_default.detail,
20
+ children: detail
21
+ })
22
+ ]
11
23
  });
12
24
  }
13
- function ToolbarGroup({ label, grow = false, role, "aria-label": ariaLabel, className, children, ...rest }) {
14
- const groupLabel = ariaLabel ?? (typeof label === "string" ? label : void 0);
15
- return /* @__PURE__ */ jsxs("div", {
16
- role: role ?? (label != null || groupLabel != null ? "group" : void 0),
17
- "aria-label": groupLabel,
18
- className: cx(toolbar_module_default.group, grow && toolbar_module_default.grow, className),
25
+ function StatGroup({ columns = 3, className, children, ...rest }) {
26
+ return /* @__PURE__ */ jsx("div", {
27
+ className: cx(stat_module_default.group, stat_module_default[`columns-${columns}`], className),
19
28
  ...rest,
20
- children: [label != null && /* @__PURE__ */ jsx("span", {
21
- className: toolbar_module_default.label,
22
- children: label
23
- }), /* @__PURE__ */ jsx("div", {
24
- className: toolbar_module_default.controls,
25
- children
26
- })]
29
+ children
27
30
  });
28
31
  }
29
32
  //#endregion
30
- export { Toolbar, ToolbarGroup };
33
+ export { Stat, StatGroup };
31
34
 
32
35
  //# sourceMappingURL=index56.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index56.js","names":[],"sources":["../src/components/toolbar/Toolbar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./toolbar.module.css\";\n\nexport type ToolbarDensity = \"compact\" | \"default\";\n\nexport type ToolbarProps = HTMLAttributes<HTMLDivElement> & {\n density?: ToolbarDensity;\n sticky?: boolean;\n};\n\nexport function Toolbar({\n density = \"compact\",\n sticky = false,\n role,\n className,\n children,\n ...rest\n}: ToolbarProps) {\n return (\n <div\n role={role}\n className={cx(styles.toolbar, styles[`density-${density}`], sticky && styles.sticky, className)}\n {...rest}\n >\n {children}\n </div>\n );\n}\n\nexport type ToolbarGroupProps = HTMLAttributes<HTMLDivElement> & {\n label?: ReactNode;\n grow?: boolean;\n};\n\nexport function ToolbarGroup({\n label,\n grow = false,\n role,\n \"aria-label\": ariaLabel,\n className,\n children,\n ...rest\n}: ToolbarGroupProps) {\n const groupLabel = ariaLabel ?? (typeof label === \"string\" ? label : undefined);\n const groupRole = role ?? (label != null || groupLabel != null ? \"group\" : undefined);\n\n return (\n <div\n role={groupRole}\n aria-label={groupLabel}\n className={cx(styles.group, grow && styles.grow, className)}\n {...rest}\n >\n {label != null && <span className={styles.label}>{label}</span>}\n <div className={styles.controls}>{children}</div>\n </div>\n );\n}\n"],"mappings":";;;;AAWA,SAAgB,QAAQ,EACtB,UAAU,WACV,SAAS,OACT,MACA,WACA,UACA,GAAG,QACY;CACf,OACE,oBAAC,OAAD;EACQ;EACN,WAAW,GAAG,uBAAO,SAAS,uBAAO,WAAW,YAAY,UAAU,uBAAO,QAAQ,SAAS;EAC9F,GAAI;EAEH;CACE,CAAA;AAET;AAOA,SAAgB,aAAa,EAC3B,OACA,OAAO,OACP,MACA,cAAc,WACd,WACA,UACA,GAAG,QACiB;CACpB,MAAM,aAAa,cAAc,OAAO,UAAU,WAAW,QAAQ,KAAA;CAGrE,OACE,qBAAC,OAAD;EACE,MAJc,SAAS,SAAS,QAAQ,cAAc,OAAO,UAAU,KAAA;EAKvE,cAAY;EACZ,WAAW,GAAG,uBAAO,OAAO,QAAQ,uBAAO,MAAM,SAAS;EAC1D,GAAI;YAJN,CAMG,SAAS,QAAQ,oBAAC,QAAD;GAAM,WAAW,uBAAO;aAAQ;EAAY,CAAA,GAC9D,oBAAC,OAAD;GAAK,WAAW,uBAAO;GAAW;EAAc,CAAA,CAC7C;;AAET"}
1
+ {"version":3,"file":"index56.js","names":[],"sources":["../src/components/stat/Stat.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./stat.module.css\";\n\nexport type StatProps = HTMLAttributes<HTMLDivElement> & {\n label: ReactNode;\n value: ReactNode;\n detail?: ReactNode;\n};\n\nexport function Stat({ label, value, detail, className, ...rest }: StatProps) {\n return (\n <div className={cx(styles.stat, className)} {...rest}>\n <div className={styles.label}>{label}</div>\n <div className={styles.value}>{value}</div>\n {detail && <div className={styles.detail}>{detail}</div>}\n </div>\n );\n}\n\nexport type StatGroupProps = HTMLAttributes<HTMLDivElement> & {\n columns?: 1 | 2 | 3 | 4;\n};\n\nexport function StatGroup({ columns = 3, className, children, ...rest }: StatGroupProps) {\n return (\n <div\n className={cx(styles.group, styles[`columns-${columns}`], className)}\n {...rest}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;AAUA,SAAgB,KAAK,EAAE,OAAO,OAAO,QAAQ,WAAW,GAAG,QAAmB;CAC5E,OACE,qBAAC,OAAD;EAAK,WAAW,GAAG,oBAAO,MAAM,SAAS;EAAG,GAAI;YAAhD;GACE,oBAAC,OAAD;IAAK,WAAW,oBAAO;cAAQ;GAAW,CAAA;GAC1C,oBAAC,OAAD;IAAK,WAAW,oBAAO;cAAQ;GAAW,CAAA;GACzC,UAAU,oBAAC,OAAD;IAAK,WAAW,oBAAO;cAAS;GAAY,CAAA;EACpD;;AAET;AAMA,SAAgB,UAAU,EAAE,UAAU,GAAG,WAAW,UAAU,GAAG,QAAwB;CACvF,OACE,oBAAC,OAAD;EACE,WAAW,GAAG,oBAAO,OAAO,oBAAO,WAAW,YAAY,SAAS;EACnE,GAAI;EAEH;CACE,CAAA;AAET"}
package/dist/index57.cjs CHANGED
@@ -1,33 +1,36 @@
1
1
  const require_cx = require("./index4.cjs");
2
- const require_toolbar_module = require("./index56.cjs");
2
+ const require_stat_module = require("./index56.cjs");
3
3
  let react_jsx_runtime = require("react/jsx-runtime");
4
- //#region src/components/toolbar/Toolbar.tsx
5
- function Toolbar({ density = "compact", sticky = false, role, className, children, ...rest }) {
6
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
7
- role,
8
- className: require_cx.cx(require_toolbar_module.default.toolbar, require_toolbar_module.default[`density-${density}`], sticky && require_toolbar_module.default.sticky, className),
4
+ //#region src/components/stat/Stat.tsx
5
+ function Stat({ label, value, detail, className, ...rest }) {
6
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
7
+ className: require_cx.cx(require_stat_module.default.stat, className),
9
8
  ...rest,
10
- children
9
+ children: [
10
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
11
+ className: require_stat_module.default.label,
12
+ children: label
13
+ }),
14
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
15
+ className: require_stat_module.default.value,
16
+ children: value
17
+ }),
18
+ detail && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
19
+ className: require_stat_module.default.detail,
20
+ children: detail
21
+ })
22
+ ]
11
23
  });
12
24
  }
13
- function ToolbarGroup({ label, grow = false, role, "aria-label": ariaLabel, className, children, ...rest }) {
14
- const groupLabel = ariaLabel ?? (typeof label === "string" ? label : void 0);
15
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
16
- role: role ?? (label != null || groupLabel != null ? "group" : void 0),
17
- "aria-label": groupLabel,
18
- className: require_cx.cx(require_toolbar_module.default.group, grow && require_toolbar_module.default.grow, className),
25
+ function StatGroup({ columns = 3, className, children, ...rest }) {
26
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
27
+ className: require_cx.cx(require_stat_module.default.group, require_stat_module.default[`columns-${columns}`], className),
19
28
  ...rest,
20
- children: [label != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
21
- className: require_toolbar_module.default.label,
22
- children: label
23
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
24
- className: require_toolbar_module.default.controls,
25
- children
26
- })]
29
+ children
27
30
  });
28
31
  }
29
32
  //#endregion
30
- exports.Toolbar = Toolbar;
31
- exports.ToolbarGroup = ToolbarGroup;
33
+ exports.Stat = Stat;
34
+ exports.StatGroup = StatGroup;
32
35
 
33
36
  //# sourceMappingURL=index57.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index57.cjs","names":[],"sources":["../src/components/toolbar/Toolbar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./toolbar.module.css\";\n\nexport type ToolbarDensity = \"compact\" | \"default\";\n\nexport type ToolbarProps = HTMLAttributes<HTMLDivElement> & {\n density?: ToolbarDensity;\n sticky?: boolean;\n};\n\nexport function Toolbar({\n density = \"compact\",\n sticky = false,\n role,\n className,\n children,\n ...rest\n}: ToolbarProps) {\n return (\n <div\n role={role}\n className={cx(styles.toolbar, styles[`density-${density}`], sticky && styles.sticky, className)}\n {...rest}\n >\n {children}\n </div>\n );\n}\n\nexport type ToolbarGroupProps = HTMLAttributes<HTMLDivElement> & {\n label?: ReactNode;\n grow?: boolean;\n};\n\nexport function ToolbarGroup({\n label,\n grow = false,\n role,\n \"aria-label\": ariaLabel,\n className,\n children,\n ...rest\n}: ToolbarGroupProps) {\n const groupLabel = ariaLabel ?? (typeof label === \"string\" ? label : undefined);\n const groupRole = role ?? (label != null || groupLabel != null ? \"group\" : undefined);\n\n return (\n <div\n role={groupRole}\n aria-label={groupLabel}\n className={cx(styles.group, grow && styles.grow, className)}\n {...rest}\n >\n {label != null && <span className={styles.label}>{label}</span>}\n <div className={styles.controls}>{children}</div>\n </div>\n );\n}\n"],"mappings":";;;;AAWA,SAAgB,QAAQ,EACtB,UAAU,WACV,SAAS,OACT,MACA,WACA,UACA,GAAG,QACY;CACf,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACQ;EACN,WAAW,WAAA,GAAG,uBAAA,QAAO,SAAS,uBAAA,QAAO,WAAW,YAAY,UAAU,uBAAA,QAAO,QAAQ,SAAS;EAC9F,GAAI;EAEH;CACE,CAAA;AAET;AAOA,SAAgB,aAAa,EAC3B,OACA,OAAO,OACP,MACA,cAAc,WACd,WACA,UACA,GAAG,QACiB;CACpB,MAAM,aAAa,cAAc,OAAO,UAAU,WAAW,QAAQ,KAAA;CAGrE,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,MAJc,SAAS,SAAS,QAAQ,cAAc,OAAO,UAAU,KAAA;EAKvE,cAAY;EACZ,WAAW,WAAA,GAAG,uBAAA,QAAO,OAAO,QAAQ,uBAAA,QAAO,MAAM,SAAS;EAC1D,GAAI;YAJN,CAMG,SAAS,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAW,uBAAA,QAAO;aAAQ;EAAY,CAAA,GAC9D,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,WAAW,uBAAA,QAAO;GAAW;EAAc,CAAA,CAC7C;;AAET"}
1
+ {"version":3,"file":"index57.cjs","names":[],"sources":["../src/components/stat/Stat.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./stat.module.css\";\n\nexport type StatProps = HTMLAttributes<HTMLDivElement> & {\n label: ReactNode;\n value: ReactNode;\n detail?: ReactNode;\n};\n\nexport function Stat({ label, value, detail, className, ...rest }: StatProps) {\n return (\n <div className={cx(styles.stat, className)} {...rest}>\n <div className={styles.label}>{label}</div>\n <div className={styles.value}>{value}</div>\n {detail && <div className={styles.detail}>{detail}</div>}\n </div>\n );\n}\n\nexport type StatGroupProps = HTMLAttributes<HTMLDivElement> & {\n columns?: 1 | 2 | 3 | 4;\n};\n\nexport function StatGroup({ columns = 3, className, children, ...rest }: StatGroupProps) {\n return (\n <div\n className={cx(styles.group, styles[`columns-${columns}`], className)}\n {...rest}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;AAUA,SAAgB,KAAK,EAAE,OAAO,OAAO,QAAQ,WAAW,GAAG,QAAmB;CAC5E,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAW,WAAA,GAAG,oBAAA,QAAO,MAAM,SAAS;EAAG,GAAI;YAAhD;GACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAW,oBAAA,QAAO;cAAQ;GAAW,CAAA;GAC1C,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAW,oBAAA,QAAO;cAAQ;GAAW,CAAA;GACzC,UAAU,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAW,oBAAA,QAAO;cAAS;GAAY,CAAA;EACpD;;AAET;AAMA,SAAgB,UAAU,EAAE,UAAU,GAAG,WAAW,UAAU,GAAG,QAAwB;CACvF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,WAAW,WAAA,GAAG,oBAAA,QAAO,OAAO,oBAAA,QAAO,WAAW,YAAY,SAAS;EACnE,GAAI;EAEH;CACE,CAAA;AAET"}
package/dist/index57.js CHANGED
@@ -1,14 +1,21 @@
1
- //#region src/components/skeleton/skeleton.module.css
2
- var skeleton = "uzi-skeleton-module__skeleton__fula5";
3
- var skeleton_module_default = {
4
- skeleton,
5
- "skeleton-pulse": "uzi-skeleton-module__skeleton-pulse__Yp45W",
6
- "radius-sm": "uzi-skeleton-module__radius-sm__FdccD",
7
- "radius-md": "uzi-skeleton-module__radius-md__zH3RE",
8
- "radius-lg": "uzi-skeleton-module__radius-lg__YVrHw",
9
- "radius-full": "uzi-skeleton-module__radius-full__5o2m0"
1
+ //#region src/components/toolbar/toolbar.module.css
2
+ var toolbar = "uzi-toolbar-module__toolbar__IXW3o";
3
+ var sticky = "uzi-toolbar-module__sticky__PxGot";
4
+ var group = "uzi-toolbar-module__group__Cw0lk";
5
+ var grow = "uzi-toolbar-module__grow__8oFpY";
6
+ var label = "uzi-toolbar-module__label__H1fT1";
7
+ var controls = "uzi-toolbar-module__controls__EOiOk";
8
+ var toolbar_module_default = {
9
+ toolbar,
10
+ "density-compact": "uzi-toolbar-module__density-compact__qqXRT",
11
+ "density-default": "uzi-toolbar-module__density-default__rGiHv",
12
+ sticky,
13
+ group,
14
+ grow,
15
+ label,
16
+ controls
10
17
  };
11
18
  //#endregion
12
- export { skeleton_module_default as default, skeleton };
19
+ export { controls, toolbar_module_default as default, group, grow, label, sticky, toolbar };
13
20
 
14
21
  //# sourceMappingURL=index57.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index57.js","names":[],"sources":["../src/components/skeleton/skeleton.module.css"],"sourcesContent":[".skeleton {\n background: color-mix(in srgb, var(--muted-foreground) 14%, var(--background));\n animation: skeleton-pulse 1.6s ease-in-out infinite;\n}\n\n@keyframes skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.45; }\n}\n\n.radius-sm { border-radius: 4px; }\n.radius-md { border-radius: 8px; }\n.radius-lg { border-radius: 12px; }\n.radius-full { border-radius: 9999px; }\n"],"mappings":""}
1
+ {"version":3,"file":"index57.js","names":[],"sources":["../src/components/toolbar/toolbar.module.css"],"sourcesContent":[".toolbar {\n display: flex;\n min-width: 0;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--uzi-space-2, 0.5rem);\n border: 1px solid var(--uzi-border-subtle, var(--border));\n border-radius: var(--uzi-radius-md, 0.625rem);\n background: var(--uzi-surface-1, var(--panel));\n}\n\n.density-compact { padding: var(--uzi-space-2, 0.5rem); }\n\n.density-default {\n padding: var(--uzi-space-3, 0.75rem);\n gap: var(--uzi-space-3, 0.75rem);\n}\n\n.sticky {\n position: sticky;\n top: var(--uzi-toolbar-sticky-offset, 0);\n z-index: 20;\n background: color-mix(in srgb, var(--uzi-surface-1, var(--panel)) 90%, transparent);\n -webkit-backdrop-filter: blur(12px);\n backdrop-filter: blur(12px);\n}\n\n.group {\n display: flex;\n min-width: 0;\n align-items: center;\n gap: var(--uzi-space-2, 0.5rem);\n}\n\n.group + .group {\n margin-left: var(--uzi-space-1, 0.25rem);\n padding-left: var(--uzi-space-3, 0.75rem);\n border-left: 1px solid var(--uzi-border-subtle, var(--border));\n}\n\n.grow { flex: 1 1 16rem; }\n\n.label {\n flex: 0 0 auto;\n color: var(--uzi-text-secondary, var(--muted-foreground));\n font-size: var(--uzi-font-small, 0.8125rem);\n font-weight: 600;\n white-space: nowrap;\n}\n\n.controls {\n display: flex;\n min-width: 0;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--uzi-space-2, 0.5rem);\n}\n\n@media (max-width: 40rem) {\n .toolbar { align-items: stretch; }\n\n .group,\n .grow { flex: 1 1 100%; }\n\n .group + .group {\n margin-left: 0;\n padding-top: var(--uzi-space-2, 0.5rem);\n padding-left: 0;\n border-top: 1px solid var(--uzi-border-subtle, var(--border));\n border-left: 0;\n }\n\n .controls { flex: 1 1 auto; }\n}\n"],"mappings":""}
package/dist/index58.cjs CHANGED
@@ -1,15 +1,27 @@
1
- //#region src/components/skeleton/skeleton.module.css
2
- var skeleton = "uzi-skeleton-module__skeleton__fula5";
3
- var skeleton_module_default = {
4
- skeleton,
5
- "skeleton-pulse": "uzi-skeleton-module__skeleton-pulse__Yp45W",
6
- "radius-sm": "uzi-skeleton-module__radius-sm__FdccD",
7
- "radius-md": "uzi-skeleton-module__radius-md__zH3RE",
8
- "radius-lg": "uzi-skeleton-module__radius-lg__YVrHw",
9
- "radius-full": "uzi-skeleton-module__radius-full__5o2m0"
1
+ //#region src/components/toolbar/toolbar.module.css
2
+ var toolbar = "uzi-toolbar-module__toolbar__IXW3o";
3
+ var sticky = "uzi-toolbar-module__sticky__PxGot";
4
+ var group = "uzi-toolbar-module__group__Cw0lk";
5
+ var grow = "uzi-toolbar-module__grow__8oFpY";
6
+ var label = "uzi-toolbar-module__label__H1fT1";
7
+ var controls = "uzi-toolbar-module__controls__EOiOk";
8
+ var toolbar_module_default = {
9
+ toolbar,
10
+ "density-compact": "uzi-toolbar-module__density-compact__qqXRT",
11
+ "density-default": "uzi-toolbar-module__density-default__rGiHv",
12
+ sticky,
13
+ group,
14
+ grow,
15
+ label,
16
+ controls
10
17
  };
11
18
  //#endregion
12
- exports.default = skeleton_module_default;
13
- exports.skeleton = skeleton;
19
+ exports.controls = controls;
20
+ exports.default = toolbar_module_default;
21
+ exports.group = group;
22
+ exports.grow = grow;
23
+ exports.label = label;
24
+ exports.sticky = sticky;
25
+ exports.toolbar = toolbar;
14
26
 
15
27
  //# sourceMappingURL=index58.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index58.cjs","names":[],"sources":["../src/components/skeleton/skeleton.module.css"],"sourcesContent":[".skeleton {\n background: color-mix(in srgb, var(--muted-foreground) 14%, var(--background));\n animation: skeleton-pulse 1.6s ease-in-out infinite;\n}\n\n@keyframes skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.45; }\n}\n\n.radius-sm { border-radius: 4px; }\n.radius-md { border-radius: 8px; }\n.radius-lg { border-radius: 12px; }\n.radius-full { border-radius: 9999px; }\n"],"mappings":""}
1
+ {"version":3,"file":"index58.cjs","names":[],"sources":["../src/components/toolbar/toolbar.module.css"],"sourcesContent":[".toolbar {\n display: flex;\n min-width: 0;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--uzi-space-2, 0.5rem);\n border: 1px solid var(--uzi-border-subtle, var(--border));\n border-radius: var(--uzi-radius-md, 0.625rem);\n background: var(--uzi-surface-1, var(--panel));\n}\n\n.density-compact { padding: var(--uzi-space-2, 0.5rem); }\n\n.density-default {\n padding: var(--uzi-space-3, 0.75rem);\n gap: var(--uzi-space-3, 0.75rem);\n}\n\n.sticky {\n position: sticky;\n top: var(--uzi-toolbar-sticky-offset, 0);\n z-index: 20;\n background: color-mix(in srgb, var(--uzi-surface-1, var(--panel)) 90%, transparent);\n -webkit-backdrop-filter: blur(12px);\n backdrop-filter: blur(12px);\n}\n\n.group {\n display: flex;\n min-width: 0;\n align-items: center;\n gap: var(--uzi-space-2, 0.5rem);\n}\n\n.group + .group {\n margin-left: var(--uzi-space-1, 0.25rem);\n padding-left: var(--uzi-space-3, 0.75rem);\n border-left: 1px solid var(--uzi-border-subtle, var(--border));\n}\n\n.grow { flex: 1 1 16rem; }\n\n.label {\n flex: 0 0 auto;\n color: var(--uzi-text-secondary, var(--muted-foreground));\n font-size: var(--uzi-font-small, 0.8125rem);\n font-weight: 600;\n white-space: nowrap;\n}\n\n.controls {\n display: flex;\n min-width: 0;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--uzi-space-2, 0.5rem);\n}\n\n@media (max-width: 40rem) {\n .toolbar { align-items: stretch; }\n\n .group,\n .grow { flex: 1 1 100%; }\n\n .group + .group {\n margin-left: 0;\n padding-top: var(--uzi-space-2, 0.5rem);\n padding-left: 0;\n border-top: 1px solid var(--uzi-border-subtle, var(--border));\n border-left: 0;\n }\n\n .controls { flex: 1 1 auto; }\n}\n"],"mappings":""}
package/dist/index58.js CHANGED
@@ -1,21 +1,32 @@
1
- "use client";
2
1
  import { cx } from "./index3.js";
3
- import skeleton_module_default from "./index57.js";
4
- import { jsx } from "react/jsx-runtime";
5
- //#region src/components/skeleton/Skeleton.tsx
6
- function Skeleton({ width, height, radius = "md", className, style, ...rest }) {
2
+ import toolbar_module_default from "./index57.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/components/toolbar/Toolbar.tsx
5
+ function Toolbar({ density = "compact", sticky = false, role, className, children, ...rest }) {
7
6
  return /* @__PURE__ */ jsx("div", {
8
- className: cx(skeleton_module_default.skeleton, skeleton_module_default[`radius-${radius}`], className),
9
- style: {
10
- width,
11
- height,
12
- ...style
13
- },
14
- "aria-hidden": "true",
15
- ...rest
7
+ role,
8
+ className: cx(toolbar_module_default.toolbar, toolbar_module_default[`density-${density}`], sticky && toolbar_module_default.sticky, className),
9
+ ...rest,
10
+ children
11
+ });
12
+ }
13
+ function ToolbarGroup({ label, grow = false, role, "aria-label": ariaLabel, className, children, ...rest }) {
14
+ const groupLabel = ariaLabel ?? (typeof label === "string" ? label : void 0);
15
+ return /* @__PURE__ */ jsxs("div", {
16
+ role: role ?? (label != null || groupLabel != null ? "group" : void 0),
17
+ "aria-label": groupLabel,
18
+ className: cx(toolbar_module_default.group, grow && toolbar_module_default.grow, className),
19
+ ...rest,
20
+ children: [label != null && /* @__PURE__ */ jsx("span", {
21
+ className: toolbar_module_default.label,
22
+ children: label
23
+ }), /* @__PURE__ */ jsx("div", {
24
+ className: toolbar_module_default.controls,
25
+ children
26
+ })]
16
27
  });
17
28
  }
18
29
  //#endregion
19
- export { Skeleton };
30
+ export { Toolbar, ToolbarGroup };
20
31
 
21
32
  //# sourceMappingURL=index58.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index58.js","names":[],"sources":["../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["\"use client\";\n\nimport type { HTMLAttributes } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./skeleton.module.css\";\n\nexport type SkeletonProps = HTMLAttributes<HTMLDivElement> & {\n /** Width as a CSS value. */\n width?: string;\n /** Height as a CSS value. */\n height?: string;\n /** Border radius preset. Defaults to \"md\". */\n radius?: \"sm\" | \"md\" | \"lg\" | \"full\";\n};\n\nexport function Skeleton({\n width,\n height,\n radius = \"md\",\n className,\n style,\n ...rest\n}: SkeletonProps) {\n return (\n <div\n className={cx(styles.skeleton, styles[`radius-${radius}`], className)}\n style={{ width, height, ...style }}\n aria-hidden=\"true\"\n {...rest}\n />\n );\n}\n"],"mappings":";;;;;AAeA,SAAgB,SAAS,EACvB,OACA,QACA,SAAS,MACT,WACA,OACA,GAAG,QACa;CAChB,OACE,oBAAC,OAAD;EACE,WAAW,GAAG,wBAAO,UAAU,wBAAO,UAAU,WAAW,SAAS;EACpE,OAAO;GAAE;GAAO;GAAQ,GAAG;EAAM;EACjC,eAAY;EACZ,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index58.js","names":[],"sources":["../src/components/toolbar/Toolbar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./toolbar.module.css\";\n\nexport type ToolbarDensity = \"compact\" | \"default\";\n\nexport type ToolbarProps = HTMLAttributes<HTMLDivElement> & {\n density?: ToolbarDensity;\n sticky?: boolean;\n};\n\nexport function Toolbar({\n density = \"compact\",\n sticky = false,\n role,\n className,\n children,\n ...rest\n}: ToolbarProps) {\n return (\n <div\n role={role}\n className={cx(styles.toolbar, styles[`density-${density}`], sticky && styles.sticky, className)}\n {...rest}\n >\n {children}\n </div>\n );\n}\n\nexport type ToolbarGroupProps = HTMLAttributes<HTMLDivElement> & {\n label?: ReactNode;\n grow?: boolean;\n};\n\nexport function ToolbarGroup({\n label,\n grow = false,\n role,\n \"aria-label\": ariaLabel,\n className,\n children,\n ...rest\n}: ToolbarGroupProps) {\n const groupLabel = ariaLabel ?? (typeof label === \"string\" ? label : undefined);\n const groupRole = role ?? (label != null || groupLabel != null ? \"group\" : undefined);\n\n return (\n <div\n role={groupRole}\n aria-label={groupLabel}\n className={cx(styles.group, grow && styles.grow, className)}\n {...rest}\n >\n {label != null && <span className={styles.label}>{label}</span>}\n <div className={styles.controls}>{children}</div>\n </div>\n );\n}\n"],"mappings":";;;;AAWA,SAAgB,QAAQ,EACtB,UAAU,WACV,SAAS,OACT,MACA,WACA,UACA,GAAG,QACY;CACf,OACE,oBAAC,OAAD;EACQ;EACN,WAAW,GAAG,uBAAO,SAAS,uBAAO,WAAW,YAAY,UAAU,uBAAO,QAAQ,SAAS;EAC9F,GAAI;EAEH;CACE,CAAA;AAET;AAOA,SAAgB,aAAa,EAC3B,OACA,OAAO,OACP,MACA,cAAc,WACd,WACA,UACA,GAAG,QACiB;CACpB,MAAM,aAAa,cAAc,OAAO,UAAU,WAAW,QAAQ,KAAA;CAGrE,OACE,qBAAC,OAAD;EACE,MAJc,SAAS,SAAS,QAAQ,cAAc,OAAO,UAAU,KAAA;EAKvE,cAAY;EACZ,WAAW,GAAG,uBAAO,OAAO,QAAQ,uBAAO,MAAM,SAAS;EAC1D,GAAI;YAJN,CAMG,SAAS,QAAQ,oBAAC,QAAD;GAAM,WAAW,uBAAO;aAAQ;EAAY,CAAA,GAC9D,oBAAC,OAAD;GAAK,WAAW,uBAAO;GAAW;EAAc,CAAA,CAC7C;;AAET"}
package/dist/index59.cjs CHANGED
@@ -1,21 +1,33 @@
1
- "use client";
2
1
  const require_cx = require("./index4.cjs");
3
- const require_skeleton_module = require("./index58.cjs");
2
+ const require_toolbar_module = require("./index58.cjs");
4
3
  let react_jsx_runtime = require("react/jsx-runtime");
5
- //#region src/components/skeleton/Skeleton.tsx
6
- function Skeleton({ width, height, radius = "md", className, style, ...rest }) {
4
+ //#region src/components/toolbar/Toolbar.tsx
5
+ function Toolbar({ density = "compact", sticky = false, role, className, children, ...rest }) {
7
6
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8
- className: require_cx.cx(require_skeleton_module.default.skeleton, require_skeleton_module.default[`radius-${radius}`], className),
9
- style: {
10
- width,
11
- height,
12
- ...style
13
- },
14
- "aria-hidden": "true",
15
- ...rest
7
+ role,
8
+ className: require_cx.cx(require_toolbar_module.default.toolbar, require_toolbar_module.default[`density-${density}`], sticky && require_toolbar_module.default.sticky, className),
9
+ ...rest,
10
+ children
11
+ });
12
+ }
13
+ function ToolbarGroup({ label, grow = false, role, "aria-label": ariaLabel, className, children, ...rest }) {
14
+ const groupLabel = ariaLabel ?? (typeof label === "string" ? label : void 0);
15
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
16
+ role: role ?? (label != null || groupLabel != null ? "group" : void 0),
17
+ "aria-label": groupLabel,
18
+ className: require_cx.cx(require_toolbar_module.default.group, grow && require_toolbar_module.default.grow, className),
19
+ ...rest,
20
+ children: [label != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
21
+ className: require_toolbar_module.default.label,
22
+ children: label
23
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
24
+ className: require_toolbar_module.default.controls,
25
+ children
26
+ })]
16
27
  });
17
28
  }
18
29
  //#endregion
19
- exports.Skeleton = Skeleton;
30
+ exports.Toolbar = Toolbar;
31
+ exports.ToolbarGroup = ToolbarGroup;
20
32
 
21
33
  //# sourceMappingURL=index59.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index59.cjs","names":[],"sources":["../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["\"use client\";\n\nimport type { HTMLAttributes } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./skeleton.module.css\";\n\nexport type SkeletonProps = HTMLAttributes<HTMLDivElement> & {\n /** Width as a CSS value. */\n width?: string;\n /** Height as a CSS value. */\n height?: string;\n /** Border radius preset. Defaults to \"md\". */\n radius?: \"sm\" | \"md\" | \"lg\" | \"full\";\n};\n\nexport function Skeleton({\n width,\n height,\n radius = \"md\",\n className,\n style,\n ...rest\n}: SkeletonProps) {\n return (\n <div\n className={cx(styles.skeleton, styles[`radius-${radius}`], className)}\n style={{ width, height, ...style }}\n aria-hidden=\"true\"\n {...rest}\n />\n );\n}\n"],"mappings":";;;;;AAeA,SAAgB,SAAS,EACvB,OACA,QACA,SAAS,MACT,WACA,OACA,GAAG,QACa;CAChB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,WAAW,WAAA,GAAG,wBAAA,QAAO,UAAU,wBAAA,QAAO,UAAU,WAAW,SAAS;EACpE,OAAO;GAAE;GAAO;GAAQ,GAAG;EAAM;EACjC,eAAY;EACZ,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index59.cjs","names":[],"sources":["../src/components/toolbar/Toolbar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./toolbar.module.css\";\n\nexport type ToolbarDensity = \"compact\" | \"default\";\n\nexport type ToolbarProps = HTMLAttributes<HTMLDivElement> & {\n density?: ToolbarDensity;\n sticky?: boolean;\n};\n\nexport function Toolbar({\n density = \"compact\",\n sticky = false,\n role,\n className,\n children,\n ...rest\n}: ToolbarProps) {\n return (\n <div\n role={role}\n className={cx(styles.toolbar, styles[`density-${density}`], sticky && styles.sticky, className)}\n {...rest}\n >\n {children}\n </div>\n );\n}\n\nexport type ToolbarGroupProps = HTMLAttributes<HTMLDivElement> & {\n label?: ReactNode;\n grow?: boolean;\n};\n\nexport function ToolbarGroup({\n label,\n grow = false,\n role,\n \"aria-label\": ariaLabel,\n className,\n children,\n ...rest\n}: ToolbarGroupProps) {\n const groupLabel = ariaLabel ?? (typeof label === \"string\" ? label : undefined);\n const groupRole = role ?? (label != null || groupLabel != null ? \"group\" : undefined);\n\n return (\n <div\n role={groupRole}\n aria-label={groupLabel}\n className={cx(styles.group, grow && styles.grow, className)}\n {...rest}\n >\n {label != null && <span className={styles.label}>{label}</span>}\n <div className={styles.controls}>{children}</div>\n </div>\n );\n}\n"],"mappings":";;;;AAWA,SAAgB,QAAQ,EACtB,UAAU,WACV,SAAS,OACT,MACA,WACA,UACA,GAAG,QACY;CACf,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACQ;EACN,WAAW,WAAA,GAAG,uBAAA,QAAO,SAAS,uBAAA,QAAO,WAAW,YAAY,UAAU,uBAAA,QAAO,QAAQ,SAAS;EAC9F,GAAI;EAEH;CACE,CAAA;AAET;AAOA,SAAgB,aAAa,EAC3B,OACA,OAAO,OACP,MACA,cAAc,WACd,WACA,UACA,GAAG,QACiB;CACpB,MAAM,aAAa,cAAc,OAAO,UAAU,WAAW,QAAQ,KAAA;CAGrE,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,MAJc,SAAS,SAAS,QAAQ,cAAc,OAAO,UAAU,KAAA;EAKvE,cAAY;EACZ,WAAW,WAAA,GAAG,uBAAA,QAAO,OAAO,QAAQ,uBAAA,QAAO,MAAM,SAAS;EAC1D,GAAI;YAJN,CAMG,SAAS,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAW,uBAAA,QAAO;aAAQ;EAAY,CAAA,GAC9D,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,WAAW,uBAAA,QAAO;GAAW;EAAc,CAAA,CAC7C;;AAET"}
package/dist/index59.js CHANGED
@@ -1,15 +1,14 @@
1
- //#region src/components/progress/progress.module.css
2
- var track = "uzi-progress-module__track__gM0oV";
3
- var fill = "uzi-progress-module__fill__aLAbp";
4
- var progress_module_default = {
5
- track,
6
- fill,
7
- "tone-default": "uzi-progress-module__tone-default__fhf7o",
8
- "tone-success": "uzi-progress-module__tone-success__FsGHD",
9
- "tone-warning": "uzi-progress-module__tone-warning__UAttL",
10
- "tone-danger": "uzi-progress-module__tone-danger__-L-Ee"
1
+ //#region src/components/skeleton/skeleton.module.css
2
+ var skeleton = "uzi-skeleton-module__skeleton__fula5";
3
+ var skeleton_module_default = {
4
+ skeleton,
5
+ "skeleton-pulse": "uzi-skeleton-module__skeleton-pulse__Yp45W",
6
+ "radius-sm": "uzi-skeleton-module__radius-sm__FdccD",
7
+ "radius-md": "uzi-skeleton-module__radius-md__zH3RE",
8
+ "radius-lg": "uzi-skeleton-module__radius-lg__YVrHw",
9
+ "radius-full": "uzi-skeleton-module__radius-full__5o2m0"
11
10
  };
12
11
  //#endregion
13
- export { progress_module_default as default, fill, track };
12
+ export { skeleton_module_default as default, skeleton };
14
13
 
15
14
  //# sourceMappingURL=index59.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index59.js","names":[],"sources":["../src/components/progress/progress.module.css"],"sourcesContent":[".track {\n height: 8px;\n border-radius: 9999px;\n overflow: hidden;\n background: color-mix(in srgb, var(--border) 60%, transparent);\n}\n\n.fill {\n height: 100%;\n border-radius: 9999px;\n transition: width 0.4s ease;\n}\n\n.tone-default { background: var(--foreground); }\n.tone-success { background: var(--success); }\n.tone-warning { background: var(--warning); }\n.tone-danger { background: var(--destructive); }\n"],"mappings":""}
1
+ {"version":3,"file":"index59.js","names":[],"sources":["../src/components/skeleton/skeleton.module.css"],"sourcesContent":[".skeleton {\n background: color-mix(in srgb, var(--muted-foreground) 14%, var(--background));\n animation: skeleton-pulse 1.6s ease-in-out infinite;\n}\n\n@keyframes skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.45; }\n}\n\n.radius-sm { border-radius: 4px; }\n.radius-md { border-radius: 8px; }\n.radius-lg { border-radius: 12px; }\n.radius-full { border-radius: 9999px; }\n"],"mappings":""}
package/dist/index60.cjs CHANGED
@@ -1,17 +1,15 @@
1
- //#region src/components/progress/progress.module.css
2
- var track = "uzi-progress-module__track__gM0oV";
3
- var fill = "uzi-progress-module__fill__aLAbp";
4
- var progress_module_default = {
5
- track,
6
- fill,
7
- "tone-default": "uzi-progress-module__tone-default__fhf7o",
8
- "tone-success": "uzi-progress-module__tone-success__FsGHD",
9
- "tone-warning": "uzi-progress-module__tone-warning__UAttL",
10
- "tone-danger": "uzi-progress-module__tone-danger__-L-Ee"
1
+ //#region src/components/skeleton/skeleton.module.css
2
+ var skeleton = "uzi-skeleton-module__skeleton__fula5";
3
+ var skeleton_module_default = {
4
+ skeleton,
5
+ "skeleton-pulse": "uzi-skeleton-module__skeleton-pulse__Yp45W",
6
+ "radius-sm": "uzi-skeleton-module__radius-sm__FdccD",
7
+ "radius-md": "uzi-skeleton-module__radius-md__zH3RE",
8
+ "radius-lg": "uzi-skeleton-module__radius-lg__YVrHw",
9
+ "radius-full": "uzi-skeleton-module__radius-full__5o2m0"
11
10
  };
12
11
  //#endregion
13
- exports.default = progress_module_default;
14
- exports.fill = fill;
15
- exports.track = track;
12
+ exports.default = skeleton_module_default;
13
+ exports.skeleton = skeleton;
16
14
 
17
15
  //# sourceMappingURL=index60.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index60.cjs","names":[],"sources":["../src/components/progress/progress.module.css"],"sourcesContent":[".track {\n height: 8px;\n border-radius: 9999px;\n overflow: hidden;\n background: color-mix(in srgb, var(--border) 60%, transparent);\n}\n\n.fill {\n height: 100%;\n border-radius: 9999px;\n transition: width 0.4s ease;\n}\n\n.tone-default { background: var(--foreground); }\n.tone-success { background: var(--success); }\n.tone-warning { background: var(--warning); }\n.tone-danger { background: var(--destructive); }\n"],"mappings":""}
1
+ {"version":3,"file":"index60.cjs","names":[],"sources":["../src/components/skeleton/skeleton.module.css"],"sourcesContent":[".skeleton {\n background: color-mix(in srgb, var(--muted-foreground) 14%, var(--background));\n animation: skeleton-pulse 1.6s ease-in-out infinite;\n}\n\n@keyframes skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.45; }\n}\n\n.radius-sm { border-radius: 4px; }\n.radius-md { border-radius: 8px; }\n.radius-lg { border-radius: 12px; }\n.radius-full { border-radius: 9999px; }\n"],"mappings":""}
package/dist/index60.js CHANGED
@@ -1,24 +1,21 @@
1
+ "use client";
1
2
  import { cx } from "./index3.js";
2
- import progress_module_default from "./index59.js";
3
+ import skeleton_module_default from "./index59.js";
3
4
  import { jsx } from "react/jsx-runtime";
4
- //#region src/components/progress/Progress.tsx
5
- function Progress({ value, tone = "default", className, "aria-label": ariaLabel, ...rest }) {
6
- const clamped = Math.max(0, Math.min(100, value));
5
+ //#region src/components/skeleton/Skeleton.tsx
6
+ function Skeleton({ width, height, radius = "md", className, style, ...rest }) {
7
7
  return /* @__PURE__ */ jsx("div", {
8
- className: cx(progress_module_default.track, className),
9
- role: "progressbar",
10
- "aria-valuenow": clamped,
11
- "aria-valuemin": 0,
12
- "aria-valuemax": 100,
13
- "aria-label": ariaLabel,
14
- ...rest,
15
- children: /* @__PURE__ */ jsx("div", {
16
- className: cx(progress_module_default.fill, progress_module_default[`tone-${tone}`]),
17
- style: { width: `${clamped}%` }
18
- })
8
+ className: cx(skeleton_module_default.skeleton, skeleton_module_default[`radius-${radius}`], className),
9
+ style: {
10
+ width,
11
+ height,
12
+ ...style
13
+ },
14
+ "aria-hidden": "true",
15
+ ...rest
19
16
  });
20
17
  }
21
18
  //#endregion
22
- export { Progress };
19
+ export { Skeleton };
23
20
 
24
21
  //# sourceMappingURL=index60.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index60.js","names":[],"sources":["../src/components/progress/Progress.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./progress.module.css\";\n\nexport type ProgressTone = \"default\" | \"success\" | \"warning\" | \"danger\";\n\nexport type ProgressProps = HTMLAttributes<HTMLDivElement> & {\n /** Value 0–100. */\n value: number;\n /** Visual tone. Defaults to \"default\". */\n tone?: ProgressTone;\n /** Accessible label. */\n \"aria-label\"?: string;\n};\n\nexport function Progress({\n value,\n tone = \"default\",\n className,\n \"aria-label\": ariaLabel,\n ...rest\n}: ProgressProps) {\n const clamped = Math.max(0, Math.min(100, value));\n return (\n <div\n className={cx(styles.track, className)}\n role=\"progressbar\"\n aria-valuenow={clamped}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={ariaLabel}\n {...rest}\n >\n <div\n className={cx(styles.fill, styles[`tone-${tone}`])}\n style={{ width: `${clamped}%` }}\n />\n </div>\n );\n}\n"],"mappings":";;;;AAeA,SAAgB,SAAS,EACvB,OACA,OAAO,WACP,WACA,cAAc,WACd,GAAG,QACa;CAChB,MAAM,UAAU,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC;CAChD,OACE,oBAAC,OAAD;EACE,WAAW,GAAG,wBAAO,OAAO,SAAS;EACrC,MAAK;EACL,iBAAe;EACf,iBAAe;EACf,iBAAe;EACf,cAAY;EACZ,GAAI;YAEJ,oBAAC,OAAD;GACE,WAAW,GAAG,wBAAO,MAAM,wBAAO,QAAQ,OAAO;GACjD,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG;EAC/B,CAAA;CACE,CAAA;AAET"}
1
+ {"version":3,"file":"index60.js","names":[],"sources":["../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["\"use client\";\n\nimport type { HTMLAttributes } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./skeleton.module.css\";\n\nexport type SkeletonProps = HTMLAttributes<HTMLDivElement> & {\n /** Width as a CSS value. */\n width?: string;\n /** Height as a CSS value. */\n height?: string;\n /** Border radius preset. Defaults to \"md\". */\n radius?: \"sm\" | \"md\" | \"lg\" | \"full\";\n};\n\nexport function Skeleton({\n width,\n height,\n radius = \"md\",\n className,\n style,\n ...rest\n}: SkeletonProps) {\n return (\n <div\n className={cx(styles.skeleton, styles[`radius-${radius}`], className)}\n style={{ width, height, ...style }}\n aria-hidden=\"true\"\n {...rest}\n />\n );\n}\n"],"mappings":";;;;;AAeA,SAAgB,SAAS,EACvB,OACA,QACA,SAAS,MACT,WACA,OACA,GAAG,QACa;CAChB,OACE,oBAAC,OAAD;EACE,WAAW,GAAG,wBAAO,UAAU,wBAAO,UAAU,WAAW,SAAS;EACpE,OAAO;GAAE;GAAO;GAAQ,GAAG;EAAM;EACjC,eAAY;EACZ,GAAI;CACL,CAAA;AAEL"}