@nhtio/lucid-resourceful-vue-components 0.1.0-master-36a05f8e → 0.1.0-master-0d659775

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 (117) hide show
  1. package/{VRadioGroup-4EZRfNoO.mjs → VRadioGroup-lC_c6Ath.mjs} +2 -2
  2. package/{VRadioGroup-4EZRfNoO.mjs.map → VRadioGroup-lC_c6Ath.mjs.map} +1 -1
  3. package/{actions-Cl683OMq.mjs → actions-CXhEUJp6.mjs} +6 -6
  4. package/{actions-Cl683OMq.mjs.map → actions-CXhEUJp6.mjs.map} +1 -1
  5. package/{alert-BX9BkYd9.mjs → alert-B0j6GH3V.mjs} +6 -6
  6. package/{alert-BX9BkYd9.mjs.map → alert-B0j6GH3V.mjs.map} +1 -1
  7. package/{bigint-Cutiv42Q.mjs → bigint-DXS_rVbG.mjs} +5 -5
  8. package/{bigint-Cutiv42Q.mjs.map → bigint-DXS_rVbG.mjs.map} +1 -1
  9. package/{boolean-D6WyXCcY.mjs → boolean-J55jiDD7.mjs} +7 -7
  10. package/{boolean-D6WyXCcY.mjs.map → boolean-J55jiDD7.mjs.map} +1 -1
  11. package/{clipboard-C0t7KXsZ.mjs → clipboard-C6YTX8YB.mjs} +4 -4
  12. package/{clipboard-C0t7KXsZ.mjs.map → clipboard-C6YTX8YB.mjs.map} +1 -1
  13. package/{common-CCR70s0E.mjs → common-a_cd4SQg.mjs} +9 -9
  14. package/{common-CCR70s0E.mjs.map → common-a_cd4SQg.mjs.map} +1 -1
  15. package/components/autorefresh_controller.mjs +1 -1
  16. package/components/control_button.mjs +1 -1
  17. package/components/control_button_bar.mjs +2 -2
  18. package/components/control_menu.mjs +1 -1
  19. package/components/custom_field.mjs +1 -1
  20. package/components/exporter.mjs +1 -1
  21. package/components/fields/bigint.mjs +1 -1
  22. package/components/fields/boolean.mjs +1 -1
  23. package/components/fields/date.mjs +1 -1
  24. package/components/fields/date_time.mjs +1 -1
  25. package/components/fields/enum.mjs +1 -1
  26. package/components/fields/integer.mjs +1 -1
  27. package/components/fields/number.mjs +1 -1
  28. package/components/fields/string.mjs +1 -1
  29. package/components/fields/unsigned_integer.mjs +1 -1
  30. package/components/fields.mjs +9 -9
  31. package/components/form_with_validation.mjs +1 -1
  32. package/components/resourceful_alerter.mjs +1 -1
  33. package/components/resourceful_index.mjs +1 -1
  34. package/components/resourceful_record.mjs +2 -2
  35. package/components/resourceful_record_default_form.mjs +1 -1
  36. package/components/resourceful_record_form.mjs +1 -1
  37. package/components/sortable.mjs +1 -1
  38. package/components/svg_icon.mjs +1 -1
  39. package/components/timezone_picker.mjs +1 -1
  40. package/components.mjs +23 -23
  41. package/composables.mjs +11 -11
  42. package/{custom-B9c_7nfV.mjs → custom-CgyU3A_B.mjs} +4 -4
  43. package/{custom-B9c_7nfV.mjs.map → custom-CgyU3A_B.mjs.map} +1 -1
  44. package/{date-B2SWnGCI.mjs → date-B8edF8kU.mjs} +119 -72
  45. package/date-B8edF8kU.mjs.map +1 -0
  46. package/{date_time-CDwBSOoF.mjs → date_time-BNsYnH-e.mjs} +272 -187
  47. package/date_time-BNsYnH-e.mjs.map +1 -0
  48. package/{display-C5mRsn7Z.mjs → display-pfXaBUr6.mjs} +3 -3
  49. package/{display-C5mRsn7Z.mjs.map → display-pfXaBUr6.mjs.map} +1 -1
  50. package/{enum-DWYdxtym.mjs → enum-DoxJn16e.mjs} +6 -6
  51. package/{enum-DWYdxtym.mjs.map → enum-DoxJn16e.mjs.map} +1 -1
  52. package/{exceptions-Cc9ucZ7k.mjs → exceptions-BeFuVcrH.mjs} +2 -2
  53. package/{exceptions-Cc9ucZ7k.mjs.map → exceptions-BeFuVcrH.mjs.map} +1 -1
  54. package/exceptions.mjs +2 -2
  55. package/factories.mjs +1 -1
  56. package/{field_composer-BKt9bYLY.mjs → field_composer-CPqM1aSV.mjs} +3 -3
  57. package/{field_composer-BKt9bYLY.mjs.map → field_composer-CPqM1aSV.mjs.map} +1 -1
  58. package/{form-UkVPEtmH.mjs → form-BkQlevYR.mjs} +13 -13
  59. package/{form-UkVPEtmH.mjs.map → form-BkQlevYR.mjs.map} +1 -1
  60. package/{guards-DH0cjg4V.mjs → guards-D0G8CU2m.mjs} +2 -2
  61. package/{guards-DH0cjg4V.mjs.map → guards-D0G8CU2m.mjs.map} +1 -1
  62. package/guards.mjs +4 -4
  63. package/helpers.mjs +12 -12
  64. package/{http-DF04z-RO.mjs → http-C15bx-Gn.mjs} +2 -2
  65. package/{http-DF04z-RO.mjs.map → http-C15bx-Gn.mjs.map} +1 -1
  66. package/{http-I0AHP1E0.mjs → http-ChBUYgv8.mjs} +2 -2
  67. package/{http-I0AHP1E0.mjs.map → http-ChBUYgv8.mjs.map} +1 -1
  68. package/http.mjs +1 -1
  69. package/{index-qrLo5NeU.mjs → index-BEXQjukb.mjs} +2 -1
  70. package/{index-qrLo5NeU.mjs.map → index-BEXQjukb.mjs.map} +1 -1
  71. package/{index-CdM957SL.mjs → index-BcDX9w4T.mjs} +6 -6
  72. package/{index-CdM957SL.mjs.map → index-BcDX9w4T.mjs.map} +1 -1
  73. package/{index-DrnPA6Ix.mjs → index-CHELe70a.mjs} +5 -5
  74. package/{index-DrnPA6Ix.mjs.map → index-CHELe70a.mjs.map} +1 -1
  75. package/{index-CPEwoqSn.mjs → index-CduefDwU.mjs} +3 -3
  76. package/{index-CPEwoqSn.mjs.map → index-CduefDwU.mjs.map} +1 -1
  77. package/{index-BYW_4VLZ.mjs → index-CvhhGjZn.mjs} +3 -3
  78. package/{index-BYW_4VLZ.mjs.map → index-CvhhGjZn.mjs.map} +1 -1
  79. package/{index-BDy60Kot.mjs → index-DGWcBN5e.mjs} +10 -10
  80. package/{index-BDy60Kot.mjs.map → index-DGWcBN5e.mjs.map} +1 -1
  81. package/{index-BLHeTLWJ.mjs → index-DHoLuRuJ.mjs} +3 -3
  82. package/{index-BLHeTLWJ.mjs.map → index-DHoLuRuJ.mjs.map} +1 -1
  83. package/{index-Bv_WlNae.mjs → index-DLzoBhUb.mjs} +3 -3
  84. package/{index-Bv_WlNae.mjs.map → index-DLzoBhUb.mjs.map} +1 -1
  85. package/{index-CQL3B-1I.mjs → index-DcCK7tW-.mjs} +31 -31
  86. package/{index-CQL3B-1I.mjs.map → index-DcCK7tW-.mjs.map} +1 -1
  87. package/{index-DocX_tDZ.mjs → index-De0W4KPF.mjs} +6 -6
  88. package/{index-DocX_tDZ.mjs.map → index-De0W4KPF.mjs.map} +1 -1
  89. package/{index-CHv5OSeQ.mjs → index-M6jQfE3a.mjs} +2 -2
  90. package/{index-CHv5OSeQ.mjs.map → index-M6jQfE3a.mjs.map} +1 -1
  91. package/index.mjs +37 -37
  92. package/{integer-Bt_AlHXh.mjs → integer-BWdmDp7S.mjs} +2 -2
  93. package/{integer-Bt_AlHXh.mjs.map → integer-BWdmDp7S.mjs.map} +1 -1
  94. package/{ioc-kp39kvzE.mjs → ioc-Q-KAX6x1.mjs} +2 -2
  95. package/{ioc-kp39kvzE.mjs.map → ioc-Q-KAX6x1.mjs.map} +1 -1
  96. package/ioc.mjs +1 -1
  97. package/{number-Dm-VOsTt.mjs → number-Chf-qQs7.mjs} +6 -6
  98. package/number-Chf-qQs7.mjs.map +1 -0
  99. package/package.json +1 -1
  100. package/private/fields/date_time.d.ts +46 -46
  101. package/{props-BD6dI7C6.mjs → props-eYGYq1uo.mjs} +3 -3
  102. package/{props-BD6dI7C6.mjs.map → props-eYGYq1uo.mjs.map} +1 -1
  103. package/{props-CLREBMsk.mjs → props-fFnbtBgH.mjs} +3 -3
  104. package/{props-CLREBMsk.mjs.map → props-fFnbtBgH.mjs.map} +1 -1
  105. package/{renderers-52Fmk2vb.mjs → renderers-bwWUs06k.mjs} +13 -13
  106. package/{renderers-52Fmk2vb.mjs.map → renderers-bwWUs06k.mjs.map} +1 -1
  107. package/{string-CLObNFFq.mjs → string-D-UsgMTx.mjs} +5 -5
  108. package/{string-CLObNFFq.mjs.map → string-D-UsgMTx.mjs.map} +1 -1
  109. package/{unsigned_integer-BE8JsE5A.mjs → unsigned_integer-7R2vw_Qn.mjs} +3 -3
  110. package/{unsigned_integer-BE8JsE5A.mjs.map → unsigned_integer-7R2vw_Qn.mjs.map} +1 -1
  111. package/{utils-CtD3mjq0.mjs → utils-DehfJ8pT.mjs} +2 -2
  112. package/{utils-CtD3mjq0.mjs.map → utils-DehfJ8pT.mjs.map} +1 -1
  113. package/{validation-AYuAZgi0.mjs → validation-41gHTtyY.mjs} +6 -6
  114. package/{validation-AYuAZgi0.mjs.map → validation-41gHTtyY.mjs.map} +1 -1
  115. package/date-B2SWnGCI.mjs.map +0 -1
  116. package/date_time-CDwBSOoF.mjs.map +0 -1
  117. package/number-Dm-VOsTt.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { createVNode, mergeProps, useId, computed, ref, createElementVNode, Fragment } from "vue";
2
- import { j as VSelectionControl, k as makeVSelectionControlProps, g as VInput, l as VLabel, n as VSelectionControlGroup, o as makeVInputProps, p as makeSelectionControlGroupProps } from "./common-CCR70s0E.mjs";
2
+ import { j as VSelectionControl, k as makeVSelectionControlProps, g as VInput, l as VLabel, n as VSelectionControlGroup, o as makeVInputProps, p as makeSelectionControlGroupProps } from "./common-a_cd4SQg.mjs";
3
3
  import { g as genericComponent, p as propsFactory, e as useRender, u as useProxiedModel, O as filterInputAttrs, s as IconValue, o as omit } from "./display-CHspVOz6.mjs";
4
4
  import { p as forwardRefs } from "./mdi-jw9Ee7p6.mjs";
