bitboss-ui 3.0.0-beta.21 → 3.0.0-beta.22
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/README.md +55 -3
- package/bin/bitboss-ui-mcp.mjs +419 -9
- package/bin/bitboss-ui.mjs +293 -22
- package/dist/ai/BbAccordion.md +21 -23
- package/dist/ai/BbAlert.md +6 -12
- package/dist/ai/BbAvatar.md +60 -24
- package/dist/ai/BbBadge.md +12 -20
- package/dist/ai/BbBaseButton.md +14 -16
- package/dist/ai/BbBaseCheckboxIcon.md +6 -10
- package/dist/ai/BbBaseRadioIcon.md +6 -10
- package/dist/ai/BbBaseSwitchIcon.md +5 -9
- package/dist/ai/BbBreadcrumbs.md +23 -34
- package/dist/ai/BbButton.md +35 -47
- package/dist/ai/BbCheckbox.md +21 -37
- package/dist/ai/BbCheckboxGroup.md +13 -13
- package/dist/ai/BbCollapsible.md +14 -26
- package/dist/ai/BbColorInput.md +13 -23
- package/dist/ai/BbColorPalette.md +23 -35
- package/dist/ai/BbConfirm.md +17 -32
- package/dist/ai/BbDatePickerInput.md +15 -21
- package/dist/ai/BbDialog.md +159 -62
- package/dist/ai/BbDropdown.md +21 -25
- package/dist/ai/BbDropdownButton.md +13 -30
- package/dist/ai/BbDropzone.md +9 -11
- package/dist/ai/BbIcon.md +44 -33
- package/dist/ai/BbIndicator.md +2 -2
- package/dist/ai/BbNumberInput.md +18 -20
- package/dist/ai/BbOffCanvas.md +42 -42
- package/dist/ai/BbPagination.md +21 -23
- package/dist/ai/BbPopover.md +15 -17
- package/dist/ai/BbProgress.md +40 -51
- package/dist/ai/BbRadio.md +9 -9
- package/dist/ai/BbRadioGroup.md +7 -11
- package/dist/ai/BbRating.md +8 -12
- package/dist/ai/BbSelect.md +32 -36
- package/dist/ai/BbSelectPopover.md +19 -31
- package/dist/ai/BbSlider.md +15 -19
- package/dist/ai/BbSmoothHeight.md +16 -31
- package/dist/ai/BbSpinner.md +118 -74
- package/dist/ai/BbSwitch.md +25 -18
- package/dist/ai/BbSwitchGroup.md +9 -14
- package/dist/ai/BbTable.md +102 -55
- package/dist/ai/BbTabs.md +59 -82
- package/dist/ai/BbTag.md +12 -23
- package/dist/ai/BbTextInput.md +20 -26
- package/dist/ai/BbTextarea.md +28 -34
- package/dist/ai/BbToast.md +14 -34
- package/dist/ai/BbTooltip.md +22 -20
- package/dist/ai/BbTree.md +46 -72
- package/dist/ai/changelog.json +169 -62
- package/dist/ai/components.json +1467 -9
- package/dist/ai/composables/useConfirm.md +5 -2
- package/dist/ai/composables/useToast.md +4 -2
- package/dist/ai/guides/agent-contract.md +7 -4
- package/dist/ai/guides/ai-router.md +37 -22
- package/dist/ai/guides/component-picker.md +23 -18
- package/dist/ai/guides/design-language.md +141 -13
- package/dist/ai/guides/design-tokens.md +29 -4
- package/dist/ai/guides/icons-policy.md +46 -21
- package/dist/ai/guides/installation-and-plugin-setup.md +253 -17
- package/dist/ai/guides/migration/components/bb-rating.md +26 -1
- package/dist/ai/guides/migration/components/bb-tooltip.md +18 -0
- package/dist/ai/guides/migration/v2-to-v3.md +50 -23
- package/dist/ai/index.md +1 -1
- package/dist/ai/recipes/inertia/approvals-inbox.md +3 -3
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +2 -2
- package/dist/ai/recipes/inertia/onboarding.md +2 -2
- package/dist/ai/recipes/inertia/ownership-atlas.md +6 -6
- package/dist/ai/recipes/inertia/record-form.md +5 -5
- package/dist/ai/recipes/inertia/records-workspace.md +4 -4
- package/dist/ai/recipes/inertia/upload-center.md +6 -6
- package/dist/ai/recipes/inertia/wizard-form.md +5 -5
- package/dist/ai/recipes/nuxt/approvals-inbox.md +3 -3
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +2 -2
- package/dist/ai/recipes/nuxt/onboarding.md +2 -2
- package/dist/ai/recipes/nuxt/record-form.md +5 -5
- package/dist/ai/recipes/nuxt/records-workspace.md +4 -4
- package/dist/ai/recipes/nuxt/upload-center.md +6 -6
- package/dist/ai/recipes/nuxt/wizard-form.md +5 -5
- package/dist/ai/recipes/vue/approvals-inbox.md +3 -3
- package/dist/ai/recipes/vue/inline-edit-workspace.md +2 -2
- package/dist/ai/recipes/vue/onboarding.md +2 -2
- package/dist/ai/recipes/vue/record-form.md +10 -10
- package/dist/ai/recipes/vue/records-workspace.md +4 -4
- package/dist/ai/recipes/vue/upload-center.md +6 -6
- package/dist/ai/recipes/vue/wizard-form.md +5 -5
- package/dist/ai/source/BbBadge.md +1 -1
- package/dist/ai/source/BbBaseCheckbox.md +1 -1
- package/dist/ai/source/BbBaseDatePicker.md +5 -5
- package/dist/ai/source/BbBaseDatePickerInput.md +2 -2
- package/dist/ai/source/BbBaseRadio.md +1 -1
- package/dist/ai/source/BbBaseRating.md +5 -5
- package/dist/ai/source/BbBaseSelect.md +1 -1
- package/dist/ai/source/BbBaseSlider.md +5 -5
- package/dist/ai/source/BbBaseSwitch.md +1 -1
- package/dist/ai/source/BbBaseTimePickerInput.md +1 -1
- package/dist/ai/source/BbBreadcrumbs.md +20 -1
- package/dist/ai/source/BbButton.md +2 -2
- package/dist/ai/source/BbDialog.md +39 -8
- package/dist/ai/source/BbDropdown.md +1 -1
- package/dist/ai/source/BbDropzone.md +5 -5
- package/dist/ai/source/BbIcon.md +23 -10
- package/dist/ai/source/BbOffCanvas.md +50 -28
- package/dist/ai/source/BbPagination.md +2 -2
- package/dist/ai/source/BbPopover.md +12 -1
- package/dist/ai/source/BbSelectPopover.md +45 -7
- package/dist/ai/source/BbSpinner.md +2 -2
- package/dist/ai/source/BbTable.md +11 -11
- package/dist/ai/source/BbTooltip.md +57 -10
- package/dist/ai/source/ChipsBox.md +1 -1
- package/dist/ai/source/CommaBox.md +1 -1
- package/dist/ai/source/GuidesComponent.md +14 -7
- package/dist/ai/source/OptionsContainer.md +1 -1
- package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.d.ts +1 -1
- package/dist/components/BbBaseRadio/BbBaseRadio.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/BbBaseSwitch/BbBaseSwitch.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +71 -71
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +102 -97
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +58 -58
- package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +33 -35
- package/dist/components/BbIcon/iconCache.d.ts +30 -0
- package/dist/components/BbIcon/iconCache.js +21 -3
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +57 -56
- package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +138 -138
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +43 -43
- package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbSpinner/types.d.ts +1 -1
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/BbTable/BbTableDataRow.js +2 -2
- package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +62 -62
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +81 -78
- package/dist/components/BbTooltip/types.d.ts +8 -1
- package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/composables/useConfirm.d.ts +22 -0
- package/dist/composables/useConfirm.js +43 -40
- package/dist/composables/useSafeAreaInternal.js +1 -1
- package/dist/composables/useToast.d.ts +16 -0
- package/dist/composables/useToast.js +20 -16
- package/dist/composables/useViewportWidth.d.ts +20 -6
- package/dist/composables/useViewportWidth.js +8 -7
- package/dist/icon-scan.d.ts +276 -0
- package/dist/icon-scan.js +485 -0
- package/dist/icons-whitelist.d.ts +5 -4
- package/dist/llms-full.txt +1979 -1527
- package/dist/llms-medium.txt +461 -74
- package/dist/llms.txt +1 -1
- package/dist/nuxt.js +10 -7
- package/dist/plugin.js +1 -0
- package/dist/runtime/nuxt-plugin.js +2 -1
- package/dist/styles.css +1 -1
- package/dist/types/Config.d.ts +18 -0
- package/dist/utils/cssLayers.d.ts +91 -0
- package/dist/utils/cssLayers.js +43 -0
- package/dist/utils/injectLibraryStyles.d.ts +3 -1
- package/dist/utils/injectLibraryStyles.js +24 -23
- package/dist/vite-plugin.d.ts +74 -11
- package/dist/vite.js +292 -253
- package/llms.txt +1 -1
- package/package.json +7 -5
- package/scripts/lib/ensure-manifest.mjs +28 -5
- package/scripts/lib/eslint-plugin.d.ts +35 -0
- package/scripts/lib/eslint-plugin.mjs +299 -3
- package/scripts/lib/hand-roll-hints.mjs +50 -6
- package/scripts/lib/html-attributes.mjs +42 -0
- package/scripts/lib/mcp-config.mjs +38 -34
- package/scripts/lib/public-type-exports.mjs +246 -0
- package/scripts/lib/validate-bb-markup.mjs +205 -12
package/dist/ai/BbTree.md
CHANGED
|
@@ -68,20 +68,14 @@ normally:
|
|
|
68
68
|
```vue
|
|
69
69
|
<template>
|
|
70
70
|
<div
|
|
71
|
-
class="w-full max-w-xs overflow-hidden rounded-
|
|
71
|
+
class="w-full max-w-xs overflow-hidden rounded-(--bb-radius) border border-(--bb-border)"
|
|
72
72
|
>
|
|
73
73
|
<div
|
|
74
|
-
class="flex items-center gap-1.5 border-b border-
|
|
74
|
+
class="flex items-center gap-1.5 border-b border-(--bb-border) px-2.5 py-1.5"
|
|
75
75
|
>
|
|
76
|
-
<BbIcon
|
|
77
|
-
class="text-[color:var(--bb-text-muted)]"
|
|
78
|
-
icon="lucide:users"
|
|
79
|
-
size="sm"
|
|
80
|
-
/>
|
|
76
|
+
<BbIcon class="text-(--bb-text-muted)" icon="lucide:users" size="sm" />
|
|
81
77
|
<span class="text-xs font-medium">People</span>
|
|
82
|
-
<span class="ml-auto text-xs text-
|
|
83
|
-
>Acme Studio</span
|
|
84
|
-
>
|
|
78
|
+
<span class="ml-auto text-xs text-(--bb-text-muted)">Acme Studio</span>
|
|
85
79
|
</div>
|
|
86
80
|
|
|
87
81
|
<BbTree
|
|
@@ -96,12 +90,12 @@ normally:
|
|
|
96
90
|
<button
|
|
97
91
|
v-if="expandable"
|
|
98
92
|
:aria-label="`${expanded ? 'Collapse' : 'Expand'} ${meta.name}`"
|
|
99
|
-
class="flex w-full items-center gap-1.5 rounded-
|
|
93
|
+
class="flex w-full items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 text-left text-sm font-medium hover:bg-(--bb-surface-hover)"
|
|
100
94
|
type="button"
|
|
101
95
|
v-bind="expandProps"
|
|
102
96
|
>
|
|
103
97
|
<BbIcon
|
|
104
|
-
class="shrink-0 text-
|
|
98
|
+
class="shrink-0 text-(--bb-text-muted)"
|
|
105
99
|
:icon="expanded ? 'lucide:chevron-down' : 'lucide:chevron-right'"
|
|
106
100
|
size="sm"
|
|
107
101
|
/>
|
|
@@ -114,7 +108,7 @@ normally:
|
|
|
114
108
|
expanded with no toggle, so it reads as a pinned section. -->
|
|
115
109
|
<span
|
|
116
110
|
v-else-if="item.children?.length"
|
|
117
|
-
class="flex items-center gap-1.5 px-1.5 py-1 text-xs font-semibold
|
|
111
|
+
class="flex items-center gap-1.5 px-1.5 py-1 text-xs font-semibold tracking-wide text-(--bb-text-muted) uppercase"
|
|
118
112
|
>
|
|
119
113
|
{{ meta.name }}
|
|
120
114
|
</span>
|
|
@@ -124,7 +118,7 @@ normally:
|
|
|
124
118
|
{{ initials(meta.name) }}
|
|
125
119
|
</BbAvatar>
|
|
126
120
|
<span class="min-w-0 truncate font-medium">{{ meta.name }}</span>
|
|
127
|
-
<span class="shrink-0 text-xs text-
|
|
121
|
+
<span class="shrink-0 text-xs text-(--bb-text-muted)">{{
|
|
128
122
|
meta.role
|
|
129
123
|
}}</span>
|
|
130
124
|
</span>
|
|
@@ -222,20 +216,14 @@ as plain rows.
|
|
|
222
216
|
```vue
|
|
223
217
|
<template>
|
|
224
218
|
<div
|
|
225
|
-
class="w-full max-w-xs overflow-hidden rounded-
|
|
219
|
+
class="w-full max-w-xs overflow-hidden rounded-(--bb-radius) border border-(--bb-border)"
|
|
226
220
|
>
|
|
227
221
|
<div
|
|
228
|
-
class="flex items-center gap-1.5 border-b border-
|
|
222
|
+
class="flex items-center gap-1.5 border-b border-(--bb-border) px-2.5 py-1.5"
|
|
229
223
|
>
|
|
230
|
-
<BbIcon
|
|
231
|
-
class="text-[color:var(--bb-text-muted)]"
|
|
232
|
-
icon="lucide:files"
|
|
233
|
-
size="sm"
|
|
234
|
-
/>
|
|
224
|
+
<BbIcon class="text-(--bb-text-muted)" icon="lucide:files" size="sm" />
|
|
235
225
|
<span class="text-xs font-medium">Explorer</span>
|
|
236
|
-
<span class="ml-auto text-xs text-
|
|
237
|
-
>acme-web</span
|
|
238
|
-
>
|
|
226
|
+
<span class="ml-auto text-xs text-(--bb-text-muted)">acme-web</span>
|
|
239
227
|
</div>
|
|
240
228
|
|
|
241
229
|
<BbTree
|
|
@@ -249,17 +237,17 @@ as plain rows.
|
|
|
249
237
|
<button
|
|
250
238
|
v-if="expandable"
|
|
251
239
|
:aria-label="`${expanded ? 'Collapse' : 'Expand'} ${meta.name}`"
|
|
252
|
-
class="flex w-full items-center gap-1.5 rounded-
|
|
240
|
+
class="flex w-full items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 text-left text-sm hover:bg-(--bb-surface-hover)"
|
|
253
241
|
type="button"
|
|
254
242
|
v-bind="expandProps"
|
|
255
243
|
>
|
|
256
244
|
<BbIcon
|
|
257
|
-
class="shrink-0 text-
|
|
245
|
+
class="shrink-0 text-(--bb-text-muted)"
|
|
258
246
|
:icon="expanded ? 'lucide:chevron-down' : 'lucide:chevron-right'"
|
|
259
247
|
size="sm"
|
|
260
248
|
/>
|
|
261
249
|
<BbIcon
|
|
262
|
-
class="shrink-0 text-
|
|
250
|
+
class="shrink-0 text-(--bb-text-muted)"
|
|
263
251
|
:icon="expanded ? 'lucide:folder-open' : 'lucide:folder'"
|
|
264
252
|
size="sm"
|
|
265
253
|
/>
|
|
@@ -267,16 +255,14 @@ as plain rows.
|
|
|
267
255
|
</button>
|
|
268
256
|
<span
|
|
269
257
|
v-else
|
|
270
|
-
class="flex items-center gap-1.5 rounded-
|
|
258
|
+
class="flex items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 pl-[1.55rem] text-sm text-(--bb-text-muted)"
|
|
271
259
|
>
|
|
272
260
|
<BbIcon
|
|
273
|
-
class="shrink-0 text-
|
|
261
|
+
class="shrink-0 text-(--bb-text-faint)"
|
|
274
262
|
icon="lucide:file"
|
|
275
263
|
size="sm"
|
|
276
264
|
/>
|
|
277
|
-
<span class="truncate text-
|
|
278
|
-
meta.name
|
|
279
|
-
}}</span>
|
|
265
|
+
<span class="truncate text-(--bb-text)">{{ meta.name }}</span>
|
|
280
266
|
</span>
|
|
281
267
|
</template>
|
|
282
268
|
</BbTree>
|
|
@@ -364,7 +350,7 @@ or restore them on reload.
|
|
|
364
350
|
|
|
365
351
|
<BbTree
|
|
366
352
|
v-model:expanded-items="expandedSections"
|
|
367
|
-
class="rounded-
|
|
353
|
+
class="rounded-(--bb-radius) border border-(--bb-border) p-1.5"
|
|
368
354
|
:expandable="(node) => !!node.children?.length"
|
|
369
355
|
item-value="id"
|
|
370
356
|
:items="sections"
|
|
@@ -374,7 +360,7 @@ or restore them on reload.
|
|
|
374
360
|
<button
|
|
375
361
|
v-if="expandable"
|
|
376
362
|
:aria-label="`${expanded ? 'Collapse' : 'Expand'} ${meta.label}`"
|
|
377
|
-
class="flex w-full items-center gap-1.5 rounded-
|
|
363
|
+
class="flex w-full items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 text-left text-xs font-semibold tracking-wide text-(--bb-text-muted) uppercase hover:bg-(--bb-surface-hover)"
|
|
378
364
|
type="button"
|
|
379
365
|
v-bind="expandProps"
|
|
380
366
|
>
|
|
@@ -471,7 +457,7 @@ useful for a custom layout or an inline empty state under one branch.
|
|
|
471
457
|
```vue
|
|
472
458
|
<template>
|
|
473
459
|
<BbTree
|
|
474
|
-
class="w-full max-w-xs rounded-
|
|
460
|
+
class="w-full max-w-xs rounded-(--bb-radius) border border-(--bb-border) p-1.5"
|
|
475
461
|
:expandable="(n) => !!n.children?.length"
|
|
476
462
|
item-value="id"
|
|
477
463
|
:items="pages"
|
|
@@ -481,7 +467,7 @@ useful for a custom layout or an inline empty state under one branch.
|
|
|
481
467
|
<template #0="{ meta, expanded, expandProps }">
|
|
482
468
|
<button
|
|
483
469
|
:aria-label="`${expanded ? 'Collapse' : 'Expand'} ${meta.label}`"
|
|
484
|
-
class="flex w-full items-center gap-1.5 rounded-
|
|
470
|
+
class="flex w-full items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 text-left text-xs font-semibold tracking-wide text-(--bb-text-muted) uppercase hover:bg-(--bb-surface-hover)"
|
|
485
471
|
type="button"
|
|
486
472
|
v-bind="expandProps"
|
|
487
473
|
>
|
|
@@ -498,7 +484,7 @@ useful for a custom layout or an inline empty state under one branch.
|
|
|
498
484
|
<template #trash="{ meta, expanded, expandProps }">
|
|
499
485
|
<button
|
|
500
486
|
:aria-label="`${expanded ? 'Collapse' : 'Expand'} ${meta.label}`"
|
|
501
|
-
class="knowledge-base-tree__trash flex w-full items-center gap-1.5 rounded-
|
|
487
|
+
class="knowledge-base-tree__trash flex w-full items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 text-left text-sm"
|
|
502
488
|
type="button"
|
|
503
489
|
v-bind="expandProps"
|
|
504
490
|
>
|
|
@@ -514,13 +500,11 @@ useful for a custom layout or an inline empty state under one branch.
|
|
|
514
500
|
<li
|
|
515
501
|
v-for="page in item.children ?? []"
|
|
516
502
|
:key="page.meta.id"
|
|
517
|
-
class="flex items-center gap-1.5 px-1.5 py-0.5 pl-[1.55rem] text-sm text-
|
|
503
|
+
class="flex items-center gap-1.5 px-1.5 py-0.5 pl-[1.55rem] text-sm text-(--bb-text-muted) line-through"
|
|
518
504
|
>
|
|
519
505
|
<BbIcon icon="lucide:file-x" size="sm" /> {{ page.meta.label }}
|
|
520
506
|
</li>
|
|
521
|
-
<li
|
|
522
|
-
class="px-1.5 pb-1 pl-[1.55rem] text-xs text-[color:var(--bb-text-muted)]"
|
|
523
|
-
>
|
|
507
|
+
<li class="px-1.5 pb-1 pl-[1.55rem] text-xs text-(--bb-text-muted)">
|
|
524
508
|
Deleted pages are removed for good after 30 days.
|
|
525
509
|
</li>
|
|
526
510
|
</ul>
|
|
@@ -529,10 +513,10 @@ useful for a custom layout or an inline empty state under one branch.
|
|
|
529
513
|
<!-- Default slot: every remaining node (the pages). -->
|
|
530
514
|
<template #default="{ meta }">
|
|
531
515
|
<span
|
|
532
|
-
class="flex items-center gap-1.5 rounded-
|
|
516
|
+
class="flex items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 pl-[1.55rem] text-sm"
|
|
533
517
|
>
|
|
534
518
|
<BbIcon
|
|
535
|
-
class="text-
|
|
519
|
+
class="text-(--bb-text-faint)"
|
|
536
520
|
icon="lucide:file-text"
|
|
537
521
|
size="sm"
|
|
538
522
|
/>
|
|
@@ -646,7 +630,7 @@ out of the box: collapsing is a smooth CSS grid-rows transition, not a remount.
|
|
|
646
630
|
},
|
|
647
631
|
]"
|
|
648
632
|
:expandable="(n) => !!n.children?.length"
|
|
649
|
-
class="max-w-xs rounded-
|
|
633
|
+
class="max-w-xs rounded-(--bb-radius) border border-(--bb-border) p-1.5"
|
|
650
634
|
style="--indent:1.5rem; --gap:.375rem"
|
|
651
635
|
>
|
|
652
636
|
<template #default="{ meta, expandable, expanded, expandProps }">
|
|
@@ -654,16 +638,16 @@ out of the box: collapsing is a smooth CSS grid-rows transition, not a remount.
|
|
|
654
638
|
v-if="expandable"
|
|
655
639
|
v-bind="expandProps"
|
|
656
640
|
type="button"
|
|
657
|
-
class="flex w-full items-center gap-1.5 rounded-
|
|
641
|
+
class="flex w-full items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 text-left text-sm font-medium hover:bg-(--bb-surface-hover)"
|
|
658
642
|
>
|
|
659
643
|
<BbIcon
|
|
660
|
-
class="text-
|
|
644
|
+
class="text-(--bb-text-muted)"
|
|
661
645
|
:icon="expanded ? 'lucide:chevron-down' : 'lucide:chevron-right'"
|
|
662
646
|
size="sm"
|
|
663
647
|
/>
|
|
664
648
|
{{ meta.name }}
|
|
665
649
|
</button>
|
|
666
|
-
<span v-else class="px-1.5 py-0.5 text-sm text-
|
|
650
|
+
<span v-else class="px-1.5 py-0.5 text-sm text-(--bb-text-muted)">{{ meta.name }}</span>
|
|
667
651
|
</template>
|
|
668
652
|
</BbTree>
|
|
669
653
|
```
|
|
@@ -682,7 +666,7 @@ scoped under a wrapper class so it stays local.
|
|
|
682
666
|
```vue
|
|
683
667
|
<template>
|
|
684
668
|
<BbTree
|
|
685
|
-
class="connector-tree w-full max-w-xs rounded-
|
|
669
|
+
class="connector-tree w-full max-w-xs rounded-(--bb-radius) border border-(--bb-border) p-1.5"
|
|
686
670
|
:expandable="(node) => !!node.children?.length"
|
|
687
671
|
item-value="path"
|
|
688
672
|
:items="items"
|
|
@@ -691,12 +675,12 @@ scoped under a wrapper class so it stays local.
|
|
|
691
675
|
<button
|
|
692
676
|
v-if="expandable"
|
|
693
677
|
:aria-label="`${expanded ? 'Collapse' : 'Expand'} ${meta.name}`"
|
|
694
|
-
class="flex items-center gap-1.5 rounded-
|
|
678
|
+
class="flex items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 text-sm hover:bg-(--bb-surface-hover)"
|
|
695
679
|
type="button"
|
|
696
680
|
v-bind="expandProps"
|
|
697
681
|
>
|
|
698
682
|
<BbIcon
|
|
699
|
-
class="shrink-0 text-
|
|
683
|
+
class="shrink-0 text-(--bb-text-muted)"
|
|
700
684
|
:icon="expanded ? 'lucide:folder-open' : 'lucide:folder'"
|
|
701
685
|
size="sm"
|
|
702
686
|
/>
|
|
@@ -704,14 +688,14 @@ scoped under a wrapper class so it stays local.
|
|
|
704
688
|
</button>
|
|
705
689
|
<span
|
|
706
690
|
v-else
|
|
707
|
-
class="flex items-center gap-1.5 px-1.5 py-0.5 text-sm text-
|
|
691
|
+
class="flex items-center gap-1.5 px-1.5 py-0.5 text-sm text-(--bb-text-muted)"
|
|
708
692
|
>
|
|
709
693
|
<BbIcon
|
|
710
|
-
class="shrink-0 text-
|
|
694
|
+
class="shrink-0 text-(--bb-text-faint)"
|
|
711
695
|
icon="lucide:file"
|
|
712
696
|
size="sm"
|
|
713
697
|
/>
|
|
714
|
-
<span class="text-
|
|
698
|
+
<span class="text-(--bb-text)">{{ meta.name }}</span>
|
|
715
699
|
</span>
|
|
716
700
|
</template>
|
|
717
701
|
</BbTree>
|
|
@@ -829,20 +813,14 @@ fetch and swap its children.
|
|
|
829
813
|
```vue
|
|
830
814
|
<template>
|
|
831
815
|
<div
|
|
832
|
-
class="w-full max-w-xs overflow-hidden rounded-
|
|
816
|
+
class="w-full max-w-xs overflow-hidden rounded-(--bb-radius) border border-(--bb-border)"
|
|
833
817
|
>
|
|
834
818
|
<div
|
|
835
|
-
class="flex items-center gap-1.5 border-b border-
|
|
819
|
+
class="flex items-center gap-1.5 border-b border-(--bb-border) px-2.5 py-1.5"
|
|
836
820
|
>
|
|
837
|
-
<BbIcon
|
|
838
|
-
class="text-[color:var(--bb-text-muted)]"
|
|
839
|
-
icon="lucide:cloud"
|
|
840
|
-
size="sm"
|
|
841
|
-
/>
|
|
821
|
+
<BbIcon class="text-(--bb-text-muted)" icon="lucide:cloud" size="sm" />
|
|
842
822
|
<span class="text-xs font-medium">Remote files</span>
|
|
843
|
-
<span class="ml-auto text-xs text-
|
|
844
|
-
>lazy load</span
|
|
845
|
-
>
|
|
823
|
+
<span class="ml-auto text-xs text-(--bb-text-muted)">lazy load</span>
|
|
846
824
|
</div>
|
|
847
825
|
|
|
848
826
|
<BbTree
|
|
@@ -857,17 +835,17 @@ fetch and swap its children.
|
|
|
857
835
|
<button
|
|
858
836
|
v-if="expandable"
|
|
859
837
|
:aria-label="`${isOpen ? 'Collapse' : 'Expand'} ${meta.label}`"
|
|
860
|
-
class="flex w-full items-center gap-1.5 rounded-
|
|
838
|
+
class="flex w-full items-center gap-1.5 rounded-(--bb-radius-sm) px-1.5 py-0.5 text-left text-sm hover:bg-(--bb-surface-hover)"
|
|
861
839
|
type="button"
|
|
862
840
|
v-bind="expandProps"
|
|
863
841
|
>
|
|
864
842
|
<BbIcon
|
|
865
|
-
class="shrink-0 text-
|
|
843
|
+
class="shrink-0 text-(--bb-text-muted)"
|
|
866
844
|
:icon="isOpen ? 'lucide:chevron-down' : 'lucide:chevron-right'"
|
|
867
845
|
size="sm"
|
|
868
846
|
/>
|
|
869
847
|
<BbIcon
|
|
870
|
-
class="shrink-0 text-
|
|
848
|
+
class="shrink-0 text-(--bb-text-muted)"
|
|
871
849
|
:icon="isOpen ? 'lucide:folder-open' : 'lucide:folder'"
|
|
872
850
|
size="sm"
|
|
873
851
|
/>
|
|
@@ -875,7 +853,7 @@ fetch and swap its children.
|
|
|
875
853
|
</button>
|
|
876
854
|
<span
|
|
877
855
|
v-else-if="meta.loading"
|
|
878
|
-
class="flex items-center gap-1.5 px-1.5 py-0.5 pl-[1.55rem] text-sm text-
|
|
856
|
+
class="flex items-center gap-1.5 px-1.5 py-0.5 pl-[1.55rem] text-sm text-(--bb-text-muted)"
|
|
879
857
|
>
|
|
880
858
|
<BbSpinner size="xs" /> Loading…
|
|
881
859
|
</span>
|
|
@@ -883,11 +861,7 @@ fetch and swap its children.
|
|
|
883
861
|
v-else
|
|
884
862
|
class="flex items-center gap-1.5 px-1.5 py-0.5 pl-[1.55rem] text-sm"
|
|
885
863
|
>
|
|
886
|
-
<BbIcon
|
|
887
|
-
class="text-[color:var(--bb-text-faint)]"
|
|
888
|
-
icon="lucide:file"
|
|
889
|
-
size="sm"
|
|
890
|
-
/>
|
|
864
|
+
<BbIcon class="text-(--bb-text-faint)" icon="lucide:file" size="sm" />
|
|
891
865
|
{{ meta.label }}
|
|
892
866
|
</span>
|
|
893
867
|
</template>
|