@burojs/ui-shadcn 0.8.0 → 0.9.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.
Files changed (115) hide show
  1. package/dist/{candidates-relation-picker-CGXItMN0.js → candidates-relation-picker-QvoY2bOQ.js} +3 -3
  2. package/dist/{candidates-relation-picker-CGXItMN0.js.map → candidates-relation-picker-QvoY2bOQ.js.map} +1 -1
  3. package/dist/{candidates-relation-picker-C47mF260.cjs → candidates-relation-picker-pEAWKQEY.cjs} +3 -3
  4. package/dist/{candidates-relation-picker-C47mF260.cjs.map → candidates-relation-picker-pEAWKQEY.cjs.map} +1 -1
  5. package/dist/{check-confirm-dialog-CtiRzOAt.js → check-confirm-dialog-B-CbJTln.js} +59 -6
  6. package/dist/{check-confirm-dialog-CtiRzOAt.js.map → check-confirm-dialog-B-CbJTln.js.map} +1 -1
  7. package/dist/{check-confirm-dialog-BT04Mieo.cjs → check-confirm-dialog-W-8WOmGh.cjs} +64 -5
  8. package/dist/{check-confirm-dialog-BT04Mieo.cjs.map → check-confirm-dialog-W-8WOmGh.cjs.map} +1 -1
  9. package/dist/{filter-builder-z3Axzf9Y.js → filter-builder-04nas3eq.js} +14 -6
  10. package/dist/filter-builder-04nas3eq.js.map +1 -0
  11. package/dist/{filter-builder-ByGhxLf_.cjs → filter-builder-DQX-TMFh.cjs} +14 -6
  12. package/dist/filter-builder-DQX-TMFh.cjs.map +1 -0
  13. package/dist/{flow-runtime-DrUWyTS0.js → flow-runtime-BEIyym7d.js} +3 -3
  14. package/dist/{flow-runtime-DrUWyTS0.js.map → flow-runtime-BEIyym7d.js.map} +1 -1
  15. package/dist/{flow-runtime-BVFjMU5-.cjs → flow-runtime-DyNIYfUP.cjs} +3 -3
  16. package/dist/{flow-runtime-BVFjMU5-.cjs.map → flow-runtime-DyNIYfUP.cjs.map} +1 -1
  17. package/dist/{flow-screen-3fk6J33y.js → flow-screen-DY1Z9PbG.js} +53 -14
  18. package/dist/flow-screen-DY1Z9PbG.js.map +1 -0
  19. package/dist/{flow-screen-6y5E_HT6.cjs → flow-screen-FE5Xhb3t.cjs} +52 -13
  20. package/dist/flow-screen-FE5Xhb3t.cjs.map +1 -0
  21. package/dist/index.cjs +54 -71
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +49 -10
  24. package/dist/index.d.ts +49 -10
  25. package/dist/index.js +54 -72
  26. package/dist/index.js.map +1 -1
  27. package/dist/{inline-flow-host-YnnvWjdU.js → inline-flow-host-D6u-RlsV.js} +3 -3
  28. package/dist/{inline-flow-host-YnnvWjdU.js.map → inline-flow-host-D6u-RlsV.js.map} +1 -1
  29. package/dist/{inline-flow-host-C4KmZIYE.cjs → inline-flow-host-yVLo6-sM.cjs} +3 -3
  30. package/dist/{inline-flow-host-C4KmZIYE.cjs.map → inline-flow-host-yVLo6-sM.cjs.map} +1 -1
  31. package/dist/{lazy-relation-picker-dialog-DN4bvQfg.js → lazy-relation-picker-dialog-BaORufxQ.js} +2 -2
  32. package/dist/{lazy-relation-picker-dialog-DN4bvQfg.js.map → lazy-relation-picker-dialog-BaORufxQ.js.map} +1 -1
  33. package/dist/{lazy-relation-picker-dialog-BAKBRn3V.cjs → lazy-relation-picker-dialog-C_VlGlDz.cjs} +2 -2
  34. package/dist/{lazy-relation-picker-dialog-BAKBRn3V.cjs.map → lazy-relation-picker-dialog-C_VlGlDz.cjs.map} +1 -1
  35. package/dist/{page-flow-route-CtEfqAvU.js → page-flow-route-CyMzUidK.js} +7 -7
  36. package/dist/page-flow-route-CyMzUidK.js.map +1 -0
  37. package/dist/{page-flow-route-DEjAxHe3.cjs → page-flow-route-OFx7h7Ja.cjs} +6 -6
  38. package/dist/page-flow-route-OFx7h7Ja.cjs.map +1 -0
  39. package/dist/{place-node-Bhl8B3fF.cjs → place-node-BZF5Af6x.cjs} +67 -23
  40. package/dist/place-node-BZF5Af6x.cjs.map +1 -0
  41. package/dist/{place-node-BdxT-30h.js → place-node-DRjmJGQ_.js} +69 -25
  42. package/dist/place-node-DRjmJGQ_.js.map +1 -0
  43. package/dist/{related-list-cards-BvkD5OcC.js → related-list-cards-2hLitVkg.js} +3 -3
  44. package/dist/{related-list-cards-BvkD5OcC.js.map → related-list-cards-2hLitVkg.js.map} +1 -1
  45. package/dist/{related-list-cards-Bc_vfCE_.cjs → related-list-cards-xVvgSlu-.cjs} +3 -3
  46. package/dist/{related-list-cards-Bc_vfCE_.cjs.map → related-list-cards-xVvgSlu-.cjs.map} +1 -1
  47. package/dist/{related-list-timeline-DCrwN9oO.js → related-list-timeline-CxJqe6eK.js} +4 -4
  48. package/dist/related-list-timeline-CxJqe6eK.js.map +1 -0
  49. package/dist/{related-list-timeline-k0DtnxTs.cjs → related-list-timeline-Dsf5WewG.cjs} +4 -4
  50. package/dist/related-list-timeline-Dsf5WewG.cjs.map +1 -0
  51. package/dist/{related-rows-BW9Jr07T.cjs → related-rows-DDhp9axl.cjs} +4 -4
  52. package/dist/{related-rows-BW9Jr07T.cjs.map → related-rows-DDhp9axl.cjs.map} +1 -1
  53. package/dist/{related-rows-CPE-9FFr.js → related-rows-DL6CWsrj.js} +4 -4
  54. package/dist/{related-rows-CPE-9FFr.js.map → related-rows-DL6CWsrj.js.map} +1 -1
  55. package/dist/{relation-create-C43cdPQt.js → relation-create-6WicROWA.js} +33 -5
  56. package/dist/relation-create-6WicROWA.js.map +1 -0
  57. package/dist/{relation-create-DDEYcKfw.cjs → relation-create-_SFuPQGM.cjs} +37 -3
  58. package/dist/relation-create-_SFuPQGM.cjs.map +1 -0
  59. package/dist/{relation-many-picker-Br-zBHxT.cjs → relation-many-picker-BBNsmkaX.cjs} +12 -10
  60. package/dist/relation-many-picker-BBNsmkaX.cjs.map +1 -0
  61. package/dist/{relation-many-picker-BlrGRwMV.js → relation-many-picker-mGEQDWo2.js} +12 -10
  62. package/dist/relation-many-picker-mGEQDWo2.js.map +1 -0
  63. package/dist/{relation-picker-x7P5HKie.js → relation-picker-BbO41cFV.js} +13 -10
  64. package/dist/relation-picker-BbO41cFV.js.map +1 -0
  65. package/dist/{relation-picker-dialog-CyKliBkN.js → relation-picker-dialog-BgSG_8bU.js} +5 -5
  66. package/dist/relation-picker-dialog-BgSG_8bU.js.map +1 -0
  67. package/dist/{relation-picker-dialog-DimVQF9Y.cjs → relation-picker-dialog-Duqy2r0n.cjs} +5 -5
  68. package/dist/relation-picker-dialog-Duqy2r0n.cjs.map +1 -0
  69. package/dist/{relation-picker-ADjxI_TI.cjs → relation-picker-jk9D_uwn.cjs} +13 -10
  70. package/dist/relation-picker-jk9D_uwn.cjs.map +1 -0
  71. package/dist/{relation-select-Cr3CfNLy.cjs → relation-select-C3aV18kT.cjs} +2 -2
  72. package/dist/{relation-select-Cr3CfNLy.cjs.map → relation-select-C3aV18kT.cjs.map} +1 -1
  73. package/dist/{relation-select-B8Fq4o-t.js → relation-select-CjQT9LpS.js} +2 -2
  74. package/dist/{relation-select-B8Fq4o-t.js.map → relation-select-CjQT9LpS.js.map} +1 -1
  75. package/dist/{resource-page-router-BRpUnhay.js → resource-page-router-CzaNATSp.js} +71 -19
  76. package/dist/resource-page-router-CzaNATSp.js.map +1 -0
  77. package/dist/{resource-page-router-qEd2xb55.cjs → resource-page-router-dmVIeu5s.cjs} +81 -17
  78. package/dist/resource-page-router-dmVIeu5s.cjs.map +1 -0
  79. package/dist/{success-notices-Dl3M1fZP.cjs → success-notices-Cl4b6MLQ.cjs} +3 -2
  80. package/dist/success-notices-Cl4b6MLQ.cjs.map +1 -0
  81. package/dist/{success-notices-LDEgEkc4.js → success-notices-CrcWOGSo.js} +3 -2
  82. package/dist/success-notices-CrcWOGSo.js.map +1 -0
  83. package/dist/{use-dialog-filter-state-B_MqzHaT.js → use-dialog-filter-state-CJoeY-1j.js} +2 -2
  84. package/dist/{use-dialog-filter-state-B_MqzHaT.js.map → use-dialog-filter-state-CJoeY-1j.js.map} +1 -1
  85. package/dist/{use-dialog-filter-state-tNvqAAjh.cjs → use-dialog-filter-state-lsTJxrB4.cjs} +2 -2
  86. package/dist/{use-dialog-filter-state-tNvqAAjh.cjs.map → use-dialog-filter-state-lsTJxrB4.cjs.map} +1 -1
  87. package/dist/{use-record-subtitle-bfwIoUme.cjs → use-record-subtitle-BJ9rnj6F.cjs} +5 -8
  88. package/dist/use-record-subtitle-BJ9rnj6F.cjs.map +1 -0
  89. package/dist/{use-record-subtitle-gIaCGgbI.js → use-record-subtitle-w3ZhXNlf.js} +5 -8
  90. package/dist/use-record-subtitle-w3ZhXNlf.js.map +1 -0
  91. package/package.json +9 -9
  92. package/dist/filter-builder-ByGhxLf_.cjs.map +0 -1
  93. package/dist/filter-builder-z3Axzf9Y.js.map +0 -1
  94. package/dist/flow-screen-3fk6J33y.js.map +0 -1
  95. package/dist/flow-screen-6y5E_HT6.cjs.map +0 -1
  96. package/dist/page-flow-route-CtEfqAvU.js.map +0 -1
  97. package/dist/page-flow-route-DEjAxHe3.cjs.map +0 -1
  98. package/dist/place-node-BdxT-30h.js.map +0 -1
  99. package/dist/place-node-Bhl8B3fF.cjs.map +0 -1
  100. package/dist/related-list-timeline-DCrwN9oO.js.map +0 -1
  101. package/dist/related-list-timeline-k0DtnxTs.cjs.map +0 -1
  102. package/dist/relation-create-C43cdPQt.js.map +0 -1
  103. package/dist/relation-create-DDEYcKfw.cjs.map +0 -1
  104. package/dist/relation-many-picker-BlrGRwMV.js.map +0 -1
  105. package/dist/relation-many-picker-Br-zBHxT.cjs.map +0 -1
  106. package/dist/relation-picker-ADjxI_TI.cjs.map +0 -1
  107. package/dist/relation-picker-dialog-CyKliBkN.js.map +0 -1
  108. package/dist/relation-picker-dialog-DimVQF9Y.cjs.map +0 -1
  109. package/dist/relation-picker-x7P5HKie.js.map +0 -1
  110. package/dist/resource-page-router-BRpUnhay.js.map +0 -1
  111. package/dist/resource-page-router-qEd2xb55.cjs.map +0 -1
  112. package/dist/success-notices-Dl3M1fZP.cjs.map +0 -1
  113. package/dist/success-notices-LDEgEkc4.js.map +0 -1
  114. package/dist/use-record-subtitle-bfwIoUme.cjs.map +0 -1
  115. package/dist/use-record-subtitle-gIaCGgbI.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  const require_use_theme = require("./use-theme-DFlpXils.cjs");
