@timeax/form-palette 0.0.2 → 0.0.4
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/adapters/axios.d.ts +21 -0
- package/dist/adapters/axios.d.ts.map +1 -0
- package/dist/adapters/axios.js +74 -0
- package/dist/adapters/axios.js.map +1 -0
- package/dist/adapters/index.d.ts +35 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +74 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/inertia.d.ts +24 -0
- package/dist/adapters/inertia.d.ts.map +1 -0
- package/dist/adapters/inertia.js +126 -0
- package/dist/adapters/inertia.js.map +1 -0
- package/dist/core/adapter-registry.d.ts +30 -0
- package/dist/core/adapter-registry.d.ts.map +1 -0
- package/{src/core/adapter-registry.ts → dist/core/adapter-registry.js} +10 -28
- package/dist/core/adapter-registry.js.map +1 -0
- package/{src/core/bound/bind-host.ts → dist/core/bound/bind-host.d.ts} +2 -3
- package/dist/core/bound/bind-host.d.ts.map +1 -0
- package/dist/core/bound/bind-host.js +2 -0
- package/dist/core/bound/bind-host.js.map +1 -0
- package/dist/core/bound/observe-bound-field.d.ts +21 -0
- package/dist/core/bound/observe-bound-field.d.ts.map +1 -0
- package/dist/core/bound/observe-bound-field.js +116 -0
- package/dist/core/bound/observe-bound-field.js.map +1 -0
- package/dist/core/bound/wait-for-bound-field.d.ts +5 -0
- package/dist/core/bound/wait-for-bound-field.d.ts.map +1 -0
- package/dist/core/bound/wait-for-bound-field.js +35 -0
- package/dist/core/bound/wait-for-bound-field.js.map +1 -0
- package/{src/core/context.ts → dist/core/context.d.ts} +2 -6
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +11 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/core-provider.d.ts +22 -0
- package/dist/core/core-provider.d.ts.map +1 -0
- package/{src/core/core-provider.tsx → dist/core/core-provider.js} +209 -364
- package/dist/core/core-provider.js.map +1 -0
- package/dist/core/core-root.d.ts +26 -0
- package/dist/core/core-root.d.ts.map +1 -0
- package/dist/core/core-root.js +38 -0
- package/dist/core/core-root.js.map +1 -0
- package/dist/core/core-shell.d.ts +22 -0
- package/dist/core/core-shell.d.ts.map +1 -0
- package/dist/core/core-shell.js +8 -0
- package/dist/core/core-shell.js.map +1 -0
- package/{src/core/errors/error-strip.tsx → dist/core/errors/error-strip.d.ts} +2 -39
- package/dist/core/errors/error-strip.d.ts.map +1 -0
- package/dist/core/errors/error-strip.js +18 -0
- package/dist/core/errors/error-strip.js.map +1 -0
- package/dist/core/errors/index.d.ts +4 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +4 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/map-error-bag.d.ts +24 -0
- package/dist/core/errors/map-error-bag.d.ts.map +1 -0
- package/{src/core/errors/map-error-bag.ts → dist/core/errors/map-error-bag.js} +10 -22
- package/dist/core/errors/map-error-bag.js.map +1 -0
- package/dist/core/errors/map-zod.d.ts +18 -0
- package/dist/core/errors/map-zod.d.ts.map +1 -0
- package/{src/core/errors/map-zod.ts → dist/core/errors/map-zod.js} +7 -19
- package/dist/core/errors/map-zod.js.map +1 -0
- package/dist/core/hooks/use-button.d.ts +73 -0
- package/dist/core/hooks/use-button.d.ts.map +1 -0
- package/dist/core/hooks/use-button.js +116 -0
- package/dist/core/hooks/use-button.js.map +1 -0
- package/dist/core/hooks/use-core-context.d.ts +9 -0
- package/dist/core/hooks/use-core-context.d.ts.map +1 -0
- package/{src/core/hooks/use-core-context.ts → dist/core/hooks/use-core-context.js} +3 -6
- package/dist/core/hooks/use-core-context.js.map +1 -0
- package/dist/core/hooks/use-core-utility.d.ts +1 -0
- package/dist/core/hooks/use-core-utility.d.ts.map +1 -0
- package/dist/core/hooks/use-core-utility.js +2 -0
- package/dist/core/hooks/use-core-utility.js.map +1 -0
- package/{src/core/hooks/use-core.ts → dist/core/hooks/use-core.d.ts} +9 -13
- package/dist/core/hooks/use-core.d.ts.map +1 -0
- package/dist/core/hooks/use-core.js +11 -0
- package/dist/core/hooks/use-core.js.map +1 -0
- package/dist/core/hooks/use-field.d.ts +141 -0
- package/dist/core/hooks/use-field.d.ts.map +1 -0
- package/dist/core/hooks/use-field.js +256 -0
- package/dist/core/hooks/use-field.js.map +1 -0
- package/dist/core/hooks/use-optional-field.d.ts +9 -0
- package/dist/core/hooks/use-optional-field.d.ts.map +1 -0
- package/dist/core/hooks/use-optional-field.js +146 -0
- package/dist/core/hooks/use-optional-field.js.map +1 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +11 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/registry/binder-registry.d.ts +38 -0
- package/dist/core/registry/binder-registry.d.ts.map +1 -0
- package/dist/core/registry/binder-registry.js +52 -0
- package/dist/core/registry/binder-registry.js.map +1 -0
- package/dist/core/registry/field-registry.d.ts +86 -0
- package/dist/core/registry/field-registry.d.ts.map +1 -0
- package/{src/core/registry/field-registry.ts → dist/core/registry/field-registry.js} +56 -70
- package/dist/core/registry/field-registry.js.map +1 -0
- package/dist/core/test.d.ts +2 -0
- package/dist/core/test.d.ts.map +1 -0
- package/dist/core/test.js +9 -0
- package/dist/core/test.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/{src/index.ts → dist/index.js} +5 -47
- package/dist/index.js.map +1 -0
- package/{src/input/index.ts → dist/input/index.d.ts} +1 -2
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +3 -0
- package/dist/input/index.js.map +1 -0
- package/dist/input/input-field.d.ts +15 -0
- package/dist/input/input-field.d.ts.map +1 -0
- package/dist/input/input-field.js +413 -0
- package/dist/input/input-field.js.map +1 -0
- package/dist/input/input-layout-graph.d.ts +77 -0
- package/dist/input/input-layout-graph.d.ts.map +1 -0
- package/dist/input/input-layout-graph.js +108 -0
- package/dist/input/input-layout-graph.js.map +1 -0
- package/{src/input/input-props.ts → dist/input/input-props.d.ts} +22 -84
- package/dist/input/input-props.d.ts.map +1 -0
- package/dist/input/input-props.js +4 -0
- package/dist/input/input-props.js.map +1 -0
- package/dist/lib/get-global-countries.d.ts +3 -0
- package/dist/lib/get-global-countries.d.ts.map +1 -0
- package/dist/lib/get-global-countries.js +70 -0
- package/dist/lib/get-global-countries.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/presets/index.d.ts +1 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +2 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/shadcn-preset.d.ts +1 -0
- package/dist/presets/shadcn-preset.d.ts.map +1 -0
- package/dist/presets/shadcn-preset.js +2 -0
- package/dist/presets/shadcn-preset.js.map +1 -0
- package/dist/presets/shadcn-variants/checkbox.d.ts +212 -0
- package/dist/presets/shadcn-variants/checkbox.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/checkbox.js +315 -0
- package/dist/presets/shadcn-variants/checkbox.js.map +1 -0
- package/dist/presets/shadcn-variants/chips.d.ts +154 -0
- package/dist/presets/shadcn-variants/chips.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/chips.js +266 -0
- package/dist/presets/shadcn-variants/chips.js.map +1 -0
- package/dist/presets/shadcn-variants/color.d.ts +63 -0
- package/dist/presets/shadcn-variants/color.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/color.js +96 -0
- package/dist/presets/shadcn-variants/color.js.map +1 -0
- package/dist/presets/shadcn-variants/custom.d.ts +94 -0
- package/dist/presets/shadcn-variants/custom.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/custom.js +80 -0
- package/dist/presets/shadcn-variants/custom.js.map +1 -0
- package/dist/presets/shadcn-variants/date.d.ts +114 -0
- package/dist/presets/shadcn-variants/date.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/date.js +414 -0
- package/dist/presets/shadcn-variants/date.js.map +1 -0
- package/dist/presets/shadcn-variants/file.d.ts +79 -0
- package/dist/presets/shadcn-variants/file.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/file.js +289 -0
- package/dist/presets/shadcn-variants/file.js.map +1 -0
- package/dist/presets/shadcn-variants/keyvalue.d.ts +35 -0
- package/dist/presets/shadcn-variants/keyvalue.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/keyvalue.js +215 -0
- package/dist/presets/shadcn-variants/keyvalue.js.map +1 -0
- package/dist/presets/shadcn-variants/multiselect.d.ts +210 -0
- package/dist/presets/shadcn-variants/multiselect.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/multiselect.js +352 -0
- package/dist/presets/shadcn-variants/multiselect.js.map +1 -0
- package/dist/presets/shadcn-variants/number.d.ts +31 -0
- package/dist/presets/shadcn-variants/number.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/number.js +64 -0
- package/dist/presets/shadcn-variants/number.js.map +1 -0
- package/dist/presets/shadcn-variants/password.d.ts +195 -0
- package/dist/presets/shadcn-variants/password.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/password.js +296 -0
- package/dist/presets/shadcn-variants/password.js.map +1 -0
- package/dist/presets/shadcn-variants/phone.d.ts +69 -0
- package/dist/presets/shadcn-variants/phone.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/phone.js +308 -0
- package/dist/presets/shadcn-variants/phone.js.map +1 -0
- package/dist/presets/shadcn-variants/radio.d.ts +172 -0
- package/dist/presets/shadcn-variants/radio.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/radio.js +192 -0
- package/dist/presets/shadcn-variants/radio.js.map +1 -0
- package/dist/presets/shadcn-variants/select.d.ts +203 -0
- package/dist/presets/shadcn-variants/select.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/select.js +285 -0
- package/dist/presets/shadcn-variants/select.js.map +1 -0
- package/dist/presets/shadcn-variants/slider.d.ts +131 -0
- package/dist/presets/shadcn-variants/slider.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/slider.js +151 -0
- package/dist/presets/shadcn-variants/slider.js.map +1 -0
- package/dist/presets/shadcn-variants/text.d.ts +155 -0
- package/dist/presets/shadcn-variants/text.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/text.js +98 -0
- package/dist/presets/shadcn-variants/text.js.map +1 -0
- package/dist/presets/shadcn-variants/textarea.d.ts +18 -0
- package/dist/presets/shadcn-variants/textarea.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/textarea.js +24 -0
- package/dist/presets/shadcn-variants/textarea.js.map +1 -0
- package/dist/presets/shadcn-variants/toggle.d.ts +61 -0
- package/dist/presets/shadcn-variants/toggle.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/toggle.js +67 -0
- package/dist/presets/shadcn-variants/toggle.js.map +1 -0
- package/dist/presets/shadcn-variants/treeselect.d.ts +81 -0
- package/dist/presets/shadcn-variants/treeselect.d.ts.map +1 -0
- package/dist/presets/shadcn-variants/treeselect.js +317 -0
- package/dist/presets/shadcn-variants/treeselect.js.map +1 -0
- package/dist/presets/ui/badge.d.ts +10 -0
- package/dist/presets/ui/badge.d.ts.map +1 -0
- package/dist/presets/ui/badge.js +23 -0
- package/dist/presets/ui/badge.js.map +1 -0
- package/dist/presets/ui/button.d.ts +11 -0
- package/dist/presets/ui/button.d.ts.map +1 -0
- package/dist/presets/ui/button.js +34 -0
- package/dist/presets/ui/button.js.map +1 -0
- package/dist/presets/ui/calendar.d.ts +9 -0
- package/dist/presets/ui/calendar.d.ts.map +1 -0
- package/dist/presets/ui/calendar.js +76 -0
- package/dist/presets/ui/calendar.js.map +1 -0
- package/dist/presets/ui/checkbox.d.ts +18 -0
- package/dist/presets/ui/checkbox.d.ts.map +1 -0
- package/dist/presets/ui/checkbox.js +61 -0
- package/dist/presets/ui/checkbox.js.map +1 -0
- package/dist/presets/ui/custom.d.ts +1 -0
- package/dist/presets/ui/custom.d.ts.map +1 -0
- package/dist/presets/ui/custom.js +2 -0
- package/dist/presets/ui/custom.js.map +1 -0
- package/dist/presets/ui/dialog.d.ts +16 -0
- package/dist/presets/ui/dialog.d.ts.map +1 -0
- package/dist/presets/ui/dialog.js +36 -0
- package/dist/presets/ui/dialog.js.map +1 -0
- package/dist/presets/ui/field.d.ts +25 -0
- package/dist/presets/ui/field.d.ts.map +1 -0
- package/dist/presets/ui/field.js +76 -0
- package/dist/presets/ui/field.js.map +1 -0
- package/dist/presets/ui/input-mask.d.ts +34 -0
- package/dist/presets/ui/input-mask.d.ts.map +1 -0
- package/dist/presets/ui/input-mask.js +561 -0
- package/dist/presets/ui/input-mask.js.map +1 -0
- package/dist/presets/ui/input-otp.d.ts +12 -0
- package/dist/presets/ui/input-otp.d.ts.map +1 -0
- package/dist/presets/ui/input-otp.js +22 -0
- package/dist/presets/ui/input-otp.js.map +1 -0
- package/dist/presets/ui/input.d.ts +83 -0
- package/dist/presets/ui/input.d.ts.map +1 -0
- package/dist/presets/ui/input.js +436 -0
- package/dist/presets/ui/input.js.map +1 -0
- package/dist/presets/ui/label.d.ts +5 -0
- package/dist/presets/ui/label.d.ts.map +1 -0
- package/dist/presets/ui/label.js +8 -0
- package/dist/presets/ui/label.js.map +1 -0
- package/dist/presets/ui/number.d.ts +60 -0
- package/dist/presets/ui/number.d.ts.map +1 -0
- package/dist/presets/ui/number.js +1078 -0
- package/dist/presets/ui/number.js.map +1 -0
- package/dist/presets/ui/popover.d.ts +8 -0
- package/dist/presets/ui/popover.d.ts.map +1 -0
- package/dist/presets/ui/popover.js +17 -0
- package/dist/presets/ui/popover.js.map +1 -0
- package/dist/presets/ui/radio-group.d.ts +6 -0
- package/dist/presets/ui/radio-group.d.ts.map +1 -0
- package/dist/presets/ui/radio-group.js +12 -0
- package/dist/presets/ui/radio-group.js.map +1 -0
- package/dist/presets/ui/scroll-area.d.ts +6 -0
- package/dist/presets/ui/scroll-area.d.ts.map +1 -0
- package/dist/presets/ui/scroll-area.js +13 -0
- package/dist/presets/ui/scroll-area.js.map +1 -0
- package/dist/presets/ui/select.d.ts +21 -0
- package/dist/presets/ui/select.d.ts.map +1 -0
- package/dist/presets/ui/select.js +38 -0
- package/dist/presets/ui/select.js.map +1 -0
- package/dist/presets/ui/separator.d.ts +5 -0
- package/dist/presets/ui/separator.d.ts.map +1 -0
- package/dist/presets/ui/separator.js +9 -0
- package/dist/presets/ui/separator.js.map +1 -0
- package/dist/presets/ui/slider.d.ts +5 -0
- package/dist/presets/ui/slider.d.ts.map +1 -0
- package/dist/presets/ui/slider.js +14 -0
- package/dist/presets/ui/slider.js.map +1 -0
- package/dist/presets/ui/switch.d.ts +7 -0
- package/dist/presets/ui/switch.d.ts.map +1 -0
- package/dist/presets/ui/switch.js +9 -0
- package/dist/presets/ui/switch.js.map +1 -0
- package/dist/presets/ui/textarea.d.ts +76 -0
- package/dist/presets/ui/textarea.d.ts.map +1 -0
- package/dist/presets/ui/textarea.js +291 -0
- package/dist/presets/ui/textarea.js.map +1 -0
- package/dist/presets/ui/time-dropdowns.d.ts +58 -0
- package/dist/presets/ui/time-dropdowns.d.ts.map +1 -0
- package/dist/presets/ui/time-dropdowns.js +133 -0
- package/dist/presets/ui/time-dropdowns.js.map +1 -0
- package/{src/schema/adapter.ts → dist/schema/adapter.d.ts} +7 -35
- package/dist/schema/adapter.d.ts.map +1 -0
- package/dist/schema/adapter.js +3 -0
- package/dist/schema/adapter.js.map +1 -0
- package/{src/schema/core.ts → dist/schema/core.d.ts} +17 -117
- package/dist/schema/core.d.ts.map +1 -0
- package/dist/schema/core.js +4 -0
- package/dist/schema/core.js.map +1 -0
- package/dist/schema/field-map.d.ts +1 -0
- package/dist/schema/field-map.d.ts.map +1 -0
- package/dist/schema/field-map.js +2 -0
- package/dist/schema/field-map.js.map +1 -0
- package/{src/schema/field.ts → dist/schema/field.d.ts} +1 -34
- package/dist/schema/field.d.ts.map +1 -0
- package/dist/schema/field.js +4 -0
- package/dist/schema/field.js.map +1 -0
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +2 -0
- package/dist/schema/index.js.map +1 -0
- package/{src/schema/input-field.ts → dist/schema/input-field.d.ts} +6 -43
- package/dist/schema/input-field.d.ts.map +1 -0
- package/dist/schema/input-field.js +3 -0
- package/dist/schema/input-field.js.map +1 -0
- package/dist/schema/presets.d.ts +1 -0
- package/dist/schema/presets.d.ts.map +1 -0
- package/dist/schema/presets.js +2 -0
- package/dist/schema/presets.js.map +1 -0
- package/{src/schema/variant.ts → dist/schema/variant.d.ts} +24 -64
- package/dist/schema/variant.d.ts.map +1 -0
- package/dist/schema/variant.js +3 -0
- package/dist/schema/variant.js.map +1 -0
- package/dist/variants/core/checkbox.d.ts +15 -0
- package/dist/variants/core/checkbox.d.ts.map +1 -0
- package/dist/variants/core/checkbox.js +27 -0
- package/dist/variants/core/checkbox.js.map +1 -0
- package/dist/variants/core/chips.d.ts +3 -0
- package/dist/variants/core/chips.d.ts.map +1 -0
- package/dist/variants/core/chips.js +20 -0
- package/dist/variants/core/chips.js.map +1 -0
- package/dist/variants/core/color.d.ts +3 -0
- package/dist/variants/core/color.d.ts.map +1 -0
- package/dist/variants/core/color.js +14 -0
- package/dist/variants/core/color.js.map +1 -0
- package/dist/variants/core/custom.d.ts +11 -0
- package/dist/variants/core/custom.d.ts.map +1 -0
- package/{src/variants/core/custom.tsx → dist/variants/core/custom.js} +15 -18
- package/dist/variants/core/custom.js.map +1 -0
- package/dist/variants/core/date.d.ts +3 -0
- package/dist/variants/core/date.d.ts.map +1 -0
- package/dist/variants/core/date.js +20 -0
- package/dist/variants/core/date.js.map +1 -0
- package/dist/variants/core/file.d.ts +3 -0
- package/dist/variants/core/file.d.ts.map +1 -0
- package/dist/variants/core/file.js +6 -0
- package/dist/variants/core/file.js.map +1 -0
- package/dist/variants/core/keyvalue.d.ts +3 -0
- package/dist/variants/core/keyvalue.d.ts.map +1 -0
- package/dist/variants/core/keyvalue.js +9 -0
- package/dist/variants/core/keyvalue.js.map +1 -0
- package/dist/variants/core/multiselect.d.ts +11 -0
- package/dist/variants/core/multiselect.d.ts.map +1 -0
- package/dist/variants/core/multiselect.js +15 -0
- package/dist/variants/core/multiselect.js.map +1 -0
- package/dist/variants/core/number.d.ts +38 -0
- package/dist/variants/core/number.d.ts.map +1 -0
- package/dist/variants/core/number.js +62 -0
- package/dist/variants/core/number.js.map +1 -0
- package/dist/variants/core/password.d.ts +11 -0
- package/dist/variants/core/password.d.ts.map +1 -0
- package/dist/variants/core/password.js +29 -0
- package/dist/variants/core/password.js.map +1 -0
- package/dist/variants/core/phone.d.ts +3 -0
- package/dist/variants/core/phone.d.ts.map +1 -0
- package/dist/variants/core/phone.js +14 -0
- package/dist/variants/core/phone.js.map +1 -0
- package/dist/variants/core/radio.d.ts +8 -0
- package/dist/variants/core/radio.d.ts.map +1 -0
- package/dist/variants/core/radio.js +34 -0
- package/dist/variants/core/radio.js.map +1 -0
- package/dist/variants/core/select.d.ts +5 -0
- package/dist/variants/core/select.d.ts.map +1 -0
- package/dist/variants/core/select.js +11 -0
- package/dist/variants/core/select.js.map +1 -0
- package/dist/variants/core/slider.d.ts +19 -0
- package/dist/variants/core/slider.d.ts.map +1 -0
- package/dist/variants/core/slider.js +36 -0
- package/dist/variants/core/slider.js.map +1 -0
- package/dist/variants/core/text.d.ts +38 -0
- package/dist/variants/core/text.d.ts.map +1 -0
- package/{src/variants/core/text.tsx → dist/variants/core/text.js} +4 -56
- package/dist/variants/core/text.js.map +1 -0
- package/dist/variants/core/textarea.d.ts +3 -0
- package/dist/variants/core/textarea.d.ts.map +1 -0
- package/dist/variants/core/textarea.js +20 -0
- package/dist/variants/core/textarea.js.map +1 -0
- package/dist/variants/core/toggle.d.ts +6 -0
- package/dist/variants/core/toggle.d.ts.map +1 -0
- package/dist/variants/core/toggle.js +41 -0
- package/dist/variants/core/toggle.js.map +1 -0
- package/dist/variants/core/treeselect.d.ts +4 -0
- package/dist/variants/core/treeselect.d.ts.map +1 -0
- package/dist/variants/core/treeselect.js +7 -0
- package/dist/variants/core/treeselect.js.map +1 -0
- package/dist/variants/helpers/selection-summary.d.ts +24 -0
- package/dist/variants/helpers/selection-summary.d.ts.map +1 -0
- package/dist/variants/helpers/selection-summary.js +105 -0
- package/dist/variants/helpers/selection-summary.js.map +1 -0
- package/dist/variants/index.d.ts +16 -0
- package/dist/variants/index.d.ts.map +1 -0
- package/{src/variants/index.ts → dist/variants/index.js} +7 -27
- package/dist/variants/index.js.map +1 -0
- package/dist/variants/registry.d.ts +19 -0
- package/dist/variants/registry.d.ts.map +1 -0
- package/dist/variants/registry.js +29 -0
- package/dist/variants/registry.js.map +1 -0
- package/dist/variants/select-shared.d.ts +1 -0
- package/dist/variants/select-shared.d.ts.map +1 -0
- package/dist/variants/select-shared.js +2 -0
- package/dist/variants/select-shared.js.map +1 -0
- package/{src/variants/shared.ts → dist/variants/shared.d.ts} +3 -22
- package/dist/variants/shared.d.ts.map +1 -0
- package/dist/variants/shared.js +3 -0
- package/dist/variants/shared.js.map +1 -0
- package/package.json +5 -5
- package/.scaffold-cache.json +0 -537
- package/src/.scaffold-cache.json +0 -544
- package/src/adapters/axios.ts +0 -117
- package/src/adapters/index.ts +0 -91
- package/src/adapters/inertia.ts +0 -187
- package/src/core/bound/observe-bound-field.ts +0 -172
- package/src/core/bound/wait-for-bound-field.ts +0 -57
- package/src/core/core-root.tsx +0 -72
- package/src/core/core-shell.tsx +0 -44
- package/src/core/errors/index.ts +0 -2
- package/src/core/hooks/use-button.ts +0 -220
- package/src/core/hooks/use-core-utility.ts +0 -0
- package/src/core/hooks/use-field.ts +0 -497
- package/src/core/hooks/use-optional-field.ts +0 -28
- package/src/core/index.ts +0 -0
- package/src/core/registry/binder-registry.ts +0 -82
- package/src/core/test.tsx +0 -17
- package/src/global.d.ts +0 -14
- package/src/input/input-field.tsx +0 -854
- package/src/input/input-layout-graph.ts +0 -230
- package/src/lib/get-global-countries.ts +0 -87
- package/src/lib/utils.ts +0 -6
- package/src/presets/index.ts +0 -0
- package/src/presets/shadcn-preset.ts +0 -0
- package/src/presets/shadcn-variants/checkbox.tsx +0 -849
- package/src/presets/shadcn-variants/chips.tsx +0 -756
- package/src/presets/shadcn-variants/color.tsx +0 -284
- package/src/presets/shadcn-variants/custom.tsx +0 -227
- package/src/presets/shadcn-variants/date.tsx +0 -796
- package/src/presets/shadcn-variants/file.tsx +0 -764
- package/src/presets/shadcn-variants/keyvalue.tsx +0 -556
- package/src/presets/shadcn-variants/multiselect.tsx +0 -1132
- package/src/presets/shadcn-variants/number.tsx +0 -176
- package/src/presets/shadcn-variants/password.tsx +0 -737
- package/src/presets/shadcn-variants/phone.tsx +0 -628
- package/src/presets/shadcn-variants/radio.tsx +0 -578
- package/src/presets/shadcn-variants/select.tsx +0 -956
- package/src/presets/shadcn-variants/slider.tsx +0 -622
- package/src/presets/shadcn-variants/text.tsx +0 -343
- package/src/presets/shadcn-variants/textarea.tsx +0 -66
- package/src/presets/shadcn-variants/toggle.tsx +0 -218
- package/src/presets/shadcn-variants/treeselect.tsx +0 -784
- package/src/presets/ui/badge.tsx +0 -46
- package/src/presets/ui/button.tsx +0 -60
- package/src/presets/ui/calendar.tsx +0 -214
- package/src/presets/ui/checkbox.tsx +0 -115
- package/src/presets/ui/custom.tsx +0 -0
- package/src/presets/ui/dialog.tsx +0 -141
- package/src/presets/ui/field.tsx +0 -246
- package/src/presets/ui/input-mask.tsx +0 -739
- package/src/presets/ui/input-otp.tsx +0 -77
- package/src/presets/ui/input.tsx +0 -1011
- package/src/presets/ui/label.tsx +0 -22
- package/src/presets/ui/number.tsx +0 -1370
- package/src/presets/ui/popover.tsx +0 -46
- package/src/presets/ui/radio-group.tsx +0 -43
- package/src/presets/ui/scroll-area.tsx +0 -56
- package/src/presets/ui/select.tsx +0 -190
- package/src/presets/ui/separator.tsx +0 -28
- package/src/presets/ui/slider.tsx +0 -61
- package/src/presets/ui/switch.tsx +0 -32
- package/src/presets/ui/textarea.tsx +0 -634
- package/src/presets/ui/time-dropdowns.tsx +0 -350
- package/src/schema/field-map.ts +0 -0
- package/src/schema/index.ts +0 -0
- package/src/schema/presets.ts +0 -0
- package/src/variants/core/checkbox.tsx +0 -54
- package/src/variants/core/chips.tsx +0 -22
- package/src/variants/core/color.tsx +0 -16
- package/src/variants/core/date.tsx +0 -25
- package/src/variants/core/file.tsx +0 -9
- package/src/variants/core/keyvalue.tsx +0 -12
- package/src/variants/core/multiselect.tsx +0 -28
- package/src/variants/core/number.tsx +0 -115
- package/src/variants/core/password.tsx +0 -35
- package/src/variants/core/phone.tsx +0 -16
- package/src/variants/core/radio.tsx +0 -38
- package/src/variants/core/select.tsx +0 -15
- package/src/variants/core/slider.tsx +0 -55
- package/src/variants/core/textarea.tsx +0 -22
- package/src/variants/core/toggle.tsx +0 -50
- package/src/variants/core/treeselect.tsx +0 -11
- package/src/variants/helpers/selection-summary.tsx +0 -236
- package/src/variants/registry.ts +0 -38
- package/src/variants/select-shared.ts +0 -0
- package/tsconfig.json +0 -14
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ExtraFieldProps, VariantBaseProps } from "@/variants/shared";
|
|
3
|
+
type MaskMode = "raw" | "masked";
|
|
4
|
+
/**
|
|
5
|
+
* Mask-related props for the Shadcn text variant.
|
|
6
|
+
*
|
|
7
|
+
* These are forwarded to the underlying <Input>, which in turn wires
|
|
8
|
+
* them into the InputMask implementation.
|
|
9
|
+
*/
|
|
10
|
+
export interface ShadcnTextMaskProps {
|
|
11
|
+
/**
|
|
12
|
+
* Mask pattern – Primereact style.
|
|
13
|
+
* Example: "99/99/9999", "(999) 999-9999"
|
|
14
|
+
*/
|
|
15
|
+
mask?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Per-symbol definitions for slots.
|
|
18
|
+
* Kept for future custom engine; not used by the current
|
|
19
|
+
* react-input-mask implementation.
|
|
20
|
+
*/
|
|
21
|
+
maskDefinitions?: Record<string, RegExp>;
|
|
22
|
+
/**
|
|
23
|
+
* Character used to visually represent an empty slot.
|
|
24
|
+
* Default: "_".
|
|
25
|
+
*/
|
|
26
|
+
slotChar?: string;
|
|
27
|
+
/**
|
|
28
|
+
* If true, when the value is effectively "empty" (no unmasked chars),
|
|
29
|
+
* we emit an empty string "" instead of a fully-masked placeholder.
|
|
30
|
+
*
|
|
31
|
+
* NOTE: This behaviour is implemented in the variant, not Input,
|
|
32
|
+
* so we preserve your existing semantics.
|
|
33
|
+
*/
|
|
34
|
+
autoClear?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Whether the *model* value is raw or masked.
|
|
37
|
+
*
|
|
38
|
+
* - "raw" or true → onValue receives unmasked value
|
|
39
|
+
* - "masked" or false/undefined → onValue receives full masked string
|
|
40
|
+
*
|
|
41
|
+
* NOTE: detail.raw is **always** the masked string.
|
|
42
|
+
*/
|
|
43
|
+
unmask?: MaskMode | boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Placeholder for future caret-mode logic when we go back
|
|
46
|
+
* to a custom engine. Currently unused, kept for API compatibility.
|
|
47
|
+
*/
|
|
48
|
+
maskInsertMode?: "stream" | "caret";
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Extra UI props for the Shadcn text input (pure HTML-level).
|
|
52
|
+
*
|
|
53
|
+
* These are forwarded straight to the underlying <Input />.
|
|
54
|
+
*/
|
|
55
|
+
export type ShadcnTextUiProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "defaultValue" | "onChange" | "size"> & {
|
|
56
|
+
/**
|
|
57
|
+
* Extra classes applied only to the *inner* input element
|
|
58
|
+
* (the actual <input>, not the wrapper box).
|
|
59
|
+
*/
|
|
60
|
+
inputClassName?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Fixed prefix rendered as part of the input value, NOT as an icon.
|
|
63
|
+
* E.g. "₦", "ID: ".
|
|
64
|
+
*
|
|
65
|
+
* The underlying <Input> will:
|
|
66
|
+
* - take the model value (without prefix),
|
|
67
|
+
* - render prefix + value,
|
|
68
|
+
* - expose the full visible string in event.target.value.
|
|
69
|
+
*/
|
|
70
|
+
prefix?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Fixed suffix rendered as part of the input value, NOT as an icon.
|
|
73
|
+
* E.g. "%", "kg".
|
|
74
|
+
*/
|
|
75
|
+
suffix?: string;
|
|
76
|
+
/**
|
|
77
|
+
* If true (default), we strip the prefix from the value
|
|
78
|
+
* before emitting it via `onValue`.
|
|
79
|
+
*/
|
|
80
|
+
stripPrefix?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* If true (default), we strip the suffix from the value
|
|
83
|
+
* before emitting it via `onValue`.
|
|
84
|
+
*/
|
|
85
|
+
stripSuffix?: boolean;
|
|
86
|
+
} & ShadcnTextMaskProps;
|
|
87
|
+
/**
|
|
88
|
+
* Props for the Shadcn-based text variant.
|
|
89
|
+
*
|
|
90
|
+
* This is a *form* wrapper around the base <Input />:
|
|
91
|
+
* - Handles value ↔ ChangeDetail mapping.
|
|
92
|
+
* - Delegates all visual concerns (masking, affixes, icons, controls,
|
|
93
|
+
* size, density) to the Input component.
|
|
94
|
+
*/
|
|
95
|
+
export type ShadcnTextVariantProps = ExtraFieldProps<VariantBaseProps<string | undefined>> & {
|
|
96
|
+
/**
|
|
97
|
+
* If true and there are controls, the input + controls share one box
|
|
98
|
+
* (borders, radius, focus states).
|
|
99
|
+
*
|
|
100
|
+
* Delegated to the underlying <Input />.
|
|
101
|
+
*/
|
|
102
|
+
joinControls?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* When joinControls is true, whether the box styling extends over controls
|
|
105
|
+
* (true) or controls are visually separate (false).
|
|
106
|
+
*/
|
|
107
|
+
extendBoxToControls?: boolean;
|
|
108
|
+
};
|
|
109
|
+
export declare const ShadcnTextVariant: React.ForwardRefExoticComponent<import("@/variants/shared").Extras & VariantBaseProps<string | undefined> & {
|
|
110
|
+
/**
|
|
111
|
+
* If true and there are controls, the input + controls share one box
|
|
112
|
+
* (borders, radius, focus states).
|
|
113
|
+
*
|
|
114
|
+
* Delegated to the underlying <Input />.
|
|
115
|
+
*/
|
|
116
|
+
joinControls?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* When joinControls is true, whether the box styling extends over controls
|
|
119
|
+
* (true) or controls are visually separate (false).
|
|
120
|
+
*/
|
|
121
|
+
extendBoxToControls?: boolean;
|
|
122
|
+
} & Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value" | "defaultValue" | "size"> & {
|
|
123
|
+
/**
|
|
124
|
+
* Extra classes applied only to the *inner* input element
|
|
125
|
+
* (the actual <input>, not the wrapper box).
|
|
126
|
+
*/
|
|
127
|
+
inputClassName?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Fixed prefix rendered as part of the input value, NOT as an icon.
|
|
130
|
+
* E.g. "₦", "ID: ".
|
|
131
|
+
*
|
|
132
|
+
* The underlying <Input> will:
|
|
133
|
+
* - take the model value (without prefix),
|
|
134
|
+
* - render prefix + value,
|
|
135
|
+
* - expose the full visible string in event.target.value.
|
|
136
|
+
*/
|
|
137
|
+
prefix?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Fixed suffix rendered as part of the input value, NOT as an icon.
|
|
140
|
+
* E.g. "%", "kg".
|
|
141
|
+
*/
|
|
142
|
+
suffix?: string;
|
|
143
|
+
/**
|
|
144
|
+
* If true (default), we strip the prefix from the value
|
|
145
|
+
* before emitting it via `onValue`.
|
|
146
|
+
*/
|
|
147
|
+
stripPrefix?: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* If true (default), we strip the suffix from the value
|
|
150
|
+
* before emitting it via `onValue`.
|
|
151
|
+
*/
|
|
152
|
+
stripSuffix?: boolean;
|
|
153
|
+
} & ShadcnTextMaskProps & React.RefAttributes<HTMLInputElement>>;
|
|
154
|
+
export default ShadcnTextVariant;
|
|
155
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/text.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAER,eAAe,EACf,gBAAgB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,KAAK,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAE5B;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAChC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,CACjD,GAAG;IACA;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,mBAAmB,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAChD,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,CACvC,GAAG;IACA;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,iBAAiB;IAf1B;;;;;OAKG;mBACY,OAAO;IAEtB;;;OAGG;0BACmB,OAAO;;IA3D7B;;;OAGG;qBACc,MAAM;IAEvB;;;;;;;;OAQG;aACM,MAAM;IAEf;;;OAGG;aACM,MAAM;IAEf;;;OAGG;kBACW,OAAO;IAErB;;;OAGG;kBACW,OAAO;gEAqOvB,CAAC;AAIH,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// src/presets/ui/shadcn-variants/text.tsx
|
|
3
|
+
// noinspection GrazieInspection
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { Input } from "@/presets/ui/input";
|
|
6
|
+
export const ShadcnTextVariant = React.forwardRef(function ShadcnTextVariant(props, forwardedRef) {
|
|
7
|
+
const {
|
|
8
|
+
// form-level props
|
|
9
|
+
value, onValue, disabled, readOnly, required, error, size, density,
|
|
10
|
+
// extras from VariantBaseProps / ExtraFieldProps
|
|
11
|
+
leadingIcons, trailingIcons, icon, iconGap, leadingIconSpacing, trailingIconSpacing, leadingControl, trailingControl, leadingControlClassName, trailingControlClassName, px, py, ps, pe, pb, joinControls = true, extendBoxToControls = true,
|
|
12
|
+
// masking
|
|
13
|
+
mask, maskDefinitions, slotChar, autoClear, unmask, maskInsertMode,
|
|
14
|
+
// affixes
|
|
15
|
+
prefix, suffix, stripPrefix = true, stripSuffix = true,
|
|
16
|
+
// visual props
|
|
17
|
+
inputClassName, className, style, ...rest } = props;
|
|
18
|
+
const isMasked = Boolean(mask);
|
|
19
|
+
// ─────────────────────────────────────────────
|
|
20
|
+
// Plain change handler (unmasked <Input />)
|
|
21
|
+
// ─────────────────────────────────────────────
|
|
22
|
+
const handlePlainChange = React.useCallback((e) => {
|
|
23
|
+
const displayed = e.target.value ?? "";
|
|
24
|
+
let modelValue = displayed;
|
|
25
|
+
// strip prefix if configured
|
|
26
|
+
if (prefix && stripPrefix && modelValue.startsWith(prefix)) {
|
|
27
|
+
modelValue = modelValue.slice(prefix.length);
|
|
28
|
+
}
|
|
29
|
+
// strip suffix if configured
|
|
30
|
+
if (suffix && stripSuffix && modelValue.endsWith(suffix)) {
|
|
31
|
+
modelValue = modelValue.slice(0, modelValue.length - suffix.length);
|
|
32
|
+
}
|
|
33
|
+
const detail = {
|
|
34
|
+
source: "variant",
|
|
35
|
+
raw: displayed, // actual visible value (with affixes)
|
|
36
|
+
nativeEvent: e,
|
|
37
|
+
meta: {
|
|
38
|
+
prefix,
|
|
39
|
+
suffix,
|
|
40
|
+
stripPrefix,
|
|
41
|
+
stripSuffix,
|
|
42
|
+
model: modelValue,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
onValue?.(modelValue, detail);
|
|
46
|
+
}, [onValue, prefix, suffix, stripPrefix, stripSuffix]);
|
|
47
|
+
// ─────────────────────────────────────────────
|
|
48
|
+
// Masked change handler (InputMask under <Input />)
|
|
49
|
+
// ─────────────────────────────────────────────
|
|
50
|
+
const handleMaskedChange = React.useCallback((e) => {
|
|
51
|
+
const maskedValue = e.value ?? "";
|
|
52
|
+
// Same heuristic as your original variant:
|
|
53
|
+
// "Unmasked" = characters that would normally be accepted by masks.
|
|
54
|
+
const unmaskedInner = maskedValue.match(/[0-9A-Za-z]/g)?.join("") ?? "";
|
|
55
|
+
const mode = unmask === true || unmask === "raw" ? "raw" : "masked";
|
|
56
|
+
// IMPORTANT: detail.raw is ALWAYS the masked value.
|
|
57
|
+
const detail = {
|
|
58
|
+
source: "variant",
|
|
59
|
+
raw: maskedValue,
|
|
60
|
+
nativeEvent: e.originalEvent,
|
|
61
|
+
meta: {
|
|
62
|
+
masked: maskedValue,
|
|
63
|
+
unmasked: unmaskedInner,
|
|
64
|
+
mode,
|
|
65
|
+
prefix,
|
|
66
|
+
suffix,
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
let emitValue = mode === "raw" ? unmaskedInner : maskedValue;
|
|
70
|
+
// autoClear: if nothing "real" was typed, treat as empty.
|
|
71
|
+
if (autoClear && unmaskedInner.length === 0) {
|
|
72
|
+
emitValue = "";
|
|
73
|
+
}
|
|
74
|
+
onValue?.(emitValue, detail);
|
|
75
|
+
}, [onValue, unmask, autoClear, prefix, suffix]);
|
|
76
|
+
// Variant-level "model" is always the raw value you store.
|
|
77
|
+
// The underlying <Input> is responsible for visually applying prefix/suffix
|
|
78
|
+
// or mask literals on top of this model.
|
|
79
|
+
const modelValue = value ?? "";
|
|
80
|
+
return (_jsx(Input, { ref: forwardedRef,
|
|
81
|
+
// visual & sizing
|
|
82
|
+
className: className, style: style, size: size, density: density, inputClassName: inputClassName,
|
|
83
|
+
// flags
|
|
84
|
+
disabled: disabled, readOnly: readOnly, required: required, "aria-invalid": error ? "true" : undefined,
|
|
85
|
+
// masking
|
|
86
|
+
mask: mask, maskDefinitions: maskDefinitions, slotChar: slotChar, autoClear: autoClear, unmask: unmask, maskInsertMode: maskInsertMode,
|
|
87
|
+
// affixes (value-level, not icons)
|
|
88
|
+
prefix: prefix, suffix: suffix, stripPrefix: stripPrefix, stripSuffix: stripSuffix,
|
|
89
|
+
// icons & controls
|
|
90
|
+
leadingIcons: leadingIcons, trailingIcons: trailingIcons, icon: icon, iconGap: iconGap, leadingIconSpacing: leadingIconSpacing, trailingIconSpacing: trailingIconSpacing, leadingControl: leadingControl, trailingControl: trailingControl, leadingControlClassName: leadingControlClassName, trailingControlClassName: trailingControlClassName, joinControls: joinControls, extendBoxToControls: extendBoxToControls, px: px, py: py, ps: ps, pe: pe, pb: pb,
|
|
91
|
+
// value & event mapping
|
|
92
|
+
value: modelValue, onChange: isMasked
|
|
93
|
+
? handleMaskedChange
|
|
94
|
+
: handlePlainChange, ...rest }));
|
|
95
|
+
});
|
|
96
|
+
ShadcnTextVariant.displayName = "ShadcnTextVariant";
|
|
97
|
+
export default ShadcnTextVariant;
|
|
98
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/text.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { VariantBaseProps } from "@/variants/shared";
|
|
3
|
+
import type { TextareaProps as UiTextareaProps } from "@/presets/ui/textarea";
|
|
4
|
+
type TextareaValue = string | undefined;
|
|
5
|
+
type BaseProps = VariantBaseProps<TextareaValue>;
|
|
6
|
+
/**
|
|
7
|
+
* Full props for the Shadcn-based textarea variant.
|
|
8
|
+
*
|
|
9
|
+
* - Reuses all UI-level behaviour from `Textarea` (autoResize, upperControl,
|
|
10
|
+
* leading/trailing controls, icons, size/density, padding knobs, etc.).
|
|
11
|
+
* - Takes over `value` / `onChange` so it can emit through `onValue` with
|
|
12
|
+
* a `ChangeDetail`.
|
|
13
|
+
*/
|
|
14
|
+
export interface ShadcnTextareaVariantProps extends Omit<UiTextareaProps, "value" | "defaultValue" | "onChange">, Pick<BaseProps, "value" | "onValue" | "error"> {
|
|
15
|
+
}
|
|
16
|
+
export declare const ShadcnTextareaVariant: React.ForwardRefExoticComponent<ShadcnTextareaVariantProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
17
|
+
export default ShadcnTextareaVariant;
|
|
18
|
+
//# sourceMappingURL=textarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AAExE,OAAO,KAAK,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE9E,KAAK,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AACxC,KAAK,SAAS,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW,0BACd,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC,EACpE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CAAI;AAErD,eAAO,MAAM,qBAAqB,wGAsChC,CAAC;AAIH,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// src/presets/shadcn-variants/textarea.tsx
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Textarea } from "@/presets/ui/textarea";
|
|
5
|
+
export const ShadcnTextareaVariant = React.forwardRef(function ShadcnTextareaVariant(props, ref) {
|
|
6
|
+
const { value, onValue, error,
|
|
7
|
+
// everything else goes straight to the UI Textarea
|
|
8
|
+
...rest } = props;
|
|
9
|
+
const handleChange = React.useCallback((event) => {
|
|
10
|
+
const next = event.target.value ?? "";
|
|
11
|
+
const detail = {
|
|
12
|
+
source: "variant",
|
|
13
|
+
raw: next,
|
|
14
|
+
nativeEvent: event,
|
|
15
|
+
meta: undefined,
|
|
16
|
+
};
|
|
17
|
+
// empty string → undefined, same convention as text/chips
|
|
18
|
+
onValue?.(next.length ? next : undefined, detail);
|
|
19
|
+
}, [onValue]);
|
|
20
|
+
return (_jsx(Textarea, { ref: ref, ...rest, value: value ?? "", onChange: handleChange, "aria-invalid": error ? "true" : undefined }));
|
|
21
|
+
});
|
|
22
|
+
ShadcnTextareaVariant.displayName = "ShadcnTextareaVariant";
|
|
23
|
+
export default ShadcnTextareaVariant;
|
|
24
|
+
//# sourceMappingURL=textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/textarea.tsx"],"names":[],"mappings":";AAAA,2CAA2C;AAE3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAkBjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAGnD,SAAS,qBAAqB,CAAC,KAAK,EAAE,GAAG;IACxC,MAAM,EACH,KAAK,EACL,OAAO,EACP,KAAK;IACL,mDAAmD;IACnD,GAAG,IAAI,EACT,GAAG,KAAK,CAAC;IAEV,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,KAA6C,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAEtC,MAAM,MAAM,GAAiB;YAC1B,MAAM,EAAE,SAAS;YACjB,GAAG,EAAE,IAAI;YACT,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,SAAS;SACjB,CAAC;QAEF,0DAA0D;QAC1D,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC,EACD,CAAC,OAAO,CAAC,CACX,CAAC;IAEF,OAAO,CACJ,KAAC,QAAQ,IACN,GAAG,EAAE,GAAG,KACJ,IAAI,EACR,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,YAAY,kBACR,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GACzC,CACJ,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,qBAAqB,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAE5D,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { VariantBaseProps } from "@/variants/shared";
|
|
3
|
+
import { Switch } from "@/presets/ui/switch";
|
|
4
|
+
type ToggleValue = boolean | undefined;
|
|
5
|
+
type BaseProps = VariantBaseProps<ToggleValue>;
|
|
6
|
+
type Size = "sm" | "md" | "lg";
|
|
7
|
+
type Density = "default" | "dense";
|
|
8
|
+
/**
|
|
9
|
+
* UI props specific to the Shadcn-based toggle.
|
|
10
|
+
*
|
|
11
|
+
* This uses Switch as the underlying control, but we keep
|
|
12
|
+
* the API surface small and focused.
|
|
13
|
+
*/
|
|
14
|
+
export interface ShadcnToggleUiProps extends Omit<React.ComponentProps<typeof Switch>, "checked" | "onCheckedChange" | "className"> {
|
|
15
|
+
/**
|
|
16
|
+
* Visual size of the switch / text.
|
|
17
|
+
* Default: "md".
|
|
18
|
+
*/
|
|
19
|
+
size?: Size;
|
|
20
|
+
/**
|
|
21
|
+
* Row density (vertical padding & gap).
|
|
22
|
+
* Default: "default".
|
|
23
|
+
*/
|
|
24
|
+
density?: Density;
|
|
25
|
+
/**
|
|
26
|
+
* Place the switch on the left or right of the state text.
|
|
27
|
+
* Default: "left".
|
|
28
|
+
*/
|
|
29
|
+
controlPlacement?: "left" | "right";
|
|
30
|
+
/**
|
|
31
|
+
* Optional state text shown next to the control when ON.
|
|
32
|
+
*/
|
|
33
|
+
onText?: React.ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Optional state text shown next to the control when OFF.
|
|
36
|
+
*/
|
|
37
|
+
offText?: React.ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Wrapper class for the whole toggle row.
|
|
40
|
+
*/
|
|
41
|
+
className?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Extra classes for the Switch root.
|
|
44
|
+
*/
|
|
45
|
+
switchClassName?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Extra classes for the Switch thumb.
|
|
48
|
+
* (Your patched Switch should support thumbClassName.)
|
|
49
|
+
*/
|
|
50
|
+
switchThumbClassName?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Full props for the Shadcn-based toggle variant.
|
|
54
|
+
*
|
|
55
|
+
* We only pick value/onValue/error from the variant base props;
|
|
56
|
+
* everything else (id, disabled, aria-*) flows via Switch props.
|
|
57
|
+
*/
|
|
58
|
+
export type ShadcnToggleVariantProps = ShadcnToggleUiProps & Pick<BaseProps, "value" | "onValue" | "error">;
|
|
59
|
+
export declare const ShadcnToggleVariant: React.ForwardRefExoticComponent<Omit<ShadcnToggleVariantProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
60
|
+
export default ShadcnToggleVariant;
|
|
61
|
+
//# sourceMappingURL=toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,KAAK,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;AACvC,KAAK,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAE/C,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/B,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,WAAW,mBACd,SAAQ,IAAI,CACT,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EACnC,SAAS,GAAG,iBAAiB,GAAG,WAAW,CAC7C;IACD;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,GACvD,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC;AAsClD,eAAO,MAAM,mBAAmB,iHAkG9B,CAAC;AAIH,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// src/presets/shadcn-variants/toggle.tsx
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "@/lib/utils";
|
|
5
|
+
import { Switch } from "@/presets/ui/switch"; // adjust path if your Switch lives elsewhere
|
|
6
|
+
// ─────────────────────────────────────────────
|
|
7
|
+
// Helpers
|
|
8
|
+
// ─────────────────────────────────────────────
|
|
9
|
+
function rowGap(density) {
|
|
10
|
+
return density === "dense" ? "gap-2" : "gap-3";
|
|
11
|
+
}
|
|
12
|
+
function rowPadding(density) {
|
|
13
|
+
return density === "dense" ? "py-0.5" : "py-1";
|
|
14
|
+
}
|
|
15
|
+
function textSize(size) {
|
|
16
|
+
if (size === "sm")
|
|
17
|
+
return "text-sm";
|
|
18
|
+
if (size === "lg")
|
|
19
|
+
return "text-base";
|
|
20
|
+
return "text-sm";
|
|
21
|
+
}
|
|
22
|
+
// Map size → Switch track + thumb sizing
|
|
23
|
+
function switchRootSize(size) {
|
|
24
|
+
if (size === "sm")
|
|
25
|
+
return "h-5 w-9";
|
|
26
|
+
if (size === "lg")
|
|
27
|
+
return "h-7 w-12";
|
|
28
|
+
// default shadcn-ish base
|
|
29
|
+
return "h-[1.15rem] w-8";
|
|
30
|
+
}
|
|
31
|
+
function switchThumbSize(size) {
|
|
32
|
+
if (size === "sm")
|
|
33
|
+
return "size-3.5";
|
|
34
|
+
if (size === "lg")
|
|
35
|
+
return "size-5";
|
|
36
|
+
return "size-4";
|
|
37
|
+
}
|
|
38
|
+
// ─────────────────────────────────────────────
|
|
39
|
+
// Component
|
|
40
|
+
// ─────────────────────────────────────────────
|
|
41
|
+
export const ShadcnToggleVariant = React.forwardRef(function ShadcnToggleVariant(props, _ref) {
|
|
42
|
+
const {
|
|
43
|
+
// variant bits
|
|
44
|
+
value, onValue, error,
|
|
45
|
+
// UI config
|
|
46
|
+
size = "md", density = "default", controlPlacement = "left", onText, offText, className, switchClassName, switchThumbClassName,
|
|
47
|
+
// Switch passthroughs
|
|
48
|
+
disabled, id, "aria-describedby": describedBy, ...restSwitchProps } = props;
|
|
49
|
+
const checked = !!value;
|
|
50
|
+
const handleToggle = React.useCallback((next) => {
|
|
51
|
+
const nextVal = !!next;
|
|
52
|
+
const detail = {
|
|
53
|
+
source: "variant",
|
|
54
|
+
raw: nextVal,
|
|
55
|
+
nativeEvent: undefined,
|
|
56
|
+
meta: undefined,
|
|
57
|
+
};
|
|
58
|
+
onValue?.(nextVal, detail);
|
|
59
|
+
}, [onValue]);
|
|
60
|
+
const rowCls = cn("flex w-fit items-center", rowGap(density), rowPadding(density));
|
|
61
|
+
const stateText = onText != null || offText != null ? (_jsx("span", { className: cn("select-none text-muted-foreground", textSize(size)), children: checked ? onText : offText })) : null;
|
|
62
|
+
const switchEl = (_jsx(Switch, { id: id, checked: checked, onCheckedChange: handleToggle, disabled: disabled, "aria-describedby": describedBy, "aria-checked": checked, className: cn(switchRootSize(size), switchClassName), thumbClassName: cn(switchThumbSize(size), switchThumbClassName), ...restSwitchProps }));
|
|
63
|
+
return (_jsx("div", { "data-slot": "toggle-field", className: cn("w-fit", disabled && "opacity-50 cursor-not-allowed", className), "aria-disabled": disabled || undefined, "aria-invalid": error ? "true" : undefined, children: _jsx("div", { className: rowCls, children: controlPlacement === "left" ? (_jsxs(_Fragment, { children: [switchEl, stateText] })) : (_jsxs(_Fragment, { children: [stateText, switchEl] })) }) }));
|
|
64
|
+
});
|
|
65
|
+
ShadcnToggleVariant.displayName = "ShadcnToggleVariant";
|
|
66
|
+
export default ShadcnToggleVariant;
|
|
67
|
+
//# sourceMappingURL=toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/toggle.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { VariantBaseProps } from "@/variants/shared";
|
|
3
|
+
type TreeKey = string | number;
|
|
4
|
+
type TreeValue = TreeKey | TreeKey[] | undefined;
|
|
5
|
+
export type TreeSelectOption = TreeKey | {
|
|
6
|
+
label?: React.ReactNode;
|
|
7
|
+
value?: TreeKey;
|
|
8
|
+
description?: React.ReactNode;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
children?: TreeSelectOption[];
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
};
|
|
14
|
+
type NormalizedTreeItem = {
|
|
15
|
+
key: string;
|
|
16
|
+
value: TreeKey;
|
|
17
|
+
labelNode: React.ReactNode;
|
|
18
|
+
labelText: string;
|
|
19
|
+
description?: React.ReactNode;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
icon?: React.ReactNode;
|
|
22
|
+
level: number;
|
|
23
|
+
parentValue?: TreeKey;
|
|
24
|
+
path: TreeKey[];
|
|
25
|
+
hasChildren: boolean;
|
|
26
|
+
children: NormalizedTreeItem[];
|
|
27
|
+
raw: TreeSelectOption;
|
|
28
|
+
};
|
|
29
|
+
export interface ShadcnTreeSelectVariantProps extends Pick<VariantBaseProps<TreeValue>, "value" | "onValue" | "error" | "disabled" | "readOnly" | "size" | "density"> {
|
|
30
|
+
options?: TreeSelectOption[];
|
|
31
|
+
/**
|
|
32
|
+
* If true, allows multiple selection (checkboxes).
|
|
33
|
+
* If false, allows single selection (no checkboxes, closes on select).
|
|
34
|
+
* Default: true
|
|
35
|
+
*/
|
|
36
|
+
multiple?: boolean;
|
|
37
|
+
autoCap?: boolean;
|
|
38
|
+
optionLabel?: string | ((item: TreeSelectOption) => React.ReactNode);
|
|
39
|
+
optionValue?: string | ((item: TreeSelectOption) => TreeKey);
|
|
40
|
+
optionDescription?: string | ((item: TreeSelectOption) => React.ReactNode);
|
|
41
|
+
optionDisabled?: string | ((item: TreeSelectOption) => boolean);
|
|
42
|
+
optionIcon?: string | ((item: TreeSelectOption) => React.ReactNode);
|
|
43
|
+
optionKey?: string | ((item: TreeSelectOption, index: number) => React.Key);
|
|
44
|
+
searchable?: boolean;
|
|
45
|
+
searchPlaceholder?: string;
|
|
46
|
+
emptyLabel?: React.ReactNode;
|
|
47
|
+
emptySearchText?: React.ReactNode;
|
|
48
|
+
clearable?: boolean;
|
|
49
|
+
placeholder?: React.ReactNode;
|
|
50
|
+
className?: string;
|
|
51
|
+
triggerClassName?: string;
|
|
52
|
+
contentClassName?: string;
|
|
53
|
+
renderOption?: (ctx: {
|
|
54
|
+
item: NormalizedTreeItem;
|
|
55
|
+
selected: boolean;
|
|
56
|
+
index: number;
|
|
57
|
+
option: React.ReactNode;
|
|
58
|
+
}) => React.ReactNode;
|
|
59
|
+
renderValue?: (ctx: {
|
|
60
|
+
selectedItems: NormalizedTreeItem[];
|
|
61
|
+
placeholder?: React.ReactNode;
|
|
62
|
+
}) => React.ReactNode;
|
|
63
|
+
expandAll?: boolean;
|
|
64
|
+
defaultExpandedValues?: TreeKey[];
|
|
65
|
+
leafOnly?: boolean;
|
|
66
|
+
leadingIcons?: React.ReactNode[];
|
|
67
|
+
trailingIcons?: React.ReactNode[];
|
|
68
|
+
icon?: React.ReactNode;
|
|
69
|
+
iconGap?: number;
|
|
70
|
+
leadingIconSpacing?: number;
|
|
71
|
+
trailingIconSpacing?: number;
|
|
72
|
+
leadingControl?: React.ReactNode;
|
|
73
|
+
trailingControl?: React.ReactNode;
|
|
74
|
+
leadingControlClassName?: string;
|
|
75
|
+
trailingControlClassName?: string;
|
|
76
|
+
joinControls?: boolean;
|
|
77
|
+
extendBoxToControls?: boolean;
|
|
78
|
+
}
|
|
79
|
+
export declare const ShadcnTreeSelectVariant: React.ForwardRefExoticComponent<ShadcnTreeSelectVariantProps & React.RefAttributes<HTMLButtonElement>>;
|
|
80
|
+
export default ShadcnTreeSelectVariant;
|
|
81
|
+
//# sourceMappingURL=treeselect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeselect.d.ts","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/treeselect.tsx"],"names":[],"mappings":"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"}
|