bitboss-ui 3.0.0-beta.4 → 3.0.0-beta.8

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 (42) hide show
  1. package/README.md +36 -29
  2. package/dist/ai/BbBadge.md +10 -5
  3. package/dist/ai/BbSelect.md +8 -0
  4. package/dist/ai/BbTable.md +257 -51
  5. package/dist/ai/changelog.json +86 -2
  6. package/dist/ai/components.json +25 -15
  7. package/dist/ai/guides/design-language.md +14 -14
  8. package/dist/ai/guides/design-tokens.md +25 -18
  9. package/dist/ai/guides/installation-and-plugin-setup.md +1 -1
  10. package/dist/ai/guides/migration/components/bb-dialog.md +35 -29
  11. package/dist/ai/guides/migration/components/bb-table.md +406 -28
  12. package/dist/ai/guides/migration/v2-to-v3.md +175 -75
  13. package/dist/ai/index.md +1 -1
  14. package/dist/ai/recipes/inertia/layout-scaffold.md +5 -1
  15. package/dist/ai/recipes/inertia/ownership-atlas.md +41 -20
  16. package/dist/ai/recipes/inertia/records-workspace.md +26 -7
  17. package/dist/ai/recipes/nuxt/layout-scaffold.md +5 -1
  18. package/dist/ai/recipes/nuxt/records-workspace.md +26 -7
  19. package/dist/ai/recipes/vue/layout-scaffold.md +5 -1
  20. package/dist/ai/recipes/vue/records-workspace.md +26 -7
  21. package/dist/ai/source/BbBaseInputContainer.md +26 -0
  22. package/dist/ai/source/BbBreadcrumbs.md +31 -0
  23. package/dist/ai/source/BbDialog.md +15 -9
  24. package/dist/ai/source/BbOffCanvas.md +17 -11
  25. package/dist/ai/source/BbProgress.md +2 -2
  26. package/dist/ai/source/BbTable.md +837 -787
  27. package/dist/ai/source/CommonInputWrapper.md +4 -0
  28. package/dist/components/BbPagination/BbPagination.vue.d.ts +1 -1
  29. package/dist/components/BbTable/BbTable.vue.d.ts +5 -2
  30. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +439 -484
  31. package/dist/components/BbTable/types.d.ts +83 -21
  32. package/dist/components/BbTable/utils.d.ts +18 -3
  33. package/dist/components/BbTable/utils.js +36 -28
  34. package/dist/index.d.ts +5 -1
  35. package/dist/index.js +68 -67
  36. package/dist/llms-full.txt +1065 -265
  37. package/dist/llms-medium.txt +15 -15
  38. package/dist/llms.txt +1 -1
  39. package/dist/styles.css +1 -1
  40. package/llms.txt +1 -1
  41. package/package.json +1 -1
  42. package/dist/assets/svgs/sort.svg_raw.js +0 -4
@@ -25,6 +25,13 @@ export type ItemKey<Item = any> = NestedPaths<Item> | (string & {});
25
25
  * inferred per column, so the conditional has literal types to distribute over.
26
26
  */
27
27
  export type ReservedColumnKey = 'actions' | 'select';
28
+ /**
29
+ * Suffixes of the header affix slots (`header:prepend` / `header:append` and
30
+ * their per-column `header:<key>:prepend/append` variants). A column key that
31
+ * normalizes to one of these shadows the table-wide slot name; the table-wide
32
+ * interpretation wins and dev builds warn.
33
+ */
34
+ export type HeaderAffixSuffix = 'prepend' | 'append';
28
35
  /**
29
36
  * Skeleton placeholder style for the loading state.
30
37
  * Matches the expected content type for a better loading experience.
@@ -80,17 +87,17 @@ export type BbTableColumn<Item = any> = BaseColumn<Item> & {
80
87
  */
81
88
  sorted?: 'asc' | 'desc';
82
89
  /**
83
- * Classes this column contributes to the whole row's `<tr>`. Every column's
90
+ * Classes this column contributes to the whole row element. Every column's
84
91
  * `rowClass` is accumulated with the table-level `rowClass` prop and applied
85
92
  * together. Can also be a function of the cell's content for dynamic values.
86
93
  */
87
94
  rowClass?: ColumnClasses<Item>;
88
95
  /**
89
- * Defines the classes to be passed to the `<td>` elements. Can also be a function for dynamic values.
96
+ * Defines the classes to be passed to this column's data cells. Can also be a function for dynamic values.
90
97
  */
91
98
  tdClass?: ColumnClasses<Item>;
92
99
  /**
93
- * Defines the classes to be passed to the `<th>`.
100
+ * Defines the classes to be passed to this column's header cell.
94
101
  */
95
102
  thClass?: Classes;
