@burdenoff/fe-libs 2026.623.1 → 2026.623.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderBar.d.ts","sourceRoot":"","sources":["../../src/chrome/HeaderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,oBAAoB;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qGAAqG;IACrG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,kGAAkG;IAClG,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAElC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7B,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,wBAAwB;IACxB,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAE7B,iDAAiD;IACjD,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB,yDAAyD;IACzD,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,iCAAiC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAE9B,iCAAiC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,uCAAuC;IACvC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtC,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAyOxC,CAAC"}
1
+ {"version":3,"file":"HeaderBar.d.ts","sourceRoot":"","sources":["../../src/chrome/HeaderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,oBAAoB;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qGAAqG;IACrG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,kGAAkG;IAClG,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAElC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7B,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,wBAAwB;IACxB,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAE7B,iDAAiD;IACjD,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB,yDAAyD;IACzD,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,iCAAiC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAE9B,iCAAiC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,uCAAuC;IACvC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtC,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAiPxC,CAAC"}
@@ -40,15 +40,15 @@ var n = ({ logo: n, appName: r, onLogoClick: i, onMenuToggle: a, onSearchClick:
40
40
  children: [
41
41
  _,
42
42
  v && /* @__PURE__ */ e("div", {
43
- className: C ? "hidden md:block" : "",
43
+ className: C ? "hidden md:block empty:hidden" : "empty:hidden",
44
44
  children: v
45
45
  }),
46
46
  y && /* @__PURE__ */ e("div", {
47
- className: C ? "hidden md:block" : "",
47
+ className: C ? "hidden md:block empty:hidden" : "empty:hidden",
48
48
  children: y
49
49
  }),
50
50
  b && /* @__PURE__ */ e("div", {
51
- className: C ? "hidden md:block" : "",
51
+ className: C ? "hidden md:block empty:hidden" : "empty:hidden",
52
52
  children: b
53
53
  }),
54
54
  (_ || v || y || b) && /* @__PURE__ */ e("div", { className: "hidden md:block h-6 w-px bg-border-subtle" }),
@@ -1,4 +1,4 @@
1
- import { Tour } from './types';
1
+ import { Tour, TourTriggerAction } from './types';
2
2
  import { TourCurrentContext } from './routeCatalog';
3
3
  export declare function isTourTriggerListCandidate(tour: Tour, productId: string | null | undefined): boolean;
4
4
  export declare function getTourTriggerNavigationTarget(tour: Tour, currentPath: string): string | undefined;
@@ -11,5 +11,10 @@ export type TourTriggerStartAction = {
11
11
  type: 'ignore';
12
12
  };
13
13
  export declare function getTourTriggerStartAction(tour: Tour, currentPath: string, currentContext: TourCurrentContext, canNavigate: boolean): TourTriggerStartAction;
14
- export declare function TourTrigger(): import("react/jsx-runtime").JSX.Element;
14
+ export type { TourTriggerAction } from './types';
15
+ export interface TourTriggerProps {
16
+ /** Extra help actions shown below the tour list (keyboard shortcuts, support, community…). */
17
+ actions?: TourTriggerAction[];
18
+ }
19
+ export declare function TourTrigger({ actions }?: TourTriggerProps): import("react/jsx-runtime").JSX.Element;
15
20
  //# sourceMappingURL=TourTrigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TourTrigger.d.ts","sourceRoot":"","sources":["../../../src/shared/tours/TourTrigger.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAWxB,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,OAAO,CAQT;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAIpB;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,OAAO,GACnB,sBAAsB,CAOxB;AAOD,wBAAgB,WAAW,4CAM1B"}
1
+ {"version":3,"file":"TourTrigger.d.ts","sourceRoot":"","sources":["../../../src/shared/tours/TourTrigger.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAWxB,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,OAAO,CAQT;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAIpB;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,OAAO,GACnB,sBAAsB,CAOxB;AAED,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,8FAA8F;IAC9F,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAQD,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,GAAE,gBAAqB,2CAM7D"}
@@ -25,126 +25,136 @@ function w(e, t, n, i) {
25
25
  targetPath: a
26
26
  } : { type: "ignore" } : r(e, n) ? { type: "play" } : { type: "ignore" };
27
27
  }
28
- function T() {
29
- return g() ? /* @__PURE__ */ m(E, {}) : /* @__PURE__ */ m(D, { pathname: typeof window > "u" ? "/" : window.location.pathname });
28
+ function T({ actions: e } = {}) {
29
+ return g() ? /* @__PURE__ */ m(E, { actions: e }) : /* @__PURE__ */ m(D, {
30
+ pathname: typeof window > "u" ? "/" : window.location.pathname,
31
+ actions: e
32
+ });
30
33
  }
31
- function E() {
32
- let e = _(), t = v();
34
+ function E({ actions: e }) {
35
+ let t = _(), n = v();
33
36
  return /* @__PURE__ */ m(D, {
34
- pathname: e.pathname,
35
- navigateTo: (n) => t({
36
- pathname: n,
37
- search: e.search
38
- })
37
+ pathname: t.pathname,
38
+ navigateTo: (e) => n({
39
+ pathname: e,
40
+ search: t.search
41
+ }),
42
+ actions: e
39
43
  });
40
44
  }
41
- function D({ pathname: r, navigateTo: i }) {
42
- let [a, g] = p(!1), [_, v] = p(!1), [C, T] = p(null), E = f(null), D = f(null), { pageTours: O, productId: k, moduleId: A, pageId: j, loading: M } = o(), N = t(), P = !!i, F = e()?.pageAccessDenied ?? !1;
45
+ function D({ pathname: r, navigateTo: i, actions: a }) {
46
+ let [g, _] = p(!1), [v, C] = p(!1), [T, E] = p(null), D = f(null), O = f(null), { pageTours: k, productId: A, moduleId: j, pageId: M, loading: N } = o(), P = t(), F = !!i, I = e()?.pageAccessDenied ?? !1;
43
47
  u(() => {
44
48
  let e = () => {
45
- v(window.innerWidth < 768);
49
+ C(window.innerWidth < 768);
46
50
  };
47
51
  return e(), window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
48
52
  }, []), u(() => {
49
53
  let e = (e) => {
50
- D.current && !D.current.contains(e.target) && E.current && !E.current.contains(e.target) && g(!1);
54
+ O.current && !O.current.contains(e.target) && D.current && !D.current.contains(e.target) && _(!1);
51
55
  };
52
- return a && (document.addEventListener("mousedown", e), _ && (document.body.style.overflow = "hidden")), () => {
56
+ return g && (document.addEventListener("mousedown", e), v && (document.body.style.overflow = "hidden")), () => {
53
57
  document.removeEventListener("mousedown", e), document.body.style.overflow = "";
54
58
  };
55
- }, [a, _]), u(() => {
59
+ }, [g, v]), u(() => {
56
60
  let e = (e) => {
57
- e.key === "Escape" && g(!1);
61
+ e.key === "Escape" && _(!1);
58
62
  };
59
- return a && document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
60
- }, [a]);
61
- let I = (e) => {
62
- g(!1);
63
+ return g && document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
64
+ }, [g]);
65
+ let L = (e) => {
66
+ _(!1);
63
67
  let t = w(e, r, {
64
- productId: k ?? "",
65
- moduleId: A,
66
- pageId: j
67
- }, P);
68
+ productId: A ?? "",
69
+ moduleId: j,
70
+ pageId: M
71
+ }, F);
68
72
  if (t.type === "navigate") {
69
- T(e.id), i?.(t.targetPath);
73
+ E(e.id), i?.(t.targetPath);
70
74
  return;
71
75
  }
72
76
  t.type !== "ignore" && window.setTimeout(() => {
73
- N(e);
77
+ P(e);
74
78
  }, b);
75
- }, L = d(() => ({
76
- productId: k ?? "",
77
- moduleId: A,
78
- pageId: j
79
+ }, R = (e) => {
80
+ _(!1), e.onClick?.();
81
+ }, z = d(() => ({
82
+ productId: A ?? "",
83
+ moduleId: j,
84
+ pageId: M
79
85
  }), [
80
- A,
81
86
  j,
82
- k
83
- ]), R = d(() => O.filter((e) => S(e, k)).sort((e, t) => {
84
- let r = n(e, L) - n(t, L);
87
+ M,
88
+ A
89
+ ]), B = d(() => k.filter((e) => S(e, A)).sort((e, t) => {
90
+ let r = n(e, z) - n(t, z);
85
91
  if (r !== 0) return r;
86
92
  let i = (t.priority ?? 0) - (e.priority ?? 0);
87
93
  return i === 0 ? (e.displayOrder ?? 0) - (t.displayOrder ?? 0) : i;
88
94
  }), [
89
- L,
90
- k,
91
- O
95
+ z,
96
+ A,
97
+ k
92
98
  ]);
93
99
  u(() => {
94
- if (!C) return;
95
- let e = R.find((e) => e.id === C);
100
+ if (!T) return;
101
+ let e = B.find((e) => e.id === T);
96
102
  if (!e) {
97
- T(null);
103
+ E(null);
98
104
  return;
99
105
  }
100
- let t = w(e, r, L, P);
106
+ let t = w(e, r, z, F);
101
107
  if (t.type === "navigate") return;
102
108
  if (t.type === "ignore") {
103
- T(null);
109
+ E(null);
104
110
  return;
105
111
  }
106
112
  let n = window.setTimeout(() => {
107
- N(e), T(null);
113
+ P(e), E(null);
108
114
  }, x);
109
115
  return () => window.clearTimeout(n);
110
116
  }, [
111
- R,
112
- P,
113
- L,
117
+ B,
118
+ F,
119
+ z,
114
120
  r,
115
- C,
116
- N
121
+ T,
122
+ P
117
123
  ]), u(() => {
118
- if (!C) return;
124
+ if (!T) return;
119
125
  let e = window.setTimeout(() => {
120
- T(null);
126
+ E(null);
121
127
  }, y);
122
128
  return () => window.clearTimeout(e);
123
- }, [C]);
124
- let z = R.length > 0, B = F;
129
+ }, [T]);
130
+ let V = B.length > 0, H = I;
125
131
  return u(() => {
126
- B && a && g(!1);
127
- }, [B, a]), B ? null : /* @__PURE__ */ h("div", {
132
+ H && g && _(!1);
133
+ }, [H, g]), H ? null : /* @__PURE__ */ h("div", {
128
134
  className: "relative",
129
135
  children: [
130
136
  /* @__PURE__ */ m(s, {
131
- ref: E,
132
- isOpen: a,
133
- hasTours: z,
134
- onClick: () => g(!a)
135
- }),
136
- a && _ && /* @__PURE__ */ m(c, {
137
137
  ref: D,
138
- loading: M,
139
- tours: R,
140
- onClose: () => g(!1),
141
- onStartTour: I
138
+ isOpen: g,
139
+ hasTours: V,
140
+ onClick: () => _(!g)
142
141
  }),
143
- a && !_ && /* @__PURE__ */ m(l, {
144
- ref: D,
145
- loading: M,
146
- tours: R,
147
- onStartTour: I
142
+ g && v && /* @__PURE__ */ m(c, {
143
+ ref: O,
144
+ loading: N,
145
+ tours: B,
146
+ onClose: () => _(!1),
147
+ onStartTour: L,
148
+ actions: a,
149
+ onAction: R
150
+ }),
151
+ g && !v && /* @__PURE__ */ m(l, {
152
+ ref: O,
153
+ loading: N,
154
+ tours: B,
155
+ onStartTour: L,
156
+ actions: a,
157
+ onAction: R
148
158
  })
149
159
  ]
150
160
  });
@@ -1,8 +1,10 @@
1
- import { Tour } from '../types';
1
+ import { Tour, TourTriggerAction } from '../types';
2
2
  interface DesktopTourDropdownProps {
3
3
  loading: boolean;
4
4
  tours: Tour[];
5
5
  onStartTour: (tour: Tour) => void;
6
+ actions?: TourTriggerAction[];
7
+ onAction?: (action: TourTriggerAction) => void;
6
8
  }
7
9
  export declare const DesktopTourDropdown: import('react').ForwardRefExoticComponent<DesktopTourDropdownProps & import('react').RefAttributes<HTMLDivElement>>;
8
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopTourDropdown.d.ts","sourceRoot":"","sources":["../../../../src/shared/tours/tourTrigger/DesktopTourDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGrC,UAAU,wBAAwB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,mBAAmB,qHAsC/B,CAAC"}
1
+ {"version":3,"file":"DesktopTourDropdown.d.ts","sourceRoot":"","sources":["../../../../src/shared/tours/tourTrigger/DesktopTourDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGxD,UAAU,wBAAwB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAChD;AAED,eAAO,MAAM,mBAAmB,qHAsE/B,CAAC"}
@@ -1,48 +1,74 @@
1
1
  import { TourListItemDesktop as e } from "./TourListItemDesktop.js";
2
2
  import { forwardRef as t } from "react";
3
- import { Sparkles as n } from "lucide-react";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
3
+ import { ExternalLink as n, Sparkles as r } from "lucide-react";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
5
  //#region src/shared/tours/tourTrigger/DesktopTourDropdown.tsx
6
- var a = t(function({ loading: t, tours: a, onStartTour: o }, s) {
7
- return /* @__PURE__ */ i("div", {
8
- ref: s,
9
- className: "absolute right-0 top-full mt-2 w-80 bg-bg-surface rounded-lg shadow-xl border border-border-subtle z-50 animate-in fade-in slide-in-from-top-2 duration-200",
6
+ var o = t(function({ loading: t, tours: o, onStartTour: s, actions: c, onAction: l }, u) {
7
+ let d = !!(c && c.length > 0);
8
+ return /* @__PURE__ */ a("div", {
9
+ ref: u,
10
+ className: "absolute right-0 top-full mt-2 w-80 bg-bg-elevated rounded-lg shadow-[var(--shadow-elevation-4)] border border-border-subtle z-50 animate-in fade-in slide-in-from-top-2 duration-200",
10
11
  children: [
11
- /* @__PURE__ */ i("div", {
12
+ /* @__PURE__ */ a("div", {
12
13
  className: "flex items-center gap-2 px-4 py-3 border-b border-border-subtle",
13
- children: [/* @__PURE__ */ r(n, { className: "size-4 text-action-primary-bg" }), /* @__PURE__ */ r("h3", {
14
+ children: [/* @__PURE__ */ i(r, { className: "size-4 text-action-primary-bg" }), /* @__PURE__ */ i("h3", {
14
15
  className: "font-medium text-text-primary",
15
- children: "Product Tours"
16
+ children: "Help & tours"
16
17
  })]
17
18
  }),
18
- /* @__PURE__ */ r("div", {
19
+ /* @__PURE__ */ i("div", {
19
20
  className: "max-h-80 overflow-y-auto",
20
- children: t ? /* @__PURE__ */ r("div", {
21
+ children: t ? /* @__PURE__ */ i("div", {
21
22
  className: "flex items-center justify-center py-6",
22
- children: /* @__PURE__ */ r("div", { className: "animate-spin rounded-full size-5 border-2 border-action-primary-bg border-t-transparent" })
23
- }) : a.length > 0 ? /* @__PURE__ */ r("div", {
23
+ children: /* @__PURE__ */ i("div", { className: "animate-spin rounded-full size-5 border-2 border-action-primary-bg border-t-transparent" })
24
+ }) : o.length > 0 ? /* @__PURE__ */ i("div", {
24
25
  className: "p-2",
25
- children: a.map((t) => /* @__PURE__ */ r(e, {
26
+ children: o.map((t) => /* @__PURE__ */ i(e, {
26
27
  tour: t,
27
- onStart: o
28
+ onStart: s
28
29
  }, t.id))
29
- }) : /* @__PURE__ */ r("div", {
30
- className: "text-center py-6 px-4",
31
- children: /* @__PURE__ */ r("p", {
30
+ }) : /* @__PURE__ */ i("div", {
31
+ className: "px-4 py-4",
32
+ children: /* @__PURE__ */ i("p", {
32
33
  className: "text-sm text-text-secondary",
33
- children: "No tours available for this page"
34
+ children: "No guided tours for this page yet."
34
35
  })
35
36
  })
36
37
  }),
37
- a.length > 0 && /* @__PURE__ */ r("div", {
38
- className: "px-4 py-2 border-t border-border-subtle bg-bg-muted/50 rounded-b-lg",
39
- children: /* @__PURE__ */ r("p", {
40
- className: "text-xs text-text-tertiary text-center",
41
- children: "Click a tour to start the guided walkthrough"
42
- })
38
+ d && /* @__PURE__ */ i("div", {
39
+ className: "border-t border-border-subtle p-2",
40
+ children: c.map((e) => e.href ? /* @__PURE__ */ a("a", {
41
+ href: e.href,
42
+ target: "_blank",
43
+ rel: "noreferrer",
44
+ onClick: () => l?.(e),
45
+ className: "flex items-center gap-3 rounded-button px-3 py-2 text-sm text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors",
46
+ children: [
47
+ e.icon && /* @__PURE__ */ i("span", {
48
+ className: "flex size-4 items-center justify-center text-text-muted",
49
+ children: e.icon
50
+ }),
51
+ /* @__PURE__ */ i("span", {
52
+ className: "flex-1 truncate",
53
+ children: e.label
54
+ }),
55
+ /* @__PURE__ */ i(n, { className: "size-3.5 text-text-muted" })
56
+ ]
57
+ }, e.id) : /* @__PURE__ */ a("button", {
58
+ type: "button",
59
+ onClick: () => l?.(e),
60
+ className: "flex w-full items-center gap-3 rounded-button px-3 py-2 text-left text-sm text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors",
61
+ children: [e.icon && /* @__PURE__ */ i("span", {
62
+ className: "flex size-4 items-center justify-center text-text-muted",
63
+ children: e.icon
64
+ }), /* @__PURE__ */ i("span", {
65
+ className: "flex-1 truncate",
66
+ children: e.label
67
+ })]
68
+ }, e.id))
43
69
  })
44
70
  ]
45
71
  });
46
72
  });
47
73
  //#endregion
48
- export { a as DesktopTourDropdown };
74
+ export { o as DesktopTourDropdown };
@@ -1,9 +1,11 @@
1
- import { Tour } from '../types';
1
+ import { Tour, TourTriggerAction } from '../types';
2
2
  interface MobileTourSheetProps {
3
3
  loading: boolean;
4
4
  tours: Tour[];
5
5
  onClose: () => void;
6
6
  onStartTour: (tour: Tour) => void;
7
+ actions?: TourTriggerAction[];
8
+ onAction?: (action: TourTriggerAction) => void;
7
9
  }
8
10
  export declare const MobileTourSheet: import('react').ForwardRefExoticComponent<MobileTourSheetProps & import('react').RefAttributes<HTMLDivElement>>;
9
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"MobileTourSheet.d.ts","sourceRoot":"","sources":["../../../../src/shared/tours/tourTrigger/MobileTourSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGrC,UAAU,oBAAoB;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,eAAe,iHA0D3B,CAAC"}
1
+ {"version":3,"file":"MobileTourSheet.d.ts","sourceRoot":"","sources":["../../../../src/shared/tours/tourTrigger/MobileTourSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGxD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAChD;AAED,eAAO,MAAM,eAAe,iHA+F3B,CAAC"}
@@ -1,68 +1,93 @@
1
1
  import { TourListItemMobile as e } from "./TourListItemMobile.js";
2
2
  import { forwardRef as t } from "react";
3
- import { HelpCircle as n, Sparkles as r, X as i } from "lucide-react";
4
- import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
3
+ import { ExternalLink as n, HelpCircle as r, Sparkles as i, X as a } from "lucide-react";
4
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
5
5
  //#region src/shared/tours/tourTrigger/MobileTourSheet.tsx
6
- var c = t(function({ loading: t, tours: c, onClose: l, onStartTour: u }, d) {
7
- return /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("div", {
6
+ var l = t(function({ loading: t, tours: l, onClose: u, onStartTour: d, actions: f, onAction: p }, m) {
7
+ let h = !!(f && f.length > 0);
8
+ return /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("div", {
8
9
  className: "fixed inset-0 bg-black/50 z-[100] animate-in fade-in duration-200",
9
- onClick: l
10
- }), /* @__PURE__ */ s("div", {
11
- ref: d,
10
+ onClick: u
11
+ }), /* @__PURE__ */ c("div", {
12
+ ref: m,
12
13
  className: "fixed inset-x-0 bottom-0 z-[101] bg-bg-surface rounded-t-2xl shadow-xl animate-in slide-in-from-bottom duration-300 max-h-[80vh] flex flex-col",
13
14
  children: [
14
- /* @__PURE__ */ o("div", {
15
+ /* @__PURE__ */ s("div", {
15
16
  className: "flex justify-center pt-3 pb-2",
16
- children: /* @__PURE__ */ o("div", { className: "w-10 h-1 bg-border-default rounded-full" })
17
+ children: /* @__PURE__ */ s("div", { className: "w-10 h-1 bg-border-default rounded-full" })
17
18
  }),
18
- /* @__PURE__ */ s("div", {
19
+ /* @__PURE__ */ c("div", {
19
20
  className: "flex items-center justify-between px-4 pb-3 border-b border-border-subtle",
20
- children: [/* @__PURE__ */ s("div", {
21
+ children: [/* @__PURE__ */ c("div", {
21
22
  className: "flex items-center gap-2",
22
- children: [/* @__PURE__ */ o(r, { className: "size-5 text-action-primary-bg" }), /* @__PURE__ */ o("h2", {
23
+ children: [/* @__PURE__ */ s(i, { className: "size-5 text-action-primary-bg" }), /* @__PURE__ */ s("h2", {
23
24
  className: "text-lg font-semibold text-text-primary",
24
- children: "Product Tours"
25
+ children: "Help & tours"
25
26
  })]
26
- }), /* @__PURE__ */ o("button", {
27
+ }), /* @__PURE__ */ s("button", {
27
28
  type: "button",
28
- onClick: l,
29
+ onClick: u,
29
30
  className: "p-2 hover:bg-action-ghost-bg-hover rounded-full",
30
31
  "aria-label": "Close",
31
- children: /* @__PURE__ */ o(i, { className: "size-5" })
32
+ children: /* @__PURE__ */ s(a, { className: "size-5" })
32
33
  })]
33
34
  }),
34
- /* @__PURE__ */ o("div", {
35
+ /* @__PURE__ */ c("div", {
35
36
  className: "flex-1 overflow-y-auto p-4",
36
- children: t ? /* @__PURE__ */ o("div", {
37
+ children: [t ? /* @__PURE__ */ s("div", {
37
38
  className: "flex items-center justify-center py-8",
38
- children: /* @__PURE__ */ o("div", { className: "animate-spin rounded-full size-6 border-2 border-action-primary-bg border-t-transparent" })
39
- }) : c.length > 0 ? /* @__PURE__ */ s("div", {
39
+ children: /* @__PURE__ */ s("div", { className: "animate-spin rounded-full size-6 border-2 border-action-primary-bg border-t-transparent" })
40
+ }) : l.length > 0 ? /* @__PURE__ */ c("div", {
40
41
  className: "space-y-3",
41
- children: [/* @__PURE__ */ o("p", {
42
+ children: [/* @__PURE__ */ s("p", {
42
43
  className: "text-sm text-text-secondary mb-4",
43
44
  children: "Take a guided tour. Current-page tours are shown first."
44
- }), c.map((t) => /* @__PURE__ */ o(e, {
45
+ }), l.map((t) => /* @__PURE__ */ s(e, {
45
46
  tour: t,
46
- onStart: u
47
+ onStart: d
47
48
  }, t.id))]
48
- }) : /* @__PURE__ */ s("div", {
49
- className: "text-center py-8",
50
- children: [
51
- /* @__PURE__ */ o(n, { className: "size-12 mx-auto text-text-tertiary mb-3" }),
52
- /* @__PURE__ */ o("p", {
53
- className: "text-text-secondary",
54
- children: "No tours available for this page"
55
- }),
56
- /* @__PURE__ */ o("p", {
57
- className: "text-sm text-text-tertiary mt-1",
58
- children: "Check back later or explore other pages"
59
- })
60
- ]
61
- })
49
+ }) : /* @__PURE__ */ c("div", {
50
+ className: "text-center py-6",
51
+ children: [/* @__PURE__ */ s(r, { className: "size-10 mx-auto text-text-tertiary mb-2" }), /* @__PURE__ */ s("p", {
52
+ className: "text-text-secondary",
53
+ children: "No guided tours for this page yet"
54
+ })]
55
+ }), h && /* @__PURE__ */ s("div", {
56
+ className: "mt-4 border-t border-border-subtle pt-3 space-y-1",
57
+ children: f.map((e) => e.href ? /* @__PURE__ */ c("a", {
58
+ href: e.href,
59
+ target: "_blank",
60
+ rel: "noreferrer",
61
+ onClick: () => p?.(e),
62
+ className: "flex items-center gap-3 rounded-button px-3 py-3 text-sm text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors",
63
+ children: [
64
+ e.icon && /* @__PURE__ */ s("span", {
65
+ className: "flex size-5 items-center justify-center text-text-muted",
66
+ children: e.icon
67
+ }),
68
+ /* @__PURE__ */ s("span", {
69
+ className: "flex-1 truncate",
70
+ children: e.label
71
+ }),
72
+ /* @__PURE__ */ s(n, { className: "size-4 text-text-muted" })
73
+ ]
74
+ }, e.id) : /* @__PURE__ */ c("button", {
75
+ type: "button",
76
+ onClick: () => p?.(e),
77
+ className: "flex w-full items-center gap-3 rounded-button px-3 py-3 text-left text-sm text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors",
78
+ children: [e.icon && /* @__PURE__ */ s("span", {
79
+ className: "flex size-5 items-center justify-center text-text-muted",
80
+ children: e.icon
81
+ }), /* @__PURE__ */ s("span", {
82
+ className: "flex-1 truncate",
83
+ children: e.label
84
+ })]
85
+ }, e.id))
86
+ })]
62
87
  }),
63
- /* @__PURE__ */ o("div", { className: "h-safe-area-inset-bottom" })
88
+ /* @__PURE__ */ s("div", { className: "h-safe-area-inset-bottom" })
64
89
  ]
65
90
  })] });
66
91
  });
67
92
  //#endregion
68
- export { c as MobileTourSheet };
93
+ export { l as MobileTourSheet };
@@ -212,4 +212,17 @@ export declare function getResponsiveSelector(step: TourStep, deviceType: Device
212
212
  * Detect current device type based on screen width
213
213
  */
214
214
  export declare function detectDeviceType(): DeviceType;
215
+ /**
216
+ * An extra help action rendered in the TourTrigger ("?") dropdown beneath the
217
+ * tour list — e.g. "Keyboard shortcuts", "Community", "Support". Provide either
218
+ * an `onClick` (in-app action) or an `href` (external link).
219
+ */
220
+ export interface TourTriggerAction {
221
+ id: string;
222
+ label: string;
223
+ description?: string;
224
+ icon?: import('react').ReactNode;
225
+ onClick?: () => void;
226
+ href?: string;
227
+ }
215
228
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/tours/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/tours/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAE1E;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAEnG;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,kBAAkB,GAClB,aAAa,GACb,UAAU,GACV,WAAW,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,aAAa,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,SAAS,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,eAAe,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe,EAAE,iBAAiB;IAChF,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACtC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAWhG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAO7C;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"uploadBlob.d.ts","sourceRoot":"","sources":["../../src/storage/uploadBlob.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAyBxD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,UAKpC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AA6CD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,YAAY,CAAC,CAsIvB"}
1
+ {"version":3,"file":"uploadBlob.d.ts","sourceRoot":"","sources":["../../src/storage/uploadBlob.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAyBxD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,UAKpC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AA6CD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CA8HvF"}
@@ -43,7 +43,7 @@ function a({ steps: a, active: o, onStepClick: s, allowSkipAhead: c = !1, classN
43
43
  "aria-label": "Steps",
44
44
  children: a.map((t, l) => {
45
45
  let u = l < o ? "done" : l === o ? "active" : "todo", d = !!s && (c || l <= o), f = /* @__PURE__ */ r("span", {
46
- className: e("inline-flex size-7 items-center justify-center rounded-full border text-xs font-semibold transition-colors", u === "done" && "border-action-primary-bg bg-action-primary-bg text-action-primary-text", u === "active" && "border-action-primary-bg bg-[var(--color-accent-soft)] text-action-primary-bg", u === "todo" && "border-border-default text-text-muted"),
46
+ className: e("inline-flex size-7 items-center justify-center rounded-full border text-xs font-semibold transition-colors", u === "done" && "border-action-primary-bg bg-action-primary-bg text-action-primary-text", u === "active" && "border-action-primary-bg bg-[var(--color-accent-soft)] text-text-primary", u === "todo" && "border-border-default text-text-muted"),
47
47
  "aria-hidden": "true",
48
48
  children: u === "done" ? /* @__PURE__ */ r(n, { className: "size-4" }) : l + 1
49
49
  }), p = /* @__PURE__ */ i("span", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.623.1",
3
+ "version": "2026.623.3",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "imports": {
@@ -43,12 +43,15 @@
43
43
  --color-border-subtle: #1B2E24;
44
44
  --color-border-strong: #3B5A49;
45
45
 
46
- --color-action-primary-bg: #22C55E;
47
- --color-action-primary-bgHover: #34D77A;
48
- --color-action-primary-bgActive: #16A34A;
46
+ /* Deeper green so WHITE button text is legible (vivid #22C55E only takes dark
47
+ * text — which reads poorly on the saturated fill). #22C55E stays the chart/
48
+ * accent-icon hue below. */
49
+ --color-action-primary-bg: #15803D;
50
+ --color-action-primary-bgHover: #1B9E4B;
51
+ --color-action-primary-bgActive: #0F5C2E;
49
52
  --color-action-primary-bgDisabled: #1F3A2C;
50
- --color-action-primary-text: #04210F;
51
- --color-action-primary-border: #22C55E;
53
+ --color-action-primary-text: #FFFFFF;
54
+ --color-action-primary-border: #15803D;
52
55
 
53
56
  --color-action-secondary-bg: #19271F;
54
57
  --color-action-secondary-bgHover: #21342A;
@@ -65,6 +68,12 @@
65
68
  --color-overlay-popoverBg: #19271F;
66
69
  --color-surface-glass: rgba(18, 32, 25, 0.66);
67
70
 
71
+ /* Brand accent palette follows the theme accent in expressive themes, so
72
+ * components that used the vibecontrols purple now adopt the theme hue. */
73
+ --color-accent-purple: var(--color-action-primary-bg);
74
+ --color-accent-purple-hover: var(--color-action-primary-bgHover);
75
+ --color-accent-purple-subtle: var(--color-accent-soft);
76
+
68
77
  --color-chart-1: #22C55E;
69
78
  --color-chart-2: #2DD4BF;
70
79
  --color-chart-positive: #34D399;
@@ -121,6 +130,10 @@
121
130
  --color-overlay-popoverBg: #182740;
122
131
  --color-surface-glass: rgba(16, 25, 42, 0.66);
123
132
 
133
+ --color-accent-purple: var(--color-action-primary-bg);
134
+ --color-accent-purple-hover: var(--color-action-primary-bgHover);
135
+ --color-accent-purple-subtle: var(--color-accent-soft);
136
+
124
137
  --color-chart-1: #3B82F6;
125
138
  --color-chart-2: #22D3EE;
126
139
  --color-chart-positive: #34D399;
@@ -155,12 +168,14 @@
155
168
  --color-border-subtle: #251B30;
156
169
  --color-border-strong: #4E3C5A;
157
170
 
158
- --color-action-primary-bg: #F97316;
159
- --color-action-primary-bgHover: #FB923C;
160
- --color-action-primary-bgActive: #EA580C;
171
+ /* Deeper orange so WHITE button text is legible (vivid #F97316 only takes
172
+ * dark text). #F97316 stays the chart/accent-icon hue below. */
173
+ --color-action-primary-bg: #C2410C;
174
+ --color-action-primary-bgHover: #EA580C;
175
+ --color-action-primary-bgActive: #9A3412;
161
176
  --color-action-primary-bgDisabled: #45301F;
162
- --color-action-primary-text: #210C02;
163
- --color-action-primary-border: #F97316;
177
+ --color-action-primary-text: #FFFFFF;
178
+ --color-action-primary-border: #C2410C;
164
179
 
165
180
  --color-action-secondary-bg: #271B30;
166
181
  --color-action-secondary-bgHover: #33243F;
@@ -177,6 +192,10 @@
177
192
  --color-overlay-popoverBg: #2C2138;
178
193
  --color-surface-glass: rgba(32, 24, 42, 0.66);
179
194
 
195
+ --color-accent-purple: var(--color-action-primary-bg);
196
+ --color-accent-purple-hover: var(--color-action-primary-bgHover);
197
+ --color-accent-purple-subtle: var(--color-accent-soft);
198
+
180
199
  --color-chart-1: #F97316;
181
200
  --color-chart-2: #FB7185;
182
201
  --color-chart-positive: #34D399;
@@ -274,6 +293,11 @@
274
293
  --color-border-glass: #6B6B6B;
275
294
  --blur-glass: 0px;
276
295
 
296
+ /* Brand accent palette follows the theme accent (solid, no translucency) */
297
+ --color-accent-purple: #00E676;
298
+ --color-accent-purple-hover: #4DFF9D;
299
+ --color-accent-purple-subtle: #06351A;
300
+
277
301
  /* Vivid yellow focus ring */
278
302
  --color-focus-ring: #FFFF00;
279
303
  --shadow-focus: 0 0 0 3px rgba(255, 255, 0, 0.55);