@base-framework/ui 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -5,9 +5,9 @@ import { V as w, a as U } from "./veil-B9GQfH0d.js";
5
5
  import { Icons as R } from "./icons.es.js";
6
6
  import { A as G, B as V, C as j, z as q, u as z, v as J, w as _, D as K, j as Q, k as X, G as Y, E as Z, s as $, c as aa, a as sa, b as ea, i as oa, g as ta, e as ra, h as na, F as ia, d as la, f as pa, t as ua, M as ma, l as da, N as ga, P as Ca, p as Ta, q as ca, S as Da, n as Ia, o as ba, T as Sa, x as Ba, y as Pa, m as Fa, r as Ma } from "./confirmation-D1Y_SgzE.js";
7
7
  import { A as Na, b as va, C as fa, D as xa, a as ha, F as ya, M as Wa, P as La, c as Aa, g as Ha, p as wa } from "./calendar-DR_svCOR.js";
8
- import { B as Oa, m as Ra, C as Ea, j as Ga, D as Va, l as ja, H as qa, I as za, N as Ja, O as _a, P as Ka, S as Qa, p as Xa, n as Ya, o as Za, T as $a, k as as, U as ss, W as es, f as os, h as ts, i as rs, c as ns, d as is, b as ls, e as ps, a as us, g as ms } from "./tab-C_dZb2qH.js";
9
- import { B as gs, I as Cs, M as Ts, d as cs, e as Ds, g as Is, N as bs, b as Ss, a as Bs, f as Ps, P as Fs, c as Ms, S as ks, T as Ns } from "./mobile-nav-wrapper-7Qul1-mt.js";
10
- import { B as fs, a as xs, C as hs, F as ys, b as Ws, c as Ls, M as As, P as Hs, S as ws } from "./sidebar-menu-page-M8hr9onX.js";
8
+ import { B as Oa, m as Ra, C as Ea, j as Ga, D as Va, l as ja, H as qa, I as za, N as Ja, O as _a, P as Ka, S as Qa, p as Xa, n as Ya, o as Za, T as $a, k as as, U as ss, W as es, f as os, h as ts, i as rs, c as ns, d as is, b as ls, e as ps, a as us, g as ms } from "./tab-DE7bmr2y.js";
9
+ import { B as gs, I as Cs, M as Ts, d as cs, e as Ds, g as Is, N as bs, b as Ss, a as Bs, f as Ps, P as Fs, c as Ms, S as ks, T as Ns } from "./mobile-nav-wrapper-BS9uUekR.js";
10
+ import { B as fs, a as xs, C as hs, F as ys, b as Ws, c as Ls, M as As, P as Hs, S as ws } from "./sidebar-menu-page-DN5qYk-Y.js";
11
11
  import { A as Os, F as Rs, M as Es, a as Gs, T as Vs } from "./aside-template-D0KANPjh.js";
12
12
  import { B as qs } from "./bside-template-CDbINL4X.js";
