@ai-matrx/design-system 0.86.337 → 0.86.338
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/CHANGELOG.md +15 -1
- package/dist/carousel.js +6 -6
- package/dist/{chunk-GHPUO3O7.js → chunk-5IR3BZOS.js} +2 -2
- package/dist/{chunk-DQUCOMAC.js → chunk-6QKT52FR.js} +2 -2
- package/dist/{chunk-B24DLFWR.js → chunk-B4WMMAAJ.js} +2 -2
- package/dist/{chunk-M34WPTPX.js → chunk-CEA6X445.js} +2 -2
- package/dist/{chunk-PBDQZPKV.js → chunk-CJBSBKG5.js} +2 -2
- package/dist/{chunk-Q2HWDJED.js → chunk-GLLPO66A.js} +2 -2
- package/dist/{chunk-WZC3K7SO.js → chunk-LGC6EVFE.js} +4 -4
- package/dist/chunk-LGC6EVFE.js.map +1 -0
- package/dist/{chunk-BYOFPPPI.js → chunk-M45FEAVG.js} +4 -4
- package/dist/{chunk-RGJPHRU3.js → chunk-T4IJELSS.js} +4 -4
- package/dist/{chunk-L5OACQXS.js → chunk-TO4ZLGDW.js} +5 -2
- package/dist/chunk-TO4ZLGDW.js.map +1 -0
- package/dist/{chunk-VQ3G6AFN.js → chunk-TWRC7NP4.js} +4 -4
- package/dist/{chunk-BM2YYBUO.js → chunk-UM45E3LO.js} +2 -2
- package/dist/{chunk-SMJGESH7.js → chunk-WFITMVDB.js} +5 -2
- package/dist/{chunk-SMJGESH7.js.map → chunk-WFITMVDB.js.map} +1 -1
- package/dist/{chunk-QOEKPR37.js → chunk-XTP6HOB6.js} +2 -2
- package/dist/clipboard-fallback-dialog.cjs +4 -1
- package/dist/clipboard-fallback-dialog.cjs.map +1 -1
- package/dist/clipboard-fallback-dialog.js +3 -3
- package/dist/controls.cjs +4 -1
- package/dist/controls.cjs.map +1 -1
- package/dist/controls.js +6 -6
- package/dist/data-table/data-row-inspector.js +5 -5
- package/dist/data-table/data-row-window.js +6 -6
- package/dist/data-table/index.cjs +4 -1
- package/dist/data-table/index.cjs.map +1 -1
- package/dist/data-table/index.js +9 -9
- package/dist/data-table/layered-filter-builder.cjs +4 -1
- package/dist/data-table/layered-filter-builder.cjs.map +1 -1
- package/dist/data-table/layered-filter-builder.js +2 -2
- package/dist/data-table/pagination.cjs +4 -1
- package/dist/data-table/pagination.cjs.map +1 -1
- package/dist/data-table/pagination.js +3 -3
- package/dist/data-table/uuid-cell.js +3 -3
- package/dist/desktop.cjs +4 -1
- package/dist/desktop.cjs.map +1 -1
- package/dist/desktop.js +5 -5
- package/dist/email-input-dialog.cjs +4 -1
- package/dist/email-input-dialog.cjs.map +1 -1
- package/dist/email-input-dialog.js +2 -2
- package/dist/index.cjs +8 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +9 -9
- package/dist/item.cjs +5 -2
- package/dist/item.cjs.map +1 -1
- package/dist/item.d.cts +5 -3
- package/dist/item.d.ts +5 -3
- package/dist/item.js +4 -4
- package/dist/lite-table.js +2 -2
- package/dist/menu-look.cjs +4 -1
- package/dist/menu-look.cjs.map +1 -1
- package/dist/menu-look.css +8 -0
- package/dist/menu-look.d.cts +4 -1
- package/dist/menu-look.d.ts +4 -1
- package/dist/menu-look.js +1 -1
- package/dist/record-list.cjs +5 -2
- package/dist/record-list.cjs.map +1 -1
- package/dist/record-list.d.cts +5 -3
- package/dist/record-list.d.ts +5 -3
- package/dist/record-list.js +4 -4
- package/dist/settings.cjs +4 -1
- package/dist/settings.cjs.map +1 -1
- package/dist/settings.js +3 -3
- package/dist/text-input-dialog.cjs +4 -1
- package/dist/text-input-dialog.cjs.map +1 -1
- package/dist/text-input-dialog.js +2 -2
- package/dist/writing-field.js +3 -3
- package/package.json +2 -2
- package/dist/chunk-L5OACQXS.js.map +0 -1
- package/dist/chunk-WZC3K7SO.js.map +0 -1
- /package/dist/{chunk-GHPUO3O7.js.map → chunk-5IR3BZOS.js.map} +0 -0
- /package/dist/{chunk-DQUCOMAC.js.map → chunk-6QKT52FR.js.map} +0 -0
- /package/dist/{chunk-B24DLFWR.js.map → chunk-B4WMMAAJ.js.map} +0 -0
- /package/dist/{chunk-M34WPTPX.js.map → chunk-CEA6X445.js.map} +0 -0
- /package/dist/{chunk-PBDQZPKV.js.map → chunk-CJBSBKG5.js.map} +0 -0
- /package/dist/{chunk-Q2HWDJED.js.map → chunk-GLLPO66A.js.map} +0 -0
- /package/dist/{chunk-BYOFPPPI.js.map → chunk-M45FEAVG.js.map} +0 -0
- /package/dist/{chunk-RGJPHRU3.js.map → chunk-T4IJELSS.js.map} +0 -0
- /package/dist/{chunk-VQ3G6AFN.js.map → chunk-TWRC7NP4.js.map} +0 -0
- /package/dist/{chunk-BM2YYBUO.js.map → chunk-UM45E3LO.js.map} +0 -0
- /package/dist/{chunk-QOEKPR37.js.map → chunk-XTP6HOB6.js.map} +0 -0
|
@@ -10,17 +10,17 @@ import {
|
|
|
10
10
|
} from "./chunk-FRJ4PPA2.js";
|
|
11
11
|
import {
|
|
12
12
|
PropertyRow
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6QKT52FR.js";
|
|
14
14
|
import {
|
|
15
15
|
completeLayeredFilterRules,
|
|
16
16
|
layeredFilterMatchesValue
|
|
17
17
|
} from "./chunk-7ZCD4AZS.js";
|
|
18
18
|
import {
|
|
19
19
|
RecordId
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-GLLPO66A.js";
|
|
21
21
|
import {
|
|
22
22
|
Button
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-XTP6HOB6.js";
|
|
24
24
|
import {
|
|
25
25
|
useMatrxDataTableHost
|
|
26
26
|
} from "./chunk-POJ3RR3K.js";
|
|
@@ -671,4 +671,4 @@ export {
|
|
|
671
671
|
isUuidValue,
|
|
672
672
|
DataRowInspector
|
|
673
673
|
};
|
|
674
|
-
//# sourceMappingURL=chunk-
|
|
674
|
+
//# sourceMappingURL=chunk-TWRC7NP4.js.map
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
SelectItem,
|
|
25
25
|
SelectTrigger,
|
|
26
26
|
SelectValue
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-WFITMVDB.js";
|
|
28
28
|
import {
|
|
29
29
|
Button
|
|
30
30
|
} from "./chunk-7IOSA55D.js";
|
|
@@ -410,4 +410,4 @@ function LayeredRuleRow({
|
|
|
410
410
|
export {
|
|
411
411
|
LayeredFilterBuilder
|
|
412
412
|
};
|
|
413
|
-
//# sourceMappingURL=chunk-
|
|
413
|
+
//# sourceMappingURL=chunk-UM45E3LO.js.map
|
|
@@ -162,7 +162,10 @@ var SelectItem = React.forwardRef(({ className, children, description, meta, tit
|
|
|
162
162
|
...props,
|
|
163
163
|
children: [
|
|
164
164
|
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(RadixCheckIcon, { className: "h-4 w-4" }) }) }),
|
|
165
|
-
/* @__PURE__ */
|
|
165
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0 whitespace-normal break-words [overflow-wrap:anywhere]", children: [
|
|
166
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children }),
|
|
167
|
+
description ? /* @__PURE__ */ jsx("span", { "data-touch-hint": "", className: "hidden text-xs leading-snug text-muted-foreground [@media(hover:none)]:block", children: description }) : null
|
|
168
|
+
] }),
|
|
166
169
|
meta ? /* @__PURE__ */ jsx("span", { "data-slot": "select-item-meta", className: "ml-3 min-w-0 shrink text-xs text-muted-foreground [overflow-wrap:anywhere]", children: meta }) : null
|
|
167
170
|
]
|
|
168
171
|
}
|
|
@@ -192,4 +195,4 @@ export {
|
|
|
192
195
|
SelectItem,
|
|
193
196
|
SelectSeparator
|
|
194
197
|
};
|
|
195
|
-
//# sourceMappingURL=chunk-
|
|
198
|
+
//# sourceMappingURL=chunk-WFITMVDB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/select.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * Select — ported verbatim from matrx-frontend `components/ui/select.tsx`.\n *\n * Seam inversions:\n * - The host's `useNestedPortalContainer` (dialog/popout aware) becomes the\n * injected `PortalContainerProvider` seam (`portal-container.tsx`); the\n * explicit `container` prop keeps top priority, exactly as before.\n * - `ChevronDownIcon` / `ChevronUpIcon` / `CheckIcon` come from the package's\n * inlined SVGs (C19), not @radix-ui/react-icons — same glyphs, same\n * viewBoxes. (The origin also imported `CaretSortIcon` without ever using\n * it; the dead import is not carried along.)\n *\n * THE ROOT RENDERS UNCONDITIONALLY — no mount gate. This wrapper used to defer\n * rendering until after hydration (\"Radix generates dynamic aria-controls ids\n * that differ between SSR and client\"), and that justification was false:\n * Radix ids come from React's SSR-stable `useId` (verified against\n * @radix-ui/react-select 2.3.1 / react-id 1.1.2). The gate was actively\n * harmful — it deleted the ALWAYS-VISIBLE select trigger (a form control)\n * from SSR and the first client paint.\n */\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"./cn\";\nimport { MOTION_POPPER, POPPER_OFFSET } from \"./motion\";\nimport { RadixCheckIcon, RadixChevronDownIcon, RadixChevronUpIcon } from \"./icons\";\nimport { usePortalContainer } from \"./portal-container\";\nimport { FIELD_SURFACE_CLASS } from \"./field-surface\";\nimport { keepMovedFocus } from \"./focus-return\";\n\nexport const Select = SelectPrimitive.Root;\n\nexport const SelectGroup = SelectPrimitive.Group;\n\nexport const SelectValue = SelectPrimitive.Value;\n\nexport const selectTriggerVariants = cva(\n `matrx-glyph-trim flex w-full items-center justify-between gap-2 whitespace-nowrap rounded-md ${FIELD_SURFACE_CLASS} text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground transition-colors hover:bg-accent hover:border-accent-foreground/20 focus:outline-none focus-visible:border-primary focus-visible:ring-[3px] focus-visible:ring-primary/15 data-[state=open]:border-primary disabled:cursor-not-allowed disabled:bg-muted disabled:text-disabled-foreground [&>span]:min-w-0 [&>span]:line-clamp-1`,\n {\n variants: {\n size: {\n sm: \"h-7 px-2 py-1 text-xs\",\n default: \"h-9 px-3 py-1\",\n lg: \"h-10 px-3 py-2\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n },\n);\n\n/**\n * THE ONE DROPDOWN CHEVRON (page-pass 2026-09-27, /crm/<id>). Pickers drew three\n * different trigger glyphs side by side — a down chevron, an up-down pair, and\n * a larger up-down — so one form read as three kinds of control. Every dropdown\n * trigger (Select, CreatablePicker, every host combobox) draws THIS.\n */\nexport function SelectChevron({ className, size = \"default\" }: { className?: string | undefined; size?: \"sm\" | \"default\" | undefined }) {\n return (\n <RadixChevronDownIcon\n aria-hidden=\"true\"\n data-select-chevron=\"\"\n className={cn(size === \"sm\" ? \"h-3.5 w-3.5\" : \"h-4 w-4\", \"shrink-0 opacity-50\", className)}\n />\n );\n}\n\nexport interface SelectTriggerProps\n extends\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>,\n VariantProps<typeof selectTriggerVariants> {\n hideArrow?: boolean;\n}\n\nexport const SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(({ className, children, hideArrow = false, size, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(selectTriggerVariants({ size, className }))}\n {...props}\n >\n {children}\n {!hideArrow && (\n <SelectPrimitive.Icon asChild>\n <SelectChevron size={size === \"sm\" ? \"sm\" : \"default\"} />\n </SelectPrimitive.Icon>\n )}\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nexport const SelectScrollUpButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <RadixChevronUpIcon />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nexport const SelectScrollDownButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <RadixChevronDownIcon />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nexport interface SelectContentProps\n extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> {\n /** Explicit portal target; wins over the injected container. */\n container?: HTMLElement | null;\n /**\n * Package-owned open/close motion. Default `true`. Pass `false` for a\n * surface that must appear instantly. It is NOT the reduced-motion switch;\n * `styles.css` already honors `prefers-reduced-motion`.\n */\n animated?: boolean;\n}\n\nexport const SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n SelectContentProps\n>(\n (\n {\n className,\n children,\n position = \"popper\",\n container,\n animated = true,\n onCloseAutoFocus,\n ...props\n },\n ref,\n ) => {\n const portalContainer = usePortalContainer(container);\n return (\n <SelectPrimitive.Portal container={portalContainer}>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-[10001] max-h-96 min-w-[8rem] max-w-[calc(100vw-2rem)] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md\",\n animated && MOTION_POPPER,\n // The resting gap from the trigger. It is the `translate` property\n // (POPPER_OFFSET), never Tailwind translate utilities: those compose\n // with `transform` on a v4 host and are REPLACED by it on a v3 one,\n // so on v3 the animation ate the gap and the surface snapped 4px at\n // the end. Same law as the centered dialog card — see motion.ts.\n position === \"popper\" && POPPER_OFFSET,\n className,\n )}\n position={position}\n {...props}\n onCloseAutoFocus={keepMovedFocus(onCloseAutoFocus)}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"max-w-full overflow-y-auto p-0.5\",\n position === \"popper\" &&\n \"w-full min-w-[var(--radix-select-trigger-width)] max-h-[var(--radix-select-content-available-height)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n});\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nexport const SelectLabel = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"type-label px-2 pb-1 pt-2 text-muted-foreground\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nexport const SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> & {\n /**\n * What the option means, as its HOVER text — never a second line (Arman,\n * 2026-10-14: no \"novels\" in menus). An option is one line; the trigger\n * shows exactly that line.\n */\n description?: string;\n /** Short trailing text in the menu only (a count, a size, why it cannot be chosen); the trigger never shows it. */\n meta?: React.ReactNode;\n }\n>(({ className, children, description, meta, title, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n title={title ?? description}\n className={cn(\n \"relative flex w-full min-w-0 select-none items-center rounded-sm py-1 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:text-disabled-foreground\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <RadixCheckIcon className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <span className=\"min-w-0 whitespace-normal break-words [overflow-wrap:anywhere]\">\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </span>\n {meta ? (\n <span data-slot=\"select-item-meta\" className=\"ml-3 min-w-0 shrink text-xs text-muted-foreground [overflow-wrap:anywhere]\">\n {meta}\n </span>\n ) : null}\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nexport const SelectSeparator = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/select.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * Select — ported verbatim from matrx-frontend `components/ui/select.tsx`.\n *\n * Seam inversions:\n * - The host's `useNestedPortalContainer` (dialog/popout aware) becomes the\n * injected `PortalContainerProvider` seam (`portal-container.tsx`); the\n * explicit `container` prop keeps top priority, exactly as before.\n * - `ChevronDownIcon` / `ChevronUpIcon` / `CheckIcon` come from the package's\n * inlined SVGs (C19), not @radix-ui/react-icons — same glyphs, same\n * viewBoxes. (The origin also imported `CaretSortIcon` without ever using\n * it; the dead import is not carried along.)\n *\n * THE ROOT RENDERS UNCONDITIONALLY — no mount gate. This wrapper used to defer\n * rendering until after hydration (\"Radix generates dynamic aria-controls ids\n * that differ between SSR and client\"), and that justification was false:\n * Radix ids come from React's SSR-stable `useId` (verified against\n * @radix-ui/react-select 2.3.1 / react-id 1.1.2). The gate was actively\n * harmful — it deleted the ALWAYS-VISIBLE select trigger (a form control)\n * from SSR and the first client paint.\n */\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"./cn\";\nimport { MOTION_POPPER, POPPER_OFFSET } from \"./motion\";\nimport { RadixCheckIcon, RadixChevronDownIcon, RadixChevronUpIcon } from \"./icons\";\nimport { usePortalContainer } from \"./portal-container\";\nimport { FIELD_SURFACE_CLASS } from \"./field-surface\";\nimport { keepMovedFocus } from \"./focus-return\";\n\nexport const Select = SelectPrimitive.Root;\n\nexport const SelectGroup = SelectPrimitive.Group;\n\nexport const SelectValue = SelectPrimitive.Value;\n\nexport const selectTriggerVariants = cva(\n `matrx-glyph-trim flex w-full items-center justify-between gap-2 whitespace-nowrap rounded-md ${FIELD_SURFACE_CLASS} text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground transition-colors hover:bg-accent hover:border-accent-foreground/20 focus:outline-none focus-visible:border-primary focus-visible:ring-[3px] focus-visible:ring-primary/15 data-[state=open]:border-primary disabled:cursor-not-allowed disabled:bg-muted disabled:text-disabled-foreground [&>span]:min-w-0 [&>span]:line-clamp-1`,\n {\n variants: {\n size: {\n sm: \"h-7 px-2 py-1 text-xs\",\n default: \"h-9 px-3 py-1\",\n lg: \"h-10 px-3 py-2\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n },\n);\n\n/**\n * THE ONE DROPDOWN CHEVRON (page-pass 2026-09-27, /crm/<id>). Pickers drew three\n * different trigger glyphs side by side — a down chevron, an up-down pair, and\n * a larger up-down — so one form read as three kinds of control. Every dropdown\n * trigger (Select, CreatablePicker, every host combobox) draws THIS.\n */\nexport function SelectChevron({ className, size = \"default\" }: { className?: string | undefined; size?: \"sm\" | \"default\" | undefined }) {\n return (\n <RadixChevronDownIcon\n aria-hidden=\"true\"\n data-select-chevron=\"\"\n className={cn(size === \"sm\" ? \"h-3.5 w-3.5\" : \"h-4 w-4\", \"shrink-0 opacity-50\", className)}\n />\n );\n}\n\nexport interface SelectTriggerProps\n extends\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>,\n VariantProps<typeof selectTriggerVariants> {\n hideArrow?: boolean;\n}\n\nexport const SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(({ className, children, hideArrow = false, size, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(selectTriggerVariants({ size, className }))}\n {...props}\n >\n {children}\n {!hideArrow && (\n <SelectPrimitive.Icon asChild>\n <SelectChevron size={size === \"sm\" ? \"sm\" : \"default\"} />\n </SelectPrimitive.Icon>\n )}\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nexport const SelectScrollUpButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <RadixChevronUpIcon />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nexport const SelectScrollDownButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <RadixChevronDownIcon />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nexport interface SelectContentProps\n extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> {\n /** Explicit portal target; wins over the injected container. */\n container?: HTMLElement | null;\n /**\n * Package-owned open/close motion. Default `true`. Pass `false` for a\n * surface that must appear instantly. It is NOT the reduced-motion switch;\n * `styles.css` already honors `prefers-reduced-motion`.\n */\n animated?: boolean;\n}\n\nexport const SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n SelectContentProps\n>(\n (\n {\n className,\n children,\n position = \"popper\",\n container,\n animated = true,\n onCloseAutoFocus,\n ...props\n },\n ref,\n ) => {\n const portalContainer = usePortalContainer(container);\n return (\n <SelectPrimitive.Portal container={portalContainer}>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-[10001] max-h-96 min-w-[8rem] max-w-[calc(100vw-2rem)] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md\",\n animated && MOTION_POPPER,\n // The resting gap from the trigger. It is the `translate` property\n // (POPPER_OFFSET), never Tailwind translate utilities: those compose\n // with `transform` on a v4 host and are REPLACED by it on a v3 one,\n // so on v3 the animation ate the gap and the surface snapped 4px at\n // the end. Same law as the centered dialog card — see motion.ts.\n position === \"popper\" && POPPER_OFFSET,\n className,\n )}\n position={position}\n {...props}\n onCloseAutoFocus={keepMovedFocus(onCloseAutoFocus)}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"max-w-full overflow-y-auto p-0.5\",\n position === \"popper\" &&\n \"w-full min-w-[var(--radix-select-trigger-width)] max-h-[var(--radix-select-content-available-height)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n});\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nexport const SelectLabel = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"type-label px-2 pb-1 pt-2 text-muted-foreground\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nexport const SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> & {\n /**\n * What the option means, as its HOVER text — never a second line on desktop\n * (Arman, 2026-10-14: no \"novels\" in menus). Where nothing can hover (a phone,\n * a mouse-less tablet) it is the option's muted second line in the open list\n * (`data-touch-hint`, menu-look.css). The trigger shows only the label.\n */\n description?: string;\n /** Short trailing text in the menu only (a count, a size, why it cannot be chosen); the trigger never shows it. */\n meta?: React.ReactNode;\n }\n>(({ className, children, description, meta, title, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n title={title ?? description}\n className={cn(\n \"relative flex w-full min-w-0 select-none items-center rounded-sm py-1 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:text-disabled-foreground\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <RadixCheckIcon className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <span className=\"min-w-0 whitespace-normal break-words [overflow-wrap:anywhere]\">\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n {/* Outside ItemText: the closed trigger shows the label alone. */}\n {description ? (\n <span data-touch-hint=\"\" className=\"hidden text-xs leading-snug text-muted-foreground [@media(hover:none)]:block\">\n {description}\n </span>\n ) : null}\n </span>\n {meta ? (\n <span data-slot=\"select-item-meta\" className=\"ml-3 min-w-0 shrink text-xs text-muted-foreground [overflow-wrap:anywhere]\">\n {meta}\n </span>\n ) : null}\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nexport const SelectSeparator = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n"],"mappings":"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","names":[]}
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "./chunk-X6ZRHJQP.js";
|
|
19
19
|
import {
|
|
20
20
|
SelectChevron
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-WFITMVDB.js";
|
|
22
22
|
import {
|
|
23
23
|
swallowClick
|
|
24
24
|
} from "./chunk-7IOSA55D.js";
|
|
@@ -462,4 +462,4 @@ export {
|
|
|
462
462
|
Switch,
|
|
463
463
|
Textarea
|
|
464
464
|
};
|
|
465
|
-
//# sourceMappingURL=chunk-
|
|
465
|
+
//# sourceMappingURL=chunk-XTP6HOB6.js.map
|
|
@@ -450,7 +450,10 @@ var SelectItem = React3.forwardRef(({ className, children, description, meta, ti
|
|
|
450
450
|
...props,
|
|
451
451
|
children: [
|
|
452
452
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(RadixCheckIcon, { className: "h-4 w-4" }) }) }),
|
|
453
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.
|
|
453
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "min-w-0 whitespace-normal break-words [overflow-wrap:anywhere]", children: [
|
|
454
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SelectPrimitive.ItemText, { children }),
|
|
455
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { "data-touch-hint": "", className: "hidden text-xs leading-snug text-muted-foreground [@media(hover:none)]:block", children: description }) : null
|
|
456
|
+
] }),
|
|
454
457
|
meta ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { "data-slot": "select-item-meta", className: "ml-3 min-w-0 shrink text-xs text-muted-foreground [overflow-wrap:anywhere]", children: meta }) : null
|
|
455
458
|
]
|
|
456
459
|
}
|