@tomny-dev/uzi 0.2.5 → 0.2.6-pr.22.68.1.a53abf5
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/components/auth-card/AuthCard.d.ts +24 -0
- package/dist/components/auth-card/AuthCard.d.ts.map +1 -0
- package/dist/components/auth-card/AuthCard.test.d.ts +2 -0
- package/dist/components/auth-card/AuthCard.test.d.ts.map +1 -0
- package/dist/components/auth-pages/AuthPages.d.ts +58 -0
- package/dist/components/auth-pages/AuthPages.d.ts.map +1 -0
- package/dist/components/auth-pages/AuthPages.test.d.ts +2 -0
- package/dist/components/auth-pages/AuthPages.test.d.ts.map +1 -0
- package/dist/index.cjs +71 -1925
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -1858
- 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/index47.js +25 -0
- package/dist/index47.js.map +1 -0
- package/dist/index48.cjs +34 -0
- package/dist/index48.cjs.map +1 -0
- package/dist/index48.js +50 -0
- package/dist/index48.js.map +1 -0
- package/dist/index49.cjs +52 -0
- package/dist/index49.cjs.map +1 -0
- package/dist/index49.js +61 -0
- package/dist/index49.js.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/index50.cjs +88 -0
- package/dist/index50.cjs.map +1 -0
- package/dist/index50.js +436 -0
- package/dist/index50.js.map +1 -0
- package/dist/index51.cjs +440 -0
- package/dist/index51.cjs.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/dist/style.css +395 -0
- package/package.json +1 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/index22.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region src/components/checkbox/checkbox.module.css
|
|
2
|
+
var checkbox = "uzi-checkbox-module__checkbox__zAB1y";
|
|
3
|
+
var checkbox_module_default = { checkbox };
|
|
4
|
+
//#endregion
|
|
5
|
+
export { checkbox, checkbox_module_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=index22.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index22.js","names":[],"sources":["../src/components/checkbox/checkbox.module.css"],"sourcesContent":[".checkbox {\n width: 1rem;\n height: 1rem;\n margin: 0;\n border-radius: 0.25rem;\n border: 1px solid var(--ts-checkbox-border, var(--border));\n background: var(--ts-checkbox-bg, var(--background));\n accent-color: var(--ts-checkbox-accent, var(--primary));\n cursor: pointer;\n}\n\n.checkbox:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n}\n\n.checkbox:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n"],"mappings":""}
|
package/dist/index23.cjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/components/checkbox/checkbox.module.css
|
|
2
|
+
var checkbox = "uzi-checkbox-module__checkbox__zAB1y";
|
|
3
|
+
var checkbox_module_default = { checkbox };
|
|
4
|
+
//#endregion
|
|
5
|
+
exports.checkbox = checkbox;
|
|
6
|
+
exports.default = checkbox_module_default;
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=index23.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index23.cjs","names":[],"sources":["../src/components/checkbox/checkbox.module.css"],"sourcesContent":[".checkbox {\n width: 1rem;\n height: 1rem;\n margin: 0;\n border-radius: 0.25rem;\n border: 1px solid var(--ts-checkbox-border, var(--border));\n background: var(--ts-checkbox-bg, var(--background));\n accent-color: var(--ts-checkbox-accent, var(--primary));\n cursor: pointer;\n}\n\n.checkbox:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n}\n\n.checkbox:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n"],"mappings":""}
|
package/dist/index23.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { cx } from "./index3.js";
|
|
2
|
+
import checkbox_module_default from "./index22.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/checkbox/Checkbox.tsx
|
|
6
|
+
var Checkbox = React.forwardRef(({ className, ...props }, ref) => {
|
|
7
|
+
return /* @__PURE__ */ jsx("input", {
|
|
8
|
+
ref,
|
|
9
|
+
type: "checkbox",
|
|
10
|
+
className: cx(checkbox_module_default.checkbox, className),
|
|
11
|
+
...props
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
Checkbox.displayName = "Checkbox";
|
|
15
|
+
//#endregion
|
|
16
|
+
export { Checkbox };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=index23.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index23.js","names":[],"sources":["../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./checkbox.module.css\";\n\nexport type CheckboxProps = React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, ...props }, ref) => {\n return (\n <input\n ref={ref}\n type=\"checkbox\"\n className={cx(styles.checkbox, className)}\n {...props}\n />\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;;;AAMA,IAAa,WAAW,MAAM,YAC3B,EAAE,WAAW,GAAG,SAAS,QAAQ;CAChC,OACE,oBAAC,SAAD;EACO;EACL,MAAK;EACL,WAAW,GAAG,wBAAO,UAAU,SAAS;EACxC,GAAI;CACL,CAAA;AAEL,CACF;AAEA,SAAS,cAAc"}
|
package/dist/index24.cjs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const require_runtime = require("./index2.cjs");
|
|
2
|
+
const require_cx = require("./index4.cjs");
|
|
3
|
+
const require_checkbox_module = require("./index23.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
react = require_runtime.__toESM(react, 1);
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region src/components/checkbox/Checkbox.tsx
|
|
8
|
+
var Checkbox = react.forwardRef(({ className, ...props }, ref) => {
|
|
9
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
10
|
+
ref,
|
|
11
|
+
type: "checkbox",
|
|
12
|
+
className: require_cx.cx(require_checkbox_module.default.checkbox, className),
|
|
13
|
+
...props
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
Checkbox.displayName = "Checkbox";
|
|
17
|
+
//#endregion
|
|
18
|
+
exports.Checkbox = Checkbox;
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=index24.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index24.cjs","names":[],"sources":["../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./checkbox.module.css\";\n\nexport type CheckboxProps = React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, ...props }, ref) => {\n return (\n <input\n ref={ref}\n type=\"checkbox\"\n className={cx(styles.checkbox, className)}\n {...props}\n />\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;;;;;AAMA,IAAa,WAAW,MAAM,YAC3B,EAAE,WAAW,GAAG,SAAS,QAAQ;CAChC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;EACO;EACL,MAAK;EACL,WAAW,WAAA,GAAG,wBAAA,QAAO,UAAU,SAAS;EACxC,GAAI;CACL,CAAA;AAEL,CACF;AAEA,SAAS,cAAc"}
|
package/dist/index24.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/components/multi-select/multi-select.module.css
|
|
2
|
+
var wrapper = "uzi-multi-select-module__wrapper__Izj2x";
|
|
3
|
+
var wrapperFullWidth = "uzi-multi-select-module__wrapperFullWidth__eH8pf";
|
|
4
|
+
var trigger = "uzi-multi-select-module__trigger__r3816";
|
|
5
|
+
var value = "uzi-multi-select-module__value__PuUmG";
|
|
6
|
+
var placeholder = "uzi-multi-select-module__placeholder__dJIU-";
|
|
7
|
+
var chip = "uzi-multi-select-module__chip__46Ms-";
|
|
8
|
+
var chipSummary = "uzi-multi-select-module__chipSummary__zLwi8";
|
|
9
|
+
var chevron = "uzi-multi-select-module__chevron__SWK5l";
|
|
10
|
+
var menu = "uzi-multi-select-module__menu__q8auA";
|
|
11
|
+
var menuFadeIn = "uzi-multi-select-module__menuFadeIn__Plo7-";
|
|
12
|
+
var option = "uzi-multi-select-module__option__-Ioqk";
|
|
13
|
+
var optionDisabled = "uzi-multi-select-module__optionDisabled__qtCi8";
|
|
14
|
+
var optionSelected = "uzi-multi-select-module__optionSelected__74IO8";
|
|
15
|
+
var optionLabel = "uzi-multi-select-module__optionLabel__cVoN7";
|
|
16
|
+
var indicator = "uzi-multi-select-module__indicator__NO-WE";
|
|
17
|
+
var indicatorSelected = "uzi-multi-select-module__indicatorSelected__9sEAy";
|
|
18
|
+
var indicatorDisabled = "uzi-multi-select-module__indicatorDisabled__vqdiH";
|
|
19
|
+
var multi_select_module_default = {
|
|
20
|
+
wrapper,
|
|
21
|
+
wrapperFullWidth,
|
|
22
|
+
trigger,
|
|
23
|
+
value,
|
|
24
|
+
placeholder,
|
|
25
|
+
chip,
|
|
26
|
+
chipSummary,
|
|
27
|
+
chevron,
|
|
28
|
+
menu,
|
|
29
|
+
menuFadeIn,
|
|
30
|
+
option,
|
|
31
|
+
optionDisabled,
|
|
32
|
+
optionSelected,
|
|
33
|
+
optionLabel,
|
|
34
|
+
indicator,
|
|
35
|
+
indicatorSelected,
|
|
36
|
+
indicatorDisabled
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
export { chevron, chip, chipSummary, multi_select_module_default as default, indicator, indicatorDisabled, indicatorSelected, menu, menuFadeIn, option, optionDisabled, optionLabel, optionSelected, placeholder, trigger, value, wrapper, wrapperFullWidth };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=index24.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index24.js","names":[],"sources":["../src/components/multi-select/multi-select.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n}\n\n.wrapperFullWidth {\n width: 100%;\n}\n\n.trigger {\n width: 100%;\n min-width: 0;\n min-height: var(--uzi-control-min-height);\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.625rem;\n border-radius: var(--uzi-control-radius);\n border: 1px solid var(--ts-dropdown-border, var(--border));\n background: var(--ts-dropdown-bg, var(--panel));\n color: var(--ts-dropdown-text, var(--foreground));\n padding:\n var(--uzi-control-padding-y)\n var(--uzi-control-padding-x-compact)\n var(--uzi-control-padding-y)\n var(--uzi-control-padding-x);\n font-size: var(--uzi-control-font-size);\n line-height: var(--uzi-control-line-height);\n font-family: inherit;\n box-shadow: var(--uzi-control-shadow);\n transition:\n border-color 0.15s ease,\n background 0.15s ease,\n color 0.15s ease,\n box-shadow 0.15s ease;\n cursor: pointer;\n text-align: left;\n}\n\n.trigger:hover:not(:disabled) {\n border-color: var(--ts-dropdown-accent, var(--accent));\n box-shadow: var(--uzi-control-shadow-hover);\n}\n\n.trigger:focus-visible,\n.trigger[data-state=\"open\"] {\n border-color: var(--ts-dropdown-accent, var(--primary));\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent);\n}\n\n.trigger:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n box-shadow: none;\n}\n\n.value {\n min-width: 0;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n gap: 0.375rem;\n align-items: center;\n}\n\n.placeholder {\n color: var(--muted-foreground);\n}\n\n.chip {\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n padding: 2px 8px;\n border-radius: 999px;\n border: 1px solid color-mix(in srgb, var(--primary) 32%, transparent);\n background: color-mix(in srgb, var(--primary) 10%, transparent);\n color: var(--ts-dropdown-text, var(--foreground));\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1.2;\n white-space: nowrap;\n}\n\n.chipSummary {\n color: var(--primary);\n}\n\n.chevron {\n width: 10px;\n height: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--muted-foreground);\n flex-shrink: 0;\n transition: transform 0.15s ease, color 0.15s ease;\n}\n\n.trigger:hover:not(:disabled) .chevron,\n.trigger[data-state=\"open\"] .chevron {\n color: var(--ts-dropdown-text, var(--foreground));\n}\n\n.trigger[data-state=\"open\"] .chevron {\n transform: rotate(180deg);\n}\n\n.menu {\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 50;\n min-width: 100%;\n max-height: 16rem;\n overflow-y: auto;\n border: 1px solid var(--ts-menu-border, var(--border));\n border-radius: var(--uzi-menu-radius);\n background: var(--ts-menu-bg, var(--popover));\n color: var(--ts-menu-fg, var(--popover-foreground));\n padding: var(--uzi-menu-padding);\n box-shadow: var(--uzi-menu-shadow);\n animation: menuFadeIn 140ms ease;\n}\n\n.option {\n width: 100%;\n display: flex;\n align-items: center;\n gap: var(--uzi-menu-item-gap);\n border: none;\n border-radius: var(--uzi-menu-item-radius);\n background: transparent;\n color: inherit;\n padding: var(--uzi-menu-item-padding-y) var(--uzi-menu-item-padding-x);\n font: inherit;\n cursor: pointer;\n text-align: left;\n transition: background 0.12s ease, color 0.12s ease;\n}\n\n.option:hover:not(:disabled),\n.option:focus-visible,\n.option[data-highlighted] {\n background: var(--ts-menu-hover-bg, var(--accent));\n color: var(--ts-menu-hover-fg, var(--accent-foreground));\n outline: none;\n}\n\n.optionDisabled,\n.option[data-disabled] {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.optionSelected .optionLabel {\n color: var(--primary);\n}\n\n.indicator {\n width: 1rem;\n height: 1rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border-radius: 0.3125rem;\n border: 1px solid var(--border);\n color: transparent;\n background: transparent;\n transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease;\n}\n\n.indicatorSelected {\n border-color: color-mix(in srgb, var(--primary) 55%, transparent);\n background: color-mix(in srgb, var(--primary) 12%, transparent);\n color: var(--primary);\n}\n\n.indicatorDisabled {\n opacity: 0.65;\n}\n\n.optionLabel {\n min-width: 0;\n flex: 1;\n}\n\n@keyframes menuFadeIn {\n from {\n opacity: 0;\n transform: translateY(-4px) scale(0.98);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n"],"mappings":""}
|
package/dist/index25.cjs
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
//#region src/components/multi-select/multi-select.module.css
|
|
2
|
+
var wrapper = "uzi-multi-select-module__wrapper__Izj2x";
|
|
3
|
+
var wrapperFullWidth = "uzi-multi-select-module__wrapperFullWidth__eH8pf";
|
|
4
|
+
var trigger = "uzi-multi-select-module__trigger__r3816";
|
|
5
|
+
var value = "uzi-multi-select-module__value__PuUmG";
|
|
6
|
+
var placeholder = "uzi-multi-select-module__placeholder__dJIU-";
|
|
7
|
+
var chip = "uzi-multi-select-module__chip__46Ms-";
|
|
8
|
+
var chipSummary = "uzi-multi-select-module__chipSummary__zLwi8";
|
|
9
|
+
var chevron = "uzi-multi-select-module__chevron__SWK5l";
|
|
10
|
+
var menu = "uzi-multi-select-module__menu__q8auA";
|
|
11
|
+
var menuFadeIn = "uzi-multi-select-module__menuFadeIn__Plo7-";
|
|
12
|
+
var option = "uzi-multi-select-module__option__-Ioqk";
|
|
13
|
+
var optionDisabled = "uzi-multi-select-module__optionDisabled__qtCi8";
|
|
14
|
+
var optionSelected = "uzi-multi-select-module__optionSelected__74IO8";
|
|
15
|
+
var optionLabel = "uzi-multi-select-module__optionLabel__cVoN7";
|
|
16
|
+
var indicator = "uzi-multi-select-module__indicator__NO-WE";
|
|
17
|
+
var indicatorSelected = "uzi-multi-select-module__indicatorSelected__9sEAy";
|
|
18
|
+
var indicatorDisabled = "uzi-multi-select-module__indicatorDisabled__vqdiH";
|
|
19
|
+
var multi_select_module_default = {
|
|
20
|
+
wrapper,
|
|
21
|
+
wrapperFullWidth,
|
|
22
|
+
trigger,
|
|
23
|
+
value,
|
|
24
|
+
placeholder,
|
|
25
|
+
chip,
|
|
26
|
+
chipSummary,
|
|
27
|
+
chevron,
|
|
28
|
+
menu,
|
|
29
|
+
menuFadeIn,
|
|
30
|
+
option,
|
|
31
|
+
optionDisabled,
|
|
32
|
+
optionSelected,
|
|
33
|
+
optionLabel,
|
|
34
|
+
indicator,
|
|
35
|
+
indicatorSelected,
|
|
36
|
+
indicatorDisabled
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
exports.chevron = chevron;
|
|
40
|
+
exports.chip = chip;
|
|
41
|
+
exports.chipSummary = chipSummary;
|
|
42
|
+
exports.default = multi_select_module_default;
|
|
43
|
+
exports.indicator = indicator;
|
|
44
|
+
exports.indicatorDisabled = indicatorDisabled;
|
|
45
|
+
exports.indicatorSelected = indicatorSelected;
|
|
46
|
+
exports.menu = menu;
|
|
47
|
+
exports.menuFadeIn = menuFadeIn;
|
|
48
|
+
exports.option = option;
|
|
49
|
+
exports.optionDisabled = optionDisabled;
|
|
50
|
+
exports.optionLabel = optionLabel;
|
|
51
|
+
exports.optionSelected = optionSelected;
|
|
52
|
+
exports.placeholder = placeholder;
|
|
53
|
+
exports.trigger = trigger;
|
|
54
|
+
exports.value = value;
|
|
55
|
+
exports.wrapper = wrapper;
|
|
56
|
+
exports.wrapperFullWidth = wrapperFullWidth;
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=index25.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index25.cjs","names":[],"sources":["../src/components/multi-select/multi-select.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n}\n\n.wrapperFullWidth {\n width: 100%;\n}\n\n.trigger {\n width: 100%;\n min-width: 0;\n min-height: var(--uzi-control-min-height);\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.625rem;\n border-radius: var(--uzi-control-radius);\n border: 1px solid var(--ts-dropdown-border, var(--border));\n background: var(--ts-dropdown-bg, var(--panel));\n color: var(--ts-dropdown-text, var(--foreground));\n padding:\n var(--uzi-control-padding-y)\n var(--uzi-control-padding-x-compact)\n var(--uzi-control-padding-y)\n var(--uzi-control-padding-x);\n font-size: var(--uzi-control-font-size);\n line-height: var(--uzi-control-line-height);\n font-family: inherit;\n box-shadow: var(--uzi-control-shadow);\n transition:\n border-color 0.15s ease,\n background 0.15s ease,\n color 0.15s ease,\n box-shadow 0.15s ease;\n cursor: pointer;\n text-align: left;\n}\n\n.trigger:hover:not(:disabled) {\n border-color: var(--ts-dropdown-accent, var(--accent));\n box-shadow: var(--uzi-control-shadow-hover);\n}\n\n.trigger:focus-visible,\n.trigger[data-state=\"open\"] {\n border-color: var(--ts-dropdown-accent, var(--primary));\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent);\n}\n\n.trigger:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n box-shadow: none;\n}\n\n.value {\n min-width: 0;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n gap: 0.375rem;\n align-items: center;\n}\n\n.placeholder {\n color: var(--muted-foreground);\n}\n\n.chip {\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n padding: 2px 8px;\n border-radius: 999px;\n border: 1px solid color-mix(in srgb, var(--primary) 32%, transparent);\n background: color-mix(in srgb, var(--primary) 10%, transparent);\n color: var(--ts-dropdown-text, var(--foreground));\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1.2;\n white-space: nowrap;\n}\n\n.chipSummary {\n color: var(--primary);\n}\n\n.chevron {\n width: 10px;\n height: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--muted-foreground);\n flex-shrink: 0;\n transition: transform 0.15s ease, color 0.15s ease;\n}\n\n.trigger:hover:not(:disabled) .chevron,\n.trigger[data-state=\"open\"] .chevron {\n color: var(--ts-dropdown-text, var(--foreground));\n}\n\n.trigger[data-state=\"open\"] .chevron {\n transform: rotate(180deg);\n}\n\n.menu {\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 50;\n min-width: 100%;\n max-height: 16rem;\n overflow-y: auto;\n border: 1px solid var(--ts-menu-border, var(--border));\n border-radius: var(--uzi-menu-radius);\n background: var(--ts-menu-bg, var(--popover));\n color: var(--ts-menu-fg, var(--popover-foreground));\n padding: var(--uzi-menu-padding);\n box-shadow: var(--uzi-menu-shadow);\n animation: menuFadeIn 140ms ease;\n}\n\n.option {\n width: 100%;\n display: flex;\n align-items: center;\n gap: var(--uzi-menu-item-gap);\n border: none;\n border-radius: var(--uzi-menu-item-radius);\n background: transparent;\n color: inherit;\n padding: var(--uzi-menu-item-padding-y) var(--uzi-menu-item-padding-x);\n font: inherit;\n cursor: pointer;\n text-align: left;\n transition: background 0.12s ease, color 0.12s ease;\n}\n\n.option:hover:not(:disabled),\n.option:focus-visible,\n.option[data-highlighted] {\n background: var(--ts-menu-hover-bg, var(--accent));\n color: var(--ts-menu-hover-fg, var(--accent-foreground));\n outline: none;\n}\n\n.optionDisabled,\n.option[data-disabled] {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.optionSelected .optionLabel {\n color: var(--primary);\n}\n\n.indicator {\n width: 1rem;\n height: 1rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border-radius: 0.3125rem;\n border: 1px solid var(--border);\n color: transparent;\n background: transparent;\n transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease;\n}\n\n.indicatorSelected {\n border-color: color-mix(in srgb, var(--primary) 55%, transparent);\n background: color-mix(in srgb, var(--primary) 12%, transparent);\n color: var(--primary);\n}\n\n.indicatorDisabled {\n opacity: 0.65;\n}\n\n.optionLabel {\n min-width: 0;\n flex: 1;\n}\n\n@keyframes menuFadeIn {\n from {\n opacity: 0;\n transform: translateY(-4px) scale(0.98);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n"],"mappings":""}
|
package/dist/index25.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cx } from "./index3.js";
|
|
3
|
+
import multi_select_module_default from "./index24.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
7
|
+
//#region src/components/multi-select/MultiSelect.tsx
|
|
8
|
+
var MultiSelect = React.forwardRef(({ options, value, onChange, placeholder = "Select options", fullWidth = true, maxVisibleValues = 2, className, disabled = false, name, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy }, ref) => {
|
|
9
|
+
const selectedSet = React.useMemo(() => new Set(value), [value]);
|
|
10
|
+
const selectedOptions = React.useMemo(() => options.filter((opt) => selectedSet.has(opt.value)), [options, selectedSet]);
|
|
11
|
+
const toggleValue = React.useCallback((nextValue) => {
|
|
12
|
+
if (selectedSet.has(nextValue)) {
|
|
13
|
+
onChange(value.filter((entry) => entry !== nextValue));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
onChange([...value, nextValue]);
|
|
17
|
+
}, [
|
|
18
|
+
onChange,
|
|
19
|
+
selectedSet,
|
|
20
|
+
value
|
|
21
|
+
]);
|
|
22
|
+
const visibleCount = Math.max(1, maxVisibleValues);
|
|
23
|
+
const visibleOptions = selectedOptions.slice(0, visibleCount);
|
|
24
|
+
const overflowCount = Math.max(0, selectedOptions.length - visibleOptions.length);
|
|
25
|
+
return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, {
|
|
26
|
+
modal: false,
|
|
27
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
28
|
+
className: cx(multi_select_module_default.wrapper, fullWidth && multi_select_module_default.wrapperFullWidth, className),
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ jsx(DropdownMenuPrimitive.Trigger, {
|
|
31
|
+
asChild: true,
|
|
32
|
+
children: /* @__PURE__ */ jsxs("button", {
|
|
33
|
+
ref,
|
|
34
|
+
type: "button",
|
|
35
|
+
className: multi_select_module_default.trigger,
|
|
36
|
+
"aria-label": ariaLabel,
|
|
37
|
+
"aria-labelledby": ariaLabelledBy,
|
|
38
|
+
disabled,
|
|
39
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
40
|
+
className: multi_select_module_default.value,
|
|
41
|
+
children: selectedOptions.length === 0 ? /* @__PURE__ */ jsx("span", {
|
|
42
|
+
className: multi_select_module_default.placeholder,
|
|
43
|
+
children: placeholder
|
|
44
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [visibleOptions.map((option) => /* @__PURE__ */ jsx("span", {
|
|
45
|
+
className: multi_select_module_default.chip,
|
|
46
|
+
children: option.label
|
|
47
|
+
}, option.value)), overflowCount > 0 ? /* @__PURE__ */ jsxs("span", {
|
|
48
|
+
className: cx(multi_select_module_default.chip, multi_select_module_default.chipSummary),
|
|
49
|
+
children: ["+", overflowCount]
|
|
50
|
+
}) : null] })
|
|
51
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
52
|
+
className: multi_select_module_default.chevron,
|
|
53
|
+
"aria-hidden": "true",
|
|
54
|
+
children: /* @__PURE__ */ jsx("svg", {
|
|
55
|
+
viewBox: "0 0 10 10",
|
|
56
|
+
fill: "none",
|
|
57
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
58
|
+
width: "10",
|
|
59
|
+
height: "10",
|
|
60
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
61
|
+
d: "M2 3.5L5 6.5L8 3.5",
|
|
62
|
+
stroke: "currentColor",
|
|
63
|
+
strokeWidth: "1.5",
|
|
64
|
+
strokeLinecap: "round",
|
|
65
|
+
strokeLinejoin: "round"
|
|
66
|
+
})
|
|
67
|
+
})
|
|
68
|
+
})]
|
|
69
|
+
})
|
|
70
|
+
}),
|
|
71
|
+
name ? value.map((entry) => /* @__PURE__ */ jsx("input", {
|
|
72
|
+
type: "hidden",
|
|
73
|
+
name,
|
|
74
|
+
value: entry
|
|
75
|
+
}, entry)) : null,
|
|
76
|
+
/* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.Content, {
|
|
77
|
+
className: multi_select_module_default.menu,
|
|
78
|
+
sideOffset: 4,
|
|
79
|
+
align: "start",
|
|
80
|
+
children: options.map((option) => {
|
|
81
|
+
const selected = selectedSet.has(option.value);
|
|
82
|
+
return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.CheckboxItem, {
|
|
83
|
+
className: cx(multi_select_module_default.option, selected && multi_select_module_default.optionSelected, option.disabled && multi_select_module_default.optionDisabled),
|
|
84
|
+
checked: selected,
|
|
85
|
+
disabled: option.disabled,
|
|
86
|
+
onCheckedChange: () => toggleValue(option.value),
|
|
87
|
+
onSelect: (event) => event.preventDefault(),
|
|
88
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
89
|
+
className: cx(multi_select_module_default.indicator, selected && multi_select_module_default.indicatorSelected, option.disabled && multi_select_module_default.indicatorDisabled),
|
|
90
|
+
"aria-hidden": "true",
|
|
91
|
+
children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, {
|
|
92
|
+
forceMount: true,
|
|
93
|
+
children: /* @__PURE__ */ jsx("svg", {
|
|
94
|
+
viewBox: "0 0 16 16",
|
|
95
|
+
width: "16",
|
|
96
|
+
height: "16",
|
|
97
|
+
fill: "none",
|
|
98
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
99
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
100
|
+
d: "M3.5 8.5 6.5 11.5 12.5 4.5",
|
|
101
|
+
stroke: "currentColor",
|
|
102
|
+
strokeWidth: "1.8",
|
|
103
|
+
strokeLinecap: "round",
|
|
104
|
+
strokeLinejoin: "round"
|
|
105
|
+
})
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
109
|
+
className: multi_select_module_default.optionLabel,
|
|
110
|
+
children: option.label
|
|
111
|
+
})]
|
|
112
|
+
}, option.value);
|
|
113
|
+
})
|
|
114
|
+
}) })
|
|
115
|
+
]
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
MultiSelect.displayName = "MultiSelect";
|
|
120
|
+
//#endregion
|
|
121
|
+
export { MultiSelect };
|
|
122
|
+
|
|
123
|
+
//# sourceMappingURL=index25.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index25.js","names":[],"sources":["../src/components/multi-select/MultiSelect.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./multi-select.module.css\";\n\nexport type MultiSelectOption = {\n label: string;\n value: string;\n disabled?: boolean;\n};\n\nexport type MultiSelectProps = {\n options: MultiSelectOption[];\n value: string[];\n onChange: (value: string[]) => void;\n placeholder?: string;\n fullWidth?: boolean;\n maxVisibleValues?: number;\n className?: string;\n disabled?: boolean;\n name?: string;\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n};\n\nexport const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(\n (\n {\n options,\n value,\n onChange,\n placeholder = \"Select options\",\n fullWidth = true,\n maxVisibleValues = 2,\n className,\n disabled = false,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n },\n ref,\n ) => {\n const selectedSet = React.useMemo(() => new Set(value), [value]);\n const selectedOptions = React.useMemo(\n () => options.filter((opt) => selectedSet.has(opt.value)),\n [options, selectedSet],\n );\n\n const toggleValue = React.useCallback(\n (nextValue: string) => {\n if (selectedSet.has(nextValue)) {\n onChange(value.filter((entry) => entry !== nextValue));\n return;\n }\n\n onChange([...value, nextValue]);\n },\n [onChange, selectedSet, value],\n );\n\n const visibleCount = Math.max(1, maxVisibleValues);\n const visibleOptions = selectedOptions.slice(0, visibleCount);\n const overflowCount = Math.max(\n 0,\n selectedOptions.length - visibleOptions.length,\n );\n\n return (\n <DropdownMenuPrimitive.Root modal={false}>\n <div\n className={cx(\n styles.wrapper,\n fullWidth && styles.wrapperFullWidth,\n className,\n )}\n >\n <DropdownMenuPrimitive.Trigger asChild>\n <button\n ref={ref}\n type=\"button\"\n className={styles.trigger}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n disabled={disabled}\n >\n <span className={styles.value}>\n {selectedOptions.length === 0 ? (\n <span className={styles.placeholder}>{placeholder}</span>\n ) : (\n <>\n {visibleOptions.map((option) => (\n <span key={option.value} className={styles.chip}>\n {option.label}\n </span>\n ))}\n {overflowCount > 0 ? (\n <span\n className={cx(\n styles.chip,\n styles.chipSummary,\n )}\n >\n +{overflowCount}\n </span>\n ) : null}\n </>\n )}\n </span>\n <span className={styles.chevron} aria-hidden=\"true\">\n <svg\n viewBox=\"0 0 10 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"10\"\n >\n <path\n d=\"M2 3.5L5 6.5L8 3.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </span>\n </button>\n </DropdownMenuPrimitive.Trigger>\n\n {name\n ? value.map((entry) => (\n <input key={entry} type=\"hidden\" name={name} value={entry} />\n ))\n : null}\n\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n className={styles.menu}\n sideOffset={4}\n align=\"start\"\n >\n {options.map((option) => {\n const selected = selectedSet.has(option.value);\n\n return (\n <DropdownMenuPrimitive.CheckboxItem\n key={option.value}\n className={cx(\n styles.option,\n selected && styles.optionSelected,\n option.disabled && styles.optionDisabled,\n )}\n checked={selected}\n disabled={option.disabled}\n onCheckedChange={() => toggleValue(option.value)}\n onSelect={(event) => event.preventDefault()}\n >\n <span\n className={cx(\n styles.indicator,\n selected && styles.indicatorSelected,\n option.disabled && styles.indicatorDisabled,\n )}\n aria-hidden=\"true\"\n >\n <DropdownMenuPrimitive.ItemIndicator forceMount>\n <svg\n viewBox=\"0 0 16 16\"\n width=\"16\"\n height=\"16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.5 8.5 6.5 11.5 12.5 4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n <span className={styles.optionLabel}>{option.label}</span>\n </DropdownMenuPrimitive.CheckboxItem>\n );\n })}\n </DropdownMenuPrimitive.Content>\n </DropdownMenuPrimitive.Portal>\n </div>\n </DropdownMenuPrimitive.Root>\n );\n },\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n"],"mappings":";;;;;;;AA2BA,IAAa,cAAc,MAAM,YAE7B,EACE,SACA,OACA,UACA,cAAc,kBACd,YAAY,MACZ,mBAAmB,GACnB,WACA,WAAW,OACX,MACA,cAAc,WACd,mBAAmB,kBAErB,QACG;CACH,MAAM,cAAc,MAAM,cAAc,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC;CAC/D,MAAM,kBAAkB,MAAM,cACtB,QAAQ,QAAQ,QAAQ,YAAY,IAAI,IAAI,KAAK,CAAC,GACxD,CAAC,SAAS,WAAW,CACvB;CAEA,MAAM,cAAc,MAAM,aACvB,cAAsB;EACrB,IAAI,YAAY,IAAI,SAAS,GAAG;GAC9B,SAAS,MAAM,QAAQ,UAAU,UAAU,SAAS,CAAC;GACrD;EACF;EAEA,SAAS,CAAC,GAAG,OAAO,SAAS,CAAC;CAChC,GACA;EAAC;EAAU;EAAa;CAAK,CAC/B;CAEA,MAAM,eAAe,KAAK,IAAI,GAAG,gBAAgB;CACjD,MAAM,iBAAiB,gBAAgB,MAAM,GAAG,YAAY;CAC5D,MAAM,gBAAgB,KAAK,IACzB,GACA,gBAAgB,SAAS,eAAe,MAC1C;CAEA,OACE,oBAAC,sBAAsB,MAAvB;EAA4B,OAAO;YACjC,qBAAC,OAAD;GACE,WAAW,GACT,4BAAO,SACP,aAAa,4BAAO,kBACpB,SACF;aALF;IAOE,oBAAC,sBAAsB,SAAvB;KAA+B,SAAA;eAC7B,qBAAC,UAAD;MACO;MACL,MAAK;MACL,WAAW,4BAAO;MAClB,cAAY;MACZ,mBAAiB;MACP;gBANZ,CAQE,oBAAC,QAAD;OAAM,WAAW,4BAAO;iBACrB,gBAAgB,WAAW,IAC1B,oBAAC,QAAD;QAAM,WAAW,4BAAO;kBAAc;OAAkB,CAAA,IAExD,qBAAA,UAAA,EAAA,UAAA,CACG,eAAe,KAAK,WACnB,oBAAC,QAAD;QAAyB,WAAW,4BAAO;kBACxC,OAAO;OACJ,GAFK,OAAO,KAEZ,CACP,GACA,gBAAgB,IACf,qBAAC,QAAD;QACE,WAAW,GACT,4BAAO,MACP,4BAAO,WACT;kBAJF,CAKC,KACG,aACE;YACJ,IACJ,EAAA,CAAA;MAEA,CAAA,GACN,oBAAC,QAAD;OAAM,WAAW,4BAAO;OAAS,eAAY;iBAC3C,oBAAC,OAAD;QACE,SAAQ;QACR,MAAK;QACL,OAAM;QACN,OAAM;QACN,QAAO;kBAEP,oBAAC,QAAD;SACE,GAAE;SACF,QAAO;SACP,aAAY;SACZ,eAAc;SACd,gBAAe;QAChB,CAAA;OACE,CAAA;MACD,CAAA,CACA;;IACqB,CAAA;IAE9B,OACG,MAAM,KAAK,UACT,oBAAC,SAAD;KAAmB,MAAK;KAAe;KAAM,OAAO;IAAQ,GAAhD,KAAgD,CAC7D,IACD;IAEJ,oBAAC,sBAAsB,QAAvB,EAAA,UACE,oBAAC,sBAAsB,SAAvB;KACE,WAAW,4BAAO;KAClB,YAAY;KACZ,OAAM;eAEL,QAAQ,KAAK,WAAW;MACvB,MAAM,WAAW,YAAY,IAAI,OAAO,KAAK;MAE7C,OACE,qBAAC,sBAAsB,cAAvB;OAEE,WAAW,GACT,4BAAO,QACP,YAAY,4BAAO,gBACnB,OAAO,YAAY,4BAAO,cAC5B;OACA,SAAS;OACT,UAAU,OAAO;OACjB,uBAAuB,YAAY,OAAO,KAAK;OAC/C,WAAW,UAAU,MAAM,eAAe;iBAV5C,CAYE,oBAAC,QAAD;QACE,WAAW,GACT,4BAAO,WACP,YAAY,4BAAO,mBACnB,OAAO,YAAY,4BAAO,iBAC5B;QACA,eAAY;kBAEZ,oBAAC,sBAAsB,eAAvB;SAAqC,YAAA;mBACnC,oBAAC,OAAD;UACE,SAAQ;UACR,OAAM;UACN,QAAO;UACP,MAAK;UACL,OAAM;oBAEN,oBAAC,QAAD;WACE,GAAE;WACF,QAAO;WACP,aAAY;WACZ,eAAc;WACd,gBAAe;UAChB,CAAA;SACE,CAAA;QAC8B,CAAA;OACjC,CAAA,GACN,oBAAC,QAAD;QAAM,WAAW,4BAAO;kBAAc,OAAO;OAAY,CAAA,CACvB;SAtC7B,OAAO,KAsCsB;KAExC,CAAC;IAC4B,CAAA,EACH,CAAA;GAC3B;;CACqB,CAAA;AAEhC,CACF;AAEA,YAAY,cAAc"}
|
package/dist/index26.cjs
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("./index2.cjs");
|
|
3
|
+
const require_cx = require("./index4.cjs");
|
|
4
|
+
const require_multi_select_module = require("./index25.cjs");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
react = require_runtime.__toESM(react, 1);
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
let _radix_ui_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
9
|
+
_radix_ui_react_dropdown_menu = require_runtime.__toESM(_radix_ui_react_dropdown_menu, 1);
|
|
10
|
+
//#region src/components/multi-select/MultiSelect.tsx
|
|
11
|
+
var MultiSelect = react.forwardRef(({ options, value, onChange, placeholder = "Select options", fullWidth = true, maxVisibleValues = 2, className, disabled = false, name, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy }, ref) => {
|
|
12
|
+
const selectedSet = react.useMemo(() => new Set(value), [value]);
|
|
13
|
+
const selectedOptions = react.useMemo(() => options.filter((opt) => selectedSet.has(opt.value)), [options, selectedSet]);
|
|
14
|
+
const toggleValue = react.useCallback((nextValue) => {
|
|
15
|
+
if (selectedSet.has(nextValue)) {
|
|
16
|
+
onChange(value.filter((entry) => entry !== nextValue));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
onChange([...value, nextValue]);
|
|
20
|
+
}, [
|
|
21
|
+
onChange,
|
|
22
|
+
selectedSet,
|
|
23
|
+
value
|
|
24
|
+
]);
|
|
25
|
+
const visibleCount = Math.max(1, maxVisibleValues);
|
|
26
|
+
const visibleOptions = selectedOptions.slice(0, visibleCount);
|
|
27
|
+
const overflowCount = Math.max(0, selectedOptions.length - visibleOptions.length);
|
|
28
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dropdown_menu.Root, {
|
|
29
|
+
modal: false,
|
|
30
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
31
|
+
className: require_cx.cx(require_multi_select_module.default.wrapper, fullWidth && require_multi_select_module.default.wrapperFullWidth, className),
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dropdown_menu.Trigger, {
|
|
34
|
+
asChild: true,
|
|
35
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
36
|
+
ref,
|
|
37
|
+
type: "button",
|
|
38
|
+
className: require_multi_select_module.default.trigger,
|
|
39
|
+
"aria-label": ariaLabel,
|
|
40
|
+
"aria-labelledby": ariaLabelledBy,
|
|
41
|
+
disabled,
|
|
42
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
43
|
+
className: require_multi_select_module.default.value,
|
|
44
|
+
children: selectedOptions.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
45
|
+
className: require_multi_select_module.default.placeholder,
|
|
46
|
+
children: placeholder
|
|
47
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [visibleOptions.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
48
|
+
className: require_multi_select_module.default.chip,
|
|
49
|
+
children: option.label
|
|
50
|
+
}, option.value)), overflowCount > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
51
|
+
className: require_cx.cx(require_multi_select_module.default.chip, require_multi_select_module.default.chipSummary),
|
|
52
|
+
children: ["+", overflowCount]
|
|
53
|
+
}) : null] })
|
|
54
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
55
|
+
className: require_multi_select_module.default.chevron,
|
|
56
|
+
"aria-hidden": "true",
|
|
57
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
58
|
+
viewBox: "0 0 10 10",
|
|
59
|
+
fill: "none",
|
|
60
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
61
|
+
width: "10",
|
|
62
|
+
height: "10",
|
|
63
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
64
|
+
d: "M2 3.5L5 6.5L8 3.5",
|
|
65
|
+
stroke: "currentColor",
|
|
66
|
+
strokeWidth: "1.5",
|
|
67
|
+
strokeLinecap: "round",
|
|
68
|
+
strokeLinejoin: "round"
|
|
69
|
+
})
|
|
70
|
+
})
|
|
71
|
+
})]
|
|
72
|
+
})
|
|
73
|
+
}),
|
|
74
|
+
name ? value.map((entry) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
75
|
+
type: "hidden",
|
|
76
|
+
name,
|
|
77
|
+
value: entry
|
|
78
|
+
}, entry)) : null,
|
|
79
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dropdown_menu.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dropdown_menu.Content, {
|
|
80
|
+
className: require_multi_select_module.default.menu,
|
|
81
|
+
sideOffset: 4,
|
|
82
|
+
align: "start",
|
|
83
|
+
children: options.map((option) => {
|
|
84
|
+
const selected = selectedSet.has(option.value);
|
|
85
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_radix_ui_react_dropdown_menu.CheckboxItem, {
|
|
86
|
+
className: require_cx.cx(require_multi_select_module.default.option, selected && require_multi_select_module.default.optionSelected, option.disabled && require_multi_select_module.default.optionDisabled),
|
|
87
|
+
checked: selected,
|
|
88
|
+
disabled: option.disabled,
|
|
89
|
+
onCheckedChange: () => toggleValue(option.value),
|
|
90
|
+
onSelect: (event) => event.preventDefault(),
|
|
91
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
92
|
+
className: require_cx.cx(require_multi_select_module.default.indicator, selected && require_multi_select_module.default.indicatorSelected, option.disabled && require_multi_select_module.default.indicatorDisabled),
|
|
93
|
+
"aria-hidden": "true",
|
|
94
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_dropdown_menu.ItemIndicator, {
|
|
95
|
+
forceMount: true,
|
|
96
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
97
|
+
viewBox: "0 0 16 16",
|
|
98
|
+
width: "16",
|
|
99
|
+
height: "16",
|
|
100
|
+
fill: "none",
|
|
101
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
102
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
103
|
+
d: "M3.5 8.5 6.5 11.5 12.5 4.5",
|
|
104
|
+
stroke: "currentColor",
|
|
105
|
+
strokeWidth: "1.8",
|
|
106
|
+
strokeLinecap: "round",
|
|
107
|
+
strokeLinejoin: "round"
|
|
108
|
+
})
|
|
109
|
+
})
|
|
110
|
+
})
|
|
111
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
112
|
+
className: require_multi_select_module.default.optionLabel,
|
|
113
|
+
children: option.label
|
|
114
|
+
})]
|
|
115
|
+
}, option.value);
|
|
116
|
+
})
|
|
117
|
+
}) })
|
|
118
|
+
]
|
|
119
|
+
})
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
MultiSelect.displayName = "MultiSelect";
|
|
123
|
+
//#endregion
|
|
124
|
+
exports.MultiSelect = MultiSelect;
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=index26.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index26.cjs","names":[],"sources":["../src/components/multi-select/MultiSelect.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./multi-select.module.css\";\n\nexport type MultiSelectOption = {\n label: string;\n value: string;\n disabled?: boolean;\n};\n\nexport type MultiSelectProps = {\n options: MultiSelectOption[];\n value: string[];\n onChange: (value: string[]) => void;\n placeholder?: string;\n fullWidth?: boolean;\n maxVisibleValues?: number;\n className?: string;\n disabled?: boolean;\n name?: string;\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n};\n\nexport const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(\n (\n {\n options,\n value,\n onChange,\n placeholder = \"Select options\",\n fullWidth = true,\n maxVisibleValues = 2,\n className,\n disabled = false,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n },\n ref,\n ) => {\n const selectedSet = React.useMemo(() => new Set(value), [value]);\n const selectedOptions = React.useMemo(\n () => options.filter((opt) => selectedSet.has(opt.value)),\n [options, selectedSet],\n );\n\n const toggleValue = React.useCallback(\n (nextValue: string) => {\n if (selectedSet.has(nextValue)) {\n onChange(value.filter((entry) => entry !== nextValue));\n return;\n }\n\n onChange([...value, nextValue]);\n },\n [onChange, selectedSet, value],\n );\n\n const visibleCount = Math.max(1, maxVisibleValues);\n const visibleOptions = selectedOptions.slice(0, visibleCount);\n const overflowCount = Math.max(\n 0,\n selectedOptions.length - visibleOptions.length,\n );\n\n return (\n <DropdownMenuPrimitive.Root modal={false}>\n <div\n className={cx(\n styles.wrapper,\n fullWidth && styles.wrapperFullWidth,\n className,\n )}\n >\n <DropdownMenuPrimitive.Trigger asChild>\n <button\n ref={ref}\n type=\"button\"\n className={styles.trigger}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n disabled={disabled}\n >\n <span className={styles.value}>\n {selectedOptions.length === 0 ? (\n <span className={styles.placeholder}>{placeholder}</span>\n ) : (\n <>\n {visibleOptions.map((option) => (\n <span key={option.value} className={styles.chip}>\n {option.label}\n </span>\n ))}\n {overflowCount > 0 ? (\n <span\n className={cx(\n styles.chip,\n styles.chipSummary,\n )}\n >\n +{overflowCount}\n </span>\n ) : null}\n </>\n )}\n </span>\n <span className={styles.chevron} aria-hidden=\"true\">\n <svg\n viewBox=\"0 0 10 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"10\"\n >\n <path\n d=\"M2 3.5L5 6.5L8 3.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </span>\n </button>\n </DropdownMenuPrimitive.Trigger>\n\n {name\n ? value.map((entry) => (\n <input key={entry} type=\"hidden\" name={name} value={entry} />\n ))\n : null}\n\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n className={styles.menu}\n sideOffset={4}\n align=\"start\"\n >\n {options.map((option) => {\n const selected = selectedSet.has(option.value);\n\n return (\n <DropdownMenuPrimitive.CheckboxItem\n key={option.value}\n className={cx(\n styles.option,\n selected && styles.optionSelected,\n option.disabled && styles.optionDisabled,\n )}\n checked={selected}\n disabled={option.disabled}\n onCheckedChange={() => toggleValue(option.value)}\n onSelect={(event) => event.preventDefault()}\n >\n <span\n className={cx(\n styles.indicator,\n selected && styles.indicatorSelected,\n option.disabled && styles.indicatorDisabled,\n )}\n aria-hidden=\"true\"\n >\n <DropdownMenuPrimitive.ItemIndicator forceMount>\n <svg\n viewBox=\"0 0 16 16\"\n width=\"16\"\n height=\"16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.5 8.5 6.5 11.5 12.5 4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n <span className={styles.optionLabel}>{option.label}</span>\n </DropdownMenuPrimitive.CheckboxItem>\n );\n })}\n </DropdownMenuPrimitive.Content>\n </DropdownMenuPrimitive.Portal>\n </div>\n </DropdownMenuPrimitive.Root>\n );\n },\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n"],"mappings":"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"}
|
package/dist/index26.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region src/components/select/select.module.css
|
|
2
|
+
var wrapper = "uzi-select-module__wrapper__7szq0";
|
|
3
|
+
var wrapperFullWidth = "uzi-select-module__wrapperFullWidth__IyOIG";
|
|
4
|
+
var trigger = "uzi-select-module__trigger__ldh8w";
|
|
5
|
+
var value = "uzi-select-module__value__FTUJh";
|
|
6
|
+
var chevron = "uzi-select-module__chevron__U6HXS";
|
|
7
|
+
var content = "uzi-select-module__content__pOWWy";
|
|
8
|
+
var selectFadeIn = "uzi-select-module__selectFadeIn__Z-yKX";
|
|
9
|
+
var viewport = "uzi-select-module__viewport__VGZM6";
|
|
10
|
+
var item = "uzi-select-module__item__6uM6-";
|
|
11
|
+
var indicator = "uzi-select-module__indicator__ZHcg5";
|
|
12
|
+
var indicatorIcon = "uzi-select-module__indicatorIcon__kOV2G";
|
|
13
|
+
var select_module_default = {
|
|
14
|
+
wrapper,
|
|
15
|
+
wrapperFullWidth,
|
|
16
|
+
trigger,
|
|
17
|
+
value,
|
|
18
|
+
chevron,
|
|
19
|
+
content,
|
|
20
|
+
selectFadeIn,
|
|
21
|
+
viewport,
|
|
22
|
+
item,
|
|
23
|
+
indicator,
|
|
24
|
+
indicatorIcon
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { chevron, content, select_module_default as default, indicator, indicatorIcon, item, selectFadeIn, trigger, value, viewport, wrapper, wrapperFullWidth };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index26.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index26.js","names":[],"sources":["../src/components/select/select.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n}\n\n.wrapperFullWidth {\n width: 100%;\n}\n\n.wrapper:not(.wrapperFullWidth) .trigger {\n width: auto;\n}\n\n.trigger {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.625rem;\n width: 100%;\n min-width: 0;\n min-height: var(--uzi-control-min-height);\n border-radius: var(--uzi-control-radius);\n border: 1px solid var(--ts-dropdown-border, var(--border));\n background: var(--ts-dropdown-bg, var(--panel));\n color: var(--ts-dropdown-text, var(--foreground));\n padding:\n var(--uzi-control-padding-y)\n var(--uzi-control-padding-x-compact)\n var(--uzi-control-padding-y)\n var(--uzi-control-padding-x);\n font-size: var(--uzi-control-font-size);\n line-height: var(--uzi-control-line-height);\n font-family: inherit;\n font-weight: 500;\n box-shadow: var(--uzi-control-shadow);\n transition:\n border-color 0.15s ease,\n background 0.15s ease,\n color 0.15s ease,\n box-shadow 0.15s ease;\n cursor: pointer;\n text-align: left;\n}\n\n.value {\n min-width: 0;\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.trigger:hover:not(:disabled) {\n border-color: var(--ts-dropdown-accent, var(--accent));\n box-shadow: var(--uzi-control-shadow-hover);\n}\n\n.trigger:focus-visible {\n border-color: var(--ts-dropdown-accent, var(--primary));\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent);\n}\n\n.trigger[data-placeholder] {\n color: var(--muted-foreground);\n}\n\n.trigger:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n box-shadow: none;\n}\n\n.chevron {\n width: 10px;\n height: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--muted-foreground);\n flex-shrink: 0;\n position: relative;\n top: -1px;\n transition: transform 0.15s ease, color 0.15s ease;\n}\n\n.chevron svg {\n display: block;\n}\n\n.trigger:hover:not(:disabled) .chevron,\n.trigger[data-state=\"open\"] .chevron {\n color: var(--ts-dropdown-text, var(--foreground));\n}\n\n.trigger[data-state=\"open\"] .chevron {\n transform: rotate(180deg);\n}\n\n.content {\n z-index: 50;\n min-width: var(--radix-select-trigger-width);\n max-height: min(18rem, var(--radix-select-content-available-height));\n overflow: hidden;\n border: 1px solid var(--ts-menu-border, var(--border));\n border-radius: var(--uzi-menu-radius);\n background: var(--ts-menu-bg, var(--popover));\n color: var(--ts-menu-fg, var(--popover-foreground));\n padding: var(--uzi-menu-padding);\n box-shadow: var(--uzi-menu-shadow);\n animation: selectFadeIn 140ms ease;\n}\n\n.viewport {\n max-height: inherit;\n overflow-y: auto;\n}\n\n.item {\n position: relative;\n display: flex;\n width: 100%;\n cursor: default;\n user-select: none;\n align-items: center;\n gap: var(--uzi-menu-item-gap);\n border-radius: var(--uzi-menu-item-radius);\n padding:\n var(--uzi-menu-item-padding-y)\n var(--uzi-menu-item-padding-x)\n var(--uzi-menu-item-padding-y)\n 2rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n outline: none;\n}\n\n.item[data-highlighted] {\n background: var(--ts-menu-hover-bg, var(--accent));\n color: var(--ts-menu-hover-fg, var(--accent-foreground));\n}\n\n.item[data-disabled] {\n pointer-events: none;\n opacity: 0.5;\n}\n\n.item[data-state=\"checked\"] {\n color: var(--primary);\n}\n\n.indicator {\n position: absolute;\n left: 0.625rem;\n display: inline-flex;\n width: 1rem;\n height: 1rem;\n align-items: center;\n justify-content: center;\n color: currentColor;\n}\n\n.indicatorIcon {\n display: block;\n}\n\n@keyframes selectFadeIn {\n from {\n opacity: 0;\n transform: translateY(-4px) scale(0.98);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n"],"mappings":""}
|
package/dist/index27.cjs
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//#region src/components/select/select.module.css
|
|
2
|
+
var wrapper = "uzi-select-module__wrapper__7szq0";
|
|
3
|
+
var wrapperFullWidth = "uzi-select-module__wrapperFullWidth__IyOIG";
|
|
4
|
+
var trigger = "uzi-select-module__trigger__ldh8w";
|
|
5
|
+
var value = "uzi-select-module__value__FTUJh";
|
|
6
|
+
var chevron = "uzi-select-module__chevron__U6HXS";
|
|
7
|
+
var content = "uzi-select-module__content__pOWWy";
|
|
8
|
+
var selectFadeIn = "uzi-select-module__selectFadeIn__Z-yKX";
|
|
9
|
+
var viewport = "uzi-select-module__viewport__VGZM6";
|
|
10
|
+
var item = "uzi-select-module__item__6uM6-";
|
|
11
|
+
var indicator = "uzi-select-module__indicator__ZHcg5";
|
|
12
|
+
var indicatorIcon = "uzi-select-module__indicatorIcon__kOV2G";
|
|
13
|
+
var select_module_default = {
|
|
14
|
+
wrapper,
|
|
15
|
+
wrapperFullWidth,
|
|
16
|
+
trigger,
|
|
17
|
+
value,
|
|
18
|
+
chevron,
|
|
19
|
+
content,
|
|
20
|
+
selectFadeIn,
|
|
21
|
+
viewport,
|
|
22
|
+
item,
|
|
23
|
+
indicator,
|
|
24
|
+
indicatorIcon
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
exports.chevron = chevron;
|
|
28
|
+
exports.content = content;
|
|
29
|
+
exports.default = select_module_default;
|
|
30
|
+
exports.indicator = indicator;
|
|
31
|
+
exports.indicatorIcon = indicatorIcon;
|
|
32
|
+
exports.item = item;
|
|
33
|
+
exports.selectFadeIn = selectFadeIn;
|
|
34
|
+
exports.trigger = trigger;
|
|
35
|
+
exports.value = value;
|
|
36
|
+
exports.viewport = viewport;
|
|
37
|
+
exports.wrapper = wrapper;
|
|
38
|
+
exports.wrapperFullWidth = wrapperFullWidth;
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=index27.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index27.cjs","names":[],"sources":["../src/components/select/select.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n}\n\n.wrapperFullWidth {\n width: 100%;\n}\n\n.wrapper:not(.wrapperFullWidth) .trigger {\n width: auto;\n}\n\n.trigger {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.625rem;\n width: 100%;\n min-width: 0;\n min-height: var(--uzi-control-min-height);\n border-radius: var(--uzi-control-radius);\n border: 1px solid var(--ts-dropdown-border, var(--border));\n background: var(--ts-dropdown-bg, var(--panel));\n color: var(--ts-dropdown-text, var(--foreground));\n padding:\n var(--uzi-control-padding-y)\n var(--uzi-control-padding-x-compact)\n var(--uzi-control-padding-y)\n var(--uzi-control-padding-x);\n font-size: var(--uzi-control-font-size);\n line-height: var(--uzi-control-line-height);\n font-family: inherit;\n font-weight: 500;\n box-shadow: var(--uzi-control-shadow);\n transition:\n border-color 0.15s ease,\n background 0.15s ease,\n color 0.15s ease,\n box-shadow 0.15s ease;\n cursor: pointer;\n text-align: left;\n}\n\n.value {\n min-width: 0;\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.trigger:hover:not(:disabled) {\n border-color: var(--ts-dropdown-accent, var(--accent));\n box-shadow: var(--uzi-control-shadow-hover);\n}\n\n.trigger:focus-visible {\n border-color: var(--ts-dropdown-accent, var(--primary));\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent);\n}\n\n.trigger[data-placeholder] {\n color: var(--muted-foreground);\n}\n\n.trigger:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n box-shadow: none;\n}\n\n.chevron {\n width: 10px;\n height: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--muted-foreground);\n flex-shrink: 0;\n position: relative;\n top: -1px;\n transition: transform 0.15s ease, color 0.15s ease;\n}\n\n.chevron svg {\n display: block;\n}\n\n.trigger:hover:not(:disabled) .chevron,\n.trigger[data-state=\"open\"] .chevron {\n color: var(--ts-dropdown-text, var(--foreground));\n}\n\n.trigger[data-state=\"open\"] .chevron {\n transform: rotate(180deg);\n}\n\n.content {\n z-index: 50;\n min-width: var(--radix-select-trigger-width);\n max-height: min(18rem, var(--radix-select-content-available-height));\n overflow: hidden;\n border: 1px solid var(--ts-menu-border, var(--border));\n border-radius: var(--uzi-menu-radius);\n background: var(--ts-menu-bg, var(--popover));\n color: var(--ts-menu-fg, var(--popover-foreground));\n padding: var(--uzi-menu-padding);\n box-shadow: var(--uzi-menu-shadow);\n animation: selectFadeIn 140ms ease;\n}\n\n.viewport {\n max-height: inherit;\n overflow-y: auto;\n}\n\n.item {\n position: relative;\n display: flex;\n width: 100%;\n cursor: default;\n user-select: none;\n align-items: center;\n gap: var(--uzi-menu-item-gap);\n border-radius: var(--uzi-menu-item-radius);\n padding:\n var(--uzi-menu-item-padding-y)\n var(--uzi-menu-item-padding-x)\n var(--uzi-menu-item-padding-y)\n 2rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n outline: none;\n}\n\n.item[data-highlighted] {\n background: var(--ts-menu-hover-bg, var(--accent));\n color: var(--ts-menu-hover-fg, var(--accent-foreground));\n}\n\n.item[data-disabled] {\n pointer-events: none;\n opacity: 0.5;\n}\n\n.item[data-state=\"checked\"] {\n color: var(--primary);\n}\n\n.indicator {\n position: absolute;\n left: 0.625rem;\n display: inline-flex;\n width: 1rem;\n height: 1rem;\n align-items: center;\n justify-content: center;\n color: currentColor;\n}\n\n.indicatorIcon {\n display: block;\n}\n\n@keyframes selectFadeIn {\n from {\n opacity: 0;\n transform: translateY(-4px) scale(0.98);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n"],"mappings":""}
|