@nhtio/lucid-resourceful-vue-components 0.1.0-master-dc6af70b → 1.20251107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/{VBtn-CEYzcx0y.mjs → VBtn-C_58hP1L.mjs} +8 -8
  2. package/{VBtn-CEYzcx0y.mjs.map → VBtn-C_58hP1L.mjs.map} +1 -1
  3. package/VBtn.css +1 -0
  4. package/{VDatePicker-BHcvHHhM.mjs → VDatePicker-CKxKmuCC.mjs} +62 -62
  5. package/{VDatePicker-BHcvHHhM.mjs.map → VDatePicker-CKxKmuCC.mjs.map} +1 -1
  6. package/VDatePicker.css +1 -0
  7. package/{VEmptyState-CkYtN0q5.mjs → VEmptyState-CjqRy_Xt.mjs} +51 -51
  8. package/{VEmptyState-CkYtN0q5.mjs.map → VEmptyState-CjqRy_Xt.mjs.map} +1 -1
  9. package/VEmptyState.css +1 -0
  10. package/{VHover-Bj6QrQff.mjs → VHover-D-sydp3P.mjs} +3 -3
  11. package/{VHover-Bj6QrQff.mjs.map → VHover-D-sydp3P.mjs.map} +1 -1
  12. package/{VListItem-BnxAmKd_.mjs → VListItem-DNNkp2dc.mjs} +37 -37
  13. package/{VListItem-BnxAmKd_.mjs.map → VListItem-DNNkp2dc.mjs.map} +1 -1
  14. package/VListItem.css +1 -0
  15. package/{VMenu-BSB7YSpb.mjs → VMenu-oGwvgLV1.mjs} +4 -4
  16. package/{VMenu-BSB7YSpb.mjs.map → VMenu-oGwvgLV1.mjs.map} +1 -1
  17. package/VMenu.css +1 -0
  18. package/{VPicker-DMOVvCIE.mjs → VPicker-EfRj-X6U.mjs} +5 -5
  19. package/{VPicker-DMOVvCIE.mjs.map → VPicker-EfRj-X6U.mjs.map} +1 -1
  20. package/VPicker.css +1 -0
  21. package/{VRadioGroup-ByydeX8x.mjs → VRadioGroup-CDf6CGwX.mjs} +15 -15
  22. package/{VRadioGroup-ByydeX8x.mjs.map → VRadioGroup-CDf6CGwX.mjs.map} +1 -1
  23. package/VRadioGroup.css +1 -0
  24. package/{VRow-Dmn82Xaa.mjs → VRow-Da2fdUPu.mjs} +7 -7
  25. package/{VRow-Dmn82Xaa.mjs.map → VRow-Da2fdUPu.mjs.map} +1 -1
  26. package/{VSheet-B9ALb0PQ.mjs → VSheet-DdygPJlo.mjs} +3 -3
  27. package/{VSheet-B9ALb0PQ.mjs.map → VSheet-DdygPJlo.mjs.map} +1 -1
  28. package/VSheet.css +1 -0
  29. package/{actions-BEmdy8bu.mjs → actions-5gxlWcWt.mjs} +15 -15
  30. package/{actions-BEmdy8bu.mjs.map → actions-5gxlWcWt.mjs.map} +1 -1
  31. package/actions.css +1 -0
  32. package/{alert-DftADRGk.mjs → alert-C6Dxm9jn.mjs} +13 -13
  33. package/{alert-DftADRGk.mjs.map → alert-C6Dxm9jn.mjs.map} +1 -1
  34. package/{bigint-DiC37zMo.mjs → bigint-CqXe_geE.mjs} +6 -6
  35. package/{bigint-DiC37zMo.mjs.map → bigint-CqXe_geE.mjs.map} +1 -1
  36. package/{boolean-DZDryWHA.mjs → boolean-BaevWx3k.mjs} +44 -44
  37. package/{boolean-DZDryWHA.mjs.map → boolean-BaevWx3k.mjs.map} +1 -1
  38. package/boolean.css +1 -0
  39. package/{clipboard--JAZokR3.mjs → clipboard-CGd9vMCV.mjs} +49 -49
  40. package/{clipboard--JAZokR3.mjs.map → clipboard-CGd9vMCV.mjs.map} +1 -1
  41. package/clipboard.css +1 -0
  42. package/{colorUtils-I1lKouL3.mjs → colorUtils-BdpqbLZS.mjs} +3 -3
  43. package/{colorUtils-I1lKouL3.mjs.map → colorUtils-BdpqbLZS.mjs.map} +1 -1
  44. package/{common-BDwb9uGU.mjs → common-DrsZRUoj.mjs} +14 -14
  45. package/{common-BDwb9uGU.mjs.map → common-DrsZRUoj.mjs.map} +1 -1
  46. package/common.css +1 -0
  47. package/{component-C-qp70Rp.mjs → component-DhEJuSE6.mjs} +2 -2
  48. package/{component-C-qp70Rp.mjs.map → component-DhEJuSE6.mjs.map} +1 -1
  49. package/components/autorefresh_controller.mjs +1 -1
  50. package/components/control_button.mjs +1 -1
  51. package/components/control_button_bar.mjs +2 -2
  52. package/components/control_menu.mjs +1 -1
  53. package/components/custom_field.mjs +1 -1
  54. package/components/exporter.mjs +1 -1
  55. package/components/fields/bigint.mjs +1 -1
  56. package/components/fields/boolean.mjs +1 -1
  57. package/components/fields/date.mjs +1 -1
  58. package/components/fields/date_time.mjs +1 -1
  59. package/components/fields/enum.mjs +1 -1
  60. package/components/fields/integer.mjs +1 -1
  61. package/components/fields/number.mjs +1 -1
  62. package/components/fields/string.mjs +1 -1
  63. package/components/fields/unsigned_integer.mjs +1 -1
  64. package/components/fields.mjs +9 -9
  65. package/components/form_with_validation.mjs +1 -1
  66. package/components/resourceful_alerter.mjs +1 -1
  67. package/components/resourceful_index.mjs +1 -1
  68. package/components/resourceful_record.mjs +2 -2
  69. package/components/resourceful_record_default_form.mjs +1 -1
  70. package/components/resourceful_record_form.mjs +1 -1
  71. package/components/sortable.mjs +1 -1
  72. package/components/svg_icon.mjs +1 -1
  73. package/components/timezone_picker.mjs +1 -1
  74. package/components.mjs +23 -23
  75. package/composables.mjs +11 -11
  76. package/{console-CAez8ceh.mjs → console-Dgoi3FwV.mjs} +2 -2
  77. package/{console-CAez8ceh.mjs.map → console-Dgoi3FwV.mjs.map} +1 -1
  78. package/{custom-Tm6_792A.mjs → custom-CXFDPB_N.mjs} +21 -21
  79. package/{custom-Tm6_792A.mjs.map → custom-CXFDPB_N.mjs.map} +1 -1
  80. package/{date-CxaBVvlO.mjs → date-BXNqToRH.mjs} +21 -21
  81. package/{date-CxaBVvlO.mjs.map → date-BXNqToRH.mjs.map} +1 -1
  82. package/{date_time-DhABUkGT.mjs → date_time-DuRO8DS4.mjs} +348 -348
  83. package/{date_time-DhABUkGT.mjs.map → date_time-DuRO8DS4.mjs.map} +1 -1
  84. package/date_time.css +1 -0
  85. package/{display-DPktlWOz.mjs → display-BL-pquAI.mjs} +10 -10
  86. package/{display-DPktlWOz.mjs.map → display-BL-pquAI.mjs.map} +1 -1
  87. package/{display-DazBkrbZ.mjs → display-DCHGPqrW.mjs} +2 -2
  88. package/{display-DazBkrbZ.mjs.map → display-DCHGPqrW.mjs.map} +1 -1
  89. package/{display-BdjbLG1_.mjs → display-TF26EjNQ.mjs} +16 -16
  90. package/{display-BdjbLG1_.mjs.map → display-TF26EjNQ.mjs.map} +1 -1
  91. package/display.css +1 -0
  92. package/display2.css +1 -0
  93. package/{elevation-DFBVIqom.mjs → elevation-j7bb-vGU.mjs} +39 -39
  94. package/{elevation-DFBVIqom.mjs.map → elevation-j7bb-vGU.mjs.map} +1 -1
  95. package/elevation.css +1 -0
  96. package/{enum-KB4xPkOL.mjs → enum-CRgh6TfR.mjs} +22 -22
  97. package/{enum-KB4xPkOL.mjs.map → enum-CRgh6TfR.mjs.map} +1 -1
  98. package/factories.mjs +1 -1
  99. package/{field_composer-CLJuJevf.mjs → field_composer-CjKCvP50.mjs} +3 -3
  100. package/{field_composer-CLJuJevf.mjs.map → field_composer-CjKCvP50.mjs.map} +1 -1
  101. package/{form-9YRVcrxM.mjs → form-CFjPqvRf.mjs} +45 -45
  102. package/{form-9YRVcrxM.mjs.map → form-CFjPqvRf.mjs.map} +1 -1
  103. package/{guards-BrpRx6ly.mjs → guards-Cby4QwzY.mjs} +2 -2
  104. package/{guards-BrpRx6ly.mjs.map → guards-Cby4QwzY.mjs.map} +1 -1
  105. package/guards.mjs +4 -4
  106. package/helpers.mjs +6 -6
  107. package/{index-UxsEIZVi.mjs → index-B8OnsqN1.mjs} +10 -10
  108. package/{index-UxsEIZVi.mjs.map → index-B8OnsqN1.mjs.map} +1 -1
  109. package/{index-CWwCXXNl.mjs → index-C-PCfO1S.mjs} +2 -2
  110. package/{index-CWwCXXNl.mjs.map → index-C-PCfO1S.mjs.map} +1 -1
  111. package/{index-BkjiQEyJ.mjs → index-CZg-HOo9.mjs} +12 -12
  112. package/{index-BkjiQEyJ.mjs.map → index-CZg-HOo9.mjs.map} +1 -1
  113. package/{index-BaOM0Cyz.mjs → index-ChVCZ8iE.mjs} +21 -21
  114. package/{index-BaOM0Cyz.mjs.map → index-ChVCZ8iE.mjs.map} +1 -1
  115. package/{index-DDobJ49b.mjs → index-Cou5qTHe.mjs} +13 -13
  116. package/{index-DDobJ49b.mjs.map → index-Cou5qTHe.mjs.map} +1 -1
  117. package/{index-DBXOwXpe.mjs → index-DM8E6faO.mjs} +8 -8
  118. package/{index-DBXOwXpe.mjs.map → index-DM8E6faO.mjs.map} +1 -1
  119. package/{index-DwOjHbRP.mjs → index-DSLt7-cJ.mjs} +44 -44
  120. package/{index-DwOjHbRP.mjs.map → index-DSLt7-cJ.mjs.map} +1 -1
  121. package/{index-Bs4A8qUO.mjs → index-VpcXNOpn.mjs} +2 -2
  122. package/{index-Bs4A8qUO.mjs.map → index-VpcXNOpn.mjs.map} +1 -1
  123. package/{index-BsazeUn6.mjs → index-fiZltUBs.mjs} +3 -3
  124. package/{index-BsazeUn6.mjs.map → index-fiZltUBs.mjs.map} +1 -1
  125. package/index.css +1 -0
  126. package/index.mjs +47 -47
  127. package/{integer-uzh0nwpb.mjs → integer-Dy0xpFif.mjs} +5 -5
  128. package/{integer-uzh0nwpb.mjs.map → integer-Dy0xpFif.mjs.map} +1 -1
  129. package/{mdi-C9DbASEx.mjs → mdi-BQSh-ess.mjs} +19 -19
  130. package/{mdi-C9DbASEx.mjs.map → mdi-BQSh-ess.mjs.map} +1 -1
  131. package/mdi.css +1 -0
  132. package/{number-CfHLDQFY.mjs → number-DWCew87L.mjs} +86 -86
  133. package/{number-CfHLDQFY.mjs.map → number-DWCew87L.mjs.map} +1 -1
  134. package/number.css +1 -0
  135. package/package.json +45 -45
  136. package/{position-CPuNp03H.mjs → position-B9VPkbhU.mjs} +2 -2
  137. package/{position-CPuNp03H.mjs.map → position-B9VPkbhU.mjs.map} +1 -1
  138. package/{props-KPFuptNy.mjs → props-Cjpc9pre.mjs} +8 -8
  139. package/{props-KPFuptNy.mjs.map → props-Cjpc9pre.mjs.map} +1 -1
  140. package/{props-Cq9daNwa.mjs → props-DQlQ6VDP.mjs} +6 -6
  141. package/{props-Cq9daNwa.mjs.map → props-DQlQ6VDP.mjs.map} +1 -1
  142. package/{renderers-COT3aAu3.mjs → renderers-hznWrh2D.mjs} +13 -13
  143. package/{renderers-COT3aAu3.mjs.map → renderers-hznWrh2D.mjs.map} +1 -1
  144. package/{string-DvwPf_Ob.mjs → string-BTd_Gwx-.mjs} +181 -181
  145. package/{string-DvwPf_Ob.mjs.map → string-BTd_Gwx-.mjs.map} +1 -1
  146. package/string.css +1 -0
  147. package/{unsigned_integer-C9nrNAn_.mjs → unsigned_integer-CfxxFKrO.mjs} +4 -4
  148. package/{unsigned_integer-C9nrNAn_.mjs.map → unsigned_integer-CfxxFKrO.mjs.map} +1 -1
  149. package/useRender-CfNJA_8a.mjs +9 -0
  150. package/{useRender-Dpj9Jrbr.mjs.map → useRender-CfNJA_8a.mjs.map} +1 -1
  151. package/{utils-DxV2ZNaE.mjs → utils-D3ZGaTyv.mjs} +50 -50
  152. package/{utils-DxV2ZNaE.mjs.map → utils-D3ZGaTyv.mjs.map} +1 -1
  153. package/{validation-CZ6xx4aX.mjs → validation-BobMyGeq.mjs} +4 -4
  154. package/{validation-CZ6xx4aX.mjs.map → validation-BobMyGeq.mjs.map} +1 -1
  155. package/useRender-Dpj9Jrbr.mjs +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"bigint-DiC37zMo.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":["makeRBigIntFieldBaseProps","propsFactory","omit","makeRNumberFieldProps","pick","makeVTextFieldProps","makeVNumberInputProps","isValidSingleRBigIntFieldValue","value","Big","e","isValidRBigIntFieldValue","makeRBigIntFieldProps","rBigIntFieldEmits","propsAndEmitsFactory","commonEmitsValidators","safeGetAsBig","error","isEmitable","min","max","minAsBig","maxAsBig","valueAsBig","toEmitable","jsonSafe","v","asBig","fromEmitable","RBigIntField","defineComponent","props","emit","slots","focused","disabled","errorMessages","maxErrors","name","label","readonly","validateOn","theme","width","maxWidth","minWidth","density","className","style","id","baseColor","color","glow","iconColor","hideDetails","hint","persistentHint","messages","direction","modelValue","renderMode","multiple","choices","allowUnspecifiedChoices","to","href","menuIcon","active","variant","prefix","persistentPlaceholder","suffix","role","noValuesText","clearIcon","controlVariant","format","incrementIcon","decrementIcon","collapseIcon","expandIcon","reverse","hideInput","inset","step","dirty","onBlur","onChange","onInput","toRefs","fixedEmit","event","args","onUpdateModelValueCamelProp","emitable","onUpdateModelValueKebabProp","textifiedModelValue","computed","stringifier","val","formatBigNumber","commonProps","VNumberInputFieldBindings","stripUndefinedValuesFromObject","normalizedIncrementIcon","normalizedDecrementIcon","normalizedControlNodeSize","normalizedControlNodeDefaultHeight","normalizedControlsDisabled","normalizedStep","stepValue","singleFieldRenderer","fieldBindings","isMultiAdd","add","canIncrease","isBig","canDecrease","incrementSlot","useSlot","decrementSlot","incrementControlNode","slotProps","current","h","VBtn","decrementControlNode","appendInnerSlot","VDivider","prependInnerSlot","VTextField","composed","useFieldComposer"],"mappings":"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"}
