@evance/evance-ui 1.1.2 → 1.1.3

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 (111) hide show
  1. package/components.d.ts +100 -99
  2. package/dist/cjs/evance-ui.css +226 -172
  3. package/dist/cjs/fonts/Inter/Inter-Bold.woff2 +0 -0
  4. package/dist/cjs/fonts/Inter/Inter-Medium.woff2 +0 -0
  5. package/dist/cjs/fonts/Inter/Inter-Regular.woff2 +0 -0
  6. package/dist/cjs/fonts/Inter/Inter-SemiBold.woff2 +0 -0
  7. package/dist/cjs/fonts/JetBrainsMono/JetBrainsMono-Bold.woff2 +0 -0
  8. package/dist/cjs/fonts/JetBrainsMono/JetBrainsMono-Medium.woff2 +0 -0
  9. package/dist/cjs/fonts/JetBrainsMono/JetBrainsMono-Regular.woff2 +0 -0
  10. package/dist/cjs/fonts/JetBrainsMono/JetBrainsMono-SemiBold.woff2 +0 -0
  11. package/dist/cjs/index.cjs +1 -0
  12. package/dist/cjs/index.cjs.map +1 -1
  13. package/dist/cjs/src/components/EvList/EvList.cjs +3 -2
  14. package/dist/cjs/src/components/EvList/EvList.cjs.map +1 -1
  15. package/dist/cjs/src/components/EvList/EvList.vue.cjs +5 -2
  16. package/dist/cjs/src/components/EvList/EvList.vue.cjs.map +1 -1
  17. package/dist/cjs/src/components/EvList/EvListChildren.vue.cjs +35 -4
  18. package/dist/cjs/src/components/EvList/EvListChildren.vue.cjs.map +1 -1
  19. package/dist/cjs/src/components/EvListItem/EvListItem.cjs +8 -5
  20. package/dist/cjs/src/components/EvListItem/EvListItem.cjs.map +1 -1
  21. package/dist/cjs/src/components/EvListItem/EvListItem.vue.cjs +153 -92
  22. package/dist/cjs/src/components/EvListItem/EvListItem.vue.cjs.map +1 -1
  23. package/dist/cjs/src/components/EvTooltip/EvTooltip.vue.cjs.map +1 -1
  24. package/dist/cjs/src/composables/lists/list-items.cjs +2 -0
  25. package/dist/cjs/src/composables/lists/list-items.cjs.map +1 -1
  26. package/dist/cjs/src/composables/lists/nested.cjs +26 -8
  27. package/dist/cjs/src/composables/lists/nested.cjs.map +1 -1
  28. package/dist/cjs/src/icons/glyph/DotIcon.svg.cjs +1 -1
  29. package/dist/cjs/src/icons/glyph/DotIcon.svg.cjs.map +1 -1
  30. package/dist/esm/evance-ui.css +226 -172
  31. package/dist/esm/fonts/Inter/Inter-Bold.woff2 +0 -0
  32. package/dist/esm/fonts/Inter/Inter-Medium.woff2 +0 -0
  33. package/dist/esm/fonts/Inter/Inter-Regular.woff2 +0 -0
  34. package/dist/esm/fonts/Inter/Inter-SemiBold.woff2 +0 -0
  35. package/dist/esm/fonts/JetBrainsMono/JetBrainsMono-Bold.woff2 +0 -0
  36. package/dist/esm/fonts/JetBrainsMono/JetBrainsMono-Medium.woff2 +0 -0
  37. package/dist/esm/fonts/JetBrainsMono/JetBrainsMono-Regular.woff2 +0 -0
  38. package/dist/esm/fonts/JetBrainsMono/JetBrainsMono-SemiBold.woff2 +0 -0
  39. package/dist/esm/index.mjs +1 -0
  40. package/dist/esm/index.mjs.map +1 -1
  41. package/dist/esm/src/components/EvList/EvList.mjs +3 -2
  42. package/dist/esm/src/components/EvList/EvList.mjs.map +1 -1
  43. package/dist/esm/src/components/EvList/EvList.vue.mjs +5 -2
  44. package/dist/esm/src/components/EvList/EvList.vue.mjs.map +1 -1
  45. package/dist/esm/src/components/EvList/EvListChildren.vue.mjs +37 -6
  46. package/dist/esm/src/components/EvList/EvListChildren.vue.mjs.map +1 -1
  47. package/dist/esm/src/components/EvListItem/EvListItem.mjs +8 -5
  48. package/dist/esm/src/components/EvListItem/EvListItem.mjs.map +1 -1
  49. package/dist/esm/src/components/EvListItem/EvListItem.vue.mjs +157 -96
  50. package/dist/esm/src/components/EvListItem/EvListItem.vue.mjs.map +1 -1
  51. package/dist/esm/src/components/EvTooltip/EvTooltip.vue.mjs.map +1 -1
  52. package/dist/esm/src/composables/lists/list-items.mjs +2 -0
  53. package/dist/esm/src/composables/lists/list-items.mjs.map +1 -1
  54. package/dist/esm/src/composables/lists/nested.mjs +27 -9
  55. package/dist/esm/src/composables/lists/nested.mjs.map +1 -1
  56. package/dist/esm/src/icons/glyph/DotIcon.svg.mjs +1 -1
  57. package/dist/esm/src/icons/glyph/DotIcon.svg.mjs.map +1 -1
  58. package/dist/evance-ui.css +1 -1
  59. package/dist/evance-ui.js +2 -2
  60. package/dist/evance-ui.js.map +1 -1
  61. package/dist/evance-ui.mjs +4553 -4443
  62. package/dist/evance-ui.mjs.map +1 -1
  63. package/dist/fonts/Inter/Inter-Bold.woff2 +0 -0
  64. package/dist/fonts/Inter/Inter-Medium.woff2 +0 -0
  65. package/dist/fonts/Inter/Inter-Regular.woff2 +0 -0
  66. package/dist/fonts/Inter/Inter-SemiBold.woff2 +0 -0
  67. package/dist/fonts/JetBrainsMono/JetBrainsMono-Bold.woff2 +0 -0
  68. package/dist/fonts/JetBrainsMono/JetBrainsMono-Medium.woff2 +0 -0
  69. package/dist/fonts/JetBrainsMono/JetBrainsMono-Regular.woff2 +0 -0
  70. package/dist/fonts/JetBrainsMono/JetBrainsMono-SemiBold.woff2 +0 -0
  71. package/dist/types/components/EvDataTable/EvDataTable.vue.d.ts +1 -1
  72. package/dist/types/components/EvEmptyState/EvEmptyState.vue.d.ts +1 -1
  73. package/dist/types/components/EvList/EvList.d.ts +5 -0
  74. package/dist/types/components/EvList/EvList.d.ts.map +1 -1
  75. package/dist/types/components/EvList/EvListChildren.vue.d.ts +11 -1
  76. package/dist/types/components/EvList/EvListChildren.vue.d.ts.map +1 -1
  77. package/dist/types/components/EvListItem/EvListItem.d.ts +33 -16
  78. package/dist/types/components/EvListItem/EvListItem.d.ts.map +1 -1
  79. package/dist/types/components/EvListItem/EvListItem.vue.d.ts +20 -11
  80. package/dist/types/components/EvListItem/EvListItem.vue.d.ts.map +1 -1
  81. package/dist/types/components/EvTooltip/EvTooltip.vue.d.ts +4 -1
  82. package/dist/types/components/EvTooltip/EvTooltip.vue.d.ts.map +1 -1
  83. package/dist/types/composables/lists/list-items.d.ts +1 -0
  84. package/dist/types/composables/lists/list-items.d.ts.map +1 -1
  85. package/dist/types/composables/lists/nested.d.ts +6 -6
  86. package/dist/types/composables/lists/nested.d.ts.map +1 -1
  87. package/dist/types/index.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. package/dist/cjs/EvListGroup.cjs +0 -8
  90. package/dist/cjs/EvListGroup.cjs.map +0 -1
  91. package/dist/cjs/src/components/EvListGroup/EvListGroup.cjs +0 -13
  92. package/dist/cjs/src/components/EvListGroup/EvListGroup.cjs.map +0 -1
  93. package/dist/cjs/src/components/EvListGroup/EvListGroup.vue.cjs +0 -96
  94. package/dist/cjs/src/components/EvListGroup/EvListGroup.vue.cjs.map +0 -1
  95. package/dist/cjs/src/components/EvListGroup/EvListGroup.vue2.cjs +0 -6
  96. package/dist/cjs/src/components/EvListGroup/EvListGroup.vue2.cjs.map +0 -1
  97. package/dist/esm/EvListGroup.mjs +0 -8
  98. package/dist/esm/EvListGroup.mjs.map +0 -1
  99. package/dist/esm/src/components/EvListGroup/EvListGroup.mjs +0 -13
  100. package/dist/esm/src/components/EvListGroup/EvListGroup.mjs.map +0 -1
  101. package/dist/esm/src/components/EvListGroup/EvListGroup.vue.mjs +0 -96
  102. package/dist/esm/src/components/EvListGroup/EvListGroup.vue.mjs.map +0 -1
  103. package/dist/esm/src/components/EvListGroup/EvListGroup.vue2.mjs +0 -6
  104. package/dist/esm/src/components/EvListGroup/EvListGroup.vue2.mjs.map +0 -1
  105. package/dist/types/EvListGroup.d.ts +0 -1
  106. package/dist/types/components/EvListGroup/EvListGroup.d.ts +0 -155
  107. package/dist/types/components/EvListGroup/EvListGroup.d.ts.map +0 -1
  108. package/dist/types/components/EvListGroup/EvListGroup.vue.d.ts +0 -118
  109. package/dist/types/components/EvListGroup/EvListGroup.vue.d.ts.map +0 -1
  110. package/dist/types/components/EvListGroup/index.d.ts +0 -3
  111. package/dist/types/components/EvListGroup/index.d.ts.map +0 -1
@@ -2,6 +2,7 @@
2
2
  /*! Evance UI v1.1.2 | MIT License */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  ;/* empty css */
5
+ ;/* empty css */
5
6
  const index = require("./src/components/index.cjs");
6
7
  const index$1 = require("./src/directives/index.cjs");
