@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.
Files changed (32) hide show
  1. package/dist/Switch.js +17 -14
  2. package/dist/Switch.js.map +1 -1
  3. package/dist/TextField.js +64 -45
  4. package/dist/TextField.js.map +1 -1
  5. package/dist/assets/quantum-ui.css +13 -16
  6. package/dist/index.js +0 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/components/Switch/Switch.d.ts.map +1 -1
  9. package/dist/lib/components/TextField/TextField.d.ts.map +1 -1
  10. package/dist/lib/selects/index.d.ts +0 -1
  11. package/dist/lib/selects/index.d.ts.map +1 -1
  12. package/dist/lib/selects/tax-group/TaxGroupFilter.d.ts +12 -0
  13. package/dist/lib/selects/tax-group/TaxGroupFilter.d.ts.map +1 -0
  14. package/dist/lib/selects/tax-group/TaxGroupSelector.d.ts +4 -0
  15. package/dist/lib/selects/tax-group/TaxGroupSelector.d.ts.map +1 -0
  16. package/dist/lib/selects/tax-group/index.d.ts +3 -0
  17. package/dist/lib/selects/tax-group/index.d.ts.map +1 -0
  18. package/dist/selects/tax-group.js +37 -0
  19. package/dist/selects/tax-group.js.map +1 -0
  20. package/dist/shadcn/shadcnSwitch/Switch.d.ts +1 -1
  21. package/dist/shadcn/shadcnSwitch/Switch.d.ts.map +1 -1
  22. package/package.json +5 -5
  23. package/dist/BomSelector.js +0 -37
  24. package/dist/BomSelector.js.map +0 -1
  25. package/dist/lib/selects/bom/BomFilter.d.ts +0 -12
  26. package/dist/lib/selects/bom/BomFilter.d.ts.map +0 -1
  27. package/dist/lib/selects/bom/BomSelector.d.ts +0 -4
  28. package/dist/lib/selects/bom/BomSelector.d.ts.map +0 -1
  29. package/dist/lib/selects/bom/index.d.ts +0 -3
  30. package/dist/lib/selects/bom/index.d.ts.map +0 -1
  31. package/dist/selects/bom.js +0 -2
  32. 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
- label && /* @__PURE__ */ jsx(FieldLabel, { htmlFor: fieldId, className: "font-normal cursor-pointer", children: label }),
186
- /* @__PURE__ */ jsxs("div", { className: "flex min-h-9 items-center justify-between gap-3", children: [
187
- /* @__PURE__ */ jsx(
188
- "label",
189
- {
190
- htmlFor: fieldId,
191
- id: `${fieldId}-description`,
192
- className: "text-sm text-muted-foreground leading-normal cursor-pointer",
193
- children: description
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
  }
@@ -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
- ({ label, description, error, className, id, disabled, startAdornment, endAdornment, positive, nonZero, integer, onChange, ...props }, ref) => {
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
- isNumberType && /* @__PURE__ */ jsx("div", { className: "absolute inset-y-0 right-2 z-20 flex items-center", children: /* @__PURE__ */ jsxs("div", { className: "flex h-7 w-4 flex-col overflow-hidden rounded-sm border border-border bg-background", children: [
148
- /* @__PURE__ */ jsx(
149
- "button",
150
- {
151
- type: "button",
152
- tabIndex: -1,
153
- className: "flex h-1/2 items-center justify-center border-b border-border text-muted-foreground hover:bg-accent disabled:opacity-50",
154
- onMouseDown: (event) => event.preventDefault(),
155
- onClick: () => setInputNumericValue(1),
156
- disabled,
157
- "aria-label": "Increase value",
158
- children: /* @__PURE__ */ jsx(ChevronUp, { className: "size-2.5" })
159
- }
160
- ),
161
- /* @__PURE__ */ jsx(
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
- children: combinedEndAdornment
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 })
@@ -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,uFAmClB,CAAC"}
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,sGA8NrB,CAAC"}
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,5 +1,4 @@
1
1
  export * from './app';
2
- export * from './bom';
3
2
  export * from './business';
4
3
  export * from './category';
5
4
  export * from './cloud-provider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/selects/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,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"}
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,3 @@
1
+ export { TaxGroupFilter, type TaxGroupFilterProps } from './TaxGroupFilter';
2
+ export { TaxGroupSelector, type TaxGroupSelectorProps } from './TaxGroupSelector';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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;CACzB,2CAiBA;AAED,OAAO,EAAE,MAAM,EAAE,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.5",
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"
@@ -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
@@ -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,3 +0,0 @@
1
- export { BomFilter, type BomFilterProps } from './BomFilter';
2
- export { BomSelector, type BomSelectorProps } from './BomSelector';
3
- //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -1,2 +0,0 @@
1
- export { B as BomFilter, a as BomSelector } from '../BomSelector.js';
2
- //# sourceMappingURL=bom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bom.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}