@fkui/vue 6.31.1 → 6.32.0

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.
@@ -315,7 +315,7 @@ function requireSymbolConstructorDetection() {
315
315
  var globalThis2 = requireGlobalThis();
316
316
  var $String = globalThis2.String;
317
317
  symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails2(function() {
318
- var symbol = Symbol("symbol detection");
318
+ var symbol = /* @__PURE__ */ Symbol("symbol detection");
319
319
  return !$String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
320
320
  !Symbol.sham && V8_VERSION && V8_VERSION < 41;
321
321
  });
@@ -6870,7 +6870,7 @@ function requireEs_set_union_v2() {
6870
6870
  return es_set_union_v2;
6871
6871
  }
6872
6872
  requireEs_set_union_v2();
6873
- const internalKey = Symbol("internal-key");
6873
+ const internalKey = /* @__PURE__ */ Symbol("internal-key");
6874
6874
  let internalIndex = 0;
6875
6875
  function getInternalKey() {
6876
6876
  return internalKey;
@@ -8000,7 +8000,7 @@ function useMutationObserver(target, callback, options = {}) {
8000
8000
  takeRecords
8001
8001
  };
8002
8002
  }
8003
- const ssrWidthSymbol = Symbol("vueuse-ssr-width");
8003
+ const ssrWidthSymbol = /* @__PURE__ */ Symbol("vueuse-ssr-width");
8004
8004
  function useSSRWidth() {
8005
8005
  const ssrWidth = vue.hasInjectionContext() ? injectLocal(ssrWidthSymbol, null) : null;
8006
8006
  return typeof ssrWidth === "number" ? ssrWidth : void 0;
@@ -9054,6 +9054,11 @@ const _sfc_main$16 = vue.defineComponent({
9054
9054
  "open",
9055
9055
  /**
9056
9056
  * Emitted when clicked outside of popup.
9057
+ *
9058
+ * Includes the reason for closing as event argument. One of:
9059
+ *
9060
+ * - `"click-outside"` - when clicking outside the popup with the mouse
9061
+ * - `"escape"` - when closing the popup with the escape key.
9057
9062
  */
9058
9063
  "close"
9059
9064
  ],
@@ -9206,7 +9211,7 @@ const _sfc_main$16 = vue.defineComponent({
9206
9211
  return window.innerWidth < MIN_DESKTOP_WIDTH;
9207
9212
  },
9208
9213
  onDocumentClickHandler() {
9209
- this.$emit("close");
9214
+ this.$emit("close", "click-outside");
9210
9215
  },
9211
9216
  onWindowResizeDebounced() {
9212
9217
  },
@@ -9242,7 +9247,7 @@ const _sfc_main$16 = vue.defineComponent({
9242
9247
  event.stopPropagation();
9243
9248
  },
9244
9249
  onKeyEsc() {
9245
- this.$emit("close");
9250
+ this.$emit("close", "escape");
9246
9251
  },
9247
9252
  onKeyTab(event) {
9248
9253
  if (this.keyboardTrap) {
@@ -10705,7 +10710,7 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
10705
10710
  }, 8, ["onEnter", "onAfterEnter", "onLeave"]);
10706
10711
  }
10707
10712
  const FExpand = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$u]]);
10708
- const tooltipAttachTo = Symbol("tooltipAttachTo");
10713
+ const tooltipAttachTo = /* @__PURE__ */ Symbol("tooltipAttachTo");
10709
10714
  let initialized = false;
10710
10715
  const reducedMotion = vue.ref(false);
10711
10716
  function useAnimation(options) {
@@ -11050,9 +11055,9 @@ function* labelClasses(options) {
11050
11055
  yield labelClass;
11051
11056
  }
11052
11057
  const injectionKeys = {
11053
- sharedName: Symbol("sharedName"),
11054
- showDetails: Symbol("showDetails"),
11055
- getFieldsetLabelText: Symbol("getFieldsetLabelText")
11058
+ sharedName: /* @__PURE__ */ Symbol("sharedName"),
11059
+ showDetails: /* @__PURE__ */ Symbol("showDetails"),
11060
+ getFieldsetLabelText: /* @__PURE__ */ Symbol("getFieldsetLabelText")
11056
11061
  };
11057
11062
  function useFieldset() {
11058
11063
  return {
@@ -11749,6 +11754,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
11749
11754
  const currentFocusedItemIndex = vue.ref(-1);
11750
11755
  const popupItems = vue.computed(() => __props.items.filter(isContextMenuTextItem));
11751
11756
  const hasIcons = vue.computed(() => __props.items.some((it) => isContextMenuTextItem(it) && it.icon));
11757
+ let focusHandle = null;
11752
11758
  const ariaLabel = vue.computed(() => {
11753
11759
  if (__props.ariaLabel) {
11754
11760
  return __props.ariaLabel;
@@ -11781,6 +11787,18 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
11781
11787
  if (isOpen) {
11782
11788
  currentFocusedItemIndex.value = -1;
11783
11789
  selectedItem.value = "";
11790
+ vue.nextTick(() => {
11791
+ if (contextmenuRef.value) {
11792
+ focusHandle = logic.pushFocus(contextmenuRef.value);
11793
+ }
11794
+ });
11795
+ } else {
11796
+ if (focusHandle) {
11797
+ logic.popFocus(focusHandle, {
11798
+ restoreFocus: true
11799
+ });
11800
+ focusHandle = null;
11801
+ }
11784
11802
  }
11785
11803
  }, {
11786
11804
  immediate: true
@@ -11788,14 +11806,32 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
11788
11806
  function hasSeparatorAfterItemAt(index) {
11789
11807
  return separatorPositions.value.includes(index);
11790
11808
  }
11791
- function closePopup() {
11809
+ function closePopup(reason) {
11810
+ if (focusHandle) {
11811
+ switch (reason) {
11812
+ case "click-outside":
11813
+ logic.popFocus(focusHandle, {
11814
+ restoreFocus: false
11815
+ });
11816
+ break;
11817
+ case "tab":
11818
+ case "escape":
11819
+ case "select":
11820
+ default:
11821
+ logic.popFocus(focusHandle, {
11822
+ restoreFocus: true
11823
+ });
11824
+ break;
11825
+ }
11826
+ focusHandle = null;
11827
+ }
11792
11828
  emit("close");
11793
11829
  }
11794
11830
  function onClickItem(item) {
11795
11831
  if (isContextMenuTextItem(item) && item.key) {
11796
11832
  selectedItem.value = item.key;
11797
11833
  emit("select", selectedItem.value);
11798
- closePopup();
11834
+ closePopup("select");
11799
11835
  }
11800
11836
  }
11801
11837
  function tabIndex(index) {
@@ -11811,12 +11847,12 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
11811
11847
  return;
11812
11848
  }
11813
11849
  if (event.key === "Escape") {
11814
- closePopup();
11850
+ closePopup("escape");
11815
11851
  return;
11816
11852
  }
11817
11853
  if (event.key === "Tab") {
11818
11854
  event.preventDefault();
11819
- closePopup();
11855
+ closePopup("tab");
11820
11856
  return;
11821
11857
  }
11822
11858
  const action = actionFromKeyboardEvent(event);
@@ -11861,10 +11897,9 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
11861
11897
  "is-open": __props.isOpen,
11862
11898
  "keyboard-trap": false,
11863
11899
  anchor: __props.anchor,
11864
- "set-focus": true,
11865
- "focus-element": () => contextmenuRef.value,
11900
+ "set-focus": false,
11866
11901
  inline: "never",
11867
- onClose: _cache[0] || (_cache[0] = ($event) => closePopup())
11902
+ onClose: _cache[0] || (_cache[0] = ($event) => closePopup($event))
11868
11903
  }, {
11869
11904
  default: vue.withCtx(() => [vue.createElementVNode("nav", {
11870
11905
  class: "contextmenu",
@@ -11892,7 +11927,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
11892
11927
  }, vue.toDisplayString(item.label), 513)], 8, _hoisted_4$k), _cache[2] || (_cache[2] = vue.createTextVNode()), hasSeparatorAfterItemAt(index) ? (vue.openBlock(), vue.createElementBlock("hr", _hoisted_5$h)) : vue.createCommentVNode("", true)], 8, _hoisted_3$o);
11893
11928
  }), 128))], 512)], 40, _hoisted_1$G)]),
