@tomny-dev/uzi 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/components/card/Card.d.ts +7 -5
- package/dist/components/card/Card.d.ts.map +1 -1
- package/dist/components/surface/Surface.d.ts +16 -0
- package/dist/components/surface/Surface.d.ts.map +1 -0
- package/dist/components/toolbar/Toolbar.d.ts +13 -0
- package/dist/components/toolbar/Toolbar.d.ts.map +1 -0
- package/dist/index.cjs +36 -31
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -32
- package/dist/index10.cjs.map +1 -1
- package/dist/index10.js +19 -15
- package/dist/index10.js.map +1 -1
- package/dist/index11.cjs +21 -18
- package/dist/index11.cjs.map +1 -1
- package/dist/index11.js +8 -15
- package/dist/index11.js.map +1 -1
- package/dist/index12.cjs +7 -14
- package/dist/index12.cjs.map +1 -1
- package/dist/index12.js +15 -37
- package/dist/index12.js.map +1 -1
- package/dist/index13.cjs +18 -52
- package/dist/index13.cjs.map +1 -1
- package/dist/index13.js +15 -77
- package/dist/index13.js.map +1 -1
- package/dist/index14.cjs +15 -80
- package/dist/index14.cjs.map +1 -1
- package/dist/index14.js +37 -13
- package/dist/index14.js.map +1 -1
- package/dist/index15.cjs +52 -18
- package/dist/index15.cjs.map +1 -1
- package/dist/index15.js +77 -9
- package/dist/index15.js.map +1 -1
- package/dist/index16.cjs +79 -8
- package/dist/index16.cjs.map +1 -1
- package/dist/index16.js +13 -41
- package/dist/index16.js.map +1 -1
- package/dist/index17.cjs +18 -60
- package/dist/index17.cjs.map +1 -1
- package/dist/index17.js +9 -428
- package/dist/index17.js.map +1 -1
- package/dist/index18.cjs +8 -430
- package/dist/index18.cjs.map +1 -1
- package/dist/index18.js +42 -4
- package/dist/index18.js.map +1 -1
- package/dist/index19.cjs +61 -5
- package/dist/index19.cjs.map +1 -1
- package/dist/index19.js +430 -13
- package/dist/index19.js.map +1 -1
- package/dist/index20.cjs +430 -12
- package/dist/index20.cjs.map +1 -1
- package/dist/index20.js +4 -4
- package/dist/index20.js.map +1 -1
- package/dist/index21.cjs +5 -5
- package/dist/index21.cjs.map +1 -1
- package/dist/index21.js +12 -9
- package/dist/index21.js.map +1 -1
- package/dist/index22.cjs +12 -9
- package/dist/index22.cjs.map +1 -1
- package/dist/index22.js +4 -4
- package/dist/index22.js.map +1 -1
- package/dist/index23.cjs +5 -5
- package/dist/index23.cjs.map +1 -1
- package/dist/index23.js +9 -12
- package/dist/index23.js.map +1 -1
- package/dist/index24.cjs +9 -12
- package/dist/index24.cjs.map +1 -1
- package/dist/index24.js +4 -38
- package/dist/index24.js.map +1 -1
- package/dist/index25.cjs +5 -55
- package/dist/index25.cjs.map +1 -1
- package/dist/index25.js +11 -116
- package/dist/index25.js.map +1 -1
- package/dist/index26.cjs +10 -116
- package/dist/index26.cjs.map +1 -1
- package/dist/index26.js +31 -19
- package/dist/index26.js.map +1 -1
- package/dist/index27.cjs +42 -24
- package/dist/index27.cjs.map +1 -1
- package/dist/index27.js +106 -93
- package/dist/index27.js.map +1 -1
- package/dist/index28.cjs +106 -93
- package/dist/index28.cjs.map +1 -1
- package/dist/index28.js +26 -23
- package/dist/index28.js.map +1 -1
- package/dist/index29.cjs +37 -25
- package/dist/index29.cjs.map +1 -1
- package/dist/index29.js +107 -26
- package/dist/index29.js.map +1 -1
- package/dist/index30.cjs +110 -37
- package/dist/index30.cjs.map +1 -1
- package/dist/index30.js +21 -113
- package/dist/index30.js.map +1 -1
- package/dist/index31.cjs +19 -125
- package/dist/index31.cjs.map +1 -1
- package/dist/index31.js +26 -17
- package/dist/index31.js.map +1 -1
- package/dist/index32.cjs +37 -20
- package/dist/index32.cjs.map +1 -1
- package/dist/index32.js +108 -104
- package/dist/index32.js.map +1 -1
- package/dist/index33.cjs +122 -103
- package/dist/index33.cjs.map +1 -1
- package/dist/index33.js +17 -4
- package/dist/index33.js.map +1 -1
- package/dist/index34.cjs +20 -5
- package/dist/index34.cjs.map +1 -1
- package/dist/index34.js +106 -58
- package/dist/index34.js.map +1 -1
- package/dist/index35.cjs +106 -57
- package/dist/index35.cjs.map +1 -1
- package/dist/index35.js +4 -22
- package/dist/index35.js.map +1 -1
- package/dist/index36.cjs +5 -31
- package/dist/index36.cjs.map +1 -1
- package/dist/index36.js +55 -44
- package/dist/index36.js.map +1 -1
- package/dist/index37.cjs +55 -44
- package/dist/index37.cjs.map +1 -1
- package/dist/index37.js +21 -31
- package/dist/index37.js.map +1 -1
- package/dist/index38.cjs +30 -45
- package/dist/index38.cjs.map +1 -1
- package/dist/index38.js +46 -141
- package/dist/index38.js.map +1 -1
- package/dist/index39.cjs +46 -141
- package/dist/index39.cjs.map +1 -1
- package/dist/index39.js +31 -41
- package/dist/index39.js.map +1 -1
- package/dist/index40.cjs +45 -60
- package/dist/index40.cjs.map +1 -1
- package/dist/index40.js +139 -163
- package/dist/index40.js.map +1 -1
- package/dist/index41.cjs +137 -161
- package/dist/index41.cjs.map +1 -1
- package/dist/index41.js +41 -12
- package/dist/index41.js.map +1 -1
- package/dist/index42.cjs +60 -14
- package/dist/index42.cjs.map +1 -1
- package/dist/index42.js +167 -15
- package/dist/index42.js.map +1 -1
- package/dist/index43.cjs +166 -14
- package/dist/index43.cjs.map +1 -1
- package/dist/index43.js +12 -15
- package/dist/index43.js.map +1 -1
- package/dist/index44.cjs +14 -21
- package/dist/index44.cjs.map +1 -1
- package/dist/index44.js +15 -28
- package/dist/index44.js.map +1 -1
- package/dist/index45.cjs +14 -27
- package/dist/index45.cjs.map +1 -1
- package/dist/index45.js +10 -8
- package/dist/index45.js.map +1 -1
- package/dist/index46.cjs +11 -8
- package/dist/index46.cjs.map +1 -1
- package/dist/index46.js +22 -15
- package/dist/index46.js.map +1 -1
- package/dist/index47.cjs +22 -15
- package/dist/index47.cjs.map +1 -1
- package/dist/index47.js +9 -13
- package/dist/index47.js.map +1 -1
- package/dist/index48.cjs +10 -16
- package/dist/index48.cjs.map +1 -1
- package/dist/index48.js +18 -25
- package/dist/index48.js.map +1 -1
- package/dist/index49.cjs +18 -25
- package/dist/index49.cjs.map +1 -1
- package/dist/index49.js +17 -14
- package/dist/index49.js.map +1 -1
- package/dist/index50.cjs +24 -17
- package/dist/index50.cjs.map +1 -1
- package/dist/index50.js +28 -28
- package/dist/index50.js.map +1 -1
- package/dist/index51.cjs +27 -28
- package/dist/index51.cjs.map +1 -1
- package/dist/index51.js +14 -17
- package/dist/index51.js.map +1 -1
- package/dist/index52.cjs +17 -22
- package/dist/index52.cjs.map +1 -1
- package/dist/index52.js +23 -23
- package/dist/index52.js.map +1 -1
- package/dist/index53.cjs +23 -23
- package/dist/index53.cjs.map +1 -1
- package/dist/index53.js +17 -10
- package/dist/index53.js.map +1 -1
- package/dist/index54.cjs +22 -11
- package/dist/index54.cjs.map +1 -1
- package/dist/index54.js +28 -14
- package/dist/index54.js.map +1 -1
- package/dist/index55.cjs +28 -13
- package/dist/index55.cjs.map +1 -1
- package/dist/index55.js +17 -11
- package/dist/index55.js.map +1 -1
- package/dist/index56.cjs +23 -13
- package/dist/index56.cjs.map +1 -1
- package/dist/index56.js +24 -16
- package/dist/index56.js.map +1 -1
- package/dist/index57.cjs +24 -15
- package/dist/index57.cjs.map +1 -1
- package/dist/index57.js +10 -9
- package/dist/index57.js.map +1 -1
- package/dist/index58.cjs +11 -12
- package/dist/index58.cjs.map +1 -1
- package/dist/index58.js +12 -87
- package/dist/index58.js.map +1 -1
- package/dist/index59.cjs +12 -89
- package/dist/index59.cjs.map +1 -1
- package/dist/index59.js +11 -21
- package/dist/index59.js.map +1 -1
- package/dist/index60.cjs +13 -30
- package/dist/index60.cjs.map +1 -1
- package/dist/index60.js +17 -43
- package/dist/index60.js.map +1 -1
- package/dist/index61.cjs +16 -44
- package/dist/index61.cjs.map +1 -1
- package/dist/index61.js +9 -57
- package/dist/index61.js.map +1 -1
- package/dist/index62.cjs +11 -83
- package/dist/index62.cjs.map +1 -1
- package/dist/index62.js +83 -426
- package/dist/index62.js.map +1 -1
- package/dist/index63.cjs +82 -427
- package/dist/index63.cjs.map +1 -1
- package/dist/index63.js +21 -59
- package/dist/index63.js.map +1 -1
- package/dist/index64.cjs +30 -87
- package/dist/index64.cjs.map +1 -1
- package/dist/index64.js +44 -240
- package/dist/index64.js.map +1 -1
- package/dist/index65.cjs +43 -239
- package/dist/index65.cjs.map +1 -1
- package/dist/index65.js +57 -43
- package/dist/index65.js.map +1 -1
- package/dist/index66.cjs +84 -63
- package/dist/index66.cjs.map +1 -1
- package/dist/index66.js +426 -73
- package/dist/index66.js.map +1 -1
- package/dist/index67.cjs +426 -71
- package/dist/index67.cjs.map +1 -1
- package/dist/index67.js +59 -21
- package/dist/index67.js.map +1 -1
- package/dist/index68.cjs +87 -30
- package/dist/index68.cjs.map +1 -1
- package/dist/index68.js +233 -88
- package/dist/index68.js.map +1 -1
- package/dist/index69.cjs +232 -89
- package/dist/index69.cjs.map +1 -1
- package/dist/index69.js +40 -16
- package/dist/index69.js.map +1 -1
- package/dist/index70.cjs +56 -20
- package/dist/index70.cjs.map +1 -1
- package/dist/index70.js +72 -145
- package/dist/index70.js.map +1 -1
- package/dist/index71.cjs +72 -145
- package/dist/index71.cjs.map +1 -1
- package/dist/index71.js +25 -0
- package/dist/index71.js.map +1 -0
- package/dist/index72.cjs +34 -0
- package/dist/index72.cjs.map +1 -0
- package/dist/index72.js +101 -0
- package/dist/index72.js.map +1 -0
- package/dist/index73.cjs +105 -0
- package/dist/index73.cjs.map +1 -0
- package/dist/index73.js +23 -0
- package/dist/index73.js.map +1 -0
- package/dist/index74.cjs +31 -0
- package/dist/index74.cjs.map +1 -0
- package/dist/index74.js +159 -0
- package/dist/index74.js.map +1 -0
- package/dist/index75.cjs +161 -0
- package/dist/index75.cjs.map +1 -0
- package/dist/index8.js.map +1 -1
- package/dist/index9.cjs.map +1 -1
- package/dist/index9.js.map +1 -1
- package/dist/style.css +215 -45
- package/package.json +2 -2
package/dist/index55.cjs
CHANGED
|
@@ -1,21 +1,36 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
const require_cx = require("./index4.cjs");
|
|
3
|
-
const
|
|
2
|
+
const require_stat_module = require("./index54.cjs");
|
|
4
3
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
-
//#region src/components/
|
|
6
|
-
function
|
|
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),
|
|
8
|
+
...rest,
|
|
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
|
+
]
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function StatGroup({ columns = 3, className, children, ...rest }) {
|
|
7
26
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8
|
-
className: require_cx.cx(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
height,
|
|
12
|
-
...style
|
|
13
|
-
},
|
|
14
|
-
"aria-hidden": "true",
|
|
15
|
-
...rest
|
|
27
|
+
className: require_cx.cx(require_stat_module.default.group, require_stat_module.default[`columns-${columns}`], className),
|
|
28
|
+
...rest,
|
|
29
|
+
children
|
|
16
30
|
});
|
|
17
31
|
}
|
|
18
32
|
//#endregion
|
|
19
|
-
exports.
|
|
33
|
+
exports.Stat = Stat;
|
|
34
|
+
exports.StatGroup = StatGroup;
|
|
20
35
|
|
|
21
36
|
//# sourceMappingURL=index55.cjs.map
|
package/dist/index55.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index55.cjs","names":[],"sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index55.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/index55.js
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
//#region src/components/
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
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
|
|
11
17
|
};
|
|
12
18
|
//#endregion
|
|
13
|
-
export {
|
|
19
|
+
export { controls, toolbar_module_default as default, group, grow, label, sticky, toolbar };
|
|
14
20
|
|
|
15
21
|
//# sourceMappingURL=index55.js.map
|
package/dist/index55.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index55.js","names":[],"sources":["../src/components/
|
|
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":""}
|
package/dist/index56.cjs
CHANGED
|
@@ -1,17 +1,27 @@
|
|
|
1
|
-
//#region src/components/
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
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
|
|
11
17
|
};
|
|
12
18
|
//#endregion
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
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;
|
|
16
26
|
|
|
17
27
|
//# sourceMappingURL=index56.cjs.map
|
package/dist/index56.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index56.cjs","names":[],"sources":["../src/components/
|
|
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":""}
|
package/dist/index56.js
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
import { cx } from "./index3.js";
|
|
2
|
-
import
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
//#region src/components/
|
|
5
|
-
function
|
|
6
|
-
const clamped = Math.max(0, Math.min(100, value));
|
|
2
|
+
import toolbar_module_default from "./index55.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
|
-
|
|
9
|
-
|
|
10
|
-
"aria-valuenow": clamped,
|
|
11
|
-
"aria-valuemin": 0,
|
|
12
|
-
"aria-valuemax": 100,
|
|
13
|
-
"aria-label": ariaLabel,
|
|
7
|
+
role,
|
|
8
|
+
className: cx(toolbar_module_default.toolbar, toolbar_module_default[`density-${density}`], sticky && toolbar_module_default.sticky, className),
|
|
14
9
|
...rest,
|
|
15
|
-
children
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
+
})]
|
|
19
27
|
});
|
|
20
28
|
}
|
|
21
29
|
//#endregion
|
|
22
|
-
export {
|
|
30
|
+
export { Toolbar, ToolbarGroup };
|
|
23
31
|
|
|
24
32
|
//# sourceMappingURL=index56.js.map
|
package/dist/index56.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index56.js","names":[],"sources":["../src/components/
|
|
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"}
|
package/dist/index57.cjs
CHANGED
|
@@ -1,24 +1,33 @@
|
|
|
1
1
|
const require_cx = require("./index4.cjs");
|
|
2
|
-
const
|
|
2
|
+
const require_toolbar_module = require("./index56.cjs");
|
|
3
3
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
|
-
//#region src/components/
|
|
5
|
-
function
|
|
6
|
-
const clamped = Math.max(0, Math.min(100, value));
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
"aria-valuenow": clamped,
|
|
11
|
-
"aria-valuemin": 0,
|
|
12
|
-
"aria-valuemax": 100,
|
|
13
|
-
"aria-label": ariaLabel,
|
|
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),
|
|
14
9
|
...rest,
|
|
15
|
-
children
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
+
})]
|
|
19
27
|
});
|
|
20
28
|
}
|
|
21
29
|
//#endregion
|
|
22
|
-
exports.
|
|
30
|
+
exports.Toolbar = Toolbar;
|
|
31
|
+
exports.ToolbarGroup = ToolbarGroup;
|
|
23
32
|
|
|
24
33
|
//# sourceMappingURL=index57.cjs.map
|
package/dist/index57.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index57.cjs","names":[],"sources":["../src/components/
|
|
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"}
|
package/dist/index57.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
//#region src/components/
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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"
|
|
9
10
|
};
|
|
10
11
|
//#endregion
|
|
11
|
-
export {
|
|
12
|
+
export { skeleton_module_default as default, skeleton };
|
|
12
13
|
|
|
13
14
|
//# sourceMappingURL=index57.js.map
|
package/dist/index57.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index57.js","names":[],"sources":["../src/components/
|
|
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":""}
|
package/dist/index58.cjs
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
//#region src/components/
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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"
|
|
9
10
|
};
|
|
10
11
|
//#endregion
|
|
11
|
-
exports.default =
|
|
12
|
-
exports.
|
|
13
|
-
exports.option = option;
|
|
14
|
-
exports.track = track;
|
|
12
|
+
exports.default = skeleton_module_default;
|
|
13
|
+
exports.skeleton = skeleton;
|
|
15
14
|
|
|
16
15
|
//# sourceMappingURL=index58.cjs.map
|
package/dist/index58.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index58.cjs","names":[],"sources":["../src/components/
|
|
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":""}
|
package/dist/index58.js
CHANGED
|
@@ -1,96 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cx } from "./index3.js";
|
|
3
|
-
import
|
|
4
|
-
import * as React from "react";
|
|
3
|
+
import skeleton_module_default from "./index57.js";
|
|
5
4
|
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
//#region src/components/
|
|
7
|
-
function
|
|
8
|
-
const itemRefs = React.useRef([]);
|
|
9
|
-
const selectedIndex = options.findIndex((opt) => opt.value === value);
|
|
10
|
-
const fallbackIndex = options.findIndex((opt) => !opt.disabled);
|
|
11
|
-
let lastEnabledIndex = -1;
|
|
12
|
-
for (let index = options.length - 1; index >= 0; index -= 1) if (!options[index]?.disabled) {
|
|
13
|
-
lastEnabledIndex = index;
|
|
14
|
-
break;
|
|
15
|
-
}
|
|
16
|
-
const tabbableIndex = selectedIndex >= 0 && !options[selectedIndex]?.disabled ? selectedIndex : fallbackIndex;
|
|
17
|
-
const focusItem = (index) => {
|
|
18
|
-
itemRefs.current[index]?.focus();
|
|
19
|
-
};
|
|
20
|
-
const findEnabledIndex = (startIndex, direction) => {
|
|
21
|
-
if (options.length === 0) return -1;
|
|
22
|
-
let nextIndex = startIndex;
|
|
23
|
-
for (let i = 0; i < options.length; i += 1) {
|
|
24
|
-
nextIndex = (nextIndex + direction + options.length) % options.length;
|
|
25
|
-
if (!options[nextIndex]?.disabled) return nextIndex;
|
|
26
|
-
}
|
|
27
|
-
return startIndex;
|
|
28
|
-
};
|
|
29
|
-
const selectIndex = (index) => {
|
|
30
|
-
const nextOption = options[index];
|
|
31
|
-
if (!nextOption || nextOption.disabled || nextOption.value === value) return;
|
|
32
|
-
onChange(nextOption.value);
|
|
33
|
-
};
|
|
34
|
-
const handleKeyDown = (event, index) => {
|
|
35
|
-
switch (event.key) {
|
|
36
|
-
case "ArrowRight":
|
|
37
|
-
case "ArrowDown": {
|
|
38
|
-
event.preventDefault();
|
|
39
|
-
const nextIndex = findEnabledIndex(index, 1);
|
|
40
|
-
focusItem(nextIndex);
|
|
41
|
-
selectIndex(nextIndex);
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
case "ArrowLeft":
|
|
45
|
-
case "ArrowUp": {
|
|
46
|
-
event.preventDefault();
|
|
47
|
-
const nextIndex = findEnabledIndex(index, -1);
|
|
48
|
-
focusItem(nextIndex);
|
|
49
|
-
selectIndex(nextIndex);
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
case "Home":
|
|
53
|
-
event.preventDefault();
|
|
54
|
-
focusItem(fallbackIndex);
|
|
55
|
-
if (fallbackIndex >= 0) selectIndex(fallbackIndex);
|
|
56
|
-
break;
|
|
57
|
-
case "End":
|
|
58
|
-
event.preventDefault();
|
|
59
|
-
if (lastEnabledIndex >= 0) {
|
|
60
|
-
focusItem(lastEnabledIndex);
|
|
61
|
-
selectIndex(lastEnabledIndex);
|
|
62
|
-
}
|
|
63
|
-
break;
|
|
64
|
-
default: break;
|
|
65
|
-
}
|
|
66
|
-
};
|
|
5
|
+
//#region src/components/skeleton/Skeleton.tsx
|
|
6
|
+
function Skeleton({ width, height, radius = "md", className, style, ...rest }) {
|
|
67
7
|
return /* @__PURE__ */ jsx("div", {
|
|
68
|
-
className: cx(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
type: "button",
|
|
77
|
-
role: "radio",
|
|
78
|
-
"aria-checked": opt.value === value,
|
|
79
|
-
disabled: opt.disabled,
|
|
80
|
-
tabIndex: opt.disabled ? -1 : index === tabbableIndex ? 0 : -1,
|
|
81
|
-
onClick: () => {
|
|
82
|
-
if (opt.value !== value) onChange(opt.value);
|
|
83
|
-
},
|
|
84
|
-
onKeyDown: (event) => handleKeyDown(event, index),
|
|
85
|
-
className: cx(segmented_toggle_module_default.option),
|
|
86
|
-
children: /* @__PURE__ */ jsx("span", {
|
|
87
|
-
className: segmented_toggle_module_default.label,
|
|
88
|
-
children: opt.label
|
|
89
|
-
})
|
|
90
|
-
}, opt.value))
|
|
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
|
|
91
16
|
});
|
|
92
17
|
}
|
|
93
18
|
//#endregion
|
|
94
|
-
export {
|
|
19
|
+
export { Skeleton };
|
|
95
20
|
|
|
96
21
|
//# sourceMappingURL=index58.js.map
|
package/dist/index58.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index58.js","names":[],"sources":["../src/components/
|
|
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"}
|
package/dist/index59.cjs
CHANGED
|
@@ -1,98 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const require_runtime = require("./index2.cjs");
|
|
3
2
|
const require_cx = require("./index4.cjs");
|
|
4
|
-
const
|
|
5
|
-
let react = require("react");
|
|
6
|
-
react = require_runtime.__toESM(react, 1);
|
|
3
|
+
const require_skeleton_module = require("./index58.cjs");
|
|
7
4
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
-
//#region src/components/
|
|
9
|
-
function
|
|
10
|
-
const itemRefs = react.useRef([]);
|
|
11
|
-
const selectedIndex = options.findIndex((opt) => opt.value === value);
|
|
12
|
-
const fallbackIndex = options.findIndex((opt) => !opt.disabled);
|
|
13
|
-
let lastEnabledIndex = -1;
|
|
14
|
-
for (let index = options.length - 1; index >= 0; index -= 1) if (!options[index]?.disabled) {
|
|
15
|
-
lastEnabledIndex = index;
|
|
16
|
-
break;
|
|
17
|
-
}
|
|
18
|
-
const tabbableIndex = selectedIndex >= 0 && !options[selectedIndex]?.disabled ? selectedIndex : fallbackIndex;
|
|
19
|
-
const focusItem = (index) => {
|
|
20
|
-
itemRefs.current[index]?.focus();
|
|
21
|
-
};
|
|
22
|
-
const findEnabledIndex = (startIndex, direction) => {
|
|
23
|
-
if (options.length === 0) return -1;
|
|
24
|
-
let nextIndex = startIndex;
|
|
25
|
-
for (let i = 0; i < options.length; i += 1) {
|
|
26
|
-
nextIndex = (nextIndex + direction + options.length) % options.length;
|
|
27
|
-
if (!options[nextIndex]?.disabled) return nextIndex;
|
|
28
|
-
}
|
|
29
|
-
return startIndex;
|
|
30
|
-
};
|
|
31
|
-
const selectIndex = (index) => {
|
|
32
|
-
const nextOption = options[index];
|
|
33
|
-
if (!nextOption || nextOption.disabled || nextOption.value === value) return;
|
|
34
|
-
onChange(nextOption.value);
|
|
35
|
-
};
|
|
36
|
-
const handleKeyDown = (event, index) => {
|
|
37
|
-
switch (event.key) {
|
|
38
|
-
case "ArrowRight":
|
|
39
|
-
case "ArrowDown": {
|
|
40
|
-
event.preventDefault();
|
|
41
|
-
const nextIndex = findEnabledIndex(index, 1);
|
|
42
|
-
focusItem(nextIndex);
|
|
43
|
-
selectIndex(nextIndex);
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
case "ArrowLeft":
|
|
47
|
-
case "ArrowUp": {
|
|
48
|
-
event.preventDefault();
|
|
49
|
-
const nextIndex = findEnabledIndex(index, -1);
|
|
50
|
-
focusItem(nextIndex);
|
|
51
|
-
selectIndex(nextIndex);
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
case "Home":
|
|
55
|
-
event.preventDefault();
|
|
56
|
-
focusItem(fallbackIndex);
|
|
57
|
-
if (fallbackIndex >= 0) selectIndex(fallbackIndex);
|
|
58
|
-
break;
|
|
59
|
-
case "End":
|
|
60
|
-
event.preventDefault();
|
|
61
|
-
if (lastEnabledIndex >= 0) {
|
|
62
|
-
focusItem(lastEnabledIndex);
|
|
63
|
-
selectIndex(lastEnabledIndex);
|
|
64
|
-
}
|
|
65
|
-
break;
|
|
66
|
-
default: break;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
5
|
+
//#region src/components/skeleton/Skeleton.tsx
|
|
6
|
+
function Skeleton({ width, height, radius = "md", className, style, ...rest }) {
|
|
69
7
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
70
|
-
className: require_cx.cx(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
type: "button",
|
|
79
|
-
role: "radio",
|
|
80
|
-
"aria-checked": opt.value === value,
|
|
81
|
-
disabled: opt.disabled,
|
|
82
|
-
tabIndex: opt.disabled ? -1 : index === tabbableIndex ? 0 : -1,
|
|
83
|
-
onClick: () => {
|
|
84
|
-
if (opt.value !== value) onChange(opt.value);
|
|
85
|
-
},
|
|
86
|
-
onKeyDown: (event) => handleKeyDown(event, index),
|
|
87
|
-
className: require_cx.cx(require_segmented_toggle_module.default.option),
|
|
88
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
89
|
-
className: require_segmented_toggle_module.default.label,
|
|
90
|
-
children: opt.label
|
|
91
|
-
})
|
|
92
|
-
}, opt.value))
|
|
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
|
|
93
16
|
});
|
|
94
17
|
}
|
|
95
18
|
//#endregion
|
|
96
|
-
exports.
|
|
19
|
+
exports.Skeleton = Skeleton;
|
|
97
20
|
|
|
98
21
|
//# sourceMappingURL=index59.cjs.map
|