7
8
  const index$2 = require("./src/services/index.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":["import \"./css/core.scss\";\r\n\r\nimport * as components from \"./components\";\r\nimport * as directives from \"./directives\";\r\nimport * as services from \"./services\";\r\nimport { createEvanceUi as _createEvanceUi } from \"./framework\";\r\n\r\nimport type { EvanceUiOptions } from \"./framework\";\r\n\r\nexport const createEvanceUi = (options: EvanceUiOptions = {}) => {\r\n return _createEvanceUi({ components, directives, services, ...options });\r\n};\r\n\r\nexport { components, directives, services };\r\n\r\nexport * from \"./composables\";\r\nexport * from \"./components\";\r\nexport * from \"./directives\";\r\nexport * from \"./services\";\r\nexport * from \"./util\";\r\n"],"names":["_createEvanceUi","components","directives","services"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASO,MAAM,iBAAiB,CAAC,UAA2B,OAAO;AAC7D,SAAOA,UAAAA,eAAgB,EAAA,YAAEC,OAAA,YAAYC,mBAAYC,SAAU,GAAG,SAAS;AAC3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":["import \"./css/core.scss\";\r\nimport \"./css/runtime.scss\";\r\n\r\nimport * as components from \"./components\";\r\nimport * as directives from \"./directives\";\r\nimport * as services from \"./services\";\r\nimport { createEvanceUi as _createEvanceUi } from \"./framework\";\r\n\r\nimport type { EvanceUiOptions } from \"./framework\";\r\n\r\nexport const createEvanceUi = (options: EvanceUiOptions = {}) => {\r\n return _createEvanceUi({ components, directives, services, ...options });\r\n};\r\n\r\nexport { components, directives, services };\r\n\r\nexport * from \"./composables\";\r\nexport * from \"./components\";\r\nexport * from \"./directives\";\r\nexport * from \"./services\";\r\nexport * from \"./util\";\r\n"],"names":["_createEvanceUi","components","directives","services"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAM,iBAAiB,CAAC,UAA2B,OAAO;AAC7D,SAAOA,UAAAA,eAAgB,EAAA,YAAEC,OAAA,YAAYC,mBAAYC,SAAU,GAAG,SAAS;AAC3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,7 +11,7 @@ const makeEvListProps = props.propsFactory(
11
11
  disabled: Boolean,
12
12
  tag: {
13
13
  type: String,
14
- default: "div"
14
+ default: "ul"
15
15
  },
16
16
  itemType: {
17
17
  type: String,
@@ -28,7 +28,8 @@ const makeEvListProps = props.propsFactory(
28
28
  );
29
29
  const makeEvListChildrenProps = props.propsFactory(
30
30
  {
31
- items: Array
31
+ items: Array,
32
+ returnObject: Boolean
32
33
  },
33
34
  "EvListChildren"
34
35
  );
@@ -1 +1 @@
1
- {"version":3,"file":"EvList.cjs","sources":["../../../../../src/components/EvList/EvList.ts"],"sourcesContent":["import { propsFactory } from \"@/util\";\nimport {\n ListItem as DefaultListItem,\n ListItemsProps as DefaultListItemProps,\n makeListItemsProps,\n makeNestedProps,\n} from \"@/composables/lists\";\nimport { PropType } from \"vue\";\nimport { makeComponentProps } from \"@/composables/component\";\nimport { makeDimensionsProps } from \"@/composables/dimensions\";\n\n/**\n * # List Item Types\n */\nexport type ListItemType = \"item\" | \"subheader\" | \"divider\";\n\n/**\n * # List Item\n */\nexport interface ListItem extends DefaultListItem {\n type?: ListItemType;\n}\n\n/**\n * # List Item Props\n */\nexport interface ListItemProps extends DefaultListItemProps {\n itemType: string;\n}\n\n/**\n * # Make EvList Props\n */\nexport const makeEvListProps = propsFactory(\n {\n disabled: Boolean,\n tag: {\n type: String,\n default: \"div\",\n },\n itemType: {\n type: String,\n default: \"type\",\n },\n\n ...makeListItemsProps(),\n ...makeNestedProps({\n selectStrategy: \"multi-any\",\n }),\n ...makeComponentProps(),\n ...makeDimensionsProps(),\n },\n \"EvList\",\n);\n\n/**\n * # Make EvListChildren Props\n */\nexport const makeEvListChildrenProps = propsFactory(\n {\n items: Array as PropType<readonly ListItem[]>,\n },\n \"EvListChildren\",\n);\n"],"names":["propsFactory","makeListItemsProps","makeNestedProps","makeComponentProps","makeDimensionsProps"],"mappings":";;;;;;;;AAiCO,MAAM,kBAAkBA,MAAA;AAAA,EAC3B;AAAA,IACI,UAAU;AAAA,IACV,KAAK;AAAA,MACD,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,UAAU;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IAEA,GAAGC,6BAAmB;AAAA,IACtB,GAAGC,uBAAgB;AAAA,MACf,gBAAgB;AAAA,IAAA,CACnB;AAAA,IACD,GAAGC,6BAAmB;AAAA,IACtB,GAAGC,WAAoB,oBAAA;AAAA,EAC3B;AAAA,EACA;AACJ;AAKO,MAAM,0BAA0BJ,MAAA;AAAA,EACnC;AAAA,IACI,OAAO;AAAA,EACX;AAAA,EACA;AACJ;;;"}
1
+ {"version":3,"file":"EvList.cjs","sources":["../../../../../src/components/EvList/EvList.ts"],"sourcesContent":["import { propsFactory } from \"@/util\";\nimport {\n ListItem as DefaultListItem,\n ListItemsProps as DefaultListItemProps,\n makeListItemsProps,\n makeNestedProps,\n} from \"@/composables/lists\";\nimport { PropType } from \"vue\";\nimport { makeComponentProps } from \"@/composables/component\";\nimport { makeDimensionsProps } from \"@/composables/dimensions\";\n\n/**\n * # List Item Types\n */\nexport type ListItemType = \"item\" | \"subheader\" | \"divider\";\n\n/**\n * # List Item\n */\nexport interface ListItem extends DefaultListItem {\n type?: ListItemType;\n}\n\n/**\n * # List Item Props\n */\nexport interface ListItemProps extends DefaultListItemProps {\n itemType: string;\n}\n\n/**\n * # Make EvList Props\n */\nexport const makeEvListProps = propsFactory(\n {\n disabled: Boolean,\n tag: {\n type: String,\n default: \"ul\",\n },\n itemType: {\n type: String,\n default: \"type\",\n },\n\n ...makeListItemsProps(),\n ...makeNestedProps({\n selectStrategy: \"multi-any\",\n }),\n ...makeComponentProps(),\n ...makeDimensionsProps(),\n },\n \"EvList\",\n);\n\n/**\n * # Make EvListChildren Props\n */\nexport const makeEvListChildrenProps = propsFactory(\n {\n items: Array as PropType<readonly ListItem[]>,\n returnObject: Boolean,\n },\n \"EvListChildren\",\n);\n"],"names":["propsFactory","makeListItemsProps","makeNestedProps","makeComponentProps","makeDimensionsProps"],"mappings":";;;;;;;;AAiCO,MAAM,kBAAkBA,MAAA;AAAA,EAC3B;AAAA,IACI,UAAU;AAAA,IACV,KAAK;AAAA,MACD,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,UAAU;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IAEA,GAAGC,6BAAmB;AAAA,IACtB,GAAGC,uBAAgB;AAAA,MACf,gBAAgB;AAAA,IAAA,CACnB;AAAA,IACD,GAAGC,6BAAmB;AAAA,IACtB,GAAGC,WAAoB,oBAAA;AAAA,EAC3B;AAAA,EACA;AACJ;AAKO,MAAM,0BAA0BJ,MAAA;AAAA,EACnC;AAAA,IACI,OAAO;AAAA,IACP,cAAc;AAAA,EAClB;AAAA,EACA;AACJ;;;"}
@@ -84,12 +84,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
84
84
  onFocusout: onFocusOut
85
85
  }, {
86
86
  default: vue.withCtx(() => [
87
- vue.createVNode(EvListChildren_vue_vue_type_script_setup_true_lang.default, { items: vue.unref(items) }, {
87
+ vue.createVNode(EvListChildren_vue_vue_type_script_setup_true_lang.default, {
88
+ items: vue.unref(items),
89
+ "return-object": props.returnObject
90
+ }, {
88
91
  default: vue.withCtx(() => [
89
92
  vue.renderSlot(_ctx.$slots, "default")
90
93
  ]),
91
94
  _: 3
92
- }, 8, ["items"])
95
+ }, 8, ["items", "return-object"])
93
96
  ]),
94
97
  _: 3
95
98
  }, 40, ["class", "style", "tabindex"]);
@@ -1 +1 @@
1
- {"version":3,"file":"EvList.vue.cjs","sources":["../../../../../src/components/EvList/EvList.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * # EvList\n *\n * `<ev-list>`\n *\n * Uses:\n * - EvListItem - `<ev-list-item>`\n *\n * @todo: Nested items\n *\n * @see EvListItem\n */\nimport \"./EvList.scss\";\nimport { makeEvListProps } from \"./EvList\";\nimport { computed, ref, shallowRef } from \"vue\";\nimport { focusChild, FocusPosition } from \"@/util\";\nimport {\n createList,\n NestedProps,\n useItems,\n useNestedList,\n} from \"@/composables/lists\";\nimport { useDimensions } from \"@/composables/dimensions\";\nimport EvListChildren from \"./EvListChildren.vue\";\n\ndefineEmits([\"update:selected\", \"click:select\"]);\n\nconst props = defineProps({\n ...makeEvListProps(),\n});\nconst { items } = useItems(props);\nconst { select } = useNestedList(props as NestedProps);\nconst containerRef = ref<HTMLElement | undefined>(undefined);\nconst isFocused = shallowRef(false);\nconst lastFocus = shallowRef<HTMLElement | undefined>(undefined);\nconst tabindex = computed(() => {\n return props.disabled || isFocused.value ? -1 : 0;\n});\nconst dimensions = useDimensions(props);\n\n/**\n * Establish provide() and inject() functionality for list items.\n */\ncreateList();\n\n/**\n * # On Focus\n * Set or restore focus\n * @param e\n */\nfunction onFocus(e: FocusEvent): void {\n if (\n !isFocused.value &&\n !(\n e.relatedTarget &&\n containerRef.value?.contains(e.relatedTarget as Node)\n ) &&\n containerRef.value\n ) {\n if (lastFocus.value) {\n lastFocus.value.focus();\n } else {\n focus();\n }\n }\n}\n\n/**\n * # On Focus In\n * @param e\n */\nfunction onFocusIn(e: FocusEvent): void {\n isFocused.value = true;\n}\n\n/**\n * # On Focus Out\n * @param e\n */\nfunction onFocusOut(e: FocusEvent): void {\n isFocused.value = false;\n}\n\n/**\n * # On Key Down\n * @see https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values\n * @param e\n */\nfunction onKeyDown(e: KeyboardEvent): void {\n const keys: { [key: string]: string } = {\n ArrowDown: \"next\",\n ArrowUp: \"previous\",\n Home: \"first\",\n End: \"last\",\n };\n const position = keys[e.key];\n if (position && containerRef.value) {\n focus(position as FocusPosition);\n e.preventDefault();\n }\n}\n\n/**\n * # Set Focus\n * @param position\n */\nfunction focus(position?: FocusPosition): void {\n lastFocus.value = focusChild(containerRef?.value, position);\n}\n\ndefineExpose({\n focus,\n select,\n});\n</script>\n\n<template>\n <component\n :is=\"props.tag\"\n ref=\"containerRef\"\n role=\"listbox\"\n :class=\"[\n 'ev-list',\n {\n 'is-disabled': props.disabled,\n },\n props.class,\n ]\"\n :style=\"[props.style, dimensions]\"\n :tabindex=\"tabindex\"\n @keydown=\"onKeyDown\"\n @focus=\"onFocus\"\n @focusin=\"onFocusIn\"\n @focusout=\"onFocusOut\">\n <ev-list-children :items=\"items\">\n <slot />\n </ev-list-children>\n </component>\n</template>\n"],"names":["useItems","useNestedList","ref","shallowRef","computed","dimensions","useDimensions","createList","focusChild"],"mappings":";;;;;;;;;;;;;;;;;;;;AA+BA,UAAM,EAAE,MAAA,IAAUA,UAAA,SAAS,KAAK;AAChC,UAAM,EAAE,OAAA,IAAWC,OAAA,cAAc,KAAoB;AAC/C,UAAA,eAAeC,QAA6B,MAAS;AACrD,UAAA,YAAYC,eAAW,KAAK;AAC5B,UAAA,YAAYA,eAAoC,MAAS;AACzD,UAAA,WAAWC,IAAAA,SAAS,MAAM;AAC5B,aAAO,MAAM,YAAY,UAAU,QAAQ,KAAK;AAAA,IAAA,CACnD;AACK,UAAAC,eAAaC,yBAAc,KAAK;AAK3BC,oBAAA;AAOX,aAAS,QAAQ,GAAqB;;AAClC,UACI,CAAC,UAAU,SACX,EACI,EAAE,mBACF,kBAAa,UAAb,mBAAoB,SAAS,EAAE,oBAEnC,aAAa,OACf;AACE,YAAI,UAAU,OAAO;AACjB,oBAAU,MAAM,MAAM;AAAA,QAAA,OACnB;AACG,gBAAA;AAAA,QAAA;AAAA,MACV;AAAA,IACJ;AAOJ,aAAS,UAAU,GAAqB;AACpC,gBAAU,QAAQ;AAAA,IAAA;AAOtB,aAAS,WAAW,GAAqB;AACrC,gBAAU,QAAQ;AAAA,IAAA;AAQtB,aAAS,UAAU,GAAwB;AACvC,YAAM,OAAkC;AAAA,QACpC,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,QACN,KAAK;AAAA,MACT;AACM,YAAA,WAAW,KAAK,EAAE,GAAG;AACvB,UAAA,YAAY,aAAa,OAAO;AAChC,cAAM,QAAyB;AAC/B,UAAE,eAAe;AAAA,MAAA;AAAA,IACrB;AAOJ,aAAS,MAAM,UAAgC;AAC3C,gBAAU,QAAQC,OAAAA,WAAW,6CAAc,OAAO,QAAQ;AAAA,IAAA;AAGjD,aAAA;AAAA,MACT;AAAA,MACA;AAAA,IAAA,CACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"EvList.vue.cjs","sources":["../../../../../src/components/EvList/EvList.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * # EvList\n *\n * `<ev-list>`\n *\n * Uses:\n * - EvListItem - `<ev-list-item>`\n *\n * @todo: Nested items\n *\n * @see EvListItem\n */\nimport \"./EvList.scss\";\nimport { makeEvListProps } from \"./EvList\";\nimport { computed, ref, shallowRef } from \"vue\";\nimport { focusChild, FocusPosition } from \"@/util\";\nimport {\n createList,\n NestedProps,\n useItems,\n useNestedList,\n} from \"@/composables/lists\";\nimport { useDimensions } from \"@/composables/dimensions\";\nimport EvListChildren from \"./EvListChildren.vue\";\n\ndefineEmits([\"update:selected\", \"click:select\"]);\n\nconst props = defineProps({\n ...makeEvListProps(),\n});\nconst { items } = useItems(props);\nconst { select } = useNestedList(props as NestedProps);\nconst containerRef = ref<HTMLElement | undefined>(undefined);\nconst isFocused = shallowRef(false);\nconst lastFocus = shallowRef<HTMLElement | undefined>(undefined);\nconst tabindex = computed(() => {\n return props.disabled || isFocused.value ? -1 : 0;\n});\nconst dimensions = useDimensions(props);\n\n/**\n * Establish provide() and inject() functionality for list items.\n */\ncreateList();\n\n/**\n * # On Focus\n * Set or restore focus\n * @param e\n */\nfunction onFocus(e: FocusEvent): void {\n if (\n !isFocused.value &&\n !(\n e.relatedTarget &&\n containerRef.value?.contains(e.relatedTarget as Node)\n ) &&\n containerRef.value\n ) {\n if (lastFocus.value) {\n lastFocus.value.focus();\n } else {\n focus();\n }\n }\n}\n\n/**\n * # On Focus In\n * @param e\n */\nfunction onFocusIn(e: FocusEvent): void {\n isFocused.value = true;\n}\n\n/**\n * # On Focus Out\n * @param e\n */\nfunction onFocusOut(e: FocusEvent): void {\n isFocused.value = false;\n}\n\n/**\n * # On Key Down\n * @see https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values\n * @param e\n */\nfunction onKeyDown(e: KeyboardEvent): void {\n const keys: { [key: string]: string } = {\n ArrowDown: \"next\",\n ArrowUp: \"previous\",\n Home: \"first\",\n End: \"last\",\n };\n const position = keys[e.key];\n if (position && containerRef.value) {\n focus(position as FocusPosition);\n e.preventDefault();\n }\n}\n\n/**\n * # Set Focus\n * @param position\n */\nfunction focus(position?: FocusPosition): void {\n lastFocus.value = focusChild(containerRef?.value, position);\n}\n\ndefineExpose({\n focus,\n select,\n});\n</script>\n\n<template>\n <component\n :is=\"props.tag\"\n ref=\"containerRef\"\n role=\"listbox\"\n :class=\"[\n 'ev-list',\n {\n 'is-disabled': props.disabled,\n },\n props.class,\n ]\"\n :style=\"[props.style, dimensions]\"\n :tabindex=\"tabindex\"\n @keydown=\"onKeyDown\"\n @focus=\"onFocus\"\n @focusin=\"onFocusIn\"\n @focusout=\"onFocusOut\">\n <ev-list-children :items=\"items\" :return-object=\"props.returnObject\">\n <slot name=\"default\" />\n </ev-list-children>\n </component>\n</template>\n"],"names":["useItems","useNestedList","ref","shallowRef","computed","dimensions","useDimensions","createList","focusChild"],"mappings":";;;;;;;;;;;;;;;;;;;;AA+BA,UAAM,EAAE,MAAA,IAAUA,UAAA,SAAS,KAAK;AAChC,UAAM,EAAE,OAAA,IAAWC,OAAA,cAAc,KAAoB;AAC/C,UAAA,eAAeC,QAA6B,MAAS;AACrD,UAAA,YAAYC,eAAW,KAAK;AAC5B,UAAA,YAAYA,eAAoC,MAAS;AACzD,UAAA,WAAWC,IAAAA,SAAS,MAAM;AAC5B,aAAO,MAAM,YAAY,UAAU,QAAQ,KAAK;AAAA,IAAA,CACnD;AACK,UAAAC,eAAaC,yBAAc,KAAK;AAK3BC,oBAAA;AAOX,aAAS,QAAQ,GAAqB;;AAClC,UACI,CAAC,UAAU,SACX,EACI,EAAE,mBACF,kBAAa,UAAb,mBAAoB,SAAS,EAAE,oBAEnC,aAAa,OACf;AACE,YAAI,UAAU,OAAO;AACjB,oBAAU,MAAM,MAAM;AAAA,QAAA,OACnB;AACG,gBAAA;AAAA,QAAA;AAAA,MACV;AAAA,IACJ;AAOJ,aAAS,UAAU,GAAqB;AACpC,gBAAU,QAAQ;AAAA,IAAA;AAOtB,aAAS,WAAW,GAAqB;AACrC,gBAAU,QAAQ;AAAA,IAAA;AAQtB,aAAS,UAAU,GAAwB;AACvC,YAAM,OAAkC;AAAA,QACpC,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,QACN,KAAK;AAAA,MACT;AACM,YAAA,WAAW,KAAK,EAAE,GAAG;AACvB,UAAA,YAAY,aAAa,OAAO;AAChC,cAAM,QAAyB;AAC/B,UAAE,eAAe;AAAA,MAAA;AAAA,IACrB;AAOJ,aAAS,MAAM,UAAgC;AAC3C,gBAAU,QAAQC,OAAAA,WAAW,6CAAc,OAAO,QAAQ;AAAA,IAAA;AAGjD,aAAA;AAAA,MACT;AAAA,MACA;AAAA,IAAA,CACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,6 +5,9 @@ const vue = require("vue");
5
5
  const EvListItem_vue_vue_type_script_setup_true_lang = require("../EvListItem/EvListItem.vue.cjs");
6
6
  const EvList = require("./EvList.cjs");
7
7
  const list = require("../../composables/lists/list.cjs");
8
+ const EvDivider_vue_vue_type_script_setup_true_lang = require("../EvDivider/EvDivider.vue.cjs");
9
+ ;/* empty css */
10
+ const EvSection_vue_vue_type_script_setup_true_lang = require("../EvSection/EvSection.vue.cjs");
8
11
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
9
12
  __name: "EvListChildren",
10
13
  props: {
@@ -12,15 +15,43 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
12
15
  },
13
16
  setup(__props) {
14
17
  const props = __props;
18
+ const slots = vue.useSlots();
15
19
  list.createList();
16
20
  return (_ctx, _cache) => {
21
+ const _component_ev_list_children = vue.resolveComponent("ev-list-children", true);
17
22
  return vue.renderSlot(_ctx.$slots, "default", {}, () => [
18
23
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.items, (item) => {
19
- return vue.renderSlot(_ctx.$slots, "item", vue.normalizeProps(vue.mergeProps({
24
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
20
25
  key: item.key
21
- }, { item, props: item.props })), () => [
22
- vue.createVNode(EvListItem_vue_vue_type_script_setup_true_lang.default, vue.normalizeProps(vue.guardReactiveProps(item.props)), null, 16)
23
- ]);
26
+ }, [
27
+ item.type === "divider" ? vue.renderSlot(_ctx.$slots, "divider", vue.normalizeProps(vue.mergeProps({ key: 0 }, { props: item.props })), () => [
28
+ vue.createVNode(vue.unref(EvDivider_vue_vue_type_script_setup_true_lang.default), vue.normalizeProps(vue.guardReactiveProps(item.props)), null, 16)
29
+ ]) : item.type === "subheader" ? vue.renderSlot(_ctx.$slots, "subheader", vue.normalizeProps(vue.mergeProps({ key: 1 }, { props: item.props })), () => [
30
+ vue.createVNode(vue.unref(EvSection_vue_vue_type_script_setup_true_lang.default), vue.normalizeProps(vue.guardReactiveProps(item.props)), {
31
+ default: vue.withCtx(() => [
32
+ vue.createVNode(_component_ev_list_children, {
33
+ items: item.children,
34
+ "return-object": props.returnObject
35
+ }, vue.createSlots({ _: 2 }, [
36
+ vue.unref(slots).item ? {
37
+ name: "item",
38
+ fn: vue.withCtx(({ item: item2, props: props2 }) => [
39
+ vue.renderSlot(_ctx.$slots, "item", vue.normalizeProps(vue.guardReactiveProps({ item: item2, props: props2 })))
40
+ ]),
41
+ key: "0"
42
+ } : void 0
43
+ ]), 1032, ["items", "return-object"])
44
+ ]),
45
+ _: 2
46
+ }, 1040)
47
+ ]) : vue.renderSlot(_ctx.$slots, "item", vue.normalizeProps(vue.mergeProps({ key: 2 }, { item, props: item.props })), () => [
48
+ vue.createVNode(EvListItem_vue_vue_type_script_setup_true_lang.default, vue.mergeProps(item.props, {
49
+ value: props.returnObject ? vue.toRaw(item.raw) : item.props.value,
50
+ "return-object": props.returnObject,
51
+ children: item.children
52
+ }), null, 16, ["value", "return-object", "children"])
53
+ ])
54
+ ], 64);
24
55
  }), 128))
25
56
  ]);
