@bitforgehq/ui 0.3.3 → 0.5.0-next.3

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 (99) hide show
  1. package/CHANGELOG.md +394 -0
  2. package/README.md +14 -14
  3. package/ai/MANIFEST.index.json +101 -2
  4. package/ai/MANIFEST.json +2630 -746
  5. package/ai/REFERENCE.index.json +196 -0
  6. package/ai/REFERENCE.json +1625 -140
  7. package/ai/UI_GUIDE.md +83 -21
  8. package/ai/components/app-frame.md +1 -1
  9. package/ai/components/badge.md +39 -2
  10. package/ai/components/chat-composer.md +357 -0
  11. package/ai/components/chat-message.md +251 -0
  12. package/ai/components/chat-thread.md +521 -0
  13. package/ai/components/checkbox.md +7 -0
  14. package/ai/components/combobox.md +12 -0
  15. package/ai/components/date-input.md +9 -0
  16. package/ai/components/datetime-input.md +2 -0
  17. package/ai/components/field.md +10 -0
  18. package/ai/components/file-input.md +498 -0
  19. package/ai/components/header.md +1 -1
  20. package/ai/components/image-input.md +368 -0
  21. package/ai/components/image-viewer.md +309 -0
  22. package/ai/components/list-item.md +105 -9
  23. package/ai/components/media-card.md +478 -0
  24. package/ai/components/menu-button.md +2 -0
  25. package/ai/components/menu.md +10 -0
  26. package/ai/components/multi-combobox.md +7 -0
  27. package/ai/components/nav-group.md +10 -3
  28. package/ai/components/nav-item.md +11 -2
  29. package/ai/components/number-input.md +2 -7
  30. package/ai/components/popover.md +13 -0
  31. package/ai/components/radio-group.md +6 -0
  32. package/ai/components/segmented.md +14 -2
  33. package/ai/components/select.md +100 -42
  34. package/ai/components/sidebar-toggle.md +16 -9
  35. package/ai/components/sidebar.md +41 -13
  36. package/ai/components/step.md +112 -0
  37. package/ai/components/steps.md +124 -0
  38. package/ai/components/tab-group.md +18 -2
  39. package/ai/components/table.md +115 -4
  40. package/ai/components/theme-menu-button.md +1 -0
  41. package/ai/components/time-input.md +2 -0
  42. package/ai/components/timeline-event.md +144 -0
  43. package/ai/components/timeline.md +201 -0
  44. package/ai/components/toggle.md +11 -1
  45. package/ai/components/toolbar.md +7 -18
  46. package/ai/reference/bf-action-directive.md +3 -1
  47. package/ai/reference/bf-badge-emphasis.md +27 -0
  48. package/ai/reference/bf-chat-composer-harness.md +64 -0
  49. package/ai/reference/bf-chat-message-role.md +27 -0
  50. package/ai/reference/bf-chat-message-status.md +28 -0
  51. package/ai/reference/bf-fade-in-directive.md +18 -0
  52. package/ai/reference/bf-file-input-harness.md +67 -0
  53. package/ai/reference/bf-file-input-variant.md +27 -0
  54. package/ai/reference/bf-image-input-harness.md +67 -0
  55. package/ai/reference/bf-image-input-shape.md +27 -0
  56. package/ai/reference/bf-image-viewer-actions-context.md +29 -0
  57. package/ai/reference/bf-image-viewer-harness.md +87 -0
  58. package/ai/reference/bf-image-viewer-image.md +25 -0
  59. package/ai/reference/bf-image-viewer-options.md +33 -0
  60. package/ai/reference/bf-image-viewer-origin.md +23 -0
  61. package/ai/reference/bf-image-viewer-ref.md +55 -0
  62. package/ai/reference/bf-image-viewer-service.md +32 -0
  63. package/ai/reference/bf-labels.md +105 -74
  64. package/ai/reference/bf-media-card-aspect.md +28 -0
  65. package/ai/reference/bf-media-card-harness.md +66 -0
  66. package/ai/reference/bf-motion-list-directive.md +22 -0
  67. package/ai/reference/bf-prose-directive.md +16 -0
  68. package/ai/reference/bf-rejected-file-reason.md +28 -0
  69. package/ai/reference/bf-rejected-file.md +28 -0
  70. package/ai/reference/bf-select-harness.md +14 -5
  71. package/ai/reference/bf-select-option.md +2 -0
  72. package/ai/reference/bf-size.md +3 -0
  73. package/ai/reference/bf-step-heading-level.md +28 -0
  74. package/ai/reference/bf-table-align.md +1 -1
  75. package/ai/reference/bf-table-column-align.md +33 -0
  76. package/ai/reference/bf-table-column.md +7 -7
  77. package/ai/reference/bf-table-harness.md +12 -0
  78. package/ai/reference/bf-timeline-tone.md +31 -0
  79. package/ai/reference/bf-toggle-harness.md +55 -0
  80. package/ai/reference/bf_table_sort_select.md +23 -0
  81. package/ai/reference/provide-bf-labels.md +10 -3
  82. package/ai/reference/provide-bf-select.md +20 -0
  83. package/bin/bf-ui.js +1 -0
  84. package/dark-ink.css +124 -0
  85. package/fesm2022/bitforgehq-ui-mobile.mjs +2 -1
  86. package/fesm2022/bitforgehq-ui-mobile.mjs.map +1 -1
  87. package/fesm2022/bitforgehq-ui-overlay.mjs +2649 -606
  88. package/fesm2022/bitforgehq-ui-overlay.mjs.map +1 -1
  89. package/fesm2022/bitforgehq-ui-testing.mjs +406 -11
  90. package/fesm2022/bitforgehq-ui-testing.mjs.map +1 -1
  91. package/fesm2022/bitforgehq-ui.mjs +11149 -6957
  92. package/fesm2022/bitforgehq-ui.mjs.map +1 -1
  93. package/llms-full.txt +5219 -141
  94. package/llms.txt +40 -1
  95. package/package.json +2 -1
  96. package/theme.css +84 -0
  97. package/types/bitforgehq-ui-overlay.d.ts +684 -7
  98. package/types/bitforgehq-ui-testing.d.ts +510 -7
  99. package/types/bitforgehq-ui.d.ts +1757 -186