2
2
  const require_toaster = require("./toaster-BbByOytP.cjs");
3
- const require_check_confirm_dialog = require("./check-confirm-dialog-BT04Mieo.cjs");
3
+ const require_check_confirm_dialog = require("./check-confirm-dialog-W-8WOmGh.cjs");
4
4
  const require_button = require("./button-BxnnE28H.cjs");
5
- const require_relation_create = require("./relation-create-DDEYcKfw.cjs");
5
+ const require_relation_create = require("./relation-create-_SFuPQGM.cjs");
6
6
  const require_skeleton = require("./skeleton-_1gP7wan.cjs");
7
- const require_place_node = require("./place-node-Bhl8B3fF.cjs");
8
- const require_success_notices = require("./success-notices-Dl3M1fZP.cjs");
7
+ const require_place_node = require("./place-node-BZF5Af6x.cjs");
8
+ const require_success_notices = require("./success-notices-Cl4b6MLQ.cjs");
9
9
  let _burojs_core = require("@burojs/core");
10
10
  let _burojs_react = require("@burojs/react");
11
11
  let react = require("react");
@@ -18,6 +18,66 @@ function canonicalResourceKey(def) {
18
18
  return canonicalNavKey(def);
19
19
  }
20
20
  //#endregion
21
+ //#region src/layout/build-nav-items.ts
22
+ function groupNavHref(registry, group, isVisible) {
23
+ let href;
24
+ try {
25
+ href = (0, _burojs_core.navHrefFor)(registry, group, { isVisible });
26
+ } catch {
27
+ return;
28
+ }
29
+ return (0, _burojs_core.matchPath)(registry, href, { isVisible }) === null ? void 0 : href;
30
+ }
31
+ function buildNavItems(args) {
32
+ const { registry, caps, groupName, match, isVisible, entryFilter, icons } = args;
33
+ const chain = match?.groupChain ?? [];
34
+ const qualifiedMatch = match;
35
+ const activeLeaf = qualifiedMatch == null ? void 0 : qualifiedMatch.kind === "group-index" ? canonicalNavKey({
36
+ name: qualifiedMatch.target ?? qualifiedMatch.name,
37
+ ref: qualifiedMatch.targetRef
38
+ }) : canonicalNavKey(qualifiedMatch);
39
+ const isEligible = (node) => isVisible(node) && (entryFilter ? entryFilter(node) : true);
40
+ const out = [];
41
+ for (const child of registry.groups.childrenOf(groupName)) {
42
+ if (!isEligible(child)) continue;
43
+ const kind = (0, _burojs_core.nodeKind)(child);
44
+ const childKey = canonicalNavKey(child);
45
+ if (kind === "group") {
46
+ const href = groupNavHref(registry, childKey, isEligible);
47
+ if (href === void 0) continue;
48
+ const label = (0, _burojs_core.resolveNavLabel)(caps, `groups.${childKey}`, (0, _burojs_core.declaredText)("chrome", child, "label"));
49
+ const active = chain.some((g) => canonicalNavKey(g) === childKey);
50
+ out.push({
51
+ kind: "group",
52
+ name: childKey,
53
+ label,
54
+ href,
55
+ icon: icons?.group?.(childKey),
56
+ active
57
+ });
58
+ continue;
59
+ }
60
+ const href = (0, _burojs_core.navHrefFor)(registry, childKey, { isVisible: isEligible });
61
+ if (kind === "custom-page") out.push({
62
+ kind: "custom-page",
63
+ name: childKey,
64
+ label: (0, _burojs_core.resolveNavLabel)(caps, `pages.${childKey}`, (0, _burojs_core.declaredText)("chrome", child, "label")),
65
+ href,
66
+ icon: icons?.page?.(childKey),
67
+ active: activeLeaf === childKey
68
+ });
69
+ else out.push({
70
+ kind: "resource",
71
+ name: childKey,
72
+ label: (0, _burojs_core.resolveResourceNavLabel)(caps, childKey, child),
73
+ href,
74
+ icon: icons?.resource?.(childKey),
75
+ active: activeLeaf === childKey
76
+ });
77
+ }
78
+ return out;
79
+ }
80
+ //#endregion
21
81
  //#region src/layout/layouts/secondary-sidebar-layout.tsx
