@nhtio/lucid-resourceful-vue-components 0.1.0-master-e14740ea → 0.1.0-master-54839a90

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 (181) hide show
  1. package/{VBtn-DhfYEt9V.mjs → VBtn-C4WCntKg.mjs} +8 -8
  2. package/{VBtn-DhfYEt9V.mjs.map → VBtn-C4WCntKg.mjs.map} +1 -1
  3. package/{VDatePicker-D0OTAyvJ.mjs → VDatePicker-DOCNk-HL.mjs} +166 -166
  4. package/{VDatePicker-D0OTAyvJ.mjs.map → VDatePicker-DOCNk-HL.mjs.map} +1 -1
  5. package/{VEmptyState-BFrXSTJ-.mjs → VEmptyState-CfouFZTg.mjs} +41 -41
  6. package/{VEmptyState-BFrXSTJ-.mjs.map → VEmptyState-CfouFZTg.mjs.map} +1 -1
  7. package/{VHover-DLvOmsjv.mjs → VHover-DvUhdfsL.mjs} +3 -3
  8. package/{VHover-DLvOmsjv.mjs.map → VHover-DvUhdfsL.mjs.map} +1 -1
  9. package/{VListItem-LNaoM8S4.mjs → VListItem-BT-NXJyi.mjs} +56 -56
  10. package/{VListItem-LNaoM8S4.mjs.map → VListItem-BT-NXJyi.mjs.map} +1 -1
  11. package/{VMenu-9rTbTKtH.mjs → VMenu-Bk2NN8qb.mjs} +28 -28
  12. package/{VMenu-9rTbTKtH.mjs.map → VMenu-Bk2NN8qb.mjs.map} +1 -1
  13. package/{VPicker-BGuRD0KW.mjs → VPicker-DmY6CdER.mjs} +5 -5
  14. package/{VPicker-BGuRD0KW.mjs.map → VPicker-DmY6CdER.mjs.map} +1 -1
  15. package/{VRadioGroup-Dx_wEqzl.mjs → VRadioGroup-BO7XdtLS.mjs} +21 -21
  16. package/{VRadioGroup-Dx_wEqzl.mjs.map → VRadioGroup-BO7XdtLS.mjs.map} +1 -1
  17. package/{VRow-DaLdbIGw.mjs → VRow-BhNJcY5-.mjs} +17 -17
  18. package/{VRow-DaLdbIGw.mjs.map → VRow-BhNJcY5-.mjs.map} +1 -1
  19. package/{VSheet-DnIfs-1c.mjs → VSheet-Bkr-m6FE.mjs} +14 -14
  20. package/{VSheet-DnIfs-1c.mjs.map → VSheet-Bkr-m6FE.mjs.map} +1 -1
  21. package/{actions-8bWGsB-p.mjs → actions-ORUmfJR5.mjs} +15 -15
  22. package/{actions-8bWGsB-p.mjs.map → actions-ORUmfJR5.mjs.map} +1 -1
  23. package/{alert-IW1AIWZw.mjs → alert-pFT7pWTZ.mjs} +97 -94
  24. package/alert-pFT7pWTZ.mjs.map +1 -0
  25. package/{bigint-Jmfa2L4S.mjs → bigint-CCM0aPaS.mjs} +6 -6
  26. package/{bigint-Jmfa2L4S.mjs.map → bigint-CCM0aPaS.mjs.map} +1 -1
  27. package/{boolean-BEY7eBxf.mjs → boolean-1-MOJPSu.mjs} +40 -40
  28. package/{boolean-BEY7eBxf.mjs.map → boolean-1-MOJPSu.mjs.map} +1 -1
  29. package/{clipboard-BoKd7mFG.mjs → clipboard-CdGABqm1.mjs} +51 -51
  30. package/{clipboard-BoKd7mFG.mjs.map → clipboard-CdGABqm1.mjs.map} +1 -1
  31. package/{colorUtils-DmtKYNgW.mjs → colorUtils-BdpqbLZS.mjs} +3 -3
  32. package/{colorUtils-DmtKYNgW.mjs.map → colorUtils-BdpqbLZS.mjs.map} +1 -1
  33. package/{common-BeDAn4wu.mjs → common-Bi5RUD-n.mjs} +8881 -8880
  34. package/common-Bi5RUD-n.mjs.map +1 -0
  35. package/{component-CjPpW_A2.mjs → component-DhEJuSE6.mjs} +2 -2
  36. package/{component-CjPpW_A2.mjs.map → component-DhEJuSE6.mjs.map} +1 -1
  37. package/components/autorefresh_controller.mjs +1 -1
  38. package/components/control_button.mjs +1 -1
  39. package/components/control_button_bar.mjs +2 -2
  40. package/components/control_menu.mjs +1 -1
  41. package/components/custom_field.mjs +1 -1
  42. package/components/exporter.mjs +1 -1
  43. package/components/fields/bigint.mjs +1 -1
  44. package/components/fields/boolean.mjs +1 -1
  45. package/components/fields/date.mjs +1 -1
  46. package/components/fields/date_time.mjs +1 -1
  47. package/components/fields/enum.mjs +1 -1
  48. package/components/fields/integer.mjs +1 -1
  49. package/components/fields/number.mjs +1 -1
  50. package/components/fields/string.mjs +1 -1
  51. package/components/fields/unsigned_integer.mjs +1 -1
  52. package/components/fields.mjs +9 -9
  53. package/components/form_with_validation.mjs +1 -1
  54. package/components/resourceful_alerter.mjs +1 -1
  55. package/components/resourceful_index.mjs +1 -1
  56. package/components/resourceful_record.mjs +2 -2
  57. package/components/resourceful_record_default_form.mjs +1 -1
  58. package/components/resourceful_record_form.mjs +1 -1
  59. package/components/sortable.mjs +1 -1
  60. package/components/svg_icon.mjs +1 -1
  61. package/components/timezone_picker.mjs +1 -1
  62. package/components.mjs +23 -23
  63. package/composables.mjs +8 -8
  64. package/{console-CRXioSFP.mjs → console-Dgoi3FwV.mjs} +2 -2
  65. package/{console-CRXioSFP.mjs.map → console-Dgoi3FwV.mjs.map} +1 -1
  66. package/{custom-Y1WJVKP9.mjs → custom-DQmbYYPh.mjs} +17 -17
  67. package/{custom-Y1WJVKP9.mjs.map → custom-DQmbYYPh.mjs.map} +1 -1
  68. package/{date-BxEeCNWD.mjs → date-E_8RP3gK.mjs} +21 -21
  69. package/{date-BxEeCNWD.mjs.map → date-E_8RP3gK.mjs.map} +1 -1
  70. package/{date_time-6kpv7eDF.mjs → date_time-BmYl2TFi.mjs} +300 -300
  71. package/{date_time-6kpv7eDF.mjs.map → date_time-BmYl2TFi.mjs.map} +1 -1
  72. package/{display-kAyhIPBH.mjs → display-B089h_sz.mjs} +30 -28
  73. package/display-B089h_sz.mjs.map +1 -0
  74. package/{display-CO0pTIEs.mjs → display-dv4cOwRN.mjs} +42 -42
  75. package/{display-CO0pTIEs.mjs.map → display-dv4cOwRN.mjs.map} +1 -1
  76. package/{display-DvzWa1QO.mjs → display-fXo4JeIS.mjs} +41 -41
  77. package/{display-DvzWa1QO.mjs.map → display-fXo4JeIS.mjs.map} +1 -1
  78. package/{elevation-CMzO50xm.mjs → elevation-YNOj0hSa.mjs} +82 -82
  79. package/{elevation-CMzO50xm.mjs.map → elevation-YNOj0hSa.mjs.map} +1 -1
  80. package/{enum-noYU2Cqh.mjs → enum-8itqseZa.mjs} +22 -22
  81. package/{enum-noYU2Cqh.mjs.map → enum-8itqseZa.mjs.map} +1 -1
  82. package/factories.mjs +1 -1
  83. package/{field_composer-DpJx0Oz1.mjs → field_composer-ugYyDQNY.mjs} +7 -7
  84. package/{field_composer-DpJx0Oz1.mjs.map → field_composer-ugYyDQNY.mjs.map} +1 -1
  85. package/{form-CDLcDPyU.mjs → form-BtDnRXYm.mjs} +45 -45
  86. package/{form-CDLcDPyU.mjs.map → form-BtDnRXYm.mjs.map} +1 -1
  87. package/{guards-B99p3BPj.mjs → guards-Cby4QwzY.mjs} +2 -2
  88. package/{guards-B99p3BPj.mjs.map → guards-Cby4QwzY.mjs.map} +1 -1
  89. package/guards.mjs +4 -4
  90. package/helpers.mjs +6 -6
  91. package/{index-C9UuBVyI.mjs → index-3XRUa28C.mjs} +12 -12
  92. package/{index-C9UuBVyI.mjs.map → index-3XRUa28C.mjs.map} +1 -1
  93. package/{index-CzI9mHIx.mjs → index-BCQmj6cf.mjs} +13 -13
  94. package/{index-CzI9mHIx.mjs.map → index-BCQmj6cf.mjs.map} +1 -1
  95. package/{index-bXmNb9jX.mjs → index-BgevbZTt.mjs} +10 -10
  96. package/{index-bXmNb9jX.mjs.map → index-BgevbZTt.mjs.map} +1 -1
  97. package/{index-BaWthszI.mjs → index-C-PCfO1S.mjs} +2 -2
  98. package/{index-BaWthszI.mjs.map → index-C-PCfO1S.mjs.map} +1 -1
  99. package/{index-Bi050X9r.mjs → index-CSyOYGEi.mjs} +8 -8
  100. package/{index-Bi050X9r.mjs.map → index-CSyOYGEi.mjs.map} +1 -1
  101. package/{index-CIvylvfa.mjs → index-D9i1PRci.mjs} +5701 -5698
  102. package/{index-CIvylvfa.mjs.map → index-D9i1PRci.mjs.map} +1 -1
  103. package/{index-B2rKM3mR.mjs → index-DWv9iKZs.mjs} +21 -21
  104. package/{index-B2rKM3mR.mjs.map → index-DWv9iKZs.mjs.map} +1 -1
  105. package/{index-slHxe6b-.mjs → index-VpcXNOpn.mjs} +2 -2
  106. package/{index-slHxe6b-.mjs.map → index-VpcXNOpn.mjs.map} +1 -1
  107. package/{index-BUpccfIz.mjs → index-fiZltUBs.mjs} +3 -3
  108. package/{index-BUpccfIz.mjs.map → index-fiZltUBs.mjs.map} +1 -1
  109. package/index.mjs +31 -31
  110. package/{integer-BIJ4_I8y.mjs → integer-W2_SlKV1.mjs} +5 -5
  111. package/{integer-BIJ4_I8y.mjs.map → integer-W2_SlKV1.mjs.map} +1 -1
  112. package/{mdi-CqMJqgQi.mjs → mdi-DC1jeTJJ.mjs} +55 -55
  113. package/{mdi-CqMJqgQi.mjs.map → mdi-DC1jeTJJ.mjs.map} +1 -1
  114. package/{number-z_LAINPM.mjs → number-DgwZBxOw.mjs} +101 -101
  115. package/{number-z_LAINPM.mjs.map → number-DgwZBxOw.mjs.map} +1 -1
  116. package/package.json +31 -31
  117. package/{position-Ai5XksAO.mjs → position-B9VPkbhU.mjs} +2 -2
  118. package/{position-Ai5XksAO.mjs.map → position-B9VPkbhU.mjs.map} +1 -1
  119. package/private/control-button-bar/props.d.ts +10 -10
  120. package/private/fields/bigint.d.ts +128 -128
  121. package/private/fields/boolean.d.ts +68 -68
  122. package/private/fields/common.d.ts +16 -16
  123. package/private/fields/custom.d.ts +2 -2
  124. package/private/fields/date.d.ts +24 -24
  125. package/private/fields/date_time.d.ts +24 -24
  126. package/private/fields/enum.d.ts +68 -68
  127. package/private/fields/integer.d.ts +107 -107
  128. package/private/fields/multiple.d.ts +17 -17
  129. package/private/fields/number.d.ts +46 -46
  130. package/private/fields/read_mode_renderer.d.ts +17 -17
  131. package/private/fields/string.d.ts +24 -24
  132. package/private/fields/unsigned_integer.d.ts +107 -107
  133. package/private/filtration/filter_group_condition_element.d.ts +36 -36
  134. package/private/resourceful-index/index.d.ts +17 -17
  135. package/private/resourceful-index/partials/_controls.d.ts +1 -1
  136. package/private/resourceful-index/partials/_per_page_selector.d.ts +1 -1
  137. package/private/resourceful-index/props.d.ts +34 -34
  138. package/private/resourceful-record/form.d.ts +12 -12
  139. package/private/resourceful-record/index.d.ts +13 -13
  140. package/private/resourceful-record/props.d.ts +20 -20
  141. package/private/sortable/index.d.ts +1 -1
  142. package/{props-p4f5Pa5h.mjs → props-COvhL78L.mjs} +4 -4
  143. package/{props-p4f5Pa5h.mjs.map → props-COvhL78L.mjs.map} +1 -1
  144. package/{props-BYX22zcE.mjs → props-GYFmAF5-.mjs} +6 -6
  145. package/{props-BYX22zcE.mjs.map → props-GYFmAF5-.mjs.map} +1 -1
  146. package/{renderers-BKUvrrVm.mjs → renderers-BP4li2WT.mjs} +13 -13
  147. package/{renderers-BKUvrrVm.mjs.map → renderers-BP4li2WT.mjs.map} +1 -1
  148. package/{string-Dmr8SRMf.mjs → string-RfpfCwEn.mjs} +137 -137
  149. package/{string-Dmr8SRMf.mjs.map → string-RfpfCwEn.mjs.map} +1 -1
  150. package/{unsigned_integer-BliPiCXO.mjs → unsigned_integer-Cg6tbRJj.mjs} +4 -4
  151. package/{unsigned_integer-BliPiCXO.mjs.map → unsigned_integer-Cg6tbRJj.mjs.map} +1 -1
  152. package/useRender-CfNJA_8a.mjs +9 -0
  153. package/{useRender-BD1xw5zG.mjs.map → useRender-CfNJA_8a.mjs.map} +1 -1
  154. package/{utils-DqXWb-4f.mjs → utils-D3ZGaTyv.mjs} +48 -48
  155. package/{utils-DqXWb-4f.mjs.map → utils-D3ZGaTyv.mjs.map} +1 -1
  156. package/{validation-DS3tTSk5.mjs → validation-BF_JkNWB.mjs} +4 -4
  157. package/{validation-DS3tTSk5.mjs.map → validation-BF_JkNWB.mjs.map} +1 -1
  158. package/VBtn.css +0 -1
  159. package/VDatePicker.css +0 -1
  160. package/VEmptyState.css +0 -1
  161. package/VListItem.css +0 -1
  162. package/VMenu.css +0 -1
  163. package/VPicker.css +0 -1
  164. package/VRadioGroup.css +0 -1
  165. package/VSheet.css +0 -1
  166. package/actions.css +0 -1
  167. package/alert-IW1AIWZw.mjs.map +0 -1
  168. package/boolean.css +0 -1
  169. package/clipboard.css +0 -1
  170. package/common-BeDAn4wu.mjs.map +0 -1
  171. package/common.css +0 -1
  172. package/date_time.css +0 -1
  173. package/display-kAyhIPBH.mjs.map +0 -1
  174. package/display.css +0 -1
  175. package/display2.css +0 -1
  176. package/elevation.css +0 -1
  177. package/index.css +0 -1
  178. package/mdi.css +0 -1
  179. package/number.css +0 -1
  180. package/string.css +0 -1
  181. package/useRender-BD1xw5zG.mjs +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"bigint-Jmfa2L4S.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-CCM0aPaS.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-BaWthszI.mjs";
