@iris-ui-kit/vue 0.2.22 → 0.2.24

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 (43) hide show
  1. package/dist/behaviors.cjs +87 -48
  2. package/dist/behaviors.cjs.map +1 -1
  3. package/dist/behaviors.d.cts +2 -2
  4. package/dist/behaviors.d.ts +2 -2
  5. package/dist/behaviors.js +1 -1
  6. package/dist/{chunk-CWXH44OF.js → chunk-3IH7IJ5S.js} +90 -51
  7. package/dist/chunk-3IH7IJ5S.js.map +1 -0
  8. package/dist/{chunk-ENKE2BPC.js → chunk-BEPH6PPL.js} +23 -5
  9. package/dist/chunk-BEPH6PPL.js.map +1 -0
  10. package/dist/{chunk-7IOJADZC.js → chunk-DNRQVM3Q.js} +5 -5
  11. package/dist/chunk-DNRQVM3Q.js.map +1 -0
  12. package/dist/{chunk-PPYNXNGZ.js → chunk-FSDQHBI2.js} +10 -4
  13. package/dist/chunk-FSDQHBI2.js.map +1 -0
  14. package/dist/{chunk-FG5USQSY.js → chunk-I7PR4ILF.js} +8 -3
  15. package/dist/chunk-I7PR4ILF.js.map +1 -0
  16. package/dist/data.cjs +3 -3
  17. package/dist/data.cjs.map +1 -1
  18. package/dist/data.d.cts +8 -4
  19. package/dist/data.d.ts +8 -4
  20. package/dist/data.js +1 -1
  21. package/dist/error-boundary.cjs +7 -1
  22. package/dist/error-boundary.cjs.map +1 -1
  23. package/dist/error-boundary.js +1 -1
  24. package/dist/index.cjs +138 -60
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.js +21 -11
  27. package/dist/index.js.map +1 -1
  28. package/dist/skeletons.cjs +21 -3
  29. package/dist/skeletons.cjs.map +1 -1
  30. package/dist/skeletons.d.cts +21 -0
  31. package/dist/skeletons.d.ts +21 -0
  32. package/dist/skeletons.js +1 -1
  33. package/dist/undo.cjs +6 -1
  34. package/dist/undo.cjs.map +1 -1
  35. package/dist/undo.d.cts +5 -0
  36. package/dist/undo.d.ts +5 -0
  37. package/dist/undo.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/chunk-7IOJADZC.js.map +0 -1
  40. package/dist/chunk-CWXH44OF.js.map +0 -1
  41. package/dist/chunk-ENKE2BPC.js.map +0 -1
  42. package/dist/chunk-FG5USQSY.js.map +0 -1
  43. package/dist/chunk-PPYNXNGZ.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';
@@ -8,8 +8,8 @@ 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
10
  export { createClientFetcher, createResourceController, useResourceController } from './chunk-25NYWSXP.js';
11
- import { IrisCheckbox } from './chunk-ENKE2BPC.js';
12
- export { IrisAlert, IrisButton, IrisCheckbox, IrisDashboardTemplate, IrisDivider, IrisFormField, IrisInput, IrisLoginTemplate, IrisPasswordInput } from './chunk-ENKE2BPC.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
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';
@@ -22,11 +22,11 @@ export { IrisSlot, composeRefs, findFirstElement, mergeSlotProps } from './chunk
22
22
  export { IrisHeaderLayout, IrisSidebarLayout } from './chunk-3V46HGRC.js';
23
23
  export { IrisThemeKey, ThemeProvider, useColorScheme, useDirection, useTheme, useThemeContext } from './chunk-ZTPIXL7Q.js';
24
24
  export { useAsyncResource, usePaginatedResource } from './chunk-SJB5DIIY.js';
25
- import { useDrag } from './chunk-CWXH44OF.js';
26
- export { IrisClickOutside, IrisHotkey, IrisLongPress, IrisMovable, IrisResizable, useDrag } from './chunk-CWXH44OF.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
- export { createClientDataSource, createDataSource, createGroupedView, useDataSource, useGroupedView } from './chunk-7IOJADZC.js';
29
- export { IrisErrorBoundary } from './chunk-PPYNXNGZ.js';
28
+ export { createClientDataSource, createDataSource, createGroupedView, useDataSource, useGroupedView } from './chunk-DNRQVM3Q.js';
29
+ export { IrisErrorBoundary } from './chunk-FSDQHBI2.js';
30
30
  export { FormInjectionKey, IrisForm, useField, useFieldArray, useForm, useFormContext } from './chunk-IAG64CHL.js';
31
31
  import { useStore } from './chunk-75GSYEJS.js';
32
32
  export { useStore, useStoreSelector } from './chunk-75GSYEJS.js';
@@ -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({
@@ -2453,7 +2456,9 @@ var IrisList = defineComponent({
2453
2456
  role: "listbox",
2454
2457
  "aria-label": props.ariaLabel,
2455
2458
  "aria-multiselectable": props.multi ? "true" : void 0,
2456
- "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,
2457
2462
  "data-iris-list": "",
2458
2463
  onKeydown: onKeyDown,
2459
2464
  style: {
@@ -7764,7 +7769,10 @@ var IrisTree = defineComponent({
7764
7769
  const { state, isContent, stateKey, stateProps } = useDataState(() => ({
7765
7770
  loading: props.loading,
7766
7771
  error: props.error,
7767
- 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
7768
7776
  }));
7769
7777
  const lazyCache = ref(/* @__PURE__ */ new Map());
7770
7778
  const loadingIds = ref(/* @__PURE__ */ new Set());
@@ -8084,7 +8092,9 @@ var IrisTree = defineComponent({
8084
8092
  role: "tree",
8085
8093
  "aria-label": props.ariaLabel ?? t("tree.label"),
8086
8094
  "aria-multiselectable": props.selectionMode === "multi" ? "true" : void 0,
8087
- "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,
8088
8098
  "data-iris-tree": "",
8089
8099
  style: {
8090
8100
  display: "flex",