22
82
  function Row({ it }) {
23
83
  const RouterLink = require_toaster.useLinkComponent();
@@ -1300,21 +1360,12 @@ function useTrailContext() {
1300
1360
  t
1301
1361
  };
1302
1362
  }
1303
- function groupCrumbHref(registry, group, isVisible) {
1304
- let href;
1305
- try {
1306
- href = (0, _burojs_core.navHrefFor)(registry, group, { isVisible });
1307
- } catch {
1308
- return;
1309
- }
1310
- return (0, _burojs_core.matchPath)(registry, href, { isVisible }) === null ? void 0 : href;
1311
- }
1312
1363
  function groupCrumbs(ctx, chain) {
1313
1364
  return chain.map((group) => {
1314
1365
  const key = canonicalNavKey(group);
1315
1366
  return {
1316
1367
  label: (0, _burojs_core.resolveNavLabel)(ctx.caps, `groups.${key}`, (0, _burojs_core.declaredText)("chrome", group, "label")),
1317
- href: groupCrumbHref(ctx.registry, key, ctx.isVisible),
1368
+ href: groupNavHref(ctx.registry, key, ctx.isVisible),
1318
1369
  jump: true
1319
1370
  };
1320
1371
  });
@@ -1711,7 +1762,7 @@ function RecordRead({ resource, action, id, recordId }) {
1711
1762
  name: "show"
1712
1763
  });