1
+ {"version":3,"file":"bigint-CqXe_geE.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":["makeRBigIntFieldBaseProps","propsFactory","omit","makeRNumberFieldProps","pick","makeVTextFieldProps","makeVNumberInputProps","isValidSingleRBigIntFieldValue","value","Big","e","isValidRBigIntFieldValue","makeRBigIntFieldProps","rBigIntFieldEmits","propsAndEmitsFactory","commonEmitsValidators","safeGetAsBig","error","isEmitable","min","max","minAsBig","maxAsBig","valueAsBig","toEmitable","jsonSafe","v","asBig","fromEmitable","RBigIntField","defineComponent","props","emit","slots","focused","disabled","errorMessages","maxErrors","name","label","readonly","validateOn","theme","width","maxWidth","minWidth","density","className","style","id","baseColor","color","glow","iconColor","hideDetails","hint","persistentHint","messages","direction","modelValue","renderMode","multiple","choices","allowUnspecifiedChoices","to","href","menuIcon","active","variant","prefix","persistentPlaceholder","suffix","role","noValuesText","clearIcon","controlVariant","format","incrementIcon","decrementIcon","collapseIcon","expandIcon","reverse","hideInput","inset","step","dirty","onBlur","onChange","onInput","toRefs","fixedEmit","event","args","onUpdateModelValueCamelProp","emitable","onUpdateModelValueKebabProp","textifiedModelValue","computed","stringifier","val","formatBigNumber","commonProps","VNumberInputFieldBindings","stripUndefinedValuesFromObject","normalizedIncrementIcon","normalizedDecrementIcon","normalizedControlNodeSize","normalizedControlNodeDefaultHeight","normalizedControlsDisabled","normalizedStep","stepValue","singleFieldRenderer","fieldBindings","isMultiAdd","add","canIncrease","isBig","canDecrease","incrementSlot","useSlot","decrementSlot","incrementControlNode","slotProps","current","h","VBtn","decrementControlNode","appendInnerSlot","VDivider","prependInnerSlot","VTextField","composed","useFieldComposer"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { a as aa } from "./ioc-Du_Tgg-1.mjs";
2
- import { S as m } from "./index-CWwCXXNl.mjs";
3
- import { u as la } from "./field_composer-CLJuJevf.mjs";
4
- import { a as oa, y as ta, x as fe, s as j } from "./utils-DxV2ZNaE.mjs";
2
+ import { S as m } from "./index-C-PCfO1S.mjs";
3
+ import { u as la } from "./field_composer-CjKCvP50.mjs";
4
+ import { d as oa, x as ta, w as fe, s as j } from "./utils-D3ZGaTyv.mjs";
5
5
  import { ref as G, useId as Ce, createVNode as c, mergeProps as N, toRef as he, createElementVNode as M, Fragment as na, normalizeStyle as pe, normalizeClass as Ve, h as o, defineComponent as sa, toRefs as d, computed as n } from "vue";
6
- import { I as x } from "./elevation-DFBVIqom.mjs";
7
- import { w as Fe, j as L, x as be, r as ge, y as ra, n as ye, o as ia, c as ua, b as da, g as ca, h as va, z as ma } from "./common-BDwb9uGU.mjs";
8
- import { r as xe, b as fa, h as ha, i as pa, F as Va, G as ba, H as ya, g as we } from "./mdi-C9DbASEx.mjs";
9
- import { V as ka, a as Ca } from "./VRadioGroup-ByydeX8x.mjs";
10
- import { g as Ie, p as Se, u as X, o as Re, K as Pe, F as Fa, Y as ga, Z as xa, E as wa, _ as Ia, a as Sa, $ as Ra, d as Pa } from "./display-BdjbLG1_.mjs";
11
- const Ba = Se({
6
+ import { I as x } from "./elevation-j7bb-vGU.mjs";
7
+ import { w as Fe, j as L, x as be, r as ge, y as ra, n as ye, o as ia, c as ua, b as da, g as ca, h as va, z as ma } from "./common-DrsZRUoj.mjs";
8
+ import { r as xe, e as fa, f as ha, g as pa, F as Va, G as ba, H as ya, d as we } from "./mdi-BQSh-ess.mjs";
9
+ import { V as ka, a as Ca } from "./VRadioGroup-CDf6CGwX.mjs";
10
+ import { g as Ie, p as Se, u as X, o as Re, L as Pe, F as Fa, Y as ga, Z as xa, E as wa, _ as Ia, a as Sa, $ as Ra, d as Pa } from "./display-TF26EjNQ.mjs";
11
+ import './boolean.css';const Ba = Se({
12
12
  ...ge(),
13
13
  ...Fa(ra(), ["inline"])
14
14
  }, "VCheckbox"), Aa = Ie()({
@@ -104,7 +104,7 @@ const Ba = Se({
104
104
  u.stopPropagation(), u.preventDefault(), h.value?.input?.click();
105
105
  }
106
106
  return Re(() => {
107
- const [u, F] = Pe(v), B = L.filterProps(e), K = ye.filterProps(e);
107
+ const [u, F] = Pe(v), B = L.filterProps(e), Y = ye.filterProps(e);
108
108
  return c(L, N({
109
109
  ref: y,
110
110
  class: ["v-switch", {
@@ -124,10 +124,10 @@ const Ba = Se({
124
124
  ...l,
125
125
  default: (A) => {
126
126
  let {
127
- id: Y,
128
- messagesId: Z,
129
- isDisabled: q,
130
- isReadonly: J,
127
+ id: Z,
128
+ messagesId: q,
129
+ isDisabled: J,
130
+ isReadonly: K,
131
131
  isValid: D
132
132
  } = A;
133
133
  const U = {
@@ -136,15 +136,15 @@ const Ba = Se({
136
136
  };
137
137
  return c(ye, N({
138
138
  ref: h
139
- }, K, {
139
+ }, Y, {
140
140
  modelValue: s.value,
141
141
  "onUpdate:modelValue": [(V) => s.value = V, P],
142
- id: Y.value,
143
- "aria-describedby": Z.value,
142
+ id: Z.value,
143
+ "aria-describedby": q.value,
144
144
  type: "checkbox",
145
145
  "aria-checked": t.value ? "mixed" : void 0,
146
- disabled: q.value,
147
- readonly: J.value,
146
+ disabled: J.value,
147
+ readonly: K.value,
148
148
  onFocus: b,
149
149
  onBlur: S
150
150
  }, F), {
@@ -215,7 +215,7 @@ const Ba = Se({
215
215
  });
216
216
  }), xe({}, y);
217
217
  }
218
- }), z = [!0, !1, null], Ka = ["select", "toggle", "checkbox", "radio"], ke = (e) => typeof e > "u" || !Array.isArray(e) && z.includes(e) ? !0 : Array.isArray(e) ? e.every((f) => z.includes(f)) : !1, { makeProps: _a, emits: Ma } = oa(
218
+ }), z = [!0, !1, null], Ya = ["select", "toggle", "checkbox", "radio"], ke = (e) => typeof e > "u" || !Array.isArray(e) && z.includes(e) ? !0 : Array.isArray(e) ? e.every((f) => z.includes(f)) : !1, { makeProps: _a, emits: Ma } = oa(
219
219
  {
220
220
  ...fe(va(), [
221
221
  "focused",
@@ -312,7 +312,7 @@ const Ba = Se({
312
312
  ...ua
313
313
  },
314
314
  "RBooleanField"
315
- ), Ya = sa({
315
+ ), Za = sa({
316
316
  name: "RBooleanField",
317
317
  props: _a(),
318
318
  emits: Ma,
@@ -336,12 +336,12 @@ const Ba = Se({
336
336
  class: u,
337
337
  style: F,
338
338
  id: B,
339
- baseColor: K,
339
+ baseColor: Y,
340
340
  color: A,
341
- glow: Y,
342
- iconColor: Z,
343
- hideDetails: q,
344
- hint: J,
341
+ glow: Z,
342
+ iconColor: q,
343
+ hideDetails: J,
344
+ hint: K,
345
345
  persistentHint: D,
346
346
  messages: U,
347
347
  direction: V,
@@ -381,9 +381,9 @@ const Ba = Se({
381
381
  () => typeof E.value == "string" ? E.value : l("boolean.true")
382
382
  ), Le = n(
383
383
  () => typeof O.value == "string" ? O.value : l("boolean.false")
384
- ), Ke = n(
384
+ ), Ye = n(
385
385
  () => typeof g.value == "string" ? g.value : l("boolean.undetermined")
386
- ), Ye = {
386
+ ), Ze = {
387
387
  style: F,
388
388
  label: h,
389
389
  density: r,
@@ -419,7 +419,7 @@ const Ba = Se({
419
419
  case !1:
420
420
  return Le.value;
421
421
  default:
422
- return Ke.value;
422
+ return Ye.value;
423
423
  }
424
424
  }), re = n(
425
425
  () => z.map((a) => ({
@@ -444,12 +444,12 @@ const Ba = Se({
444
444
  class: u.value,
445
445
  style: F.value,
446
446
  id: B.value,
447
- baseColor: K.value,
447
+ baseColor: Y.value,
448
448
  color: A.value,
449
- glow: Y.value,
450
- iconColor: Z.value,
451
- hideDetails: q.value,
452
- hint: J.value,
449
+ glow: Z.value,
450
+ iconColor: q.value,
451
+ hideDetails: J.value,
452
+ hint: K.value,
453
453
  persistentHint: D.value,
454
454
  messages: U.value,
455
455
  direction: V.value,
@@ -502,8 +502,8 @@ const Ba = Se({
502
502
  trueIcon: Oe.value,
503
503
  ripple: Q.value
504
504
  })
505
- ), Ze = ({ props: a, isMultiAdd: $ }) => {
506
- const Je = {
505
+ ), qe = ({ props: a, isMultiAdd: $ }) => {
506
+ const Ke = {
507
507
  ...ie.value,
508
508
  ...a,
509
509
  class: $ ? [] : ie.value.class
@@ -547,16 +547,16 @@ const Ba = Se({
547
547
  )
548
548
  });
549
549
  default:
550
- return o(ma, Je, {
550
+ return o(ma, Ke, {
551
551
  ...v
552
552
  });
553
553
  }
554
554
  }, ve = n(
555
555
  () => !Array.isArray(H.value) || H.value.includes(null)
556
- ), { composed: qe } = la(
557
- Ye,
558
- se,
556
+ ), { composed: Je } = la(
559
557
  Ze,
558
+ se,
559
+ qe,
560
560
  f,
561
561
  e["onUpdate:modelValue"],
562
562
  e["onUpdate:model-value"],
@@ -565,13 +565,13 @@ const Ba = Se({
565
565
  ve,
566
566
  ve
567
567
  );
568
- return qe;
568
+ return Je;
569
569
  }
570
570
  });
571
571
  export {
572
- Ya as R,
572
+ Za as R,
573
573
  Aa as V,
574
574
  z as a,
575
- Ka as b
575
+ Ya as b
576
576
  };
577
- //# sourceMappingURL=boolean-DZDryWHA.mjs.map
577
+ //# sourceMappingURL=boolean-BaevWx3k.mjs.map