@nhtio/lucid-resourceful-vue-components 0.1.0-master-ebe57eab → 0.1.0-master-fd238c08

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 (147) hide show
  1. package/{VChip-1IMgN2NW.mjs → VChip-BslsWQfv.mjs} +2 -2
  2. package/{VChip-1IMgN2NW.mjs.map → VChip-BslsWQfv.mjs.map} +1 -1
  3. package/{VDatePicker-D3Y6VAGq.mjs → VDatePicker-QkOhEsiJ.mjs} +4 -4
  4. package/{VDatePicker-D3Y6VAGq.mjs.map → VDatePicker-QkOhEsiJ.mjs.map} +1 -1
  5. package/{VDialog-uKUuB6Ni.mjs → VDialog-CYWIsqyU.mjs} +3 -3
  6. package/{VDialog-uKUuB6Ni.mjs.map → VDialog-CYWIsqyU.mjs.map} +1 -1
  7. package/{VEmptyState-B5x_wEth.mjs → VEmptyState-DSkV3rdW.mjs} +2 -2
  8. package/{VEmptyState-B5x_wEth.mjs.map → VEmptyState-DSkV3rdW.mjs.map} +1 -1
  9. package/{VHover-DaqmIqJM.mjs → VHover-B2PK8R1R.mjs} +3 -3
  10. package/{VHover-DaqmIqJM.mjs.map → VHover-B2PK8R1R.mjs.map} +1 -1
  11. package/{VListItem-TG9oZPkm.mjs → VListItem-B2LElOLe.mjs} +3 -3
  12. package/{VListItem-TG9oZPkm.mjs.map → VListItem-B2LElOLe.mjs.map} +1 -1
  13. package/{VMenu-DbIG2Qhi.mjs → VMenu-CahiNXXZ.mjs} +3 -3
  14. package/{VMenu-DbIG2Qhi.mjs.map → VMenu-CahiNXXZ.mjs.map} +1 -1
  15. package/{VPicker-kVsex0W4.mjs → VPicker-DC_wz1Zr.mjs} +4 -4
  16. package/{VPicker-kVsex0W4.mjs.map → VPicker-DC_wz1Zr.mjs.map} +1 -1
  17. package/{VRadioGroup-DrU5JyGR.mjs → VRadioGroup-DMKik9Cu.mjs} +4 -4
  18. package/{VRadioGroup-DrU5JyGR.mjs.map → VRadioGroup-DMKik9Cu.mjs.map} +1 -1
  19. package/{VRow-cmYZqXOu.mjs → VRow-7oNLItQM.mjs} +2 -2
  20. package/{VRow-cmYZqXOu.mjs.map → VRow-7oNLItQM.mjs.map} +1 -1
  21. package/{VSheet-D_4R07YK.mjs → VSheet-DqbTSvsm.mjs} +2 -2
  22. package/{VSheet-D_4R07YK.mjs.map → VSheet-DqbTSvsm.mjs.map} +1 -1
  23. package/{actions-eZjKpI2f.mjs → actions-nnJGlDWx.mjs} +12 -12
  24. package/{actions-eZjKpI2f.mjs.map → actions-nnJGlDWx.mjs.map} +1 -1
  25. package/{alert-X_y7N0k5.mjs → alert-BXbhLNkg.mjs} +11 -11
  26. package/{alert-X_y7N0k5.mjs.map → alert-BXbhLNkg.mjs.map} +1 -1
  27. package/{bigint-BMjZO-KA.mjs → bigint-S8oJ2u2Y.mjs} +7 -7
  28. package/{bigint-BMjZO-KA.mjs.map → bigint-S8oJ2u2Y.mjs.map} +1 -1
  29. package/{boolean-BxVw3woA.mjs → boolean-BoaSL5pb.mjs} +10 -10
  30. package/{boolean-BxVw3woA.mjs.map → boolean-BoaSL5pb.mjs.map} +1 -1
  31. package/{clipboard-DRlt84JQ.mjs → clipboard-B4T3iSwL.mjs} +7 -7
  32. package/{clipboard-DRlt84JQ.mjs.map → clipboard-B4T3iSwL.mjs.map} +1 -1
  33. package/{common-Pv2k5d5L.mjs → common-crxptQS0.mjs} +15 -15
  34. package/{common-Pv2k5d5L.mjs.map → common-crxptQS0.mjs.map} +1 -1
  35. package/components/autorefresh_controller.mjs +1 -1
  36. package/components/control_button.mjs +1 -1
  37. package/components/control_button_bar.mjs +2 -2
  38. package/components/control_menu.mjs +1 -1
  39. package/components/custom_field.mjs +1 -1
  40. package/components/exporter.mjs +1 -1
  41. package/components/fields/bigint.mjs +1 -1
  42. package/components/fields/boolean.mjs +1 -1
  43. package/components/fields/date.mjs +1 -1
  44. package/components/fields/date_time.mjs +1 -1
  45. package/components/fields/enum.mjs +1 -1
  46. package/components/fields/integer.mjs +1 -1
  47. package/components/fields/number.mjs +1 -1
  48. package/components/fields/string.mjs +1 -1
  49. package/components/fields/unsigned_integer.mjs +1 -1
  50. package/components/fields.mjs +9 -9
  51. package/components/form_with_validation.mjs +1 -1
  52. package/components/resourceful_alerter.mjs +1 -1
  53. package/components/resourceful_index.mjs +1 -1
  54. package/components/resourceful_record.mjs +2 -2
  55. package/components/resourceful_record_default_form.mjs +1 -1
  56. package/components/resourceful_record_form.mjs +1 -1
  57. package/components/sortable.mjs +1 -1
  58. package/components/svg_icon.mjs +1 -1
  59. package/components/timezone_picker.mjs +1 -1
  60. package/components.mjs +23 -23
  61. package/composables.mjs +11 -11
  62. package/{custom-CorsNQ6V.mjs → custom-1zSxQhfh.mjs} +7 -7
  63. package/{custom-CorsNQ6V.mjs.map → custom-1zSxQhfh.mjs.map} +1 -1
  64. package/{date-CUv4AD1k.mjs → date-BaVQ-B5p.mjs} +10 -10
  65. package/{date-CUv4AD1k.mjs.map → date-BaVQ-B5p.mjs.map} +1 -1
  66. package/{date_time-DUPA8gK_.mjs → date_time-C2eWcsmU.mjs} +18 -18
  67. package/{date_time-DUPA8gK_.mjs.map → date_time-C2eWcsmU.mjs.map} +1 -1
  68. package/{display-DtPqxGxo.mjs → display-2uHLu-iA.mjs} +4 -4
  69. package/{display-DtPqxGxo.mjs.map → display-2uHLu-iA.mjs.map} +1 -1
  70. package/{display-CdPzCNpa.mjs → display-D19CpJw_.mjs} +3 -3
  71. package/{display-CdPzCNpa.mjs.map → display-D19CpJw_.mjs.map} +1 -1
  72. package/{enum-B2yaUE-A.mjs → enum-BshWH7_8.mjs} +9 -9
  73. package/{enum-B2yaUE-A.mjs.map → enum-BshWH7_8.mjs.map} +1 -1
  74. package/{exceptions-BYmapqhE.mjs → exceptions-K8eRFe_u.mjs} +2 -2
  75. package/{exceptions-BYmapqhE.mjs.map → exceptions-K8eRFe_u.mjs.map} +1 -1
  76. package/exceptions.mjs +2 -2
  77. package/factories.d.ts +1 -0
  78. package/factories.mjs +4 -2
  79. package/{field_composer-CUv8W3Tg.mjs → field_composer-BZoOWQ1U.mjs} +3 -3
  80. package/{field_composer-CUv8W3Tg.mjs.map → field_composer-BZoOWQ1U.mjs.map} +1 -1
  81. package/{form-zBaGUnUi.mjs → form-JY-hIKBm.mjs} +15 -16
  82. package/form-JY-hIKBm.mjs.map +1 -0
  83. package/{guards-DaiwJBYO.mjs → guards-DZPvWy_4.mjs} +3 -3
  84. package/guards-DZPvWy_4.mjs.map +1 -0
  85. package/guards.mjs +4 -4
  86. package/helpers.mjs +9 -9
  87. package/{http-Cxynx5pW.mjs → http-BbIZXN2x.mjs} +2 -2
  88. package/{http-Cxynx5pW.mjs.map → http-BbIZXN2x.mjs.map} +1 -1
  89. package/{http-BCXJjieC.mjs → http-pGFfofl9.mjs} +6 -3
  90. package/http-pGFfofl9.mjs.map +1 -0
  91. package/http.mjs +1 -1
  92. package/{index-BobM-vEI.mjs → index-BitVUrFg.mjs} +3 -3
  93. package/{index-BobM-vEI.mjs.map → index-BitVUrFg.mjs.map} +1 -1
  94. package/{index-BSGSQUvi.mjs → index-C7w5RPS8.mjs} +6 -6
  95. package/{index-BSGSQUvi.mjs.map → index-C7w5RPS8.mjs.map} +1 -1
  96. package/{index-1tiFk-z8.mjs → index-CZJ2FcjP.mjs} +2 -2
  97. package/{index-1tiFk-z8.mjs.map → index-CZJ2FcjP.mjs.map} +1 -1
  98. package/{index-Cp6PZ6jr.mjs → index-DHeWMCWw.mjs} +8 -8
  99. package/{index-Cp6PZ6jr.mjs.map → index-DHeWMCWw.mjs.map} +1 -1
  100. package/{index-Bux_9EQY.mjs → index-DiBGKnUB.mjs} +8 -8
  101. package/{index-Bux_9EQY.mjs.map → index-DiBGKnUB.mjs.map} +1 -1
  102. package/{index-CV-VR5ZN.mjs → index-Dl9jfPgI.mjs} +43 -43
  103. package/{index-CV-VR5ZN.mjs.map → index-Dl9jfPgI.mjs.map} +1 -1
  104. package/{index-otVKzohl.mjs → index-Dy1kohCE.mjs} +28 -19
  105. package/index-Dy1kohCE.mjs.map +1 -0
  106. package/{index-DGYeadWj.mjs → index-JGVXuda6.mjs} +4 -4
  107. package/{index-DGYeadWj.mjs.map → index-JGVXuda6.mjs.map} +1 -1
  108. package/{index-CfWOKNEo.mjs → index-dcZGsFwf.mjs} +3 -3
  109. package/{index-CfWOKNEo.mjs.map → index-dcZGsFwf.mjs.map} +1 -1
  110. package/{index-CzhpetTi.mjs → index-lUBFKgIk.mjs} +8 -8
  111. package/{index-CzhpetTi.mjs.map → index-lUBFKgIk.mjs.map} +1 -1
  112. package/index.mjs +40 -38
  113. package/{integer-BWKYSF5I.mjs → integer-DGV22mIh.mjs} +3 -3
  114. package/{integer-BWKYSF5I.mjs.map → integer-DGV22mIh.mjs.map} +1 -1
  115. package/{ioc-BRFP3w6U.mjs → ioc-CbjgKkoq.mjs} +2 -2
  116. package/{ioc-BRFP3w6U.mjs.map → ioc-CbjgKkoq.mjs.map} +1 -1
  117. package/ioc.mjs +1 -1
  118. package/{mdi-B06yTfXf.mjs → mdi-Kxmy15-q.mjs} +2 -2
  119. package/{mdi-B06yTfXf.mjs.map → mdi-Kxmy15-q.mjs.map} +1 -1
  120. package/{number-CV-ilUSy.mjs → number-ChyJi9k7.mjs} +8 -8
  121. package/{number-CV-ilUSy.mjs.map → number-ChyJi9k7.mjs.map} +1 -1
  122. package/package.json +38 -38
  123. package/private/resourceful-record/index.d.ts +9 -0
  124. package/private/resourceful-record/props.d.ts +4 -0
  125. package/private/services/browser.d.ts +2 -0
  126. package/{props-CWgQDMLq.mjs → props-B2HHemO2.mjs} +4 -4
  127. package/{props-CWgQDMLq.mjs.map → props-B2HHemO2.mjs.map} +1 -1
  128. package/{props-BBBc7J1q.mjs → props-BPO1G4n5.mjs} +4 -4
  129. package/{props-BBBc7J1q.mjs.map → props-BPO1G4n5.mjs.map} +1 -1
  130. package/{renderers-BD7CrBqo.mjs → renderers-Dowye4Bl.mjs} +14 -14
  131. package/{renderers-BD7CrBqo.mjs.map → renderers-Dowye4Bl.mjs.map} +1 -1
  132. package/{string-CcynWgei.mjs → string-DOIj21u5.mjs} +13 -13
  133. package/{string-CcynWgei.mjs.map → string-DOIj21u5.mjs.map} +1 -1
  134. package/{unsigned_integer-D0FzKzNU.mjs → unsigned_integer-cQWXKTHG.mjs} +4 -4
  135. package/{unsigned_integer-D0FzKzNU.mjs.map → unsigned_integer-cQWXKTHG.mjs.map} +1 -1
  136. package/{utils-C_uOac-v.mjs → utils-Dh8-g-7s.mjs} +2 -2
  137. package/{utils-C_uOac-v.mjs.map → utils-Dh8-g-7s.mjs.map} +1 -1
  138. package/{validation-D1FwcMNA.mjs → validation-DBLJZW1_.mjs} +6 -6
  139. package/{validation-D1FwcMNA.mjs.map → validation-DBLJZW1_.mjs.map} +1 -1
  140. package/{vendor-nhtio-vuetifiable-Qm2uuc7r.mjs → vendor-nhtio-vuetifiable-CRAkpWr4.mjs} +7 -7
  141. package/{vendor-nhtio-vuetifiable-Qm2uuc7r.mjs.map → vendor-nhtio-vuetifiable-CRAkpWr4.mjs.map} +1 -1
  142. package/{vendor-xlsx-BeYuj8cp.mjs → vendor-xlsx-B1NmWxyx.mjs} +2 -2
  143. package/{vendor-xlsx-BeYuj8cp.mjs.map → vendor-xlsx-B1NmWxyx.mjs.map} +1 -1
  144. package/form-zBaGUnUi.mjs.map +0 -1
  145. package/guards-DaiwJBYO.mjs.map +0 -1
  146. package/http-BCXJjieC.mjs.map +0 -1
  147. package/index-otVKzohl.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"string-CcynWgei.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":["_createVNode","_mergeProps","_createElementVNode","_withDirectives","_vShow","_normalizeClass","_normalizeStyle","stripAlpha","h","hex","_normalizeProps","_guardReactiveProps","props","vertical","position","vRipple","direction","_Fragment","colors","rgba","IconValue","defineComponent"],"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-DOIj21u5.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":["_createVNode","_mergeProps","_createElementVNode","_withDirectives","_vShow","_normalizeClass","_normalizeStyle","stripAlpha","h","hex","_normalizeProps","_guardReactiveProps","props","vertical","position","vRipple","direction","_Fragment","colors","rgba","IconValue","defineComponent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}