@@ -64,6 +64,13 @@
64
64
  "entryPoint": "@bitforgehq/ui",
65
65
  "summary": "Injection token that turns a projected tab bar into a navigation of links"
66
66
  },
67
+ {
68
+ "name": "BF_TABLE_SORT_SELECT",
69
+ "slug": "bf_table_sort_select",
70
+ "kind": "token",
71
+ "entryPoint": "@bitforgehq/ui",
72
+ "summary": "The component a stacked table renders as its Sort by select"
73
+ },
67
74
  {
68
75
  "name": "BfActionDirective",
69
76
  "slug": "bf-action-directive",
@@ -120,6 +127,13 @@
120
127
  "entryPoint": "@bitforgehq/ui",
121
128
  "summary": "Every badge tone, the five variants plus the informational info tone"
122
129
  },
130
+ {
131
+ "name": "BfBadgeEmphasis",
132
+ "slug": "bf-badge-emphasis",
133
+ "kind": "type",
134
+ "entryPoint": "@bitforgehq/ui",
135
+ "summary": "The two badge emphases, the soft tint or the solid strong fill"
136
+ },
123
137
  {
124
138
  "name": "BfBadgeVariant",
125
139
  "slug": "bf-badge-variant",
@@ -183,6 +197,20 @@
183
197
  "entryPoint": "@bitforgehq/ui",
184
198
  "summary": "The four card surfaces, from a raised panel to a flat outline"
185
199
  },
200
+ {
201
+ "name": "BfChatMessageRole",
202
+ "slug": "bf-chat-message-role",
203
+ "kind": "type",
204
+ "entryPoint": "@bitforgehq/ui",
205
+ "summary": "Who wrote a chat message, the user or the assistant"
206
+ },
207
+ {
208
+ "name": "BfChatMessageStatus",
209
+ "slug": "bf-chat-message-status",
210
+ "kind": "type",
211
+ "entryPoint": "@bitforgehq/ui",
212
+ "summary": "How a chat message ended: done, stopped by the user, or failed"
213
+ },
186
214
  {
187
215
  "name": "BfChipGroupMode",
188
216
  "slug": "bf-chip-group-mode",
@@ -260,6 +288,13 @@
260
288
  "entryPoint": "@bitforgehq/ui",
261
289
  "summary": "The labels a phone keyboard can put on its Enter key"
262
290
  },
