@base-framework/ui 1.0.1727 → 1.0.2001

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 (79) hide show
  1. package/copilot.md +80 -0
  2. package/dist/aside-template-sUm-F2f0.js +44 -0
  3. package/dist/atoms.es.js +31 -30
  4. package/dist/{bside-template-Du2m3rsE.js → bside-template-do_hXebn.js} +1 -1
  5. package/dist/{buttons-Cm9etaEG.js → buttons-CHEs54Wl.js} +23 -24
  6. package/dist/{confirmation-BxmDhBjv.js → empty-state-BfT4MKkN.js} +721 -335
  7. package/dist/form-group-CJzpq9Us.js +29 -0
  8. package/dist/format-BLolnx9j.js +122 -0
  9. package/dist/icons.es.js +4 -1
  10. package/dist/image-scaler-1G-JzJVG.js +530 -0
  11. package/dist/index.es.js +170 -151
  12. package/dist/inputs-9udyzkHR.js +210 -0
  13. package/dist/{mobile-nav-wrapper-Dj67Pb8l.js → mobile-nav-wrapper-Dm9DinRD.js} +2 -2
  14. package/dist/molecules.es.js +46 -39
  15. package/dist/organisms.es.js +55 -49
  16. package/dist/pages.es.js +1 -1
  17. package/dist/range-calendar-BMWSJTE0.js +833 -0
  18. package/dist/{sidebar-menu-page-BVryQj2Z.js → sidebar-menu-page-D4WMgz5U.js} +6 -6
  19. package/dist/{signature-panel-xXbYWejE.js → signature-panel-Bq-usDxi.js} +598 -252
  20. package/dist/templates.es.js +2 -2
  21. package/dist/{tooltip-CESEqMCU.js → tooltip-PupzYM1r.js} +27 -34
  22. package/dist/types/components/atoms/atoms.d.ts +1 -0
  23. package/dist/types/components/atoms/form/form-group.d.ts +12 -0
  24. package/dist/types/components/atoms/form/inputs/input-classes.d.ts +2 -2
  25. package/dist/types/components/atoms/form/inputs/inputs.d.ts +0 -7
  26. package/dist/types/components/molecules/date-time/date-range-picker.d.ts +10 -0
  27. package/dist/types/components/molecules/empty/empty-state.d.ts +9 -0
  28. package/dist/types/components/molecules/files/attachment/attachment-input.d.ts +9 -0
  29. package/dist/types/components/molecules/files/attachment/attachment.d.ts +10 -0
  30. package/dist/types/components/molecules/files/attachment/orientation.d.ts +1 -0
  31. package/dist/types/components/molecules/files/attachment/type.d.ts +1 -0
  32. package/dist/types/components/molecules/form/form-card.d.ts +31 -0
  33. package/dist/types/components/molecules/image/image-uploader.d.ts +9 -0
  34. package/dist/types/components/molecules/image/logo-uploader.d.ts +9 -0
  35. package/dist/types/components/molecules/molecules.d.ts +5 -0
  36. package/dist/types/components/molecules/notifications/notification.d.ts +3 -3
  37. package/dist/types/components/organisms/calendar/calendar.d.ts +6 -0
  38. package/dist/types/components/organisms/calendar/month/calendar-header.d.ts +7 -0
  39. package/dist/types/components/organisms/calendar/month-selector.d.ts +5 -0
  40. package/dist/types/components/organisms/calendar/range/calendar-header.d.ts +7 -0
  41. package/dist/types/components/organisms/calendar/range/day-header.d.ts +1 -0
  42. package/dist/types/components/organisms/calendar/range/days-of-week-header.d.ts +1 -0
  43. package/dist/types/components/organisms/calendar/range/month-calendar.d.ts +17 -0
  44. package/dist/types/components/organisms/calendar/range/month-selector.d.ts +5 -0
  45. package/dist/types/components/organisms/calendar/range/navigation-button.d.ts +1 -0
  46. package/dist/types/components/organisms/calendar/range/range-calendar.d.ts +72 -0
  47. package/dist/types/components/organisms/calendar/range/range-day-cell.d.ts +10 -0
  48. package/dist/types/components/organisms/calendar/range/range-days-grid.d.ts +6 -0
  49. package/dist/types/components/organisms/calendar/range/range-toggle.d.ts +7 -0
  50. package/dist/types/components/organisms/calendar/range/year-selector.d.ts +4 -0
  51. package/dist/types/components/organisms/calendar/year-selector.d.ts +5 -0
  52. package/dist/types/components/organisms/lists/data-table-body.d.ts +1 -1
  53. package/dist/types/components/organisms/lists/data-table.d.ts +7 -0
  54. package/dist/types/components/organisms/lists/dynamic-data-table.d.ts +2 -0
  55. package/dist/types/components/organisms/lists/dynamic-table.d.ts +2 -0
  56. package/dist/types/components/organisms/lists/scrollable-data-table.d.ts +2 -0
  57. package/dist/types/components/organisms/lists/scrollable-table.d.ts +2 -0
  58. package/dist/types/components/organisms/lists/skeleton-examples.d.ts +12 -0
  59. package/dist/types/components/organisms/lists/skeleton-table-row.d.ts +6 -0
  60. package/dist/types/components/organisms/organisms.d.ts +6 -0
  61. package/dist/types/components/organisms/tabs/button-tab.d.ts +2 -2
  62. package/dist/types/components/organisms/tabs/tab-group.d.ts +3 -3
  63. package/dist/types/components/organisms/tabs/tab-navigation.d.ts +2 -2
  64. package/dist/types/components/organisms/tabs/tab.d.ts +2 -2
  65. package/dist/types/components/organisms/tabs/underlined-button-tab.d.ts +60 -0
  66. package/dist/types/components/organisms/tabs/underlined-tab-group.d.ts +48 -0
  67. package/dist/types/components/organisms/tabs/underlined-tab-navigation.d.ts +63 -0
  68. package/dist/types/components/organisms/tabs/underlined-tab.d.ts +36 -0
  69. package/dist/types/demo.d.ts +0 -0
  70. package/dist/types/ui.d.ts +1 -0
  71. package/dist/types/utils/format/format.d.ts +78 -0
  72. package/dist/types/utils/utils.d.ts +2 -0
  73. package/dist/utils.es.js +7 -1
  74. package/dist/veil-CqnAmj-D.js +20 -0
  75. package/package.json +85 -85
  76. package/dist/aside-template-McEj_Gxc.js +0 -35
  77. package/dist/calendar-DQXME-2u.js +0 -440
  78. package/dist/inputs-Dmu4Z-7-.js +0 -209
  79. package/dist/veil-D4dRxILB.js +0 -21
