@nhtio/lucid-resourceful-vue-components 0.1.0-master-2b799e79 → 0.1.0-master-a0be600a

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 (135) hide show
  1. package/{VChip-DWwcL8cL.mjs → VChip-CD7B99FX.mjs} +2 -2
  2. package/{VChip-DWwcL8cL.mjs.map → VChip-CD7B99FX.mjs.map} +1 -1
  3. package/{VDatePicker-C7_ULYfO.mjs → VDatePicker-B5v5MFIN.mjs} +4 -4
  4. package/{VDatePicker-C7_ULYfO.mjs.map → VDatePicker-B5v5MFIN.mjs.map} +1 -1
  5. package/{VDialog-BVRDhoD7.mjs → VDialog-lUcuwX2n.mjs} +3 -3
  6. package/{VDialog-BVRDhoD7.mjs.map → VDialog-lUcuwX2n.mjs.map} +1 -1
  7. package/{VEmptyState-C2B0Znk9.mjs → VEmptyState-CAdMrRGA.mjs} +2 -2
  8. package/{VEmptyState-C2B0Znk9.mjs.map → VEmptyState-CAdMrRGA.mjs.map} +1 -1
  9. package/{VHover-DnB1GlWG.mjs → VHover-BCXXvhJf.mjs} +3 -3
  10. package/{VHover-DnB1GlWG.mjs.map → VHover-BCXXvhJf.mjs.map} +1 -1
  11. package/{VListItem-DojRgtpe.mjs → VListItem-Cc2-RZ21.mjs} +3 -3
  12. package/{VListItem-DojRgtpe.mjs.map → VListItem-Cc2-RZ21.mjs.map} +1 -1
  13. package/{VMenu-D2biKkpd.mjs → VMenu-DifPtEI3.mjs} +3 -3
  14. package/{VMenu-D2biKkpd.mjs.map → VMenu-DifPtEI3.mjs.map} +1 -1
  15. package/{VPicker-dxKS1KK4.mjs → VPicker-CGSCX2jB.mjs} +4 -4
  16. package/{VPicker-dxKS1KK4.mjs.map → VPicker-CGSCX2jB.mjs.map} +1 -1
  17. package/{VRadioGroup-lC_c6Ath.mjs → VRadioGroup-Bnw59gfS.mjs} +4 -4
  18. package/{VRadioGroup-lC_c6Ath.mjs.map → VRadioGroup-Bnw59gfS.mjs.map} +1 -1
  19. package/{VRow-BBY2gEjT.mjs → VRow-1b4yScY2.mjs} +2 -2
  20. package/{VRow-BBY2gEjT.mjs.map → VRow-1b4yScY2.mjs.map} +1 -1
  21. package/{VSheet-B4SA9_dv.mjs → VSheet-CuYNSxEn.mjs} +2 -2
  22. package/{VSheet-B4SA9_dv.mjs.map → VSheet-CuYNSxEn.mjs.map} +1 -1
  23. package/{actions-CXhEUJp6.mjs → actions-Dn25U_rd.mjs} +12 -12
  24. package/{actions-CXhEUJp6.mjs.map → actions-Dn25U_rd.mjs.map} +1 -1
  25. package/{alert-B0j6GH3V.mjs → alert-D7IVL2r2.mjs} +11 -11
  26. package/{alert-B0j6GH3V.mjs.map → alert-D7IVL2r2.mjs.map} +1 -1
  27. package/{bigint-DXS_rVbG.mjs → bigint-wE2NM5Oz.mjs} +7 -7
  28. package/{bigint-DXS_rVbG.mjs.map → bigint-wE2NM5Oz.mjs.map} +1 -1
  29. package/{boolean-BTu-4Ihs.mjs → boolean-B6lfu2lQ.mjs} +10 -10
  30. package/{boolean-BTu-4Ihs.mjs.map → boolean-B6lfu2lQ.mjs.map} +1 -1
  31. package/{clipboard-C6YTX8YB.mjs → clipboard-Bs9IxB_1.mjs} +7 -7
  32. package/{clipboard-C6YTX8YB.mjs.map → clipboard-Bs9IxB_1.mjs.map} +1 -1
  33. package/{common-a_cd4SQg.mjs → common-D62o_zAA.mjs} +12 -12
  34. package/{common-a_cd4SQg.mjs.map → common-D62o_zAA.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-CgyU3A_B.mjs → custom-GeZLHpx7.mjs} +7 -7
  63. package/{custom-CgyU3A_B.mjs.map → custom-GeZLHpx7.mjs.map} +1 -1
  64. package/{date-B8edF8kU.mjs → date-BSCbYrys.mjs} +10 -10
  65. package/{date-B8edF8kU.mjs.map → date-BSCbYrys.mjs.map} +1 -1
  66. package/{date_time-BNsYnH-e.mjs → date_time-DUUNvRa-.mjs} +18 -18
  67. package/{date_time-BNsYnH-e.mjs.map → date_time-DUUNvRa-.mjs.map} +1 -1
  68. package/{display-pfXaBUr6.mjs → display-BEkjokHp.mjs} +4 -4
  69. package/{display-pfXaBUr6.mjs.map → display-BEkjokHp.mjs.map} +1 -1
  70. package/{display-CHspVOz6.mjs → display-BeKXT2GD.mjs} +23 -23
  71. package/{display-CHspVOz6.mjs.map → display-BeKXT2GD.mjs.map} +1 -1
  72. package/{enum-DoxJn16e.mjs → enum-D8RGbgmx.mjs} +9 -9
  73. package/{enum-DoxJn16e.mjs.map → enum-D8RGbgmx.mjs.map} +1 -1
  74. package/{exceptions-BeFuVcrH.mjs → exceptions-DV9UeCpK.mjs} +2 -2
  75. package/{exceptions-BeFuVcrH.mjs.map → exceptions-DV9UeCpK.mjs.map} +1 -1
  76. package/exceptions.mjs +2 -2
  77. package/factories.mjs +2 -2
  78. package/{field_composer-CPqM1aSV.mjs → field_composer-DLz7bt12.mjs} +3 -3
  79. package/{field_composer-CPqM1aSV.mjs.map → field_composer-DLz7bt12.mjs.map} +1 -1
  80. package/{form-BkQlevYR.mjs → form-staLyXxV.mjs} +15 -15
  81. package/{form-BkQlevYR.mjs.map → form-staLyXxV.mjs.map} +1 -1
  82. package/{guards-D0G8CU2m.mjs → guards-DmJaSA6N.mjs} +2 -2
  83. package/{guards-D0G8CU2m.mjs.map → guards-DmJaSA6N.mjs.map} +1 -1
  84. package/guards.mjs +4 -4
  85. package/helpers.mjs +12 -12
  86. package/{http-C15bx-Gn.mjs → http-D8NGvFos.mjs} +9 -6
  87. package/{http-C15bx-Gn.mjs.map → http-D8NGvFos.mjs.map} +1 -1
  88. package/{http-ChBUYgv8.mjs → http-DfPLq6ce.mjs} +2 -2
  89. package/{http-ChBUYgv8.mjs.map → http-DfPLq6ce.mjs.map} +1 -1
  90. package/http.mjs +1 -1
  91. package/{index-CdaTAyzs.mjs → index-BWB0B_nb.mjs} +15 -15
  92. package/{index-CdaTAyzs.mjs.map → index-BWB0B_nb.mjs.map} +1 -1
  93. package/{index-Cb3Fmo7E.mjs → index-BaNgIAb2.mjs} +43 -43
  94. package/{index-Cb3Fmo7E.mjs.map → index-BaNgIAb2.mjs.map} +1 -1
  95. package/{index-De0W4KPF.mjs → index-Bp4lfHSa.mjs} +8 -8
  96. package/{index-De0W4KPF.mjs.map → index-Bp4lfHSa.mjs.map} +1 -1
  97. package/{index-DHoLuRuJ.mjs → index-CXEuIK4B.mjs} +6 -6
  98. package/{index-DHoLuRuJ.mjs.map → index-CXEuIK4B.mjs.map} +1 -1
  99. package/{index-CHELe70a.mjs → index-DGH0FZ_f.mjs} +8 -8
  100. package/{index-CHELe70a.mjs.map → index-DGH0FZ_f.mjs.map} +1 -1
  101. package/{index-CduefDwU.mjs → index-DWcM0xl9.mjs} +3 -3
  102. package/{index-CduefDwU.mjs.map → index-DWcM0xl9.mjs.map} +1 -1
  103. package/{index-DLzoBhUb.mjs → index-DYzvn7Sf.mjs} +4 -4
  104. package/{index-DLzoBhUb.mjs.map → index-DYzvn7Sf.mjs.map} +1 -1
  105. package/{index-BcDX9w4T.mjs → index-N2lUoQbz.mjs} +8 -8
  106. package/{index-BcDX9w4T.mjs.map → index-N2lUoQbz.mjs.map} +1 -1
  107. package/{index-CvhhGjZn.mjs → index-_7fLQjhW.mjs} +3 -3
  108. package/{index-CvhhGjZn.mjs.map → index-_7fLQjhW.mjs.map} +1 -1
  109. package/index.mjs +37 -37
  110. package/{integer-BWdmDp7S.mjs → integer-Cj8Jn6JJ.mjs} +3 -3
  111. package/{integer-BWdmDp7S.mjs.map → integer-Cj8Jn6JJ.mjs.map} +1 -1
  112. package/{ioc-Q-KAX6x1.mjs → ioc-BSX3tx4i.mjs} +2 -2
  113. package/{ioc-Q-KAX6x1.mjs.map → ioc-BSX3tx4i.mjs.map} +1 -1
  114. package/ioc.mjs +1 -1
  115. package/{mdi-jw9Ee7p6.mjs → mdi-C_p8wc7S.mjs} +22 -22
  116. package/{mdi-jw9Ee7p6.mjs.map → mdi-C_p8wc7S.mjs.map} +1 -1
  117. package/{number-Chf-qQs7.mjs → number-BXcyky8d.mjs} +8 -8
  118. package/{number-Chf-qQs7.mjs.map → number-BXcyky8d.mjs.map} +1 -1
  119. package/package.json +22 -22
  120. package/{props-fFnbtBgH.mjs → props-Cf7gqpvS.mjs} +6 -6
  121. package/{props-fFnbtBgH.mjs.map → props-Cf7gqpvS.mjs.map} +1 -1
  122. package/{props-eYGYq1uo.mjs → props-DZgIOjfJ.mjs} +4 -4
  123. package/{props-eYGYq1uo.mjs.map → props-DZgIOjfJ.mjs.map} +1 -1
  124. package/{renderers-DLsO8zG-.mjs → renderers-DeN9bBU8.mjs} +14 -14
  125. package/{renderers-DLsO8zG-.mjs.map → renderers-DeN9bBU8.mjs.map} +1 -1
  126. package/{string-D-UsgMTx.mjs → string-B2DiBetY.mjs} +13 -13
  127. package/{string-D-UsgMTx.mjs.map → string-B2DiBetY.mjs.map} +1 -1
  128. package/{unsigned_integer-7R2vw_Qn.mjs → unsigned_integer-IpXl23fH.mjs} +4 -4
  129. package/{unsigned_integer-7R2vw_Qn.mjs.map → unsigned_integer-IpXl23fH.mjs.map} +1 -1
  130. package/{utils-DehfJ8pT.mjs → utils-DBVrNuOO.mjs} +2 -2
  131. package/{utils-DehfJ8pT.mjs.map → utils-DBVrNuOO.mjs.map} +1 -1
  132. package/{validation-41gHTtyY.mjs → validation-D6aDAuWD.mjs} +5 -5
  133. package/{validation-41gHTtyY.mjs.map → validation-D6aDAuWD.mjs.map} +1 -1
  134. package/{vendor-nhtio-vuetifiable-CS-KbH1h.mjs → vendor-nhtio-vuetifiable-CBXbDsg0.mjs} +15 -15
  135. package/{vendor-nhtio-vuetifiable-CS-KbH1h.mjs.map → vendor-nhtio-vuetifiable-CBXbDsg0.mjs.map} +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VRow-BBY2gEjT.mjs","sources":["../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VGrid/VContainer.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VGrid/VCol.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VGrid/VRow.js"],"sourcesContent":["import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VGrid.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { makeTagProps } from \"../../composables/tag.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVContainerProps = propsFactory({\n fluid: {\n type: Boolean,\n default: false\n },\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeTagProps()\n}, 'VContainer');\nexport const VContainer = genericComponent()({\n name: 'VContainer',\n props: makeVContainerProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n rtlClasses\n } = useRtl();\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-container', {\n 'v-container--fluid': props.fluid\n }, rtlClasses.value, props.class]),\n \"style\": _normalizeStyle([dimensionStyles.value, props.style])\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VContainer.js.map","// Styles\nimport \"./VGrid.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { breakpoints } from \"../../composables/display.js\";\nimport { makeTagProps } from \"../../composables/tag.js\"; // Utilities\nimport { capitalize, computed, h } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.js\"; // Types\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false\n };\n return props;\n }, {});\n})();\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n const offsetKey = 'offset' + capitalize(val);\n props[offsetKey] = {\n type: [String, Number],\n default: null\n };\n return props;\n }, {});\n})();\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n const orderKey = 'order' + capitalize(val);\n props[orderKey] = {\n type: [String, Number],\n default: null\n };\n return props;\n }, {});\n})();\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps)\n};\nfunction breakpointClass(type, prop, val) {\n let className = type;\n if (val == null || val === false) {\n return undefined;\n }\n if (prop) {\n const breakpoint = prop.replace(type, '');\n className += `-${breakpoint}`;\n }\n if (type === 'col') {\n className = 'v-' + className;\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase();\n }\n // .order-md-6\n className += `-${val}`;\n return className.toLowerCase();\n}\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch'];\nexport const makeVColProps = propsFactory({\n cols: {\n type: [Boolean, String, Number],\n default: false\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: str => ALIGN_SELF_VALUES.includes(str)\n },\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VCol');\nexport const VCol = genericComponent()({\n name: 'VCol',\n props: makeVColProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const classes = computed(() => {\n const classList = [];\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type;\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value = props[prop];\n const className = breakpointClass(type, prop, value);\n if (className) classList.push(className);\n });\n }\n const hasColClasses = classList.some(className => className.startsWith('v-col-'));\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf\n });\n return classList;\n });\n return () => h(props.tag, {\n class: [classes.value, props.class],\n style: props.style\n }, slots.default?.());\n }\n});\n//# sourceMappingURL=VCol.js.map","// Styles\nimport \"./VGrid.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { breakpoints } from \"../../composables/display.js\";\nimport { makeTagProps } from \"../../composables/tag.js\"; // Utilities\nimport { capitalize, computed, h } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.js\"; // Types\nconst ALIGNMENT = ['start', 'end', 'center'];\nconst SPACE = ['space-between', 'space-around', 'space-evenly'];\nfunction makeRowProps(prefix, def) {\n return breakpoints.reduce((props, val) => {\n const prefixKey = prefix + capitalize(val);\n props[prefixKey] = def();\n return props;\n }, {});\n}\nconst ALIGN_VALUES = [...ALIGNMENT, 'baseline', 'stretch'];\nconst alignValidator = str => ALIGN_VALUES.includes(str);\nconst alignProps = makeRowProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator\n}));\nconst JUSTIFY_VALUES = [...ALIGNMENT, ...SPACE];\nconst justifyValidator = str => JUSTIFY_VALUES.includes(str);\nconst justifyProps = makeRowProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator\n}));\nconst ALIGN_CONTENT_VALUES = [...ALIGNMENT, ...SPACE, 'stretch'];\nconst alignContentValidator = str => ALIGN_CONTENT_VALUES.includes(str);\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator\n}));\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps)\n};\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content'\n};\nfunction breakpointClass(type, prop, val) {\n let className = classMap[type];\n if (val == null) {\n return undefined;\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '');\n className += `-${breakpoint}`;\n }\n // .align-items-sm-center\n className += `-${val}`;\n return className.toLowerCase();\n}\nexport const makeVRowProps = propsFactory({\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator\n },\n ...alignContentProps,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VRow');\nexport const VRow = genericComponent()({\n name: 'VRow',\n props: makeVRowProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const classes = computed(() => {\n const classList = [];\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type;\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value = props[prop];\n const className = breakpointClass(type, prop, value);\n if (className) classList.push(className);\n });\n }\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent\n });\n return classList;\n });\n return () => h(props.tag, {\n class: ['v-row', classes.value, props.class],\n style: props.style\n }, slots.default?.());\n }\n});\n//# sourceMappingURL=VRow.js.map"],"names":["_createVNode","_normalizeClass","_normalizeStyle","propMap","breakpointClass"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"VRow-1b4yScY2.mjs","sources":["../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VGrid/VContainer.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VGrid/VCol.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VGrid/VRow.js"],"sourcesContent":["import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VGrid.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { makeTagProps } from \"../../composables/tag.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVContainerProps = propsFactory({\n fluid: {\n type: Boolean,\n default: false\n },\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeTagProps()\n}, 'VContainer');\nexport const VContainer = genericComponent()({\n name: 'VContainer',\n props: makeVContainerProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n rtlClasses\n } = useRtl();\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-container', {\n 'v-container--fluid': props.fluid\n }, rtlClasses.value, props.class]),\n \"style\": _normalizeStyle([dimensionStyles.value, props.style])\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VContainer.js.map","// Styles\nimport \"./VGrid.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { breakpoints } from \"../../composables/display.js\";\nimport { makeTagProps } from \"../../composables/tag.js\"; // Utilities\nimport { capitalize, computed, h } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.js\"; // Types\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false\n };\n return props;\n }, {});\n})();\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n const offsetKey = 'offset' + capitalize(val);\n props[offsetKey] = {\n type: [String, Number],\n default: null\n };\n return props;\n }, {});\n})();\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n const orderKey = 'order' + capitalize(val);\n props[orderKey] = {\n type: [String, Number],\n default: null\n };\n return props;\n }, {});\n})();\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps)\n};\nfunction breakpointClass(type, prop, val) {\n let className = type;\n if (val == null || val === false) {\n return undefined;\n }\n if (prop) {\n const breakpoint = prop.replace(type, '');\n className += `-${breakpoint}`;\n }\n if (type === 'col') {\n className = 'v-' + className;\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase();\n }\n // .order-md-6\n className += `-${val}`;\n return className.toLowerCase();\n}\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch'];\nexport const makeVColProps = propsFactory({\n cols: {\n type: [Boolean, String, Number],\n default: false\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: str => ALIGN_SELF_VALUES.includes(str)\n },\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VCol');\nexport const VCol = genericComponent()({\n name: 'VCol',\n props: makeVColProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const classes = computed(() => {\n const classList = [];\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type;\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value = props[prop];\n const className = breakpointClass(type, prop, value);\n if (className) classList.push(className);\n });\n }\n const hasColClasses = classList.some(className => className.startsWith('v-col-'));\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf\n });\n return classList;\n });\n return () => h(props.tag, {\n class: [classes.value, props.class],\n style: props.style\n }, slots.default?.());\n }\n});\n//# sourceMappingURL=VCol.js.map","// Styles\nimport \"./VGrid.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { breakpoints } from \"../../composables/display.js\";\nimport { makeTagProps } from \"../../composables/tag.js\"; // Utilities\nimport { capitalize, computed, h } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.js\"; // Types\nconst ALIGNMENT = ['start', 'end', 'center'];\nconst SPACE = ['space-between', 'space-around', 'space-evenly'];\nfunction makeRowProps(prefix, def) {\n return breakpoints.reduce((props, val) => {\n const prefixKey = prefix + capitalize(val);\n props[prefixKey] = def();\n return props;\n }, {});\n}\nconst ALIGN_VALUES = [...ALIGNMENT, 'baseline', 'stretch'];\nconst alignValidator = str => ALIGN_VALUES.includes(str);\nconst alignProps = makeRowProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator\n}));\nconst JUSTIFY_VALUES = [...ALIGNMENT, ...SPACE];\nconst justifyValidator = str => JUSTIFY_VALUES.includes(str);\nconst justifyProps = makeRowProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator\n}));\nconst ALIGN_CONTENT_VALUES = [...ALIGNMENT, ...SPACE, 'stretch'];\nconst alignContentValidator = str => ALIGN_CONTENT_VALUES.includes(str);\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator\n}));\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps)\n};\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content'\n};\nfunction breakpointClass(type, prop, val) {\n let className = classMap[type];\n if (val == null) {\n return undefined;\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '');\n className += `-${breakpoint}`;\n }\n // .align-items-sm-center\n className += `-${val}`;\n return className.toLowerCase();\n}\nexport const makeVRowProps = propsFactory({\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator\n },\n ...alignContentProps,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VRow');\nexport const VRow = genericComponent()({\n name: 'VRow',\n props: makeVRowProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const classes = computed(() => {\n const classList = [];\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type;\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value = props[prop];\n const className = breakpointClass(type, prop, value);\n if (className) classList.push(className);\n });\n }\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent\n });\n return classList;\n });\n return () => h(props.tag, {\n class: ['v-row', classes.value, props.class],\n style: props.style\n }, slots.default?.());\n }\n});\n//# sourceMappingURL=VRow.js.map"],"names":["_createVNode","_normalizeClass","_normalizeStyle","propMap","breakpointClass"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,5 +1,5 @@
1
1
  import { createVNode, normalizeStyle, normalizeClass } from "vue";
2
- import { g as genericComponent, p as propsFactory, h as provideTheme, i as useBackgroundColor, t as useBorder, j as useDimension, v as useElevation, w as useLocation, x as usePosition, y as useRounded, e as useRender, m as makeThemeProps, z as makeTagProps, A as makeRoundedProps, B as makePositionProps, C as makeLocationProps, D as makeElevationProps, q as makeDimensionProps, r as makeComponentProps, E as makeBorderProps } from "./display-CHspVOz6.mjs";
2
+ import { g as genericComponent, p as propsFactory, e as provideTheme, f as useBackgroundColor, t as useBorder, h as useDimension, v as useElevation, w as useLocation, x as usePosition, y as useRounded, j as useRender, m as makeThemeProps, z as makeTagProps, A as makeRoundedProps, B as makePositionProps, C as makeLocationProps, D as makeElevationProps, o as makeDimensionProps, q as makeComponentProps, E as makeBorderProps } from "./display-BeKXT2GD.mjs";
3
3
  const makeVSheetProps = propsFactory({
4
4
  color: String,
5
5
  ...makeBorderProps(),
@@ -55,4 +55,4 @@ export {
55
55
  VSheet as V,
56
56
  makeVSheetProps as m
57
57
  };
58
- //# sourceMappingURL=VSheet-B4SA9_dv.mjs.map
58
+ //# sourceMappingURL=VSheet-CuYNSxEn.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VSheet-B4SA9_dv.mjs","sources":["../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VSheet/VSheet.js"],"sourcesContent":["import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSheet.css\";\n\n// Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.js\";\nimport { useBackgroundColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.js\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.js\";\nimport { makePositionProps, usePosition } from \"../../composables/position.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVSheetProps = propsFactory({\n color: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VSheet');\nexport const VSheet = genericComponent()({\n name: 'VSheet',\n props: makeVSheetProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.color);\n const {\n borderClasses\n } = useBorder(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n positionClasses\n } = usePosition(props);\n const {\n roundedClasses\n } = useRounded(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]),\n \"style\": _normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style])\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VSheet.js.map"],"names":["_createVNode","_normalizeClass","_normalizeStyle"],"mappings":";;AAgBY,MAAC,kBAAkB,aAAa;AAAA,EAC1C,OAAO;AAAA,EACP,GAAG,gBAAe;AAAA,EAClB,GAAG,mBAAkB;AAAA,EACrB,GAAG,mBAAkB;AAAA,EACrB,GAAG,mBAAkB;AAAA,EACrB,GAAG,kBAAiB;AAAA,EACpB,GAAG,kBAAiB;AAAA,EACpB,GAAG,iBAAgB;AAAA,EACnB,GAAG,aAAY;AAAA,EACf,GAAG,eAAc;AACnB,GAAG,QAAQ;AACC,MAAC,SAAS,iBAAgB,EAAG;AAAA,EACvC,MAAM;AAAA,EACN,OAAO,gBAAe;AAAA,EACtB,MAAM,OAAO,MAAM;AACjB,QAAI;AAAA,MACF;AAAA,IACN,IAAQ;AACJ,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,aAAa,KAAK;AACtB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACN,IAAQ,mBAAmB,MAAM,MAAM,KAAK;AACxC,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,UAAU,KAAK;AACnB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,aAAa,KAAK;AACtB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,aAAa,KAAK;AACtB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,YAAY,KAAK;AACrB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,YAAY,KAAK;AACrB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,WAAW,KAAK;AACpB,cAAU,MAAMA,YAAa,MAAM,KAAK;AAAA,MACtC,SAASC,eAAgB,CAAC,WAAW,aAAa,OAAO,uBAAuB,OAAO,cAAc,OAAO,iBAAiB,OAAO,gBAAgB,OAAO,eAAe,OAAO,MAAM,KAAK,CAAC;AAAA,MAC7L,SAASC,eAAgB,CAAC,sBAAsB,OAAO,gBAAgB,OAAO,eAAe,OAAO,MAAM,KAAK,CAAC;AAAA,IACtH,GAAO,KAAK,CAAC;AACT,WAAO,CAAA;AAAA,EACT;AACF,CAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"VSheet-CuYNSxEn.mjs","sources":["../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VSheet/VSheet.js"],"sourcesContent":["import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSheet.css\";\n\n// Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.js\";\nimport { useBackgroundColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.js\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.js\";\nimport { makePositionProps, usePosition } from \"../../composables/position.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVSheetProps = propsFactory({\n color: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VSheet');\nexport const VSheet = genericComponent()({\n name: 'VSheet',\n props: makeVSheetProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.color);\n const {\n borderClasses\n } = useBorder(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n positionClasses\n } = usePosition(props);\n const {\n roundedClasses\n } = useRounded(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]),\n \"style\": _normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style])\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VSheet.js.map"],"names":["_createVNode","_normalizeClass","_normalizeStyle"],"mappings":";;AAgBY,MAAC,kBAAkB,aAAa;AAAA,EAC1C,OAAO;AAAA,EACP,GAAG,gBAAe;AAAA,EAClB,GAAG,mBAAkB;AAAA,EACrB,GAAG,mBAAkB;AAAA,EACrB,GAAG,mBAAkB;AAAA,EACrB,GAAG,kBAAiB;AAAA,EACpB,GAAG,kBAAiB;AAAA,EACpB,GAAG,iBAAgB;AAAA,EACnB,GAAG,aAAY;AAAA,EACf,GAAG,eAAc;AACnB,GAAG,QAAQ;AACC,MAAC,SAAS,iBAAgB,EAAG;AAAA,EACvC,MAAM;AAAA,EACN,OAAO,gBAAe;AAAA,EACtB,MAAM,OAAO,MAAM;AACjB,QAAI;AAAA,MACF;AAAA,IACN,IAAQ;AACJ,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,aAAa,KAAK;AACtB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACN,IAAQ,mBAAmB,MAAM,MAAM,KAAK;AACxC,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,UAAU,KAAK;AACnB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,aAAa,KAAK;AACtB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,aAAa,KAAK;AACtB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,YAAY,KAAK;AACrB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,YAAY,KAAK;AACrB,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,WAAW,KAAK;AACpB,cAAU,MAAMA,YAAa,MAAM,KAAK;AAAA,MACtC,SAASC,eAAgB,CAAC,WAAW,aAAa,OAAO,uBAAuB,OAAO,cAAc,OAAO,iBAAiB,OAAO,gBAAgB,OAAO,eAAe,OAAO,MAAM,KAAK,CAAC;AAAA,MAC7L,SAASC,eAAgB,CAAC,sBAAsB,OAAO,gBAAgB,OAAO,eAAe,OAAO,MAAM,KAAK,CAAC;AAAA,IACtH,GAAO,KAAK,CAAC;AACT,WAAO,CAAA;AAAA,EACT;AACF,CAAC;","x_google_ignoreList":[0]}
@@ -1,16 +1,16 @@
1
- import { a as useI18n } from "./ioc-Q-KAX6x1.mjs";
2
- import { S as SvgIcon } from "./index-CduefDwU.mjs";
3
- import { t as toUnreactive, s as stripUndefinedValuesFromObject, i as isObject } from "./utils-DehfJ8pT.mjs";
4
- import { u as useClipboard } from "./clipboard-C6YTX8YB.mjs";
1
+ import { a as useI18n } from "./ioc-BSX3tx4i.mjs";
2
+ import { S as SvgIcon } from "./index-DWcM0xl9.mjs";
3
+ import { t as toUnreactive, s as stripUndefinedValuesFromObject, i as isObject } from "./utils-DBVrNuOO.mjs";
4
+ import { u as useClipboard } from "./clipboard-Bs9IxB_1.mjs";
5
5
  import { v as validator } from "./vendor-nhtio-validation-IJWW0vrt.mjs";
6
- import { a as SUPPORTS_VISUAL_VIEWPORT } from "./display-pfXaBUr6.mjs";
7
- import { p as propsFactory$1, j as convertToUnit } from "./vendor-nhtio-vuetifiable-CS-KbH1h.mjs";
8
- import { g as genericComponent, p as propsFactory, u as useProxiedModel, e as useRender, o as omit, N as VSlideYTransition, c as VBtn } from "./display-CHspVOz6.mjs";
9
- import { o as useScopeId, s as VOverlay, p as forwardRefs, q as makeVOverlayProps, v as mdiOpenInApp, w as mdiOpenInNew, x as mdiContentCopy, V as VCard, y as mdiDotsVertical } from "./mdi-jw9Ee7p6.mjs";
6
+ import { a as SUPPORTS_VISUAL_VIEWPORT } from "./display-BEkjokHp.mjs";
7
+ import { p as propsFactory$1, c as convertToUnit } from "./vendor-nhtio-vuetifiable-CBXbDsg0.mjs";
8
+ import { g as genericComponent, p as propsFactory, u as useProxiedModel, j as useRender, s as omit, L as VSlideYTransition, c as VBtn } from "./display-BeKXT2GD.mjs";
9
+ import { o as useScopeId, s as VOverlay, p as forwardRefs, q as makeVOverlayProps, v as mdiOpenInApp, w as mdiOpenInNew, x as mdiContentCopy, V as VCard, y as mdiDotsVertical } from "./mdi-C_p8wc7S.mjs";
10
10
  import { useId, toRef, ref, computed, mergeProps, createVNode, h, onMounted, onBeforeUnmount, nextTick, toValue, warn } from "vue";
11
- import { V as VListItem } from "./VListItem-DojRgtpe.mjs";
12
- import { V as VHover } from "./VHover-DnB1GlWG.mjs";
13
- import { V as VMenu } from "./VMenu-D2biKkpd.mjs";
11
+ import { V as VListItem } from "./VListItem-Cc2-RZ21.mjs";
12
+ import { V as VHover } from "./VHover-BCXXvhJf.mjs";
13
+ import { V as VMenu } from "./VMenu-DifPtEI3.mjs";
14
14
  const makeVTooltipProps = propsFactory({
15
15
  id: String,
16
16
  interactive: Boolean,
@@ -692,4 +692,4 @@ export {
692
692
  makeResourcefulIndexActionsProps as m,
693
693
  useTableActions as u
694
694
  };
695
- //# sourceMappingURL=actions-CXhEUJp6.mjs.map
695
+ //# sourceMappingURL=actions-Dn25U_rd.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions-CXhEUJp6.mjs","sources":["../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VTooltip/VTooltip.js","../src/private/resourceful-index/actions.ts"],"sourcesContent":["import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VTooltip.css\";\n\n// Components\nimport { VOverlay } from \"../VOverlay/index.js\";\nimport { makeVOverlayProps } from \"../VOverlay/VOverlay.js\"; // Composables\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\";\nimport { useScopeId } from \"../../composables/scopeId.js\"; // Utilities\nimport { computed, mergeProps, ref, toRef, useId } from 'vue';\nimport { genericComponent, omit, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVTooltipProps = propsFactory({\n id: String,\n interactive: Boolean,\n text: String,\n ...omit(makeVOverlayProps({\n closeOnBack: false,\n location: 'end',\n locationStrategy: 'connected',\n eager: true,\n minWidth: 0,\n offset: 10,\n openOnClick: false,\n openOnHover: true,\n origin: 'auto',\n scrim: false,\n scrollStrategy: 'reposition',\n transition: null\n }), ['absolute', 'retainFocus', 'captureFocus', 'disableInitialFocus'])\n}, 'VTooltip');\nexport const VTooltip = genericComponent()({\n name: 'VTooltip',\n props: makeVTooltipProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const {\n scopeId\n } = useScopeId();\n const uid = useId();\n const id = toRef(() => props.id || `v-tooltip-${uid}`);\n const overlay = ref();\n const location = computed(() => {\n return props.location.split(' ').length > 1 ? props.location : props.location + ' center';\n });\n const origin = computed(() => {\n return props.origin === 'auto' || props.origin === 'overlap' || props.origin.split(' ').length > 1 || props.location.split(' ').length > 1 ? props.origin : props.origin + ' center';\n });\n const transition = toRef(() => {\n if (props.transition != null) return props.transition;\n return isActive.value ? 'scale-transition' : 'fade-transition';\n });\n const activatorProps = computed(() => mergeProps({\n 'aria-describedby': id.value\n }, props.activatorProps));\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props);\n return _createVNode(VOverlay, _mergeProps({\n \"ref\": overlay,\n \"class\": ['v-tooltip', {\n 'v-tooltip--interactive': props.interactive\n }, props.class],\n \"style\": props.style,\n \"id\": id.value\n }, overlayProps, {\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"transition\": transition.value,\n \"absolute\": true,\n \"location\": location.value,\n \"origin\": origin.value,\n \"role\": \"tooltip\",\n \"activatorProps\": activatorProps.value,\n \"_disableGlobalStack\": true\n }, scopeId), {\n activator: slots.activator,\n default: function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return slots.default?.(...args) ?? props.text;\n }\n });\n });\n return forwardRefs({}, overlay);\n }\n});\n//# sourceMappingURL=VTooltip.js.map","import { useI18n } from '../ioc'\nimport { SvgIcon } from '../svg-icon'\nimport { isObject } from '../common/guards'\nimport { VBtn } from 'vuetify/components/VBtn'\nimport { useClipboard } from '../ux/clipboard'\nimport { VMenu } from 'vuetify/components/VMenu'\nimport { VCard } from 'vuetify/components/VCard'\nimport { VHover } from 'vuetify/components/VHover'\nimport { validator as joi } from '@nhtio/validation'\nimport { VListItem } from 'vuetify/components/VList'\nimport { VTooltip } from 'vuetify/components/VTooltip'\nimport { SUPPORTS_VISUAL_VIEWPORT } from '../ux/display'\nimport { convertToUnit } from '@nhtio/vuetifiable/util/helpers'\nimport { IconValue } from '@nhtio/vuetifiable/composables/icons'\nimport { VSlideYTransition } from 'vuetify/components/transitions'\nimport { propsFactory } from '@nhtio/vuetifiable/util/propsFactory'\nimport { stripUndefinedValuesFromObject, toUnreactive } from '../common/utils'\nimport { mdiDotsVertical, mdiOpenInApp, mdiOpenInNew, mdiContentCopy } from '@mdi/js'\nimport { warn, computed, h, toValue, ref, onMounted, onBeforeUnmount, nextTick } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport type { makeVBtnProps } from '@nhtio/vuetifiable/components/VBtn/VBtn'\nimport type { makeVMenuProps } from '@nhtio/vuetifiable/components/VMenu/VMenu'\nimport type { NamedSlotParameters, ExtractSlotDefinitions } from '../common/types'\nimport type { makeVListItemProps } from '@nhtio/vuetifiable/components/VList/VListItem'\nimport type { makeVTooltipProps } from '@nhtio/vuetifiable/components/VTooltip/VTooltip'\nimport type { PropType, Ref, MaybeRef, ExtractPublicPropTypes, VNode, ComputedRef } from 'vue'\nimport type { makeTransitionProps } from '@nhtio/vuetifiable/components/transitions/createTransition'\n\nconst openInAppIcon = h(SvgIcon, { d: mdiOpenInApp })\nconst openInNewIcon = h(SvgIcon, { d: mdiOpenInNew })\nconst copyLinkIcon = h(SvgIcon, { d: mdiContentCopy })\n\ntype VListItemPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVListItemProps>>\ntype VBtnPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVBtnProps>>\ntype VMenuPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVMenuProps>>\ntype VTooltipPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVTooltipProps>>\ntype VSlideYTransitionPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeTransitionProps>>\ntype ExtractedVHoverSlots = ExtractSlotDefinitions<typeof VHover.slots>\ntype VHoverDefaultSlotProps = NamedSlotParameters<ExtractedVHoverSlots, 'default'>\ntype ExtractedVMenuSlots = ExtractSlotDefinitions<typeof VMenu.slots>\ntype VMenuActivatorSlotProps = NamedSlotParameters<ExtractedVMenuSlots, 'activator'>\ntype ExtractedVTooltipSlots = ExtractSlotDefinitions<typeof VTooltip.slots>\ntype VTooltipActivatorSlotProps = NamedSlotParameters<ExtractedVTooltipSlots, 'activator'>\n\nexport type ActionableRecord = {\n id: string | number\n [key: string]: any\n}\n\nexport type ActionIsActionableValidator = (record: ActionableRecord) => boolean\n\nexport type TernaryOperator = boolean | null\n\nexport type ActionCallback = (\n record: ActionableRecord\n) => TernaryOperator | Promise<TernaryOperator> | PromiseLike<TernaryOperator>\n\nexport type BulkActionResults = Map<ActionableRecord, TernaryOperator>\n\nexport type BulkActionCallback = (\n records: ActionableRecord[],\n updateProgress: (completed: number, total: number) => void\n) => BulkActionResults | Promise<BulkActionResults> | PromiseLike<BulkActionResults>\n\nexport type SuccessCallback = (results: BulkActionResults) => void\n\nexport type UndeterminedCallback = (results: BulkActionResults) => void\n\nexport type FailureCallback = (results: BulkActionResults) => void\n\nexport type CompleteCallback = (results: BulkActionResults) => void\n\ntype DispositionCallback = SuccessCallback | UndeterminedCallback | FailureCallback\n\nexport type ProgressCallback = (completed: number, total: number) => void\n\ninterface ResourcefulIndexAction {\n icon: IconValue\n title: string\n subtitle?: string | undefined\n pinned?: boolean | undefined\n actionable?: boolean | ActionIsActionableValidator | undefined\n maxSafeBulkActionRecords?: number | undefined\n maxBulkActionRecords?: number | undefined\n singleAsBulkActionMaxConcurrency?: number | undefined\n singleAsBulkActionStopOnError?: boolean | undefined\n}\n\nexport interface ResourcefulIndexUrlAction extends ResourcefulIndexAction {\n url: string | ((record: ActionableRecord) => RouteLocationRaw | string | null | undefined)\n target?: '_self' | '_blank' | '_parent' | '_top' | string | undefined\n}\n\nexport interface ResourcefulIndexFunctionAction extends ResourcefulIndexAction {\n action: ActionCallback\n bulkAction?: BulkActionCallback | undefined\n onSuccess?: SuccessCallback | undefined\n onUndetermined?: UndeterminedCallback | undefined\n onFailure?: FailureCallback | undefined\n onComplete?: CompleteCallback | undefined\n onProgress?: ProgressCallback | undefined\n}\n\nconst resourcefulIndexActionCommonSchema = {\n icon: joi\n .alternatives()\n .try(joi.string(), joi.object().unknown(true), joi.array(), joi.function())\n .required(),\n title: joi.string().required(),\n subtitle: joi.string().optional(),\n pinned: joi.boolean().optional(),\n actionable: joi.alternatives().try(joi.boolean(), joi.function()).optional(),\n maxSafeBulkActionRecords: joi.number().integer().min(1).optional(),\n maxBulkActionRecords: joi.number().integer().min(1).optional(),\n singleAsBulkActionMaxConcurrency: joi.number().integer().min(1).optional(),\n singleAsBulkActionStopOnError: joi.boolean().optional(),\n}\n\nconst resourcefulIndexUrlActionSchema = joi\n .object({\n ...resourcefulIndexActionCommonSchema,\n url: joi.alternatives().try(joi.string(), joi.function()).required(),\n target: joi.string().optional(),\n })\n .unknown(false)\n\nconst resourcefulIndexFunctionActionSchema = joi\n .object({\n ...resourcefulIndexActionCommonSchema,\n action: joi.function().required(),\n bulkAction: joi.function().optional(),\n onSuccess: joi.function().optional(),\n onUndetermined: joi.function().optional(),\n onFailure: joi.function().optional(),\n onComplete: joi.function().optional(),\n onProgress: joi.function().optional(),\n })\n .unknown(false)\n\nconst resourcefulIndexActionSchema = joi\n .alternatives()\n .try(resourcefulIndexUrlActionSchema, resourcefulIndexFunctionActionSchema)\n\nconst resourcefulIndexActionsSchema = joi.array().items(resourcefulIndexActionSchema)\n\nexport const isResourcefulIndexUrlAction = (val: unknown): val is ResourcefulIndexUrlAction => {\n const { error } = resourcefulIndexUrlActionSchema.validate(val, { abortEarly: true })\n return Boolean(!error)\n}\n\nexport const isResourcefulIndexFunctionAction = (\n val: unknown\n): val is ResourcefulIndexFunctionAction => {\n const { error } = resourcefulIndexFunctionActionSchema.validate(val, { abortEarly: true })\n return Boolean(!error)\n}\n\nconst isResourcefulIndexAction = (\n val: unknown\n): val is ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction => {\n const { error } = resourcefulIndexActionSchema.validate(val, { abortEarly: true })\n return Boolean(!error)\n}\n\nconst areResourcefulIndexActions = (\n val: unknown\n): val is Array<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction> => {\n const { error } = resourcefulIndexActionsSchema.validate(val, { abortEarly: true })\n return Boolean(!error)\n}\n\nexport const makeResourcefulIndexActionsProps = propsFactory(\n {\n actions: {\n type: Array as PropType<Array<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction>>,\n validator: areResourcefulIndexActions,\n default: () => [],\n },\n },\n 'ResourcefulIndexActions'\n)\n\nconst canPerformActionForRecord = (record: ActionableRecord, action: unknown) => {\n if (!isResourcefulIndexAction(action)) {\n return false\n }\n if (typeof action.actionable === 'boolean') {\n return action.actionable\n } else if (typeof action.actionable === 'function') {\n try {\n return action.actionable(record)\n } catch (e) {\n warn('Error evaluating actionable function for action:', action, e)\n return false\n }\n }\n}\n\nexport const canPerformBulkActionForRecords = (records: ActionableRecord[], action: unknown) => {\n if (!isResourcefulIndexAction(action)) return false\n if (\n records.length < 2 ||\n (typeof action.maxBulkActionRecords === 'number' &&\n records.length > action.maxBulkActionRecords)\n )\n return false\n if (isResourcefulIndexUrlAction(action)) {\n if (typeof action.url === 'function') {\n const fn = action.url as (record: ActionableRecord) => string | null | undefined\n const urls = records.map((record) => fn(record))\n return urls.some((url) => 'string' === typeof url && url.trim().length > 0)\n } else if (typeof action.url === 'string') {\n return true\n }\n return false\n } else if (isResourcefulIndexFunctionAction(action)) {\n return true\n }\n return false\n}\n\nconst canPerformBulkActionForActionableCount = (action: unknown, count: number) => {\n if (!isResourcefulIndexAction(action)) return false\n if (\n count < 2 ||\n (typeof action.maxBulkActionRecords === 'number' && count > action.maxBulkActionRecords)\n )\n return false\n return isResourcefulIndexUrlAction(action) || isResourcefulIndexFunctionAction(action)\n}\n\nconst canDisplayInBulkActionsDropdown = (action: unknown) => {\n if (!isResourcefulIndexAction(action)) return false\n if (typeof action.maxBulkActionRecords === 'number' && action.maxBulkActionRecords <= 1)\n return false\n return isResourcefulIndexUrlAction(action) || isResourcefulIndexFunctionAction(action)\n}\n\ntype BulkActionListItemOptions = Omit<\n VListItemPublicProps,\n | 'title'\n | 'subtitle'\n | 'icon'\n | 'prependIcon'\n | 'appendIcon'\n | 'value'\n | 'active'\n | 'onClick'\n | 'href'\n | 'replace'\n | 'to'\n | 'exact'\n | 'onClickOnce'\n | 'activeClass'\n | 'activeColor'\n | 'appendAvatar'\n | 'prependAvatar'\n | 'link'\n | 'nav'\n | 'disabled'\n>\n\nexport const useBulkActions = (\n actions: Ref<Array<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction>>,\n allCount: Ref<number>,\n actionableCount: Ref<number>,\n onBulkActionInvoked: (\n action: ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction\n ) => void | Promise<void> | PromiseLike<void>,\n listItemOptions: MaybeRef<BulkActionListItemOptions> = {}\n) => {\n const bulkActionListItems: ComputedRef<Array<VNode>> = computed<Array<VNode>>(\n () =>\n Array.from(actions.value)\n .filter((v) => canDisplayInBulkActionsDropdown(v))\n .map((action, index) => {\n const opts: VListItemPublicProps = {\n ...toValue(listItemOptions),\n title: action.title,\n subtitle: action.subtitle,\n prependIcon: action.icon,\n disabled: !canPerformBulkActionForActionableCount(action, actionableCount.value),\n }\n return h(VListItem, {\n ...opts,\n key: `resourceful-index-bulk-action-${index}`,\n onClick: () => {\n if (onBulkActionInvoked) {\n onBulkActionInvoked(action)\n }\n },\n })\n }) as VNode[]\n )\n const canShowBulkActionList = computed(() => bulkActionListItems.value.length > 0)\n const bulkActionListDisabled = computed(\n () =>\n allCount.value === 0 ||\n Array.from(actions.value).every((a) => !canDisplayInBulkActionsDropdown(a))\n )\n\n return { bulkActionListItems, canShowBulkActionList, bulkActionListDisabled }\n}\n\nexport const useTableActions = (\n actions: Ref<Array<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction>>,\n disabled: MaybeRef<string | boolean | undefined>,\n listItemOptions: MaybeRef<BulkActionListItemOptions> = {}\n) => {\n const { copy: copyToClipboard, renderClipboardFeedback } = useClipboard()\n const t = useI18n()\n const contextMenuX = ref<number | null>(null)\n const contextMenuY = ref<number | null>(null)\n const contextRecord = ref<ActionableRecord | null>(null)\n const contextAction = ref<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction | null>(null)\n const closeContextMenu = () => {\n contextMenuX.value = null\n contextMenuY.value = null\n contextRecord.value = null\n contextAction.value = null\n }\n const contextMenuIsOpen = computed(() => {\n return (\n contextMenuX.value !== null &&\n contextMenuY.value !== null &&\n (contextRecord.value !== null || contextAction.value !== null)\n )\n })\n const contextMenuVariant = computed<'none' | 'record' | 'action'>(() => {\n if (contextMenuX.value === null || contextMenuY.value === null) return 'none'\n if (contextAction.value !== null) return 'action'\n if (contextRecord.value !== null) return 'record'\n return 'none'\n })\n const contextElement = ref<HTMLElement | null>(null)\n\n const recordsProcessingAction = ref<string[]>([])\n\n const processResourcefulIndexFunctionAction = async (\n action: ResourcefulIndexFunctionAction,\n record: ActionableRecord\n ) => {\n const recordId = String(record.id)\n if (recordsProcessingAction.value.includes(recordId)) return\n recordsProcessingAction.value.push(recordId)\n let result: TernaryOperator = null\n const callCallback = async (\n callback: DispositionCallback,\n rec: ActionableRecord,\n res: TernaryOperator\n ) => {\n const payload = new Map<ActionableRecord, TernaryOperator>([[rec, res]])\n try {\n await callback(payload)\n } catch (e) {\n warn('Error executing callback for action:', action, e)\n }\n }\n if (action.onProgress) {\n try {\n action.onProgress(0, 1)\n } catch (e) {\n warn('Error executing onProgress callback for action:', action, e)\n }\n }\n try {\n result = await action.action(record)\n } catch (e) {\n result = false\n warn('Error executing action function for record:', record, e)\n }\n const idx = recordsProcessingAction.value.indexOf(recordId)\n if (idx > -1) {\n recordsProcessingAction.value.splice(idx, 1)\n }\n if (action.onProgress) {\n try {\n action.onProgress(1, 1)\n } catch (e) {\n warn('Error executing onProgress callback for action:', action, e)\n }\n }\n const promises: Array<Promise<void>> = []\n if (action.onSuccess && result === true) {\n promises.push(callCallback(action.onSuccess, record, result))\n }\n if (action.onUndetermined && result === null) {\n promises.push(callCallback(action.onUndetermined, record, result))\n }\n if (action.onFailure && result === false) {\n promises.push(callCallback(action.onFailure, record, result))\n }\n if (action.onComplete) {\n promises.push(callCallback(action.onComplete, record, result))\n }\n if (promises.length > 0) {\n await Promise.all(promises)\n }\n return result\n }\n\n const actionForRecordIsProcessing = (record: ActionableRecord) => {\n if (record && 'id' in record) {\n const recordId = String(record.id)\n return recordsProcessingAction.value.includes(recordId)\n }\n return false\n }\n\n const actionsForRecordAreDisabled = (record: ActionableRecord) => {\n if (true === toValue(disabled)) return true\n return actionForRecordIsProcessing(record)\n }\n\n const isProcessing = computed(() => recordsProcessingAction.value.length > 0)\n\n const onPinnedActionContextMenuRequest = async (\n action: ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction,\n record: ActionableRecord,\n e: MouseEvent\n ) => {\n if (actionsForRecordAreDisabled(record)) return\n if (contextMenuIsOpen.value) {\n closeContextMenu()\n await nextTick()\n }\n contextMenuX.value = 'clientX' in e ? e.clientX : null\n contextMenuY.value = 'clientY' in e ? e.clientY : null\n contextRecord.value = record\n contextAction.value = action\n }\n const pinnedActions = computed(() =>\n actions.value.filter((a) => a.pinned && isResourcefulIndexAction(a))\n )\n const unpinnedActions = computed(() =>\n actions.value.filter((a) => !a.pinned && isResourcefulIndexAction(a))\n )\n const renderActionsForRecord = (record: ActionableRecord) => {\n const pinnedActionsForRecord = pinnedActions.value.filter((a) =>\n canPerformActionForRecord(record, a)\n )\n const unpinnedActionsForRecord = unpinnedActions.value.filter((a) =>\n canPerformActionForRecord(record, a)\n )\n if (pinnedActionsForRecord.length === 0 && unpinnedActionsForRecord.length === 0) return null\n const isActionProcessing = actionForRecordIsProcessing(record)\n return h(\n 'div',\n {\n class: ['__resourceful_index_actions_cell__actions', 'd-flex', 'align-center', 'mx-2'],\n },\n [\n ...pinnedActionsForRecord.map((action, index) => {\n const tooltipListItemOpts: VListItemPublicProps = {\n density: 'compact',\n ...toValue(listItemOptions),\n title: action.title,\n subtitle: action.subtitle,\n }\n const btnItemOpts: VBtnPublicProps = {\n // @ts-expect-error\n onContextmenu: (e: MouseEvent) => {\n if (e) {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n if (actionsForRecordAreDisabled(record)) return\n onPinnedActionContextMenuRequest(action, record, e)\n }\n },\n }\n if (isResourcefulIndexUrlAction(action)) {\n const href =\n typeof action.url === 'function' ? action.url(toUnreactive(record)) : action.url\n if (isObject(href)) {\n btnItemOpts.to = href\n } else {\n btnItemOpts.href = (href as string) || undefined\n }\n // @ts-expect-error\n btnItemOpts.target = action.target || undefined\n } else if (isResourcefulIndexFunctionAction(action)) {\n // @ts-expect-error\n btnItemOpts.onClick = () =>\n processResourcefulIndexFunctionAction(action, toUnreactive(record))\n // @ts-expect-error\n btnItemOpts.onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n processResourcefulIndexFunctionAction(action, toUnreactive(record))\n }\n }\n }\n return h(\n VHover,\n { key: `pinned-action-${index}` },\n {\n default: ({ isHovering, props: hoverProvidedProps }: VHoverDefaultSlotProps[0]) =>\n h(\n VTooltip,\n {\n openDelay: 750,\n interactive: false,\n stickToTarget: true,\n } satisfies VTooltipPublicProps,\n {\n activator: ({\n isActive,\n props: tooltipActivatorProps,\n }: VTooltipActivatorSlotProps[0]) =>\n h(VBtn, {\n ...hoverProvidedProps,\n ...tooltipActivatorProps,\n ...btnItemOpts,\n variant: 'text',\n icon: action.icon,\n size: 'small',\n style: { opacity: isHovering || isActive ? 1 : 0.5 },\n class: [\n {\n 'me-2':\n index < pinnedActionsForRecord.length - 1 ||\n unpinnedActionsForRecord.length > 0,\n },\n ],\n disabled: Boolean(toValue(disabled)),\n } satisfies VBtnPublicProps),\n default: () =>\n h(VListItem, {\n ...tooltipListItemOpts,\n }),\n }\n ),\n }\n )\n }),\n unpinnedActionsForRecord.length === 0\n ? isActionProcessing\n ? h(VBtn, {\n icon: true,\n size: 'small',\n loading: true,\n variant: 'text',\n } satisfies VBtnPublicProps)\n : null\n : h(\n VHover,\n {},\n {\n default: ({ isHovering, props: hoverProvidedProps }: VHoverDefaultSlotProps[0]) =>\n h(VMenu, { closeOnContentClick: true } satisfies VMenuPublicProps, {\n activator: ({\n isActive,\n props: menuActivatorProps,\n }: VMenuActivatorSlotProps[0]) =>\n h(VBtn, {\n ...hoverProvidedProps,\n ...menuActivatorProps,\n variant: 'text',\n icon: () => h(SvgIcon, { d: mdiDotsVertical }),\n size: 'small',\n style: { opacity: isHovering || isActive ? 1 : 0.5 },\n class: [],\n loading: isActionProcessing,\n } satisfies VBtnPublicProps),\n default: () =>\n h(VCard, { color: 'surface' }, () => [\n ...unpinnedActionsForRecord.map((action, index) => {\n const key = `resourceful-index-action-${index}`\n const opts: VListItemPublicProps = {\n ...toValue(listItemOptions),\n title: action.title,\n subtitle: action.subtitle,\n prependIcon: action.icon,\n disabled: Boolean(toValue(disabled)),\n }\n if (isResourcefulIndexUrlAction(action)) {\n const href =\n typeof action.url === 'function'\n ? action.url(toUnreactive(record))\n : action.url\n if (isObject(href)) {\n opts.to = href\n } else {\n opts.href = (href as string) || undefined\n }\n // @ts-expect-error\n opts.target = action.target || undefined\n opts.link = typeof href === 'string' && href.trim().length > 0\n } else if (isResourcefulIndexFunctionAction(action)) {\n opts.onClick = () =>\n processResourcefulIndexFunctionAction(action, toUnreactive(record))\n // @ts-expect-error\n opts.onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n processResourcefulIndexFunctionAction(action, toUnreactive(record))\n }\n }\n }\n return h(VListItem, { ...opts, key })\n }),\n ]),\n }),\n }\n ),\n ]\n )\n }\n const reactiveContextMenuRenderer = () => {\n const additionalStyles =\n null === contextMenuY.value || null === contextMenuX.value\n ? { width: 0, height: 0, overflow: 'hidden' }\n : {}\n return h(\n 'div',\n {\n ref: contextElement,\n style: {\n position: 'fixed',\n top: null === contextMenuY.value ? 0 : convertToUnit(contextMenuY.value),\n left: null === contextMenuX.value ? 0 : convertToUnit(contextMenuX.value),\n zIndex: 5,\n ...additionalStyles,\n },\n },\n h(\n VSlideYTransition,\n {\n mode: 'in-out',\n } satisfies VSlideYTransitionPublicProps,\n () => {\n const variant = contextMenuVariant.value\n if (variant === 'action') {\n return h(VCard, { color: 'surface', minHeight: 40, minWidth: 50 }, () => {\n const opts: VListItemPublicProps = {\n ...toValue(listItemOptions),\n disabled: Boolean(toValue(disabled)),\n }\n const action: ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction | null =\n toValue(contextAction.value)\n if (isResourcefulIndexUrlAction(action)) {\n const href =\n typeof action.url === 'function'\n ? action.url(toUnreactive(contextRecord.value!))\n : action.url\n if (isObject(href)) {\n opts.to = href\n } else {\n opts.href = (href as string) || undefined\n }\n return [\n h(VListItem, {\n ...opts,\n title: t('resourceful.action.openInApp'),\n prependIcon: () => openInAppIcon,\n onClick: () => {\n closeContextMenu()\n },\n }),\n h(VListItem, {\n ...opts,\n title: t('resourceful.action.openInNew'),\n prependIcon: () => openInNewIcon,\n target: '_blank',\n onClick: () => {\n closeContextMenu()\n },\n }),\n h(\n VListItem,\n stripUndefinedValuesFromObject({\n ...opts,\n title: t('resourceful.action.copyLink'),\n prependIcon: () => copyLinkIcon,\n href: undefined,\n onClick: () => {\n if ('string' === typeof href && href.trim().length > 0) {\n copyToClipboard(href)\n }\n closeContextMenu()\n },\n })\n ),\n ]\n } else if (isResourcefulIndexFunctionAction(action)) {\n return [\n h(VListItem, {\n ...opts,\n title: action.title,\n subtitle: action.subtitle,\n prependIcon: action.icon,\n onClick: () => {\n processResourcefulIndexFunctionAction(\n action,\n toUnreactive(contextRecord.value!)\n )\n closeContextMenu()\n },\n }),\n ]\n }\n return null\n })\n } else if (variant === 'record') {\n return h(VCard, { color: 'surface', minHeight: 40, minWidth: 50 }, () =>\n Array.from(actions.value).map((action, index) => {\n const key = `resourceful-index-context-menu-action-${index}`\n const opts: VListItemPublicProps = {\n ...toValue(listItemOptions),\n title: action.title,\n subtitle: action.subtitle,\n prependIcon: action.icon,\n disabled: Boolean(toValue(disabled)),\n }\n if (isResourcefulIndexUrlAction(action)) {\n const href =\n typeof action.url === 'function'\n ? action.url(toUnreactive(contextRecord.value!))\n : action.url\n if (isObject(href)) {\n opts.to = href\n } else {\n opts.href = (href as string) || undefined\n }\n // @ts-expect-error\n opts.target = action.target || undefined\n opts.link = typeof href === 'string' && href.trim().length > 0\n opts.onClick = () => {\n closeContextMenu()\n }\n // @ts-expect-error\n opts.onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n closeContextMenu()\n }\n }\n } else if (isResourcefulIndexFunctionAction(action)) {\n opts.onClick = () => {\n processResourcefulIndexFunctionAction(\n action,\n toUnreactive(contextRecord.value!)\n )\n closeContextMenu()\n }\n // @ts-expect-error\n opts.onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n processResourcefulIndexFunctionAction(\n action,\n toUnreactive(contextRecord.value!)\n )\n closeContextMenu()\n }\n }\n }\n return h(VListItem, { ...opts, key })\n })\n )\n }\n return null\n }\n )\n )\n }\n const openContextMenuForRecord = async (e: MouseEvent | TouchEvent, record: ActionableRecord) => {\n if (actionsForRecordAreDisabled(record)) return\n if (contextMenuIsOpen.value) {\n closeContextMenu()\n await nextTick()\n }\n contextMenuX.value =\n 'clientX' in e\n ? e.clientX\n : 'touches' in e && e.touches.length > 0\n ? e.touches[0].clientX\n : null\n contextMenuY.value =\n 'clientY' in e\n ? e.clientY\n : 'touches' in e && e.touches.length > 0\n ? e.touches[0].clientY\n : null\n contextAction.value = null\n contextRecord.value = record\n }\n const windowClickListener = (e: MouseEvent) => {\n if (contextElement.value === null) return\n if (contextElement.value?.contains(e.target as Node)) return\n closeContextMenu()\n }\n const windowContextMenuListener = (e: MouseEvent) => {\n if (contextElement.value === null) return\n if (contextElement.value?.contains(e.target as Node)) return\n closeContextMenu()\n }\n const windowTouchListener = (e: TouchEvent) => {\n if (contextElement.value === null) return\n if (contextElement.value?.contains(e.target as Node)) return\n closeContextMenu()\n }\n onMounted(() => {\n window.addEventListener('click', windowClickListener)\n window.addEventListener('contextmenu', windowContextMenuListener)\n window.addEventListener('touchstart', windowTouchListener)\n window.addEventListener('scroll', closeContextMenu)\n window.addEventListener('resize', closeContextMenu)\n if (SUPPORTS_VISUAL_VIEWPORT) {\n window.visualViewport!.addEventListener('scroll', closeContextMenu)\n window.visualViewport!.addEventListener('resize', closeContextMenu)\n }\n })\n onBeforeUnmount(() => {\n closeContextMenu()\n window.removeEventListener('click', windowClickListener)\n window.removeEventListener('contextmenu', windowContextMenuListener)\n window.removeEventListener('touchstart', windowTouchListener)\n window.removeEventListener('scroll', closeContextMenu)\n window.removeEventListener('resize', closeContextMenu)\n if (SUPPORTS_VISUAL_VIEWPORT) {\n window.visualViewport!.removeEventListener('scroll', closeContextMenu)\n window.visualViewport!.removeEventListener('resize', closeContextMenu)\n }\n })\n return {\n renderActionsForRecord,\n reactiveContextMenuRenderer,\n openContextMenuForRecord,\n renderClipboardFeedback,\n contextMenuIsOpen,\n actionForRecordIsProcessing,\n isProcessing,\n }\n}\n"],"names":["_createVNode","_mergeProps","joi","propsFactory"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"actions-Dn25U_rd.mjs","sources":["../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VTooltip/VTooltip.js","../src/private/resourceful-index/actions.ts"],"sourcesContent":["import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VTooltip.css\";\n\n// Components\nimport { VOverlay } from \"../VOverlay/index.js\";\nimport { makeVOverlayProps } from \"../VOverlay/VOverlay.js\"; // Composables\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\";\nimport { useScopeId } from \"../../composables/scopeId.js\"; // Utilities\nimport { computed, mergeProps, ref, toRef, useId } from 'vue';\nimport { genericComponent, omit, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVTooltipProps = propsFactory({\n id: String,\n interactive: Boolean,\n text: String,\n ...omit(makeVOverlayProps({\n closeOnBack: false,\n location: 'end',\n locationStrategy: 'connected',\n eager: true,\n minWidth: 0,\n offset: 10,\n openOnClick: false,\n openOnHover: true,\n origin: 'auto',\n scrim: false,\n scrollStrategy: 'reposition',\n transition: null\n }), ['absolute', 'retainFocus', 'captureFocus', 'disableInitialFocus'])\n}, 'VTooltip');\nexport const VTooltip = genericComponent()({\n name: 'VTooltip',\n props: makeVTooltipProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const {\n scopeId\n } = useScopeId();\n const uid = useId();\n const id = toRef(() => props.id || `v-tooltip-${uid}`);\n const overlay = ref();\n const location = computed(() => {\n return props.location.split(' ').length > 1 ? props.location : props.location + ' center';\n });\n const origin = computed(() => {\n return props.origin === 'auto' || props.origin === 'overlap' || props.origin.split(' ').length > 1 || props.location.split(' ').length > 1 ? props.origin : props.origin + ' center';\n });\n const transition = toRef(() => {\n if (props.transition != null) return props.transition;\n return isActive.value ? 'scale-transition' : 'fade-transition';\n });\n const activatorProps = computed(() => mergeProps({\n 'aria-describedby': id.value\n }, props.activatorProps));\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props);\n return _createVNode(VOverlay, _mergeProps({\n \"ref\": overlay,\n \"class\": ['v-tooltip', {\n 'v-tooltip--interactive': props.interactive\n }, props.class],\n \"style\": props.style,\n \"id\": id.value\n }, overlayProps, {\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"transition\": transition.value,\n \"absolute\": true,\n \"location\": location.value,\n \"origin\": origin.value,\n \"role\": \"tooltip\",\n \"activatorProps\": activatorProps.value,\n \"_disableGlobalStack\": true\n }, scopeId), {\n activator: slots.activator,\n default: function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return slots.default?.(...args) ?? props.text;\n }\n });\n });\n return forwardRefs({}, overlay);\n }\n});\n//# sourceMappingURL=VTooltip.js.map","import { useI18n } from '../ioc'\nimport { SvgIcon } from '../svg-icon'\nimport { isObject } from '../common/guards'\nimport { VBtn } from 'vuetify/components/VBtn'\nimport { useClipboard } from '../ux/clipboard'\nimport { VMenu } from 'vuetify/components/VMenu'\nimport { VCard } from 'vuetify/components/VCard'\nimport { VHover } from 'vuetify/components/VHover'\nimport { validator as joi } from '@nhtio/validation'\nimport { VListItem } from 'vuetify/components/VList'\nimport { VTooltip } from 'vuetify/components/VTooltip'\nimport { SUPPORTS_VISUAL_VIEWPORT } from '../ux/display'\nimport { convertToUnit } from '@nhtio/vuetifiable/util/helpers'\nimport { IconValue } from '@nhtio/vuetifiable/composables/icons'\nimport { VSlideYTransition } from 'vuetify/components/transitions'\nimport { propsFactory } from '@nhtio/vuetifiable/util/propsFactory'\nimport { stripUndefinedValuesFromObject, toUnreactive } from '../common/utils'\nimport { mdiDotsVertical, mdiOpenInApp, mdiOpenInNew, mdiContentCopy } from '@mdi/js'\nimport { warn, computed, h, toValue, ref, onMounted, onBeforeUnmount, nextTick } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport type { makeVBtnProps } from '@nhtio/vuetifiable/components/VBtn/VBtn'\nimport type { makeVMenuProps } from '@nhtio/vuetifiable/components/VMenu/VMenu'\nimport type { NamedSlotParameters, ExtractSlotDefinitions } from '../common/types'\nimport type { makeVListItemProps } from '@nhtio/vuetifiable/components/VList/VListItem'\nimport type { makeVTooltipProps } from '@nhtio/vuetifiable/components/VTooltip/VTooltip'\nimport type { PropType, Ref, MaybeRef, ExtractPublicPropTypes, VNode, ComputedRef } from 'vue'\nimport type { makeTransitionProps } from '@nhtio/vuetifiable/components/transitions/createTransition'\n\nconst openInAppIcon = h(SvgIcon, { d: mdiOpenInApp })\nconst openInNewIcon = h(SvgIcon, { d: mdiOpenInNew })\nconst copyLinkIcon = h(SvgIcon, { d: mdiContentCopy })\n\ntype VListItemPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVListItemProps>>\ntype VBtnPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVBtnProps>>\ntype VMenuPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVMenuProps>>\ntype VTooltipPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVTooltipProps>>\ntype VSlideYTransitionPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeTransitionProps>>\ntype ExtractedVHoverSlots = ExtractSlotDefinitions<typeof VHover.slots>\ntype VHoverDefaultSlotProps = NamedSlotParameters<ExtractedVHoverSlots, 'default'>\ntype ExtractedVMenuSlots = ExtractSlotDefinitions<typeof VMenu.slots>\ntype VMenuActivatorSlotProps = NamedSlotParameters<ExtractedVMenuSlots, 'activator'>\ntype ExtractedVTooltipSlots = ExtractSlotDefinitions<typeof VTooltip.slots>\ntype VTooltipActivatorSlotProps = NamedSlotParameters<ExtractedVTooltipSlots, 'activator'>\n\nexport type ActionableRecord = {\n id: string | number\n [key: string]: any\n}\n\nexport type ActionIsActionableValidator = (record: ActionableRecord) => boolean\n\nexport type TernaryOperator = boolean | null\n\nexport type ActionCallback = (\n record: ActionableRecord\n) => TernaryOperator | Promise<TernaryOperator> | PromiseLike<TernaryOperator>\n\nexport type BulkActionResults = Map<ActionableRecord, TernaryOperator>\n\nexport type BulkActionCallback = (\n records: ActionableRecord[],\n updateProgress: (completed: number, total: number) => void\n) => BulkActionResults | Promise<BulkActionResults> | PromiseLike<BulkActionResults>\n\nexport type SuccessCallback = (results: BulkActionResults) => void\n\nexport type UndeterminedCallback = (results: BulkActionResults) => void\n\nexport type FailureCallback = (results: BulkActionResults) => void\n\nexport type CompleteCallback = (results: BulkActionResults) => void\n\ntype DispositionCallback = SuccessCallback | UndeterminedCallback | FailureCallback\n\nexport type ProgressCallback = (completed: number, total: number) => void\n\ninterface ResourcefulIndexAction {\n icon: IconValue\n title: string\n subtitle?: string | undefined\n pinned?: boolean | undefined\n actionable?: boolean | ActionIsActionableValidator | undefined\n maxSafeBulkActionRecords?: number | undefined\n maxBulkActionRecords?: number | undefined\n singleAsBulkActionMaxConcurrency?: number | undefined\n singleAsBulkActionStopOnError?: boolean | undefined\n}\n\nexport interface ResourcefulIndexUrlAction extends ResourcefulIndexAction {\n url: string | ((record: ActionableRecord) => RouteLocationRaw | string | null | undefined)\n target?: '_self' | '_blank' | '_parent' | '_top' | string | undefined\n}\n\nexport interface ResourcefulIndexFunctionAction extends ResourcefulIndexAction {\n action: ActionCallback\n bulkAction?: BulkActionCallback | undefined\n onSuccess?: SuccessCallback | undefined\n onUndetermined?: UndeterminedCallback | undefined\n onFailure?: FailureCallback | undefined\n onComplete?: CompleteCallback | undefined\n onProgress?: ProgressCallback | undefined\n}\n\nconst resourcefulIndexActionCommonSchema = {\n icon: joi\n .alternatives()\n .try(joi.string(), joi.object().unknown(true), joi.array(), joi.function())\n .required(),\n title: joi.string().required(),\n subtitle: joi.string().optional(),\n pinned: joi.boolean().optional(),\n actionable: joi.alternatives().try(joi.boolean(), joi.function()).optional(),\n maxSafeBulkActionRecords: joi.number().integer().min(1).optional(),\n maxBulkActionRecords: joi.number().integer().min(1).optional(),\n singleAsBulkActionMaxConcurrency: joi.number().integer().min(1).optional(),\n singleAsBulkActionStopOnError: joi.boolean().optional(),\n}\n\nconst resourcefulIndexUrlActionSchema = joi\n .object({\n ...resourcefulIndexActionCommonSchema,\n url: joi.alternatives().try(joi.string(), joi.function()).required(),\n target: joi.string().optional(),\n })\n .unknown(false)\n\nconst resourcefulIndexFunctionActionSchema = joi\n .object({\n ...resourcefulIndexActionCommonSchema,\n action: joi.function().required(),\n bulkAction: joi.function().optional(),\n onSuccess: joi.function().optional(),\n onUndetermined: joi.function().optional(),\n onFailure: joi.function().optional(),\n onComplete: joi.function().optional(),\n onProgress: joi.function().optional(),\n })\n .unknown(false)\n\nconst resourcefulIndexActionSchema = joi\n .alternatives()\n .try(resourcefulIndexUrlActionSchema, resourcefulIndexFunctionActionSchema)\n\nconst resourcefulIndexActionsSchema = joi.array().items(resourcefulIndexActionSchema)\n\nexport const isResourcefulIndexUrlAction = (val: unknown): val is ResourcefulIndexUrlAction => {\n const { error } = resourcefulIndexUrlActionSchema.validate(val, { abortEarly: true })\n return Boolean(!error)\n}\n\nexport const isResourcefulIndexFunctionAction = (\n val: unknown\n): val is ResourcefulIndexFunctionAction => {\n const { error } = resourcefulIndexFunctionActionSchema.validate(val, { abortEarly: true })\n return Boolean(!error)\n}\n\nconst isResourcefulIndexAction = (\n val: unknown\n): val is ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction => {\n const { error } = resourcefulIndexActionSchema.validate(val, { abortEarly: true })\n return Boolean(!error)\n}\n\nconst areResourcefulIndexActions = (\n val: unknown\n): val is Array<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction> => {\n const { error } = resourcefulIndexActionsSchema.validate(val, { abortEarly: true })\n return Boolean(!error)\n}\n\nexport const makeResourcefulIndexActionsProps = propsFactory(\n {\n actions: {\n type: Array as PropType<Array<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction>>,\n validator: areResourcefulIndexActions,\n default: () => [],\n },\n },\n 'ResourcefulIndexActions'\n)\n\nconst canPerformActionForRecord = (record: ActionableRecord, action: unknown) => {\n if (!isResourcefulIndexAction(action)) {\n return false\n }\n if (typeof action.actionable === 'boolean') {\n return action.actionable\n } else if (typeof action.actionable === 'function') {\n try {\n return action.actionable(record)\n } catch (e) {\n warn('Error evaluating actionable function for action:', action, e)\n return false\n }\n }\n}\n\nexport const canPerformBulkActionForRecords = (records: ActionableRecord[], action: unknown) => {\n if (!isResourcefulIndexAction(action)) return false\n if (\n records.length < 2 ||\n (typeof action.maxBulkActionRecords === 'number' &&\n records.length > action.maxBulkActionRecords)\n )\n return false\n if (isResourcefulIndexUrlAction(action)) {\n if (typeof action.url === 'function') {\n const fn = action.url as (record: ActionableRecord) => string | null | undefined\n const urls = records.map((record) => fn(record))\n return urls.some((url) => 'string' === typeof url && url.trim().length > 0)\n } else if (typeof action.url === 'string') {\n return true\n }\n return false\n } else if (isResourcefulIndexFunctionAction(action)) {\n return true\n }\n return false\n}\n\nconst canPerformBulkActionForActionableCount = (action: unknown, count: number) => {\n if (!isResourcefulIndexAction(action)) return false\n if (\n count < 2 ||\n (typeof action.maxBulkActionRecords === 'number' && count > action.maxBulkActionRecords)\n )\n return false\n return isResourcefulIndexUrlAction(action) || isResourcefulIndexFunctionAction(action)\n}\n\nconst canDisplayInBulkActionsDropdown = (action: unknown) => {\n if (!isResourcefulIndexAction(action)) return false\n if (typeof action.maxBulkActionRecords === 'number' && action.maxBulkActionRecords <= 1)\n return false\n return isResourcefulIndexUrlAction(action) || isResourcefulIndexFunctionAction(action)\n}\n\ntype BulkActionListItemOptions = Omit<\n VListItemPublicProps,\n | 'title'\n | 'subtitle'\n | 'icon'\n | 'prependIcon'\n | 'appendIcon'\n | 'value'\n | 'active'\n | 'onClick'\n | 'href'\n | 'replace'\n | 'to'\n | 'exact'\n | 'onClickOnce'\n | 'activeClass'\n | 'activeColor'\n | 'appendAvatar'\n | 'prependAvatar'\n | 'link'\n | 'nav'\n | 'disabled'\n>\n\nexport const useBulkActions = (\n actions: Ref<Array<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction>>,\n allCount: Ref<number>,\n actionableCount: Ref<number>,\n onBulkActionInvoked: (\n action: ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction\n ) => void | Promise<void> | PromiseLike<void>,\n listItemOptions: MaybeRef<BulkActionListItemOptions> = {}\n) => {\n const bulkActionListItems: ComputedRef<Array<VNode>> = computed<Array<VNode>>(\n () =>\n Array.from(actions.value)\n .filter((v) => canDisplayInBulkActionsDropdown(v))\n .map((action, index) => {\n const opts: VListItemPublicProps = {\n ...toValue(listItemOptions),\n title: action.title,\n subtitle: action.subtitle,\n prependIcon: action.icon,\n disabled: !canPerformBulkActionForActionableCount(action, actionableCount.value),\n }\n return h(VListItem, {\n ...opts,\n key: `resourceful-index-bulk-action-${index}`,\n onClick: () => {\n if (onBulkActionInvoked) {\n onBulkActionInvoked(action)\n }\n },\n })\n }) as VNode[]\n )\n const canShowBulkActionList = computed(() => bulkActionListItems.value.length > 0)\n const bulkActionListDisabled = computed(\n () =>\n allCount.value === 0 ||\n Array.from(actions.value).every((a) => !canDisplayInBulkActionsDropdown(a))\n )\n\n return { bulkActionListItems, canShowBulkActionList, bulkActionListDisabled }\n}\n\nexport const useTableActions = (\n actions: Ref<Array<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction>>,\n disabled: MaybeRef<string | boolean | undefined>,\n listItemOptions: MaybeRef<BulkActionListItemOptions> = {}\n) => {\n const { copy: copyToClipboard, renderClipboardFeedback } = useClipboard()\n const t = useI18n()\n const contextMenuX = ref<number | null>(null)\n const contextMenuY = ref<number | null>(null)\n const contextRecord = ref<ActionableRecord | null>(null)\n const contextAction = ref<ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction | null>(null)\n const closeContextMenu = () => {\n contextMenuX.value = null\n contextMenuY.value = null\n contextRecord.value = null\n contextAction.value = null\n }\n const contextMenuIsOpen = computed(() => {\n return (\n contextMenuX.value !== null &&\n contextMenuY.value !== null &&\n (contextRecord.value !== null || contextAction.value !== null)\n )\n })\n const contextMenuVariant = computed<'none' | 'record' | 'action'>(() => {\n if (contextMenuX.value === null || contextMenuY.value === null) return 'none'\n if (contextAction.value !== null) return 'action'\n if (contextRecord.value !== null) return 'record'\n return 'none'\n })\n const contextElement = ref<HTMLElement | null>(null)\n\n const recordsProcessingAction = ref<string[]>([])\n\n const processResourcefulIndexFunctionAction = async (\n action: ResourcefulIndexFunctionAction,\n record: ActionableRecord\n ) => {\n const recordId = String(record.id)\n if (recordsProcessingAction.value.includes(recordId)) return\n recordsProcessingAction.value.push(recordId)\n let result: TernaryOperator = null\n const callCallback = async (\n callback: DispositionCallback,\n rec: ActionableRecord,\n res: TernaryOperator\n ) => {\n const payload = new Map<ActionableRecord, TernaryOperator>([[rec, res]])\n try {\n await callback(payload)\n } catch (e) {\n warn('Error executing callback for action:', action, e)\n }\n }\n if (action.onProgress) {\n try {\n action.onProgress(0, 1)\n } catch (e) {\n warn('Error executing onProgress callback for action:', action, e)\n }\n }\n try {\n result = await action.action(record)\n } catch (e) {\n result = false\n warn('Error executing action function for record:', record, e)\n }\n const idx = recordsProcessingAction.value.indexOf(recordId)\n if (idx > -1) {\n recordsProcessingAction.value.splice(idx, 1)\n }\n if (action.onProgress) {\n try {\n action.onProgress(1, 1)\n } catch (e) {\n warn('Error executing onProgress callback for action:', action, e)\n }\n }\n const promises: Array<Promise<void>> = []\n if (action.onSuccess && result === true) {\n promises.push(callCallback(action.onSuccess, record, result))\n }\n if (action.onUndetermined && result === null) {\n promises.push(callCallback(action.onUndetermined, record, result))\n }\n if (action.onFailure && result === false) {\n promises.push(callCallback(action.onFailure, record, result))\n }\n if (action.onComplete) {\n promises.push(callCallback(action.onComplete, record, result))\n }\n if (promises.length > 0) {\n await Promise.all(promises)\n }\n return result\n }\n\n const actionForRecordIsProcessing = (record: ActionableRecord) => {\n if (record && 'id' in record) {\n const recordId = String(record.id)\n return recordsProcessingAction.value.includes(recordId)\n }\n return false\n }\n\n const actionsForRecordAreDisabled = (record: ActionableRecord) => {\n if (true === toValue(disabled)) return true\n return actionForRecordIsProcessing(record)\n }\n\n const isProcessing = computed(() => recordsProcessingAction.value.length > 0)\n\n const onPinnedActionContextMenuRequest = async (\n action: ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction,\n record: ActionableRecord,\n e: MouseEvent\n ) => {\n if (actionsForRecordAreDisabled(record)) return\n if (contextMenuIsOpen.value) {\n closeContextMenu()\n await nextTick()\n }\n contextMenuX.value = 'clientX' in e ? e.clientX : null\n contextMenuY.value = 'clientY' in e ? e.clientY : null\n contextRecord.value = record\n contextAction.value = action\n }\n const pinnedActions = computed(() =>\n actions.value.filter((a) => a.pinned && isResourcefulIndexAction(a))\n )\n const unpinnedActions = computed(() =>\n actions.value.filter((a) => !a.pinned && isResourcefulIndexAction(a))\n )\n const renderActionsForRecord = (record: ActionableRecord) => {\n const pinnedActionsForRecord = pinnedActions.value.filter((a) =>\n canPerformActionForRecord(record, a)\n )\n const unpinnedActionsForRecord = unpinnedActions.value.filter((a) =>\n canPerformActionForRecord(record, a)\n )\n if (pinnedActionsForRecord.length === 0 && unpinnedActionsForRecord.length === 0) return null\n const isActionProcessing = actionForRecordIsProcessing(record)\n return h(\n 'div',\n {\n class: ['__resourceful_index_actions_cell__actions', 'd-flex', 'align-center', 'mx-2'],\n },\n [\n ...pinnedActionsForRecord.map((action, index) => {\n const tooltipListItemOpts: VListItemPublicProps = {\n density: 'compact',\n ...toValue(listItemOptions),\n title: action.title,\n subtitle: action.subtitle,\n }\n const btnItemOpts: VBtnPublicProps = {\n // @ts-expect-error\n onContextmenu: (e: MouseEvent) => {\n if (e) {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n if (actionsForRecordAreDisabled(record)) return\n onPinnedActionContextMenuRequest(action, record, e)\n }\n },\n }\n if (isResourcefulIndexUrlAction(action)) {\n const href =\n typeof action.url === 'function' ? action.url(toUnreactive(record)) : action.url\n if (isObject(href)) {\n btnItemOpts.to = href\n } else {\n btnItemOpts.href = (href as string) || undefined\n }\n // @ts-expect-error\n btnItemOpts.target = action.target || undefined\n } else if (isResourcefulIndexFunctionAction(action)) {\n // @ts-expect-error\n btnItemOpts.onClick = () =>\n processResourcefulIndexFunctionAction(action, toUnreactive(record))\n // @ts-expect-error\n btnItemOpts.onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n processResourcefulIndexFunctionAction(action, toUnreactive(record))\n }\n }\n }\n return h(\n VHover,\n { key: `pinned-action-${index}` },\n {\n default: ({ isHovering, props: hoverProvidedProps }: VHoverDefaultSlotProps[0]) =>\n h(\n VTooltip,\n {\n openDelay: 750,\n interactive: false,\n stickToTarget: true,\n } satisfies VTooltipPublicProps,\n {\n activator: ({\n isActive,\n props: tooltipActivatorProps,\n }: VTooltipActivatorSlotProps[0]) =>\n h(VBtn, {\n ...hoverProvidedProps,\n ...tooltipActivatorProps,\n ...btnItemOpts,\n variant: 'text',\n icon: action.icon,\n size: 'small',\n style: { opacity: isHovering || isActive ? 1 : 0.5 },\n class: [\n {\n 'me-2':\n index < pinnedActionsForRecord.length - 1 ||\n unpinnedActionsForRecord.length > 0,\n },\n ],\n disabled: Boolean(toValue(disabled)),\n } satisfies VBtnPublicProps),\n default: () =>\n h(VListItem, {\n ...tooltipListItemOpts,\n }),\n }\n ),\n }\n )\n }),\n unpinnedActionsForRecord.length === 0\n ? isActionProcessing\n ? h(VBtn, {\n icon: true,\n size: 'small',\n loading: true,\n variant: 'text',\n } satisfies VBtnPublicProps)\n : null\n : h(\n VHover,\n {},\n {\n default: ({ isHovering, props: hoverProvidedProps }: VHoverDefaultSlotProps[0]) =>\n h(VMenu, { closeOnContentClick: true } satisfies VMenuPublicProps, {\n activator: ({\n isActive,\n props: menuActivatorProps,\n }: VMenuActivatorSlotProps[0]) =>\n h(VBtn, {\n ...hoverProvidedProps,\n ...menuActivatorProps,\n variant: 'text',\n icon: () => h(SvgIcon, { d: mdiDotsVertical }),\n size: 'small',\n style: { opacity: isHovering || isActive ? 1 : 0.5 },\n class: [],\n loading: isActionProcessing,\n } satisfies VBtnPublicProps),\n default: () =>\n h(VCard, { color: 'surface' }, () => [\n ...unpinnedActionsForRecord.map((action, index) => {\n const key = `resourceful-index-action-${index}`\n const opts: VListItemPublicProps = {\n ...toValue(listItemOptions),\n title: action.title,\n subtitle: action.subtitle,\n prependIcon: action.icon,\n disabled: Boolean(toValue(disabled)),\n }\n if (isResourcefulIndexUrlAction(action)) {\n const href =\n typeof action.url === 'function'\n ? action.url(toUnreactive(record))\n : action.url\n if (isObject(href)) {\n opts.to = href\n } else {\n opts.href = (href as string) || undefined\n }\n // @ts-expect-error\n opts.target = action.target || undefined\n opts.link = typeof href === 'string' && href.trim().length > 0\n } else if (isResourcefulIndexFunctionAction(action)) {\n opts.onClick = () =>\n processResourcefulIndexFunctionAction(action, toUnreactive(record))\n // @ts-expect-error\n opts.onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n processResourcefulIndexFunctionAction(action, toUnreactive(record))\n }\n }\n }\n return h(VListItem, { ...opts, key })\n }),\n ]),\n }),\n }\n ),\n ]\n )\n }\n const reactiveContextMenuRenderer = () => {\n const additionalStyles =\n null === contextMenuY.value || null === contextMenuX.value\n ? { width: 0, height: 0, overflow: 'hidden' }\n : {}\n return h(\n 'div',\n {\n ref: contextElement,\n style: {\n position: 'fixed',\n top: null === contextMenuY.value ? 0 : convertToUnit(contextMenuY.value),\n left: null === contextMenuX.value ? 0 : convertToUnit(contextMenuX.value),\n zIndex: 5,\n ...additionalStyles,\n },\n },\n h(\n VSlideYTransition,\n {\n mode: 'in-out',\n } satisfies VSlideYTransitionPublicProps,\n () => {\n const variant = contextMenuVariant.value\n if (variant === 'action') {\n return h(VCard, { color: 'surface', minHeight: 40, minWidth: 50 }, () => {\n const opts: VListItemPublicProps = {\n ...toValue(listItemOptions),\n disabled: Boolean(toValue(disabled)),\n }\n const action: ResourcefulIndexUrlAction | ResourcefulIndexFunctionAction | null =\n toValue(contextAction.value)\n if (isResourcefulIndexUrlAction(action)) {\n const href =\n typeof action.url === 'function'\n ? action.url(toUnreactive(contextRecord.value!))\n : action.url\n if (isObject(href)) {\n opts.to = href\n } else {\n opts.href = (href as string) || undefined\n }\n return [\n h(VListItem, {\n ...opts,\n title: t('resourceful.action.openInApp'),\n prependIcon: () => openInAppIcon,\n onClick: () => {\n closeContextMenu()\n },\n }),\n h(VListItem, {\n ...opts,\n title: t('resourceful.action.openInNew'),\n prependIcon: () => openInNewIcon,\n target: '_blank',\n onClick: () => {\n closeContextMenu()\n },\n }),\n h(\n VListItem,\n stripUndefinedValuesFromObject({\n ...opts,\n title: t('resourceful.action.copyLink'),\n prependIcon: () => copyLinkIcon,\n href: undefined,\n onClick: () => {\n if ('string' === typeof href && href.trim().length > 0) {\n copyToClipboard(href)\n }\n closeContextMenu()\n },\n })\n ),\n ]\n } else if (isResourcefulIndexFunctionAction(action)) {\n return [\n h(VListItem, {\n ...opts,\n title: action.title,\n subtitle: action.subtitle,\n prependIcon: action.icon,\n onClick: () => {\n processResourcefulIndexFunctionAction(\n action,\n toUnreactive(contextRecord.value!)\n )\n closeContextMenu()\n },\n }),\n ]\n }\n return null\n })\n } else if (variant === 'record') {\n return h(VCard, { color: 'surface', minHeight: 40, minWidth: 50 }, () =>\n Array.from(actions.value).map((action, index) => {\n const key = `resourceful-index-context-menu-action-${index}`\n const opts: VListItemPublicProps = {\n ...toValue(listItemOptions),\n title: action.title,\n subtitle: action.subtitle,\n prependIcon: action.icon,\n disabled: Boolean(toValue(disabled)),\n }\n if (isResourcefulIndexUrlAction(action)) {\n const href =\n typeof action.url === 'function'\n ? action.url(toUnreactive(contextRecord.value!))\n : action.url\n if (isObject(href)) {\n opts.to = href\n } else {\n opts.href = (href as string) || undefined\n }\n // @ts-expect-error\n opts.target = action.target || undefined\n opts.link = typeof href === 'string' && href.trim().length > 0\n opts.onClick = () => {\n closeContextMenu()\n }\n // @ts-expect-error\n opts.onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n closeContextMenu()\n }\n }\n } else if (isResourcefulIndexFunctionAction(action)) {\n opts.onClick = () => {\n processResourcefulIndexFunctionAction(\n action,\n toUnreactive(contextRecord.value!)\n )\n closeContextMenu()\n }\n // @ts-expect-error\n opts.onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n processResourcefulIndexFunctionAction(\n action,\n toUnreactive(contextRecord.value!)\n )\n closeContextMenu()\n }\n }\n }\n return h(VListItem, { ...opts, key })\n })\n )\n }\n return null\n }\n )\n )\n }\n const openContextMenuForRecord = async (e: MouseEvent | TouchEvent, record: ActionableRecord) => {\n if (actionsForRecordAreDisabled(record)) return\n if (contextMenuIsOpen.value) {\n closeContextMenu()\n await nextTick()\n }\n contextMenuX.value =\n 'clientX' in e\n ? e.clientX\n : 'touches' in e && e.touches.length > 0\n ? e.touches[0].clientX\n : null\n contextMenuY.value =\n 'clientY' in e\n ? e.clientY\n : 'touches' in e && e.touches.length > 0\n ? e.touches[0].clientY\n : null\n contextAction.value = null\n contextRecord.value = record\n }\n const windowClickListener = (e: MouseEvent) => {\n if (contextElement.value === null) return\n if (contextElement.value?.contains(e.target as Node)) return\n closeContextMenu()\n }\n const windowContextMenuListener = (e: MouseEvent) => {\n if (contextElement.value === null) return\n if (contextElement.value?.contains(e.target as Node)) return\n closeContextMenu()\n }\n const windowTouchListener = (e: TouchEvent) => {\n if (contextElement.value === null) return\n if (contextElement.value?.contains(e.target as Node)) return\n closeContextMenu()\n }\n onMounted(() => {\n window.addEventListener('click', windowClickListener)\n window.addEventListener('contextmenu', windowContextMenuListener)\n window.addEventListener('touchstart', windowTouchListener)\n window.addEventListener('scroll', closeContextMenu)\n window.addEventListener('resize', closeContextMenu)\n if (SUPPORTS_VISUAL_VIEWPORT) {\n window.visualViewport!.addEventListener('scroll', closeContextMenu)\n window.visualViewport!.addEventListener('resize', closeContextMenu)\n }\n })\n onBeforeUnmount(() => {\n closeContextMenu()\n window.removeEventListener('click', windowClickListener)\n window.removeEventListener('contextmenu', windowContextMenuListener)\n window.removeEventListener('touchstart', windowTouchListener)\n window.removeEventListener('scroll', closeContextMenu)\n window.removeEventListener('resize', closeContextMenu)\n if (SUPPORTS_VISUAL_VIEWPORT) {\n window.visualViewport!.removeEventListener('scroll', closeContextMenu)\n window.visualViewport!.removeEventListener('resize', closeContextMenu)\n }\n })\n return {\n renderActionsForRecord,\n reactiveContextMenuRenderer,\n openContextMenuForRecord,\n renderClipboardFeedback,\n contextMenuIsOpen,\n actionForRecordIsProcessing,\n isProcessing,\n }\n}\n"],"names":["_createVNode","_mergeProps","joi","propsFactory"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,18 +1,18 @@
1
- import { S as SvgIcon } from "./index-CduefDwU.mjs";
2
- import { a as useI18n, k as useBrowser } from "./ioc-Q-KAX6x1.mjs";
3
- import { u as useScopedDisplay } from "./display-pfXaBUr6.mjs";
1
+ import { S as SvgIcon } from "./index-DWcM0xl9.mjs";
2
+ import { a as useI18n, k as useBrowser } from "./ioc-BSX3tx4i.mjs";
3
+ import { u as useScopedDisplay } from "./display-BEkjokHp.mjs";
4
4
  import { useLocale, useDisplay } from "vuetify";
5
- import { p as propsAndEmitsFactory, f as isHTMLElement, m as makeIdentifier } from "./utils-DehfJ8pT.mjs";
6
- import { C as ControlButton } from "./index-DHoLuRuJ.mjs";
7
- import { a as pick, m as makeVEmptyStateProps, u as useRender, b as IconValue } from "./vendor-nhtio-vuetifiable-CS-KbH1h.mjs";
8
- import { V as VCard, m as mdiOctagon, a as mdiClose, b as mdiCheck } from "./mdi-jw9Ee7p6.mjs";
5
+ import { p as propsAndEmitsFactory, f as isHTMLElement, m as makeIdentifier } from "./utils-DBVrNuOO.mjs";
6
+ import { C as ControlButton } from "./index-CXEuIK4B.mjs";
7
+ import { a as pick, m as makeVEmptyStateProps, u as useRender, b as IconValue } from "./vendor-nhtio-vuetifiable-CBXbDsg0.mjs";
8
+ import { V as VCard, c as mdiOctagon, d as mdiClose, e as mdiCheck } from "./mdi-C_p8wc7S.mjs";
9
9
  import { i as infoSvg, e as errorSvg, s as successSvg, q as questionSvg } from "./question-CpfZrjl2.mjs";
10
10
  import { o } from "./vendor-nhtio-tiny-typed-emitter-gOxdt9O8.mjs";
11
11
  import { w as warningSvg } from "./warning-CwVFcGgs.mjs";
12
12
  import { defineComponent, toRefs, computed, ref, h, getCurrentInstance, isRef, toValue } from "vue";
13
- import { V as VDialog } from "./VDialog-BVRDhoD7.mjs";
14
- import { V as VContainer, a as VRow, b as VCol } from "./VRow-BBY2gEjT.mjs";
15
- import { a as VImg } from "./display-CHspVOz6.mjs";
13
+ import { V as VDialog } from "./VDialog-lUcuwX2n.mjs";
14
+ import { V as VContainer, a as VRow, b as VCol } from "./VRow-1b4yScY2.mjs";
15
+ import { a as VImg } from "./display-BeKXT2GD.mjs";
16
16
  const { makeProps: makeAlertComposableDialog, emits: alertComposableDialogEmits } = propsAndEmitsFactory(
17
17
  {
18
18
  icon: {
@@ -529,4 +529,4 @@ export {
529
529
  ResourcefulAlerter as R,
530
530
  useAlert as u
531
531
  };
532
- //# sourceMappingURL=alert-B0j6GH3V.mjs.map
532
+ //# sourceMappingURL=alert-D7IVL2r2.mjs.map