@vritti/quantum-ui 0.3.5 → 0.3.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/Switch.js +17 -14
- package/dist/Switch.js.map +1 -1
- package/dist/TextField.js +64 -45
- package/dist/TextField.js.map +1 -1
- package/dist/assets/quantum-ui.css +13 -16
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/components/Switch/Switch.d.ts.map +1 -1
- package/dist/lib/components/TextField/TextField.d.ts.map +1 -1
- package/dist/lib/selects/index.d.ts +0 -1
- package/dist/lib/selects/index.d.ts.map +1 -1
- package/dist/lib/selects/tax-group/TaxGroupFilter.d.ts +12 -0
- package/dist/lib/selects/tax-group/TaxGroupFilter.d.ts.map +1 -0
- package/dist/lib/selects/tax-group/TaxGroupSelector.d.ts +4 -0
- package/dist/lib/selects/tax-group/TaxGroupSelector.d.ts.map +1 -0
- package/dist/lib/selects/tax-group/index.d.ts +3 -0
- package/dist/lib/selects/tax-group/index.d.ts.map +1 -0
- package/dist/selects/tax-group.js +37 -0
- package/dist/selects/tax-group.js.map +1 -0
- package/dist/shadcn/shadcnSwitch/Switch.d.ts +1 -1
- package/dist/shadcn/shadcnSwitch/Switch.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/BomSelector.js +0 -37
- package/dist/BomSelector.js.map +0 -1
- package/dist/lib/selects/bom/BomFilter.d.ts +0 -12
- package/dist/lib/selects/bom/BomFilter.d.ts.map +0 -1
- package/dist/lib/selects/bom/BomSelector.d.ts +0 -4
- package/dist/lib/selects/bom/BomSelector.d.ts.map +0 -1
- package/dist/lib/selects/bom/index.d.ts +0 -3
- package/dist/lib/selects/bom/index.d.ts.map +0 -1
- package/dist/selects/bom.js +0 -2
- package/dist/selects/bom.js.map +0 -1
package/dist/Switch.js
CHANGED
|
@@ -161,7 +161,7 @@ function Switch$1({
|
|
|
161
161
|
"data-slot": "switch",
|
|
162
162
|
"data-size": size,
|
|
163
163
|
className: cn(
|
|
164
|
-
"peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px]",
|
|
164
|
+
"peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] data-[size=lg]:h-[24px] data-[size=lg]:w-[40px]",
|
|
165
165
|
className
|
|
166
166
|
),
|
|
167
167
|
...props,
|
|
@@ -169,7 +169,7 @@ function Switch$1({
|
|
|
169
169
|
Thumb,
|
|
170
170
|
{
|
|
171
171
|
"data-slot": "switch-thumb",
|
|
172
|
-
className: "bg-primary-foreground shadow-sm pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
|
|
172
|
+
className: "bg-primary-foreground shadow-sm pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=lg]/switch:size-5 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
|
|
173
173
|
}
|
|
174
174
|
)
|
|
175
175
|
}
|
|
@@ -177,28 +177,31 @@ function Switch$1({
|
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
const Switch = React__default.forwardRef(
|
|
180
|
-
({ label, description, error, id, ...props }, ref) => {
|
|
180
|
+
({ label, description, error, id, size = "lg", ...props }, ref) => {
|
|
181
181
|
const generatedId = React__default.useId();
|
|
182
182
|
const fieldId = id || generatedId;
|
|
183
183
|
const hasError = !!error;
|
|
184
184
|
return /* @__PURE__ */ jsxs(Field, { "data-disabled": props.disabled, "data-invalid": hasError, children: [
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
185
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-h-9 items-center justify-between gap-4", children: [
|
|
186
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
187
|
+
label && /* @__PURE__ */ jsx(FieldLabel, { htmlFor: fieldId, className: "font-normal cursor-pointer", children: label }),
|
|
188
|
+
/* @__PURE__ */ jsx(
|
|
189
|
+
"label",
|
|
190
|
+
{
|
|
191
|
+
htmlFor: fieldId,
|
|
192
|
+
id: `${fieldId}-description`,
|
|
193
|
+
className: "text-sm text-muted-foreground leading-normal cursor-pointer",
|
|
194
|
+
children: description
|
|
195
|
+
}
|
|
196
|
+
)
|
|
197
|
+
] }),
|
|
196
198
|
/* @__PURE__ */ jsx(
|
|
197
199
|
Switch$1,
|
|
198
200
|
{
|
|
199
201
|
...props,
|
|
200
202
|
ref,
|
|
201
203
|
id: fieldId,
|
|
204
|
+
size,
|
|
202
205
|
"aria-describedby": description || error ? `${fieldId}-description ${fieldId}-error` : void 0,
|
|
203
206
|
"aria-invalid": hasError
|
|
204
207
|
}
|
package/dist/Switch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../node_modules/.pnpm/@radix-ui+react-switch@1.2.6_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_c3445f43106be928beab9f2bef095c25/node_modules/@radix-ui/react-switch/dist/index.mjs","../shadcn/shadcnSwitch/Switch.tsx","../lib/components/Switch/Switch.tsx"],"sourcesContent":["\"use client\";\n\n// src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: SWITCH_NAME\n });\n return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n SwitchBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"SwitchBubbleInput\";\nvar SwitchBubbleInput = React.forwardRef(\n ({\n __scopeSwitch,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n }\n);\nSwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n Root,\n Switch,\n SwitchThumb,\n Thumb,\n createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as SwitchPrimitive from '@radix-ui/react-switch';\nimport type * as React from 'react';\n\nimport { cn } from '../utils';\n\nfunction Switch({\n className,\n size = 'default',\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n 'peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px]',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className=\"bg-primary-foreground shadow-sm pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0\"\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n","import React from 'react';\nimport { Field, FieldError, FieldLabel } from '../../../shadcn/shadcnField';\nimport { Switch as ShadcnSwitch } from '../../../shadcn/shadcnSwitch';\n\nexport interface SwitchProps extends React.ComponentPropsWithoutRef<typeof ShadcnSwitch> {\n /**\n * Label for the switch\n */\n label?: React.ReactNode;\n\n /**\n * Helper text or description displayed beside the toggle — required for field layout\n */\n description: React.ReactNode;\n\n /**\n * Error message to display below the switch\n */\n error?: string;\n}\n\n/**\n * Switch component for toggling between two states (on/off).\n *\n * Description is required and sits beside the toggle, keeping the label pinned\n * to the top so it aligns with adjacent TextField labels in a form row.\n *\n * @example\n * ```tsx\n * // With Field system (form usage)\n * <Switch\n * label=\"Enable notifications\"\n * description=\"Receive email updates about your account\"\n * />\n *\n * // In a Form component\n * <Form form={form} onSubmit={handleSubmit}>\n * <Switch\n * name=\"marketing\"\n * label=\"Marketing emails\"\n * description=\"Receive promotional content\"\n * />\n * </Form>\n * ```\n */\nexport const Switch = React.forwardRef<React.ElementRef<typeof ShadcnSwitch>, SwitchProps>(\n ({ label, description, error, id, ...props }, ref) => {\n const generatedId = React.useId();\n const fieldId = id || generatedId;\n const hasError = !!error;\n\n return (\n <Field data-disabled={props.disabled} data-invalid={hasError}>\n {label && (\n <FieldLabel htmlFor={fieldId} className=\"font-normal cursor-pointer\">\n {label}\n </FieldLabel>\n )}\n\n <div className=\"flex min-h-9 items-center justify-between gap-3\">\n <label\n htmlFor={fieldId}\n id={`${fieldId}-description`}\n className=\"text-sm text-muted-foreground leading-normal cursor-pointer\"\n >\n {description}\n </label>\n <ShadcnSwitch\n {...props}\n ref={ref}\n id={fieldId}\n aria-describedby={description || error ? `${fieldId}-description ${fieldId}-error` : undefined}\n aria-invalid={hasError}\n />\n </div>\n\n {error && <FieldError id={`${fieldId}-error`}>{error}</FieldError>}\n </Field>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n"],"names":["Switch","SwitchPrimitive.Root","SwitchPrimitive.Thumb","React","ShadcnSwitch"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../node_modules/.pnpm/@radix-ui+react-switch@1.2.6_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_c3445f43106be928beab9f2bef095c25/node_modules/@radix-ui/react-switch/dist/index.mjs","../shadcn/shadcnSwitch/Switch.tsx","../lib/components/Switch/Switch.tsx"],"sourcesContent":["\"use client\";\n\n// src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: SWITCH_NAME\n });\n return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n SwitchBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"SwitchBubbleInput\";\nvar SwitchBubbleInput = React.forwardRef(\n ({\n __scopeSwitch,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n }\n);\nSwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n Root,\n Switch,\n SwitchThumb,\n Thumb,\n createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as SwitchPrimitive from '@radix-ui/react-switch';\nimport type * as React from 'react';\n\nimport { cn } from '../utils';\n\nfunction Switch({\n className,\n size = 'default',\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: 'sm' | 'default' | 'lg';\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n 'peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] data-[size=lg]:h-[24px] data-[size=lg]:w-[40px]',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className=\"bg-primary-foreground shadow-sm pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=lg]/switch:size-5 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0\"\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n","import React from 'react';\nimport { Field, FieldError, FieldLabel } from '../../../shadcn/shadcnField';\nimport { Switch as ShadcnSwitch } from '../../../shadcn/shadcnSwitch';\n\nexport interface SwitchProps extends React.ComponentPropsWithoutRef<typeof ShadcnSwitch> {\n /**\n * Label for the switch\n */\n label?: React.ReactNode;\n\n /**\n * Helper text or description displayed beside the toggle — required for field layout\n */\n description: React.ReactNode;\n\n /**\n * Error message to display below the switch\n */\n error?: string;\n}\n\n/**\n * Switch component for toggling between two states (on/off).\n *\n * Description is required. The label and description stack vertically on the\n * left, with the toggle pinned to the right of the row.\n *\n * @example\n * ```tsx\n * // With Field system (form usage)\n * <Switch\n * label=\"Enable notifications\"\n * description=\"Receive email updates about your account\"\n * />\n *\n * // In a Form component\n * <Form form={form} onSubmit={handleSubmit}>\n * <Switch\n * name=\"marketing\"\n * label=\"Marketing emails\"\n * description=\"Receive promotional content\"\n * />\n * </Form>\n * ```\n */\nexport const Switch = React.forwardRef<React.ElementRef<typeof ShadcnSwitch>, SwitchProps>(\n ({ label, description, error, id, size = 'lg', ...props }, ref) => {\n const generatedId = React.useId();\n const fieldId = id || generatedId;\n const hasError = !!error;\n\n return (\n <Field data-disabled={props.disabled} data-invalid={hasError}>\n <div className=\"flex min-h-9 items-center justify-between gap-4\">\n <div className=\"flex flex-col gap-0.5\">\n {label && (\n <FieldLabel htmlFor={fieldId} className=\"font-normal cursor-pointer\">\n {label}\n </FieldLabel>\n )}\n <label\n htmlFor={fieldId}\n id={`${fieldId}-description`}\n className=\"text-sm text-muted-foreground leading-normal cursor-pointer\"\n >\n {description}\n </label>\n </div>\n <ShadcnSwitch\n {...props}\n ref={ref}\n id={fieldId}\n size={size}\n aria-describedby={description || error ? `${fieldId}-description ${fieldId}-error` : undefined}\n aria-invalid={hasError}\n />\n </div>\n\n {error && <FieldError id={`${fieldId}-error`}>{error}</FieldError>}\n </Field>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n"],"names":["Switch","SwitchPrimitive.Root","SwitchPrimitive.Thumb","React","ShadcnSwitch"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/TextField.js
CHANGED
|
@@ -7,7 +7,22 @@ import { C as ChevronUp } from './chevron-up.js';
|
|
|
7
7
|
import { C as ChevronDown } from './chevron-down.js';
|
|
8
8
|
|
|
9
9
|
const TextField = React__default.forwardRef(
|
|
10
|
-
({
|
|
10
|
+
({
|
|
11
|
+
label,
|
|
12
|
+
description,
|
|
13
|
+
error,
|
|
14
|
+
className,
|
|
15
|
+
id,
|
|
16
|
+
disabled,
|
|
17
|
+
startAdornment,
|
|
18
|
+
endAdornment,
|
|
19
|
+
positive,
|
|
20
|
+
nonZero,
|
|
21
|
+
integer,
|
|
22
|
+
onChange,
|
|
23
|
+
style,
|
|
24
|
+
...props
|
|
25
|
+
}, ref) => {
|
|
11
26
|
const isNumberType = props.type === "number";
|
|
12
27
|
const normalizedType = isNumberType ? "text" : props.type;
|
|
13
28
|
const normalizedInputMode = props.inputMode ?? (isNumberType ? integer ? "numeric" : "decimal" : void 0);
|
|
@@ -17,6 +32,8 @@ const TextField = React__default.forwardRef(
|
|
|
17
32
|
const effectiveMin = positiveFloor !== void 0 && propsMinValid !== void 0 ? Math.max(positiveFloor, propsMinValid) : propsMinValid ?? positiveFloor;
|
|
18
33
|
const inputRef = React__default.useRef(null);
|
|
19
34
|
const [rawInput, setRawInput] = React__default.useState("");
|
|
35
|
+
const endOverlayRef = React__default.useRef(null);
|
|
36
|
+
const [endPadding, setEndPadding] = React__default.useState(void 0);
|
|
20
37
|
const assignRef = React__default.useCallback(
|
|
21
38
|
(node) => {
|
|
22
39
|
inputRef.current = node;
|
|
@@ -117,6 +134,20 @@ const TextField = React__default.forwardRef(
|
|
|
117
134
|
autoConstraintText ? /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: autoConstraintText }) : null,
|
|
118
135
|
endAdornment
|
|
119
136
|
] });
|
|
137
|
+
const hasEndContent = isNumberType || !!endAdornment || !!autoConstraintText;
|
|
138
|
+
React__default.useLayoutEffect(() => {
|
|
139
|
+
const node = endOverlayRef.current;
|
|
140
|
+
if (!hasEndContent || !node) {
|
|
141
|
+
setEndPadding(void 0);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const measure = () => setEndPadding(node.offsetWidth + 4);
|
|
145
|
+
measure();
|
|
146
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
147
|
+
const observer = new ResizeObserver(measure);
|
|
148
|
+
observer.observe(node);
|
|
149
|
+
return () => observer.disconnect();
|
|
150
|
+
}, [hasEndContent]);
|
|
120
151
|
return /* @__PURE__ */ jsxs(Field, { "data-disabled": disabled, children: [
|
|
121
152
|
label && /* @__PURE__ */ jsx(FieldLabel, { children: label }),
|
|
122
153
|
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
@@ -127,15 +158,10 @@ const TextField = React__default.forwardRef(
|
|
|
127
158
|
"aria-invalid": !!error,
|
|
128
159
|
ref: assignRef,
|
|
129
160
|
disabled,
|
|
130
|
-
className: cn(
|
|
131
|
-
className,
|
|
132
|
-
startAdornment && "pl-10",
|
|
133
|
-
isNumberType && (endAdornment || autoConstraintText) && "pr-36",
|
|
134
|
-
isNumberType && !endAdornment && !autoConstraintText && "pr-12",
|
|
135
|
-
!isNumberType && (endAdornment || autoConstraintText) && "pr-10"
|
|
136
|
-
),
|
|
161
|
+
className: cn(className, startAdornment && "pl-10"),
|
|
137
162
|
id,
|
|
138
163
|
...props,
|
|
164
|
+
style: { ...style, paddingRight: endPadding },
|
|
139
165
|
value: displayValue,
|
|
140
166
|
min: effectiveMin,
|
|
141
167
|
type: normalizedType,
|
|
@@ -144,44 +170,37 @@ const TextField = React__default.forwardRef(
|
|
|
144
170
|
onChange: handleChange
|
|
145
171
|
}
|
|
146
172
|
),
|
|
147
|
-
|
|
148
|
-
/* @__PURE__ */ jsx(
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
"button",
|
|
163
|
-
{
|
|
164
|
-
type: "button",
|
|
165
|
-
tabIndex: -1,
|
|
166
|
-
className: "flex h-1/2 items-center justify-center text-muted-foreground hover:bg-accent disabled:opacity-50",
|
|
167
|
-
onMouseDown: (event) => event.preventDefault(),
|
|
168
|
-
onClick: () => setInputNumericValue(-1),
|
|
169
|
-
disabled,
|
|
170
|
-
"aria-label": "Decrease value",
|
|
171
|
-
children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-2.5" })
|
|
172
|
-
}
|
|
173
|
-
)
|
|
174
|
-
] }) }),
|
|
175
|
-
(endAdornment || autoConstraintText) && /* @__PURE__ */ jsx(
|
|
176
|
-
"div",
|
|
177
|
-
{
|
|
178
|
-
className: cn(
|
|
179
|
-
"absolute inset-y-0 flex items-center gap-2",
|
|
180
|
-
isNumberType ? "right-8 pr-2 z-10" : "right-0 pr-3"
|
|
173
|
+
hasEndContent && /* @__PURE__ */ jsxs("div", { ref: endOverlayRef, className: "absolute inset-y-0 right-0 z-10 flex items-center gap-2 pr-2", children: [
|
|
174
|
+
(endAdornment || autoConstraintText) && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: combinedEndAdornment }),
|
|
175
|
+
isNumberType && /* @__PURE__ */ jsxs("div", { className: "flex h-7 w-4 flex-col overflow-hidden rounded-sm border border-border bg-background", children: [
|
|
176
|
+
/* @__PURE__ */ jsx(
|
|
177
|
+
"button",
|
|
178
|
+
{
|
|
179
|
+
type: "button",
|
|
180
|
+
tabIndex: -1,
|
|
181
|
+
className: "flex h-1/2 items-center justify-center border-b border-border text-muted-foreground hover:bg-accent disabled:opacity-50",
|
|
182
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
183
|
+
onClick: () => setInputNumericValue(1),
|
|
184
|
+
disabled,
|
|
185
|
+
"aria-label": "Increase value",
|
|
186
|
+
children: /* @__PURE__ */ jsx(ChevronUp, { className: "size-2.5" })
|
|
187
|
+
}
|
|
181
188
|
),
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
189
|
+
/* @__PURE__ */ jsx(
|
|
190
|
+
"button",
|
|
191
|
+
{
|
|
192
|
+
type: "button",
|
|
193
|
+
tabIndex: -1,
|
|
194
|
+
className: "flex h-1/2 items-center justify-center text-muted-foreground hover:bg-accent disabled:opacity-50",
|
|
195
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
196
|
+
onClick: () => setInputNumericValue(-1),
|
|
197
|
+
disabled,
|
|
198
|
+
"aria-label": "Decrease value",
|
|
199
|
+
children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-2.5" })
|
|
200
|
+
}
|
|
201
|
+
)
|
|
202
|
+
] })
|
|
203
|
+
] })
|
|
185
204
|
] }),
|
|
186
205
|
description && !error && /* @__PURE__ */ jsx(FieldDescription, { children: description }),
|
|
187
206
|
error && /* @__PURE__ */ jsx(FieldError, { children: error })
|
package/dist/TextField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sources":["../lib/components/TextField/TextField.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from 'lucide-react';\nimport React from 'react';\nimport { Input } from '../../../shadcn/shadcnInput';\nimport { cn } from '../../../shadcn/utils';\nimport { Field, FieldDescription, FieldError, FieldLabel } from '../Field';\n\nexport interface TextFieldProps extends React.ComponentProps<'input'> {\n label?: string;\n description?: React.ReactNode;\n error?: string;\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n // Blocks negative values and '-'/'e' keys. Combined with `integer`, also blocks `0` and\n // sets min to 1 (so positive+integer means ≥1). For decimal mode, zero is still typeable so\n // the user can start \"0.5\"; zod is the final gate.\n positive?: boolean;\n // Blocks zero. Combined with `integer`, blocks `0` as the first keystroke. Use independently\n // from `positive` when the field accepts signed-but-not-zero values.\n nonZero?: boolean;\n // Blocks decimal input ('.' and ','); switches inputMode to numeric\n integer?: boolean;\n}\n\n// TextField molecule - Input + Label composition using Field system\nexport const TextField = React.forwardRef<HTMLInputElement, TextFieldProps>(\n (\n { label, description, error, className, id, disabled, startAdornment, endAdornment, positive, nonZero, integer, onChange, ...props },\n ref,\n ) => {\n const isNumberType = props.type === 'number';\n const normalizedType = isNumberType ? 'text' : props.type;\n const normalizedInputMode = props.inputMode ?? (isNumberType ? (integer ? 'numeric' : 'decimal') : undefined);\n // Resolve the actual minimum: positive floor takes precedence when both are set, so\n // `positive` always blocks negatives even if a contradictory `min` is passed.\n // For integer mode, `positive` means ≥1 (floor 1). For decimal mode, HTML min stays at 0 so\n // values like 0.3 / 0.5 remain typeable; the form/zod layer rejects plain 0.\n const positiveFloor = positive ? (integer ? 1 : 0) : undefined;\n const propsMinNum = props.min != null && props.min !== '' ? Number(props.min) : undefined;\n const propsMinValid = propsMinNum !== undefined && Number.isFinite(propsMinNum) ? propsMinNum : undefined;\n const effectiveMin =\n positiveFloor !== undefined && propsMinValid !== undefined\n ? Math.max(positiveFloor, propsMinValid)\n : (propsMinValid ?? positiveFloor);\n const inputRef = React.useRef<HTMLInputElement>(null);\n // Tracks the last raw string typed so intermediate states like \"-\" or \"0.\" survive the\n // round-trip through RHF. Must be state (not a ref) so updates trigger a re-render and\n // React's controlled input doesn't revert the DOM to the canonical number.\n const [rawInput, setRawInput] = React.useState<string>('');\n\n const assignRef = React.useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n const setInputNumericValue = React.useCallback(\n (delta: 1 | -1) => {\n if (!isNumberType || disabled) return;\n const input = inputRef.current;\n if (!input) return;\n\n const parsedStep = Number(props.step);\n const step = Number.isFinite(parsedStep) && parsedStep > 0 ? parsedStep : 1;\n const parsedMax = Number(props.max);\n const max = Number.isFinite(parsedMax) ? parsedMax : undefined;\n const current = Number(input.value);\n const baseValue = Number.isFinite(current) ? current : (effectiveMin ?? 0);\n\n let next = baseValue + delta * step;\n if (effectiveMin !== undefined) next = Math.max(effectiveMin, next);\n if (max !== undefined) next = Math.min(max, next);\n\n const stepString = String(step);\n const decimals = integer || stepString.includes('.') === false ? 0 : (stepString.split('.')[1]?.length ?? 0);\n const nextValue = decimals > 0 ? next.toFixed(decimals) : String(Math.round(next));\n\n const valueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;\n valueSetter?.call(input, nextValue);\n input.dispatchEvent(new Event('input', { bubbles: true }));\n },\n [isNumberType, disabled, effectiveMin, integer, props.max, props.step],\n );\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (isNumberType) {\n const raw = event.target.value;\n setRawInput(raw);\n const num = raw === '' ? NaN : Number(raw);\n (onChange as unknown as (v: number) => void)?.(num);\n } else {\n onChange?.(event);\n }\n },\n [isNumberType, onChange],\n );\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n props.onKeyDown?.(event);\n if (event.defaultPrevented || !isNumberType || disabled) return;\n if (positive && (event.key === '-' || event.key === 'e')) {\n event.preventDefault();\n return;\n }\n if (integer && (event.key === '.' || event.key === ',' || event.key === 'e')) {\n event.preventDefault();\n return;\n }\n // Block '0' as the first keystroke in integer mode when either `positive` (≥1) or\n // `nonZero` is set. Decimal mode needs '0' to remain typeable so the user can start \"0.3\".\n if (\n (positive || nonZero) &&\n integer &&\n event.key === '0' &&\n (event.currentTarget.value === '' || event.currentTarget.value === '0')\n ) {\n event.preventDefault();\n return;\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n setInputNumericValue(1);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n setInputNumericValue(-1);\n }\n },\n [isNumberType, disabled, positive, nonZero, integer, setInputNumericValue, props.onKeyDown],\n );\n\n // For number fields, prefer the raw typed string when it represents the same value as\n // the stored number — preserves intermediate states like \"0.\", \"1.50\", \"-\" that would\n // otherwise be lost as React reconciles the controlled input back to the canonical form.\n let displayValue: TextFieldProps['value'] = props.value;\n if (isNumberType && typeof props.value === 'number') {\n if (Number.isNaN(props.value)) {\n displayValue = rawInput;\n } else if (rawInput !== '' && Number(rawInput) === props.value) {\n displayValue = rawInput;\n }\n }\n\n const hasMin = propsMinValid !== undefined;\n const hasMax = props.max != null && props.max !== '';\n const hints: string[] = [];\n const integerLabel = positive ? '+Int' : 'Int';\n const positiveLabel = '+';\n const nonZeroLabel = '≠0';\n if (integer && nonZero) hints.push(`${integerLabel} ${nonZeroLabel}`);\n else if (integer) hints.push(integerLabel);\n else if (positive && nonZero) hints.push(`${positiveLabel} ${nonZeroLabel}`);\n else if (positive) hints.push(positiveLabel);\n else if (nonZero) hints.push(nonZeroLabel);\n if (hasMin && hasMax) hints.push(`Range: ${propsMinValid} - ${props.max}`);\n else if (hasMax) hints.push(`Max: ${props.max}`);\n else if (hasMin) hints.push(`Min: ${propsMinValid}`);\n const autoConstraintText = hints.join(', ');\n const combinedEndAdornment = (\n <>\n {autoConstraintText ? (\n <span className=\"text-xs text-muted-foreground whitespace-nowrap\">{autoConstraintText}</span>\n ) : null}\n {endAdornment}\n </>\n );\n\n return (\n <Field data-disabled={disabled}>\n {label && <FieldLabel>{label}</FieldLabel>}\n\n <div className=\"relative\">\n {startAdornment && (\n <div className=\"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none\">{startAdornment}</div>\n )}\n <Input\n aria-invalid={!!error}\n ref={assignRef}\n disabled={disabled}\n className={cn(\n className,\n startAdornment && 'pl-10',\n isNumberType && (endAdornment || autoConstraintText) && 'pr-36',\n isNumberType && !endAdornment && !autoConstraintText && 'pr-12',\n !isNumberType && (endAdornment || autoConstraintText) && 'pr-10',\n )}\n id={id}\n {...props}\n value={displayValue}\n min={effectiveMin}\n type={normalizedType}\n inputMode={normalizedInputMode}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n />\n {isNumberType && (\n <div className=\"absolute inset-y-0 right-2 z-20 flex items-center\">\n <div className=\"flex h-7 w-4 flex-col overflow-hidden rounded-sm border border-border bg-background\">\n <button\n type=\"button\"\n tabIndex={-1}\n className=\"flex h-1/2 items-center justify-center border-b border-border text-muted-foreground hover:bg-accent disabled:opacity-50\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => setInputNumericValue(1)}\n disabled={disabled}\n aria-label=\"Increase value\"\n >\n <ChevronUp className=\"size-2.5\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n className=\"flex h-1/2 items-center justify-center text-muted-foreground hover:bg-accent disabled:opacity-50\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => setInputNumericValue(-1)}\n disabled={disabled}\n aria-label=\"Decrease value\"\n >\n <ChevronDown className=\"size-2.5\" />\n </button>\n </div>\n </div>\n )}\n {(endAdornment || autoConstraintText) && (\n <div\n className={cn(\n 'absolute inset-y-0 flex items-center gap-2',\n isNumberType ? 'right-8 pr-2 z-10' : 'right-0 pr-3',\n )}\n >\n {combinedEndAdornment}\n </div>\n )}\n </div>\n\n {description && !error && <FieldDescription>{description}</FieldDescription>}\n {error && <FieldError>{error}</FieldError>}\n </Field>\n );\n },\n);\n\nTextField.displayName = 'TextField';\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextField.js","sources":["../lib/components/TextField/TextField.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from 'lucide-react';\nimport React from 'react';\nimport { Input } from '../../../shadcn/shadcnInput';\nimport { cn } from '../../../shadcn/utils';\nimport { Field, FieldDescription, FieldError, FieldLabel } from '../Field';\n\nexport interface TextFieldProps extends React.ComponentProps<'input'> {\n label?: string;\n description?: React.ReactNode;\n error?: string;\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n // Blocks negative values and '-'/'e' keys. Combined with `integer`, also blocks `0` and\n // sets min to 1 (so positive+integer means ≥1). For decimal mode, zero is still typeable so\n // the user can start \"0.5\"; zod is the final gate.\n positive?: boolean;\n // Blocks zero. Combined with `integer`, blocks `0` as the first keystroke. Use independently\n // from `positive` when the field accepts signed-but-not-zero values.\n nonZero?: boolean;\n // Blocks decimal input ('.' and ','); switches inputMode to numeric\n integer?: boolean;\n}\n\n// TextField molecule - Input + Label composition using Field system\nexport const TextField = React.forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n label,\n description,\n error,\n className,\n id,\n disabled,\n startAdornment,\n endAdornment,\n positive,\n nonZero,\n integer,\n onChange,\n style,\n ...props\n },\n ref,\n ) => {\n const isNumberType = props.type === 'number';\n const normalizedType = isNumberType ? 'text' : props.type;\n const normalizedInputMode = props.inputMode ?? (isNumberType ? (integer ? 'numeric' : 'decimal') : undefined);\n // Resolve the actual minimum: positive floor takes precedence when both are set, so\n // `positive` always blocks negatives even if a contradictory `min` is passed.\n // For integer mode, `positive` means ≥1 (floor 1). For decimal mode, HTML min stays at 0 so\n // values like 0.3 / 0.5 remain typeable; the form/zod layer rejects plain 0.\n const positiveFloor = positive ? (integer ? 1 : 0) : undefined;\n const propsMinNum = props.min != null && props.min !== '' ? Number(props.min) : undefined;\n const propsMinValid = propsMinNum !== undefined && Number.isFinite(propsMinNum) ? propsMinNum : undefined;\n const effectiveMin =\n positiveFloor !== undefined && propsMinValid !== undefined\n ? Math.max(positiveFloor, propsMinValid)\n : (propsMinValid ?? positiveFloor);\n const inputRef = React.useRef<HTMLInputElement>(null);\n // Tracks the last raw string typed so intermediate states like \"-\" or \"0.\" survive the\n // round-trip through RHF. Must be state (not a ref) so updates trigger a re-render and\n // React's controlled input doesn't revert the DOM to the canonical number.\n const [rawInput, setRawInput] = React.useState<string>('');\n // Trailing overlay (constraint hint + stepper / end adornment) is measured at runtime so the\n // input reserves exactly its width as right padding — a one-char hint like \"+\" no longer costs\n // the same as \"Range: 0 - 100\". Re-measures on content/size changes via ResizeObserver.\n const endOverlayRef = React.useRef<HTMLDivElement>(null);\n const [endPadding, setEndPadding] = React.useState<number | undefined>(undefined);\n\n const assignRef = React.useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n const setInputNumericValue = React.useCallback(\n (delta: 1 | -1) => {\n if (!isNumberType || disabled) return;\n const input = inputRef.current;\n if (!input) return;\n\n const parsedStep = Number(props.step);\n const step = Number.isFinite(parsedStep) && parsedStep > 0 ? parsedStep : 1;\n const parsedMax = Number(props.max);\n const max = Number.isFinite(parsedMax) ? parsedMax : undefined;\n const current = Number(input.value);\n const baseValue = Number.isFinite(current) ? current : (effectiveMin ?? 0);\n\n let next = baseValue + delta * step;\n if (effectiveMin !== undefined) next = Math.max(effectiveMin, next);\n if (max !== undefined) next = Math.min(max, next);\n\n const stepString = String(step);\n const decimals = integer || stepString.includes('.') === false ? 0 : (stepString.split('.')[1]?.length ?? 0);\n const nextValue = decimals > 0 ? next.toFixed(decimals) : String(Math.round(next));\n\n const valueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;\n valueSetter?.call(input, nextValue);\n input.dispatchEvent(new Event('input', { bubbles: true }));\n },\n [isNumberType, disabled, effectiveMin, integer, props.max, props.step],\n );\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (isNumberType) {\n const raw = event.target.value;\n setRawInput(raw);\n const num = raw === '' ? NaN : Number(raw);\n (onChange as unknown as (v: number) => void)?.(num);\n } else {\n onChange?.(event);\n }\n },\n [isNumberType, onChange],\n );\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n props.onKeyDown?.(event);\n if (event.defaultPrevented || !isNumberType || disabled) return;\n if (positive && (event.key === '-' || event.key === 'e')) {\n event.preventDefault();\n return;\n }\n if (integer && (event.key === '.' || event.key === ',' || event.key === 'e')) {\n event.preventDefault();\n return;\n }\n // Block '0' as the first keystroke in integer mode when either `positive` (≥1) or\n // `nonZero` is set. Decimal mode needs '0' to remain typeable so the user can start \"0.3\".\n if (\n (positive || nonZero) &&\n integer &&\n event.key === '0' &&\n (event.currentTarget.value === '' || event.currentTarget.value === '0')\n ) {\n event.preventDefault();\n return;\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n setInputNumericValue(1);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n setInputNumericValue(-1);\n }\n },\n [isNumberType, disabled, positive, nonZero, integer, setInputNumericValue, props.onKeyDown],\n );\n\n // For number fields, prefer the raw typed string when it represents the same value as\n // the stored number — preserves intermediate states like \"0.\", \"1.50\", \"-\" that would\n // otherwise be lost as React reconciles the controlled input back to the canonical form.\n let displayValue: TextFieldProps['value'] = props.value;\n if (isNumberType && typeof props.value === 'number') {\n if (Number.isNaN(props.value)) {\n displayValue = rawInput;\n } else if (rawInput !== '' && Number(rawInput) === props.value) {\n displayValue = rawInput;\n }\n }\n\n const hasMin = propsMinValid !== undefined;\n const hasMax = props.max != null && props.max !== '';\n const hints: string[] = [];\n const integerLabel = positive ? '+Int' : 'Int';\n const positiveLabel = '+';\n const nonZeroLabel = '≠0';\n if (integer && nonZero) hints.push(`${integerLabel} ${nonZeroLabel}`);\n else if (integer) hints.push(integerLabel);\n else if (positive && nonZero) hints.push(`${positiveLabel} ${nonZeroLabel}`);\n else if (positive) hints.push(positiveLabel);\n else if (nonZero) hints.push(nonZeroLabel);\n if (hasMin && hasMax) hints.push(`Range: ${propsMinValid} - ${props.max}`);\n else if (hasMax) hints.push(`Max: ${props.max}`);\n else if (hasMin) hints.push(`Min: ${propsMinValid}`);\n const autoConstraintText = hints.join(', ');\n const combinedEndAdornment = (\n <>\n {autoConstraintText ? (\n <span className=\"text-xs text-muted-foreground whitespace-nowrap\">{autoConstraintText}</span>\n ) : null}\n {endAdornment}\n </>\n );\n\n const hasEndContent = isNumberType || !!endAdornment || !!autoConstraintText;\n\n React.useLayoutEffect(() => {\n const node = endOverlayRef.current;\n if (!hasEndContent || !node) {\n setEndPadding(undefined);\n return;\n }\n // Reserve the overlay's width plus a small gap so input text never sits under it.\n const measure = () => setEndPadding(node.offsetWidth + 4);\n measure();\n if (typeof ResizeObserver === 'undefined') return;\n const observer = new ResizeObserver(measure);\n observer.observe(node);\n return () => observer.disconnect();\n }, [hasEndContent]);\n\n return (\n <Field data-disabled={disabled}>\n {label && <FieldLabel>{label}</FieldLabel>}\n\n <div className=\"relative\">\n {startAdornment && (\n <div className=\"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none\">{startAdornment}</div>\n )}\n <Input\n aria-invalid={!!error}\n ref={assignRef}\n disabled={disabled}\n className={cn(className, startAdornment && 'pl-10')}\n id={id}\n {...props}\n style={{ ...style, paddingRight: endPadding }}\n value={displayValue}\n min={effectiveMin}\n type={normalizedType}\n inputMode={normalizedInputMode}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n />\n {hasEndContent && (\n <div ref={endOverlayRef} className=\"absolute inset-y-0 right-0 z-10 flex items-center gap-2 pr-2\">\n {(endAdornment || autoConstraintText) && (\n <div className=\"flex items-center gap-2\">{combinedEndAdornment}</div>\n )}\n {isNumberType && (\n <div className=\"flex h-7 w-4 flex-col overflow-hidden rounded-sm border border-border bg-background\">\n <button\n type=\"button\"\n tabIndex={-1}\n className=\"flex h-1/2 items-center justify-center border-b border-border text-muted-foreground hover:bg-accent disabled:opacity-50\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => setInputNumericValue(1)}\n disabled={disabled}\n aria-label=\"Increase value\"\n >\n <ChevronUp className=\"size-2.5\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n className=\"flex h-1/2 items-center justify-center text-muted-foreground hover:bg-accent disabled:opacity-50\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => setInputNumericValue(-1)}\n disabled={disabled}\n aria-label=\"Decrease value\"\n >\n <ChevronDown className=\"size-2.5\" />\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n\n {description && !error && <FieldDescription>{description}</FieldDescription>}\n {error && <FieldError>{error}</FieldError>}\n </Field>\n );\n },\n);\n\nTextField.displayName = 'TextField';\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1422,10 +1422,6 @@ select:-webkit-autofill:active {
|
|
|
1422
1422
|
right: calc(var(--spacing) * 4);
|
|
1423
1423
|
}
|
|
1424
1424
|
|
|
1425
|
-
.right-8 {
|
|
1426
|
-
right: calc(var(--spacing) * 8);
|
|
1427
|
-
}
|
|
1428
|
-
|
|
1429
1425
|
.-bottom-0\.5 {
|
|
1430
1426
|
bottom: calc(var(--spacing) * -.5);
|
|
1431
1427
|
}
|
|
@@ -3682,10 +3678,6 @@ select:-webkit-autofill:active {
|
|
|
3682
3678
|
padding-right: calc(var(--spacing) * 2);
|
|
3683
3679
|
}
|
|
3684
3680
|
|
|
3685
|
-
.pr-3 {
|
|
3686
|
-
padding-right: calc(var(--spacing) * 3);
|
|
3687
|
-
}
|
|
3688
|
-
|
|
3689
3681
|
.pr-5 {
|
|
3690
3682
|
padding-right: calc(var(--spacing) * 5);
|
|
3691
3683
|
}
|
|
@@ -3698,14 +3690,6 @@ select:-webkit-autofill:active {
|
|
|
3698
3690
|
padding-right: calc(var(--spacing) * 10);
|
|
3699
3691
|
}
|
|
3700
3692
|
|
|
3701
|
-
.pr-12 {
|
|
3702
|
-
padding-right: calc(var(--spacing) * 12);
|
|
3703
|
-
}
|
|
3704
|
-
|
|
3705
|
-
.pr-36 {
|
|
3706
|
-
padding-right: calc(var(--spacing) * 36);
|
|
3707
|
-
}
|
|
3708
|
-
|
|
3709
3693
|
.pb-1\.5 {
|
|
3710
3694
|
padding-bottom: calc(var(--spacing) * 1.5);
|
|
3711
3695
|
}
|
|
@@ -4574,6 +4558,11 @@ select:-webkit-autofill:active {
|
|
|
4574
4558
|
height: calc(var(--spacing) * 3);
|
|
4575
4559
|
}
|
|
4576
4560
|
|
|
4561
|
+
.group-data-\[size\=lg\]\/switch\:size-5:is(:where(.group\/switch)[data-size="lg"] *) {
|
|
4562
|
+
width: calc(var(--spacing) * 5);
|
|
4563
|
+
height: calc(var(--spacing) * 5);
|
|
4564
|
+
}
|
|
4565
|
+
|
|
4577
4566
|
.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size="sm"] *) {
|
|
4578
4567
|
width: calc(var(--spacing) * 2);
|
|
4579
4568
|
height: calc(var(--spacing) * 2);
|
|
@@ -5781,6 +5770,14 @@ select:-webkit-autofill:active {
|
|
|
5781
5770
|
height: calc(var(--spacing) * 10);
|
|
5782
5771
|
}
|
|
5783
5772
|
|
|
5773
|
+
.data-\[size\=lg\]\:h-\[24px\][data-size="lg"] {
|
|
5774
|
+
height: 24px;
|
|
5775
|
+
}
|
|
5776
|
+
|
|
5777
|
+
.data-\[size\=lg\]\:w-\[40px\][data-size="lg"] {
|
|
5778
|
+
width: 40px;
|
|
5779
|
+
}
|
|
5780
|
+
|
|
5784
5781
|
.data-\[size\=sm\]\:size-6[data-size="sm"] {
|
|
5785
5782
|
width: calc(var(--spacing) * 6);
|
|
5786
5783
|
height: calc(var(--spacing) * 6);
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,6 @@ export { A as AreaChart } from './AreaChart.js';
|
|
|
17
17
|
export { A as Avatar, a as AvatarBadge, b as AvatarFallback, c as AvatarGroup, d as AvatarGroupCount, e as AvatarImage } from './Avatar.js';
|
|
18
18
|
export { B as Badge } from './Badge.js';
|
|
19
19
|
export { B as BarChart } from './BarChart.js';
|
|
20
|
-
export { B as BomFilter, a as BomSelector } from './BomSelector.js';
|
|
21
20
|
export { B as Breadcrumb, a as BreadcrumbEllipsis, b as BreadcrumbItem, c as BreadcrumbLink, d as BreadcrumbList, e as BreadcrumbPage, f as BreadcrumbRoot, g as BreadcrumbSeparator } from './Breadcrumb.js';
|
|
22
21
|
export { B as BusinessFilter, a as BusinessSelector } from './BusinessSelector.js';
|
|
23
22
|
export { B as Button } from './Button.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../lib/components/Switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,YAAY,CAAC;IAItF,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAKxB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IAK7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0BD,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../lib/components/Switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,YAAY,CAAC;IAItF,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAKxB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IAK7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0BD,eAAO,MAAM,MAAM,uFAqClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../lib/components/TextField/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAI/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../lib/components/TextField/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAI/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,eAAO,MAAM,SAAS,sGAyPrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/selects/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/selects/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SelectFilterProps } from '../../components/Select/SelectFilter';
|
|
2
|
+
export type TaxGroupFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & {
|
|
3
|
+
name?: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const TaxGroupFilter: import('react').ForwardRefExoticComponent<Omit<SelectFilterProps, "name" | "optionsEndpoint"> & {
|
|
6
|
+
name?: string;
|
|
7
|
+
} & import('react').RefAttributes<HTMLButtonElement>> & {
|
|
8
|
+
displayName: string;
|
|
9
|
+
defaultLabel: string;
|
|
10
|
+
defaultName: string;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=TaxGroupFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaxGroupFilter.d.ts","sourceRoot":"","sources":["../../../../lib/selects/tax-group/TaxGroupFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE5F,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAG1G,eAAO,MAAM,cAAc;WAHsE,MAAM;;;;;CAgBtG,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SelectProps } from '../../components/Select/Select';
|
|
2
|
+
export type TaxGroupSelectorProps = Omit<SelectProps, 'optionsEndpoint'>;
|
|
3
|
+
export declare const TaxGroupSelector: import('react').ForwardRefExoticComponent<TaxGroupSelectorProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
4
|
+
//# sourceMappingURL=TaxGroupSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaxGroupSelector.d.ts","sourceRoot":"","sources":["../../../../lib/selects/tax-group/TaxGroupSelector.tsx"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAGzE,eAAO,MAAM,gBAAgB,qHAU3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/selects/tax-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { S as SelectFilter } from '../SelectFilter.js';
|
|
4
|
+
import { S as Select } from '../Select.js';
|
|
5
|
+
|
|
6
|
+
const TaxGroupFilter = Object.assign(
|
|
7
|
+
forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
8
|
+
SelectFilter,
|
|
9
|
+
{
|
|
10
|
+
ref,
|
|
11
|
+
name: "taxGroupId",
|
|
12
|
+
label: "Tax Group",
|
|
13
|
+
placeholder: "Select tax group",
|
|
14
|
+
optionsEndpoint: "commerce-api/tax-groups/select",
|
|
15
|
+
fieldKeys: { valueKey: "id", labelKey: "name" },
|
|
16
|
+
...props
|
|
17
|
+
}
|
|
18
|
+
)),
|
|
19
|
+
{ displayName: "TaxGroupFilter", defaultLabel: "Tax Group", defaultName: "taxGroupId" }
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
const TaxGroupSelector = forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
23
|
+
Select,
|
|
24
|
+
{
|
|
25
|
+
ref,
|
|
26
|
+
label: "Tax Group",
|
|
27
|
+
placeholder: "Select tax group",
|
|
28
|
+
searchable: true,
|
|
29
|
+
optionsEndpoint: "commerce-api/tax-groups/select",
|
|
30
|
+
fieldKeys: { valueKey: "id", labelKey: "name" },
|
|
31
|
+
...props
|
|
32
|
+
}
|
|
33
|
+
));
|
|
34
|
+
TaxGroupSelector.displayName = "TaxGroupSelector";
|
|
35
|
+
|
|
36
|
+
export { TaxGroupFilter, TaxGroupSelector };
|
|
37
|
+
//# sourceMappingURL=tax-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tax-group.js","sources":["../../lib/selects/tax-group/TaxGroupFilter.tsx","../../lib/selects/tax-group/TaxGroupSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type TaxGroupFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\n// Pre-configured SelectFilter for tax-group filtering with async search\nexport const TaxGroupFilter = Object.assign(\n forwardRef<HTMLButtonElement, TaxGroupFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"taxGroupId\"\n label=\"Tax Group\"\n placeholder=\"Select tax group\"\n optionsEndpoint=\"commerce-api/tax-groups/select\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n )),\n { displayName: 'TaxGroupFilter', defaultLabel: 'Tax Group', defaultName: 'taxGroupId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type TaxGroupSelectorProps = Omit<SelectProps, 'optionsEndpoint'>;\n\n// Pre-configured Select for tax-group selection (id → name); BU-scoped server-side via RLS\nexport const TaxGroupSelector = forwardRef<HTMLButtonElement, TaxGroupSelectorProps>((props, ref) => (\n <Select\n ref={ref}\n label=\"Tax Group\"\n placeholder=\"Select tax group\"\n searchable\n optionsEndpoint=\"commerce-api/tax-groups/select\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n));\nTaxGroupSelector.displayName = 'TaxGroupSelector';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,iBAAiB,MAAA,CAAO,MAAA;AAAA,EACnC,UAAA,CAAmD,CAAC,KAAA,EAAO,GAAA,qBACzD,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,YAAA;AAAA,MACL,KAAA,EAAM,WAAA;AAAA,MACN,WAAA,EAAY,kBAAA;AAAA,MACZ,eAAA,EAAgB,gCAAA;AAAA,MAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,MAC7C,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,gBAAA,EAAkB,YAAA,EAAc,WAAA,EAAa,aAAa,YAAA;AAC3E;;ACbO,MAAM,gBAAA,GAAmB,UAAA,CAAqD,CAAC,KAAA,EAAO,GAAA,qBAC3F,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,WAAA;AAAA,IACN,WAAA,EAAY,kBAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,gCAAA;AAAA,IAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,IAC7C,GAAG;AAAA;AACN,CACD;AACD,gBAAA,CAAiB,WAAA,GAAc,kBAAA;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
2
2
|
import type * as React from 'react';
|
|
3
3
|
declare function Switch({ className, size, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root> & {
|
|
4
|
-
size?: 'sm' | 'default';
|
|
4
|
+
size?: 'sm' | 'default' | 'lg';
|
|
5
5
|
}): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export { Switch };
|
|
7
7
|
//# sourceMappingURL=Switch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../shadcn/shadcnSwitch/Switch.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG;IACrD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../shadcn/shadcnSwitch/Switch.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG;IACrD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;CAChC,2CAiBA;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
|
-
"version": "0.3.
|
|
8
|
+
"version": "0.3.6",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"sideEffects": false,
|
|
11
11
|
"repository": {
|
|
@@ -212,10 +212,6 @@
|
|
|
212
212
|
"types": "./dist/lib/selects/app-code/index.d.ts",
|
|
213
213
|
"import": "./dist/selects/app-code.js"
|
|
214
214
|
},
|
|
215
|
-
"./selects/bom": {
|
|
216
|
-
"types": "./dist/lib/selects/bom/index.d.ts",
|
|
217
|
-
"import": "./dist/selects/bom.js"
|
|
218
|
-
},
|
|
219
215
|
"./selects/category": {
|
|
220
216
|
"types": "./dist/lib/selects/category/index.d.ts",
|
|
221
217
|
"import": "./dist/selects/category.js"
|
|
@@ -268,6 +264,10 @@
|
|
|
268
264
|
"types": "./dist/lib/selects/purchase-order-item/index.d.ts",
|
|
269
265
|
"import": "./dist/selects/purchase-order-item.js"
|
|
270
266
|
},
|
|
267
|
+
"./selects/tax-group": {
|
|
268
|
+
"types": "./dist/lib/selects/tax-group/index.d.ts",
|
|
269
|
+
"import": "./dist/selects/tax-group.js"
|
|
270
|
+
},
|
|
271
271
|
"./selects/uom": {
|
|
272
272
|
"types": "./dist/lib/selects/uom/index.d.ts",
|
|
273
273
|
"import": "./dist/selects/uom.js"
|
package/dist/BomSelector.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
import { S as SelectFilter } from './SelectFilter.js';
|
|
4
|
-
import { S as Select } from './Select.js';
|
|
5
|
-
|
|
6
|
-
const BomFilter = Object.assign(
|
|
7
|
-
forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
8
|
-
SelectFilter,
|
|
9
|
-
{
|
|
10
|
-
ref,
|
|
11
|
-
name: "bomId",
|
|
12
|
-
label: "Bill of Materials",
|
|
13
|
-
placeholder: "Select BOM",
|
|
14
|
-
optionsEndpoint: "commerce-api/bom/select",
|
|
15
|
-
fieldKeys: { valueKey: "id", labelKey: "name" },
|
|
16
|
-
...props
|
|
17
|
-
}
|
|
18
|
-
)),
|
|
19
|
-
{ displayName: "BomFilter", defaultLabel: "Bill of Materials", defaultName: "bomId" }
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
const BomSelector = forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
23
|
-
Select,
|
|
24
|
-
{
|
|
25
|
-
ref,
|
|
26
|
-
label: "Bill of Materials",
|
|
27
|
-
placeholder: "Select BOM",
|
|
28
|
-
searchable: true,
|
|
29
|
-
optionsEndpoint: "commerce-api/bom/select",
|
|
30
|
-
fieldKeys: { valueKey: "id", labelKey: "name" },
|
|
31
|
-
...props
|
|
32
|
-
}
|
|
33
|
-
));
|
|
34
|
-
BomSelector.displayName = "BomSelector";
|
|
35
|
-
|
|
36
|
-
export { BomFilter as B, BomSelector as a };
|
|
37
|
-
//# sourceMappingURL=BomSelector.js.map
|
package/dist/BomSelector.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BomSelector.js","sources":["../lib/selects/bom/BomFilter.tsx","../lib/selects/bom/BomSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type BomFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\n// Pre-configured SelectFilter for BOM filtering with async search\nexport const BomFilter = Object.assign(\n forwardRef<HTMLButtonElement, BomFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"bomId\"\n label=\"Bill of Materials\"\n placeholder=\"Select BOM\"\n optionsEndpoint=\"commerce-api/bom/select\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n )),\n { displayName: 'BomFilter', defaultLabel: 'Bill of Materials', defaultName: 'bomId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type BomSelectorProps = Omit<SelectProps, 'optionsEndpoint'>;\n\n// Pre-configured Select for BOM selection with async search\nexport const BomSelector = forwardRef<HTMLButtonElement, BomSelectorProps>((props, ref) => (\n <Select\n ref={ref}\n label=\"Bill of Materials\"\n placeholder=\"Select BOM\"\n searchable\n optionsEndpoint=\"commerce-api/bom/select\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n));\nBomSelector.displayName = 'BomSelector';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,YAAY,MAAA,CAAO,MAAA;AAAA,EAC9B,UAAA,CAA8C,CAAC,KAAA,EAAO,GAAA,qBACpD,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,OAAA;AAAA,MACL,KAAA,EAAM,mBAAA;AAAA,MACN,WAAA,EAAY,YAAA;AAAA,MACZ,eAAA,EAAgB,yBAAA;AAAA,MAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,MAC7C,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,WAAA,EAAa,YAAA,EAAc,mBAAA,EAAqB,aAAa,OAAA;AAC9E;;ACbO,MAAM,WAAA,GAAc,UAAA,CAAgD,CAAC,KAAA,EAAO,GAAA,qBACjF,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,mBAAA;AAAA,IACN,WAAA,EAAY,YAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,yBAAA;AAAA,IAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,IAC7C,GAAG;AAAA;AACN,CACD;AACD,WAAA,CAAY,WAAA,GAAc,aAAA;;;;"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { SelectFilterProps } from '../../components/Select/SelectFilter';
|
|
2
|
-
export type BomFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & {
|
|
3
|
-
name?: string;
|
|
4
|
-
};
|
|
5
|
-
export declare const BomFilter: import('react').ForwardRefExoticComponent<Omit<SelectFilterProps, "name" | "optionsEndpoint"> & {
|
|
6
|
-
name?: string;
|
|
7
|
-
} & import('react').RefAttributes<HTMLButtonElement>> & {
|
|
8
|
-
displayName: string;
|
|
9
|
-
defaultLabel: string;
|
|
10
|
-
defaultName: string;
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=BomFilter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BomFilter.d.ts","sourceRoot":"","sources":["../../../../lib/selects/bom/BomFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE5F,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAGrG,eAAO,MAAM,SAAS;WAHsE,MAAM;;;;;CAgBjG,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { SelectProps } from '../../components/Select/Select';
|
|
2
|
-
export type BomSelectorProps = Omit<SelectProps, 'optionsEndpoint'>;
|
|
3
|
-
export declare const BomSelector: import('react').ForwardRefExoticComponent<BomSelectorProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
4
|
-
//# sourceMappingURL=BomSelector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BomSelector.d.ts","sourceRoot":"","sources":["../../../../lib/selects/bom/BomSelector.tsx"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAGpE,eAAO,MAAM,WAAW,gHAUtB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/selects/bom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/selects/bom.js
DELETED
package/dist/selects/bom.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bom.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|