@burdenoff/fe-libs 2026.623.5 → 2026.623.7

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.
@@ -15,10 +15,12 @@ export { useBreakpoint, useMobileBreakpoint, BREAKPOINTS, type Breakpoint } from
15
15
  export { useOnClickOutside, useOnClickOutsideWithRef } from './useOnClickOutside';
16
16
  export { useKeyPress, useKeyboardShortcut } from './useKeyPress';
17
17
  export { useCopyToClipboard } from './useCopyToClipboard';
18
+ export { useExclusiveMenu } from './useExclusiveMenu';
18
19
  export { useLocalStorage } from './useLocalStorage';
19
20
  export { useSessionStorage } from './useSessionStorage';
20
21
  export { usePrevious, usePreviousDistinct, usePreviousHistory } from './usePrevious';
21
22
  export { useToggle, useToggleObject, useConditionalToggle } from './useToggle';
23
+ export { usePagination, type UsePaginationOptions, type UsePaginationResult, } from './usePagination';
22
24
  export { useAsync, useAsyncImmediate, type UseAsyncReturn } from './useAsync';
23
25
  export * from '../keyboard';
24
26
  export * from '../logger';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAc,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,oBAAoB,8CAA2D,CAAC;AAE7F;;GAEG;AACH,wBAAgB,uBAAuB,2BAMtC;AAOD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG/E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG9E,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjG,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAc,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,oBAAoB,8CAA2D,CAAC;AAE7F;;GAEG;AACH,wBAAgB,uBAAuB,2BAMtC;AAOD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG9E,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjG,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,20 @@
1
+ export interface UsePaginationOptions {
2
+ initialPage?: number;
3
+ initialPageSize?: number;
4
+ maxPageSize?: number;
5
+ }
6
+ export interface UsePaginationResult {
7
+ page: number;
8
+ pageSize: number;
9
+ limit: number;
10
+ offset: number;
11
+ pagination: {
12
+ limit: number;
13
+ offset: number;
14
+ };
15
+ setPage: (page: number) => void;
16
+ setPageSize: (pageSize: number) => void;
17
+ reset: () => void;
18
+ }
19
+ export declare function usePagination(options?: UsePaginationOptions): UsePaginationResult;
20
+ //# sourceMappingURL=usePagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePagination.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/usePagination.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAOD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAiCrF"}
@@ -0,0 +1,29 @@
1
+ import { useState as e } from "react";
2
+ //#region src/shared/hooks/usePagination.ts
3
+ function t(e, t, n) {
4
+ return typeof e != "number" || !Number.isFinite(e) ? t : Math.min(Math.max(1, Math.floor(e)), n);
5
+ }
6
+ function n(n = {}) {
7
+ let r = t(n.maxPageSize, 100, 2 ** 53 - 1), i = t(n.initialPage, 1, 2 ** 53 - 1), a = t(n.initialPageSize, 50, r), [o, s] = e(i), [c, l] = e(a), u = (e) => {
8
+ s(t(e, 1, 2 ** 53 - 1));
9
+ }, d = (e) => {
10
+ l(t(e, a, r)), s(1);
11
+ }, f = () => {
12
+ s(i), l(a);
13
+ }, p = (o - 1) * c;
14
+ return {
15
+ page: o,
16
+ pageSize: c,
17
+ limit: c,
18
+ offset: p,
19
+ pagination: {
20
+ limit: c,
21
+ offset: p
22
+ },
23
+ setPage: u,
24
+ setPageSize: d,
25
+ reset: f
26
+ };
27
+ }
28
+ //#endregion
29
+ export { n as usePagination };
@@ -0,0 +1,68 @@
1
+ import { ArrowLeft as e, Compass as t, Home as n } from "lucide-react";
2
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
3
+ //#region src/shared/pages/NotFoundPage.tsx
4
+ function a({ code: a = 404, title: o = "Page not found", description: s = "The page you're looking for doesn't exist, moved, or the link is broken.", homeHref: c = "/", homeLabel: l = "Back to home", onGoHome: u, onGoBack: d }) {
5
+ return /* @__PURE__ */ i("div", {
6
+ className: "flex min-h-[60vh] w-full flex-col items-center justify-center px-6 py-16 text-center",
7
+ children: [
8
+ /* @__PURE__ */ i("div", {
9
+ className: "relative mb-8 flex items-center justify-center",
10
+ children: [/* @__PURE__ */ r("span", {
11
+ "aria-hidden": "true",
12
+ className: "select-none bg-gradient-to-b from-[var(--color-accent-soft)] to-transparent bg-clip-text font-bold leading-none text-transparent",
13
+ style: { fontSize: "clamp(7rem, 22vw, 12rem)" },
14
+ children: a
15
+ }), /* @__PURE__ */ r("span", {
16
+ className: "absolute flex size-20 items-center justify-center rounded-full border border-border-subtle bg-bg-elevated shadow-[var(--shadow-elevation-3)]",
17
+ children: /* @__PURE__ */ r(t, {
18
+ className: "size-9 text-action-primary-bg",
19
+ "aria-hidden": "true"
20
+ })
21
+ })]
22
+ }),
23
+ /* @__PURE__ */ i("p", {
24
+ className: "mb-1 text-sm font-semibold uppercase tracking-wider text-text-muted",
25
+ children: ["Error ", a]
26
+ }),
27
+ /* @__PURE__ */ r("h1", {
28
+ className: "mb-2 text-2xl font-semibold tracking-tight text-text-primary md:text-3xl",
29
+ children: o
30
+ }),
31
+ /* @__PURE__ */ r("p", {
32
+ className: "mb-8 max-w-md text-sm leading-6 text-text-secondary",
33
+ children: s
34
+ }),
35
+ /* @__PURE__ */ i("div", {
36
+ className: "flex flex-wrap items-center justify-center gap-3",
37
+ children: [u ? /* @__PURE__ */ i("button", {
38
+ type: "button",
39
+ onClick: u,
40
+ className: "inline-flex h-10 items-center gap-2 rounded-button bg-action-primary-bg px-5 text-sm font-medium text-action-primary-text shadow-elevation-1 transition-colors hover:bg-action-primary-bgHover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
41
+ children: [/* @__PURE__ */ r(n, {
42
+ className: "size-4",
43
+ "aria-hidden": "true"
44
+ }), l]
45
+ }) : /* @__PURE__ */ i("a", {
46
+ href: c,
47
+ className: "inline-flex h-10 items-center gap-2 rounded-button bg-action-primary-bg px-5 text-sm font-medium text-action-primary-text shadow-elevation-1 transition-colors hover:bg-action-primary-bgHover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
48
+ children: [/* @__PURE__ */ r(n, {
49
+ className: "size-4",
50
+ "aria-hidden": "true"
51
+ }), l]
52
+ }), /* @__PURE__ */ i("button", {
53
+ type: "button",
54
+ onClick: () => {
55
+ d ? d() : typeof window < "u" && window.history.back();
56
+ },
57
+ className: "inline-flex h-10 items-center gap-2 rounded-button border border-border-default bg-bg-surface px-5 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken hover:border-border-strong focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
58
+ children: [/* @__PURE__ */ r(e, {
59
+ className: "size-4",
60
+ "aria-hidden": "true"
61
+ }), "Go back"]
62
+ })]
63
+ })
64
+ ]
65
+ });
66
+ }
67
+ //#endregion
68
+ export { a as NotFoundPage };
@@ -4,4 +4,6 @@ export { LegalPage } from './LegalPage';
4
4
  export type { LegalPageProps } from './LegalPage';
5
5
  export { AiPage } from './AiPage';
6
6
  export type { AiPageProps } from './AiPage';
7
+ export { NotFoundPage } from './NotFoundPage';
8
+ export type { NotFoundPageProps } from './NotFoundPage';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { useSafeShellUi as e } from "../providers/shell/ShellUiProvider.js";
2
- import { usePlayTour as t } from "./TourPlayer.js";
3
- import { getTourContextRank as n, isTourVisibleForContext as r, normalizeTourPath as i, resolveTourTargetPath as a } from "./routeCatalog.js";
4
- import { useSafeToursContext as o } from "./ToursContext.js";
5
- import { useExclusiveMenu as s } from "../hooks/useExclusiveMenu.js";
2
+ import { useExclusiveMenu as t } from "../hooks/useExclusiveMenu.js";
3
+ import { usePlayTour as n } from "./TourPlayer.js";
4
+ import { getTourContextRank as r, isTourVisibleForContext as i, normalizeTourPath as a, resolveTourTargetPath as o } from "./routeCatalog.js";
5
+ import { useSafeToursContext as s } from "./ToursContext.js";
6
6
  import { TourTriggerButton as c } from "./tourTrigger/TourTriggerButton.js";
7
7
  import { MobileTourSheet as l } from "./tourTrigger/MobileTourSheet.js";
8
8
  import { DesktopTourDropdown as u } from "./tourTrigger/DesktopTourDropdown.js";
@@ -16,15 +16,15 @@ function w(e, t) {
16
16
  return !!(n && e.productId.trim() === n && e.isActive && e.steps?.length > 0);
17
17
  }
18
18
  function T(e, t) {
19
- let n = a(e);
20
- if (n) return i(t) === i(n) ? void 0 : n;
19
+ let n = o(e);
20
+ if (n) return a(t) === a(n) ? void 0 : n;
21
21
  }
