@bitforgehq/ui 0.3.0 → 0.3.2
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 +598 -0
- package/README.md +18 -11
- package/ai/MANIFEST.index.json +306 -0
- package/ai/MANIFEST.json +8915 -3788
- package/ai/REFERENCE.index.json +476 -0
- package/ai/REFERENCE.json +5810 -2905
- package/ai/UI_GUIDE.md +212 -58
- package/ai/components/app-frame.md +328 -0
- package/ai/components/back-button.md +42 -2
- package/ai/components/badge.md +17 -7
- package/ai/components/bar-chart.md +188 -0
- package/ai/components/breadcrumb-item.md +121 -0
- package/ai/components/breadcrumb.md +277 -0
- package/ai/components/button.md +82 -15
- package/ai/components/calendar.md +300 -0
- package/ai/components/card.md +119 -4
- package/ai/components/chart-card.md +283 -0
- package/ai/components/combobox.md +411 -0
- package/ai/components/date-input.md +396 -0
- package/ai/components/datetime-input.md +215 -0
- package/ai/components/description-item.md +111 -0
- package/ai/components/description-list.md +160 -0
- package/ai/components/donut-chart.md +169 -0
- package/ai/components/empty-state.md +99 -6
- package/ai/components/header.md +71 -2
- package/ai/components/icon-button.md +74 -16
- package/ai/components/icon.md +63 -7
- package/ai/components/line-chart.md +234 -0
- package/ai/components/list.md +70 -6
- package/ai/components/menu.md +5 -0
- package/ai/components/multi-combobox.md +257 -0
- package/ai/components/nav-group.md +178 -0
- package/ai/components/nav-item.md +210 -0
- package/ai/components/page-header.md +237 -0
- package/ai/components/pagination.md +173 -0
- package/ai/components/popover.md +250 -0
- package/ai/components/side-panel.md +391 -0
- package/ai/components/sidebar-toggle.md +287 -0
- package/ai/components/sidebar.md +541 -0
- package/ai/components/skeleton.md +215 -0
- package/ai/components/sparkline.md +188 -0
- package/ai/components/stat.md +297 -0
- package/ai/components/tab-group.md +226 -0
- package/ai/components/tab-panel.md +163 -0
- package/ai/components/table.md +697 -0
- package/ai/components/tabs.md +46 -2
- package/ai/components/theme-menu-button.md +182 -0
- package/ai/components/theme-switch.md +170 -0
- package/ai/components/time-input.md +240 -0
- package/ai/components/toolbar.md +354 -0
- package/ai/components/tooltip.md +230 -0
- package/ai/components/top-nav.md +159 -0
- package/ai/reference/bf-app-frame-breakpoint.md +27 -0
- package/ai/reference/bf-app-frame-content-width.md +29 -0
- package/ai/reference/bf-badge-appearance.md +36 -0
- package/ai/reference/bf-badge-variant.md +1 -1
- package/ai/reference/bf-bar-chart-orientation.md +27 -0
- package/ai/reference/bf-button-appearance.md +36 -0
- package/ai/reference/bf-button-variant.md +1 -1
- package/ai/reference/bf-calendar-disabled-date.md +23 -0
- package/ai/reference/bf-calendar-harness.md +51 -0
- package/ai/reference/bf-calendar-weekday.md +31 -0
- package/ai/reference/bf-chart-card-heading-level.md +26 -0
- package/ai/reference/bf-chart-curve.md +28 -0
- package/ai/reference/bf-chart-harness.md +51 -0
- package/ai/reference/bf-chart-legend-position.md +30 -0
- package/ai/reference/bf-chart-series.md +23 -0
- package/ai/reference/bf-chart-value-format.md +23 -0
- package/ai/reference/bf-color-scheme-service.md +30 -0
- package/ai/reference/bf-color-scheme.md +31 -0
- package/ai/reference/bf-combobox-filter.md +27 -0
- package/ai/reference/bf-combobox-harness.md +89 -0
- package/ai/reference/bf-combobox-option.md +33 -0
- package/ai/reference/bf-compare-with.md +2 -0
- package/ai/reference/bf-date-input-harness.md +67 -0
- package/ai/reference/bf-date-input-picker.md +27 -0
- package/ai/reference/bf-date-time-input-harness.md +76 -0
- package/ai/reference/bf-date-time-input-picker.md +27 -0
- package/ai/reference/bf-description-list-layout.md +26 -0
- package/ai/reference/bf-donut-slice.md +22 -0
- package/ai/reference/bf-empty-state-heading-level.md +1 -1
- package/ai/reference/bf-empty-state-heading.md +33 -0
- package/ai/reference/bf-labels.md +73 -20
- package/ai/reference/bf-menu-button-variant.md +1 -0
- package/ai/reference/bf-menu-placement.md +1 -0
- package/ai/reference/bf-overlay-options.md +28 -27
- package/ai/reference/bf-overlay-placement.md +34 -0
- package/ai/reference/bf-overlay-position.md +1 -1
- package/ai/reference/bf-overlay-service.md +5 -3
- package/ai/reference/bf-page-header-heading-level.md +26 -0
- package/ai/reference/bf-pagination-harness.md +61 -0
- package/ai/reference/bf-platform-service.md +17 -15
- package/ai/reference/bf-popover-harness.md +42 -0
- package/ai/reference/bf-popover-placement.md +28 -0
- package/ai/reference/bf-popover-trigger-directive.md +56 -0
- package/ai/reference/bf-side-panel-config.md +35 -0
- package/ai/reference/bf-side-panel-harness.md +34 -0
- package/ai/reference/bf-side-panel-ref.md +44 -0
- package/ai/reference/bf-side-panel-service.md +43 -0
- package/ai/reference/bf-side-panel-template-context.md +32 -0
- package/ai/reference/bf-side-panel-width.md +28 -0
- package/ai/reference/bf-sidebar-state-service.md +21 -0
- package/ai/reference/bf-sidebar-toggle-harness.md +32 -0
- package/ai/reference/bf-size.md +13 -0
- package/ai/reference/bf-skeleton-shape.md +28 -0
- package/ai/reference/bf-stat-appearance.md +33 -0
- package/ai/reference/bf-stat-trend-intent.md +27 -0
- package/ai/reference/bf-stat-trend.md +27 -0
- package/ai/reference/bf-stat-variant.md +26 -0
- package/ai/reference/bf-tab-group-harness.md +44 -0
- package/ai/reference/bf-table-align.md +26 -0
- package/ai/reference/bf-table-cell-context.md +24 -0
- package/ai/reference/bf-table-cell-directive.md +22 -0
- package/ai/reference/bf-table-column.md +28 -0
- package/ai/reference/bf-table-harness.md +77 -0
- package/ai/reference/bf-table-row-key.md +21 -0
- package/ai/reference/bf-table-sort-direction.md +26 -0
- package/ai/reference/bf-table-sort.md +27 -0
- package/ai/reference/bf-table-stack.md +29 -0
- package/ai/reference/bf-theme.md +5 -4
- package/ai/reference/bf-time-input-harness.md +67 -0
- package/ai/reference/bf-time-input-hour-cycle.md +27 -0
- package/ai/reference/bf-time-input-picker.md +27 -0
- package/ai/reference/bf-tooltip-directive.md +43 -0
- package/ai/reference/bf-tooltip-harness.md +43 -0
- package/ai/reference/bf-tooltip-placement.md +28 -0
- package/ai/reference/bf_color_scheme_storage.md +20 -0
- package/ai/reference/bf_side_panel_data.md +17 -0
- package/ai/reference/bf_sidebar_state_storage.md +20 -0
- package/ai/reference/bf_theme_storage.md +3 -1
- package/ai/reference/provide-bf-color-scheme.md +20 -0
- package/ai/reference/provide-bf-labels.md +13 -4
- package/ai/reference/provide-bf-sidebar-state.md +20 -0
- package/ai/reference/slide-in-from-end.md +24 -0
- package/ai/reference/slide-out-to-end.md +24 -0
- package/bin/bf-ui.js +433 -3
- package/fesm2022/bitforgehq-ui-charts.mjs +3045 -0
- package/fesm2022/bitforgehq-ui-charts.mjs.map +1 -0
- package/fesm2022/bitforgehq-ui-icons.mjs +107 -3
- package/fesm2022/bitforgehq-ui-icons.mjs.map +1 -1
- package/fesm2022/bitforgehq-ui-mobile.mjs +14 -59
- package/fesm2022/bitforgehq-ui-mobile.mjs.map +1 -1
- package/fesm2022/bitforgehq-ui-overlay.mjs +6566 -38
- package/fesm2022/bitforgehq-ui-overlay.mjs.map +1 -1
- package/fesm2022/bitforgehq-ui-testing.mjs +634 -1
- package/fesm2022/bitforgehq-ui-testing.mjs.map +1 -1
- package/fesm2022/bitforgehq-ui.mjs +5708 -137
- package/fesm2022/bitforgehq-ui.mjs.map +1 -1
- package/llms-full.txt +26766 -14470
- package/llms.txt +106 -1
- package/package.json +7 -3
- package/theme.css +101 -0
- package/types/bitforgehq-ui-charts.d.ts +967 -0
- package/types/bitforgehq-ui-icons.d.ts +13 -1
- package/types/bitforgehq-ui-mobile.d.ts +25 -18
- package/types/bitforgehq-ui-overlay.d.ts +1895 -7
- package/types/bitforgehq-ui-testing.d.ts +782 -1
- package/types/bitforgehq-ui.d.ts +2393 -45
package/README.md
CHANGED
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Bitforge's shared Angular component library: Meadow Sage design, Tailwind CSS v4, signals-first, Angular 22.
|
|
4
4
|
|
|
5
|
+
The theme is the Meadow Sage palette (warm off-white canvas, white surfaces, sage-tinted neutrals and status colours, pill controls). Its default primary is a neutral indigo (`#2b26ba`), not the design's sage green: it is meant to be overridden with your brand colour (`--color-primary` and its set; the docs site's theme configurator derives them), so an indigo primary after install is expected, not a broken install. `bunx bf-ui theme '#238652' --dark '#5cc48a'` prints the whole set for a brand colour, as a `@theme` and a `.dark` block to paste after the theme import, with every contrast pair's ratio, and exits 1 naming the failing pairs and a shade that passes (the docs site's Theming page has the recipe and a Meadow Sage green worked example).
|
|
6
|
+
|
|
5
7
|
- Widgets: `@bitforgehq/ui`
|
|
6
8
|
- Number field: `@bitforgehq/ui/number-input` (`bf-number-input`; loads Angular Forms, peer
|
|
7
9
|
dependency `@angular/forms`)
|
|
8
10
|
- Icons: `@bitforgehq/ui/icons` (Lucide data, peer dependency `lucide`)
|
|
9
11
|
- Overlay core: `@bitforgehq/ui/overlay` (no Capacitor; peer dependencies `@angular/cdk` and
|
|
10
12
|
`rxjs`)
|
|
13
|
+
- Charts: `@bitforgehq/ui/charts` (line, bar and donut charts, sparklines and the chart card, drawn
|
|
14
|
+
in SVG with the `--color-chart-*` tokens; no peer dependency beyond the widgets entry)
|
|
11
15
|
- Mobile shell: `@bitforgehq/ui/mobile` (from v0.2)
|
|
12
16
|
- Test support: `@bitforgehq/ui/testing` (jsdom shims, `provideBfTesting()`, CDK component
|
|
13
17
|
harnesses; needs `@angular/cdk` as a dev dependency)
|
|
@@ -79,7 +83,7 @@ In `src/index.html`, give `<body>` the theme background and text colour, so the
|
|
|
79
83
|
|
|
80
84
|
### 7. Switch to dark mode
|
|
81
85
|
|
|
82
|
-
Add the `dark` class to `<html>` (and remove it for light mode). Every token is redefined under `.dark`, and the theme sets `color-scheme`, so scrollbars and native controls follow too. Components need no `dark:` classes.
|
|
86
|
+
Add the `dark` class to `<html>` (and remove it for light mode). Every token is redefined under `.dark`, and the theme sets `color-scheme`, so scrollbars and native controls follow too. Components need no `dark:` classes. To let users choose System, Light or Dark, add `provideBfColorScheme()` to the app providers: it sets the class, follows the OS and remembers the choice.
|
|
83
87
|
|
|
84
88
|
```html
|
|
85
89
|
<html lang="en" class="dark">
|
|
@@ -136,15 +140,17 @@ Render library components only in the browser, for example in a `@defer` block o
|
|
|
136
140
|
route. Support will be decided before 1.0.
|
|
137
141
|
|
|
138
142
|
The one server-side check is a render smoke, not a support test: the library repository's
|
|
139
|
-
`tools/ssr-smoke.ts` renders
|
|
140
|
-
`bf-number-input`, a `/mobile` page with `provideBfShell()`, `bf-page`,
|
|
141
|
-
`bf-content`, `bf-tabs` with `bf-stack-outlet` under the router, and an `/overlay`
|
|
142
|
-
of them render without an error.
|
|
143
|
-
differently on every render, from a module-level counter, so they could not
|
|
144
|
-
`bf-
|
|
145
|
-
`bf-
|
|
146
|
-
|
|
147
|
-
|
|
143
|
+
`tools/ssr-smoke.ts` renders 43 fixtures with `renderApplication()` (every root widget, `bf-icon`,
|
|
144
|
+
`bf-number-input`, a `/charts` line chart, a `/mobile` page with `provideBfShell()`, `bf-page`,
|
|
145
|
+
`bf-header` and `bf-content`, `bf-tabs` with `bf-stack-outlet` under the router, and an `/overlay`
|
|
146
|
+
dialog), and all of them render without an error. 27 of them render identically twice. The other 16
|
|
147
|
+
number their ids differently on every render, from a module-level counter, so they could not
|
|
148
|
+
hydrate: `bf-app-frame`, `bf-calendar`, `bf-checkbox`, `bf-input`, `bf-radio-group`, `bf-segmented`,
|
|
149
|
+
`bf-select`, `bf-sidebar`, `bf-tab-group`, `bf-table`, `bf-textarea`, `bf-theme-switch`,
|
|
150
|
+
`bf-toggle`, `bf-line-chart`, `bf-number-input` and the `/overlay` dialog. Hydration itself is still
|
|
151
|
+
not supported or tested, and more stands in its way: `/mobile` writes to `<html>` and adds a
|
|
152
|
+
keyboard probe to `<body>`, and an `/overlay` dialog renders outside the app root and marks it
|
|
153
|
+
inert.
|
|
148
154
|
|
|
149
155
|
## Testing
|
|
150
156
|
|
|
@@ -156,7 +162,8 @@ jsdom lacks them. `provideBfTesting()` passes defaults and labels to the widgets
|
|
|
156
162
|
overlays and themes leave on the document after each test (when TestBed destroys the test
|
|
157
163
|
environment, so keep its default `teardown: { destroyAfterEach: true }`), and the CDK harnesses
|
|
158
164
|
(`BfSelectHarness`, `BfRadioGroupHarness`, `BfSegmentedHarness`, `BfDialogHarness`,
|
|
159
|
-
`BfMenuButtonHarness`, `BfMenuHarness`, `BfMenuItemHarness`, `BfDesktopToastHarness
|
|
165
|
+
`BfMenuButtonHarness`, `BfMenuHarness`, `BfMenuItemHarness`, `BfDesktopToastHarness`,
|
|
166
|
+
`BfTableHarness`, `BfPaginationHarness`, `BfTabGroupHarness`, `BfCalendarHarness`, `BfChartHarness`) drive the
|
|
160
167
|
widgets whose DOM a spec should not query by hand; overlays come from
|
|
161
168
|
`TestbedHarnessEnvironment.documentRootLoader(fixture)`. An app on the mobile shell uses
|
|
162
169
|
`provideBfShellTesting()` from `@bitforgehq/ui/mobile` instead (router, shell, an in-memory theme
|
package/ai/MANIFEST.index.json
CHANGED
|
@@ -37,6 +37,15 @@
|
|
|
37
37
|
"summary": "Centred confirmation dialog with a title, message and a row of role-styled buttons",
|
|
38
38
|
"since": "0.2.0"
|
|
39
39
|
},
|
|
40
|
+
{
|
|
41
|
+
"name": "app-frame",
|
|
42
|
+
"selector": "bf-app-frame",
|
|
43
|
+
"className": "BfAppFrameComponent",
|
|
44
|
+
"category": "Navigation",
|
|
45
|
+
"entryPoint": "@bitforgehq/ui",
|
|
46
|
+
"summary": "Desktop app frame with skip link, sticky sidebar, narrow header and main content",
|
|
47
|
+
"since": "0.3.2"
|
|
48
|
+
},
|
|
40
49
|
{
|
|
41
50
|
"name": "avatar",
|
|
42
51
|
"selector": "bf-avatar",
|
|
@@ -64,6 +73,33 @@
|
|
|
64
73
|
"summary": "Small status label in semantic tones, or a compact numeric pill for counts",
|
|
65
74
|
"since": "0.1.0"
|
|
66
75
|
},
|
|
76
|
+
{
|
|
77
|
+
"name": "bar-chart",
|
|
78
|
+
"selector": "bf-bar-chart",
|
|
79
|
+
"className": "BfBarChartComponent",
|
|
80
|
+
"category": "Data display",
|
|
81
|
+
"entryPoint": "@bitforgehq/ui/charts",
|
|
82
|
+
"summary": "Bar chart of series over categories, grouped or stacked, vertical or horizontal",
|
|
83
|
+
"since": "0.3.1"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "breadcrumb",
|
|
87
|
+
"selector": "bf-breadcrumb",
|
|
88
|
+
"className": "BfBreadcrumbComponent",
|
|
89
|
+
"category": "Navigation",
|
|
90
|
+
"entryPoint": "@bitforgehq/ui",
|
|
91
|
+
"summary": "Desktop breadcrumb trail of links to the current page, with optional collapsing",
|
|
92
|
+
"since": "0.3.1"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "breadcrumb-item",
|
|
96
|
+
"selector": "li[bfBreadcrumbItem]",
|
|
97
|
+
"className": "BfBreadcrumbItemComponent",
|
|
98
|
+
"category": "Navigation",
|
|
99
|
+
"entryPoint": "@bitforgehq/ui",
|
|
100
|
+
"summary": "One level of a breadcrumb trail: a link, or the current page as text",
|
|
101
|
+
"since": "0.3.1"
|
|
102
|
+
},
|
|
67
103
|
{
|
|
68
104
|
"name": "button",
|
|
69
105
|
"selector": "bf-button",
|
|
@@ -73,6 +109,15 @@
|
|
|
73
109
|
"summary": "Pill-shaped action button with five variants, three sizes and a loading state",
|
|
74
110
|
"since": "0.1.0"
|
|
75
111
|
},
|
|
112
|
+
{
|
|
113
|
+
"name": "calendar",
|
|
114
|
+
"selector": "bf-calendar",
|
|
115
|
+
"className": "BfCalendarComponent",
|
|
116
|
+
"category": "Forms",
|
|
117
|
+
"entryPoint": "@bitforgehq/ui",
|
|
118
|
+
"summary": "Inline month calendar for picking one date, with month and year jumps",
|
|
119
|
+
"since": "0.3.1"
|
|
120
|
+
},
|
|
76
121
|
{
|
|
77
122
|
"name": "card",
|
|
78
123
|
"selector": "bf-card",
|
|
@@ -82,6 +127,15 @@
|
|
|
82
127
|
"summary": "Content surface with an optional header slot, in four visual styles from raised to flat",
|
|
83
128
|
"since": "0.1.0"
|
|
84
129
|
},
|
|
130
|
+
{
|
|
131
|
+
"name": "chart-card",
|
|
132
|
+
"selector": "bf-chart-card",
|
|
133
|
+
"className": "BfChartCardComponent",
|
|
134
|
+
"category": "Data display",
|
|
135
|
+
"entryPoint": "@bitforgehq/ui/charts",
|
|
136
|
+
"summary": "Card around one chart with a title, period control and loading, empty and error states",
|
|
137
|
+
"since": "0.3.1"
|
|
138
|
+
},
|
|
85
139
|
{
|
|
86
140
|
"name": "checkbox",
|
|
87
141
|
"selector": "bf-checkbox",
|
|
@@ -109,6 +163,15 @@
|
|
|
109
163
|
"summary": "Named row of chips that picks one like radios, or groups independent toggles",
|
|
110
164
|
"since": "0.3.0"
|
|
111
165
|
},
|
|
166
|
+
{
|
|
167
|
+
"name": "combobox",
|
|
168
|
+
"selector": "bf-combobox",
|
|
169
|
+
"className": "BfComboboxComponent",
|
|
170
|
+
"category": "Forms",
|
|
171
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
172
|
+
"summary": "Text field that filters a list of options as you type and picks one",
|
|
173
|
+
"since": "0.3.1"
|
|
174
|
+
},
|
|
112
175
|
{
|
|
113
176
|
"name": "content",
|
|
114
177
|
"selector": "bf-content",
|
|
@@ -118,6 +181,42 @@
|
|
|
118
181
|
"summary": "Page's single scroll container that keeps focused fields clear of the soft keyboard",
|
|
119
182
|
"since": "0.2.0"
|
|
120
183
|
},
|
|
184
|
+
{
|
|
185
|
+
"name": "date-input",
|
|
186
|
+
"selector": "bf-date-input",
|
|
187
|
+
"className": "BfDateInputComponent",
|
|
188
|
+
"category": "Forms",
|
|
189
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
190
|
+
"summary": "Typed date field with a calendar popover, valued as an ISO date string",
|
|
191
|
+
"since": "0.3.1"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "datetime-input",
|
|
195
|
+
"selector": "bf-datetime-input",
|
|
196
|
+
"className": "BfDateTimeInputComponent",
|
|
197
|
+
"category": "Forms",
|
|
198
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
199
|
+
"summary": "Typed date and time field with a calendar and time list in one popover",
|
|
200
|
+
"since": "0.3.1"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "description-item",
|
|
204
|
+
"selector": "div[bfDescriptionItem]",
|
|
205
|
+
"className": "BfDescriptionItemComponent",
|
|
206
|
+
"category": "Data display",
|
|
207
|
+
"entryPoint": "@bitforgehq/ui",
|
|
208
|
+
"summary": "One label and value pair of a description list, label as term, content as value",
|
|
209
|
+
"since": "0.3.1"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "description-list",
|
|
213
|
+
"selector": "bf-description-list",
|
|
214
|
+
"className": "BfDescriptionListComponent",
|
|
215
|
+
"category": "Data display",
|
|
216
|
+
"entryPoint": "@bitforgehq/ui",
|
|
217
|
+
"summary": "Native description list of label-value pairs, as divided rows or a tile grid",
|
|
218
|
+
"since": "0.3.1"
|
|
219
|
+
},
|
|
121
220
|
{
|
|
122
221
|
"name": "desktop-toast",
|
|
123
222
|
"selector": "bf-desktop-toast",
|
|
@@ -136,6 +235,15 @@
|
|
|
136
235
|
"summary": "Desktop modal dialog with a title, scrolling body, footer actions and focus trap",
|
|
137
236
|
"since": "0.3.0"
|
|
138
237
|
},
|
|
238
|
+
{
|
|
239
|
+
"name": "donut-chart",
|
|
240
|
+
"selector": "bf-donut-chart",
|
|
241
|
+
"className": "BfDonutChartComponent",
|
|
242
|
+
"category": "Data display",
|
|
243
|
+
"entryPoint": "@bitforgehq/ui/charts",
|
|
244
|
+
"summary": "Donut chart of the parts of a whole, with a legend, tooltip and centre slot",
|
|
245
|
+
"since": "0.3.1"
|
|
246
|
+
},
|
|
139
247
|
{
|
|
140
248
|
"name": "empty-state",
|
|
141
249
|
"selector": "bf-empty-state",
|
|
@@ -190,6 +298,15 @@
|
|
|
190
298
|
"summary": "Single-line text field with label, help and error text, icon slots and Signal Forms binding",
|
|
191
299
|
"since": "0.1.0"
|
|
192
300
|
},
|
|
301
|
+
{
|
|
302
|
+
"name": "line-chart",
|
|
303
|
+
"selector": "bf-line-chart",
|
|
304
|
+
"className": "BfLineChartComponent",
|
|
305
|
+
"category": "Data display",
|
|
306
|
+
"entryPoint": "@bitforgehq/ui/charts",
|
|
307
|
+
"summary": "Line chart of series over categories, with tooltip, legend and data table",
|
|
308
|
+
"since": "0.3.1"
|
|
309
|
+
},
|
|
193
310
|
{
|
|
194
311
|
"name": "list",
|
|
195
312
|
"selector": "bf-list",
|
|
@@ -235,6 +352,33 @@
|
|
|
235
352
|
"summary": "Modal overlay shown as an inset card over the scaled-down page, or full screen",
|
|
236
353
|
"since": "0.2.0"
|
|
237
354
|
},
|
|
355
|
+
{
|
|
356
|
+
"name": "multi-combobox",
|
|
357
|
+
"selector": "bf-multi-combobox",
|
|
358
|
+
"className": "BfMultiComboboxComponent",
|
|
359
|
+
"category": "Forms",
|
|
360
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
361
|
+
"summary": "Text field that filters options as you type and picks several as tags",
|
|
362
|
+
"since": "0.3.1"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"name": "nav-group",
|
|
366
|
+
"selector": "bf-nav-group",
|
|
367
|
+
"className": "BfNavGroupComponent",
|
|
368
|
+
"category": "Navigation",
|
|
369
|
+
"entryPoint": "@bitforgehq/ui",
|
|
370
|
+
"summary": "A titled group of sidebar links with a small heading that names it",
|
|
371
|
+
"since": "0.3.1"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"name": "nav-item",
|
|
375
|
+
"selector": "a[bfNavItem]",
|
|
376
|
+
"className": "BfNavItemComponent",
|
|
377
|
+
"category": "Navigation",
|
|
378
|
+
"entryPoint": "@bitforgehq/ui",
|
|
379
|
+
"summary": "Navigation link for a sidebar or top nav, with icon, label and count",
|
|
380
|
+
"since": "0.3.1"
|
|
381
|
+
},
|
|
238
382
|
{
|
|
239
383
|
"name": "number-input",
|
|
240
384
|
"selector": "bf-number-input",
|
|
@@ -253,6 +397,33 @@
|
|
|
253
397
|
"summary": "Frame for one stacked mobile screen that supplies lifecycle events and shared page state",
|
|
254
398
|
"since": "0.2.0"
|
|
255
399
|
},
|
|
400
|
+
{
|
|
401
|
+
"name": "page-header",
|
|
402
|
+
"selector": "bf-page-header",
|
|
403
|
+
"className": "BfPageHeaderComponent",
|
|
404
|
+
"category": "Navigation",
|
|
405
|
+
"entryPoint": "@bitforgehq/ui",
|
|
406
|
+
"summary": "Desktop page header with breadcrumb, title, subtitle, badges and a row of actions",
|
|
407
|
+
"since": "0.3.1"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"name": "pagination",
|
|
411
|
+
"selector": "bf-pagination",
|
|
412
|
+
"className": "BfPaginationComponent",
|
|
413
|
+
"category": "Navigation",
|
|
414
|
+
"entryPoint": "@bitforgehq/ui",
|
|
415
|
+
"summary": "Previous, next and numbered page buttons for a long list or table",
|
|
416
|
+
"since": "0.3.1"
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"name": "popover",
|
|
420
|
+
"selector": "bf-popover",
|
|
421
|
+
"className": "BfPopoverComponent",
|
|
422
|
+
"category": "Overlays",
|
|
423
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
424
|
+
"summary": "Anchored, non-modal panel for filters, details or a small form",
|
|
425
|
+
"since": "0.3.1"
|
|
426
|
+
},
|
|
256
427
|
{
|
|
257
428
|
"name": "progress",
|
|
258
429
|
"selector": "bf-progress",
|
|
@@ -307,6 +478,51 @@
|
|
|
307
478
|
"summary": "Bottom sheet with snap points, drag to dismiss and a backdrop",
|
|
308
479
|
"since": "0.2.0"
|
|
309
480
|
},
|
|
481
|
+
{
|
|
482
|
+
"name": "side-panel",
|
|
483
|
+
"selector": "bf-side-panel",
|
|
484
|
+
"className": "BfSidePanelComponent",
|
|
485
|
+
"category": "Overlays",
|
|
486
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
487
|
+
"summary": "Desktop panel sliding in from the end edge, with a title, body and footer actions",
|
|
488
|
+
"since": "0.3.1"
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"name": "sidebar",
|
|
492
|
+
"selector": "bf-sidebar",
|
|
493
|
+
"className": "BfSidebarComponent",
|
|
494
|
+
"category": "Navigation",
|
|
495
|
+
"entryPoint": "@bitforgehq/ui",
|
|
496
|
+
"summary": "Vertical app navigation with brand, grouped links, footer and an icon rail mode",
|
|
497
|
+
"since": "0.3.1"
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"name": "sidebar-toggle",
|
|
501
|
+
"selector": "bf-sidebar-toggle",
|
|
502
|
+
"className": "BfSidebarToggleComponent",
|
|
503
|
+
"category": "Navigation",
|
|
504
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
505
|
+
"summary": "Icon button inside a sidebar that collapses it to an icon rail and back",
|
|
506
|
+
"since": "0.3.2"
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"name": "skeleton",
|
|
510
|
+
"selector": "bf-skeleton",
|
|
511
|
+
"className": "BfSkeletonComponent",
|
|
512
|
+
"category": "Feedback",
|
|
513
|
+
"entryPoint": "@bitforgehq/ui",
|
|
514
|
+
"summary": "Loading placeholder shaped as text lines, a rectangle or a circle, with a shimmer",
|
|
515
|
+
"since": "0.3.1"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"name": "sparkline",
|
|
519
|
+
"selector": "bf-sparkline",
|
|
520
|
+
"className": "BfSparklineComponent",
|
|
521
|
+
"category": "Data display",
|
|
522
|
+
"entryPoint": "@bitforgehq/ui/charts",
|
|
523
|
+
"summary": "Tiny trend line with no axes or legend, for stats and table cells",
|
|
524
|
+
"since": "0.3.1"
|
|
525
|
+
},
|
|
310
526
|
{
|
|
311
527
|
"name": "spinner",
|
|
312
528
|
"selector": "bf-spinner",
|
|
@@ -325,6 +541,15 @@
|
|
|
325
541
|
"summary": "Router outlet keeping a live page stack with slide transitions and iOS swipe back",
|
|
326
542
|
"since": "0.2.0"
|
|
327
543
|
},
|
|
544
|
+
{
|
|
545
|
+
"name": "stat",
|
|
546
|
+
"selector": "bf-stat",
|
|
547
|
+
"className": "BfStatComponent",
|
|
548
|
+
"category": "Data display",
|
|
549
|
+
"entryPoint": "@bitforgehq/ui",
|
|
550
|
+
"summary": "One labelled figure with an optional icon tile and a supporting line",
|
|
551
|
+
"since": "0.3.1"
|
|
552
|
+
},
|
|
328
553
|
{
|
|
329
554
|
"name": "tab",
|
|
330
555
|
"selector": "bf-tab",
|
|
@@ -343,6 +568,33 @@
|
|
|
343
568
|
"summary": "Floating pill tab bar for mobile apps with arrow-key selection and count badges",
|
|
344
569
|
"since": "0.1.0"
|
|
345
570
|
},
|
|
571
|
+
{
|
|
572
|
+
"name": "tab-group",
|
|
573
|
+
"selector": "bf-tab-group",
|
|
574
|
+
"className": "BfTabGroupComponent",
|
|
575
|
+
"category": "Navigation",
|
|
576
|
+
"entryPoint": "@bitforgehq/ui",
|
|
577
|
+
"summary": "In-page tabs that switch between content panels, with keyboard navigation and badges",
|
|
578
|
+
"since": "0.3.1"
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"name": "tab-panel",
|
|
582
|
+
"selector": "bf-tab-panel",
|
|
583
|
+
"className": "BfTabPanelComponent",
|
|
584
|
+
"category": "Navigation",
|
|
585
|
+
"entryPoint": "@bitforgehq/ui",
|
|
586
|
+
"summary": "One tab of a tab group with its label, badge, icon and lazy content",
|
|
587
|
+
"since": "0.3.1"
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"name": "table",
|
|
591
|
+
"selector": "bf-table",
|
|
592
|
+
"className": "BfTableComponent",
|
|
593
|
+
"category": "Data display",
|
|
594
|
+
"entryPoint": "@bitforgehq/ui",
|
|
595
|
+
"summary": "Desktop data table with sortable headers, row selection, custom cells and an empty slot",
|
|
596
|
+
"since": "0.3.1"
|
|
597
|
+
},
|
|
346
598
|
{
|
|
347
599
|
"name": "tabs",
|
|
348
600
|
"selector": "bf-tabs",
|
|
@@ -361,6 +613,33 @@
|
|
|
361
613
|
"summary": "Multi-line text field with label, help and error text, and Signal Forms binding",
|
|
362
614
|
"since": "0.1.0"
|
|
363
615
|
},
|
|
616
|
+
{
|
|
617
|
+
"name": "theme-menu-button",
|
|
618
|
+
"selector": "bf-theme-menu-button",
|
|
619
|
+
"className": "BfThemeMenuButtonComponent",
|
|
620
|
+
"category": "Overlays",
|
|
621
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
622
|
+
"summary": "Menu button with System, Light and Dark radio items bound to the colour scheme",
|
|
623
|
+
"since": "0.3.1"
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
"name": "theme-switch",
|
|
627
|
+
"selector": "bf-theme-switch",
|
|
628
|
+
"className": "BfThemeSwitchComponent",
|
|
629
|
+
"category": "Forms",
|
|
630
|
+
"entryPoint": "@bitforgehq/ui",
|
|
631
|
+
"summary": "Segmented System, Light and Dark switch bound two-way to the app colour scheme",
|
|
632
|
+
"since": "0.3.1"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"name": "time-input",
|
|
636
|
+
"selector": "bf-time-input",
|
|
637
|
+
"className": "BfTimeInputComponent",
|
|
638
|
+
"category": "Forms",
|
|
639
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
640
|
+
"summary": "Typed time-of-day field with a popover list of times, valued as an ISO string",
|
|
641
|
+
"since": "0.3.1"
|
|
642
|
+
},
|
|
364
643
|
{
|
|
365
644
|
"name": "toast",
|
|
366
645
|
"selector": "bf-toast",
|
|
@@ -378,6 +657,33 @@
|
|
|
378
657
|
"entryPoint": "@bitforgehq/ui",
|
|
379
658
|
"summary": "On/off switch for settings that apply immediately, with Signal Forms binding",
|
|
380
659
|
"since": "0.1.0"
|
|
660
|
+
},
|
|
661
|
+
{
|
|
662
|
+
"name": "toolbar",
|
|
663
|
+
"selector": "bf-toolbar",
|
|
664
|
+
"className": "BfToolbarComponent",
|
|
665
|
+
"category": "Actions",
|
|
666
|
+
"entryPoint": "@bitforgehq/ui",
|
|
667
|
+
"summary": "Dense row of search, filters, view switch, result count and actions",
|
|
668
|
+
"since": "0.3.1"
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"name": "tooltip",
|
|
672
|
+
"selector": "bf-tooltip",
|
|
673
|
+
"className": "BfTooltipComponent",
|
|
674
|
+
"category": "Overlays",
|
|
675
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
676
|
+
"summary": "Short hint beside a control on hover or keyboard focus, for desktop",
|
|
677
|
+
"since": "0.3.1"
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
"name": "top-nav",
|
|
681
|
+
"selector": "bf-top-nav",
|
|
682
|
+
"className": "BfTopNavComponent",
|
|
683
|
+
"category": "Navigation",
|
|
684
|
+
"entryPoint": "@bitforgehq/ui",
|
|
685
|
+
"summary": "Horizontal app navigation, a wrapping row of links for apps with few sections",
|
|
686
|
+
"since": "0.3.1"
|
|
381
687
|
}
|
|
382
688
|
]
|
|
383
689
|
}
|