291
+ {
292
+ "name": "BfFadeInDirective",
293
+ "slug": "bf-fade-in-directive",
294
+ "kind": "directive",
295
+ "entryPoint": "@bitforgehq/ui",
296
+ "summary": "Fades an image in once it has loaded instead of popping in"
297
+ },
263
298
  {
264
299
  "name": "bfFieldControlClass",
265
300
  "slug": "bf-field-control-class",
@@ -281,6 +316,13 @@
281
316
  "entryPoint": "@bitforgehq/ui",
282
317
  "summary": "Former name of the shared size scale for text fields, kept until 1.0.0"
283
318
  },
319
+ {
320
+ "name": "BfFileInputVariant",
321
+ "slug": "bf-file-input-variant",
322
+ "kind": "type",
323
+ "entryPoint": "@bitforgehq/ui",
324
+ "summary": "The two looks of a file picker, a compact field or a drop zone"
325
+ },
284
326
  {
285
327
  "name": "BfIconButtonVariant",
286
328
  "slug": "bf-icon-button-variant",
@@ -288,6 +330,13 @@
288
330
  "entryPoint": "@bitforgehq/ui",
289
331
  "summary": "The four visual styles of an icon button, from tonal to plain text"
290
332
  },
333
+ {
334
+ "name": "BfImageInputShape",
335
+ "slug": "bf-image-input-shape",
336
+ "kind": "type",
337
+ "entryPoint": "@bitforgehq/ui",
338
+ "summary": "The two tile shapes of an image picker, a circle or a rounded square"
339
+ },
291
340
  {
292
341
  "name": "BfInputAutocapitalize",
293
342
  "slug": "bf-input-autocapitalize",
@@ -337,6 +386,20 @@
337
386
  "entryPoint": "@bitforgehq/ui",
338
387
  "summary": "The strings provideBfLabels replaces, each one falling back to the parent"
339
388
  },
389
+ {
390
+ "name": "BfMediaCardAspect",
391
+ "slug": "bf-media-card-aspect",
392
+ "kind": "type",
393
+ "entryPoint": "@bitforgehq/ui",
394
+ "summary": "The four aspect ratios of a media card's image area, wide to portrait"
395
+ },
396
+ {
397
+ "name": "BfMotionListDirective",
398
+ "slug": "bf-motion-list-directive",
399
+ "kind": "directive",
400
+ "entryPoint": "@bitforgehq/ui",
401
+ "summary": "Glides the items of a list or grid to their new place when it changes"
402
+ },
340
403
  {
341
404
  "name": "BfPageHeaderHeadingLevel",
342
405
  "slug": "bf-page-header-heading-level",
@@ -358,6 +421,13 @@
358
421
  "entryPoint": "@bitforgehq/ui",
359
422
  "summary": "The four fill colours of a progress bar, from primary to danger"
360
423
  },
424
+ {
425
+ "name": "BfProseDirective",
426
+ "slug": "bf-prose-directive",
427
+ "kind": "directive",
428
+ "entryPoint": "@bitforgehq/ui",
429
+ "summary": "Styles rendered markdown with the library tokens: headings, lists, code and quotes"
430
+ },
361
431
  {
362
432
  "name": "BfRadioGroupOrientation",
363
433
  "slug": "bf-radio-group-orientation",
@@ -372,6 +442,20 @@
372
442
  "entryPoint": "@bitforgehq/ui",
373
443
  "summary": "One choice of a radio group with its value, label and optional description"
374
444
  },
445
+ {
446
+ "name": "BfRejectedFile",
447
+ "slug": "bf-rejected-file",
448
+ "kind": "interface",
449
+ "entryPoint": "@bitforgehq/ui",
450
+ "summary": "A picked or dropped file that broke a rule, with the rule and its message"
451
+ },
452
+ {
453
+ "name": "BfRejectedFileReason",
454
+ "slug": "bf-rejected-file-reason",
455
+ "kind": "type",
456
+ "entryPoint": "@bitforgehq/ui",
457
+ "summary": "The rule a refused file broke, its type, its size or the file count"
458
+ },
375
459
  {
376
460
  "name": "BfSegmentedSize",
377
461
  "slug": "bf-segmented-size",
@@ -449,6 +533,13 @@
449
533
  "entryPoint": "@bitforgehq/ui",
450
534
  "summary": "The two stat surfaces, plain on its container or an outlined card tile"
451
535
  },
