@iris-ui-kit/vue 0.2.21 → 0.2.23

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 (70) hide show
  1. package/dist/admin.cjs +14 -5
  2. package/dist/admin.cjs.map +1 -1
  3. package/dist/admin.js +2 -2
  4. package/dist/async.cjs +48 -2
  5. package/dist/async.cjs.map +1 -1
  6. package/dist/async.d.cts +27 -3
  7. package/dist/async.d.ts +27 -3
  8. package/dist/async.js +1 -1
  9. package/dist/behaviors.cjs +87 -48
  10. package/dist/behaviors.cjs.map +1 -1
  11. package/dist/behaviors.d.cts +2 -2
  12. package/dist/behaviors.d.ts +2 -2
  13. package/dist/behaviors.js +1 -1
  14. package/dist/chunk-25NYWSXP.js +20 -0
  15. package/dist/chunk-25NYWSXP.js.map +1 -0
  16. package/dist/{chunk-CWXH44OF.js → chunk-3IH7IJ5S.js} +90 -51
  17. package/dist/chunk-3IH7IJ5S.js.map +1 -0
  18. package/dist/{chunk-ENKE2BPC.js → chunk-BEPH6PPL.js} +23 -5
  19. package/dist/chunk-BEPH6PPL.js.map +1 -0
  20. package/dist/{chunk-FG5USQSY.js → chunk-I7PR4ILF.js} +8 -3
  21. package/dist/chunk-I7PR4ILF.js.map +1 -0
  22. package/dist/{chunk-4FLIW67H.js → chunk-IAG64CHL.js} +21 -28
  23. package/dist/chunk-IAG64CHL.js.map +1 -0
  24. package/dist/chunk-NNOF7KUH.js +24 -0
  25. package/dist/chunk-NNOF7KUH.js.map +1 -0
  26. package/dist/{chunk-4WQOZ2OV.js → chunk-QQ25RKOO.js} +6 -4
  27. package/dist/chunk-QQ25RKOO.js.map +1 -0
  28. package/dist/chunk-SJB5DIIY.js +119 -0
  29. package/dist/chunk-SJB5DIIY.js.map +1 -0
  30. package/dist/form.cjs +28 -23
  31. package/dist/form.cjs.map +1 -1
  32. package/dist/form.d.cts +3 -2
  33. package/dist/form.d.ts +3 -2
  34. package/dist/form.js +2 -1
  35. package/dist/index.cjs +216 -91
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.js +29 -18
  38. package/dist/index.js.map +1 -1
  39. package/dist/machine.cjs +11 -4
  40. package/dist/machine.cjs.map +1 -1
  41. package/dist/machine.d.cts +12 -3
  42. package/dist/machine.d.ts +12 -3
  43. package/dist/machine.js +1 -1
  44. package/dist/resource.cjs +7 -3
  45. package/dist/resource.cjs.map +1 -1
  46. package/dist/resource.d.cts +10 -1
  47. package/dist/resource.d.ts +10 -1
  48. package/dist/resource.js +1 -1
  49. package/dist/skeletons.cjs +21 -3
  50. package/dist/skeletons.cjs.map +1 -1
  51. package/dist/skeletons.d.cts +21 -0
  52. package/dist/skeletons.d.ts +21 -0
  53. package/dist/skeletons.js +1 -1
  54. package/dist/undo.cjs +6 -1
  55. package/dist/undo.cjs.map +1 -1
  56. package/dist/undo.d.cts +5 -0
  57. package/dist/undo.d.ts +5 -0
  58. package/dist/undo.js +1 -1
  59. package/package.json +1 -1
  60. package/dist/chunk-4FLIW67H.js.map +0 -1
  61. package/dist/chunk-4WQOZ2OV.js.map +0 -1
  62. package/dist/chunk-CWXH44OF.js.map +0 -1
  63. package/dist/chunk-ENKE2BPC.js.map +0 -1
  64. package/dist/chunk-FG5USQSY.js.map +0 -1
  65. package/dist/chunk-TQB5LVOH.js +0 -17
  66. package/dist/chunk-TQB5LVOH.js.map +0 -1
  67. package/dist/chunk-XSLBANUV.js +0 -16
  68. package/dist/chunk-XSLBANUV.js.map +0 -1
  69. package/dist/chunk-ZY4NLITM.js +0 -73
  70. package/dist/chunk-ZY4NLITM.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { createUndoStack, useUndoStack } from './chunk-FG5USQSY.js';
1
+ export { createUndoStack, useUndoStack } from './chunk-I7PR4ILF.js';
2
2
  import './chunk-ROJV6RON.js';
3
3
  import { useBodyScrollLock, useFocusTrap } from './chunk-XCNCIG2I.js';
4
4
  export { __getBodyScrollLockCount, __resetBodyScrollLock, useBodyScrollLock, useFocusTrap } from './chunk-XCNCIG2I.js';
