@thebase/ui 1.1.3 → 1.1.5
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/CHANGELOG.md +37 -18
- package/README.md +26 -22
- package/bin/create-baseui-app.mjs +7 -7
- package/dist/baseui.apidoc.esm.js +949 -0
- package/dist/baseui.apidoc.min.js +950 -0
- package/dist/baseui.esm.js +31 -31
- package/dist/baseui.min.css +1 -1
- package/dist/baseui.min.js +31 -31
- package/dist/baseui.registry.json +5 -5
- package/dist/baseui.templates.xml +60 -31
- package/dist/types/apidoc.d.ts +27 -0
- package/docs/analytics.md +5 -5
- package/docs/blocks.md +5 -5
- package/docs/components/accordion.md +3 -3
- package/docs/components/alert-dialog.md +2 -2
- package/docs/components/alert.md +2 -2
- package/docs/components/apidoc.md +17 -4
- package/docs/components/aspect-ratio.md +2 -2
- package/docs/components/attachment.md +3 -3
- package/docs/components/avatar.md +5 -5
- package/docs/components/badge.md +2 -2
- package/docs/components/block-viewer.md +4 -4
- package/docs/components/breadcrumb.md +3 -3
- package/docs/components/bubble.md +2 -2
- package/docs/components/button-group.md +2 -2
- package/docs/components/button.md +2 -2
- package/docs/components/calendar.md +5 -5
- package/docs/components/card.md +2 -2
- package/docs/components/carousel.md +5 -5
- package/docs/components/chart.md +5 -5
- package/docs/components/checkbox.md +2 -2
- package/docs/components/clipboard-button.md +2 -2
- package/docs/components/collapsible.md +2 -2
- package/docs/components/combobox.md +7 -6
- package/docs/components/command.md +5 -5
- package/docs/components/context-menu.md +5 -5
- package/docs/components/data-table.md +6 -6
- package/docs/components/date-picker.md +9 -8
- package/docs/components/dialog.md +4 -4
- package/docs/components/direction.md +2 -2
- package/docs/components/drawer.md +3 -3
- package/docs/components/dropdown-menu.md +3 -3
- package/docs/components/empty.md +3 -3
- package/docs/components/field.md +23 -17
- package/docs/components/form.md +3 -3
- package/docs/components/hover-card.md +5 -8
- package/docs/components/icon.md +3 -3
- package/docs/components/input-group.md +8 -7
- package/docs/components/input-otp.md +5 -5
- package/docs/components/input.md +6 -5
- package/docs/components/item.md +2 -2
- package/docs/components/kbd.md +2 -2
- package/docs/components/label.md +2 -2
- package/docs/components/markdown.md +3 -3
- package/docs/components/marker.md +2 -2
- package/docs/components/menubar.md +2 -2
- package/docs/components/message-scroller.md +5 -5
- package/docs/components/message.md +5 -5
- package/docs/components/native-select.md +4 -4
- package/docs/components/navigation-menu.md +3 -3
- package/docs/components/pagination.md +3 -3
- package/docs/components/popover.md +7 -7
- package/docs/components/progress.md +2 -2
- package/docs/components/pwa.md +2 -2
- package/docs/components/questionnaire.md +5 -5
- package/docs/components/radio-group.md +2 -2
- package/docs/components/resizable.md +5 -5
- package/docs/components/scroll-area.md +5 -5
- package/docs/components/select.md +6 -5
- package/docs/components/separator.md +2 -2
- package/docs/components/sheet.md +3 -3
- package/docs/components/shell.md +2 -2
- package/docs/components/sidebar.md +2 -2
- package/docs/components/skeleton.md +2 -2
- package/docs/components/slider.md +2 -2
- package/docs/components/spinner.md +3 -3
- package/docs/components/switch.md +2 -2
- package/docs/components/table.md +2 -2
- package/docs/components/tabs.md +4 -4
- package/docs/components/text-editor.md +2 -2
- package/docs/components/textarea.md +11 -15
- package/docs/components/theme-button.md +4 -4
- package/docs/components/toast.md +3 -3
- package/docs/components/toggle-group.md +5 -5
- package/docs/components/toggle.md +5 -5
- package/docs/components/tooltip.md +7 -7
- package/docs/components/typography.md +3 -3
- package/docs/icons.md +7 -7
- package/docs/installation.md +14 -13
- package/docs/owl-components.md +17 -17
- package/docs/registry.md +8 -8
- package/docs/runtime-api.md +3 -3
- package/docs/theming.md +5 -5
- package/docs/usage-guide.md +26 -26
- package/package.json +9 -2
package/docs/components/field.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Combine labels, controls, and help text to compose accessible form fields and grouped inputs.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Base component
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import {
|
|
@@ -25,37 +25,31 @@ import {
|
|
|
25
25
|
<FieldLegend>Payment Method</FieldLegend>
|
|
26
26
|
<FieldDescription>All transactions are secure and encrypted</FieldDescription>
|
|
27
27
|
<FieldGroup className="'mt-3 gap-3 d-flex flex-column'">
|
|
28
|
-
<Field>
|
|
29
|
-
<FieldLabel for="'card-name'">Name on Card</FieldLabel>
|
|
28
|
+
<Field label="'Name on Card'">
|
|
30
29
|
<Input id="'card-name'" value="'Evil Rabbit'"/>
|
|
31
30
|
</Field>
|
|
32
31
|
|
|
33
|
-
<Field>
|
|
34
|
-
<
|
|
35
|
-
<Input id="'card-number'" value="'1234 5678 9012 3456'"/>
|
|
36
|
-
<FieldDescription>Enter your 16-digit card number</FieldDescription>
|
|
32
|
+
<Field label="'Card Number'" description="'Enter your 16-digit card number'">
|
|
33
|
+
<Input id="'card-number'" value="'1234 5678 9012 3456'" leadingIcon="'credit-card'"/>
|
|
37
34
|
</Field>
|
|
38
35
|
|
|
39
36
|
<div class="row g-3">
|
|
40
37
|
<div class="col-4">
|
|
41
|
-
<Field>
|
|
42
|
-
<
|
|
43
|
-
<NativeSelect id="'expiry-month'" ariaLabel="'Month'">
|
|
38
|
+
<Field label="'Month'">
|
|
39
|
+
<NativeSelect id="'expiry-month'">
|
|
44
40
|
<option>MM</option>
|
|
45
41
|
</NativeSelect>
|
|
46
42
|
</Field>
|
|
47
43
|
</div>
|
|
48
44
|
<div class="col-4">
|
|
49
|
-
<Field>
|
|
50
|
-
<
|
|
51
|
-
<NativeSelect id="'expiry-year'" ariaLabel="'Year'">
|
|
45
|
+
<Field label="'Year'">
|
|
46
|
+
<NativeSelect id="'expiry-year'">
|
|
52
47
|
<option>YYYY</option>
|
|
53
48
|
</NativeSelect>
|
|
54
49
|
</Field>
|
|
55
50
|
</div>
|
|
56
51
|
<div class="col-4">
|
|
57
|
-
<Field>
|
|
58
|
-
<FieldLabel for="'card-cvv'">CVV</FieldLabel>
|
|
52
|
+
<Field label="'CVV'">
|
|
59
53
|
<Input id="'card-cvv'" value="'123'"/>
|
|
60
54
|
</Field>
|
|
61
55
|
</div>
|
|
@@ -72,8 +66,7 @@ import {
|
|
|
72
66
|
</Field>
|
|
73
67
|
</FieldSet>
|
|
74
68
|
|
|
75
|
-
<Field>
|
|
76
|
-
<FieldLabel for="'comments'">Comments</FieldLabel>
|
|
69
|
+
<Field label="'Comments'">
|
|
77
70
|
<Textarea id="'comments'" placeholder="'Add any additional comments'" rows="3"/>
|
|
78
71
|
</Field>
|
|
79
72
|
</FieldGroup>
|
|
@@ -86,6 +79,19 @@ import {
|
|
|
86
79
|
</form>
|
|
87
80
|
```
|
|
88
81
|
|
|
82
|
+
### Outlined controls
|
|
83
|
+
|
|
84
|
+
`Field` accepts `label`, `labelBackground`, `description`, `error` and `invalid`, and hands them to the control inside it. `Input`, `Textarea`, `NativeSelect`, `Select`, `Combobox` and `DatePicker` draw them in the Material outlined style (floating label, helper text, error text and icon). A control's own `label`/`supportingText`/`errorText` props win over the `Field` values.
|
|
85
|
+
|
|
86
|
+
```base-ui
|
|
87
|
+
<div class="d-grid gap-4" style="max-width: 28rem; width: 100%">
|
|
88
|
+
<Field label="'Email'" description="'We never share it'"><Input leadingIcon="'mail'"/></Field>
|
|
89
|
+
<Field label="'Bio'" error="'Too short'"><Textarea/></Field>
|
|
90
|
+
</div>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Use one control per labelled `Field`. For checkboxes, radios and switches keep `FieldLabel` and `FieldDescription`; `Field`'s `label` prop no longer renders a standalone label.
|
|
94
|
+
|
|
89
95
|
## Static component
|
|
90
96
|
|
|
91
97
|
```base-ui
|
package/docs/components/form.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Form
|
|
2
2
|
|
|
3
|
-
Build an accessible Bug Report form with
|
|
3
|
+
Build an accessible Bug Report form with Base UI `Field` layout, the Base UI `Button` actions, and Owl `t-model` input bindings.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Base component
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import { Component, useState, xml } from "@base/owl";
|
|
@@ -144,7 +144,7 @@ class BugReportExample extends Component {
|
|
|
144
144
|
</form>
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
-
This is the same Bug Report form converted from static `b-ui`
|
|
147
|
+
This is the same Bug Report form converted from base static markup (`b-ui`) to pure Base composition: `FieldGroup`, `Field`, `FieldLabel`, `FieldDescription`, and `Button` replace the static adapters, while `t-model` owns the input state.
|
|
148
148
|
|
|
149
149
|
## State
|
|
150
150
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Hover Card
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Base component
|
|
4
4
|
|
|
5
5
|
```js
|
|
6
6
|
import { HoverCard, HoverCardContent, HoverCardTrigger } from "@thebase/ui";
|
|
@@ -10,15 +10,12 @@ import { HoverCard, HoverCardContent, HoverCardTrigger } from "@thebase/ui";
|
|
|
10
10
|
<div style="max-width: 28rem">
|
|
11
11
|
<HoverCard>
|
|
12
12
|
<HoverCardTrigger>
|
|
13
|
-
<a href="https://
|
|
13
|
+
<a href="https://thebase.vn" class="text-decoration-underline">@thebase</a>
|
|
14
14
|
</HoverCardTrigger>
|
|
15
15
|
<HoverCardContent className="'w-auto'">
|
|
16
16
|
<div class="d-flex justify-content-between gap-3" style="width: 20rem">
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
</Avatar>
|
|
20
|
-
<div class="d-flex flex-column gap-1">
|
|
21
|
-
<h4 class="small fw-semibold mb-0">@shadcn</h4>
|
|
17
|
+
<div class="d-flex flex-column gap-1" style="min-width: 0">
|
|
18
|
+
<h4 class="small fw-semibold mb-0">@thebase</h4>
|
|
22
19
|
<p class="small mb-0">The React Framework – created and maintained by @vercel.</p>
|
|
23
20
|
<div class="d-flex align-items-center pt-2">
|
|
24
21
|
<span class="small text-muted">Joined December 2021</span>
|
|
@@ -36,7 +33,7 @@ import { HoverCard, HoverCardContent, HoverCardTrigger } from "@thebase/ui";
|
|
|
36
33
|
| `HoverCardContent` | `className` | `String` | optional |
|
|
37
34
|
| `HoverCardTrigger` | `className` | `String` | optional |
|
|
38
35
|
|
|
39
|
-
See [
|
|
36
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
40
37
|
|
|
41
38
|
## Static component
|
|
42
39
|
|
package/docs/components/icon.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Icon
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The Base UI includes the full Lucide SVG icon set as a built-in CDN icon library.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Base component
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import { Icon } from "@thebase/ui";
|
|
@@ -21,7 +21,7 @@ import { Icon } from "@thebase/ui";
|
|
|
21
21
|
| `Icon` | `baseUrl` | `String` | optional |
|
|
22
22
|
| `Icon` | `className` | `String` | optional |
|
|
23
23
|
|
|
24
|
-
See [
|
|
24
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
25
25
|
|
|
26
26
|
## Static component
|
|
27
27
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Input Group
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Base component
|
|
4
4
|
|
|
5
5
|
```js
|
|
6
6
|
import {
|
|
@@ -15,22 +15,22 @@ import {
|
|
|
15
15
|
|
|
16
16
|
```base-ui
|
|
17
17
|
<div class="d-flex flex-column gap-4 w-100" style="max-width: 28rem">
|
|
18
|
-
<InputGroup>
|
|
19
|
-
<InputGroupInput
|
|
18
|
+
<InputGroup label="'Search'" supportingText="'Search the docs'">
|
|
19
|
+
<InputGroupInput/>
|
|
20
20
|
<InputGroupAddon align="'inline-end'">
|
|
21
21
|
<Icon name="'search'"/>
|
|
22
22
|
</InputGroupAddon>
|
|
23
23
|
</InputGroup>
|
|
24
24
|
|
|
25
|
-
<InputGroup>
|
|
25
|
+
<InputGroup label="'Website'">
|
|
26
26
|
<InputGroupInput placeholder="'https://'"/>
|
|
27
27
|
<InputGroupAddon align="'inline-end'">
|
|
28
28
|
<InputGroupButton>Search</InputGroupButton>
|
|
29
29
|
</InputGroupAddon>
|
|
30
30
|
</InputGroup>
|
|
31
31
|
|
|
32
|
-
<InputGroup>
|
|
33
|
-
<InputGroupTextarea
|
|
32
|
+
<InputGroup label="'Message'">
|
|
33
|
+
<InputGroupTextarea rows="3"/>
|
|
34
34
|
<InputGroupAddon align="'block-end'">
|
|
35
35
|
<InputGroupText>0/280</InputGroupText>
|
|
36
36
|
<InputGroupButton variant="'default'" className="'ms-auto'">Send</InputGroupButton>
|
|
@@ -42,6 +42,7 @@ import {
|
|
|
42
42
|
| Component | Prop | Type | Notes |
|
|
43
43
|
| --- | --- | --- | --- |
|
|
44
44
|
| `InputGroup` | `className` | `String` | optional |
|
|
45
|
+
| `InputGroup` | `label`, `labelBackground`, `supportingText`, `errorText`, `invalid` | `String` / `Boolean` | Material-style outlined group, same label as [Input](/examples/blocks.html#/docs/components/input): the label floats onto the border once the control is focused or filled. Also inherited from a parent `Field`. |
|
|
45
46
|
| `InputGroupAddon` | `align` | `String` | `inline-start` (default), `inline-end`, `block-start`, `block-end` |
|
|
46
47
|
| `InputGroupButton` | `variant` | `String` | `default`, `destructive`, `outline`, `secondary`, `ghost` (default), `link` |
|
|
47
48
|
| `InputGroupButton` | `size` | `String` | `xs` (default), `icon-xs`, `sm`, `icon-sm` |
|
|
@@ -49,7 +50,7 @@ import {
|
|
|
49
50
|
| `InputGroupInput` | `type`, `value`, `placeholder`, `disabled`, `readonly`, `invalid` | mixed | input control |
|
|
50
51
|
| `InputGroupTextarea` | `value`, `placeholder`, `rows`, `disabled`, `readonly`, `invalid`, `resize` | mixed | textarea control |
|
|
51
52
|
|
|
52
|
-
See [
|
|
53
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
53
54
|
|
|
54
55
|
## Static component
|
|
55
56
|
|
|
@@ -4,9 +4,9 @@ Use `b-ui="input-otp"` for a CDN-ready input otp component.
|
|
|
4
4
|
|
|
5
5
|
## CDN install requirements
|
|
6
6
|
|
|
7
|
-
Load the pinned
|
|
7
|
+
Load the pinned the Base UI CSS and JavaScript files; no extra dependency is required for this component.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Base component
|
|
10
10
|
|
|
11
11
|
```js
|
|
12
12
|
import { InputOtp } from "@thebase/ui";
|
|
@@ -26,7 +26,7 @@ import { InputOtp } from "@thebase/ui";
|
|
|
26
26
|
| `InputOtp` | `className` | `String` | optional |
|
|
27
27
|
| `InputOtp` | `onChange` | `Function` | optional |
|
|
28
28
|
|
|
29
|
-
See [
|
|
29
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
30
30
|
|
|
31
31
|
## Static component
|
|
32
32
|
|
|
@@ -52,7 +52,7 @@ Interactive components emit documented `baseui:*` events from their root element
|
|
|
52
52
|
|
|
53
53
|
## CSS variables
|
|
54
54
|
|
|
55
|
-
The component inherits
|
|
55
|
+
The component inherits the Base UI semantic tokens such as `--b-surface`, `--b-border`, `--b-primary`, and `--b-radius`.
|
|
56
56
|
|
|
57
57
|
## Accessibility behavior
|
|
58
58
|
|
|
@@ -64,7 +64,7 @@ See `examples/index.html` for a working CDN-style page.
|
|
|
64
64
|
|
|
65
65
|
## Browser support
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
The Base UI targets modern evergreen browsers that support ES modules, CSS variables, and Bootstrap 5.3.
|
|
68
68
|
|
|
69
69
|
## Test checklist
|
|
70
70
|
|
package/docs/components/input.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Use `b-ui="input"` on a native input element.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Base component
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import { Input } from "@thebase/ui";
|
|
@@ -30,6 +30,7 @@ import { Input } from "@thebase/ui";
|
|
|
30
30
|
| --- | --- | --- |
|
|
31
31
|
| `value` | `String` | controlled value; the component never mutates it itself |
|
|
32
32
|
| `label` | `String` | Material-style outlined field: label rests inside, floats onto the border when focused/filled (or when `placeholder` is set) |
|
|
33
|
+
| `labelBackground` | `String` | any CSS colour for the floated label's background (default matches the field, `--bu-field-bg`); use it when the field sits on a surface of a different colour |
|
|
33
34
|
| `supportingText` | `String` | helper line under the field, linked via `aria-describedby` |
|
|
34
35
|
| `errorText` | `String` | marks the field invalid, replaces `supportingText`, swaps the trailing icon for an error icon, sets `aria-invalid` |
|
|
35
36
|
| `leadingIcon` / `trailingIcon` | `String` | Lucide icon names (outlined mode only) |
|
|
@@ -48,7 +49,7 @@ import { Input } from "@thebase/ui";
|
|
|
48
49
|
| `onInput` | `Function` | called as `(value, event)` on the native `input` event |
|
|
49
50
|
| `onChange` | `Function` | called as `(value, event)` on the native `change` event |
|
|
50
51
|
|
|
51
|
-
See [
|
|
52
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
52
53
|
|
|
53
54
|
## Static component
|
|
54
55
|
|
|
@@ -74,15 +75,15 @@ Use the global runtime methods: `thebase.mount()`, `thebase.mountAll()`, and `th
|
|
|
74
75
|
|
|
75
76
|
## Events
|
|
76
77
|
|
|
77
|
-
Input does not emit custom
|
|
78
|
+
Input does not emit custom the Base UI events. Use native `input` and `change` events.
|
|
78
79
|
|
|
79
80
|
## CSS variables
|
|
80
81
|
|
|
81
|
-
The component inherits
|
|
82
|
+
The component inherits the Base UI semantic tokens such as `--b-input`, `--b-border`, `--b-ring`, and `--b-radius`.
|
|
82
83
|
|
|
83
84
|
## Browser support
|
|
84
85
|
|
|
85
|
-
|
|
86
|
+
The Base UI targets modern evergreen browsers that support ES modules, CSS variables, and Bootstrap 5.3.
|
|
86
87
|
|
|
87
88
|
## Test checklist
|
|
88
89
|
|
package/docs/components/item.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Item
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Base component
|
|
4
4
|
|
|
5
5
|
```js
|
|
6
6
|
import { Item } from "@thebase/ui";
|
|
@@ -54,7 +54,7 @@ import { Item } from "@thebase/ui";
|
|
|
54
54
|
| --- | --- | --- | --- |
|
|
55
55
|
| `Item` | `className` | `String` | optional |
|
|
56
56
|
|
|
57
|
-
See [
|
|
57
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
58
58
|
|
|
59
59
|
## Static component
|
|
60
60
|
|
package/docs/components/kbd.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Kbd
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Base component
|
|
4
4
|
|
|
5
5
|
```js
|
|
6
6
|
import { Kbd } from "@thebase/ui";
|
|
@@ -35,7 +35,7 @@ import { Kbd } from "@thebase/ui";
|
|
|
35
35
|
| --- | --- | --- | --- |
|
|
36
36
|
| `Kbd` | `className` | `String` | optional |
|
|
37
37
|
|
|
38
|
-
See [
|
|
38
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
39
39
|
|
|
40
40
|
## Static component
|
|
41
41
|
|
package/docs/components/label.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Form label with consistent spacing and optional required marker.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Base component
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import { Label } from "@thebase/ui";
|
|
@@ -23,7 +23,7 @@ import { Label } from "@thebase/ui";
|
|
|
23
23
|
| `Label` | `required` | `Boolean` | optional |
|
|
24
24
|
| `Label` | `className` | `String` | optional |
|
|
25
25
|
|
|
26
|
-
See [
|
|
26
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
27
27
|
|
|
28
28
|
## Static component
|
|
29
29
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# Markdown
|
|
2
2
|
|
|
3
|
-
Use `b-ui="markdown"` (or the pure
|
|
3
|
+
Use `b-ui="markdown"` (or the pure Base `Markdown` component) to render Markdown or mount an editable Markdown document. Read-only parsing uses the vendored `src/runtime/marked/marked.min.js` (marked v15). Fenced ` ```mermaid ` code blocks render as inline SVG via `src/runtime/mermaid/mermaid.esm.min.mjs`. Fenced ` ```base-ui ` code blocks render as a live the Base UI preview through the page's global static runtime (`window.thebase`, e.g. `dist/baseui.min.js`).
|
|
4
4
|
|
|
5
5
|
Editable mode lazy-loads `dist/runtime/milkdown/milkdown-editor.js`, which bundles Milkdown, Yjs, and y-webrtc only when `b-att-editable="true"` / `editable="true"` is used. The editor runtime enables CommonMark, GFM, history, clipboard, cursor, listener, indent, upload, block handle, tooltip, slash, streaming, and diff plugins. Collaborative mode uses Milkdown's Yjs-aware collab undo/redo instead of the plain history stack.
|
|
6
6
|
|
|
7
7
|
## CDN install requirements
|
|
8
8
|
|
|
9
|
-
Load the pinned
|
|
9
|
+
Load the pinned the Base UI CSS and JavaScript files. No extra `<script>` tag, npm install, or CDN reference is required for Markdown parsing, mermaid diagrams, or the Milkdown editor runtime — each lazy asset is emitted under `dist/runtime/` and fetched only when needed. Live ` ```base-ui ` previews reuse the same static runtime the rest of the page already loads (`dist/baseui.min.js`) — if that script isn't on the page, the block renders an inline error instead of a live preview.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Base component
|
|
12
12
|
|
|
13
13
|
```js
|
|
14
14
|
import { Markdown } from "@base/component";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Marker
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Base component
|
|
4
4
|
|
|
5
5
|
```js
|
|
6
6
|
import { Marker } from "@thebase/ui";
|
|
@@ -19,7 +19,7 @@ import { Marker } from "@thebase/ui";
|
|
|
19
19
|
| --- | --- | --- | --- |
|
|
20
20
|
| `Marker` | `className` | `String` | optional |
|
|
21
21
|
|
|
22
|
-
See [
|
|
22
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
23
23
|
|
|
24
24
|
## Static component
|
|
25
25
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Menubar
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Base component
|
|
4
4
|
|
|
5
5
|
```js
|
|
6
6
|
import { Menubar } from "@thebase/ui";
|
|
@@ -91,7 +91,7 @@ import { Menubar } from "@thebase/ui";
|
|
|
91
91
|
| --- | --- | --- | --- |
|
|
92
92
|
| `Menubar` | `className` | `String` | optional |
|
|
93
93
|
|
|
94
|
-
See [
|
|
94
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
95
95
|
|
|
96
96
|
## Static component
|
|
97
97
|
|
|
@@ -4,9 +4,9 @@ Use `b-ui="message-scroller"` for a CDN-ready message scroller component.
|
|
|
4
4
|
|
|
5
5
|
## CDN install requirements
|
|
6
6
|
|
|
7
|
-
Load the pinned
|
|
7
|
+
Load the pinned the Base UI CSS and JavaScript files; no extra dependency is required for this component.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Base component
|
|
10
10
|
|
|
11
11
|
```js
|
|
12
12
|
import { MessageScroller } from "@thebase/ui";
|
|
@@ -48,7 +48,7 @@ import { MessageScroller } from "@thebase/ui";
|
|
|
48
48
|
| `MessageScroller` | `autoscroll` | `Boolean` | optional |
|
|
49
49
|
| `MessageScroller` | `className` | `String` | optional |
|
|
50
50
|
|
|
51
|
-
See [
|
|
51
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
52
52
|
|
|
53
53
|
## Static component
|
|
54
54
|
|
|
@@ -74,7 +74,7 @@ Interactive components emit documented `baseui:*` events from their root element
|
|
|
74
74
|
|
|
75
75
|
## CSS variables
|
|
76
76
|
|
|
77
|
-
The component inherits
|
|
77
|
+
The component inherits the Base UI semantic tokens such as `--b-surface`, `--b-border`, `--b-primary`, and `--b-radius`.
|
|
78
78
|
|
|
79
79
|
## Accessibility behavior
|
|
80
80
|
|
|
@@ -86,7 +86,7 @@ See `examples/index.html` for a working CDN-style page.
|
|
|
86
86
|
|
|
87
87
|
## Browser support
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
The Base UI targets modern evergreen browsers that support ES modules, CSS variables, and Bootstrap 5.3.
|
|
90
90
|
|
|
91
91
|
## Test checklist
|
|
92
92
|
|
|
@@ -4,9 +4,9 @@ Use `b-ui="message"` for a CDN-ready message component.
|
|
|
4
4
|
|
|
5
5
|
## CDN install requirements
|
|
6
6
|
|
|
7
|
-
Load the pinned
|
|
7
|
+
Load the pinned the Base UI CSS and JavaScript files; no extra dependency is required for this component.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Base component
|
|
10
10
|
|
|
11
11
|
```js
|
|
12
12
|
import { Message } from "@thebase/ui";
|
|
@@ -41,7 +41,7 @@ import { Message } from "@thebase/ui";
|
|
|
41
41
|
| `Message` | `side` | `String` | optional |
|
|
42
42
|
| `Message` | `className` | `String` | optional |
|
|
43
43
|
|
|
44
|
-
See [
|
|
44
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
45
45
|
|
|
46
46
|
## Static component
|
|
47
47
|
|
|
@@ -67,7 +67,7 @@ Interactive components emit documented `baseui:*` events from their root element
|
|
|
67
67
|
|
|
68
68
|
## CSS variables
|
|
69
69
|
|
|
70
|
-
The component inherits
|
|
70
|
+
The component inherits the Base UI semantic tokens such as `--b-surface`, `--b-border`, `--b-primary`, and `--b-radius`.
|
|
71
71
|
|
|
72
72
|
## Accessibility behavior
|
|
73
73
|
|
|
@@ -79,7 +79,7 @@ See `examples/index.html` for a working CDN-style page.
|
|
|
79
79
|
|
|
80
80
|
## Browser support
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
The Base UI targets modern evergreen browsers that support ES modules, CSS variables, and Bootstrap 5.3.
|
|
83
83
|
|
|
84
84
|
## Test checklist
|
|
85
85
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Browser-native select control with Bootstrap-compatible styling.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Base component
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import { NativeSelect } from "@thebase/ui";
|
|
@@ -10,8 +10,7 @@ import { NativeSelect } from "@thebase/ui";
|
|
|
10
10
|
|
|
11
11
|
```base-ui
|
|
12
12
|
<div class="d-grid w-100 gap-2" style="max-width: 24rem">
|
|
13
|
-
<
|
|
14
|
-
<NativeSelect>
|
|
13
|
+
<NativeSelect label="'Fruit'">
|
|
15
14
|
<option value="'apple'">Apple</option>
|
|
16
15
|
<option value="'banana'">Banana</option>
|
|
17
16
|
<option value="'blueberry'">Blueberry</option>
|
|
@@ -29,8 +28,9 @@ import { NativeSelect } from "@thebase/ui";
|
|
|
29
28
|
| `NativeSelect` | `ariaLabel` / `aria-label` | `String` | optional, accessible name for the control |
|
|
30
29
|
| `NativeSelect` | `id` | `String` | optional, e.g. for `Label`'s `for` |
|
|
31
30
|
| `NativeSelect` | `onChange` | `Function` | optional |
|
|
31
|
+
| `NativeSelect` | `label`, `labelBackground`, `supportingText`, `errorText`, `invalid` | `String` / `Boolean` | Material-style outlined field, same behaviour as [Input](/examples/blocks.html#/docs/components/input): the label floats onto the border, `errorText` replaces `supportingText`. Also inherited from a parent `Field`. |
|
|
32
32
|
|
|
33
|
-
See [
|
|
33
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
34
34
|
|
|
35
35
|
## Static component
|
|
36
36
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Use `b-ui="navigation-menu"` for horizontal site or app navigation.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Base component
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import { NavigationMenu, NavigationMenuItem } from "@thebase/ui";
|
|
@@ -27,7 +27,7 @@ import { NavigationMenu, NavigationMenuItem } from "@thebase/ui";
|
|
|
27
27
|
| `NavigationMenuItem` | `href` | `String` | optional |
|
|
28
28
|
| `NavigationMenuItem` | `className` | `String` | optional |
|
|
29
29
|
|
|
30
|
-
See [
|
|
30
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
31
31
|
|
|
32
32
|
## Static component
|
|
33
33
|
|
|
@@ -38,4 +38,4 @@ See [Pure Owl Components](/examples/blocks.html#/docs/guide/owl-components) for
|
|
|
38
38
|
</nav>
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
The Base UI adds `menubar`/`menuitem` roles and Left/Right arrow focus movement.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Use `b-ui="pagination"` on a `nav` containing a list of links or buttons.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Base component
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import { Pagination, PaginationItem } from "@thebase/ui";
|
|
@@ -34,7 +34,7 @@ import { Pagination, PaginationItem } from "@thebase/ui";
|
|
|
34
34
|
| `PaginationItem` | `disabled` | `Boolean` | optional |
|
|
35
35
|
| `PaginationItem` | `onClick` | `Function` | optional |
|
|
36
36
|
|
|
37
|
-
See [
|
|
37
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
38
38
|
|
|
39
39
|
## Static component
|
|
40
40
|
|
|
@@ -47,4 +47,4 @@ See [Pure Owl Components](/examples/blocks.html#/docs/guide/owl-components) for
|
|
|
47
47
|
</nav>
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
The Base UI adds Bootstrap pagination classes, active states, and disabled item styling.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Use `b-ui="popover"` with trigger and content nodes.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Base component
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import { Popover, PopoverContent, PopoverTrigger } from "@thebase/ui";
|
|
@@ -32,13 +32,13 @@ import { Popover, PopoverContent, PopoverTrigger } from "@thebase/ui";
|
|
|
32
32
|
| `PopoverContent` | `className` | `String` | optional |
|
|
33
33
|
| `PopoverTrigger` | `className` | `String` | optional |
|
|
34
34
|
|
|
35
|
-
See [
|
|
35
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
36
36
|
|
|
37
|
-
Both the pure
|
|
37
|
+
Both the pure Base and static forms are driven by a live `bootstrap.Popover` instance owned on the trigger element — **the visible popup is Bootstrap's own generated DOM (a `.popover`/`.popover-arrow`/`.popover-body` node, positioned via Popper), appended to `document.body`, not rendered inline where you authored the popover.** Don't query for it as a descendant of the trigger or root; query `document.body.querySelector(".popover .popover-body")` instead. There's no separate heading/title concept in the current API — only body content (`.popover-body`); no `.popover-header` is generated.
|
|
38
38
|
|
|
39
39
|
The default slot's rendered markup is captured into an HTML string for Bootstrap's `content`/`html: true` options (Bootstrap can't consume live vnodes): `PopoverContent` renders the slot into a hidden buffer element internal to its own template (it is no longer a visibly-toggled popup itself), `PopoverTrigger` reads that buffer's `innerHTML` on mount to seed the bootstrap instance, and re-syncs the live popup via `.setContent({'.popover-body': html})` whenever that HTML changes on a later render.
|
|
40
40
|
|
|
41
|
-
Unlike `Tooltip`/hover-driven components, Bootstrap's own `trigger: "click"` option would bind its own click listener directly on the trigger element, independent of `PopoverTrigger`'s own `t-on-click`. To avoid double-toggling on a single click, the pure
|
|
41
|
+
Unlike `Tooltip`/hover-driven components, Bootstrap's own `trigger: "click"` option would bind its own click listener directly on the trigger element, independent of `PopoverTrigger`'s own `t-on-click`. To avoid double-toggling on a single click, the pure Base `PopoverTrigger` constructs its `bootstrap.Popover` instance with `trigger: "manual"` and calls `.toggle()` itself from `onClick` — `shown.bs.popover`/`hidden.bs.popover` still fire from `.toggle()` regardless of the `trigger` option, since that option only gates Bootstrap's own auto-binding, not event dispatch. The static adapter, which has no competing click handler of its own, passes `trigger: "click"` and relies on Bootstrap's built-in binding instead.
|
|
42
42
|
|
|
43
43
|
## Static component
|
|
44
44
|
|
|
@@ -65,11 +65,11 @@ Use the global runtime methods: `thebase.mount()`, `thebase.mountAll()`, and `th
|
|
|
65
65
|
|
|
66
66
|
## Events
|
|
67
67
|
|
|
68
|
-
Interactive components emit documented `baseui:*` events from their root element. Listen for Bootstrap's own `shown.bs.popover`/`hidden.bs.popover` on the trigger element to react to show/hide;
|
|
68
|
+
Interactive components emit documented `baseui:*` events from their root element. Listen for Bootstrap's own `shown.bs.popover`/`hidden.bs.popover` on the trigger element to react to show/hide; the Base UI mirrors those into `b-att-state` (`open`/`closed`) and `aria-expanded` on the static trigger, and `this.env.popover.open`-equivalent reactive state on the Base components.
|
|
69
69
|
|
|
70
70
|
## CSS variables
|
|
71
71
|
|
|
72
|
-
The component inherits
|
|
72
|
+
The component inherits the Base UI semantic tokens such as `--b-surface`, `--b-border`, `--b-primary`, and `--b-radius`. The popup itself is styled by Bootstrap's own bundled `.popover`/`.popover-arrow`/`.popover-body` CSS (loaded via `dist/baseui.min.css`), not the Base UI's own classes.
|
|
73
73
|
|
|
74
74
|
## Accessibility behavior
|
|
75
75
|
|
|
@@ -81,7 +81,7 @@ See `examples/index.html` for a working CDN-style page.
|
|
|
81
81
|
|
|
82
82
|
## Browser support
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
The Base UI targets modern evergreen browsers that support ES modules, CSS variables, and Bootstrap 5.3.
|
|
85
85
|
|
|
86
86
|
## Test checklist
|
|
87
87
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Progress
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Base component
|
|
4
4
|
|
|
5
5
|
```js
|
|
6
6
|
import { Progress } from "@thebase/ui";
|
|
@@ -18,7 +18,7 @@ import { Progress } from "@thebase/ui";
|
|
|
18
18
|
| `Progress` | `max` | `Number` | optional |
|
|
19
19
|
| `Progress` | `className` | `String` | optional |
|
|
20
20
|
|
|
21
|
-
See [
|
|
21
|
+
See [Base Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`.
|
|
22
22
|
|
|
23
23
|
## Static component
|
|
24
24
|
|