@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":"string-Dmr8SRMf.mjs","sources":["../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VBadge/VBadge.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPickerCanvas.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/util/index.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPickerEdit.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSlider/slider.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSlider/VSliderThumb.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSlider/VSliderTrack.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSlider/VSlider.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPickerPreview.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/colors.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPickerSwatches.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPicker.js","../src/private/fields/string.ts"],"sourcesContent":["import { createVNode as _createVNode, vShow as _vShow, mergeProps as _mergeProps, createElementVNode as _createElementVNode, withDirectives as _withDirectives } from \"vue\";\n// Styles\nimport \"./VBadge.css\";\n\n// Components\nimport { VIcon } from \"../VIcon/index.js\"; // Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useLocale } from \"../../composables/locale.js\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, useTheme } from \"../../composables/theme.js\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.js\"; // Utilities\nimport { genericComponent, pickWithRest, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVBadgeProps = propsFactory({\n bordered: Boolean,\n color: String,\n content: [Number, String],\n dot: Boolean,\n floating: Boolean,\n icon: IconValue,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge'\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n ...makeComponentProps(),\n ...makeLocationProps({\n location: 'top end'\n }),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeTransitionProps({\n transition: 'scale-rotate-transition'\n }),\n ...makeDimensionProps()\n}, 'VBadge');\nexport const VBadge = genericComponent()({\n name: 'VBadge',\n inheritAttrs: false,\n props: makeVBadgeProps(),\n setup(props, ctx) {\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.color);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n t\n } = useLocale();\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.textColor);\n const {\n themeClasses\n } = useTheme();\n const {\n locationStyles\n } = useLocation(props, true, side => {\n const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;\n return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);\n });\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => {\n const value = Number(props.content);\n const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;\n const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);\n return _createVNode(props.tag, _mergeProps({\n \"class\": ['v-badge', {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline\n }, props.class]\n }, attrs, {\n \"style\": props.style\n }), {\n default: () => [_createElementVNode(\"div\", {\n \"class\": \"v-badge__wrapper\"\n }, [ctx.slots.default?.(), _createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [_withDirectives(_createElementVNode(\"span\", _mergeProps({\n \"class\": ['v-badge__badge', themeClasses.value, backgroundColorClasses.value, roundedClasses.value, textColorClasses.value],\n \"style\": [backgroundColorStyles.value, textColorStyles.value, dimensionStyles.value, props.inline ? {} : locationStyles.value],\n \"aria-atomic\": \"true\",\n \"aria-label\": t(props.label, value),\n \"aria-live\": \"polite\",\n \"role\": \"status\"\n }, badgeAttrs), [props.dot ? undefined : ctx.slots.badge ? ctx.slots.badge?.() : props.icon ? _createVNode(VIcon, {\n \"icon\": props.icon\n }, null) : content]), [[_vShow, props.modelValue]])]\n })])]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VBadge.js.map","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VColorPickerCanvas.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.js\"; // Utilities\nimport { computed, onMounted, ref, shallowRef, watch } from 'vue';\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVColorPickerCanvasProps = propsFactory({\n color: {\n type: Object\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10\n },\n height: {\n type: [Number, String],\n default: 150\n },\n width: {\n type: [Number, String],\n default: 300\n },\n ...makeComponentProps()\n}, 'VColorPickerCanvas');\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n props: makeVColorPickerCanvasProps(),\n emits: {\n 'update:color': color => true,\n 'update:position': hue => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const isInteracting = shallowRef(false);\n const canvasRef = ref();\n const canvasWidth = shallowRef(parseFloat(props.width));\n const canvasHeight = shallowRef(parseFloat(props.height));\n const _dotPosition = ref({\n x: 0,\n y: 0\n });\n const dotPosition = computed({\n get: () => _dotPosition.value,\n set(val) {\n if (!canvasRef.value) return;\n const {\n x,\n y\n } = val;\n _dotPosition.value = val;\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, canvasWidth.value) / canvasWidth.value,\n v: 1 - clamp(y, 0, canvasHeight.value) / canvasHeight.value,\n a: props.color?.a ?? 1\n });\n }\n });\n const dotStyles = computed(() => {\n const {\n x,\n y\n } = dotPosition.value;\n const radius = parseInt(props.dotSize, 10) / 2;\n return {\n width: convertToUnit(props.dotSize),\n height: convertToUnit(props.dotSize),\n transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})`\n };\n });\n const {\n resizeRef\n } = useResizeObserver(entries => {\n if (!resizeRef.el?.offsetParent) return;\n const {\n width,\n height\n } = entries[0].contentRect;\n canvasWidth.value = width;\n canvasHeight.value = height;\n });\n function updateDotPosition(x, y, rect) {\n const {\n left,\n top,\n width,\n height\n } = rect;\n dotPosition.value = {\n x: clamp(x - left, 0, width),\n y: clamp(y - top, 0, height)\n };\n }\n function handleMouseDown(e) {\n if (e.type === 'mousedown') {\n // Prevent text selection while dragging\n e.preventDefault();\n }\n if (props.disabled) return;\n handleMouseMove(e);\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n window.addEventListener('touchmove', handleMouseMove);\n window.addEventListener('touchend', handleMouseUp);\n }\n function handleMouseMove(e) {\n if (props.disabled || !canvasRef.value) return;\n isInteracting.value = true;\n const coords = getEventCoordinates(e);\n updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect());\n }\n function handleMouseUp() {\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n window.removeEventListener('touchmove', handleMouseMove);\n window.removeEventListener('touchend', handleMouseUp);\n }\n function updateCanvas() {\n if (!canvasRef.value) return;\n const canvas = canvasRef.value;\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0);\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)'); // white\n saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`);\n ctx.fillStyle = saturationGradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height);\n valueGradient.addColorStop(0, 'hsla(0, 0%, 0%, 0)'); // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)'); // black\n ctx.fillStyle = valueGradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n watch(() => props.color?.h, updateCanvas, {\n immediate: true\n });\n watch(() => [canvasWidth.value, canvasHeight.value], (newVal, oldVal) => {\n updateCanvas();\n _dotPosition.value = {\n x: dotPosition.value.x * newVal[0] / oldVal[0],\n y: dotPosition.value.y * newVal[1] / oldVal[1]\n };\n }, {\n flush: 'post'\n });\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false;\n return;\n }\n _dotPosition.value = props.color ? {\n x: props.color.s * canvasWidth.value,\n y: (1 - props.color.v) * canvasHeight.value\n } : {\n x: 0,\n y: 0\n };\n }, {\n deep: true,\n immediate: true\n });\n onMounted(() => updateCanvas());\n useRender(() => _createElementVNode(\"div\", {\n \"ref\": resizeRef,\n \"class\": _normalizeClass(['v-color-picker-canvas', props.class]),\n \"style\": _normalizeStyle(props.style),\n \"onMousedown\": handleMouseDown,\n \"onTouchstartPassive\": handleMouseDown\n }, [_createElementVNode(\"canvas\", {\n \"ref\": canvasRef,\n \"width\": canvasWidth.value,\n \"height\": canvasHeight.value\n }, null), props.color && _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-color-picker-canvas__dot', {\n 'v-color-picker-canvas__dot--disabled': props.disabled\n }]),\n \"style\": _normalizeStyle(dotStyles.value)\n }, null)]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerCanvas.js.map","// Utilities\nimport { HexToHSV, HSLtoHSV, HSVtoHex, HSVtoHSL, HSVtoRGB, RGBtoHSV } from \"../../../util/colorUtils.js\";\nimport { has } from \"../../../util/helpers.js\"; // Types\nfunction stripAlpha(color, stripAlpha) {\n if (stripAlpha) {\n const {\n a,\n ...rest\n } = color;\n return rest;\n }\n return color;\n}\nexport function extractColor(color, input) {\n if (input == null || typeof input === 'string') {\n const hasA = color.a !== 1;\n if (input?.startsWith('rgb(')) {\n const {\n r,\n g,\n b,\n a\n } = HSVtoRGB(color);\n return `rgb(${r} ${g} ${b}` + (hasA ? ` / ${a})` : ')');\n } else if (input?.startsWith('hsl(')) {\n const {\n h,\n s,\n l,\n a\n } = HSVtoHSL(color);\n return `hsl(${h} ${Math.round(s * 100)} ${Math.round(l * 100)}` + (hasA ? ` / ${a})` : ')');\n }\n const hex = HSVtoHex(color);\n if (color.a === 1) return hex.slice(0, 7);else return hex;\n }\n if (typeof input === 'object') {\n let converted;\n if (has(input, ['r', 'g', 'b'])) converted = HSVtoRGB(color);else if (has(input, ['h', 's', 'l'])) converted = HSVtoHSL(color);else if (has(input, ['h', 's', 'v'])) converted = color;\n return stripAlpha(converted, !has(input, ['a']) && color.a === 1);\n }\n return color;\n}\nexport function hasAlpha(color) {\n if (!color) return false;\n if (typeof color === 'string') {\n return color.length > 7;\n }\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha']);\n }\n return false;\n}\nexport const nullColor = {\n h: 0,\n s: 0,\n v: 0,\n a: 1\n};\nconst rgba = {\n inputProps: {\n type: 'number',\n min: 0\n },\n inputs: [{\n label: 'R',\n max: 255,\n step: 1,\n getValue: c => Math.round(c.r),\n getColor: (c, v) => ({\n ...c,\n r: Number(v)\n }),\n localeKey: 'redInput'\n }, {\n label: 'G',\n max: 255,\n step: 1,\n getValue: c => Math.round(c.g),\n getColor: (c, v) => ({\n ...c,\n g: Number(v)\n }),\n localeKey: 'greenInput'\n }, {\n label: 'B',\n max: 255,\n step: 1,\n getValue: c => Math.round(c.b),\n getColor: (c, v) => ({\n ...c,\n b: Number(v)\n }),\n localeKey: 'blueInput'\n }, {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: _ref => {\n let {\n a\n } = _ref;\n return a != null ? Math.round(a * 100) / 100 : 1;\n },\n getColor: (c, v) => ({\n ...c,\n a: Number(v)\n }),\n localeKey: 'alphaInput'\n }],\n to: HSVtoRGB,\n from: RGBtoHSV\n};\nconst rgb = {\n ...rgba,\n inputs: rgba.inputs?.slice(0, 3)\n};\nconst hsla = {\n inputProps: {\n type: 'number',\n min: 0\n },\n inputs: [{\n label: 'H',\n max: 360,\n step: 1,\n getValue: c => Math.round(c.h),\n getColor: (c, v) => ({\n ...c,\n h: Number(v)\n }),\n localeKey: 'hueInput'\n }, {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: c => Math.round(c.s * 100) / 100,\n getColor: (c, v) => ({\n ...c,\n s: Number(v)\n }),\n localeKey: 'saturationInput'\n }, {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: c => Math.round(c.l * 100) / 100,\n getColor: (c, v) => ({\n ...c,\n l: Number(v)\n }),\n localeKey: 'lightnessInput'\n }, {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: _ref2 => {\n let {\n a\n } = _ref2;\n return a != null ? Math.round(a * 100) / 100 : 1;\n },\n getColor: (c, v) => ({\n ...c,\n a: Number(v)\n }),\n localeKey: 'alphaInput'\n }],\n to: HSVtoHSL,\n from: HSLtoHSV\n};\nconst hsl = {\n ...hsla,\n inputs: hsla.inputs.slice(0, 3)\n};\nconst hexa = {\n inputProps: {\n type: 'text'\n },\n inputs: [{\n label: 'HEXA',\n getValue: c => c,\n getColor: (c, v) => v,\n localeKey: 'hexaInput'\n }],\n to: HSVtoHex,\n from: HexToHSV\n};\nconst hex = {\n ...hexa,\n inputs: [{\n label: 'HEX',\n getValue: c => c.slice(0, 7),\n getColor: (c, v) => v,\n localeKey: 'hexInput'\n }]\n};\nexport const modes = {\n rgb,\n rgba,\n hsl,\n hsla,\n hex,\n hexa\n};\n//# sourceMappingURL=index.js.map","import { normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, createElementVNode as _createElementVNode, createVNode as _createVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VColorPickerEdit.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useLocale } from \"../../composables/locale.js\"; // Utilities\nimport { computed } from 'vue';\nimport { modes, nullColor } from \"./util/index.js\";\nimport { defineComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nconst VColorPickerInput = _ref => {\n let {\n label,\n ...rest\n } = _ref;\n return _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-edit__input\"\n }, [_createElementVNode(\"input\", _normalizeProps(_guardReactiveProps(rest)), null), _createElementVNode(\"span\", null, [label])]);\n};\nexport const makeVColorPickerEditProps = propsFactory({\n color: Object,\n disabled: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: v => Object.keys(modes).includes(v)\n },\n modes: {\n type: Array,\n default: () => Object.keys(modes),\n validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))\n },\n ...makeComponentProps()\n}, 'VColorPickerEdit');\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n props: makeVColorPickerEditProps(),\n emits: {\n 'update:color': color => true,\n 'update:mode': mode => true\n },\n setup(props, _ref2) {\n let {\n emit\n } = _ref2;\n const {\n t\n } = useLocale();\n const enabledModes = computed(() => {\n return props.modes.map(key => ({\n ...modes[key],\n name: key\n }));\n });\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode);\n if (!mode) return [];\n const color = props.color ? mode.to(props.color) : null;\n return mode.inputs?.map(_ref3 => {\n let {\n getValue,\n getColor,\n localeKey,\n ...inputProps\n } = _ref3;\n return {\n ...mode.inputProps,\n ...inputProps,\n ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: e => {\n const target = e.target;\n if (!target) return;\n emit('update:color', mode.from(getColor(color ?? mode.to(nullColor), target.value)));\n }\n };\n });\n });\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-color-picker-edit', props.class]),\n \"style\": _normalizeStyle(props.style)\n }, [inputs.value?.map(props => _createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && _createVNode(VBtn, {\n \"icon\": \"$unfold\",\n \"size\": \"x-small\",\n \"variant\": \"plain\",\n \"aria-label\": t('$vuetify.colorPicker.ariaLabel.changeFormat'),\n \"onClick\": () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode);\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);\n }\n }, null)]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerEdit.js.map","/* eslint-disable max-statements */\n// Composables\nimport { makeElevationProps } from \"../../composables/elevation.js\";\nimport { useForm } from \"../../composables/form.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { makeRoundedProps } from \"../../composables/rounded.js\"; // Utilities\nimport { computed, nextTick, provide, ref, shallowRef, toRef } from 'vue';\nimport { clamp, createRange, getDecimals, propsFactory } from \"../../util/index.js\"; // Types\nexport const VSliderSymbol = Symbol.for('vuetify:v-slider');\nexport function getOffset(e, el, direction) {\n const vertical = direction === 'vertical';\n const rect = el.getBoundingClientRect();\n const touch = 'touches' in e ? e.touches[0] : e;\n return vertical ? touch.clientY - (rect.top + rect.height / 2) : touch.clientX - (rect.left + rect.width / 2);\n}\nfunction getPosition(e, position) {\n if ('touches' in e && e.touches.length) return e.touches[0][position];else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position];else return e[position];\n}\nexport const makeSliderProps = propsFactory({\n disabled: {\n type: Boolean,\n default: null\n },\n error: Boolean,\n readonly: {\n type: Boolean,\n default: null\n },\n max: {\n type: [Number, String],\n default: 100\n },\n min: {\n type: [Number, String],\n default: 0\n },\n step: {\n type: [Number, String],\n default: 0\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String],\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n thumbSize: {\n type: [Number, String],\n default: 20\n },\n showTicks: {\n type: [Boolean, String],\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n ticks: {\n type: [Array, Object]\n },\n tickSize: {\n type: [Number, String],\n default: 2\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator: v => ['vertical', 'horizontal'].includes(v)\n },\n reverse: Boolean,\n noKeyboard: Boolean,\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2\n }),\n ripple: {\n type: Boolean,\n default: true\n }\n}, 'Slider');\nexport const useSteps = props => {\n const min = computed(() => parseFloat(props.min));\n const max = computed(() => parseFloat(props.max));\n const step = computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0);\n const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));\n function roundValue(value) {\n value = parseFloat(value);\n if (step.value <= 0) return value;\n const clamped = clamp(value, min.value, max.value);\n const offset = min.value % step.value;\n let newValue = Math.round((clamped - offset) / step.value) * step.value + offset;\n if (clamped > newValue && newValue + step.value > max.value) {\n newValue = max.value;\n }\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value));\n }\n return {\n min,\n max,\n step,\n decimals,\n roundValue\n };\n};\nexport const useSlider = _ref => {\n let {\n props,\n steps,\n onSliderStart,\n onSliderMove,\n onSliderEnd,\n getActiveThumb\n } = _ref;\n const form = useForm(props);\n const {\n isRtl\n } = useRtl();\n const isReversed = toRef(() => props.reverse);\n const vertical = computed(() => props.direction === 'vertical');\n const indexFromEnd = computed(() => vertical.value !== isReversed.value);\n const {\n min,\n max,\n step,\n decimals,\n roundValue\n } = steps;\n const thumbSize = computed(() => parseInt(props.thumbSize, 10));\n const tickSize = computed(() => parseInt(props.tickSize, 10));\n const trackSize = computed(() => parseInt(props.trackSize, 10));\n const numTicks = computed(() => (max.value - min.value) / step.value);\n const thumbColor = computed(() => props.error || form.isDisabled.value ? undefined : props.thumbColor ?? props.color);\n const thumbLabelColor = computed(() => props.error || form.isDisabled.value ? undefined : props.thumbColor);\n const trackColor = computed(() => props.error || form.isDisabled.value ? undefined : props.trackColor ?? props.color);\n const trackFillColor = computed(() => props.error || form.isDisabled.value ? undefined : props.trackFillColor ?? props.color);\n const mousePressed = shallowRef(false);\n const startOffset = shallowRef(0);\n const trackContainerRef = ref();\n const activeThumbRef = ref();\n function parseMouseMove(e) {\n const el = trackContainerRef.value?.$el;\n if (!el) return;\n const vertical = props.direction === 'vertical';\n const start = vertical ? 'top' : 'left';\n const length = vertical ? 'height' : 'width';\n const position = vertical ? 'clientY' : 'clientX';\n const {\n [start]: trackStart,\n [length]: trackLength\n } = el.getBoundingClientRect();\n const clickOffset = getPosition(e, position);\n\n // It is possible for left to be NaN, force to number\n let clickPos = clamp((clickOffset - trackStart - startOffset.value) / trackLength) || 0;\n if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos;\n return roundValue(min.value + clickPos * (max.value - min.value));\n }\n const handleStop = e => {\n const value = parseMouseMove(e);\n if (value != null) {\n onSliderEnd({\n value\n });\n }\n mousePressed.value = false;\n startOffset.value = 0;\n };\n const handleStart = e => {\n const value = parseMouseMove(e);\n activeThumbRef.value = getActiveThumb(e);\n if (!activeThumbRef.value) return;\n mousePressed.value = true;\n if (activeThumbRef.value.contains(e.target)) {\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction);\n } else {\n startOffset.value = 0;\n if (value != null) {\n onSliderMove({\n value\n });\n }\n }\n if (value != null) {\n onSliderStart({\n value\n });\n }\n nextTick(() => activeThumbRef.value?.focus());\n };\n const moveListenerOptions = {\n passive: true,\n capture: true\n };\n function onMouseMove(e) {\n const value = parseMouseMove(e);\n if (value != null) {\n onSliderMove({\n value\n });\n }\n }\n function onSliderMouseUp(e) {\n e.stopPropagation();\n e.preventDefault();\n handleStop(e);\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions);\n window.removeEventListener('mouseup', onSliderMouseUp);\n }\n function onSliderTouchend(e) {\n handleStop(e);\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions);\n e.target?.removeEventListener('touchend', onSliderTouchend);\n }\n function onSliderTouchstart(e) {\n handleStart(e);\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions);\n e.target?.addEventListener('touchend', onSliderTouchend, {\n passive: false\n });\n }\n function onSliderMousedown(e) {\n if (e.button !== 0) return;\n e.preventDefault();\n handleStart(e);\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions);\n window.addEventListener('mouseup', onSliderMouseUp, {\n passive: false\n });\n }\n const position = val => {\n const percentage = (val - min.value) / (max.value - min.value) * 100;\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100);\n };\n const showTicks = toRef(() => props.showTicks);\n const parsedTicks = computed(() => {\n if (!showTicks.value) return [];\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + t * step.value;\n return {\n value,\n position: position(value)\n };\n }) : [];\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({\n value: t,\n position: position(t),\n label: t.toString()\n }));\n return Object.keys(props.ticks).map(key => ({\n value: parseFloat(key),\n position: position(parseFloat(key)),\n label: props.ticks[key]\n }));\n });\n const hasLabels = computed(() => parsedTicks.value.some(_ref2 => {\n let {\n label\n } = _ref2;\n return !!label;\n }));\n const data = {\n activeThumbRef,\n color: toRef(() => props.color),\n decimals,\n disabled: form.isDisabled,\n direction: toRef(() => props.direction),\n elevation: toRef(() => props.elevation),\n hasLabels,\n isReversed,\n indexFromEnd,\n min,\n max,\n mousePressed,\n noKeyboard: toRef(() => props.noKeyboard),\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: form.isReadonly,\n rounded: toRef(() => props.rounded),\n roundValue,\n showTicks,\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabelColor,\n thumbLabel: toRef(() => props.thumbLabel),\n ticks: toRef(() => props.ticks),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical\n };\n provide(VSliderSymbol, data);\n return data;\n};\n//# sourceMappingURL=slider.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSliderThumb.css\";\n\n// Components\nimport { VSliderSymbol } from \"./slider.js\";\nimport { VScaleTransition } from \"../transitions/index.js\"; // Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useElevation } from \"../../composables/elevation.js\";\nimport { useRtl } from \"../../composables/locale.js\"; // Directives\nimport vRipple from \"../../directives/ripple/index.js\"; // Utilities\nimport { computed, inject } from 'vue';\nimport { convertToUnit, genericComponent, keyValues, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVSliderThumbProps = propsFactory({\n focused: Boolean,\n max: {\n type: Number,\n required: true\n },\n min: {\n type: Number,\n required: true\n },\n modelValue: {\n type: Number,\n required: true\n },\n position: {\n type: Number,\n required: true\n },\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n name: String,\n noKeyboard: Boolean,\n ...makeComponentProps()\n}, 'VSliderThumb');\nexport const VSliderThumb = genericComponent()({\n name: 'VSliderThumb',\n directives: {\n vRipple\n },\n props: makeVSliderThumbProps(),\n emits: {\n 'update:modelValue': v => true\n },\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const slider = inject(VSliderSymbol);\n const {\n isRtl,\n rtlClasses\n } = useRtl();\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider');\n const {\n min,\n max,\n thumbColor,\n thumbLabelColor,\n step,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n isReversed,\n vertical,\n readonly,\n elevation,\n mousePressed,\n decimals,\n indexFromEnd\n } = slider;\n const elevationProps = computed(() => !disabled.value ? elevation.value : undefined);\n const {\n elevationClasses\n } = useElevation(elevationProps);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(thumbColor);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(thumbLabelColor);\n const {\n pageup,\n pagedown,\n end,\n home,\n left,\n right,\n down,\n up\n } = keyValues;\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up];\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3];else return [1, 5, 10];\n });\n function parseKeydown(e, value) {\n if (props.noKeyboard || disabled.value) return;\n if (!relevantKeys.includes(e.key)) return;\n e.preventDefault();\n const _step = step.value || 0.1;\n const steps = (max.value - min.value) / _step;\n if ([left, right, down, up].includes(e.key)) {\n const increase = vertical.value ? [isRtl.value ? left : right, isReversed.value ? down : up] : indexFromEnd.value !== isRtl.value ? [left, up] : [right, up];\n const direction = increase.includes(e.key) ? 1 : -1;\n const multiplier = e.shiftKey ? 2 : e.ctrlKey ? 1 : 0;\n if (direction === -1 && value === max.value && !multiplier && !Number.isInteger(steps)) {\n value = value - steps % 1 * _step;\n } else {\n value = value + direction * _step * multipliers.value[multiplier];\n }\n } else if (e.key === home) {\n value = min.value;\n } else if (e.key === end) {\n value = max.value;\n } else {\n const direction = e.key === pagedown ? 1 : -1;\n value = value - direction * _step * (steps > 100 ? steps / 10 : 10);\n }\n return Math.max(props.min, Math.min(props.max, value));\n }\n function onKeydown(e) {\n const newValue = parseKeydown(e, props.modelValue);\n newValue != null && emit('update:modelValue', newValue);\n }\n useRender(() => {\n const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-thumb', {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value\n }, props.class, rtlClasses.value]),\n \"style\": _normalizeStyle([{\n '--v-slider-thumb-position': positionPercentage,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value)\n }, props.style]),\n \"role\": \"slider\",\n \"tabindex\": disabled.value ? -1 : 0,\n \"aria-label\": props.name,\n \"aria-valuemin\": min.value,\n \"aria-valuemax\": max.value,\n \"aria-valuenow\": props.modelValue,\n \"aria-readonly\": !!readonly.value,\n \"aria-orientation\": direction.value,\n \"onKeydown\": !readonly.value ? onKeydown : undefined\n }, [_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value]),\n \"style\": _normalizeStyle(textColorStyles.value)\n }, null), _withDirectives(_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-thumb__ripple', textColorClasses.value]),\n \"style\": _normalizeStyle(textColorStyles.value)\n }, null), [[vRipple, props.ripple, null, {\n circle: true,\n center: true\n }]]), _createVNode(VScaleTransition, {\n \"origin\": \"bottom center\"\n }, {\n default: () => [_withDirectives(_createElementVNode(\"div\", {\n \"class\": \"v-slider-thumb__label-container\"\n }, [_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-thumb__label', backgroundColorClasses.value]),\n \"style\": _normalizeStyle(backgroundColorStyles.value)\n }, [_createElementVNode(\"div\", null, [slots['thumb-label']?.({\n modelValue: props.modelValue\n }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)]), _createElementVNode(\"div\", {\n \"class\": \"v-slider-thumb__label-wedge\"\n }, null)])]), [[_vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]\n })]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VSliderThumb.js.map","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VSliderTrack.css\";\n\n// Components\nimport { VSliderSymbol } from \"./slider.js\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useRounded } from \"../../composables/rounded.js\"; // Utilities\nimport { computed, inject } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVSliderTrackProps = propsFactory({\n start: {\n type: Number,\n required: true\n },\n stop: {\n type: Number,\n required: true\n },\n ...makeComponentProps()\n}, 'VSliderTrack');\nexport const VSliderTrack = genericComponent()({\n name: 'VSliderTrack',\n props: makeVSliderTrackProps(),\n emits: {},\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const slider = inject(VSliderSymbol);\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider');\n const {\n color,\n parsedTicks,\n rounded,\n showTicks,\n tickSize,\n trackColor,\n trackFillColor,\n trackSize,\n vertical,\n min,\n max,\n indexFromEnd\n } = slider;\n const {\n roundedClasses\n } = useRounded(rounded);\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles\n } = useBackgroundColor(trackFillColor);\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles\n } = useBackgroundColor(trackColor);\n const startDir = computed(() => `inset-${vertical.value ? 'block' : 'inline'}-${indexFromEnd.value ? 'end' : 'start'}`);\n const endDir = computed(() => vertical.value ? 'height' : 'width');\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%'\n };\n });\n const trackFillWidth = computed(() => props.stop - props.start);\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%')\n };\n });\n const computedTicks = computed(() => {\n if (!showTicks.value) return [];\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;\n return ticks.map((tick, index) => {\n const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined;\n return _createElementVNode(\"div\", {\n \"key\": tick.value,\n \"class\": _normalizeClass(['v-slider-track__tick', {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n 'v-slider-track__tick--first': tick.value === min.value,\n 'v-slider-track__tick--last': tick.value === max.value\n }]),\n \"style\": {\n [startDir.value]: directionValue\n }\n }, [(tick.label || slots['tick-label']) && _createElementVNode(\"div\", {\n \"class\": \"v-slider-track__tick-label\"\n }, [slots['tick-label']?.({\n tick,\n index\n }) ?? tick.label])]);\n });\n });\n useRender(() => {\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-track', roundedClasses.value, props.class]),\n \"style\": _normalizeStyle([{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value)\n }, props.style])\n }, [_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-track__background', trackColorClasses.value, {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value\n }]),\n \"style\": {\n ...backgroundStyles.value,\n ...trackColorStyles.value\n }\n }, null), _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-track__fill', trackFillColorClasses.value]),\n \"style\": {\n ...trackFillStyles.value,\n ...trackFillColorStyles.value\n }\n }, null), showTicks.value && _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-track__ticks', {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always'\n }])\n }, [computedTicks.value])]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VSliderTrack.js.map","import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VSlider.css\";\n\n// Components\nimport { VSliderThumb } from \"./VSliderThumb.js\";\nimport { VSliderTrack } from \"./VSliderTrack.js\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.js\";\nimport { VLabel } from \"../VLabel/index.js\"; // Composables\nimport { makeSliderProps, useSlider, useSteps } from \"./slider.js\";\nimport { makeFocusProps, useFocus } from \"../../composables/focus.js\";\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { computed, ref } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n modelValue: {\n type: [Number, String],\n default: 0\n }\n}, 'VSlider');\nexport const VSlider = genericComponent()({\n name: 'VSlider',\n props: makeVSliderProps(),\n emits: {\n 'update:focused': value => true,\n 'update:modelValue': v => true,\n start: value => true,\n end: value => true\n },\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const thumbContainerRef = ref();\n const inputRef = ref();\n const {\n rtlClasses\n } = useRtl();\n const steps = useSteps(props);\n const model = useProxiedModel(props, 'modelValue', undefined, value => {\n return steps.roundValue(value == null ? steps.min.value : value);\n });\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n disabled,\n readonly,\n noKeyboard\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n if (!disabled.value && !readonly.value) {\n emit('start', model.value);\n }\n },\n onSliderEnd: _ref2 => {\n let {\n value\n } = _ref2;\n const roundedValue = roundValue(value);\n if (!disabled.value && !readonly.value) {\n model.value = roundedValue;\n }\n emit('end', roundedValue);\n },\n onSliderMove: _ref3 => {\n let {\n value\n } = _ref3;\n if (!disabled.value && !readonly.value) {\n model.value = roundValue(value);\n }\n },\n getActiveThumb: () => thumbContainerRef.value?.$el\n });\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const trackStop = computed(() => position(model.value));\n useRender(() => {\n const inputProps = VInput.filterProps(props);\n const hasPrepend = !!(props.label || slots.label || slots.prepend);\n return _createVNode(VInput, _mergeProps({\n \"ref\": inputRef,\n \"class\": ['v-slider', {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': disabled.value\n }, rtlClasses.value, props.class],\n \"style\": props.style\n }, inputProps, {\n \"focused\": isFocused.value\n }), {\n ...slots,\n prepend: hasPrepend ? slotProps => _createElementVNode(_Fragment, null, [slots.label?.(slotProps) ?? (props.label ? _createVNode(VLabel, {\n \"id\": slotProps.id.value,\n \"class\": \"v-slider__label\",\n \"text\": props.label\n }, null) : undefined), slots.prepend?.(slotProps)]) : undefined,\n default: _ref4 => {\n let {\n id,\n messagesId\n } = _ref4;\n return _createElementVNode(\"div\", {\n \"class\": \"v-slider__container\",\n \"onMousedown\": !readonly.value ? onSliderMousedown : undefined,\n \"onTouchstartPassive\": !readonly.value ? onSliderTouchstart : undefined\n }, [_createElementVNode(\"input\", {\n \"id\": id.value,\n \"name\": props.name || id.value,\n \"disabled\": disabled.value,\n \"readonly\": readonly.value,\n \"tabindex\": \"-1\",\n \"value\": model.value\n }, null), _createVNode(VSliderTrack, {\n \"ref\": trackContainerRef,\n \"start\": 0,\n \"stop\": trackStop.value\n }, {\n 'tick-label': slots['tick-label']\n }), _createVNode(VSliderThumb, {\n \"ref\": thumbContainerRef,\n \"aria-describedby\": messagesId.value,\n \"focused\": isFocused.value,\n \"noKeyboard\": noKeyboard.value,\n \"min\": min.value,\n \"max\": max.value,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": v => model.value = v,\n \"position\": trackStop.value,\n \"elevation\": props.elevation,\n \"onFocus\": focus,\n \"onBlur\": blur,\n \"ripple\": props.ripple,\n \"name\": props.name\n }, {\n 'thumb-label': slots['thumb-label']\n })]);\n }\n });\n });\n return forwardRefs({\n focus: () => thumbContainerRef.value?.$el.focus()\n }, inputRef);\n }\n});\n//# sourceMappingURL=VSlider.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VColorPickerPreview.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.js\";\nimport { VSlider } from \"../VSlider/index.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useLocale } from \"../../composables/locale.js\"; // Utilities\nimport { onUnmounted } from 'vue';\nimport { nullColor } from \"./util/index.js\";\nimport { defineComponent, HSVtoCSS, parseColor, propsFactory, RGBtoHSV, SUPPORTS_EYE_DROPPER, useRender } from \"../../util/index.js\"; // Types\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n hideEyeDropper: Boolean,\n eyeDropperIcon: {\n type: IconValue,\n default: '$eyeDropper'\n },\n ...makeComponentProps()\n}, 'VColorPickerPreview');\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n props: makeVColorPickerPreviewProps(),\n emits: {\n 'update:color': color => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const {\n t\n } = useLocale();\n const abortController = new AbortController();\n onUnmounted(() => abortController.abort());\n async function openEyeDropper() {\n if (!SUPPORTS_EYE_DROPPER || props.disabled) return;\n const eyeDropper = new window.EyeDropper();\n try {\n const result = await eyeDropper.open({\n signal: abortController.signal\n });\n const colorHexValue = RGBtoHSV(parseColor(result.sRGBHex));\n emit('update:color', {\n ...(props.color ?? nullColor),\n ...colorHexValue\n });\n } catch (e) {}\n }\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-color-picker-preview', {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha\n }, props.class]),\n \"style\": _normalizeStyle(props.style)\n }, [SUPPORTS_EYE_DROPPER && !props.hideEyeDropper && _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-preview__eye-dropper\",\n \"key\": \"eyeDropper\"\n }, [_createVNode(VBtn, {\n \"aria-label\": t('$vuetify.colorPicker.ariaLabel.eyedropper'),\n \"density\": \"comfortable\",\n \"disabled\": props.disabled,\n \"icon\": props.eyeDropperIcon,\n \"variant\": \"plain\",\n \"onClick\": openEyeDropper\n }, null)]), _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-preview__dot\"\n }, [_createElementVNode(\"div\", {\n \"style\": {\n background: HSVtoCSS(props.color ?? nullColor)\n }\n }, null)]), _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-preview__sliders\"\n }, [_createVNode(VSlider, {\n \"class\": \"v-color-picker-preview__track v-color-picker-preview__hue\",\n \"name\": t('$vuetify.colorPicker.ariaLabel.hueSlider'),\n \"modelValue\": props.color?.h,\n \"onUpdate:modelValue\": h => emit('update:color', {\n ...(props.color ?? nullColor),\n h\n }),\n \"step\": 1,\n \"min\": 0,\n \"max\": 360,\n \"disabled\": props.disabled,\n \"thumbSize\": 14,\n \"trackSize\": 8,\n \"trackFillColor\": \"white\",\n \"hideDetails\": true\n }, null), !props.hideAlpha && _createVNode(VSlider, {\n \"class\": \"v-color-picker-preview__track v-color-picker-preview__alpha\",\n \"name\": t('$vuetify.colorPicker.ariaLabel.alphaSlider'),\n \"modelValue\": props.color?.a ?? 1,\n \"onUpdate:modelValue\": a => emit('update:color', {\n ...(props.color ?? nullColor),\n a\n }),\n \"step\": 0.01,\n \"min\": 0,\n \"max\": 1,\n \"disabled\": props.disabled,\n \"thumbSize\": 14,\n \"trackSize\": 8,\n \"trackFillColor\": \"white\",\n \"hideDetails\": true\n }, null)])]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerPreview.js.map","export const red = {\n base: '#f44336',\n lighten5: '#ffebee',\n lighten4: '#ffcdd2',\n lighten3: '#ef9a9a',\n lighten2: '#e57373',\n lighten1: '#ef5350',\n darken1: '#e53935',\n darken2: '#d32f2f',\n darken3: '#c62828',\n darken4: '#b71c1c',\n accent1: '#ff8a80',\n accent2: '#ff5252',\n accent3: '#ff1744',\n accent4: '#d50000'\n};\nexport const pink = {\n base: '#e91e63',\n lighten5: '#fce4ec',\n lighten4: '#f8bbd0',\n lighten3: '#f48fb1',\n lighten2: '#f06292',\n lighten1: '#ec407a',\n darken1: '#d81b60',\n darken2: '#c2185b',\n darken3: '#ad1457',\n darken4: '#880e4f',\n accent1: '#ff80ab',\n accent2: '#ff4081',\n accent3: '#f50057',\n accent4: '#c51162'\n};\nexport const purple = {\n base: '#9c27b0',\n lighten5: '#f3e5f5',\n lighten4: '#e1bee7',\n lighten3: '#ce93d8',\n lighten2: '#ba68c8',\n lighten1: '#ab47bc',\n darken1: '#8e24aa',\n darken2: '#7b1fa2',\n darken3: '#6a1b9a',\n darken4: '#4a148c',\n accent1: '#ea80fc',\n accent2: '#e040fb',\n accent3: '#d500f9',\n accent4: '#aa00ff'\n};\nexport const deepPurple = {\n base: '#673ab7',\n lighten5: '#ede7f6',\n lighten4: '#d1c4e9',\n lighten3: '#b39ddb',\n lighten2: '#9575cd',\n lighten1: '#7e57c2',\n darken1: '#5e35b1',\n darken2: '#512da8',\n darken3: '#4527a0',\n darken4: '#311b92',\n accent1: '#b388ff',\n accent2: '#7c4dff',\n accent3: '#651fff',\n accent4: '#6200ea'\n};\nexport const indigo = {\n base: '#3f51b5',\n lighten5: '#e8eaf6',\n lighten4: '#c5cae9',\n lighten3: '#9fa8da',\n lighten2: '#7986cb',\n lighten1: '#5c6bc0',\n darken1: '#3949ab',\n darken2: '#303f9f',\n darken3: '#283593',\n darken4: '#1a237e',\n accent1: '#8c9eff',\n accent2: '#536dfe',\n accent3: '#3d5afe',\n accent4: '#304ffe'\n};\nexport const blue = {\n base: '#2196f3',\n lighten5: '#e3f2fd',\n lighten4: '#bbdefb',\n lighten3: '#90caf9',\n lighten2: '#64b5f6',\n lighten1: '#42a5f5',\n darken1: '#1e88e5',\n darken2: '#1976d2',\n darken3: '#1565c0',\n darken4: '#0d47a1',\n accent1: '#82b1ff',\n accent2: '#448aff',\n accent3: '#2979ff',\n accent4: '#2962ff'\n};\nexport const lightBlue = {\n base: '#03a9f4',\n lighten5: '#e1f5fe',\n lighten4: '#b3e5fc',\n lighten3: '#81d4fa',\n lighten2: '#4fc3f7',\n lighten1: '#29b6f6',\n darken1: '#039be5',\n darken2: '#0288d1',\n darken3: '#0277bd',\n darken4: '#01579b',\n accent1: '#80d8ff',\n accent2: '#40c4ff',\n accent3: '#00b0ff',\n accent4: '#0091ea'\n};\nexport const cyan = {\n base: '#00bcd4',\n lighten5: '#e0f7fa',\n lighten4: '#b2ebf2',\n lighten3: '#80deea',\n lighten2: '#4dd0e1',\n lighten1: '#26c6da',\n darken1: '#00acc1',\n darken2: '#0097a7',\n darken3: '#00838f',\n darken4: '#006064',\n accent1: '#84ffff',\n accent2: '#18ffff',\n accent3: '#00e5ff',\n accent4: '#00b8d4'\n};\nexport const teal = {\n base: '#009688',\n lighten5: '#e0f2f1',\n lighten4: '#b2dfdb',\n lighten3: '#80cbc4',\n lighten2: '#4db6ac',\n lighten1: '#26a69a',\n darken1: '#00897b',\n darken2: '#00796b',\n darken3: '#00695c',\n darken4: '#004d40',\n accent1: '#a7ffeb',\n accent2: '#64ffda',\n accent3: '#1de9b6',\n accent4: '#00bfa5'\n};\nexport const green = {\n base: '#4caf50',\n lighten5: '#e8f5e9',\n lighten4: '#c8e6c9',\n lighten3: '#a5d6a7',\n lighten2: '#81c784',\n lighten1: '#66bb6a',\n darken1: '#43a047',\n darken2: '#388e3c',\n darken3: '#2e7d32',\n darken4: '#1b5e20',\n accent1: '#b9f6ca',\n accent2: '#69f0ae',\n accent3: '#00e676',\n accent4: '#00c853'\n};\nexport const lightGreen = {\n base: '#8bc34a',\n lighten5: '#f1f8e9',\n lighten4: '#dcedc8',\n lighten3: '#c5e1a5',\n lighten2: '#aed581',\n lighten1: '#9ccc65',\n darken1: '#7cb342',\n darken2: '#689f38',\n darken3: '#558b2f',\n darken4: '#33691e',\n accent1: '#ccff90',\n accent2: '#b2ff59',\n accent3: '#76ff03',\n accent4: '#64dd17'\n};\nexport const lime = {\n base: '#cddc39',\n lighten5: '#f9fbe7',\n lighten4: '#f0f4c3',\n lighten3: '#e6ee9c',\n lighten2: '#dce775',\n lighten1: '#d4e157',\n darken1: '#c0ca33',\n darken2: '#afb42b',\n darken3: '#9e9d24',\n darken4: '#827717',\n accent1: '#f4ff81',\n accent2: '#eeff41',\n accent3: '#c6ff00',\n accent4: '#aeea00'\n};\nexport const yellow = {\n base: '#ffeb3b',\n lighten5: '#fffde7',\n lighten4: '#fff9c4',\n lighten3: '#fff59d',\n lighten2: '#fff176',\n lighten1: '#ffee58',\n darken1: '#fdd835',\n darken2: '#fbc02d',\n darken3: '#f9a825',\n darken4: '#f57f17',\n accent1: '#ffff8d',\n accent2: '#ffff00',\n accent3: '#ffea00',\n accent4: '#ffd600'\n};\nexport const amber = {\n base: '#ffc107',\n lighten5: '#fff8e1',\n lighten4: '#ffecb3',\n lighten3: '#ffe082',\n lighten2: '#ffd54f',\n lighten1: '#ffca28',\n darken1: '#ffb300',\n darken2: '#ffa000',\n darken3: '#ff8f00',\n darken4: '#ff6f00',\n accent1: '#ffe57f',\n accent2: '#ffd740',\n accent3: '#ffc400',\n accent4: '#ffab00'\n};\nexport const orange = {\n base: '#ff9800',\n lighten5: '#fff3e0',\n lighten4: '#ffe0b2',\n lighten3: '#ffcc80',\n lighten2: '#ffb74d',\n lighten1: '#ffa726',\n darken1: '#fb8c00',\n darken2: '#f57c00',\n darken3: '#ef6c00',\n darken4: '#e65100',\n accent1: '#ffd180',\n accent2: '#ffab40',\n accent3: '#ff9100',\n accent4: '#ff6d00'\n};\nexport const deepOrange = {\n base: '#ff5722',\n lighten5: '#fbe9e7',\n lighten4: '#ffccbc',\n lighten3: '#ffab91',\n lighten2: '#ff8a65',\n lighten1: '#ff7043',\n darken1: '#f4511e',\n darken2: '#e64a19',\n darken3: '#d84315',\n darken4: '#bf360c',\n accent1: '#ff9e80',\n accent2: '#ff6e40',\n accent3: '#ff3d00',\n accent4: '#dd2c00'\n};\nexport const brown = {\n base: '#795548',\n lighten5: '#efebe9',\n lighten4: '#d7ccc8',\n lighten3: '#bcaaa4',\n lighten2: '#a1887f',\n lighten1: '#8d6e63',\n darken1: '#6d4c41',\n darken2: '#5d4037',\n darken3: '#4e342e',\n darken4: '#3e2723'\n};\nexport const blueGrey = {\n base: '#607d8b',\n lighten5: '#eceff1',\n lighten4: '#cfd8dc',\n lighten3: '#b0bec5',\n lighten2: '#90a4ae',\n lighten1: '#78909c',\n darken1: '#546e7a',\n darken2: '#455a64',\n darken3: '#37474f',\n darken4: '#263238'\n};\nexport const grey = {\n base: '#9e9e9e',\n lighten5: '#fafafa',\n lighten4: '#f5f5f5',\n lighten3: '#eeeeee',\n lighten2: '#e0e0e0',\n lighten1: '#bdbdbd',\n darken1: '#757575',\n darken2: '#616161',\n darken3: '#424242',\n darken4: '#212121'\n};\nexport const shades = {\n black: '#000000',\n white: '#ffffff',\n transparent: '#ffffff00'\n};\nexport default {\n red,\n pink,\n purple,\n deepPurple,\n indigo,\n blue,\n lightBlue,\n cyan,\n teal,\n green,\n lightGreen,\n lime,\n yellow,\n amber,\n orange,\n deepOrange,\n brown,\n blueGrey,\n grey,\n shades\n};\n//# sourceMappingURL=colors.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VColorPickerSwatches.css\";\n\n// Components\nimport { VIcon } from \"../VIcon/index.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\"; // Utilities\nimport { convertToUnit, deepEqual, defineComponent, getContrast, parseColor, propsFactory, RGBtoCSS, RGBtoHSV, useRender } from \"../../util/index.js\";\nimport colors from \"../../util/colors.js\"; // Types\nexport const makeVColorPickerSwatchesProps = propsFactory({\n swatches: {\n type: Array,\n default: () => parseDefaultColors(colors)\n },\n disabled: Boolean,\n color: Object,\n maxHeight: [Number, String],\n ...makeComponentProps()\n}, 'VColorPickerSwatches');\nfunction parseDefaultColors(colors) {\n return Object.keys(colors).map(key => {\n const color = colors[key];\n return color.base ? [color.base, color.darken4, color.darken3, color.darken2, color.darken1, color.lighten1, color.lighten2, color.lighten3, color.lighten4, color.lighten5] : [color.black, color.white, color.transparent];\n });\n}\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n props: makeVColorPickerSwatchesProps(),\n emits: {\n 'update:color': color => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-color-picker-swatches', props.class]),\n \"style\": _normalizeStyle([{\n maxHeight: convertToUnit(props.maxHeight)\n }, props.style])\n }, [_createElementVNode(\"div\", null, [props.swatches.map(swatch => _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-swatches__swatch\"\n }, [swatch.map(color => {\n const rgba = parseColor(color);\n const hsva = RGBtoHSV(rgba);\n const background = RGBtoCSS(rgba);\n return _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-swatches__color\",\n \"onClick\": () => hsva && emit('update:color', hsva)\n }, [_createElementVNode(\"div\", {\n \"style\": {\n background\n }\n }, [props.color && deepEqual(props.color, hsva) ? _createVNode(VIcon, {\n \"size\": \"x-small\",\n \"icon\": \"$success\",\n \"color\": getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black'\n }, null) : undefined])]);\n })]))])]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerSwatches.js.map","import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VColorPicker.css\";\n\n// Components\nimport { VColorPickerCanvas } from \"./VColorPickerCanvas.js\";\nimport { VColorPickerEdit } from \"./VColorPickerEdit.js\";\nimport { makeVColorPickerPreviewProps, VColorPickerPreview } from \"./VColorPickerPreview.js\";\nimport { VColorPickerSwatches } from \"./VColorPickerSwatches.js\";\nimport { makeVPickerProps, VPicker } from \"../../labs/VPicker/VPicker.js\"; // Composables\nimport { useRtl } from \"../../composables/index.js\";\nimport { provideDefaults } from \"../../composables/defaults.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { computed, onBeforeMount, ref, watch } from 'vue';\nimport { extractColor, modes, nullColor } from \"./util/index.js\";\nimport { consoleWarn, defineComponent, HSVtoCSS, parseColor, pick, propsFactory, RGBtoHSV, useRender } from \"../../util/index.js\"; // Types\nexport const makeVColorPickerProps = propsFactory({\n canvasHeight: {\n type: [String, Number],\n default: 150\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: v => Object.keys(modes).includes(v)\n },\n modes: {\n type: Array,\n default: () => Object.keys(modes),\n validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))\n },\n showSwatches: Boolean,\n swatches: Array,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150\n },\n modelValue: {\n type: [Object, String]\n },\n ...makeVPickerProps({\n hideHeader: true\n }),\n ...pick(makeVColorPickerPreviewProps(), ['hideEyeDropper', 'eyeDropperIcon'])\n}, 'VColorPicker');\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n props: makeVColorPickerProps(),\n emits: {\n 'update:modelValue': color => true,\n 'update:mode': mode => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const mode = useProxiedModel(props, 'mode');\n const hue = ref(null);\n const model = useProxiedModel(props, 'modelValue', undefined, v => {\n if (v == null || v === '') return null;\n let c;\n try {\n c = RGBtoHSV(parseColor(v));\n } catch (err) {\n consoleWarn(err);\n return null;\n }\n return c;\n }, v => {\n if (!v) return null;\n return extractColor(v, props.modelValue);\n });\n const currentColor = computed(() => {\n return model.value ? {\n ...model.value,\n h: hue.value ?? model.value.h\n } : null;\n });\n const {\n rtlClasses\n } = useRtl();\n let externalChange = true;\n watch(model, v => {\n if (!externalChange) {\n // prevent hue shift from rgb conversion inaccuracy\n externalChange = true;\n return;\n }\n if (!v) return;\n hue.value = v.h;\n }, {\n immediate: true\n });\n const updateColor = hsva => {\n externalChange = false;\n hue.value = hsva.h;\n model.value = hsva;\n };\n onBeforeMount(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0];\n });\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined\n }\n });\n useRender(() => {\n const pickerProps = VPicker.filterProps(props);\n return _createVNode(VPicker, _mergeProps(pickerProps, {\n \"class\": ['v-color-picker', rtlClasses.value, props.class],\n \"style\": [{\n '--v-color-picker-color-hsv': HSVtoCSS({\n ...(currentColor.value ?? nullColor),\n a: 1\n })\n }, props.style]\n }), {\n ...slots,\n default: () => _createElementVNode(_Fragment, null, [!props.hideCanvas && _createVNode(VColorPickerCanvas, {\n \"key\": \"canvas\",\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"disabled\": props.disabled,\n \"dotSize\": props.dotSize,\n \"width\": props.width,\n \"height\": props.canvasHeight\n }, null), (!props.hideSliders || !props.hideInputs) && _createElementVNode(\"div\", {\n \"key\": \"controls\",\n \"class\": \"v-color-picker__controls\"\n }, [!props.hideSliders && _createVNode(VColorPickerPreview, {\n \"key\": \"preview\",\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"hideAlpha\": !mode.value.endsWith('a'),\n \"disabled\": props.disabled,\n \"hideEyeDropper\": props.hideEyeDropper,\n \"eyeDropperIcon\": props.eyeDropperIcon\n }, null), !props.hideInputs && _createVNode(VColorPickerEdit, {\n \"key\": \"edit\",\n \"modes\": props.modes,\n \"mode\": mode.value,\n \"onUpdate:mode\": m => mode.value = m,\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"disabled\": props.disabled\n }, null)]), props.showSwatches && _createVNode(VColorPickerSwatches, {\n \"key\": \"swatches\",\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"maxHeight\": props.swatchesMaxHeight,\n \"swatches\": props.swatches,\n \"disabled\": props.disabled\n }, null)])\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VColorPicker.js.map","/*\n|--------------------------------------------------------------------------\n| Resourceful String Field\n|--------------------------------------------------------------------------\n|\n| A comprehensive field component for string values with extensive format support\n| and professional UX features. Automatically adapts between single field editing,\n| multiple selection management, and read-only display through the unified field\n| composer architecture.\n|\n| ## Supported Formats:\n| - email: Email input with mailto: auto-linking and proper keyboard\n| - password: Secure input with interactive visibility toggle and masking\n| - url: URL input with auto-linking and validation\n| - tel: Telephone input with tel: auto-linking and number cleaning\n| - search: Search input with optimized keyboard and behavior\n| - color: Advanced color picker with hex/hexa modes and visual previews\n|\n| ## Format-Specific Features:\n|\n| ### Color Format\n| - Full-featured color picker dialog with canvas and swatches\n| - Mode switching between hex and hexa formats\n| - Visual color badges in all operational modes\n| - Responsive design: VDialog on desktop, VBottomSheet on mobile\n| - Canvas height optimization for mobile devices\n| - Real-time color preview in field and stringifier\n|\n| ### Password Format \n| - Interactive visibility toggle with smooth hover effects\n| - Security-focused fixed-length masking (10 icons) to prevent password length disclosure\n| - Custom masking using configurable Material Design icons\n| - Secure display across single, multiple, and read modes\n| - Professional toggle button with proper state management\n| - Consistent behavior in all field contexts\n|\n| ### Email/URL/Tel Formats\n| - Smart auto-linking via configurable autolink prop\n| - Intelligent href generation: mailto:, tel:, and direct URLs\n| - Phone number sanitization for tel format (strips non-digits)\n| - Proper HTML input types for enhanced mobile keyboards\n| - Conditional linking based on field state and content\n|\n| ## Operational Modes:\n|\n| ### Single Mode (multiple: false, renderMode: 'edit')\n| Direct VTextField with format-specific input types, visual enhancements,\n| and interactive elements (color picker, password toggle, etc.)\n|\n| ### Multiple Mode (multiple: true, renderMode: 'edit') \n| RMultipleField with sophisticated chip management, Enter-to-add functionality,\n| format-aware display, and full dialog interface for item management\n|\n| ### Read Mode (renderMode: 'read')\n| Clean text presentation with Oxford comma formatting for arrays, rich visual\n| previews for colors, secure password masking with toggle, and auto-generated\n| links when autolink is enabled\n|\n| ## Slot System:\n| Preserves all VTextField slots while adding format-specific enhancements:\n| - User slots render alongside format features\n| - Non-destructive enhancement pattern\n| - Full customization flexibility maintained\n| - Consistent slot interface across all modes\n|\n| ## Mobile Optimization:\n| - VBottomSheet dialogs for color picker on mobile devices\n| - Optimized canvas sizes for touch interfaces\n| - Proper keyboard handling for mobile browsers\n| - Touch-friendly interactive elements\n|\n|--------------------------------------------------------------------------\n| TODO\n|--------------------------------------------------------------------------\n|\n| - Password Field: Generate Password\n*/\n\nimport { useDisplay } from 'vuetify'\nimport { SvgIcon } from '../svg-icon'\nimport { deepmerge } from 'deepmerge-ts'\nimport { VBtn } from 'vuetify/components/VBtn'\nimport { VMenu } from 'vuetify/components/VMenu'\nimport { VCard } from 'vuetify/components/VCard'\nimport { VIcon } from 'vuetify/components/VIcon'\nimport { VHover } from 'vuetify/components/VHover'\nimport { VBadge } from 'vuetify/components/VBadge'\nimport { useFieldComposer } from './field_composer'\nimport { VDialog } from 'vuetify/components/VDialog'\nimport { VDivider } from 'vuetify/components/VDivider'\nimport { omit } from '@nhtio/vuetifiable/util/helpers'\nimport { toUnreactive, useSlot } from '../common/utils'\nimport { VTextField } from 'vuetify/components/VTextField'\nimport { propsAndEmitsFactory } from '../common/factories'\nimport { VColorPicker } from 'vuetify/components/VColorPicker'\nimport { VBottomSheet } from 'vuetify/components/VBottomSheet'\nimport { h, defineComponent, toRefs, computed, ref } from 'vue'\nimport { IconValue } from '@nhtio/vuetifiable/composables/icons'\nimport { VListItem, VListItemTitle } from 'vuetify/components/VList'\nimport { VToolbar, VToolbarItems } from 'vuetify/components/VToolbar'\nimport { makeCommonResourcefulFieldProps, commonEmitsValidators } from './common'\nimport { makeVTextFieldProps } from '@nhtio/vuetifiable/components/VTextField/VTextField'\nimport { mdiEye, mdiEyeOff, mdiCircleSmall, mdiEyedropper, mdiClose, mdiPalette } from '@mdi/js'\nimport type { SharedUnionFields } from 'type-fest'\nimport type { SingleFieldRenderer } from './field_composer'\nimport type { LooseRequired } from '@vue/shared/dist/shared.d.ts'\nimport type { makeVBtnProps } from '@nhtio/vuetifiable/components/VBtn/VBtn'\nimport type { NamedSlotParameters, ExtractSlotDefinitions } from '../common/types'\nimport type { CommonResourcefulFieldPublicProps, RFieldStringifier } from './common'\nimport type { makeVDialogProps } from '@nhtio/vuetifiable/components/VDialog/VDialog'\nimport type { makeVBottomSheetProps } from '@nhtio/vuetifiable/components/VBottomSheet/VBottomSheet'\nimport type {\n PropType,\n ExtractPublicPropTypes,\n ToRefs,\n VNode,\n SlotsType,\n ComponentPublicInstance,\n} from 'vue'\n\ntype VBtnPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVBtnProps>>\ntype VDialogPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVDialogProps>>\ntype VBottomSheetPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVBottomSheetProps>>\ntype CommonDialogPublicProps = SharedUnionFields<VDialogPublicProps | VBottomSheetPublicProps>\ntype VMenuSlots = ExtractSlotDefinitions<typeof VMenu.slots>\ntype VTextFieldSlots = ExtractSlotDefinitions<typeof VTextField.slots>\n\n/**\n * Supported string field format types that determine input behavior, validation,\n * and visual presentation. Each format provides specialized functionality while\n * maintaining consistent behavior across all operational modes.\n *\n * @example\n * ```typescript\n * // Email format with auto-linking\n * <RStringField format=\"email\" autolink />\n *\n * // Password with custom icons\n * <RStringField\n * format=\"password\"\n * showPasswordIcon={() => h(VIcon, { icon: 'mdi-eye' })}\n * hidePasswordIcon={() => h(VIcon, { icon: 'mdi-eye-off' })}\n * />\n *\n * // Color picker with hexa mode\n * <RStringField format=\"color\" />\n * ```\n */\nexport const RStringFieldFormat = ['email', 'password', 'url', 'tel', 'search', 'color'] as const\n\n/**\n * Union type of all supported string field formats. Use this type for\n * props, function parameters, or conditional logic based on field format.\n *\n * @example\n * ```typescript\n * const handleFormatChange = (format: RStringFieldFormat) => {\n * switch (format) {\n * case 'color':\n * // Setup color picker logic\n * break\n * case 'password':\n * // Setup password security\n * break\n * // ... other formats\n * }\n * }\n * ```\n */\nexport type RStringFieldFormat = (typeof RStringFieldFormat)[number]\n\n/**\n * Color picker mode options for the color format. Determines the color\n * representation and input format in the color picker interface.\n *\n * - `hex`: Standard 6-digit hexadecimal color format (#RRGGBB)\n * - `hexa`: Extended 8-digit hexadecimal with alpha channel (#RRGGBBAA)\n *\n * @example\n * ```typescript\n * // Color picker will default to hex mode\n * const [colorMode, setColorMode] = useState<RStringColorFieldMode>('hex')\n *\n * // Switch to alpha channel support\n * setColorMode('hexa')\n * ```\n */\nexport const RStringColorFieldMode = ['hex', 'hexa'] as const\n\n/**\n * Union type for color picker modes. Used internally by the color picker\n * dialog to determine input format and validation rules.\n */\nexport type RStringColorFieldMode = (typeof RStringColorFieldMode)[number]\n\nconst isValidRStringFieldValue = (value: string | string[] | null | undefined): boolean => {\n if (null === value || 'undefined' === typeof value) return true\n if (Array.isArray(value)) return value.every((v) => typeof v === 'string')\n return typeof value === 'string'\n}\n\nconst { makeProps: makeRStringFieldProps, emits: rStringFieldEmits } = propsAndEmitsFactory(\n {\n ...omit(\n makeVTextFieldProps({\n clearIcon: () => h(SvgIcon, { d: mdiClose }),\n }),\n [\n 'appendIcon',\n 'appendInnerIcon',\n 'centerAffix',\n 'counter',\n 'counterValue',\n 'hideSpinButtons',\n 'modelModifiers',\n 'modelValue',\n 'persistentCounter',\n 'prependIcon',\n 'prependInnerIcon',\n 'rules',\n 'type',\n 'validationValue',\n 'onClick:append',\n 'onClick:appendInner',\n 'onClick:clear',\n 'onClick:prepend',\n 'onClick:prependInner',\n ]\n ),\n modelValue: {\n type: [String, Array, Object] as PropType<string | string[] | null | undefined>,\n default: undefined,\n },\n format: {\n type: String as PropType<RStringFieldFormat | undefined>,\n default: undefined,\n },\n autolink: {\n type: Boolean,\n default: false,\n },\n showPasswordIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiEye }),\n },\n hidePasswordIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiEyeOff }),\n },\n passwordMaskIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCircleSmall }),\n },\n colorPickerIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiEyedropper }),\n },\n colorPickerModeIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiPalette }),\n },\n ...makeCommonResourcefulFieldProps(),\n },\n {\n 'update:modelValue': (value: string | string[] | null | undefined) =>\n isValidRStringFieldValue(value),\n 'update:model-value': (value: string | string[] | null | undefined) =>\n isValidRStringFieldValue(value),\n ...commonEmitsValidators,\n },\n 'RStringField'\n)\n\n/**\n * Factory function that creates comprehensive props for the RStringField component.\n * Combines VTextField props with field-specific options for format handling,\n * auto-linking, password management, color picker configuration, and unified\n * field architecture integration.\n *\n * @returns Props definition object for use with defineComponent\n *\n * @example\n * ```typescript\n * // Basic string field\n * const props = makeRStringFieldProps()\n *\n * // Access specific prop configurations\n * console.log(props.format) // Format selection prop\n * console.log(props.autolink) // Auto-linking control prop\n * console.log(props.multiple) // Multiple selection mode prop\n * ```\n */\nexport { makeRStringFieldProps }\n\n/**\n * Public props interface for the RStringField component. Includes all VTextField\n * props plus string field-specific options for format handling, auto-linking,\n * icon customization, and unified field architecture features.\n *\n * @example\n * ```typescript\n * // Component props typing\n * interface MyComponentProps {\n * stringFieldProps: RStringFieldProps\n * }\n *\n * // Programmatic prop construction\n * const fieldProps: RStringFieldProps = {\n * format: 'email',\n * autolink: true,\n * multiple: false,\n * label: 'Email Address',\n * // ... other VTextField props\n * }\n * ```\n */\nexport type RStringFieldProps = ExtractPublicPropTypes<ReturnType<typeof makeRStringFieldProps>>\ntype VTextFieldPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVTextFieldProps>>\n\n/**\n * Comprehensive string field component with extensive format support and professional\n * UX features. Automatically adapts between single field editing, multiple selection\n * management, and read-only display through the unified field composer architecture.\n *\n * Supports 6 specialized formats: email, password, url, tel, search, and color.\n * Each format provides tailored input behavior, validation, visual enhancements,\n * and interactive features while maintaining consistent behavior across all modes.\n *\n * @example\n * ```vue\n * <!-- Basic string field -->\n * <RStringField v-model=\"value\" label=\"Enter text\" />\n *\n * <!-- Email with auto-linking -->\n * <RStringField\n * v-model=\"email\"\n * format=\"email\"\n * autolink\n * label=\"Email Address\"\n * />\n *\n * <!-- Password with custom icons -->\n * <RStringField\n * v-model=\"password\"\n * format=\"password\"\n * label=\"Password\"\n * :showPasswordIcon=\"() => h(VIcon, { icon: 'mdi-eye' })\"\n * />\n *\n * <!-- Color picker -->\n * <RStringField\n * v-model=\"color\"\n * format=\"color\"\n * label=\"Choose Color\"\n * />\n *\n * <!-- Multiple selection -->\n * <RStringField\n * v-model=\"tags\"\n * multiple\n * label=\"Tags\"\n * :choices=\"availableTags\"\n * />\n * ```\n */\nexport const RStringField = defineComponent({\n name: 'RStringField',\n props: makeRStringFieldProps(),\n emits: rStringFieldEmits,\n slots: Object as SlotsType<VTextFieldSlots>,\n setup(props, { emit, slots }) {\n const { mobile } = useDisplay()\n const {\n modelValue,\n theme,\n rounded,\n tile,\n loading,\n class: className,\n style,\n bgColor,\n clearable,\n clearIcon,\n active,\n color,\n baseColor,\n dirty,\n disabled,\n glow,\n error,\n flat,\n iconColor,\n label,\n persistentClear,\n reverse,\n singleLine,\n variant,\n focused,\n errorMessages,\n maxErrors,\n name,\n readonly,\n validateOn,\n width,\n minWidth,\n maxWidth,\n density,\n id,\n hideDetails,\n hint,\n persistentHint,\n messages,\n direction,\n autofocus,\n prefix,\n placeholder,\n persistentPlaceholder,\n suffix,\n role,\n format: fieldFormat,\n renderMode,\n multiple,\n choices,\n allowUnspecifiedChoices,\n to,\n href,\n menuIcon,\n noValuesText,\n autolink,\n showPasswordIcon,\n hidePasswordIcon,\n passwordMaskIcon,\n colorPickerIcon,\n colorPickerModeIcon,\n onBlur,\n onChange,\n onInput,\n } = toRefs(props)\n const hrefRef = computed(() => {\n if (multiple.value) return href.value\n switch (fieldFormat.value) {\n case 'email':\n return autolink.value\n ? modelValue.value\n ? `mailto:${String(modelValue.value)}`\n : undefined\n : href.value\n case 'url':\n return autolink.value\n ? modelValue.value\n ? String(modelValue.value)\n : undefined\n : href.value\n case 'tel':\n return autolink.value\n ? modelValue.value\n ? `tel:${String(modelValue.value).replace(/\\D/g, '')}`\n : undefined\n : href.value\n default:\n return href.value\n }\n })\n const commonProps: ToRefs<LooseRequired<Readonly<CommonResourcefulFieldPublicProps>>> = {\n style,\n label,\n density,\n renderMode,\n multiple,\n choices,\n allowUnspecifiedChoices,\n 'to': autolink.value ? ref(undefined) : to,\n 'href': hrefRef,\n menuIcon,\n active,\n theme,\n disabled,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n focused,\n noValuesText,\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 showPassword = ref<boolean>(false)\n const stringifier = computed<RFieldStringifier<string>>(() => {\n switch (fieldFormat.value) {\n case 'color':\n return (val: string | null | undefined) =>\n h('span', { class: ['d-inline-flex', 'align-center'] }, [\n h(VBadge, { color: val || undefined, inline: true, dot: true, class: ['me-2'] }),\n h('span', {}, val || ''),\n ])\n case 'password':\n return (val: string | null | undefined) => {\n const rawString = val || ''\n const btn = h(\n VHover,\n {},\n {\n default: (opts?: { isHovering: boolean | null; props: Record<string, any> }) =>\n h(\n VBtn,\n {\n color: opts?.isHovering ? undefined : 'transparent',\n icon: true,\n variant: 'text',\n density: density.value,\n size: 'x-small',\n onClick: () => {\n showPassword.value = !showPassword.value\n },\n class: ['ms-2'],\n ...(opts ? opts.props : {}),\n },\n () =>\n h(VIcon, {\n icon: showPassword.value ? hidePasswordIcon.value : showPasswordIcon.value,\n size: 'small',\n })\n ),\n }\n )\n return h(\n 'span',\n { class: ['d-flex', 'align-center'] },\n showPassword.value\n ? [h('span', {}, rawString), btn]\n : [\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n btn,\n ]\n )\n }\n default:\n return (val: string) => val\n }\n })\n const vTextFieldBindings = computed<VTextFieldPublicProps>(\n () =>\n ({\n theme: theme.value,\n rounded: rounded.value,\n tile: tile.value,\n loading: loading.value,\n class: className.value,\n style: style.value,\n bgColor: bgColor.value,\n clearable: clearable.value,\n clearIcon: clearIcon.value,\n active: active.value,\n color: color.value,\n baseColor: baseColor.value,\n dirty: dirty.value,\n disabled: disabled.value,\n glow: glow.value,\n error: error.value,\n flat: flat.value,\n iconColor: iconColor.value,\n label: label.value,\n persistentClear: persistentClear.value,\n reverse: reverse.value,\n singleLine: singleLine.value,\n variant: variant.value,\n focused: focused.value,\n errorMessages: errorMessages.value,\n maxErrors: maxErrors.value,\n name: name.value,\n readonly: readonly.value,\n validateOn: validateOn.value,\n width: width.value,\n minWidth: minWidth.value,\n maxWidth: maxWidth.value,\n density: density.value,\n id: id.value,\n hideDetails: hideDetails.value,\n hint: hint.value,\n persistentHint: persistentHint.value,\n messages: messages.value,\n direction: direction.value,\n autofocus: autofocus.value,\n prefix: prefix.value,\n placeholder: placeholder.value,\n persistentPlaceholder: persistentPlaceholder.value,\n suffix: suffix.value,\n role: role.value,\n // @ts-ignore\n onBlur: onBlur.value,\n // @ts-ignore\n onChange: onChange.value,\n // @ts-ignore\n onInput: onInput.value,\n }) satisfies VTextFieldPublicProps\n )\n const vDialogMenuButtonRef = ref<VBtn>()\n const colorPickerOpen = ref(false)\n const colorPickerMode = ref<RStringColorFieldMode>('hex')\n const dialogMenuButtonBindings = computed<VBtnPublicProps>(() => ({\n ref: vDialogMenuButtonRef,\n modelValue: colorPickerOpen.value && 'color' === fieldFormat.value,\n icon: true,\n variant: 'text' as const,\n size: 'small',\n density: toUnreactive(density),\n onClick: (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n colorPickerOpen.value = !colorPickerOpen.value\n },\n }))\n const prependInnerSlotRenderer = (val: string | null | undefined) => {\n switch (fieldFormat.value) {\n case 'color':\n return h(VBadge, { color: val || undefined, inline: true, dot: true })\n default:\n return null\n }\n }\n const appendInnerSlotRenderer = (_val: string | null | undefined) => {\n switch (fieldFormat.value) {\n case 'password':\n return h(\n VBtn,\n {\n icon: true,\n variant: 'text',\n density: density.value,\n size: 'small',\n onClick: () => {\n showPassword.value = !showPassword.value\n },\n },\n () =>\n h(VIcon, {\n icon: showPassword.value ? hidePasswordIcon.value : showPasswordIcon.value,\n })\n )\n case 'color':\n return h(VBtn, dialogMenuButtonBindings.value, () =>\n h(VIcon, {\n icon: colorPickerIcon.value,\n })\n )\n default:\n return null\n }\n }\n const textFieldType = computed(() => {\n switch (fieldFormat.value) {\n case 'password':\n return showPassword.value ? 'text' : 'password'\n case 'email':\n case 'tel':\n case 'url':\n case 'search':\n return fieldFormat.value\n default:\n return 'text'\n }\n })\n const commonDialogBindings = computed<CommonDialogPublicProps>(() =>\n deepmerge(\n {\n modelValue: colorPickerOpen.value,\n retainFocus: true,\n theme: toUnreactive(theme),\n },\n {\n 'onUpdate:modelValue': (is: boolean) => {\n colorPickerOpen.value = is\n },\n }\n )\n )\n const dialogWindowBindings = computed<VDialogPublicProps>(() =>\n deepmerge(commonDialogBindings.value, {\n maxWidth: 500,\n maxHeight: 600,\n } satisfies VDialogPublicProps)\n )\n const dialogBottomSheetBindings = computed<VBottomSheetPublicProps>(() =>\n deepmerge(commonDialogBindings.value, {} satisfies VBottomSheetPublicProps)\n )\n const singleFieldRenderer: SingleFieldRenderer = ({\n props: fieldBindings,\n add,\n isMultiAdd,\n }) => {\n const colorPicker = computed<VNode>(() =>\n h(VCard, { class: ['d-flex', 'flex-column'] }, () => [\n h(\n VToolbar,\n {\n color: 'transparent',\n flat: true,\n class: ['flex-grow-0'],\n },\n () => [\n h(\n 'div',\n { class: ['flex-grow-1', 'd-flex', 'align-center', 'justify-center', 'pa-1'] },\n h(VTextField, {\n ...vTextFieldBindings.value,\n ...fieldBindings,\n type: textFieldType.value,\n hideDetails: true,\n class: [],\n clearable: true,\n clearIcon: () => h(SvgIcon, { d: mdiClose }),\n })\n ),\n h(VToolbarItems, {}, () => [\n h(\n VMenu,\n {\n closeOnContentClick: true,\n },\n {\n activator: ({\n props: menuActivatorProps,\n }: NamedSlotParameters<VMenuSlots, 'activator'>[0]) =>\n h(\n VBtn,\n {\n ...menuActivatorProps,\n variant: 'text' as const,\n },\n () => [\n h(VIcon, {\n icon: colorPickerModeIcon.value,\n class: ['me-2'],\n }),\n h('span', { class: ['text-overline'] }, colorPickerMode.value),\n ]\n ),\n default: () =>\n h(\n VCard,\n {\n maxHeight: 300,\n },\n () =>\n RStringColorFieldMode.map((v) =>\n h(\n VListItem,\n {\n key: v,\n class: ['text-overline'],\n active: v === colorPickerMode.value,\n onClick: () => {\n colorPickerMode.value = v\n },\n },\n () => h(VListItemTitle, { class: ['text-overline'] }, () => v)\n )\n )\n ),\n }\n ),\n h(\n VBtn,\n {\n icon: true,\n onClick: () => {\n colorPickerOpen.value = false\n },\n },\n () => [\n h(VIcon, {\n icon: () => h(SvgIcon, { d: mdiClose }),\n }),\n ]\n ),\n ]),\n ]\n ),\n h(VDivider, { class: ['flex-grow-0'] }),\n h(VColorPicker, {\n bgColor: 'transparent',\n divided: true,\n elevation: 0,\n canvasHeight: mobile.value ? 75 : undefined,\n ...fieldBindings,\n rounded: false,\n showSwatches: true,\n tile: true,\n width: '100%',\n hideInputs: true,\n class: ['flex-grow-1'],\n mode: colorPickerMode.value,\n }),\n ])\n )\n const prependInnerSlot = useSlot<VTextFieldSlots>('prepend-inner', slots)\n const appendInnerSlot = useSlot<VTextFieldSlots>('append-inner', slots)\n return h(\n VTextField,\n {\n ...vTextFieldBindings.value,\n ...fieldBindings,\n type: textFieldType.value,\n hideDetails: isMultiAdd ? true : hideDetails.value,\n class: isMultiAdd ? [] : className.value,\n onKeydown: (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n queueMicrotask(() => add())\n }\n },\n },\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n {\n ...slots,\n 'prepend-inner': (...args: NamedSlotParameters<VTextFieldSlots, 'prepend-inner'>) => [\n // @ts-expect-error\n prependInnerSlot ? prependInnerSlot(...args) : null,\n prependInnerSlotRenderer(fieldBindings.modelValue),\n ],\n 'append-inner': (...args: NamedSlotParameters<VTextFieldSlots, 'append-inner'>) => [\n appendInnerSlotRenderer(fieldBindings.modelValue),\n mobile.value\n ? h(VBottomSheet, dialogBottomSheetBindings.value, () => colorPicker.value)\n : h(VDialog, dialogWindowBindings.value, () => colorPicker.value),\n // @ts-expect-error\n appendInnerSlot ? appendInnerSlot(...args) : null,\n ],\n }\n )\n }\n const { composed } = useFieldComposer(\n commonProps,\n stringifier,\n singleFieldRenderer,\n emit,\n props['onUpdate:modelValue'],\n props['onUpdate:model-value'],\n modelValue,\n props.modelValue\n )\n return composed\n },\n})\n\n/**\n * Component type for the RStringField. Represents the complete string field\n * component with all format support, unified field architecture integration,\n * and comprehensive slot handling. Use this type for component references,\n * template refs, and programmatic component manipulation.\n *\n * @example\n * ```typescript\n * // Template ref typing\n * const stringFieldRef = ref<RStringField>()\n *\n * // Component type checking\n * const isStringField = (component: unknown): component is RStringField => {\n * return component?.name === 'RStringField'\n * }\n *\n * // Programmatic component usage\n * const createStringField = (): RStringField => {\n * return RStringField\n * }\n * ```\n */\nexport type RStringField = typeof RStringField & ComponentPublicInstance\n"],"names":["makeVBadgeProps","propsFactory","IconValue","makeComponentProps","makeLocationProps","makeRoundedProps","makeTagProps","makeThemeProps","makeTransitionProps","makeDimensionProps","VBadge","genericComponent","props","ctx","backgroundColorClasses","backgroundColorStyles","useBackgroundColor","roundedClasses","useRounded","t","useLocale","textColorClasses","textColorStyles","useTextColor","themeClasses","useTheme","locationStyles","useLocation","side","dimensionStyles","useDimension","useRender","value","content","badgeAttrs","attrs","pickWithRest","_createVNode","_mergeProps","_createElementVNode","MaybeTransition","_withDirectives","VIcon","_vShow","makeVColorPickerCanvasProps","VColorPickerCanvas","defineComponent","color","hue","_ref","emit","isInteracting","shallowRef","canvasRef","ref","canvasWidth","canvasHeight","_dotPosition","dotPosition","computed","val","x","y","clamp","dotStyles","radius","convertToUnit","resizeRef","useResizeObserver","entries","width","height","updateDotPosition","rect","left","top","handleMouseDown","e","handleMouseMove","handleMouseUp","coords","getEventCoordinates","updateCanvas","canvas","saturationGradient","valueGradient","watch","newVal","oldVal","onMounted","_normalizeClass","_normalizeStyle","stripAlpha","a","rest","extractColor","input","hasA","r","g","b","HSVtoRGB","h","HSVtoHSL","hex","HSVtoHex","converted","has","nullColor","rgba","c","v","RGBtoHSV","rgb","hsla","_ref2","HSLtoHSV","hsl","hexa","HexToHSV","modes","VColorPickerInput","label","_normalizeProps","_guardReactiveProps","makeVColorPickerEditProps","m","VColorPickerEdit","mode","enabledModes","key","inputs","_ref3","getValue","getColor","localeKey","inputProps","target","VBtn","mi","VSliderSymbol","getOffset","el","direction","vertical","touch","getPosition","position","makeSliderProps","makeElevationProps","useSteps","min","max","step","decimals","getDecimals","roundValue","clamped","offset","newValue","useSlider","steps","onSliderStart","onSliderMove","onSliderEnd","getActiveThumb","form","useForm","isRtl","useRtl","isReversed","toRef","indexFromEnd","thumbSize","tickSize","trackSize","numTicks","thumbColor","thumbLabelColor","trackColor","trackFillColor","mousePressed","startOffset","trackContainerRef","activeThumbRef","parseMouseMove","start","length","trackStart","trackLength","clickOffset","clickPos","handleStop","handleStart","nextTick","moveListenerOptions","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","showTicks","parsedTicks","createRange","hasLabels","data","provide","makeVSliderThumbProps","VSliderThumb","vRipple","slots","slider","inject","rtlClasses","disabled","thumbLabel","readonly","elevation","elevationProps","elevationClasses","useElevation","pageup","pagedown","end","home","right","down","up","keyValues","relevantKeys","multipliers","parseKeydown","_step","multiplier","onKeydown","positionPercentage","VScaleTransition","makeVSliderTrackProps","VSliderTrack","rounded","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","index","directionValue","makeVSliderProps","makeFocusProps","makeVInputProps","VSlider","thumbContainerRef","inputRef","model","useProxiedModel","noKeyboard","roundedValue","isFocused","focus","blur","useFocus","trackStop","VInput","hasPrepend","slotProps","_Fragment","VLabel","_ref4","id","messagesId","forwardRefs","makeVColorPickerPreviewProps","VColorPickerPreview","abortController","onUnmounted","openEyeDropper","SUPPORTS_EYE_DROPPER","eyeDropper","result","colorHexValue","parseColor","HSVtoCSS","red","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","colors","makeVColorPickerSwatchesProps","parseDefaultColors","VColorPickerSwatches","swatch","hsva","background","RGBtoCSS","deepEqual","getContrast","makeVColorPickerProps","makeVPickerProps","pick","VColorPicker","err","consoleWarn","currentColor","externalChange","updateColor","onBeforeMount","provideDefaults","pickerProps","VPicker","RStringFieldFormat","RStringColorFieldMode","isValidRStringFieldValue","makeRStringFieldProps","rStringFieldEmits","propsAndEmitsFactory","omit","makeVTextFieldProps","SvgIcon","mdiClose","mdiEye","mdiEyeOff","mdiCircleSmall","mdiEyedropper","mdiPalette","makeCommonResourcefulFieldProps","commonEmitsValidators","RStringField","mobile","useDisplay","modelValue","theme","tile","loading","className","style","bgColor","clearable","clearIcon","active","baseColor","dirty","glow","error","flat","iconColor","persistentClear","reverse","singleLine","variant","focused","errorMessages","maxErrors","name","validateOn","minWidth","maxWidth","density","hideDetails","hint","persistentHint","messages","autofocus","prefix","placeholder","persistentPlaceholder","suffix","role","fieldFormat","renderMode","multiple","choices","allowUnspecifiedChoices","to","href","menuIcon","noValuesText","autolink","showPasswordIcon","hidePasswordIcon","passwordMaskIcon","colorPickerIcon","colorPickerModeIcon","onBlur","onChange","onInput","toRefs","hrefRef","commonProps","showPassword","stringifier","rawString","btn","VHover","opts","vTextFieldBindings","vDialogMenuButtonRef","colorPickerOpen","colorPickerMode","dialogMenuButtonBindings","toUnreactive","prependInnerSlotRenderer","appendInnerSlotRenderer","_val","textFieldType","commonDialogBindings","deepmerge","is","dialogWindowBindings","dialogBottomSheetBindings","singleFieldRenderer","fieldBindings","add","isMultiAdd","colorPicker","VCard","VToolbar","VTextField","VToolbarItems","VMenu","menuActivatorProps","VListItem","VListItemTitle","VDivider","prependInnerSlot","useSlot","appendInnerSlot","args","VBottomSheet","VDialog","composed","useFieldComposer"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}
1
+ {"version":3,"file":"string-RfpfCwEn.mjs","sources":["../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VBadge/VBadge.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPickerCanvas.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/util/index.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPickerEdit.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSlider/slider.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSlider/VSliderThumb.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSlider/VSliderTrack.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSlider/VSlider.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPickerPreview.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/colors.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPickerSwatches.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VColorPicker/VColorPicker.js","../src/private/fields/string.ts"],"sourcesContent":["import { createVNode as _createVNode, vShow as _vShow, mergeProps as _mergeProps, createElementVNode as _createElementVNode, withDirectives as _withDirectives } from \"vue\";\n// Styles\nimport \"./VBadge.css\";\n\n// Components\nimport { VIcon } from \"../VIcon/index.js\"; // Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useLocale } from \"../../composables/locale.js\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, useTheme } from \"../../composables/theme.js\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.js\"; // Utilities\nimport { genericComponent, pickWithRest, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVBadgeProps = propsFactory({\n bordered: Boolean,\n color: String,\n content: [Number, String],\n dot: Boolean,\n floating: Boolean,\n icon: IconValue,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge'\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n ...makeComponentProps(),\n ...makeLocationProps({\n location: 'top end'\n }),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeTransitionProps({\n transition: 'scale-rotate-transition'\n }),\n ...makeDimensionProps()\n}, 'VBadge');\nexport const VBadge = genericComponent()({\n name: 'VBadge',\n inheritAttrs: false,\n props: makeVBadgeProps(),\n setup(props, ctx) {\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.color);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n t\n } = useLocale();\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.textColor);\n const {\n themeClasses\n } = useTheme();\n const {\n locationStyles\n } = useLocation(props, true, side => {\n const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;\n return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);\n });\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => {\n const value = Number(props.content);\n const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;\n const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);\n return _createVNode(props.tag, _mergeProps({\n \"class\": ['v-badge', {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline\n }, props.class]\n }, attrs, {\n \"style\": props.style\n }), {\n default: () => [_createElementVNode(\"div\", {\n \"class\": \"v-badge__wrapper\"\n }, [ctx.slots.default?.(), _createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [_withDirectives(_createElementVNode(\"span\", _mergeProps({\n \"class\": ['v-badge__badge', themeClasses.value, backgroundColorClasses.value, roundedClasses.value, textColorClasses.value],\n \"style\": [backgroundColorStyles.value, textColorStyles.value, dimensionStyles.value, props.inline ? {} : locationStyles.value],\n \"aria-atomic\": \"true\",\n \"aria-label\": t(props.label, value),\n \"aria-live\": \"polite\",\n \"role\": \"status\"\n }, badgeAttrs), [props.dot ? undefined : ctx.slots.badge ? ctx.slots.badge?.() : props.icon ? _createVNode(VIcon, {\n \"icon\": props.icon\n }, null) : content]), [[_vShow, props.modelValue]])]\n })])]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VBadge.js.map","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VColorPickerCanvas.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.js\"; // Utilities\nimport { computed, onMounted, ref, shallowRef, watch } from 'vue';\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVColorPickerCanvasProps = propsFactory({\n color: {\n type: Object\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10\n },\n height: {\n type: [Number, String],\n default: 150\n },\n width: {\n type: [Number, String],\n default: 300\n },\n ...makeComponentProps()\n}, 'VColorPickerCanvas');\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n props: makeVColorPickerCanvasProps(),\n emits: {\n 'update:color': color => true,\n 'update:position': hue => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const isInteracting = shallowRef(false);\n const canvasRef = ref();\n const canvasWidth = shallowRef(parseFloat(props.width));\n const canvasHeight = shallowRef(parseFloat(props.height));\n const _dotPosition = ref({\n x: 0,\n y: 0\n });\n const dotPosition = computed({\n get: () => _dotPosition.value,\n set(val) {\n if (!canvasRef.value) return;\n const {\n x,\n y\n } = val;\n _dotPosition.value = val;\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, canvasWidth.value) / canvasWidth.value,\n v: 1 - clamp(y, 0, canvasHeight.value) / canvasHeight.value,\n a: props.color?.a ?? 1\n });\n }\n });\n const dotStyles = computed(() => {\n const {\n x,\n y\n } = dotPosition.value;\n const radius = parseInt(props.dotSize, 10) / 2;\n return {\n width: convertToUnit(props.dotSize),\n height: convertToUnit(props.dotSize),\n transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})`\n };\n });\n const {\n resizeRef\n } = useResizeObserver(entries => {\n if (!resizeRef.el?.offsetParent) return;\n const {\n width,\n height\n } = entries[0].contentRect;\n canvasWidth.value = width;\n canvasHeight.value = height;\n });\n function updateDotPosition(x, y, rect) {\n const {\n left,\n top,\n width,\n height\n } = rect;\n dotPosition.value = {\n x: clamp(x - left, 0, width),\n y: clamp(y - top, 0, height)\n };\n }\n function handleMouseDown(e) {\n if (e.type === 'mousedown') {\n // Prevent text selection while dragging\n e.preventDefault();\n }\n if (props.disabled) return;\n handleMouseMove(e);\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n window.addEventListener('touchmove', handleMouseMove);\n window.addEventListener('touchend', handleMouseUp);\n }\n function handleMouseMove(e) {\n if (props.disabled || !canvasRef.value) return;\n isInteracting.value = true;\n const coords = getEventCoordinates(e);\n updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect());\n }\n function handleMouseUp() {\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n window.removeEventListener('touchmove', handleMouseMove);\n window.removeEventListener('touchend', handleMouseUp);\n }\n function updateCanvas() {\n if (!canvasRef.value) return;\n const canvas = canvasRef.value;\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0);\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)'); // white\n saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`);\n ctx.fillStyle = saturationGradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height);\n valueGradient.addColorStop(0, 'hsla(0, 0%, 0%, 0)'); // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)'); // black\n ctx.fillStyle = valueGradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n watch(() => props.color?.h, updateCanvas, {\n immediate: true\n });\n watch(() => [canvasWidth.value, canvasHeight.value], (newVal, oldVal) => {\n updateCanvas();\n _dotPosition.value = {\n x: dotPosition.value.x * newVal[0] / oldVal[0],\n y: dotPosition.value.y * newVal[1] / oldVal[1]\n };\n }, {\n flush: 'post'\n });\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false;\n return;\n }\n _dotPosition.value = props.color ? {\n x: props.color.s * canvasWidth.value,\n y: (1 - props.color.v) * canvasHeight.value\n } : {\n x: 0,\n y: 0\n };\n }, {\n deep: true,\n immediate: true\n });\n onMounted(() => updateCanvas());\n useRender(() => _createElementVNode(\"div\", {\n \"ref\": resizeRef,\n \"class\": _normalizeClass(['v-color-picker-canvas', props.class]),\n \"style\": _normalizeStyle(props.style),\n \"onMousedown\": handleMouseDown,\n \"onTouchstartPassive\": handleMouseDown\n }, [_createElementVNode(\"canvas\", {\n \"ref\": canvasRef,\n \"width\": canvasWidth.value,\n \"height\": canvasHeight.value\n }, null), props.color && _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-color-picker-canvas__dot', {\n 'v-color-picker-canvas__dot--disabled': props.disabled\n }]),\n \"style\": _normalizeStyle(dotStyles.value)\n }, null)]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerCanvas.js.map","// Utilities\nimport { HexToHSV, HSLtoHSV, HSVtoHex, HSVtoHSL, HSVtoRGB, RGBtoHSV } from \"../../../util/colorUtils.js\";\nimport { has } from \"../../../util/helpers.js\"; // Types\nfunction stripAlpha(color, stripAlpha) {\n if (stripAlpha) {\n const {\n a,\n ...rest\n } = color;\n return rest;\n }\n return color;\n}\nexport function extractColor(color, input) {\n if (input == null || typeof input === 'string') {\n const hasA = color.a !== 1;\n if (input?.startsWith('rgb(')) {\n const {\n r,\n g,\n b,\n a\n } = HSVtoRGB(color);\n return `rgb(${r} ${g} ${b}` + (hasA ? ` / ${a})` : ')');\n } else if (input?.startsWith('hsl(')) {\n const {\n h,\n s,\n l,\n a\n } = HSVtoHSL(color);\n return `hsl(${h} ${Math.round(s * 100)} ${Math.round(l * 100)}` + (hasA ? ` / ${a})` : ')');\n }\n const hex = HSVtoHex(color);\n if (color.a === 1) return hex.slice(0, 7);else return hex;\n }\n if (typeof input === 'object') {\n let converted;\n if (has(input, ['r', 'g', 'b'])) converted = HSVtoRGB(color);else if (has(input, ['h', 's', 'l'])) converted = HSVtoHSL(color);else if (has(input, ['h', 's', 'v'])) converted = color;\n return stripAlpha(converted, !has(input, ['a']) && color.a === 1);\n }\n return color;\n}\nexport function hasAlpha(color) {\n if (!color) return false;\n if (typeof color === 'string') {\n return color.length > 7;\n }\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha']);\n }\n return false;\n}\nexport const nullColor = {\n h: 0,\n s: 0,\n v: 0,\n a: 1\n};\nconst rgba = {\n inputProps: {\n type: 'number',\n min: 0\n },\n inputs: [{\n label: 'R',\n max: 255,\n step: 1,\n getValue: c => Math.round(c.r),\n getColor: (c, v) => ({\n ...c,\n r: Number(v)\n }),\n localeKey: 'redInput'\n }, {\n label: 'G',\n max: 255,\n step: 1,\n getValue: c => Math.round(c.g),\n getColor: (c, v) => ({\n ...c,\n g: Number(v)\n }),\n localeKey: 'greenInput'\n }, {\n label: 'B',\n max: 255,\n step: 1,\n getValue: c => Math.round(c.b),\n getColor: (c, v) => ({\n ...c,\n b: Number(v)\n }),\n localeKey: 'blueInput'\n }, {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: _ref => {\n let {\n a\n } = _ref;\n return a != null ? Math.round(a * 100) / 100 : 1;\n },\n getColor: (c, v) => ({\n ...c,\n a: Number(v)\n }),\n localeKey: 'alphaInput'\n }],\n to: HSVtoRGB,\n from: RGBtoHSV\n};\nconst rgb = {\n ...rgba,\n inputs: rgba.inputs?.slice(0, 3)\n};\nconst hsla = {\n inputProps: {\n type: 'number',\n min: 0\n },\n inputs: [{\n label: 'H',\n max: 360,\n step: 1,\n getValue: c => Math.round(c.h),\n getColor: (c, v) => ({\n ...c,\n h: Number(v)\n }),\n localeKey: 'hueInput'\n }, {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: c => Math.round(c.s * 100) / 100,\n getColor: (c, v) => ({\n ...c,\n s: Number(v)\n }),\n localeKey: 'saturationInput'\n }, {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: c => Math.round(c.l * 100) / 100,\n getColor: (c, v) => ({\n ...c,\n l: Number(v)\n }),\n localeKey: 'lightnessInput'\n }, {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: _ref2 => {\n let {\n a\n } = _ref2;\n return a != null ? Math.round(a * 100) / 100 : 1;\n },\n getColor: (c, v) => ({\n ...c,\n a: Number(v)\n }),\n localeKey: 'alphaInput'\n }],\n to: HSVtoHSL,\n from: HSLtoHSV\n};\nconst hsl = {\n ...hsla,\n inputs: hsla.inputs.slice(0, 3)\n};\nconst hexa = {\n inputProps: {\n type: 'text'\n },\n inputs: [{\n label: 'HEXA',\n getValue: c => c,\n getColor: (c, v) => v,\n localeKey: 'hexaInput'\n }],\n to: HSVtoHex,\n from: HexToHSV\n};\nconst hex = {\n ...hexa,\n inputs: [{\n label: 'HEX',\n getValue: c => c.slice(0, 7),\n getColor: (c, v) => v,\n localeKey: 'hexInput'\n }]\n};\nexport const modes = {\n rgb,\n rgba,\n hsl,\n hsla,\n hex,\n hexa\n};\n//# sourceMappingURL=index.js.map","import { normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, createElementVNode as _createElementVNode, createVNode as _createVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VColorPickerEdit.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useLocale } from \"../../composables/locale.js\"; // Utilities\nimport { computed } from 'vue';\nimport { modes, nullColor } from \"./util/index.js\";\nimport { defineComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nconst VColorPickerInput = _ref => {\n let {\n label,\n ...rest\n } = _ref;\n return _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-edit__input\"\n }, [_createElementVNode(\"input\", _normalizeProps(_guardReactiveProps(rest)), null), _createElementVNode(\"span\", null, [label])]);\n};\nexport const makeVColorPickerEditProps = propsFactory({\n color: Object,\n disabled: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: v => Object.keys(modes).includes(v)\n },\n modes: {\n type: Array,\n default: () => Object.keys(modes),\n validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))\n },\n ...makeComponentProps()\n}, 'VColorPickerEdit');\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n props: makeVColorPickerEditProps(),\n emits: {\n 'update:color': color => true,\n 'update:mode': mode => true\n },\n setup(props, _ref2) {\n let {\n emit\n } = _ref2;\n const {\n t\n } = useLocale();\n const enabledModes = computed(() => {\n return props.modes.map(key => ({\n ...modes[key],\n name: key\n }));\n });\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode);\n if (!mode) return [];\n const color = props.color ? mode.to(props.color) : null;\n return mode.inputs?.map(_ref3 => {\n let {\n getValue,\n getColor,\n localeKey,\n ...inputProps\n } = _ref3;\n return {\n ...mode.inputProps,\n ...inputProps,\n ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: e => {\n const target = e.target;\n if (!target) return;\n emit('update:color', mode.from(getColor(color ?? mode.to(nullColor), target.value)));\n }\n };\n });\n });\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-color-picker-edit', props.class]),\n \"style\": _normalizeStyle(props.style)\n }, [inputs.value?.map(props => _createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && _createVNode(VBtn, {\n \"icon\": \"$unfold\",\n \"size\": \"x-small\",\n \"variant\": \"plain\",\n \"aria-label\": t('$vuetify.colorPicker.ariaLabel.changeFormat'),\n \"onClick\": () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode);\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);\n }\n }, null)]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerEdit.js.map","/* eslint-disable max-statements */\n// Composables\nimport { makeElevationProps } from \"../../composables/elevation.js\";\nimport { useForm } from \"../../composables/form.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { makeRoundedProps } from \"../../composables/rounded.js\"; // Utilities\nimport { computed, nextTick, provide, ref, shallowRef, toRef } from 'vue';\nimport { clamp, createRange, getDecimals, propsFactory } from \"../../util/index.js\"; // Types\nexport const VSliderSymbol = Symbol.for('vuetify:v-slider');\nexport function getOffset(e, el, direction) {\n const vertical = direction === 'vertical';\n const rect = el.getBoundingClientRect();\n const touch = 'touches' in e ? e.touches[0] : e;\n return vertical ? touch.clientY - (rect.top + rect.height / 2) : touch.clientX - (rect.left + rect.width / 2);\n}\nfunction getPosition(e, position) {\n if ('touches' in e && e.touches.length) return e.touches[0][position];else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position];else return e[position];\n}\nexport const makeSliderProps = propsFactory({\n disabled: {\n type: Boolean,\n default: null\n },\n error: Boolean,\n readonly: {\n type: Boolean,\n default: null\n },\n max: {\n type: [Number, String],\n default: 100\n },\n min: {\n type: [Number, String],\n default: 0\n },\n step: {\n type: [Number, String],\n default: 0\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String],\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n thumbSize: {\n type: [Number, String],\n default: 20\n },\n showTicks: {\n type: [Boolean, String],\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n ticks: {\n type: [Array, Object]\n },\n tickSize: {\n type: [Number, String],\n default: 2\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator: v => ['vertical', 'horizontal'].includes(v)\n },\n reverse: Boolean,\n noKeyboard: Boolean,\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2\n }),\n ripple: {\n type: Boolean,\n default: true\n }\n}, 'Slider');\nexport const useSteps = props => {\n const min = computed(() => parseFloat(props.min));\n const max = computed(() => parseFloat(props.max));\n const step = computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0);\n const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));\n function roundValue(value) {\n value = parseFloat(value);\n if (step.value <= 0) return value;\n const clamped = clamp(value, min.value, max.value);\n const offset = min.value % step.value;\n let newValue = Math.round((clamped - offset) / step.value) * step.value + offset;\n if (clamped > newValue && newValue + step.value > max.value) {\n newValue = max.value;\n }\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value));\n }\n return {\n min,\n max,\n step,\n decimals,\n roundValue\n };\n};\nexport const useSlider = _ref => {\n let {\n props,\n steps,\n onSliderStart,\n onSliderMove,\n onSliderEnd,\n getActiveThumb\n } = _ref;\n const form = useForm(props);\n const {\n isRtl\n } = useRtl();\n const isReversed = toRef(() => props.reverse);\n const vertical = computed(() => props.direction === 'vertical');\n const indexFromEnd = computed(() => vertical.value !== isReversed.value);\n const {\n min,\n max,\n step,\n decimals,\n roundValue\n } = steps;\n const thumbSize = computed(() => parseInt(props.thumbSize, 10));\n const tickSize = computed(() => parseInt(props.tickSize, 10));\n const trackSize = computed(() => parseInt(props.trackSize, 10));\n const numTicks = computed(() => (max.value - min.value) / step.value);\n const thumbColor = computed(() => props.error || form.isDisabled.value ? undefined : props.thumbColor ?? props.color);\n const thumbLabelColor = computed(() => props.error || form.isDisabled.value ? undefined : props.thumbColor);\n const trackColor = computed(() => props.error || form.isDisabled.value ? undefined : props.trackColor ?? props.color);\n const trackFillColor = computed(() => props.error || form.isDisabled.value ? undefined : props.trackFillColor ?? props.color);\n const mousePressed = shallowRef(false);\n const startOffset = shallowRef(0);\n const trackContainerRef = ref();\n const activeThumbRef = ref();\n function parseMouseMove(e) {\n const el = trackContainerRef.value?.$el;\n if (!el) return;\n const vertical = props.direction === 'vertical';\n const start = vertical ? 'top' : 'left';\n const length = vertical ? 'height' : 'width';\n const position = vertical ? 'clientY' : 'clientX';\n const {\n [start]: trackStart,\n [length]: trackLength\n } = el.getBoundingClientRect();\n const clickOffset = getPosition(e, position);\n\n // It is possible for left to be NaN, force to number\n let clickPos = clamp((clickOffset - trackStart - startOffset.value) / trackLength) || 0;\n if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos;\n return roundValue(min.value + clickPos * (max.value - min.value));\n }\n const handleStop = e => {\n const value = parseMouseMove(e);\n if (value != null) {\n onSliderEnd({\n value\n });\n }\n mousePressed.value = false;\n startOffset.value = 0;\n };\n const handleStart = e => {\n const value = parseMouseMove(e);\n activeThumbRef.value = getActiveThumb(e);\n if (!activeThumbRef.value) return;\n mousePressed.value = true;\n if (activeThumbRef.value.contains(e.target)) {\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction);\n } else {\n startOffset.value = 0;\n if (value != null) {\n onSliderMove({\n value\n });\n }\n }\n if (value != null) {\n onSliderStart({\n value\n });\n }\n nextTick(() => activeThumbRef.value?.focus());\n };\n const moveListenerOptions = {\n passive: true,\n capture: true\n };\n function onMouseMove(e) {\n const value = parseMouseMove(e);\n if (value != null) {\n onSliderMove({\n value\n });\n }\n }\n function onSliderMouseUp(e) {\n e.stopPropagation();\n e.preventDefault();\n handleStop(e);\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions);\n window.removeEventListener('mouseup', onSliderMouseUp);\n }\n function onSliderTouchend(e) {\n handleStop(e);\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions);\n e.target?.removeEventListener('touchend', onSliderTouchend);\n }\n function onSliderTouchstart(e) {\n handleStart(e);\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions);\n e.target?.addEventListener('touchend', onSliderTouchend, {\n passive: false\n });\n }\n function onSliderMousedown(e) {\n if (e.button !== 0) return;\n e.preventDefault();\n handleStart(e);\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions);\n window.addEventListener('mouseup', onSliderMouseUp, {\n passive: false\n });\n }\n const position = val => {\n const percentage = (val - min.value) / (max.value - min.value) * 100;\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100);\n };\n const showTicks = toRef(() => props.showTicks);\n const parsedTicks = computed(() => {\n if (!showTicks.value) return [];\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + t * step.value;\n return {\n value,\n position: position(value)\n };\n }) : [];\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({\n value: t,\n position: position(t),\n label: t.toString()\n }));\n return Object.keys(props.ticks).map(key => ({\n value: parseFloat(key),\n position: position(parseFloat(key)),\n label: props.ticks[key]\n }));\n });\n const hasLabels = computed(() => parsedTicks.value.some(_ref2 => {\n let {\n label\n } = _ref2;\n return !!label;\n }));\n const data = {\n activeThumbRef,\n color: toRef(() => props.color),\n decimals,\n disabled: form.isDisabled,\n direction: toRef(() => props.direction),\n elevation: toRef(() => props.elevation),\n hasLabels,\n isReversed,\n indexFromEnd,\n min,\n max,\n mousePressed,\n noKeyboard: toRef(() => props.noKeyboard),\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: form.isReadonly,\n rounded: toRef(() => props.rounded),\n roundValue,\n showTicks,\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabelColor,\n thumbLabel: toRef(() => props.thumbLabel),\n ticks: toRef(() => props.ticks),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical\n };\n provide(VSliderSymbol, data);\n return data;\n};\n//# sourceMappingURL=slider.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSliderThumb.css\";\n\n// Components\nimport { VSliderSymbol } from \"./slider.js\";\nimport { VScaleTransition } from \"../transitions/index.js\"; // Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useElevation } from \"../../composables/elevation.js\";\nimport { useRtl } from \"../../composables/locale.js\"; // Directives\nimport vRipple from \"../../directives/ripple/index.js\"; // Utilities\nimport { computed, inject } from 'vue';\nimport { convertToUnit, genericComponent, keyValues, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVSliderThumbProps = propsFactory({\n focused: Boolean,\n max: {\n type: Number,\n required: true\n },\n min: {\n type: Number,\n required: true\n },\n modelValue: {\n type: Number,\n required: true\n },\n position: {\n type: Number,\n required: true\n },\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n name: String,\n noKeyboard: Boolean,\n ...makeComponentProps()\n}, 'VSliderThumb');\nexport const VSliderThumb = genericComponent()({\n name: 'VSliderThumb',\n directives: {\n vRipple\n },\n props: makeVSliderThumbProps(),\n emits: {\n 'update:modelValue': v => true\n },\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const slider = inject(VSliderSymbol);\n const {\n isRtl,\n rtlClasses\n } = useRtl();\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider');\n const {\n min,\n max,\n thumbColor,\n thumbLabelColor,\n step,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n isReversed,\n vertical,\n readonly,\n elevation,\n mousePressed,\n decimals,\n indexFromEnd\n } = slider;\n const elevationProps = computed(() => !disabled.value ? elevation.value : undefined);\n const {\n elevationClasses\n } = useElevation(elevationProps);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(thumbColor);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(thumbLabelColor);\n const {\n pageup,\n pagedown,\n end,\n home,\n left,\n right,\n down,\n up\n } = keyValues;\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up];\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3];else return [1, 5, 10];\n });\n function parseKeydown(e, value) {\n if (props.noKeyboard || disabled.value) return;\n if (!relevantKeys.includes(e.key)) return;\n e.preventDefault();\n const _step = step.value || 0.1;\n const steps = (max.value - min.value) / _step;\n if ([left, right, down, up].includes(e.key)) {\n const increase = vertical.value ? [isRtl.value ? left : right, isReversed.value ? down : up] : indexFromEnd.value !== isRtl.value ? [left, up] : [right, up];\n const direction = increase.includes(e.key) ? 1 : -1;\n const multiplier = e.shiftKey ? 2 : e.ctrlKey ? 1 : 0;\n if (direction === -1 && value === max.value && !multiplier && !Number.isInteger(steps)) {\n value = value - steps % 1 * _step;\n } else {\n value = value + direction * _step * multipliers.value[multiplier];\n }\n } else if (e.key === home) {\n value = min.value;\n } else if (e.key === end) {\n value = max.value;\n } else {\n const direction = e.key === pagedown ? 1 : -1;\n value = value - direction * _step * (steps > 100 ? steps / 10 : 10);\n }\n return Math.max(props.min, Math.min(props.max, value));\n }\n function onKeydown(e) {\n const newValue = parseKeydown(e, props.modelValue);\n newValue != null && emit('update:modelValue', newValue);\n }\n useRender(() => {\n const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-thumb', {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value\n }, props.class, rtlClasses.value]),\n \"style\": _normalizeStyle([{\n '--v-slider-thumb-position': positionPercentage,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value)\n }, props.style]),\n \"role\": \"slider\",\n \"tabindex\": disabled.value ? -1 : 0,\n \"aria-label\": props.name,\n \"aria-valuemin\": min.value,\n \"aria-valuemax\": max.value,\n \"aria-valuenow\": props.modelValue,\n \"aria-readonly\": !!readonly.value,\n \"aria-orientation\": direction.value,\n \"onKeydown\": !readonly.value ? onKeydown : undefined\n }, [_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value]),\n \"style\": _normalizeStyle(textColorStyles.value)\n }, null), _withDirectives(_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-thumb__ripple', textColorClasses.value]),\n \"style\": _normalizeStyle(textColorStyles.value)\n }, null), [[vRipple, props.ripple, null, {\n circle: true,\n center: true\n }]]), _createVNode(VScaleTransition, {\n \"origin\": \"bottom center\"\n }, {\n default: () => [_withDirectives(_createElementVNode(\"div\", {\n \"class\": \"v-slider-thumb__label-container\"\n }, [_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-thumb__label', backgroundColorClasses.value]),\n \"style\": _normalizeStyle(backgroundColorStyles.value)\n }, [_createElementVNode(\"div\", null, [slots['thumb-label']?.({\n modelValue: props.modelValue\n }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)]), _createElementVNode(\"div\", {\n \"class\": \"v-slider-thumb__label-wedge\"\n }, null)])]), [[_vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]\n })]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VSliderThumb.js.map","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VSliderTrack.css\";\n\n// Components\nimport { VSliderSymbol } from \"./slider.js\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useRounded } from \"../../composables/rounded.js\"; // Utilities\nimport { computed, inject } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVSliderTrackProps = propsFactory({\n start: {\n type: Number,\n required: true\n },\n stop: {\n type: Number,\n required: true\n },\n ...makeComponentProps()\n}, 'VSliderTrack');\nexport const VSliderTrack = genericComponent()({\n name: 'VSliderTrack',\n props: makeVSliderTrackProps(),\n emits: {},\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const slider = inject(VSliderSymbol);\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider');\n const {\n color,\n parsedTicks,\n rounded,\n showTicks,\n tickSize,\n trackColor,\n trackFillColor,\n trackSize,\n vertical,\n min,\n max,\n indexFromEnd\n } = slider;\n const {\n roundedClasses\n } = useRounded(rounded);\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles\n } = useBackgroundColor(trackFillColor);\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles\n } = useBackgroundColor(trackColor);\n const startDir = computed(() => `inset-${vertical.value ? 'block' : 'inline'}-${indexFromEnd.value ? 'end' : 'start'}`);\n const endDir = computed(() => vertical.value ? 'height' : 'width');\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%'\n };\n });\n const trackFillWidth = computed(() => props.stop - props.start);\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%')\n };\n });\n const computedTicks = computed(() => {\n if (!showTicks.value) return [];\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;\n return ticks.map((tick, index) => {\n const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined;\n return _createElementVNode(\"div\", {\n \"key\": tick.value,\n \"class\": _normalizeClass(['v-slider-track__tick', {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n 'v-slider-track__tick--first': tick.value === min.value,\n 'v-slider-track__tick--last': tick.value === max.value\n }]),\n \"style\": {\n [startDir.value]: directionValue\n }\n }, [(tick.label || slots['tick-label']) && _createElementVNode(\"div\", {\n \"class\": \"v-slider-track__tick-label\"\n }, [slots['tick-label']?.({\n tick,\n index\n }) ?? tick.label])]);\n });\n });\n useRender(() => {\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-track', roundedClasses.value, props.class]),\n \"style\": _normalizeStyle([{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value)\n }, props.style])\n }, [_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-track__background', trackColorClasses.value, {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value\n }]),\n \"style\": {\n ...backgroundStyles.value,\n ...trackColorStyles.value\n }\n }, null), _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-track__fill', trackFillColorClasses.value]),\n \"style\": {\n ...trackFillStyles.value,\n ...trackFillColorStyles.value\n }\n }, null), showTicks.value && _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-slider-track__ticks', {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always'\n }])\n }, [computedTicks.value])]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VSliderTrack.js.map","import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VSlider.css\";\n\n// Components\nimport { VSliderThumb } from \"./VSliderThumb.js\";\nimport { VSliderTrack } from \"./VSliderTrack.js\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.js\";\nimport { VLabel } from \"../VLabel/index.js\"; // Composables\nimport { makeSliderProps, useSlider, useSteps } from \"./slider.js\";\nimport { makeFocusProps, useFocus } from \"../../composables/focus.js\";\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { computed, ref } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n modelValue: {\n type: [Number, String],\n default: 0\n }\n}, 'VSlider');\nexport const VSlider = genericComponent()({\n name: 'VSlider',\n props: makeVSliderProps(),\n emits: {\n 'update:focused': value => true,\n 'update:modelValue': v => true,\n start: value => true,\n end: value => true\n },\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const thumbContainerRef = ref();\n const inputRef = ref();\n const {\n rtlClasses\n } = useRtl();\n const steps = useSteps(props);\n const model = useProxiedModel(props, 'modelValue', undefined, value => {\n return steps.roundValue(value == null ? steps.min.value : value);\n });\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n disabled,\n readonly,\n noKeyboard\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n if (!disabled.value && !readonly.value) {\n emit('start', model.value);\n }\n },\n onSliderEnd: _ref2 => {\n let {\n value\n } = _ref2;\n const roundedValue = roundValue(value);\n if (!disabled.value && !readonly.value) {\n model.value = roundedValue;\n }\n emit('end', roundedValue);\n },\n onSliderMove: _ref3 => {\n let {\n value\n } = _ref3;\n if (!disabled.value && !readonly.value) {\n model.value = roundValue(value);\n }\n },\n getActiveThumb: () => thumbContainerRef.value?.$el\n });\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const trackStop = computed(() => position(model.value));\n useRender(() => {\n const inputProps = VInput.filterProps(props);\n const hasPrepend = !!(props.label || slots.label || slots.prepend);\n return _createVNode(VInput, _mergeProps({\n \"ref\": inputRef,\n \"class\": ['v-slider', {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': disabled.value\n }, rtlClasses.value, props.class],\n \"style\": props.style\n }, inputProps, {\n \"focused\": isFocused.value\n }), {\n ...slots,\n prepend: hasPrepend ? slotProps => _createElementVNode(_Fragment, null, [slots.label?.(slotProps) ?? (props.label ? _createVNode(VLabel, {\n \"id\": slotProps.id.value,\n \"class\": \"v-slider__label\",\n \"text\": props.label\n }, null) : undefined), slots.prepend?.(slotProps)]) : undefined,\n default: _ref4 => {\n let {\n id,\n messagesId\n } = _ref4;\n return _createElementVNode(\"div\", {\n \"class\": \"v-slider__container\",\n \"onMousedown\": !readonly.value ? onSliderMousedown : undefined,\n \"onTouchstartPassive\": !readonly.value ? onSliderTouchstart : undefined\n }, [_createElementVNode(\"input\", {\n \"id\": id.value,\n \"name\": props.name || id.value,\n \"disabled\": disabled.value,\n \"readonly\": readonly.value,\n \"tabindex\": \"-1\",\n \"value\": model.value\n }, null), _createVNode(VSliderTrack, {\n \"ref\": trackContainerRef,\n \"start\": 0,\n \"stop\": trackStop.value\n }, {\n 'tick-label': slots['tick-label']\n }), _createVNode(VSliderThumb, {\n \"ref\": thumbContainerRef,\n \"aria-describedby\": messagesId.value,\n \"focused\": isFocused.value,\n \"noKeyboard\": noKeyboard.value,\n \"min\": min.value,\n \"max\": max.value,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": v => model.value = v,\n \"position\": trackStop.value,\n \"elevation\": props.elevation,\n \"onFocus\": focus,\n \"onBlur\": blur,\n \"ripple\": props.ripple,\n \"name\": props.name\n }, {\n 'thumb-label': slots['thumb-label']\n })]);\n }\n });\n });\n return forwardRefs({\n focus: () => thumbContainerRef.value?.$el.focus()\n }, inputRef);\n }\n});\n//# sourceMappingURL=VSlider.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VColorPickerPreview.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.js\";\nimport { VSlider } from \"../VSlider/index.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useLocale } from \"../../composables/locale.js\"; // Utilities\nimport { onUnmounted } from 'vue';\nimport { nullColor } from \"./util/index.js\";\nimport { defineComponent, HSVtoCSS, parseColor, propsFactory, RGBtoHSV, SUPPORTS_EYE_DROPPER, useRender } from \"../../util/index.js\"; // Types\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n hideEyeDropper: Boolean,\n eyeDropperIcon: {\n type: IconValue,\n default: '$eyeDropper'\n },\n ...makeComponentProps()\n}, 'VColorPickerPreview');\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n props: makeVColorPickerPreviewProps(),\n emits: {\n 'update:color': color => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const {\n t\n } = useLocale();\n const abortController = new AbortController();\n onUnmounted(() => abortController.abort());\n async function openEyeDropper() {\n if (!SUPPORTS_EYE_DROPPER || props.disabled) return;\n const eyeDropper = new window.EyeDropper();\n try {\n const result = await eyeDropper.open({\n signal: abortController.signal\n });\n const colorHexValue = RGBtoHSV(parseColor(result.sRGBHex));\n emit('update:color', {\n ...(props.color ?? nullColor),\n ...colorHexValue\n });\n } catch (e) {}\n }\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-color-picker-preview', {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha\n }, props.class]),\n \"style\": _normalizeStyle(props.style)\n }, [SUPPORTS_EYE_DROPPER && !props.hideEyeDropper && _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-preview__eye-dropper\",\n \"key\": \"eyeDropper\"\n }, [_createVNode(VBtn, {\n \"aria-label\": t('$vuetify.colorPicker.ariaLabel.eyedropper'),\n \"density\": \"comfortable\",\n \"disabled\": props.disabled,\n \"icon\": props.eyeDropperIcon,\n \"variant\": \"plain\",\n \"onClick\": openEyeDropper\n }, null)]), _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-preview__dot\"\n }, [_createElementVNode(\"div\", {\n \"style\": {\n background: HSVtoCSS(props.color ?? nullColor)\n }\n }, null)]), _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-preview__sliders\"\n }, [_createVNode(VSlider, {\n \"class\": \"v-color-picker-preview__track v-color-picker-preview__hue\",\n \"name\": t('$vuetify.colorPicker.ariaLabel.hueSlider'),\n \"modelValue\": props.color?.h,\n \"onUpdate:modelValue\": h => emit('update:color', {\n ...(props.color ?? nullColor),\n h\n }),\n \"step\": 1,\n \"min\": 0,\n \"max\": 360,\n \"disabled\": props.disabled,\n \"thumbSize\": 14,\n \"trackSize\": 8,\n \"trackFillColor\": \"white\",\n \"hideDetails\": true\n }, null), !props.hideAlpha && _createVNode(VSlider, {\n \"class\": \"v-color-picker-preview__track v-color-picker-preview__alpha\",\n \"name\": t('$vuetify.colorPicker.ariaLabel.alphaSlider'),\n \"modelValue\": props.color?.a ?? 1,\n \"onUpdate:modelValue\": a => emit('update:color', {\n ...(props.color ?? nullColor),\n a\n }),\n \"step\": 0.01,\n \"min\": 0,\n \"max\": 1,\n \"disabled\": props.disabled,\n \"thumbSize\": 14,\n \"trackSize\": 8,\n \"trackFillColor\": \"white\",\n \"hideDetails\": true\n }, null)])]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerPreview.js.map","export const red = {\n base: '#f44336',\n lighten5: '#ffebee',\n lighten4: '#ffcdd2',\n lighten3: '#ef9a9a',\n lighten2: '#e57373',\n lighten1: '#ef5350',\n darken1: '#e53935',\n darken2: '#d32f2f',\n darken3: '#c62828',\n darken4: '#b71c1c',\n accent1: '#ff8a80',\n accent2: '#ff5252',\n accent3: '#ff1744',\n accent4: '#d50000'\n};\nexport const pink = {\n base: '#e91e63',\n lighten5: '#fce4ec',\n lighten4: '#f8bbd0',\n lighten3: '#f48fb1',\n lighten2: '#f06292',\n lighten1: '#ec407a',\n darken1: '#d81b60',\n darken2: '#c2185b',\n darken3: '#ad1457',\n darken4: '#880e4f',\n accent1: '#ff80ab',\n accent2: '#ff4081',\n accent3: '#f50057',\n accent4: '#c51162'\n};\nexport const purple = {\n base: '#9c27b0',\n lighten5: '#f3e5f5',\n lighten4: '#e1bee7',\n lighten3: '#ce93d8',\n lighten2: '#ba68c8',\n lighten1: '#ab47bc',\n darken1: '#8e24aa',\n darken2: '#7b1fa2',\n darken3: '#6a1b9a',\n darken4: '#4a148c',\n accent1: '#ea80fc',\n accent2: '#e040fb',\n accent3: '#d500f9',\n accent4: '#aa00ff'\n};\nexport const deepPurple = {\n base: '#673ab7',\n lighten5: '#ede7f6',\n lighten4: '#d1c4e9',\n lighten3: '#b39ddb',\n lighten2: '#9575cd',\n lighten1: '#7e57c2',\n darken1: '#5e35b1',\n darken2: '#512da8',\n darken3: '#4527a0',\n darken4: '#311b92',\n accent1: '#b388ff',\n accent2: '#7c4dff',\n accent3: '#651fff',\n accent4: '#6200ea'\n};\nexport const indigo = {\n base: '#3f51b5',\n lighten5: '#e8eaf6',\n lighten4: '#c5cae9',\n lighten3: '#9fa8da',\n lighten2: '#7986cb',\n lighten1: '#5c6bc0',\n darken1: '#3949ab',\n darken2: '#303f9f',\n darken3: '#283593',\n darken4: '#1a237e',\n accent1: '#8c9eff',\n accent2: '#536dfe',\n accent3: '#3d5afe',\n accent4: '#304ffe'\n};\nexport const blue = {\n base: '#2196f3',\n lighten5: '#e3f2fd',\n lighten4: '#bbdefb',\n lighten3: '#90caf9',\n lighten2: '#64b5f6',\n lighten1: '#42a5f5',\n darken1: '#1e88e5',\n darken2: '#1976d2',\n darken3: '#1565c0',\n darken4: '#0d47a1',\n accent1: '#82b1ff',\n accent2: '#448aff',\n accent3: '#2979ff',\n accent4: '#2962ff'\n};\nexport const lightBlue = {\n base: '#03a9f4',\n lighten5: '#e1f5fe',\n lighten4: '#b3e5fc',\n lighten3: '#81d4fa',\n lighten2: '#4fc3f7',\n lighten1: '#29b6f6',\n darken1: '#039be5',\n darken2: '#0288d1',\n darken3: '#0277bd',\n darken4: '#01579b',\n accent1: '#80d8ff',\n accent2: '#40c4ff',\n accent3: '#00b0ff',\n accent4: '#0091ea'\n};\nexport const cyan = {\n base: '#00bcd4',\n lighten5: '#e0f7fa',\n lighten4: '#b2ebf2',\n lighten3: '#80deea',\n lighten2: '#4dd0e1',\n lighten1: '#26c6da',\n darken1: '#00acc1',\n darken2: '#0097a7',\n darken3: '#00838f',\n darken4: '#006064',\n accent1: '#84ffff',\n accent2: '#18ffff',\n accent3: '#00e5ff',\n accent4: '#00b8d4'\n};\nexport const teal = {\n base: '#009688',\n lighten5: '#e0f2f1',\n lighten4: '#b2dfdb',\n lighten3: '#80cbc4',\n lighten2: '#4db6ac',\n lighten1: '#26a69a',\n darken1: '#00897b',\n darken2: '#00796b',\n darken3: '#00695c',\n darken4: '#004d40',\n accent1: '#a7ffeb',\n accent2: '#64ffda',\n accent3: '#1de9b6',\n accent4: '#00bfa5'\n};\nexport const green = {\n base: '#4caf50',\n lighten5: '#e8f5e9',\n lighten4: '#c8e6c9',\n lighten3: '#a5d6a7',\n lighten2: '#81c784',\n lighten1: '#66bb6a',\n darken1: '#43a047',\n darken2: '#388e3c',\n darken3: '#2e7d32',\n darken4: '#1b5e20',\n accent1: '#b9f6ca',\n accent2: '#69f0ae',\n accent3: '#00e676',\n accent4: '#00c853'\n};\nexport const lightGreen = {\n base: '#8bc34a',\n lighten5: '#f1f8e9',\n lighten4: '#dcedc8',\n lighten3: '#c5e1a5',\n lighten2: '#aed581',\n lighten1: '#9ccc65',\n darken1: '#7cb342',\n darken2: '#689f38',\n darken3: '#558b2f',\n darken4: '#33691e',\n accent1: '#ccff90',\n accent2: '#b2ff59',\n accent3: '#76ff03',\n accent4: '#64dd17'\n};\nexport const lime = {\n base: '#cddc39',\n lighten5: '#f9fbe7',\n lighten4: '#f0f4c3',\n lighten3: '#e6ee9c',\n lighten2: '#dce775',\n lighten1: '#d4e157',\n darken1: '#c0ca33',\n darken2: '#afb42b',\n darken3: '#9e9d24',\n darken4: '#827717',\n accent1: '#f4ff81',\n accent2: '#eeff41',\n accent3: '#c6ff00',\n accent4: '#aeea00'\n};\nexport const yellow = {\n base: '#ffeb3b',\n lighten5: '#fffde7',\n lighten4: '#fff9c4',\n lighten3: '#fff59d',\n lighten2: '#fff176',\n lighten1: '#ffee58',\n darken1: '#fdd835',\n darken2: '#fbc02d',\n darken3: '#f9a825',\n darken4: '#f57f17',\n accent1: '#ffff8d',\n accent2: '#ffff00',\n accent3: '#ffea00',\n accent4: '#ffd600'\n};\nexport const amber = {\n base: '#ffc107',\n lighten5: '#fff8e1',\n lighten4: '#ffecb3',\n lighten3: '#ffe082',\n lighten2: '#ffd54f',\n lighten1: '#ffca28',\n darken1: '#ffb300',\n darken2: '#ffa000',\n darken3: '#ff8f00',\n darken4: '#ff6f00',\n accent1: '#ffe57f',\n accent2: '#ffd740',\n accent3: '#ffc400',\n accent4: '#ffab00'\n};\nexport const orange = {\n base: '#ff9800',\n lighten5: '#fff3e0',\n lighten4: '#ffe0b2',\n lighten3: '#ffcc80',\n lighten2: '#ffb74d',\n lighten1: '#ffa726',\n darken1: '#fb8c00',\n darken2: '#f57c00',\n darken3: '#ef6c00',\n darken4: '#e65100',\n accent1: '#ffd180',\n accent2: '#ffab40',\n accent3: '#ff9100',\n accent4: '#ff6d00'\n};\nexport const deepOrange = {\n base: '#ff5722',\n lighten5: '#fbe9e7',\n lighten4: '#ffccbc',\n lighten3: '#ffab91',\n lighten2: '#ff8a65',\n lighten1: '#ff7043',\n darken1: '#f4511e',\n darken2: '#e64a19',\n darken3: '#d84315',\n darken4: '#bf360c',\n accent1: '#ff9e80',\n accent2: '#ff6e40',\n accent3: '#ff3d00',\n accent4: '#dd2c00'\n};\nexport const brown = {\n base: '#795548',\n lighten5: '#efebe9',\n lighten4: '#d7ccc8',\n lighten3: '#bcaaa4',\n lighten2: '#a1887f',\n lighten1: '#8d6e63',\n darken1: '#6d4c41',\n darken2: '#5d4037',\n darken3: '#4e342e',\n darken4: '#3e2723'\n};\nexport const blueGrey = {\n base: '#607d8b',\n lighten5: '#eceff1',\n lighten4: '#cfd8dc',\n lighten3: '#b0bec5',\n lighten2: '#90a4ae',\n lighten1: '#78909c',\n darken1: '#546e7a',\n darken2: '#455a64',\n darken3: '#37474f',\n darken4: '#263238'\n};\nexport const grey = {\n base: '#9e9e9e',\n lighten5: '#fafafa',\n lighten4: '#f5f5f5',\n lighten3: '#eeeeee',\n lighten2: '#e0e0e0',\n lighten1: '#bdbdbd',\n darken1: '#757575',\n darken2: '#616161',\n darken3: '#424242',\n darken4: '#212121'\n};\nexport const shades = {\n black: '#000000',\n white: '#ffffff',\n transparent: '#ffffff00'\n};\nexport default {\n red,\n pink,\n purple,\n deepPurple,\n indigo,\n blue,\n lightBlue,\n cyan,\n teal,\n green,\n lightGreen,\n lime,\n yellow,\n amber,\n orange,\n deepOrange,\n brown,\n blueGrey,\n grey,\n shades\n};\n//# sourceMappingURL=colors.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VColorPickerSwatches.css\";\n\n// Components\nimport { VIcon } from \"../VIcon/index.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\"; // Utilities\nimport { convertToUnit, deepEqual, defineComponent, getContrast, parseColor, propsFactory, RGBtoCSS, RGBtoHSV, useRender } from \"../../util/index.js\";\nimport colors from \"../../util/colors.js\"; // Types\nexport const makeVColorPickerSwatchesProps = propsFactory({\n swatches: {\n type: Array,\n default: () => parseDefaultColors(colors)\n },\n disabled: Boolean,\n color: Object,\n maxHeight: [Number, String],\n ...makeComponentProps()\n}, 'VColorPickerSwatches');\nfunction parseDefaultColors(colors) {\n return Object.keys(colors).map(key => {\n const color = colors[key];\n return color.base ? [color.base, color.darken4, color.darken3, color.darken2, color.darken1, color.lighten1, color.lighten2, color.lighten3, color.lighten4, color.lighten5] : [color.black, color.white, color.transparent];\n });\n}\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n props: makeVColorPickerSwatchesProps(),\n emits: {\n 'update:color': color => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-color-picker-swatches', props.class]),\n \"style\": _normalizeStyle([{\n maxHeight: convertToUnit(props.maxHeight)\n }, props.style])\n }, [_createElementVNode(\"div\", null, [props.swatches.map(swatch => _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-swatches__swatch\"\n }, [swatch.map(color => {\n const rgba = parseColor(color);\n const hsva = RGBtoHSV(rgba);\n const background = RGBtoCSS(rgba);\n return _createElementVNode(\"div\", {\n \"class\": \"v-color-picker-swatches__color\",\n \"onClick\": () => hsva && emit('update:color', hsva)\n }, [_createElementVNode(\"div\", {\n \"style\": {\n background\n }\n }, [props.color && deepEqual(props.color, hsva) ? _createVNode(VIcon, {\n \"size\": \"x-small\",\n \"icon\": \"$success\",\n \"color\": getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black'\n }, null) : undefined])]);\n })]))])]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerSwatches.js.map","import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VColorPicker.css\";\n\n// Components\nimport { VColorPickerCanvas } from \"./VColorPickerCanvas.js\";\nimport { VColorPickerEdit } from \"./VColorPickerEdit.js\";\nimport { makeVColorPickerPreviewProps, VColorPickerPreview } from \"./VColorPickerPreview.js\";\nimport { VColorPickerSwatches } from \"./VColorPickerSwatches.js\";\nimport { makeVPickerProps, VPicker } from \"../../labs/VPicker/VPicker.js\"; // Composables\nimport { useRtl } from \"../../composables/index.js\";\nimport { provideDefaults } from \"../../composables/defaults.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { computed, onBeforeMount, ref, watch } from 'vue';\nimport { extractColor, modes, nullColor } from \"./util/index.js\";\nimport { consoleWarn, defineComponent, HSVtoCSS, parseColor, pick, propsFactory, RGBtoHSV, useRender } from \"../../util/index.js\"; // Types\nexport const makeVColorPickerProps = propsFactory({\n canvasHeight: {\n type: [String, Number],\n default: 150\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: v => Object.keys(modes).includes(v)\n },\n modes: {\n type: Array,\n default: () => Object.keys(modes),\n validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))\n },\n showSwatches: Boolean,\n swatches: Array,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150\n },\n modelValue: {\n type: [Object, String]\n },\n ...makeVPickerProps({\n hideHeader: true\n }),\n ...pick(makeVColorPickerPreviewProps(), ['hideEyeDropper', 'eyeDropperIcon'])\n}, 'VColorPicker');\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n props: makeVColorPickerProps(),\n emits: {\n 'update:modelValue': color => true,\n 'update:mode': mode => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const mode = useProxiedModel(props, 'mode');\n const hue = ref(null);\n const model = useProxiedModel(props, 'modelValue', undefined, v => {\n if (v == null || v === '') return null;\n let c;\n try {\n c = RGBtoHSV(parseColor(v));\n } catch (err) {\n consoleWarn(err);\n return null;\n }\n return c;\n }, v => {\n if (!v) return null;\n return extractColor(v, props.modelValue);\n });\n const currentColor = computed(() => {\n return model.value ? {\n ...model.value,\n h: hue.value ?? model.value.h\n } : null;\n });\n const {\n rtlClasses\n } = useRtl();\n let externalChange = true;\n watch(model, v => {\n if (!externalChange) {\n // prevent hue shift from rgb conversion inaccuracy\n externalChange = true;\n return;\n }\n if (!v) return;\n hue.value = v.h;\n }, {\n immediate: true\n });\n const updateColor = hsva => {\n externalChange = false;\n hue.value = hsva.h;\n model.value = hsva;\n };\n onBeforeMount(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0];\n });\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined\n }\n });\n useRender(() => {\n const pickerProps = VPicker.filterProps(props);\n return _createVNode(VPicker, _mergeProps(pickerProps, {\n \"class\": ['v-color-picker', rtlClasses.value, props.class],\n \"style\": [{\n '--v-color-picker-color-hsv': HSVtoCSS({\n ...(currentColor.value ?? nullColor),\n a: 1\n })\n }, props.style]\n }), {\n ...slots,\n default: () => _createElementVNode(_Fragment, null, [!props.hideCanvas && _createVNode(VColorPickerCanvas, {\n \"key\": \"canvas\",\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"disabled\": props.disabled,\n \"dotSize\": props.dotSize,\n \"width\": props.width,\n \"height\": props.canvasHeight\n }, null), (!props.hideSliders || !props.hideInputs) && _createElementVNode(\"div\", {\n \"key\": \"controls\",\n \"class\": \"v-color-picker__controls\"\n }, [!props.hideSliders && _createVNode(VColorPickerPreview, {\n \"key\": \"preview\",\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"hideAlpha\": !mode.value.endsWith('a'),\n \"disabled\": props.disabled,\n \"hideEyeDropper\": props.hideEyeDropper,\n \"eyeDropperIcon\": props.eyeDropperIcon\n }, null), !props.hideInputs && _createVNode(VColorPickerEdit, {\n \"key\": \"edit\",\n \"modes\": props.modes,\n \"mode\": mode.value,\n \"onUpdate:mode\": m => mode.value = m,\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"disabled\": props.disabled\n }, null)]), props.showSwatches && _createVNode(VColorPickerSwatches, {\n \"key\": \"swatches\",\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"maxHeight\": props.swatchesMaxHeight,\n \"swatches\": props.swatches,\n \"disabled\": props.disabled\n }, null)])\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VColorPicker.js.map","/*\n|--------------------------------------------------------------------------\n| Resourceful String Field\n|--------------------------------------------------------------------------\n|\n| A comprehensive field component for string values with extensive format support\n| and professional UX features. Automatically adapts between single field editing,\n| multiple selection management, and read-only display through the unified field\n| composer architecture.\n|\n| ## Supported Formats:\n| - email: Email input with mailto: auto-linking and proper keyboard\n| - password: Secure input with interactive visibility toggle and masking\n| - url: URL input with auto-linking and validation\n| - tel: Telephone input with tel: auto-linking and number cleaning\n| - search: Search input with optimized keyboard and behavior\n| - color: Advanced color picker with hex/hexa modes and visual previews\n|\n| ## Format-Specific Features:\n|\n| ### Color Format\n| - Full-featured color picker dialog with canvas and swatches\n| - Mode switching between hex and hexa formats\n| - Visual color badges in all operational modes\n| - Responsive design: VDialog on desktop, VBottomSheet on mobile\n| - Canvas height optimization for mobile devices\n| - Real-time color preview in field and stringifier\n|\n| ### Password Format \n| - Interactive visibility toggle with smooth hover effects\n| - Security-focused fixed-length masking (10 icons) to prevent password length disclosure\n| - Custom masking using configurable Material Design icons\n| - Secure display across single, multiple, and read modes\n| - Professional toggle button with proper state management\n| - Consistent behavior in all field contexts\n|\n| ### Email/URL/Tel Formats\n| - Smart auto-linking via configurable autolink prop\n| - Intelligent href generation: mailto:, tel:, and direct URLs\n| - Phone number sanitization for tel format (strips non-digits)\n| - Proper HTML input types for enhanced mobile keyboards\n| - Conditional linking based on field state and content\n|\n| ## Operational Modes:\n|\n| ### Single Mode (multiple: false, renderMode: 'edit')\n| Direct VTextField with format-specific input types, visual enhancements,\n| and interactive elements (color picker, password toggle, etc.)\n|\n| ### Multiple Mode (multiple: true, renderMode: 'edit') \n| RMultipleField with sophisticated chip management, Enter-to-add functionality,\n| format-aware display, and full dialog interface for item management\n|\n| ### Read Mode (renderMode: 'read')\n| Clean text presentation with Oxford comma formatting for arrays, rich visual\n| previews for colors, secure password masking with toggle, and auto-generated\n| links when autolink is enabled\n|\n| ## Slot System:\n| Preserves all VTextField slots while adding format-specific enhancements:\n| - User slots render alongside format features\n| - Non-destructive enhancement pattern\n| - Full customization flexibility maintained\n| - Consistent slot interface across all modes\n|\n| ## Mobile Optimization:\n| - VBottomSheet dialogs for color picker on mobile devices\n| - Optimized canvas sizes for touch interfaces\n| - Proper keyboard handling for mobile browsers\n| - Touch-friendly interactive elements\n|\n|--------------------------------------------------------------------------\n| TODO\n|--------------------------------------------------------------------------\n|\n| - Password Field: Generate Password\n*/\n\nimport { useDisplay } from 'vuetify'\nimport { SvgIcon } from '../svg-icon'\nimport { deepmerge } from 'deepmerge-ts'\nimport { VBtn } from 'vuetify/components/VBtn'\nimport { VMenu } from 'vuetify/components/VMenu'\nimport { VCard } from 'vuetify/components/VCard'\nimport { VIcon } from 'vuetify/components/VIcon'\nimport { VHover } from 'vuetify/components/VHover'\nimport { VBadge } from 'vuetify/components/VBadge'\nimport { useFieldComposer } from './field_composer'\nimport { VDialog } from 'vuetify/components/VDialog'\nimport { VDivider } from 'vuetify/components/VDivider'\nimport { omit } from '@nhtio/vuetifiable/util/helpers'\nimport { toUnreactive, useSlot } from '../common/utils'\nimport { VTextField } from 'vuetify/components/VTextField'\nimport { propsAndEmitsFactory } from '../common/factories'\nimport { VColorPicker } from 'vuetify/components/VColorPicker'\nimport { VBottomSheet } from 'vuetify/components/VBottomSheet'\nimport { h, defineComponent, toRefs, computed, ref } from 'vue'\nimport { IconValue } from '@nhtio/vuetifiable/composables/icons'\nimport { VListItem, VListItemTitle } from 'vuetify/components/VList'\nimport { VToolbar, VToolbarItems } from 'vuetify/components/VToolbar'\nimport { makeCommonResourcefulFieldProps, commonEmitsValidators } from './common'\nimport { makeVTextFieldProps } from '@nhtio/vuetifiable/components/VTextField/VTextField'\nimport { mdiEye, mdiEyeOff, mdiCircleSmall, mdiEyedropper, mdiClose, mdiPalette } from '@mdi/js'\nimport type { SharedUnionFields } from 'type-fest'\nimport type { SingleFieldRenderer } from './field_composer'\nimport type { LooseRequired } from '@vue/shared/dist/shared.d.ts'\nimport type { makeVBtnProps } from '@nhtio/vuetifiable/components/VBtn/VBtn'\nimport type { NamedSlotParameters, ExtractSlotDefinitions } from '../common/types'\nimport type { CommonResourcefulFieldPublicProps, RFieldStringifier } from './common'\nimport type { makeVDialogProps } from '@nhtio/vuetifiable/components/VDialog/VDialog'\nimport type { makeVBottomSheetProps } from '@nhtio/vuetifiable/components/VBottomSheet/VBottomSheet'\nimport type {\n PropType,\n ExtractPublicPropTypes,\n ToRefs,\n VNode,\n SlotsType,\n ComponentPublicInstance,\n} from 'vue'\n\ntype VBtnPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVBtnProps>>\ntype VDialogPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVDialogProps>>\ntype VBottomSheetPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVBottomSheetProps>>\ntype CommonDialogPublicProps = SharedUnionFields<VDialogPublicProps | VBottomSheetPublicProps>\ntype VMenuSlots = ExtractSlotDefinitions<typeof VMenu.slots>\ntype VTextFieldSlots = ExtractSlotDefinitions<typeof VTextField.slots>\n\n/**\n * Supported string field format types that determine input behavior, validation,\n * and visual presentation. Each format provides specialized functionality while\n * maintaining consistent behavior across all operational modes.\n *\n * @example\n * ```typescript\n * // Email format with auto-linking\n * <RStringField format=\"email\" autolink />\n *\n * // Password with custom icons\n * <RStringField\n * format=\"password\"\n * showPasswordIcon={() => h(VIcon, { icon: 'mdi-eye' })}\n * hidePasswordIcon={() => h(VIcon, { icon: 'mdi-eye-off' })}\n * />\n *\n * // Color picker with hexa mode\n * <RStringField format=\"color\" />\n * ```\n */\nexport const RStringFieldFormat = ['email', 'password', 'url', 'tel', 'search', 'color'] as const\n\n/**\n * Union type of all supported string field formats. Use this type for\n * props, function parameters, or conditional logic based on field format.\n *\n * @example\n * ```typescript\n * const handleFormatChange = (format: RStringFieldFormat) => {\n * switch (format) {\n * case 'color':\n * // Setup color picker logic\n * break\n * case 'password':\n * // Setup password security\n * break\n * // ... other formats\n * }\n * }\n * ```\n */\nexport type RStringFieldFormat = (typeof RStringFieldFormat)[number]\n\n/**\n * Color picker mode options for the color format. Determines the color\n * representation and input format in the color picker interface.\n *\n * - `hex`: Standard 6-digit hexadecimal color format (#RRGGBB)\n * - `hexa`: Extended 8-digit hexadecimal with alpha channel (#RRGGBBAA)\n *\n * @example\n * ```typescript\n * // Color picker will default to hex mode\n * const [colorMode, setColorMode] = useState<RStringColorFieldMode>('hex')\n *\n * // Switch to alpha channel support\n * setColorMode('hexa')\n * ```\n */\nexport const RStringColorFieldMode = ['hex', 'hexa'] as const\n\n/**\n * Union type for color picker modes. Used internally by the color picker\n * dialog to determine input format and validation rules.\n */\nexport type RStringColorFieldMode = (typeof RStringColorFieldMode)[number]\n\nconst isValidRStringFieldValue = (value: string | string[] | null | undefined): boolean => {\n if (null === value || 'undefined' === typeof value) return true\n if (Array.isArray(value)) return value.every((v) => typeof v === 'string')\n return typeof value === 'string'\n}\n\nconst { makeProps: makeRStringFieldProps, emits: rStringFieldEmits } = propsAndEmitsFactory(\n {\n ...omit(\n makeVTextFieldProps({\n clearIcon: () => h(SvgIcon, { d: mdiClose }),\n }),\n [\n 'appendIcon',\n 'appendInnerIcon',\n 'centerAffix',\n 'counter',\n 'counterValue',\n 'hideSpinButtons',\n 'modelModifiers',\n 'modelValue',\n 'persistentCounter',\n 'prependIcon',\n 'prependInnerIcon',\n 'rules',\n 'type',\n 'validationValue',\n 'onClick:append',\n 'onClick:appendInner',\n 'onClick:clear',\n 'onClick:prepend',\n 'onClick:prependInner',\n ]\n ),\n modelValue: {\n type: [String, Array, Object] as PropType<string | string[] | null | undefined>,\n default: undefined,\n },\n format: {\n type: String as PropType<RStringFieldFormat | undefined>,\n default: undefined,\n },\n autolink: {\n type: Boolean,\n default: false,\n },\n showPasswordIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiEye }),\n },\n hidePasswordIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiEyeOff }),\n },\n passwordMaskIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiCircleSmall }),\n },\n colorPickerIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiEyedropper }),\n },\n colorPickerModeIcon: {\n type: IconValue as PropType<IconValue>,\n default: () => h(SvgIcon, { d: mdiPalette }),\n },\n ...makeCommonResourcefulFieldProps(),\n },\n {\n 'update:modelValue': (value: string | string[] | null | undefined) =>\n isValidRStringFieldValue(value),\n 'update:model-value': (value: string | string[] | null | undefined) =>\n isValidRStringFieldValue(value),\n ...commonEmitsValidators,\n },\n 'RStringField'\n)\n\n/**\n * Factory function that creates comprehensive props for the RStringField component.\n * Combines VTextField props with field-specific options for format handling,\n * auto-linking, password management, color picker configuration, and unified\n * field architecture integration.\n *\n * @returns Props definition object for use with defineComponent\n *\n * @example\n * ```typescript\n * // Basic string field\n * const props = makeRStringFieldProps()\n *\n * // Access specific prop configurations\n * console.log(props.format) // Format selection prop\n * console.log(props.autolink) // Auto-linking control prop\n * console.log(props.multiple) // Multiple selection mode prop\n * ```\n */\nexport { makeRStringFieldProps }\n\n/**\n * Public props interface for the RStringField component. Includes all VTextField\n * props plus string field-specific options for format handling, auto-linking,\n * icon customization, and unified field architecture features.\n *\n * @example\n * ```typescript\n * // Component props typing\n * interface MyComponentProps {\n * stringFieldProps: RStringFieldProps\n * }\n *\n * // Programmatic prop construction\n * const fieldProps: RStringFieldProps = {\n * format: 'email',\n * autolink: true,\n * multiple: false,\n * label: 'Email Address',\n * // ... other VTextField props\n * }\n * ```\n */\nexport type RStringFieldProps = ExtractPublicPropTypes<ReturnType<typeof makeRStringFieldProps>>\ntype VTextFieldPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVTextFieldProps>>\n\n/**\n * Comprehensive string field component with extensive format support and professional\n * UX features. Automatically adapts between single field editing, multiple selection\n * management, and read-only display through the unified field composer architecture.\n *\n * Supports 6 specialized formats: email, password, url, tel, search, and color.\n * Each format provides tailored input behavior, validation, visual enhancements,\n * and interactive features while maintaining consistent behavior across all modes.\n *\n * @example\n * ```vue\n * <!-- Basic string field -->\n * <RStringField v-model=\"value\" label=\"Enter text\" />\n *\n * <!-- Email with auto-linking -->\n * <RStringField\n * v-model=\"email\"\n * format=\"email\"\n * autolink\n * label=\"Email Address\"\n * />\n *\n * <!-- Password with custom icons -->\n * <RStringField\n * v-model=\"password\"\n * format=\"password\"\n * label=\"Password\"\n * :showPasswordIcon=\"() => h(VIcon, { icon: 'mdi-eye' })\"\n * />\n *\n * <!-- Color picker -->\n * <RStringField\n * v-model=\"color\"\n * format=\"color\"\n * label=\"Choose Color\"\n * />\n *\n * <!-- Multiple selection -->\n * <RStringField\n * v-model=\"tags\"\n * multiple\n * label=\"Tags\"\n * :choices=\"availableTags\"\n * />\n * ```\n */\nexport const RStringField = defineComponent({\n name: 'RStringField',\n props: makeRStringFieldProps(),\n emits: rStringFieldEmits,\n slots: Object as SlotsType<VTextFieldSlots>,\n setup(props, { emit, slots }) {\n const { mobile } = useDisplay()\n const {\n modelValue,\n theme,\n rounded,\n tile,\n loading,\n class: className,\n style,\n bgColor,\n clearable,\n clearIcon,\n active,\n color,\n baseColor,\n dirty,\n disabled,\n glow,\n error,\n flat,\n iconColor,\n label,\n persistentClear,\n reverse,\n singleLine,\n variant,\n focused,\n errorMessages,\n maxErrors,\n name,\n readonly,\n validateOn,\n width,\n minWidth,\n maxWidth,\n density,\n id,\n hideDetails,\n hint,\n persistentHint,\n messages,\n direction,\n autofocus,\n prefix,\n placeholder,\n persistentPlaceholder,\n suffix,\n role,\n format: fieldFormat,\n renderMode,\n multiple,\n choices,\n allowUnspecifiedChoices,\n to,\n href,\n menuIcon,\n noValuesText,\n autolink,\n showPasswordIcon,\n hidePasswordIcon,\n passwordMaskIcon,\n colorPickerIcon,\n colorPickerModeIcon,\n onBlur,\n onChange,\n onInput,\n } = toRefs(props)\n const hrefRef = computed(() => {\n if (multiple.value) return href.value\n switch (fieldFormat.value) {\n case 'email':\n return autolink.value\n ? modelValue.value\n ? `mailto:${String(modelValue.value)}`\n : undefined\n : href.value\n case 'url':\n return autolink.value\n ? modelValue.value\n ? String(modelValue.value)\n : undefined\n : href.value\n case 'tel':\n return autolink.value\n ? modelValue.value\n ? `tel:${String(modelValue.value).replace(/\\D/g, '')}`\n : undefined\n : href.value\n default:\n return href.value\n }\n })\n const commonProps: ToRefs<LooseRequired<Readonly<CommonResourcefulFieldPublicProps>>> = {\n style,\n label,\n density,\n renderMode,\n multiple,\n choices,\n allowUnspecifiedChoices,\n 'to': autolink.value ? ref(undefined) : to,\n 'href': hrefRef,\n menuIcon,\n active,\n theme,\n disabled,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n focused,\n noValuesText,\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 showPassword = ref<boolean>(false)\n const stringifier = computed<RFieldStringifier<string>>(() => {\n switch (fieldFormat.value) {\n case 'color':\n return (val: string | null | undefined) =>\n h('span', { class: ['d-inline-flex', 'align-center'] }, [\n h(VBadge, { color: val || undefined, inline: true, dot: true, class: ['me-2'] }),\n h('span', {}, val || ''),\n ])\n case 'password':\n return (val: string | null | undefined) => {\n const rawString = val || ''\n const btn = h(\n VHover,\n {},\n {\n default: (opts?: { isHovering: boolean | null; props: Record<string, any> }) =>\n h(\n VBtn,\n {\n color: opts?.isHovering ? undefined : 'transparent',\n icon: true,\n variant: 'text',\n density: density.value,\n size: 'x-small',\n onClick: () => {\n showPassword.value = !showPassword.value\n },\n class: ['ms-2'],\n ...(opts ? opts.props : {}),\n },\n () =>\n h(VIcon, {\n icon: showPassword.value ? hidePasswordIcon.value : showPasswordIcon.value,\n size: 'small',\n })\n ),\n }\n )\n return h(\n 'span',\n { class: ['d-flex', 'align-center'] },\n showPassword.value\n ? [h('span', {}, rawString), btn]\n : [\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n h(VIcon, {\n icon: passwordMaskIcon.value,\n density: 'compact',\n class: ['px-0', 'mx-0'],\n }),\n btn,\n ]\n )\n }\n default:\n return (val: string) => val\n }\n })\n const vTextFieldBindings = computed<VTextFieldPublicProps>(\n () =>\n ({\n theme: theme.value,\n rounded: rounded.value,\n tile: tile.value,\n loading: loading.value,\n class: className.value,\n style: style.value,\n bgColor: bgColor.value,\n clearable: clearable.value,\n clearIcon: clearIcon.value,\n active: active.value,\n color: color.value,\n baseColor: baseColor.value,\n dirty: dirty.value,\n disabled: disabled.value,\n glow: glow.value,\n error: error.value,\n flat: flat.value,\n iconColor: iconColor.value,\n label: label.value,\n persistentClear: persistentClear.value,\n reverse: reverse.value,\n singleLine: singleLine.value,\n variant: variant.value,\n focused: focused.value,\n errorMessages: errorMessages.value,\n maxErrors: maxErrors.value,\n name: name.value,\n readonly: readonly.value,\n validateOn: validateOn.value,\n width: width.value,\n minWidth: minWidth.value,\n maxWidth: maxWidth.value,\n density: density.value,\n id: id.value,\n hideDetails: hideDetails.value,\n hint: hint.value,\n persistentHint: persistentHint.value,\n messages: messages.value,\n direction: direction.value,\n autofocus: autofocus.value,\n prefix: prefix.value,\n placeholder: placeholder.value,\n persistentPlaceholder: persistentPlaceholder.value,\n suffix: suffix.value,\n role: role.value,\n // @ts-ignore\n onBlur: onBlur.value,\n // @ts-ignore\n onChange: onChange.value,\n // @ts-ignore\n onInput: onInput.value,\n }) satisfies VTextFieldPublicProps\n )\n const vDialogMenuButtonRef = ref<VBtn>()\n const colorPickerOpen = ref(false)\n const colorPickerMode = ref<RStringColorFieldMode>('hex')\n const dialogMenuButtonBindings = computed<VBtnPublicProps>(() => ({\n ref: vDialogMenuButtonRef,\n modelValue: colorPickerOpen.value && 'color' === fieldFormat.value,\n icon: true,\n variant: 'text' as const,\n size: 'small',\n density: toUnreactive(density),\n onClick: (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n colorPickerOpen.value = !colorPickerOpen.value\n },\n }))\n const prependInnerSlotRenderer = (val: string | null | undefined) => {\n switch (fieldFormat.value) {\n case 'color':\n return h(VBadge, { color: val || undefined, inline: true, dot: true })\n default:\n return null\n }\n }\n const appendInnerSlotRenderer = (_val: string | null | undefined) => {\n switch (fieldFormat.value) {\n case 'password':\n return h(\n VBtn,\n {\n icon: true,\n variant: 'text',\n density: density.value,\n size: 'small',\n onClick: () => {\n showPassword.value = !showPassword.value\n },\n },\n () =>\n h(VIcon, {\n icon: showPassword.value ? hidePasswordIcon.value : showPasswordIcon.value,\n })\n )\n case 'color':\n return h(VBtn, dialogMenuButtonBindings.value, () =>\n h(VIcon, {\n icon: colorPickerIcon.value,\n })\n )\n default:\n return null\n }\n }\n const textFieldType = computed(() => {\n switch (fieldFormat.value) {\n case 'password':\n return showPassword.value ? 'text' : 'password'\n case 'email':\n case 'tel':\n case 'url':\n case 'search':\n return fieldFormat.value\n default:\n return 'text'\n }\n })\n const commonDialogBindings = computed<CommonDialogPublicProps>(() =>\n deepmerge(\n {\n modelValue: colorPickerOpen.value,\n retainFocus: true,\n theme: toUnreactive(theme),\n },\n {\n 'onUpdate:modelValue': (is: boolean) => {\n colorPickerOpen.value = is\n },\n }\n )\n )\n const dialogWindowBindings = computed<VDialogPublicProps>(() =>\n deepmerge(commonDialogBindings.value, {\n maxWidth: 500,\n maxHeight: 600,\n } satisfies VDialogPublicProps)\n )\n const dialogBottomSheetBindings = computed<VBottomSheetPublicProps>(() =>\n deepmerge(commonDialogBindings.value, {} satisfies VBottomSheetPublicProps)\n )\n const singleFieldRenderer: SingleFieldRenderer = ({\n props: fieldBindings,\n add,\n isMultiAdd,\n }) => {\n const colorPicker = computed<VNode>(() =>\n h(VCard, { class: ['d-flex', 'flex-column'] }, () => [\n h(\n VToolbar,\n {\n color: 'transparent',\n flat: true,\n class: ['flex-grow-0'],\n },\n () => [\n h(\n 'div',\n { class: ['flex-grow-1', 'd-flex', 'align-center', 'justify-center', 'pa-1'] },\n h(VTextField, {\n ...vTextFieldBindings.value,\n ...fieldBindings,\n type: textFieldType.value,\n hideDetails: true,\n class: [],\n clearable: true,\n clearIcon: () => h(SvgIcon, { d: mdiClose }),\n })\n ),\n h(VToolbarItems, {}, () => [\n h(\n VMenu,\n {\n closeOnContentClick: true,\n },\n {\n activator: ({\n props: menuActivatorProps,\n }: NamedSlotParameters<VMenuSlots, 'activator'>[0]) =>\n h(\n VBtn,\n {\n ...menuActivatorProps,\n variant: 'text' as const,\n },\n () => [\n h(VIcon, {\n icon: colorPickerModeIcon.value,\n class: ['me-2'],\n }),\n h('span', { class: ['text-overline'] }, colorPickerMode.value),\n ]\n ),\n default: () =>\n h(\n VCard,\n {\n maxHeight: 300,\n },\n () =>\n RStringColorFieldMode.map((v) =>\n h(\n VListItem,\n {\n key: v,\n class: ['text-overline'],\n active: v === colorPickerMode.value,\n onClick: () => {\n colorPickerMode.value = v\n },\n },\n () => h(VListItemTitle, { class: ['text-overline'] }, () => v)\n )\n )\n ),\n }\n ),\n h(\n VBtn,\n {\n icon: true,\n onClick: () => {\n colorPickerOpen.value = false\n },\n },\n () => [\n h(VIcon, {\n icon: () => h(SvgIcon, { d: mdiClose }),\n }),\n ]\n ),\n ]),\n ]\n ),\n h(VDivider, { class: ['flex-grow-0'] }),\n h(VColorPicker, {\n bgColor: 'transparent',\n divided: true,\n elevation: 0,\n canvasHeight: mobile.value ? 75 : undefined,\n ...fieldBindings,\n rounded: false,\n showSwatches: true,\n tile: true,\n width: '100%',\n hideInputs: true,\n class: ['flex-grow-1'],\n mode: colorPickerMode.value,\n }),\n ])\n )\n const prependInnerSlot = useSlot<VTextFieldSlots>('prepend-inner', slots)\n const appendInnerSlot = useSlot<VTextFieldSlots>('append-inner', slots)\n return h(\n VTextField,\n {\n ...vTextFieldBindings.value,\n ...fieldBindings,\n type: textFieldType.value,\n hideDetails: isMultiAdd ? true : hideDetails.value,\n class: isMultiAdd ? [] : className.value,\n onKeydown: (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n queueMicrotask(() => add())\n }\n },\n },\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n {\n ...slots,\n 'prepend-inner': (...args: NamedSlotParameters<VTextFieldSlots, 'prepend-inner'>) => [\n // @ts-expect-error\n prependInnerSlot ? prependInnerSlot(...args) : null,\n prependInnerSlotRenderer(fieldBindings.modelValue),\n ],\n 'append-inner': (...args: NamedSlotParameters<VTextFieldSlots, 'append-inner'>) => [\n appendInnerSlotRenderer(fieldBindings.modelValue),\n mobile.value\n ? h(VBottomSheet, dialogBottomSheetBindings.value, () => colorPicker.value)\n : h(VDialog, dialogWindowBindings.value, () => colorPicker.value),\n // @ts-expect-error\n appendInnerSlot ? appendInnerSlot(...args) : null,\n ],\n }\n )\n }\n const { composed } = useFieldComposer(\n commonProps,\n stringifier,\n singleFieldRenderer,\n emit,\n props['onUpdate:modelValue'],\n props['onUpdate:model-value'],\n modelValue,\n props.modelValue\n )\n return composed\n },\n})\n\n/**\n * Component type for the RStringField. Represents the complete string field\n * component with all format support, unified field architecture integration,\n * and comprehensive slot handling. Use this type for component references,\n * template refs, and programmatic component manipulation.\n *\n * @example\n * ```typescript\n * // Template ref typing\n * const stringFieldRef = ref<RStringField>()\n *\n * // Component type checking\n * const isStringField = (component: unknown): component is RStringField => {\n * return component?.name === 'RStringField'\n * }\n *\n * // Programmatic component usage\n * const createStringField = (): RStringField => {\n * return RStringField\n * }\n * ```\n */\nexport type RStringField = typeof RStringField & ComponentPublicInstance\n"],"names":["makeVBadgeProps","propsFactory","IconValue","makeComponentProps","makeLocationProps","makeRoundedProps","makeTagProps","makeThemeProps","makeTransitionProps","makeDimensionProps","VBadge","genericComponent","props","ctx","backgroundColorClasses","backgroundColorStyles","useBackgroundColor","roundedClasses","useRounded","t","useLocale","textColorClasses","textColorStyles","useTextColor","themeClasses","useTheme","locationStyles","useLocation","side","dimensionStyles","useDimension","useRender","value","content","badgeAttrs","attrs","pickWithRest","_createVNode","_mergeProps","_createElementVNode","MaybeTransition","_withDirectives","VIcon","_vShow","makeVColorPickerCanvasProps","VColorPickerCanvas","defineComponent","color","hue","_ref","emit","isInteracting","shallowRef","canvasRef","ref","canvasWidth","canvasHeight","_dotPosition","dotPosition","computed","val","x","y","clamp","dotStyles","radius","convertToUnit","resizeRef","useResizeObserver","entries","width","height","updateDotPosition","rect","left","top","handleMouseDown","e","handleMouseMove","handleMouseUp","coords","getEventCoordinates","updateCanvas","canvas","saturationGradient","valueGradient","watch","newVal","oldVal","onMounted","_normalizeClass","_normalizeStyle","stripAlpha","a","rest","extractColor","input","hasA","r","g","b","HSVtoRGB","h","HSVtoHSL","hex","HSVtoHex","converted","has","nullColor","rgba","c","v","RGBtoHSV","rgb","hsla","_ref2","HSLtoHSV","hsl","hexa","HexToHSV","modes","VColorPickerInput","label","_normalizeProps","_guardReactiveProps","makeVColorPickerEditProps","m","VColorPickerEdit","mode","enabledModes","key","inputs","_ref3","getValue","getColor","localeKey","inputProps","target","VBtn","mi","VSliderSymbol","getOffset","el","direction","vertical","touch","getPosition","position","makeSliderProps","makeElevationProps","useSteps","min","max","step","decimals","getDecimals","roundValue","clamped","offset","newValue","useSlider","steps","onSliderStart","onSliderMove","onSliderEnd","getActiveThumb","form","useForm","isRtl","useRtl","isReversed","toRef","indexFromEnd","thumbSize","tickSize","trackSize","numTicks","thumbColor","thumbLabelColor","trackColor","trackFillColor","mousePressed","startOffset","trackContainerRef","activeThumbRef","parseMouseMove","start","length","trackStart","trackLength","clickOffset","clickPos","handleStop","handleStart","nextTick","moveListenerOptions","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","showTicks","parsedTicks","createRange","hasLabels","data","provide","makeVSliderThumbProps","VSliderThumb","vRipple","slots","slider","inject","rtlClasses","disabled","thumbLabel","readonly","elevation","elevationProps","elevationClasses","useElevation","pageup","pagedown","end","home","right","down","up","keyValues","relevantKeys","multipliers","parseKeydown","_step","multiplier","onKeydown","positionPercentage","VScaleTransition","makeVSliderTrackProps","VSliderTrack","rounded","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","index","directionValue","makeVSliderProps","makeFocusProps","makeVInputProps","VSlider","thumbContainerRef","inputRef","model","useProxiedModel","noKeyboard","roundedValue","isFocused","focus","blur","useFocus","trackStop","VInput","hasPrepend","slotProps","_Fragment","VLabel","_ref4","id","messagesId","forwardRefs","makeVColorPickerPreviewProps","VColorPickerPreview","abortController","onUnmounted","openEyeDropper","SUPPORTS_EYE_DROPPER","eyeDropper","result","colorHexValue","parseColor","HSVtoCSS","red","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","colors","makeVColorPickerSwatchesProps","parseDefaultColors","VColorPickerSwatches","swatch","hsva","background","RGBtoCSS","deepEqual","getContrast","makeVColorPickerProps","makeVPickerProps","pick","VColorPicker","err","consoleWarn","currentColor","externalChange","updateColor","onBeforeMount","provideDefaults","pickerProps","VPicker","RStringFieldFormat","RStringColorFieldMode","isValidRStringFieldValue","makeRStringFieldProps","rStringFieldEmits","propsAndEmitsFactory","omit","makeVTextFieldProps","SvgIcon","mdiClose","mdiEye","mdiEyeOff","mdiCircleSmall","mdiEyedropper","mdiPalette","makeCommonResourcefulFieldProps","commonEmitsValidators","RStringField","mobile","useDisplay","modelValue","theme","tile","loading","className","style","bgColor","clearable","clearIcon","active","baseColor","dirty","glow","error","flat","iconColor","persistentClear","reverse","singleLine","variant","focused","errorMessages","maxErrors","name","validateOn","minWidth","maxWidth","density","hideDetails","hint","persistentHint","messages","autofocus","prefix","placeholder","persistentPlaceholder","suffix","role","fieldFormat","renderMode","multiple","choices","allowUnspecifiedChoices","to","href","menuIcon","noValuesText","autolink","showPasswordIcon","hidePasswordIcon","passwordMaskIcon","colorPickerIcon","colorPickerModeIcon","onBlur","onChange","onInput","toRefs","hrefRef","commonProps","showPassword","stringifier","rawString","btn","VHover","opts","vTextFieldBindings","vDialogMenuButtonRef","colorPickerOpen","colorPickerMode","dialogMenuButtonBindings","toUnreactive","prependInnerSlotRenderer","appendInnerSlotRenderer","_val","textFieldType","commonDialogBindings","deepmerge","is","dialogWindowBindings","dialogBottomSheetBindings","singleFieldRenderer","fieldBindings","add","isMultiAdd","colorPicker","VCard","VToolbar","VTextField","VToolbarItems","VMenu","menuActivatorProps","VListItem","VListItemTitle","VDivider","prependInnerSlot","useSlot","appendInnerSlot","args","VBottomSheet","VDialog","composed","useFieldComposer"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}