11894
11929
  _: 1
11895
- }, 8, ["is-open", "anchor", "focus-element"]);
11930
+ }, 8, ["is-open", "anchor"]);
11896
11931
  };
11897
11932
  }
11898
11933
  });
@@ -16002,7 +16037,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
16002
16037
  });
16003
16038
  const _style_0$3 = '/* background color */\n/* highlight color */\n/* the width of the visible handle */\n/* how much extra click/hover area the handle has */\n/* how much extra space the handle occupies when hovering (not counting the click area) */\n/* how long before visually indicating the hover state */\n/* how long the animation for the visual indicator is */\n:host {\n display: contents;\n}\n:host([hidden]) {\n display: none;\n}\n:host ::slotted(*) {\n display: contents;\n}\n.resize {\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n.resize--overlay {\n position: absolute;\n z-index: 1;\n background: var(--f-page-layout-background);\n}\n.resize--left {\n flex-direction: row;\n}\n.resize--left:not(.resize--disabled) {\n width: calc(var(--size) + 2px);\n}\n.resize--left .resize__content {\n flex-direction: row;\n}\n.resize--left.resize--overlay {\n left: 0;\n top: 0;\n bottom: 0;\n}\n.resize--right {\n flex-direction: row-reverse;\n}\n.resize--right:not(.resize--disabled) {\n width: calc(var(--size) + 2px);\n}\n.resize--right .resize__content {\n flex-direction: row;\n}\n.resize--right.resize--overlay {\n right: 0;\n top: 0;\n bottom: 0;\n}\n.resize--top {\n flex-direction: column;\n}\n.resize--top:not(.resize--disabled) {\n height: calc(var(--size) + 2px);\n}\n.resize--bottom {\n flex-direction: column-reverse;\n}\n.resize--bottom:not(.resize--disabled) {\n height: calc(var(--size) + 2px);\n}\n.resize__offset {\n width: calc(var(--offset) + 2px);\n}\n.resize__content {\n flex: 1 1 auto;\n overflow: auto;\n box-sizing: border-box;\n display: flex;\n}\n.resize--column .resize__content {\n flex-direction: column;\n}\n.resize--row .resize__content {\n flex-direction: row;\n}\n.resize--left:not(.resize--disabled) .resize__content, .resize--right:not(.resize--disabled) .resize__content {\n min-width: var(--min);\n max-width: var(--max);\n flex-basis: var(--size);\n}\n.resize--top:not(.resize--disabled) .resize__content, .resize--bottom:not(.resize--disabled) .resize__content {\n min-height: var(--min);\n max-height: var(--max);\n flex-basis: var(--size);\n}\n.resize__handle {\n flex: 0 0 2px;\n background: var(--fkds-color-border-primary);\n touch-action: none;\n user-select: none;\n z-index: 1;\n position: relative;\n transition: z-index 0s 200ms;\n}\n@media (forced-colors: active) {\n.resize__handle {\n background: CanvasText;\n}\n}\n.resize__handle[aria-orientation=horizontal] {\n cursor: row-resize;\n height: 2px;\n}\n.resize__handle[aria-orientation=horizontal]::before {\n inset: -2px 0;\n}\n.resize__handle[aria-orientation=horizontal]::after {\n inset: -4px 0;\n}\n.resize__handle[aria-orientation=vertical] {\n cursor: col-resize;\n width: 2px;\n}\n.resize__handle[aria-orientation=vertical]::before {\n inset: 0 -2px;\n}\n.resize__handle[aria-orientation=vertical]::after {\n inset: 0 -4px;\n}\n.resize__handle::before {\n content: "";\n pointer-events: none;\n position: absolute;\n background-color: transparent;\n transition: background-color 200ms ease-in;\n}\n.resize__handle::after {\n content: "";\n position: absolute;\n}\n.resize__handle:focus::before, .resize__handle:hover::before, .resize__handle.drag::before {\n background-color: var(--fkds-color-action-border-primary-hover);\n transition-delay: 200ms;\n}\n@media (forced-colors: active) {\n.resize__handle:focus::before, .resize__handle:hover::before, .resize__handle.drag::before {\n background-color: Highlight;\n}\n}\n.resize__handle {\n /* disable regular focus indicator as this component has its own */\n}\n.resize__handle:focus {\n outline: none;\n box-shadow: none;\n}\n.resize__handle {\n /* when focus by keyboard we dont want the delay or transition */\n}\n.resize__handle:focus::before {\n transition: none;\n}\n.resize__handle {\n /* as the handle area expand we increase z-index for the handle to make sure it covers other separators */\n}\n.resize__handle:hover, .resize__handle:focus, .resize__handle.drag {\n z-index: 2;\n transition: z-index 0s 0s;\n}\n.resize__handle.disabled {\n cursor: auto;\n}\n.resize__handle.disabled::before {\n display: none;\n}';
16004
16039
  const FResizePane = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["styles", [_style_0$3]]]);
16005
- const injectionKey = Symbol.for("FResizePane:useResize");
16040
+ const injectionKey = /* @__PURE__ */ Symbol.for("FResizePane:useResize");
16006
16041
  function toOptionalRef(value) {
16007
16042
  if (typeof value === "undefined") {
16008
16043
  return value;
@@ -19871,7 +19906,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
19871
19906
  })), _cache[1] || (_cache[1] = vue.createTextVNode()), vue.createElementVNode("div", _hoisted_5$2, [vue.createElementVNode("div", _hoisted_6$2, [vue.renderSlot(_ctx.$slots, "right")])])], 512)]);
19872
19907
  }
19873
19908
  const FPageHeader = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$4]]);
19874
- const paginateDatasetKey = Symbol("paginateDataset");
19909
+ const paginateDatasetKey = /* @__PURE__ */ Symbol("paginateDataset");
19875
19910
  const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
19876
19911
  __name: "FPaginateDataset",
19877
19912
  props: {