96
103
  /**
@@ -144,7 +151,7 @@ export type BbTableProps<Item = any> = {
144
151
  /**
145
152
  * Opt a nested table into inheriting its column widths from an ancestor
146
153
  * table's matching tracks (accounting for `select`/`actions` columns). This
147
- * also forces `table-layout: fixed`, so it is **off by default** — a nested
154
+ * also makes the parent's tracks authoritative, so it is **off by default** — a nested
148
155
  * table renders independently unless you ask for alignment.
149
156
  * - `false` (the default): do not inherit; size independently.
150
157
  * - `true`: inherit from the nearest ancestor table.
@@ -215,7 +222,8 @@ export type BbTableProps<Item = any> = {
215
222
  */
216
223
  displayCaption?: boolean;
217
224
  /**
218
- * Defines the table layout as fixed
225
+ * Splits the width equally among the columns that declare no `width`
226
+ * (each undeclared column becomes a `minmax(0, 1fr)` track)
219
227
  * making each column take up the same amount of space.
220
228
  */
221
229
  fixed?: boolean;
@@ -343,12 +351,12 @@ export type BbTableProps<Item = any> = {
343
351
  */
344
352
  readonly?: boolean;
345
353
  /**
346
- * Defines the classes to be passed to each data `<tr>`. Can also be a
354
+ * Defines the classes to be passed to each data row. Can also be a
347
355
  * function of the row's item for dynamic values.
348
356
  */
349
357
  rowClass?: RowClasses<Item>;
350
358
  /**
351
- * Defines the classes to be passed to the header `<tr>`.
359
+ * Defines the classes to be passed to the header row.
352
360
  */
353
361
  headerRowClass?: Classes;
354
362
  /**
@@ -391,11 +399,11 @@ export type BbTableProps<Item = any> = {
391
399
  */
392
400
  selectText?: string;
393
401
  /**
394
- * Defines the classes to be passed to the `<td>` elements. Can also be a function for dynamic values.
402
+ * Defines the classes to be passed to every data cell. Can also be a function for dynamic values.
395
403
  */
396
404
  tdClass?: ColumnClasses<Item>;
397
405
  /**
398
- * Defines the classes to be passed to the `<th>`.
406
+ * Defines the classes to be passed to every header cell.
399
407
  */
400
408
  thClass?: Classes;
401
409
  /**
@@ -459,7 +467,7 @@ export type MappedItem = Option & {
459
467
  * Projection that represents a header
460
468
  */
461
469
  export type MappedHeader = {
462
- align: HTMLTableCellElement['align'];
470
+ align: string;
463
471
  classes?: Classes;
464
472
  key: string;
465
473
  label: string;
@@ -486,9 +494,9 @@ export type ExpandControllerProps = {
486
494
  onKeydown: (event: KeyboardEvent) => void;
487
495
  };
488
496
  export type BbTableEvents = {
489
- (e: 'click:row', event: MouseEvent, item: any, selected: boolean): void;
490
- (e: 'contextmenu:row', event: MouseEvent, item: any, selected: boolean): void;
491
- (e: 'dblclick:row', event: MouseEvent, item: any, selected: boolean): void;
497
+ (e: 'click:row', event: MouseEvent, item: any): void;
498
+ (e: 'contextmenu:row', event: MouseEvent, item: any): void;
499
+ (e: 'dblclick:row', event: MouseEvent, item: any): void;
492
500
  (e: 'update:highlighted', value: any): void;
493
501
  (e: 'update:modelValue', value: any): void;
494
502
  (e: 'update:selectAll', value: boolean): void;
@@ -498,22 +506,57 @@ export type BbTableEvents = {
498
506
  (e: 'item:selected', value: any): void;
499
507
  (e: 'item:unselected', value: any): void;
500
508
  };
509
+ /**
510
+ * Props exposed by the table-wide `header:prepend` / `header:append` slots and
511
+ * their per-column `header:<key>:prepend` / `header:<key>:append` variants —
512
+ * the `header:<key>` payload plus the column key.
513
+ */
514
+ export type BbTableHeaderAffixSlotProps<Item = any> = {
515
+ /** Merged header classes for this column. */
516
+ classes?: Classes;
517
+ /**
518
+ * The raw key of the column being rendered — branch on it in the
519
+ * table-wide slots.
520
+ */
521
+ columnKey: string;
522
+ /** The current table items. */
523
+ items?: Item[];
524
+ /** The column's label. */
525
+ label?: string;
526
+ /** Whether this column is sortable. */
527
+ sortable?: boolean;
528
+ /** This column's current sort direction, or `null` when unsorted. */
529
+ sortOrder?: 'asc' | 'desc' | null;
530
+ /** Cycles this column's sort: unsorted → asc → desc → unsorted. */
531
+ toggleSort?: () => void;
532
+ };
501
533
  export type BbTableSlots<Item = any> = {
502
534
  /**
503
- * Replaces the entire `<thead>` element. Use when you need full control over the header markup.
535
+ * Replaces the content of the header row group (`.bb-table__head`). Use when
536
+ * you need full control over the header markup. The table is a CSS grid,
537
+ * not a `<table>`: provide role-complete rows — `<div role="row">` holding
538
+ * one `<div role="columnheader">` per column — and never a `<tr>`/`<th>`.
539
+ * Rows are subgrid rows, so each cell lands on the matching column track.
504
540
  */
505
541
  thead?: (props: object) => any;
506
542
  /**
507
- * Replaces the entire `<tbody>` element. Use when you need full control over the body markup.
543
+ * Replaces the content of the body row group (`.bb-table__body`). Use when
544
+ * you need full control over the body markup. Provide role-complete rows —
545
+ * `<div role="row">` holding one `<div role="cell">` per column — never a
546
+ * `<tr>`/`<td>`. A full-width cell spans with `grid-column: 1 / -1`.
508
547
  */
509
548
  tbody?: (props: object) => any;
510
549
  /**
511
- * Replaces the entire `<tfoot>` element. Use when you need full control over the footer markup.
550
+ * Fills the footer row group (`.bb-table__foot`). Use when you need a
551
+ * footer. Provide role-complete rows — `<div role="row">` holding
552
+ * `<div role="cell">` elements — never a `<tr>`/`<td>`.
512
553
  */
513
554
  tfoot?: (props: {
514
555
  /**
515
- * Total rendered column count — the value to give a full-width footer row's
516
- * `colspan` (accounts for the selection/expand columns), so you never hand-count it.
556
+ * Total rendered column count (accounts for the selection/actions
557
+ * columns), so you never hand-count it. A footer cell spanning the
558
+ * whole table uses `grid-column: 1 / -1`; one spanning a subset uses
559
+ * `grid-column: span N` with `N` up to this value.
517
560
  */
518
561
  columnCount: number;
519
562
  }) => any;
@@ -535,6 +578,20 @@ export type BbTableSlots<Item = any> = {
535
578
  'header:actions'?: (props: {
536
579
  text: string;
537
580
  }) => any;
581
+ /**
582
+ * Content rendered before every data column's header cell content — the
583
+ * label + sort control, or the column's own `header:<key>` replacement.
584
+ * A column's `header:<key>:prepend` slot wins over this one for that
585
+ * column; they never stack. Branch on `columnKey` for per-column output.
586
+ */
587
+ 'header:prepend'?: (props: BbTableHeaderAffixSlotProps<Item>) => any;
588
+ /**
589
+ * Content rendered after every data column's header cell content — the
590
+ * label + sort control, or the column's own `header:<key>` replacement.
591
+ * A column's `header:<key>:append` slot wins over this one for that
592
+ * column; they never stack. Branch on `columnKey` for per-column output.
593
+ */
594
+ 'header:append'?: (props: BbTableHeaderAffixSlotProps<Item>) => any;
538
595
  /**
539
596
  * Content shown while table rows are loading (replaces the skeleton rows).
540
597
  * @param items - The current (possibly stale) list of items, useful to match the previous row count.
@@ -544,9 +601,9 @@ export type BbTableSlots<Item = any> = {
544
601
  }) => any;
545
602
  /**
546
603
  * Content shown when the items list is empty and not loading. It fills the
547
- * table's own full-width empty-state cell (the colspan already accounts for
548
- * the selection/actions columns), so provide the *content* — a message, an
549
- * illustration, a "clear filters" button — never a `<tr>`/`<td>` of your own.
604
+ * table's own full-width empty-state cell (it already spans the
605
+ * selection/actions columns), so provide the *content* — a message, an
606
+ * illustration, a "clear filters" button — never a row/cell of your own.
550
607
  */
551
608
  'no-data'?: (props: object) => any;
552
609
  /**
@@ -616,6 +673,11 @@ export type BbTableSlots<Item = any> = {
616
673
  }) => any;
617
674
  } & Record<string, (props: {
618
675
  classes?: Classes[];
676
+ /**
677
+ * Present only in the `header:<key>:prepend/append` affix slots — the
678
+ * raw key of the column being rendered.
679
+ */
680
+ columnKey?: string;
619
681
  content?: any;
620
682
  expanded?: boolean;
621
683
  expandProps?: ExpandControllerProps;
@@ -4,11 +4,26 @@ export type FixedColumnConfig = number | {
4
4
  index: number;
5
5
  position: 'left' | 'right';
6
6
  };
7
+ /**
8
+ * Splits the grid root's *resolved* `grid-template-columns` (one
9
+ * `getComputedStyle` read) into its px tokens, verbatim. Returns `null` when
10
+ * any token is not a px length: a table hidden by `display: none` reports its
11
+ * SPECIFIED template (`max-content auto …`) instead of used values, and the
12
+ * caller must keep its last good measurement rather than publish keywords.
13
+ *
14
+ * Read the root only — a subgrid box reports the literal `subgrid [] [] …`.
15
+ */
16
+ export declare const readResolvedTracks: (root: Element) => string[] | null;
7
17
  /**
8
18
  * Applies sticky positioning to fixed table columns.
9
- * Call after DOM updates (e.g. in watch with flush: 'post') to read layout.
19
+ *
20
+ * `root` is the grid root (`.bb-table__table`). Offsets are prefix sums of the
21
+ * resolved track list, so they hold to the subpixel regardless of what sized
22
+ * the track (frozen width, inherited parent track, content). Call after DOM
23
+ * updates (e.g. in a `flush: 'post'` watch) and after every re-measure so the
24
+ * offsets follow the tracks.
10
25
  */
11
- export declare const applyFixedTableColumns: (table: HTMLTableElement, fixedColumns: FixedColumnConfig[]) => void;
26
+ export declare const applyFixedTableColumns: (root: HTMLElement, fixedColumns: FixedColumnConfig[]) => void;
12
27
  /**
13
28
  * Converts a column key (e.g. "address.nested.value") to a slot-safe name (e.g. "address_nested_value").
14
29
  * Thin alias over the shared {@link slotKey} normalizer used across every
@@ -20,7 +35,7 @@ export declare const columnKeyToSlotName: (key: string) => string;
20
35
  */
21
36
  export declare const mergeHeaderClasses: (base: Classes, global?: Classes, column?: Classes) => Classes;
22
37
  /**
23
- * Accumulates every row-class source for a row's `<tr>`: the table-level
38
+ * Accumulates every row-class source for a data row: the table-level
24
39
  * `rowClass` prop (item function or static), then each column's `rowClass`
25
40
  * (resolved with that column's cell content, like `tdClass`), in column order.
26
41
  */
@@ -1,53 +1,61 @@
1
1
  import { useLogger as e } from "../../composables/useLogger.js";
2
2
  import { slotKey as t } from "../../utilities/functions/slotKey.js";
3
3
  //#region src/components/BbTable/utils.ts
4
- var n = (t, n) => {
4
+ var n = /^-?\d*\.?\d+px$/, r = (e) => {
5
+ let t = getComputedStyle(e).gridTemplateColumns;
6
+ if (!t || t === "none") return null;
7
+ let r = t.trim().split(/\s+/);
8
+ return r.every((e) => n.test(e)) ? r : null;
9
+ }, i = [
10
+ "bb-table-expand__row",
11
+ "bb-table-no-data__row",
12
+ "bb-table-loading__row"
13
+ ], a = (t, n) => {
5
14
  if (!n.length) return;
6
- let r = Array.from(t.querySelectorAll(":scope > thead th"));
7
- if (!r.length) return;
8
- let { error: i } = e(), a = r.length, o = n.map((e) => ({
15
+ let a = r(t);
16
+ if (!a) return;
17
+ let { error: o } = e(), s = a.length, c = a.map((e) => parseFloat(e)), l = n.map((e) => ({
9
18
  index: typeof e == "number" ? e : e.index,
10
19
  position: typeof e == "number" ? "left" : e.position
11
20
  })).sort((e, t) => e.position === t.position ? e.position === "left" ? e.index - t.index : t.index - e.index : e.position === "left" ? -1 : 1).reduce((e, t) => {
12
- let n = r[t.index];
13
- if (!n) return i(`BbTable fixedColumns: Cannot affix column at index ${t.index}. Table has ${a} columns (valid indices: 0–${a - 1}).`), e;
14
- let { width: o } = n.getBoundingClientRect(), s = e.filter((e) => e.position === t.position).reduce((e, t) => e + t.width, 0);
21
+ let n = c[t.index];
22
+ if (n === void 0) return o(`BbTable fixedColumns: Cannot affix column at index ${t.index}. Table has ${s} columns (valid indices: 0–${s - 1}).`), e;
23
+ let r = e.filter((e) => e.position === t.position).reduce((e, t) => e + t.width, 0);
15
24
  return e.push({
16
25
  index: t.index,
17
26
  position: t.position,
18
- width: Math.floor(o),
19
- offset: s
27
+ width: n,
28
+ offset: r
20
29
  }), e;
21
30
  }, []);
22
- Array.from(t.querySelectorAll(":scope > thead > tr, :scope > tbody > tr")).forEach((e) => {
23
- let t = e.querySelectorAll(":scope > td, :scope > th");
24
- Array.from(t).some((e) => e.colSpan > 1) || t.length < a || o.forEach((t) => {
25
- let n = e.querySelector(`:scope > :nth-child(${t.index + 1})`);
31
+ Array.from(t.querySelectorAll(":scope > .bb-table__head > [role=\"row\"], :scope > .bb-table__body > [role=\"row\"]")).forEach((e) => {
32
+ i.some((t) => e.classList.contains(t)) || e.children.length < s || l.forEach((t) => {
33
+ let n = e.children[t.index];
26
34
  n && (n.style.position = "sticky", n.style[t.position] = `${t.offset}px`);
27
35
  });
28
36
  });
29
- }, r = (e) => Array.isArray(e) ? e : [e], i = t, a = (e, t, n) => {
30
- let i = [...r(e)];
31
- return t && i.push(...r(t)), n && i.push(...r(n)), i;
32
- }, o = (e, t, n, i) => {
33
- let a = [], o = (e) => {
34
- e && a.push(...r(e));
37
+ }, o = (e) => Array.isArray(e) ? e : [e], s = t, c = (e, t, n) => {
38
+ let r = [...o(e)];
39
+ return t && r.push(...o(t)), n && r.push(...o(n)), r;
40
+ }, l = (e, t, n, r) => {
41
+ let i = [], a = (e) => {
42
+ e && i.push(...o(e));
35
43
  };
36
- return o(typeof e == "function" ? e(i) : e), t.forEach((e, t) => {
37
- let r = e.rowClass;
38
- r && o(typeof r == "function" ? r(n[t]?.content, String(e.key), i) : r);
39
- }), a;
40
- }, s = (e, t, n, i, a, o) => {
41
- let s = [...r(e)], c = (e) => typeof e == "function" ? e(i, a, o) : e;
44
+ return a(typeof e == "function" ? e(r) : e), t.forEach((e, t) => {
45
+ let i = e.rowClass;
46
+ i && a(typeof i == "function" ? i(n[t]?.content, String(e.key), r) : i);
47
+ }), i;
48
+ }, u = (e, t, n, r, i, a) => {
49
+ let s = [...o(e)], c = (e) => typeof e == "function" ? e(r, i, a) : e;
42
50
  if (t) {
43
51
  let e = c(t);
44
- e && s.push(...r(e));
52
+ e && s.push(...o(e));
45
53
  }
46
54
  if (n) {
47
55
  let e = c(n);
48
- e && s.push(...r(e));
56
+ e && s.push(...o(e));
49
57
  }
50
58
  return s;
51
59
  };
52
60
  //#endregion
53
- export { n as applyFixedTableColumns, i as columnKeyToSlotName, s as mergeCellClasses, a as mergeHeaderClasses, o as mergeRowClasses };
61
+ export { a as applyFixedTableColumns, s as columnKeyToSlotName, u as mergeCellClasses, c as mergeHeaderClasses, l as mergeRowClasses, r as readResolvedTracks };
package/dist/index.d.ts CHANGED
@@ -49,6 +49,10 @@ export { useMobile } from './composables/useMobile';
49
49
  export { useSafeArea } from './composables/useSafeArea';
50
50
  export type { SafeAreaSide, UseSafeAreaOptions, } from './composables/useSafeArea';
51
51
  export { useToast } from './composables/useToast';
52
+ /**
53
+ * Export utilities
54
+ */
55
+ export { slotKey } from './utilities/functions/slotKey';
52
56
  /**
53
57
  * Export components
54
58
  */
@@ -142,7 +146,7 @@ export type { BbTimePickerInputProps, BbTimePickerInputEvents, BbTimePickerInput
142
146
  export type { BbTimePickerProps, BbTimePickerEvents, BbTimePickerSlots, BbTimePickerSegment, } from './components/BbTimePicker/types';
143
147
  export type { Sizes as BbDialogSizes } from './components/BbDialog/types';
144
148
  export type { BbDropdownButtonProps } from './components/BbDropdownButton/types';
145
- export type { BbDropdownGroupModel, BbDropdownGroupProps, BbDropdownProps, Item as BbDropdownItem, } from './components/BbDropdown/types';
149
+ export type { BbDropdownGroupModel, BbDropdownGroupProps, BbDropdownProps, DropdownGroupItemsGetter, Item as BbDropdownItem, } from './components/BbDropdown/types';
146
150
  export type { BbDropzoneProps, DropZoneError, BbDropzoneEvents, } from './components/BbDropzone/types';
147
151
  export type { BbIconProps, BbIconSize } from './components/BbIcon/types';
148
152
  export type { BbNumberInputProps, BbNumberInputEvents, } from './components/BbNumberInput/types';
package/dist/index.js CHANGED
@@ -7,70 +7,71 @@ import { useBbDropdownContext as i } from "./composables/useBbDropdownContext.js
7
7
  import { useMobile as a } from "./composables/useMobile.js";
8
8
  import o from "./components/BbBaseButton/BbBaseButton.vue.js";
9
9
  import s from "./components/BbIcon/BbIcon.vue.js";
10
- import c from "./components/BbOffCanvas/BbOffCanvas.vue.js";
11
- import l from "./components/BbSmoothHeight/BbSmoothHeight.vue.js";
12
- import u from "./components/BbSpinner/BbSpinner.vue.js";
13
- import d from "./components/BbBadge/BbBadgeButton.vue.js";
14
- import f from "./components/BbBadge/BbBadge.vue.js";
15
- import p from "./components/BbDropdown/BbDropdown.vue.js";
16
- import m, { BbDropdownDirectivePlugin as h } from "./directives/bbDropdown.js";
17
- import g from "./components/BbColorPalette/BbColorPalette.vue.js";
18
- import _, { BbColorDirectivePlugin as v } from "./directives/bbColor.js";
19
- import y from "./components/BbDatePicker/BbDatePicker.vue.js";
20
- import b, { BbDateDirectivePlugin as x } from "./directives/bbDate.js";
21
- import S from "./components/BbTimePicker/BbTimePicker.vue.js";
22
- import C, { BbTimeDirectivePlugin as w } from "./directives/bbTime.js";
23
- import { bitbossUiPlugin as T } from "./plugin.js";
24
- import { useBbConfig as E } from "./composables/useBbConfig.js";
25
- import { useBbTableContext as D } from "./composables/useBbTableContext.js";
26
- import { useBbTabsContext as O } from "./composables/useBbTabsContext.js";
27
- import { useConfirm as k } from "./composables/useConfirm.js";
28
- import { useCountdown as A } from "./composables/useCountdown.js";
29
- import { useSafeArea as j } from "./composables/useSafeArea.js";
30
- import { useToast as M } from "./composables/useToast.js";
31
- import N from "./components/BbCollapsible/BbCollapsible.vue.js";
32
- import P from "./components/BbAccordion/BbAccordion.vue.js";
33
- import F from "./components/BbAlert/BbAlert.vue.js";
34
- import I from "./components/BbAsterisk/BbAsterisk.vue.js";
35
- import L from "./components/BbAvatar/BbAvatar.vue.js";
36
- import R from "./components/BbIndicator/BbIndicator.vue.js";
37
- import z from "./components/BbBreadcrumbs/BbBreadcrumbs.vue.js";
38
- import B from "./components/BbButton/BbButton.vue.js";
39
- import V from "./components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.js";
40
- import H from "./components/BbCheckbox/BbCheckbox.vue.js";
41
- import U from "./components/BbCheckboxGroup/BbCheckboxGroup.vue.js";
42
- import W from "./components/BbColorInput/BbColorInput.vue.js";
43
- import G from "./components/BbDialog/BbDialog.vue.js";
44
- import K from "./components/BbConfirm/BbConfirm.vue.js";
45
- import q from "./components/BbConfirm/BbConfirmPortal.vue.js";
46
- import J from "./components/BbDatePickerInput/BbDatePickerInput.vue.js";
47
- import Y from "./components/BbDropdownButton/BbDropdownButton.vue.js";
48
- import X from "./components/BbDropdown/BbDropdownGroup.vue.js";
49
- import Z from "./components/BbDropzone/BbDropzone.vue.js";
50
- import Q from "./components/BbNumberInput/BbNumberInput.vue.js";
51
- import $ from "./components/BbPagination/BbPagination.vue.js";
52
- import ee from "./components/BbPopover/BbPopover.vue.js";
53
- import te from "./components/BbProgress/BbProgress.vue.js";
54
- import ne from "./components/BbBaseRadioIcon/BbBaseRadioIcon.vue.js";
55
- import re from "./components/BbRadio/BbRadio.vue.js";
56
- import ie from "./components/BbRadioGroup/BbRadioGroup.vue.js";
57
- import ae from "./components/BbRating/BbRating.vue.js";
58
- import oe from "./components/BbSelectPopover/BbSelectPopover.vue.js";
59
- import se from "./components/BbSelect/BbSelect.vue.js";
60
- import ce from "./components/BbSlider/BbSlider.vue.js";
61
- import le from "./components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue.js";
62
- import ue from "./components/BbSwitch/BbSwitch.vue.js";
63
- import de from "./components/BbSwitchGroup/BbSwitchGroup.vue.js";
64
- import fe from "./components/BbTable/BbTable.vue.js";
65
- import pe from "./components/BbTabs/BbTabsList.vue.js";
66
- import me from "./components/BbTabs/BbTabsPanes.vue.js";
67
- import he from "./components/BbTabs/BbTabs.vue.js";
68
- import ge from "./components/BbTabs/BbTabsRoot.vue.js";
69
- import _e from "./components/BbTag/BbTag.vue.js";
70
- import ve from "./components/BbTextarea/BbTextarea.vue.js";
71
- import ye from "./components/BbTextInput/BbTextInput.vue.js";
72
- import be from "./components/BbTimePickerInput/BbTimePickerInput.vue.js";
73
- import xe from "./components/BbToast/BbToast.vue.js";
74
- import Se from "./components/BbToast/BbToastPortal.vue.js";
75
- import Ce from "./components/BbTree/BbTree.vue.js";
76
- export { P as BbAccordion, F as BbAlert, I as BbAsterisk, L as BbAvatar, f as BbBadge, d as BbBadgeButton, o as BbBaseButton, V as BbBaseCheckboxIcon, ne as BbBaseRadioIcon, le as BbBaseSwitchIcon, z as BbBreadcrumbs, B as BbButton, H as BbCheckbox, U as BbCheckboxGroup, N as BbCollapsible, v as BbColorDirectivePlugin, W as BbColorInput, g as BbColorPalette, K as BbConfirm, q as BbConfirmPortal, x as BbDateDirectivePlugin, y as BbDatePicker, J as BbDatePickerInput, G as BbDialog, p as BbDropdown, Y as BbDropdownButton, h as BbDropdownDirectivePlugin, X as BbDropdownGroup, Z as BbDropzone, s as BbIcon, R as BbIndicator, Q as BbNumberInput, c as BbOffCanvas, $ as BbPagination, ee as BbPopover, te as BbProgress, re as BbRadio, ie as BbRadioGroup, ae as BbRating, se as BbSelect, oe as BbSelectPopover, ce as BbSlider, l as BbSmoothHeight, u as BbSpinner, ue as BbSwitch, de as BbSwitchGroup, fe as BbTable, he as BbTabs, pe as BbTabsList, me as BbTabsPanes, ge as BbTabsRoot, _e as BbTag, ye as BbTextInput, ve as BbTextarea, w as BbTimeDirectivePlugin, S as BbTimePicker, be as BbTimePickerInput, xe as BbToast, Se as BbToastPortal, t as BbTooltip, r as BbTooltipDirectivePlugin, Ce as BbTree, T as bitbossUiPlugin, E as useBbConfig, i as useBbDropdownContext, D as useBbTableContext, O as useBbTabsContext, k as useConfirm, A as useCountdown, e as useId, a as useMobile, j as useSafeArea, M as useToast, _ as vBbColor, b as vBbDate, m as vBbDropdown, C as vBbTime, n as vBbTooltip };
10
+ import { slotKey as c } from "./utilities/functions/slotKey.js";
11
+ import l from "./components/BbOffCanvas/BbOffCanvas.vue.js";
12
+ import u from "./components/BbSmoothHeight/BbSmoothHeight.vue.js";
13
+ import d from "./components/BbSpinner/BbSpinner.vue.js";
14
+ import f from "./components/BbBadge/BbBadgeButton.vue.js";
15
+ import p from "./components/BbBadge/BbBadge.vue.js";
16
+ import m from "./components/BbDropdown/BbDropdown.vue.js";
17
+ import h, { BbDropdownDirectivePlugin as g } from "./directives/bbDropdown.js";
18
+ import _ from "./components/BbColorPalette/BbColorPalette.vue.js";
19
+ import v, { BbColorDirectivePlugin as y } from "./directives/bbColor.js";
20
+ import b from "./components/BbDatePicker/BbDatePicker.vue.js";
21
+ import x, { BbDateDirectivePlugin as S } from "./directives/bbDate.js";
22
+ import C from "./components/BbTimePicker/BbTimePicker.vue.js";
23
+ import w, { BbTimeDirectivePlugin as T } from "./directives/bbTime.js";
24
+ import { bitbossUiPlugin as E } from "./plugin.js";
25
+ import { useBbConfig as D } from "./composables/useBbConfig.js";
26
+ import { useBbTableContext as O } from "./composables/useBbTableContext.js";
27
+ import { useBbTabsContext as k } from "./composables/useBbTabsContext.js";
28
+ import { useConfirm as A } from "./composables/useConfirm.js";
29
+ import { useCountdown as j } from "./composables/useCountdown.js";
30
+ import { useSafeArea as M } from "./composables/useSafeArea.js";
31
+ import { useToast as N } from "./composables/useToast.js";
32
+ import P from "./components/BbCollapsible/BbCollapsible.vue.js";
33
+ import F from "./components/BbAccordion/BbAccordion.vue.js";
34
+ import I from "./components/BbAlert/BbAlert.vue.js";
35
+ import L from "./components/BbAsterisk/BbAsterisk.vue.js";
36
+ import R from "./components/BbAvatar/BbAvatar.vue.js";
37
+ import z from "./components/BbIndicator/BbIndicator.vue.js";
38
+ import B from "./components/BbBreadcrumbs/BbBreadcrumbs.vue.js";
39
+ import V from "./components/BbButton/BbButton.vue.js";
40
+ import H from "./components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.js";
41
+ import U from "./components/BbCheckbox/BbCheckbox.vue.js";
42
+ import W from "./components/BbCheckboxGroup/BbCheckboxGroup.vue.js";
43
+ import G from "./components/BbColorInput/BbColorInput.vue.js";
44
+ import K from "./components/BbDialog/BbDialog.vue.js";
45
+ import q from "./components/BbConfirm/BbConfirm.vue.js";
46
+ import J from "./components/BbConfirm/BbConfirmPortal.vue.js";
47
+ import Y from "./components/BbDatePickerInput/BbDatePickerInput.vue.js";
48
+ import X from "./components/BbDropdownButton/BbDropdownButton.vue.js";
49
+ import Z from "./components/BbDropdown/BbDropdownGroup.vue.js";
50
+ import Q from "./components/BbDropzone/BbDropzone.vue.js";
51
+ import $ from "./components/BbNumberInput/BbNumberInput.vue.js";
52
+ import ee from "./components/BbPagination/BbPagination.vue.js";
53
+ import te from "./components/BbPopover/BbPopover.vue.js";
54
+ import ne from "./components/BbProgress/BbProgress.vue.js";
55
+ import re from "./components/BbBaseRadioIcon/BbBaseRadioIcon.vue.js";
56
+ import ie from "./components/BbRadio/BbRadio.vue.js";
57
+ import ae from "./components/BbRadioGroup/BbRadioGroup.vue.js";
58
+ import oe from "./components/BbRating/BbRating.vue.js";
59
+ import se from "./components/BbSelectPopover/BbSelectPopover.vue.js";
60
+ import ce from "./components/BbSelect/BbSelect.vue.js";
61
+ import le from "./components/BbSlider/BbSlider.vue.js";
62
+ import ue from "./components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue.js";
63
+ import de from "./components/BbSwitch/BbSwitch.vue.js";
64
+ import fe from "./components/BbSwitchGroup/BbSwitchGroup.vue.js";
65
+ import pe from "./components/BbTable/BbTable.vue.js";
66
+ import me from "./components/BbTabs/BbTabsList.vue.js";
67
+ import he from "./components/BbTabs/BbTabsPanes.vue.js";
68
+ import ge from "./components/BbTabs/BbTabs.vue.js";
69
+ import _e from "./components/BbTabs/BbTabsRoot.vue.js";
70
+ import ve from "./components/BbTag/BbTag.vue.js";
71
+ import ye from "./components/BbTextarea/BbTextarea.vue.js";
72
+ import be from "./components/BbTextInput/BbTextInput.vue.js";
73
+ import xe from "./components/BbTimePickerInput/BbTimePickerInput.vue.js";
74
+ import Se from "./components/BbToast/BbToast.vue.js";
75
+ import Ce from "./components/BbToast/BbToastPortal.vue.js";
76
+ import we from "./components/BbTree/BbTree.vue.js";
77
+ export { F as BbAccordion, I as BbAlert, L as BbAsterisk, R as BbAvatar, p as BbBadge, f as BbBadgeButton, o as BbBaseButton, H as BbBaseCheckboxIcon, re as BbBaseRadioIcon, ue as BbBaseSwitchIcon, B as BbBreadcrumbs, V as BbButton, U as BbCheckbox, W as BbCheckboxGroup, P as BbCollapsible, y as BbColorDirectivePlugin, G as BbColorInput, _ as BbColorPalette, q as BbConfirm, J as BbConfirmPortal, S as BbDateDirectivePlugin, b as BbDatePicker, Y as BbDatePickerInput, K as BbDialog, m as BbDropdown, X as BbDropdownButton, g as BbDropdownDirectivePlugin, Z as BbDropdownGroup, Q as BbDropzone, s as BbIcon, z as BbIndicator, $ as BbNumberInput, l as BbOffCanvas, ee as BbPagination, te as BbPopover, ne as BbProgress, ie as BbRadio, ae as BbRadioGroup, oe as BbRating, ce as BbSelect, se as BbSelectPopover, le as BbSlider, u as BbSmoothHeight, d as BbSpinner, de as BbSwitch, fe as BbSwitchGroup, pe as BbTable, ge as BbTabs, me as BbTabsList, he as BbTabsPanes, _e as BbTabsRoot, ve as BbTag, be as BbTextInput, ye as BbTextarea, T as BbTimeDirectivePlugin, C as BbTimePicker, xe as BbTimePickerInput, Se as BbToast, Ce as BbToastPortal, t as BbTooltip, r as BbTooltipDirectivePlugin, we as BbTree, E as bitbossUiPlugin, c as slotKey, D as useBbConfig, i as useBbDropdownContext, O as useBbTableContext, k as useBbTabsContext, A as useConfirm, j as useCountdown, e as useId, a as useMobile, M as useSafeArea, N as useToast, v as vBbColor, x as vBbDate, h as vBbDropdown, w as vBbTime, n as vBbTooltip };