5
5
  const makeVRadioProps = propsFactory({
@@ -118,4 +118,4 @@ export {
118
118
  VRadioGroup as V,
119
119
  VRadio as a
120
120
  };
121
- //# sourceMappingURL=VRadioGroup-4EZRfNoO.mjs.map
121
+ //# sourceMappingURL=VRadioGroup-lC_c6Ath.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VRadioGroup-4EZRfNoO.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/VRadio/VRadio.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/VRadioGroup/VRadioGroup.js"],"sourcesContent":["import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Components\nimport { makeVSelectionControlProps, VSelectionControl } from \"../VSelectionControl/VSelectionControl.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVRadioProps = propsFactory({\n ...makeVSelectionControlProps({\n falseIcon: '$radioOff',\n trueIcon: '$radioOn'\n })\n}, 'VRadio');\nexport const VRadio = genericComponent()({\n name: 'VRadio',\n props: makeVRadioProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => {\n const controlProps = VSelectionControl.filterProps(props);\n return _createVNode(VSelectionControl, _mergeProps(controlProps, {\n \"class\": ['v-radio', props.class],\n \"style\": props.style,\n \"type\": \"radio\"\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VRadio.js.map","import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps, createElementVNode as _createElementVNode } from \"vue\";\n// Styles\nimport \"./VRadioGroup.css\";\n\n// Components\nimport { makeVInputProps, VInput } from \"../VInput/VInput.js\";\nimport { VLabel } from \"../VLabel/index.js\";\nimport { VSelectionControl } from \"../VSelectionControl/index.js\";\nimport { makeSelectionControlGroupProps, VSelectionControlGroup } from \"../VSelectionControlGroup/VSelectionControlGroup.js\"; // Composables\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { computed, ref, useId } from 'vue';\nimport { filterInputAttrs, genericComponent, omit, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVRadioGroupProps = propsFactory({\n height: {\n type: [Number, String],\n default: 'auto'\n },\n ...makeVInputProps(),\n ...omit(makeSelectionControlGroupProps(), ['multiple']),\n trueIcon: {\n type: IconValue,\n default: '$radioOn'\n },\n falseIcon: {\n type: IconValue,\n default: '$radioOff'\n },\n type: {\n type: String,\n default: 'radio'\n }\n}, 'VRadioGroup');\nexport const VRadioGroup = genericComponent()({\n name: 'VRadioGroup',\n inheritAttrs: false,\n props: makeVRadioGroupProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const uid = useId();\n const id = computed(() => props.id || `radio-group-${uid}`);\n const model = useProxiedModel(props, 'modelValue');\n const inputRef = ref();\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const controlProps = VSelectionControl.filterProps(props);\n const label = slots.label ? slots.label({\n label: props.label,\n props: {\n for: id.value\n }\n }) : props.label;\n return _createVNode(VInput, _mergeProps({\n \"ref\": inputRef,\n \"class\": ['v-radio-group', props.class],\n \"style\": props.style\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"id\": id.value\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n messagesId,\n isDisabled,\n isReadonly\n } = _ref2;\n return _createElementVNode(_Fragment, null, [label && _createVNode(VLabel, {\n \"id\": id.value\n }, {\n default: () => [label]\n }), _createVNode(VSelectionControlGroup, _mergeProps(controlProps, {\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"defaultsTarget\": \"VRadio\",\n \"trueIcon\": props.trueIcon,\n \"falseIcon\": props.falseIcon,\n \"type\": props.type,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value,\n \"aria-labelledby\": label ? id.value : undefined,\n \"multiple\": false\n }, controlAttrs, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event\n }), slots)]);\n }\n });\n });\n return forwardRefs({}, inputRef);\n }\n});\n//# sourceMappingURL=VRadioGroup.js.map"],"names":["_createVNode","_mergeProps","id","_createElementVNode","_Fragment"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"VRadioGroup-lC_c6Ath.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/VRadio/VRadio.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/VRadioGroup/VRadioGroup.js"],"sourcesContent":["import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Components\nimport { makeVSelectionControlProps, VSelectionControl } from \"../VSelectionControl/VSelectionControl.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVRadioProps = propsFactory({\n ...makeVSelectionControlProps({\n falseIcon: '$radioOff',\n trueIcon: '$radioOn'\n })\n}, 'VRadio');\nexport const VRadio = genericComponent()({\n name: 'VRadio',\n props: makeVRadioProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => {\n const controlProps = VSelectionControl.filterProps(props);\n return _createVNode(VSelectionControl, _mergeProps(controlProps, {\n \"class\": ['v-radio', props.class],\n \"style\": props.style,\n \"type\": \"radio\"\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VRadio.js.map","import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps, createElementVNode as _createElementVNode } from \"vue\";\n// Styles\nimport \"./VRadioGroup.css\";\n\n// Components\nimport { makeVInputProps, VInput } from \"../VInput/VInput.js\";\nimport { VLabel } from \"../VLabel/index.js\";\nimport { VSelectionControl } from \"../VSelectionControl/index.js\";\nimport { makeSelectionControlGroupProps, VSelectionControlGroup } from \"../VSelectionControlGroup/VSelectionControlGroup.js\"; // Composables\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { computed, ref, useId } from 'vue';\nimport { filterInputAttrs, genericComponent, omit, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVRadioGroupProps = propsFactory({\n height: {\n type: [Number, String],\n default: 'auto'\n },\n ...makeVInputProps(),\n ...omit(makeSelectionControlGroupProps(), ['multiple']),\n trueIcon: {\n type: IconValue,\n default: '$radioOn'\n },\n falseIcon: {\n type: IconValue,\n default: '$radioOff'\n },\n type: {\n type: String,\n default: 'radio'\n }\n}, 'VRadioGroup');\nexport const VRadioGroup = genericComponent()({\n name: 'VRadioGroup',\n inheritAttrs: false,\n props: makeVRadioGroupProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const uid = useId();\n const id = computed(() => props.id || `radio-group-${uid}`);\n const model = useProxiedModel(props, 'modelValue');\n const inputRef = ref();\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const controlProps = VSelectionControl.filterProps(props);\n const label = slots.label ? slots.label({\n label: props.label,\n props: {\n for: id.value\n }\n }) : props.label;\n return _createVNode(VInput, _mergeProps({\n \"ref\": inputRef,\n \"class\": ['v-radio-group', props.class],\n \"style\": props.style\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"id\": id.value\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n messagesId,\n isDisabled,\n isReadonly\n } = _ref2;\n return _createElementVNode(_Fragment, null, [label && _createVNode(VLabel, {\n \"id\": id.value\n }, {\n default: () => [label]\n }), _createVNode(VSelectionControlGroup, _mergeProps(controlProps, {\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"defaultsTarget\": \"VRadio\",\n \"trueIcon\": props.trueIcon,\n \"falseIcon\": props.falseIcon,\n \"type\": props.type,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value,\n \"aria-labelledby\": label ? id.value : undefined,\n \"multiple\": false\n }, controlAttrs, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event\n }), slots)]);\n }\n });\n });\n return forwardRefs({}, inputRef);\n }\n});\n//# sourceMappingURL=VRadioGroup.js.map"],"names":["_createVNode","_mergeProps","id","_createElementVNode","_Fragment"],"mappings":";;;;AAIO,MAAM,kBAAkB,aAAa;AAAA,EAC1C,GAAG,2BAA2B;AAAA,IAC5B,WAAW;AAAA,IACX,UAAU;AAAA,EACd,CAAG;AACH,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,cAAU,MAAM;AACd,YAAM,eAAe,kBAAkB,YAAY,KAAK;AACxD,aAAOA,YAAa,mBAAmBC,WAAY,cAAc;AAAA,QAC/D,SAAS,CAAC,WAAW,MAAM,KAAK;AAAA,QAChC,SAAS,MAAM;AAAA,QACf,QAAQ;AAAA,MAChB,CAAO,GAAG,KAAK;AAAA,IACX,CAAC;AACD,WAAO,CAAA;AAAA,EACT;AACF,CAAC;ACbM,MAAM,uBAAuB,aAAa;AAAA,EAC/C,QAAQ;AAAA,IACN,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA,EACb;AAAA,EACE,GAAG,gBAAe;AAAA,EAClB,GAAG,KAAK,kCAAkC,CAAC,UAAU,CAAC;AAAA,EACtD,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACb;AAAA,EACE,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,EACb;AAAA,EACE,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,EACb;AACA,GAAG,aAAa;AACJ,MAAC,cAAc,iBAAgB,EAAG;AAAA,EAC5C,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO,qBAAoB;AAAA,EAC3B,OAAO;AAAA,IACL,qBAAqB,WAAS;AAAA,EAClC;AAAA,EACE,MAAM,OAAO,MAAM;AACjB,QAAI;AAAA,MACF;AAAA,MACA;AAAA,IACN,IAAQ;AACJ,UAAM,MAAM,MAAK;AACjB,UAAM,KAAK,SAAS,MAAM,MAAM,MAAM,eAAe,GAAG,EAAE;AAC1D,UAAM,QAAQ,gBAAgB,OAAO,YAAY;AACjD,UAAM,WAAW,IAAG;AACpB,cAAU,MAAM;AACd,YAAM,CAAC,WAAW,YAAY,IAAI,iBAAiB,KAAK;AACxD,YAAM,aAAa,OAAO,YAAY,KAAK;AAC3C,YAAM,eAAe,kBAAkB,YAAY,KAAK;AACxD,YAAM,QAAQ,MAAM,QAAQ,MAAM,MAAM;AAAA,QACtC,OAAO,MAAM;AAAA,QACb,OAAO;AAAA,UACL,KAAK,GAAG;AAAA,QAClB;AAAA,MACA,CAAO,IAAI,MAAM;AACX,aAAOD,YAAa,QAAQC,WAAY;AAAA,QACtC,OAAO;AAAA,QACP,SAAS,CAAC,iBAAiB,MAAM,KAAK;AAAA,QACtC,SAAS,MAAM;AAAA,MACvB,GAAS,WAAW,YAAY;AAAA,QACxB,cAAc,MAAM;AAAA,QACpB,uBAAuB,YAAU,MAAM,QAAQ;AAAA,QAC/C,MAAM,GAAG;AAAA,MACjB,CAAO,GAAG;AAAA,QACF,GAAG;AAAA,QACH,SAAS,WAAS;AAChB,cAAI;AAAA,YACF,IAAAC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACZ,IAAc;AACJ,iBAAOC,mBAAoBC,UAAW,MAAM,CAAC,SAASJ,YAAa,QAAQ;AAAA,YACzE,MAAME,IAAG;AAAA,UACrB,GAAa;AAAA,YACD,SAAS,MAAM,CAAC,KAAK;AAAA,UACjC,CAAW,GAAGF,YAAa,wBAAwBC,WAAY,cAAc;AAAA,YACjE,MAAMC,IAAG;AAAA,YACT,oBAAoB,WAAW;AAAA,YAC/B,kBAAkB;AAAA,YAClB,YAAY,MAAM;AAAA,YAClB,aAAa,MAAM;AAAA,YACnB,QAAQ,MAAM;AAAA,YACd,YAAY,WAAW;AAAA,YACvB,YAAY,WAAW;AAAA,YACvB,mBAAmB,QAAQA,IAAG,QAAQ;AAAA,YACtC,YAAY;AAAA,UACxB,GAAa,cAAc;AAAA,YACf,cAAc,MAAM;AAAA,YACpB,uBAAuB,YAAU,MAAM,QAAQ;AAAA,UAC3D,CAAW,GAAG,KAAK,CAAC,CAAC;AAAA,QACb;AAAA,MACR,CAAO;AAAA,IACH,CAAC;AACD,WAAO,YAAY,CAAA,GAAI,QAAQ;AAAA,EACjC;AACF,CAAC;","x_google_ignoreList":[0,1]}
@@ -1,9 +1,9 @@
1
- import { a as useI18n } from "./ioc-kp39kvzE.mjs";
2
- import { S as SvgIcon } from "./index-CPEwoqSn.mjs";
3
- import { t as toUnreactive, s as stripUndefinedValuesFromObject, i as isObject } from "./utils-CtD3mjq0.mjs";
4
- import { u as useClipboard } from "./clipboard-C0t7KXsZ.mjs";
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";
5
5
  import { v as validator } from "./vendor-nhtio-validation-IJWW0vrt.mjs";
6
- import { a as SUPPORTS_VISUAL_VIEWPORT } from "./display-C5mRsn7Z.mjs";
6
+ import { a as SUPPORTS_VISUAL_VIEWPORT } from "./display-pfXaBUr6.mjs";
7
7
  import { p as propsFactory$1, j as convertToUnit } from "./vendor-nhtio-vuetifiable-CS-KbH1h.mjs";
8
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
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";
@@ -692,4 +692,4 @@ export {
692
692
  makeResourcefulIndexActionsProps as m,
693
693
  useTableActions as u
694
694
  };
695
- //# sourceMappingURL=actions-Cl683OMq.mjs.map
695
+ //# sourceMappingURL=actions-CXhEUJp6.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions-Cl683OMq.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-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":";;;;;;;;;;;;;AAYO,MAAM,oBAAoB,aAAa;AAAA,EAC5C,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,MAAM;AAAA,EACN,GAAG,KAAK,kBAAkB;AAAA,IACxB,aAAa;AAAA,IACb,UAAU;AAAA,IACV,kBAAkB;AAAA,IAClB,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,YAAY;AAAA,EAChB,CAAG,GAAG,CAAC,YAAY,eAAe,gBAAgB,qBAAqB,CAAC;AACxE,GAAG,UAAU;AACD,MAAC,WAAW,iBAAgB,EAAG;AAAA,EACzC,MAAM;AAAA,EACN,OAAO,kBAAiB;AAAA,EACxB,OAAO;AAAA,IACL,qBAAqB,WAAS;AAAA,EAClC;AAAA,EACE,MAAM,OAAO,MAAM;AACjB,QAAI;AAAA,MACF;AAAA,IACN,IAAQ;AACJ,UAAM,WAAW,gBAAgB,OAAO,YAAY;AACpD,UAAM;AAAA,MACJ;AAAA,IACN,IAAQ,WAAU;AACd,UAAM,MAAM,MAAK;AACjB,UAAM,KAAK,MAAM,MAAM,MAAM,MAAM,aAAa,GAAG,EAAE;AACrD,UAAM,UAAU,IAAG;AACnB,UAAM,WAAW,SAAS,MAAM;AAC9B,aAAO,MAAM,SAAS,MAAM,GAAG,EAAE,SAAS,IAAI,MAAM,WAAW,MAAM,WAAW;AAAA,IAClF,CAAC;AACD,UAAM,SAAS,SAAS,MAAM;AAC5B,aAAO,MAAM,WAAW,UAAU,MAAM,WAAW,aAAa,MAAM,OAAO,MAAM,GAAG,EAAE,SAAS,KAAK,MAAM,SAAS,MAAM,GAAG,EAAE,SAAS,IAAI,MAAM,SAAS,MAAM,SAAS;AAAA,IAC7K,CAAC;AACD,UAAM,aAAa,MAAM,MAAM;AAC7B,UAAI,MAAM,cAAc,KAAM,QAAO,MAAM;AAC3C,aAAO,SAAS,QAAQ,qBAAqB;AAAA,IAC/C,CAAC;AACD,UAAM,iBAAiB,SAAS,MAAM,WAAW;AAAA,MAC/C,oBAAoB,GAAG;AAAA,IAC7B,GAAO,MAAM,cAAc,CAAC;AACxB,cAAU,MAAM;AACd,YAAM,eAAe,SAAS,YAAY,KAAK;AAC/C,aAAOA,YAAa,UAAUC,WAAY;AAAA,QACxC,OAAO;AAAA,QACP,SAAS,CAAC,aAAa;AAAA,UACrB,0BAA0B,MAAM;AAAA,QAC1C,GAAW,MAAM,KAAK;AAAA,QACd,SAAS,MAAM;AAAA,QACf,MAAM,GAAG;AAAA,MACjB,GAAS,cAAc;AAAA,QACf,cAAc,SAAS;AAAA,QACvB,uBAAuB,YAAU,SAAS,QAAQ;AAAA,QAClD,cAAc,WAAW;AAAA,QACzB,YAAY;AAAA,QACZ,YAAY,SAAS;AAAA,QACrB,UAAU,OAAO;AAAA,QACjB,QAAQ;AAAA,QACR,kBAAkB,eAAe;AAAA,QACjC,uBAAuB;AAAA,MAC/B,GAAS,OAAO,GAAG;AAAA,QACX,WAAW,MAAM;AAAA,QACjB,SAAS,WAAY;AACnB,mBAAS,OAAO,UAAU,QAAQ,OAAO,IAAI,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,MAAM,QAAQ;AACvF,iBAAK,IAAI,IAAI,UAAU,IAAI;AAAA,UAC7B;AACA,iBAAO,MAAM,UAAU,GAAG,IAAI,KAAK,MAAM;AAAA,QAC3C;AAAA,MACR,CAAO;AAAA,IACH,CAAC;AACD,WAAO,YAAY,CAAA,GAAI,OAAO;AAAA,EAChC;AACF,CAAC;AChED,MAAM,gBAAgB,EAAE,SAAS,EAAE,GAAG,cAAc;AACpD,MAAM,gBAAgB,EAAE,SAAS,EAAE,GAAG,cAAc;AACpD,MAAM,eAAe,EAAE,SAAS,EAAE,GAAG,gBAAgB;AAyErD,MAAM,qCAAqC;AAAA,EACzC,MAAMC,UACH,eACA,IAAIA,UAAI,OAAA,GAAUA,UAAI,OAAA,EAAS,QAAQ,IAAI,GAAGA,UAAI,MAAA,GAASA,UAAI,SAAA,CAAU,EACzE,SAAA;AAAA,EACH,OAAOA,UAAI,OAAA,EAAS,SAAA;AAAA,EACpB,UAAUA,UAAI,OAAA,EAAS,SAAA;AAAA,EACvB,QAAQA,UAAI,QAAA,EAAU,SAAA;AAAA,EACtB,YAAYA,UAAI,aAAA,EAAe,IAAIA,UAAI,QAAA,GAAWA,UAAI,SAAA,CAAU,EAAE,SAAA;AAAA,EAClE,0BAA0BA,UAAI,SAAS,UAAU,IAAI,CAAC,EAAE,SAAA;AAAA,EACxD,sBAAsBA,UAAI,SAAS,UAAU,IAAI,CAAC,EAAE,SAAA;AAAA,EACpD,kCAAkCA,UAAI,SAAS,UAAU,IAAI,CAAC,EAAE,SAAA;AAAA,EAChE,+BAA+BA,UAAI,QAAA,EAAU,SAAA;AAC/C;AAEA,MAAM,kCAAkCA,UACrC,OAAO;AAAA,EACN,GAAG;AAAA,EACH,KAAKA,UAAI,aAAA,EAAe,IAAIA,UAAI,OAAA,GAAUA,UAAI,SAAA,CAAU,EAAE,SAAA;AAAA,EAC1D,QAAQA,UAAI,OAAA,EAAS,SAAA;AACvB,CAAC,EACA,QAAQ,KAAK;AAEhB,MAAM,uCAAuCA,UAC1C,OAAO;AAAA,EACN,GAAG;AAAA,EACH,QAAQA,UAAI,SAAA,EAAW,SAAA;AAAA,EACvB,YAAYA,UAAI,SAAA,EAAW,SAAA;AAAA,EAC3B,WAAWA,UAAI,SAAA,EAAW,SAAA;AAAA,EAC1B,gBAAgBA,UAAI,SAAA,EAAW,SAAA;AAAA,EAC/B,WAAWA,UAAI,SAAA,EAAW,SAAA;AAAA,EAC1B,YAAYA,UAAI,SAAA,EAAW,SAAA;AAAA,EAC3B,YAAYA,UAAI,SAAA,EAAW,SAAA;AAC7B,CAAC,EACA,QAAQ,KAAK;AAEhB,MAAM,+BAA+BA,UAClC,aAAA,EACA,IAAI,iCAAiC,oCAAoC;AAE5E,MAAM,gCAAgCA,UAAI,QAAQ,MAAM,4BAA4B;AAE7E,MAAM,8BAA8B,CAAC,QAAmD;AAC7F,QAAM,EAAE,UAAU,gCAAgC,SAAS,KAAK,EAAE,YAAY,MAAM;AACpF,SAAO,QAAQ,CAAC,KAAK;AACvB;AAEO,MAAM,mCAAmC,CAC9C,QAC0C;AAC1C,QAAM,EAAE,UAAU,qCAAqC,SAAS,KAAK,EAAE,YAAY,MAAM;AACzF,SAAO,QAAQ,CAAC,KAAK;AACvB;AAEA,MAAM,2BAA2B,CAC/B,QACsE;AACtE,QAAM,EAAE,UAAU,6BAA6B,SAAS,KAAK,EAAE,YAAY,MAAM;AACjF,SAAO,QAAQ,CAAC,KAAK;AACvB;AAEA,MAAM,6BAA6B,CACjC,QAC6E;AAC7E,QAAM,EAAE,UAAU,8BAA8B,SAAS,KAAK,EAAE,YAAY,MAAM;AAClF,SAAO,QAAQ,CAAC,KAAK;AACvB;AAEO,MAAM,mCAAmCC;AAAAA,EAC9C;AAAA,IACE,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS,MAAM,CAAA;AAAA,IAAC;AAAA,EAClB;AAAA,EAEF;AACF;AAEA,MAAM,4BAA4B,CAAC,QAA0B,WAAoB;AAC/E,MAAI,CAAC,yBAAyB,MAAM,GAAG;AACrC,WAAO;AAAA,EACT;AACA,MAAI,OAAO,OAAO,eAAe,WAAW;AAC1C,WAAO,OAAO;AAAA,EAChB,WAAW,OAAO,OAAO,eAAe,YAAY;AAClD,QAAI;AACF,aAAO,OAAO,WAAW,MAAM;AAAA,IACjC,SAAS,GAAG;AACV,WAAK,oDAAoD,QAAQ,CAAC;AAClE,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,MAAM,iCAAiC,CAAC,SAA6B,WAAoB;AAC9F,MAAI,CAAC,yBAAyB,MAAM,EAAG,QAAO;AAC9C,MACE,QAAQ,SAAS,KAChB,OAAO,OAAO,yBAAyB,YACtC,QAAQ,SAAS,OAAO;AAE1B,WAAO;AACT,MAAI,4BAA4B,MAAM,GAAG;AACvC,QAAI,OAAO,OAAO,QAAQ,YAAY;AACpC,YAAM,KAAK,OAAO;AAClB,YAAM,OAAO,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAC/C,aAAO,KAAK,KAAK,CAAC,QAAQ,aAAa,OAAO,OAAO,IAAI,OAAO,SAAS,CAAC;AAAA,IAC5E,WAAW,OAAO,OAAO,QAAQ,UAAU;AACzC,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT,WAAW,iCAAiC,MAAM,GAAG;AACnD,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,MAAM,yCAAyC,CAAC,QAAiB,UAAkB;AACjF,MAAI,CAAC,yBAAyB,MAAM,EAAG,QAAO;AAC9C,MACE,QAAQ,KACP,OAAO,OAAO,yBAAyB,YAAY,QAAQ,OAAO;AAEnE,WAAO;AACT,SAAO,4BAA4B,MAAM,KAAK,iCAAiC,MAAM;AACvF;AAEA,MAAM,kCAAkC,CAAC,WAAoB;AAC3D,MAAI,CAAC,yBAAyB,MAAM,EAAG,QAAO;AAC9C,MAAI,OAAO,OAAO,yBAAyB,YAAY,OAAO,wBAAwB;AACpF,WAAO;AACT,SAAO,4BAA4B,MAAM,KAAK,iCAAiC,MAAM;AACvF;AA0BO,MAAM,iBAAiB,CAC5B,SACA,UACA,iBACA,qBAGA,kBAAuD,OACpD;AACH,QAAM,sBAAiD;AAAA,IACrD,MACE,MAAM,KAAK,QAAQ,KAAK,EACrB,OAAO,CAAC,MAAM,gCAAgC,CAAC,CAAC,EAChD,IAAI,CAAC,QAAQ,UAAU;AACtB,YAAM,OAA6B;AAAA,QACjC,GAAG,QAAQ,eAAe;AAAA,QAC1B,OAAO,OAAO;AAAA,QACd,UAAU,OAAO;AAAA,QACjB,aAAa,OAAO;AAAA,QACpB,UAAU,CAAC,uCAAuC,QAAQ,gBAAgB,KAAK;AAAA,MAAA;AAEjF,aAAO,EAAE,WAAW;AAAA,QAClB,GAAG;AAAA,QACH,KAAK,iCAAiC,KAAK;AAAA,QAC3C,SAAS,MAAM;AACb,cAAI,qBAAqB;AACvB,gCAAoB,MAAM;AAAA,UAC5B;AAAA,QACF;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAAA,EAAA;AAEP,QAAM,wBAAwB,SAAS,MAAM,oBAAoB,MAAM,SAAS,CAAC;AACjF,QAAM,yBAAyB;AAAA,IAC7B,MACE,SAAS,UAAU,KACnB,MAAM,KAAK,QAAQ,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;AAAA,EAAA;AAG9E,SAAO,EAAE,qBAAqB,uBAAuB,uBAAA;AACvD;AAEO,MAAM,kBAAkB,CAC7B,SACA,UACA,kBAAuD,CAAA,MACpD;AACH,QAAM,EAAE,MAAM,iBAAiB,wBAAA,IAA4B,aAAA;AAC3D,QAAM,IAAI,QAAA;AACV,QAAM,eAAe,IAAmB,IAAI;AAC5C,QAAM,eAAe,IAAmB,IAAI;AAC5C,QAAM,gBAAgB,IAA6B,IAAI;AACvD,QAAM,gBAAgB,IAAuE,IAAI;AACjG,QAAM,mBAAmB,MAAM;AAC7B,iBAAa,QAAQ;AACrB,iBAAa,QAAQ;AACrB,kBAAc,QAAQ;AACtB,kBAAc,QAAQ;AAAA,EACxB;AACA,QAAM,oBAAoB,SAAS,MAAM;AACvC,WACE,aAAa,UAAU,QACvB,aAAa,UAAU,SACtB,cAAc,UAAU,QAAQ,cAAc,UAAU;AAAA,EAE7D,CAAC;AACD,QAAM,qBAAqB,SAAuC,MAAM;AACtE,QAAI,aAAa,UAAU,QAAQ,aAAa,UAAU,KAAM,QAAO;AACvE,QAAI,cAAc,UAAU,KAAM,QAAO;AACzC,QAAI,cAAc,UAAU,KAAM,QAAO;AACzC,WAAO;AAAA,EACT,CAAC;AACD,QAAM,iBAAiB,IAAwB,IAAI;AAEnD,QAAM,0BAA0B,IAAc,EAAE;AAEhD,QAAM,wCAAwC,OAC5C,QACA,WACG;AACH,UAAM,WAAW,OAAO,OAAO,EAAE;AACjC,QAAI,wBAAwB,MAAM,SAAS,QAAQ,EAAG;AACtD,4BAAwB,MAAM,KAAK,QAAQ;AAC3C,QAAI,SAA0B;AAC9B,UAAM,eAAe,OACnB,UACA,KACA,QACG;AACH,YAAM,8BAAc,IAAuC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACvE,UAAI;AACF,cAAM,SAAS,OAAO;AAAA,MACxB,SAAS,GAAG;AACV,aAAK,wCAAwC,QAAQ,CAAC;AAAA,MACxD;AAAA,IACF;AACA,QAAI,OAAO,YAAY;AACrB,UAAI;AACF,eAAO,WAAW,GAAG,CAAC;AAAA,MACxB,SAAS,GAAG;AACV,aAAK,mDAAmD,QAAQ,CAAC;AAAA,MACnE;AAAA,IACF;AACA,QAAI;AACF,eAAS,MAAM,OAAO,OAAO,MAAM;AAAA,IACrC,SAAS,GAAG;AACV,eAAS;AACT,WAAK,+CAA+C,QAAQ,CAAC;AAAA,IAC/D;AACA,UAAM,MAAM,wBAAwB,MAAM,QAAQ,QAAQ;AAC1D,QAAI,MAAM,IAAI;AACZ,8BAAwB,MAAM,OAAO,KAAK,CAAC;AAAA,IAC7C;AACA,QAAI,OAAO,YAAY;AACrB,UAAI;AACF,eAAO,WAAW,GAAG,CAAC;AAAA,MACxB,SAAS,GAAG;AACV,aAAK,mDAAmD,QAAQ,CAAC;AAAA,MACnE;AAAA,IACF;AACA,UAAM,WAAiC,CAAA;AACvC,QAAI,OAAO,aAAa,WAAW,MAAM;AACvC,eAAS,KAAK,aAAa,OAAO,WAAW,QAAQ,MAAM,CAAC;AAAA,IAC9D;AACA,QAAI,OAAO,kBAAkB,WAAW,MAAM;AAC5C,eAAS,KAAK,aAAa,OAAO,gBAAgB,QAAQ,MAAM,CAAC;AAAA,IACnE;AACA,QAAI,OAAO,aAAa,WAAW,OAAO;AACxC,eAAS,KAAK,aAAa,OAAO,WAAW,QAAQ,MAAM,CAAC;AAAA,IAC9D;AACA,QAAI,OAAO,YAAY;AACrB,eAAS,KAAK,aAAa,OAAO,YAAY,QAAQ,MAAM,CAAC;AAAA,IAC/D;AACA,QAAI,SAAS,SAAS,GAAG;AACvB,YAAM,QAAQ,IAAI,QAAQ;AAAA,IAC5B;AACA,WAAO;AAAA,EACT;AAEA,QAAM,8BAA8B,CAAC,WAA6B;AAChE,QAAI,UAAU,QAAQ,QAAQ;AAC5B,YAAM,WAAW,OAAO,OAAO,EAAE;AACjC,aAAO,wBAAwB,MAAM,SAAS,QAAQ;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAEA,QAAM,8BAA8B,CAAC,WAA6B;AAChE,QAAI,SAAS,QAAQ,QAAQ,EAAG,QAAO;AACvC,WAAO,4BAA4B,MAAM;AAAA,EAC3C;AAEA,QAAM,eAAe,SAAS,MAAM,wBAAwB,MAAM,SAAS,CAAC;AAE5E,QAAM,mCAAmC,OACvC,QACA,QACA,MACG;AACH,QAAI,4BAA4B,MAAM,EAAG;AACzC,QAAI,kBAAkB,OAAO;AAC3B,uBAAA;AACA,YAAM,SAAA;AAAA,IACR;AACA,iBAAa,QAAQ,aAAa,IAAI,EAAE,UAAU;AAClD,iBAAa,QAAQ,aAAa,IAAI,EAAE,UAAU;AAClD,kBAAc,QAAQ;AACtB,kBAAc,QAAQ;AAAA,EACxB;AACA,QAAM,gBAAgB;AAAA,IAAS,MAC7B,QAAQ,MAAM,OAAO,CAAC,MAAM,EAAE,UAAU,yBAAyB,CAAC,CAAC;AAAA,EAAA;AAErE,QAAM,kBAAkB;AAAA,IAAS,MAC/B,QAAQ,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,yBAAyB,CAAC,CAAC;AAAA,EAAA;AAEtE,QAAM,yBAAyB,CAAC,WAA6B;AAC3D,UAAM,yBAAyB,cAAc,MAAM;AAAA,MAAO,CAAC,MACzD,0BAA0B,QAAQ,CAAC;AAAA,IAAA;AAErC,UAAM,2BAA2B,gBAAgB,MAAM;AAAA,MAAO,CAAC,MAC7D,0BAA0B,QAAQ,CAAC;AAAA,IAAA;AAErC,QAAI,uBAAuB,WAAW,KAAK,yBAAyB,WAAW,EAAG,QAAO;AACzF,UAAM,qBAAqB,4BAA4B,MAAM;AAC7D,WAAO;AAAA,MACL;AAAA,MACA;AAAA,QACE,OAAO,CAAC,6CAA6C,UAAU,gBAAgB,MAAM;AAAA,MAAA;AAAA,MAEvF;AAAA,QACE,GAAG,uBAAuB,IAAI,CAAC,QAAQ,UAAU;AAC/C,gBAAM,sBAA4C;AAAA,YAChD,SAAS;AAAA,YACT,GAAG,QAAQ,eAAe;AAAA,YAC1B,OAAO,OAAO;AAAA,YACd,UAAU,OAAO;AAAA,UAAA;AAEnB,gBAAM,cAA+B;AAAA;AAAA,YAEnC,eAAe,CAAC,MAAkB;AAChC,kBAAI,GAAG;AACL,kBAAE,eAAA;AACF,kBAAE,gBAAA;AACF,kBAAE,yBAAA;AACF,oBAAI,4BAA4B,MAAM,EAAG;AACzC,iDAAiC,QAAQ,QAAQ,CAAC;AAAA,cACpD;AAAA,YACF;AAAA,UAAA;AAEF,cAAI,4BAA4B,MAAM,GAAG;AACvC,kBAAM,OACJ,OAAO,OAAO,QAAQ,aAAa,OAAO,IAAI,aAAa,MAAM,CAAC,IAAI,OAAO;AAC/E,gBAAI,SAAS,IAAI,GAAG;AAClB,0BAAY,KAAK;AAAA,YACnB,OAAO;AACL,0BAAY,OAAQ,QAAmB;AAAA,YACzC;AAEA,wBAAY,SAAS,OAAO,UAAU;AAAA,UACxC,WAAW,iCAAiC,MAAM,GAAG;AAEnD,wBAAY,UAAU,MACpB,sCAAsC,QAAQ,aAAa,MAAM,CAAC;AAEpE,wBAAY,YAAY,CAAC,MAAqB;AAC5C,kBAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,kBAAE,eAAA;AACF,sDAAsC,QAAQ,aAAa,MAAM,CAAC;AAAA,cACpE;AAAA,YACF;AAAA,UACF;AACA,iBAAO;AAAA,YACL;AAAA,YACA,EAAE,KAAK,iBAAiB,KAAK,GAAA;AAAA,YAC7B;AAAA,cACE,SAAS,CAAC,EAAE,YAAY,OAAO,yBAC7B;AAAA,gBACE;AAAA,gBACA;AAAA,kBACE,WAAW;AAAA,kBACX,aAAa;AAAA,kBACb,eAAe;AAAA,gBAAA;AAAA,gBAEjB;AAAA,kBACE,WAAW,CAAC;AAAA,oBACV;AAAA,oBACA,OAAO;AAAA,kBAAA,MAEP,EAAE,MAAM;AAAA,oBACN,GAAG;AAAA,oBACH,GAAG;AAAA,oBACH,GAAG;AAAA,oBACH,SAAS;AAAA,oBACT,MAAM,OAAO;AAAA,oBACb,MAAM;AAAA,oBACN,OAAO,EAAE,SAAS,cAAc,WAAW,IAAI,IAAA;AAAA,oBAC/C,OAAO;AAAA,sBACL;AAAA,wBACE,QACE,QAAQ,uBAAuB,SAAS,KACxC,yBAAyB,SAAS;AAAA,sBAAA;AAAA,oBACtC;AAAA,oBAEF,UAAU,QAAQ,QAAQ,QAAQ,CAAC;AAAA,kBAAA,CACV;AAAA,kBAC7B,SAAS,MACP,EAAE,WAAW;AAAA,oBACX,GAAG;AAAA,kBAAA,CACJ;AAAA,gBAAA;AAAA,cACL;AAAA,YACF;AAAA,UACJ;AAAA,QAEJ,CAAC;AAAA,QACD,yBAAyB,WAAW,IAChC,qBACE,EAAE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,QAAA,CACgB,IAC3B,OACF;AAAA,UACE;AAAA,UACA,CAAA;AAAA,UACA;AAAA,YACE,SAAS,CAAC,EAAE,YAAY,OAAO,mBAAA,MAC7B,EAAE,OAAO,EAAE,qBAAqB,QAAmC;AAAA,cACjE,WAAW,CAAC;AAAA,gBACV;AAAA,gBACA,OAAO;AAAA,cAAA,MAEP,EAAE,MAAM;AAAA,gBACN,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,SAAS;AAAA,gBACT,MAAM,MAAM,EAAE,SAAS,EAAE,GAAG,iBAAiB;AAAA,gBAC7C,MAAM;AAAA,gBACN,OAAO,EAAE,SAAS,cAAc,WAAW,IAAI,IAAA;AAAA,gBAC/C,OAAO,CAAA;AAAA,gBACP,SAAS;AAAA,cAAA,CACgB;AAAA,cAC7B,SAAS,MACP,EAAE,OAAO,EAAE,OAAO,UAAA,GAAa,MAAM;AAAA,gBACnC,GAAG,yBAAyB,IAAI,CAAC,QAAQ,UAAU;AACjD,wBAAM,MAAM,4BAA4B,KAAK;AAC7C,wBAAM,OAA6B;AAAA,oBACjC,GAAG,QAAQ,eAAe;AAAA,oBAC1B,OAAO,OAAO;AAAA,oBACd,UAAU,OAAO;AAAA,oBACjB,aAAa,OAAO;AAAA,oBACpB,UAAU,QAAQ,QAAQ,QAAQ,CAAC;AAAA,kBAAA;AAErC,sBAAI,4BAA4B,MAAM,GAAG;AACvC,0BAAM,OACJ,OAAO,OAAO,QAAQ,aAClB,OAAO,IAAI,aAAa,MAAM,CAAC,IAC/B,OAAO;AACb,wBAAI,SAAS,IAAI,GAAG;AAClB,2BAAK,KAAK;AAAA,oBACZ,OAAO;AACL,2BAAK,OAAQ,QAAmB;AAAA,oBAClC;AAEA,yBAAK,SAAS,OAAO,UAAU;AAC/B,yBAAK,OAAO,OAAO,SAAS,YAAY,KAAK,KAAA,EAAO,SAAS;AAAA,kBAC/D,WAAW,iCAAiC,MAAM,GAAG;AACnD,yBAAK,UAAU,MACb,sCAAsC,QAAQ,aAAa,MAAM,CAAC;AAEpE,yBAAK,YAAY,CAAC,MAAqB;AACrC,0BAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,0BAAE,eAAA;AACF,8DAAsC,QAAQ,aAAa,MAAM,CAAC;AAAA,sBACpE;AAAA,oBACF;AAAA,kBACF;AACA,yBAAO,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK;AAAA,gBACtC,CAAC;AAAA,cAAA,CACF;AAAA,YAAA,CACJ;AAAA,UAAA;AAAA,QACL;AAAA,MACF;AAAA,IACN;AAAA,EAEJ;AACA,QAAM,8BAA8B,MAAM;AACxC,UAAM,mBACJ,SAAS,aAAa,SAAS,SAAS,aAAa,QACjD,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,SAAA,IACjC,CAAA;AACN,WAAO;AAAA,MACL;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,UACL,UAAU;AAAA,UACV,KAAK,SAAS,aAAa,QAAQ,IAAI,cAAc,aAAa,KAAK;AAAA,UACvE,MAAM,SAAS,aAAa,QAAQ,IAAI,cAAc,aAAa,KAAK;AAAA,UACxE,QAAQ;AAAA,UACR,GAAG;AAAA,QAAA;AAAA,MACL;AAAA,MAEF;AAAA,QACE;AAAA,QACA;AAAA,UACE,MAAM;AAAA,QAAA;AAAA,QAER,MAAM;AACJ,gBAAM,UAAU,mBAAmB;AACnC,cAAI,YAAY,UAAU;AACxB,mBAAO,EAAE,OAAO,EAAE,OAAO,WAAW,WAAW,IAAI,UAAU,GAAA,GAAM,MAAM;AACvE,oBAAM,OAA6B;AAAA,gBACjC,GAAG,QAAQ,eAAe;AAAA,gBAC1B,UAAU,QAAQ,QAAQ,QAAQ,CAAC;AAAA,cAAA;AAErC,oBAAM,SACJ,QAAQ,cAAc,KAAK;AAC7B,kBAAI,4BAA4B,MAAM,GAAG;AACvC,sBAAM,OACJ,OAAO,OAAO,QAAQ,aAClB,OAAO,IAAI,aAAa,cAAc,KAAM,CAAC,IAC7C,OAAO;AACb,oBAAI,SAAS,IAAI,GAAG;AAClB,uBAAK,KAAK;AAAA,gBACZ,OAAO;AACL,uBAAK,OAAQ,QAAmB;AAAA,gBAClC;AACA,uBAAO;AAAA,kBACL,EAAE,WAAW;AAAA,oBACX,GAAG;AAAA,oBACH,OAAO,EAAE,8BAA8B;AAAA,oBACvC,aAAa,MAAM;AAAA,oBACnB,SAAS,MAAM;AACb,uCAAA;AAAA,oBACF;AAAA,kBAAA,CACD;AAAA,kBACD,EAAE,WAAW;AAAA,oBACX,GAAG;AAAA,oBACH,OAAO,EAAE,8BAA8B;AAAA,oBACvC,aAAa,MAAM;AAAA,oBACnB,QAAQ;AAAA,oBACR,SAAS,MAAM;AACb,uCAAA;AAAA,oBACF;AAAA,kBAAA,CACD;AAAA,kBACD;AAAA,oBACE;AAAA,oBACA,+BAA+B;AAAA,sBAC7B,GAAG;AAAA,sBACH,OAAO,EAAE,6BAA6B;AAAA,sBACtC,aAAa,MAAM;AAAA,sBACnB,MAAM;AAAA,sBACN,SAAS,MAAM;AACb,4BAAI,aAAa,OAAO,QAAQ,KAAK,KAAA,EAAO,SAAS,GAAG;AACtD,0CAAgB,IAAI;AAAA,wBACtB;AACA,yCAAA;AAAA,sBACF;AAAA,oBAAA,CACD;AAAA,kBAAA;AAAA,gBACH;AAAA,cAEJ,WAAW,iCAAiC,MAAM,GAAG;AACnD,uBAAO;AAAA,kBACL,EAAE,WAAW;AAAA,oBACX,GAAG;AAAA,oBACH,OAAO,OAAO;AAAA,oBACd,UAAU,OAAO;AAAA,oBACjB,aAAa,OAAO;AAAA,oBACpB,SAAS,MAAM;AACb;AAAA,wBACE;AAAA,wBACA,aAAa,cAAc,KAAM;AAAA,sBAAA;AAEnC,uCAAA;AAAA,oBACF;AAAA,kBAAA,CACD;AAAA,gBAAA;AAAA,cAEL;AACA,qBAAO;AAAA,YACT,CAAC;AAAA,UACH,WAAW,YAAY,UAAU;AAC/B,mBAAO;AAAA,cAAE;AAAA,cAAO,EAAE,OAAO,WAAW,WAAW,IAAI,UAAU,GAAA;AAAA,cAAM,MACjE,MAAM,KAAK,QAAQ,KAAK,EAAE,IAAI,CAAC,QAAQ,UAAU;AAC/C,sBAAM,MAAM,yCAAyC,KAAK;AAC1D,sBAAM,OAA6B;AAAA,kBACjC,GAAG,QAAQ,eAAe;AAAA,kBAC1B,OAAO,OAAO;AAAA,kBACd,UAAU,OAAO;AAAA,kBACjB,aAAa,OAAO;AAAA,kBACpB,UAAU,QAAQ,QAAQ,QAAQ,CAAC;AAAA,gBAAA;AAErC,oBAAI,4BAA4B,MAAM,GAAG;AACvC,wBAAM,OACJ,OAAO,OAAO,QAAQ,aAClB,OAAO,IAAI,aAAa,cAAc,KAAM,CAAC,IAC7C,OAAO;AACb,sBAAI,SAAS,IAAI,GAAG;AAClB,yBAAK,KAAK;AAAA,kBACZ,OAAO;AACL,yBAAK,OAAQ,QAAmB;AAAA,kBAClC;AAEA,uBAAK,SAAS,OAAO,UAAU;AAC/B,uBAAK,OAAO,OAAO,SAAS,YAAY,KAAK,KAAA,EAAO,SAAS;AAC7D,uBAAK,UAAU,MAAM;AACnB,qCAAA;AAAA,kBACF;AAEA,uBAAK,YAAY,CAAC,MAAqB;AACrC,wBAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,uCAAA;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,WAAW,iCAAiC,MAAM,GAAG;AACnD,uBAAK,UAAU,MAAM;AACnB;AAAA,sBACE;AAAA,sBACA,aAAa,cAAc,KAAM;AAAA,oBAAA;AAEnC,qCAAA;AAAA,kBACF;AAEA,uBAAK,YAAY,CAAC,MAAqB;AACrC,wBAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,wBAAE,eAAA;AACF;AAAA,wBACE;AAAA,wBACA,aAAa,cAAc,KAAM;AAAA,sBAAA;AAEnC,uCAAA;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AACA,uBAAO,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK;AAAA,cACtC,CAAC;AAAA,YAAA;AAAA,UAEL;AACA,iBAAO;AAAA,QACT;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ;AACA,QAAM,2BAA2B,OAAO,GAA4B,WAA6B;AAC/F,QAAI,4BAA4B,MAAM,EAAG;AACzC,QAAI,kBAAkB,OAAO;AAC3B,uBAAA;AACA,YAAM,SAAA;AAAA,IACR;AACA,iBAAa,QACX,aAAa,IACT,EAAE,UACF,aAAa,KAAK,EAAE,QAAQ,SAAS,IACnC,EAAE,QAAQ,CAAC,EAAE,UACb;AACR,iBAAa,QACX,aAAa,IACT,EAAE,UACF,aAAa,KAAK,EAAE,QAAQ,SAAS,IACnC,EAAE,QAAQ,CAAC,EAAE,UACb;AACR,kBAAc,QAAQ;AACtB,kBAAc,QAAQ;AAAA,EACxB;AACA,QAAM,sBAAsB,CAAC,MAAkB;AAC7C,QAAI,eAAe,UAAU,KAAM;AACnC,QAAI,eAAe,OAAO,SAAS,EAAE,MAAc,EAAG;AACtD,qBAAA;AAAA,EACF;AACA,QAAM,4BAA4B,CAAC,MAAkB;AACnD,QAAI,eAAe,UAAU,KAAM;AACnC,QAAI,eAAe,OAAO,SAAS,EAAE,MAAc,EAAG;AACtD,qBAAA;AAAA,EACF;AACA,QAAM,sBAAsB,CAAC,MAAkB;AAC7C,QAAI,eAAe,UAAU,KAAM;AACnC,QAAI,eAAe,OAAO,SAAS,EAAE,MAAc,EAAG;AACtD,qBAAA;AAAA,EACF;AACA,YAAU,MAAM;AACd,WAAO,iBAAiB,SAAS,mBAAmB;AACpD,WAAO,iBAAiB,eAAe,yBAAyB;AAChE,WAAO,iBAAiB,cAAc,mBAAmB;AACzD,WAAO,iBAAiB,UAAU,gBAAgB;AAClD,WAAO,iBAAiB,UAAU,gBAAgB;AAClD,QAAI,0BAA0B;AAC5B,aAAO,eAAgB,iBAAiB,UAAU,gBAAgB;AAClE,aAAO,eAAgB,iBAAiB,UAAU,gBAAgB;AAAA,IACpE;AAAA,EACF,CAAC;AACD,kBAAgB,MAAM;AACpB,qBAAA;AACA,WAAO,oBAAoB,SAAS,mBAAmB;AACvD,WAAO,oBAAoB,eAAe,yBAAyB;AACnE,WAAO,oBAAoB,cAAc,mBAAmB;AAC5D,WAAO,oBAAoB,UAAU,gBAAgB;AACrD,WAAO,oBAAoB,UAAU,gBAAgB;AACrD,QAAI,0BAA0B;AAC5B,aAAO,eAAgB,oBAAoB,UAAU,gBAAgB;AACrE,aAAO,eAAgB,oBAAoB,UAAU,gBAAgB;AAAA,IACvE;AAAA,EACF,CAAC;AACD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;","x_google_ignoreList":[0]}
@@ -1,9 +1,9 @@
1
- import { S as SvgIcon } from "./index-CPEwoqSn.mjs";
2
- import { a as useI18n, k as useBrowser } from "./ioc-kp39kvzE.mjs";
3
- import { u as useScopedDisplay } from "./display-C5mRsn7Z.mjs";
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";
4
4
  import { useLocale, useDisplay } from "vuetify";
5
- import { p as propsAndEmitsFactory, f as isHTMLElement, m as makeIdentifier } from "./utils-CtD3mjq0.mjs";
6
- import { C as ControlButton } from "./index-BLHeTLWJ.mjs";
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
7
  import { a as pick, m as makeVEmptyStateProps, u as useRender, b as IconValue } from "./vendor-nhtio-vuetifiable-CS-KbH1h.mjs";
8
8
  import { V as VCard, m as mdiOctagon, a as mdiClose, b as mdiCheck } from "./mdi-jw9Ee7p6.mjs";
9
9
  import { i as infoSvg, e as errorSvg, s as successSvg, q as questionSvg } from "./question-CpfZrjl2.mjs";
@@ -529,4 +529,4 @@ export {
529
529
  ResourcefulAlerter as R,
530
530
  useAlert as u
531
531
  };
532
- //# sourceMappingURL=alert-BX9BkYd9.mjs.map
532
+ //# sourceMappingURL=alert-B0j6GH3V.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-BX9BkYd9.mjs","sources":["../src/private/ux/alert.ts"],"sourcesContent":["/* eslint-disable vue/one-component-per-file */\nimport { SvgIcon } from '../svg-icon'\nimport { useI18n, useBrowser } from '../ioc'\nimport { useScopedDisplay } from './display'\nimport { VImg } from 'vuetify/components/VImg'\nimport { useLocale, useDisplay } from 'vuetify'\nimport { isHTMLElement } from '../common/guards'\nimport { VCard } from 'vuetify/components/VCard'\nimport { makeIdentifier } from '../common/utils'\nimport { ControlButton } from '../control-button'\nimport { VDialog } from 'vuetify/components/VDialog'\nimport { pick } from '@nhtio/vuetifiable/util/helpers'\nimport { mdiCheck, mdiClose, mdiOctagon } from '@mdi/js'\nimport { propsAndEmitsFactory } from '../common/factories'\nimport { default as infoSvg } from '../icons/info.svg?url'\nimport { default as errorSvg } from '../icons/error.svg?url'\nimport { useRender } from '@nhtio/vuetifiable/util/useRender'\nimport { TypedEventEmitter } from '@nhtio/tiny-typed-emitter'\nimport { default as successSvg } from '../icons/success.svg?url'\nimport { default as warningSvg } from '../icons/warning.svg?url'\nimport { IconValue } from '@nhtio/vuetifiable/composables/icons'\nimport { VContainer, VRow, VCol } from 'vuetify/components/VGrid'\nimport { default as questionSvg } from '../icons/question.svg?url'\nimport { makeVEmptyStateProps } from '@nhtio/vuetifiable/components/VEmptyState/VEmptyState'\nimport { defineComponent, h, isRef, ref, toRefs, computed, toValue, getCurrentInstance } from 'vue'\nimport type { EventMap } from '@nhtio/tiny-typed-emitter'\nimport type { makeVImgProps } from '@nhtio/vuetifiable/components/VImg/VImg'\nimport type { makeVRowProps } from '@nhtio/vuetifiable/components/VGrid/VRow'\nimport type { makeVCardProps } from '@nhtio/vuetifiable/components/VCard/VCard'\nimport type { makeVDialogProps } from '@nhtio/vuetifiable/components/VDialog/VDialog'\nimport type { makeVContainerProps } from '@nhtio/vuetifiable/components/VGrid/VContainer'\nimport type { ExtractPublicPropTypes, MaybeRef, ComponentPublicInstance, PropType } from 'vue'\n\ntype VEmptyStatePublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVEmptyStateProps>>\nexport type VImgPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVImgProps>>\ntype VDialogPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVDialogProps>>\ntype VCardPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVCardProps>>\ntype VContainerPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVContainerProps>>\ntype VRowPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVRowProps>>\ntype ScopedDisplayInstance = ReturnType<typeof useScopedDisplay>\n\n// type PropertiesOfRenderVNode = Parameters<typeof h>\n// type AlertOptionRenderable = PropertiesOfRenderVNode[0] | (() => PropertiesOfRenderVNode[0])\n\nexport type TernaryOperator = boolean | null\n\nexport type AlertIcon =\n | 'info'\n | 'error'\n | 'success'\n | 'warning'\n | 'question'\n | NonNullable<VImgPublicProps['src']>\n\nexport interface AlertOptions {\n icon: MaybeRef<AlertIcon>\n headline?: MaybeRef<VEmptyStatePublicProps['headline']>\n title?: MaybeRef<VEmptyStatePublicProps['title']>\n text?: MaybeRef<VEmptyStatePublicProps['text']>\n showConfirmButton?: MaybeRef<boolean>\n showDenyButton?: MaybeRef<boolean>\n showCancelButton?: MaybeRef<boolean>\n confirmButtonCta?: MaybeRef<string | undefined>\n denyButtonCta?: MaybeRef<string | undefined>\n cancelButtonCta?: MaybeRef<string | undefined>\n confirmButtonIcon?: MaybeRef<IconValue | undefined>\n denyButtonIcon?: MaybeRef<IconValue | undefined>\n cancelButtonIcon?: MaybeRef<IconValue | undefined>\n signal?: AbortSignal | undefined\n}\n\nexport interface AlertResult {\n isConfirmed: boolean\n isDenied: boolean\n isCanceled: boolean\n value: TernaryOperator\n}\n\nconst { makeProps: makeAlertComposableDialog, emits: alertComposableDialogEmits } =\n propsAndEmitsFactory(\n {\n icon: {\n type: [String, Function, Object] as PropType<AlertIcon | undefined>,\n default: undefined,\n },\n ...pick(makeVEmptyStateProps(), ['headline', 'title', 'text']),\n showConfirmButton: {\n type: Boolean,\n default: true,\n },\n showDenyButton: {\n type: Boolean,\n default: false,\n },\n showCancelButton: {\n type: Boolean,\n default: false,\n },\n confirmButtonCta: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n denyButtonCta: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n cancelButtonCta: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n confirmButtonIcon: {\n type: IconValue,\n default: () => h(SvgIcon, { d: mdiCheck }),\n },\n denyButtonIcon: {\n type: IconValue,\n default: () => h(SvgIcon, { d: mdiClose }),\n },\n cancelButtonIcon: {\n type: IconValue,\n default: () => h(SvgIcon, { d: mdiOctagon }),\n },\n contained: {\n type: Boolean,\n default: false,\n },\n dividePrependIcon: {\n type: Boolean,\n default: true,\n },\n scopedDisplay: {\n type: Object as PropType<ReturnType<typeof useScopedDisplay>>,\n required: true,\n },\n uuid: {\n type: String as PropType<string>,\n required: true,\n },\n container: {\n type: [Object] as PropType<HTMLElement | ComponentPublicInstance | null | undefined>,\n default: undefined,\n },\n },\n {\n 'click:confirm': (uuid: string) => 'string' === typeof uuid,\n 'click:deny': (uuid: string) => 'string' === typeof uuid,\n 'click:cancel': (uuid: string) => 'string' === typeof uuid,\n },\n 'AlertComposableDialog'\n )\n\nconst AlertComposableDialog = defineComponent({\n name: 'AlertComposableDialog',\n props: makeAlertComposableDialog(),\n emits: alertComposableDialogEmits,\n setup(props, { emit }) {\n const t = useI18n()\n const {\n icon,\n headline,\n title,\n text,\n showConfirmButton,\n showDenyButton,\n showCancelButton,\n confirmButtonCta,\n denyButtonCta,\n cancelButtonCta,\n confirmButtonIcon,\n denyButtonIcon,\n cancelButtonIcon,\n contained,\n dividePrependIcon,\n scopedDisplay,\n uuid,\n container,\n } = toRefs(props)\n const { isRtl } = useLocale()\n const { width, height } = useDisplay()\n const normalizedOrientation = computed<'landscape' | 'portrait' | 'square'>(() => {\n if (container.value && contained.value) {\n return scopedDisplay.value.orientation.value\n }\n if (width.value === height.value) return 'square'\n return width.value > height.value ? 'landscape' : 'portrait'\n })\n const normalizedIcon = computed<NonNullable<VImgPublicProps['src']>>(() => {\n if ('info' === icon.value) return infoSvg\n if ('error' === icon.value) return errorSvg\n if ('success' === icon.value) return successSvg\n if ('warning' === icon.value) return warningSvg\n if ('question' === icon.value) return questionSvg\n return icon.value as NonNullable<VImgPublicProps['src']>\n })\n const normalizedConfirmButtonCta = computed(() =>\n 'string' === typeof confirmButtonCta.value\n ? confirmButtonCta.value\n : showDenyButton.value\n ? t('resourceful.alert.disposition.confirm')\n : t('resourceful.alert.disposition.ok')\n )\n const normalizedDenyButtonCta = computed(\n () => denyButtonCta.value ?? t('resourceful.alert.disposition.deny')\n )\n const normalizedCancelButtonCta = computed(\n () => cancelButtonCta.value ?? t('resourceful.alert.disposition.cancel')\n )\n const getContainerHtmlElement = (): HTMLElement | null => {\n const browser = useBrowser()\n if (!browser.ssr && isHTMLElement(container.value)) return container.value\n if (\n !browser.ssr &&\n container.value &&\n '$el' in container.value &&\n isHTMLElement(container.value.$el)\n )\n return container.value.$el\n return null\n }\n const dialogBindings = computed<VDialogPublicProps>(() => ({\n attach: contained.value && container.value ? (getContainerHtmlElement() ?? 'body') : 'body',\n absolute: contained.value,\n closeOnBack: false,\n closeOnContentClick: false,\n contained: contained.value,\n modelValue: true,\n persistent: true,\n retainFocus: true,\n scrim: true,\n maxWidth: 500,\n }))\n const cardBindings = computed<VCardPublicProps>(() => ({\n color: 'surface',\n }))\n const containerBindings = computed<VContainerPublicProps>(() => ({\n fluid: true,\n }))\n const rowBindings = computed<VRowPublicProps>(() => ({\n align: 'center',\n }))\n const imgBindings = computed<VImgPublicProps>(() => ({\n src: normalizedIcon.value,\n }))\n const actionsSlotContent = () => {\n const isReversed = true === isRtl.value || normalizedOrientation.value === 'landscape'\n let buttons = [\n showCancelButton.value\n ? h(ControlButton, {\n class: [\n {\n 'me-2': !isReversed && (showConfirmButton.value || showDenyButton.value),\n 'ms-2': isReversed && (showConfirmButton.value || showDenyButton.value),\n },\n 'mb-2',\n ],\n prependIcon: cancelButtonIcon.value,\n dividePrependIcon: dividePrependIcon.value,\n cta: normalizedCancelButtonCta.value,\n onClick: () => emit('click:cancel', uuid.value),\n color: 'surface-light',\n })\n : null,\n showDenyButton.value\n ? h(ControlButton, {\n class: [\n {\n 'me-2': !isReversed && showConfirmButton.value,\n 'ms-2': isReversed && showConfirmButton.value,\n },\n 'mb-2',\n ],\n prependIcon: denyButtonIcon.value,\n dividePrependIcon: dividePrependIcon.value,\n cta: normalizedDenyButtonCta.value,\n onClick: () => emit('click:deny', uuid.value),\n color: 'surface-light',\n })\n : null,\n showConfirmButton.value\n ? h(ControlButton, {\n class: ['mb-2'],\n prependIcon: confirmButtonIcon.value,\n dividePrependIcon: dividePrependIcon.value,\n cta: normalizedConfirmButtonCta.value,\n onClick: () => emit('click:confirm', uuid.value),\n color: 'surface-light',\n })\n : null,\n ]\n if (true === isReversed) {\n buttons = buttons.reverse()\n }\n return h(\n 'div',\n {\n class: [\n 'd-flex',\n 'w-100',\n 'flex-wrap',\n {\n 'justify-end': normalizedOrientation.value === 'landscape',\n 'justify-center': normalizedOrientation.value !== 'landscape',\n 'text-center': normalizedOrientation.value !== 'landscape',\n },\n ],\n },\n buttons\n )\n }\n const cardRef = ref<VCard | null>(null)\n useRender(() =>\n h(VDialog, dialogBindings.value, () =>\n h(\n VCard,\n {\n ref: cardRef,\n ...cardBindings.value,\n },\n () =>\n h(VContainer, containerBindings.value, () =>\n h(VRow, rowBindings.value, () => [\n normalizedOrientation.value === 'landscape'\n ? h(VCol, { cols: 4, class: ['d-flex', 'align-center'] }, () =>\n h(VImg, imgBindings.value)\n )\n : null,\n h(\n VCol,\n {\n cols: normalizedOrientation.value === 'landscape' ? 8 : 12,\n class: ['d-flex', 'flex-column', 'align-center', 'justify-center'],\n },\n () => [\n normalizedOrientation.value !== 'landscape'\n ? h(\n VRow,\n {\n justify: 'center',\n class: ['w-100'],\n },\n () => h(VCol, { cols: 6 }, () => h(VImg, imgBindings.value))\n )\n : null,\n headline.value\n ? h(\n VRow,\n {\n class: ['w-100'],\n },\n () =>\n h(\n VCol,\n {\n cols: 12,\n class: [\n 'd-flex',\n 'w-100',\n 'v-empty-state__headline',\n {\n 'justify-start': normalizedOrientation.value === 'landscape',\n 'text-start': normalizedOrientation.value === 'landscape',\n 'justify-center': normalizedOrientation.value !== 'landscape',\n 'text-center': normalizedOrientation.value !== 'landscape',\n },\n ],\n },\n () => headline.value\n )\n )\n : null,\n title.value\n ? h(\n VRow,\n {\n class: ['w-100'],\n },\n () =>\n h(\n VCol,\n {\n cols: 12,\n class: [\n 'd-flex',\n 'w-100',\n 'v-empty-state__title',\n {\n 'justify-start': normalizedOrientation.value === 'landscape',\n 'text-start': normalizedOrientation.value === 'landscape',\n 'justify-center': normalizedOrientation.value !== 'landscape',\n 'text-center': normalizedOrientation.value !== 'landscape',\n },\n ],\n },\n () => title.value\n )\n )\n : null,\n text.value\n ? h(\n VRow,\n {\n class: ['w-100'],\n },\n () =>\n h(\n VCol,\n {\n cols: 12,\n class: [\n 'd-flex',\n 'w-100',\n 'v-empty-state__text',\n {\n 'justify-start': normalizedOrientation.value === 'landscape',\n 'text-start': normalizedOrientation.value === 'landscape',\n 'justify-center': normalizedOrientation.value !== 'landscape',\n 'text-center': normalizedOrientation.value !== 'landscape',\n },\n ],\n },\n () => text.value\n )\n )\n : null,\n h(\n VRow,\n {\n class: ['w-100'],\n },\n () => h(VCol, { cols: 12 }, () => actionsSlotContent())\n ),\n ]\n ),\n ])\n )\n )\n )\n )\n return {\n normalizedOrientation,\n }\n },\n})\n\ntype AlertComposableDialogProps = ExtractPublicPropTypes<\n ReturnType<typeof makeAlertComposableDialog>\n>\n\ntype EnqueueableAlert = Omit<\n AlertComposableDialogProps,\n 'scopedDisplay' | 'contained' | 'dividePrependIcon'\n>\n\ntype AlertDialogEvents = EventMap<{\n disposition: [uuid: string, result: TernaryOperator]\n}>\n\nexport type FireAlertFn = (options: AlertOptions) => Promise<AlertResult>\n\nexport const useAlert = (\n container: MaybeRef<HTMLElement | ComponentPublicInstance | null> = null,\n contained: MaybeRef<boolean> = false,\n dividePrependIcon: MaybeRef<boolean> = true\n) => {\n const containerRef = isRef(container) ? container : ref(container)\n const scopedDisplay: ScopedDisplayInstance = useScopedDisplay(containerRef)\n const bus = new TypedEventEmitter<AlertDialogEvents>()\n const pendingAlerts = ref<EnqueueableAlert[]>([])\n const renderDialogs = () =>\n Array.from(pendingAlerts.value).map((opts) =>\n h(AlertComposableDialog, {\n ...opts,\n contained: toValue(contained),\n container: containerRef.value,\n dividePrependIcon: toValue(dividePrependIcon),\n scopedDisplay,\n key: opts.uuid,\n })\n )\n const fire: FireAlertFn = async (options: AlertOptions): Promise<AlertResult> => {\n const uuid = makeIdentifier('alert', 'alerts')\n const promise = new Promise<AlertResult>((resolve) => {\n const listener = (emittedUuid: string, result: TernaryOperator) => {\n if (emittedUuid === uuid) {\n bus.off('disposition', listener)\n resolve({\n isConfirmed: true === result,\n isDenied: false === result,\n isCanceled: null === result,\n value: result,\n })\n }\n }\n bus.on('disposition', listener)\n })\n const props: EnqueueableAlert = {\n 'icon': toValue(options.icon),\n 'headline': toValue(options.headline),\n 'title': toValue(options.title),\n 'text': toValue(options.text),\n 'showConfirmButton': toValue(options.showConfirmButton),\n 'showDenyButton': toValue(options.showDenyButton),\n 'showCancelButton': toValue(options.showCancelButton),\n 'confirmButtonCta': toValue(options.confirmButtonCta),\n 'denyButtonCta': toValue(options.denyButtonCta),\n 'cancelButtonCta': toValue(options.cancelButtonCta),\n 'confirmButtonIcon': toValue(options.confirmButtonIcon),\n 'denyButtonIcon': toValue(options.denyButtonIcon),\n 'cancelButtonIcon': toValue(options.cancelButtonIcon),\n 'uuid': uuid,\n 'onClick:cancel': () => bus.emit('disposition', uuid, null),\n 'onClick:confirm': () => bus.emit('disposition', uuid, true),\n 'onClick:deny': () => bus.emit('disposition', uuid, false),\n }\n if (options.signal) {\n if (options.signal.aborted) {\n // already aborted\n return {\n isConfirmed: false,\n isDenied: false,\n isCanceled: true,\n value: null,\n }\n }\n const abortListener = () => {\n bus.emit('disposition', uuid, null)\n }\n options.signal.addEventListener('abort', abortListener, { once: true })\n }\n pendingAlerts.value.push(props)\n const result = await promise\n const pendingAlertsIndex = pendingAlerts.value.findIndex((a) => a.uuid === uuid)\n if (pendingAlertsIndex > -1) {\n pendingAlerts.value.splice(pendingAlertsIndex, 1)\n }\n return result\n }\n return { renderDialogs, fire }\n}\n\nexport const UseAlertExample = defineComponent({\n name: 'UseAlertExample',\n setup() {\n const containerRef = ref<HTMLElement | null>(null)\n const { renderDialogs, fire } = useAlert(containerRef)\n return () =>\n h('div', { ref: containerRef }, [\n h('div', { class: ['w-100', 'd-flex'] }, [\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: errorSvg }),\n cta: 'Error',\n onClick: () =>\n fire({\n icon: 'error',\n headline: 'Error',\n title: 'This is an error alert',\n text: 'Something went wrong!',\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: infoSvg }),\n cta: 'Info',\n onClick: () =>\n fire({\n icon: 'info',\n headline: 'Info',\n title: 'This is an info alert',\n text: 'Just so you know...',\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: questionSvg }),\n cta: 'Question',\n onClick: () =>\n fire({\n icon: 'question',\n headline: 'Question',\n title: 'This is a question alert',\n text: 'Do you like questions?',\n showCancelButton: true,\n showDenyButton: true,\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: successSvg }),\n cta: 'Success',\n onClick: () =>\n fire({\n icon: 'success',\n headline: 'Success',\n title: 'This is a success alert',\n text: 'Everything is working as expected!',\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: warningSvg }),\n cta: 'Warning',\n onClick: () =>\n fire({\n icon: 'warning',\n headline: 'Warning',\n title: 'This is a warning alert',\n text: 'Be careful!',\n showCancelButton: true,\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n ]),\n renderDialogs(),\n ])\n },\n})\n\nexport const ResourcefulAlerter = defineComponent({\n name: 'ResourcefulAlerter',\n setup() {\n const current = getCurrentInstance()\n const containerRef = ref<HTMLElement | null>(null)\n const container = computed(() => current?.proxy?.$el ?? containerRef.value)\n const { renderDialogs, fire } = useAlert(container)\n useRender(() => h('div', { ref: containerRef }, [renderDialogs()]))\n return {\n fire,\n }\n },\n})\n\nexport type ResourcefulAlerter = typeof ResourcefulAlerter & ComponentPublicInstance\n"],"names":["TypedEventEmitter","result"],"mappings":"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"}
1
+ {"version":3,"file":"alert-B0j6GH3V.mjs","sources":["../src/private/ux/alert.ts"],"sourcesContent":["/* eslint-disable vue/one-component-per-file */\nimport { SvgIcon } from '../svg-icon'\nimport { useI18n, useBrowser } from '../ioc'\nimport { useScopedDisplay } from './display'\nimport { VImg } from 'vuetify/components/VImg'\nimport { useLocale, useDisplay } from 'vuetify'\nimport { isHTMLElement } from '../common/guards'\nimport { VCard } from 'vuetify/components/VCard'\nimport { makeIdentifier } from '../common/utils'\nimport { ControlButton } from '../control-button'\nimport { VDialog } from 'vuetify/components/VDialog'\nimport { pick } from '@nhtio/vuetifiable/util/helpers'\nimport { mdiCheck, mdiClose, mdiOctagon } from '@mdi/js'\nimport { propsAndEmitsFactory } from '../common/factories'\nimport { default as infoSvg } from '../icons/info.svg?url'\nimport { default as errorSvg } from '../icons/error.svg?url'\nimport { useRender } from '@nhtio/vuetifiable/util/useRender'\nimport { TypedEventEmitter } from '@nhtio/tiny-typed-emitter'\nimport { default as successSvg } from '../icons/success.svg?url'\nimport { default as warningSvg } from '../icons/warning.svg?url'\nimport { IconValue } from '@nhtio/vuetifiable/composables/icons'\nimport { VContainer, VRow, VCol } from 'vuetify/components/VGrid'\nimport { default as questionSvg } from '../icons/question.svg?url'\nimport { makeVEmptyStateProps } from '@nhtio/vuetifiable/components/VEmptyState/VEmptyState'\nimport { defineComponent, h, isRef, ref, toRefs, computed, toValue, getCurrentInstance } from 'vue'\nimport type { EventMap } from '@nhtio/tiny-typed-emitter'\nimport type { makeVImgProps } from '@nhtio/vuetifiable/components/VImg/VImg'\nimport type { makeVRowProps } from '@nhtio/vuetifiable/components/VGrid/VRow'\nimport type { makeVCardProps } from '@nhtio/vuetifiable/components/VCard/VCard'\nimport type { makeVDialogProps } from '@nhtio/vuetifiable/components/VDialog/VDialog'\nimport type { makeVContainerProps } from '@nhtio/vuetifiable/components/VGrid/VContainer'\nimport type { ExtractPublicPropTypes, MaybeRef, ComponentPublicInstance, PropType } from 'vue'\n\ntype VEmptyStatePublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVEmptyStateProps>>\nexport type VImgPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVImgProps>>\ntype VDialogPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVDialogProps>>\ntype VCardPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVCardProps>>\ntype VContainerPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVContainerProps>>\ntype VRowPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVRowProps>>\ntype ScopedDisplayInstance = ReturnType<typeof useScopedDisplay>\n\n// type PropertiesOfRenderVNode = Parameters<typeof h>\n// type AlertOptionRenderable = PropertiesOfRenderVNode[0] | (() => PropertiesOfRenderVNode[0])\n\nexport type TernaryOperator = boolean | null\n\nexport type AlertIcon =\n | 'info'\n | 'error'\n | 'success'\n | 'warning'\n | 'question'\n | NonNullable<VImgPublicProps['src']>\n\nexport interface AlertOptions {\n icon: MaybeRef<AlertIcon>\n headline?: MaybeRef<VEmptyStatePublicProps['headline']>\n title?: MaybeRef<VEmptyStatePublicProps['title']>\n text?: MaybeRef<VEmptyStatePublicProps['text']>\n showConfirmButton?: MaybeRef<boolean>\n showDenyButton?: MaybeRef<boolean>\n showCancelButton?: MaybeRef<boolean>\n confirmButtonCta?: MaybeRef<string | undefined>\n denyButtonCta?: MaybeRef<string | undefined>\n cancelButtonCta?: MaybeRef<string | undefined>\n confirmButtonIcon?: MaybeRef<IconValue | undefined>\n denyButtonIcon?: MaybeRef<IconValue | undefined>\n cancelButtonIcon?: MaybeRef<IconValue | undefined>\n signal?: AbortSignal | undefined\n}\n\nexport interface AlertResult {\n isConfirmed: boolean\n isDenied: boolean\n isCanceled: boolean\n value: TernaryOperator\n}\n\nconst { makeProps: makeAlertComposableDialog, emits: alertComposableDialogEmits } =\n propsAndEmitsFactory(\n {\n icon: {\n type: [String, Function, Object] as PropType<AlertIcon | undefined>,\n default: undefined,\n },\n ...pick(makeVEmptyStateProps(), ['headline', 'title', 'text']),\n showConfirmButton: {\n type: Boolean,\n default: true,\n },\n showDenyButton: {\n type: Boolean,\n default: false,\n },\n showCancelButton: {\n type: Boolean,\n default: false,\n },\n confirmButtonCta: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n denyButtonCta: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n cancelButtonCta: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n confirmButtonIcon: {\n type: IconValue,\n default: () => h(SvgIcon, { d: mdiCheck }),\n },\n denyButtonIcon: {\n type: IconValue,\n default: () => h(SvgIcon, { d: mdiClose }),\n },\n cancelButtonIcon: {\n type: IconValue,\n default: () => h(SvgIcon, { d: mdiOctagon }),\n },\n contained: {\n type: Boolean,\n default: false,\n },\n dividePrependIcon: {\n type: Boolean,\n default: true,\n },\n scopedDisplay: {\n type: Object as PropType<ReturnType<typeof useScopedDisplay>>,\n required: true,\n },\n uuid: {\n type: String as PropType<string>,\n required: true,\n },\n container: {\n type: [Object] as PropType<HTMLElement | ComponentPublicInstance | null | undefined>,\n default: undefined,\n },\n },\n {\n 'click:confirm': (uuid: string) => 'string' === typeof uuid,\n 'click:deny': (uuid: string) => 'string' === typeof uuid,\n 'click:cancel': (uuid: string) => 'string' === typeof uuid,\n },\n 'AlertComposableDialog'\n )\n\nconst AlertComposableDialog = defineComponent({\n name: 'AlertComposableDialog',\n props: makeAlertComposableDialog(),\n emits: alertComposableDialogEmits,\n setup(props, { emit }) {\n const t = useI18n()\n const {\n icon,\n headline,\n title,\n text,\n showConfirmButton,\n showDenyButton,\n showCancelButton,\n confirmButtonCta,\n denyButtonCta,\n cancelButtonCta,\n confirmButtonIcon,\n denyButtonIcon,\n cancelButtonIcon,\n contained,\n dividePrependIcon,\n scopedDisplay,\n uuid,\n container,\n } = toRefs(props)\n const { isRtl } = useLocale()\n const { width, height } = useDisplay()\n const normalizedOrientation = computed<'landscape' | 'portrait' | 'square'>(() => {\n if (container.value && contained.value) {\n return scopedDisplay.value.orientation.value\n }\n if (width.value === height.value) return 'square'\n return width.value > height.value ? 'landscape' : 'portrait'\n })\n const normalizedIcon = computed<NonNullable<VImgPublicProps['src']>>(() => {\n if ('info' === icon.value) return infoSvg\n if ('error' === icon.value) return errorSvg\n if ('success' === icon.value) return successSvg\n if ('warning' === icon.value) return warningSvg\n if ('question' === icon.value) return questionSvg\n return icon.value as NonNullable<VImgPublicProps['src']>\n })\n const normalizedConfirmButtonCta = computed(() =>\n 'string' === typeof confirmButtonCta.value\n ? confirmButtonCta.value\n : showDenyButton.value\n ? t('resourceful.alert.disposition.confirm')\n : t('resourceful.alert.disposition.ok')\n )\n const normalizedDenyButtonCta = computed(\n () => denyButtonCta.value ?? t('resourceful.alert.disposition.deny')\n )\n const normalizedCancelButtonCta = computed(\n () => cancelButtonCta.value ?? t('resourceful.alert.disposition.cancel')\n )\n const getContainerHtmlElement = (): HTMLElement | null => {\n const browser = useBrowser()\n if (!browser.ssr && isHTMLElement(container.value)) return container.value\n if (\n !browser.ssr &&\n container.value &&\n '$el' in container.value &&\n isHTMLElement(container.value.$el)\n )\n return container.value.$el\n return null\n }\n const dialogBindings = computed<VDialogPublicProps>(() => ({\n attach: contained.value && container.value ? (getContainerHtmlElement() ?? 'body') : 'body',\n absolute: contained.value,\n closeOnBack: false,\n closeOnContentClick: false,\n contained: contained.value,\n modelValue: true,\n persistent: true,\n retainFocus: true,\n scrim: true,\n maxWidth: 500,\n }))\n const cardBindings = computed<VCardPublicProps>(() => ({\n color: 'surface',\n }))\n const containerBindings = computed<VContainerPublicProps>(() => ({\n fluid: true,\n }))\n const rowBindings = computed<VRowPublicProps>(() => ({\n align: 'center',\n }))\n const imgBindings = computed<VImgPublicProps>(() => ({\n src: normalizedIcon.value,\n }))\n const actionsSlotContent = () => {\n const isReversed = true === isRtl.value || normalizedOrientation.value === 'landscape'\n let buttons = [\n showCancelButton.value\n ? h(ControlButton, {\n class: [\n {\n 'me-2': !isReversed && (showConfirmButton.value || showDenyButton.value),\n 'ms-2': isReversed && (showConfirmButton.value || showDenyButton.value),\n },\n 'mb-2',\n ],\n prependIcon: cancelButtonIcon.value,\n dividePrependIcon: dividePrependIcon.value,\n cta: normalizedCancelButtonCta.value,\n onClick: () => emit('click:cancel', uuid.value),\n color: 'surface-light',\n })\n : null,\n showDenyButton.value\n ? h(ControlButton, {\n class: [\n {\n 'me-2': !isReversed && showConfirmButton.value,\n 'ms-2': isReversed && showConfirmButton.value,\n },\n 'mb-2',\n ],\n prependIcon: denyButtonIcon.value,\n dividePrependIcon: dividePrependIcon.value,\n cta: normalizedDenyButtonCta.value,\n onClick: () => emit('click:deny', uuid.value),\n color: 'surface-light',\n })\n : null,\n showConfirmButton.value\n ? h(ControlButton, {\n class: ['mb-2'],\n prependIcon: confirmButtonIcon.value,\n dividePrependIcon: dividePrependIcon.value,\n cta: normalizedConfirmButtonCta.value,\n onClick: () => emit('click:confirm', uuid.value),\n color: 'surface-light',\n })\n : null,\n ]\n if (true === isReversed) {\n buttons = buttons.reverse()\n }\n return h(\n 'div',\n {\n class: [\n 'd-flex',\n 'w-100',\n 'flex-wrap',\n {\n 'justify-end': normalizedOrientation.value === 'landscape',\n 'justify-center': normalizedOrientation.value !== 'landscape',\n 'text-center': normalizedOrientation.value !== 'landscape',\n },\n ],\n },\n buttons\n )\n }\n const cardRef = ref<VCard | null>(null)\n useRender(() =>\n h(VDialog, dialogBindings.value, () =>\n h(\n VCard,\n {\n ref: cardRef,\n ...cardBindings.value,\n },\n () =>\n h(VContainer, containerBindings.value, () =>\n h(VRow, rowBindings.value, () => [\n normalizedOrientation.value === 'landscape'\n ? h(VCol, { cols: 4, class: ['d-flex', 'align-center'] }, () =>\n h(VImg, imgBindings.value)\n )\n : null,\n h(\n VCol,\n {\n cols: normalizedOrientation.value === 'landscape' ? 8 : 12,\n class: ['d-flex', 'flex-column', 'align-center', 'justify-center'],\n },\n () => [\n normalizedOrientation.value !== 'landscape'\n ? h(\n VRow,\n {\n justify: 'center',\n class: ['w-100'],\n },\n () => h(VCol, { cols: 6 }, () => h(VImg, imgBindings.value))\n )\n : null,\n headline.value\n ? h(\n VRow,\n {\n class: ['w-100'],\n },\n () =>\n h(\n VCol,\n {\n cols: 12,\n class: [\n 'd-flex',\n 'w-100',\n 'v-empty-state__headline',\n {\n 'justify-start': normalizedOrientation.value === 'landscape',\n 'text-start': normalizedOrientation.value === 'landscape',\n 'justify-center': normalizedOrientation.value !== 'landscape',\n 'text-center': normalizedOrientation.value !== 'landscape',\n },\n ],\n },\n () => headline.value\n )\n )\n : null,\n title.value\n ? h(\n VRow,\n {\n class: ['w-100'],\n },\n () =>\n h(\n VCol,\n {\n cols: 12,\n class: [\n 'd-flex',\n 'w-100',\n 'v-empty-state__title',\n {\n 'justify-start': normalizedOrientation.value === 'landscape',\n 'text-start': normalizedOrientation.value === 'landscape',\n 'justify-center': normalizedOrientation.value !== 'landscape',\n 'text-center': normalizedOrientation.value !== 'landscape',\n },\n ],\n },\n () => title.value\n )\n )\n : null,\n text.value\n ? h(\n VRow,\n {\n class: ['w-100'],\n },\n () =>\n h(\n VCol,\n {\n cols: 12,\n class: [\n 'd-flex',\n 'w-100',\n 'v-empty-state__text',\n {\n 'justify-start': normalizedOrientation.value === 'landscape',\n 'text-start': normalizedOrientation.value === 'landscape',\n 'justify-center': normalizedOrientation.value !== 'landscape',\n 'text-center': normalizedOrientation.value !== 'landscape',\n },\n ],\n },\n () => text.value\n )\n )\n : null,\n h(\n VRow,\n {\n class: ['w-100'],\n },\n () => h(VCol, { cols: 12 }, () => actionsSlotContent())\n ),\n ]\n ),\n ])\n )\n )\n )\n )\n return {\n normalizedOrientation,\n }\n },\n})\n\ntype AlertComposableDialogProps = ExtractPublicPropTypes<\n ReturnType<typeof makeAlertComposableDialog>\n>\n\ntype EnqueueableAlert = Omit<\n AlertComposableDialogProps,\n 'scopedDisplay' | 'contained' | 'dividePrependIcon'\n>\n\ntype AlertDialogEvents = EventMap<{\n disposition: [uuid: string, result: TernaryOperator]\n}>\n\nexport type FireAlertFn = (options: AlertOptions) => Promise<AlertResult>\n\nexport const useAlert = (\n container: MaybeRef<HTMLElement | ComponentPublicInstance | null> = null,\n contained: MaybeRef<boolean> = false,\n dividePrependIcon: MaybeRef<boolean> = true\n) => {\n const containerRef = isRef(container) ? container : ref(container)\n const scopedDisplay: ScopedDisplayInstance = useScopedDisplay(containerRef)\n const bus = new TypedEventEmitter<AlertDialogEvents>()\n const pendingAlerts = ref<EnqueueableAlert[]>([])\n const renderDialogs = () =>\n Array.from(pendingAlerts.value).map((opts) =>\n h(AlertComposableDialog, {\n ...opts,\n contained: toValue(contained),\n container: containerRef.value,\n dividePrependIcon: toValue(dividePrependIcon),\n scopedDisplay,\n key: opts.uuid,\n })\n )\n const fire: FireAlertFn = async (options: AlertOptions): Promise<AlertResult> => {\n const uuid = makeIdentifier('alert', 'alerts')\n const promise = new Promise<AlertResult>((resolve) => {\n const listener = (emittedUuid: string, result: TernaryOperator) => {\n if (emittedUuid === uuid) {\n bus.off('disposition', listener)\n resolve({\n isConfirmed: true === result,\n isDenied: false === result,\n isCanceled: null === result,\n value: result,\n })\n }\n }\n bus.on('disposition', listener)\n })\n const props: EnqueueableAlert = {\n 'icon': toValue(options.icon),\n 'headline': toValue(options.headline),\n 'title': toValue(options.title),\n 'text': toValue(options.text),\n 'showConfirmButton': toValue(options.showConfirmButton),\n 'showDenyButton': toValue(options.showDenyButton),\n 'showCancelButton': toValue(options.showCancelButton),\n 'confirmButtonCta': toValue(options.confirmButtonCta),\n 'denyButtonCta': toValue(options.denyButtonCta),\n 'cancelButtonCta': toValue(options.cancelButtonCta),\n 'confirmButtonIcon': toValue(options.confirmButtonIcon),\n 'denyButtonIcon': toValue(options.denyButtonIcon),\n 'cancelButtonIcon': toValue(options.cancelButtonIcon),\n 'uuid': uuid,\n 'onClick:cancel': () => bus.emit('disposition', uuid, null),\n 'onClick:confirm': () => bus.emit('disposition', uuid, true),\n 'onClick:deny': () => bus.emit('disposition', uuid, false),\n }\n if (options.signal) {\n if (options.signal.aborted) {\n // already aborted\n return {\n isConfirmed: false,\n isDenied: false,\n isCanceled: true,\n value: null,\n }\n }\n const abortListener = () => {\n bus.emit('disposition', uuid, null)\n }\n options.signal.addEventListener('abort', abortListener, { once: true })\n }\n pendingAlerts.value.push(props)\n const result = await promise\n const pendingAlertsIndex = pendingAlerts.value.findIndex((a) => a.uuid === uuid)\n if (pendingAlertsIndex > -1) {\n pendingAlerts.value.splice(pendingAlertsIndex, 1)\n }\n return result\n }\n return { renderDialogs, fire }\n}\n\nexport const UseAlertExample = defineComponent({\n name: 'UseAlertExample',\n setup() {\n const containerRef = ref<HTMLElement | null>(null)\n const { renderDialogs, fire } = useAlert(containerRef)\n return () =>\n h('div', { ref: containerRef }, [\n h('div', { class: ['w-100', 'd-flex'] }, [\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: errorSvg }),\n cta: 'Error',\n onClick: () =>\n fire({\n icon: 'error',\n headline: 'Error',\n title: 'This is an error alert',\n text: 'Something went wrong!',\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: infoSvg }),\n cta: 'Info',\n onClick: () =>\n fire({\n icon: 'info',\n headline: 'Info',\n title: 'This is an info alert',\n text: 'Just so you know...',\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: questionSvg }),\n cta: 'Question',\n onClick: () =>\n fire({\n icon: 'question',\n headline: 'Question',\n title: 'This is a question alert',\n text: 'Do you like questions?',\n showCancelButton: true,\n showDenyButton: true,\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: successSvg }),\n cta: 'Success',\n onClick: () =>\n fire({\n icon: 'success',\n headline: 'Success',\n title: 'This is a success alert',\n text: 'Everything is working as expected!',\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n h(ControlButton, {\n class: ['me-2'],\n prependIcon: () => h(VImg, { src: warningSvg }),\n cta: 'Warning',\n onClick: () =>\n fire({\n icon: 'warning',\n headline: 'Warning',\n title: 'This is a warning alert',\n text: 'Be careful!',\n showCancelButton: true,\n }).then((result) => {\n console.log('Alert result', result)\n alert(`Got Result: ${String(result.value)}`)\n }),\n }),\n ]),\n renderDialogs(),\n ])\n },\n})\n\nexport const ResourcefulAlerter = defineComponent({\n name: 'ResourcefulAlerter',\n setup() {\n const current = getCurrentInstance()\n const containerRef = ref<HTMLElement | null>(null)\n const container = computed(() => current?.proxy?.$el ?? containerRef.value)\n const { renderDialogs, fire } = useAlert(container)\n useRender(() => h('div', { ref: containerRef }, [renderDialogs()]))\n return {\n fire,\n }\n },\n})\n\nexport type ResourcefulAlerter = typeof ResourcefulAlerter & ComponentPublicInstance\n"],"names":["TypedEventEmitter","result"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { B as Big, f as formatBigNumber } from "./big_number_formatter-Y4TivQxi.mjs";
2
- import { c as commonEmitsValidators, V as VTextField, a as VDivider } from "./common-CCR70s0E.mjs";
3
- import { u as useFieldComposer } from "./field_composer-BKt9bYLY.mjs";
4
- import { p as propsAndEmitsFactory, s as stripUndefinedValuesFromObject, a as useSlot } from "./utils-CtD3mjq0.mjs";
2
+ import { c as commonEmitsValidators, V as VTextField, a as VDivider } from "./common-a_cd4SQg.mjs";
3
+ import { u as useFieldComposer } from "./field_composer-CPqM1aSV.mjs";
4
+ import { p as propsAndEmitsFactory, s as stripUndefinedValuesFromObject, a as useSlot } from "./utils-DehfJ8pT.mjs";
5
5
  import { defineComponent, toRefs, computed, h } from "vue";
6
6
  import { p as propsFactory, a as pick, o as omit, c as makeVTextFieldProps } from "./vendor-nhtio-vuetifiable-CS-KbH1h.mjs";
7
- import { m as makeVNumberInputProps, a as makeRNumberFieldProps } from "./number-Dm-VOsTt.mjs";
7
+ import { m as makeVNumberInputProps, a as makeRNumberFieldProps } from "./number-Chf-qQs7.mjs";
8
8
  import { c as VBtn } from "./display-CHspVOz6.mjs";
9
9
  const makeRBigIntFieldBaseProps = propsFactory(
10
10
  {
@@ -522,4 +522,4 @@ const RBigIntField = defineComponent({
522
522
  export {
523
523
  RBigIntField as R
524
524
  };
525
- //# sourceMappingURL=bigint-Cutiv42Q.mjs.map
525
+ //# sourceMappingURL=bigint-DXS_rVbG.mjs.map