26
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EvListChildren.vue.cjs","sources":["../../../../../src/components/EvList/EvListChildren.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * # EvListChildren\n *\n * A management component for rendering child items recursively.\n *\n * @todo: nested children + groups\n * v-for=\"{ children, props: itemProps, type, raw: item } in props.items\"\n */\nimport EvListItem from \"../EvListItem/EvListItem.vue\";\nimport { ListItem, makeEvListChildrenProps } from \"./EvList\";\nimport { createList } from \"@/composables/lists\";\n\nconst props = defineProps({\n ...makeEvListChildrenProps(),\n});\n\ndefineSlots<{\n default(): never;\n item(props: { item: ListItem; props: any }): never;\n}>();\n\ncreateList();\n</script>\n\n<template>\n <slot>\n <template v-for=\"item in props.items\" :key=\"item.key\">\n <slot name=\"item\" v-bind=\"{ item, props: item.props }\">\n <ev-list-item v-bind=\"item.props\" />\n </slot>\n </template>\n </slot>\n</template>\n"],"names":["createList"],"mappings":";;;;;;;;;;;;;;AAsBWA,oBAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"EvListChildren.vue.cjs","sources":["../../../../../src/components/EvList/EvListChildren.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * # EvListChildren\n *\n * A management component for rendering child items recursively.\n */\nimport EvListItem from \"../EvListItem/EvListItem.vue\";\nimport { ListItem, makeEvListChildrenProps } from \"./EvList\";\nimport { createList } from \"@/composables/lists\";\nimport { EvDivider } from \"@/components/EvDivider\";\nimport { EvSection } from \"@/components/EvSection\";\nimport { toRaw } from \"vue\";\n\nconst props = defineProps({\n ...makeEvListChildrenProps(),\n});\n\nconst slots = defineSlots<{\n default(): never;\n divider(props: { props: any }): never;\n subheader(props: { props: any }): never;\n item(props: { item: ListItem; props: any }): never;\n}>();\n\ncreateList();\n</script>\n\n<template>\n <slot name=\"default\">\n <template v-for=\"item in props.items\" :key=\"item.key\">\n <slot\n v-if=\"item.type === 'divider'\"\n name=\"divider\"\n v-bind=\"{ props: item.props }\">\n <ev-divider v-bind=\"item.props\" />\n </slot>\n <slot\n v-else-if=\"item.type === 'subheader'\"\n name=\"subheader\"\n v-bind=\"{ props: item.props }\">\n <ev-section v-bind=\"item.props\">\n <ev-list-children\n :items=\"item.children\"\n :return-object=\"props.returnObject\">\n <template v-if=\"slots.item\" #item=\"{ item, props }\">\n <slot name=\"item\" v-bind=\"{ item, props }\" />\n </template>\n </ev-list-children>\n </ev-section>\n </slot>\n <template v-else>\n <slot name=\"item\" v-bind=\"{ item, props: item.props }\">\n <ev-list-item\n v-bind=\"item.props\"\n :value=\"\n props.returnObject\n ? toRaw(item.raw)\n : item.props.value\n \"\n :return-object=\"props.returnObject\"\n :children=\"item.children\" />\n </slot>\n </template>\n </template>\n </slot>\n</template>\n"],"names":["_useSlots","createList"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,UAAM,QAAQA,IAAAA;AAOHC,oBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -20,6 +20,7 @@ const makeEvListItemProps = props.propsFactory(
20
20
  type: Array,
