prometeo-design-system 3.1.2 → 3.1.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.
Files changed (27) hide show
  1. package/dist/Avatar.es.js +13 -13
  2. package/dist/{CardProfile-Ct5Fs60N.js → CardProfile-BVO6fKr9.js} +30 -29
  3. package/dist/CardProfile.es.js +1 -1
  4. package/dist/RecurrentDatePicker.es.js +1 -1
  5. package/dist/{Select-DW30oGym.js → Select-Bq1fVlwM.js} +2 -2
  6. package/dist/Select.es.js +1 -1
  7. package/dist/SelectSearch.d.ts +2 -0
  8. package/dist/SelectSearch.es.js +147 -131
  9. package/dist/components/NavigationDrawer/NavItemSecondary.d.ts +1 -0
  10. package/dist/components/NavigationDrawer/NavigationDrawer.d.ts +25 -21
  11. package/dist/components/NavigationDrawer/NavigationDrawerActionItem.d.ts +14 -0
  12. package/dist/components/NavigationDrawer/NavigationDrawerActions.d.ts +9 -0
  13. package/dist/components/NavigationDrawer/NavigationDrawerItemBase.d.ts +17 -0
  14. package/dist/components/NavigationDrawer/{NavItem.d.ts → NavigationDrawerLinkItem.d.ts} +9 -4
  15. package/dist/components/NavigationDrawer/NavigationDrawerNavlinks.d.ts +11 -0
  16. package/dist/components/PyrionNavigationDrawer/PyrionNavigationDrawer.d.ts +51 -0
  17. package/dist/components/Scrollable/Scrollable.d.ts +25 -0
  18. package/dist/components/SelectSearch/SelectSearch.d.ts +6 -2
  19. package/dist/components/TabSwitch/TabSwitch.d.ts +0 -20
  20. package/dist/exports/SelectSearch.d.ts +2 -0
  21. package/dist/prometeo-design-system.es.js +3 -3
  22. package/dist/styles.css +1 -1
  23. package/package.json +1 -1
  24. package/src/styles/base.css +22 -0
  25. package/src/styles/intellisense.css +1 -0
  26. package/src/styles/utilities.css +18 -0
  27. package/dist/components/PyrionNavigationDrawer/PyirionNavigationDrawer.d.ts +0 -40