13
13
  export {
@@ -0,0 +1,505 @@
1
+ import { I as b, Label as w, Span as S, Ul as o, H4 as N, Nav as u, Div as l, Header as B, H1 as L, H3 as p, OnState as C } from "@base-framework/atoms";
2
+ import { Component as n, Atom as i, NavLink as y, router as d } from "@base-framework/base";
3
+ import { I as h, B as f } from "./icon-B9QUT2NY.js";
4
+ import { Icons as r } from "./icons.es.js";
5
+ class I extends n {
6
+ /**
7
+ * This will declare the props for the compiler.
8
+ *
9
+ * @returns {void}
10
+ */
11
+ declareProps() {
12
+ this.class = "", this.checkCallBack = null;
13
+ }
14
+ /**
15
+ * This will render the component.
16
+ *
17
+ * @override
18
+ * @returns {object}
19
+ */
20
+ render() {
21
+ const e = this.state;
22
+ return {
23
+ class: this.class || "",
24
+ onState: [
25
+ ["selected", {
26
+ selected: !0
27
+ }],
28
+ ["active", {
29
+ active: !0
30
+ }]
31
+ ],
32
+ click: () => {
33
+ if (e.toggle("active"), !this.checkCallBack)
34
+ return;
35
+ const t = e.active ? this : null;
36
+ this.checkCallBack(t);
37
+ },
38
+ children: this.children
39
+ };
40
+ }
41
+ /**
42
+ * This will set up the states.
43
+ *
44
+ * @override
45
+ * @protected
46
+ * @returns {object}
47
+ */
48
+ setupStates() {
49
+ return {
50
+ selected: !1,
51
+ active: !1
52
+ };
53
+ }
54
+ /**
55
+ * This will update the states.
56
+ *
57
+ * @param {object} selected
58
+ * @returns {void}
59
+ */
60
+ update(e) {
61
+ this.state.set({
62
+ selected: e,
63
+ active: e
64
+ });
65
+ }
66
+ }
67
+ const P = i(({ options: s, click: e }, t) => ({
68
+ tag: "li",
69
+ ...{
70
+ class: `relative flex flex-row w-auto text-left p-0 overflow-hidden transition-all cursor-pointer min-w-[48px] rounded-md option${s ? " sub" : ""}`,
71
+ click: e
72
+ },
73
+ children: t
74
+ })), $ = (s, e = null, t = !1) => [
75
+ e && b({
76
+ class: "icon w-12 rounded-md flex items-center justify-center",
77
+ onState: ["selected", {
78
+ selected: !0
79
+ }],
80
+ html: e
81
+ }),
82
+ w({ class: "label flex flex-auto text-sm items-center cursor-pointer whitespace-nowrap" }, s),
83
+ t && S(
84
+ {
85
+ class: "flex justify-center items-center px-1 transition-all text-muted-foreground mr-2",
86
+ onState: [
87
+ ["selected", {
88
+ rotate: !0
89
+ }],
90
+ ["active", {
91
+ rotate: !0
92
+ }]
93
+ ]
94
+ },
95
+ [
96
+ h({ size: "xs" }, r.chevron.single.down)
97
+ ]
98
+ )
99
+ ];
100
+ class x extends n {
101
+ /**
102
+ * This will declare the props for the compiler.
103
+ *
104
+ * @returns {void}
105
+ */
106
+ declareProps() {
107
+ this.label = "", this.icon = null, this.href = null, this.exact = !1, this.options = [], this.content = null, this.callBack = null, this.checkCallBack = null, this.link = null;
108
+ }
109
+ /**
110
+ * This will render the component.
111
+ *
112
+ * @override
113
+ * @returns {object}
114
+ */
115
+ render() {
116
+ const e = !this.options && this.callBack;
117
+ return P(
118
+ { options: this.options, click: e },
119
+ [
120
+ this.addLink()
121
+ ]
122
+ );
123
+ }
124
+ /**
125
+ * This will add the link.
126
+ *
127
+ * @returns {object}
128
+ * @protected
129
+ */
130
+ addLink() {
131
+ const e = this.options && this.options.length > 0, t = this.content || $(this.label, this.icon, e);
132
+ return this.href ? new y(
133
+ {
134
+ class: "flex flex-auto flex-row",
135
+ cache: "link",
136
+ href: this.href,
137
+ activeClass: "selected",
138
+ exact: this.exact || !1
139
+ },
140
+ t
141
+ ) : new I({
142
+ class: "flex flex-auto flex-row",
143
+ cache: "link",
144
+ checkCallBack: this.checkCallBack
145
+ }, t);
146
+ }
147
+ /**
148
+ * This will check if the link is selected.
149
+ *
150
+ * @returns {boolean}
151
+ */
152
+ isSelected() {
153
+ return this.link.state.get("selected");
154
+ }
155
+ update(e) {
156
+ this.link.update(e);
157
+ }
158
+ }
159
+ const H = i(({ map: s }, e) => o({ class: "navigation-group flex flex-col gap-2 list-none m-0 py-2 px-0", map: s }, [
160
+ N({ class: "text-muted-foreground text-sm py-0 px-4 whitespace-nowrap" }, e)
161
+ ]));
162
+ class M extends n {
163
+ /**
164
+ * This will declare the props for the compiler.
165
+ *
166
+ * @returns {void}
167
+ */
168
+ declareProps() {
169
+ this.options = [], this.class = "", this.mobileBorder = !1;
170
+ }
171
+ /**
172
+ * This will render the component.
173
+ *
174
+ * @returns {object}
175
+ */
176
+ render() {
177
+ const e = this.mapOptions(this.options), t = this.class || "", a = this.mobileBorder ? "border md:border-0 rounded-md" : "";
178
+ return u({ class: `navigation flex flex-auto flex-col ${t}` }, [
179
+ o({
180
+ class: `relative group flex flex-col gap-2 py-2 px-2 list-none m-0 ${a}`,
181
+ map: e
182
+ }),
183
+ ...this.addSubs()
184
+ ]);
185
+ }
186
+ /**
187
+ * This will get the options.
188
+ *
189
+ * @param {array} options
190
+ * @returns {array}
191
+ */
192
+ mapOptions(e = []) {
193
+ return [e.map((a) => a.group ? this.addGroup(a) : this.addLink(a)), (a) => a];
194
+ }
195
+ /**
196
+ * This will get the subs.
197
+ *
198
+ * @returns {array}
199
+ */
200
+ addSubs() {
201
+ return [];
202
+ }
203
+ /**
204
+ * This will add a group.
205
+ *
206
+ * @param {object} option
207
+ * @returns {object}
208
+ */
209
+ addGroup(e) {
210
+ const t = this.mapOptions(e.options);
211
+ return H({ map: t }, e.group);
212
+ }
213
+ /**
214
+ * This will add a link.
215
+ *
216
+ * @param {object} option
217
+ * @returns {object}
218
+ */
219
+ addLink(e) {
220
+ return new x(e);
221
+ }
222
+ }
223
+ class c extends M {
224
+ onCreated() {
225
+ this.links = [];
226
+ }
227
+ /**
228
+ * This will set up the sub nav.
229
+ *
230
+ * @param {object} link
231
+ * @returns {object}
232
+ */
233
+ setupSubNav(e) {
234
+ return new E(
235
+ {
236
+ parentLink: e,
237
+ options: e.options
238
+ }
239
+ );
240
+ }
241
+ /**
242
+ * This will add a sub navigation.
243
+ *
244
+ * @param {object} link
245
+ * @returns {object}
246
+ */
247
+ addSubNav(e) {
248
+ const t = this.setupSubNav(e);
249
+ return e.sub = t, t;
250
+ }
251
+ /**
252
+ * This will add a link.
253
+ *
254
+ * @param {object} option
255
+ * @returns {object}
256
+ */
257
+ addLink(e) {
258
+ const t = new x(e);
259
+ if (this.links.push(t), !t.options)
260
+ return t;
261
+ const a = this.addSubNav(t);
262
+ return {
263
+ class: "child-group",
264
+ link: t,
265
+ sub: a
266
+ };
267
+ }
268
+ }
269
+ const O = (s, e) => new RegExp(`${s}($|/|\\.).*`).test(e), z = (s, e) => {
270
+ const t = s.link.panel.pathname;
271
+ return !t && s.isSelected() ? !0 : s.exact ? e === t : O(t, e);
272
+ };
273
+ class E extends c {
274
+ /**
275
+ * This will declare the props for the compiler.
276
+ *
277
+ * @returns {void}
278
+ */
279
+ declareProps() {
280
+ this.parentLink = null, this.mainClassName = "";
281
+ }
282
+ /**
283
+ * This will render the component.
284
+ *
285
+ * @returns {object}
286
+ */
287
+ render() {
288
+ const e = `navigation flex flex-auto flex-col sub ${this.mainClassName || ""}`, t = this.mapOptions(this.options);
289
+ return u({ class: e, onState: this.onState() }, [
290
+ o({ class: "relative group flex flex-col gap-2 py-2 px-0 list-none m-0" }, [...t, ...this.addSubs(), this.addWatcher()])
291
+ ]);
292
+ }
293
+ /**
294
+ * This will add awatcher to update the links
295
+ * when the path changes.
296
+ *
297
+ * @returns {object}
298
+ */
299
+ addWatcher() {
300
+ return {
301
+ watch: {
302
+ value: ["[[path]]", d.data],
303
+ callBack: this.updateLinks.bind(this)
304
+ }
305
+ };
306
+ }
307
+ /**
308
+ * This will set up the on state.
309
+ *
310
+ * @returns {array}
311
+ */
312
+ onState() {
313
+ return [
314
+ ["selected", { active: !0 }],
315
+ ["active", { active: !0 }]
316
+ ];
317
+ }
318
+ /**
319
+ * This will set up the states.
320
+ *
321
+ * @returns {object}
322
+ */
323
+ setupStates() {
324
+ return {
325
+ remotes: [
326
+ {
327
+ /**
328
+ * This will link the state to the parent link.
329
+ */
330
+ id: this.parentLink.link.getId(),
331
+ selected: null,
332
+ active: null
333
+ }
334
+ ]
335
+ };
336
+ }
337
+ /**
338
+ * This will update the links after setup.
339
+ *
340
+ * @returns {void}
341
+ */
342
+ afterSetup() {
343
+ const e = d.data.get("path");
344
+ this.updateLinks(e);
345
+ }
346
+ /**
347
+ * This will update the links.
348
+ *
349
+ * @param {string} value
350
+ * @returns {void}
351
+ */
352
+ updateLinks(e) {
353
+ let t = !1;
354
+ for (const a of this.links)
355
+ if (a.rendered && (t = z(a, e), t === !0))
356
+ break;
357
+ this.parentLink.update(t);
358
+ }
359
+ }
360
+ const F = ({ title: s, options: e, class: t = "", mobileBorder: a = !1, sticky: v = !1 }) => l({ class: `pb-12 p-4 pt-0 lg:p-6 lg:border-r w-full lg:max-w-[300px] h-full ${t}` }, [
361
+ s && B({ class: "pb-4 md:pb-2 px-6 flex flex-col" }, [
362
+ L({ class: "scroll-m-20 text-3xl lg:text-2xl font-bold tracking-tight" }, s)
363
+ ]),
364
+ new c({ options: e, mobileBorder: a, class: v ? "sticky top-0" : "" })
365
+ ]), T = (s) => p({ class: "text-lg ml-2" }, s), A = (s) => l({ class: "sticky flex flex-row items-center bg-popover lg:hidden top-0 z-10 border-0 border-b" }, [
366
+ f({
367
+ variant: "icon",
368
+ class: "m-2",
369
+ click: (e, { state: t }) => t.toggle("open"),
370
+ icon: r.arrows.left
371
+ }),
372
+ s.title && T(s.title)
373
+ ]), G = () => l({
374
+ class: `
375
+ absolute inset-0 bg-black/40 z-[-1] fadeIn
376
+ transition-opacity duration-200
377
+ `,
378
+ click: (s, { state: e }) => e.open = !1
379
+ });
380
+ class W extends n {
381
+ /**
382
+ * This will declare the props for the compiler.
383
+ *
384
+ * @returns {void}
385
+ */
386
+ declareProps() {
387
+ this.title = "";
388
+ }
389
+ /**
390
+ * This will render the modal component.
391
+ *
392
+ * @returns {object}
393
+ */
394
+ render() {
395
+ return l({
396
+ class: "fixed inset-0 z-50",
397
+ style: "[[typeClass]]"
398
+ }, [
399
+ G(),
400
+ // Popover Content
401
+ l({
402
+ class: `
403
+ absolute popIn w-auto p-0 bg-popover m-auto shadow-lg rounded-md top-0 bottom-0 left-2 right-2 max-h-[85vh] text-inherit block
404
+ `,
405
+ dataSet: ["open", ["expanded", !0, "true"]]
406
+ }, [
407
+ l({ class: "flex flex-auto flex-col w-full h-full overflow-y-auto max-h-[85vh] rounded-md bg-popover border" }, [
408
+ A({ title: this.title }),
409
+ l({ class: "flex flex-auto flex-col" }, this.children)
410
+ ])
411
+ ])
412
+ ]);
413
+ }
414
+ /**
415
+ * This will setup the states.
416
+ *
417
+ * @returns {object}
418
+ */
419
+ setupStates() {
420
+ return {
421
+ open: {
422
+ id: this.parent.getId(),
423
+ callBack: (a) => {
424
+ a === !1 && (document.documentElement.style.overflowY = "auto", this.destroy());
425
+ }
426
+ }
427
+ };
428
+ }
429
+ /**
430
+ * This will add the body scroll lock.
431
+ *
432
+ * @returns {void}
433
+ */
434
+ afterSetup() {
435
+ document.documentElement.style.overflowY = "hidden";
436
+ }
437
+ /**
438
+ * This will override the set up to use the body.
439
+ *
440
+ * @param {object} container
441
+ */
442
+ setContainer(e) {
443
+ this.container = app.root;
444
+ }
445
+ }
446
+ const m = (s) => f({ class: "m-2", variant: "ghost", addState() {
447
+ return {
448
+ open: !1
449
+ };
450
+ }, click: (e, { state: t }) => t.toggle("open") }, [
451
+ h(r.bar.three)
452
+ ]), j = (s) => p({ class: "text-lg ml-2" }, s), Y = (s) => l({ class: "flex flex-auto flex-row items-center lg:hidden" }, [
453
+ m(),
454
+ s.title && j(s.title)
455
+ ]), g = (s, e) => {
456
+ s.forEach((t) => {
457
+ if (t.options) {
458
+ g(t.options, e);
459
+ return;
460
+ }
461
+ t.callBack = e;
462
+ });
463
+ }, k = (s) => {
464
+ const e = (t, { parent: a }) => a.parent.state.open = !1;
465
+ return g(s.options, e), l({ class: "bg-background flex flex-auto flex-col w-full relative" }, [
466
+ C(
467
+ "open",
468
+ (t) => t ? [
469
+ new W({ title: s.title }, [
470
+ new c(
471
+ {
472
+ options: s.options
473
+ }
474
+ )
475
+ ])
476
+ ] : null
477
+ )
478
+ ]);
479
+ }, J = i((s) => l({ cache: "mobileNav", class: "inline-flex relative lg:hidden" }, [
480
+ l([
481
+ m(),
482
+ k(s)
483
+ ])
484
+ ])), K = i((s) => l({ cache: "mobileNav", class: "flex flex-auto flex-col w-full relative lg:hidden" }, [
485
+ l({ class: "flex flex-auto flex-col w-full" }, [
486
+ Y(s),
487
+ k(s)
488
+ ])
489
+ ]));
490
+ export {
491
+ G as B,
492
+ c as I,
493
+ x as M,
494
+ I as N,
495
+ A as P,
496
+ E as S,
497
+ Y as T,
498
+ H as a,
499
+ M as b,
500
+ F as c,
501
+ J as d,
502
+ K as e,
503
+ W as f,
504
+ m as g
505
+ };
@@ -1,6 +1,6 @@
1
- import { B as s, m as o, C as t, j as r, D as n, l, H as i, I as d, N as b, O as v, P as p, S as N, p as g, n as k, o as u, T as C, k as D, U as M, W as T, f as c, h as B, i as m, c as y, d as W, b as h, e as H, a as P, g as f } from "./tab-C_dZb2qH.js";
1
+ import { B as s, m as o, C as t, j as r, D as n, l, H as i, I as d, N as b, O as v, P as p, S as N, p as g, n as k, o as u, T as C, k as D, U as M, W as T, f as c, h as B, i as m, c as y, d as W, b as h, e as H, a as P, g as f } from "./tab-DE7bmr2y.js";
2
2
  import { b as I, C as S, D as L, a as O, F, M as U, c as G, p as j } from "./calendar-DR_svCOR.js";
3
- import { B as q, I as z, M as A, d as E, e as J, g as K, N as Q, b as R, a as V, f as X, P as Y, c as Z, S as _, T as $ } from "./mobile-nav-wrapper-7Qul1-mt.js";
3
+ import { B as q, I as z, M as A, d as E, e as J, g as K, N as Q, b as R, a as V, f as X, P as Y, c as Z, S as _, T as $ } from "./mobile-nav-wrapper-BS9uUekR.js";
4
4
  export {
5
5
  s as BackButton,
6
6
  q as Backdrop,
package/dist/pages.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as s, a as P, C as g, F as n, b as l, c as i, M as r, P as c, S as o } from "./sidebar-menu-page-M8hr9onX.js";
1
+ import { B as s, a as P, C as g, F as n, b as l, c as i, M as r, P as c, S as o } from "./sidebar-menu-page-DN5qYk-Y.js";
2
2
  export {
3
3
  s as BasicPage,
4
4
  P as BlankPage,