21
21
  default: () => []
22
22
  },
23
+ children: Array,
23
24
  disabled: Boolean,
24
25
  iconEnd: icons.IconProp,
25
26
  iconStart: icons.IconProp,
@@ -27,6 +28,13 @@ const makeEvListItemProps = props.propsFactory(
27
28
  type: Boolean,
28
29
  default: void 0
29
30
  },
31
+ loading: Boolean,
32
+ returnObject: Boolean,
33
+ subtitle: [String, Number, Boolean],
34
+ subtitleProps: {
35
+ type: Object,
36
+ default: () => ({})
37
+ },
30
38
  tag: {
31
39
  type: String,
32
40
  default: "div"
@@ -36,11 +44,6 @@ const makeEvListItemProps = props.propsFactory(
36
44
  type: Object,
37
45
  default: () => ({})
38
46
  },
39
- subtitle: [String, Number, Boolean],
40
- subtitleProps: {
41
- type: Object,
42
- default: () => ({})
43
- },
44
47
  value: null,
45
48
  onClick: events.EventProp(),
46
49
  ...router.makeRouterLinkOrHrefProps({
@@ -1 +1 @@
1
- {"version":3,"file":"EvListItem.cjs","sources":["../../../../../src/components/EvListItem/EvListItem.ts"],"sourcesContent":["import { EventProp, propsFactory } from \"@/util\";\nimport {\n makeRouterLinkOrHrefProps,\n RouterLinkOrHrefProps,\n} from \"@/composables/router\";\nimport { IconProp, IconValue } from \"@/composables/icons\";\nimport { ComponentProps, makeComponentProps } from \"@/composables/component\";\nimport { EvTextProps } from \"@/components/EvText\";\nimport { EvButtonProps } from \"@/components/EvButton\";\nimport { PropType } from \"vue\";\n\nexport interface EvListItemProps extends ComponentProps, RouterLinkOrHrefProps {\n active?: boolean;\n actions?: EvButtonProps[];\n actionsOnHover?: EvButtonProps[];\n disabled?: boolean;\n iconEnd?: IconValue;\n iconStart?: IconValue;\n link?: boolean;\n tag?: string;\n title?: string | number | boolean;\n subtitle?: string | number | boolean;\n value?: any;\n}\n\nexport const makeEvListItemProps = propsFactory(\n {\n active: {\n type: Boolean,\n default: undefined,\n },\n actions: {\n type: Array as PropType<readonly EvButtonProps[]>,\n default: () => [],\n },\n actionsOnHover: {\n type: Array as PropType<readonly EvButtonProps[]>,\n default: () => [],\n },\n disabled: Boolean,\n iconEnd: IconProp,\n iconStart: IconProp,\n link: {\n type: Boolean,\n default: undefined,\n },\n tag: {\n type: String,\n default: \"div\",\n },\n title: [String, Number, Boolean],\n titleProps: {\n type: Object as PropType<EvTextProps>,\n default: () => ({}),\n },\n subtitle: [String, Number, Boolean],\n subtitleProps: {\n type: Object as PropType<EvTextProps>,\n default: () => ({}),\n },\n value: null,\n onClick: EventProp<[MouseEvent]>(),\n\n ...makeRouterLinkOrHrefProps({\n exact: undefined,\n }),\n ...makeComponentProps(),\n },\n \"EvListItem\",\n);\n"],"names":["propsFactory","IconProp","EventProp","makeRouterLinkOrHrefProps","makeComponentProps"],"mappings":";;;;;;;;AAyBO,MAAM,sBAAsBA,MAAA;AAAA,EAC/B;AAAA,IACI,QAAQ;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,SAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACnB;AAAA,IACA,gBAAgB;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACnB;AAAA,IACA,UAAU;AAAA,IACV,SAASC,MAAA;AAAA,IACT,WAAWA,MAAA;AAAA,IACX,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,KAAK;AAAA,MACD,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,OAAO,CAAC,QAAQ,QAAQ,OAAO;AAAA,IAC/B,YAAY;AAAA,MACR,MAAM;AAAA,MACN,SAAS,OAAO,CAAC;AAAA,IACrB;AAAA,IACA,UAAU,CAAC,QAAQ,QAAQ,OAAO;AAAA,IAClC,eAAe;AAAA,MACX,MAAM;AAAA,MACN,SAAS,OAAO,CAAC;AAAA,IACrB;AAAA,IACA,OAAO;AAAA,IACP,SAASC,OAAAA,UAAwB;AAAA,IAEjC,GAAGC,iCAA0B;AAAA,MACzB,OAAO;AAAA,IAAA,CACV;AAAA,IACD,GAAGC,UAAmB,mBAAA;AAAA,EAC1B;AAAA,EACA;AACJ;;"}
1
+ {"version":3,"file":"EvListItem.cjs","sources":["../../../../../src/components/EvListItem/EvListItem.ts"],"sourcesContent":["import { EventProp, propsFactory } from \"@/util\";\nimport {\n makeRouterLinkOrHrefProps,\n RouterLinkOrHrefProps,\n} from \"@/composables/router\";\nimport { IconProp, IconValue } from \"@/composables/icons\";\nimport { ComponentProps, makeComponentProps } from \"@/composables/component\";\nimport { EvTextProps } from \"@/components/EvText\";\nimport { EvButtonProps } from \"@/components/EvButton\";\nimport { PropType } from \"vue\";\nimport { ListItem } from \"@/composables/lists\";\n\nexport interface EvListItemProps extends ComponentProps, RouterLinkOrHrefProps {\n active?: boolean;\n actions?: EvButtonProps[];\n actionsOnHover?: EvButtonProps[];\n children?: ListItem[];\n disabled?: boolean;\n iconEnd?: IconValue;\n iconStart?: IconValue;\n link?: boolean;\n tag?: string;\n title?: string | number | boolean;\n subtitle?: string | number | boolean;\n value?: any;\n}\n\nexport const makeEvListItemProps = propsFactory(\n {\n active: {\n type: Boolean,\n default: undefined,\n },\n actions: {\n type: Array as PropType<readonly EvButtonProps[]>,\n default: () => [],\n },\n actionsOnHover: {\n type: Array as PropType<readonly EvButtonProps[]>,\n default: () => [],\n },\n children: Array as PropType<readonly ListItem[]>,\n disabled: Boolean,\n iconEnd: IconProp,\n iconStart: IconProp,\n link: {\n type: Boolean,\n default: undefined,\n },\n loading: Boolean,\n returnObject: Boolean,\n subtitle: [String, Number, Boolean],\n subtitleProps: {\n type: Object as PropType<EvTextProps>,\n default: () => ({}),\n },\n tag: {\n type: String,\n default: \"div\",\n },\n title: [String, Number, Boolean],\n titleProps: {\n type: Object as PropType<EvTextProps>,\n default: () => ({}),\n },\n value: null,\n onClick: EventProp<[MouseEvent]>(),\n\n ...makeRouterLinkOrHrefProps({\n exact: undefined,\n }),\n ...makeComponentProps(),\n },\n \"EvListItem\",\n);\n"],"names":["propsFactory","IconProp","EventProp","makeRouterLinkOrHrefProps","makeComponentProps"],"mappings":";;;;;;;;AA2BO,MAAM,sBAAsBA,MAAA;AAAA,EAC/B;AAAA,IACI,QAAQ;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,SAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACnB;AAAA,IACA,gBAAgB;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACnB;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,IACV,SAASC,MAAA;AAAA,IACT,WAAWA,MAAA;AAAA,IACX,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,SAAS;AAAA,IACT,cAAc;AAAA,IACd,UAAU,CAAC,QAAQ,QAAQ,OAAO;AAAA,IAClC,eAAe;AAAA,MACX,MAAM;AAAA,MACN,SAAS,OAAO,CAAC;AAAA,IACrB;AAAA,IACA,KAAK;AAAA,MACD,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,OAAO,CAAC,QAAQ,QAAQ,OAAO;AAAA,IAC/B,YAAY;AAAA,MACR,MAAM;AAAA,MACN,SAAS,OAAO,CAAC;AAAA,IACrB;AAAA,IACA,OAAO;AAAA,IACP,SAASC,OAAAA,UAAwB;AAAA,IAEjC,GAAGC,iCAA0B;AAAA,MACzB,OAAO;AAAA,IAAA,CACV;AAAA,IACD,GAAGC,UAAmB,mBAAA;AAAA,EAC1B;AAAA,EACA;AACJ;;"}
@@ -13,32 +13,47 @@ const EvButton_vue_vue_type_script_setup_true_lang = require("../EvButton/EvButt
13
13
  const EvButtonGroup_vue_vue_type_script_setup_true_lang = require("../EvButtonGroup/EvButtonGroup.vue.cjs");
14
14
  const EvText_vue_vue_type_script_setup_true_lang = require("../EvText/EvText.vue.cjs");
15
15
  ;/* empty css */
16
+ const ChevronRightIcon = require("../../icons/glyph/ChevronRightIcon.svg.cjs");
17
+ const DotIcon = require("../../icons/glyph/DotIcon.svg.cjs");
18
+ const EvListChildren_vue_vue_type_script_setup_true_lang = require("../EvList/EvListChildren.vue.cjs");
19
+ const expandTransition = require("../EvTransition/transitions/expandTransition.cjs");
20
+ const modelProxy = require("../../composables/modelProxy.cjs");
16
21
  const helpers = require("../../util/helpers.cjs");
17
- const _hoisted_1 = { class: "ev-list-item--content" };
18
- const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("div", {
22
+ const EvTransition = require("../EvTransition/EvTransition.cjs");
23
+ const _hoisted_1 = { class: "ev-list-item" };
24
+ const _hoisted_2 = { class: "ev-list-item--label" };
25
+ const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("div", {
19
26
  "aria-hidden": "true",
20
27
  class: "ev-list-item--indicator"
21
28
  }, null, -1);
22
- const _hoisted_3 = {
29
+ const _hoisted_4 = {
23
30
  key: 0,
24
- class: "ev-list-item--icon-start"
31
+ class: "ev-list-item--caret"
25
32
  };
26
- const _hoisted_4 = {
33
+ const _hoisted_5 = {
27
34
  key: 1,
28
- class: "ev-list-item--prefix"
35
+ class: "ev-list-item--icon-start"
29
36
  };
30
- const _hoisted_5 = {
37
+ const _hoisted_6 = {
31
38
  key: 2,
32
- class: "ev-list-item--suffix"
39
+ class: "ev-list-item--prefix"
33
40
  };
34
- const _hoisted_6 = {
41
+ const _hoisted_7 = {
35
42
  key: 3,
36
- class: "ev-list-item--actions"
43
+ class: "ev-list-item--suffix"
37
44
  };
38
- const _hoisted_7 = {
45
+ const _hoisted_8 = {
39
46
  key: 4,
47
+ class: "ev-list-item--actions"
48
+ };
49
+ const _hoisted_9 = {
50
+ key: 5,
40
51
  class: "ev-list-item--icon-end"
41
52
  };
53
+ const _hoisted_10 = {
54
+ class: "ev-list-item-children",
55
+ role: "group"
56
+ };
42
57
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
43
58
  __name: "EvListItem",
44
59
  props: {
@@ -54,7 +69,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
54
69
  const id = vue.computed(
55
70
  () => props.value === void 0 ? link.href.value : props.value
56
71
  );
57
- const { select, isSelected } = nested.useNestedListItem(id, false);
72
+ const isLoading = modelProxy.useModelProxy(props, "loading");
73
+ const hasChildren = vue.computed(() => {
74
+ return !!slots.children || !!props.children;
75
+ });
76
+ const { select, isSelected, isOpen, open, root } = nested.useNestedListItem(id, hasChildren.value);
58
77
  const isLink = vue.computed(() => props.link !== false && link.isLink.value);
59
78
  const isClickable = vue.computed(() => {
60
79
  return !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!list$1);
@@ -125,91 +144,133 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
125
144
  }))
126
145
  );
127
146
  const hasActionsOnHover = vue.computed(() => !!parsedActionsOnHover.value.length);
147
+ const transition = expandTransition.default("", false);
148
+ const showCaret = vue.computed(() => {
149
+ return isLoading.value || hasChildren.value || root.isNested.value;
150
+ });
151
+ function onClickOpener(e) {
152
+ open(!isOpen.value, e);
153
+ }
128
154
  return (_ctx, _cache) => {
129
- return vue.openBlock(), vue.createElementBlock("div", {
130
- role: "listitem",
131
- class: vue.normalizeClass([
132
- "ev-list-item",
133
- {
134
- "is-active": isActive.value,
135
- "is-active--exact": isActiveExact.value,
136
- "is-clickable": isClickable.value || hasClickListener.value,
137
- "is-disabled": props.disabled,
138
- "is-actions-on-hover": hasActionsOnHover.value
139
- },
140
- props.class
141
- ]),
142
- style: vue.normalizeStyle(props.style)
143
- }, [
144
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(itemElement.value), {
145
- href: vue.unref(link).href.value,
146
- tabindex: tabIndex.value,
147
- class: "ev-list-item--button",
148
- onClick,
149
- onKeydown: [
150
- vue.withKeys(onKeyDown, ["enter"]),
151
- vue.withKeys(onKeyDown, ["space"])
152
- ]
153
- }, {
154
- default: vue.withCtx(() => [
155
- vue.createElementVNode("div", _hoisted_1, [
156
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
157
- vue.createVNode(vue.unref(EvText_vue_vue_type_script_setup_true_lang.default), vue.mergeProps({
158
- tag: "div",
159
- class: "ev-list-item--title"
160
- }, titleProps.value), null, 16),
161
- props.subtitle ? (vue.openBlock(), vue.createBlock(vue.unref(EvText_vue_vue_type_script_setup_true_lang.default), vue.mergeProps({
162
- key: 0,
163
- tag: "div",
164
- class: "ev-list-item--subtitle"
165
- }, subtitleProps.value), null, 16)) : vue.createCommentVNode("", true)
166
- ])
167
- ]),
168
- _hoisted_2
155
+ return vue.openBlock(), vue.createElementBlock("li", _hoisted_1, [
156
+ vue.createElementVNode("div", {
157
+ role: "listitem",
158
+ class: vue.normalizeClass([
159
+ "ev-list-item-content",
160
+ {
161
+ "is-active": isActive.value,
162
+ "is-active--exact": isActiveExact.value,
163
+ "is-clickable": isClickable.value || hasClickListener.value,
164
+ "is-disabled": props.disabled,
165
+ "is-actions-on-hover": hasActionsOnHover.value,
166
+ "is-open": vue.unref(isOpen)
167
+ },
168
+ props.class
169
169
  ]),
170
- _: 3
171
- }, 40, ["href", "tabindex", "onKeydown"])),
172
- vue.unref(slots).iconStart || props.iconStart ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
173
- vue.renderSlot(_ctx.$slots, "iconStart", {}, () => [
174
- vue.createVNode(vue.unref(EvIcon_vue_vue_type_script_setup_true_lang.default), {
175
- glyph: props.iconStart
176
- }, null, 8, ["glyph"])
177
- ])
178
- ])) : vue.createCommentVNode("", true),
179
- vue.unref(slots).prefix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
180
- vue.renderSlot(_ctx.$slots, "prefix")
181
- ])) : vue.createCommentVNode("", true),
182
- vue.unref(slots).suffix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
183
- vue.renderSlot(_ctx.$slots, "suffix")
184
- ])) : vue.createCommentVNode("", true),
185
- hasActions.value || hasActionsOnHover.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
186
- vue.createVNode(vue.unref(EvButtonGroup_vue_vue_type_script_setup_true_lang.default), {
187
- size: "x-small",
188
- variant: "subtle"
170
+ style: vue.normalizeStyle(props.style)
171
+ }, [
172
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(itemElement.value), {
173
+ href: vue.unref(link).href.value,
174
+ tabindex: tabIndex.value,
175
+ class: "ev-list-item--button",
176
+ onClick,
177
+ onKeydown: [
178
+ vue.withKeys(onKeyDown, ["enter"]),
179
+ vue.withKeys(onKeyDown, ["space"])
180
+ ]
189
181
  }, {
190
182
  default: vue.withCtx(() => [
191
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(parsedActionsOnHover.value, (action) => {
192
- return vue.openBlock(), vue.createBlock(vue.unref(EvButton_vue_vue_type_script_setup_true_lang.default), vue.mergeProps({
193
- key: action.id
194
- }, action.props, { class: "is-show-on-hover" }), null, 16);
195
- }), 128)),
196
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(parsedActions.value, (action) => {
197
- return vue.openBlock(), vue.createBlock(vue.unref(EvButton_vue_vue_type_script_setup_true_lang.default), vue.mergeProps({
198
- key: action.id
199
- }, action.props), null, 16);
200
- }), 128))
183
+ vue.createElementVNode("div", _hoisted_2, [
184
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
185
+ vue.createVNode(vue.unref(EvText_vue_vue_type_script_setup_true_lang.default), vue.mergeProps({
186
+ tag: "div",
187
+ class: "ev-list-item--title"
188
+ }, titleProps.value), null, 16),
189
+ props.subtitle ? (vue.openBlock(), vue.createBlock(vue.unref(EvText_vue_vue_type_script_setup_true_lang.default), vue.mergeProps({
190
+ key: 0,
191
+ tag: "div",
192
+ class: "ev-list-item--subtitle"
193
+ }, subtitleProps.value), null, 16)) : vue.createCommentVNode("", true)
194
+ ])
195
+ ]),
196
+ _hoisted_3
201
197
  ]),
202
- _: 1
203
- })
204
- ])) : vue.createCommentVNode("", true),
205
- vue.unref(slots).iconEnd || props.iconEnd ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
206
- vue.renderSlot(_ctx.$slots, "iconEnd", {}, () => [
207
- vue.createVNode(vue.unref(EvIcon_vue_vue_type_script_setup_true_lang.default), {
208
- glyph: props.iconEnd
209
- }, null, 8, ["glyph"])
210
- ])
211
- ])) : vue.createCommentVNode("", true)
212
- ], 6);
198
+ _: 3
199
+ }, 40, ["href", "tabindex", "onKeydown"])),
200
+ showCaret.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
201
+ hasChildren.value ? (vue.openBlock(), vue.createBlock(vue.unref(EvButton_vue_vue_type_script_setup_true_lang.default), {
202
+ key: 0,
203
+ icon: "",
204
+ size: "x-small",
205
+ variant: "subtle",
206
+ loading: vue.unref(isLoading),
207
+ "icon-start": vue.unref(ChevronRightIcon.default),
208
+ onClick: onClickOpener
209
+ }, null, 8, ["loading", "icon-start"])) : (vue.openBlock(), vue.createBlock(vue.unref(EvIcon_vue_vue_type_script_setup_true_lang.default), {
210
+ key: 1,
211
+ glyph: vue.unref(DotIcon.default)
212
+ }, null, 8, ["glyph"]))
213
+ ])) : vue.createCommentVNode("", true),
214
+ vue.unref(slots).iconStart || props.iconStart ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
215
+ vue.renderSlot(_ctx.$slots, "iconStart", {}, () => [
216
+ vue.createVNode(vue.unref(EvIcon_vue_vue_type_script_setup_true_lang.default), {
217
+ glyph: props.iconStart
218
+ }, null, 8, ["glyph"])
219
+ ])
220
+ ])) : vue.createCommentVNode("", true),
221
+ vue.unref(slots).prefix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
222
+ vue.renderSlot(_ctx.$slots, "prefix")
223
+ ])) : vue.createCommentVNode("", true),
224
+ vue.unref(slots).suffix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
225
+ vue.renderSlot(_ctx.$slots, "suffix")
226
+ ])) : vue.createCommentVNode("", true),
227
+ hasActions.value || hasActionsOnHover.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
228
+ vue.createVNode(vue.unref(EvButtonGroup_vue_vue_type_script_setup_true_lang.default), {
229
+ size: "x-small",
230
+ variant: "subtle"
231
+ }, {
232
+ default: vue.withCtx(() => [
233
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(parsedActionsOnHover.value, (action) => {
234
+ return vue.openBlock(), vue.createBlock(vue.unref(EvButton_vue_vue_type_script_setup_true_lang.default), vue.mergeProps({
235
+ key: action.id
236
+ }, action.props, { class: "is-show-on-hover" }), null, 16);
237
+ }), 128)),
238
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(parsedActions.value, (action) => {
239
+ return vue.openBlock(), vue.createBlock(vue.unref(EvButton_vue_vue_type_script_setup_true_lang.default), vue.mergeProps({
240
+ key: action.id
241
+ }, action.props), null, 16);
242
+ }), 128))
243
+ ]),
244
+ _: 1
245
+ })
246
+ ])) : vue.createCommentVNode("", true),
247
+ vue.unref(slots).iconEnd || props.iconEnd ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
248
+ vue.renderSlot(_ctx.$slots, "iconEnd", {}, () => [
249
+ vue.createVNode(vue.unref(EvIcon_vue_vue_type_script_setup_true_lang.default), {
250
+ glyph: props.iconEnd
251
+ }, null, 8, ["glyph"])
252
+ ])
253
+ ])) : vue.createCommentVNode("", true)
254
+ ], 6),
255
+ hasChildren.value ? (vue.openBlock(), vue.createBlock(vue.unref(EvTransition.EvTransition), vue.mergeProps({
256
+ key: 0,
257
+ name: "ev-list-group-transition"
258
+ }, vue.unref(transition)), {
259
+ default: vue.withCtx(() => [
260
+ vue.withDirectives(vue.createElementVNode("ul", _hoisted_10, [
261
+ vue.renderSlot(_ctx.$slots, "children", {}, () => [
262
+ vue.createVNode(EvListChildren_vue_vue_type_script_setup_true_lang.default, {
263
+ items: props.children,
264
+ "return-object": props.returnObject
265
+ }, null, 8, ["items", "return-object"])
266
+ ])
267
+ ], 512), [
268
+ [vue.vShow, vue.unref(isOpen)]
269
+ ])
270
+ ]),
271
+ _: 3
272
+ }, 16)) : vue.createCommentVNode("", true)
273
+ ]);
213
274
  };