3
- import { u as la } from "./field_composer-DpJx0Oz1.mjs";
4
- import { d as oa, y as ta, x as fe, s as G } from "./utils-DqXWb-4f.mjs";
5
- import { ref as N, useId as Ce, createVNode as c, mergeProps as j, 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-CMzO50xm.mjs";
7
- import { w as Fe, i as L, x as be, r as ge, y as ra, n as ye, o as ia, c as ua, m as da, g as ca, h as va, z as ma } from "./common-BeDAn4wu.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-CqMJqgQi.mjs";
9
- import { V as ka, a as Ca } from "./VRadioGroup-Dx_wEqzl.mjs";
10
- import { g as Ie, p as Se, u as X, k as Re, L as Pe, o as Fa, Y as ga, Z as xa, l as wa, _ as Ia, a as Sa, $ as Ra, d as Pa } from "./display-DvzWa1QO.mjs";
11
- import './boolean.css';const Ba = Se({
2
+ import { S as m } from "./index-C-PCfO1S.mjs";
3
+ import { u as la } from "./field_composer-ugYyDQNY.mjs";
4
+ import { d as oa, x as ta, w as fe, s as j } from "./utils-D3ZGaTyv.mjs";
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-YNOj0hSa.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-Bi5RUD-n.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-DC1jeTJJ.mjs";
9
+ import { V as ka, a as Ca } from "./VRadioGroup-BO7XdtLS.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-fXo4JeIS.mjs";
11
+ const Ba = Se({
12
12
  ...ge(),
13
13
  ...Fa(ra(), ["inline"])
14
14
  }, "VCheckbox"), Aa = Ie()({
@@ -28,10 +28,10 @@ import './boolean.css';const Ba = Se({
28
28
  isFocused: s,
29
29
  focus: w,
30
30
  blur: I
31
- } = Fe(e), b = N(), S = Ce();
31
+ } = Fe(e), b = G(), S = Ce();
32
32
  return Re(() => {
33
33
  const [h, y] = Pe(v), k = L.filterProps(e), C = be.filterProps(e);
34
- return c(L, j({
34
+ return c(L, N({
35
35
  ref: b,
36
36
  class: ["v-checkbox", e.class]
37
37
  }, h, k, {
@@ -50,7 +50,7 @@ import './boolean.css';const Ba = Se({
50
50
  isReadonly: u,
51
51
  isValid: F
52
52
  } = p;
53
- return c(be, j(C, {
53
+ return c(be, N(C, {
54
54
  id: R.value,
55
55
  "aria-describedby": P.value,
56
56
  disabled: r.value,
@@ -96,7 +96,7 @@ import './boolean.css';const Ba = Se({
96
96
  isFocused: I,
97
97
  focus: b,
98
98
  blur: S
99
- } = Fe(e), h = N(), y = N(), k = xa && window.matchMedia("(forced-colors: active)").matches, C = he(() => typeof e.loading == "string" && e.loading !== "" ? e.loading : e.color), p = Ce(), R = he(() => e.id || `switch-${p}`);
99
+ } = Fe(e), h = G(), y = G(), k = xa && window.matchMedia("(forced-colors: active)").matches, C = he(() => typeof e.loading == "string" && e.loading !== "" ? e.loading : e.color), p = Ce(), R = he(() => e.id || `switch-${p}`);
100
100
  function P() {
101
101
  t.value && (t.value = !1);
102
102
  }
@@ -105,7 +105,7 @@ import './boolean.css';const Ba = Se({
105
105
  }
106
106
  return Re(() => {
107
107
  const [u, F] = Pe(v), B = L.filterProps(e), Y = ye.filterProps(e);
108
- return c(L, j({
108
+ return c(L, N({
109
109
  ref: y,
110
110
  class: ["v-switch", {
111
111
  "v-switch--flat": e.flat
@@ -134,7 +134,7 @@ import './boolean.css';const Ba = Se({
134
134
  model: s,
135
135
  isValid: D
136
136
  };
137
- return c(ye, j({
137
+ return c(ye, N({
138
138
  ref: h
139
139
  }, Y, {
140
140
  modelValue: s.value,
@@ -170,14 +170,14 @@ import './boolean.css';const Ba = Se({
170
170
  let {
171
171
  inputNode: T,
172
172
  icon: i,
173
- backgroundColorClasses: O,
174
- backgroundColorStyles: E
173
+ backgroundColorClasses: E,
174
+ backgroundColorStyles: O
175
175
  } = V;
176
176
  return M(na, null, [T, M("div", {
177
177
  class: Ve(["v-switch__thumb", {
178
178
  "v-switch__thumb--filled": i || e.loading
179
- }, e.inset || k ? void 0 : O.value]),
180
- style: pe(e.inset ? void 0 : E.value)
179
+ }, e.inset || k ? void 0 : E.value]),
180
+ style: pe(e.inset ? void 0 : O.value)
181
181
  }, [l.thumb ? c(wa, {
182
182
  defaults: {
183
183
  VIcon: {
@@ -347,8 +347,8 @@ import './boolean.css';const Ba = Se({
347
347
  direction: V,
348
348
  modelValue: T,
349
349
  renderAs: i,
350
- textForTrue: O,
351
- textForFalse: E,
350
+ textForTrue: E,
351
+ textForFalse: O,
352
352
  textForUndetermined: g,
353
353
  iconForTrue: Be,
354
354
  iconForFalse: Ae,
@@ -366,21 +366,21 @@ import './boolean.css';const Ba = Se({
366
366
  suffix: te,
367
367
  role: ne,
368
368
  noValuesText: za,
369
- selectMenuIcon: Oe,
369
+ selectMenuIcon: Ee,
370
370
  ripple: Q,
371
- iconForSelectedRadio: Ee,
371
+ iconForSelectedRadio: Oe,
372
372
  iconForUnselectedRadio: We,
373
373
  dirty: He,
374
374
  onBlur: $e,
375
- onChange: Ge,
376
- onInput: Ne
375
+ onChange: je,
376
+ onInput: Ge
377
377
  } = d(e), H = n(() => {
378
378
  const a = [];
379
379
  return W.value ? (W.value.includes(!0) && a.push(!0), W.value.includes(!1) && a.push(!1), W.value.includes(null) && a.push(null)) : a.push(...z), a;
380
- }), je = n(
381
- () => typeof O.value == "string" ? O.value : l("boolean.true")
380
+ }), Ne = n(
381
+ () => typeof E.value == "string" ? E.value : l("boolean.true")
382
382
  ), Le = n(
383
- () => typeof E.value == "string" ? E.value : l("boolean.false")
383
+ () => typeof O.value == "string" ? O.value : l("boolean.false")
384
384
  ), Ye = n(
385
385
  () => typeof g.value == "string" ? g.value : l("boolean.undetermined")
386
386
  ), Ze = {
@@ -401,7 +401,7 @@ import './boolean.css';const Ba = Se({
401
401
  suffix: te,
402
402
  role: ne,
403
403
  focused: t,
404
- allowUnspecifiedChoices: N(!1),
404
+ allowUnspecifiedChoices: G(!1),
405
405
  choices: H,
406
406
  class: u,
407
407
  "onUpdate:focused": d(e)["onUpdate:focused"],
@@ -415,7 +415,7 @@ import './boolean.css';const Ba = Se({
415
415
  }, se = n(() => (a) => {
416
416
  switch (a) {
417
417
  case !0:
418
- return je.value;
418
+ return Ne.value;
419
419
  case !1:
420
420
  return Le.value;
421
421
  default:
@@ -455,10 +455,10 @@ import './boolean.css';const Ba = Se({
455
455
  direction: V.value,
456
456
  dirty: He.value,
457
457
  onBlur: $e.value,
458
- onChange: Ge.value,
459
- onInput: Ne.value
458
+ onChange: je.value,
459
+ onInput: Ge.value
460
460
  })), ie = n(
461
- () => G({
461
+ () => j({
462
462
  ..._.value,
463
463
  active: ee.value,
464
464
  disabled: _.value.disabled || void 0,
@@ -469,14 +469,14 @@ import './boolean.css';const Ba = Se({
469
469
  itemTitle: "label",
470
470
  itemValue: "value",
471
471
  variant: ae.value,
472
- menuIcon: Oe.value,
472
+ menuIcon: Ee.value,
473
473
  prefix: le.value,
474
474
  persistentPlaceholder: oe.value,
475
475
  suffix: te.value,
476
476
  role: ne.value
477
477
  })
478
478
  ), ue = n(
479
- () => G({
479
+ () => j({
480
480
  ..._.value,
481
481
  density: r.value,
482
482
  falseValue: !1,
@@ -484,7 +484,7 @@ import './boolean.css';const Ba = Se({
484
484
  trueValue: !0
485
485
  })
486
486
  ), de = n(
487
- () => G({
487
+ () => j({
488
488
  ..._.value,
489
489
  density: r.value,
490
490
  falseIcon: Ae.value,
@@ -495,11 +495,11 @@ import './boolean.css';const Ba = Se({
495
495
  trueValue: !0
496
496
  })
497
497
  ), ce = n(
498
- () => G({
498
+ () => j({
499
499
  ..._.value,
500
500
  density: r.value,
501
501
  falseIcon: We.value,
502
- trueIcon: Ee.value,
502
+ trueIcon: Oe.value,
503
503
  ripple: Q.value
504
504
  })
505
505
  ), qe = ({ props: a, isMultiAdd: $ }) => {
@@ -574,4 +574,4 @@ export {
574
574
  z as a,
575
575
  Ya as b
576
576
  };
577
- //# sourceMappingURL=boolean-BEY7eBxf.mjs.map
577
+ //# sourceMappingURL=boolean-1-MOJPSu.mjs.map