@proveanything/smartlinks-utils-ui 0.3.0 → 0.3.1
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.
- package/README.md +10 -1
- package/dist/{chunk-GN2P3MOG.js → chunk-L7NSCOC7.js} +2 -2
- package/dist/chunk-L7NSCOC7.js.map +1 -0
- package/dist/{chunk-XA5J6CZL.js → chunk-YVZKCCYQ.js} +212 -23
- package/dist/chunk-YVZKCCYQ.js.map +1 -0
- package/dist/components/AssetPicker/index.d.ts +27 -1
- package/dist/components/AssetPicker/index.js +1 -1
- package/dist/components/ConditionsEditor/index.js +1 -1
- package/dist/components/RecordsAdmin/index.css +645 -11
- package/dist/components/RecordsAdmin/index.css.map +1 -1
- package/dist/components/RecordsAdmin/index.d.ts +108 -13
- package/dist/components/RecordsAdmin/index.js +527 -339
- package/dist/components/RecordsAdmin/index.js.map +1 -1
- package/dist/index.css +16 -56
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/{index-BmKyfKiK.d.ts → useAssets-BM1bzzkq.d.ts} +38 -1
- package/package.json +7 -1
- package/dist/chunk-GN2P3MOG.js.map +0 -1
- package/dist/chunk-XA5J6CZL.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/RecordsAdmin/shell/tokens.css"],"sourcesContent":["/* Records Admin shell tokens — apps may override via :root */\r\n:root {\r\n --ra-status-own: var(--ra-emerald, 142 71% 45%);\r\n --ra-status-shared: var(--ra-amber, 38 92% 50%);\r\n --ra-status-missing: var(--muted-foreground, 0 0% 50%);\r\n --ra-accent: var(--primary, 222 47% 11%);\r\n --ra-surface: var(--card, 0 0% 100%);\r\n --ra-border: var(--border, 0 0% 90%);\r\n --ra-text: var(--foreground, 0 0% 10%);\r\n --ra-muted: var(--muted, 0 0% 96%);\r\n --ra-muted-text: var(--muted-foreground, 0 0% 40%);\r\n --ra-radius: 0.5rem;\r\n --ra-dot-size: 0.5rem;\r\n}\r\n\r\n.ra-shell {\r\n color: hsl(var(--ra-text));\r\n background: hsl(var(--ra-surface));\r\n}\r\n\r\n.ra-status-dot {\r\n display: inline-block;\r\n width: var(--ra-dot-size);\r\n height: var(--ra-dot-size);\r\n border-radius: 9999px;\r\n flex-shrink: 0;\r\n}\r\n.ra-status-own { background: hsl(var(--ra-status-own)); }\r\n.ra-status-shared { background: hsl(var(--ra-status-shared)); }\r\n.ra-status-missing { background: hsl(var(--ra-status-missing) / 0.4); border: 1px solid hsl(var(--ra-status-missing) / 0.6); }\r\n\r\n.ra-row-active {\r\n background: hsl(var(--ra-accent) / 0.08);\r\n border-color: hsl(var(--ra-accent) / 0.4) !important;\r\n}"],"mappings":";AACA;AACE,mBAAiB,IAAI,YAAY,EAAE,IAAI,IAAI;AAC3C,sBAAoB,IAAI,UAAU,EAAE,GAAG,IAAI;AAC3C,uBAAqB,IAAI,kBAAkB,EAAE,EAAE,GAAG;AAClD,eAAa,IAAI,SAAS,EAAE,IAAI,IAAI;AACpC,gBAAc,IAAI,MAAM,EAAE,EAAE,GAAG;AAC/B,eAAa,IAAI,QAAQ,EAAE,EAAE,GAAG;AAChC,aAAW,IAAI,YAAY,EAAE,EAAE,GAAG;AAClC,cAAY,IAAI,OAAO,EAAE,EAAE,GAAG;AAC9B,mBAAiB,IAAI,kBAAkB,EAAE,EAAE,GAAG;AAC9C,eAAa;AACb,iBAAe;AACjB;AAEA,CAAC;AACC,SAAO,IAAI,IAAI;AACf,cAAY,IAAI,IAAI;AACtB;AAEA,CAAC;AACC,WAAS;AACT,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,iBAAe;AACf,eAAa;AACf;AACA,CAAC;AAAgB,cAAY,IAAI,IAAI;AAAmB;AACxD,CAAC;AAAmB,cAAY,IAAI,IAAI;AAAsB;AAC9D,CAAC;AAAoB,cAAY,IAAI,IAAI,qBAAqB,EAAE;AAAM,UAAQ,IAAI,MAAM,IAAI,IAAI,qBAAqB,EAAE;AAAM;AAE7H,CAAC;AACC,cAAY,IAAI,IAAI,aAAa,EAAE;AACnC,gBAAc,IAAI,IAAI,aAAa,EAAE;AACvC;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/RecordsAdmin/shell/tokens.css","../../../src/components/RecordsAdmin/shell/shell.css"],"sourcesContent":["/* =============================================================================\r\n * RecordsAdmin tokens — v0.4\r\n * All HSL triplets, all overridable. Apps that already define the standard\r\n * shadcn tokens (--primary, --card, --background, --foreground, --border,\r\n * --muted, --muted-foreground, --radius, --font-sans, --font-display) get\r\n * the rich look automatically. Otherwise sensible neutrals + a slate accent\r\n * keep the shell looking polished out-of-the-box.\r\n * ========================================================================= */\r\n:root {\r\n /* ── Status colours (existing) ─────────────────────────────────────── */\r\n --ra-status-own: var(--ra-emerald, 142 71% 45%);\r\n --ra-status-shared: var(--ra-amber, 38 92% 50%);\r\n --ra-status-missing: var(--muted-foreground, 220 9% 46%);\r\n\r\n /* ── Brand & surfaces (existing, with friendlier fallbacks) ────────── */\r\n --ra-accent: var(--primary, 222 47% 11%);\r\n --ra-surface: var(--card, 0 0% 100%);\r\n --ra-border: var(--border, 220 13% 91%);\r\n --ra-text: var(--foreground, 222 47% 11%);\r\n --ra-muted: var(--muted, 220 14% 96%);\r\n --ra-muted-text: var(--muted-foreground, 220 9% 46%);\r\n --ra-radius: var(--radius, 0.625rem);\r\n --ra-dot-size: 0.5rem;\r\n\r\n /* ── NEW: page + layered surfaces ──────────────────────────────────── */\r\n --ra-page-bg: var(--background, 220 14% 98%);\r\n --ra-card-shadow: 0 1px 2px hsl(var(--ra-accent) / 0.04),\r\n 0 4px 12px hsl(var(--ra-accent) / 0.05);\r\n --ra-card-shadow-hover: 0 2px 4px hsl(var(--ra-accent) / 0.06),\r\n 0 8px 24px hsl(var(--ra-accent) / 0.08);\r\n\r\n /* ── NEW: interactive ──────────────────────────────────────────────── */\r\n --ra-row-hover: hsl(var(--ra-accent) / 0.05);\r\n --ra-row-active-bg: hsl(var(--ra-accent) / 0.10);\r\n --ra-row-active-bd: hsl(var(--ra-accent) / 0.45);\r\n --ra-focus-ring: hsl(var(--ra-accent) / 0.35);\r\n\r\n /* ── NEW: typography ───────────────────────────────────────────────── */\r\n --ra-font-display: var(--font-display, var(--font-sans, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif));\r\n --ra-font-ui: var(--font-sans, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif);\r\n --ra-title-weight: 600;\r\n --ra-display-weight: 700;\r\n\r\n /* ── NEW: semantic colours for badges / chips / tones ──────────────── */\r\n --ra-info: var(--ra-blue, 214 95% 55%);\r\n --ra-success: var(--ra-emerald, 142 71% 45%);\r\n --ra-warning: var(--ra-amber, 38 92% 50%);\r\n --ra-danger: var(--destructive, 0 72% 51%);\r\n}\r\n\r\n/* ── Status dot (existing class API) ──────────────────────────────────── */\r\n.ra-status-dot {\r\n display: inline-block;\r\n width: var(--ra-dot-size);\r\n height: var(--ra-dot-size);\r\n border-radius: 9999px;\r\n flex-shrink: 0;\r\n}\r\n.ra-status-own { background: hsl(var(--ra-status-own)); }\r\n.ra-status-shared { background: hsl(var(--ra-status-shared)); }\r\n.ra-status-missing {\r\n background: hsl(var(--ra-status-missing) / 0.4);\r\n border: 1px solid hsl(var(--ra-status-missing) / 0.6);\r\n}\r\n\r\n/* Back-compat — used by RecordList default rows. */\r\n.ra-row-active {\r\n background: var(--ra-row-active-bg);\r\n border-color: var(--ra-row-active-bd) !important;\r\n}\r\n","/* =============================================================================\r\n * RecordsAdmin shell.css — v0.4\r\n * All rules scoped under .ra-shell so the package never bleeds into host UI.\r\n * ========================================================================= */\r\n\r\n.ra-shell {\r\n color: hsl(var(--ra-text));\r\n background: hsl(var(--ra-page-bg));\r\n font-family: var(--ra-font-ui);\r\n}\r\n.ra-shell *,\r\n.ra-shell *::before,\r\n.ra-shell *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n/* Re-usable primitives ----------------------------------------------------- */\r\n.ra-shell .ra-card {\r\n background: hsl(var(--ra-surface));\r\n border: 1px solid hsl(var(--ra-border));\r\n border-radius: var(--ra-radius);\r\n box-shadow: var(--ra-card-shadow);\r\n}\r\n.ra-shell .ra-card-hover {\r\n transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;\r\n}\r\n.ra-shell .ra-card-hover:hover {\r\n box-shadow: var(--ra-card-shadow-hover);\r\n}\r\n.ra-shell .ra-display {\r\n font-family: var(--ra-font-display);\r\n font-weight: var(--ra-display-weight);\r\n letter-spacing: -0.01em;\r\n}\r\n.ra-shell .ra-title { font-weight: var(--ra-title-weight); }\r\n\r\n/* Focus ring --------------------------------------------------------------- */\r\n.ra-shell :where(button, [role=\"button\"], input, select, textarea, a):focus-visible {\r\n outline: none;\r\n box-shadow: 0 0 0 3px var(--ra-focus-ring);\r\n border-radius: calc(var(--ra-radius) * 0.6);\r\n}\r\n\r\n/* Header card -------------------------------------------------------------- */\r\n.ra-shell .ra-header {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n gap: 1rem;\r\n padding: 1rem 1.25rem;\r\n border-radius: var(--ra-radius);\r\n border: 1px solid hsl(var(--ra-accent) / 0.12);\r\n background:\r\n linear-gradient(135deg,\r\n hsl(var(--ra-accent) / 0.08),\r\n hsl(var(--ra-accent) / 0.02) 60%,\r\n hsl(var(--ra-surface)) 100%);\r\n box-shadow: var(--ra-card-shadow);\r\n}\r\n.ra-shell .ra-header-icon {\r\n flex-shrink: 0;\r\n width: 2.75rem;\r\n height: 2.75rem;\r\n border-radius: calc(var(--ra-radius) * 0.9);\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: hsl(var(--ra-accent) / 0.12);\r\n color: hsl(var(--ra-accent));\r\n border: 1px solid hsl(var(--ra-accent) / 0.18);\r\n}\r\n.ra-shell .ra-header-text {\r\n flex: 1;\r\n min-width: 0;\r\n}\r\n.ra-shell .ra-header-title {\r\n font-family: var(--ra-font-display);\r\n font-weight: var(--ra-display-weight);\r\n font-size: 1.125rem;\r\n line-height: 1.2;\r\n color: hsl(var(--ra-text));\r\n letter-spacing: -0.01em;\r\n margin: 0;\r\n}\r\n.ra-shell .ra-header-subtitle {\r\n font-size: 0.8125rem;\r\n color: hsl(var(--ra-muted-text));\r\n margin-top: 0.125rem;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.ra-shell .ra-header-stats {\r\n display: flex;\r\n align-items: stretch;\r\n gap: 0.25rem;\r\n padding: 0.25rem 0.5rem;\r\n border-radius: calc(var(--ra-radius) * 0.75);\r\n background: hsl(var(--ra-surface) / 0.7);\r\n border: 1px solid hsl(var(--ra-border));\r\n}\r\n.ra-shell .ra-stat {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 0.25rem 0.5rem;\r\n min-width: 3rem;\r\n}\r\n.ra-shell .ra-stat-value {\r\n font-family: var(--ra-font-display);\r\n font-weight: var(--ra-display-weight);\r\n font-size: 0.95rem;\r\n color: hsl(var(--ra-text));\r\n line-height: 1;\r\n}\r\n.ra-shell .ra-stat-label {\r\n font-size: 0.625rem;\r\n text-transform: uppercase;\r\n letter-spacing: 0.04em;\r\n color: hsl(var(--ra-muted-text));\r\n margin-top: 0.2rem;\r\n}\r\n.ra-shell .ra-stat-divider {\r\n width: 1px;\r\n background: hsl(var(--ra-border));\r\n margin: 0.25rem 0;\r\n}\r\n.ra-shell .ra-header-actions {\r\n display: flex;\r\n align-items: center;\r\n gap: 0.5rem;\r\n}\r\n\r\n/* Tabs --------------------------------------------------------------------- */\r\n.ra-shell .ra-tabs {\r\n display: flex;\r\n gap: 0.25rem;\r\n padding: 0.25rem;\r\n background: hsl(var(--ra-muted));\r\n border-radius: calc(var(--ra-radius) * 0.85);\r\n border: 1px solid hsl(var(--ra-border));\r\n}\r\n.ra-shell .ra-tab {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.4rem;\r\n padding: 0.4rem 0.7rem;\r\n border-radius: calc(var(--ra-radius) * 0.65);\r\n font-size: 0.78rem;\r\n font-weight: 500;\r\n color: hsl(var(--ra-muted-text));\r\n background: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n transition: background .15s ease, color .15s ease, transform .15s ease;\r\n white-space: nowrap;\r\n}\r\n.ra-shell .ra-tab:hover {\r\n background: hsl(var(--ra-surface));\r\n color: hsl(var(--ra-text));\r\n}\r\n.ra-shell .ra-tab[aria-selected=\"true\"] {\r\n background: hsl(var(--ra-surface));\r\n color: hsl(var(--ra-text));\r\n box-shadow: var(--ra-card-shadow);\r\n font-weight: var(--ra-title-weight);\r\n}\r\n.ra-shell .ra-tab[aria-selected=\"true\"] .ra-tab-icon {\r\n color: hsl(var(--ra-accent));\r\n}\r\n.ra-shell .ra-tab[disabled] {\r\n opacity: .5;\r\n cursor: not-allowed;\r\n}\r\n.ra-shell .ra-tab-count {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-width: 1.25rem;\r\n padding: 0 0.35rem;\r\n height: 1.1rem;\r\n border-radius: 999px;\r\n background: hsl(var(--ra-accent) / 0.12);\r\n color: hsl(var(--ra-accent));\r\n font-size: 0.625rem;\r\n font-weight: 600;\r\n line-height: 1;\r\n}\r\n.ra-shell .ra-tab[aria-selected=\"false\"] .ra-tab-count {\r\n background: hsl(var(--ra-muted-text) / 0.15);\r\n color: hsl(var(--ra-muted-text));\r\n}\r\n\r\n/* Density variants --------------------------------------------------------- */\r\n.ra-shell[data-density=\"compact\"] .ra-row { padding-block: 0.4rem; }\r\n.ra-shell[data-density=\"compact\"] .ra-header { padding: 0.75rem 1rem; }\r\n.ra-shell[data-density=\"compact\"] .ra-header-icon { width: 2.25rem; height: 2.25rem; }\r\n\r\n/* Rows --------------------------------------------------------------------- */\r\n.ra-shell .ra-row {\r\n display: flex;\r\n align-items: center;\r\n gap: 0.65rem;\r\n width: 100%;\r\n text-align: left;\r\n padding: 0.65rem 0.85rem;\r\n border-left: 3px solid transparent;\r\n background: transparent;\r\n border-bottom: 1px solid transparent;\r\n transition: background .12s ease, border-color .12s ease;\r\n cursor: pointer;\r\n color: hsl(var(--ra-text));\r\n font-family: inherit;\r\n}\r\n.ra-shell .ra-row + .ra-row { border-top: 1px solid hsl(var(--ra-border) / 0.6); }\r\n.ra-shell .ra-row:hover { background: var(--ra-row-hover); }\r\n.ra-shell .ra-row[data-selected=\"true\"] {\r\n background: var(--ra-row-active-bg);\r\n border-left-color: var(--ra-row-active-bd);\r\n}\r\n.ra-shell .ra-row-icon {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 1.75rem;\r\n height: 1.75rem;\r\n border-radius: calc(var(--ra-radius) * 0.6);\r\n background: hsl(var(--ra-muted));\r\n color: hsl(var(--ra-muted-text));\r\n flex-shrink: 0;\r\n}\r\n.ra-shell .ra-row[data-selected=\"true\"] .ra-row-icon {\r\n background: hsl(var(--ra-accent) / 0.15);\r\n color: hsl(var(--ra-accent));\r\n}\r\n.ra-shell .ra-row-body { flex: 1; min-width: 0; }\r\n.ra-shell .ra-row-title {\r\n font-weight: var(--ra-title-weight);\r\n font-size: 0.875rem;\r\n line-height: 1.25;\r\n color: hsl(var(--ra-text));\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.ra-shell .ra-row-sub {\r\n font-size: 0.75rem;\r\n color: hsl(var(--ra-muted-text));\r\n margin-top: 0.15rem;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.ra-shell .ra-row-actions {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.15rem;\r\n margin-left: auto;\r\n opacity: 0;\r\n transition: opacity .15s ease;\r\n}\r\n.ra-shell .ra-row:hover .ra-row-actions,\r\n.ra-shell .ra-row:focus-within .ra-row-actions {\r\n opacity: 1;\r\n}\r\n.ra-shell .ra-row-action {\r\n width: 1.6rem;\r\n height: 1.6rem;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: 999px;\r\n background: transparent;\r\n color: hsl(var(--ra-muted-text));\r\n border: 0;\r\n cursor: pointer;\r\n transition: background .15s ease, color .15s ease;\r\n}\r\n.ra-shell .ra-row-action:hover {\r\n background: hsl(var(--ra-accent) / 0.10);\r\n color: hsl(var(--ra-text));\r\n}\r\n.ra-shell .ra-row-action[data-tone=\"danger\"]:hover {\r\n background: hsl(var(--ra-danger) / 0.12);\r\n color: hsl(var(--ra-danger));\r\n}\r\n\r\n/* Inheritance / status chip ------------------------------------------------ */\r\n.ra-shell .ra-chip {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.3rem;\r\n padding: 0.15rem 0.5rem;\r\n border-radius: 999px;\r\n font-size: 0.6875rem;\r\n font-weight: 500;\r\n background: hsl(var(--ra-muted));\r\n color: hsl(var(--ra-muted-text));\r\n border: 1px solid hsl(var(--ra-border));\r\n white-space: nowrap;\r\n max-width: 14rem;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.ra-shell .ra-chip[data-tone=\"success\"] {\r\n background: hsl(var(--ra-success) / 0.12);\r\n color: hsl(var(--ra-success));\r\n border-color: hsl(var(--ra-success) / 0.30);\r\n}\r\n.ra-shell .ra-chip[data-tone=\"warning\"] {\r\n background: hsl(var(--ra-warning) / 0.14);\r\n color: hsl(var(--ra-warning));\r\n border-color: hsl(var(--ra-warning) / 0.35);\r\n}\r\n.ra-shell .ra-chip[data-tone=\"info\"] {\r\n background: hsl(var(--ra-info) / 0.10);\r\n color: hsl(var(--ra-info));\r\n border-color: hsl(var(--ra-info) / 0.30);\r\n}\r\n.ra-shell .ra-chip[data-tone=\"danger\"] {\r\n background: hsl(var(--ra-danger) / 0.10);\r\n color: hsl(var(--ra-danger));\r\n border-color: hsl(var(--ra-danger) / 0.30);\r\n}\r\n.ra-shell .ra-chip[data-tone=\"muted\"] {\r\n background: transparent;\r\n color: hsl(var(--ra-muted-text));\r\n border-style: dashed;\r\n}\r\n\r\n/* Group / accordion -------------------------------------------------------- */\r\n.ra-shell .ra-group { border-bottom: 1px solid hsl(var(--ra-border)); }\r\n.ra-shell .ra-group:last-child { border-bottom: 0; }\r\n.ra-shell .ra-group-summary {\r\n display: flex;\r\n align-items: center;\r\n gap: 0.5rem;\r\n width: 100%;\r\n padding: 0.5rem 0.85rem;\r\n background: hsl(var(--ra-muted) / 0.6);\r\n font-size: 0.7rem;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n letter-spacing: 0.04em;\r\n color: hsl(var(--ra-muted-text));\r\n border: 0;\r\n cursor: pointer;\r\n transition: background .12s ease;\r\n}\r\n.ra-shell .ra-group-summary:hover { background: hsl(var(--ra-muted)); }\r\n.ra-shell .ra-group-summary .ra-group-chevron {\r\n transition: transform .15s ease;\r\n}\r\n.ra-shell .ra-group[data-open=\"false\"] .ra-group-chevron {\r\n transform: rotate(-90deg);\r\n}\r\n.ra-shell .ra-group-name { flex: 1; text-align: left; }\r\n.ra-shell .ra-group-count {\r\n font-size: 0.65rem;\r\n font-weight: 600;\r\n color: hsl(var(--ra-muted-text));\r\n background: hsl(var(--ra-surface));\r\n border: 1px solid hsl(var(--ra-border));\r\n border-radius: 999px;\r\n padding: 0.05rem 0.4rem;\r\n}\r\n.ra-shell .ra-group[data-open=\"false\"] .ra-group-body { display: none; }\r\n\r\n/* Empty state -------------------------------------------------------------- */\r\n.ra-shell .ra-empty {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n text-align: center;\r\n padding: 2.5rem 1.5rem;\r\n gap: 0.75rem;\r\n}\r\n.ra-shell .ra-empty-icon {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 3.25rem;\r\n height: 3.25rem;\r\n border-radius: 999px;\r\n background: hsl(var(--ra-accent) / 0.08);\r\n color: hsl(var(--ra-accent));\r\n margin-bottom: 0.25rem;\r\n}\r\n.ra-shell .ra-empty-title {\r\n font-family: var(--ra-font-display);\r\n font-weight: var(--ra-display-weight);\r\n font-size: 1rem;\r\n color: hsl(var(--ra-text));\r\n margin: 0;\r\n letter-spacing: -0.01em;\r\n}\r\n.ra-shell .ra-empty-body {\r\n font-size: 0.8125rem;\r\n color: hsl(var(--ra-muted-text));\r\n max-width: 22rem;\r\n line-height: 1.45;\r\n}\r\n.ra-shell .ra-empty-actions {\r\n display: flex;\r\n align-items: center;\r\n gap: 0.5rem;\r\n margin-top: 0.25rem;\r\n flex-wrap: wrap;\r\n justify-content: center;\r\n}\r\n\r\n/* Buttons (used by empty state CTAs and bulk menu trigger) ---------------- */\r\n.ra-shell .ra-btn {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.4rem;\r\n padding: 0.45rem 0.85rem;\r\n border-radius: calc(var(--ra-radius) * 0.7);\r\n font-size: 0.8125rem;\r\n font-weight: 500;\r\n border: 1px solid hsl(var(--ra-border));\r\n background: hsl(var(--ra-surface));\r\n color: hsl(var(--ra-text));\r\n cursor: pointer;\r\n transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .1s ease;\r\n}\r\n.ra-shell .ra-btn:hover {\r\n background: hsl(var(--ra-muted));\r\n box-shadow: var(--ra-card-shadow);\r\n}\r\n.ra-shell .ra-btn:active { transform: translateY(1px); }\r\n.ra-shell .ra-btn[data-variant=\"primary\"] {\r\n background: hsl(var(--ra-accent));\r\n color: hsl(var(--ra-surface));\r\n border-color: hsl(var(--ra-accent));\r\n}\r\n.ra-shell .ra-btn[data-variant=\"primary\"]:hover {\r\n background: hsl(var(--ra-accent) / 0.92);\r\n}\r\n.ra-shell .ra-btn[data-variant=\"ghost\"] {\r\n background: transparent;\r\n border-color: transparent;\r\n color: hsl(var(--ra-muted-text));\r\n}\r\n.ra-shell .ra-btn[data-variant=\"ghost\"]:hover {\r\n background: hsl(var(--ra-muted));\r\n color: hsl(var(--ra-text));\r\n}\r\n.ra-shell .ra-btn[data-variant=\"danger\"] { color: hsl(var(--ra-danger)); }\r\n.ra-shell .ra-btn[data-variant=\"danger\"]:hover {\r\n background: hsl(var(--ra-danger) / 0.10);\r\n border-color: hsl(var(--ra-danger) / 0.40);\r\n}\r\n\r\n/* Intro card --------------------------------------------------------------- */\r\n.ra-shell .ra-intro {\r\n position: relative;\r\n display: flex;\r\n gap: 0.85rem;\r\n padding: 0.9rem 1rem;\r\n border-radius: var(--ra-radius);\r\n border: 1px solid hsl(var(--ra-info) / 0.30);\r\n background: hsl(var(--ra-info) / 0.08);\r\n margin-bottom: 1rem;\r\n}\r\n.ra-shell .ra-intro[data-tone=\"success\"] {\r\n border-color: hsl(var(--ra-success) / 0.30);\r\n background: hsl(var(--ra-success) / 0.08);\r\n}\r\n.ra-shell .ra-intro[data-tone=\"warning\"] {\r\n border-color: hsl(var(--ra-warning) / 0.35);\r\n background: hsl(var(--ra-warning) / 0.10);\r\n}\r\n.ra-shell .ra-intro-icon {\r\n flex-shrink: 0;\r\n width: 2rem;\r\n height: 2rem;\r\n border-radius: 999px;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: hsl(var(--ra-info) / 0.18);\r\n color: hsl(var(--ra-info));\r\n}\r\n.ra-shell .ra-intro[data-tone=\"success\"] .ra-intro-icon {\r\n background: hsl(var(--ra-success) / 0.18);\r\n color: hsl(var(--ra-success));\r\n}\r\n.ra-shell .ra-intro[data-tone=\"warning\"] .ra-intro-icon {\r\n background: hsl(var(--ra-warning) / 0.20);\r\n color: hsl(var(--ra-warning));\r\n}\r\n.ra-shell .ra-intro-body { flex: 1; min-width: 0; }\r\n.ra-shell .ra-intro-title {\r\n font-family: var(--ra-font-display);\r\n font-weight: var(--ra-title-weight);\r\n font-size: 0.875rem;\r\n color: hsl(var(--ra-text));\r\n margin: 0 0 0.2rem 0;\r\n}\r\n.ra-shell .ra-intro-text {\r\n font-size: 0.8125rem;\r\n color: hsl(var(--ra-text) / 0.85);\r\n line-height: 1.45;\r\n}\r\n.ra-shell .ra-intro-dismiss {\r\n position: absolute;\r\n top: 0.5rem;\r\n right: 0.5rem;\r\n width: 1.6rem;\r\n height: 1.6rem;\r\n border-radius: 999px;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: transparent;\r\n border: 0;\r\n color: hsl(var(--ra-muted-text));\r\n cursor: pointer;\r\n}\r\n.ra-shell .ra-intro-dismiss:hover {\r\n background: hsl(var(--ra-text) / 0.06);\r\n color: hsl(var(--ra-text));\r\n}\r\n\r\n/* Bulk actions menu -------------------------------------------------------- */\r\n.ra-shell .ra-bulk-menu {\r\n min-width: 12rem;\r\n background: hsl(var(--ra-surface));\r\n border: 1px solid hsl(var(--ra-border));\r\n border-radius: calc(var(--ra-radius) * 0.85);\r\n box-shadow: var(--ra-card-shadow-hover);\r\n padding: 0.3rem;\r\n z-index: 30;\r\n}\r\n.ra-shell .ra-bulk-item {\r\n display: flex;\r\n align-items: center;\r\n gap: 0.55rem;\r\n width: 100%;\r\n padding: 0.45rem 0.6rem;\r\n border-radius: calc(var(--ra-radius) * 0.6);\r\n font-size: 0.8125rem;\r\n color: hsl(var(--ra-text));\r\n background: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n text-align: left;\r\n transition: background .12s ease, color .12s ease;\r\n}\r\n.ra-shell .ra-bulk-item:hover { background: hsl(var(--ra-muted)); }\r\n.ra-shell .ra-bulk-item[data-tone=\"danger\"] { color: hsl(var(--ra-danger)); }\r\n.ra-shell .ra-bulk-item[data-tone=\"danger\"]:hover {\r\n background: hsl(var(--ra-danger) / 0.10);\r\n}\r\n.ra-shell .ra-bulk-divider {\r\n height: 1px;\r\n background: hsl(var(--ra-border));\r\n margin: 0.25rem 0;\r\n}\r\n\r\n/* Preview rail ------------------------------------------------------------- */\r\n.ra-shell .ra-preview-rail {\r\n background: hsl(var(--ra-surface));\r\n border-left: 1px solid hsl(var(--ra-border));\r\n box-shadow: -4px 0 16px hsl(var(--ra-accent) / 0.04);\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n overflow: hidden;\r\n}\r\n.ra-shell .ra-preview-rail-header {\r\n position: sticky;\r\n top: 0;\r\n z-index: 1;\r\n display: flex;\r\n align-items: center;\r\n gap: 0.5rem;\r\n padding: 0.75rem 1rem;\r\n background:\r\n linear-gradient(180deg,\r\n hsl(var(--ra-surface)) 0%,\r\n hsl(var(--ra-surface) / 0.92) 100%);\r\n border-bottom: 1px solid hsl(var(--ra-border));\r\n backdrop-filter: blur(6px);\r\n}\r\n.ra-shell .ra-preview-rail-title {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.4rem;\r\n font-size: 0.7rem;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n letter-spacing: 0.06em;\r\n color: hsl(var(--ra-muted-text));\r\n}\r\n.ra-shell .ra-preview-rail-body {\r\n flex: 1;\r\n overflow-y: auto;\r\n padding: 1rem;\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
+
import { LucideIcon } from 'lucide-react';
|
|
3
4
|
import * as _tanstack_query_core from '@tanstack/query-core';
|
|
4
5
|
import { RecordScope, AppRecord, RecordTarget, MatchResult } from '@proveanything/smartlinks/dist/types/appObjects';
|
|
5
6
|
|
|
@@ -212,6 +213,52 @@ interface RecordsAdminI18n {
|
|
|
212
213
|
}
|
|
213
214
|
declare const DEFAULT_I18N: RecordsAdminI18n;
|
|
214
215
|
|
|
216
|
+
interface RecordsAdminIcons {
|
|
217
|
+
scope: Record<ScopeKind | 'universal', LucideIcon>;
|
|
218
|
+
status: {
|
|
219
|
+
own: LucideIcon;
|
|
220
|
+
inherited: LucideIcon;
|
|
221
|
+
missing: LucideIcon;
|
|
222
|
+
};
|
|
223
|
+
action: {
|
|
224
|
+
add: LucideIcon;
|
|
225
|
+
edit: LucideIcon;
|
|
226
|
+
duplicate: LucideIcon;
|
|
227
|
+
delete: LucideIcon;
|
|
228
|
+
import: LucideIcon;
|
|
229
|
+
export: LucideIcon;
|
|
230
|
+
more: LucideIcon;
|
|
231
|
+
};
|
|
232
|
+
preview: {
|
|
233
|
+
eye: LucideIcon;
|
|
234
|
+
switch: LucideIcon;
|
|
235
|
+
};
|
|
236
|
+
empty: {
|
|
237
|
+
default: LucideIcon;
|
|
238
|
+
search: LucideIcon;
|
|
239
|
+
};
|
|
240
|
+
intro: {
|
|
241
|
+
info: LucideIcon;
|
|
242
|
+
};
|
|
243
|
+
/** Header — used when no `headerIcon` prop is passed. Apps can override
|
|
244
|
+
* `byRecordType[recordType]` for a contextual icon, or `default` as the
|
|
245
|
+
* catch-all. */
|
|
246
|
+
header: {
|
|
247
|
+
default: LucideIcon;
|
|
248
|
+
byRecordType: Record<string, LucideIcon>;
|
|
249
|
+
};
|
|
250
|
+
group: {
|
|
251
|
+
chevron: LucideIcon;
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
/** Library defaults — every consumer gets these unless `icons` is overridden. */
|
|
255
|
+
declare const DEFAULT_ICONS: RecordsAdminIcons;
|
|
256
|
+
/** Deep-merge an `icons` prop onto the defaults. */
|
|
257
|
+
declare function mergeIcons(override?: Partial<RecordsAdminIcons>): RecordsAdminIcons;
|
|
258
|
+
/** Look up the right header icon based on prop precedence:
|
|
259
|
+
* explicit `headerIcon` > `icons.header.byRecordType[type]` > `icons.header.default`. */
|
|
260
|
+
declare function pickHeaderIcon(icons: RecordsAdminIcons, recordType: string): LucideIcon;
|
|
261
|
+
|
|
215
262
|
/** Minimal SDK shape consumed by the shell. */
|
|
216
263
|
type SmartLinksSDK = any;
|
|
217
264
|
/** Slot context passed to renderCard / renderListRow. */
|
|
@@ -332,6 +379,34 @@ interface RecordsAdminShellProps<TData = unknown> {
|
|
|
332
379
|
* timestamp+random string.
|
|
333
380
|
*/
|
|
334
381
|
generateItemId?: () => string;
|
|
382
|
+
/** Display title shown in the header card. Falls back to `label`, then `recordType`. */
|
|
383
|
+
title?: string;
|
|
384
|
+
/** Single-line muted subtitle under the header title. */
|
|
385
|
+
subtitle?: string;
|
|
386
|
+
/** Icon shown in the header card. Falls back to `icons.header.byRecordType[recordType]`
|
|
387
|
+
* or `icons.header.default`. Pass a Lucide icon component or any ReactNode. */
|
|
388
|
+
headerIcon?: ReactNode;
|
|
389
|
+
/** Right-aligned header content — typically a primary "+ New" button + secondary controls. */
|
|
390
|
+
headerActions?: ReactNode;
|
|
391
|
+
/** Show the per-scope counts strip in the header (Products · Facets · …). Default true. */
|
|
392
|
+
showStats?: boolean;
|
|
393
|
+
/** Override the default Lucide icons used by the shell (scope tabs, statuses,
|
|
394
|
+
* empty states, action menus, etc.). Deep-merged onto `DEFAULT_ICONS`. */
|
|
395
|
+
icons?: Partial<RecordsAdminIcons>;
|
|
396
|
+
/** When supplied, the records list is rendered as accordion-style groups.
|
|
397
|
+
* Return `null` to put a record in the default "Other" bucket. */
|
|
398
|
+
groupBy?: (record: RecordSummary) => {
|
|
399
|
+
key: string;
|
|
400
|
+
label: string;
|
|
401
|
+
icon?: ReactNode;
|
|
402
|
+
} | null;
|
|
403
|
+
/** Custom empty-state renderer for the records rail. Falls back to the styled
|
|
404
|
+
* built-in empty state (icon + title + body + optional CTAs). */
|
|
405
|
+
renderEmptyState?: (ctx: {
|
|
406
|
+
scope: ScopeKind;
|
|
407
|
+
}) => ReactNode;
|
|
408
|
+
/** Visual density. Default `comfortable`. */
|
|
409
|
+
density?: 'comfortable' | 'compact';
|
|
335
410
|
i18n?: Partial<RecordsAdminI18n>;
|
|
336
411
|
onTelemetry?: (event: TelemetryEvent) => void;
|
|
337
412
|
className?: string;
|
|
@@ -372,8 +447,12 @@ interface Props$9 {
|
|
|
372
447
|
onChange: (s: ScopeKind) => void;
|
|
373
448
|
/** When true, tabs render disabled (used while collection flags are loading). */
|
|
374
449
|
loading?: boolean;
|
|
450
|
+
/** Optional per-scope counts displayed as tiny badges. */
|
|
451
|
+
counts?: Partial<Record<ScopeKind, number>>;
|
|
452
|
+
/** Override icons used per scope. Falls back to DEFAULT_ICONS.scope. */
|
|
453
|
+
icons?: RecordsAdminIcons['scope'];
|
|
375
454
|
}
|
|
376
|
-
declare const ScopeTabs: ({ scopes, active, onChange, loading }: Props$9) => react_jsx_runtime.JSX.Element;
|
|
455
|
+
declare const ScopeTabs: ({ scopes, active, onChange, loading, counts, icons, }: Props$9) => react_jsx_runtime.JSX.Element;
|
|
377
456
|
|
|
378
457
|
interface Props$8 {
|
|
379
458
|
source?: RecordSource;
|
|
@@ -408,17 +487,23 @@ interface Props$6 {
|
|
|
408
487
|
renderListRow?: (record: RecordSummary, ctx: RecordSlotContext) => ReactNode;
|
|
409
488
|
/** Optional override for `grid` / `gallery` cards. */
|
|
410
489
|
renderCard?: (record: RecordSummary, ctx: RecordSlotContext) => ReactNode;
|
|
490
|
+
/** Optional grouping function. Returning null buckets the row under "Other". */
|
|
491
|
+
groupBy?: (record: RecordSummary) => {
|
|
492
|
+
key: string;
|
|
493
|
+
label: string;
|
|
494
|
+
icon?: ReactNode;
|
|
495
|
+
} | null;
|
|
411
496
|
}
|
|
412
|
-
declare const RecordList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
413
|
-
declare const ProductList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
414
|
-
declare const FacetList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
415
|
-
declare const VariantList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
416
|
-
declare const BatchList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
497
|
+
declare const RecordList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
498
|
+
declare const ProductList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
499
|
+
declare const FacetList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
500
|
+
declare const VariantList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
501
|
+
declare const BatchList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
417
502
|
|
|
418
503
|
interface DefaultRecordRowProps {
|
|
419
504
|
record: RecordSummary;
|
|
420
505
|
ctx: RecordSlotContext;
|
|
421
|
-
/** Drop the
|
|
506
|
+
/** Drop the icon + subtitle (used by the `compact` preset). */
|
|
422
507
|
compact?: boolean;
|
|
423
508
|
}
|
|
424
509
|
declare const DefaultRecordRow: ({ record, ctx, compact }: DefaultRecordRowProps) => react_jsx_runtime.JSX.Element;
|
|
@@ -439,11 +524,17 @@ interface PresentationSwitcherProps {
|
|
|
439
524
|
}
|
|
440
525
|
declare const PresentationSwitcher: ({ options, value, onChange, i18n }: PresentationSwitcherProps) => react_jsx_runtime.JSX.Element | null;
|
|
441
526
|
|
|
442
|
-
|
|
527
|
+
interface EmptyStateProps {
|
|
443
528
|
title: string;
|
|
444
529
|
body?: ReactNode;
|
|
530
|
+
/** Primary call-to-action — typically "+ Add your first …". */
|
|
445
531
|
action?: ReactNode;
|
|
446
|
-
|
|
532
|
+
/** Optional secondary action — typically "Import from CSV". */
|
|
533
|
+
secondaryAction?: ReactNode;
|
|
534
|
+
/** Lucide icon component. Defaults to `Inbox`. */
|
|
535
|
+
icon?: LucideIcon;
|
|
536
|
+
}
|
|
537
|
+
declare const EmptyState: ({ title, body, action, secondaryAction, icon: Icon, }: EmptyStateProps) => react_jsx_runtime.JSX.Element;
|
|
447
538
|
declare const LoadingState: () => react_jsx_runtime.JSX.Element;
|
|
448
539
|
declare const ErrorState: ({ error }: {
|
|
449
540
|
error: Error;
|
|
@@ -599,20 +690,24 @@ declare const ScopeBreadcrumb: ({ scope }: {
|
|
|
599
690
|
scope: ParsedRef;
|
|
600
691
|
}) => react_jsx_runtime.JSX.Element | null;
|
|
601
692
|
|
|
693
|
+
type IntroTone = 'info' | 'success' | 'warning';
|
|
602
694
|
interface Props$1 {
|
|
603
695
|
title: string;
|
|
604
696
|
body: ReactNode;
|
|
605
697
|
onDismiss: () => void;
|
|
698
|
+
/** Visual tone — controls icon and surface tint. */
|
|
699
|
+
tone?: IntroTone;
|
|
700
|
+
/** Optional "Learn more" link or button rendered inline after the body. */
|
|
701
|
+
action?: ReactNode;
|
|
606
702
|
}
|
|
607
|
-
declare const IntroCard: ({ title, body, onDismiss }: Props$1) => react_jsx_runtime.JSX.Element;
|
|
703
|
+
declare const IntroCard: ({ title, body, onDismiss, tone, action }: Props$1) => react_jsx_runtime.JSX.Element;
|
|
608
704
|
|
|
609
705
|
interface Props {
|
|
610
706
|
label: string;
|
|
611
|
-
recordType: string;
|
|
612
707
|
introHidden: boolean;
|
|
613
708
|
onShowIntro?: () => void;
|
|
614
709
|
}
|
|
615
|
-
declare const UtilityRow: ({ label,
|
|
710
|
+
declare const UtilityRow: ({ label, introHidden, onShowIntro }: Props) => react_jsx_runtime.JSX.Element | null;
|
|
616
711
|
|
|
617
712
|
interface RecordsCtx {
|
|
618
713
|
SL: SmartLinksSDK;
|
|
@@ -1080,4 +1175,4 @@ declare const exportCsv: <T>(records: RecordSummary<T>[], schema: CsvSchema<T>)
|
|
|
1080
1175
|
declare const importCsv: <T>(file: File, schema: CsvSchema<T>, ctx: RecordsCtx) => Promise<ImportReport>;
|
|
1081
1176
|
declare const downloadBlob: (blob: Blob, filename: string) => void;
|
|
1082
1177
|
|
|
1083
|
-
export { ALL_PRESENTATIONS, BatchList, BulkActionsMenu, type CollectedRecord, type CollectedSort, type CsvSchema, type CsvSchemaColumn, DEFAULT_I18N, DefaultRecordCard, DefaultRecordRow, DeleteButton, type DirtyStrategy, DrawerPreview, type EditorContext, EmptyState, ErrorState, FacetList, InheritanceMarker, InheritanceProvider, InlinePreview, IntroCard, LoadingState, type MergeStrategy, type MergedRecord, type NavConfirmI18n, type ParsedRef, PresentationSwitcher, type PreviewMode, PreviewScopePicker, PreviewToggleButton, type ProductBrowseItem, type ProductChildItem, ProductDrillDown, ProductList, type RecordBadge, RecordBrowser, type RecordCardinality, RecordEditor, RecordList, type RecordPresentation, type RecordSlotContext, type RecordSource, type RecordStatus, type RecordSummary, type RecordsAdminI18n, RecordsAdminShell, type RecordsAdminShellProps, ResolvedPreview, type ResolvedRecord, ScopeBreadcrumb, type ScopeKind, ScopeTabs, SidePreview, type SmartLinksSDK, StatusDot, StatusFilterPills, TabbedPreview, type TelemetryEvent, UtilityRow, VariantList, buildRef, bulkDelete, bulkUpsert, deleteRecord, downloadBlob, exportCsv, getRecordByRef, importCsv, listRecords, matchRecords, parseRef, parsedRefToScope, parsedRefToTarget, resolutionChain, resolveRecord, restoreRecord, scopesEqual, upsertRecord, useCollectedRecords, useDirtyNavigation, useIntroDismissed, useMergedRecord, usePresentationPref, useProductBrowse, useProductChildren, useRecordEditor, useRecordList, useResolvedRecord, useScopeProbe, useUnsavedGuard };
|
|
1178
|
+
export { ALL_PRESENTATIONS, BatchList, BulkActionsMenu, type CollectedRecord, type CollectedSort, type CsvSchema, type CsvSchemaColumn, DEFAULT_I18N, DEFAULT_ICONS, DefaultRecordCard, DefaultRecordRow, DeleteButton, type DirtyStrategy, DrawerPreview, type EditorContext, EmptyState, ErrorState, FacetList, InheritanceMarker, InheritanceProvider, InlinePreview, IntroCard, LoadingState, type MergeStrategy, type MergedRecord, type NavConfirmI18n, type ParsedRef, PresentationSwitcher, type PreviewMode, PreviewScopePicker, PreviewToggleButton, type ProductBrowseItem, type ProductChildItem, ProductDrillDown, ProductList, type RecordBadge, RecordBrowser, type RecordCardinality, RecordEditor, RecordList, type RecordPresentation, type RecordSlotContext, type RecordSource, type RecordStatus, type RecordSummary, type RecordsAdminI18n, type RecordsAdminIcons, RecordsAdminShell, type RecordsAdminShellProps, ResolvedPreview, type ResolvedRecord, ScopeBreadcrumb, type ScopeKind, ScopeTabs, SidePreview, type SmartLinksSDK, StatusDot, StatusFilterPills, TabbedPreview, type TelemetryEvent, UtilityRow, VariantList, buildRef, bulkDelete, bulkUpsert, deleteRecord, downloadBlob, exportCsv, getRecordByRef, importCsv, listRecords, matchRecords, mergeIcons, parseRef, parsedRefToScope, parsedRefToTarget, pickHeaderIcon, resolutionChain, resolveRecord, restoreRecord, scopesEqual, upsertRecord, useCollectedRecords, useDirtyNavigation, useIntroDismissed, useMergedRecord, usePresentationPref, useProductBrowse, useProductChildren, useRecordEditor, useRecordList, useResolvedRecord, useScopeProbe, useUnsavedGuard };
|