@@ -1,53 +1,53 @@
1
- import { j as X } from "./jsx-runtime-DKDX3adD.js";
2
- import { g as i, S as Y } from "./Select-DW30oGym.js";
3
- import { useState as x, useRef as A, useEffect as b, useMemo as Z, useCallback as ee } from "react";
4
- function le(e) {
1
+ import { j as Y } from "./jsx-runtime-DKDX3adD.js";
2
+ import { g as i, S as Z } from "./Select-Bq1fVlwM.js";
3
+ import { useState as A, useRef as E, useEffect as b, useMemo as ee, useCallback as te } from "react";
4
+ function re(e) {
5
5
  const {
6
6
  options: O,
7
- fetcher: u,
8
- asyncMode: S = "fetch_in_open",
9
- disabled: _ = !1,
10
- debounceDelay: E = 500,
11
- minCharacters: w = 3,
7
+ fetcher: d,
8
+ asyncMode: _ = "fetch_in_open",
9
+ disabled: w = !1,
10
+ debounceDelay: P = 500,
11
+ minCharacters: T = 3,
12
12
  optionLabel: h,
13
13
  optionValue: s,
14
- controlledValue: d,
14
+ controlledValue: f,
15
15
  isOpen: F,
16
- inputRef: P,
17
- name: T
18
- } = e || {}, M = O ? O.filter((t) => t != null) : [], [p, y] = x(M || []), [D, I] = x(M || []), [c, N] = x(""), [W, C] = x(!1), [J, U] = x(!1), l = A(null), g = A(null), m = A(!1), V = A(u), L = e?.multiple === !0 || !1, k = A(L ? [] : void 0), [f, v] = x(L ? [] : void 0);
16
+ inputRef: y,
17
+ name: k
18
+ } = e || {}, M = O ? O.filter((t) => t != null) : [], [V, g] = A(M || []), [D, I] = A(M || []), [c, N] = A(""), [W, v] = A(!1), [J, U] = A(!1), o = E(null), C = E(null), m = E(!1), L = E(d), S = e?.multiple === !0 || !1, j = E(S ? [] : void 0), [a, p] = A(S ? [] : void 0);
19
19
  b(() => {
20
- V.current = u;
21
- }, [u]), b(() => {
22
- if (L) {
23
- const t = z(d, "value");
24
- v(t);
25
- } else
26
- d != null ? v(d) : v(void 0);
20
+ L.current = d;
27
21
  }, [d]), b(() => {
28
- k.current = d !== void 0 ? d : f;
29
- }, [d, f]), b(() => {
22
+ if (S) {
23
+ const t = z(f, "value");
24
+ p(t);
25
+ } else
26
+ f != null ? p(f) : p(void 0);
27
+ }, [f]), b(() => {
28
+ j.current = f !== void 0 ? f : a;
29
+ }, [f, a]), b(() => {
30
30
  if (e?.options) {
31
31
  const t = e.options.filter((n) => n != null);
32
- y(t), I(t);
32
+ g(t), I(t);
33
33
  }
34
34
  }, [e?.options]);
35
- const B = Z(() => (t, n) => new Promise((o, r) => {
36
- l.current && clearTimeout(l.current), l.current = setTimeout(() => t(c).then(o).catch(r), n);
37
- }), [c]), te = (t) => {
38
- const n = d !== void 0, o = (r) => s ? i(r, s) : i(r, "id");
35
+ const B = ee(() => (t, n) => new Promise((l, r) => {
36
+ o.current && clearTimeout(o.current), o.current = setTimeout(() => t(c).then(l).catch(r), n);
37
+ }), [c]), ne = (t) => {
38
+ const n = f !== void 0, l = (r) => s ? i(r, s) : i(r, "id");
39
39
  if (e?.multiple === !0) {
40
- const r = k.current || [];
41
- let a;
42
- r.some((R) => o(R) === o(t)) ? a = r.filter((R) => o(R) !== o(t)) : a = [...r, t], n ? (k.current = a, e?.onChange?.(a, T)) : (k.current = a, v(a), e?.onChange?.(a, T));
40
+ const r = j.current || [];
41
+ let u;
42
+ r.some((x) => l(x) === l(t)) ? u = r.filter((x) => l(x) !== l(t)) : u = [...r, t], n ? (j.current = u, e?.onChange?.(u, k)) : (j.current = u, p(u), e?.onChange?.(u, k));
43
43
  } else
44
- n ? (k.current = t, e?.onChange?.(t, T)) : (k.current = t, v(t), e?.onChange?.(t, T));
45
- }, q = (t) => (e?.onFetchingStart?.(), V.current?.(t) || Promise.resolve([])), z = (t, n) => Array.isArray(t) ? (t.some((o) => typeof o != "object" || o === null) && console.debug(`El valor del ${n || "resultado del fetcher"} contiene elementos no válidos (null,undefined, no-object)`, t), t?.filter((o) => o != null) || []) : (console.debug(`El valor del ${n || "resultado del fetcher"} no es un Array (tipo de dato obtenido: ${typeof t})`), []), $ = ee((t, n) => t.length === 0 ? n : s ? n.filter((o) => !t.some((r) => i(r, s) === i(o, s))) : n.filter((o) => !t.some((r) => i(r, "id") === i(o, "id"))), [s]);
44
+ n ? (j.current = t, e?.onChange?.(t, k)) : (j.current = t, p(t), e?.onChange?.(t, k));
45
+ }, q = (t) => (e?.onFetchingStart?.(), L.current?.(t) || Promise.resolve([])), z = (t, n) => Array.isArray(t) ? (t.some((l) => typeof l != "object" || l === null) && console.debug(`El valor del ${n || "resultado del fetcher"} contiene elementos no válidos (null,undefined, no-object)`, t), t?.filter((l) => l != null) || []) : (console.debug(`El valor del ${n || "resultado del fetcher"} no es un Array (tipo de dato obtenido: ${typeof t})`), []), $ = te((t, n) => t.length === 0 ? n : s ? n.filter((l) => !t.some((r) => i(r, s) === i(l, s))) : n.filter((l) => !t.some((r) => i(r, "id") === i(l, "id"))), [s]);
46
46
  b(() => {
47
47
  const t = e?.subscribeOpenChange;
48
48
  if (!t) return;
49
- const n = t((o) => {
50
- U(o);
49
+ const n = t((l) => {
50
+ U(l);
51
51
  });
52
52
  return () => {
53
53
  n && n();
@@ -55,70 +55,70 @@ function le(e) {
55
55
  }, [e?.subscribeOpenChange]);
56
56
  const G = F !== void 0 ? F : J;
57
57
  b(() => {
58
- if (!_ && V.current && S === "fetch_on_type") {
59
- if (!c || c === "" || c.length < w) {
60
- l.current && clearTimeout(l.current), C(!1);
58
+ if (!w && L.current && _ === "fetch_on_type") {
59
+ if (!c || c === "" || c.length < T) {
60
+ o.current && clearTimeout(o.current), v(!1);
61
61
  return;
62
62
  }
63
- const t = B(q, E);
64
- C(!0), t.then((n) => {
65
- const o = z(n);
66
- y(o);
63
+ const t = B(q, P);
64
+ v(!0), t.then((n) => {
65
+ const l = z(n);
66
+ g(l);
67
67
  }).finally(() => {
68
- C(!1), e?.onFetchingEnd?.();
68
+ v(!1), e?.onFetchingEnd?.();
69
69
  });
70
70
  }
71
- }, [S, c, _, E, B, w]), b(() => {
72
- if (!_)
71
+ }, [_, c, w, P, B, T]), b(() => {
72
+ if (!w)
73
73
  if (G) {
74
- if (e?.onOpen?.(), S === "fetch_in_open") {
75
- if (!V.current)
74
+ if (e?.onOpen?.(), _ === "fetch_in_open") {
75
+ if (!L.current)
76
76
  return;
77
- C(!0), q().then((t) => {
77
+ v(!0), q().then((t) => {
78
78
  const n = z(t);
79
- y(() => {
80
- const o = n.filter((r) => {
79
+ g(() => {
80
+ const l = n.filter((r) => {
81
81
  if (s)
82
82
  return i(r, s) !== void 0;
83
83
  });
84
- return L && f.length > 0 ? [...$(f, o), ...f] : o;
84
+ return S && a.length > 0 ? [...$(a, l), ...a] : l;
85
85
  });
86
86
  }).finally(() => {
87
- C(!1), e?.onFetchingEnd?.();
87
+ v(!1), e?.onFetchingEnd?.();
88
88
  });
89
89
  }
90
90
  } else
91
91
  e?.onClose?.();
92
- }, [G, S, _]);
93
- const H = (t, n) => t?.filter((o) => {
92
+ }, [G, _, w]);
93
+ const H = (t, n) => t?.filter((l) => {
94
94
  if (h)
95
- return i(o, h)?.toLowerCase().includes(n.toLowerCase());
95
+ return i(l, h)?.toLowerCase().includes(n.toLowerCase());
96
96
  {
97
- const r = o;
97
+ const r = l;
98
98
  switch (typeof r) {
99
99
  case "string":
100
100
  return r?.toLowerCase().includes(n.toLowerCase());
101
101
  case "number":
102
102
  return r.toString().includes(n);
103
103
  case "object":
104
- return Object.values(r).some((j) => j.toString()?.toLowerCase().includes(n.toLowerCase()));
104
+ return Object.values(r).some((R) => R.toString()?.toLowerCase().includes(n.toLowerCase()));
105
105
  default:
106
106
  return !1;
107
107
  }
108
108
  }
109
- }) || [], ne = (t) => t?.sort((n, o) => {
109
+ }) || [], le = (t) => t?.sort((n, l) => {
110
110
  if (h)
111
- return i(n, h) < i(o, h) ? -1 : 1;
111
+ return i(n, h) < i(l, h) ? -1 : 1;
112
112
  {
113
- const a = ["label", "name", "value"].find((K) => typeof n == "object" && Object.keys(n).includes(K)), j = n, R = o;
114
- switch (typeof j) {
113
+ const u = ["label", "name", "value"].find((K) => typeof n == "object" && Object.keys(n).includes(K)), R = n, x = l;
114
+ switch (typeof R) {
115
115
  case "string":
116
- return j < R ? -1 : 1;
116
+ return R < x ? -1 : 1;
117
117
  case "number":
118
- return j < R ? -1 : 1;
118
+ return R < x ? -1 : 1;
119
119
  case "object":
120
- if (a) {
121
- const K = i(n, a), oe = i(o, a);
120
+ if (u) {
121
+ const K = i(n, u), oe = i(l, u);
122
122
  return K < oe ? -1 : 1;
123
123
  } else
124
124
  return 1;
@@ -127,138 +127,154 @@ function le(e) {
127
127
  }
128
128
  }
129
129
  }) || [], Q = (t) => {
130
- const n = typeof P == "function" ? P() : P;
131
- t.target === n?.current && (g.current && clearTimeout(g.current), m.current || (m.current = !0, e?.onTypeStart?.()), g.current = setTimeout(() => {
130
+ const n = typeof y == "function" ? y() : y;
131
+ t.target === n?.current && (C.current && clearTimeout(C.current), m.current || (m.current = !0, e?.onTypeStart?.()), C.current = setTimeout(() => {
132
132
  m.current = !1;
133
- }, E));
133
+ }, P));
134
134
  };
135
- return b(() => {
135
+ b(() => {
136
136
  if (c === "")
137
- I(ne(p));
138
- else if (L) {
139
- const t = $(f, p);
140
- I([...H(t, c), ...f]);
137
+ I(le(V));
138
+ else if (S) {
139
+ const t = $(a, V);
140
+ I([...H(t, c), ...a]);
141
141
  } else {
142
- const t = $([f], p);
143
- I([...H(t, c), f]);
142
+ const t = $([a], V);
143
+ I([...H(t, c), a]);
144
144
  }
145
- }, [p]), b(() => (document.addEventListener("keydown", Q), () => {
145
+ }, [V]), b(() => (document.addEventListener("keydown", Q), () => {
146
146
  document.removeEventListener("keydown", Q);
147
- }), []), {
147
+ }), []);
148
+ const X = () => {
149
+ N("");
150
+ };
151
+ return {
148
152
  inputValue: c,
149
153
  setInputValue: N,
150
- cleanInputValue: () => {
151
- N("");
152
- },
154
+ cleanInputValue: X,
153
155
  cleanOptions: () => {
154
- L && y(f);
156
+ if (S)
157
+ g(a);
158
+ else {
159
+ const t = a;
160
+ g(t ? [t] : []);
161
+ }
162
+ X();
155
163
  },
156
164
  clearValue: () => {
157
- v(L ? [] : void 0);
165
+ p(S ? [] : void 0);
158
166
  },
159
167
  filteredOptions: D,
160
168
  isLoading: W,
161
- value: f,
162
- setValue: v,
163
- onOptionClick: te
169
+ value: a,
170
+ setValue: p,
171
+ onOptionClick: ne
164
172
  };
165
173
  }
166
174
  const fe = (e) => {
167
- const O = A(null);
168
- b(() => {
169
- e.controls && (e.controls.current = O.current);
170
- }, [e.controls]);
171
- const { asyncMode: u = "fetch_in_open" } = e, S = (l, g, m) => {
172
- const V = {
173
- options: l.options,
174
- fetcher: l.fetcher,
175
- asyncMode: g,
176
- debounceDelay: l.debounceDelay,
177
- minCharacters: l.minCharacters,
178
- disabled: l.disabled,
179
- optionValue: l.optionValue,
180
- optionLabel: l.optionLabel,
175
+ const O = E(null), { asyncMode: d = "fetch_in_open" } = e, _ = (o, C, m) => {
176
+ const L = {
177
+ options: o.options,
178
+ fetcher: o.fetcher,
179
+ asyncMode: C,
180
+ debounceDelay: o.debounceDelay,
181
+ minCharacters: o.minCharacters,
182
+ disabled: o.disabled,
183
+ optionValue: o.optionValue,
184
+ optionLabel: o.optionLabel,
181
185
  onFetchingStart: () => {
182
- g === "fetch_on_type" && m.current?.open();
186
+ C === "fetch_on_type" && m.current?.open();
183
187
  },
184
188
  onTypeStart: () => {
185
- !l?.fetcher && m.current?.open();
189
+ !o?.fetcher && m.current?.open();
186
190
  },
187
191
  inputRef: () => m.current?.searchInputRef,
188
192
  subscribeOpenChange: m.current?.subscribeOpenChange,
189
- name: l.name
193
+ name: o.name
190
194
  };
191
- return l.multiple ? {
192
- ...V,
195
+ return o.multiple ? {
196
+ ...L,
193
197
  multiple: !0,
194
- controlledValue: l.value,
195
- onChange: l.onChange
198
+ controlledValue: o.value,
199
+ onChange: o.onChange
196
200
  } : {
197
- ...V,
201
+ ...L,
198
202
  multiple: !1,
199
- controlledValue: l.value,
200
- onChange: l.onChange
203
+ controlledValue: o.value,
204
+ onChange: o.onChange
201
205
  };
202
- }, { inputValue: _, setInputValue: E, filteredOptions: w, isLoading: h, value: s, onOptionClick: d, cleanInputValue: F, cleanOptions: P, clearValue: T } = le(S(e, u, O)), M = ee(() => u === "fetch_on_type" ? h : !1, [u, h]), p = Z(() => e.multiple ? s.map((l) => i(l, e.optionValue)) : s ? i(s, e.optionValue) : void 0, [s, e.optionValue, e.multiple]), y = (l) => {
203
- const g = w.find((m) => i(m, e.optionValue) === l.id);
204
- g && d(g);
205
- }, { displayMode: D = e.multiple ? "chips" : "compact", dropdownOptions: I, overflow: c = "scroll", onChange: N, onClear: W, ...C } = e.selectComponentProps || {}, J = {
206
- controledSearchValue: _,
207
- onSearchValueChange: u === "fetch_on_type" ? E : void 0,
208
- onSearchClear: u === "fetch_on_type" ? () => {
209
- F(), P();
206
+ }, { inputValue: w, setInputValue: P, filteredOptions: T, isLoading: h, value: s, onOptionClick: f, cleanInputValue: F, cleanOptions: y, clearValue: k } = re(_(e, d, O));
207
+ b(() => {
208
+ !e.controls || !O.current || (e.controls.current = {
209
+ ...O.current,
210
+ cleanOptions: () => {
211
+ y();
212
+ }
213
+ });
214
+ }, [e.controls, y]);
215
+ const M = te(
216
+ () => d === "fetch_on_type" ? h : !1,
217
+ [d, h]
218
+ ), V = ee(() => e.multiple ? s.map((o) => i(o, e.optionValue)) : s ? i(s, e.optionValue) : void 0, [s, e.optionValue, e.multiple]), g = (o) => {
219
+ const C = T.find((m) => i(m, e.optionValue) === o.id);
220
+ C && f(C);
221
+ }, { displayMode: D = e.multiple ? "chips" : "compact", dropdownOptions: I, overflow: c = "scroll", onChange: N, onClear: W, ...v } = e.selectComponentProps || {}, J = {
222
+ controledSearchValue: w,
223
+ onSearchValueChange: d === "fetch_on_type" ? P : void 0,
224
+ onSearchClear: d === "fetch_on_type" ? () => {
225
+ F(), y();
210
226
  } : void 0,
211
227
  inputSearchPlaceholder: e.inputSearchPlaceholder,
212
228
  isLoading: M(),
213
229
  ...I || {}
214
230
  }, U = () => {
215
- T(), e?.selectComponentProps?.onClear?.();
231
+ k(), e?.selectComponentProps?.onClear?.();
216
232
  };
217
- return e.multiple ? /* @__PURE__ */ X.jsx(
218
- Y,
233
+ return e.multiple ? /* @__PURE__ */ Y.jsx(
234
+ Z,
219
235
  {
220
236
  disabled: e.disabled,
221
237
  className: e.className,
222
238
  name: e.name,
223
239
  overflow: c,
224
- ...C,
240
+ ...v,
225
241
  onClear: e?.selectComponentProps?.onClear && U,
226
242
  multiple: !0,
227
- value: p,
243
+ value: V,
228
244
  label: e.label || "",
229
- options: w,
245
+ options: T,
230
246
  optionValue: e.optionValue,
231
247
  optionLabel: e.optionLabel,
232
248
  renderOption: e.renderOption,
233
- onOptionClick: y,
249
+ onOptionClick: g,
234
250
  displayMode: D,
235
251
  controls: O,
236
252
  emptyMessage: "Use el buscador para obtener las opciones disponibles",
237
253
  dropdownOptions: J,
238
- isLoading: u === "fetch_in_open" ? h : !1
254
+ isLoading: d === "fetch_in_open" ? h : !1
239
255
  }
240
- ) : /* @__PURE__ */ X.jsx(
241
- Y,
256
+ ) : /* @__PURE__ */ Y.jsx(
257
+ Z,
242
258
  {
243
259
  disabled: e.disabled,
244
- ...C,
260
+ ...v,
245
261
  onClear: U,
246
262
  className: e.className,
247
263
  overflow: c,
248
264
  name: e.name,
249
265
  multiple: !1,
250
- value: p,
266
+ value: V,
251
267
  label: e.label || "",
252
- options: w,
268
+ options: T,
253
269
  optionValue: e.optionValue,
254
270
  optionLabel: e.optionLabel,
255
271
  renderOption: e.renderOption,
256
- onOptionClick: y,
272
+ onOptionClick: g,
257
273
  displayMode: "compact",
258
274
  controls: O,
259
275
  emptyMessage: "Use el buscador para obtener las opciones disponibles",
260
276
  dropdownOptions: J,
261
- isLoading: u === "fetch_in_open" ? h : !1
277
+ isLoading: d === "fetch_in_open" ? h : !1
262
278
  }
263
279
  );
264
280
  };
@@ -1,6 +1,7 @@
1
1
  export interface NavItemSecondaryProps {
2
2
  title: string;
3
3
  path: string;
4
+ parentPath?: string;
4
5
  className?: string;
5
6
  isSelected?: boolean;
6
7
  onClick?: (path: string) => void;
@@ -1,29 +1,33 @@
1
- import { ReactNode } from 'react';
1
+ import { default as React, ReactNode } from 'react';
2
+ type NavigationDrawerRenderContext = {
3
+ toggleCollapse: () => void;
4
+ getIsCollapsed: () => boolean;
5
+ subscribeToCollapse: (listener: (collapsed: boolean) => void) => () => void;
6
+ };
7
+ type NavigationDrawerSlotChildren = ReactNode | ((context: NavigationDrawerRenderContext) => ReactNode);
2
8
  export interface NavigationDrawerProps {
3
- children?: ReactNode;
9
+ children?: NavigationDrawerSlotChildren;
4
10
  }
5
- declare const NavigationDrawer: import('react').NamedExoticComponent<NavigationDrawerProps> & {
11
+ type SlotBaseProps = {
12
+ children?: NavigationDrawerSlotChildren;
13
+ className?: string;
14
+ context?: NavigationDrawerRenderContext;
15
+ };
16
+ type ContentProps = SlotBaseProps & Omit<React.AllHTMLAttributes<HTMLDivElement>, "children">;
17
+ declare const NavigationDrawer: React.NamedExoticComponent<NavigationDrawerProps> & {
6
18
  readonly type: (props: NavigationDrawerProps) => import("react/jsx-runtime").JSX.Element;
7
19
  } & {
8
- Root: import('react').MemoExoticComponent<(props: NavigationDrawerProps) => import("react/jsx-runtime").JSX.Element>;
9
- Header: ({ children, className }: {
10
- children: ReactNode;
11
- className?: string;
12
- }) => import("react/jsx-runtime").JSX.Element;
13
- Content: ({ children, className }: {
14
- children: ReactNode;
15
- className?: string;
16
- }) => import("react/jsx-runtime").JSX.Element;
17
- Footer: ({ children, className }: {
18
- children: ReactNode;
19
- className?: string;
20
- }) => import("react/jsx-runtime").JSX.Element;
21
- Spacer: ({ className }: {
20
+ Root: React.MemoExoticComponent<(props: NavigationDrawerProps) => import("react/jsx-runtime").JSX.Element>;
21
+ Header: React.MemoExoticComponent<({ children, className, context }: SlotBaseProps) => import("react/jsx-runtime").JSX.Element>;
22
+ Content: React.MemoExoticComponent<({ children, className, context, ...props }: ContentProps) => import("react/jsx-runtime").JSX.Element>;
23
+ Footer: React.MemoExoticComponent<({ children, className, context }: SlotBaseProps) => import("react/jsx-runtime").JSX.Element>;
24
+ Spacer: React.MemoExoticComponent<({ className }: {
22
25
  className?: string;
23
- }) => import("react/jsx-runtime").JSX.Element;
24
- Outlet: ({ children, className }: {
25
- children: ReactNode;
26
+ }) => import("react/jsx-runtime").JSX.Element>;
27
+ Outlet: React.MemoExoticComponent<({ children, className, context }: {
28
+ children?: NavigationDrawerSlotChildren;
26
29
  className?: string;
27
- }) => import("react/jsx-runtime").JSX.Element;
30
+ context?: NavigationDrawerRenderContext;
31
+ }) => import("react/jsx-runtime").JSX.Element>;
28
32
  };
29
33
  export default NavigationDrawer;
@@ -0,0 +1,14 @@
1
+ import { IconComponent } from '../../Icons/types';
2
+ export interface NavigationDrawerActionItemProps {
3
+ id: string;
4
+ title: string;
5
+ icon?: IconComponent;
6
+ count?: number;
7
+ className?: string;
8
+ isActive?: boolean;
9
+ onClick?: () => void;
10
+ isView?: boolean | (() => boolean);
11
+ }
12
+ declare const NavigationDrawerActionItem: import('react').MemoExoticComponent<(props: NavigationDrawerActionItemProps) => import("react/jsx-runtime").JSX.Element>;
13
+ export default NavigationDrawerActionItem;
14
+ export type { NavigationDrawerActionItemProps as NavigationDrawerActionItemPropsType };
@@ -0,0 +1,9 @@
1
+ import { NavigationDrawerActionItemProps } from './NavigationDrawerActionItem';
2
+ export interface NavigationDrawerActionsProps {
3
+ actions?: NavigationDrawerActionItemProps[];
4
+ activeActionId?: string;
5
+ onActionClick?: (id: string) => void;
6
+ className?: string;
7
+ }
8
+ declare const NavigationDrawerActions: import('react').MemoExoticComponent<({ actions, activeActionId, onActionClick, className }: NavigationDrawerActionsProps) => import("react/jsx-runtime").JSX.Element>;
9
+ export default NavigationDrawerActions;
@@ -0,0 +1,17 @@
1
+ import { IconComponent } from '../../Icons/types';
2
+ import { default as React } from 'react';
3
+ export interface NavigationDrawerItemBaseProps {
4
+ title: string;
5
+ icon?: IconComponent;
6
+ count?: number;
7
+ className?: string;
8
+ isSelected?: boolean;
9
+ hasSublinks?: boolean;
10
+ subLinksCollapsed?: boolean;
11
+ onToggleSublinks?: (event: React.MouseEvent<HTMLButtonElement>) => void;
12
+ as?: "a" | "button" | "div";
13
+ onClick?: React.MouseEventHandler;
14
+ onAuxClick?: React.MouseEventHandler;
15
+ }
16
+ declare const NavigationDrawerItemBase: React.MemoExoticComponent<(props: NavigationDrawerItemBaseProps) => import("react/jsx-runtime").JSX.Element>;
17
+ export default NavigationDrawerItemBase;
@@ -1,7 +1,7 @@
1
1
  import { IconComponent } from '../../Icons/types';
2
2
  import { ReactNode } from 'react';
3
3
  import { NavItemSecondaryProps } from './NavItemSecondary';
4
- export interface NavItemProps {
4
+ export interface NavigationDrawerLinkItemProps {
5
5
  path: string;
6
6
  title: string;
7
7
  icon?: IconComponent;
@@ -10,7 +10,9 @@ export interface NavItemProps {
10
10
  count?: number;
11
11
  className?: string;
12
12
  isSelected?: boolean;
13
- isCollapsed?: boolean;
13
+ toggleCollapse?: () => void;
14
+ getIsCollapsed?: () => boolean;
15
+ subscribeToCollapse?: (listener: (collapsed: boolean) => void) => () => void;
14
16
  onClick?: (path: string) => void;
15
17
  sublinks?: NavItemSecondaryProps[];
16
18
  subLinksRender?: (sublinks: NavItemSecondaryProps[], controls: NavItemHandler) => ReactNode;
@@ -19,6 +21,9 @@ interface NavItemHandler {
19
21
  toggle: () => void;
20
22
  setIsCollapsed: (collapsed: boolean) => void;
21
23
  isCollapsed: boolean;
24
+ isDrawerCollapsed: boolean;
25
+ toggleDrawerCollapse?: () => void;
26
+ subscribeToCollapse?: (listener: (collapsed: boolean) => void) => () => void;
22
27
  }
23
- declare const NavItem: import('react').NamedExoticComponent<NavItemProps & import('react').RefAttributes<NavItemHandler>>;
24
- export default NavItem;
28
+ declare const NavigationDrawerLinkItem: import('react').NamedExoticComponent<NavigationDrawerLinkItemProps & import('react').RefAttributes<NavItemHandler>>;
29
+ export default NavigationDrawerLinkItem;
@@ -0,0 +1,11 @@
1
+ import { NavigationDrawerLinkItemProps } from './NavigationDrawerLinkItem';
2
+ export interface NavigationDrawerNavlinksProps {
3
+ navlinks?: NavigationDrawerLinkItemProps[];
4
+ handleNavigation: (path: string) => void;
5
+ className?: string;
6
+ getIsCollapsed?: () => boolean;
7
+ toggleCollapse?: () => void;
8
+ subscribeToCollapse?: (listener: (collapsed: boolean) => void) => () => void;
9
+ }
10
+ declare const NavigationDrawerNavlinks: import('react').MemoExoticComponent<({ navlinks, handleNavigation, className, getIsCollapsed, toggleCollapse, subscribeToCollapse }: NavigationDrawerNavlinksProps) => import("react/jsx-runtime").JSX.Element>;
11
+ export default NavigationDrawerNavlinks;
@@ -0,0 +1,51 @@
1
+ import { ReactNode } from 'react';
2
+ import { NavigationDrawerLinkItemProps } from '../NavigationDrawer/NavigationDrawerLinkItem';
3
+ import { NavigationDrawerActionItemProps } from '../NavigationDrawer/NavigationDrawerActionItem';
4
+ import { TabSwitchElement } from '../TabSwitch/TabSwitch';
5
+ type TProduct = {
6
+ name: string;
7
+ domain: string;
8
+ active: boolean;
9
+ coverImage?: string;
10
+ thumbnail?: string;
11
+ };
12
+ type TCompany = {
13
+ name: string;
14
+ products?: TProduct[];
15
+ icon?: string;
16
+ };
17
+ type TSystem = {
18
+ name: string;
19
+ url: string;
20
+ coverImage?: string;
21
+ thumbnail?: string;
22
+ };
23
+ type TUser = {
24
+ name: string;
25
+ surname?: string;
26
+ email?: string;
27
+ profile_picture?: string;
28
+ area?: string;
29
+ };
30
+ export interface NavigationDrawerTabsProps {
31
+ currentTabName?: string;
32
+ customTabs?: TabSwitchElement[];
33
+ onTabClick?: (name: string) => void;
34
+ }
35
+ export interface PyrionNavigationDrawerProps {
36
+ links?: NavigationDrawerLinkItemProps[];
37
+ actions?: NavigationDrawerActionItemProps[];
38
+ tabsProps?: NavigationDrawerTabsProps;
39
+ activeActionId?: string;
40
+ onActionClick?: (id: string) => void;
41
+ children?: ReactNode;
42
+ state: {
43
+ company: TCompany;
44
+ enabled_systems: TSystem[];
45
+ user: TUser;
46
+ };
47
+ onLinkClick?: (path: string) => void;
48
+ onNavigate?: (from: string, to: string) => void;
49
+ }
50
+ declare const PyrionNavigationDrawer: ({ children, state, links: navlinks, onLinkClick, onNavigate, actions, activeActionId, onActionClick, tabsProps }: PyrionNavigationDrawerProps) => import("react/jsx-runtime").JSX.Element;
51
+ export default PyrionNavigationDrawer;
@@ -0,0 +1,25 @@
1
+ import { IconComponent } from '../../Icons';
2
+ import { default as React } from 'react';
3
+ type IndicatorType = 'icon' | 'shadow';
4
+ type IndicatorProps = {
5
+ show?: boolean;
6
+ icon?: IconComponent;
7
+ className?: string;
8
+ type?: IndicatorType;
9
+ };
10
+ interface IndicatorsProps {
11
+ top?: IndicatorProps;
12
+ bottom?: IndicatorProps;
13
+ left?: IndicatorProps;
14
+ right?: IndicatorProps;
15
+ }
16
+ type scrollableAxis = "x" | "y" | "both";
17
+ interface ScrollableProps {
18
+ debugMode?: boolean;
19
+ className?: string;
20
+ indicators?: IndicatorsProps;
21
+ axis?: scrollableAxis;
22
+ children?: React.ReactNode;
23
+ }
24
+ declare const Scrollable: (props: ScrollableProps) => import("react/jsx-runtime").JSX.Element;
25
+ export default Scrollable;