@bitforgehq/ui 0.4.0 → 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.
- package/CHANGELOG.md +303 -0
- package/README.md +12 -12
- package/ai/MANIFEST.index.json +65 -2
- package/ai/MANIFEST.json +2221 -737
- package/ai/REFERENCE.index.json +161 -0
- package/ai/REFERENCE.json +1336 -27
- package/ai/UI_GUIDE.md +61 -20
- package/ai/components/app-frame.md +1 -1
- package/ai/components/chat-composer.md +357 -0
- package/ai/components/chat-message.md +251 -0
- package/ai/components/chat-thread.md +521 -0
- package/ai/components/checkbox.md +7 -0
- package/ai/components/combobox.md +12 -0
- package/ai/components/date-input.md +9 -0
- package/ai/components/datetime-input.md +2 -0
- package/ai/components/field.md +10 -0
- package/ai/components/file-input.md +498 -0
- package/ai/components/header.md +1 -1
- package/ai/components/image-input.md +368 -0
- package/ai/components/image-viewer.md +309 -0
- package/ai/components/media-card.md +478 -0
- package/ai/components/menu-button.md +2 -0
- package/ai/components/menu.md +10 -0
- package/ai/components/multi-combobox.md +7 -0
- package/ai/components/nav-group.md +10 -3
- package/ai/components/nav-item.md +11 -2
- package/ai/components/number-input.md +2 -7
- package/ai/components/popover.md +13 -0
- package/ai/components/radio-group.md +6 -0
- package/ai/components/segmented.md +14 -2
- package/ai/components/select.md +100 -42
- package/ai/components/sidebar-toggle.md +16 -9
- package/ai/components/sidebar.md +41 -13
- package/ai/components/tab-group.md +18 -2
- package/ai/components/table.md +17 -2
- package/ai/components/theme-menu-button.md +1 -0
- package/ai/components/time-input.md +2 -0
- package/ai/components/toolbar.md +7 -18
- package/ai/reference/bf-chat-composer-harness.md +64 -0
- package/ai/reference/bf-chat-message-role.md +27 -0
- package/ai/reference/bf-chat-message-status.md +28 -0
- package/ai/reference/bf-fade-in-directive.md +18 -0
- package/ai/reference/bf-file-input-harness.md +67 -0
- package/ai/reference/bf-file-input-variant.md +27 -0
- package/ai/reference/bf-image-input-harness.md +67 -0
- package/ai/reference/bf-image-input-shape.md +27 -0
- package/ai/reference/bf-image-viewer-actions-context.md +29 -0
- package/ai/reference/bf-image-viewer-harness.md +87 -0
- package/ai/reference/bf-image-viewer-image.md +25 -0
- package/ai/reference/bf-image-viewer-options.md +33 -0
- package/ai/reference/bf-image-viewer-origin.md +23 -0
- package/ai/reference/bf-image-viewer-ref.md +55 -0
- package/ai/reference/bf-image-viewer-service.md +32 -0
- package/ai/reference/bf-labels.md +105 -75
- package/ai/reference/bf-media-card-aspect.md +28 -0
- package/ai/reference/bf-media-card-harness.md +66 -0
- package/ai/reference/bf-motion-list-directive.md +22 -0
- package/ai/reference/bf-prose-directive.md +16 -0
- package/ai/reference/bf-rejected-file-reason.md +28 -0
- package/ai/reference/bf-rejected-file.md +28 -0
- package/ai/reference/bf-select-harness.md +14 -5
- package/ai/reference/bf-select-option.md +2 -0
- package/ai/reference/bf-size.md +3 -0
- package/ai/reference/bf_table_sort_select.md +23 -0
- package/ai/reference/provide-bf-labels.md +10 -3
- package/ai/reference/provide-bf-select.md +20 -0
- package/bin/bf-ui.js +1 -0
- package/fesm2022/bitforgehq-ui-overlay.mjs +2649 -606
- package/fesm2022/bitforgehq-ui-overlay.mjs.map +1 -1
- package/fesm2022/bitforgehq-ui-testing.mjs +356 -10
- package/fesm2022/bitforgehq-ui-testing.mjs.map +1 -1
- package/fesm2022/bitforgehq-ui.mjs +7531 -3989
- package/fesm2022/bitforgehq-ui.mjs.map +1 -1
- package/llms-full.txt +4151 -130
- package/llms.txt +31 -1
- package/package.json +1 -1
- package/theme.css +60 -0
- package/types/bitforgehq-ui-overlay.d.ts +684 -7
- package/types/bitforgehq-ui-testing.d.ts +434 -6
- package/types/bitforgehq-ui.d.ts +1473 -182
package/ai/REFERENCE.json
CHANGED
|
@@ -145,6 +145,22 @@
|
|
|
145
145
|
"since": "0.3.0",
|
|
146
146
|
"signature": "const BF_TAB_LINKS: InjectionToken<BfTabLinks>"
|
|
147
147
|
},
|
|
148
|
+
{
|
|
149
|
+
"name": "BF_TABLE_SORT_SELECT",
|
|
150
|
+
"slug": "bf_table_sort_select",
|
|
151
|
+
"kind": "token",
|
|
152
|
+
"entryPoint": "@bitforgehq/ui",
|
|
153
|
+
"file": "src/components/table/table-sort-select.token.ts",
|
|
154
|
+
"summary": "The component a stacked table renders as its Sort by select",
|
|
155
|
+
"description": "The component a stacked `bf-table` renders as its Sort by select; `null` (the default) keeps the\nbuilt-in native `<select>`. `provideBfSelect()` from `@bitforgehq/ui/overlay` sets it to the\nstyled `bf-select`, so the core entry never imports the overlay entry. A component given here\nmust take the inputs `label` (string), `options` (`BfSelectOption<string>[]`) and `value`\n(string) and emit the picked value from the output `changed`. The table adds its layout classes\nto the component's host with `classList`, so the component must not overwrite its host\n`className` or `class` attribute directly.",
|
|
156
|
+
"members": [],
|
|
157
|
+
"methods": [],
|
|
158
|
+
"slots": [],
|
|
159
|
+
"references": [],
|
|
160
|
+
"usedBy": [],
|
|
161
|
+
"since": "0.5.0",
|
|
162
|
+
"signature": "const BF_TABLE_SORT_SELECT: InjectionToken<Type<unknown> | null>"
|
|
163
|
+
},
|
|
148
164
|
{
|
|
149
165
|
"name": "BfActionDirective",
|
|
150
166
|
"slug": "bf-action-directive",
|
|
@@ -454,6 +470,40 @@
|
|
|
454
470
|
"signature": "type BfCardVariant = 'raised' | 'tint' | 'ink' | 'flat'",
|
|
455
471
|
"values": ["raised", "tint", "ink", "flat"]
|
|
456
472
|
},
|
|
473
|
+
{
|
|
474
|
+
"name": "BfChatMessageRole",
|
|
475
|
+
"slug": "bf-chat-message-role",
|
|
476
|
+
"kind": "type",
|
|
477
|
+
"entryPoint": "@bitforgehq/ui",
|
|
478
|
+
"file": "src/components/chat-thread/chat-message.component.ts",
|
|
479
|
+
"summary": "Who wrote a chat message, the user or the assistant",
|
|
480
|
+
"description": "Who wrote a `bf-chat-message`: `user` (a tinted bubble at the inline end) or `assistant` (full\nwidth, no bubble).",
|
|
481
|
+
"members": [],
|
|
482
|
+
"methods": [],
|
|
483
|
+
"slots": [],
|
|
484
|
+
"references": [],
|
|
485
|
+
"usedBy": ["bf-chat-message-component"],
|
|
486
|
+
"since": "0.5.0",
|
|
487
|
+
"signature": "type BfChatMessageRole = 'user' | 'assistant'",
|
|
488
|
+
"values": ["user", "assistant"]
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"name": "BfChatMessageStatus",
|
|
492
|
+
"slug": "bf-chat-message-status",
|
|
493
|
+
"kind": "type",
|
|
494
|
+
"entryPoint": "@bitforgehq/ui",
|
|
495
|
+
"file": "src/components/chat-thread/chat-message.component.ts",
|
|
496
|
+
"summary": "How a chat message ended: done, stopped by the user, or failed",
|
|
497
|
+
"description": "How a `bf-chat-message` ended: `done` (the default, no status line), `stopped` (the user\nstopped the reply) or `failed` (it did not arrive or was not sent).",
|
|
498
|
+
"members": [],
|
|
499
|
+
"methods": [],
|
|
500
|
+
"slots": [],
|
|
501
|
+
"references": [],
|
|
502
|
+
"usedBy": ["bf-chat-message-component"],
|
|
503
|
+
"since": "0.5.0",
|
|
504
|
+
"signature": "type BfChatMessageStatus = 'done' | 'stopped' | 'failed'",
|
|
505
|
+
"values": ["done", "stopped", "failed"]
|
|
506
|
+
},
|
|
457
507
|
{
|
|
458
508
|
"name": "BfChipGroupMode",
|
|
459
509
|
"slug": "bf-chip-group-mode",
|
|
@@ -704,6 +754,22 @@
|
|
|
704
754
|
"signature": "type BfEnterKeyHint = 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'",
|
|
705
755
|
"values": ["enter", "done", "go", "next", "previous", "search", "send"]
|
|
706
756
|
},
|
|
757
|
+
{
|
|
758
|
+
"name": "BfFadeInDirective",
|
|
759
|
+
"slug": "bf-fade-in-directive",
|
|
760
|
+
"kind": "directive",
|
|
761
|
+
"entryPoint": "@bitforgehq/ui",
|
|
762
|
+
"file": "src/components/fade-in/fade-in.directive.ts",
|
|
763
|
+
"summary": "Fades an image in once it has loaded instead of popping in",
|
|
764
|
+
"description": "Fades an image in when it has loaded instead of letting it pop in line by line: put\n`bfFadeIn` on the `<img>`. The image stays transparent until its `load` (or `error`) event,\nthen fades in over 260 ms (`duration-slow`), at once under `prefers-reduced-motion: reduce`. An\nimage that is already loaded when it renders (from the cache) shows straight away. Reserve its\nspace (`width`/`height` attributes or an aspect ratio) so the layout does not move when it\narrives; for a placeholder while it loads, put a `bf-skeleton` behind it.",
|
|
765
|
+
"members": [],
|
|
766
|
+
"methods": [],
|
|
767
|
+
"slots": [],
|
|
768
|
+
"references": [],
|
|
769
|
+
"usedBy": [],
|
|
770
|
+
"since": "0.5.0",
|
|
771
|
+
"selector": "img[bfFadeIn]"
|
|
772
|
+
},
|
|
707
773
|
{
|
|
708
774
|
"name": "bfFieldControlClass",
|
|
709
775
|
"slug": "bf-field-control-class",
|
|
@@ -798,6 +864,23 @@
|
|
|
798
864
|
"signature": "type BfFieldSize = BfSize",
|
|
799
865
|
"values": ["sm", "md", "lg"]
|
|
800
866
|
},
|
|
867
|
+
{
|
|
868
|
+
"name": "BfFileInputVariant",
|
|
869
|
+
"slug": "bf-file-input-variant",
|
|
870
|
+
"kind": "type",
|
|
871
|
+
"entryPoint": "@bitforgehq/ui",
|
|
872
|
+
"file": "src/components/file-input/file-input.component.ts",
|
|
873
|
+
"summary": "The two looks of a file picker, a compact field or a drop zone",
|
|
874
|
+
"description": "The look of a `bf-file-input`: a compact field with a pick button (`field`), or a drop zone\n(`dropzone`). Both have the same API and behaviour.",
|
|
875
|
+
"members": [],
|
|
876
|
+
"methods": [],
|
|
877
|
+
"slots": [],
|
|
878
|
+
"references": [],
|
|
879
|
+
"usedBy": ["bf-file-input-component"],
|
|
880
|
+
"since": "0.5.0",
|
|
881
|
+
"signature": "type BfFileInputVariant = 'field' | 'dropzone'",
|
|
882
|
+
"values": ["field", "dropzone"]
|
|
883
|
+
},
|
|
801
884
|
{
|
|
802
885
|
"name": "BfIconButtonVariant",
|
|
803
886
|
"slug": "bf-icon-button-variant",
|
|
@@ -815,6 +898,23 @@
|
|
|
815
898
|
"signature": "type BfIconButtonVariant = 'tonal' | 'primary' | 'outline' | 'text'",
|
|
816
899
|
"values": ["tonal", "primary", "outline", "text"]
|
|
817
900
|
},
|
|
901
|
+
{
|
|
902
|
+
"name": "BfImageInputShape",
|
|
903
|
+
"slug": "bf-image-input-shape",
|
|
904
|
+
"kind": "type",
|
|
905
|
+
"entryPoint": "@bitforgehq/ui",
|
|
906
|
+
"file": "src/components/image-input/image-input.component.ts",
|
|
907
|
+
"summary": "The two tile shapes of an image picker, a circle or a rounded square",
|
|
908
|
+
"description": "The shape of a `bf-image-input` tile: a circle (`round`, for avatars) or a rounded square\n(`square`, for logos and covers).",
|
|
909
|
+
"members": [],
|
|
910
|
+
"methods": [],
|
|
911
|
+
"slots": [],
|
|
912
|
+
"references": [],
|
|
913
|
+
"usedBy": ["bf-image-input-component"],
|
|
914
|
+
"since": "0.5.0",
|
|
915
|
+
"signature": "type BfImageInputShape = 'round' | 'square'",
|
|
916
|
+
"values": ["round", "square"]
|
|
917
|
+
},
|
|
818
918
|
{
|
|
819
919
|
"name": "BfInputAutocapitalize",
|
|
820
920
|
"slug": "bf-input-autocapitalize",
|
|
@@ -1569,6 +1669,276 @@
|
|
|
1569
1669
|
"readonly": true,
|
|
1570
1670
|
"default": "'Unread'"
|
|
1571
1671
|
},
|
|
1672
|
+
{
|
|
1673
|
+
"name": "fileInputChoose",
|
|
1674
|
+
"kind": "property",
|
|
1675
|
+
"type": "(multiple: boolean) => string",
|
|
1676
|
+
"required": true,
|
|
1677
|
+
"doc": "bf-file-input's button text.",
|
|
1678
|
+
"readonly": true,
|
|
1679
|
+
"default": "(multiple) => (multiple ? 'Choose files' : 'Choose file')"
|
|
1680
|
+
},
|
|
1681
|
+
{
|
|
1682
|
+
"name": "fileInputDropHint",
|
|
1683
|
+
"kind": "property",
|
|
1684
|
+
"type": "(multiple: boolean) => string",
|
|
1685
|
+
"required": true,
|
|
1686
|
+
"doc": "bf-file-input's hint beside the button.",
|
|
1687
|
+
"readonly": true,
|
|
1688
|
+
"default": "(multiple) => (multiple ? 'or drop them here' : 'or drop it here')"
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
"name": "fileInputDropzone",
|
|
1692
|
+
"kind": "property",
|
|
1693
|
+
"type": "(multiple: boolean) => string",
|
|
1694
|
+
"required": true,
|
|
1695
|
+
"doc": "bf-file-input's drop zone text.",
|
|
1696
|
+
"readonly": true,
|
|
1697
|
+
"default": "(multiple) => (multiple ? 'Drag files here or browse' : 'Drag a file here or browse')"
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
"name": "fileInputTapToChoose",
|
|
1701
|
+
"kind": "property",
|
|
1702
|
+
"type": "(multiple: boolean) => string",
|
|
1703
|
+
"required": true,
|
|
1704
|
+
"doc": "bf-file-input's text under touch input.",
|
|
1705
|
+
"readonly": true,
|
|
1706
|
+
"default": "(multiple) => (multiple ? 'Tap to choose files' : 'Tap to choose a file')"
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
"name": "fileInputRemove",
|
|
1710
|
+
"kind": "property",
|
|
1711
|
+
"type": "(name: string) => string",
|
|
1712
|
+
"required": true,
|
|
1713
|
+
"doc": "The accessible name of bf-file-input's remove button for a file.",
|
|
1714
|
+
"readonly": true,
|
|
1715
|
+
"default": "(name) => `Remove ${name}`"
|
|
1716
|
+
},
|
|
1717
|
+
{
|
|
1718
|
+
"name": "fileInputDismiss",
|
|
1719
|
+
"kind": "property",
|
|
1720
|
+
"type": "(name: string) => string",
|
|
1721
|
+
"required": true,
|
|
1722
|
+
"doc": "The accessible name of bf-file-input's button that dismisses a rejected file.",
|
|
1723
|
+
"readonly": true,
|
|
1724
|
+
"default": "(name) => `Dismiss ${name}`"
|
|
1725
|
+
},
|
|
1726
|
+
{
|
|
1727
|
+
"name": "fileInputAdded",
|
|
1728
|
+
"kind": "property",
|
|
1729
|
+
"type": "(count: number) => string",
|
|
1730
|
+
"required": true,
|
|
1731
|
+
"doc": "bf-file-input's live announcement after files are added.",
|
|
1732
|
+
"readonly": true,
|
|
1733
|
+
"default": "(count) => (count === 1 ? '1 file added' : `${count} files added`)"
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
"name": "fileInputNotAdded",
|
|
1737
|
+
"kind": "property",
|
|
1738
|
+
"type": "(name: string, reason: string) => string",
|
|
1739
|
+
"required": true,
|
|
1740
|
+
"doc": "bf-file-input's live announcement for a rejected file.",
|
|
1741
|
+
"readonly": true,
|
|
1742
|
+
"default": "(name, reason) => `${name} was not added: ${reason}`"
|
|
1743
|
+
},
|
|
1744
|
+
{
|
|
1745
|
+
"name": "fileInputRemoved",
|
|
1746
|
+
"kind": "property",
|
|
1747
|
+
"type": "(name: string) => string",
|
|
1748
|
+
"required": true,
|
|
1749
|
+
"doc": "bf-file-input's live announcement after a file is removed.",
|
|
1750
|
+
"readonly": true,
|
|
1751
|
+
"default": "(name) => `${name} removed`"
|
|
1752
|
+
},
|
|
1753
|
+
{
|
|
1754
|
+
"name": "fileInputCount",
|
|
1755
|
+
"kind": "property",
|
|
1756
|
+
"type": "(count: number) => string",
|
|
1757
|
+
"required": true,
|
|
1758
|
+
"doc": "bf-file-input's read-only box text for the number of chosen files.",
|
|
1759
|
+
"readonly": true,
|
|
1760
|
+
"default": "(count) => (count === 1 ? '1 file' : `${count} files`)"
|
|
1761
|
+
},
|
|
1762
|
+
{
|
|
1763
|
+
"name": "fileRejectedType",
|
|
1764
|
+
"kind": "property",
|
|
1765
|
+
"type": "string",
|
|
1766
|
+
"required": true,
|
|
1767
|
+
"doc": "The message of a file rejected for its type.",
|
|
1768
|
+
"readonly": true,
|
|
1769
|
+
"default": "'Not an accepted type'"
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
"name": "fileRejectedSize",
|
|
1773
|
+
"kind": "property",
|
|
1774
|
+
"type": "(max: string) => string",
|
|
1775
|
+
"required": true,
|
|
1776
|
+
"doc": "The message of a file rejected for its size; `max` is the formatted limit.",
|
|
1777
|
+
"readonly": true,
|
|
1778
|
+
"default": "(max) => `Too large, max ${max}`"
|
|
1779
|
+
},
|
|
1780
|
+
{
|
|
1781
|
+
"name": "fileRejectedCount",
|
|
1782
|
+
"kind": "property",
|
|
1783
|
+
"type": "(max: number) => string",
|
|
1784
|
+
"required": true,
|
|
1785
|
+
"doc": "The message of a file rejected because the file limit is reached.",
|
|
1786
|
+
"readonly": true,
|
|
1787
|
+
"default": "(max) => `Too many files, max ${max}`"
|
|
1788
|
+
},
|
|
1789
|
+
{
|
|
1790
|
+
"name": "imageInputChoose",
|
|
1791
|
+
"kind": "property",
|
|
1792
|
+
"type": "string",
|
|
1793
|
+
"required": true,
|
|
1794
|
+
"doc": "bf-image-input's accessible name for the empty drop target.",
|
|
1795
|
+
"readonly": true,
|
|
1796
|
+
"default": "'Choose image'"
|
|
1797
|
+
},
|
|
1798
|
+
{
|
|
1799
|
+
"name": "imageInputUpload",
|
|
1800
|
+
"kind": "property",
|
|
1801
|
+
"type": "string",
|
|
1802
|
+
"required": true,
|
|
1803
|
+
"doc": "bf-image-input's text for choosing the first image.",
|
|
1804
|
+
"readonly": true,
|
|
1805
|
+
"default": "'Upload'"
|
|
1806
|
+
},
|
|
1807
|
+
{
|
|
1808
|
+
"name": "imageInputReplace",
|
|
1809
|
+
"kind": "property",
|
|
1810
|
+
"type": "string",
|
|
1811
|
+
"required": true,
|
|
1812
|
+
"doc": "bf-image-input's text for replacing the image.",
|
|
1813
|
+
"readonly": true,
|
|
1814
|
+
"default": "'Replace'"
|
|
1815
|
+
},
|
|
1816
|
+
{
|
|
1817
|
+
"name": "imageInputRemove",
|
|
1818
|
+
"kind": "property",
|
|
1819
|
+
"type": "string",
|
|
1820
|
+
"required": true,
|
|
1821
|
+
"doc": "bf-image-input's text for removing the image.",
|
|
1822
|
+
"readonly": true,
|
|
1823
|
+
"default": "'Remove'"
|
|
1824
|
+
},
|
|
1825
|
+
{
|
|
1826
|
+
"name": "chatThread",
|
|
1827
|
+
"kind": "property",
|
|
1828
|
+
"type": "string",
|
|
1829
|
+
"required": true,
|
|
1830
|
+
"doc": "bf-chat-thread's accessible name (its `role=\"log\"`) when no `label` is set.",
|
|
1831
|
+
"readonly": true,
|
|
1832
|
+
"default": "'Conversation'"
|
|
1833
|
+
},
|
|
1834
|
+
{
|
|
1835
|
+
"name": "chatJumpToLatest",
|
|
1836
|
+
"kind": "property",
|
|
1837
|
+
"type": "string",
|
|
1838
|
+
"required": true,
|
|
1839
|
+
"doc": "bf-chat-thread's button that scrolls back to the newest message and follows it again.",
|
|
1840
|
+
"readonly": true,
|
|
1841
|
+
"default": "'Jump to latest'"
|
|
1842
|
+
},
|
|
1843
|
+
{
|
|
1844
|
+
"name": "chatMessageStopped",
|
|
1845
|
+
"kind": "property",
|
|
1846
|
+
"type": "string",
|
|
1847
|
+
"required": true,
|
|
1848
|
+
"doc": "bf-chat-message's status line for a reply the user stopped.",
|
|
1849
|
+
"readonly": true,
|
|
1850
|
+
"default": "'Stopped'"
|
|
1851
|
+
},
|
|
1852
|
+
{
|
|
1853
|
+
"name": "chatMessageFailed",
|
|
1854
|
+
"kind": "property",
|
|
1855
|
+
"type": "string",
|
|
1856
|
+
"required": true,
|
|
1857
|
+
"doc": "bf-chat-message's status line for a message that failed.",
|
|
1858
|
+
"readonly": true,
|
|
1859
|
+
"default": "'Something went wrong'"
|
|
1860
|
+
},
|
|
1861
|
+
{
|
|
1862
|
+
"name": "chatComposer",
|
|
1863
|
+
"kind": "property",
|
|
1864
|
+
"type": "string",
|
|
1865
|
+
"required": true,
|
|
1866
|
+
"doc": "bf-chat-composer's text field name when no `label` or `ariaLabel` is set.",
|
|
1867
|
+
"readonly": true,
|
|
1868
|
+
"default": "'Message'"
|
|
1869
|
+
},
|
|
1870
|
+
{
|
|
1871
|
+
"name": "chatSend",
|
|
1872
|
+
"kind": "property",
|
|
1873
|
+
"type": "string",
|
|
1874
|
+
"required": true,
|
|
1875
|
+
"doc": "bf-chat-composer's send button.",
|
|
1876
|
+
"readonly": true,
|
|
1877
|
+
"default": "'Send'"
|
|
1878
|
+
},
|
|
1879
|
+
{
|
|
1880
|
+
"name": "chatStop",
|
|
1881
|
+
"kind": "property",
|
|
1882
|
+
"type": "string",
|
|
1883
|
+
"required": true,
|
|
1884
|
+
"doc": "bf-chat-composer's stop button, shown in place of send while a reply runs.",
|
|
1885
|
+
"readonly": true,
|
|
1886
|
+
"default": "'Stop'"
|
|
1887
|
+
},
|
|
1888
|
+
{
|
|
1889
|
+
"name": "mediaCardSelect",
|
|
1890
|
+
"kind": "property",
|
|
1891
|
+
"type": "string",
|
|
1892
|
+
"required": true,
|
|
1893
|
+
"doc": "bf-media-card's select button, read before the card's name (\"Select Starfall\").",
|
|
1894
|
+
"readonly": true,
|
|
1895
|
+
"default": "'Select'"
|
|
1896
|
+
},
|
|
1897
|
+
{
|
|
1898
|
+
"name": "imageLoadFailed",
|
|
1899
|
+
"kind": "property",
|
|
1900
|
+
"type": "string",
|
|
1901
|
+
"required": true,
|
|
1902
|
+
"doc": "bf-media-card's and bf-image-viewer's message for an image that failed to load.",
|
|
1903
|
+
"readonly": true,
|
|
1904
|
+
"default": "'The image could not be loaded'"
|
|
1905
|
+
},
|
|
1906
|
+
{
|
|
1907
|
+
"name": "imageViewer",
|
|
1908
|
+
"kind": "property",
|
|
1909
|
+
"type": "string",
|
|
1910
|
+
"required": true,
|
|
1911
|
+
"doc": "bf-image-viewer's name.",
|
|
1912
|
+
"readonly": true,
|
|
1913
|
+
"default": "'Image viewer'"
|
|
1914
|
+
},
|
|
1915
|
+
{
|
|
1916
|
+
"name": "imageViewerPrevious",
|
|
1917
|
+
"kind": "property",
|
|
1918
|
+
"type": "string",
|
|
1919
|
+
"required": true,
|
|
1920
|
+
"doc": "bf-image-viewer's button that shows the previous image.",
|
|
1921
|
+
"readonly": true,
|
|
1922
|
+
"default": "'Previous image'"
|
|
1923
|
+
},
|
|
1924
|
+
{
|
|
1925
|
+
"name": "imageViewerNext",
|
|
1926
|
+
"kind": "property",
|
|
1927
|
+
"type": "string",
|
|
1928
|
+
"required": true,
|
|
1929
|
+
"doc": "bf-image-viewer's button that shows the next image.",
|
|
1930
|
+
"readonly": true,
|
|
1931
|
+
"default": "'Next image'"
|
|
1932
|
+
},
|
|
1933
|
+
{
|
|
1934
|
+
"name": "imageViewerPosition",
|
|
1935
|
+
"kind": "property",
|
|
1936
|
+
"type": "(position: number, count: number) => string",
|
|
1937
|
+
"required": true,
|
|
1938
|
+
"doc": "bf-image-viewer's counter: the shown image's position (1-based) among the images.",
|
|
1939
|
+
"readonly": true,
|
|
1940
|
+
"default": "(position, count) => `${position} of ${count}`"
|
|
1941
|
+
},
|
|
1572
1942
|
{
|
|
1573
1943
|
"name": "validation",
|
|
1574
1944
|
"kind": "property",
|
|
@@ -1600,6 +1970,39 @@
|
|
|
1600
1970
|
"since": "0.3.0",
|
|
1601
1971
|
"signature": "type BfLabelsOverrides = Partial<Omit<BfLabels, 'validation'>> & { readonly validation?: Partial<BfValidationMessages>; }"
|
|
1602
1972
|
},
|
|
1973
|
+
{
|
|
1974
|
+
"name": "BfMediaCardAspect",
|
|
1975
|
+
"slug": "bf-media-card-aspect",
|
|
1976
|
+
"kind": "type",
|
|
1977
|
+
"entryPoint": "@bitforgehq/ui",
|
|
1978
|
+
"file": "src/components/media-card/media-card.component.ts",
|
|
1979
|
+
"summary": "The four aspect ratios of a media card's image area, wide to portrait",
|
|
1980
|
+
"description": "The aspect ratio of a `bf-media-card`'s image area: 16:9 (default), 4:3, square or 3:4.",
|
|
1981
|
+
"members": [],
|
|
1982
|
+
"methods": [],
|
|
1983
|
+
"slots": [],
|
|
1984
|
+
"references": [],
|
|
1985
|
+
"usedBy": ["bf-media-card-component"],
|
|
1986
|
+
"since": "0.5.0",
|
|
1987
|
+
"signature": "type BfMediaCardAspect = '16/9' | '4/3' | '1/1' | '3/4'",
|
|
1988
|
+
"values": ["16/9", "4/3", "1/1", "3/4"]
|
|
1989
|
+
},
|
|
1990
|
+
{
|
|
1991
|
+
"name": "BfMotionListDirective",
|
|
1992
|
+
"slug": "bf-motion-list-directive",
|
|
1993
|
+
"kind": "directive",
|
|
1994
|
+
"entryPoint": "@bitforgehq/ui",
|
|
1995
|
+
"file": "src/components/motion-list/motion-list.directive.ts",
|
|
1996
|
+
"summary": "Glides the items of a list or grid to their new place when it changes",
|
|
1997
|
+
"description": "Glides the items of an app's list or grid to their new place when items are added, removed or\nreordered, instead of letting them jump (the FLIP technique). Put `bfMotionList` on the element\nwhose direct children are the items, usually the one around an `@for`. Each item remembers\nwhere it was; after the DOM changes, every item that moved slides from its old place to its new\none over 200 ms (`--bf-duration-layout`, on the settle curve). Pair it with Angular's\n`animate.enter=\"motion-safe:animate-item-enter\"` and\n`animate.leave=\"motion-safe:animate-item-leave\"` on the items, so new items fade and rise in and\nremoved ones fade out before the rest close the gap. Nothing moves under\n`prefers-reduced-motion: reduce`, and nothing glides when the container is resized. It moves\nitems within one container: an item moved to another list leaves one and enters the other.",
|
|
1998
|
+
"members": [],
|
|
1999
|
+
"methods": [],
|
|
2000
|
+
"slots": [],
|
|
2001
|
+
"references": [],
|
|
2002
|
+
"usedBy": [],
|
|
2003
|
+
"since": "0.5.0",
|
|
2004
|
+
"selector": "[bfMotionList]"
|
|
2005
|
+
},
|
|
1603
2006
|
{
|
|
1604
2007
|
"name": "BfPageHeaderHeadingLevel",
|
|
1605
2008
|
"slug": "bf-page-header-heading-level",
|
|
@@ -1651,6 +2054,22 @@
|
|
|
1651
2054
|
"signature": "type BfProgressTone = 'primary' | 'success' | 'warning' | 'danger'",
|
|
1652
2055
|
"values": ["primary", "success", "warning", "danger"]
|
|
1653
2056
|
},
|
|
2057
|
+
{
|
|
2058
|
+
"name": "BfProseDirective",
|
|
2059
|
+
"slug": "bf-prose-directive",
|
|
2060
|
+
"kind": "directive",
|
|
2061
|
+
"entryPoint": "@bitforgehq/ui",
|
|
2062
|
+
"file": "src/components/chat-thread/prose.directive.ts",
|
|
2063
|
+
"summary": "Styles rendered markdown with the library tokens: headings, lists, code and quotes",
|
|
2064
|
+
"description": "Styles rendered markdown inside its element: headings, paragraphs, lists, links, inline code,\ncode blocks, quotes and rules, through the semantic tokens only (so a theme override restyles\nit). The app renders the markdown to HTML itself (and sanitises it); `bfProse` only styles it.\nA `bf-chat-message` body is a `bfProse` element already.",
|
|
2065
|
+
"members": [],
|
|
2066
|
+
"methods": [],
|
|
2067
|
+
"slots": [],
|
|
2068
|
+
"references": [],
|
|
2069
|
+
"usedBy": [],
|
|
2070
|
+
"since": "0.5.0",
|
|
2071
|
+
"selector": "[bfProse]"
|
|
2072
|
+
},
|
|
1654
2073
|
{
|
|
1655
2074
|
"name": "BfRadioGroupOrientation",
|
|
1656
2075
|
"slug": "bf-radio-group-orientation",
|
|
@@ -1716,15 +2135,73 @@
|
|
|
1716
2135
|
"signature": "interface BfRadioOption<T = string>"
|
|
1717
2136
|
},
|
|
1718
2137
|
{
|
|
1719
|
-
"name": "
|
|
1720
|
-
"slug": "bf-
|
|
1721
|
-
"kind": "
|
|
2138
|
+
"name": "BfRejectedFile",
|
|
2139
|
+
"slug": "bf-rejected-file",
|
|
2140
|
+
"kind": "interface",
|
|
1722
2141
|
"entryPoint": "@bitforgehq/ui",
|
|
1723
|
-
"file": "src/components/
|
|
1724
|
-
"summary": "
|
|
1725
|
-
"description": "
|
|
1726
|
-
"members": [
|
|
1727
|
-
|
|
2142
|
+
"file": "src/components/_shared/file-rules.ts",
|
|
2143
|
+
"summary": "A picked or dropped file that broke a rule, with the rule and its message",
|
|
2144
|
+
"description": "A picked or dropped file that broke a rule, with the rule and its message.",
|
|
2145
|
+
"members": [
|
|
2146
|
+
{
|
|
2147
|
+
"name": "file",
|
|
2148
|
+
"kind": "property",
|
|
2149
|
+
"type": "File",
|
|
2150
|
+
"required": true,
|
|
2151
|
+
"doc": "The file that was not added.",
|
|
2152
|
+
"readonly": true
|
|
2153
|
+
},
|
|
2154
|
+
{
|
|
2155
|
+
"name": "reason",
|
|
2156
|
+
"kind": "property",
|
|
2157
|
+
"type": "BfRejectedFileReason",
|
|
2158
|
+
"required": true,
|
|
2159
|
+
"doc": "The rule it broke: `type` (not accepted), `size` (over `maxSize`) or `count` (over the limit).",
|
|
2160
|
+
"readonly": true,
|
|
2161
|
+
"expandedType": "'type' | 'size' | 'count'"
|
|
2162
|
+
},
|
|
2163
|
+
{
|
|
2164
|
+
"name": "message",
|
|
2165
|
+
"kind": "property",
|
|
2166
|
+
"type": "string",
|
|
2167
|
+
"required": true,
|
|
2168
|
+
"doc": "The user-facing text for the rule, from the labels.",
|
|
2169
|
+
"readonly": true
|
|
2170
|
+
}
|
|
2171
|
+
],
|
|
2172
|
+
"methods": [],
|
|
2173
|
+
"slots": [],
|
|
2174
|
+
"references": ["bf-rejected-file-reason"],
|
|
2175
|
+
"usedBy": ["bf-file-input-component", "bf-image-input-component"],
|
|
2176
|
+
"since": "0.5.0"
|
|
2177
|
+
},
|
|
2178
|
+
{
|
|
2179
|
+
"name": "BfRejectedFileReason",
|
|
2180
|
+
"slug": "bf-rejected-file-reason",
|
|
2181
|
+
"kind": "type",
|
|
2182
|
+
"entryPoint": "@bitforgehq/ui",
|
|
2183
|
+
"file": "src/components/_shared/file-rules.ts",
|
|
2184
|
+
"summary": "The rule a refused file broke, its type, its size or the file count",
|
|
2185
|
+
"description": "The rule a refused file broke: `type` (not accepted), `size` (over `maxSize`) or `count` (over\nthe limit).",
|
|
2186
|
+
"members": [],
|
|
2187
|
+
"methods": [],
|
|
2188
|
+
"slots": [],
|
|
2189
|
+
"references": [],
|
|
2190
|
+
"usedBy": ["bf-rejected-file"],
|
|
2191
|
+
"since": "0.5.0",
|
|
2192
|
+
"signature": "type BfRejectedFileReason = 'type' | 'size' | 'count'",
|
|
2193
|
+
"values": ["type", "size", "count"]
|
|
2194
|
+
},
|
|
2195
|
+
{
|
|
2196
|
+
"name": "BfSegmentedSize",
|
|
2197
|
+
"slug": "bf-segmented-size",
|
|
2198
|
+
"kind": "type",
|
|
2199
|
+
"entryPoint": "@bitforgehq/ui",
|
|
2200
|
+
"file": "src/components/segmented/segmented.component.ts",
|
|
2201
|
+
"summary": "Former name of the shared size scale for segmented controls, kept until 1.0.0",
|
|
2202
|
+
"description": "The height step of a `bf-segmented`; the same scale as every sized widget.",
|
|
2203
|
+
"members": [],
|
|
2204
|
+
"methods": [],
|
|
1728
2205
|
"slots": [],
|
|
1729
2206
|
"references": ["bf-size"],
|
|
1730
2207
|
"usedBy": [],
|
|
@@ -1777,7 +2254,7 @@
|
|
|
1777
2254
|
"slug": "bf-select-option",
|
|
1778
2255
|
"kind": "interface",
|
|
1779
2256
|
"entryPoint": "@bitforgehq/ui",
|
|
1780
|
-
"file": "src/components/
|
|
2257
|
+
"file": "src/components/_shared/select-option.ts",
|
|
1781
2258
|
"summary": "One choice of a select with its value, its label and a disabled flag",
|
|
1782
2259
|
"description": "One choice of `bf-select`; `value` is any type (a string by default).",
|
|
1783
2260
|
"members": [
|
|
@@ -1809,7 +2286,12 @@
|
|
|
1809
2286
|
"references": [],
|
|
1810
2287
|
"usedBy": ["bf-select-component"],
|
|
1811
2288
|
"since": "0.1.0",
|
|
1812
|
-
"signature": "interface BfSelectOption<T = string>"
|
|
2289
|
+
"signature": "interface BfSelectOption<T = string>",
|
|
2290
|
+
"alsoExportedFrom": [
|
|
2291
|
+
{
|
|
2292
|
+
"entryPoint": "@bitforgehq/ui/overlay"
|
|
2293
|
+
}
|
|
2294
|
+
]
|
|
1813
2295
|
},
|
|
1814
2296
|
{
|
|
1815
2297
|
"name": "BfSidebarStateService",
|
|
@@ -1851,6 +2333,7 @@
|
|
|
1851
2333
|
"bf-button-component",
|
|
1852
2334
|
"bf-button-size",
|
|
1853
2335
|
"bf-calendar-component",
|
|
2336
|
+
"bf-chat-composer-component",
|
|
1854
2337
|
"bf-checkbox-component",
|
|
1855
2338
|
"bf-chip-component",
|
|
1856
2339
|
"bf-combobox-component",
|
|
@@ -1860,7 +2343,9 @@
|
|
|
1860
2343
|
"bf-defaults-options",
|
|
1861
2344
|
"bf-field-control-state",
|
|
1862
2345
|
"bf-field-size",
|
|
2346
|
+
"bf-file-input-component",
|
|
1863
2347
|
"bf-icon-button-component",
|
|
2348
|
+
"bf-image-input-component",
|
|
1864
2349
|
"bf-input-component",
|
|
1865
2350
|
"bf-menu-button-component",
|
|
1866
2351
|
"bf-menu-component",
|
|
@@ -2685,7 +3170,7 @@
|
|
|
2685
3170
|
"entryPoint": "@bitforgehq/ui",
|
|
2686
3171
|
"file": "src/config/labels.ts",
|
|
2687
3172
|
"summary": "Replaces built-in strings for an app or a sub-tree, such as a translation",
|
|
2688
|
-
"description": "Replaces built-in strings, merged over the parent's (validation merged key by key); a key left\nout or set to `undefined` keeps the parent's string. In `ApplicationConfig.providers` it covers\nevery string. In a component's `providers` it covers that sub-tree's widgets and form controls\n(`loading`, `dismiss`, `tabBar`, `tabBadge`, `back`, `refreshing`, `tableSelectAll`, `tableSortBy`,\n`tableSortNone`, `tableSortAscending`, `tableSortDescending`, `theme`, `themeSystem`, `themeLight`, `themeDark`,\n`breadcrumb`, `breadcrumbExpand`, `navigation`, `navBadge`, `sidebarCollapse`, `sidebarExpand`,\n`skipToContent`, `pagination`, `previousPage`, `nextPage`, `pageOf`, `goToPage`, `tabGroup`,\n`calendarPreviousMonth`, `calendarNextMonth`, `calendarChooseMonth`, `calendarChooseYear`,\n`statTrendUp`, `statTrendDown`, `statTrendFlat`, `comboboxEmpty`, `comboboxRemove`,\n`dateInputDay`, `dateInputMonth`, `dateInputYear`, `dateInputOpenCalendar`, `dateInputInvalid`,\n`dateInputUnavailable`, `timeInputHour`, `timeInputMinute`, `timeInputSecond`,\n`timeInputDayPeriod`, `timeInputOpenList`, `timeInputInvalid`, `timeInputMin`, `timeInputMax`,\n`chart`, `chartLegend`, `chartValues`, `chartShowData`, `chartHideData`, `chartCategory`,\n`chartValue`, `chartEmpty`, `chartError`, `listItemUnread`, `validation`); the overlay
|
|
3173
|
+
"description": "Replaces built-in strings, merged over the parent's (validation merged key by key); a key left\nout or set to `undefined` keeps the parent's string. In `ApplicationConfig.providers` it covers\nevery string. In a component's `providers` it covers that sub-tree's widgets and form controls\n(`loading`, `dismiss`, `tabBar`, `tabBadge`, `back`, `refreshing`, `tableSelectAll`, `tableSortBy`,\n`tableSortNone`, `tableSortAscending`, `tableSortDescending`, `theme`, `themeSystem`, `themeLight`, `themeDark`,\n`breadcrumb`, `breadcrumbExpand`, `navigation`, `navBadge`, `sidebarCollapse`, `sidebarExpand`,\n`skipToContent`, `pagination`, `previousPage`, `nextPage`, `pageOf`, `goToPage`, `tabGroup`,\n`calendarPreviousMonth`, `calendarNextMonth`, `calendarChooseMonth`, `calendarChooseYear`,\n`statTrendUp`, `statTrendDown`, `statTrendFlat`, `comboboxEmpty`, `comboboxRemove`,\n`dateInputDay`, `dateInputMonth`, `dateInputYear`, `dateInputOpenCalendar`, `dateInputInvalid`,\n`dateInputUnavailable`, `timeInputHour`, `timeInputMinute`, `timeInputSecond`,\n`timeInputDayPeriod`, `timeInputOpenList`, `timeInputInvalid`, `timeInputMin`, `timeInputMax`,\n`chart`, `chartLegend`, `chartValues`, `chartShowData`, `chartHideData`, `chartCategory`,\n`chartValue`, `chartEmpty`, `chartError`, `listItemUnread`,\n`fileInputChoose`, `fileInputDropHint`, `fileInputDropzone`, `fileInputTapToChoose`, `fileInputRemove`,\n`fileInputDismiss`, `fileInputAdded`, `fileInputNotAdded`, `fileInputRemoved`, `fileInputCount`,\n`fileRejectedType`, `fileRejectedSize`, `fileRejectedCount`,\n`imageInputChoose`, `imageInputUpload`, `imageInputReplace`, `imageInputRemove`,\n`chatThread`, `chatJumpToLatest`, `chatMessageStopped`, `chatMessageFailed`, `chatComposer`,\n`chatSend`, `chatStop`, `mediaCardSelect`, `imageLoadFailed`, `validation`); the overlay\nservices (`ok`, `cancel`, `actions`, `sheet`, `modal`, `close`, `expand`, `collapse`,\n`sheetPosition`, `dialog`, `notifications`, `imageViewer`, `imageViewerPrevious`,\n`imageViewerNext`, `imageViewerPosition`) are root singletons and pick it up only when the caller passes its injector:\n`open(…, { injector: inject(Injector) })`.",
|
|
2689
3174
|
"members": [],
|
|
2690
3175
|
"methods": [
|
|
2691
3176
|
{
|
|
@@ -2700,7 +3185,7 @@
|
|
|
2700
3185
|
}
|
|
2701
3186
|
],
|
|
2702
3187
|
"returns": "Provider",
|
|
2703
|
-
"doc": "Replaces built-in strings, merged over the parent's (validation merged key by key); a key left\nout or set to `undefined` keeps the parent's string. In `ApplicationConfig.providers` it covers\nevery string. In a component's `providers` it covers that sub-tree's widgets and form controls\n(`loading`, `dismiss`, `tabBar`, `tabBadge`, `back`, `refreshing`, `tableSelectAll`, `tableSortBy`,\n`tableSortNone`, `tableSortAscending`, `tableSortDescending`, `theme`, `themeSystem`, `themeLight`, `themeDark`,\n`breadcrumb`, `breadcrumbExpand`, `navigation`, `navBadge`, `sidebarCollapse`, `sidebarExpand`,\n`skipToContent`, `pagination`, `previousPage`, `nextPage`, `pageOf`, `goToPage`, `tabGroup`,\n`calendarPreviousMonth`, `calendarNextMonth`, `calendarChooseMonth`, `calendarChooseYear`,\n`statTrendUp`, `statTrendDown`, `statTrendFlat`, `comboboxEmpty`, `comboboxRemove`,\n`dateInputDay`, `dateInputMonth`, `dateInputYear`, `dateInputOpenCalendar`, `dateInputInvalid`,\n`dateInputUnavailable`, `timeInputHour`, `timeInputMinute`, `timeInputSecond`,\n`timeInputDayPeriod`, `timeInputOpenList`, `timeInputInvalid`, `timeInputMin`, `timeInputMax`,\n`chart`, `chartLegend`, `chartValues`, `chartShowData`, `chartHideData`, `chartCategory`,\n`chartValue`, `chartEmpty`, `chartError`, `listItemUnread`, `validation`); the overlay
|
|
3188
|
+
"doc": "Replaces built-in strings, merged over the parent's (validation merged key by key); a key left\nout or set to `undefined` keeps the parent's string. In `ApplicationConfig.providers` it covers\nevery string. In a component's `providers` it covers that sub-tree's widgets and form controls\n(`loading`, `dismiss`, `tabBar`, `tabBadge`, `back`, `refreshing`, `tableSelectAll`, `tableSortBy`,\n`tableSortNone`, `tableSortAscending`, `tableSortDescending`, `theme`, `themeSystem`, `themeLight`, `themeDark`,\n`breadcrumb`, `breadcrumbExpand`, `navigation`, `navBadge`, `sidebarCollapse`, `sidebarExpand`,\n`skipToContent`, `pagination`, `previousPage`, `nextPage`, `pageOf`, `goToPage`, `tabGroup`,\n`calendarPreviousMonth`, `calendarNextMonth`, `calendarChooseMonth`, `calendarChooseYear`,\n`statTrendUp`, `statTrendDown`, `statTrendFlat`, `comboboxEmpty`, `comboboxRemove`,\n`dateInputDay`, `dateInputMonth`, `dateInputYear`, `dateInputOpenCalendar`, `dateInputInvalid`,\n`dateInputUnavailable`, `timeInputHour`, `timeInputMinute`, `timeInputSecond`,\n`timeInputDayPeriod`, `timeInputOpenList`, `timeInputInvalid`, `timeInputMin`, `timeInputMax`,\n`chart`, `chartLegend`, `chartValues`, `chartShowData`, `chartHideData`, `chartCategory`,\n`chartValue`, `chartEmpty`, `chartError`, `listItemUnread`,\n`fileInputChoose`, `fileInputDropHint`, `fileInputDropzone`, `fileInputTapToChoose`, `fileInputRemove`,\n`fileInputDismiss`, `fileInputAdded`, `fileInputNotAdded`, `fileInputRemoved`, `fileInputCount`,\n`fileRejectedType`, `fileRejectedSize`, `fileRejectedCount`,\n`imageInputChoose`, `imageInputUpload`, `imageInputReplace`, `imageInputRemove`,\n`chatThread`, `chatJumpToLatest`, `chatMessageStopped`, `chatMessageFailed`, `chatComposer`,\n`chatSend`, `chatStop`, `mediaCardSelect`, `imageLoadFailed`, `validation`); the overlay\nservices (`ok`, `cancel`, `actions`, `sheet`, `modal`, `close`, `expand`, `collapse`,\n`sheetPosition`, `dialog`, `notifications`, `imageViewer`, `imageViewerPrevious`,\n`imageViewerNext`, `imageViewerPosition`) are root singletons and pick it up only when the caller passes its injector:\n`open(…, { injector: inject(Injector) })`."
|
|
2704
3189
|
}
|
|
2705
3190
|
],
|
|
2706
3191
|
"slots": [],
|
|
@@ -3557,6 +4042,301 @@
|
|
|
3557
4042
|
"since": "0.3.0",
|
|
3558
4043
|
"signature": "interface BfDialogTemplateContext<D = unknown, R = unknown>"
|
|
3559
4044
|
},
|
|
4045
|
+
{
|
|
4046
|
+
"name": "BfImageViewerActionsContext",
|
|
4047
|
+
"slug": "bf-image-viewer-actions-context",
|
|
4048
|
+
"kind": "interface",
|
|
4049
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
4050
|
+
"file": "overlay/image-viewer/image-viewer-ref.ts",
|
|
4051
|
+
"summary": "What the viewer's actions template receives: the shown image, its index and the ref",
|
|
4052
|
+
"description": "Context of the `actions` template of `BfImageViewerService.open()`: `let-image`,\n`let-index=\"index\"` and `let-ref=\"ref\"`.",
|
|
4053
|
+
"members": [
|
|
4054
|
+
{
|
|
4055
|
+
"name": "$implicit",
|
|
4056
|
+
"kind": "property",
|
|
4057
|
+
"type": "BfImageViewerImage",
|
|
4058
|
+
"required": true,
|
|
4059
|
+
"doc": "The image the viewer shows (`let-image`)."
|
|
4060
|
+
},
|
|
4061
|
+
{
|
|
4062
|
+
"name": "index",
|
|
4063
|
+
"kind": "property",
|
|
4064
|
+
"type": "number",
|
|
4065
|
+
"required": true,
|
|
4066
|
+
"doc": "Its 0-based index in the set (`let-index=\"index\"`)."
|
|
4067
|
+
},
|
|
4068
|
+
{
|
|
4069
|
+
"name": "ref",
|
|
4070
|
+
"kind": "property",
|
|
4071
|
+
"type": "BfImageViewerRef",
|
|
4072
|
+
"required": true,
|
|
4073
|
+
"doc": "The viewer's ref (`let-ref=\"ref\"`), to close it or step."
|
|
4074
|
+
}
|
|
4075
|
+
],
|
|
4076
|
+
"methods": [],
|
|
4077
|
+
"slots": [],
|
|
4078
|
+
"references": ["bf-image-viewer-image", "bf-image-viewer-ref"],
|
|
4079
|
+
"usedBy": ["bf-image-viewer-options"],
|
|
4080
|
+
"since": "0.5.0"
|
|
4081
|
+
},
|
|
4082
|
+
{
|
|
4083
|
+
"name": "BfImageViewerImage",
|
|
4084
|
+
"slug": "bf-image-viewer-image",
|
|
4085
|
+
"kind": "interface",
|
|
4086
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
4087
|
+
"file": "overlay/image-viewer/image-viewer-ref.ts",
|
|
4088
|
+
"summary": "One image the viewer shows: its URL, its name as alternative text and a caption",
|
|
4089
|
+
"description": "One image of a `BfImageViewerService.open()` set.",
|
|
4090
|
+
"members": [
|
|
4091
|
+
{
|
|
4092
|
+
"name": "src",
|
|
4093
|
+
"kind": "property",
|
|
4094
|
+
"type": "string",
|
|
4095
|
+
"required": true,
|
|
4096
|
+
"doc": "URL of the full-size image."
|
|
4097
|
+
},
|
|
4098
|
+
{
|
|
4099
|
+
"name": "label",
|
|
4100
|
+
"kind": "property",
|
|
4101
|
+
"type": "string",
|
|
4102
|
+
"required": true,
|
|
4103
|
+
"doc": "The image's name: its alternative text (`alt`), read when it shows and announced after a step (required: the viewer shows nothing else that names it)."
|
|
4104
|
+
},
|
|
4105
|
+
{
|
|
4106
|
+
"name": "caption",
|
|
4107
|
+
"kind": "property",
|
|
4108
|
+
"type": "string",
|
|
4109
|
+
"required": false,
|
|
4110
|
+
"doc": "Text shown under the image; none shows no caption.",
|
|
4111
|
+
"optional": true
|
|
4112
|
+
}
|
|
4113
|
+
],
|
|
4114
|
+
"methods": [],
|
|
4115
|
+
"slots": [],
|
|
4116
|
+
"references": [],
|
|
4117
|
+
"usedBy": [
|
|
4118
|
+
"bf-image-viewer-actions-context",
|
|
4119
|
+
"bf-image-viewer-options",
|
|
4120
|
+
"bf-image-viewer-ref"
|
|
4121
|
+
],
|
|
4122
|
+
"since": "0.5.0"
|
|
4123
|
+
},
|
|
4124
|
+
{
|
|
4125
|
+
"name": "BfImageViewerOptions",
|
|
4126
|
+
"slug": "bf-image-viewer-options",
|
|
4127
|
+
"kind": "interface",
|
|
4128
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
4129
|
+
"file": "overlay/image-viewer/image-viewer.service.ts",
|
|
4130
|
+
"summary": "Options of an image viewer: its images, the first one, its thumbnail and actions",
|
|
4131
|
+
"description": "Options of `BfImageViewerService.open()`.",
|
|
4132
|
+
"members": [
|
|
4133
|
+
{
|
|
4134
|
+
"name": "images",
|
|
4135
|
+
"kind": "property",
|
|
4136
|
+
"type": "readonly BfImageViewerImage[]",
|
|
4137
|
+
"required": true,
|
|
4138
|
+
"doc": "The images to step through, in order; at least one."
|
|
4139
|
+
},
|
|
4140
|
+
{
|
|
4141
|
+
"name": "index",
|
|
4142
|
+
"kind": "property",
|
|
4143
|
+
"type": "number",
|
|
4144
|
+
"required": false,
|
|
4145
|
+
"doc": "Index of the image shown first, wrapped into the set.",
|
|
4146
|
+
"optional": true,
|
|
4147
|
+
"default": "0"
|
|
4148
|
+
},
|
|
4149
|
+
{
|
|
4150
|
+
"name": "origin",
|
|
4151
|
+
"kind": "property",
|
|
4152
|
+
"type": "BfImageViewerOrigin",
|
|
4153
|
+
"required": false,
|
|
4154
|
+
"doc": "The thumbnail the viewer zooms out of and back into (or a function returning the thumbnail of an image by index); none fades the viewer in and out.",
|
|
4155
|
+
"optional": true,
|
|
4156
|
+
"expandedType": "HTMLElement | (index: number) => HTMLElement | null | undefined"
|
|
4157
|
+
},
|
|
4158
|
+
{
|
|
4159
|
+
"name": "actions",
|
|
4160
|
+
"kind": "property",
|
|
4161
|
+
"type": "TemplateRef<BfImageViewerActionsContext>",
|
|
4162
|
+
"required": false,
|
|
4163
|
+
"doc": "Actions under the image, beside its caption (a download link, a \"Use this one\" button); its context is `{ $implicit: image, index, ref }`.",
|
|
4164
|
+
"optional": true
|
|
4165
|
+
},
|
|
4166
|
+
{
|
|
4167
|
+
"name": "ariaLabel",
|
|
4168
|
+
"kind": "property",
|
|
4169
|
+
"type": "string",
|
|
4170
|
+
"required": false,
|
|
4171
|
+
"doc": "Accessible name of the viewer; empty uses `provideBfLabels()`'s `imageViewer`.",
|
|
4172
|
+
"optional": true
|
|
4173
|
+
},
|
|
4174
|
+
{
|
|
4175
|
+
"name": "closeOnNavigation",
|
|
4176
|
+
"kind": "property",
|
|
4177
|
+
"type": "boolean",
|
|
4178
|
+
"required": false,
|
|
4179
|
+
"doc": "A navigation to another URL path closes the viewer (default true).",
|
|
4180
|
+
"optional": true,
|
|
4181
|
+
"default": "true"
|
|
4182
|
+
},
|
|
4183
|
+
{
|
|
4184
|
+
"name": "injector",
|
|
4185
|
+
"kind": "property",
|
|
4186
|
+
"type": "Injector",
|
|
4187
|
+
"required": false,
|
|
4188
|
+
"doc": "Parent of the viewer's injector and source of its labels (default the root injector). Pass the opener's `inject(Injector)` so a feature-level `provideBfLabels()` reaches the viewer.",
|
|
4189
|
+
"optional": true
|
|
4190
|
+
}
|
|
4191
|
+
],
|
|
4192
|
+
"methods": [],
|
|
4193
|
+
"slots": [],
|
|
4194
|
+
"references": [
|
|
4195
|
+
"bf-image-viewer-actions-context",
|
|
4196
|
+
"bf-image-viewer-image",
|
|
4197
|
+
"bf-image-viewer-origin"
|
|
4198
|
+
],
|
|
4199
|
+
"usedBy": ["bf-image-viewer-service"],
|
|
4200
|
+
"since": "0.5.0"
|
|
4201
|
+
},
|
|
4202
|
+
{
|
|
4203
|
+
"name": "BfImageViewerOrigin",
|
|
4204
|
+
"slug": "bf-image-viewer-origin",
|
|
4205
|
+
"kind": "type",
|
|
4206
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
4207
|
+
"file": "overlay/image-viewer/image-viewer-ref.ts",
|
|
4208
|
+
"summary": "The thumbnail an image viewer zooms from and back into, or a lookup per image",
|
|
4209
|
+
"description": "Where the viewer zooms from and back to: the thumbnail that was clicked, or a function that\nreturns the thumbnail of any image of the set (so closing after stepping zooms into the right\none), `null` for none.",
|
|
4210
|
+
"members": [],
|
|
4211
|
+
"methods": [],
|
|
4212
|
+
"slots": [],
|
|
4213
|
+
"references": [],
|
|
4214
|
+
"usedBy": ["bf-image-viewer-options"],
|
|
4215
|
+
"since": "0.5.0",
|
|
4216
|
+
"signature": "type BfImageViewerOrigin = HTMLElement | ((index: number) => HTMLElement | null | undefined) | null"
|
|
4217
|
+
},
|
|
4218
|
+
{
|
|
4219
|
+
"name": "BfImageViewerRef",
|
|
4220
|
+
"slug": "bf-image-viewer-ref",
|
|
4221
|
+
"kind": "class",
|
|
4222
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
4223
|
+
"file": "overlay/image-viewer/image-viewer-ref.ts",
|
|
4224
|
+
"summary": "Handle on an open image viewer that steps through its images and closes it",
|
|
4225
|
+
"description": "Handle to an open image viewer, returned by `BfImageViewerService.open()` and injectable in\nits actions template (`inject(BfImageViewerRef)`). `index` is the shown image; `next()`,\n`previous()` and `goTo()` step through the set (wrapping at both ends), `close()` plays the\nexit motion and resolves `afterClosed`.",
|
|
4226
|
+
"members": [
|
|
4227
|
+
{
|
|
4228
|
+
"name": "id",
|
|
4229
|
+
"kind": "property",
|
|
4230
|
+
"type": "string",
|
|
4231
|
+
"required": false,
|
|
4232
|
+
"doc": "Unique id of the viewer (its overlay's `bf-overlay-N`).",
|
|
4233
|
+
"readonly": true
|
|
4234
|
+
},
|
|
4235
|
+
{
|
|
4236
|
+
"name": "images",
|
|
4237
|
+
"kind": "property",
|
|
4238
|
+
"type": "readonly BfImageViewerImage[]",
|
|
4239
|
+
"required": false,
|
|
4240
|
+
"doc": "The images of the set, in order.",
|
|
4241
|
+
"readonly": true
|
|
4242
|
+
},
|
|
4243
|
+
{
|
|
4244
|
+
"name": "afterClosed",
|
|
4245
|
+
"kind": "property",
|
|
4246
|
+
"type": "Promise<void>",
|
|
4247
|
+
"required": false,
|
|
4248
|
+
"doc": "Resolves once the viewer has closed and left the page.",
|
|
4249
|
+
"readonly": true
|
|
4250
|
+
},
|
|
4251
|
+
{
|
|
4252
|
+
"name": "closed",
|
|
4253
|
+
"kind": "property",
|
|
4254
|
+
"type": "Signal<boolean>",
|
|
4255
|
+
"required": false,
|
|
4256
|
+
"doc": "True once the viewer has been detached.",
|
|
4257
|
+
"readonly": true
|
|
4258
|
+
},
|
|
4259
|
+
{
|
|
4260
|
+
"name": "index",
|
|
4261
|
+
"kind": "property",
|
|
4262
|
+
"type": "Signal<number>",
|
|
4263
|
+
"required": false,
|
|
4264
|
+
"doc": "Index (0-based) of the image the viewer shows.",
|
|
4265
|
+
"readonly": true
|
|
4266
|
+
}
|
|
4267
|
+
],
|
|
4268
|
+
"methods": [
|
|
4269
|
+
{
|
|
4270
|
+
"name": "next",
|
|
4271
|
+
"signature": "next(): void",
|
|
4272
|
+
"params": [],
|
|
4273
|
+
"returns": "void",
|
|
4274
|
+
"doc": "Shows the next image; after the last one, the first."
|
|
4275
|
+
},
|
|
4276
|
+
{
|
|
4277
|
+
"name": "previous",
|
|
4278
|
+
"signature": "previous(): void",
|
|
4279
|
+
"params": [],
|
|
4280
|
+
"returns": "void",
|
|
4281
|
+
"doc": "Shows the previous image; before the first one, the last."
|
|
4282
|
+
},
|
|
4283
|
+
{
|
|
4284
|
+
"name": "goTo",
|
|
4285
|
+
"signature": "goTo(index: number): void",
|
|
4286
|
+
"params": [
|
|
4287
|
+
{
|
|
4288
|
+
"name": "index",
|
|
4289
|
+
"type": "number",
|
|
4290
|
+
"optional": false,
|
|
4291
|
+
"doc": "The 0-based index of the image to show."
|
|
4292
|
+
}
|
|
4293
|
+
],
|
|
4294
|
+
"returns": "void",
|
|
4295
|
+
"doc": "Shows the image at `index`, wrapped into the set (`-1` is the last one)."
|
|
4296
|
+
},
|
|
4297
|
+
{
|
|
4298
|
+
"name": "close",
|
|
4299
|
+
"signature": "close(): void",
|
|
4300
|
+
"params": [],
|
|
4301
|
+
"returns": "void",
|
|
4302
|
+
"doc": "Closes the viewer: it zooms back into its thumbnail, or fades out. Ignored once closing."
|
|
4303
|
+
}
|
|
4304
|
+
],
|
|
4305
|
+
"slots": [],
|
|
4306
|
+
"references": ["bf-image-viewer-image"],
|
|
4307
|
+
"usedBy": ["bf-image-viewer-actions-context", "bf-image-viewer-service"],
|
|
4308
|
+
"since": "0.5.0"
|
|
4309
|
+
},
|
|
4310
|
+
{
|
|
4311
|
+
"name": "BfImageViewerService",
|
|
4312
|
+
"slug": "bf-image-viewer-service",
|
|
4313
|
+
"kind": "service",
|
|
4314
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
4315
|
+
"file": "overlay/image-viewer/image-viewer.service.ts",
|
|
4316
|
+
"summary": "Opens a full-screen image viewer that zooms from a thumbnail and steps through a set",
|
|
4317
|
+
"description": "Opens a full-screen image viewer (a lightbox) on the overlay core: one image large over a dark\nscrim, previous and next buttons, the arrow keys, Home and End to step through the set\n(wrapping at both ends), a counter, the caption and optional actions. It zooms out of the\nclicked thumbnail (`origin`) and back into it, cross-fades between images, and fades when there\nis no thumbnail on screen; reduced motion only fades. It is a modal dialog: focus moves to its\nclose button and is trapped, `Escape`, the close button and a click on the scrim close it, the\npage behind it is `inert` and does not scroll, and focus returns to the opener.",
|
|
4318
|
+
"members": [],
|
|
4319
|
+
"methods": [
|
|
4320
|
+
{
|
|
4321
|
+
"name": "open",
|
|
4322
|
+
"signature": "open(options: BfImageViewerOptions): BfImageViewerRef",
|
|
4323
|
+
"params": [
|
|
4324
|
+
{
|
|
4325
|
+
"name": "options",
|
|
4326
|
+
"type": "BfImageViewerOptions",
|
|
4327
|
+
"optional": false,
|
|
4328
|
+
"doc": "The images, the first index, the thumbnail, the actions and the injector."
|
|
4329
|
+
}
|
|
4330
|
+
],
|
|
4331
|
+
"returns": "BfImageViewerRef",
|
|
4332
|
+
"doc": "Opens the viewer on `options.images`, showing `options.index` first."
|
|
4333
|
+
}
|
|
4334
|
+
],
|
|
4335
|
+
"slots": [],
|
|
4336
|
+
"references": ["bf-image-viewer-options", "bf-image-viewer-ref"],
|
|
4337
|
+
"usedBy": [],
|
|
4338
|
+
"since": "0.5.0"
|
|
4339
|
+
},
|
|
3560
4340
|
{
|
|
3561
4341
|
"name": "BfMenuButtonVariant",
|
|
3562
4342
|
"slug": "bf-menu-button-variant",
|
|
@@ -5437,22 +6217,46 @@
|
|
|
5437
6217
|
"signature": "function provideBfDesktopToast(config?: Partial<BfDesktopToastConfig>): EnvironmentProviders"
|
|
5438
6218
|
},
|
|
5439
6219
|
{
|
|
5440
|
-
"name": "
|
|
5441
|
-
"slug": "
|
|
6220
|
+
"name": "provideBfSelect",
|
|
6221
|
+
"slug": "provide-bf-select",
|
|
5442
6222
|
"kind": "function",
|
|
5443
6223
|
"entryPoint": "@bitforgehq/ui/overlay",
|
|
5444
|
-
"file": "overlay/
|
|
5445
|
-
"summary": "
|
|
5446
|
-
"description": "
|
|
6224
|
+
"file": "overlay/select/provide-bf-select.ts",
|
|
6225
|
+
"summary": "Makes a stacked table's Sort by select the styled bf-select, app-wide",
|
|
6226
|
+
"description": "Makes the library's built-in selects use the styled `bf-select`: a stacked `bf-table` then\nrenders its Sort by select as a `bf-select` (the native `<select>` under a coarse pointer, as\n`bf-select` itself does) instead of the plain native one. Add it to\n`ApplicationConfig.providers`.",
|
|
5447
6227
|
"members": [],
|
|
5448
6228
|
"methods": [
|
|
5449
6229
|
{
|
|
5450
|
-
"name": "
|
|
5451
|
-
"signature": "
|
|
5452
|
-
"params": [
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
6230
|
+
"name": "provideBfSelect",
|
|
6231
|
+
"signature": "provideBfSelect(): EnvironmentProviders",
|
|
6232
|
+
"params": [],
|
|
6233
|
+
"returns": "EnvironmentProviders",
|
|
6234
|
+
"doc": "Makes the library's built-in selects use the styled `bf-select`: a stacked `bf-table` then\nrenders its Sort by select as a `bf-select` (the native `<select>` under a coarse pointer, as\n`bf-select` itself does) instead of the plain native one. Add it to\n`ApplicationConfig.providers`."
|
|
6235
|
+
}
|
|
6236
|
+
],
|
|
6237
|
+
"slots": [],
|
|
6238
|
+
"references": [],
|
|
6239
|
+
"usedBy": [],
|
|
6240
|
+
"since": "0.5.0",
|
|
6241
|
+
"signature": "function provideBfSelect(): EnvironmentProviders"
|
|
6242
|
+
},
|
|
6243
|
+
{
|
|
6244
|
+
"name": "scaleIn",
|
|
6245
|
+
"slug": "scale-in",
|
|
6246
|
+
"kind": "function",
|
|
6247
|
+
"entryPoint": "@bitforgehq/ui/overlay",
|
|
6248
|
+
"file": "overlay/core/overlay-animations.ts",
|
|
6249
|
+
"summary": "Scales an element up while fading it in, the enter animation of centred dialogs",
|
|
6250
|
+
"description": "Scales `el` up from 92 % while fading it in (centred dialogs).",
|
|
6251
|
+
"members": [],
|
|
6252
|
+
"methods": [
|
|
6253
|
+
{
|
|
6254
|
+
"name": "scaleIn",
|
|
6255
|
+
"signature": "scaleIn(el: HTMLElement): Animation",
|
|
6256
|
+
"params": [
|
|
6257
|
+
{
|
|
6258
|
+
"name": "el",
|
|
6259
|
+
"type": "HTMLElement",
|
|
5456
6260
|
"optional": false,
|
|
5457
6261
|
"doc": "The element to animate, usually the overlay panel."
|
|
5458
6262
|
}
|
|
@@ -8690,6 +9494,100 @@
|
|
|
8690
9494
|
"since": "0.3.1",
|
|
8691
9495
|
"signature": "class BfChartHarness extends ComponentHarness"
|
|
8692
9496
|
},
|
|
9497
|
+
{
|
|
9498
|
+
"name": "BfChatComposerHarness",
|
|
9499
|
+
"slug": "bf-chat-composer-harness",
|
|
9500
|
+
"kind": "class",
|
|
9501
|
+
"entryPoint": "@bitforgehq/ui/testing",
|
|
9502
|
+
"file": "testing/harnesses/chat-composer.harness.ts",
|
|
9503
|
+
"summary": "Test harness for the chat composer: types, sends, stops and reads its state",
|
|
9504
|
+
"description": "Harness for `bf-chat-composer` (`@bitforgehq/ui/overlay`). Its `label` filter matches the text\nfield's name: the visible label, else its `aria-label` (\"Message\" by default).",
|
|
9505
|
+
"members": [],
|
|
9506
|
+
"methods": [
|
|
9507
|
+
{
|
|
9508
|
+
"name": "getLabel",
|
|
9509
|
+
"signature": "getLabel(): Promise<string>",
|
|
9510
|
+
"params": [],
|
|
9511
|
+
"returns": "Promise<string>",
|
|
9512
|
+
"doc": "The text field's name: the visible label, else its `aria-label`."
|
|
9513
|
+
},
|
|
9514
|
+
{
|
|
9515
|
+
"name": "getValue",
|
|
9516
|
+
"signature": "getValue(): Promise<string>",
|
|
9517
|
+
"params": [],
|
|
9518
|
+
"returns": "Promise<string>",
|
|
9519
|
+
"doc": "The text in the field."
|
|
9520
|
+
},
|
|
9521
|
+
{
|
|
9522
|
+
"name": "setValue",
|
|
9523
|
+
"signature": "setValue(text: string): Promise<void>",
|
|
9524
|
+
"params": [
|
|
9525
|
+
{
|
|
9526
|
+
"name": "text",
|
|
9527
|
+
"type": "string",
|
|
9528
|
+
"optional": false,
|
|
9529
|
+
"doc": "The new text."
|
|
9530
|
+
}
|
|
9531
|
+
],
|
|
9532
|
+
"returns": "Promise<void>",
|
|
9533
|
+
"doc": "Replaces the text as the user would type it (`changed` and the value update)."
|
|
9534
|
+
},
|
|
9535
|
+
{
|
|
9536
|
+
"name": "send",
|
|
9537
|
+
"signature": "send(): Promise<void>",
|
|
9538
|
+
"params": [],
|
|
9539
|
+
"returns": "Promise<void>",
|
|
9540
|
+
"doc": "Sends the text with the send button, as a click does. Does nothing while it cannot send."
|
|
9541
|
+
},
|
|
9542
|
+
{
|
|
9543
|
+
"name": "pressEnter",
|
|
9544
|
+
"signature": "pressEnter(): Promise<void>",
|
|
9545
|
+
"params": [],
|
|
9546
|
+
"returns": "Promise<void>",
|
|
9547
|
+
"doc": "Sends the text with `Enter` in the field, as the keyboard does."
|
|
9548
|
+
},
|
|
9549
|
+
{
|
|
9550
|
+
"name": "stop",
|
|
9551
|
+
"signature": "stop(): Promise<void>",
|
|
9552
|
+
"params": [],
|
|
9553
|
+
"returns": "Promise<void>",
|
|
9554
|
+
"doc": "Stops the running reply with the stop button. Does nothing unless a reply is running."
|
|
9555
|
+
},
|
|
9556
|
+
{
|
|
9557
|
+
"name": "isRunning",
|
|
9558
|
+
"signature": "isRunning(): Promise<boolean>",
|
|
9559
|
+
"params": [],
|
|
9560
|
+
"returns": "Promise<boolean>",
|
|
9561
|
+
"doc": "Whether a reply is running, so the button stops instead of sending."
|
|
9562
|
+
},
|
|
9563
|
+
{
|
|
9564
|
+
"name": "isDisabled",
|
|
9565
|
+
"signature": "isDisabled(): Promise<boolean>",
|
|
9566
|
+
"params": [],
|
|
9567
|
+
"returns": "Promise<boolean>",
|
|
9568
|
+
"doc": "Whether the composer is disabled (its text field is)."
|
|
9569
|
+
},
|
|
9570
|
+
{
|
|
9571
|
+
"name": "canAct",
|
|
9572
|
+
"signature": "canAct(): Promise<boolean>",
|
|
9573
|
+
"params": [],
|
|
9574
|
+
"returns": "Promise<boolean>",
|
|
9575
|
+
"doc": "Whether the button can send (or stop) now: not disabled and, to send, with text."
|
|
9576
|
+
},
|
|
9577
|
+
{
|
|
9578
|
+
"name": "getButtonLabel",
|
|
9579
|
+
"signature": "getButtonLabel(): Promise<string>",
|
|
9580
|
+
"params": [],
|
|
9581
|
+
"returns": "Promise<string>",
|
|
9582
|
+
"doc": "The button's name, \"Send\" or \"Stop\" by default."
|
|
9583
|
+
}
|
|
9584
|
+
],
|
|
9585
|
+
"slots": [],
|
|
9586
|
+
"references": [],
|
|
9587
|
+
"usedBy": [],
|
|
9588
|
+
"since": "0.5.0",
|
|
9589
|
+
"signature": "class BfChatComposerHarness extends ComponentHarness"
|
|
9590
|
+
},
|
|
8693
9591
|
{
|
|
8694
9592
|
"name": "BfComboboxHarness",
|
|
8695
9593
|
"slug": "bf-combobox-harness",
|
|
@@ -9125,6 +10023,100 @@
|
|
|
9125
10023
|
"since": "0.3.0",
|
|
9126
10024
|
"signature": "class BfDialogHarness extends ComponentHarness"
|
|
9127
10025
|
},
|
|
10026
|
+
{
|
|
10027
|
+
"name": "BfFileInputHarness",
|
|
10028
|
+
"slug": "bf-file-input-harness",
|
|
10029
|
+
"kind": "class",
|
|
10030
|
+
"entryPoint": "@bitforgehq/ui/testing",
|
|
10031
|
+
"file": "testing/harnesses/file-input.harness.ts",
|
|
10032
|
+
"summary": "Test harness for the file input: drops files and reads the list and rejections",
|
|
10033
|
+
"description": "Harness for `bf-file-input`, in both looks. `addFiles()` drops files on the field, so they go\nthrough the same `accept`, `maxSize` and `maxFiles` rules as a real drop; read the outcome with\n`getFileNames()` and `getRejected()`. It works by file name, so a test never needs the rows.",
|
|
10034
|
+
"members": [],
|
|
10035
|
+
"methods": [
|
|
10036
|
+
{
|
|
10037
|
+
"name": "getLabel",
|
|
10038
|
+
"signature": "getLabel(): Promise<string>",
|
|
10039
|
+
"params": [],
|
|
10040
|
+
"returns": "Promise<string>",
|
|
10041
|
+
"doc": "The visible label without the required mark, else `ariaLabel`."
|
|
10042
|
+
},
|
|
10043
|
+
{
|
|
10044
|
+
"name": "getErrorText",
|
|
10045
|
+
"signature": "getErrorText(): Promise<string>",
|
|
10046
|
+
"params": [],
|
|
10047
|
+
"returns": "Promise<string>",
|
|
10048
|
+
"doc": "The error text under the field (an explicit message, or the first form error once touched)."
|
|
10049
|
+
},
|
|
10050
|
+
{
|
|
10051
|
+
"name": "getVariant",
|
|
10052
|
+
"signature": "getVariant(): Promise<'field' | 'dropzone'>",
|
|
10053
|
+
"params": [],
|
|
10054
|
+
"returns": "Promise<'field' | 'dropzone'>",
|
|
10055
|
+
"doc": "The look of the field."
|
|
10056
|
+
},
|
|
10057
|
+
{
|
|
10058
|
+
"name": "isDisabled",
|
|
10059
|
+
"signature": "isDisabled(): Promise<boolean>",
|
|
10060
|
+
"params": [],
|
|
10061
|
+
"returns": "Promise<boolean>",
|
|
10062
|
+
"doc": "Whether the field is disabled."
|
|
10063
|
+
},
|
|
10064
|
+
{
|
|
10065
|
+
"name": "isReadonly",
|
|
10066
|
+
"signature": "isReadonly(): Promise<boolean>",
|
|
10067
|
+
"params": [],
|
|
10068
|
+
"returns": "Promise<boolean>",
|
|
10069
|
+
"doc": "Whether the field is read-only: it has no pick target."
|
|
10070
|
+
},
|
|
10071
|
+
{
|
|
10072
|
+
"name": "addFiles",
|
|
10073
|
+
"signature": "addFiles(files: File[]): Promise<void>",
|
|
10074
|
+
"params": [
|
|
10075
|
+
{
|
|
10076
|
+
"name": "files",
|
|
10077
|
+
"type": "File[]",
|
|
10078
|
+
"optional": false,
|
|
10079
|
+
"doc": "The files to drop."
|
|
10080
|
+
}
|
|
10081
|
+
],
|
|
10082
|
+
"returns": "Promise<void>",
|
|
10083
|
+
"doc": "Drops files on the field, as a user would. On a disabled or read-only field it does nothing,\nlike the UI."
|
|
10084
|
+
},
|
|
10085
|
+
{
|
|
10086
|
+
"name": "getFileNames",
|
|
10087
|
+
"signature": "getFileNames(): Promise<string[]>",
|
|
10088
|
+
"params": [],
|
|
10089
|
+
"returns": "Promise<string[]>",
|
|
10090
|
+
"doc": "The names of the chosen files, in order (rejected files are not included)."
|
|
10091
|
+
},
|
|
10092
|
+
{
|
|
10093
|
+
"name": "getRejected",
|
|
10094
|
+
"signature": "getRejected(): Promise<{ name: string; message: string }[]>",
|
|
10095
|
+
"params": [],
|
|
10096
|
+
"returns": "Promise<{ name: string; message: string }[]>",
|
|
10097
|
+
"doc": "The files the last pick or drop refused, each with its reason, until they are dismissed."
|
|
10098
|
+
},
|
|
10099
|
+
{
|
|
10100
|
+
"name": "removeFile",
|
|
10101
|
+
"signature": "removeFile(name: string): Promise<void>",
|
|
10102
|
+
"params": [
|
|
10103
|
+
{
|
|
10104
|
+
"name": "name",
|
|
10105
|
+
"type": "string",
|
|
10106
|
+
"optional": false,
|
|
10107
|
+
"doc": "The file's name."
|
|
10108
|
+
}
|
|
10109
|
+
],
|
|
10110
|
+
"returns": "Promise<void>",
|
|
10111
|
+
"doc": "Removes the chosen file with this name, as the row's remove button does. Throws when no\nchosen file has that name or the field cannot be edited."
|
|
10112
|
+
}
|
|
10113
|
+
],
|
|
10114
|
+
"slots": [],
|
|
10115
|
+
"references": [],
|
|
10116
|
+
"usedBy": [],
|
|
10117
|
+
"since": "0.5.0",
|
|
10118
|
+
"signature": "class BfFileInputHarness extends ComponentHarness"
|
|
10119
|
+
},
|
|
9128
10120
|
{
|
|
9129
10121
|
"name": "BfHarnessFilters",
|
|
9130
10122
|
"slug": "bf-harness-filters",
|
|
@@ -9150,6 +10142,222 @@
|
|
|
9150
10142
|
"since": "0.3.0",
|
|
9151
10143
|
"signature": "interface BfHarnessFilters extends BaseHarnessFilters"
|
|
9152
10144
|
},
|
|
10145
|
+
{
|
|
10146
|
+
"name": "BfImageInputHarness",
|
|
10147
|
+
"slug": "bf-image-input-harness",
|
|
10148
|
+
"kind": "class",
|
|
10149
|
+
"entryPoint": "@bitforgehq/ui/testing",
|
|
10150
|
+
"file": "testing/harnesses/image-input.harness.ts",
|
|
10151
|
+
"summary": "Test harness for the image input: drops an image on it and reads the preview",
|
|
10152
|
+
"description": "Harness for `bf-image-input`. `addFile()` drops the image on the tile, so it goes through the\nsame `accept` and `maxSize` rules as a real drop; read the outcome with `hasPreview()`,\n`getPreviewSrc()` and `getRejectedMessage()`. jsdom has no `URL.createObjectURL`, so a picked\nimage shows no preview there: assert on the bound value, or stub `URL.createObjectURL` to read\nthe preview.",
|
|
10153
|
+
"members": [],
|
|
10154
|
+
"methods": [
|
|
10155
|
+
{
|
|
10156
|
+
"name": "getLabel",
|
|
10157
|
+
"signature": "getLabel(): Promise<string>",
|
|
10158
|
+
"params": [],
|
|
10159
|
+
"returns": "Promise<string>",
|
|
10160
|
+
"doc": "The visible label without the required mark, else the tile's `aria-label`."
|
|
10161
|
+
},
|
|
10162
|
+
{
|
|
10163
|
+
"name": "getErrorText",
|
|
10164
|
+
"signature": "getErrorText(): Promise<string>",
|
|
10165
|
+
"params": [],
|
|
10166
|
+
"returns": "Promise<string>",
|
|
10167
|
+
"doc": "The error text beside the tile (an explicit message, or the first form error once touched)."
|
|
10168
|
+
},
|
|
10169
|
+
{
|
|
10170
|
+
"name": "isDisabled",
|
|
10171
|
+
"signature": "isDisabled(): Promise<boolean>",
|
|
10172
|
+
"params": [],
|
|
10173
|
+
"returns": "Promise<boolean>",
|
|
10174
|
+
"doc": "Whether the control is disabled."
|
|
10175
|
+
},
|
|
10176
|
+
{
|
|
10177
|
+
"name": "isReadonly",
|
|
10178
|
+
"signature": "isReadonly(): Promise<boolean>",
|
|
10179
|
+
"params": [],
|
|
10180
|
+
"returns": "Promise<boolean>",
|
|
10181
|
+
"doc": "Whether the control is read-only: its tile is not a button and there are no Upload or Remove\nbuttons."
|
|
10182
|
+
},
|
|
10183
|
+
{
|
|
10184
|
+
"name": "hasPreview",
|
|
10185
|
+
"signature": "hasPreview(): Promise<boolean>",
|
|
10186
|
+
"params": [],
|
|
10187
|
+
"returns": "Promise<boolean>",
|
|
10188
|
+
"doc": "Whether the tile shows an image, picked or from `src`. A picked image needs\n`URL.createObjectURL`, which jsdom lacks: stub it to see one."
|
|
10189
|
+
},
|
|
10190
|
+
{
|
|
10191
|
+
"name": "getPreviewSrc",
|
|
10192
|
+
"signature": "getPreviewSrc(): Promise<string | null>",
|
|
10193
|
+
"params": [],
|
|
10194
|
+
"returns": "Promise<string | null>",
|
|
10195
|
+
"doc": "The `src` of the shown image."
|
|
10196
|
+
},
|
|
10197
|
+
{
|
|
10198
|
+
"name": "addFile",
|
|
10199
|
+
"signature": "addFile(file: File): Promise<void>",
|
|
10200
|
+
"params": [
|
|
10201
|
+
{
|
|
10202
|
+
"name": "file",
|
|
10203
|
+
"type": "File",
|
|
10204
|
+
"optional": false,
|
|
10205
|
+
"doc": "The image to drop."
|
|
10206
|
+
}
|
|
10207
|
+
],
|
|
10208
|
+
"returns": "Promise<void>",
|
|
10209
|
+
"doc": "Drops an image on the tile, as a user would. On a disabled or read-only control it does\nnothing, like the UI. It waits on no timer, so it works under fake timers and `fakeAsync`."
|
|
10210
|
+
},
|
|
10211
|
+
{
|
|
10212
|
+
"name": "remove",
|
|
10213
|
+
"signature": "remove(): Promise<void>",
|
|
10214
|
+
"params": [],
|
|
10215
|
+
"returns": "Promise<void>",
|
|
10216
|
+
"doc": "Presses Remove, which clears the picked and the existing image. Throws while there is no\nimage or the control cannot be edited."
|
|
10217
|
+
},
|
|
10218
|
+
{
|
|
10219
|
+
"name": "getRejectedMessage",
|
|
10220
|
+
"signature": "getRejectedMessage(): Promise<string>",
|
|
10221
|
+
"params": [],
|
|
10222
|
+
"returns": "Promise<string>",
|
|
10223
|
+
"doc": "The reason the last pick was refused, until the next pick or Remove."
|
|
10224
|
+
}
|
|
10225
|
+
],
|
|
10226
|
+
"slots": [],
|
|
10227
|
+
"references": [],
|
|
10228
|
+
"usedBy": [],
|
|
10229
|
+
"since": "0.5.0",
|
|
10230
|
+
"signature": "class BfImageInputHarness extends ComponentHarness"
|
|
10231
|
+
},
|
|
10232
|
+
{
|
|
10233
|
+
"name": "BfImageViewerHarness",
|
|
10234
|
+
"slug": "bf-image-viewer-harness",
|
|
10235
|
+
"kind": "class",
|
|
10236
|
+
"entryPoint": "@bitforgehq/ui/testing",
|
|
10237
|
+
"file": "testing/harnesses/image-viewer.harness.ts",
|
|
10238
|
+
"summary": "Test harness for an image viewer: its image, index, caption, steps and close",
|
|
10239
|
+
"description": "Harness for `bf-image-viewer`, the lightbox `BfImageViewerService.open()` renders. It renders\nin the CDK overlay container outside the tested component, so get it through\n`TestbedHarnessEnvironment.documentRootLoader(fixture)`. jsdom never loads images: call\n`loadImage()` to fire the shown image's `load` event.",
|
|
10240
|
+
"members": [],
|
|
10241
|
+
"methods": [
|
|
10242
|
+
{
|
|
10243
|
+
"name": "getLabel",
|
|
10244
|
+
"signature": "getLabel(): Promise<string>",
|
|
10245
|
+
"params": [],
|
|
10246
|
+
"returns": "Promise<string>",
|
|
10247
|
+
"doc": "The viewer's accessible name (`ariaLabel`, else the `imageViewer` label)."
|
|
10248
|
+
},
|
|
10249
|
+
{
|
|
10250
|
+
"name": "getIndex",
|
|
10251
|
+
"signature": "getIndex(): Promise<number>",
|
|
10252
|
+
"params": [],
|
|
10253
|
+
"returns": "Promise<number>",
|
|
10254
|
+
"doc": "The 0-based index of the shown image."
|
|
10255
|
+
},
|
|
10256
|
+
{
|
|
10257
|
+
"name": "getCount",
|
|
10258
|
+
"signature": "getCount(): Promise<number>",
|
|
10259
|
+
"params": [],
|
|
10260
|
+
"returns": "Promise<number>",
|
|
10261
|
+
"doc": "How many images the viewer steps through."
|
|
10262
|
+
},
|
|
10263
|
+
{
|
|
10264
|
+
"name": "getCounterText",
|
|
10265
|
+
"signature": "getCounterText(): Promise<string>",
|
|
10266
|
+
"params": [],
|
|
10267
|
+
"returns": "Promise<string>",
|
|
10268
|
+
"doc": "The counter's text (\"2 of 5\"); a viewer of one image shows none."
|
|
10269
|
+
},
|
|
10270
|
+
{
|
|
10271
|
+
"name": "getSrc",
|
|
10272
|
+
"signature": "getSrc(): Promise<string>",
|
|
10273
|
+
"params": [],
|
|
10274
|
+
"returns": "Promise<string>",
|
|
10275
|
+
"doc": "The URL of the shown image."
|
|
10276
|
+
},
|
|
10277
|
+
{
|
|
10278
|
+
"name": "getAlt",
|
|
10279
|
+
"signature": "getAlt(): Promise<string>",
|
|
10280
|
+
"params": [],
|
|
10281
|
+
"returns": "Promise<string>",
|
|
10282
|
+
"doc": "The alternative text of the shown image."
|
|
10283
|
+
},
|
|
10284
|
+
{
|
|
10285
|
+
"name": "getCaption",
|
|
10286
|
+
"signature": "getCaption(): Promise<string>",
|
|
10287
|
+
"params": [],
|
|
10288
|
+
"returns": "Promise<string>",
|
|
10289
|
+
"doc": "The caption under the shown image."
|
|
10290
|
+
},
|
|
10291
|
+
{
|
|
10292
|
+
"name": "isLoaded",
|
|
10293
|
+
"signature": "isLoaded(): Promise<boolean>",
|
|
10294
|
+
"params": [],
|
|
10295
|
+
"returns": "Promise<boolean>",
|
|
10296
|
+
"doc": "Whether the shown image has loaded (no spinner and no failure message)."
|
|
10297
|
+
},
|
|
10298
|
+
{
|
|
10299
|
+
"name": "hasFailed",
|
|
10300
|
+
"signature": "hasFailed(): Promise<boolean>",
|
|
10301
|
+
"params": [],
|
|
10302
|
+
"returns": "Promise<boolean>",
|
|
10303
|
+
"doc": "Whether the shown image failed to load (the failure message shows)."
|
|
10304
|
+
},
|
|
10305
|
+
{
|
|
10306
|
+
"name": "loadImage",
|
|
10307
|
+
"signature": "loadImage(): Promise<void>",
|
|
10308
|
+
"params": [],
|
|
10309
|
+
"returns": "Promise<void>",
|
|
10310
|
+
"doc": "Fires the shown image's `load` event, as a browser does when it arrives."
|
|
10311
|
+
},
|
|
10312
|
+
{
|
|
10313
|
+
"name": "failImage",
|
|
10314
|
+
"signature": "failImage(): Promise<void>",
|
|
10315
|
+
"params": [],
|
|
10316
|
+
"returns": "Promise<void>",
|
|
10317
|
+
"doc": "Fires the shown image's `error` event, as a browser does when it fails."
|
|
10318
|
+
},
|
|
10319
|
+
{
|
|
10320
|
+
"name": "next",
|
|
10321
|
+
"signature": "next(): Promise<void>",
|
|
10322
|
+
"params": [],
|
|
10323
|
+
"returns": "Promise<void>",
|
|
10324
|
+
"doc": "Clicks the next button. Throws for a viewer of one image (it has none)."
|
|
10325
|
+
},
|
|
10326
|
+
{
|
|
10327
|
+
"name": "previous",
|
|
10328
|
+
"signature": "previous(): Promise<void>",
|
|
10329
|
+
"params": [],
|
|
10330
|
+
"returns": "Promise<void>",
|
|
10331
|
+
"doc": "Clicks the previous button. Throws for a viewer of one image (it has none)."
|
|
10332
|
+
},
|
|
10333
|
+
{
|
|
10334
|
+
"name": "pressKey",
|
|
10335
|
+
"signature": "pressKey(key: 'ArrowLeft' | 'ArrowRight' | 'Home' | 'End' | 'Escape'): Promise<void>",
|
|
10336
|
+
"params": [
|
|
10337
|
+
{
|
|
10338
|
+
"name": "key",
|
|
10339
|
+
"type": "'ArrowLeft' | 'ArrowRight' | 'Home' | 'End' | 'Escape'",
|
|
10340
|
+
"optional": false,
|
|
10341
|
+
"doc": "The key to press."
|
|
10342
|
+
}
|
|
10343
|
+
],
|
|
10344
|
+
"returns": "Promise<void>",
|
|
10345
|
+
"doc": "Presses a key inside the viewer: ArrowLeft and ArrowRight step, Home and End jump, Escape\ncloses."
|
|
10346
|
+
},
|
|
10347
|
+
{
|
|
10348
|
+
"name": "close",
|
|
10349
|
+
"signature": "close(): Promise<void>",
|
|
10350
|
+
"params": [],
|
|
10351
|
+
"returns": "Promise<void>",
|
|
10352
|
+
"doc": "Clicks the close button."
|
|
10353
|
+
}
|
|
10354
|
+
],
|
|
10355
|
+
"slots": [],
|
|
10356
|
+
"references": [],
|
|
10357
|
+
"usedBy": [],
|
|
10358
|
+
"since": "0.5.0",
|
|
10359
|
+
"signature": "class BfImageViewerHarness extends ComponentHarness"
|
|
10360
|
+
},
|
|
9153
10361
|
{
|
|
9154
10362
|
"name": "BfJsdomShimOptions",
|
|
9155
10363
|
"slug": "bf-jsdom-shim-options",
|
|
@@ -9184,6 +10392,100 @@
|
|
|
9184
10392
|
"usedBy": ["install-bf-jsdom-shims"],
|
|
9185
10393
|
"since": "0.3.0"
|
|
9186
10394
|
},
|
|
10395
|
+
{
|
|
10396
|
+
"name": "BfMediaCardHarness",
|
|
10397
|
+
"slug": "bf-media-card-harness",
|
|
10398
|
+
"kind": "class",
|
|
10399
|
+
"entryPoint": "@bitforgehq/ui/testing",
|
|
10400
|
+
"file": "testing/harnesses/media-card.harness.ts",
|
|
10401
|
+
"summary": "Test harness for a media card: its image state, its messages and its selection",
|
|
10402
|
+
"description": "Harness for `bf-media-card`. jsdom never loads images, so `loadImage()` and `failImage()` fire\nthe image's `load` and `error` events the way a browser would; `getState()` then tells what the\nimage area shows.",
|
|
10403
|
+
"members": [],
|
|
10404
|
+
"methods": [
|
|
10405
|
+
{
|
|
10406
|
+
"name": "getTitle",
|
|
10407
|
+
"signature": "getTitle(): Promise<string>",
|
|
10408
|
+
"params": [],
|
|
10409
|
+
"returns": "Promise<string>",
|
|
10410
|
+
"doc": "The card's title: the text of the first heading in its body."
|
|
10411
|
+
},
|
|
10412
|
+
{
|
|
10413
|
+
"name": "getState",
|
|
10414
|
+
"signature": "getState(): Promise<'empty' | 'loading' | 'loaded' | 'failed'>",
|
|
10415
|
+
"params": [],
|
|
10416
|
+
"returns": "Promise<'empty' | 'loading' | 'loaded' | 'failed'>",
|
|
10417
|
+
"doc": "What the image area shows: `empty` (no `src`, not loading), `loading` (the skeleton),\n`loaded` (the image) or `failed` (the failure message)."
|
|
10418
|
+
},
|
|
10419
|
+
{
|
|
10420
|
+
"name": "getSrc",
|
|
10421
|
+
"signature": "getSrc(): Promise<string>",
|
|
10422
|
+
"params": [],
|
|
10423
|
+
"returns": "Promise<string>",
|
|
10424
|
+
"doc": "The URL of the image."
|
|
10425
|
+
},
|
|
10426
|
+
{
|
|
10427
|
+
"name": "getAlt",
|
|
10428
|
+
"signature": "getAlt(): Promise<string>",
|
|
10429
|
+
"params": [],
|
|
10430
|
+
"returns": "Promise<string>",
|
|
10431
|
+
"doc": "The alternative text of the image."
|
|
10432
|
+
},
|
|
10433
|
+
{
|
|
10434
|
+
"name": "getLoadingLabel",
|
|
10435
|
+
"signature": "getLoadingLabel(): Promise<string>",
|
|
10436
|
+
"params": [],
|
|
10437
|
+
"returns": "Promise<string>",
|
|
10438
|
+
"doc": "The caption over the skeleton while loading (the `loading` label when none is set)."
|
|
10439
|
+
},
|
|
10440
|
+
{
|
|
10441
|
+
"name": "getFailedMessage",
|
|
10442
|
+
"signature": "getFailedMessage(): Promise<string>",
|
|
10443
|
+
"params": [],
|
|
10444
|
+
"returns": "Promise<string>",
|
|
10445
|
+
"doc": "The failure message."
|
|
10446
|
+
},
|
|
10447
|
+
{
|
|
10448
|
+
"name": "loadImage",
|
|
10449
|
+
"signature": "loadImage(): Promise<void>",
|
|
10450
|
+
"params": [],
|
|
10451
|
+
"returns": "Promise<void>",
|
|
10452
|
+
"doc": "Fires the image's `load` event, as a browser does when it arrives. Throws without one."
|
|
10453
|
+
},
|
|
10454
|
+
{
|
|
10455
|
+
"name": "failImage",
|
|
10456
|
+
"signature": "failImage(): Promise<void>",
|
|
10457
|
+
"params": [],
|
|
10458
|
+
"returns": "Promise<void>",
|
|
10459
|
+
"doc": "Fires the image's `error` event, as a browser does when it fails. Throws without one."
|
|
10460
|
+
},
|
|
10461
|
+
{
|
|
10462
|
+
"name": "isSelectable",
|
|
10463
|
+
"signature": "isSelectable(): Promise<boolean>",
|
|
10464
|
+
"params": [],
|
|
10465
|
+
"returns": "Promise<boolean>",
|
|
10466
|
+
"doc": "Whether the card has a select button (`selectable`)."
|
|
10467
|
+
},
|
|
10468
|
+
{
|
|
10469
|
+
"name": "isSelected",
|
|
10470
|
+
"signature": "isSelected(): Promise<boolean>",
|
|
10471
|
+
"params": [],
|
|
10472
|
+
"returns": "Promise<boolean>",
|
|
10473
|
+
"doc": "Whether the card is selected (its select button is pressed)."
|
|
10474
|
+
},
|
|
10475
|
+
{
|
|
10476
|
+
"name": "toggleSelected",
|
|
10477
|
+
"signature": "toggleSelected(): Promise<void>",
|
|
10478
|
+
"params": [],
|
|
10479
|
+
"returns": "Promise<void>",
|
|
10480
|
+
"doc": "Clicks the select button, toggling the selection. Throws for a card that is not selectable."
|
|
10481
|
+
}
|
|
10482
|
+
],
|
|
10483
|
+
"slots": [],
|
|
10484
|
+
"references": [],
|
|
10485
|
+
"usedBy": [],
|
|
10486
|
+
"since": "0.5.0",
|
|
10487
|
+
"signature": "class BfMediaCardHarness extends ComponentHarness"
|
|
10488
|
+
},
|
|
9187
10489
|
{
|
|
9188
10490
|
"name": "BfMenuButtonHarness",
|
|
9189
10491
|
"slug": "bf-menu-button-harness",
|
|
@@ -9624,7 +10926,7 @@
|
|
|
9624
10926
|
"entryPoint": "@bitforgehq/ui/testing",
|
|
9625
10927
|
"file": "testing/harnesses/select.harness.ts",
|
|
9626
10928
|
"summary": "Test harness for the select: reads its label and options and picks one",
|
|
9627
|
-
"description": "Harness for `bf-select`. It works by option
|
|
10929
|
+
"description": "Harness for `bf-select`, in both modes: the styled list under a mouse (its options render in the\nCDK overlay container while open, found through the field's `aria-controls`) and the native\n`<select>` under a coarse pointer. It also drives the native select with `data-bf-select` that a\nstacked `bf-table` renders as its Sort by select without `provideBfSelect()`. It works by option\nlabel, so a test never needs the option values (an object option's native value is its index).",
|
|
9628
10930
|
"members": [],
|
|
9629
10931
|
"methods": [
|
|
9630
10932
|
{
|
|
@@ -9634,6 +10936,13 @@
|
|
|
9634
10936
|
"returns": "Promise<string>",
|
|
9635
10937
|
"doc": "The visible label without the required mark, else the `aria-label`."
|
|
9636
10938
|
},
|
|
10939
|
+
{
|
|
10940
|
+
"name": "isOpen",
|
|
10941
|
+
"signature": "isOpen(): Promise<boolean>",
|
|
10942
|
+
"params": [],
|
|
10943
|
+
"returns": "Promise<boolean>",
|
|
10944
|
+
"doc": "Whether the styled option list is open (`aria-expanded`). Always false for the native select,\nwhose list belongs to the platform."
|
|
10945
|
+
},
|
|
9637
10946
|
{
|
|
9638
10947
|
"name": "getValueLabel",
|
|
9639
10948
|
"signature": "getValueLabel(): Promise<string>",
|
|
@@ -9660,7 +10969,7 @@
|
|
|
9660
10969
|
}
|
|
9661
10970
|
],
|
|
9662
10971
|
"returns": "Promise<void>",
|
|
9663
|
-
"doc": "Chooses the option with this label, as a user would: the select's `value` becomes that\noption's value. Throws, leaving the value as it is, for an unknown or disabled option and\nwhile the select itself is disabled."
|
|
10972
|
+
"doc": "Chooses the option with this label, as a user would: the select's `value` becomes that\noption's value. Throws, leaving the value as it is, for an unknown or disabled option and\nwhile the select itself is disabled. On a read-only select it changes nothing, in both modes:\nthe styled list does not open, and the native select restores the shown option."
|
|
9664
10973
|
},
|
|
9665
10974
|
{
|
|
9666
10975
|
"name": "isDisabled",
|
|
@@ -9702,14 +11011,14 @@
|
|
|
9702
11011
|
"signature": "focus(): Promise<void>",
|
|
9703
11012
|
"params": [],
|
|
9704
11013
|
"returns": "Promise<void>",
|
|
9705
|
-
"doc": "Focuses the native select."
|
|
11014
|
+
"doc": "Focuses the field, or the native select."
|
|
9706
11015
|
},
|
|
9707
11016
|
{
|
|
9708
11017
|
"name": "blur",
|
|
9709
11018
|
"signature": "blur(): Promise<void>",
|
|
9710
11019
|
"params": [],
|
|
9711
11020
|
"returns": "Promise<void>",
|
|
9712
|
-
"doc": "Blurs the native select, which marks a bound form field touched."
|
|
11021
|
+
"doc": "Blurs the field, or the native select, which marks a bound form field touched."
|
|
9713
11022
|
}
|
|
9714
11023
|
],
|
|
9715
11024
|
"slots": [],
|