214
275
  }
215
276
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EvListItem.vue.cjs","sources":["../../../../../src/components/EvListItem/EvListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport \"./EvListItem.scss\";\nimport { makeEvListItemProps } from \"./EvListItem\";\nimport { computed, mergeProps, toDisplayString, useAttrs } from \"vue\";\nimport {\n RouterLinkOrHrefProps,\n useRouterLinkOrHref,\n} from \"@/composables/router\";\nimport { useList, useNestedListItem } from \"@/composables/lists\";\nimport { EvIcon } from \"@/components/EvIcon\";\nimport { EvButton } from \"@/components/EvButton\";\nimport { EvButtonGroup } from \"@/components/EvButtonGroup\";\nimport { EvText } from \"@/components/EvText\";\nimport { getNextId } from \"@/util\";\n\n// Emit\nconst emit = defineEmits([\"click\"]);\n\nconst props = defineProps({\n ...makeEvListItemProps(),\n});\nconst slots = defineSlots<{\n default(): never;\n iconStart(): never;\n iconEnd(): never;\n prefix(): never;\n suffix(): never;\n}>();\n\nconst attrs = useAttrs();\nconst link = useRouterLinkOrHref(props as RouterLinkOrHrefProps, attrs);\nconst list = useList();\nconst id = computed(() =>\n props.value === undefined ? link.href.value : props.value,\n);\nconst { select, isSelected } = useNestedListItem(id, false);\nconst isLink = computed(() => props.link !== false && link.isLink.value);\nconst isClickable = computed(() => {\n return (\n !props.disabled &&\n props.link !== false &&\n (props.link ||\n link.isClickable.value ||\n (props.value != null && !!list))\n );\n});\nconst isActive = computed(() => {\n return props.active !== false && (props.active || link.isActive?.value);\n});\nconst isActiveExact = computed(() => {\n return (\n props.exact !== false &&\n (props.exact || link.isExactActive?.value || isSelected.value)\n );\n});\nconst itemElement = computed(() => {\n return isLink.value ? \"a\" : props.tag;\n});\nconst tabIndex = computed(() => {\n return isClickable.value ? (list ? -2 : 0) : null;\n});\n\n/**\n * # onClick Handler\n * @param e\n */\nfunction onClick(e: MouseEvent): void {\n emit(\"click\", e);\n if (!isClickable.value) {\n return;\n }\n link.navigate?.(e);\n if (props.value != null) {\n select(!isSelected.value, e);\n }\n}\n\n/**\n * # onKeyDown Handler\n * @param e\n */\nfunction onKeyDown(e: KeyboardEvent): void {\n e.preventDefault();\n onClick(e as any as MouseEvent);\n}\n\nconst hasClickListener = computed(\n () => !!link.isClickable.value || !!props.onClick,\n);\n\nconst titleProps = computed(() => {\n return mergeProps(\n {\n truncate: true,\n text: toDisplayString(props.title),\n },\n props.titleProps,\n );\n});\n\nconst subtitleProps = computed(() => {\n return mergeProps(\n {\n appearance: \"subtle\",\n size: \"small\",\n truncate: true,\n text: toDisplayString(props.subtitle),\n },\n props.subtitleProps,\n );\n});\n\nconst parsedActions = computed(() =>\n props.actions.map((action) => ({\n props: action,\n id: getNextId(),\n })),\n);\nconst hasActions = computed(() => !!parsedActions.value.length);\nconst parsedActionsOnHover = computed(() =>\n props.actionsOnHover.map((action) => ({\n props: action,\n id: getNextId(),\n })),\n);\nconst hasActionsOnHover = computed(() => !!parsedActionsOnHover.value.length);\n</script>\n\n<template>\n <div\n role=\"listitem\"\n :class=\"[\n 'ev-list-item',\n {\n 'is-active': isActive,\n 'is-active--exact': isActiveExact,\n 'is-clickable': isClickable || hasClickListener,\n 'is-disabled': props.disabled,\n 'is-actions-on-hover': hasActionsOnHover,\n },\n props.class,\n ]\"\n :style=\"props.style\">\n <component\n :is=\"itemElement\"\n :href=\"link.href.value\"\n :tabindex=\"tabIndex\"\n class=\"ev-list-item--button\"\n @click=\"onClick\"\n @keydown.enter=\"onKeyDown\"\n @keydown.space=\"onKeyDown\">\n <div class=\"ev-list-item--content\">\n <slot name=\"default\">\n <ev-text\n tag=\"div\"\n class=\"ev-list-item--title\"\n v-bind=\"titleProps\" />\n <ev-text\n v-if=\"props.subtitle\"\n tag=\"div\"\n class=\"ev-list-item--subtitle\"\n v-bind=\"subtitleProps\" />\n </slot>\n </div>\n <div aria-hidden=\"true\" class=\"ev-list-item--indicator\"></div>\n </component>\n <div\n v-if=\"slots.iconStart || props.iconStart\"\n class=\"ev-list-item--icon-start\">\n <slot name=\"iconStart\">\n <ev-icon :glyph=\"props.iconStart\" />\n </slot>\n </div>\n <div v-if=\"slots.prefix\" class=\"ev-list-item--prefix\">\n <slot name=\"prefix\" />\n </div>\n <div v-if=\"slots.suffix\" class=\"ev-list-item--suffix\">\n <slot name=\"suffix\" />\n </div>\n <div\n v-if=\"hasActions || hasActionsOnHover\"\n class=\"ev-list-item--actions\">\n <ev-button-group size=\"x-small\" variant=\"subtle\">\n <ev-button\n v-for=\"action in parsedActionsOnHover\"\n :key=\"action.id\"\n v-bind=\"action.props\"\n class=\"is-show-on-hover\" />\n <ev-button\n v-for=\"action in parsedActions\"\n :key=\"action.id\"\n v-bind=\"action.props\" />\n </ev-button-group>\n </div>\n <div\n v-if=\"slots.iconEnd || props.iconEnd\"\n class=\"ev-list-item--icon-end\">\n <slot name=\"iconEnd\">\n <ev-icon :glyph=\"props.iconEnd\" />\n </slot>\n </div>\n </div>\n</template>\n"],"names":["_useSlots","useAttrs","useRouterLinkOrHref","list","useList","computed","useNestedListItem","mergeProps","toDisplayString","getNextId"],"mappings":"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"}
1
+ {"version":3,"file":"EvListItem.vue.cjs","sources":["../../../../../src/components/EvListItem/EvListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport \"./EvListItem.scss\";\nimport { makeEvListItemProps } from \"./EvListItem\";\nimport { computed, mergeProps, toDisplayString, useAttrs } from \"vue\";\nimport {\n RouterLinkOrHrefProps,\n useRouterLinkOrHref,\n} from \"@/composables/router\";\nimport { useList, useNestedListItem } from \"@/composables/lists\";\nimport { EvIcon } from \"@/components/EvIcon\";\nimport { EvButton } from \"@/components/EvButton\";\nimport { EvButtonGroup } from \"@/components/EvButtonGroup\";\nimport { EvText } from \"@/components/EvText\";\nimport { getNextId } from \"@/util\";\nimport { ChevronRightIcon, DotIcon } from \"@/icons\";\nimport { useModelProxy } from \"@/composables\";\nimport EvListChildren from \"@/components/EvList/EvListChildren.vue\";\nimport { EvTransition } from \"@/components/EvTransition\";\nimport ExpandTransitionGenerator from \"@/components/EvTransition/transitions/expandTransition\";\n\n// Emit\nconst emit = defineEmits([\"click\"]);\n\nconst props = defineProps({\n ...makeEvListItemProps(),\n});\nconst slots = defineSlots<{\n default(): never;\n iconStart(): never;\n iconEnd(): never;\n prefix(): never;\n suffix(): never;\n children(): never;\n}>();\n\nconst attrs = useAttrs();\nconst link = useRouterLinkOrHref(props as RouterLinkOrHrefProps, attrs);\nconst list = useList();\nconst id = computed(() =>\n props.value === undefined ? link.href.value : props.value,\n);\nconst isLoading = useModelProxy(props, \"loading\");\nconst hasChildren = computed(() => {\n return !!slots.children || !!props.children;\n});\nconst { select, isSelected, isOpen, open, root } = useNestedListItem(id, hasChildren.value);\nconst isLink = computed(() => props.link !== false && link.isLink.value);\nconst isClickable = computed(() => {\n return (\n !props.disabled &&\n props.link !== false &&\n (props.link ||\n link.isClickable.value ||\n (props.value != null && !!list))\n );\n});\nconst isActive = computed(() => {\n return props.active !== false && (props.active || link.isActive?.value);\n});\nconst isActiveExact = computed(() => {\n return (\n props.exact !== false &&\n (props.exact || link.isExactActive?.value || isSelected.value)\n );\n});\nconst itemElement = computed(() => {\n return isLink.value ? \"a\" : props.tag;\n});\nconst tabIndex = computed(() => {\n return isClickable.value ? (list ? -2 : 0) : null;\n});\n\n/**\n * # onClick Handler\n * @param e\n */\nfunction onClick(e: MouseEvent): void {\n emit(\"click\", e);\n if (!isClickable.value) {\n return;\n }\n link.navigate?.(e);\n if (props.value != null) {\n select(!isSelected.value, e);\n }\n}\n\n/**\n * # onKeyDown Handler\n * @param e\n */\nfunction onKeyDown(e: KeyboardEvent): void {\n e.preventDefault();\n onClick(e as any as MouseEvent);\n}\n\nconst hasClickListener = computed(\n () => !!link.isClickable.value || !!props.onClick,\n);\n\nconst titleProps = computed(() => {\n return mergeProps(\n {\n truncate: true,\n text: toDisplayString(props.title),\n },\n props.titleProps,\n );\n});\n\nconst subtitleProps = computed(() => {\n return mergeProps(\n {\n appearance: \"subtle\",\n size: \"small\",\n truncate: true,\n text: toDisplayString(props.subtitle),\n },\n props.subtitleProps,\n );\n});\n\nconst parsedActions = computed(() =>\n props.actions.map((action) => ({\n props: action,\n id: getNextId(),\n })),\n);\nconst hasActions = computed(() => !!parsedActions.value.length);\nconst parsedActionsOnHover = computed(() =>\n props.actionsOnHover.map((action) => ({\n props: action,\n id: getNextId(),\n })),\n);\nconst hasActionsOnHover = computed(() => !!parsedActionsOnHover.value.length);\n\nconst transition = ExpandTransitionGenerator(\"\", false);\nconst showCaret = computed(() => {\n return isLoading.value || hasChildren.value || root.isNested.value;\n});\n\nfunction onClickOpener(e: Event) {\n open(!isOpen.value, e);\n}\n\n</script>\n\n<template>\n <li class=\"ev-list-item\">\n <div\n role=\"listitem\"\n :class=\"[\n 'ev-list-item-content',\n {\n 'is-active': isActive,\n 'is-active--exact': isActiveExact,\n 'is-clickable': isClickable || hasClickListener,\n 'is-disabled': props.disabled,\n 'is-actions-on-hover': hasActionsOnHover,\n 'is-open': isOpen,\n },\n props.class,\n ]\"\n :style=\"props.style\">\n <component\n :is=\"itemElement\"\n :href=\"link.href.value\"\n :tabindex=\"tabIndex\"\n class=\"ev-list-item--button\"\n @click=\"onClick\"\n @keydown.enter=\"onKeyDown\"\n @keydown.space=\"onKeyDown\">\n <div class=\"ev-list-item--label\">\n <slot name=\"default\">\n <ev-text\n tag=\"div\"\n class=\"ev-list-item--title\"\n v-bind=\"titleProps\" />\n <ev-text\n v-if=\"props.subtitle\"\n tag=\"div\"\n class=\"ev-list-item--subtitle\"\n v-bind=\"subtitleProps\" />\n </slot>\n </div>\n <div aria-hidden=\"true\" class=\"ev-list-item--indicator\"></div>\n </component>\n <div v-if=\"showCaret\" class=\"ev-list-item--caret\">\n <ev-button\n v-if=\"hasChildren\"\n icon\n size=\"x-small\"\n variant=\"subtle\"\n :loading=\"isLoading\"\n :icon-start=\"ChevronRightIcon\"\n @click=\"onClickOpener\" />\n <ev-icon v-else :glyph=\"DotIcon\" />\n </div>\n <div\n v-if=\"slots.iconStart || props.iconStart\"\n class=\"ev-list-item--icon-start\">\n <slot name=\"iconStart\">\n <ev-icon :glyph=\"props.iconStart\" />\n </slot>\n </div>\n <div v-if=\"slots.prefix\" class=\"ev-list-item--prefix\">\n <slot name=\"prefix\" />\n </div>\n <div v-if=\"slots.suffix\" class=\"ev-list-item--suffix\">\n <slot name=\"suffix\" />\n </div>\n <div\n v-if=\"hasActions || hasActionsOnHover\"\n class=\"ev-list-item--actions\">\n <ev-button-group size=\"x-small\" variant=\"subtle\">\n <ev-button\n v-for=\"action in parsedActionsOnHover\"\n :key=\"action.id\"\n v-bind=\"action.props\"\n class=\"is-show-on-hover\" />\n <ev-button\n v-for=\"action in parsedActions\"\n :key=\"action.id\"\n v-bind=\"action.props\" />\n </ev-button-group>\n </div>\n <div\n v-if=\"slots.iconEnd || props.iconEnd\"\n class=\"ev-list-item--icon-end\">\n <slot name=\"iconEnd\">\n <ev-icon :glyph=\"props.iconEnd\" />\n </slot>\n </div>\n </div>\n\n <template v-if=\"hasChildren\">\n <ev-transition name=\"ev-list-group-transition\" v-bind=\"transition\">\n <ul v-show=\"isOpen\" class=\"ev-list-item-children\" role=\"group\">\n <slot name=\"children\">\n <ev-list-children\n :items=\"props.children\"\n :return-object=\"props.returnObject\" />\n </slot>\n </ul>\n </ev-transition>\n </template>\n </li>\n</template>\n"],"names":["_useSlots","useAttrs","useRouterLinkOrHref","list","useList","computed","useModelProxy","useNestedListItem","mergeProps","toDisplayString","getNextId","ExpandTransitionGenerator"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvTooltip.vue.cjs","sources":["../../../../../src/components/EvTooltip/EvTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport \"./EvTooltip.scss\";\nimport { makeEvTooltipProps } from \"./EvTooltip\";\nimport { useModelProxy } from \"@/composables/modelProxy\";\nimport { filterComponentProps, getNextId } from \"@/util\";\nimport { EvOverlay, PositionStrategyProps } from \"@/components/EvOverlay\";\nimport { computed, mergeProps, ref } from \"vue\";\n\nconst props = defineProps({\n ...makeEvTooltipProps(),\n});\n\nconst slots = defineSlots<{\n activator(): never;\n default(): never;\n}>();\n\nconst isActive = useModelProxy(props, \"modelValue\");\nconst uid = getNextId();\n\nconst id = computed(() => {\n return props.id || `ev-tooltip-${uid}`;\n});\n\nconst overlayRef = ref<typeof EvOverlay>();\nconst overlayProps = computed(() => filterComponentProps(EvOverlay, props));\n\nconst position = computed(() => {\n return props.position.split(\" \").length > 1\n ? props.position\n : ((props.position + \" center\") as PositionStrategyProps[\"position\"]);\n});\n\nconst origin = computed(() => {\n return props.origin === \"auto\" ||\n props.origin === \"overlap\" ||\n props.origin.split(\" \").length > 1 ||\n props.position.split(\" \").length > 1\n ? props.origin\n : ((props.origin + \" center\") as PositionStrategyProps[\"origin\"]);\n});\n\nconst transition = computed(() => {\n if (props.transition) {\n return props.transition;\n }\n return isActive.value ? \"transition-scale\" : \"transition-fade\";\n});\n\nconst activatorProps = computed(() => {\n return mergeProps(\n {\n \"aria-describedby\": id.value,\n },\n props.activatorProps,\n );\n});\n</script>\n\n<template>\n <ev-overlay\n :id=\"id\"\n ref=\"overlayRef\"\n v-bind=\"overlayProps\"\n v-model=\"isActive\"\n role=\"tooltip\"\n :class=\"['ev-tooltip', props.class]\"\n :style=\"props.style\"\n :transition=\"transition\"\n :position=\"position\"\n :origin=\"origin\"\n :activator-props=\"activatorProps\"\n absolute\n disable-global-stack>\n <template v-if=\"slots.activator\" #activator=\"activatorSlotProps\">\n <slot name=\"activator\" v-bind=\"activatorSlotProps\" />\n </template>\n <template #pointer>\n <div class=\"ev-tooltip--pointer\"></div>\n </template>\n <slot name=\"default\">{{ props.text }}</slot>\n </ev-overlay>\n</template>\n"],"names":["_useSlots","useModelProxy","getNextId","computed","ref","filterComponentProps","EvOverlay","mergeProps"],"mappings":";;;;;;;;;;;;;;;;;AAYA,UAAM,QAAQA,IAAAA;AAKR,UAAA,WAAWC,WAAAA,cAAc,OAAO,YAAY;AAClD,UAAM,MAAMC,QAAAA,UAAU;AAEhB,UAAA,KAAKC,IAAAA,SAAS,MAAM;AACf,aAAA,MAAM,MAAM,cAAc,GAAG;AAAA,IAAA,CACvC;AAED,UAAM,aAAaC,IAAAA,IAAsB;AACzC,UAAM,eAAeD,IAAAA,SAAS,MAAME,QAAqB,qBAAAC,8CAAA,SAAW,KAAK,CAAC;AAEpE,UAAA,WAAWH,IAAAA,SAAS,MAAM;AACrB,aAAA,MAAM,SAAS,MAAM,GAAG,EAAE,SAAS,IACpC,MAAM,WACJ,MAAM,WAAW;AAAA,IAAA,CAC5B;AAEK,UAAA,SAASA,IAAAA,SAAS,MAAM;AACnB,aAAA,MAAM,WAAW,UACpB,MAAM,WAAW,aACjB,MAAM,OAAO,MAAM,GAAG,EAAE,SAAS,KACjC,MAAM,SAAS,MAAM,GAAG,EAAE,SAAS,IACjC,MAAM,SACJ,MAAM,SAAS;AAAA,IAAA,CAC1B;AAEK,UAAA,aAAaA,IAAAA,SAAS,MAAM;AAC9B,UAAI,MAAM,YAAY;AAClB,eAAO,MAAM;AAAA,MAAA;AAEV,aAAA,SAAS,QAAQ,qBAAqB;AAAA,IAAA,CAChD;AAEK,UAAA,iBAAiBA,IAAAA,SAAS,MAAM;AAC3B,aAAAI,IAAA;AAAA,QACH;AAAA,UACI,oBAAoB,GAAG;AAAA,QAC3B;AAAA,QACA,MAAM;AAAA,MACV;AAAA,IAAA,CACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"EvTooltip.vue.cjs","sources":["../../../../../src/components/EvTooltip/EvTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport \"./EvTooltip.scss\";\nimport { makeEvTooltipProps } from \"./EvTooltip\";\nimport { useModelProxy } from \"@/composables/modelProxy\";\nimport { filterComponentProps, getNextId } from \"@/util\";\nimport { EvOverlay, PositionStrategyProps } from \"@/components/EvOverlay\";\nimport { computed, mergeProps, ref } from \"vue\";\n\nconst props = defineProps({\n ...makeEvTooltipProps(),\n});\n\nconst slots = defineSlots<{\n activator(props: { isActive: boolean; props: any }): never;\n default(): never;\n}>();\n\nconst isActive = useModelProxy(props, \"modelValue\");\nconst uid = getNextId();\n\nconst id = computed(() => {\n return props.id || `ev-tooltip-${uid}`;\n});\n\nconst overlayRef = ref<typeof EvOverlay>();\nconst overlayProps = computed(() => filterComponentProps(EvOverlay, props));\n\nconst position = computed(() => {\n return props.position.split(\" \").length > 1\n ? props.position\n : ((props.position + \" center\") as PositionStrategyProps[\"position\"]);\n});\n\nconst origin = computed(() => {\n return props.origin === \"auto\" ||\n props.origin === \"overlap\" ||\n props.origin.split(\" \").length > 1 ||\n props.position.split(\" \").length > 1\n ? props.origin\n : ((props.origin + \" center\") as PositionStrategyProps[\"origin\"]);\n});\n\nconst transition = computed(() => {\n if (props.transition) {\n return props.transition;\n }\n return isActive.value ? \"transition-scale\" : \"transition-fade\";\n});\n\nconst activatorProps = computed(() => {\n return mergeProps(\n {\n \"aria-describedby\": id.value,\n },\n props.activatorProps,\n );\n});\n</script>\n\n<template>\n <ev-overlay\n :id=\"id\"\n ref=\"overlayRef\"\n v-bind=\"overlayProps\"\n v-model=\"isActive\"\n role=\"tooltip\"\n :class=\"['ev-tooltip', props.class]\"\n :style=\"props.style\"\n :transition=\"transition\"\n :position=\"position\"\n :origin=\"origin\"\n :activator-props=\"activatorProps\"\n absolute\n disable-global-stack>\n <template v-if=\"slots.activator\" #activator=\"activatorSlotProps\">\n <slot name=\"activator\" v-bind=\"activatorSlotProps\" />\n </template>\n <template #pointer>\n <div class=\"ev-tooltip--pointer\"></div>\n </template>\n <slot name=\"default\">{{ props.text }}</slot>\n </ev-overlay>\n</template>\n"],"names":["_useSlots","useModelProxy","getNextId","computed","ref","filterComponentProps","EvOverlay","mergeProps"],"mappings":";;;;;;;;;;;;;;;;;AAYA,UAAM,QAAQA,IAAAA;AAKR,UAAA,WAAWC,WAAAA,cAAc,OAAO,YAAY;AAClD,UAAM,MAAMC,QAAAA,UAAU;AAEhB,UAAA,KAAKC,IAAAA,SAAS,MAAM;AACf,aAAA,MAAM,MAAM,cAAc,GAAG;AAAA,IAAA,CACvC;AAED,UAAM,aAAaC,IAAAA,IAAsB;AACzC,UAAM,eAAeD,IAAAA,SAAS,MAAME,QAAqB,qBAAAC,8CAAA,SAAW,KAAK,CAAC;AAEpE,UAAA,WAAWH,IAAAA,SAAS,MAAM;AACrB,aAAA,MAAM,SAAS,MAAM,GAAG,EAAE,SAAS,IACpC,MAAM,WACJ,MAAM,WAAW;AAAA,IAAA,CAC5B;AAEK,UAAA,SAASA,IAAAA,SAAS,MAAM;AACnB,aAAA,MAAM,WAAW,UACpB,MAAM,WAAW,aACjB,MAAM,OAAO,MAAM,GAAG,EAAE,SAAS,KACjC,MAAM,SAAS,MAAM,GAAG,EAAE,SAAS,IACjC,MAAM,SACJ,MAAM,SAAS;AAAA,IAAA,CAC1B;AAEK,UAAA,aAAaA,IAAAA,SAAS,MAAM;AAC9B,UAAI,MAAM,YAAY;AAClB,eAAO,MAAM;AAAA,MAAA;AAEV,aAAA,SAAS,QAAQ,qBAAqB;AAAA,IAAA,CAChD;AAEK,UAAA,iBAAiBA,IAAAA,SAAS,MAAM;AAC3B,aAAAI,IAAA;AAAA,QACH;AAAA,UACI,oBAAoB,GAAG;AAAA,QAC3B;AAAA,QACA,MAAM;AAAA,MACV;AAAA,IAAA,CACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}