1713
1764
  const showHidden = showRuled && read !== null && typeof read === "object" && showAvailability("show", read).state !== "available";
1714
- const showSettled = !showRuled || !query.isPlaceholderData && permissions?.status !== "loading" && permissions?.status !== "error";
1765
+ const showSettled = !showRuled || !query.isPlaceholderData && !(0, _burojs_core.permissionsUndecided)(permissions) && permissions?.status !== "error";
1715
1766
  useRecordVisit(resource, projected.status === "ready" && showSettled && !showHidden ? projected.value : null, { isCurrentData: !query.isPlaceholderData });
1716
1767
  const route = (0, react.useMemo)(() => Object.freeze({ id }), [id]);
1717
1768
  const availability = (0, _burojs_react.useAvailabilityResolver)(resource, "edit");
@@ -1720,7 +1771,7 @@ function RecordRead({ resource, action, id, recordId }) {
1720
1771
  if (record === null || typeof record !== "object") return (0, react_jsx_runtime.jsx)(require_relation_create.RecordState, { state: "not-found" });
1721
1772
  const loaded = record;
1722
1773
  if (showRuled) {
1723
- if (query.isPlaceholderData || permissions?.status === "loading") return (0, react_jsx_runtime.jsx)(require_relation_create.RecordState, { state: "loading" });
1774
+ if (query.isPlaceholderData || (0, _burojs_core.permissionsUndecided)(permissions)) return (0, react_jsx_runtime.jsx)(require_relation_create.RecordState, { state: "loading" });
1724
1775
  if (permissions?.status === "error") return (0, react_jsx_runtime.jsx)(require_relation_create.RecordState, { state: "not-found" });
1725
1776
  if (showHidden) return (0, react_jsx_runtime.jsx)(require_relation_create.RecordState, { state: "not-found" });
1726
1777
  }
@@ -1729,6 +1780,7 @@ function RecordRead({ resource, action, id, recordId }) {
1729
1780
  if (action === "edit") {
1730
1781
  const edit = availability("edit", loaded).state;
1731
1782
  if (edit === "hidden" || edit === "absent") return (0, react_jsx_runtime.jsx)(require_relation_create.RecordState, { state: "not-found" });
1783
+ if (edit === "undecided") return (0, react_jsx_runtime.jsx)(require_relation_create.RecordState, { state: "loading" });
1732
1784
  }
1733
1785
  return (0, react_jsx_runtime.jsx)(_burojs_react.RouteSourceContext.Provider, {
1734
1786
  value: route,
@@ -2025,6 +2077,12 @@ Object.defineProperty(exports, "TabsLayout", {
2025
2077
  return TabsLayout;
2026
2078
  }
2027
2079
  });
2080
+ Object.defineProperty(exports, "buildNavItems", {
2081
+ enumerable: true,
2082
+ get: function() {
2083
+ return buildNavItems;
2084
+ }
2085
+ });
2028
2086
  Object.defineProperty(exports, "canonicalNavKey", {
2029
2087
  enumerable: true,
2030
2088
  get: function() {
@@ -2037,6 +2095,12 @@ Object.defineProperty(exports, "canonicalResourceKey", {
2037
2095
  return canonicalResourceKey;
2038
2096
  }
2039
2097
  });
2098
+ Object.defineProperty(exports, "groupNavHref", {
2099
+ enumerable: true,
2100
+ get: function() {
2101
+ return groupNavHref;
2102
+ }
2103
+ });
2040
2104
  Object.defineProperty(exports, "headerTrail", {
2041
2105
  enumerable: true,
2042
2106
  get: function() {
@@ -2164,4 +2228,4 @@ Object.defineProperty(exports, "useTrailContext", {
2164
2228
  }
2165
2229
  });
2166
2230
 
2167
- //# sourceMappingURL=resource-page-router-qEd2xb55.cjs.map
2231
+ //# sourceMappingURL=resource-page-router-dmVIeu5s.cjs.map