@nhtio/lucid-resourceful-vue-components 0.1.0-master-36a05f8e → 0.1.0-master-0d659775
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/{VRadioGroup-4EZRfNoO.mjs → VRadioGroup-lC_c6Ath.mjs} +2 -2
- package/{VRadioGroup-4EZRfNoO.mjs.map → VRadioGroup-lC_c6Ath.mjs.map} +1 -1
- package/{actions-Cl683OMq.mjs → actions-CXhEUJp6.mjs} +6 -6
- package/{actions-Cl683OMq.mjs.map → actions-CXhEUJp6.mjs.map} +1 -1
- package/{alert-BX9BkYd9.mjs → alert-B0j6GH3V.mjs} +6 -6
- package/{alert-BX9BkYd9.mjs.map → alert-B0j6GH3V.mjs.map} +1 -1
- package/{bigint-Cutiv42Q.mjs → bigint-DXS_rVbG.mjs} +5 -5
- package/{bigint-Cutiv42Q.mjs.map → bigint-DXS_rVbG.mjs.map} +1 -1
- package/{boolean-D6WyXCcY.mjs → boolean-J55jiDD7.mjs} +7 -7
- package/{boolean-D6WyXCcY.mjs.map → boolean-J55jiDD7.mjs.map} +1 -1
- package/{clipboard-C0t7KXsZ.mjs → clipboard-C6YTX8YB.mjs} +4 -4
- package/{clipboard-C0t7KXsZ.mjs.map → clipboard-C6YTX8YB.mjs.map} +1 -1
- package/{common-CCR70s0E.mjs → common-a_cd4SQg.mjs} +9 -9
- package/{common-CCR70s0E.mjs.map → common-a_cd4SQg.mjs.map} +1 -1
- package/components/autorefresh_controller.mjs +1 -1
- package/components/control_button.mjs +1 -1
- package/components/control_button_bar.mjs +2 -2
- package/components/control_menu.mjs +1 -1
- package/components/custom_field.mjs +1 -1
- package/components/exporter.mjs +1 -1
- package/components/fields/bigint.mjs +1 -1
- package/components/fields/boolean.mjs +1 -1
- package/components/fields/date.mjs +1 -1
- package/components/fields/date_time.mjs +1 -1
- package/components/fields/enum.mjs +1 -1
- package/components/fields/integer.mjs +1 -1
- package/components/fields/number.mjs +1 -1
- package/components/fields/string.mjs +1 -1
- package/components/fields/unsigned_integer.mjs +1 -1
- package/components/fields.mjs +9 -9
- package/components/form_with_validation.mjs +1 -1
- package/components/resourceful_alerter.mjs +1 -1
- package/components/resourceful_index.mjs +1 -1
- package/components/resourceful_record.mjs +2 -2
- package/components/resourceful_record_default_form.mjs +1 -1
- package/components/resourceful_record_form.mjs +1 -1
- package/components/sortable.mjs +1 -1
- package/components/svg_icon.mjs +1 -1
- package/components/timezone_picker.mjs +1 -1
- package/components.mjs +23 -23
- package/composables.mjs +11 -11
- package/{custom-B9c_7nfV.mjs → custom-CgyU3A_B.mjs} +4 -4
- package/{custom-B9c_7nfV.mjs.map → custom-CgyU3A_B.mjs.map} +1 -1
- package/{date-B2SWnGCI.mjs → date-B8edF8kU.mjs} +119 -72
- package/date-B8edF8kU.mjs.map +1 -0
- package/{date_time-CDwBSOoF.mjs → date_time-BNsYnH-e.mjs} +272 -187
- package/date_time-BNsYnH-e.mjs.map +1 -0
- package/{display-C5mRsn7Z.mjs → display-pfXaBUr6.mjs} +3 -3
- package/{display-C5mRsn7Z.mjs.map → display-pfXaBUr6.mjs.map} +1 -1
- package/{enum-DWYdxtym.mjs → enum-DoxJn16e.mjs} +6 -6
- package/{enum-DWYdxtym.mjs.map → enum-DoxJn16e.mjs.map} +1 -1
- package/{exceptions-Cc9ucZ7k.mjs → exceptions-BeFuVcrH.mjs} +2 -2
- package/{exceptions-Cc9ucZ7k.mjs.map → exceptions-BeFuVcrH.mjs.map} +1 -1
- package/exceptions.mjs +2 -2
- package/factories.mjs +1 -1
- package/{field_composer-BKt9bYLY.mjs → field_composer-CPqM1aSV.mjs} +3 -3
- package/{field_composer-BKt9bYLY.mjs.map → field_composer-CPqM1aSV.mjs.map} +1 -1
- package/{form-UkVPEtmH.mjs → form-BkQlevYR.mjs} +13 -13
- package/{form-UkVPEtmH.mjs.map → form-BkQlevYR.mjs.map} +1 -1
- package/{guards-DH0cjg4V.mjs → guards-D0G8CU2m.mjs} +2 -2
- package/{guards-DH0cjg4V.mjs.map → guards-D0G8CU2m.mjs.map} +1 -1
- package/guards.mjs +4 -4
- package/helpers.mjs +12 -12
- package/{http-DF04z-RO.mjs → http-C15bx-Gn.mjs} +2 -2
- package/{http-DF04z-RO.mjs.map → http-C15bx-Gn.mjs.map} +1 -1
- package/{http-I0AHP1E0.mjs → http-ChBUYgv8.mjs} +2 -2
- package/{http-I0AHP1E0.mjs.map → http-ChBUYgv8.mjs.map} +1 -1
- package/http.mjs +1 -1
- package/{index-qrLo5NeU.mjs → index-BEXQjukb.mjs} +2 -1
- package/{index-qrLo5NeU.mjs.map → index-BEXQjukb.mjs.map} +1 -1
- package/{index-CdM957SL.mjs → index-BcDX9w4T.mjs} +6 -6
- package/{index-CdM957SL.mjs.map → index-BcDX9w4T.mjs.map} +1 -1
- package/{index-DrnPA6Ix.mjs → index-CHELe70a.mjs} +5 -5
- package/{index-DrnPA6Ix.mjs.map → index-CHELe70a.mjs.map} +1 -1
- package/{index-CPEwoqSn.mjs → index-CduefDwU.mjs} +3 -3
- package/{index-CPEwoqSn.mjs.map → index-CduefDwU.mjs.map} +1 -1
- package/{index-BYW_4VLZ.mjs → index-CvhhGjZn.mjs} +3 -3
- package/{index-BYW_4VLZ.mjs.map → index-CvhhGjZn.mjs.map} +1 -1
- package/{index-BDy60Kot.mjs → index-DGWcBN5e.mjs} +10 -10
- package/{index-BDy60Kot.mjs.map → index-DGWcBN5e.mjs.map} +1 -1
- package/{index-BLHeTLWJ.mjs → index-DHoLuRuJ.mjs} +3 -3
- package/{index-BLHeTLWJ.mjs.map → index-DHoLuRuJ.mjs.map} +1 -1
- package/{index-Bv_WlNae.mjs → index-DLzoBhUb.mjs} +3 -3
- package/{index-Bv_WlNae.mjs.map → index-DLzoBhUb.mjs.map} +1 -1
- package/{index-CQL3B-1I.mjs → index-DcCK7tW-.mjs} +31 -31
- package/{index-CQL3B-1I.mjs.map → index-DcCK7tW-.mjs.map} +1 -1
- package/{index-DocX_tDZ.mjs → index-De0W4KPF.mjs} +6 -6
- package/{index-DocX_tDZ.mjs.map → index-De0W4KPF.mjs.map} +1 -1
- package/{index-CHv5OSeQ.mjs → index-M6jQfE3a.mjs} +2 -2
- package/{index-CHv5OSeQ.mjs.map → index-M6jQfE3a.mjs.map} +1 -1
- package/index.mjs +37 -37
- package/{integer-Bt_AlHXh.mjs → integer-BWdmDp7S.mjs} +2 -2
- package/{integer-Bt_AlHXh.mjs.map → integer-BWdmDp7S.mjs.map} +1 -1
- package/{ioc-kp39kvzE.mjs → ioc-Q-KAX6x1.mjs} +2 -2
- package/{ioc-kp39kvzE.mjs.map → ioc-Q-KAX6x1.mjs.map} +1 -1
- package/ioc.mjs +1 -1
- package/{number-Dm-VOsTt.mjs → number-Chf-qQs7.mjs} +6 -6
- package/number-Chf-qQs7.mjs.map +1 -0
- package/package.json +1 -1
- package/private/fields/date_time.d.ts +46 -46
- package/{props-BD6dI7C6.mjs → props-eYGYq1uo.mjs} +3 -3
- package/{props-BD6dI7C6.mjs.map → props-eYGYq1uo.mjs.map} +1 -1
- package/{props-CLREBMsk.mjs → props-fFnbtBgH.mjs} +3 -3
- package/{props-CLREBMsk.mjs.map → props-fFnbtBgH.mjs.map} +1 -1
- package/{renderers-52Fmk2vb.mjs → renderers-bwWUs06k.mjs} +13 -13
- package/{renderers-52Fmk2vb.mjs.map → renderers-bwWUs06k.mjs.map} +1 -1
- package/{string-CLObNFFq.mjs → string-D-UsgMTx.mjs} +5 -5
- package/{string-CLObNFFq.mjs.map → string-D-UsgMTx.mjs.map} +1 -1
- package/{unsigned_integer-BE8JsE5A.mjs → unsigned_integer-7R2vw_Qn.mjs} +3 -3
- package/{unsigned_integer-BE8JsE5A.mjs.map → unsigned_integer-7R2vw_Qn.mjs.map} +1 -1
- package/{utils-CtD3mjq0.mjs → utils-DehfJ8pT.mjs} +2 -2
- package/{utils-CtD3mjq0.mjs.map → utils-DehfJ8pT.mjs.map} +1 -1
- package/{validation-AYuAZgi0.mjs → validation-41gHTtyY.mjs} +6 -6
- package/{validation-AYuAZgi0.mjs.map → validation-41gHTtyY.mjs.map} +1 -1
- package/date-B2SWnGCI.mjs.map +0 -1
- package/date_time-CDwBSOoF.mjs.map +0 -1
- package/number-Dm-VOsTt.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigint-Cutiv42Q.mjs","sources":["../src/private/fields/bigint.ts"],"sourcesContent":["/*\n|--------------------------------------------------------------------------\n| Resourceful BigInt Field\n|--------------------------------------------------------------------------\n|\n| A sophisticated field component for handling unlimited precision integer values\n| using Big.js for arithmetic operations and JSON-safe serialization. This field\n| extends beyond JavaScript's Number.MAX_SAFE_INTEGER limitations while maintaining\n| full compatibility with the resourceful field ecosystem.\n|\n| ## Core Features\n|\n| - **Unlimited Precision**: Handles arbitrarily large integers using Big.js\n| - **JSON Safety**: Configurable serialization (string or native bigint)\n| - **VTextField Base**: Uses VTextField with recreated VNumberInput controls\n| - **Multiple Mode**: Combobox variant with deletable chips for arrays\n| - **Format Support**: Integration with numeral.js formatting options\n| - **Validation Pipeline**: Sophisticated boundary checking and type conversion\n|\n| ## Technical Implementation\n|\n| The field uses VTextField as its base component instead of VNumberInput due to\n| BigInt incompatibility with HTML number inputs. Custom increment/decrement\n| controls are recreated to match VNumberInput behavior with proper pointer\n| capture and keyboard navigation.\n|\n| Type conversion utilities (toEmitable/fromEmitable) handle the complex bridge\n| between BigInt values and the component's string-based internal representation,\n| ensuring JSON safety and precision preservation.\n|\n| ## Usage Examples\n|\n| ```vue\n| <!-- Basic BigInt field -->\n| <RBigIntField\n| v-model=\"largeNumber\"\n| label=\"Large Number\"\n| format=\"0,0\"\n| />\n|\n| <!-- Multiple BigInt values -->\n| <RBigIntField\n| v-model=\"largeNumbers\"\n| multiple\n| label=\"Large Numbers\"\n| format=\"0,0\"\n| />\n|\n| <!-- With constraints -->\n| <RBigIntField\n| v-model=\"constrainedNumber\"\n| label=\"Constrained Number\"\n| :min=\"1000000000000000n\"\n| :max=\"9999999999999999n\"\n| />\n|\n| <!-- Read-only display -->\n| <RBigIntField\n| v-model=\"displayNumber\"\n| label=\"Display Number\"\n| render-mode=\"read\"\n| format=\"0.0a\"\n| />\n| ```\n|\n| ## Control Variants\n|\n| - **default**: Stacked increment/decrement buttons on the right\n| - **split**: Decrement on left, increment on right \n| - **stacked**: Vertical arrangement of controls\n| - **hidden**: No increment/decrement controls\n|\n| ## JSON Safety\n|\n| When `jsonSafe` is true (default), values are emitted as strings to ensure\n| compatibility with JSON serialization. When false, native BigInt values are\n| used for maximum type safety.\n*/\n\nimport { default as Big } from 'big.js'\nimport { VBtn } from 'vuetify/components/VBtn'\nimport { commonEmitsValidators } from './common'\nimport { useFieldComposer } from './field_composer'\nimport { VDivider } from 'vuetify/components/VDivider'\nimport { propsAndEmitsFactory } from '../common/factories'\nimport { h, defineComponent, toRefs, computed } from 'vue'\nimport { VTextField } from 'vuetify/components/VTextField'\nimport { omit, pick } from '@nhtio/vuetifiable/util/helpers'\nimport { formatBigNumber } from '../common/big_number_formatter'\nimport { propsFactory } from '@nhtio/vuetifiable/util/propsFactory'\nimport { makeRNumberFieldProps, makeVNumberInputProps } from './number'\nimport { stripUndefinedValuesFromObject, useSlot } from '../common/utils'\nimport { makeVTextFieldProps } from '@nhtio/vuetifiable/components/VTextField/VTextField'\nimport type { VNumberInputSlots } from './number'\nimport type { SingleFieldRenderer } from './field_composer'\nimport type { LooseRequired } from '@vue/shared/dist/shared.d.ts'\nimport type { NamedSlotParameters, ExtractSlotDefinitions } from '../common/types'\nimport type { CommonResourcefulFieldPublicProps, RFieldStringifier } from './common'\nimport type {\n PropType,\n ExtractPublicPropTypes,\n ToRefs,\n SlotsType,\n ComponentPublicInstance,\n} from 'vue'\n\n/**\n * Creates the base props for RBigIntField component.\n *\n * Extends RNumberField props while replacing min/max/step/precision with BigInt-specific\n * implementations. Adds VTextField's reverse prop and VNumberInput's hideInput/inset props\n * for complete control over the field appearance and behavior.\n *\n * @returns Props factory function for RBigIntField base properties\n *\n * @example\n * ```typescript\n * const props = makeRBigIntFieldBaseProps()\n * // props.min accepts string | number | bigint\n * // props.max accepts string | number | bigint\n * // props.jsonSafe controls serialization format\n * ```\n */\nexport const makeRBigIntFieldBaseProps = propsFactory(\n {\n ...omit(makeRNumberFieldProps(), ['min', 'max', 'precision']),\n ...pick(makeVTextFieldProps(), ['reverse']),\n ...pick(makeVNumberInputProps(), ['hideInput', 'inset']),\n min: {\n type: [String, Number, BigInt] as PropType<string | number | bigint | undefined>,\n default: undefined,\n },\n max: {\n type: [String, Number, BigInt] as PropType<string | number | bigint | undefined>,\n default: undefined,\n },\n jsonSafe: {\n type: Boolean,\n default: true,\n },\n },\n 'RBigIntField'\n)\n\n/**\n * Represents the value types that can be handled by RBigIntField.\n *\n * Supports string, number, and bigint inputs for maximum flexibility.\n * All values are internally converted to Big.js instances for precision\n * arithmetic and then emitted according to the jsonSafe configuration.\n *\n * @example\n * ```typescript\n * const stringValue: RBigIntFieldValue = \"123456789012345678901234567890\"\n * const numberValue: RBigIntFieldValue = 42\n * const bigintValue: RBigIntFieldValue = 123456789012345678901234567890n\n * ```\n */\nexport type RBigIntFieldValue = string | number | bigint\n\nconst isValidSingleRBigIntFieldValue = (value: RBigIntFieldValue) => {\n if (typeof value === 'bigint') return true\n if (\n typeof value === 'number' &&\n !Number.isNaN(value) &&\n Number.isFinite(value) &&\n Number.isInteger(value)\n )\n return true\n try {\n const asBig = new Big(value.toString())\n if (asBig.toFixed(0) !== value.toString()) return false\n return true\n } catch (e) {\n return e instanceof Error ? false : false\n }\n}\n\nconst isValidRBigIntFieldValue = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined\n) => {\n if ('undefined' === typeof value || null === value) return true\n if (Array.isArray(value)) return value.every(isValidSingleRBigIntFieldValue)\n return isValidSingleRBigIntFieldValue(value)\n}\n\n/**\n * Creates the complete props and emits configuration for RBigIntField.\n *\n * Combines the base props with validation-enabled emits for model value updates.\n * All emit values are validated through isValidRBigIntFieldValue before emission.\n *\n * @returns Object containing makeProps function and emits configuration\n *\n * @example\n * ```typescript\n * const { makeProps, emits } = propsAndEmitsFactory(...)\n * // Use in component definition\n * export const RBigIntField = defineComponent({\n * props: makeProps(),\n * emits: emits,\n * // ...\n * })\n * ```\n */\nconst { makeProps: makeRBigIntFieldProps, emits: rBigIntFieldEmits } = propsAndEmitsFactory(\n {\n ...makeRBigIntFieldBaseProps(),\n },\n {\n 'update:modelValue': (value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined) =>\n isValidRBigIntFieldValue(value),\n 'update:model-value': (value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined) =>\n isValidRBigIntFieldValue(value),\n ...commonEmitsValidators,\n },\n ''\n)\n\n/**\n * Props factory function for RBigIntField component.\n *\n * @example\n * ```typescript\n * const props = makeRBigIntFieldProps()\n * ```\n */\n/**\n * Emits configuration for RBigIntField component with validation.\n *\n * @example\n * ```typescript\n * const emits = rBigIntFieldEmits\n * ```\n */\nexport { makeRBigIntFieldProps, rBigIntFieldEmits }\n\n/**\n * Type definition for RBigIntField component props.\n *\n * Extracted from the props factory function to provide type safety\n * for component usage and prop validation.\n *\n * @example\n * ```typescript\n * const props: RBigIntFieldProps = {\n * modelValue: \"123456789012345678901234567890\",\n * label: \"Large Number\",\n * format: \"0,0\",\n * jsonSafe: true\n * }\n * ```\n */\nexport type RBigIntFieldProps = ExtractPublicPropTypes<ReturnType<typeof makeRBigIntFieldProps>>\n\ntype VTextfieldPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVTextFieldProps>>\ntype VTextFieldSlots = ExtractSlotDefinitions<typeof VTextField.slots>\ntype VTextFieldAppendInnerArgs = NamedSlotParameters<VTextFieldSlots, 'append-inner'>\ntype VTextFieldPrependInnerArgs = NamedSlotParameters<VTextFieldSlots, 'prepend-inner'>\n\nconst safeGetAsBig = (value: RBigIntFieldValue): Big | Error => {\n try {\n return new Big(value.toString())\n } catch (error: unknown) {\n return new Error('Invalid BigInt value', {\n cause: error instanceof Error ? error : undefined,\n })\n }\n}\n\nconst isEmitable = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined,\n min: string | number | bigint | undefined,\n max: string | number | bigint | undefined\n) => {\n if (!isValidRBigIntFieldValue(value)) return false\n if ('undefined' === typeof value || null === value) return true\n if ('undefined' === typeof min && 'undefined' === typeof max) return true\n try {\n const minAsBig = 'undefined' === typeof min ? min : new Big(min.toString())\n const maxAsBig = 'undefined' === typeof max ? max : new Big(max.toString())\n const valueAsBig = Array.isArray(value)\n ? value.map((v) => safeGetAsBig(v))\n : safeGetAsBig(value)\n if (Array.isArray(valueAsBig)) {\n return valueAsBig.every((v) => {\n // if we caught and error, the value\n // is assumed to be not safe to emit\n if (v instanceof Error) return false\n if (minAsBig && v.lte(minAsBig)) return false\n if (maxAsBig && v.gte(maxAsBig)) return false\n return true\n })\n } else {\n // if we caught and error, the value\n // is assumed to be not safe to emit\n if (valueAsBig instanceof Error) return false\n if (minAsBig && valueAsBig.lte(minAsBig)) return false\n if (maxAsBig && valueAsBig.gte(maxAsBig)) return false\n return true\n }\n } catch {\n // if we caught and error, the value\n // is assumed to be not safe to emit\n return false\n }\n}\n\nexport const toEmitable = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined,\n jsonSafe: boolean = true\n): RBigIntFieldValue | RBigIntFieldValue[] | null | undefined => {\n if (Array.isArray(value)) {\n return value\n .map((v) => toEmitable(v, jsonSafe))\n .filter((v) => v !== undefined && v !== null) as RBigIntFieldValue[]\n }\n if ('undefined' === typeof value || null === value) return value\n try {\n const asBig = new Big(value.toString())\n if (jsonSafe) {\n return asBig.toFixed(0)\n }\n // if the number is outside of a Number objects boundaries, we must return a bigint\n if (asBig.gt(Number.MAX_SAFE_INTEGER) || asBig.lt(Number.MIN_SAFE_INTEGER)) {\n return BigInt(asBig.toFixed(0))\n }\n return 'number' === typeof value ? Number.parseInt(asBig.toFixed(0)) : BigInt(asBig.toFixed(0))\n } catch {\n return undefined\n }\n}\n\nconst fromEmitable = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined\n): string | string[] | null | undefined => {\n if (Array.isArray(value)) {\n return value\n .map((v) => fromEmitable(v))\n .filter((v) => v !== undefined && v !== null) as string[]\n }\n if ('undefined' === typeof value || null === value) return value\n try {\n const asBig = new Big(value.toString())\n return asBig.toFixed(0)\n } catch {\n return undefined\n }\n}\n\n/**\n * RBigIntField - A sophisticated Vue component for handling unlimited precision integers.\n *\n * This component provides a comprehensive solution for working with large integers that\n * exceed JavaScript's Number.MAX_SAFE_INTEGER. It uses Big.js for arithmetic operations\n * and provides seamless integration with the resourceful field ecosystem.\n *\n * ## Key Features\n *\n * - **Unlimited Precision**: Handle arbitrarily large integers using Big.js\n * - **JSON Compatibility**: Configurable serialization for API compatibility\n * - **Input Controls**: Custom increment/decrement buttons with proper accessibility\n * - **Multiple Values**: Support for arrays with chip-based interface\n * - **Validation**: Comprehensive boundary checking and type validation\n * - **Formatting**: Integration with numeral.js for display formatting\n *\n * ## Technical Details\n *\n * The component uses VTextField as its base instead of VNumberInput due to BigInt\n * incompatibility with HTML number inputs. Custom controls are recreated to match\n * VNumberInput behavior while supporting unlimited precision values.\n *\n * @example\n * ```vue\n * <template>\n * <!-- Basic usage -->\n * <RBigIntField\n * v-model=\"largeNumber\"\n * label=\"Large Number\"\n * format=\"0,0\"\n * />\n *\n * <!-- Multiple values -->\n * <RBigIntField\n * v-model=\"largeNumbers\"\n * multiple\n * label=\"Large Numbers\"\n * />\n *\n * <!-- With constraints -->\n * <RBigIntField\n * v-model=\"constrainedNumber\"\n * :min=\"1000000000000000n\"\n * :max=\"9999999999999999n\"\n * />\n * </template>\n * ```\n */\nexport const RBigIntField = defineComponent({\n name: 'RBigIntField',\n props: makeRBigIntFieldProps(),\n emits: rBigIntFieldEmits,\n slots: Object as SlotsType<VNumberInputSlots>,\n setup(props, { emit, slots }) {\n const {\n focused,\n disabled,\n error,\n errorMessages,\n maxErrors,\n name,\n label,\n readonly,\n validateOn,\n theme,\n width,\n maxWidth,\n minWidth,\n density,\n class: className,\n style,\n id,\n baseColor,\n color,\n glow,\n iconColor,\n hideDetails,\n hint,\n persistentHint,\n messages,\n direction,\n modelValue,\n renderMode,\n multiple,\n choices,\n allowUnspecifiedChoices,\n to,\n href,\n menuIcon,\n active,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n noValuesText,\n clearIcon,\n controlVariant,\n format,\n incrementIcon,\n decrementIcon,\n collapseIcon,\n expandIcon,\n reverse,\n hideInput,\n inset,\n step,\n dirty,\n onBlur,\n onChange,\n onInput,\n } = toRefs(props)\n const fixedEmit: typeof emit = (event, ...args) => {\n switch (event) {\n case 'update:modelValue':\n case 'update:model-value': {\n const canEmit = args.every((v) =>\n isEmitable(\n v as RBigIntFieldValue | RBigIntFieldValue[] | null | undefined,\n props.min,\n props.max\n )\n )\n if (!canEmit) return\n // @ts-expect-error\n return emit(event, ...args.map((v) => toEmitable(v, props.jsonSafe)))\n }\n\n default:\n // @ts-expect-error\n return emit(event, ...args)\n }\n }\n const onUpdateModelValueCamelProp = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined\n ) => {\n if ('undefined' === typeof props['onUpdate:modelValue']) return\n const emitable = toEmitable(value, props.jsonSafe)\n if (!isEmitable(emitable, props.min, props.max)) return\n props['onUpdate:modelValue'](emitable)\n }\n const onUpdateModelValueKebabProp = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined\n ) => {\n if ('undefined' === typeof props['onUpdate:model-value']) return\n const emitable = toEmitable(value, props.jsonSafe)\n if (!isEmitable(emitable, props.min, props.max)) return\n props['onUpdate:model-value'](emitable)\n }\n const textifiedModelValue = computed(() => fromEmitable(modelValue.value))\n const stringifier = computed<RFieldStringifier<RBigIntFieldValue>>(() => {\n return (val: RBigIntFieldValue) => {\n if (!isValidSingleRBigIntFieldValue(val)) return ''\n try {\n const asBig = new Big(val.toString())\n // return numeral(asBig.toFixed(0)).format(format.value)\n return formatBigNumber(asBig, format.value)\n } catch {\n return ''\n }\n }\n })\n const commonProps: ToRefs<LooseRequired<Readonly<CommonResourcefulFieldPublicProps>>> = {\n style,\n label,\n density,\n renderMode,\n multiple,\n to,\n href,\n menuIcon,\n active,\n theme,\n disabled,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n focused,\n noValuesText,\n choices,\n allowUnspecifiedChoices,\n 'class': className,\n 'onUpdate:focused': toRefs(props)['onUpdate:focused'],\n 'onClick:append': toRefs(props)['onClick:append'],\n 'onClick:appendInner': toRefs(props)['onClick:appendInner'],\n 'onClick:clear': toRefs(props)['onClick:clear'],\n 'onClick:prependInner': toRefs(props)['onClick:prependInner'],\n 'onClick:prepend': toRefs(props)['onClick:prepend'],\n 'onMousedown:control': toRefs(props)['onMousedown:control'],\n 'onClick:control': toRefs(props)['onClick:control'],\n error,\n errorMessages,\n dirty,\n onBlur,\n onChange,\n onInput,\n }\n const VNumberInputFieldBindings = computed<VTextfieldPublicProps>(() =>\n stripUndefinedValuesFromObject({\n focused: focused.value,\n disabled: disabled.value,\n error: error.value,\n errorMessages: errorMessages.value,\n maxErrors: maxErrors.value,\n name: name.value,\n label: label.value,\n readonly: readonly.value,\n validateOn: validateOn.value,\n theme: theme.value,\n width: width.value,\n maxWidth: maxWidth.value,\n minWidth: minWidth.value,\n density: density.value,\n class: className.value,\n style: style.value,\n id: id.value,\n baseColor: baseColor.value,\n color: color.value,\n glow: glow.value,\n iconColor: iconColor.value,\n hideDetails: hideDetails.value,\n hint: hint.value,\n persistentHint: persistentHint.value,\n messages: messages.value,\n direction: direction.value,\n variant: variant.value,\n clearIcon: clearIcon.value,\n controlVariant: controlVariant.value,\n active: active.value,\n prefix: prefix.value,\n persistentPlaceholder: persistentPlaceholder.value,\n suffix: suffix.value,\n role: role.value,\n dirty: dirty.value,\n onBlur: onBlur.value,\n onChange: onChange.value,\n onInput: onInput.value,\n })\n )\n const normalizedIncrementIcon = computed(() =>\n controlVariant.value === 'split' ? incrementIcon.value : collapseIcon.value\n )\n const normalizedDecrementIcon = computed(() =>\n controlVariant.value === 'split' ? decrementIcon.value : expandIcon.value\n )\n const normalizedControlNodeSize = computed(() =>\n controlVariant.value === 'split' ? 'default' : 'small'\n )\n const normalizedControlNodeDefaultHeight = computed(() =>\n controlVariant.value === 'stacked' ? 'auto' : '100%'\n )\n const normalizedControlsDisabled = computed(() => disabled.value || readonly.value)\n const normalizedStep = computed(() => {\n const stepValue = step.value ?? 1\n if (stepValue <= 0) return 1\n return Math.round(stepValue) || 1\n })\n const singleFieldRenderer: SingleFieldRenderer = ({\n props: fieldBindings,\n isMultiAdd,\n add,\n }) => {\n const canIncrease = computed(() => {\n if (normalizedControlsDisabled.value) return false\n const isBig = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (isBig instanceof Error) return false\n const maxAsBig = 'undefined' === typeof props.max ? undefined : safeGetAsBig(props.max)\n if (maxAsBig instanceof Error) return false\n if ('undefined' === typeof maxAsBig) return true\n return isBig.add(normalizedStep.value).lte(maxAsBig)\n })\n const canDecrease = computed(() => {\n if (normalizedControlsDisabled.value) return false\n const isBig = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (isBig instanceof Error) return false\n const minAsBig = 'undefined' === typeof props.min ? undefined : safeGetAsBig(props.min)\n if (minAsBig instanceof Error) return false\n if ('undefined' === typeof minAsBig) return true\n return isBig.sub(normalizedStep.value).gte(minAsBig)\n })\n const incrementSlot = useSlot<VNumberInputSlots>('increment', slots)\n const decrementSlot = useSlot<VNumberInputSlots>('decrement', slots)\n const incrementControlNode = () => {\n const slotProps = {\n props: {\n onClick: (e: MouseEvent) => e.stopPropagation(),\n onPointerup: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n },\n onPointerdown: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n // Increment logic here\n if (canIncrease.value) {\n const current = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (!(current instanceof Error)) {\n fieldBindings['onUpdate:modelValue'](current.add(1).toFixed(0))\n }\n }\n },\n onPointercancel: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n },\n },\n }\n\n return incrementSlot\n ? // @ts-expect-error\n incrementSlot(slotProps)\n : h(VBtn, {\n disabled: !canIncrease.value,\n flat: true,\n height: normalizedControlNodeDefaultHeight.value,\n icon: normalizedIncrementIcon.value,\n size: normalizedControlNodeSize.value,\n tabindex: '-1',\n ...slotProps.props,\n })\n }\n const decrementControlNode = () => {\n const slotProps = {\n props: {\n onClick: (e: MouseEvent) => e.stopPropagation(),\n onPointerup: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n },\n onPointerdown: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n // Decrement logic here\n if (canDecrease.value) {\n const current = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (!(current instanceof Error)) {\n fieldBindings['onUpdate:modelValue'](current.sub(1).toFixed(0))\n }\n }\n },\n onPointercancel: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n },\n },\n }\n\n return decrementSlot\n ? // @ts-expect-error\n decrementSlot(slotProps)\n : h(VBtn, {\n disabled: !canDecrease.value,\n flat: true,\n height: normalizedControlNodeDefaultHeight.value,\n icon: normalizedDecrementIcon.value,\n size: normalizedControlNodeSize.value,\n tabindex: '-1',\n ...slotProps.props,\n })\n }\n const appendInnerSlot = () => {\n if (controlVariant.value === 'split') {\n return h('div', { class: 'v-number-input__control' }, [\n h(VDivider, { vertical: true }),\n incrementControlNode(),\n ])\n } else if (!reverse.value && controlVariant.value !== 'hidden') {\n return [\n !hideInput.value && !inset.value && h(VDivider, { vertical: true }),\n h('div', { class: 'v-number-input__control' }, [\n decrementControlNode(),\n h(VDivider, { vertical: controlVariant.value !== 'stacked' }),\n incrementControlNode(),\n ]),\n ]\n }\n return undefined\n }\n const prependInnerSlot = () => {\n if (controlVariant.value === 'split') {\n return h('div', { class: 'v-number-input__control' }, [\n decrementControlNode(),\n h(VDivider, { vertical: true }),\n ])\n } else if (reverse.value && controlVariant.value !== 'hidden') {\n return [\n h('div', { class: 'v-number-input__control' }, [\n decrementControlNode(),\n h(VDivider, { vertical: controlVariant.value !== 'stacked' }),\n incrementControlNode(),\n ]),\n !hideInput.value && !inset.value && h(VDivider, { vertical: true }),\n ]\n }\n return undefined\n }\n return h(\n VTextField,\n {\n ...VNumberInputFieldBindings.value,\n ...fieldBindings,\n class: isMultiAdd\n ? []\n : [\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n VNumberInputFieldBindings.value.class,\n ],\n hideDetails: isMultiAdd ? true : VNumberInputFieldBindings.value.hideDetails,\n inputmode: 'decimal',\n onKeydown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' && isMultiAdd) {\n queueMicrotask(() => add())\n } else if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\n e.preventDefault()\n const current = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (!(current instanceof Error)) {\n if (e.key === 'ArrowUp' && canIncrease.value) {\n fieldBindings['onUpdate:modelValue'](current.add(1).toString())\n } else if (e.key === 'ArrowDown' && canDecrease.value) {\n fieldBindings['onUpdate:modelValue'](current.sub(1).toString())\n }\n }\n }\n },\n },\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n {\n ...slots,\n 'append-inner': (...args: VTextFieldAppendInnerArgs) => [\n slots['append-inner']?.(...args),\n appendInnerSlot(),\n ],\n 'prepend-inner': (...args: VTextFieldPrependInnerArgs) => [\n prependInnerSlot(),\n slots['prepend-inner']?.(...args),\n ],\n }\n )\n }\n const { composed } = useFieldComposer(\n commonProps,\n stringifier,\n singleFieldRenderer,\n fixedEmit,\n onUpdateModelValueCamelProp,\n onUpdateModelValueKebabProp,\n textifiedModelValue,\n textifiedModelValue.value\n )\n return composed\n },\n})\n\nexport type RBigIntField = typeof RBigIntField & ComponentPublicInstance\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bigint-DXS_rVbG.mjs","sources":["../src/private/fields/bigint.ts"],"sourcesContent":["/*\n|--------------------------------------------------------------------------\n| Resourceful BigInt Field\n|--------------------------------------------------------------------------\n|\n| A sophisticated field component for handling unlimited precision integer values\n| using Big.js for arithmetic operations and JSON-safe serialization. This field\n| extends beyond JavaScript's Number.MAX_SAFE_INTEGER limitations while maintaining\n| full compatibility with the resourceful field ecosystem.\n|\n| ## Core Features\n|\n| - **Unlimited Precision**: Handles arbitrarily large integers using Big.js\n| - **JSON Safety**: Configurable serialization (string or native bigint)\n| - **VTextField Base**: Uses VTextField with recreated VNumberInput controls\n| - **Multiple Mode**: Combobox variant with deletable chips for arrays\n| - **Format Support**: Integration with numeral.js formatting options\n| - **Validation Pipeline**: Sophisticated boundary checking and type conversion\n|\n| ## Technical Implementation\n|\n| The field uses VTextField as its base component instead of VNumberInput due to\n| BigInt incompatibility with HTML number inputs. Custom increment/decrement\n| controls are recreated to match VNumberInput behavior with proper pointer\n| capture and keyboard navigation.\n|\n| Type conversion utilities (toEmitable/fromEmitable) handle the complex bridge\n| between BigInt values and the component's string-based internal representation,\n| ensuring JSON safety and precision preservation.\n|\n| ## Usage Examples\n|\n| ```vue\n| <!-- Basic BigInt field -->\n| <RBigIntField\n| v-model=\"largeNumber\"\n| label=\"Large Number\"\n| format=\"0,0\"\n| />\n|\n| <!-- Multiple BigInt values -->\n| <RBigIntField\n| v-model=\"largeNumbers\"\n| multiple\n| label=\"Large Numbers\"\n| format=\"0,0\"\n| />\n|\n| <!-- With constraints -->\n| <RBigIntField\n| v-model=\"constrainedNumber\"\n| label=\"Constrained Number\"\n| :min=\"1000000000000000n\"\n| :max=\"9999999999999999n\"\n| />\n|\n| <!-- Read-only display -->\n| <RBigIntField\n| v-model=\"displayNumber\"\n| label=\"Display Number\"\n| render-mode=\"read\"\n| format=\"0.0a\"\n| />\n| ```\n|\n| ## Control Variants\n|\n| - **default**: Stacked increment/decrement buttons on the right\n| - **split**: Decrement on left, increment on right \n| - **stacked**: Vertical arrangement of controls\n| - **hidden**: No increment/decrement controls\n|\n| ## JSON Safety\n|\n| When `jsonSafe` is true (default), values are emitted as strings to ensure\n| compatibility with JSON serialization. When false, native BigInt values are\n| used for maximum type safety.\n*/\n\nimport { default as Big } from 'big.js'\nimport { VBtn } from 'vuetify/components/VBtn'\nimport { commonEmitsValidators } from './common'\nimport { useFieldComposer } from './field_composer'\nimport { VDivider } from 'vuetify/components/VDivider'\nimport { propsAndEmitsFactory } from '../common/factories'\nimport { h, defineComponent, toRefs, computed } from 'vue'\nimport { VTextField } from 'vuetify/components/VTextField'\nimport { omit, pick } from '@nhtio/vuetifiable/util/helpers'\nimport { formatBigNumber } from '../common/big_number_formatter'\nimport { propsFactory } from '@nhtio/vuetifiable/util/propsFactory'\nimport { makeRNumberFieldProps, makeVNumberInputProps } from './number'\nimport { stripUndefinedValuesFromObject, useSlot } from '../common/utils'\nimport { makeVTextFieldProps } from '@nhtio/vuetifiable/components/VTextField/VTextField'\nimport type { VNumberInputSlots } from './number'\nimport type { SingleFieldRenderer } from './field_composer'\nimport type { LooseRequired } from '@vue/shared/dist/shared.d.ts'\nimport type { NamedSlotParameters, ExtractSlotDefinitions } from '../common/types'\nimport type { CommonResourcefulFieldPublicProps, RFieldStringifier } from './common'\nimport type {\n PropType,\n ExtractPublicPropTypes,\n ToRefs,\n SlotsType,\n ComponentPublicInstance,\n} from 'vue'\n\n/**\n * Creates the base props for RBigIntField component.\n *\n * Extends RNumberField props while replacing min/max/step/precision with BigInt-specific\n * implementations. Adds VTextField's reverse prop and VNumberInput's hideInput/inset props\n * for complete control over the field appearance and behavior.\n *\n * @returns Props factory function for RBigIntField base properties\n *\n * @example\n * ```typescript\n * const props = makeRBigIntFieldBaseProps()\n * // props.min accepts string | number | bigint\n * // props.max accepts string | number | bigint\n * // props.jsonSafe controls serialization format\n * ```\n */\nexport const makeRBigIntFieldBaseProps = propsFactory(\n {\n ...omit(makeRNumberFieldProps(), ['min', 'max', 'precision']),\n ...pick(makeVTextFieldProps(), ['reverse']),\n ...pick(makeVNumberInputProps(), ['hideInput', 'inset']),\n min: {\n type: [String, Number, BigInt] as PropType<string | number | bigint | undefined>,\n default: undefined,\n },\n max: {\n type: [String, Number, BigInt] as PropType<string | number | bigint | undefined>,\n default: undefined,\n },\n jsonSafe: {\n type: Boolean,\n default: true,\n },\n },\n 'RBigIntField'\n)\n\n/**\n * Represents the value types that can be handled by RBigIntField.\n *\n * Supports string, number, and bigint inputs for maximum flexibility.\n * All values are internally converted to Big.js instances for precision\n * arithmetic and then emitted according to the jsonSafe configuration.\n *\n * @example\n * ```typescript\n * const stringValue: RBigIntFieldValue = \"123456789012345678901234567890\"\n * const numberValue: RBigIntFieldValue = 42\n * const bigintValue: RBigIntFieldValue = 123456789012345678901234567890n\n * ```\n */\nexport type RBigIntFieldValue = string | number | bigint\n\nconst isValidSingleRBigIntFieldValue = (value: RBigIntFieldValue) => {\n if (typeof value === 'bigint') return true\n if (\n typeof value === 'number' &&\n !Number.isNaN(value) &&\n Number.isFinite(value) &&\n Number.isInteger(value)\n )\n return true\n try {\n const asBig = new Big(value.toString())\n if (asBig.toFixed(0) !== value.toString()) return false\n return true\n } catch (e) {\n return e instanceof Error ? false : false\n }\n}\n\nconst isValidRBigIntFieldValue = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined\n) => {\n if ('undefined' === typeof value || null === value) return true\n if (Array.isArray(value)) return value.every(isValidSingleRBigIntFieldValue)\n return isValidSingleRBigIntFieldValue(value)\n}\n\n/**\n * Creates the complete props and emits configuration for RBigIntField.\n *\n * Combines the base props with validation-enabled emits for model value updates.\n * All emit values are validated through isValidRBigIntFieldValue before emission.\n *\n * @returns Object containing makeProps function and emits configuration\n *\n * @example\n * ```typescript\n * const { makeProps, emits } = propsAndEmitsFactory(...)\n * // Use in component definition\n * export const RBigIntField = defineComponent({\n * props: makeProps(),\n * emits: emits,\n * // ...\n * })\n * ```\n */\nconst { makeProps: makeRBigIntFieldProps, emits: rBigIntFieldEmits } = propsAndEmitsFactory(\n {\n ...makeRBigIntFieldBaseProps(),\n },\n {\n 'update:modelValue': (value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined) =>\n isValidRBigIntFieldValue(value),\n 'update:model-value': (value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined) =>\n isValidRBigIntFieldValue(value),\n ...commonEmitsValidators,\n },\n ''\n)\n\n/**\n * Props factory function for RBigIntField component.\n *\n * @example\n * ```typescript\n * const props = makeRBigIntFieldProps()\n * ```\n */\n/**\n * Emits configuration for RBigIntField component with validation.\n *\n * @example\n * ```typescript\n * const emits = rBigIntFieldEmits\n * ```\n */\nexport { makeRBigIntFieldProps, rBigIntFieldEmits }\n\n/**\n * Type definition for RBigIntField component props.\n *\n * Extracted from the props factory function to provide type safety\n * for component usage and prop validation.\n *\n * @example\n * ```typescript\n * const props: RBigIntFieldProps = {\n * modelValue: \"123456789012345678901234567890\",\n * label: \"Large Number\",\n * format: \"0,0\",\n * jsonSafe: true\n * }\n * ```\n */\nexport type RBigIntFieldProps = ExtractPublicPropTypes<ReturnType<typeof makeRBigIntFieldProps>>\n\ntype VTextfieldPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVTextFieldProps>>\ntype VTextFieldSlots = ExtractSlotDefinitions<typeof VTextField.slots>\ntype VTextFieldAppendInnerArgs = NamedSlotParameters<VTextFieldSlots, 'append-inner'>\ntype VTextFieldPrependInnerArgs = NamedSlotParameters<VTextFieldSlots, 'prepend-inner'>\n\nconst safeGetAsBig = (value: RBigIntFieldValue): Big | Error => {\n try {\n return new Big(value.toString())\n } catch (error: unknown) {\n return new Error('Invalid BigInt value', {\n cause: error instanceof Error ? error : undefined,\n })\n }\n}\n\nconst isEmitable = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined,\n min: string | number | bigint | undefined,\n max: string | number | bigint | undefined\n) => {\n if (!isValidRBigIntFieldValue(value)) return false\n if ('undefined' === typeof value || null === value) return true\n if ('undefined' === typeof min && 'undefined' === typeof max) return true\n try {\n const minAsBig = 'undefined' === typeof min ? min : new Big(min.toString())\n const maxAsBig = 'undefined' === typeof max ? max : new Big(max.toString())\n const valueAsBig = Array.isArray(value)\n ? value.map((v) => safeGetAsBig(v))\n : safeGetAsBig(value)\n if (Array.isArray(valueAsBig)) {\n return valueAsBig.every((v) => {\n // if we caught and error, the value\n // is assumed to be not safe to emit\n if (v instanceof Error) return false\n if (minAsBig && v.lte(minAsBig)) return false\n if (maxAsBig && v.gte(maxAsBig)) return false\n return true\n })\n } else {\n // if we caught and error, the value\n // is assumed to be not safe to emit\n if (valueAsBig instanceof Error) return false\n if (minAsBig && valueAsBig.lte(minAsBig)) return false\n if (maxAsBig && valueAsBig.gte(maxAsBig)) return false\n return true\n }\n } catch {\n // if we caught and error, the value\n // is assumed to be not safe to emit\n return false\n }\n}\n\nexport const toEmitable = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined,\n jsonSafe: boolean = true\n): RBigIntFieldValue | RBigIntFieldValue[] | null | undefined => {\n if (Array.isArray(value)) {\n return value\n .map((v) => toEmitable(v, jsonSafe))\n .filter((v) => v !== undefined && v !== null) as RBigIntFieldValue[]\n }\n if ('undefined' === typeof value || null === value) return value\n try {\n const asBig = new Big(value.toString())\n if (jsonSafe) {\n return asBig.toFixed(0)\n }\n // if the number is outside of a Number objects boundaries, we must return a bigint\n if (asBig.gt(Number.MAX_SAFE_INTEGER) || asBig.lt(Number.MIN_SAFE_INTEGER)) {\n return BigInt(asBig.toFixed(0))\n }\n return 'number' === typeof value ? Number.parseInt(asBig.toFixed(0)) : BigInt(asBig.toFixed(0))\n } catch {\n return undefined\n }\n}\n\nconst fromEmitable = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined\n): string | string[] | null | undefined => {\n if (Array.isArray(value)) {\n return value\n .map((v) => fromEmitable(v))\n .filter((v) => v !== undefined && v !== null) as string[]\n }\n if ('undefined' === typeof value || null === value) return value\n try {\n const asBig = new Big(value.toString())\n return asBig.toFixed(0)\n } catch {\n return undefined\n }\n}\n\n/**\n * RBigIntField - A sophisticated Vue component for handling unlimited precision integers.\n *\n * This component provides a comprehensive solution for working with large integers that\n * exceed JavaScript's Number.MAX_SAFE_INTEGER. It uses Big.js for arithmetic operations\n * and provides seamless integration with the resourceful field ecosystem.\n *\n * ## Key Features\n *\n * - **Unlimited Precision**: Handle arbitrarily large integers using Big.js\n * - **JSON Compatibility**: Configurable serialization for API compatibility\n * - **Input Controls**: Custom increment/decrement buttons with proper accessibility\n * - **Multiple Values**: Support for arrays with chip-based interface\n * - **Validation**: Comprehensive boundary checking and type validation\n * - **Formatting**: Integration with numeral.js for display formatting\n *\n * ## Technical Details\n *\n * The component uses VTextField as its base instead of VNumberInput due to BigInt\n * incompatibility with HTML number inputs. Custom controls are recreated to match\n * VNumberInput behavior while supporting unlimited precision values.\n *\n * @example\n * ```vue\n * <template>\n * <!-- Basic usage -->\n * <RBigIntField\n * v-model=\"largeNumber\"\n * label=\"Large Number\"\n * format=\"0,0\"\n * />\n *\n * <!-- Multiple values -->\n * <RBigIntField\n * v-model=\"largeNumbers\"\n * multiple\n * label=\"Large Numbers\"\n * />\n *\n * <!-- With constraints -->\n * <RBigIntField\n * v-model=\"constrainedNumber\"\n * :min=\"1000000000000000n\"\n * :max=\"9999999999999999n\"\n * />\n * </template>\n * ```\n */\nexport const RBigIntField = defineComponent({\n name: 'RBigIntField',\n props: makeRBigIntFieldProps(),\n emits: rBigIntFieldEmits,\n slots: Object as SlotsType<VNumberInputSlots>,\n setup(props, { emit, slots }) {\n const {\n focused,\n disabled,\n error,\n errorMessages,\n maxErrors,\n name,\n label,\n readonly,\n validateOn,\n theme,\n width,\n maxWidth,\n minWidth,\n density,\n class: className,\n style,\n id,\n baseColor,\n color,\n glow,\n iconColor,\n hideDetails,\n hint,\n persistentHint,\n messages,\n direction,\n modelValue,\n renderMode,\n multiple,\n choices,\n allowUnspecifiedChoices,\n to,\n href,\n menuIcon,\n active,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n noValuesText,\n clearIcon,\n controlVariant,\n format,\n incrementIcon,\n decrementIcon,\n collapseIcon,\n expandIcon,\n reverse,\n hideInput,\n inset,\n step,\n dirty,\n onBlur,\n onChange,\n onInput,\n } = toRefs(props)\n const fixedEmit: typeof emit = (event, ...args) => {\n switch (event) {\n case 'update:modelValue':\n case 'update:model-value': {\n const canEmit = args.every((v) =>\n isEmitable(\n v as RBigIntFieldValue | RBigIntFieldValue[] | null | undefined,\n props.min,\n props.max\n )\n )\n if (!canEmit) return\n // @ts-expect-error\n return emit(event, ...args.map((v) => toEmitable(v, props.jsonSafe)))\n }\n\n default:\n // @ts-expect-error\n return emit(event, ...args)\n }\n }\n const onUpdateModelValueCamelProp = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined\n ) => {\n if ('undefined' === typeof props['onUpdate:modelValue']) return\n const emitable = toEmitable(value, props.jsonSafe)\n if (!isEmitable(emitable, props.min, props.max)) return\n props['onUpdate:modelValue'](emitable)\n }\n const onUpdateModelValueKebabProp = (\n value: RBigIntFieldValue | RBigIntFieldValue[] | null | undefined\n ) => {\n if ('undefined' === typeof props['onUpdate:model-value']) return\n const emitable = toEmitable(value, props.jsonSafe)\n if (!isEmitable(emitable, props.min, props.max)) return\n props['onUpdate:model-value'](emitable)\n }\n const textifiedModelValue = computed(() => fromEmitable(modelValue.value))\n const stringifier = computed<RFieldStringifier<RBigIntFieldValue>>(() => {\n return (val: RBigIntFieldValue) => {\n if (!isValidSingleRBigIntFieldValue(val)) return ''\n try {\n const asBig = new Big(val.toString())\n // return numeral(asBig.toFixed(0)).format(format.value)\n return formatBigNumber(asBig, format.value)\n } catch {\n return ''\n }\n }\n })\n const commonProps: ToRefs<LooseRequired<Readonly<CommonResourcefulFieldPublicProps>>> = {\n style,\n label,\n density,\n renderMode,\n multiple,\n to,\n href,\n menuIcon,\n active,\n theme,\n disabled,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n focused,\n noValuesText,\n choices,\n allowUnspecifiedChoices,\n 'class': className,\n 'onUpdate:focused': toRefs(props)['onUpdate:focused'],\n 'onClick:append': toRefs(props)['onClick:append'],\n 'onClick:appendInner': toRefs(props)['onClick:appendInner'],\n 'onClick:clear': toRefs(props)['onClick:clear'],\n 'onClick:prependInner': toRefs(props)['onClick:prependInner'],\n 'onClick:prepend': toRefs(props)['onClick:prepend'],\n 'onMousedown:control': toRefs(props)['onMousedown:control'],\n 'onClick:control': toRefs(props)['onClick:control'],\n error,\n errorMessages,\n dirty,\n onBlur,\n onChange,\n onInput,\n }\n const VNumberInputFieldBindings = computed<VTextfieldPublicProps>(() =>\n stripUndefinedValuesFromObject({\n focused: focused.value,\n disabled: disabled.value,\n error: error.value,\n errorMessages: errorMessages.value,\n maxErrors: maxErrors.value,\n name: name.value,\n label: label.value,\n readonly: readonly.value,\n validateOn: validateOn.value,\n theme: theme.value,\n width: width.value,\n maxWidth: maxWidth.value,\n minWidth: minWidth.value,\n density: density.value,\n class: className.value,\n style: style.value,\n id: id.value,\n baseColor: baseColor.value,\n color: color.value,\n glow: glow.value,\n iconColor: iconColor.value,\n hideDetails: hideDetails.value,\n hint: hint.value,\n persistentHint: persistentHint.value,\n messages: messages.value,\n direction: direction.value,\n variant: variant.value,\n clearIcon: clearIcon.value,\n controlVariant: controlVariant.value,\n active: active.value,\n prefix: prefix.value,\n persistentPlaceholder: persistentPlaceholder.value,\n suffix: suffix.value,\n role: role.value,\n dirty: dirty.value,\n onBlur: onBlur.value,\n onChange: onChange.value,\n onInput: onInput.value,\n })\n )\n const normalizedIncrementIcon = computed(() =>\n controlVariant.value === 'split' ? incrementIcon.value : collapseIcon.value\n )\n const normalizedDecrementIcon = computed(() =>\n controlVariant.value === 'split' ? decrementIcon.value : expandIcon.value\n )\n const normalizedControlNodeSize = computed(() =>\n controlVariant.value === 'split' ? 'default' : 'small'\n )\n const normalizedControlNodeDefaultHeight = computed(() =>\n controlVariant.value === 'stacked' ? 'auto' : '100%'\n )\n const normalizedControlsDisabled = computed(() => disabled.value || readonly.value)\n const normalizedStep = computed(() => {\n const stepValue = step.value ?? 1\n if (stepValue <= 0) return 1\n return Math.round(stepValue) || 1\n })\n const singleFieldRenderer: SingleFieldRenderer = ({\n props: fieldBindings,\n isMultiAdd,\n add,\n }) => {\n const canIncrease = computed(() => {\n if (normalizedControlsDisabled.value) return false\n const isBig = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (isBig instanceof Error) return false\n const maxAsBig = 'undefined' === typeof props.max ? undefined : safeGetAsBig(props.max)\n if (maxAsBig instanceof Error) return false\n if ('undefined' === typeof maxAsBig) return true\n return isBig.add(normalizedStep.value).lte(maxAsBig)\n })\n const canDecrease = computed(() => {\n if (normalizedControlsDisabled.value) return false\n const isBig = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (isBig instanceof Error) return false\n const minAsBig = 'undefined' === typeof props.min ? undefined : safeGetAsBig(props.min)\n if (minAsBig instanceof Error) return false\n if ('undefined' === typeof minAsBig) return true\n return isBig.sub(normalizedStep.value).gte(minAsBig)\n })\n const incrementSlot = useSlot<VNumberInputSlots>('increment', slots)\n const decrementSlot = useSlot<VNumberInputSlots>('decrement', slots)\n const incrementControlNode = () => {\n const slotProps = {\n props: {\n onClick: (e: MouseEvent) => e.stopPropagation(),\n onPointerup: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n },\n onPointerdown: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n // Increment logic here\n if (canIncrease.value) {\n const current = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (!(current instanceof Error)) {\n fieldBindings['onUpdate:modelValue'](current.add(1).toFixed(0))\n }\n }\n },\n onPointercancel: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n },\n },\n }\n\n return incrementSlot\n ? // @ts-expect-error\n incrementSlot(slotProps)\n : h(VBtn, {\n disabled: !canIncrease.value,\n flat: true,\n height: normalizedControlNodeDefaultHeight.value,\n icon: normalizedIncrementIcon.value,\n size: normalizedControlNodeSize.value,\n tabindex: '-1',\n ...slotProps.props,\n })\n }\n const decrementControlNode = () => {\n const slotProps = {\n props: {\n onClick: (e: MouseEvent) => e.stopPropagation(),\n onPointerup: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n },\n onPointerdown: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n // Decrement logic here\n if (canDecrease.value) {\n const current = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (!(current instanceof Error)) {\n fieldBindings['onUpdate:modelValue'](current.sub(1).toFixed(0))\n }\n }\n },\n onPointercancel: (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n },\n },\n }\n\n return decrementSlot\n ? // @ts-expect-error\n decrementSlot(slotProps)\n : h(VBtn, {\n disabled: !canDecrease.value,\n flat: true,\n height: normalizedControlNodeDefaultHeight.value,\n icon: normalizedDecrementIcon.value,\n size: normalizedControlNodeSize.value,\n tabindex: '-1',\n ...slotProps.props,\n })\n }\n const appendInnerSlot = () => {\n if (controlVariant.value === 'split') {\n return h('div', { class: 'v-number-input__control' }, [\n h(VDivider, { vertical: true }),\n incrementControlNode(),\n ])\n } else if (!reverse.value && controlVariant.value !== 'hidden') {\n return [\n !hideInput.value && !inset.value && h(VDivider, { vertical: true }),\n h('div', { class: 'v-number-input__control' }, [\n decrementControlNode(),\n h(VDivider, { vertical: controlVariant.value !== 'stacked' }),\n incrementControlNode(),\n ]),\n ]\n }\n return undefined\n }\n const prependInnerSlot = () => {\n if (controlVariant.value === 'split') {\n return h('div', { class: 'v-number-input__control' }, [\n decrementControlNode(),\n h(VDivider, { vertical: true }),\n ])\n } else if (reverse.value && controlVariant.value !== 'hidden') {\n return [\n h('div', { class: 'v-number-input__control' }, [\n decrementControlNode(),\n h(VDivider, { vertical: controlVariant.value !== 'stacked' }),\n incrementControlNode(),\n ]),\n !hideInput.value && !inset.value && h(VDivider, { vertical: true }),\n ]\n }\n return undefined\n }\n return h(\n VTextField,\n {\n ...VNumberInputFieldBindings.value,\n ...fieldBindings,\n class: isMultiAdd\n ? []\n : [\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n VNumberInputFieldBindings.value.class,\n ],\n hideDetails: isMultiAdd ? true : VNumberInputFieldBindings.value.hideDetails,\n inputmode: 'decimal',\n onKeydown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' && isMultiAdd) {\n queueMicrotask(() => add())\n } else if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\n e.preventDefault()\n const current = safeGetAsBig(fieldBindings.modelValue as RBigIntFieldValue)\n if (!(current instanceof Error)) {\n if (e.key === 'ArrowUp' && canIncrease.value) {\n fieldBindings['onUpdate:modelValue'](current.add(1).toString())\n } else if (e.key === 'ArrowDown' && canDecrease.value) {\n fieldBindings['onUpdate:modelValue'](current.sub(1).toString())\n }\n }\n }\n },\n },\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n {\n ...slots,\n 'append-inner': (...args: VTextFieldAppendInnerArgs) => [\n slots['append-inner']?.(...args),\n appendInnerSlot(),\n ],\n 'prepend-inner': (...args: VTextFieldPrependInnerArgs) => [\n prependInnerSlot(),\n slots['prepend-inner']?.(...args),\n ],\n }\n )\n }\n const { composed } = useFieldComposer(\n commonProps,\n stringifier,\n singleFieldRenderer,\n fixedEmit,\n onUpdateModelValueCamelProp,\n onUpdateModelValueKebabProp,\n textifiedModelValue,\n textifiedModelValue.value\n )\n return composed\n },\n})\n\nexport type RBigIntField = typeof RBigIntField & ComponentPublicInstance\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { a as useI18n } from "./ioc-
|
|
2
|
-
import { S as SvgIcon } from "./index-
|
|
3
|
-
import { u as useFieldComposer } from "./field_composer-
|
|
4
|
-
import { p as propsAndEmitsFactory, s as stripUndefinedValuesFromObject } from "./utils-
|
|
1
|
+
import { a as useI18n } from "./ioc-Q-KAX6x1.mjs";
|
|
2
|
+
import { S as SvgIcon } from "./index-CduefDwU.mjs";
|
|
3
|
+
import { u as useFieldComposer } from "./field_composer-CPqM1aSV.mjs";
|
|
4
|
+
import { p as propsAndEmitsFactory, s as stripUndefinedValuesFromObject } from "./utils-DehfJ8pT.mjs";
|
|
5
5
|
import { o as omit$1, b as IconValue, a as pick, f as makeVFieldProps, g as makeVInputProps$1 } from "./vendor-nhtio-vuetifiable-CS-KbH1h.mjs";
|
|
6
6
|
import { ref, useId, createVNode, mergeProps, toRef, createElementVNode, Fragment, normalizeStyle, normalizeClass, h, defineComponent, toRefs, computed } from "vue";
|
|
7
|
-
import { s as useFocus, g as VInput, t as VCheckboxBtn, o as makeVInputProps, v as makeVCheckboxBtnProps, j as VSelectionControl, k as makeVSelectionControlProps, c as commonEmitsValidators, m as makeCommonResourcefulFieldProps, w as VSelect } from "./common-
|
|
7
|
+
import { s as useFocus, g as VInput, t as VCheckboxBtn, o as makeVInputProps, v as makeVCheckboxBtnProps, j as VSelectionControl, k as makeVSelectionControlProps, c as commonEmitsValidators, m as makeCommonResourcefulFieldProps, w as VSelect } from "./common-a_cd4SQg.mjs";
|
|
8
8
|
import { p as forwardRefs, g as mdiMenuDown, h as mdiCheckboxBlankCircleOutline, i as mdiCircleSlice8, G as mdiCheckboxIntermediateVariant, H as mdiCheckboxBlankOutline, I as mdiCheckboxMarked, a as mdiClose } from "./mdi-jw9Ee7p6.mjs";
|
|
9
|
-
import { V as VRadioGroup, a as VRadio } from "./VRadioGroup-
|
|
9
|
+
import { V as VRadioGroup, a as VRadio } from "./VRadioGroup-lC_c6Ath.mjs";
|
|
10
10
|
import { g as genericComponent, p as propsFactory, u as useProxiedModel, e as useRender, O as filterInputAttrs, o as omit, _ as useLoader, $ as SUPPORTS_MATCH_MEDIA, f as VDefaultsProvider, a0 as VScaleTransition, d as VIcon, a1 as LoaderSlot, b as VProgressCircular } from "./display-CHspVOz6.mjs";
|
|
11
11
|
const makeVCheckboxProps = propsFactory({
|
|
12
12
|
...makeVInputProps(),
|
|
@@ -641,4 +641,4 @@ export {
|
|
|
641
641
|
RBooleanFieldValue as a,
|
|
642
642
|
RBooleanFieldRenderable as b
|
|
643
643
|
};
|
|
644
|
-
//# sourceMappingURL=boolean-
|
|
644
|
+
//# sourceMappingURL=boolean-J55jiDD7.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean-D6WyXCcY.mjs","sources":["../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VCheckbox/VCheckbox.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VSwitch/VSwitch.js","../src/private/fields/boolean.ts"],"sourcesContent":["import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VCheckbox.css\";\n\n// Components\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from \"./VCheckboxBtn.js\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.js\"; // Composables\nimport { useFocus } from \"../../composables/focus.js\";\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { ref, useId } from 'vue';\nimport { filterInputAttrs, genericComponent, omit, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVCheckboxProps = propsFactory({\n ...makeVInputProps(),\n ...omit(makeVCheckboxBtnProps(), ['inline'])\n}, 'VCheckbox');\nexport const VCheckbox = genericComponent()({\n name: 'VCheckbox',\n inheritAttrs: false,\n props: makeVCheckboxProps(),\n emits: {\n 'update:modelValue': value => true,\n 'update:focused': focused => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const inputRef = ref();\n const uid = useId();\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const checkboxProps = VCheckboxBtn.filterProps(props);\n return _createVNode(VInput, _mergeProps({\n \"ref\": inputRef,\n \"class\": ['v-checkbox', props.class]\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"id\": props.id || `checkbox-${uid}`,\n \"focused\": isFocused.value,\n \"style\": props.style\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid\n } = _ref2;\n return _createVNode(VCheckboxBtn, _mergeProps(checkboxProps, {\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value\n }, controlAttrs, {\n \"error\": isValid.value === false,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"onFocus\": focus,\n \"onBlur\": blur\n }), slots);\n }\n });\n });\n return forwardRefs({}, inputRef);\n }\n});\n//# sourceMappingURL=VCheckbox.js.map","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VSwitch.css\";\n\n// Components\nimport { VScaleTransition } from \"../transitions/index.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.js\";\nimport { VIcon } from \"../VIcon/index.js\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.js\";\nimport { VProgressCircular } from \"../VProgressCircular/index.js\";\nimport { makeVSelectionControlProps, VSelectionControl } from \"../VSelectionControl/VSelectionControl.js\"; // Composables\nimport { useFocus } from \"../../composables/focus.js\";\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { LoaderSlot, useLoader } from \"../../composables/loader.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { ref, toRef, useId } from 'vue';\nimport { filterInputAttrs, genericComponent, propsFactory, SUPPORTS_MATCH_MEDIA, useRender } from \"../../util/index.js\"; // Types\nexport const makeVSwitchProps = propsFactory({\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false\n },\n ...makeVInputProps(),\n ...makeVSelectionControlProps()\n}, 'VSwitch');\nexport const VSwitch = genericComponent()({\n name: 'VSwitch',\n inheritAttrs: false,\n props: makeVSwitchProps(),\n emits: {\n 'update:focused': focused => true,\n 'update:modelValue': value => true,\n 'update:indeterminate': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const indeterminate = useProxiedModel(props, 'indeterminate');\n const model = useProxiedModel(props, 'modelValue');\n const {\n loaderClasses\n } = useLoader(props);\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const control = ref();\n const inputRef = ref();\n const isForcedColorsModeActive = SUPPORTS_MATCH_MEDIA && window.matchMedia('(forced-colors: active)').matches;\n const loaderColor = toRef(() => {\n return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;\n });\n const uid = useId();\n const id = toRef(() => props.id || `switch-${uid}`);\n function onChange() {\n if (indeterminate.value) {\n indeterminate.value = false;\n }\n }\n function onTrackClick(e) {\n e.stopPropagation();\n e.preventDefault();\n control.value?.input?.click();\n }\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const controlProps = VSelectionControl.filterProps(props);\n return _createVNode(VInput, _mergeProps({\n \"ref\": inputRef,\n \"class\": ['v-switch', {\n 'v-switch--flat': props.flat\n }, {\n 'v-switch--inset': props.inset\n }, {\n 'v-switch--indeterminate': indeterminate.value\n }, loaderClasses.value, props.class]\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"id\": id.value,\n \"focused\": isFocused.value,\n \"style\": props.style\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid\n } = _ref2;\n const slotProps = {\n model,\n isValid\n };\n return _createVNode(VSelectionControl, _mergeProps({\n \"ref\": control\n }, controlProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": [$event => model.value = $event, onChange],\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"type\": \"checkbox\",\n \"aria-checked\": indeterminate.value ? 'mixed' : undefined,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value,\n \"onFocus\": focus,\n \"onBlur\": blur\n }, controlAttrs), {\n ...slots,\n default: _ref3 => {\n let {\n backgroundColorClasses,\n backgroundColorStyles\n } = _ref3;\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),\n \"style\": _normalizeStyle(backgroundColorStyles.value),\n \"onClick\": onTrackClick\n }, [slots['track-true'] && _createElementVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-switch__track-true\"\n }, [slots['track-true'](slotProps)]), slots['track-false'] && _createElementVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-switch__track-false\"\n }, [slots['track-false'](slotProps)])]);\n },\n input: _ref4 => {\n let {\n inputNode,\n icon,\n backgroundColorClasses,\n backgroundColorStyles\n } = _ref4;\n return _createElementVNode(_Fragment, null, [inputNode, _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-switch__thumb', {\n 'v-switch__thumb--filled': icon || props.loading\n }, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value]),\n \"style\": _normalizeStyle(props.inset ? undefined : backgroundColorStyles.value)\n }, [slots.thumb ? _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VIcon: {\n icon,\n size: 'x-small'\n }\n }\n }, {\n default: () => [slots.thumb({\n ...slotProps,\n icon\n })]\n }) : _createVNode(VScaleTransition, null, {\n default: () => [!props.loading ? icon && _createVNode(VIcon, {\n \"key\": String(icon),\n \"icon\": icon,\n \"size\": \"x-small\"\n }, null) : _createVNode(LoaderSlot, {\n \"name\": \"v-switch\",\n \"active\": true,\n \"color\": isValid.value === false ? undefined : loaderColor.value\n }, {\n default: slotProps => slots.loader ? slots.loader(slotProps) : _createVNode(VProgressCircular, {\n \"active\": slotProps.isActive,\n \"color\": slotProps.color,\n \"indeterminate\": true,\n \"size\": \"16\",\n \"width\": \"2\"\n }, null)\n })]\n })])]);\n }\n });\n }\n });\n });\n return forwardRefs({}, inputRef);\n }\n});\n//# sourceMappingURL=VSwitch.js.map","/*\n|--------------------------------------------------------------------------\n| Resourceful Boolean Field\n|--------------------------------------------------------------------------\n|\n| A comprehensive field component for boolean values with optional ternary logic support\n| and professional UX features. Automatically adapts between single field editing,\n| multiple selection management, and read-only display through the unified field\n| composer architecture.\n|\n| ## Supported Values:\n| - true: Checked/Yes/On state with configurable text and icons\n| - false: Unchecked/No/Off state with configurable text and icons \n| - null: Indeterminate/Unknown/Mixed state with proper visual feedback (ternary mode)\n|\n| ## Rendering Variants (renderAs):\n| - select: Default dropdown with ternary options (perfect for multiple mode)\n| - toggle: VSwitch with indeterminate state support\n| - checkbox: VCheckbox with indeterminate dash display\n| - radio: VRadioGroup with configurable options for explicit choice\n|\n| ## Boolean vs Ternary Logic:\n|\n| ### Boolean Mode (choices: [true, false])\n| - Classic binary true/false logic without null values\n| - Perfect for settings, toggles, and yes/no questions\n| - Clear binary state with no indeterminate option\n| - Clearable integration disabled when null is not allowed\n|\n| ### Ternary Mode (choices: [true, false, null]) \n| - Extended logic with indeterminate/unknown/mixed state\n| - Visual feedback: Toggle shows mixed state, checkbox shows dash\n| - Smart defaults: Automatically includes all three states unless restricted\n| - Clearable integration: Field is clearable when null is a valid choice\n|\n| ### Internationalization\n| - Configurable text for all states (true/false/undetermined)\n| - Fallback to i18n keys: boolean.true, boolean.false, boolean.undetermined\n| - Icon customization for all states and render variants\n| - Consistent display across all operational modes\n|\n| ### Icon System\n| - Complete icon set for all states and render variants\n| - Material Design defaults with customization support\n| - Proper indeterminate icons for checkboxes and mixed states\n| - Radio button icons for selected/unselected states\n|\n| ## Operational Modes:\n|\n| ### Single Mode (multiple: false, renderMode: 'edit')\n| Direct boolean/ternary control with chosen render variant (toggle, checkbox, radio, select)\n| and proper visual feedback for indeterminate states when in ternary mode\n|\n| ### Multiple Mode (multiple: true, renderMode: 'edit') \n| RMultipleField with sophisticated chip management showing \"Yes\"/\"No\"/\"Undetermined\"\n| chips, full dialog interface for boolean/ternary array management\n|\n| ### Read Mode (renderMode: 'read')\n| Clean text presentation with Oxford comma formatting for arrays, showing\n| localized text for each boolean/ternary state\n|\n| ## Real-World Use Cases:\n| - Boolean: Settings toggles (enabled/disabled), survey responses (yes/no)\n| - Ternary: Permissions management (granted/denied/inherited), feature flags (on/off/auto)\n| - Bulk operations (all selected/none selected/partial selection)\n| - Configuration states (enabled/disabled/default)\n|\n| ## Smart Choice Management:\n| Automatically includes all three states (ternary mode) unless explicitly restricted\n| via choices prop, enabling flexible ternary logic or strict boolean choices\n| as needed for each use case.\n|\n*/\n\nimport { useI18n } from '../ioc'\nimport { SvgIcon } from '../svg-icon'\nimport { VRadio } from 'vuetify/components/VRadio'\nimport { useFieldComposer } from './field_composer'\nimport { VSwitch } from 'vuetify/components/VSwitch'\nimport { VSelect } from 'vuetify/components/VSelect'\nimport { VCheckbox } from 'vuetify/components/VCheckbox'\nimport { VInputPublicProps } from '../filtration/common'\nimport { propsAndEmitsFactory } from '../common/factories'\nimport { omit, pick } from '@nhtio/vuetifiable/util/helpers'\nimport { VRadioGroup } from 'vuetify/components/VRadioGroup'\nimport { h, defineComponent, toRefs, computed, ref } from 'vue'\nimport { IconValue } from '@nhtio/vuetifiable/composables/icons'\nimport { stripUndefinedValuesFromObject } from '../common/utils'\nimport { makeVInputProps } from '@nhtio/vuetifiable/components/VInput/VInput'\nimport { makeVFieldProps } from '@nhtio/vuetifiable/components/VField/VField'\nimport { makeVSelectProps } from '@nhtio/vuetifiable/components/VSelect/VSelect'\nimport { makeVSwitchProps } from '@nhtio/vuetifiable/components/VSwitch/VSwitch'\nimport { makeCommonResourcefulFieldProps, commonEmitsValidators } from './common'\nimport { makeVCheckboxProps } from '@nhtio/vuetifiable/components/VCheckbox/VCheckbox'\nimport { makeVRadioGroupProps } from '@nhtio/vuetifiable/components/VRadioGroup/VRadioGroup'\nimport {\n mdiClose,\n mdiMenuDown,\n mdiCheckboxMarked,\n mdiCheckboxIntermediateVariant,\n mdiCheckboxBlankOutline,\n mdiCircleSlice8,\n mdiCheckboxBlankCircleOutline,\n} from '@mdi/js'\nimport type { VInput } from 'vuetify/components/VInput'\nimport type { SingleFieldRenderer } from './field_composer'\nimport type { ExtractSlotDefinitions } from '../common/types'\nimport type { LooseRequired } from '@vue/shared/dist/shared.d.ts'\nimport type { CommonResourcefulFieldPublicProps, RFieldStringifier } from './common'\nimport type {\n PropType,\n ExtractPublicPropTypes,\n ToRefs,\n SlotsType,\n ComponentPublicInstance,\n} from 'vue'\n\ntype VInputSlots = ExtractSlotDefinitions<typeof VInput.slots>\ntype VSelectPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVSelectProps>>\ntype VSwitchPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVSwitchProps>>\ntype VCheckboxPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVCheckboxProps>>\ntype VRadioGroupPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVRadioGroupProps>>\n\n/**\n * Supported boolean field values representing ternary logic when null is included.\n * Includes true/false for standard boolean states plus optional null for\n * indeterminate/unknown/mixed state. Can be configured as strict boolean field\n * (true/false only) or ternary field (true/false/null) depending on use case.\n *\n * @example\n * ```typescript\n * // Ternary logic with all three states\n * const ternaryChoices: RBooleanFieldValue[] = [true, false, null]\n *\n * // Boolean logic only (no indeterminate)\n * const booleanChoices: RBooleanFieldValue[] = [true, false]\n *\n * // Permission states (ternary example)\n * const permission: RBooleanFieldValue = null // \"Inherited\"\n *\n * // Setting state (boolean example)\n * const darkMode: RBooleanFieldValue = true // \"Enabled\"\n * ```\n */\nexport const RBooleanFieldValue = [true, false, null] as const\n\n/**\n * Union type of all supported boolean/ternary field values. Use this type for\n * props, function parameters, or conditional logic based on boolean or ternary state.\n *\n * @example\n * ```typescript\n * const handleStateChange = (state: RBooleanFieldValue) => {\n * switch (state) {\n * case true:\n * // Handle enabled/yes/checked state\n * break\n * case false:\n * // Handle disabled/no/unchecked state\n * break\n * case null:\n * // Handle indeterminate/unknown/inherited state (ternary mode)\n * break\n * }\n * }\n * ```\n */\nexport type RBooleanFieldValue = (typeof RBooleanFieldValue)[number]\n\n/**\n * Rendering variants for boolean/ternary fields that determine the UI control type.\n * Each variant provides different user interaction patterns while maintaining\n * consistent boolean or ternary logic support based on configured choices.\n *\n * - `select`: Default dropdown perfect for multiple mode and explicit choice\n * - `toggle`: VSwitch with optional indeterminate state support (ternary mode)\n * - `checkbox`: VCheckbox with optional indeterminate dash display (ternary mode)\n * - `radio`: VRadioGroup for explicit choice scenarios\n *\n * @example\n * ```typescript\n * // Boolean settings toggle\n * <RBooleanField renderAs=\"toggle\" v-model=\"darkMode\" :choices=\"[true, false]\" />\n *\n * // Ternary permission checkbox\n * <RBooleanField renderAs=\"checkbox\" v-model=\"canEdit\" />\n *\n * // Boolean survey question\n * <RBooleanField renderAs=\"radio\" v-model=\"satisfied\" :choices=\"[true, false]\" />\n *\n * // Multiple selection (default select works best)\n * <RBooleanField multiple v-model=\"permissions\" />\n * ```\n */\nexport const RBooleanFieldRenderable = ['select', 'toggle', 'checkbox', 'radio'] as const\n\n/**\n * Union type for boolean field rendering variants. Used for the renderAs prop\n * to specify which UI control should be used for boolean or ternary value interaction.\n */\nexport type RBooleanFieldRenderable = (typeof RBooleanFieldRenderable)[number]\n\nconst isValidRBooleanFieldValue = (\n value: RBooleanFieldValue | RBooleanFieldValue[] | null | undefined\n): boolean => {\n if ('undefined' === typeof value || (!Array.isArray(value) && RBooleanFieldValue.includes(value)))\n return true\n if (Array.isArray(value)) {\n return value.every((v) => RBooleanFieldValue.includes(v))\n }\n return false\n}\n\nconst { makeProps: makeRBooleanFieldProps, emits: rBooleanFieldEmits } = propsAndEmitsFactory(\n {\n ...pick(makeVInputProps(), [\n 'focused',\n 'disabled',\n 'error',\n 'errorMessages',\n 'maxErrors',\n 'name',\n 'label',\n 'readonly',\n 'validateOn',\n 'theme',\n 'width',\n 'maxWidth',\n 'minWidth',\n 'density',\n 'class',\n 'style',\n 'id',\n 'baseColor',\n 'color',\n 'glow',\n 'iconColor',\n 'hideDetails',\n 'hint',\n 'persistentHint',\n 'messages',\n 'direction',\n ]),\n ...pick(\n makeVFieldProps({\n clearIcon: () => h(SvgIcon, { d: mdiClose }),\n }),\n ['variant', 'clearIcon']\n ),\n modelValue: {\n type: [Boolean, Array, Object] as PropType<\n RBooleanFieldValue | RBooleanFieldValue[] | null | undefined\n >,\n default: undefined,\n },\n renderAs: {\n type: String as PropType<RBooleanFieldRenderable>,\n default: 'select',\n },\n textForTrue: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n iconForTrue: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCheckboxMarked }),\n },\n textForFalse: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n iconForFalse: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCheckboxBlankOutline }),\n },\n textForUndetermined: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n iconForUndetermined: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCheckboxIntermediateVariant }),\n },\n iconForSelectedRadio: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCircleSlice8 }),\n },\n iconForUnselectedRadio: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCheckboxBlankCircleOutline }),\n },\n selectMenuIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiMenuDown }),\n },\n ripple: {\n type: Boolean,\n default: false,\n },\n ...omit(\n makeCommonResourcefulFieldProps({\n choices: RBooleanFieldValue,\n }),\n ['variant']\n ),\n },\n {\n 'update:modelValue': (value: RBooleanFieldValue | RBooleanFieldValue[] | null | undefined) =>\n isValidRBooleanFieldValue(value),\n 'update:model-value': (value: RBooleanFieldValue | RBooleanFieldValue[] | null | undefined) =>\n isValidRBooleanFieldValue(value),\n ...commonEmitsValidators,\n },\n 'RBooleanField'\n)\n\n/**\n * Factory function that creates comprehensive props for the RBooleanField component.\n * Combines VInput props with boolean/ternary-specific options for configurable logic,\n * rendering variants, icon customization, text localization, and unified field\n * architecture integration.\n *\n * @returns Props definition object for use with defineComponent\n *\n * @example\n * ```typescript\n * // Basic boolean field props\n * const props = makeRBooleanFieldProps()\n *\n * // Access specific prop configurations\n * console.log(props.renderAs) // Rendering variant prop\n * console.log(props.textForTrue) // True state text prop\n * console.log(props.multiple) // Multiple selection mode prop\n * ```\n */\nexport { makeRBooleanFieldProps }\n\n/**\n * Public props interface for the RBooleanField component. Includes all VInput\n * props plus boolean/ternary field-specific options for configurable logic,\n * rendering variants, icon customization, and unified field architecture features.\n *\n * @example\n * ```typescript\n * // Component props typing\n * interface MyComponentProps {\n * booleanFieldProps: RBooleanFieldProps\n * }\n *\n * // Programmatic prop construction\n * const fieldProps: RBooleanFieldProps = {\n * renderAs: 'toggle',\n * textForTrue: 'Enabled',\n * textForFalse: 'Disabled',\n * choices: [true, false], // Boolean mode\n * multiple: false,\n * label: 'Feature Toggle',\n * // ... other VInput props\n * }\n * ```\n */\nexport type RBooleanFieldProps = ExtractPublicPropTypes<ReturnType<typeof makeRBooleanFieldProps>>\n\n/**\n * Comprehensive boolean/ternary field component with configurable logic support and\n * multiple rendering variants. Can operate as either a strict boolean field (true/false)\n * or ternary field (true/false/null) based on choices configuration. Automatically\n * adapts between single field editing, multiple selection management, and read-only\n * display through the unified field composer architecture.\n *\n * Supports configurable rendering as toggle, checkbox, radio group, or select dropdown.\n * Each rendering variant maintains consistent boolean or ternary logic and provides\n * appropriate visual feedback for indeterminate states when in ternary mode.\n *\n * @example\n * ```vue\n * <!-- Boolean toggle (strict true/false) -->\n * <RBooleanField\n * v-model=\"enabled\"\n * renderAs=\"toggle\"\n * :choices=\"[true, false]\"\n * label=\"Enable Feature\"\n * />\n *\n * <!-- Ternary checkbox with custom text -->\n * <RBooleanField\n * v-model=\"permission\"\n * renderAs=\"checkbox\"\n * label=\"Edit Permission\"\n * text-for-true=\"Granted\"\n * text-for-false=\"Denied\"\n * text-for-undetermined=\"Inherited\"\n * />\n *\n * <!-- Boolean radio group for explicit choice -->\n * <RBooleanField\n * v-model=\"satisfied\"\n * renderAs=\"radio\"\n * label=\"Are you satisfied?\"\n * :choices=\"[true, false]\"\n * />\n *\n * <!-- Multiple boolean states -->\n * <RBooleanField\n * v-model=\"settings\"\n * multiple\n * :choices=\"[true, false]\"\n * label=\"Feature Settings\"\n * />\n *\n * <!-- Ternary mode (default - includes null) -->\n * <RBooleanField\n * v-model=\"inheritedSetting\"\n * renderAs=\"checkbox\"\n * label=\"Use Custom Setting\"\n * />\n * ```\n */\nexport const RBooleanField = defineComponent({\n name: 'RBooleanField',\n props: makeRBooleanFieldProps(),\n emits: rBooleanFieldEmits,\n slots: Object as SlotsType<VInputSlots>,\n setup(props, { emit, slots }) {\n const t = useI18n()\n const {\n focused,\n disabled,\n error,\n errorMessages,\n maxErrors,\n name,\n label,\n readonly,\n validateOn,\n theme,\n width,\n maxWidth,\n minWidth,\n density,\n class: className,\n style,\n id,\n baseColor,\n color,\n glow,\n iconColor,\n hideDetails,\n hint,\n persistentHint,\n messages,\n direction,\n modelValue,\n renderAs,\n textForTrue,\n textForFalse,\n textForUndetermined,\n iconForTrue,\n iconForFalse,\n iconForUndetermined,\n renderMode,\n multiple,\n choices,\n to,\n href,\n menuIcon,\n active,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n noValuesText,\n selectMenuIcon,\n ripple,\n iconForSelectedRadio,\n iconForUnselectedRadio,\n dirty,\n onBlur,\n onChange,\n onInput,\n } = toRefs(props)\n const computedChoices = computed(() => {\n const ret: any[] = []\n if (!choices.value) {\n ret.push(...RBooleanFieldValue)\n } else {\n if (choices.value.includes(true)) ret.push(true)\n if (choices.value.includes(false)) ret.push(false)\n if (choices.value.includes(null)) ret.push(null)\n }\n return ret\n })\n const normalizedTextForTrue = computed(() =>\n 'string' === typeof textForTrue.value ? textForTrue.value : t('boolean.true')\n )\n const normalizedTextForFalse = computed(() =>\n 'string' === typeof textForFalse.value ? textForFalse.value : t('boolean.false')\n )\n const normalizedTextForUndetermined = computed(() =>\n 'string' === typeof textForUndetermined.value\n ? textForUndetermined.value\n : t('boolean.undetermined')\n )\n const commonProps: ToRefs<LooseRequired<Readonly<CommonResourcefulFieldPublicProps>>> = {\n style,\n label,\n density,\n renderMode,\n multiple,\n to,\n href,\n menuIcon,\n active,\n theme,\n disabled,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n focused,\n noValuesText,\n 'allowUnspecifiedChoices': ref(false),\n 'choices': computedChoices,\n 'class': className,\n 'onUpdate:focused': toRefs(props)['onUpdate:focused'],\n 'onClick:append': toRefs(props)['onClick:append'],\n 'onClick:appendInner': toRefs(props)['onClick:appendInner'],\n 'onClick:clear': toRefs(props)['onClick:clear'],\n 'onClick:prependInner': toRefs(props)['onClick:prependInner'],\n 'onClick:prepend': toRefs(props)['onClick:prepend'],\n 'onMousedown:control': toRefs(props)['onMousedown:control'],\n 'onClick:control': toRefs(props)['onClick:control'],\n error,\n errorMessages,\n dirty,\n onBlur,\n onChange,\n onInput,\n }\n const stringifier = computed<RFieldStringifier<RBooleanFieldValue>>(() => {\n return (val: RBooleanFieldValue) => {\n switch (val) {\n case true:\n return normalizedTextForTrue.value\n case false:\n return normalizedTextForFalse.value\n default:\n return normalizedTextForUndetermined.value\n }\n }\n })\n const items = computed<{ value: RBooleanFieldValue; label: string }[]>(() =>\n RBooleanFieldValue.map((v) => ({\n value: v,\n label: stringifier.value(v) as string,\n }))\n )\n const commonFieldBindings = computed<VInputPublicProps>(() => ({\n focused: focused.value,\n disabled: disabled.value,\n error: error.value,\n errorMessages: errorMessages.value,\n maxErrors: maxErrors.value,\n name: name.value,\n label: label.value,\n readonly: readonly.value,\n validateOn: validateOn.value,\n theme: theme.value,\n width: width.value,\n maxWidth: maxWidth.value,\n minWidth: minWidth.value,\n density: density.value,\n class: className.value,\n style: style.value,\n id: id.value,\n baseColor: baseColor.value,\n color: color.value,\n glow: glow.value,\n iconColor: iconColor.value,\n hideDetails: hideDetails.value,\n hint: hint.value,\n persistentHint: persistentHint.value,\n messages: messages.value,\n direction: direction.value,\n dirty: dirty.value,\n onBlur: onBlur.value,\n onChange: onChange.value,\n onInput: onInput.value,\n }))\n const vSelectFieldBindings = computed<VSelectPublicProps>(\n () =>\n stripUndefinedValuesFromObject({\n ...commonFieldBindings.value,\n active: active.value,\n disabled: commonFieldBindings.value.disabled || undefined,\n items: items.value,\n clearable: computedChoices.value.includes(null),\n clearIcon: () => h(SvgIcon, { d: mdiClose }),\n density: density.value,\n itemTitle: 'label',\n itemValue: 'value',\n variant: variant.value,\n menuIcon: selectMenuIcon.value,\n prefix: prefix.value,\n persistentPlaceholder: persistentPlaceholder.value,\n suffix: suffix.value,\n role: role.value,\n }) satisfies VSelectPublicProps\n )\n const vSwitchFieldBindings = computed<VSwitchPublicProps>(\n () =>\n stripUndefinedValuesFromObject({\n ...commonFieldBindings.value,\n density: density.value,\n falseValue: false,\n ripple: ripple.value,\n trueValue: true,\n }) satisfies VSwitchPublicProps\n )\n const vCheckboxFieldBindings = computed<VCheckboxPublicProps>(\n () =>\n stripUndefinedValuesFromObject({\n ...commonFieldBindings.value,\n density: density.value,\n falseIcon: iconForFalse.value,\n falseValue: false,\n ripple: ripple.value,\n indeterminateIcon: iconForUndetermined.value,\n trueIcon: iconForTrue.value,\n trueValue: true,\n }) satisfies VCheckboxPublicProps\n )\n const vRadioGroupFieldBindings = computed<VRadioGroupPublicProps>(\n () =>\n stripUndefinedValuesFromObject({\n ...commonFieldBindings.value,\n density: density.value,\n falseIcon: iconForUnselectedRadio.value,\n trueIcon: iconForSelectedRadio.value,\n ripple: ripple.value,\n }) satisfies VRadioGroupPublicProps\n )\n const singleFieldRenderer: SingleFieldRenderer = ({ props: fieldBindings, isMultiAdd }) => {\n const renderableVSelectFieldBindings = {\n ...vSelectFieldBindings.value,\n ...fieldBindings,\n class: isMultiAdd ? [] : vSelectFieldBindings.value.class,\n }\n const renderableVSwitchFieldBindings = {\n ...vSwitchFieldBindings.value,\n ...fieldBindings,\n indeterminate: fieldBindings.modelValue === null || fieldBindings.modelValue === undefined,\n class: isMultiAdd ? [] : vSwitchFieldBindings.value.class,\n }\n const renderableVCheckboxFieldBindings = {\n ...vCheckboxFieldBindings.value,\n ...fieldBindings,\n indeterminate: fieldBindings.modelValue === null || fieldBindings.modelValue === undefined,\n class: isMultiAdd ? [] : vCheckboxFieldBindings.value.class,\n }\n const renderableVRadioGroupFieldBindings = {\n ...vRadioGroupFieldBindings.value,\n ...fieldBindings,\n class: isMultiAdd ? [] : vRadioGroupFieldBindings.value.class,\n }\n switch (renderAs.value) {\n case 'toggle':\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n return h(VSwitch, renderableVSwitchFieldBindings, {\n ...slots,\n })\n\n case 'checkbox':\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n return h(VCheckbox, renderableVCheckboxFieldBindings, {\n ...slots,\n })\n case 'radio':\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n return h(VRadioGroup, renderableVRadioGroupFieldBindings, {\n ...slots,\n default: () =>\n Array.from(items.value).map((i) =>\n h(\n VRadio,\n {\n value: i.value,\n },\n {\n label: () => i.label,\n }\n )\n ),\n })\n default:\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n return h(VSelect, renderableVSelectFieldBindings, {\n ...slots,\n })\n }\n }\n const undeterminedAreValues = computed(\n () => !Array.isArray(computedChoices.value) || computedChoices.value.includes(null)\n )\n const { composed } = useFieldComposer(\n commonProps,\n stringifier,\n singleFieldRenderer,\n emit,\n props['onUpdate:modelValue'],\n props['onUpdate:model-value'],\n modelValue,\n props.modelValue,\n undeterminedAreValues,\n undeterminedAreValues\n )\n return composed\n },\n})\n\n/**\n * Component type for the RBooleanField. Represents the complete boolean/ternary field\n * component with configurable logic support, multiple rendering variants, and unified\n * field architecture integration. Use this type for component references, template refs,\n * and programmatic component manipulation.\n *\n * @example\n * ```typescript\n * // Template ref typing\n * const booleanFieldRef = ref<RBooleanField>()\n *\n * // Component type checking\n * const isBooleanField = (component: unknown): component is RBooleanField => {\n * return component?.name === 'RBooleanField'\n * }\n *\n * // Programmatic component usage\n * const createBooleanField = (): RBooleanField => {\n * return RBooleanField\n * }\n * ```\n */\nexport type RBooleanField = typeof RBooleanField & ComponentPublicInstance\n"],"names":["_createVNode","_mergeProps","id","_createElementVNode","_normalizeClass","_normalizeStyle","_Fragment","slotProps","makeVInputProps","omit"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"boolean-J55jiDD7.mjs","sources":["../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VCheckbox/VCheckbox.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VSwitch/VSwitch.js","../src/private/fields/boolean.ts"],"sourcesContent":["import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VCheckbox.css\";\n\n// Components\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from \"./VCheckboxBtn.js\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.js\"; // Composables\nimport { useFocus } from \"../../composables/focus.js\";\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { ref, useId } from 'vue';\nimport { filterInputAttrs, genericComponent, omit, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVCheckboxProps = propsFactory({\n ...makeVInputProps(),\n ...omit(makeVCheckboxBtnProps(), ['inline'])\n}, 'VCheckbox');\nexport const VCheckbox = genericComponent()({\n name: 'VCheckbox',\n inheritAttrs: false,\n props: makeVCheckboxProps(),\n emits: {\n 'update:modelValue': value => true,\n 'update:focused': focused => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const inputRef = ref();\n const uid = useId();\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const checkboxProps = VCheckboxBtn.filterProps(props);\n return _createVNode(VInput, _mergeProps({\n \"ref\": inputRef,\n \"class\": ['v-checkbox', props.class]\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"id\": props.id || `checkbox-${uid}`,\n \"focused\": isFocused.value,\n \"style\": props.style\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid\n } = _ref2;\n return _createVNode(VCheckboxBtn, _mergeProps(checkboxProps, {\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value\n }, controlAttrs, {\n \"error\": isValid.value === false,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"onFocus\": focus,\n \"onBlur\": blur\n }), slots);\n }\n });\n });\n return forwardRefs({}, inputRef);\n }\n});\n//# sourceMappingURL=VCheckbox.js.map","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VSwitch.css\";\n\n// Components\nimport { VScaleTransition } from \"../transitions/index.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.js\";\nimport { VIcon } from \"../VIcon/index.js\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.js\";\nimport { VProgressCircular } from \"../VProgressCircular/index.js\";\nimport { makeVSelectionControlProps, VSelectionControl } from \"../VSelectionControl/VSelectionControl.js\"; // Composables\nimport { useFocus } from \"../../composables/focus.js\";\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { LoaderSlot, useLoader } from \"../../composables/loader.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { ref, toRef, useId } from 'vue';\nimport { filterInputAttrs, genericComponent, propsFactory, SUPPORTS_MATCH_MEDIA, useRender } from \"../../util/index.js\"; // Types\nexport const makeVSwitchProps = propsFactory({\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false\n },\n ...makeVInputProps(),\n ...makeVSelectionControlProps()\n}, 'VSwitch');\nexport const VSwitch = genericComponent()({\n name: 'VSwitch',\n inheritAttrs: false,\n props: makeVSwitchProps(),\n emits: {\n 'update:focused': focused => true,\n 'update:modelValue': value => true,\n 'update:indeterminate': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const indeterminate = useProxiedModel(props, 'indeterminate');\n const model = useProxiedModel(props, 'modelValue');\n const {\n loaderClasses\n } = useLoader(props);\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const control = ref();\n const inputRef = ref();\n const isForcedColorsModeActive = SUPPORTS_MATCH_MEDIA && window.matchMedia('(forced-colors: active)').matches;\n const loaderColor = toRef(() => {\n return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;\n });\n const uid = useId();\n const id = toRef(() => props.id || `switch-${uid}`);\n function onChange() {\n if (indeterminate.value) {\n indeterminate.value = false;\n }\n }\n function onTrackClick(e) {\n e.stopPropagation();\n e.preventDefault();\n control.value?.input?.click();\n }\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const controlProps = VSelectionControl.filterProps(props);\n return _createVNode(VInput, _mergeProps({\n \"ref\": inputRef,\n \"class\": ['v-switch', {\n 'v-switch--flat': props.flat\n }, {\n 'v-switch--inset': props.inset\n }, {\n 'v-switch--indeterminate': indeterminate.value\n }, loaderClasses.value, props.class]\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"id\": id.value,\n \"focused\": isFocused.value,\n \"style\": props.style\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid\n } = _ref2;\n const slotProps = {\n model,\n isValid\n };\n return _createVNode(VSelectionControl, _mergeProps({\n \"ref\": control\n }, controlProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": [$event => model.value = $event, onChange],\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"type\": \"checkbox\",\n \"aria-checked\": indeterminate.value ? 'mixed' : undefined,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value,\n \"onFocus\": focus,\n \"onBlur\": blur\n }, controlAttrs), {\n ...slots,\n default: _ref3 => {\n let {\n backgroundColorClasses,\n backgroundColorStyles\n } = _ref3;\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),\n \"style\": _normalizeStyle(backgroundColorStyles.value),\n \"onClick\": onTrackClick\n }, [slots['track-true'] && _createElementVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-switch__track-true\"\n }, [slots['track-true'](slotProps)]), slots['track-false'] && _createElementVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-switch__track-false\"\n }, [slots['track-false'](slotProps)])]);\n },\n input: _ref4 => {\n let {\n inputNode,\n icon,\n backgroundColorClasses,\n backgroundColorStyles\n } = _ref4;\n return _createElementVNode(_Fragment, null, [inputNode, _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-switch__thumb', {\n 'v-switch__thumb--filled': icon || props.loading\n }, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value]),\n \"style\": _normalizeStyle(props.inset ? undefined : backgroundColorStyles.value)\n }, [slots.thumb ? _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VIcon: {\n icon,\n size: 'x-small'\n }\n }\n }, {\n default: () => [slots.thumb({\n ...slotProps,\n icon\n })]\n }) : _createVNode(VScaleTransition, null, {\n default: () => [!props.loading ? icon && _createVNode(VIcon, {\n \"key\": String(icon),\n \"icon\": icon,\n \"size\": \"x-small\"\n }, null) : _createVNode(LoaderSlot, {\n \"name\": \"v-switch\",\n \"active\": true,\n \"color\": isValid.value === false ? undefined : loaderColor.value\n }, {\n default: slotProps => slots.loader ? slots.loader(slotProps) : _createVNode(VProgressCircular, {\n \"active\": slotProps.isActive,\n \"color\": slotProps.color,\n \"indeterminate\": true,\n \"size\": \"16\",\n \"width\": \"2\"\n }, null)\n })]\n })])]);\n }\n });\n }\n });\n });\n return forwardRefs({}, inputRef);\n }\n});\n//# sourceMappingURL=VSwitch.js.map","/*\n|--------------------------------------------------------------------------\n| Resourceful Boolean Field\n|--------------------------------------------------------------------------\n|\n| A comprehensive field component for boolean values with optional ternary logic support\n| and professional UX features. Automatically adapts between single field editing,\n| multiple selection management, and read-only display through the unified field\n| composer architecture.\n|\n| ## Supported Values:\n| - true: Checked/Yes/On state with configurable text and icons\n| - false: Unchecked/No/Off state with configurable text and icons \n| - null: Indeterminate/Unknown/Mixed state with proper visual feedback (ternary mode)\n|\n| ## Rendering Variants (renderAs):\n| - select: Default dropdown with ternary options (perfect for multiple mode)\n| - toggle: VSwitch with indeterminate state support\n| - checkbox: VCheckbox with indeterminate dash display\n| - radio: VRadioGroup with configurable options for explicit choice\n|\n| ## Boolean vs Ternary Logic:\n|\n| ### Boolean Mode (choices: [true, false])\n| - Classic binary true/false logic without null values\n| - Perfect for settings, toggles, and yes/no questions\n| - Clear binary state with no indeterminate option\n| - Clearable integration disabled when null is not allowed\n|\n| ### Ternary Mode (choices: [true, false, null]) \n| - Extended logic with indeterminate/unknown/mixed state\n| - Visual feedback: Toggle shows mixed state, checkbox shows dash\n| - Smart defaults: Automatically includes all three states unless restricted\n| - Clearable integration: Field is clearable when null is a valid choice\n|\n| ### Internationalization\n| - Configurable text for all states (true/false/undetermined)\n| - Fallback to i18n keys: boolean.true, boolean.false, boolean.undetermined\n| - Icon customization for all states and render variants\n| - Consistent display across all operational modes\n|\n| ### Icon System\n| - Complete icon set for all states and render variants\n| - Material Design defaults with customization support\n| - Proper indeterminate icons for checkboxes and mixed states\n| - Radio button icons for selected/unselected states\n|\n| ## Operational Modes:\n|\n| ### Single Mode (multiple: false, renderMode: 'edit')\n| Direct boolean/ternary control with chosen render variant (toggle, checkbox, radio, select)\n| and proper visual feedback for indeterminate states when in ternary mode\n|\n| ### Multiple Mode (multiple: true, renderMode: 'edit') \n| RMultipleField with sophisticated chip management showing \"Yes\"/\"No\"/\"Undetermined\"\n| chips, full dialog interface for boolean/ternary array management\n|\n| ### Read Mode (renderMode: 'read')\n| Clean text presentation with Oxford comma formatting for arrays, showing\n| localized text for each boolean/ternary state\n|\n| ## Real-World Use Cases:\n| - Boolean: Settings toggles (enabled/disabled), survey responses (yes/no)\n| - Ternary: Permissions management (granted/denied/inherited), feature flags (on/off/auto)\n| - Bulk operations (all selected/none selected/partial selection)\n| - Configuration states (enabled/disabled/default)\n|\n| ## Smart Choice Management:\n| Automatically includes all three states (ternary mode) unless explicitly restricted\n| via choices prop, enabling flexible ternary logic or strict boolean choices\n| as needed for each use case.\n|\n*/\n\nimport { useI18n } from '../ioc'\nimport { SvgIcon } from '../svg-icon'\nimport { VRadio } from 'vuetify/components/VRadio'\nimport { useFieldComposer } from './field_composer'\nimport { VSwitch } from 'vuetify/components/VSwitch'\nimport { VSelect } from 'vuetify/components/VSelect'\nimport { VCheckbox } from 'vuetify/components/VCheckbox'\nimport { VInputPublicProps } from '../filtration/common'\nimport { propsAndEmitsFactory } from '../common/factories'\nimport { omit, pick } from '@nhtio/vuetifiable/util/helpers'\nimport { VRadioGroup } from 'vuetify/components/VRadioGroup'\nimport { h, defineComponent, toRefs, computed, ref } from 'vue'\nimport { IconValue } from '@nhtio/vuetifiable/composables/icons'\nimport { stripUndefinedValuesFromObject } from '../common/utils'\nimport { makeVInputProps } from '@nhtio/vuetifiable/components/VInput/VInput'\nimport { makeVFieldProps } from '@nhtio/vuetifiable/components/VField/VField'\nimport { makeVSelectProps } from '@nhtio/vuetifiable/components/VSelect/VSelect'\nimport { makeVSwitchProps } from '@nhtio/vuetifiable/components/VSwitch/VSwitch'\nimport { makeCommonResourcefulFieldProps, commonEmitsValidators } from './common'\nimport { makeVCheckboxProps } from '@nhtio/vuetifiable/components/VCheckbox/VCheckbox'\nimport { makeVRadioGroupProps } from '@nhtio/vuetifiable/components/VRadioGroup/VRadioGroup'\nimport {\n mdiClose,\n mdiMenuDown,\n mdiCheckboxMarked,\n mdiCheckboxIntermediateVariant,\n mdiCheckboxBlankOutline,\n mdiCircleSlice8,\n mdiCheckboxBlankCircleOutline,\n} from '@mdi/js'\nimport type { VInput } from 'vuetify/components/VInput'\nimport type { SingleFieldRenderer } from './field_composer'\nimport type { ExtractSlotDefinitions } from '../common/types'\nimport type { LooseRequired } from '@vue/shared/dist/shared.d.ts'\nimport type { CommonResourcefulFieldPublicProps, RFieldStringifier } from './common'\nimport type {\n PropType,\n ExtractPublicPropTypes,\n ToRefs,\n SlotsType,\n ComponentPublicInstance,\n} from 'vue'\n\ntype VInputSlots = ExtractSlotDefinitions<typeof VInput.slots>\ntype VSelectPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVSelectProps>>\ntype VSwitchPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVSwitchProps>>\ntype VCheckboxPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVCheckboxProps>>\ntype VRadioGroupPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVRadioGroupProps>>\n\n/**\n * Supported boolean field values representing ternary logic when null is included.\n * Includes true/false for standard boolean states plus optional null for\n * indeterminate/unknown/mixed state. Can be configured as strict boolean field\n * (true/false only) or ternary field (true/false/null) depending on use case.\n *\n * @example\n * ```typescript\n * // Ternary logic with all three states\n * const ternaryChoices: RBooleanFieldValue[] = [true, false, null]\n *\n * // Boolean logic only (no indeterminate)\n * const booleanChoices: RBooleanFieldValue[] = [true, false]\n *\n * // Permission states (ternary example)\n * const permission: RBooleanFieldValue = null // \"Inherited\"\n *\n * // Setting state (boolean example)\n * const darkMode: RBooleanFieldValue = true // \"Enabled\"\n * ```\n */\nexport const RBooleanFieldValue = [true, false, null] as const\n\n/**\n * Union type of all supported boolean/ternary field values. Use this type for\n * props, function parameters, or conditional logic based on boolean or ternary state.\n *\n * @example\n * ```typescript\n * const handleStateChange = (state: RBooleanFieldValue) => {\n * switch (state) {\n * case true:\n * // Handle enabled/yes/checked state\n * break\n * case false:\n * // Handle disabled/no/unchecked state\n * break\n * case null:\n * // Handle indeterminate/unknown/inherited state (ternary mode)\n * break\n * }\n * }\n * ```\n */\nexport type RBooleanFieldValue = (typeof RBooleanFieldValue)[number]\n\n/**\n * Rendering variants for boolean/ternary fields that determine the UI control type.\n * Each variant provides different user interaction patterns while maintaining\n * consistent boolean or ternary logic support based on configured choices.\n *\n * - `select`: Default dropdown perfect for multiple mode and explicit choice\n * - `toggle`: VSwitch with optional indeterminate state support (ternary mode)\n * - `checkbox`: VCheckbox with optional indeterminate dash display (ternary mode)\n * - `radio`: VRadioGroup for explicit choice scenarios\n *\n * @example\n * ```typescript\n * // Boolean settings toggle\n * <RBooleanField renderAs=\"toggle\" v-model=\"darkMode\" :choices=\"[true, false]\" />\n *\n * // Ternary permission checkbox\n * <RBooleanField renderAs=\"checkbox\" v-model=\"canEdit\" />\n *\n * // Boolean survey question\n * <RBooleanField renderAs=\"radio\" v-model=\"satisfied\" :choices=\"[true, false]\" />\n *\n * // Multiple selection (default select works best)\n * <RBooleanField multiple v-model=\"permissions\" />\n * ```\n */\nexport const RBooleanFieldRenderable = ['select', 'toggle', 'checkbox', 'radio'] as const\n\n/**\n * Union type for boolean field rendering variants. Used for the renderAs prop\n * to specify which UI control should be used for boolean or ternary value interaction.\n */\nexport type RBooleanFieldRenderable = (typeof RBooleanFieldRenderable)[number]\n\nconst isValidRBooleanFieldValue = (\n value: RBooleanFieldValue | RBooleanFieldValue[] | null | undefined\n): boolean => {\n if ('undefined' === typeof value || (!Array.isArray(value) && RBooleanFieldValue.includes(value)))\n return true\n if (Array.isArray(value)) {\n return value.every((v) => RBooleanFieldValue.includes(v))\n }\n return false\n}\n\nconst { makeProps: makeRBooleanFieldProps, emits: rBooleanFieldEmits } = propsAndEmitsFactory(\n {\n ...pick(makeVInputProps(), [\n 'focused',\n 'disabled',\n 'error',\n 'errorMessages',\n 'maxErrors',\n 'name',\n 'label',\n 'readonly',\n 'validateOn',\n 'theme',\n 'width',\n 'maxWidth',\n 'minWidth',\n 'density',\n 'class',\n 'style',\n 'id',\n 'baseColor',\n 'color',\n 'glow',\n 'iconColor',\n 'hideDetails',\n 'hint',\n 'persistentHint',\n 'messages',\n 'direction',\n ]),\n ...pick(\n makeVFieldProps({\n clearIcon: () => h(SvgIcon, { d: mdiClose }),\n }),\n ['variant', 'clearIcon']\n ),\n modelValue: {\n type: [Boolean, Array, Object] as PropType<\n RBooleanFieldValue | RBooleanFieldValue[] | null | undefined\n >,\n default: undefined,\n },\n renderAs: {\n type: String as PropType<RBooleanFieldRenderable>,\n default: 'select',\n },\n textForTrue: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n iconForTrue: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCheckboxMarked }),\n },\n textForFalse: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n iconForFalse: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCheckboxBlankOutline }),\n },\n textForUndetermined: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n iconForUndetermined: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCheckboxIntermediateVariant }),\n },\n iconForSelectedRadio: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCircleSlice8 }),\n },\n iconForUnselectedRadio: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCheckboxBlankCircleOutline }),\n },\n selectMenuIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiMenuDown }),\n },\n ripple: {\n type: Boolean,\n default: false,\n },\n ...omit(\n makeCommonResourcefulFieldProps({\n choices: RBooleanFieldValue,\n }),\n ['variant']\n ),\n },\n {\n 'update:modelValue': (value: RBooleanFieldValue | RBooleanFieldValue[] | null | undefined) =>\n isValidRBooleanFieldValue(value),\n 'update:model-value': (value: RBooleanFieldValue | RBooleanFieldValue[] | null | undefined) =>\n isValidRBooleanFieldValue(value),\n ...commonEmitsValidators,\n },\n 'RBooleanField'\n)\n\n/**\n * Factory function that creates comprehensive props for the RBooleanField component.\n * Combines VInput props with boolean/ternary-specific options for configurable logic,\n * rendering variants, icon customization, text localization, and unified field\n * architecture integration.\n *\n * @returns Props definition object for use with defineComponent\n *\n * @example\n * ```typescript\n * // Basic boolean field props\n * const props = makeRBooleanFieldProps()\n *\n * // Access specific prop configurations\n * console.log(props.renderAs) // Rendering variant prop\n * console.log(props.textForTrue) // True state text prop\n * console.log(props.multiple) // Multiple selection mode prop\n * ```\n */\nexport { makeRBooleanFieldProps }\n\n/**\n * Public props interface for the RBooleanField component. Includes all VInput\n * props plus boolean/ternary field-specific options for configurable logic,\n * rendering variants, icon customization, and unified field architecture features.\n *\n * @example\n * ```typescript\n * // Component props typing\n * interface MyComponentProps {\n * booleanFieldProps: RBooleanFieldProps\n * }\n *\n * // Programmatic prop construction\n * const fieldProps: RBooleanFieldProps = {\n * renderAs: 'toggle',\n * textForTrue: 'Enabled',\n * textForFalse: 'Disabled',\n * choices: [true, false], // Boolean mode\n * multiple: false,\n * label: 'Feature Toggle',\n * // ... other VInput props\n * }\n * ```\n */\nexport type RBooleanFieldProps = ExtractPublicPropTypes<ReturnType<typeof makeRBooleanFieldProps>>\n\n/**\n * Comprehensive boolean/ternary field component with configurable logic support and\n * multiple rendering variants. Can operate as either a strict boolean field (true/false)\n * or ternary field (true/false/null) based on choices configuration. Automatically\n * adapts between single field editing, multiple selection management, and read-only\n * display through the unified field composer architecture.\n *\n * Supports configurable rendering as toggle, checkbox, radio group, or select dropdown.\n * Each rendering variant maintains consistent boolean or ternary logic and provides\n * appropriate visual feedback for indeterminate states when in ternary mode.\n *\n * @example\n * ```vue\n * <!-- Boolean toggle (strict true/false) -->\n * <RBooleanField\n * v-model=\"enabled\"\n * renderAs=\"toggle\"\n * :choices=\"[true, false]\"\n * label=\"Enable Feature\"\n * />\n *\n * <!-- Ternary checkbox with custom text -->\n * <RBooleanField\n * v-model=\"permission\"\n * renderAs=\"checkbox\"\n * label=\"Edit Permission\"\n * text-for-true=\"Granted\"\n * text-for-false=\"Denied\"\n * text-for-undetermined=\"Inherited\"\n * />\n *\n * <!-- Boolean radio group for explicit choice -->\n * <RBooleanField\n * v-model=\"satisfied\"\n * renderAs=\"radio\"\n * label=\"Are you satisfied?\"\n * :choices=\"[true, false]\"\n * />\n *\n * <!-- Multiple boolean states -->\n * <RBooleanField\n * v-model=\"settings\"\n * multiple\n * :choices=\"[true, false]\"\n * label=\"Feature Settings\"\n * />\n *\n * <!-- Ternary mode (default - includes null) -->\n * <RBooleanField\n * v-model=\"inheritedSetting\"\n * renderAs=\"checkbox\"\n * label=\"Use Custom Setting\"\n * />\n * ```\n */\nexport const RBooleanField = defineComponent({\n name: 'RBooleanField',\n props: makeRBooleanFieldProps(),\n emits: rBooleanFieldEmits,\n slots: Object as SlotsType<VInputSlots>,\n setup(props, { emit, slots }) {\n const t = useI18n()\n const {\n focused,\n disabled,\n error,\n errorMessages,\n maxErrors,\n name,\n label,\n readonly,\n validateOn,\n theme,\n width,\n maxWidth,\n minWidth,\n density,\n class: className,\n style,\n id,\n baseColor,\n color,\n glow,\n iconColor,\n hideDetails,\n hint,\n persistentHint,\n messages,\n direction,\n modelValue,\n renderAs,\n textForTrue,\n textForFalse,\n textForUndetermined,\n iconForTrue,\n iconForFalse,\n iconForUndetermined,\n renderMode,\n multiple,\n choices,\n to,\n href,\n menuIcon,\n active,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n noValuesText,\n selectMenuIcon,\n ripple,\n iconForSelectedRadio,\n iconForUnselectedRadio,\n dirty,\n onBlur,\n onChange,\n onInput,\n } = toRefs(props)\n const computedChoices = computed(() => {\n const ret: any[] = []\n if (!choices.value) {\n ret.push(...RBooleanFieldValue)\n } else {\n if (choices.value.includes(true)) ret.push(true)\n if (choices.value.includes(false)) ret.push(false)\n if (choices.value.includes(null)) ret.push(null)\n }\n return ret\n })\n const normalizedTextForTrue = computed(() =>\n 'string' === typeof textForTrue.value ? textForTrue.value : t('boolean.true')\n )\n const normalizedTextForFalse = computed(() =>\n 'string' === typeof textForFalse.value ? textForFalse.value : t('boolean.false')\n )\n const normalizedTextForUndetermined = computed(() =>\n 'string' === typeof textForUndetermined.value\n ? textForUndetermined.value\n : t('boolean.undetermined')\n )\n const commonProps: ToRefs<LooseRequired<Readonly<CommonResourcefulFieldPublicProps>>> = {\n style,\n label,\n density,\n renderMode,\n multiple,\n to,\n href,\n menuIcon,\n active,\n theme,\n disabled,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n focused,\n noValuesText,\n 'allowUnspecifiedChoices': ref(false),\n 'choices': computedChoices,\n 'class': className,\n 'onUpdate:focused': toRefs(props)['onUpdate:focused'],\n 'onClick:append': toRefs(props)['onClick:append'],\n 'onClick:appendInner': toRefs(props)['onClick:appendInner'],\n 'onClick:clear': toRefs(props)['onClick:clear'],\n 'onClick:prependInner': toRefs(props)['onClick:prependInner'],\n 'onClick:prepend': toRefs(props)['onClick:prepend'],\n 'onMousedown:control': toRefs(props)['onMousedown:control'],\n 'onClick:control': toRefs(props)['onClick:control'],\n error,\n errorMessages,\n dirty,\n onBlur,\n onChange,\n onInput,\n }\n const stringifier = computed<RFieldStringifier<RBooleanFieldValue>>(() => {\n return (val: RBooleanFieldValue) => {\n switch (val) {\n case true:\n return normalizedTextForTrue.value\n case false:\n return normalizedTextForFalse.value\n default:\n return normalizedTextForUndetermined.value\n }\n }\n })\n const items = computed<{ value: RBooleanFieldValue; label: string }[]>(() =>\n RBooleanFieldValue.map((v) => ({\n value: v,\n label: stringifier.value(v) as string,\n }))\n )\n const commonFieldBindings = computed<VInputPublicProps>(() => ({\n focused: focused.value,\n disabled: disabled.value,\n error: error.value,\n errorMessages: errorMessages.value,\n maxErrors: maxErrors.value,\n name: name.value,\n label: label.value,\n readonly: readonly.value,\n validateOn: validateOn.value,\n theme: theme.value,\n width: width.value,\n maxWidth: maxWidth.value,\n minWidth: minWidth.value,\n density: density.value,\n class: className.value,\n style: style.value,\n id: id.value,\n baseColor: baseColor.value,\n color: color.value,\n glow: glow.value,\n iconColor: iconColor.value,\n hideDetails: hideDetails.value,\n hint: hint.value,\n persistentHint: persistentHint.value,\n messages: messages.value,\n direction: direction.value,\n dirty: dirty.value,\n onBlur: onBlur.value,\n onChange: onChange.value,\n onInput: onInput.value,\n }))\n const vSelectFieldBindings = computed<VSelectPublicProps>(\n () =>\n stripUndefinedValuesFromObject({\n ...commonFieldBindings.value,\n active: active.value,\n disabled: commonFieldBindings.value.disabled || undefined,\n items: items.value,\n clearable: computedChoices.value.includes(null),\n clearIcon: () => h(SvgIcon, { d: mdiClose }),\n density: density.value,\n itemTitle: 'label',\n itemValue: 'value',\n variant: variant.value,\n menuIcon: selectMenuIcon.value,\n prefix: prefix.value,\n persistentPlaceholder: persistentPlaceholder.value,\n suffix: suffix.value,\n role: role.value,\n }) satisfies VSelectPublicProps\n )\n const vSwitchFieldBindings = computed<VSwitchPublicProps>(\n () =>\n stripUndefinedValuesFromObject({\n ...commonFieldBindings.value,\n density: density.value,\n falseValue: false,\n ripple: ripple.value,\n trueValue: true,\n }) satisfies VSwitchPublicProps\n )\n const vCheckboxFieldBindings = computed<VCheckboxPublicProps>(\n () =>\n stripUndefinedValuesFromObject({\n ...commonFieldBindings.value,\n density: density.value,\n falseIcon: iconForFalse.value,\n falseValue: false,\n ripple: ripple.value,\n indeterminateIcon: iconForUndetermined.value,\n trueIcon: iconForTrue.value,\n trueValue: true,\n }) satisfies VCheckboxPublicProps\n )\n const vRadioGroupFieldBindings = computed<VRadioGroupPublicProps>(\n () =>\n stripUndefinedValuesFromObject({\n ...commonFieldBindings.value,\n density: density.value,\n falseIcon: iconForUnselectedRadio.value,\n trueIcon: iconForSelectedRadio.value,\n ripple: ripple.value,\n }) satisfies VRadioGroupPublicProps\n )\n const singleFieldRenderer: SingleFieldRenderer = ({ props: fieldBindings, isMultiAdd }) => {\n const renderableVSelectFieldBindings = {\n ...vSelectFieldBindings.value,\n ...fieldBindings,\n class: isMultiAdd ? [] : vSelectFieldBindings.value.class,\n }\n const renderableVSwitchFieldBindings = {\n ...vSwitchFieldBindings.value,\n ...fieldBindings,\n indeterminate: fieldBindings.modelValue === null || fieldBindings.modelValue === undefined,\n class: isMultiAdd ? [] : vSwitchFieldBindings.value.class,\n }\n const renderableVCheckboxFieldBindings = {\n ...vCheckboxFieldBindings.value,\n ...fieldBindings,\n indeterminate: fieldBindings.modelValue === null || fieldBindings.modelValue === undefined,\n class: isMultiAdd ? [] : vCheckboxFieldBindings.value.class,\n }\n const renderableVRadioGroupFieldBindings = {\n ...vRadioGroupFieldBindings.value,\n ...fieldBindings,\n class: isMultiAdd ? [] : vRadioGroupFieldBindings.value.class,\n }\n switch (renderAs.value) {\n case 'toggle':\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n return h(VSwitch, renderableVSwitchFieldBindings, {\n ...slots,\n })\n\n case 'checkbox':\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n return h(VCheckbox, renderableVCheckboxFieldBindings, {\n ...slots,\n })\n case 'radio':\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n return h(VRadioGroup, renderableVRadioGroupFieldBindings, {\n ...slots,\n default: () =>\n Array.from(items.value).map((i) =>\n h(\n VRadio,\n {\n value: i.value,\n },\n {\n label: () => i.label,\n }\n )\n ),\n })\n default:\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n return h(VSelect, renderableVSelectFieldBindings, {\n ...slots,\n })\n }\n }\n const undeterminedAreValues = computed(\n () => !Array.isArray(computedChoices.value) || computedChoices.value.includes(null)\n )\n const { composed } = useFieldComposer(\n commonProps,\n stringifier,\n singleFieldRenderer,\n emit,\n props['onUpdate:modelValue'],\n props['onUpdate:model-value'],\n modelValue,\n props.modelValue,\n undeterminedAreValues,\n undeterminedAreValues\n )\n return composed\n },\n})\n\n/**\n * Component type for the RBooleanField. Represents the complete boolean/ternary field\n * component with configurable logic support, multiple rendering variants, and unified\n * field architecture integration. Use this type for component references, template refs,\n * and programmatic component manipulation.\n *\n * @example\n * ```typescript\n * // Template ref typing\n * const booleanFieldRef = ref<RBooleanField>()\n *\n * // Component type checking\n * const isBooleanField = (component: unknown): component is RBooleanField => {\n * return component?.name === 'RBooleanField'\n * }\n *\n * // Programmatic component usage\n * const createBooleanField = (): RBooleanField => {\n * return RBooleanField\n * }\n * ```\n */\nexport type RBooleanField = typeof RBooleanField & ComponentPublicInstance\n"],"names":["_createVNode","_mergeProps","id","_createElementVNode","_normalizeClass","_normalizeStyle","_Fragment","slotProps","makeVInputProps","omit"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { inject, useId, provide, shallowRef, onDeactivated, onActivated, computed, onBeforeUnmount, ref, watchEffect, watch, onMounted, createVNode, mergeProps, createElementVNode, onScopeDispose, nextTick, h } from "vue";
|
|
2
|
-
import { a as useI18n } from "./ioc-
|
|
3
|
-
import { S as SvgIcon } from "./index-
|
|
4
|
-
import { t as toUnreactive } from "./utils-
|
|
2
|
+
import { a as useI18n } from "./ioc-Q-KAX6x1.mjs";
|
|
3
|
+
import { S as SvgIcon } from "./index-CduefDwU.mjs";
|
|
4
|
+
import { t as toUnreactive } from "./utils-DehfJ8pT.mjs";
|
|
5
5
|
import { I as IN_BROWSER } from "./vendor-nhtio-vuetifiable-CS-KbH1h.mjs";
|
|
6
6
|
import { o as useScopeId, s as VOverlay, p as forwardRefs, q as makeVOverlayProps, E as mdiCheckboxMarkedCircleOutline, F as mdiAlert } from "./mdi-jw9Ee7p6.mjs";
|
|
7
7
|
import { p as propsFactory, T as getCurrentInstance, g as genericComponent, u as useProxiedModel, x as usePosition, h as provideTheme, U as useVariant, y as useRounded, W as useToggleScope, X as refElement, e as useRender, Y as genOverlays, V as VProgressLinear, f as VDefaultsProvider, o as omit, m as makeThemeProps, Z as makeVariantProps, A as makeRoundedProps, B as makePositionProps, C as makeLocationProps, d as VIcon } from "./display-CHspVOz6.mjs";
|
|
@@ -383,4 +383,4 @@ export {
|
|
|
383
383
|
makeLayoutItemProps as m,
|
|
384
384
|
useClipboard as u
|
|
385
385
|
};
|
|
386
|
-
//# sourceMappingURL=clipboard-
|
|
386
|
+
//# sourceMappingURL=clipboard-C6YTX8YB.mjs.map
|