536
+ {
537
+ "name": "BfStepHeadingLevel",
538
+ "slug": "bf-step-heading-level",
539
+ "kind": "type",
540
+ "entryPoint": "@bitforgehq/ui",
541
+ "summary": "The heading level a step title can take, two, three or four"
542
+ },
452
543
  {
453
544
  "name": "BfTabBarController",
454
545
  "slug": "bf-tab-bar-controller",
@@ -491,6 +582,13 @@
491
582
  "entryPoint": "@bitforgehq/ui",
492
583
  "summary": "One table column with its row key, header label, sorting and alignment"
493
584
  },
585
+ {
586
+ "name": "BfTableColumnAlign",
587
+ "slug": "bf-table-column-align",
588
+ "kind": "type",
589
+ "entryPoint": "@bitforgehq/ui",
590
+ "summary": "The inline alignment of a table column: start, end, or centred for controls"
591
+ },
494
592
  {
495
593
  "name": "BfTableRowKey",
496
594
  "slug": "bf-table-row-key",
@@ -526,6 +624,13 @@
526
624
  "entryPoint": "@bitforgehq/ui",
527
625
  "summary": "The URLs a router-aware parent gives a tab bar to render its tabs as links"
528
626
  },
627
+ {
628
+ "name": "BfTimelineTone",
629
+ "slug": "bf-timeline-tone",
630
+ "kind": "type",
631
+ "entryPoint": "@bitforgehq/ui",
632
+ "summary": "The marker colour of a timeline event, neutral, primary or a status"
633
+ },
529
634
  {
530
635
  "name": "BfToggleLabelPosition",
531
636
  "slug": "bf-toggle-label-position",
@@ -743,6 +848,48 @@
743
848
  "entryPoint": "@bitforgehq/ui/overlay",
744
849
  "summary": "The context a template opened as a dialog receives: its ref and its data"
745
850
  },
851
+ {
852
+ "name": "BfImageViewerActionsContext",
853
+ "slug": "bf-image-viewer-actions-context",
854
+ "kind": "interface",
855
+ "entryPoint": "@bitforgehq/ui/overlay",
856
+ "summary": "What the viewer's actions template receives: the shown image, its index and the ref"
857
+ },
858
+ {
859
+ "name": "BfImageViewerImage",
860
+ "slug": "bf-image-viewer-image",
861
+ "kind": "interface",
862
+ "entryPoint": "@bitforgehq/ui/overlay",
863
+ "summary": "One image the viewer shows: its URL, its name as alternative text and a caption"
864
+ },
865
+ {
866
+ "name": "BfImageViewerOptions",
867
+ "slug": "bf-image-viewer-options",
868
+ "kind": "interface",
869
+ "entryPoint": "@bitforgehq/ui/overlay",
870
+ "summary": "Options of an image viewer: its images, the first one, its thumbnail and actions"
871
+ },
872
+ {
873
+ "name": "BfImageViewerOrigin",
874
+ "slug": "bf-image-viewer-origin",
875
+ "kind": "type",
876
+ "entryPoint": "@bitforgehq/ui/overlay",
877
+ "summary": "The thumbnail an image viewer zooms from and back into, or a lookup per image"
878
+ },
879
+ {
880
+ "name": "BfImageViewerRef",
881
+ "slug": "bf-image-viewer-ref",
882
+ "kind": "class",
883
+ "entryPoint": "@bitforgehq/ui/overlay",
884
+ "summary": "Handle on an open image viewer that steps through its images and closes it"
885
+ },
886
+ {
887
+ "name": "BfImageViewerService",
888
+ "slug": "bf-image-viewer-service",
889
+ "kind": "service",
890
+ "entryPoint": "@bitforgehq/ui/overlay",
891
+ "summary": "Opens a full-screen image viewer that zooms from a thumbnail and steps through a set"
892
+ },
746
893
  {
747
894
  "name": "BfMenuButtonVariant",
748
895
  "slug": "bf-menu-button-variant",
@@ -1058,6 +1205,13 @@
1058
1205
  "entryPoint": "@bitforgehq/ui/overlay",
1059
1206
  "summary": "Sets where desktop toasts appear and how many show at once, app-wide"
1060
1207
  },