22
- function E(e, t, n, i) {
22
+ function E(e, t, n, r) {
23
23
  let a = T(e, t);
24
- return a ? i ? {
24
+ return a ? r ? {
25
25
  type: "navigate",
26
26
  targetPath: a
27
- } : { type: "ignore" } : r(e, n) ? { type: "play" } : { type: "ignore" };
27
+ } : { type: "ignore" } : i(e, n) ? { type: "play" } : { type: "ignore" };
28
28
  }
29
29
  function D({ actions: e } = {}) {
30
30
  return v() ? /* @__PURE__ */ g(O, { actions: e }) : /* @__PURE__ */ g(k, {
@@ -43,10 +43,10 @@ function O({ actions: e }) {
43
43
  actions: e
44
44
  });
45
45
  }
46
- function k({ pathname: r, navigateTo: i, actions: a }) {
46
+ function k({ pathname: i, navigateTo: a, actions: o }) {
47
47
  let [v, y] = h(!1), [b, T] = h(!1), [D, O] = h(null), k = m(null), A = m(null);
48
- s("header-help", v, d(() => y(!1), []));
49
- let { pageTours: j, productId: M, moduleId: N, pageId: P, loading: F } = o(), I = t(), L = !!i, R = e()?.pageAccessDenied ?? !1;
48
+ t("header-help", v, d(() => y(!1), []));
49
+ let { pageTours: j, productId: M, moduleId: N, pageId: P, loading: F } = s(), I = n(), L = !!a, R = e()?.pageAccessDenied ?? !1;
50
50
  f(() => {
51
51
  let e = () => {
52
52
  T(window.innerWidth < 768);
@@ -67,13 +67,13 @@ function k({ pathname: r, navigateTo: i, actions: a }) {
67
67
  }, [v]);
68
68
  let z = (e) => {
69
69
  y(!1);
70
- let t = E(e, r, {
70
+ let t = E(e, i, {
71
71
  productId: M ?? "",
72
72
  moduleId: N,
73
73
  pageId: P
74
74
  }, L);
75
75
  if (t.type === "navigate") {
76
- O(e.id), i?.(t.targetPath);
76
+ O(e.id), a?.(t.targetPath);
77
77
  return;
78
78
  }
79
79
  t.type !== "ignore" && window.setTimeout(() => {
@@ -90,8 +90,8 @@ function k({ pathname: r, navigateTo: i, actions: a }) {
90
90
  P,
91
91
  M
92
92
  ]), H = p(() => j.filter((e) => w(e, M)).sort((e, t) => {
93
- let r = n(e, V) - n(t, V);
94
- if (r !== 0) return r;
93
+ let n = r(e, V) - r(t, V);
94
+ if (n !== 0) return n;
95
95
  let i = (t.priority ?? 0) - (e.priority ?? 0);
96
96
  return i === 0 ? (e.displayOrder ?? 0) - (t.displayOrder ?? 0) : i;
97
97
  }), [
@@ -106,7 +106,7 @@ function k({ pathname: r, navigateTo: i, actions: a }) {
106
106
  O(null);
107
107
  return;
108
108
  }
109
- let t = E(e, r, V, L);
109
+ let t = E(e, i, V, L);
110
110
  if (t.type === "navigate") return;
111
111
  if (t.type === "ignore") {
112
112
  O(null);
@@ -120,7 +120,7 @@ function k({ pathname: r, navigateTo: i, actions: a }) {
120
120
  H,
121
121
  L,
122
122
  V,
123
- r,
123
+ i,
124
124
  D,
125
125
  I
126
126
  ]), f(() => {
@@ -148,7 +148,7 @@ function k({ pathname: r, navigateTo: i, actions: a }) {
148
148
  tours: H,
149
149
  onClose: () => y(!1),
150
150
  onStartTour: z,
151
- actions: a,
151
+ actions: o,
152
152
  onAction: B
153
153
  }),
154
154
  v && !b && /* @__PURE__ */ g(u, {
@@ -156,7 +156,7 @@ function k({ pathname: r, navigateTo: i, actions: a }) {
156
156
  loading: F,
157
157
  tours: H,
158
158
  onStartTour: z,
159
- actions: a,
159
+ actions: o,
160
160
  onAction: B
161
161
  })
162
162
  ]
@@ -11,32 +11,34 @@ import { useThrottle as x } from "./shared/hooks/useThrottle.js";
11
11
  import { BREAKPOINTS as S, useBreakpoint as C, useMobileBreakpoint as w } from "./shared/hooks/useBreakpoint.js";
12
12
  import { useOnClickOutside as T, useOnClickOutsideWithRef as E } from "./shared/hooks/useOnClickOutside.js";
13
13
  import { useKeyPress as D, useKeyboardShortcut as O } from "./shared/hooks/useKeyPress.js";
14
- import { useLocalStorage as k } from "./shared/hooks/useLocalStorage.js";
15
- import { useSessionStorage as te } from "./shared/hooks/useSessionStorage.js";
16
- import { usePrevious as A, usePreviousDistinct as j, usePreviousHistory as M } from "./shared/hooks/usePrevious.js";
17
- import { useConditionalToggle as N, useToggle as P, useToggleObject as F } from "./shared/hooks/useToggle.js";
18
- import { useAsync as I, useAsyncImmediate as L } from "./shared/hooks/useAsync.js";
19
- import { MODIFIER_KEYS as R, PLATFORM_TYPES as z } from "./shared/keyboard/types.js";
20
- import { useKeyboardShortcuts as B } from "./shared/keyboard/useKeyboardShortcuts.js";
21
- import { useHotkeys as V } from "./shared/keyboard/useHotkeys.js";
22
- import { useShortcutHelp as H } from "./shared/keyboard/useShortcutHelp.js";
23
- import { GLOBAL_SHORTCUT_CATEGORIES as U, createGlobalShortcuts as W, getGlobalShortcutsByCategory as G, mergeShortcuts as K } from "./shared/keyboard/globalShortcuts.js";
14
+ import { useExclusiveMenu as k } from "./shared/hooks/useExclusiveMenu.js";
15
+ import { useLocalStorage as A } from "./shared/hooks/useLocalStorage.js";
16
+ import { useSessionStorage as j } from "./shared/hooks/useSessionStorage.js";
17
+ import { usePrevious as M, usePreviousDistinct as N, usePreviousHistory as P } from "./shared/hooks/usePrevious.js";
18
+ import { useConditionalToggle as F, useToggle as I, useToggleObject as L } from "./shared/hooks/useToggle.js";
19
+ import { usePagination as te } from "./shared/hooks/usePagination.js";
20
+ import { useAsync as R, useAsyncImmediate as z } from "./shared/hooks/useAsync.js";
21
+ import { MODIFIER_KEYS as B, PLATFORM_TYPES as V } from "./shared/keyboard/types.js";
22
+ import { useKeyboardShortcuts as H } from "./shared/keyboard/useKeyboardShortcuts.js";
23
+ import { useHotkeys as U } from "./shared/keyboard/useHotkeys.js";
24
+ import { useShortcutHelp as W } from "./shared/keyboard/useShortcutHelp.js";
25
+ import { GLOBAL_SHORTCUT_CATEGORIES as G, createGlobalShortcuts as K, getGlobalShortcutsByCategory as q, mergeShortcuts as J } from "./shared/keyboard/globalShortcuts.js";
24
26
  import "./shared-keyboard.js";
25
- import { useLogger as q } from "./shared/logger/useLogger.js";
27
+ import { useLogger as Y } from "./shared/logger/useLogger.js";
26
28
  import "./shared-logger.js";
27
- import { useHasAnimated as J } from "./shared/hooks/useHasAnimated.js";
28
- import { useReferralAttribution as Y } from "./shared/hooks/useReferralAttribution.js";
29
- import { useRecordProductVisit as X } from "./shared/hooks/useRecordProductVisit.js";
30
- import { QUOTA_EXHAUSTED_EVENT as Z, dispatchQuotaExhausted as Q, useQuotaErrorToast as ne } from "./shared/hooks/useQuotaErrorToast.js";
31
- import { PLAN_USAGE_SNAPSHOT_EVENT as re, publishPlanUsageSnapshot as ie, useUpgradePrompt as ae } from "./shared/hooks/useUpgradePrompt.js";
32
- import { appendContextToPath as oe, useCurrentContextSearchParams as se } from "./shared/hooks/useCurrentContextSearchParams.js";
33
- import ce, { use as le } from "react";
29
+ import { useHasAnimated as X } from "./shared/hooks/useHasAnimated.js";
30
+ import { useReferralAttribution as Z } from "./shared/hooks/useReferralAttribution.js";
31
+ import { useRecordProductVisit as Q } from "./shared/hooks/useRecordProductVisit.js";
32
+ import { QUOTA_EXHAUSTED_EVENT as ne, dispatchQuotaExhausted as re, useQuotaErrorToast as ie } from "./shared/hooks/useQuotaErrorToast.js";
33
+ import { PLAN_USAGE_SNAPSHOT_EVENT as ae, publishPlanUsageSnapshot as oe, useUpgradePrompt as se } from "./shared/hooks/useUpgradePrompt.js";
34
+ import { appendContextToPath as ce, useCurrentContextSearchParams as le } from "./shared/hooks/useCurrentContextSearchParams.js";
35
+ import ue, { use as de } from "react";
34
36
  //#region src/shared/hooks/index.ts
35
- var $ = ce.createContext(null);
36
- function ue() {
37
- let e = le($);
37
+ var $ = ue.createContext(null);
38
+ function fe() {
39
+ let e = de($);
38
40
  if (!e) throw Error("useMicrofrontendContext must be used within a MicrofrontendProvider");
39
41
  return e;
40
42
  }
41
43
  //#endregion
42
- export { S as BREAKPOINTS, a as ConsoleTransport, U as GLOBAL_SHORTCUT_CATEGORIES, n as LogLevel, r as LogManager, ee as Logger, R as MODIFIER_KEYS, $ as MicrofrontendContext, re as PLAN_USAGE_SNAPSHOT_EVENT, z as PLATFORM_TYPES, Z as QUOTA_EXHAUSTED_EVENT, oe as appendContextToPath, W as createGlobalShortcuts, s as detectPlatform, Q as dispatchQuotaExhausted, c as formatKeyCombo, l as getDisplayKeysForPlatform, G as getGlobalShortcutsByCategory, u as getShortcutLabel, d as isMac, f as isMobileDevice, p as isTabletDevice, i as logManager, m as matchesKeyCombo, K as mergeShortcuts, h as normalizeKey, g as normalizePlatformCombo, _ as parseKeyCombo, ie as publishPlanUsageSnapshot, v as shouldEnableKeyboardShortcuts, y as shouldIgnoreShortcut, I as useAsync, L as useAsyncImmediate, C as useBreakpoint, N as useConditionalToggle, e as useCopyToClipboard, se as useCurrentContextSearchParams, b as useDebounce, J as useHasAnimated, V as useHotkeys, D as useKeyPress, O as useKeyboardShortcut, B as useKeyboardShortcuts, k as useLocalStorage, q as useLogger, t as useMediaQuery, ue as useMicrofrontendContext, w as useMobileBreakpoint, T as useOnClickOutside, E as useOnClickOutsideWithRef, o as usePWA, A as usePrevious, j as usePreviousDistinct, M as usePreviousHistory, ne as useQuotaErrorToast, X as useRecordProductVisit, Y as useReferralAttribution, te as useSessionStorage, H as useShortcutHelp, x as useThrottle, P as useToggle, F as useToggleObject, ae as useUpgradePrompt };
44
+ export { S as BREAKPOINTS, a as ConsoleTransport, G as GLOBAL_SHORTCUT_CATEGORIES, n as LogLevel, r as LogManager, ee as Logger, B as MODIFIER_KEYS, $ as MicrofrontendContext, ae as PLAN_USAGE_SNAPSHOT_EVENT, V as PLATFORM_TYPES, ne as QUOTA_EXHAUSTED_EVENT, ce as appendContextToPath, K as createGlobalShortcuts, s as detectPlatform, re as dispatchQuotaExhausted, c as formatKeyCombo, l as getDisplayKeysForPlatform, q as getGlobalShortcutsByCategory, u as getShortcutLabel, d as isMac, f as isMobileDevice, p as isTabletDevice, i as logManager, m as matchesKeyCombo, J as mergeShortcuts, h as normalizeKey, g as normalizePlatformCombo, _ as parseKeyCombo, oe as publishPlanUsageSnapshot, v as shouldEnableKeyboardShortcuts, y as shouldIgnoreShortcut, R as useAsync, z as useAsyncImmediate, C as useBreakpoint, F as useConditionalToggle, e as useCopyToClipboard, le as useCurrentContextSearchParams, b as useDebounce, k as useExclusiveMenu, X as useHasAnimated, U as useHotkeys, D as useKeyPress, O as useKeyboardShortcut, H as useKeyboardShortcuts, A as useLocalStorage, Y as useLogger, t as useMediaQuery, fe as useMicrofrontendContext, w as useMobileBreakpoint, T as useOnClickOutside, E as useOnClickOutsideWithRef, o as usePWA, te as usePagination, M as usePrevious, N as usePreviousDistinct, P as usePreviousHistory, ie as useQuotaErrorToast, Q as useRecordProductVisit, Z as useReferralAttribution, j as useSessionStorage, W as useShortcutHelp, x as useThrottle, I as useToggle, L as useToggleObject, se as useUpgradePrompt };
@@ -1,4 +1,5 @@
1
1
  import { SearchPage as e } from "./shared/pages/SearchPage.js";
2
2
  import { LegalPage as t } from "./shared/pages/LegalPage.js";
3
3
  import { AiPage as n } from "./shared/pages/AiPage.js";
4
- export { n as AiPage, t as LegalPage, e as SearchPage };
4
+ import { NotFoundPage as r } from "./shared/pages/NotFoundPage.js";
5
+ export { n as AiPage, t as LegalPage, r as NotFoundPage, e as SearchPage };
package/dist/shared.js CHANGED
@@ -67,52 +67,54 @@ import { useThrottle as Ln } from "./shared/hooks/useThrottle.js";
67
67
  import { BREAKPOINTS as Rn, useBreakpoint as zn, useMobileBreakpoint as Bn } from "./shared/hooks/useBreakpoint.js";
68
68
  import { useOnClickOutside as Vn, useOnClickOutsideWithRef as Hn } from "./shared/hooks/useOnClickOutside.js";
69
69
  import { useKeyPress as Un, useKeyboardShortcut as Wn } from "./shared/hooks/useKeyPress.js";
70
- import { useLocalStorage as Gn } from "./shared/hooks/useLocalStorage.js";
71
- import { useSessionStorage as Kn } from "./shared/hooks/useSessionStorage.js";
72
- import { usePrevious as qn, usePreviousDistinct as Jn, usePreviousHistory as Yn } from "./shared/hooks/usePrevious.js";
73
- import { useConditionalToggle as Xn, useToggle as Zn, useToggleObject as Qn } from "./shared/hooks/useToggle.js";
74
- import { useAsync as $n, useAsyncImmediate as er } from "./shared/hooks/useAsync.js";
75
- import { MODIFIER_KEYS as tr, PLATFORM_TYPES as nr } from "./shared/keyboard/types.js";
76
- import { useKeyboardShortcuts as rr } from "./shared/keyboard/useKeyboardShortcuts.js";
77
- import { useHotkeys as ir } from "./shared/keyboard/useHotkeys.js";
78
- import { useShortcutHelp as ar } from "./shared/keyboard/useShortcutHelp.js";
79
- import { GLOBAL_SHORTCUT_CATEGORIES as or, createGlobalShortcuts as sr, getGlobalShortcutsByCategory as cr, mergeShortcuts as lr } from "./shared/keyboard/globalShortcuts.js";
80
- import { useLogger as ur } from "./shared/logger/useLogger.js";
81
- import { useHasAnimated as dr } from "./shared/hooks/useHasAnimated.js";
82
- import { useReferralAttribution as fr } from "./shared/hooks/useReferralAttribution.js";
83
- import { useRecordProductVisit as pr } from "./shared/hooks/useRecordProductVisit.js";
84
- import { QUOTA_EXHAUSTED_EVENT as mr, dispatchQuotaExhausted as hr, useQuotaErrorToast as gr } from "./shared/hooks/useQuotaErrorToast.js";
85
- import { PLAN_USAGE_SNAPSHOT_EVENT as _r, publishPlanUsageSnapshot as vr, useUpgradePrompt as yr } from "./shared/hooks/useUpgradePrompt.js";
86
- import { appendContextToPath as br, useCurrentContextSearchParams as xr } from "./shared/hooks/useCurrentContextSearchParams.js";
87
- import { MicrofrontendContext as Sr, useMicrofrontendContext as Cr } from "./shared-hooks.js";
88
- import { detectDeviceType as wr, getResponsiveSelector as Tr } from "./shared/tours/types.js";
89
- import { useTourPlayer as Er } from "./shared/tours/useTourPlayer.js";
90
- import { TourSpotlight as Dr } from "./shared/tours/TourSpotlight.js";
91
- import { TourTooltip as Or } from "./shared/tours/TourTooltip.js";
92
- import { TourPlayerProvider as kr, useIsTourPlaying as Ar, useStartTour as jr, useStopTour as Mr, useTourPlayerContext as Nr } from "./shared/tours/TourPlayerProvider.js";
93
- import { TourPlayer as Pr, TourTriggerButton as Fr, usePlayTour as Ir } from "./shared/tours/TourPlayer.js";
94
- import { getTourContextRank as Lr, getTourRouteCatalog as Rr, getTourRouteModules as zr, getTourRoutePages as Br, isTourVisibleForContext as Vr, normalizeTourPath as Hr, registerTourRouteCatalog as Ur, resolveTourTargetPath as Wr } from "./shared/tours/routeCatalog.js";
95
- import { withTourProgressStatus as Gr } from "./shared/tours/progress.js";
96
- import { ToursProvider as Kr, useAutoStartTour as qr, useSafeToursContext as Jr, useTours as Yr, useToursContext as Xr } from "./shared/tours/ToursContext.js";
97
- import { TourInitializer as Zr } from "./shared/tours/TourInitializer.js";
98
- import { AppShellProvider as Qr, resolveAppShellObservabilityConfig as $r } from "./shared/providers/AppShellProvider.js";
99
- import { MicrofrontendProvider as ei } from "./shared-providers.js";
100
- import { TourTrigger as ti } from "./shared/tours/TourTrigger.js";
70
+ import { useExclusiveMenu as Gn } from "./shared/hooks/useExclusiveMenu.js";
71
+ import { useLocalStorage as Kn } from "./shared/hooks/useLocalStorage.js";
72
+ import { useSessionStorage as qn } from "./shared/hooks/useSessionStorage.js";
73
+ import { usePrevious as Jn, usePreviousDistinct as Yn, usePreviousHistory as Xn } from "./shared/hooks/usePrevious.js";
74
+ import { useConditionalToggle as Zn, useToggle as Qn, useToggleObject as $n } from "./shared/hooks/useToggle.js";
75
+ import { usePagination as er } from "./shared/hooks/usePagination.js";
76
+ import { useAsync as tr, useAsyncImmediate as nr } from "./shared/hooks/useAsync.js";
77
+ import { MODIFIER_KEYS as rr, PLATFORM_TYPES as ir } from "./shared/keyboard/types.js";
78
+ import { useKeyboardShortcuts as ar } from "./shared/keyboard/useKeyboardShortcuts.js";
79
+ import { useHotkeys as or } from "./shared/keyboard/useHotkeys.js";
80
+ import { useShortcutHelp as sr } from "./shared/keyboard/useShortcutHelp.js";
81
+ import { GLOBAL_SHORTCUT_CATEGORIES as cr, createGlobalShortcuts as lr, getGlobalShortcutsByCategory as ur, mergeShortcuts as dr } from "./shared/keyboard/globalShortcuts.js";
82
+ import { useLogger as fr } from "./shared/logger/useLogger.js";
83
+ import { useHasAnimated as pr } from "./shared/hooks/useHasAnimated.js";
84
+ import { useReferralAttribution as mr } from "./shared/hooks/useReferralAttribution.js";
85
+ import { useRecordProductVisit as hr } from "./shared/hooks/useRecordProductVisit.js";
86
+ import { QUOTA_EXHAUSTED_EVENT as gr, dispatchQuotaExhausted as _r, useQuotaErrorToast as vr } from "./shared/hooks/useQuotaErrorToast.js";
87
+ import { PLAN_USAGE_SNAPSHOT_EVENT as yr, publishPlanUsageSnapshot as br, useUpgradePrompt as xr } from "./shared/hooks/useUpgradePrompt.js";
88
+ import { appendContextToPath as Sr, useCurrentContextSearchParams as Cr } from "./shared/hooks/useCurrentContextSearchParams.js";
89
+ import { MicrofrontendContext as wr, useMicrofrontendContext as Tr } from "./shared-hooks.js";
90
+ import { detectDeviceType as Er, getResponsiveSelector as Dr } from "./shared/tours/types.js";
91
+ import { useTourPlayer as Or } from "./shared/tours/useTourPlayer.js";
92
+ import { TourSpotlight as kr } from "./shared/tours/TourSpotlight.js";
93
+ import { TourTooltip as Ar } from "./shared/tours/TourTooltip.js";
94
+ import { TourPlayerProvider as jr, useIsTourPlaying as Mr, useStartTour as Nr, useStopTour as Pr, useTourPlayerContext as Fr } from "./shared/tours/TourPlayerProvider.js";
95
+ import { TourPlayer as Ir, TourTriggerButton as Lr, usePlayTour as Rr } from "./shared/tours/TourPlayer.js";
96
+ import { getTourContextRank as zr, getTourRouteCatalog as Br, getTourRouteModules as Vr, getTourRoutePages as Hr, isTourVisibleForContext as Ur, normalizeTourPath as Wr, registerTourRouteCatalog as Gr, resolveTourTargetPath as Kr } from "./shared/tours/routeCatalog.js";
97
+ import { withTourProgressStatus as qr } from "./shared/tours/progress.js";
98
+ import { ToursProvider as Jr, useAutoStartTour as Yr, useSafeToursContext as Xr, useTours as Zr, useToursContext as Qr } from "./shared/tours/ToursContext.js";
99
+ import { TourInitializer as $r } from "./shared/tours/TourInitializer.js";
100
+ import { AppShellProvider as ei, resolveAppShellObservabilityConfig as ti } from "./shared/providers/AppShellProvider.js";
101
+ import { MicrofrontendProvider as ni } from "./shared-providers.js";
102
+ import { TourTrigger as ri } from "./shared/tours/TourTrigger.js";
101
103
  import "./shared-tours.js";
102
- import { getNativeBridge as ni } from "./shared/native/bridge.js";
103
- import { getPlatform as ri, isAndroid as ii, isIOS as ai, isNative as oi, isWeb as si } from "./shared/native/platform.js";
104
- import { nativeConfirm as ci, nativeCopyText as li, nativeImpact as ui, nativeNotify as di, nativeOpenUrl as fi, nativeShare as pi, nativeToast as mi } from "./shared/native/consumers.js";
105
- import { SafeAreaView as hi } from "./shared/native/SafeAreaView.js";
106
- import { useNativePlatform as gi } from "./shared/native/hooks/useNativePlatform.js";
107
- import { useSafeArea as _i } from "./shared/native/hooks/useSafeArea.js";
108
- import { useNativeKeyboard as vi } from "./shared/native/hooks/useNativeKeyboard.js";
109
- import { useAppState as yi } from "./shared/native/hooks/useAppState.js";
110
- import { useDeviceInfo as bi } from "./shared/native/hooks/useDeviceInfo.js";
111
- import { useHaptics as xi } from "./shared/native/hooks/useHaptics.js";
112
- import { useStatusBar as Si } from "./shared/native/hooks/useStatusBar.js";
104
+ import { getNativeBridge as ii } from "./shared/native/bridge.js";
105
+ import { getPlatform as ai, isAndroid as oi, isIOS as si, isNative as ci, isWeb as li } from "./shared/native/platform.js";
106
+ import { nativeConfirm as ui, nativeCopyText as di, nativeImpact as fi, nativeNotify as pi, nativeOpenUrl as mi, nativeShare as hi, nativeToast as gi } from "./shared/native/consumers.js";
107
+ import { SafeAreaView as _i } from "./shared/native/SafeAreaView.js";
108
+ import { useNativePlatform as vi } from "./shared/native/hooks/useNativePlatform.js";
109
+ import { useSafeArea as yi } from "./shared/native/hooks/useSafeArea.js";
110
+ import { useNativeKeyboard as bi } from "./shared/native/hooks/useNativeKeyboard.js";
111
+ import { useAppState as xi } from "./shared/native/hooks/useAppState.js";
112
+ import { useDeviceInfo as Si } from "./shared/native/hooks/useDeviceInfo.js";
113
+ import { useHaptics as Ci } from "./shared/native/hooks/useHaptics.js";
114
+ import { useStatusBar as wi } from "./shared/native/hooks/useStatusBar.js";
113
115
  import "./shared-native.js";
114
116
  import "./shared/actors/index.js";
115
117
  //#region src/shared/index.ts
116
- var Ci = "1.0.0";
118
+ var Ti = "1.0.0";
117
119
  //#endregion
118
- export { wn as ASSISTANT_WIDGET_TOGGLE_EVENT, zt as AccessDenied, At as ActorIdentity, Ne as ApolloClient, Pe as ApolloProvider, Yt as AppErrorBoundary, st as AppInitializer, Qr as AppShellProvider, Tn as AssistantWidget, ie as BACKEND_ERROR_EVENT, Rn as BREAKPOINTS, On as BackendAuditSink, Dn as BroadcastChannelSink, G as COMMON_SHELL_LESS_ROUTES, ae as CONNECTION_STATUS_EVENT, Kt as ConditionalShell, mt as ConsoleTransport, nn as ContextConversationWidget, Z as DEFAULT_PAGE_SIZE, K as DEFAULT_SHELL_CONFIG, En as DevtoolsSink, Nt as ErrorBoundary, Vt as ErrorFallback, jn as EventBusProvider, Ci as FE_SHARED_VERSION, Xt as FeatureFlagProvider, tn as FeatureGate, Q as GATEWAYS, or as GLOBAL_SHORTCUT_CATEGORIES, De as GatewayProvider, Fe as InMemoryCache, _n as KeyboardHelpDialogWrapper, Ht as LoadingFallback, ut as LogLevel, ft as LogManager, dt as Logger, tr as MODIFIER_KEYS, Sr as MicrofrontendContext, Gt as MicrofrontendErrorBoundary, ei as MicrofrontendProvider, An as OtelBrowserSink, _r as PLAN_USAGE_SNAPSHOT_EVENT, nr as PLATFORM_TYPES, V as PRODUCTS, H as PRODUCT_URLS, Jt as PWAInstallBanner, Ut as PageLoadingFallback, It as PermissionButton, Bt as PermissionDenied, Lt as PermissionGate, Rt as PermissionLink, bt as QUOTA_EXHAUSTED_CODE, mr as QUOTA_EXHAUSTED_EVENT, vn as QuotaMeter, xt as RESOURCE_CAP_EXCEEDED_CODE, Pt as RequireAuth, Ft as RequireGuest, kn as RybbitSink, xe as SSELink, nt as SSORedirectSpinner, St as STORAGE_QUOTA_EXCEEDED_CODE, hi as SafeAreaView, Wt as SectionLoadingFallback, Zr as TourInitializer, Pr as TourPlayer, kr as TourPlayerProvider, Dr as TourSpotlight, Or as TourTooltip, ti as TourTrigger, Fr as TourTriggerButton, Kr as ToursProvider, Ct as UPGRADE_ERROR_CODES, yn as UPGRADE_PROMPT_EVENT, Sn as UpgradeInlineBanner, bn as UpgradePromptModal, Me as WsLink, r as alertTokens, br as appendContextToPath, He as attemptTokenRefresh, jt as buildActorFallback, wt as buildQuotaExhaustedMessage, m as capitalizeFirst, h as capitalizeWords, i as categoryTokens, rt as checkRemoteSLO, it as checkSLO, Ue as clearAuthSessionStorage, at as clearLocalAuthState, Je as clearSSoCookie, Ye as clearShellSsoCookies, ht as clearUserContext, kt as cn, n as createApolloClient, Mn as createEventBus, sr as createGlobalShortcuts, Se as createGraphQLClient, vt as createProfileScopedStorage, wr as detectDeviceType, rn as detectPlatform, oe as dispatchBackendErrorEvent, hr as dispatchQuotaExhausted, xn as dispatchUpgradePrompt, se as extractBackendError, Tt as extractQuotaExhaustedExtensions, Et as extractUpgradeErrorExtensions, g as formatBytes, _ as formatCompactNumber, v as formatCurrency, y as formatCurrencyCompact, b as formatDate, x as formatDateTime, S as formatDuration, an as formatKeyCombo, C as formatList, w as formatNumber, T as formatOrdinal, E as formatPercentage, D as formatRelativeTime, O as formatTime, a as getAlertTokens, o as getCategoryTokens, on as getDisplayKeysForPlatform, $ as getGatewayConfig, ee as getGatewayUrl, Ce as getGlobalClient, cr as getGlobalShortcutsByCategory, te as getGraphQLEndpoint, ni as getNativeBridge, ri as getPlatform, U as getProductUrl, W as getProductsWithUrls, yt as getProfileScopedKey, s as getProgressTokens, Tr as getResponsiveSelector, ot as getSSORedirectUrl, Xe as getSSoCookie, q as getShellConfig, sn as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, pe as getStoredAuthToken, me as getStoredLocale, he as getStoredOrganizationId, ge as getStoredProjectId, _e as getStoredWorkspaceId, ve as getStoredWorkspaceToken, Lr as getTourContextRank, Rr as getTourRouteCatalog, zr as getTourRouteModules, Br as getTourRoutePages, u as getTrendTokens, we as getWorkspaceClient, ne as getWorkspaceTokenPayload, Ie as gql, ye as graphqlFetch, We as hasAuthGraphQLErrors, Te as initializeAppClients, gt as initializeLogger, L as installGatewayFetchRewrite, ce as isAbortError, ii as isAndroid, Ge as isAuthGraphQLError, Ke as isAuthNetworkError, le as isBackendErrorDisplay, P as isChunkLoadError, ai as isIOS, cn as isMac, ln as isMobileDevice, oi as isNative, Dt as isQuotaExhaustedError, Ze as isSharedSsoCookieDomain, J as isShellLessRoute, un as isTabletDevice, Vr as isTourVisibleForContext, ue as isTransportError, Qe as isTrustedSsoOrigin, Ot as isUpgradeError, si as isWeb, re as isWorkspaceTokenValidForContext, F as lazyWithRetry, pt as logManager, de as markConnectionHealthy, dn as matchesKeyCombo, lr as mergeShortcuts, ci as nativeConfirm, li as nativeCopyText, ui as nativeImpact, di as nativeNotify, fi as nativeOpenUrl, pi as nativeShare, mi as nativeToast, fn as normalizeKey, pn as normalizePlatformCombo, Hr as normalizeTourPath, mn as parseKeyCombo, k as pluralize, d as progressTokens, vr as publishPlanUsageSnapshot, $e as readShellSsoCookie, qe as redirectToLogin, Ur as registerTourRouteCatalog, Ee as resetAppClients, $r as resolveAppShellObservabilityConfig, B as resolveAuthBridgeConfig, R as resolveGatewayBases, be as resolveGatewayUrl, I as resolveGatewayUrls, Wr as resolveTourTargetPath, et as setSSoCookie, tt as setShellSsoCookies, _t as setUserContext, hn as shouldEnableKeyboardShortcuts, gn as shouldIgnoreShortcut, Y as shouldShowBreadcrumb, X as shouldShowSidebar, fe as shouldToastBackendError, A as slugify, f as statusTokens, z as suppressConsole, j as toCamelCase, M as toPascalCase, p as trendTokens, N as truncateText, Mt as useActorProfiles, Le as useApolloClient, yi as useAppState, $n as useAsync, er as useAsyncImmediate, qr as useAutoStartTour, zn as useBreakpoint, Xn as useConditionalToggle, e as useCopyToClipboard, xr as useCurrentContextSearchParams, In as useDebounce, bi as useDeviceInfo, Nn as useEvent, Pn as useEventBus, Fn as useEventEmitter, Qt as useFeatureFlag, $t as useFeatureFlagDetails, en as useFeatureFlagValue, Zt as useFeatureFlags, Oe as useGateway, ke as useGatewayClient, xi as useHaptics, dr as useHasAnimated, ir as useHotkeys, Ar as useIsTourPlaying, Un as useKeyPress, Wn as useKeyboardShortcut, rr as useKeyboardShortcuts, Re as useLazyQuery, Gn as useLocalStorage, ur as useLogger, t as useMediaQuery, Cr as useMicrofrontendContext, Bn as useMobileBreakpoint, ze as useMutation, vi as useNativeKeyboard, gi as useNativePlatform, Vn as useOnClickOutside, Hn as useOnClickOutsideWithRef, qt as usePWA, Ir as usePlayTour, qn as usePrevious, Jn as usePreviousDistinct, Yn as usePreviousHistory, Be as useQuery, gr as useQuotaErrorToast, pr as useRecordProductVisit, fr as useReferralAttribution, ct as useRegistryHelpers, _i as useSafeArea, Ae as useSafeGateway, je as useSafeGatewayClient, Jr as useSafeToursContext, Kn as useSessionStorage, lt as useShellNavigate, ar as useShortcutHelp, jr as useStartTour, Si as useStatusBar, Mr as useStopTour, Ve as useSubscription, Ln as useThrottle, Zn as useToggle, Qn as useToggleObject, Er as useTourPlayer, Nr as useTourPlayerContext, Yr as useTours, Xr as useToursContext, yr as useUpgradePrompt, Cn as useVoiceInput, Gr as withTourProgressStatus };
120
+ export { wn as ASSISTANT_WIDGET_TOGGLE_EVENT, zt as AccessDenied, At as ActorIdentity, Ne as ApolloClient, Pe as ApolloProvider, Yt as AppErrorBoundary, st as AppInitializer, ei as AppShellProvider, Tn as AssistantWidget, ie as BACKEND_ERROR_EVENT, Rn as BREAKPOINTS, On as BackendAuditSink, Dn as BroadcastChannelSink, G as COMMON_SHELL_LESS_ROUTES, ae as CONNECTION_STATUS_EVENT, Kt as ConditionalShell, mt as ConsoleTransport, nn as ContextConversationWidget, Z as DEFAULT_PAGE_SIZE, K as DEFAULT_SHELL_CONFIG, En as DevtoolsSink, Nt as ErrorBoundary, Vt as ErrorFallback, jn as EventBusProvider, Ti as FE_SHARED_VERSION, Xt as FeatureFlagProvider, tn as FeatureGate, Q as GATEWAYS, cr as GLOBAL_SHORTCUT_CATEGORIES, De as GatewayProvider, Fe as InMemoryCache, _n as KeyboardHelpDialogWrapper, Ht as LoadingFallback, ut as LogLevel, ft as LogManager, dt as Logger, rr as MODIFIER_KEYS, wr as MicrofrontendContext, Gt as MicrofrontendErrorBoundary, ni as MicrofrontendProvider, An as OtelBrowserSink, yr as PLAN_USAGE_SNAPSHOT_EVENT, ir as PLATFORM_TYPES, V as PRODUCTS, H as PRODUCT_URLS, Jt as PWAInstallBanner, Ut as PageLoadingFallback, It as PermissionButton, Bt as PermissionDenied, Lt as PermissionGate, Rt as PermissionLink, bt as QUOTA_EXHAUSTED_CODE, gr as QUOTA_EXHAUSTED_EVENT, vn as QuotaMeter, xt as RESOURCE_CAP_EXCEEDED_CODE, Pt as RequireAuth, Ft as RequireGuest, kn as RybbitSink, xe as SSELink, nt as SSORedirectSpinner, St as STORAGE_QUOTA_EXCEEDED_CODE, _i as SafeAreaView, Wt as SectionLoadingFallback, $r as TourInitializer, Ir as TourPlayer, jr as TourPlayerProvider, kr as TourSpotlight, Ar as TourTooltip, ri as TourTrigger, Lr as TourTriggerButton, Jr as ToursProvider, Ct as UPGRADE_ERROR_CODES, yn as UPGRADE_PROMPT_EVENT, Sn as UpgradeInlineBanner, bn as UpgradePromptModal, Me as WsLink, r as alertTokens, Sr as appendContextToPath, He as attemptTokenRefresh, jt as buildActorFallback, wt as buildQuotaExhaustedMessage, m as capitalizeFirst, h as capitalizeWords, i as categoryTokens, rt as checkRemoteSLO, it as checkSLO, Ue as clearAuthSessionStorage, at as clearLocalAuthState, Je as clearSSoCookie, Ye as clearShellSsoCookies, ht as clearUserContext, kt as cn, n as createApolloClient, Mn as createEventBus, lr as createGlobalShortcuts, Se as createGraphQLClient, vt as createProfileScopedStorage, Er as detectDeviceType, rn as detectPlatform, oe as dispatchBackendErrorEvent, _r as dispatchQuotaExhausted, xn as dispatchUpgradePrompt, se as extractBackendError, Tt as extractQuotaExhaustedExtensions, Et as extractUpgradeErrorExtensions, g as formatBytes, _ as formatCompactNumber, v as formatCurrency, y as formatCurrencyCompact, b as formatDate, x as formatDateTime, S as formatDuration, an as formatKeyCombo, C as formatList, w as formatNumber, T as formatOrdinal, E as formatPercentage, D as formatRelativeTime, O as formatTime, a as getAlertTokens, o as getCategoryTokens, on as getDisplayKeysForPlatform, $ as getGatewayConfig, ee as getGatewayUrl, Ce as getGlobalClient, ur as getGlobalShortcutsByCategory, te as getGraphQLEndpoint, ii as getNativeBridge, ai as getPlatform, U as getProductUrl, W as getProductsWithUrls, yt as getProfileScopedKey, s as getProgressTokens, Dr as getResponsiveSelector, ot as getSSORedirectUrl, Xe as getSSoCookie, q as getShellConfig, sn as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, pe as getStoredAuthToken, me as getStoredLocale, he as getStoredOrganizationId, ge as getStoredProjectId, _e as getStoredWorkspaceId, ve as getStoredWorkspaceToken, zr as getTourContextRank, Br as getTourRouteCatalog, Vr as getTourRouteModules, Hr as getTourRoutePages, u as getTrendTokens, we as getWorkspaceClient, ne as getWorkspaceTokenPayload, Ie as gql, ye as graphqlFetch, We as hasAuthGraphQLErrors, Te as initializeAppClients, gt as initializeLogger, L as installGatewayFetchRewrite, ce as isAbortError, oi as isAndroid, Ge as isAuthGraphQLError, Ke as isAuthNetworkError, le as isBackendErrorDisplay, P as isChunkLoadError, si as isIOS, cn as isMac, ln as isMobileDevice, ci as isNative, Dt as isQuotaExhaustedError, Ze as isSharedSsoCookieDomain, J as isShellLessRoute, un as isTabletDevice, Ur as isTourVisibleForContext, ue as isTransportError, Qe as isTrustedSsoOrigin, Ot as isUpgradeError, li as isWeb, re as isWorkspaceTokenValidForContext, F as lazyWithRetry, pt as logManager, de as markConnectionHealthy, dn as matchesKeyCombo, dr as mergeShortcuts, ui as nativeConfirm, di as nativeCopyText, fi as nativeImpact, pi as nativeNotify, mi as nativeOpenUrl, hi as nativeShare, gi as nativeToast, fn as normalizeKey, pn as normalizePlatformCombo, Wr as normalizeTourPath, mn as parseKeyCombo, k as pluralize, d as progressTokens, br as publishPlanUsageSnapshot, $e as readShellSsoCookie, qe as redirectToLogin, Gr as registerTourRouteCatalog, Ee as resetAppClients, ti as resolveAppShellObservabilityConfig, B as resolveAuthBridgeConfig, R as resolveGatewayBases, be as resolveGatewayUrl, I as resolveGatewayUrls, Kr as resolveTourTargetPath, et as setSSoCookie, tt as setShellSsoCookies, _t as setUserContext, hn as shouldEnableKeyboardShortcuts, gn as shouldIgnoreShortcut, Y as shouldShowBreadcrumb, X as shouldShowSidebar, fe as shouldToastBackendError, A as slugify, f as statusTokens, z as suppressConsole, j as toCamelCase, M as toPascalCase, p as trendTokens, N as truncateText, Mt as useActorProfiles, Le as useApolloClient, xi as useAppState, tr as useAsync, nr as useAsyncImmediate, Yr as useAutoStartTour, zn as useBreakpoint, Zn as useConditionalToggle, e as useCopyToClipboard, Cr as useCurrentContextSearchParams, In as useDebounce, Si as useDeviceInfo, Nn as useEvent, Pn as useEventBus, Fn as useEventEmitter, Gn as useExclusiveMenu, Qt as useFeatureFlag, $t as useFeatureFlagDetails, en as useFeatureFlagValue, Zt as useFeatureFlags, Oe as useGateway, ke as useGatewayClient, Ci as useHaptics, pr as useHasAnimated, or as useHotkeys, Mr as useIsTourPlaying, Un as useKeyPress, Wn as useKeyboardShortcut, ar as useKeyboardShortcuts, Re as useLazyQuery, Kn as useLocalStorage, fr as useLogger, t as useMediaQuery, Tr as useMicrofrontendContext, Bn as useMobileBreakpoint, ze as useMutation, bi as useNativeKeyboard, vi as useNativePlatform, Vn as useOnClickOutside, Hn as useOnClickOutsideWithRef, qt as usePWA, er as usePagination, Rr as usePlayTour, Jn as usePrevious, Yn as usePreviousDistinct, Xn as usePreviousHistory, Be as useQuery, vr as useQuotaErrorToast, hr as useRecordProductVisit, mr as useReferralAttribution, ct as useRegistryHelpers, yi as useSafeArea, Ae as useSafeGateway, je as useSafeGatewayClient, Xr as useSafeToursContext, qn as useSessionStorage, lt as useShellNavigate, sr as useShortcutHelp, Nr as useStartTour, wi as useStatusBar, Pr as useStopTour, Ve as useSubscription, Ln as useThrottle, Qn as useToggle, $n as useToggleObject, Or as useTourPlayer, Fr as useTourPlayerContext, Zr as useTours, Qr as useToursContext, xr as useUpgradePrompt, Cn as useVoiceInput, qr as withTourProgressStatus };
@@ -4,6 +4,7 @@ export { OptionalFields, type OptionalFieldsProps } from './optional-fields';
4
4
  export { BottomSheet, BottomSheetClose, BottomSheetContent, BottomSheetDescription, BottomSheetFooter, BottomSheetHeader, BottomSheetTitle, BottomSheetTrigger, type BottomSheetContentProps, type BottomSheetProps, } from './bottom-sheet';
5
5
  export { ResponsiveDialog, ResponsiveDialogClose, ResponsiveDialogContent, ResponsiveDialogDescription, ResponsiveDialogFooter, ResponsiveDialogHeader, ResponsiveDialogTitle, ResponsiveDialogTrigger, type ResponsiveDialogContentProps, } from './responsive-dialog';
6
6
  export { ResponsiveTable, type ResponsiveTableColumn, type ResponsiveTableColumnPriority, type ResponsiveTableProps, } from './responsive-table';
7
+ export { Pagination, type PaginationProps } from './pagination';
7
8
  export { Stepper, type StepperProps, type StepperStep } from './stepper';
8
9
  export { ResponsiveStack, type ResponsiveStackProps } from './responsive-stack';
9
10
  export { EmptyState, type EmptyStateProps } from './empty-state';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG3F,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,4BAA4B,GAClC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAGzE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAGpE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAG/F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EACL,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGnF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,KAAK,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGrF,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG3F,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,4BAA4B,GAClC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAGzE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAGpE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAG/F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EACL,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGnF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,KAAK,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGrF,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface PaginationProps {
2
+ page: number;
3
+ pageSize: number;
4
+ totalItems?: number | null;
5
+ totalPages?: number | null;
6
+ hasNextPage?: boolean;
7
+ hasPreviousPage?: boolean;
8
+ loading?: boolean;
9
+ pageSizeOptions?: readonly number[];
10
+ onPageChange: (page: number) => void;
11
+ onPageSizeChange?: (pageSize: number) => void;
12
+ className?: string;
13
+ }
14
+ export declare function Pagination({ page, pageSize, totalItems, totalPages, hasNextPage, hasPreviousPage, loading, pageSizeOptions, onPageChange, onPageSizeChange, className, }: PaginationProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/ui/pagination.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,OAAe,EACf,eAAmC,EACnC,YAAY,EACZ,gBAAgB,EAChB,SAAS,GACV,EAAE,eAAe,2CA+FjB"}
@@ -0,0 +1,87 @@
1
+ import { cn as e } from "../lib/utils.js";
2
+ import { Button as t } from "./button.js";
3
+ import { Select as n, SelectContent as r, SelectItem as i, SelectTrigger as a, SelectValue as o } from "./select.js";
4
+ import { ChevronLeft as s, ChevronRight as c } from "lucide-react";
5
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
6
+ //#region src/ui/pagination.tsx
7
+ function d(e, t, n) {
8
+ return typeof e == "number" && Number.isFinite(e) ? Math.max(1, Math.floor(e)) : typeof t == "number" && Number.isFinite(t) && n > 0 ? Math.max(1, Math.ceil(t / n)) : null;
9
+ }
10
+ function f(e, t) {
11
+ if (t == null) return [e];
12
+ let n = Math.max(1, Math.min(e - 2, t - 4)), r = Math.min(t, n + 4);
13
+ return Array.from({ length: r - n + 1 }, (e, t) => n + t);
14
+ }
15
+ function p({ page: p, pageSize: m, totalItems: h, totalPages: g, hasNextPage: _, hasPreviousPage: v, loading: y = !1, pageSizeOptions: b = [
16
+ 10,
17
+ 25,
18
+ 50,
19
+ 100
20
+ ], onPageChange: x, onPageSizeChange: S, className: C }) {
21
+ let w = Math.max(1, Math.floor(p)), T = d(g, h, m), E = !y && (v ?? w > 1), D = !y && (_ ?? (T == null ? !1 : w < T)), O = f(w, T), k = typeof h == "number" && h > 0 ? (w - 1) * m + 1 : null, A = typeof h == "number" && h > 0 && k != null ? Math.min(h, k + m - 1) : null;
22
+ return /* @__PURE__ */ u("nav", {
23
+ "aria-label": "Pagination",
24
+ className: e("flex flex-col gap-3 rounded-card border border-border-subtle bg-bg-surface p-3 sm:flex-row sm:items-center sm:justify-between", C),
25
+ children: [/* @__PURE__ */ l("div", {
26
+ className: "text-sm text-text-secondary",
27
+ "aria-live": "polite",
28
+ children: k != null && A != null && h != null ? /* @__PURE__ */ u("span", { children: [
29
+ "Showing ",
30
+ k.toLocaleString(),
31
+ "-",
32
+ A.toLocaleString(),
33
+ " of",
34
+ " ",
35
+ h.toLocaleString()
36
+ ] }) : /* @__PURE__ */ u("span", { children: ["Page ", w.toLocaleString()] })
37
+ }), /* @__PURE__ */ u("div", {
38
+ className: "flex flex-wrap items-center gap-2",
39
+ children: [
40
+ S ? /* @__PURE__ */ u(n, {
41
+ value: String(m),
42
+ onValueChange: (e) => S(Number(e)),
43
+ disabled: y,
44
+ children: [/* @__PURE__ */ l(a, {
45
+ className: "h-8 w-[6.5rem] rounded-button",
46
+ "aria-label": "Rows per page",
47
+ children: /* @__PURE__ */ l(o, {})
48
+ }), /* @__PURE__ */ l(r, { children: b.map((e) => /* @__PURE__ */ u(i, {
49
+ value: String(e),
50
+ children: [e, " / page"]
51
+ }, e)) })]
52
+ }) : null,
53
+ /* @__PURE__ */ u(t, {
54
+ type: "button",
55
+ variant: "outline",
56
+ size: "sm",
57
+ onClick: () => x(Math.max(1, w - 1)),
58
+ disabled: !E,
59
+ children: [/* @__PURE__ */ l(s, { className: "size-4" }), "Previous"]
60
+ }),
61
+ /* @__PURE__ */ l("div", {
62
+ className: "flex items-center gap-1",
63
+ "aria-label": "Pages",
64
+ children: O.map((e) => /* @__PURE__ */ l(t, {
65
+ type: "button",
66
+ variant: e === w ? "default" : "outline",
67
+ size: "icon-sm",
68
+ "aria-current": e === w ? "page" : void 0,
69
+ onClick: () => x(e),
70
+ disabled: y || e === w,
71
+ children: e
72
+ }, e))
73
+ }),
74
+ /* @__PURE__ */ u(t, {
75
+ type: "button",
76
+ variant: "outline",
77
+ size: "sm",
78
+ onClick: () => x(w + 1),
79
+ disabled: !D,
80
+ children: ["Next", /* @__PURE__ */ l(c, { className: "size-4" })]
81
+ })
82
+ ]
83
+ })]
84
+ });
85
+ }
86
+ //#endregion
87
+ export { p as Pagination };
package/dist/ui.js CHANGED
@@ -6,29 +6,30 @@ import { BottomSheet as _, BottomSheetClose as v, BottomSheetContent as y, Botto
6
6
  import { ResponsiveDialog as T, ResponsiveDialogClose as E, ResponsiveDialogContent as D, ResponsiveDialogDescription as O, ResponsiveDialogFooter as k, ResponsiveDialogHeader as A, ResponsiveDialogTitle as j, ResponsiveDialogTrigger as M } from "./ui/responsive-dialog.js";
7
7
  import { Table as N, TableBody as P, TableCaption as F, TableCell as I, TableFooter as L, TableHead as R, TableHeader as z, TableRow as B } from "./ui/table.js";
8
8
  import { ResponsiveTable as V } from "./ui/responsive-table.js";
9
- import { Stepper as H } from "./ui/stepper.js";
10
- import { ResponsiveStack as U } from "./ui/responsive-stack.js";
11
- import { EmptyState as W } from "./ui/empty-state.js";
12
- import { Button as G, buttonVariants as K } from "./ui/button.js";
13
- import { AlertDialog as q, AlertDialogAction as J, AlertDialogCancel as Y, AlertDialogContent as X, AlertDialogDescription as Z, AlertDialogFooter as Q, AlertDialogHeader as $, AlertDialogOverlay as ee, AlertDialogPortal as te, AlertDialogTitle as ne, AlertDialogTrigger as re } from "./ui/alert-dialog.js";
14
- import { Badge as ie, badgeVariants as ae } from "./ui/badge.js";
15
- import { Card as oe, CardContent as se, CardDescription as ce, CardFooter as le, CardHeader as ue, CardTitle as de } from "./ui/card.js";
16
- import { Checkbox as fe } from "./ui/checkbox.js";
17
- import { Command as pe, CommandDialog as me, CommandEmpty as he, CommandGroup as ge, CommandInput as _e, CommandItem as ve, CommandList as ye, CommandSeparator as be, CommandShortcut as xe } from "./ui/command.js";
18
- import { DropdownMenu as Se, DropdownMenuCheckboxItem as Ce, DropdownMenuContent as we, DropdownMenuGroup as Te, DropdownMenuItem as Ee, DropdownMenuLabel as De, DropdownMenuPortal as Oe, DropdownMenuRadioGroup as ke, DropdownMenuRadioItem as Ae, DropdownMenuSeparator as je, DropdownMenuShortcut as Me, DropdownMenuSub as Ne, DropdownMenuSubContent as Pe, DropdownMenuSubTrigger as Fe, DropdownMenuTrigger as Ie } from "./ui/dropdown-menu.js";
19
- import { Input as Le } from "./ui/input.js";
20
- import { Label as Re } from "./ui/label.js";
21
- import { Popover as ze, PopoverAnchor as Be, PopoverContent as Ve, PopoverTrigger as He } from "./ui/popover.js";
22
- import { ScrollArea as Ue, ScrollBar as We } from "./ui/scroll-area.js";
23
- import { Select as Ge, SelectContent as Ke, SelectGroup as qe, SelectItem as Je, SelectLabel as Ye, SelectScrollDownButton as Xe, SelectScrollUpButton as Ze, SelectSeparator as Qe, SelectTrigger as $e, SelectValue as et } from "./ui/select.js";
24
- import { Separator as tt } from "./ui/separator.js";
25
- import { Sheet as nt, SheetClose as rt, SheetContent as it, SheetDescription as at, SheetFooter as ot, SheetHeader as st, SheetTitle as ct, SheetTrigger as lt } from "./ui/sheet.js";
26
- import { Skeleton as ut } from "./ui/skeleton.js";
27
- import { Toaster as dt } from "./ui/sonner.js";
28
- import { Spinner as ft } from "./ui/spinner.js";
29
- import { Switch as pt } from "./ui/switch.js";
30
- import { Tabs as mt, TabsContent as ht, TabsList as gt, TabsTrigger as _t } from "./ui/tabs.js";
31
- import { Textarea as vt } from "./ui/textarea.js";
32
- import { Tooltip as yt, TooltipContent as bt, TooltipProvider as xt, TooltipTrigger as St } from "./ui/tooltip.js";
33
- import { PageContainer as Ct } from "./ui/page-container.js";
34
- export { e as Accordion, t as AccordionContent, n as AccordionItem, r as AccordionTrigger, q as AlertDialog, J as AlertDialogAction, Y as AlertDialogCancel, X as AlertDialogContent, Z as AlertDialogDescription, Q as AlertDialogFooter, $ as AlertDialogHeader, ee as AlertDialogOverlay, te as AlertDialogPortal, ne as AlertDialogTitle, re as AlertDialogTrigger, ie as Badge, _ as BottomSheet, v as BottomSheetClose, y as BottomSheetContent, b as BottomSheetDescription, x as BottomSheetFooter, S as BottomSheetHeader, C as BottomSheetTitle, w as BottomSheetTrigger, G as Button, oe as Card, se as CardContent, ce as CardDescription, le as CardFooter, ue as CardHeader, de as CardTitle, fe as Checkbox, pe as Command, me as CommandDialog, he as CommandEmpty, ge as CommandGroup, _e as CommandInput, ve as CommandItem, ye as CommandList, be as CommandSeparator, xe as CommandShortcut, i as Dialog, a as DialogClose, o as DialogContent, s as DialogDescription, c as DialogFooter, l as DialogHeader, u as DialogOverlay, d as DialogPortal, f as DialogTitle, p as DialogTrigger, Se as DropdownMenu, Ce as DropdownMenuCheckboxItem, we as DropdownMenuContent, Te as DropdownMenuGroup, Ee as DropdownMenuItem, De as DropdownMenuLabel, Oe as DropdownMenuPortal, ke as DropdownMenuRadioGroup, Ae as DropdownMenuRadioItem, je as DropdownMenuSeparator, Me as DropdownMenuShortcut, Ne as DropdownMenuSub, Pe as DropdownMenuSubContent, Fe as DropdownMenuSubTrigger, Ie as DropdownMenuTrigger, W as EmptyState, m as EntityIdModal, Le as Input, Re as Label, g as OptionalFields, Ct as PageContainer, ze as Popover, Be as PopoverAnchor, Ve as PopoverContent, He as PopoverTrigger, T as ResponsiveDialog, E as ResponsiveDialogClose, D as ResponsiveDialogContent, O as ResponsiveDialogDescription, k as ResponsiveDialogFooter, A as ResponsiveDialogHeader, j as ResponsiveDialogTitle, M as ResponsiveDialogTrigger, U as ResponsiveStack, V as ResponsiveTable, Ue as ScrollArea, We as ScrollBar, Ge as Select, Ke as SelectContent, qe as SelectGroup, Je as SelectItem, Ye as SelectLabel, Xe as SelectScrollDownButton, Ze as SelectScrollUpButton, Qe as SelectSeparator, $e as SelectTrigger, et as SelectValue, tt as Separator, nt as Sheet, rt as SheetClose, it as SheetContent, at as SheetDescription, ot as SheetFooter, st as SheetHeader, ct as SheetTitle, lt as SheetTrigger, ut as Skeleton, ft as Spinner, H as Stepper, pt as Switch, N as Table, P as TableBody, F as TableCaption, I as TableCell, L as TableFooter, R as TableHead, z as TableHeader, B as TableRow, mt as Tabs, ht as TabsContent, gt as TabsList, _t as TabsTrigger, vt as Textarea, dt as Toaster, yt as Tooltip, bt as TooltipContent, xt as TooltipProvider, St as TooltipTrigger, ae as badgeVariants, K as buttonVariants, h as useEntityIdModal };
9
+ import { Button as H, buttonVariants as U } from "./ui/button.js";
10
+ import { Select as W, SelectContent as G, SelectGroup as K, SelectItem as q, SelectLabel as J, SelectScrollDownButton as Y, SelectScrollUpButton as X, SelectSeparator as Z, SelectTrigger as Q, SelectValue as $ } from "./ui/select.js";
11
+ import { Pagination as ee } from "./ui/pagination.js";
12
+ import { Stepper as te } from "./ui/stepper.js";
13
+ import { ResponsiveStack as ne } from "./ui/responsive-stack.js";
14
+ import { EmptyState as re } from "./ui/empty-state.js";
15
+ import { AlertDialog as ie, AlertDialogAction as ae, AlertDialogCancel as oe, AlertDialogContent as se, AlertDialogDescription as ce, AlertDialogFooter as le, AlertDialogHeader as ue, AlertDialogOverlay as de, AlertDialogPortal as fe, AlertDialogTitle as pe, AlertDialogTrigger as me } from "./ui/alert-dialog.js";
16
+ import { Badge as he, badgeVariants as ge } from "./ui/badge.js";
17
+ import { Card as _e, CardContent as ve, CardDescription as ye, CardFooter as be, CardHeader as xe, CardTitle as Se } from "./ui/card.js";
18
+ import { Checkbox as Ce } from "./ui/checkbox.js";
19
+ import { Command as we, CommandDialog as Te, CommandEmpty as Ee, CommandGroup as De, CommandInput as Oe, CommandItem as ke, CommandList as Ae, CommandSeparator as je, CommandShortcut as Me } from "./ui/command.js";
20
+ import { DropdownMenu as Ne, DropdownMenuCheckboxItem as Pe, DropdownMenuContent as Fe, DropdownMenuGroup as Ie, DropdownMenuItem as Le, DropdownMenuLabel as Re, DropdownMenuPortal as ze, DropdownMenuRadioGroup as Be, DropdownMenuRadioItem as Ve, DropdownMenuSeparator as He, DropdownMenuShortcut as Ue, DropdownMenuSub as We, DropdownMenuSubContent as Ge, DropdownMenuSubTrigger as Ke, DropdownMenuTrigger as qe } from "./ui/dropdown-menu.js";
21
+ import { Input as Je } from "./ui/input.js";
22
+ import { Label as Ye } from "./ui/label.js";
23
+ import { Popover as Xe, PopoverAnchor as Ze, PopoverContent as Qe, PopoverTrigger as $e } from "./ui/popover.js";
24
+ import { ScrollArea as et, ScrollBar as tt } from "./ui/scroll-area.js";
25
+ import { Separator as nt } from "./ui/separator.js";
26
+ import { Sheet as rt, SheetClose as it, SheetContent as at, SheetDescription as ot, SheetFooter as st, SheetHeader as ct, SheetTitle as lt, SheetTrigger as ut } from "./ui/sheet.js";
27
+ import { Skeleton as dt } from "./ui/skeleton.js";
28
+ import { Toaster as ft } from "./ui/sonner.js";
29
+ import { Spinner as pt } from "./ui/spinner.js";
30
+ import { Switch as mt } from "./ui/switch.js";
31
+ import { Tabs as ht, TabsContent as gt, TabsList as _t, TabsTrigger as vt } from "./ui/tabs.js";
32
+ import { Textarea as yt } from "./ui/textarea.js";
33
+ import { Tooltip as bt, TooltipContent as xt, TooltipProvider as St, TooltipTrigger as Ct } from "./ui/tooltip.js";
34
+ import { PageContainer as wt } from "./ui/page-container.js";
35
+ export { e as Accordion, t as AccordionContent, n as AccordionItem, r as AccordionTrigger, ie as AlertDialog, ae as AlertDialogAction, oe as AlertDialogCancel, se as AlertDialogContent, ce as AlertDialogDescription, le as AlertDialogFooter, ue as AlertDialogHeader, de as AlertDialogOverlay, fe as AlertDialogPortal, pe as AlertDialogTitle, me as AlertDialogTrigger, he as Badge, _ as BottomSheet, v as BottomSheetClose, y as BottomSheetContent, b as BottomSheetDescription, x as BottomSheetFooter, S as BottomSheetHeader, C as BottomSheetTitle, w as BottomSheetTrigger, H as Button, _e as Card, ve as CardContent, ye as CardDescription, be as CardFooter, xe as CardHeader, Se as CardTitle, Ce as Checkbox, we as Command, Te as CommandDialog, Ee as CommandEmpty, De as CommandGroup, Oe as CommandInput, ke as CommandItem, Ae as CommandList, je as CommandSeparator, Me as CommandShortcut, i as Dialog, a as DialogClose, o as DialogContent, s as DialogDescription, c as DialogFooter, l as DialogHeader, u as DialogOverlay, d as DialogPortal, f as DialogTitle, p as DialogTrigger, Ne as DropdownMenu, Pe as DropdownMenuCheckboxItem, Fe as DropdownMenuContent, Ie as DropdownMenuGroup, Le as DropdownMenuItem, Re as DropdownMenuLabel, ze as DropdownMenuPortal, Be as DropdownMenuRadioGroup, Ve as DropdownMenuRadioItem, He as DropdownMenuSeparator, Ue as DropdownMenuShortcut, We as DropdownMenuSub, Ge as DropdownMenuSubContent, Ke as DropdownMenuSubTrigger, qe as DropdownMenuTrigger, re as EmptyState, m as EntityIdModal, Je as Input, Ye as Label, g as OptionalFields, wt as PageContainer, ee as Pagination, Xe as Popover, Ze as PopoverAnchor, Qe as PopoverContent, $e as PopoverTrigger, T as ResponsiveDialog, E as ResponsiveDialogClose, D as ResponsiveDialogContent, O as ResponsiveDialogDescription, k as ResponsiveDialogFooter, A as ResponsiveDialogHeader, j as ResponsiveDialogTitle, M as ResponsiveDialogTrigger, ne as ResponsiveStack, V as ResponsiveTable, et as ScrollArea, tt as ScrollBar, W as Select, G as SelectContent, K as SelectGroup, q as SelectItem, J as SelectLabel, Y as SelectScrollDownButton, X as SelectScrollUpButton, Z as SelectSeparator, Q as SelectTrigger, $ as SelectValue, nt as Separator, rt as Sheet, it as SheetClose, at as SheetContent, ot as SheetDescription, st as SheetFooter, ct as SheetHeader, lt as SheetTitle, ut as SheetTrigger, dt as Skeleton, pt as Spinner, te as Stepper, mt as Switch, N as Table, P as TableBody, F as TableCaption, I as TableCell, L as TableFooter, R as TableHead, z as TableHeader, B as TableRow, ht as Tabs, gt as TabsContent, _t as TabsList, vt as TabsTrigger, yt as Textarea, ft as Toaster, bt as Tooltip, xt as TooltipContent, St as TooltipProvider, Ct as TooltipTrigger, ge as badgeVariants, U as buttonVariants, h as useEntityIdModal };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.623.5",
3
+ "version": "2026.623.7",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "imports": {