@@ -1,5 +1,5 @@
1
- import { A as s, F as l, M as m, a as p, T as o } from "./aside-template-McEj_Gxc.js";
2
- import { B as T } from "./bside-template-Du2m3rsE.js";
1
+ import { A as s, F as l, M as m, a as p, T as o } from "./aside-template-sUm-F2f0.js";
2
+ import { B as T } from "./bside-template-do_hXebn.js";
3
3
  export {
4
4
  s as AsideTemplate,
5
5
  T as BsideTemplate,
@@ -1,7 +1,7 @@
1
- import { Span as c, Div as l, Legend as f, Fieldset as x, UseParent as u, Input as C } from "@base-framework/atoms";
2
- import { Atom as s, Html as h } from "@base-framework/base";
3
- import { a as d } from "./veil-D4dRxILB.js";
4
- import { f as p, e as y, g as k } from "./inputs-Dmu4Z-7-.js";
1
+ import { Span as c, Legend as b, Fieldset as p, Div as l, UseParent as u, Input as C } from "@base-framework/atoms";
2
+ import { Atom as s, Html as x } from "@base-framework/base";
3
+ import { a as d } from "./veil-CqnAmj-D.js";
4
+ import { f as h, e as y, g as k } from "./inputs-9udyzkHR.js";
5
5
  const a = {
6
6
  gray: {
7
7
  backgroundColor: "bg-gray-50",
@@ -82,27 +82,21 @@ const a = {
82
82
  const { backgroundColor: e, textColor: r, ringColor: o } = w(t);
83
83
  return `inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors ${e} ${r} ${o}`;
84
84
  }, T = s((t, e) => {
85
- const r = $(t == null ? void 0 : t.type);
85
+ const r = $(t?.type);
86
86
  return c({ ...t, class: r }, e);
87
- }), L = s((t, e) => {
88
- const r = t.margin ?? "my-5 mx-5", o = t.padding ?? "p-4";
89
- return t.hover && (t.class += " hover:shadow-lg hover:bg-muted/50"), l({
90
- ...t,
91
- class: `rounded-lg border bg-card text-card-foreground shadow-md min-w-[120px] min-h-[80px] ${r} ${o} ${t.class || ""}`
92
- }, e);
93
- }), v = s((t, e) => f({
87
+ }), v = s((t, e) => b({
94
88
  ...t,
95
- class: ` font-medium bg-background -mt-4 -mx-1 px-2 py-2 ${t.class || ""}`
96
- }, e)), I = s((t, e) => {
89
+ class: ` font-medium -mt-4 -mx-1 px-2 py-2 ${t.class || ""}`
90
+ }, e)), L = s((t, e) => {
97
91
  const r = t.border === "full" ? "border rounded-md" : "border-t";
98
- return x({
92
+ return p({
99
93
  ...t,
100
94
  class: `p-6 ${r} ${t.class || ""}`
101
95
  }, [
102
96
  t.legend && v(t.legend),
103
- l({ class: "flex flex-auto flex-col space-y-6" }, e)
97
+ l({ class: "flex flex-auto flex-col gap-y-6" }, e)
104
98
  ]);
105
- }), G = d(
99
+ }), I = d(
106
100
  {
107
101
  /**
108
102
  * This will create the initial state of the RangeSlider.
@@ -160,7 +154,7 @@ const a = {
160
154
  // Incorporate your new classes here
161
155
  class: `
162
156
  absolute w-full h-full opacity-0 cursor-pointer
163
- ${p}
157
+ ${h}
164
158
  ${y}
165
159
  ${this.class || ""}
166
160
  `.trim(),
@@ -174,15 +168,15 @@ const a = {
174
168
  ]);
175
169
  }
176
170
  }
177
- ), R = s((t) => ({
171
+ ), G = s((t) => ({
178
172
  tag: "select",
179
173
  onCreated(e) {
180
- t.options && h.setupSelectOptions(e, t.options);
174
+ t.options && x.setupSelectOptions(e, t.options);
181
175
  },
182
176
  ...t,
183
177
  class: `${k} ${t.class || ""}`.trim()
184
178
  })), P = (t) => !t || isNaN(t) ? null : t, i = (t, e) => {
185
- const r = t, o = 16, n = 2 * Math.PI * o, m = r / 100 * n, b = `
179
+ const r = t, o = 16, n = 2 * Math.PI * o, m = r / 100 * n, f = `
186
180
  <svg class="w-40 h-40 mx-auto" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg">
187
181
  <!-- Background Circle -->
188
182
  <circle
@@ -222,9 +216,9 @@ const a = {
222
216
  `;
223
217
  return l({
224
218
  class: "circle-graph text-inherit",
225
- html: b
219
+ html: f
226
220
  });
227
- }, O = s((t) => {
221
+ }, R = s((t) => {
228
222
  const e = t.progress || 0, r = t.class || "", o = i(e, r);
229
223
  return l({
230
224
  class: "circle-graph-wrap",
@@ -236,7 +230,7 @@ const a = {
236
230
  }), S = () => u(({ state: t }) => l({
237
231
  class: "absolute h-full rounded-full bg-primary transition-all duration-300",
238
232
  style: ["width: [[progress]]%;", t]
239
- })), V = d(
233
+ })), O = d(
240
234
  {
241
235
  /**
242
236
  * This will render the progress bar component.
@@ -288,7 +282,7 @@ const a = {
288
282
  t < 0 && (t = 0), t > 100 && (t = 100), this.state.progress = t;
289
283
  }
290
284
  }
291
- ), D = ({ class: t, shape: e = "rectangle", width: r = "w-full", height: o = "h-4" }) => l({
285
+ ), V = ({ class: t, shape: e = "rectangle", width: r = "w-full", height: o = "h-4" }) => l({
292
286
  class: `bg-muted animate-pulse ${r} ${o} ${e === "circle" ? "rounded-full" : "rounded-md"} ${t || ""}`
293
287
  }), g = {
294
288
  top: "bottom-full left-1/2 transform -translate-x-1/2 mb-2",
@@ -299,7 +293,7 @@ const a = {
299
293
  "bottom-left": "top-full right-full transform translate-x-1 mt-2",
300
294
  left: "top-1/2 right-full transform -translate-y-1/2 mr-2",
301
295
  right: "top-1/2 left-full transform -translate-y-1/2 ml-2"
302
- }, E = (t) => g[t] || g.top, M = s(({ position: t = "top", content: e }, r) => {
296
+ }, E = (t) => g[t] || g.top, D = s(({ position: t = "top", content: e }, r) => {
303
297
  const o = E(t);
304
298
  return Array.isArray(r) === !1 && (r = [r]), l({ class: "relative group inline-block" }, [
305
299
  ...r,
@@ -314,13 +308,12 @@ const a = {
314
308
  });
315
309
  export {
316
310
  T as B,
317
- L as C,
318
- I as F,
311
+ R as C,
312
+ L as F,
319
313
  v as L,
320
- V as P,
321
- G as R,
322
- R as S,
323
- M as T,
324
- O as a,
325
- D as b
314
+ O as P,
315
+ I as R,
316
+ G as S,
317
+ D as T,
318
+ V as a
326
319
  };
@@ -2,6 +2,7 @@ export * from "./badges/badge.js";
2
2
  export * from "./buttons/buttons.js";
3
3
  export * from "./cards/card.js";
4
4
  export * from "./form/fieldset.js";
5
+ export * from "./form/form-group.js";
5
6
  export * from "./form/inputs/checkbox.js";
6
7
  export * from "./form/inputs/inputs.js";
7
8
  export * from "./form/inputs/range-slider.js";
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Creates a responsive form-group: label on the left, controls on the right.
3
+ *
4
+ * @param {object} props
5
+ * @param {string|object} props.label
6
+ * @param {object} [props.labelProps] any extra props for the label container
7
+ * @param {string} [props.class] extra classes for the outer container
8
+ * @param {array} children form controls (inputs, selects, etc)
9
+ * @returns {object}
10
+ */
11
+ export const FormGroup: Function;
12
+ export default FormGroup;
@@ -7,7 +7,7 @@ export const sizeClass: "flex h-10 w-full px-3 py-2 text-sm";
7
7
  * @constant {string} borderClass
8
8
  * Common border & background classes for inputs.
9
9
  */
10
- export const borderClass: "rounded-md border border-input bg-background";
10
+ export const borderClass: "rounded-md border border-border bg-input";
11
11
  /**
12
12
  * @constant {string} focusClass
13
13
  * Common focus and ring classes for inputs.
@@ -27,4 +27,4 @@ export const placeholderClass: "placeholder:text-muted-foreground";
27
27
  * @constant {string} commonInputClasses
28
28
  * Composed classes for text-like inputs (text, email, tel, etc.).
29
29
  */
30
- export const commonInputClasses: "flex h-10 w-full px-3 py-2 text-sm rounded-md border border-input bg-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 [&:user-invalid]:border-destructive";
30
+ export const commonInputClasses: "flex h-10 w-full px-3 py-2 text-sm rounded-md border border-border bg-input focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 [&:user-invalid]:border-destructive";
@@ -76,13 +76,6 @@ export const NumberInput: Function;
76
76
  * @returns {object} An Input element of type "password".
77
77
  */
78
78
  export const PasswordInput: Function;
79
- /**
80
- * Input component specifically for search.
81
- *
82
- * @param {object} props Props passed to the Input.
83
- * @returns {object} An Input element of type "search".
84
- */
85
- export const SearchInput: Function;
86
79
  /**
87
80
  * Input component specifically for URLs.
88
81
  *
@@ -0,0 +1,10 @@
1
+ /**
2
+ * DateRangePicker Atom
3
+ *
4
+ * This will create a date picker component.
5
+ *
6
+ * @type {typeof Veil}
7
+ */
8
+ export const DateRangePicker: typeof Veil;
9
+ export default DateRangePicker;
10
+ import { Veil } from '../../atoms/veil.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This will create an empty state component for unsubscription errors.
3
+ *
4
+ * @param {object} props - The properties for the empty state.
5
+ * @param {array} children - The children elements to be rendered inside the empty state.
6
+ * @return {object} - The empty state component.
7
+ */
8
+ export const EmptyState: Function;
9
+ export default EmptyState;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * AttachmentInput
3
+ *
4
+ * This component handles file attachments.
5
+ *
6
+ * @class
7
+ */
8
+ export const AttachmentInput: typeof import("@base-framework/base").Component;
9
+ export default AttachmentInput;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Attachment
3
+ *
4
+ * This creates an attachment.
5
+ *
6
+ * @class
7
+ */
8
+ export const Attachment: typeof import("@base-framework/base").Component;
9
+ export default AttachmentInput;
10
+ import AttachmentInput from "./attachment-input.js";
@@ -0,0 +1 @@
1
+ export function getOrientation(file: object, callback: Function): void;
@@ -0,0 +1 @@
1
+ export function getFileType(file: object): string;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * FormCard
3
+ *
4
+ * A card component for displaying a form.
5
+ *
6
+ * @param {object} props - The component props.
7
+ * @param {string} props.title - The title of the form.
8
+ * @param {array} children - The children to render inside the card.
9
+ * @returns {object} The rendered form card component.
10
+ */
11
+ export const FormCard: Function;
12
+ /**
13
+ * FormCardGroup
14
+ *
15
+ * A group of form cards.
16
+ *
17
+ * @param {object} props - The component props.
18
+ * @param {array} children - The children to render inside the group.
19
+ * @returns {object} The rendered form card group component.
20
+ */
21
+ export const FormCardGroup: Function;
22
+ /**
23
+ * FormCardGroup
24
+ *
25
+ * A group of form cards.
26
+ *
27
+ * @param {object} props - The component props.
28
+ * @param {array} children - The children to render inside the group.
29
+ * @returns {object} The rendered form card group component.
30
+ */
31
+ export const FormCardContent: Function;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * ImageUploader
3
+ *
4
+ * Upload button for image files, styled with a dashed circular drop zone.
5
+ *
6
+ * @type {typeof Component}
7
+ */
8
+ export const ImageUploader: typeof Component;
9
+ import { Component } from '@base-framework/base';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * LogoUploader
3
+ *
4
+ * Upload button for logo images, styled with a dashed circular drop zone.
5
+ *
6
+ * @type {typeof Component}
7
+ */
8
+ export const LogoUploader: typeof Component;
9
+ import { Component } from '@base-framework/base';
@@ -4,6 +4,7 @@ export * from "./dropdowns/dropdown-item.js";
4
4
  export * from "./dropdowns/dropdown-menu.js";
5
5
  export * from "./dropdowns/dropdown.js";
6
6
  export * from "./form/form-atoms.js";
7
+ export * from "./form/form-card.js";
7
8
  export * from "./form/form-control.js";
8
9
  export * from "./form/form-field.js";
9
10
  export * from "./form/form.js";
@@ -18,14 +19,18 @@ export * from "./avatars/avatar.js";
18
19
  export * from "./avatars/static-status-indicator.js";
19
20
  export * from "./avatars/status-indicator.js";
20
21
  export * from "./avatars/statuses.js";
22
+ export * from "./image/image-uploader.js";
23
+ export * from "./image/logo-uploader.js";
21
24
  export * from "./breadcrumb/breadcrumb.js";
22
25
  export * from "./breadcrumb/dots-indicator.js";
23
26
  export * from "./combobox/combobox.js";
24
27
  export * from "./counters/atoms.js";
25
28
  export * from "./counters/counter.js";
26
29
  export * from "./date-time/date-picker.js";
30
+ export * from "./date-time/date-range-picker.js";
27
31
  export * from "./date-time/time-frame.js";
28
32
  export * from "./date-time/time-picker.js";
29
33
  export * from "./dialogs/confirmation.js";
30
34
  export * from "./dialogs/dialog-container.js";
31
35
  export * from "./dialogs/dialog.js";
36
+ export * from "./empty/empty-state.js";
@@ -4,9 +4,9 @@
4
4
  * A component that displays notifications.
5
5
  *
6
6
  * @class
7
- * @extends DelayComponent
7
+ * @extends Component
8
8
  */
9
- export class Notification extends DelayComponent {
9
+ export class Notification extends Component {
10
10
  /**
11
11
  * @member {function|null} secondaryAction
12
12
  */
@@ -75,5 +75,5 @@ export class Notification extends DelayComponent {
75
75
  close(e: object): void;
76
76
  }
77
77
  export default Notification;
78
- import { DelayComponent } from "../delay-component.js";
78
+ import { Component } from "@base-framework/base";
79
79
  import { Timer } from "@base-framework/organisms";
@@ -38,6 +38,12 @@ export class Calendar extends Component {
38
38
  * @returns {Data}
39
39
  */
40
40
  setData(): Data;
41
+ /**
42
+ * This will set up the states for the calendar.
43
+ *
44
+ * @return {object}
45
+ */
46
+ setupStates(): object;
41
47
  /**
42
48
  * This will get the name of the month.
43
49
  *
@@ -0,0 +1,7 @@
1
+ export function CalendarHeader({ onMonthClick, onYearClick, next, previous }: {
2
+ onMonthClick: Function;
3
+ onYearClick: Function;
4
+ next: Function;
5
+ previous: Function;
6
+ }): object;
7
+ export default CalendarHeader;
@@ -0,0 +1,5 @@
1
+ export function MonthSelector({ currentMonth, currentYear, onSelect }: {
2
+ currentMonth: number;
3
+ currentYear: number;
4
+ onSelect: Function;
5
+ }): object;
@@ -0,0 +1,7 @@
1
+ export function CalendarHeader({ onMonthClick, onYearClick, next, previous }: {
2
+ onMonthClick: Function;
3
+ onYearClick: Function;
4
+ next: Function;
5
+ previous: Function;
6
+ }): object;
7
+ export default CalendarHeader;
@@ -0,0 +1 @@
1
+ export function DayHeader(day: string): object;
@@ -0,0 +1 @@
1
+ export function DaysOfWeekHeader(): object;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Create a month calendar component.
3
+ *
4
+ * @param {object} props
5
+ * @param {string} props.monthName
6
+ * @param {number} props.year
7
+ * @param {object} props.today
8
+ * @param {object} props.current
9
+ * @param {boolean} props.blockPriorDates
10
+ * @param {function} props.onDateClick
11
+ * @param {function} props.onMonthClick
12
+ * @param {function} props.onYearClick
13
+ * @param {function} props.next
14
+ * @param {function} props.previous
15
+ * @returns {object}
16
+ */
17
+ export const MonthCalendar: Function;
@@ -0,0 +1,5 @@
1
+ export function MonthSelector({ currentMonth, currentYear, onSelect }: {
2
+ currentMonth: number;
3
+ currentYear: number;
4
+ onSelect: Function;
5
+ }): object;
@@ -0,0 +1 @@
1
+ export function NavigationButton({ label, click }: object): object;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * RangeCalendar
3
+ *
4
+ * A calendar component for selecting a start and end date.
5
+ *
6
+ * @class RangeCalendar
7
+ */
8
+ export class RangeCalendar extends Component {
9
+ /**
10
+ * Initial start ISO date (YYYY-MM-DD).
11
+ * @member {string|null} startDate
12
+ */
13
+ startDate: any;
14
+ /**
15
+ * Initial end ISO date (YYYY-MM-DD).
16
+ * @member {string|null} endDate
17
+ */
18
+ endDate: any;
19
+ /**
20
+ * Callback after both dates are chosen.
21
+ * @member {function|null} onRangeSelect
22
+ */
23
+ onRangeSelect: any;
24
+ /**
25
+ * Block dates before today.
26
+ * @member {boolean} blockPriorDates
27
+ */
28
+ blockPriorDates: boolean;
29
+ /**
30
+ * Initialize reactive data for today and current view.
31
+ *
32
+ * @returns {Data}
33
+ */
34
+ setData(): Data;
35
+ /**
36
+ * This will get the name of the month.
37
+ *
38
+ * @param {number} month
39
+ * @returns {string}
40
+ */
41
+ getMonthName(month: number): string;
42
+ /**
43
+ * Initialize component state.
44
+ *
45
+ * @returns {{view:string}}
46
+ */
47
+ setupStates(): {
48
+ view: string;
49
+ };
50
+ /**
51
+ * Handle a date cell click.
52
+ *
53
+ * @param {string} isoDate
54
+ * @returns {void}
55
+ */
56
+ handleClick(isoDate: string): void;
57
+ /**
58
+ * Update current month/year in data.
59
+ *
60
+ * @param {object} obj
61
+ * @returns {void}
62
+ */
63
+ setCurrent({ month, year, date }: object): void;
64
+ /**
65
+ * Render the range calendar.
66
+ *
67
+ * @returns {object}
68
+ */
69
+ render(): object;
70
+ }
71
+ import { Component } from '@base-framework/base';
72
+ import { Data } from '@base-framework/base';
@@ -0,0 +1,10 @@
1
+ export function RangeDayCell({ day, iso, disabled, isStart, isEnd, isBetween, isOtherMonth, click }: {
2
+ day: number;
3
+ iso: string;
4
+ disabled: boolean;
5
+ isStart: boolean;
6
+ isEnd: boolean;
7
+ isBetween: boolean;
8
+ isOtherMonth: boolean;
9
+ click: Function;
10
+ }): object;
@@ -0,0 +1,6 @@
1
+ export function RangeDaysGrid({ today, current, blockPriorDates, onDateClick }: {
2
+ today: object;
3
+ current: object;
4
+ blockPriorDates: boolean;
5
+ onDateClick: Function;
6
+ }): object;
@@ -0,0 +1,7 @@
1
+ export function RangeToggle({ start, end, selecting, onSelectStart, onSelectEnd }: {
2
+ start: string | null;
3
+ end: string | null;
4
+ selecting: string;
5
+ onSelectStart: Function;
6
+ onSelectEnd: Function;
7
+ }): object;
@@ -0,0 +1,4 @@
1
+ export function YearSelector({ currentYear, onSelect }: {
2
+ currentYear: number;
3
+ onSelect: Function;
4
+ }): object;
@@ -0,0 +1,5 @@
1
+ export function YearSelector({ currentMonth, currentYear, onSelect }: {
2
+ currentMonth: number;
3
+ currentYear: number;
4
+ onSelect: Function;
5
+ }): object;
@@ -1,4 +1,4 @@
1
- export function DataTableBody({ key, rows, selectRow, rowItem }: object): object;
1
+ export function DataTableBody({ key, rows, selectRow, rowItem, emptyState, skeleton, columnCount }: object): object;
2
2
  import { CheckboxCol } from './table-header.js';
3
3
  import { HeaderCol } from './table-header.js';
4
4
  import { TableHeader } from './table-header.js';
@@ -4,6 +4,7 @@
4
4
  * Manages data, filtering, pagination, and selection within a table.
5
5
  *
6
6
  * @param {object} props
7
+ * @param {boolean|object} [props.skeleton] - Skeleton configuration. Can be true for default or object with { number: 5, row: customRowFunction }
7
8
  * @returns {object}
8
9
  */
9
10
  export class DataTable extends Component {
@@ -45,6 +46,12 @@ export class DataTable extends Component {
45
46
  * @param {object} row
46
47
  */
47
48
  selectRow(row: object): void;
49
+ /**
50
+ * Gets the number of header columns.
51
+ *
52
+ * @returns {number}
53
+ */
54
+ getHeaderColCount(): number;
48
55
  /**
49
56
  * Renders the DataTable component.
50
57
  *
@@ -17,6 +17,8 @@
17
17
  * @property {string} [props.border] - The border to add to the table.
18
18
  * @property {object} [props.data] - The table data.
19
19
  * @property {string} [props.cache] - The table cache identifier.
20
+ * @property {object|null} [props.emptyState] - The empty state to show when there are no items.
21
+ * @property {boolean|object} [props.skeleton] - Skeleton configuration. Can be true for default or object with { number: 5, row: customRowFunction }
20
22
  * @returns {object}
21
23
  */
22
24
  export const DynamicDataTable: Function;
@@ -14,6 +14,8 @@ export function DynamicTableBody(props: object): object;
14
14
  * @property {array} [props.rows] - The initial rows.
15
15
  * @property {function} [props.rowItem] - The row item.
16
16
  * @property {string} [props.containerClass] - The class to add to the scroll container.
17
+ * @property {object|null} [props.emptyState] - The empty state to show when there are no items.
18
+ * @property {boolean|object} [props.skeleton] - Skeleton configuration. Can be true for default or object with { number: 5, row: customRowFunction }
17
19
  * @returns {object}
18
20
  */
19
21
  export class DynamicTable extends DataTable {
@@ -18,6 +18,8 @@
18
18
  * @property {string} [props.border] - The border to add to the table.
19
19
  * @property {object} [props.data] - The table data.
20
20
  * @property {string} [props.cache] - The table cache identifier.
21
+ * @property {object|null} [props.emptyState] - The empty state to show when there are no items.
22
+ * @property {boolean|object} [props.skeleton] - Skeleton configuration. Can be true for default or object with { number: 5, row: customRowFunction }
21
23
  * @returns {object}
22
24
  */
23
25
  export const ScrollableDataTable: Function;
@@ -15,6 +15,8 @@ export function ScrollableDataTableBody(props: object): object;
15
15
  * @property {array} [props.rows] - The initial rows.
16
16
  * @property {function} [props.rowItem] - The row item.
17
17
  * @property {string} [props.containerClass] - The class to add to the scroll container.
18
+ * @property {array} [props.emptyState] - The empty state to show when there are no items.
19
+ * @property {boolean|object} [props.skeleton] - Skeleton configuration. Can be true for default or object with { number: 5, row: customRowFunction }
18
20
  * @returns {object}
19
21
  */
20
22
  export class ScrollableTable extends DataTable {
@@ -0,0 +1,12 @@
1
+ export function BasicSkeletonExample(): DataTable;
2
+ export function CustomCountExample(): DataTable;
3
+ export function CustomSkeletonRowExample(): DataTable;
4
+ export function demonstrateSkeletonUsage(): DataTable;
5
+ declare namespace _default {
6
+ export { BasicSkeletonExample };
7
+ export { CustomCountExample };
8
+ export { CustomSkeletonRowExample };
9
+ export { demonstrateSkeletonUsage };
10
+ }
11
+ export default _default;
12
+ import { DataTable } from './data-table.js';
@@ -0,0 +1,6 @@
1
+ export function SkeletonTableRow({ columnCount, customCell, key }: {
2
+ columnCount?: number;
3
+ customCell?: Function;
4
+ key?: string;
5
+ }): object;
6
+ export default SkeletonTableRow;
@@ -9,6 +9,7 @@ export * from "./calendar/week/week-calendar.js";
9
9
  export * from "./calendar/week/week-cell.js";
10
10
  export * from "./calendar/week/week-cells.js";
11
11
  export * from "./calendar/week/week-header.js";
12
+ export * from "./calendar/range/range-calendar.js";
12
13
  export * from "./calendar/calendar.js";
13
14
  export * from "./calendar/utils.js";
14
15
  export * from "./lists/checkbox-col.js";
@@ -34,8 +35,13 @@ export * from "./overlays/dockable-overlay.js";
34
35
  export * from "./overlays/inline-overlay.js";
35
36
  export * from "./overlays/overlay.js";
36
37
  export * from "./search/search-dropdown.js";
38
+ export * from "./search/search-input.js";
37
39
  export * from "./tabs/button-tab.js";
38
40
  export * from "./tabs/tab-group.js";
39
41
  export * from "./tabs/tab-navigation.js";
40
42
  export * from "./tabs/tab.js";
43
+ export * from "./tabs/underlined-button-tab.js";
44
+ export * from "./tabs/underlined-tab-group.js";
45
+ export * from "./tabs/underlined-tab-navigation.js";
46
+ export * from "./tabs/underlined-tab.js";
41
47
  export * from "./signature/signature-panel.js";