1208
+ {
1209
+ "name": "provideBfSelect",
1210
+ "slug": "provide-bf-select",
1211
+ "kind": "function",
1212
+ "entryPoint": "@bitforgehq/ui/overlay",
1213
+ "summary": "Makes a stacked table's Sort by select the styled bf-select, app-wide"
1214
+ },
1061
1215
  {
1062
1216
  "name": "scaleIn",
1063
1217
  "slug": "scale-in",
@@ -1765,6 +1919,13 @@
1765
1919
  "entryPoint": "@bitforgehq/ui/testing",
1766
1920
  "summary": "Test harness for the charts: reads the series, toggles one and reads the data table"
1767
1921
  },
1922
+ {
1923
+ "name": "BfChatComposerHarness",
1924
+ "slug": "bf-chat-composer-harness",
1925
+ "kind": "class",
1926
+ "entryPoint": "@bitforgehq/ui/testing",
1927
+ "summary": "Test harness for the chat composer: types, sends, stops and reads its state"
1928
+ },
1768
1929
  {
1769
1930
  "name": "BfComboboxHarness",
1770
1931
  "slug": "bf-combobox-harness",
@@ -1800,6 +1961,13 @@
1800
1961
  "entryPoint": "@bitforgehq/ui/testing",
1801
1962
  "summary": "Test harness for a dialog: its title, text and role, its buttons and Escape"
1802
1963
  },
1964
+ {
1965
+ "name": "BfFileInputHarness",
1966
+ "slug": "bf-file-input-harness",
1967
+ "kind": "class",
1968
+ "entryPoint": "@bitforgehq/ui/testing",
1969
+ "summary": "Test harness for the file input: drops files and reads the list and rejections"
1970
+ },
1803
1971
  {
1804
1972
  "name": "BfHarnessFilters",
1805
1973
  "slug": "bf-harness-filters",
@@ -1807,6 +1975,20 @@
1807
1975
  "entryPoint": "@bitforgehq/ui/testing",
1808
1976
  "summary": "Filters a library harness query by selector, ancestor and the widget label"
1809
1977
  },
1978
+ {
1979
+ "name": "BfImageInputHarness",
1980
+ "slug": "bf-image-input-harness",
1981
+ "kind": "class",
1982
+ "entryPoint": "@bitforgehq/ui/testing",
1983
+ "summary": "Test harness for the image input: drops an image on it and reads the preview"
1984
+ },
1985
+ {
1986
+ "name": "BfImageViewerHarness",
1987
+ "slug": "bf-image-viewer-harness",
1988
+ "kind": "class",
1989
+ "entryPoint": "@bitforgehq/ui/testing",
1990
+ "summary": "Test harness for an image viewer: its image, index, caption, steps and close"
1991
+ },
1810
1992
  {
1811
1993
  "name": "BfJsdomShimOptions",
1812
1994
  "slug": "bf-jsdom-shim-options",
@@ -1814,6 +1996,13 @@
1814
1996
  "entryPoint": "@bitforgehq/ui/testing",
1815
1997
  "summary": "Options of the jsdom shims: the matchMedia stub and its reduced-motion answer"
1816
1998
  },
1999
+ {
2000
+ "name": "BfMediaCardHarness",
2001
+ "slug": "bf-media-card-harness",
2002
+ "kind": "class",
2003
+ "entryPoint": "@bitforgehq/ui/testing",
2004
+ "summary": "Test harness for a media card: its image state, its messages and its selection"
2005
+ },
1817
2006
  {
1818
2007
  "name": "BfMenuButtonHarness",
1819
2008
  "slug": "bf-menu-button-harness",
@@ -1912,6 +2101,13 @@
1912
2101
  "entryPoint": "@bitforgehq/ui/testing",
1913
2102
  "summary": "Test harness for the time input: types a time or picks one from its list"
1914
2103
  },
2104
+ {
2105
+ "name": "BfToggleHarness",
2106
+ "slug": "bf-toggle-harness",
2107
+ "kind": "class",
2108
+ "entryPoint": "@bitforgehq/ui/testing",
2109
+ "summary": "Test harness for the toggle: reads its name and state and switches it"
2110
+ },
1915
2111
  {
1916
2112
  "name": "BfTooltipHarness",
1917
2113
  "slug": "bf-tooltip-harness",