@bitforgehq/ui 0.3.0
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 +3665 -0
- package/LICENSE +21 -0
- package/README.md +175 -0
- package/ai/MANIFEST.index.json +383 -0
- package/ai/MANIFEST.json +7528 -0
- package/ai/REFERENCE.index.json +1461 -0
- package/ai/REFERENCE.json +7213 -0
- package/ai/UI_GUIDE.md +1159 -0
- package/ai/components/action-bar.md +209 -0
- package/ai/components/action-sheet.md +526 -0
- package/ai/components/alert-dialog.md +509 -0
- package/ai/components/alert.md +376 -0
- package/ai/components/avatar.md +146 -0
- package/ai/components/back-button.md +286 -0
- package/ai/components/badge.md +171 -0
- package/ai/components/button.md +431 -0
- package/ai/components/card.md +303 -0
- package/ai/components/checkbox.md +418 -0
- package/ai/components/chip-group.md +205 -0
- package/ai/components/chip.md +300 -0
- package/ai/components/content.md +474 -0
- package/ai/components/desktop-toast.md +420 -0
- package/ai/components/dialog.md +962 -0
- package/ai/components/empty-state.md +146 -0
- package/ai/components/field.md +319 -0
- package/ai/components/header.md +809 -0
- package/ai/components/icon-button.md +221 -0
- package/ai/components/icon.md +176 -0
- package/ai/components/input.md +455 -0
- package/ai/components/list-item.md +326 -0
- package/ai/components/list.md +178 -0
- package/ai/components/menu-button.md +377 -0
- package/ai/components/menu.md +661 -0
- package/ai/components/modal.md +613 -0
- package/ai/components/number-input.md +423 -0
- package/ai/components/page.md +299 -0
- package/ai/components/progress.md +215 -0
- package/ai/components/radio-group.md +432 -0
- package/ai/components/refresher.md +377 -0
- package/ai/components/segmented.md +517 -0
- package/ai/components/select.md +510 -0
- package/ai/components/sheet.md +845 -0
- package/ai/components/spinner.md +171 -0
- package/ai/components/stack-outlet.md +661 -0
- package/ai/components/tab-bar.md +427 -0
- package/ai/components/tab.md +295 -0
- package/ai/components/tabs.md +408 -0
- package/ai/components/textarea.md +371 -0
- package/ai/components/toast.md +522 -0
- package/ai/components/toggle.md +387 -0
- package/ai/reference/bf-action-directive.md +21 -0
- package/ai/reference/bf-action-sheet-action-role.md +27 -0
- package/ai/reference/bf-action-sheet-action.md +28 -0
- package/ai/reference/bf-action-sheet-options.md +28 -0
- package/ai/reference/bf-action-sheet-service.md +33 -0
- package/ai/reference/bf-alert-dialog-button-role.md +27 -0
- package/ai/reference/bf-alert-dialog-button.md +27 -0
- package/ai/reference/bf-alert-dialog-options.md +29 -0
- package/ai/reference/bf-alert-dialog-service.md +34 -0
- package/ai/reference/bf-alert-variant.md +28 -0
- package/ai/reference/bf-autocapitalize.md +30 -0
- package/ai/reference/bf-avatar-size.md +27 -0
- package/ai/reference/bf-avatar-variant.md +28 -0
- package/ai/reference/bf-back-at-root.md +28 -0
- package/ai/reference/bf-back-button-service.md +40 -0
- package/ai/reference/bf-badge-variant.md +29 -0
- package/ai/reference/bf-button-size.md +29 -0
- package/ai/reference/bf-button-type.md +28 -0
- package/ai/reference/bf-button-variant.md +29 -0
- package/ai/reference/bf-card-padding.md +26 -0
- package/ai/reference/bf-card-variant.md +28 -0
- package/ai/reference/bf-chip-group-mode.md +27 -0
- package/ai/reference/bf-chip-variant.md +26 -0
- package/ai/reference/bf-compare-with.md +24 -0
- package/ai/reference/bf-component-overlay-ref.md +33 -0
- package/ai/reference/bf-confirm-button-role.md +26 -0
- package/ai/reference/bf-confirm-button.md +27 -0
- package/ai/reference/bf-confirm-options.md +31 -0
- package/ai/reference/bf-confirm-size.md +26 -0
- package/ai/reference/bf-content-scroll-event.md +21 -0
- package/ai/reference/bf-defaults-options.md +32 -0
- package/ai/reference/bf-defaults.md +28 -0
- package/ai/reference/bf-desktop-toast-config.md +28 -0
- package/ai/reference/bf-desktop-toast-harness.md +33 -0
- package/ai/reference/bf-desktop-toast-options.md +28 -0
- package/ai/reference/bf-desktop-toast-position.md +28 -0
- package/ai/reference/bf-desktop-toast-service.md +42 -0
- package/ai/reference/bf-dialog-config.md +44 -0
- package/ai/reference/bf-dialog-harness.md +52 -0
- package/ai/reference/bf-dialog-ref.md +44 -0
- package/ai/reference/bf-dialog-role.md +26 -0
- package/ai/reference/bf-dialog-service.md +55 -0
- package/ai/reference/bf-dialog-size.md +31 -0
- package/ai/reference/bf-dialog-template-context.md +32 -0
- package/ai/reference/bf-empty-state-heading-level.md +26 -0
- package/ai/reference/bf-enter-key-hint.md +31 -0
- package/ai/reference/bf-field-control-class.md +32 -0
- package/ai/reference/bf-field-control-state.md +28 -0
- package/ai/reference/bf-field-size.md +29 -0
- package/ai/reference/bf-haptics-impact-style.md +27 -0
- package/ai/reference/bf-haptics-notification-type.md +27 -0
- package/ai/reference/bf-haptics-service.md +41 -0
- package/ai/reference/bf-harness-filters.md +29 -0
- package/ai/reference/bf-horizontal-scroll-directive.md +129 -0
- package/ai/reference/bf-icon-button-variant.md +28 -0
- package/ai/reference/bf-icon-size.md +27 -0
- package/ai/reference/bf-input-autocapitalize.md +36 -0
- package/ai/reference/bf-input-enter-key-hint.md +38 -0
- package/ai/reference/bf-input-input-mode.md +38 -0
- package/ai/reference/bf-input-mode.md +32 -0
- package/ai/reference/bf-input-type.md +35 -0
- package/ai/reference/bf-jsdom-shim-options.md +22 -0
- package/ai/reference/bf-keyboard-assist-behavior.md +26 -0
- package/ai/reference/bf-keyboard-assist-directive.md +185 -0
- package/ai/reference/bf-keyboard-phase.md +30 -0
- package/ai/reference/bf-keyboard-service.md +50 -0
- package/ai/reference/bf-labels-overrides.md +26 -0
- package/ai/reference/bf-labels.md +44 -0
- package/ai/reference/bf-menu-button-harness.md +40 -0
- package/ai/reference/bf-menu-button-variant.md +27 -0
- package/ai/reference/bf-menu-divider-directive.md +13 -0
- package/ai/reference/bf-menu-group-directive.md +14 -0
- package/ai/reference/bf-menu-harness.md +55 -0
- package/ai/reference/bf-menu-item-checkbox-directive.md +31 -0
- package/ai/reference/bf-menu-item-directive.md +31 -0
- package/ai/reference/bf-menu-item-harness.md +52 -0
- package/ai/reference/bf-menu-item-radio-directive.md +29 -0
- package/ai/reference/bf-menu-placement.md +29 -0
- package/ai/reference/bf-menu-trigger-directive.md +46 -0
- package/ai/reference/bf-modal-options.md +30 -0
- package/ai/reference/bf-modal-presentation.md +26 -0
- package/ai/reference/bf-modal-service.md +38 -0
- package/ai/reference/bf-nav-controller.md +59 -0
- package/ai/reference/bf-nav-direction.md +23 -0
- package/ai/reference/bf-nav-target.md +21 -0
- package/ai/reference/bf-number-input-mode.md +28 -0
- package/ai/reference/bf-number-input-step.md +25 -0
- package/ai/reference/bf-overlay-auto-focus.md +29 -0
- package/ai/reference/bf-overlay-controller.md +22 -0
- package/ai/reference/bf-overlay-host.md +36 -0
- package/ai/reference/bf-overlay-options.md +53 -0
- package/ai/reference/bf-overlay-position.md +30 -0
- package/ai/reference/bf-overlay-ref.md +53 -0
- package/ai/reference/bf-overlay-role.md +27 -0
- package/ai/reference/bf-overlay-service.md +53 -0
- package/ai/reference/bf-overlay-stack-options.md +24 -0
- package/ai/reference/bf-overlay-stack.md +81 -0
- package/ai/reference/bf-overlay-template-context.md +24 -0
- package/ai/reference/bf-overscroll-stretch-directive.md +163 -0
- package/ai/reference/bf-page-context.md +24 -0
- package/ai/reference/bf-platform-service.md +53 -0
- package/ai/reference/bf-platform.md +28 -0
- package/ai/reference/bf-progress-size.md +26 -0
- package/ai/reference/bf-progress-tone.md +28 -0
- package/ai/reference/bf-radio-group-harness.md +49 -0
- package/ai/reference/bf-radio-group-orientation.md +26 -0
- package/ai/reference/bf-radio-option.md +30 -0
- package/ai/reference/bf-refresher-refresh-event.md +22 -0
- package/ai/reference/bf-segment-option.md +29 -0
- package/ai/reference/bf-segmented-harness.md +48 -0
- package/ai/reference/bf-segmented-size.md +29 -0
- package/ai/reference/bf-select-harness.md +70 -0
- package/ai/reference/bf-select-option.md +29 -0
- package/ai/reference/bf-sheet-auto-focus.md +29 -0
- package/ai/reference/bf-sheet-options.md +32 -0
- package/ai/reference/bf-sheet-ref.md +45 -0
- package/ai/reference/bf-sheet-service.md +34 -0
- package/ai/reference/bf-shell-config-mode.md +28 -0
- package/ai/reference/bf-shell-config.md +38 -0
- package/ai/reference/bf-shell-dynamic-type-limit.md +21 -0
- package/ai/reference/bf-shell-dynamic-type.md +25 -0
- package/ai/reference/bf-shell-mode.md +28 -0
- package/ai/reference/bf-shell-testing-options.md +26 -0
- package/ai/reference/bf-size.md +45 -0
- package/ai/reference/bf-spinner-size.md +27 -0
- package/ai/reference/bf-stack-change.md +22 -0
- package/ai/reference/bf-stack-reuse-strategy.md +32 -0
- package/ai/reference/bf-stack-transition-event.md +26 -0
- package/ai/reference/bf-stack-transition.md +26 -0
- package/ai/reference/bf-stacked-overlay.md +23 -0
- package/ai/reference/bf-system-bars-style.md +38 -0
- package/ai/reference/bf-tab-bar-controller.md +51 -0
- package/ai/reference/bf-tab-bar-host.md +52 -0
- package/ai/reference/bf-tab-context.md +32 -0
- package/ai/reference/bf-tab-links.md +37 -0
- package/ai/reference/bf-testing-options.md +27 -0
- package/ai/reference/bf-text-scale-service.md +35 -0
- package/ai/reference/bf-theme.md +27 -0
- package/ai/reference/bf-toast-action.md +25 -0
- package/ai/reference/bf-toast-controller.md +17 -0
- package/ai/reference/bf-toast-dismiss-reason.md +29 -0
- package/ai/reference/bf-toast-options.md +29 -0
- package/ai/reference/bf-toast-position.md +26 -0
- package/ai/reference/bf-toast-ref.md +41 -0
- package/ai/reference/bf-toast-service.md +39 -0
- package/ai/reference/bf-toggle-label-position.md +26 -0
- package/ai/reference/bf-transition-kind.md +28 -0
- package/ai/reference/bf-validation-message.md +31 -0
- package/ai/reference/bf-validation-messages.md +33 -0
- package/ai/reference/bf-view-event.md +28 -0
- package/ai/reference/bf-view-lifecycle.md +41 -0
- package/ai/reference/bf-view-state.md +28 -0
- package/ai/reference/bf_default_labels.md +21 -0
- package/ai/reference/bf_default_values.md +21 -0
- package/ai/reference/bf_defaults.md +21 -0
- package/ai/reference/bf_desktop_toast_defaults.md +21 -0
- package/ai/reference/bf_dialog_data.md +17 -0
- package/ai/reference/bf_labels.md +21 -0
- package/ai/reference/bf_overlay_data.md +19 -0
- package/ai/reference/bf_overlay_host.md +21 -0
- package/ai/reference/bf_sheet_default_snap_points.md +17 -0
- package/ai/reference/bf_shell_config.md +21 -0
- package/ai/reference/bf_shell_defaults.md +21 -0
- package/ai/reference/bf_tab_bar.md +21 -0
- package/ai/reference/bf_tab_bar_controller.md +21 -0
- package/ai/reference/bf_tab_context.md +21 -0
- package/ai/reference/bf_tab_links.md +21 -0
- package/ai/reference/bf_theme_storage.md +19 -0
- package/ai/reference/create-transition.md +36 -0
- package/ai/reference/duration_fast.md +17 -0
- package/ai/reference/duration_md.md +17 -0
- package/ai/reference/duration_overlay.md +17 -0
- package/ai/reference/duration_push.md +17 -0
- package/ai/reference/fade-down.md +26 -0
- package/ai/reference/fade-in.md +25 -0
- package/ai/reference/fade-out.md +25 -0
- package/ai/reference/fade-up.md +26 -0
- package/ai/reference/inject-shell-mode.md +23 -0
- package/ai/reference/install-bf-jsdom-shims.md +31 -0
- package/ai/reference/ios_duration.md +17 -0
- package/ai/reference/ios_easing.md +17 -0
- package/ai/reference/is-text-entry.md +25 -0
- package/ai/reference/max_complete_ms.md +17 -0
- package/ai/reference/md-transition.md +31 -0
- package/ai/reference/md_duration.md +17 -0
- package/ai/reference/md_easing.md +17 -0
- package/ai/reference/overlay_duration.md +21 -0
- package/ai/reference/overlay_easing.md +19 -0
- package/ai/reference/overlay_reduced_duration.md +17 -0
- package/ai/reference/pop-frames-at.md +25 -0
- package/ai/reference/prefers-reduced-motion.md +25 -0
- package/ai/reference/provide-bf-defaults.md +33 -0
- package/ai/reference/provide-bf-desktop-toast.md +28 -0
- package/ai/reference/provide-bf-labels.md +38 -0
- package/ai/reference/provide-bf-shell-testing.md +34 -0
- package/ai/reference/provide-bf-shell.md +41 -0
- package/ai/reference/provide-bf-testing.md +33 -0
- package/ai/reference/reduced-transition.md +28 -0
- package/ai/reference/reduced_duration.md +17 -0
- package/ai/reference/resolve-shell-mode.md +33 -0
- package/ai/reference/scale-in.md +25 -0
- package/ai/reference/settle-duration.md +25 -0
- package/ai/reference/settle-pop.md +33 -0
- package/ai/reference/settle_easing.md +17 -0
- package/ai/reference/should-complete-pop.md +26 -0
- package/ai/reference/slide-down.md +26 -0
- package/ai/reference/slide-up.md +26 -0
- package/ai/reference/with-bf-shell-routing.md +19 -0
- package/bin/bf-ui.js +81 -0
- package/fesm2022/bitforgehq-ui-icons.mjs +230 -0
- package/fesm2022/bitforgehq-ui-icons.mjs.map +1 -0
- package/fesm2022/bitforgehq-ui-mobile.mjs +5530 -0
- package/fesm2022/bitforgehq-ui-mobile.mjs.map +1 -0
- package/fesm2022/bitforgehq-ui-number-input.mjs +680 -0
- package/fesm2022/bitforgehq-ui-number-input.mjs.map +1 -0
- package/fesm2022/bitforgehq-ui-overlay.mjs +2675 -0
- package/fesm2022/bitforgehq-ui-overlay.mjs.map +1 -0
- package/fesm2022/bitforgehq-ui-testing.mjs +402 -0
- package/fesm2022/bitforgehq-ui-testing.mjs.map +1 -0
- package/fesm2022/bitforgehq-ui.mjs +7765 -0
- package/fesm2022/bitforgehq-ui.mjs.map +1 -0
- package/llms-full.txt +25394 -0
- package/llms.txt +329 -0
- package/package.json +94 -0
- package/theme.css +253 -0
- package/types/bitforgehq-ui-icons.d.ts +50 -0
- package/types/bitforgehq-ui-mobile.d.ts +2914 -0
- package/types/bitforgehq-ui-number-input.d.ts +282 -0
- package/types/bitforgehq-ui-overlay.d.ts +1514 -0
- package/types/bitforgehq-ui-testing.d.ts +495 -0
- package/types/bitforgehq-ui.d.ts +3499 -0
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { FormValueControl, ValidationError } from "@angular/forms/signals";
|
|
2
|
+
import { BfInputEnterKeyHint, BfSize } from "@bitforgehq/ui";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* The `step` of a `bf-number-input`: a number, or `'any'` for no step check.
|
|
6
|
+
*
|
|
7
|
+
* @summary The step of a number field, a number or any for no step check
|
|
8
|
+
* @since 0.3.0
|
|
9
|
+
*/
|
|
10
|
+
type BfNumberInputStep = number | 'any';
|
|
11
|
+
/**
|
|
12
|
+
* The virtual keyboard of a `bf-number-input` (native `inputmode`); `''` picks one from `min` and
|
|
13
|
+
* `step`.
|
|
14
|
+
*
|
|
15
|
+
* @summary The virtual keyboards a number field can ask a phone to show
|
|
16
|
+
* @since 0.3.0
|
|
17
|
+
*/
|
|
18
|
+
type BfNumberInputMode = 'numeric' | 'decimal' | '';
|
|
19
|
+
/**
|
|
20
|
+
* Number field with the chrome of the text field that binds `number | null`: an empty field is
|
|
21
|
+
* `null`, text the browser cannot read as a number is a `parse` error, and Signal Forms `min()` and
|
|
22
|
+
* `max()` become the native `min` and `max`.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <bf-number-input label="Quantity" [min]="1" [max]="99" [(value)]="quantity" />
|
|
26
|
+
* <bf-number-input label="Age" [formField]="profile.age" />
|
|
27
|
+
* @summary Number field that binds number or null, with native min, max and step
|
|
28
|
+
* @category Forms
|
|
29
|
+
* @since 0.3.0
|
|
30
|
+
* @slot icon-start An icon inside the field, before the number.
|
|
31
|
+
* @slot icon-end An icon inside the field, after the number.
|
|
32
|
+
*/
|
|
33
|
+
export declare class BfNumberInputComponent implements FormValueControl<number | null> {
|
|
34
|
+
/** The number, `null` while the field is empty; two-way bindable and bound by `[formField]`. */
|
|
35
|
+
readonly value: import("@angular/core").ModelSignal<number | null>;
|
|
36
|
+
/** Lowest value (native `min`); bound by Signal Forms `min()`. */
|
|
37
|
+
readonly min: import("@angular/core").InputSignal<number | undefined>;
|
|
38
|
+
/** Highest value (native `max`); bound by Signal Forms `max()`. */
|
|
39
|
+
readonly max: import("@angular/core").InputSignal<number | undefined>;
|
|
40
|
+
/** Step of the arrow keys and spin buttons, and the native step check (e.g. `0.05` or `any`). */
|
|
41
|
+
readonly step: import("@angular/core").InputSignal<BfNumberInputStep | undefined>;
|
|
42
|
+
/** Height step: sm 32, md 40, lg 48 px; unset follows `provideBfDefaults()` (`fieldSize`, `md`
|
|
43
|
+
* by default). */
|
|
44
|
+
readonly size: import("@angular/core").InputSignal<BfSize | undefined>;
|
|
45
|
+
/** Visible label above the control. */
|
|
46
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
47
|
+
/** Accessible name when no visible label is rendered. Ignored when `label` is set. */
|
|
48
|
+
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
49
|
+
/**
|
|
50
|
+
* Id(s) of the element(s) that name the field when no visible label is rendered. Ignored when
|
|
51
|
+
* `label` is set.
|
|
52
|
+
*/
|
|
53
|
+
readonly ariaLabelledby: import("@angular/core").InputSignal<string>;
|
|
54
|
+
/** Example value shown while empty. */
|
|
55
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
56
|
+
/** Helper text under the control. */
|
|
57
|
+
readonly helpText: import("@angular/core").InputSignal<string>;
|
|
58
|
+
/** Explicit error text; takes precedence over Signal Forms and parse errors. */
|
|
59
|
+
readonly errorMessage: import("@angular/core").InputSignal<string>;
|
|
60
|
+
/** Disables the control. */
|
|
61
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
62
|
+
/** Makes the control read-only. */
|
|
63
|
+
readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
64
|
+
/** Marks the control required (label marker and native attribute). */
|
|
65
|
+
readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
66
|
+
/** Field validity from Signal Forms. */
|
|
67
|
+
readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
68
|
+
/** Whether the user has left the field; errors show only once touched. */
|
|
69
|
+
readonly touched: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
70
|
+
/** Validation errors from Signal Forms; the first message is shown once touched. */
|
|
71
|
+
readonly errors: import("@angular/core").InputSignal<readonly ValidationError.WithOptionalFieldTree[]>;
|
|
72
|
+
/** Native name attribute. */
|
|
73
|
+
readonly name: import("@angular/core").InputSignal<string>;
|
|
74
|
+
/** Control id; generated when not set. */
|
|
75
|
+
readonly id: import("@angular/core").InputSignal<string>;
|
|
76
|
+
/** Reserve space for an icon or unit in the `icon-start` slot. */
|
|
77
|
+
readonly iconStart: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
78
|
+
/** Reserve space for an icon or unit in the `icon-end` slot. */
|
|
79
|
+
readonly iconEnd: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
80
|
+
/** Native autocomplete hint. */
|
|
81
|
+
readonly autocomplete: import("@angular/core").InputSignal<string>;
|
|
82
|
+
/** Virtual keyboard; unset, a field with `min >= 0` gets `numeric` for an integer (or no) step and
|
|
83
|
+
* `decimal` otherwise, and any other field none (the full keyboard, which has a minus key). */
|
|
84
|
+
readonly inputMode: import("@angular/core").InputSignal<BfNumberInputMode>;
|
|
85
|
+
/** Label of the virtual keyboard's Enter key (native `enterkeyhint`). */
|
|
86
|
+
readonly enterKeyHint: import("@angular/core").InputSignal<BfInputEnterKeyHint>;
|
|
87
|
+
/** Emitted with the new value (`null` when emptied) right after the user changes it. */
|
|
88
|
+
readonly changed: import("@angular/core").OutputEmitterRef<number | null>;
|
|
89
|
+
/** Emitted when the control gains focus. */
|
|
90
|
+
readonly focused: import("@angular/core").OutputEmitterRef<FocusEvent>;
|
|
91
|
+
/** Emitted when the control loses focus. */
|
|
92
|
+
readonly blurred: import("@angular/core").OutputEmitterRef<FocusEvent>;
|
|
93
|
+
/** Emitted on blur so Signal Forms marks the field touched. */
|
|
94
|
+
readonly touch: import("@angular/core").OutputEmitterRef<void>;
|
|
95
|
+
private readonly el;
|
|
96
|
+
private readonly labels;
|
|
97
|
+
private readonly defaults;
|
|
98
|
+
/** Whether the last input was text the browser could not read as a number (`badInput`). */
|
|
99
|
+
private readonly badInput;
|
|
100
|
+
/** Whether the user has left the field; a parse error shows after that even without a form. */
|
|
101
|
+
private readonly left;
|
|
102
|
+
/** The text shown in the field, parsed into `value`; a parse error leaves the model unchanged. */
|
|
103
|
+
protected readonly raw: import("@angular/forms/signals").TransformedValueSignal<string>;
|
|
104
|
+
/** The size in effect: `size`, else the app's `fieldSize` default. */
|
|
105
|
+
protected readonly resolvedSize: import("@angular/core").Signal<BfSize>;
|
|
106
|
+
readonly iconStartClasses: import("@angular/core").Signal<string>;
|
|
107
|
+
readonly iconEndClasses: import("@angular/core").Signal<string>;
|
|
108
|
+
/** The form's errors plus the parse error, one per kind (a form already lists the parse error). */
|
|
109
|
+
private readonly allErrors;
|
|
110
|
+
readonly errorText: import("@angular/core").Signal<string>;
|
|
111
|
+
readonly showError: import("@angular/core").Signal<boolean>;
|
|
112
|
+
readonly describedBy: import("@angular/core").Signal<string | null>;
|
|
113
|
+
/** `aria-errormessage`: the error paragraph while `aria-invalid` is set. */
|
|
114
|
+
readonly errorMessageId: import("@angular/core").Signal<string | null>;
|
|
115
|
+
/**
|
|
116
|
+
* `aria-label` value: only when there is no visible label, so the label stays the sole accessible
|
|
117
|
+
* name.
|
|
118
|
+
*/
|
|
119
|
+
readonly ariaLabelAttr: import("@angular/core").Signal<string | null>;
|
|
120
|
+
/** `aria-labelledby` value, under the same rule as `ariaLabelAttr`. */
|
|
121
|
+
readonly ariaLabelledbyAttr: import("@angular/core").Signal<string | null>;
|
|
122
|
+
/**
|
|
123
|
+
* `inputmode`: the explicit one; else, only when negatives are ruled out (`min >= 0`), `numeric`
|
|
124
|
+
* for an integer (or no) step and `decimal` otherwise, since neither iOS pad has a minus key;
|
|
125
|
+
* else none.
|
|
126
|
+
*/
|
|
127
|
+
readonly inputModeAttr: import("@angular/core").Signal<"numeric" | "decimal" | null>;
|
|
128
|
+
readonly classes: import("@angular/core").Signal<string>;
|
|
129
|
+
/**
|
|
130
|
+
* Unreadable text stays on screen while the model keeps its number, so a reset to that same
|
|
131
|
+
* number (a form `reset()`) changes no binding. When the parse error is cleared that way, write
|
|
132
|
+
* the number back into the field and forget the bad input.
|
|
133
|
+
*/
|
|
134
|
+
private readonly clearBadText;
|
|
135
|
+
/**
|
|
136
|
+
* Focuses the native input; Signal Forms calls it from `focusBoundControl()`.
|
|
137
|
+
* @param options Passed on to the native `focus()`, such as `{ preventScroll: true }`.
|
|
138
|
+
*/
|
|
139
|
+
focus(options?: FocusOptions): void;
|
|
140
|
+
/**
|
|
141
|
+
* Parses the typed text. Unreadable text reads as `''` with `validity.badInput`; the shown text
|
|
142
|
+
* is then kept as it is (writing `''` back would wipe what the user typed) and a parse error set.
|
|
143
|
+
* Emits `changed` when the text parses to a new value.
|
|
144
|
+
* @internal
|
|
145
|
+
*/
|
|
146
|
+
onInput(el: HTMLInputElement): void;
|
|
147
|
+
/**
|
|
148
|
+
* Emits `blurred` and `touch` (the field is touched), and shows errors from then on.
|
|
149
|
+
* @internal
|
|
150
|
+
*/
|
|
151
|
+
onBlur(event: FocusEvent): void;
|
|
152
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BfNumberInputComponent, never>;
|
|
153
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BfNumberInputComponent, "bf-number-input", never, {
|
|
154
|
+
"value": {
|
|
155
|
+
"alias": "value";
|
|
156
|
+
"required": false;
|
|
157
|
+
"isSignal": true;
|
|
158
|
+
};
|
|
159
|
+
"min": {
|
|
160
|
+
"alias": "min";
|
|
161
|
+
"required": false;
|
|
162
|
+
"isSignal": true;
|
|
163
|
+
};
|
|
164
|
+
"max": {
|
|
165
|
+
"alias": "max";
|
|
166
|
+
"required": false;
|
|
167
|
+
"isSignal": true;
|
|
168
|
+
};
|
|
169
|
+
"step": {
|
|
170
|
+
"alias": "step";
|
|
171
|
+
"required": false;
|
|
172
|
+
"isSignal": true;
|
|
173
|
+
};
|
|
174
|
+
"size": {
|
|
175
|
+
"alias": "size";
|
|
176
|
+
"required": false;
|
|
177
|
+
"isSignal": true;
|
|
178
|
+
};
|
|
179
|
+
"label": {
|
|
180
|
+
"alias": "label";
|
|
181
|
+
"required": false;
|
|
182
|
+
"isSignal": true;
|
|
183
|
+
};
|
|
184
|
+
"ariaLabel": {
|
|
185
|
+
"alias": "ariaLabel";
|
|
186
|
+
"required": false;
|
|
187
|
+
"isSignal": true;
|
|
188
|
+
};
|
|
189
|
+
"ariaLabelledby": {
|
|
190
|
+
"alias": "ariaLabelledby";
|
|
191
|
+
"required": false;
|
|
192
|
+
"isSignal": true;
|
|
193
|
+
};
|
|
194
|
+
"placeholder": {
|
|
195
|
+
"alias": "placeholder";
|
|
196
|
+
"required": false;
|
|
197
|
+
"isSignal": true;
|
|
198
|
+
};
|
|
199
|
+
"helpText": {
|
|
200
|
+
"alias": "helpText";
|
|
201
|
+
"required": false;
|
|
202
|
+
"isSignal": true;
|
|
203
|
+
};
|
|
204
|
+
"errorMessage": {
|
|
205
|
+
"alias": "errorMessage";
|
|
206
|
+
"required": false;
|
|
207
|
+
"isSignal": true;
|
|
208
|
+
};
|
|
209
|
+
"disabled": {
|
|
210
|
+
"alias": "disabled";
|
|
211
|
+
"required": false;
|
|
212
|
+
"isSignal": true;
|
|
213
|
+
};
|
|
214
|
+
"readonly": {
|
|
215
|
+
"alias": "readonly";
|
|
216
|
+
"required": false;
|
|
217
|
+
"isSignal": true;
|
|
218
|
+
};
|
|
219
|
+
"required": {
|
|
220
|
+
"alias": "required";
|
|
221
|
+
"required": false;
|
|
222
|
+
"isSignal": true;
|
|
223
|
+
};
|
|
224
|
+
"invalid": {
|
|
225
|
+
"alias": "invalid";
|
|
226
|
+
"required": false;
|
|
227
|
+
"isSignal": true;
|
|
228
|
+
};
|
|
229
|
+
"touched": {
|
|
230
|
+
"alias": "touched";
|
|
231
|
+
"required": false;
|
|
232
|
+
"isSignal": true;
|
|
233
|
+
};
|
|
234
|
+
"errors": {
|
|
235
|
+
"alias": "errors";
|
|
236
|
+
"required": false;
|
|
237
|
+
"isSignal": true;
|
|
238
|
+
};
|
|
239
|
+
"name": {
|
|
240
|
+
"alias": "name";
|
|
241
|
+
"required": false;
|
|
242
|
+
"isSignal": true;
|
|
243
|
+
};
|
|
244
|
+
"id": {
|
|
245
|
+
"alias": "id";
|
|
246
|
+
"required": false;
|
|
247
|
+
"isSignal": true;
|
|
248
|
+
};
|
|
249
|
+
"iconStart": {
|
|
250
|
+
"alias": "iconStart";
|
|
251
|
+
"required": false;
|
|
252
|
+
"isSignal": true;
|
|
253
|
+
};
|
|
254
|
+
"iconEnd": {
|
|
255
|
+
"alias": "iconEnd";
|
|
256
|
+
"required": false;
|
|
257
|
+
"isSignal": true;
|
|
258
|
+
};
|
|
259
|
+
"autocomplete": {
|
|
260
|
+
"alias": "autocomplete";
|
|
261
|
+
"required": false;
|
|
262
|
+
"isSignal": true;
|
|
263
|
+
};
|
|
264
|
+
"inputMode": {
|
|
265
|
+
"alias": "inputMode";
|
|
266
|
+
"required": false;
|
|
267
|
+
"isSignal": true;
|
|
268
|
+
};
|
|
269
|
+
"enterKeyHint": {
|
|
270
|
+
"alias": "enterKeyHint";
|
|
271
|
+
"required": false;
|
|
272
|
+
"isSignal": true;
|
|
273
|
+
};
|
|
274
|
+
}, {
|
|
275
|
+
"value": "valueChange";
|
|
276
|
+
"changed": "changed";
|
|
277
|
+
"focused": "focused";
|
|
278
|
+
"blurred": "blurred";
|
|
279
|
+
"touch": "touch";
|
|
280
|
+
}, never, ["[bfSlot=icon-start]", "[bfSlot=icon-end]"], true, never>;
|
|
281
|
+
}
|
|
282
|
+
export type { BfNumberInputMode, BfNumberInputStep };
|