@@ -7,29 +7,29 @@ import './chunk-4FQ7XF52.js';
7
7
  import { useDataState } from './chunk-S43IHHBU.js';
8
8
  export { DATA_STATE_CLASS, __resetDataStateStyles, installDataStateStyles, useDataState, usePrefersReducedMotion } from './chunk-S43IHHBU.js';
9
9
  export { IrisProvider, PluginStoreContextKey, usePlugin, usePluginStore } from './chunk-MO7AAXA6.js';
10
- export { createClientFetcher, createResourceController, useResourceController } from './chunk-XSLBANUV.js';
11
- import { IrisCheckbox } from './chunk-ENKE2BPC.js';
12
- export { IrisAlert, IrisButton, IrisCheckbox, IrisDashboardTemplate, IrisDivider, IrisFormField, IrisInput, IrisLoginTemplate, IrisPasswordInput } from './chunk-ENKE2BPC.js';
10
+ export { createClientFetcher, createResourceController, useResourceController } from './chunk-25NYWSXP.js';
11
+ import { IrisCheckbox } from './chunk-BEPH6PPL.js';
12
+ export { IrisAlert, IrisButton, IrisCheckbox, IrisDashboardTemplate, IrisDivider, IrisFormField, IrisInput, IrisLoginTemplate, IrisPasswordInput } from './chunk-BEPH6PPL.js';
13
13
  export { IrisContainer, IrisDashboardCard, IrisDashboardGrid, IrisStack } from './chunk-3R3QDLJC.js';
14
14
  export { IrisSkinKey, SkinProvider, SkinResolutionError, applySkin, builtinSkins, createSkinCatalog, createSkinEngine, createSkinRegistry, darkSkin, lightSkin, loadSkin, localStorageSkinStorage, memorySkinStorage, renderSkinStyle, resolveSkin, skinBootScript, skinError, skinToCssEntries, useSkin, useSkinContext, validateSkin } from './chunk-UPC4GN3F.js';
15
- export { DropdownContextKey, IrisAdminBreadcrumb, IrisAdminLayout, IrisAdminTabs, IrisBreadcrumb, IrisBreadcrumbItem, IrisDropdown, IrisDropdownItem, IrisDropdownMenu, IrisDropdownSeparator, IrisDropdownTrigger, IrisIcon, IrisNavMenu, createAdminPreferences, createTabsNav, filterNavByAccess, findNavNode, findNavPath, firstLeaf, flattenNav, isBranch, isClosable, localStorageAdminPreferencesStorage, nodeAllowsRoles, useAdminPreferences, useAdminShell, useTabsNav, visibleNav } from './chunk-4WQOZ2OV.js';
15
+ export { DropdownContextKey, IrisAdminBreadcrumb, IrisAdminLayout, IrisAdminTabs, IrisBreadcrumb, IrisBreadcrumbItem, IrisDropdown, IrisDropdownItem, IrisDropdownMenu, IrisDropdownSeparator, IrisDropdownTrigger, IrisIcon, IrisNavMenu, createAdminPreferences, createTabsNav, filterNavByAccess, findNavNode, findNavPath, firstLeaf, flattenNav, isBranch, isClosable, localStorageAdminPreferencesStorage, nodeAllowsRoles, useAdminPreferences, useAdminShell, useTabsNav, visibleNav } from './chunk-QQ25RKOO.js';
16
16
  import { useFloating, useDismiss } from './chunk-3FJUCHCC.js';
17
17
  export { useDismiss, useFloating } from './chunk-3FJUCHCC.js';
18
- import { useMachine } from './chunk-TQB5LVOH.js';
19
- export { useMachine } from './chunk-TQB5LVOH.js';
18
+ import { useMachine } from './chunk-NNOF7KUH.js';
19
+ export { useMachine } from './chunk-NNOF7KUH.js';
20
20
  import { findFirstElement, mergeSlotProps, composeRefs } from './chunk-F77KIPOH.js';
21
21
  export { IrisSlot, composeRefs, findFirstElement, mergeSlotProps } from './chunk-F77KIPOH.js';
22
22
  export { IrisHeaderLayout, IrisSidebarLayout } from './chunk-3V46HGRC.js';
23
23
  export { IrisThemeKey, ThemeProvider, useColorScheme, useDirection, useTheme, useThemeContext } from './chunk-ZTPIXL7Q.js';
24
- export { useAsyncResource, usePaginatedResource } from './chunk-ZY4NLITM.js';
25
- import { useDrag } from './chunk-CWXH44OF.js';
26
- export { IrisClickOutside, IrisHotkey, IrisLongPress, IrisMovable, IrisResizable, useDrag } from './chunk-CWXH44OF.js';
24
+ export { useAsyncResource, usePaginatedResource } from './chunk-SJB5DIIY.js';
25
+ import { useDrag } from './chunk-3IH7IJ5S.js';
26
+ export { IrisClickOutside, IrisHotkey, IrisLongPress, IrisMovable, IrisResizable, useDrag } from './chunk-3IH7IJ5S.js';
27
27
  export { IrisSortable, SORTABLE_ITEM_ATTR } from './chunk-W3B6E5GN.js';
