@tomny-dev/uzi 0.2.5 → 0.2.6
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/dist/index.cjs +65 -1925
- package/dist/index.js +24 -1857
- package/dist/index10.cjs +26 -0
- package/dist/index10.cjs.map +1 -0
- package/dist/index10.js +19 -0
- package/dist/index10.js.map +1 -0
- package/dist/index11.cjs +22 -0
- package/dist/index11.cjs.map +1 -0
- package/dist/index11.js +22 -0
- package/dist/index11.js.map +1 -0
- package/dist/index12.cjs +22 -0
- package/dist/index12.cjs.map +1 -0
- package/dist/index12.js +41 -0
- package/dist/index12.js.map +1 -0
- package/dist/index13.cjs +56 -0
- package/dist/index13.cjs.map +1 -0
- package/dist/index13.js +84 -0
- package/dist/index13.js.map +1 -0
- package/dist/index14.cjs +87 -0
- package/dist/index14.cjs.map +1 -0
- package/dist/index14.js +17 -0
- package/dist/index14.js.map +1 -0
- package/dist/index15.cjs +22 -0
- package/dist/index15.cjs.map +1 -0
- package/dist/index15.js +16 -0
- package/dist/index15.js.map +1 -0
- package/dist/index16.cjs +16 -0
- package/dist/index16.cjs.map +1 -0
- package/dist/index16.js +45 -0
- package/dist/index16.js.map +1 -0
- package/dist/index17.cjs +64 -0
- package/dist/index17.cjs.map +1 -0
- package/dist/index17.js +435 -0
- package/dist/index17.js.map +1 -0
- package/dist/index18.cjs +438 -0
- package/dist/index18.cjs.map +1 -0
- package/dist/index18.js +7 -0
- package/dist/index18.js.map +1 -0
- package/dist/index19.cjs +8 -0
- package/dist/index19.cjs.map +1 -0
- package/dist/index19.js +18 -0
- package/dist/index19.js.map +1 -0
- package/dist/index2.cjs +23 -0
- package/dist/index20.cjs +20 -0
- package/dist/index20.cjs.map +1 -0
- package/dist/index20.js +7 -0
- package/dist/index20.js.map +1 -0
- package/dist/index21.cjs +8 -0
- package/dist/index21.cjs.map +1 -0
- package/dist/index21.js +15 -0
- package/dist/index21.js.map +1 -0
- package/dist/index22.cjs +17 -0
- package/dist/index22.cjs.map +1 -0
- package/dist/index22.js +7 -0
- package/dist/index22.js.map +1 -0
- package/dist/index23.cjs +8 -0
- package/dist/index23.cjs.map +1 -0
- package/dist/index23.js +18 -0
- package/dist/index23.js.map +1 -0
- package/dist/index24.cjs +20 -0
- package/dist/index24.cjs.map +1 -0
- package/dist/index24.js +41 -0
- package/dist/index24.js.map +1 -0
- package/dist/index25.cjs +58 -0
- package/dist/index25.cjs.map +1 -0
- package/dist/index25.js +123 -0
- package/dist/index25.js.map +1 -0
- package/dist/index26.cjs +126 -0
- package/dist/index26.cjs.map +1 -0
- package/dist/index26.js +29 -0
- package/dist/index26.js.map +1 -0
- package/dist/index27.cjs +40 -0
- package/dist/index27.cjs.map +1 -0
- package/dist/index27.js +110 -0
- package/dist/index27.js.map +1 -0
- package/dist/index28.cjs +113 -0
- package/dist/index28.cjs.map +1 -0
- package/dist/index28.js +26 -0
- package/dist/index28.js.map +1 -0
- package/dist/index29.cjs +28 -0
- package/dist/index29.cjs.map +1 -0
- package/dist/index29.js +29 -0
- package/dist/index29.js.map +1 -0
- package/dist/index3.js +8 -0
- package/dist/index3.js.map +1 -0
- package/dist/index30.cjs +40 -0
- package/dist/index30.cjs.map +1 -0
- package/dist/index30.js +118 -0
- package/dist/index30.js.map +1 -0
- package/dist/index31.cjs +134 -0
- package/dist/index31.cjs.map +1 -0
- package/dist/index31.js +20 -0
- package/dist/index31.js.map +1 -0
- package/dist/index32.cjs +23 -0
- package/dist/index32.cjs.map +1 -0
- package/dist/index32.js +114 -0
- package/dist/index32.js.map +1 -0
- package/dist/index33.cjs +115 -0
- package/dist/index33.cjs.map +1 -0
- package/dist/index33.js +7 -0
- package/dist/index33.js.map +1 -0
- package/dist/index34.cjs +8 -0
- package/dist/index34.cjs.map +1 -0
- package/dist/index34.js +66 -0
- package/dist/index34.js.map +1 -0
- package/dist/index35.cjs +66 -0
- package/dist/index35.cjs.map +1 -0
- package/dist/index35.js +25 -0
- package/dist/index35.js.map +1 -0
- package/dist/index36.cjs +34 -0
- package/dist/index36.cjs.map +1 -0
- package/dist/index36.js +55 -0
- package/dist/index36.js.map +1 -0
- package/dist/index37.cjs +55 -0
- package/dist/index37.cjs.map +1 -0
- package/dist/index37.js +35 -0
- package/dist/index37.js.map +1 -0
- package/dist/index38.cjs +49 -0
- package/dist/index38.cjs.map +1 -0
- package/dist/index38.js +150 -0
- package/dist/index38.js.map +1 -0
- package/dist/index39.cjs +150 -0
- package/dist/index39.cjs.map +1 -0
- package/dist/index39.js +43 -0
- package/dist/index39.js.map +1 -0
- package/dist/index4.cjs +8 -0
- package/dist/index4.cjs.map +1 -0
- package/dist/index4.js +29 -0
- package/dist/index4.js.map +1 -0
- package/dist/index40.cjs +61 -0
- package/dist/index40.cjs.map +1 -0
- package/dist/index40.js +173 -0
- package/dist/index40.js.map +1 -0
- package/dist/index41.cjs +173 -0
- package/dist/index41.cjs.map +1 -0
- package/dist/index41.js +14 -0
- package/dist/index41.js.map +1 -0
- package/dist/index42.cjs +15 -0
- package/dist/index42.cjs.map +1 -0
- package/dist/index42.js +21 -0
- package/dist/index42.js.map +1 -0
- package/dist/index43.cjs +21 -0
- package/dist/index43.cjs.map +1 -0
- package/dist/index43.js +15 -0
- package/dist/index43.js.map +1 -0
- package/dist/index44.cjs +17 -0
- package/dist/index44.cjs.map +1 -0
- package/dist/index44.js +24 -0
- package/dist/index44.js.map +1 -0
- package/dist/index45.cjs +24 -0
- package/dist/index45.cjs.map +1 -0
- package/dist/index45.js +13 -0
- package/dist/index45.js.map +1 -0
- package/dist/index46.cjs +16 -0
- package/dist/index46.cjs.map +1 -0
- package/dist/index46.js +96 -0
- package/dist/index46.js.map +1 -0
- package/dist/index47.cjs +98 -0
- package/dist/index47.cjs.map +1 -0
- package/dist/index5.cjs +40 -0
- package/dist/index5.cjs.map +1 -0
- package/dist/index5.js +45 -0
- package/dist/index5.js.map +1 -0
- package/dist/index6.cjs +47 -0
- package/dist/index6.cjs.map +1 -0
- package/dist/index6.js +17 -0
- package/dist/index6.js.map +1 -0
- package/dist/index7.cjs +20 -0
- package/dist/index7.cjs.map +1 -0
- package/dist/index7.js +30 -0
- package/dist/index7.js.map +1 -0
- package/dist/index8.cjs +35 -0
- package/dist/index8.cjs.map +1 -0
- package/dist/index8.js +18 -0
- package/dist/index8.js.map +1 -0
- package/dist/index9.cjs +20 -0
- package/dist/index9.cjs.map +1 -0
- package/dist/index9.js +26 -0
- package/dist/index9.js.map +1 -0
- package/package.json +1 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/index10.cjs
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const require_cx = require("./index4.cjs");
|
|
2
|
+
const require_card_module = require("./index9.cjs");
|
|
3
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
|
+
//#region src/components/card/Card.tsx
|
|
5
|
+
function Card({ as, tone = "default", padding = "md", interactive = false, className, children, ...rest }) {
|
|
6
|
+
const Component = as ?? "div";
|
|
7
|
+
const TONE_CLASS = {
|
|
8
|
+
default: null,
|
|
9
|
+
muted: "tone-muted",
|
|
10
|
+
contrast: "tone-contrast"
|
|
11
|
+
};
|
|
12
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, {
|
|
13
|
+
className: require_cx.cx(require_card_module.default.card, TONE_CLASS[tone] ? require_card_module.default[TONE_CLASS[tone]] : null, require_card_module.default[{
|
|
14
|
+
none: "padding-none",
|
|
15
|
+
sm: "padding-sm",
|
|
16
|
+
md: "padding-md",
|
|
17
|
+
lg: "padding-lg"
|
|
18
|
+
}[padding]], interactive && require_card_module.default.interactive, className),
|
|
19
|
+
...rest,
|
|
20
|
+
children
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
exports.Card = Card;
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=index10.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index10.cjs","names":[],"sources":["../src/components/card/Card.tsx"],"sourcesContent":["/**\n * Lightweight container component used for panels across the app.\n *\n * @remarks\n * Supports tone variants, padding presets, and an optional interactive affordance.\n *\n * @param props.as - Semantic element to render (defaults to `div`).\n * @param props.tone - Visual tone variant.\n * @param props.padding - Padding preset.\n * @param props.interactive - Enables hover/focus affordance.\n */\nimport type { HTMLAttributes } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./card.module.css\";\n\nexport type CardTone = \"default\" | \"muted\" | \"contrast\";\nexport type CardPadding = \"none\" | \"sm\" | \"md\" | \"lg\";\n\ntype CardElement = \"div\" | \"section\" | \"article\";\n\nexport type CardProps = HTMLAttributes<HTMLElement> & {\n /** Optional semantic element type. Defaults to `div`. */\n as?: CardElement;\n /** Visual tone; drives background/border CSS vars. */\n tone?: CardTone;\n /** Padding preset; maps to CSS variables so consumers can override globally. */\n padding?: CardPadding;\n /** Adds hover/focus affordance (lift + outline). */\n interactive?: boolean;\n};\n\nexport function Card({\n as,\n tone = \"default\",\n padding = \"md\",\n interactive = false,\n className,\n children,\n ...rest\n}: CardProps) {\n const Component: CardElement = as ?? \"div\";\n const TONE_CLASS: Record<CardTone, string | null> = { default: null, muted: \"tone-muted\", contrast: \"tone-contrast\" };\n const PADDING_CLASS: Record<CardPadding, string> = { none: \"padding-none\", sm: \"padding-sm\", md: \"padding-md\", lg: \"padding-lg\" };\n const classes = cx(\n styles.card,\n TONE_CLASS[tone] ? styles[TONE_CLASS[tone]] : null,\n styles[PADDING_CLASS[padding]],\n interactive && styles.interactive,\n className,\n );\n\n return (\n <Component className={classes} {...rest}>\n {children}\n </Component>\n );\n}\n"],"mappings":";;;;AA+BA,SAAgB,KAAK,EACnB,IACA,OAAO,WACP,UAAU,MACV,cAAc,OACd,WACA,UACA,GAAG,QACS;CACZ,MAAM,YAAyB,MAAM;CACrC,MAAM,aAA8C;EAAE,SAAS;EAAM,OAAO;EAAc,UAAU;CAAgB;CAUpH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;EAAW,WATG,WAAA,GACd,oBAAA,QAAO,MACP,WAAW,QAAQ,oBAAA,QAAO,WAAW,SAAS,MAC9C,oBAAA,QAAO;GAJ4C,MAAM;GAAgB,IAAI;GAAc,IAAI;GAAc,IAAI;EAI1G,EAAc,WACrB,eAAe,oBAAA,QAAO,aACtB,SAIsB;EAAS,GAAI;EAChC;CACQ,CAAA;AAEf"}
|
package/dist/index10.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/components/pill/pill.module.css
|
|
2
|
+
var pill = "uzi-pill-module__pill__uCKcP";
|
|
3
|
+
var icon = "uzi-pill-module__icon__KQ8zg";
|
|
4
|
+
var content = "uzi-pill-module__content__T7AG1";
|
|
5
|
+
var pill_module_default = {
|
|
6
|
+
pill,
|
|
7
|
+
"size-sm": "uzi-pill-module__size-sm__JANOQ",
|
|
8
|
+
"size-md": "uzi-pill-module__size-md__fdsqR",
|
|
9
|
+
"tone-success": "uzi-pill-module__tone-success__kW2Kf",
|
|
10
|
+
"tone-warning": "uzi-pill-module__tone-warning__Rc5-s",
|
|
11
|
+
"tone-info": "uzi-pill-module__tone-info__0vQrj",
|
|
12
|
+
"tone-danger": "uzi-pill-module__tone-danger__gzNOa",
|
|
13
|
+
icon,
|
|
14
|
+
content
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { content, pill_module_default as default, icon, pill };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=index10.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index10.js","names":[],"sources":["../src/components/pill/pill.module.css"],"sourcesContent":[".pill {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n border-radius: 999px;\n border: 1px solid var(--ts-pill-border, var(--border));\n background: var(--ts-pill-bg, color-mix(in srgb, var(--foreground) 4%, transparent));\n color: var(--ts-pill-fg, var(--muted-foreground));\n font-size: 12px;\n font-weight: 700;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n line-height: 1.2;\n white-space: nowrap;\n}\n\n.size-sm {\n padding: 3px 8px;\n font-size: 11px;\n}\n\n.size-md {\n padding: 4px 10px;\n}\n\n.tone-success {\n color: var(--success);\n border-color: color-mix(in srgb, var(--success) 45%, transparent);\n background: color-mix(in srgb, var(--success) 12%, transparent);\n}\n\n.tone-warning {\n color: var(--warning);\n border-color: color-mix(in srgb, var(--warning) 45%, transparent);\n background: color-mix(in srgb, var(--warning) 12%, transparent);\n}\n\n.tone-info {\n color: var(--primary);\n border-color: color-mix(in srgb, var(--primary) 50%, transparent);\n background: color-mix(in srgb, var(--primary) 12%, transparent);\n}\n\n.tone-danger {\n color: var(--destructive);\n border-color: color-mix(in srgb, var(--destructive) 45%, transparent);\n background: color-mix(in srgb, var(--destructive) 12%, transparent);\n}\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n}\n\n.content {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n"],"mappings":""}
|
package/dist/index11.cjs
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/components/pill/pill.module.css
|
|
2
|
+
var pill = "uzi-pill-module__pill__uCKcP";
|
|
3
|
+
var icon = "uzi-pill-module__icon__KQ8zg";
|
|
4
|
+
var content = "uzi-pill-module__content__T7AG1";
|
|
5
|
+
var pill_module_default = {
|
|
6
|
+
pill,
|
|
7
|
+
"size-sm": "uzi-pill-module__size-sm__JANOQ",
|
|
8
|
+
"size-md": "uzi-pill-module__size-md__fdsqR",
|
|
9
|
+
"tone-success": "uzi-pill-module__tone-success__kW2Kf",
|
|
10
|
+
"tone-warning": "uzi-pill-module__tone-warning__Rc5-s",
|
|
11
|
+
"tone-info": "uzi-pill-module__tone-info__0vQrj",
|
|
12
|
+
"tone-danger": "uzi-pill-module__tone-danger__gzNOa",
|
|
13
|
+
icon,
|
|
14
|
+
content
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
exports.content = content;
|
|
18
|
+
exports.default = pill_module_default;
|
|
19
|
+
exports.icon = icon;
|
|
20
|
+
exports.pill = pill;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=index11.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index11.cjs","names":[],"sources":["../src/components/pill/pill.module.css"],"sourcesContent":[".pill {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n border-radius: 999px;\n border: 1px solid var(--ts-pill-border, var(--border));\n background: var(--ts-pill-bg, color-mix(in srgb, var(--foreground) 4%, transparent));\n color: var(--ts-pill-fg, var(--muted-foreground));\n font-size: 12px;\n font-weight: 700;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n line-height: 1.2;\n white-space: nowrap;\n}\n\n.size-sm {\n padding: 3px 8px;\n font-size: 11px;\n}\n\n.size-md {\n padding: 4px 10px;\n}\n\n.tone-success {\n color: var(--success);\n border-color: color-mix(in srgb, var(--success) 45%, transparent);\n background: color-mix(in srgb, var(--success) 12%, transparent);\n}\n\n.tone-warning {\n color: var(--warning);\n border-color: color-mix(in srgb, var(--warning) 45%, transparent);\n background: color-mix(in srgb, var(--warning) 12%, transparent);\n}\n\n.tone-info {\n color: var(--primary);\n border-color: color-mix(in srgb, var(--primary) 50%, transparent);\n background: color-mix(in srgb, var(--primary) 12%, transparent);\n}\n\n.tone-danger {\n color: var(--destructive);\n border-color: color-mix(in srgb, var(--destructive) 45%, transparent);\n background: color-mix(in srgb, var(--destructive) 12%, transparent);\n}\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n}\n\n.content {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n"],"mappings":""}
|
package/dist/index11.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { cx } from "./index3.js";
|
|
2
|
+
import pill_module_default from "./index10.js";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/pill/Pill.tsx
|
|
5
|
+
function Pill({ as, tone = "neutral", size = "md", icon, className, children, ...rest }) {
|
|
6
|
+
return /* @__PURE__ */ jsxs(as ?? "span", {
|
|
7
|
+
className: cx(pill_module_default.pill, pill_module_default[`tone-${tone}`], pill_module_default[`size-${size}`], className),
|
|
8
|
+
...rest,
|
|
9
|
+
children: [icon ? /* @__PURE__ */ jsx("span", {
|
|
10
|
+
className: pill_module_default.icon,
|
|
11
|
+
"aria-hidden": "true",
|
|
12
|
+
children: icon
|
|
13
|
+
}) : null, /* @__PURE__ */ jsx("span", {
|
|
14
|
+
className: pill_module_default.content,
|
|
15
|
+
children
|
|
16
|
+
})]
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { Pill };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=index11.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index11.js","names":[],"sources":["../src/components/pill/Pill.tsx"],"sourcesContent":["/**\n * Compact label component for status chips and tags.\n *\n * @remarks\n * Supports tone and size presets, and can render any inline element.\n *\n * @param props.as - Element to render (defaults to `span`).\n * @param props.tone - Visual tone variant.\n * @param props.size - Size preset.\n * @param props.icon - Optional leading icon.\n */\nimport type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./pill.module.css\";\n\nexport type PillTone = \"neutral\" | \"success\" | \"warning\" | \"info\" | \"danger\";\nexport type PillSize = \"sm\" | \"md\";\n\ntype PillElement = \"span\" | \"div\" | \"button\";\n\nexport type PillProps = HTMLAttributes<HTMLElement> & {\n /** Optional rendered element; defaults to `span`. */\n as?: PillElement;\n /** Visual tone; adjusts color and border. */\n tone?: PillTone;\n /** Size preset. */\n size?: PillSize;\n /** Leading icon node (not focusable). */\n icon?: ReactNode;\n};\n\nexport function Pill({\n as,\n tone = \"neutral\",\n size = \"md\",\n icon,\n className,\n children,\n ...rest\n}: PillProps) {\n const Component: PillElement = as ?? \"span\";\n const classes = cx(styles.pill, styles[`tone-${tone}`], styles[`size-${size}`], className);\n\n return (\n <Component className={classes} {...rest}>\n {icon ? (\n <span className={styles.icon} aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n <span className={styles.content}>{children}</span>\n </Component>\n );\n}\n"],"mappings":";;;;AA+BA,SAAgB,KAAK,EACnB,IACA,OAAO,WACP,OAAO,MACP,MACA,WACA,UACA,GAAG,QACS;CAIZ,OACE,qBAJ6B,MAAM,QAInC;EAAW,WAHG,GAAG,oBAAO,MAAM,oBAAO,QAAQ,SAAS,oBAAO,QAAQ,SAAS,SAGxD;EAAS,GAAI;YAAnC,CACG,OACC,oBAAC,QAAD;GAAM,WAAW,oBAAO;GAAM,eAAY;aACvC;EACG,CAAA,IACJ,MACJ,oBAAC,QAAD;GAAM,WAAW,oBAAO;GAAU;EAAe,CAAA,CACxC;;AAEf"}
|
package/dist/index12.cjs
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const require_cx = require("./index4.cjs");
|
|
2
|
+
const require_pill_module = require("./index11.cjs");
|
|
3
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
|
+
//#region src/components/pill/Pill.tsx
|
|
5
|
+
function Pill({ as, tone = "neutral", size = "md", icon, className, children, ...rest }) {
|
|
6
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(as ?? "span", {
|
|
7
|
+
className: require_cx.cx(require_pill_module.default.pill, require_pill_module.default[`tone-${tone}`], require_pill_module.default[`size-${size}`], className),
|
|
8
|
+
...rest,
|
|
9
|
+
children: [icon ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
10
|
+
className: require_pill_module.default.icon,
|
|
11
|
+
"aria-hidden": "true",
|
|
12
|
+
children: icon
|
|
13
|
+
}) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
14
|
+
className: require_pill_module.default.content,
|
|
15
|
+
children
|
|
16
|
+
})]
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.Pill = Pill;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=index12.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index12.cjs","names":[],"sources":["../src/components/pill/Pill.tsx"],"sourcesContent":["/**\n * Compact label component for status chips and tags.\n *\n * @remarks\n * Supports tone and size presets, and can render any inline element.\n *\n * @param props.as - Element to render (defaults to `span`).\n * @param props.tone - Visual tone variant.\n * @param props.size - Size preset.\n * @param props.icon - Optional leading icon.\n */\nimport type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./pill.module.css\";\n\nexport type PillTone = \"neutral\" | \"success\" | \"warning\" | \"info\" | \"danger\";\nexport type PillSize = \"sm\" | \"md\";\n\ntype PillElement = \"span\" | \"div\" | \"button\";\n\nexport type PillProps = HTMLAttributes<HTMLElement> & {\n /** Optional rendered element; defaults to `span`. */\n as?: PillElement;\n /** Visual tone; adjusts color and border. */\n tone?: PillTone;\n /** Size preset. */\n size?: PillSize;\n /** Leading icon node (not focusable). */\n icon?: ReactNode;\n};\n\nexport function Pill({\n as,\n tone = \"neutral\",\n size = \"md\",\n icon,\n className,\n children,\n ...rest\n}: PillProps) {\n const Component: PillElement = as ?? \"span\";\n const classes = cx(styles.pill, styles[`tone-${tone}`], styles[`size-${size}`], className);\n\n return (\n <Component className={classes} {...rest}>\n {icon ? (\n <span className={styles.icon} aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n <span className={styles.content}>{children}</span>\n </Component>\n );\n}\n"],"mappings":";;;;AA+BA,SAAgB,KAAK,EACnB,IACA,OAAO,WACP,OAAO,MACP,MACA,WACA,UACA,GAAG,QACS;CAIZ,OACE,iBAAA,GAAA,kBAAA,KAAA,CAJ6B,MAAM,QAInC;EAAW,WAHG,WAAA,GAAG,oBAAA,QAAO,MAAM,oBAAA,QAAO,QAAQ,SAAS,oBAAA,QAAO,QAAQ,SAAS,SAGxD;EAAS,GAAI;YAAnC,CACG,OACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAW,oBAAA,QAAO;GAAM,eAAY;aACvC;EACG,CAAA,IACJ,MACJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAW,oBAAA,QAAO;GAAU;EAAe,CAAA,CACxC;;AAEf"}
|
package/dist/index12.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/components/modal/modal.module.css
|
|
2
|
+
var portalLayer = "uzi-modal-module__portalLayer__t7blc";
|
|
3
|
+
var backdrop = "uzi-modal-module__backdrop__IMd3b";
|
|
4
|
+
var backdropFadeIn = "uzi-modal-module__backdropFadeIn__GNJdx";
|
|
5
|
+
var backdropFadeOut = "uzi-modal-module__backdropFadeOut__R-3K5";
|
|
6
|
+
var overlayContent = "uzi-modal-module__overlayContent__0DtbP";
|
|
7
|
+
var modalContentIn = "uzi-modal-module__modalContentIn__fub8M";
|
|
8
|
+
var modalContentOut = "uzi-modal-module__modalContentOut__elTJ3";
|
|
9
|
+
var modal = "uzi-modal-module__modal__Mao59";
|
|
10
|
+
var header = "uzi-modal-module__header__PmCaO";
|
|
11
|
+
var titles = "uzi-modal-module__titles__IboyQ";
|
|
12
|
+
var title = "uzi-modal-module__title__Zd7pL";
|
|
13
|
+
var subtitle = "uzi-modal-module__subtitle__t-LRK";
|
|
14
|
+
var closeButton = "uzi-modal-module__closeButton__GTiZr";
|
|
15
|
+
var body = "uzi-modal-module__body__km6FQ";
|
|
16
|
+
var footer = "uzi-modal-module__footer__jWLTv";
|
|
17
|
+
var modal_module_default = {
|
|
18
|
+
portalLayer,
|
|
19
|
+
backdrop,
|
|
20
|
+
backdropFadeIn,
|
|
21
|
+
backdropFadeOut,
|
|
22
|
+
overlayContent,
|
|
23
|
+
modalContentIn,
|
|
24
|
+
modalContentOut,
|
|
25
|
+
modal,
|
|
26
|
+
"size-sm": "uzi-modal-module__size-sm__Uu9je",
|
|
27
|
+
"size-md": "uzi-modal-module__size-md__TiiWy",
|
|
28
|
+
"size-lg": "uzi-modal-module__size-lg__BrTIO",
|
|
29
|
+
"size-xl": "uzi-modal-module__size-xl__sj0mh",
|
|
30
|
+
header,
|
|
31
|
+
titles,
|
|
32
|
+
title,
|
|
33
|
+
subtitle,
|
|
34
|
+
closeButton,
|
|
35
|
+
body,
|
|
36
|
+
footer
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
export { backdrop, backdropFadeIn, backdropFadeOut, body, closeButton, modal_module_default as default, footer, header, modal, modalContentIn, modalContentOut, overlayContent, portalLayer, subtitle, title, titles };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=index12.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index12.js","names":[],"sources":["../src/components/modal/modal.module.css"],"sourcesContent":[".portalLayer {\n position: fixed;\n inset: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n\n.backdrop {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.55);\n}\n\n.backdrop[data-state=\"open\"] {\n animation: backdropFadeIn 160ms ease;\n}\n\n.backdrop[data-state=\"closed\"] {\n animation: backdropFadeOut 140ms ease;\n}\n\n.overlayContent {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n max-width: 100%;\n max-height: 100%;\n outline: none;\n}\n\n.overlayContent[data-state=\"open\"] {\n animation: modalContentIn 180ms ease;\n}\n\n.overlayContent[data-state=\"closed\"] {\n animation: modalContentOut 140ms ease;\n}\n\n.modal {\n background: var(--background);\n border: 1px solid var(--border);\n border-radius: 14px;\n padding: 24px;\n width: min(500px, 100%);\n box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);\n display: flex;\n flex-direction: column;\n gap: 0;\n}\n\n/* Size variants */\n.size-sm { width: min(380px, 100%); }\n.size-md { width: min(500px, 100%); }\n.size-lg { width: min(640px, 100%); }\n.size-xl { width: min(900px, 100%); }\n\n.header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 16px;\n}\n\n.titles {\n display: flex;\n flex-direction: column;\n gap: 3px;\n}\n\n.title {\n font-weight: 700;\n font-size: 16px;\n color: var(--foreground);\n line-height: 1.3;\n}\n\n.subtitle {\n font-size: 13px;\n color: var(--muted-foreground);\n line-height: 1.4;\n}\n\n.closeButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n flex-shrink: 0;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 6px;\n color: var(--muted-foreground);\n cursor: pointer;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n\n.closeButton:hover {\n background: color-mix(in srgb, var(--foreground) 7%, transparent);\n color: var(--foreground);\n}\n\n.closeButton:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n}\n\n.body {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer {\n display: flex;\n gap: 8px;\n margin-top: 20px;\n}\n\n@keyframes backdropFadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes backdropFadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes modalContentIn {\n from {\n opacity: 0;\n transform: translateY(6px) scale(0.98);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n@keyframes modalContentOut {\n from {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n\n to {\n opacity: 0;\n transform: translateY(4px) scale(0.98);\n }\n}\n"],"mappings":""}
|
package/dist/index13.cjs
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
//#region src/components/modal/modal.module.css
|
|
2
|
+
var portalLayer = "uzi-modal-module__portalLayer__t7blc";
|
|
3
|
+
var backdrop = "uzi-modal-module__backdrop__IMd3b";
|
|
4
|
+
var backdropFadeIn = "uzi-modal-module__backdropFadeIn__GNJdx";
|
|
5
|
+
var backdropFadeOut = "uzi-modal-module__backdropFadeOut__R-3K5";
|
|
6
|
+
var overlayContent = "uzi-modal-module__overlayContent__0DtbP";
|
|
7
|
+
var modalContentIn = "uzi-modal-module__modalContentIn__fub8M";
|
|
8
|
+
var modalContentOut = "uzi-modal-module__modalContentOut__elTJ3";
|
|
9
|
+
var modal = "uzi-modal-module__modal__Mao59";
|
|
10
|
+
var header = "uzi-modal-module__header__PmCaO";
|
|
11
|
+
var titles = "uzi-modal-module__titles__IboyQ";
|
|
12
|
+
var title = "uzi-modal-module__title__Zd7pL";
|
|
13
|
+
var subtitle = "uzi-modal-module__subtitle__t-LRK";
|
|
14
|
+
var closeButton = "uzi-modal-module__closeButton__GTiZr";
|
|
15
|
+
var body = "uzi-modal-module__body__km6FQ";
|
|
16
|
+
var footer = "uzi-modal-module__footer__jWLTv";
|
|
17
|
+
var modal_module_default = {
|
|
18
|
+
portalLayer,
|
|
19
|
+
backdrop,
|
|
20
|
+
backdropFadeIn,
|
|
21
|
+
backdropFadeOut,
|
|
22
|
+
overlayContent,
|
|
23
|
+
modalContentIn,
|
|
24
|
+
modalContentOut,
|
|
25
|
+
modal,
|
|
26
|
+
"size-sm": "uzi-modal-module__size-sm__Uu9je",
|
|
27
|
+
"size-md": "uzi-modal-module__size-md__TiiWy",
|
|
28
|
+
"size-lg": "uzi-modal-module__size-lg__BrTIO",
|
|
29
|
+
"size-xl": "uzi-modal-module__size-xl__sj0mh",
|
|
30
|
+
header,
|
|
31
|
+
titles,
|
|
32
|
+
title,
|
|
33
|
+
subtitle,
|
|
34
|
+
closeButton,
|
|
35
|
+
body,
|
|
36
|
+
footer
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
exports.backdrop = backdrop;
|
|
40
|
+
exports.backdropFadeIn = backdropFadeIn;
|
|
41
|
+
exports.backdropFadeOut = backdropFadeOut;
|
|
42
|
+
exports.body = body;
|
|
43
|
+
exports.closeButton = closeButton;
|
|
44
|
+
exports.default = modal_module_default;
|
|
45
|
+
exports.footer = footer;
|
|
46
|
+
exports.header = header;
|
|
47
|
+
exports.modal = modal;
|
|
48
|
+
exports.modalContentIn = modalContentIn;
|
|
49
|
+
exports.modalContentOut = modalContentOut;
|
|
50
|
+
exports.overlayContent = overlayContent;
|
|
51
|
+
exports.portalLayer = portalLayer;
|
|
52
|
+
exports.subtitle = subtitle;
|
|
53
|
+
exports.title = title;
|
|
54
|
+
exports.titles = titles;
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=index13.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index13.cjs","names":[],"sources":["../src/components/modal/modal.module.css"],"sourcesContent":[".portalLayer {\n position: fixed;\n inset: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n\n.backdrop {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.55);\n}\n\n.backdrop[data-state=\"open\"] {\n animation: backdropFadeIn 160ms ease;\n}\n\n.backdrop[data-state=\"closed\"] {\n animation: backdropFadeOut 140ms ease;\n}\n\n.overlayContent {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n max-width: 100%;\n max-height: 100%;\n outline: none;\n}\n\n.overlayContent[data-state=\"open\"] {\n animation: modalContentIn 180ms ease;\n}\n\n.overlayContent[data-state=\"closed\"] {\n animation: modalContentOut 140ms ease;\n}\n\n.modal {\n background: var(--background);\n border: 1px solid var(--border);\n border-radius: 14px;\n padding: 24px;\n width: min(500px, 100%);\n box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);\n display: flex;\n flex-direction: column;\n gap: 0;\n}\n\n/* Size variants */\n.size-sm { width: min(380px, 100%); }\n.size-md { width: min(500px, 100%); }\n.size-lg { width: min(640px, 100%); }\n.size-xl { width: min(900px, 100%); }\n\n.header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 16px;\n}\n\n.titles {\n display: flex;\n flex-direction: column;\n gap: 3px;\n}\n\n.title {\n font-weight: 700;\n font-size: 16px;\n color: var(--foreground);\n line-height: 1.3;\n}\n\n.subtitle {\n font-size: 13px;\n color: var(--muted-foreground);\n line-height: 1.4;\n}\n\n.closeButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n flex-shrink: 0;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 6px;\n color: var(--muted-foreground);\n cursor: pointer;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n\n.closeButton:hover {\n background: color-mix(in srgb, var(--foreground) 7%, transparent);\n color: var(--foreground);\n}\n\n.closeButton:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n}\n\n.body {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer {\n display: flex;\n gap: 8px;\n margin-top: 20px;\n}\n\n@keyframes backdropFadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes backdropFadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes modalContentIn {\n from {\n opacity: 0;\n transform: translateY(6px) scale(0.98);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n@keyframes modalContentOut {\n from {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n\n to {\n opacity: 0;\n transform: translateY(4px) scale(0.98);\n }\n}\n"],"mappings":""}
|
package/dist/index13.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cx } from "./index3.js";
|
|
3
|
+
import modal_module_default from "./index12.js";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
6
|
+
//#region src/components/modal/Modal.tsx
|
|
7
|
+
function ModalOverlay({ open, onClose, className, children }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Root, {
|
|
9
|
+
open,
|
|
10
|
+
onOpenChange: (nextOpen) => {
|
|
11
|
+
if (!nextOpen) onClose();
|
|
12
|
+
},
|
|
13
|
+
children: /* @__PURE__ */ jsx(DialogPrimitive.Portal, { children: /* @__PURE__ */ jsxs("div", {
|
|
14
|
+
className: modal_module_default.portalLayer,
|
|
15
|
+
children: [/* @__PURE__ */ jsx(DialogPrimitive.Overlay, { className: cx(modal_module_default.backdrop, className) }), /* @__PURE__ */ jsx(DialogPrimitive.Content, {
|
|
16
|
+
className: modal_module_default.overlayContent,
|
|
17
|
+
children
|
|
18
|
+
})]
|
|
19
|
+
}) })
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function Modal({ open, onClose, title, subtitle, size = "md", children, footer }) {
|
|
23
|
+
return /* @__PURE__ */ jsx(ModalOverlay, {
|
|
24
|
+
open,
|
|
25
|
+
onClose,
|
|
26
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
27
|
+
className: cx(modal_module_default.modal, modal_module_default[`size-${size}`]),
|
|
28
|
+
children: [
|
|
29
|
+
/* @__PURE__ */ jsxs("div", {
|
|
30
|
+
className: modal_module_default.header,
|
|
31
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
32
|
+
className: modal_module_default.titles,
|
|
33
|
+
children: [/* @__PURE__ */ jsx(DialogPrimitive.Title, {
|
|
34
|
+
className: modal_module_default.title,
|
|
35
|
+
children: title
|
|
36
|
+
}), subtitle ? /* @__PURE__ */ jsx(DialogPrimitive.Description, {
|
|
37
|
+
className: modal_module_default.subtitle,
|
|
38
|
+
children: subtitle
|
|
39
|
+
}) : null]
|
|
40
|
+
}), /* @__PURE__ */ jsx(DialogPrimitive.Close, {
|
|
41
|
+
asChild: true,
|
|
42
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
43
|
+
className: modal_module_default.closeButton,
|
|
44
|
+
"aria-label": "Close",
|
|
45
|
+
children: /* @__PURE__ */ jsxs("svg", {
|
|
46
|
+
width: "14",
|
|
47
|
+
height: "14",
|
|
48
|
+
viewBox: "0 0 24 24",
|
|
49
|
+
fill: "none",
|
|
50
|
+
stroke: "currentColor",
|
|
51
|
+
strokeWidth: "2.5",
|
|
52
|
+
strokeLinecap: "round",
|
|
53
|
+
strokeLinejoin: "round",
|
|
54
|
+
children: [/* @__PURE__ */ jsx("line", {
|
|
55
|
+
x1: "18",
|
|
56
|
+
y1: "6",
|
|
57
|
+
x2: "6",
|
|
58
|
+
y2: "18"
|
|
59
|
+
}), /* @__PURE__ */ jsx("line", {
|
|
60
|
+
x1: "6",
|
|
61
|
+
y1: "6",
|
|
62
|
+
x2: "18",
|
|
63
|
+
y2: "18"
|
|
64
|
+
})]
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
})]
|
|
68
|
+
}),
|
|
69
|
+
/* @__PURE__ */ jsx("div", {
|
|
70
|
+
className: modal_module_default.body,
|
|
71
|
+
children
|
|
72
|
+
}),
|
|
73
|
+
footer && /* @__PURE__ */ jsx("div", {
|
|
74
|
+
className: modal_module_default.footer,
|
|
75
|
+
children: footer
|
|
76
|
+
})
|
|
77
|
+
]
|
|
78
|
+
})
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
export { Modal, ModalOverlay };
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=index13.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index13.js","names":[],"sources":["../src/components/modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactNode } from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./modal.module.css\";\n\n// ── ModalOverlay ─────────────────────────────────────────────────────────────\n// Bare backdrop + container. No opinions on layout inside.\n// Use this when you need a full-custom layout (e.g. wide media modals).\n\nexport type ModalOverlayProps = {\n open: boolean;\n onClose: () => void;\n /** Extra class applied to the backdrop */\n className?: string;\n children: ReactNode;\n};\n\nexport function ModalOverlay({ open, onClose, className, children }: ModalOverlayProps) {\n return (\n <DialogPrimitive.Root\n open={open}\n onOpenChange={(nextOpen: boolean) => {\n if (!nextOpen) onClose();\n }}\n >\n <DialogPrimitive.Portal>\n <div className={styles.portalLayer}>\n <DialogPrimitive.Overlay className={cx(styles.backdrop, className)} />\n <DialogPrimitive.Content className={styles.overlayContent}>\n {children}\n </DialogPrimitive.Content>\n </div>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n}\n\n// ── Modal ─────────────────────────────────────────────────────────────────────\n// Opinionated dialog: header (title + close button), scrollable body, footer.\n\nexport type ModalSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport type ModalProps = {\n open: boolean;\n onClose: () => void;\n title: string;\n subtitle?: string;\n size?: ModalSize;\n children: ReactNode;\n footer?: ReactNode;\n};\n\nexport function Modal({ open, onClose, title, subtitle, size = \"md\", children, footer }: ModalProps) {\n return (\n <ModalOverlay open={open} onClose={onClose}>\n <div className={cx(styles.modal, styles[`size-${size}`])}>\n <div className={styles.header}>\n <div className={styles.titles}>\n <DialogPrimitive.Title className={styles.title}>{title}</DialogPrimitive.Title>\n {subtitle ? (\n <DialogPrimitive.Description className={styles.subtitle}>\n {subtitle}\n </DialogPrimitive.Description>\n ) : null}\n </div>\n <DialogPrimitive.Close asChild>\n <button className={styles.closeButton} aria-label=\"Close\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n </button>\n </DialogPrimitive.Close>\n </div>\n\n <div className={styles.body}>{children}</div>\n\n {footer && <div className={styles.footer}>{footer}</div>}\n </div>\n </ModalOverlay>\n );\n}\n"],"mappings":";;;;;;AAmBA,SAAgB,aAAa,EAAE,MAAM,SAAS,WAAW,YAA+B;CACtF,OACE,oBAAC,gBAAgB,MAAjB;EACQ;EACN,eAAe,aAAsB;GACnC,IAAI,CAAC,UAAU,QAAQ;EACzB;YAEA,oBAAC,gBAAgB,QAAjB,EAAA,UACE,qBAAC,OAAD;GAAK,WAAW,qBAAO;aAAvB,CACE,oBAAC,gBAAgB,SAAjB,EAAyB,WAAW,GAAG,qBAAO,UAAU,SAAS,EAAI,CAAA,GACrE,oBAAC,gBAAgB,SAAjB;IAAyB,WAAW,qBAAO;IACxC;GACsB,CAAA,CACtB;KACiB,CAAA;CACJ,CAAA;AAE1B;AAiBA,SAAgB,MAAM,EAAE,MAAM,SAAS,OAAO,UAAU,OAAO,MAAM,UAAU,UAAsB;CACnG,OACE,oBAAC,cAAD;EAAoB;EAAe;YACjC,qBAAC,OAAD;GAAK,WAAW,GAAG,qBAAO,OAAO,qBAAO,QAAQ,OAAO;aAAvD;IACE,qBAAC,OAAD;KAAK,WAAW,qBAAO;eAAvB,CACE,qBAAC,OAAD;MAAK,WAAW,qBAAO;gBAAvB,CACE,oBAAC,gBAAgB,OAAjB;OAAuB,WAAW,qBAAO;iBAAQ;MAA6B,CAAA,GAC7E,WACC,oBAAC,gBAAgB,aAAjB;OAA6B,WAAW,qBAAO;iBAC5C;MAC0B,CAAA,IAC3B,IACD;SACL,oBAAC,gBAAgB,OAAjB;MAAuB,SAAA;gBACrB,oBAAC,UAAD;OAAQ,WAAW,qBAAO;OAAa,cAAW;iBAChD,qBAAC,OAAD;QAAK,OAAM;QAAK,QAAO;QAAK,SAAQ;QAAY,MAAK;QAAO,QAAO;QAAe,aAAY;QAAM,eAAc;QAAQ,gBAAe;kBAAzI,CACE,oBAAC,QAAD;SAAM,IAAG;SAAK,IAAG;SAAI,IAAG;SAAI,IAAG;QAAM,CAAA,GACrC,oBAAC,QAAD;SAAM,IAAG;SAAI,IAAG;SAAI,IAAG;SAAK,IAAG;QAAM,CAAA,CAClC;;MACC,CAAA;KACa,CAAA,CACpB;;IAEL,oBAAC,OAAD;KAAK,WAAW,qBAAO;KAAO;IAAc,CAAA;IAE3C,UAAU,oBAAC,OAAD;KAAK,WAAW,qBAAO;eAAS;IAAY,CAAA;GACpD;;CACO,CAAA;AAElB"}
|
package/dist/index14.cjs
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("./index2.cjs");
|
|
3
|
+
const require_cx = require("./index4.cjs");
|
|
4
|
+
const require_modal_module = require("./index13.cjs");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
let _radix_ui_react_dialog = require("@radix-ui/react-dialog");
|
|
7
|
+
_radix_ui_react_dialog = require_runtime.__toESM(_radix_ui_react_dialog, 1);
|
|
8
|
+
//#region src/components/modal/Modal.tsx
|
|
9
|
+
function ModalOverlay({ open, onClose, className, children }) {
|
|
10
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Root, {
|
|
11
|
+
open,
|
|
12
|
+
onOpenChange: (nextOpen) => {
|
|
13
|
+
if (!nextOpen) onClose();
|
|
14
|
+
},
|
|
15
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16
|
+
className: require_modal_module.default.portalLayer,
|
|
17
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Overlay, { className: require_cx.cx(require_modal_module.default.backdrop, className) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Content, {
|
|
18
|
+
className: require_modal_module.default.overlayContent,
|
|
19
|
+
children
|
|
20
|
+
})]
|
|
21
|
+
}) })
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function Modal({ open, onClose, title, subtitle, size = "md", children, footer }) {
|
|
25
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalOverlay, {
|
|
26
|
+
open,
|
|
27
|
+
onClose,
|
|
28
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
29
|
+
className: require_cx.cx(require_modal_module.default.modal, require_modal_module.default[`size-${size}`]),
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
32
|
+
className: require_modal_module.default.header,
|
|
33
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
34
|
+
className: require_modal_module.default.titles,
|
|
35
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Title, {
|
|
36
|
+
className: require_modal_module.default.title,
|
|
37
|
+
children: title
|
|
38
|
+
}), subtitle ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Description, {
|
|
39
|
+
className: require_modal_module.default.subtitle,
|
|
40
|
+
children: subtitle
|
|
41
|
+
}) : null]
|
|
42
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Close, {
|
|
43
|
+
asChild: true,
|
|
44
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
45
|
+
className: require_modal_module.default.closeButton,
|
|
46
|
+
"aria-label": "Close",
|
|
47
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
48
|
+
width: "14",
|
|
49
|
+
height: "14",
|
|
50
|
+
viewBox: "0 0 24 24",
|
|
51
|
+
fill: "none",
|
|
52
|
+
stroke: "currentColor",
|
|
53
|
+
strokeWidth: "2.5",
|
|
54
|
+
strokeLinecap: "round",
|
|
55
|
+
strokeLinejoin: "round",
|
|
56
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
|
|
57
|
+
x1: "18",
|
|
58
|
+
y1: "6",
|
|
59
|
+
x2: "6",
|
|
60
|
+
y2: "18"
|
|
61
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
|
|
62
|
+
x1: "6",
|
|
63
|
+
y1: "6",
|
|
64
|
+
x2: "18",
|
|
65
|
+
y2: "18"
|
|
66
|
+
})]
|
|
67
|
+
})
|
|
68
|
+
})
|
|
69
|
+
})]
|
|
70
|
+
}),
|
|
71
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
72
|
+
className: require_modal_module.default.body,
|
|
73
|
+
children
|
|
74
|
+
}),
|
|
75
|
+
footer && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
76
|
+
className: require_modal_module.default.footer,
|
|
77
|
+
children: footer
|
|
78
|
+
})
|
|
79
|
+
]
|
|
80
|
+
})
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
exports.Modal = Modal;
|
|
85
|
+
exports.ModalOverlay = ModalOverlay;
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=index14.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index14.cjs","names":[],"sources":["../src/components/modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactNode } from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./modal.module.css\";\n\n// ── ModalOverlay ─────────────────────────────────────────────────────────────\n// Bare backdrop + container. No opinions on layout inside.\n// Use this when you need a full-custom layout (e.g. wide media modals).\n\nexport type ModalOverlayProps = {\n open: boolean;\n onClose: () => void;\n /** Extra class applied to the backdrop */\n className?: string;\n children: ReactNode;\n};\n\nexport function ModalOverlay({ open, onClose, className, children }: ModalOverlayProps) {\n return (\n <DialogPrimitive.Root\n open={open}\n onOpenChange={(nextOpen: boolean) => {\n if (!nextOpen) onClose();\n }}\n >\n <DialogPrimitive.Portal>\n <div className={styles.portalLayer}>\n <DialogPrimitive.Overlay className={cx(styles.backdrop, className)} />\n <DialogPrimitive.Content className={styles.overlayContent}>\n {children}\n </DialogPrimitive.Content>\n </div>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n}\n\n// ── Modal ─────────────────────────────────────────────────────────────────────\n// Opinionated dialog: header (title + close button), scrollable body, footer.\n\nexport type ModalSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport type ModalProps = {\n open: boolean;\n onClose: () => void;\n title: string;\n subtitle?: string;\n size?: ModalSize;\n children: ReactNode;\n footer?: ReactNode;\n};\n\nexport function Modal({ open, onClose, title, subtitle, size = \"md\", children, footer }: ModalProps) {\n return (\n <ModalOverlay open={open} onClose={onClose}>\n <div className={cx(styles.modal, styles[`size-${size}`])}>\n <div className={styles.header}>\n <div className={styles.titles}>\n <DialogPrimitive.Title className={styles.title}>{title}</DialogPrimitive.Title>\n {subtitle ? (\n <DialogPrimitive.Description className={styles.subtitle}>\n {subtitle}\n </DialogPrimitive.Description>\n ) : null}\n </div>\n <DialogPrimitive.Close asChild>\n <button className={styles.closeButton} aria-label=\"Close\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n </button>\n </DialogPrimitive.Close>\n </div>\n\n <div className={styles.body}>{children}</div>\n\n {footer && <div className={styles.footer}>{footer}</div>}\n </div>\n </ModalOverlay>\n );\n}\n"],"mappings":";;;;;;;;AAmBA,SAAgB,aAAa,EAAE,MAAM,SAAS,WAAW,YAA+B;CACtF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAgB,MAAjB;EACQ;EACN,eAAe,aAAsB;GACnC,IAAI,CAAC,UAAU,QAAQ;EACzB;YAEA,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAgB,QAAjB,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;GAAK,WAAW,qBAAA,QAAO;aAAvB,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAgB,SAAjB,EAAyB,WAAW,WAAA,GAAG,qBAAA,QAAO,UAAU,SAAS,EAAI,CAAA,GACrE,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAgB,SAAjB;IAAyB,WAAW,qBAAA,QAAO;IACxC;GACsB,CAAA,CACtB;KACiB,CAAA;CACJ,CAAA;AAE1B;AAiBA,SAAgB,MAAM,EAAE,MAAM,SAAS,OAAO,UAAU,OAAO,MAAM,UAAU,UAAsB;CACnG,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD;EAAoB;EAAe;YACjC,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;GAAK,WAAW,WAAA,GAAG,qBAAA,QAAO,OAAO,qBAAA,QAAO,QAAQ,OAAO;aAAvD;IACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;KAAK,WAAW,qBAAA,QAAO;eAAvB,CACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;MAAK,WAAW,qBAAA,QAAO;gBAAvB,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAgB,OAAjB;OAAuB,WAAW,qBAAA,QAAO;iBAAQ;MAA6B,CAAA,GAC7E,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAgB,aAAjB;OAA6B,WAAW,qBAAA,QAAO;iBAC5C;MAC0B,CAAA,IAC3B,IACD;SACL,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAgB,OAAjB;MAAuB,SAAA;gBACrB,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;OAAQ,WAAW,qBAAA,QAAO;OAAa,cAAW;iBAChD,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;QAAK,OAAM;QAAK,QAAO;QAAK,SAAQ;QAAY,MAAK;QAAO,QAAO;QAAe,aAAY;QAAM,eAAc;QAAQ,gBAAe;kBAAzI,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;SAAM,IAAG;SAAK,IAAG;SAAI,IAAG;SAAI,IAAG;QAAM,CAAA,GACrC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;SAAM,IAAG;SAAI,IAAG;SAAI,IAAG;SAAK,IAAG;QAAM,CAAA,CAClC;;MACC,CAAA;KACa,CAAA,CACpB;;IAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAW,qBAAA,QAAO;KAAO;IAAc,CAAA;IAE3C,UAAU,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAW,qBAAA,QAAO;eAAS;IAAY,CAAA;GACpD;;CACO,CAAA;AAElB"}
|
package/dist/index14.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/components/alert/alert.module.css
|
|
2
|
+
var alert = "uzi-alert-module__alert__7Bt6c";
|
|
3
|
+
var success = "uzi-alert-module__success__apdFG";
|
|
4
|
+
var error = "uzi-alert-module__error__KLgi1";
|
|
5
|
+
var warning = "uzi-alert-module__warning__F4fpk";
|
|
6
|
+
var info = "uzi-alert-module__info__1IKHt";
|
|
7
|
+
var alert_module_default = {
|
|
8
|
+
alert,
|
|
9
|
+
success,
|
|
10
|
+
error,
|
|
11
|
+
warning,
|
|
12
|
+
info
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { alert, alert_module_default as default, error, info, success, warning };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=index14.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index14.js","names":[],"sources":["../src/components/alert/alert.module.css"],"sourcesContent":[".alert {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n border-radius: 0.375rem;\n border: 1px solid;\n padding: 0.625rem 0.875rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.success {\n border-color: color-mix(in srgb, var(--success) 35%, transparent);\n background: color-mix(in srgb, var(--success) 10%, transparent);\n color: color-mix(in srgb, var(--success) 90%, var(--foreground));\n}\n\n.error {\n border-color: color-mix(in srgb, var(--destructive) 35%, transparent);\n background: color-mix(in srgb, var(--destructive) 10%, transparent);\n color: color-mix(in srgb, var(--destructive) 90%, var(--foreground));\n}\n\n.warning {\n border-color: color-mix(in srgb, var(--warning) 35%, transparent);\n background: color-mix(in srgb, var(--warning) 10%, transparent);\n color: color-mix(in srgb, var(--warning) 90%, var(--foreground));\n}\n\n.info {\n border-color: color-mix(in srgb, var(--primary) 35%, transparent);\n background: color-mix(in srgb, var(--primary) 10%, transparent);\n color: color-mix(in srgb, var(--primary) 90%, var(--foreground));\n}\n"],"mappings":""}
|
package/dist/index15.cjs
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/components/alert/alert.module.css
|
|
2
|
+
var alert = "uzi-alert-module__alert__7Bt6c";
|
|
3
|
+
var success = "uzi-alert-module__success__apdFG";
|
|
4
|
+
var error = "uzi-alert-module__error__KLgi1";
|
|
5
|
+
var warning = "uzi-alert-module__warning__F4fpk";
|
|
6
|
+
var info = "uzi-alert-module__info__1IKHt";
|
|
7
|
+
var alert_module_default = {
|
|
8
|
+
alert,
|
|
9
|
+
success,
|
|
10
|
+
error,
|
|
11
|
+
warning,
|
|
12
|
+
info
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
exports.alert = alert;
|
|
16
|
+
exports.default = alert_module_default;
|
|
17
|
+
exports.error = error;
|
|
18
|
+
exports.info = info;
|
|
19
|
+
exports.success = success;
|
|
20
|
+
exports.warning = warning;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=index15.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index15.cjs","names":[],"sources":["../src/components/alert/alert.module.css"],"sourcesContent":[".alert {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n border-radius: 0.375rem;\n border: 1px solid;\n padding: 0.625rem 0.875rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.success {\n border-color: color-mix(in srgb, var(--success) 35%, transparent);\n background: color-mix(in srgb, var(--success) 10%, transparent);\n color: color-mix(in srgb, var(--success) 90%, var(--foreground));\n}\n\n.error {\n border-color: color-mix(in srgb, var(--destructive) 35%, transparent);\n background: color-mix(in srgb, var(--destructive) 10%, transparent);\n color: color-mix(in srgb, var(--destructive) 90%, var(--foreground));\n}\n\n.warning {\n border-color: color-mix(in srgb, var(--warning) 35%, transparent);\n background: color-mix(in srgb, var(--warning) 10%, transparent);\n color: color-mix(in srgb, var(--warning) 90%, var(--foreground));\n}\n\n.info {\n border-color: color-mix(in srgb, var(--primary) 35%, transparent);\n background: color-mix(in srgb, var(--primary) 10%, transparent);\n color: color-mix(in srgb, var(--primary) 90%, var(--foreground));\n}\n"],"mappings":""}
|
package/dist/index15.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cx } from "./index3.js";
|
|
3
|
+
import alert_module_default from "./index14.js";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/alert/Alert.tsx
|
|
6
|
+
function Alert({ tone, children, className }) {
|
|
7
|
+
return /* @__PURE__ */ jsx("div", {
|
|
8
|
+
className: cx(alert_module_default.alert, alert_module_default[tone], className),
|
|
9
|
+
role: "alert",
|
|
10
|
+
children
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { Alert };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=index15.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index15.js","names":[],"sources":["../src/components/alert/Alert.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./alert.module.css\";\n\nexport type AlertTone = \"success\" | \"error\" | \"warning\" | \"info\";\n\nexport type AlertProps = {\n tone: AlertTone;\n children: ReactNode;\n className?: string;\n};\n\nexport function Alert({ tone, children, className }: AlertProps) {\n return (\n <div className={cx(styles.alert, styles[tone], className)} role=\"alert\">\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;AAcA,SAAgB,MAAM,EAAE,MAAM,UAAU,aAAyB;CAC/D,OACE,oBAAC,OAAD;EAAK,WAAW,GAAG,qBAAO,OAAO,qBAAO,OAAO,SAAS;EAAG,MAAK;EAC7D;CACE,CAAA;AAET"}
|
package/dist/index16.cjs
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_cx = require("./index4.cjs");
|
|
3
|
+
const require_alert_module = require("./index15.cjs");
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
+
//#region src/components/alert/Alert.tsx
|
|
6
|
+
function Alert({ tone, children, className }) {
|
|
7
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8
|
+
className: require_cx.cx(require_alert_module.default.alert, require_alert_module.default[tone], className),
|
|
9
|
+
role: "alert",
|
|
10
|
+
children
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.Alert = Alert;
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=index16.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index16.cjs","names":[],"sources":["../src/components/alert/Alert.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./alert.module.css\";\n\nexport type AlertTone = \"success\" | \"error\" | \"warning\" | \"info\";\n\nexport type AlertProps = {\n tone: AlertTone;\n children: ReactNode;\n className?: string;\n};\n\nexport function Alert({ tone, children, className }: AlertProps) {\n return (\n <div className={cx(styles.alert, styles[tone], className)} role=\"alert\">\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;AAcA,SAAgB,MAAM,EAAE,MAAM,UAAU,aAAyB;CAC/D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,WAAW,WAAA,GAAG,qBAAA,QAAO,OAAO,qBAAA,QAAO,OAAO,SAAS;EAAG,MAAK;EAC7D;CACE,CAAA;AAET"}
|
package/dist/index16.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/components/toast/toast.module.css
|
|
2
|
+
var stack = "uzi-toast-module__stack__SRrda";
|
|
3
|
+
var topRight = "uzi-toast-module__topRight__WiZzM";
|
|
4
|
+
var topLeft = "uzi-toast-module__topLeft__SzFS9";
|
|
5
|
+
var topCenter = "uzi-toast-module__topCenter__X5W-x";
|
|
6
|
+
var bottomRight = "uzi-toast-module__bottomRight__DMtoS";
|
|
7
|
+
var bottomLeft = "uzi-toast-module__bottomLeft__ZZ7VF";
|
|
8
|
+
var bottomCenter = "uzi-toast-module__bottomCenter__QNJrM";
|
|
9
|
+
var toast = "uzi-toast-module__toast__HNUcj";
|
|
10
|
+
var toastSlideIn = "uzi-toast-module__toastSlideIn__BTXfm";
|
|
11
|
+
var toastSlideOut = "uzi-toast-module__toastSlideOut__mBX-G";
|
|
12
|
+
var toastSwipeOut = "uzi-toast-module__toastSwipeOut__R-jk2";
|
|
13
|
+
var icon = "uzi-toast-module__icon__LIAqr";
|
|
14
|
+
var body = "uzi-toast-module__body__9vzs7";
|
|
15
|
+
var message = "uzi-toast-module__message__TBY65";
|
|
16
|
+
var actions = "uzi-toast-module__actions__Iykd9";
|
|
17
|
+
var actionButton = "uzi-toast-module__actionButton__cvUr0";
|
|
18
|
+
var controls = "uzi-toast-module__controls__LqA4Q";
|
|
19
|
+
var iconButton = "uzi-toast-module__iconButton__FOsOp";
|
|
20
|
+
var iconButtonError = "uzi-toast-module__iconButtonError__NJsLX";
|
|
21
|
+
var toast_module_default = {
|
|
22
|
+
stack,
|
|
23
|
+
topRight,
|
|
24
|
+
topLeft,
|
|
25
|
+
topCenter,
|
|
26
|
+
bottomRight,
|
|
27
|
+
bottomLeft,
|
|
28
|
+
bottomCenter,
|
|
29
|
+
toast,
|
|
30
|
+
toastSlideIn,
|
|
31
|
+
toastSlideOut,
|
|
32
|
+
toastSwipeOut,
|
|
33
|
+
icon,
|
|
34
|
+
body,
|
|
35
|
+
message,
|
|
36
|
+
actions,
|
|
37
|
+
actionButton,
|
|
38
|
+
controls,
|
|
39
|
+
iconButton,
|
|
40
|
+
iconButtonError
|
|
41
|
+
};
|
|
42
|
+
//#endregion
|
|
43
|
+
export { actionButton, actions, body, bottomCenter, bottomLeft, bottomRight, controls, toast_module_default as default, icon, iconButton, iconButtonError, message, stack, toast, toastSlideIn, toastSlideOut, toastSwipeOut, topCenter, topLeft, topRight };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=index16.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index16.js","names":[],"sources":["../src/components/toast/toast.module.css"],"sourcesContent":[".stack {\n position: fixed;\n z-index: 2147483000;\n display: flex;\n flex-direction: column;\n gap: 10px;\n pointer-events: none;\n}\n\n.topRight {\n top: 16px;\n right: 16px;\n align-items: flex-end;\n}\n\n.topLeft {\n top: 16px;\n left: 16px;\n align-items: flex-start;\n}\n\n.topCenter {\n top: 16px;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n\n.bottomRight {\n bottom: 16px;\n right: 16px;\n align-items: flex-end;\n}\n\n.bottomLeft {\n bottom: 16px;\n left: 16px;\n align-items: flex-start;\n}\n\n.bottomCenter {\n bottom: 16px;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n\n.toast {\n pointer-events: auto;\n position: relative;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n min-width: 280px;\n max-width: min(420px, calc(100vw - 32px));\n padding: 12px 12px 12px 14px;\n border-radius: 10px;\n border: 1px solid var(--toast-border, var(--border));\n background: var(--toast-bg, var(--popover));\n color: var(--toast-text, var(--popover-foreground));\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10), 0 2px 6px rgba(0, 0, 0, 0.06);\n overflow: hidden;\n animation: toastSlideIn 180ms ease-out;\n}\n\n/* Left accent strip */\n.toast::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 3px;\n background: var(--toast-accent, transparent);\n border-radius: 10px 0 0 10px;\n}\n\n.toast[data-state=\"closed\"] {\n animation: toastSlideOut 160ms ease-in forwards;\n}\n\n.toast[data-swipe=\"move\"] {\n transform: translateX(var(--radix-toast-swipe-move-x));\n}\n\n.toast[data-swipe=\"cancel\"] {\n transform: translateX(0);\n transition: transform 180ms ease-out;\n}\n\n.toast[data-swipe=\"end\"] {\n animation: toastSwipeOut 160ms ease-out forwards;\n}\n\n.icon {\n width: 18px;\n height: 18px;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--toast-accent, var(--foreground));\n margin-top: 1px;\n}\n\n.body {\n flex: 1;\n min-width: 0;\n display: grid;\n gap: 6px;\n}\n\n.message {\n word-break: break-word;\n font-size: 14px;\n line-height: 1.4;\n}\n\n.actions {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.actionButton {\n padding: 5px 10px;\n font-size: 12px;\n font-weight: 600;\n border-radius: 6px;\n border: 1px solid var(--toast-action-border, var(--border));\n background: var(--toast-action-bg, color-mix(in srgb, var(--foreground) 8%, transparent));\n color: var(--toast-text, var(--popover-foreground));\n cursor: pointer;\n transition: background 120ms ease;\n}\n\n.actionButton:hover {\n background: color-mix(in srgb, var(--toast-action-bg, var(--foreground)), var(--foreground) 10%);\n}\n\n.controls {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 2px;\n margin: -2px -2px -2px 0;\n}\n\n.iconButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border: none;\n border-radius: 5px;\n background: transparent;\n color: var(--toast-text, var(--popover-foreground));\n opacity: 0.5;\n cursor: pointer;\n transition: opacity 120ms ease, background 120ms ease;\n}\n\n.iconButton:hover {\n opacity: 1;\n background: color-mix(in srgb, var(--foreground) 8%, transparent);\n}\n\n.iconButtonError {\n opacity: 1;\n color: var(--destructive);\n}\n\n.iconButton:focus-visible,\n.actionButton:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n}\n\n@keyframes toastSlideIn {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes toastSlideOut {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(-6px);\n }\n}\n\n@keyframes toastSwipeOut {\n from {\n opacity: 1;\n transform: translateX(var(--radix-toast-swipe-end-x));\n }\n\n to {\n opacity: 0;\n transform: translateX(calc(var(--radix-toast-swipe-end-x) * 1.05));\n }\n}\n"],"mappings":""}
|