28
28
  export { createClientDataSource, createDataSource, createGroupedView, useDataSource, useGroupedView } from './chunk-7IOJADZC.js';
29
+ export { IrisErrorBoundary } from './chunk-PPYNXNGZ.js';
30
+ export { FormInjectionKey, IrisForm, useField, useFieldArray, useForm, useFormContext } from './chunk-IAG64CHL.js';
29
31
  import { useStore } from './chunk-75GSYEJS.js';
30
32
  export { useStore, useStoreSelector } from './chunk-75GSYEJS.js';
31
- export { IrisErrorBoundary } from './chunk-PPYNXNGZ.js';
32
- export { FormInjectionKey, IrisForm, useField, useFieldArray, useForm, useFormContext } from './chunk-4FLIW67H.js';
33
33
  import { useI18n } from './chunk-TCAXRWT6.js';
34
34
  export { I18nInjectionKey, IrisI18nProvider, useI18n } from './chunk-TCAXRWT6.js';
35
35
  import { defineComponent, computed, watch, ref, useId, provide, inject, h, nextTick, Teleport, onScopeDispose, Fragment, onMounted, onBeforeUnmount, onBeforeMount, shallowRef, toValue, Comment, onUnmounted } from 'vue';
@@ -2316,7 +2316,10 @@ var IrisList = defineComponent({
2316
2316
  const { state, isContent, stateKey, stateProps } = useDataState(() => ({
2317
2317
  loading: props.loading,
2318
2318
  error: props.error,
2319
- empty: props.items.length === 0
2319
+ empty: props.items.length === 0,
2320
+ // Already-loaded items stay mounted during a revalidate (SWR): a load
2321
+ // in flight no longer replaces them with the loading/error state.
2322
+ hasContent: props.items.length > 0
2320
2323
  }));
2321
2324
  const isEnabled = (i) => !props.items[i]?.disabled;
2322
2325
  const nav = createKeyboardNav({
@@ -2429,12 +2432,13 @@ var IrisList = defineComponent({
2429
2432
  "data-iris-list-index": index,
2430
2433
  "data-iris-list-item": "",
2431
2434
  "data-state": selected ? "selected" : active ? "active" : "idle",
2435
+ "data-hovered": hoveredIndex.value === index ? "true" : "false",
2432
2436
  onClick: item.disabled ? void 0 : onClick,
2433
2437
  onFocus,
2434
- onMouseEnter: () => {
2438
+ onMouseenter: () => {
2435
2439
  hoveredIndex.value = index;
2436
2440
  },
2437
- onMouseLeave: () => {
2441
+ onMouseleave: () => {
2438
2442
  if (hoveredIndex.value === index) hoveredIndex.value = -1;
2439
2443
  },
2440
2444
  style: baseStyle
@@ -2452,7 +2456,9 @@ var IrisList = defineComponent({
2452
2456
  role: "listbox",
2453
2457
  "aria-label": props.ariaLabel,
2454
2458
  "aria-multiselectable": props.multi ? "true" : void 0,
2455
- "aria-busy": state.value === "loading" ? "true" : void 0,
2459
+ // Decoupled from resolved state: signals both the initial load and
2460
+ // an in-flight background revalidate (content stays mounted).
2461
+ "aria-busy": props.loading ? "true" : void 0,
2456
2462
  "data-iris-list": "",
2457
2463
  onKeydown: onKeyDown,
2458
2464
  style: {
@@ -7763,7 +7769,10 @@ var IrisTree = defineComponent({
7763
7769
  const { state, isContent, stateKey, stateProps } = useDataState(() => ({
7764
7770
  loading: props.loading,
7765
7771
  error: props.error,
7766
- empty: props.nodes.length === 0
7772
+ empty: props.nodes.length === 0,
7773
+ // Already-loaded nodes stay mounted during a revalidate (SWR): a load
7774
+ // in flight no longer replaces them with the loading/error state.
7775
+ hasContent: props.nodes.length > 0
7767
7776
  }));
7768
7777
  const lazyCache = ref(/* @__PURE__ */ new Map());
7769
7778
  const loadingIds = ref(/* @__PURE__ */ new Set());
@@ -8083,7 +8092,9 @@ var IrisTree = defineComponent({
8083
8092
  role: "tree",
8084
8093
  "aria-label": props.ariaLabel ?? t("tree.label"),
8085
8094
  "aria-multiselectable": props.selectionMode === "multi" ? "true" : void 0,
8086
- "aria-busy": state.value === "loading" ? "true" : void 0,
8095
+ // Decoupled from resolved state: signals both the initial load and
8096
+ // an in-flight background revalidate (content stays mounted).
8097
+ "aria-busy": props.loading ? "true" : void 0,
8087
8098
  "data-iris-tree": "",
8088
8099
  style: {
8089
8100
  display: "flex",