@fusion.dev/helix-headless 0.104.1 → 0.106.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/custom-elements.json +10386 -3813
- package/dist/accordion/item/accordion-item.d.ts +17 -16
- package/dist/accordion/root/accordion-root.d.ts +13 -17
- package/dist/announcement/root/announcement-root.d.ts +24 -31
- package/dist/app-header/root/app-header-root.d.ts +14 -14
- package/dist/area-chart/root/area-chart-root.d.ts +29 -48
- package/dist/avatar/group/avatar-group.d.ts +6 -8
- package/dist/avatar/root/avatar-root.d.ts +11 -11
- package/dist/badge/root/badge-root.d.ts +14 -15
- package/dist/bar-chart/root/bar-chart-root.d.ts +40 -44
- package/dist/blockquote/root/blockquote-root.d.ts +5 -7
- package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +25 -33
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +12 -11
- package/dist/button/root/button-root.d.ts +16 -17
- package/dist/button-group/root/button-group-root.d.ts +9 -10
- package/dist/callout/root/callout-root.d.ts +10 -15
- package/dist/canvas/edge/canvas-edge.d.ts +21 -21
- package/dist/canvas/node/canvas-node.d.ts +43 -45
- package/dist/canvas/root/canvas-root.d.ts +100 -99
- package/dist/card/root/card-root.d.ts +10 -12
- package/dist/carousel/root/carousel-root.d.ts +32 -33
- package/dist/chat/composer/chat-composer.d.ts +24 -26
- package/dist/chat/message/chat-message.d.ts +30 -33
- package/dist/chat/root/chat-root.d.ts +63 -80
- package/dist/checkbox/root/checkbox-root.d.ts +30 -32
- package/dist/checkbox-group/root/checkbox-group-root.d.ts +25 -25
- package/dist/code/root/code-root.d.ts +6 -10
- package/dist/code-block/root/code-block-root.d.ts +35 -48
- package/dist/color-input/root/color-input-root.d.ts +62 -56
- package/dist/color-input/root/color-input-root.js +3 -0
- package/dist/color-picker/root/color-picker-root.d.ts +61 -49
- package/dist/color-picker/root/color-picker-root.js +4 -0
- package/dist/combobox/root/combobox-root.d.ts +52 -53
- package/dist/command/root/command-root.d.ts +40 -40
- package/dist/command/root/command-root.js +1 -0
- package/dist/copy-button/root/copy-button-root.d.ts +24 -26
- package/dist/data-table/root/data-table-root.d.ts +106 -107
- package/dist/date-input/root/date-input-root.d.ts +54 -53
- package/dist/date-picker/root/date-picker-root.d.ts +25 -21
- package/dist/description-list/item/description-list-item.d.ts +7 -7
- package/dist/description-list/root/description-list-root.d.ts +10 -15
- package/dist/dialog/root/dialog-root.d.ts +22 -19
- package/dist/divider/root/divider-root.d.ts +12 -13
- package/dist/donut-chart/root/donut-chart-root.d.ts +19 -20
- package/dist/drawer/root/drawer-root.d.ts +19 -18
- package/dist/drilldown/item/drilldown-item.d.ts +28 -28
- package/dist/drilldown/root/drilldown-root.d.ts +22 -28
- package/dist/element-events.generated.js +19 -1
- package/dist/empty/root/empty-root.d.ts +16 -19
- package/dist/file-input/root/file-input-root.d.ts +32 -32
- package/dist/filter-input/chip/filter-chip.d.ts +36 -39
- package/dist/filter-input/field/filter-field.d.ts +25 -31
- package/dist/filter-input/menu/filter-menu.d.ts +50 -47
- package/dist/filter-input/operator/filter-operator.d.ts +15 -20
- package/dist/filter-input/root/filter-input-root.d.ts +80 -98
- package/dist/format-date/root/format-date-root.d.ts +19 -27
- package/dist/heatmap/root/heatmap-root.d.ts +40 -41
- package/dist/icon/root/icon-root.d.ts +21 -23
- package/dist/icon-button/root/icon-button-root.d.ts +12 -14
- package/dist/image/root/image-root.d.ts +30 -30
- package/dist/input/root/input-root.d.ts +36 -35
- package/dist/kbd/root/kbd-root.d.ts +13 -15
- package/dist/legend/root/legend-root.d.ts +18 -16
- package/dist/lightbox/item/lightbox-item.d.ts +13 -15
- package/dist/lightbox/root/lightbox-root.d.ts +40 -41
- package/dist/line-chart/root/line-chart-root.d.ts +20 -29
- package/dist/list/item/list-item.d.ts +17 -22
- package/dist/list/root/list-root.d.ts +6 -7
- package/dist/listbox/root/listbox-root.d.ts +42 -41
- package/dist/loader/root/loader-root.d.ts +16 -20
- package/dist/map/area/map-area.d.ts +48 -0
- package/dist/map/area/map-area.js +40 -0
- package/dist/map/buildings/map-buildings.d.ts +45 -0
- package/dist/map/buildings/map-buildings.js +37 -0
- package/dist/map/contours/map-contours.d.ts +61 -0
- package/dist/map/contours/map-contours.js +54 -0
- package/dist/map/index.d.ts +14 -0
- package/dist/map/index.js +10 -0
- package/dist/map/landcover/map-landcover.d.ts +47 -0
- package/dist/map/landcover/map-landcover.js +37 -0
- package/dist/map/marker/map-marker.d.ts +120 -0
- package/dist/map/marker/map-marker.js +109 -0
- package/dist/map/points/map-points.d.ts +139 -0
- package/dist/map/points/map-points.js +161 -0
- package/dist/map/position/map-position.d.ts +70 -0
- package/dist/map/position/map-position.js +89 -0
- package/dist/map/raster/map-raster.d.ts +84 -0
- package/dist/map/raster/map-raster.js +96 -0
- package/dist/map/root/map-root.d.ts +269 -52
- package/dist/map/root/map-root.js +473 -5
- package/dist/map/route/map-route.d.ts +73 -0
- package/dist/map/route/map-route.js +52 -0
- package/dist/map/terrain/map-terrain.d.ts +68 -0
- package/dist/map/terrain/map-terrain.js +58 -0
- package/dist/megamenu/root/megamenu-root.d.ts +27 -25
- package/dist/menu/item/menu-item.d.ts +30 -31
- package/dist/menu/root/menu-root.d.ts +25 -29
- package/dist/meter/root/meter-root.d.ts +22 -21
- package/dist/navigation/root/navigation-root.d.ts +13 -16
- package/dist/notifications/group/notification-group.d.ts +27 -28
- package/dist/notifications/notification/notification.d.ts +35 -42
- package/dist/notifications/root/notifications-root.d.ts +22 -24
- package/dist/number-input/root/number-input-root.d.ts +46 -50
- package/dist/object-inspector/root/object-inspector-root.d.ts +46 -58
- package/dist/option/group/option-group.d.ts +11 -11
- package/dist/option/root/option-root.d.ts +28 -33
- package/dist/outline/root/outline-root.d.ts +18 -17
- package/dist/pagination/root/pagination-root.d.ts +37 -39
- package/dist/pagination/size/pagination-size.d.ts +37 -43
- package/dist/pagination/summary/pagination-summary.d.ts +12 -14
- package/dist/pin-input/root/pin-input-root.d.ts +32 -38
- package/dist/popover/root/popover-root.d.ts +16 -21
- package/dist/progress/root/progress-root.d.ts +16 -14
- package/dist/qr-code/root/qr-code-root.d.ts +22 -25
- package/dist/quote/root/quote-root.d.ts +5 -6
- package/dist/radio/group/radio-group.d.ts +26 -28
- package/dist/radio/root/radio-root.d.ts +24 -28
- package/dist/rating/root/rating-root.d.ts +27 -30
- package/dist/scatter-chart/root/scatter-chart-root.d.ts +43 -55
- package/dist/scroll-area/root/scroll-area-root.d.ts +15 -21
- package/dist/select/root/select-root.d.ts +41 -44
- package/dist/skeleton/root/skeleton-root.d.ts +7 -8
- package/dist/skip-link/root/skip-link-root.d.ts +21 -28
- package/dist/slider/root/slider-root.d.ts +36 -39
- package/dist/sparkline/root/sparkline-root.d.ts +22 -28
- package/dist/speed-dial/item/speed-dial-item.d.ts +21 -21
- package/dist/speed-dial/root/speed-dial-root.d.ts +25 -27
- package/dist/splitter/root/splitter-root.d.ts +37 -41
- package/dist/stat/group/stat-group.d.ts +4 -4
- package/dist/stat/root/stat-root.d.ts +8 -9
- package/dist/steps/root/steps-root.d.ts +11 -14
- package/dist/steps/step/step.d.ts +22 -29
- package/dist/switch/root/switch-root.d.ts +20 -24
- package/dist/table/cell/table-cell.d.ts +18 -8
- package/dist/table/cell/table-cell.js +5 -1
- package/dist/table/column/table-column.d.ts +62 -55
- package/dist/table/root/table-root.d.ts +16 -17
- package/dist/table/row/table-row.d.ts +3 -3
- package/dist/tabs/panel/tab-panel.d.ts +3 -3
- package/dist/tabs/root/tabs-root.d.ts +19 -17
- package/dist/tabs/tab/tab.d.ts +6 -6
- package/dist/tag/root/tag-root.d.ts +11 -12
- package/dist/textarea/root/textarea-root.d.ts +29 -32
- package/dist/time-input/root/time-input-root.d.ts +70 -69
- package/dist/time-picker/root/time-picker-root.d.ts +58 -66
- package/dist/timeline/item/timeline-item.d.ts +18 -24
- package/dist/timeline/root/timeline-root.d.ts +13 -21
- package/dist/toast/item/toast-item.d.ts +21 -22
- package/dist/toast/root/toast-root.d.ts +18 -23
- package/dist/toggle/group/toggle-group.d.ts +23 -25
- package/dist/toggle/root/toggle-root.d.ts +8 -8
- package/dist/toolbar/root/toolbar-root.d.ts +7 -10
- package/dist/tooltip/root/tooltip-root.d.ts +41 -47
- package/dist/tour/root/tour-root.d.ts +24 -26
- package/dist/tour/stop/tour-stop.d.ts +39 -48
- package/dist/tree/item/tree-item.d.ts +23 -25
- package/dist/tree/root/tree-root.d.ts +13 -12
- package/dist/trend/root/trend-root.d.ts +18 -19
- package/dist/video/root/video-root.d.ts +108 -101
- package/dist/video-playlist/item/video-playlist-item.d.ts +23 -28
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +17 -21
- package/dist/video-playlist/root/video-playlist-root.d.ts +21 -25
- package/dist/virtual-list/root/virtual-list-root.d.ts +27 -26
- package/package.json +5 -5
- package/types/jsx.d.ts +14011 -11983
- package/types/svelte.d.ts +10 -0
- package/types/vue.d.ts +2143 -1497
|
@@ -5,25 +5,23 @@ import '../../tag/index.js';
|
|
|
5
5
|
import '../../time-picker/index.js';
|
|
6
6
|
declare const HelixHeadlessTimeInput_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinPickerEditingInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinPickerFieldInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerOpenInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinTokensInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerValueInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinFieldInterface) & typeof HelixFormElement;
|
|
7
7
|
/**
|
|
8
|
-
* @summary A time, typed or picked from a list.
|
|
8
|
+
* @summary A field for a time, typed or picked from a list.
|
|
9
9
|
*
|
|
10
10
|
* @description
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* The list is a `TimePicker`, which you can also use on its own, for example in
|
|
12
|
+
* a settings pane. This element adds the field, the overlay, and the form
|
|
13
|
+
* association, the same arrangement Date Input has with `DatePicker` and Color
|
|
14
|
+
* Input has with `ColorPicker`.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* reader says `09:07`. Neither is a worse version of the other: without the
|
|
19
|
-
* field a step is a cage, and without the list every common time is typed out.
|
|
16
|
+
* You can type a time or pick one. The list offers times at a step, and the
|
|
17
|
+
* field lets you enter any time, such as `09:07`.
|
|
20
18
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* string.
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
19
|
+
* The value is always `HH:mm` on a 24-hour clock, because that is what the form
|
|
20
|
+
* submits, what `min` and `max` compare against, and what sorts correctly as a
|
|
21
|
+
* string. While idle, the field shows the time in the user's locale format.
|
|
22
|
+
* Once the caret is in the field, it shows the value itself, because a
|
|
23
|
+
* formatted time such as `2:30 PM` cannot be typed back and `Intl` has no
|
|
24
|
+
* parser for it.
|
|
27
25
|
*
|
|
28
26
|
* @since 0.1.0
|
|
29
27
|
* @status stable
|
|
@@ -31,67 +29,67 @@ declare const HelixHeadlessTimeInput_base: (new (...args: any[]) => import("@fus
|
|
|
31
29
|
* @aliases TimeField, InputTime
|
|
32
30
|
* @documentation https://fusion.dev/helix/components/time-input
|
|
33
31
|
*
|
|
34
|
-
* @slot feedback -
|
|
32
|
+
* @slot feedback - The message that says what is wrong with the value.
|
|
35
33
|
* @slot hint - Help under the field.
|
|
36
|
-
* @slot trigger - The
|
|
34
|
+
* @slot trigger - The icon on the field that shows a list opens.
|
|
37
35
|
*
|
|
38
|
-
* @event {Event} change -
|
|
39
|
-
* @event {HelixBeforeChangeEvent} helix-before-change - Fired before the time changes. Cancelable:
|
|
40
|
-
* @event {HelixBeforeCloseEvent} helix-before-close - Fired before
|
|
41
|
-
* @event {HelixBeforeOpenEvent} helix-before-open - Fired before the list opens. Cancelable:
|
|
42
|
-
* @event {Event} input -
|
|
43
|
-
* @event {Event} toggle -
|
|
36
|
+
* @event {Event} change - Fired after the value changes.
|
|
37
|
+
* @event {HelixBeforeChangeEvent} helix-before-change - Fired before the time changes. Cancelable: canceling it stops the change and leaves the decision to you.
|
|
38
|
+
* @event {HelixBeforeCloseEvent} helix-before-close - Fired before the list closes. Cancelable: canceling it keeps the list open and leaves the decision to you.
|
|
39
|
+
* @event {HelixBeforeOpenEvent} helix-before-open - Fired before the list opens. Cancelable: canceling it keeps the list closed and leaves the decision to you.
|
|
40
|
+
* @event {Event} input - Fired after the value changes.
|
|
41
|
+
* @event {Event} toggle - Fired after the list opens or closes, with `newState` and `oldState`.
|
|
44
42
|
*
|
|
45
43
|
* @csspart control - The text input.
|
|
46
|
-
* @csspart feedback -
|
|
47
|
-
* @csspart field - The box
|
|
44
|
+
* @csspart feedback - The message that says what is wrong with the value.
|
|
45
|
+
* @csspart field - The box that holds the text and the trigger.
|
|
48
46
|
* @csspart hint - Help under the field, while nothing is wrong.
|
|
49
|
-
* @csspart label - The
|
|
50
|
-
* @csspart picker - The
|
|
51
|
-
* @csspart picker-column - One of
|
|
52
|
-
* @csspart picker-column-empty -
|
|
53
|
-
* @csspart picker-column-feedback -
|
|
54
|
-
* @csspart picker-column-filter-icon - The
|
|
55
|
-
* @csspart picker-column-filter-mark - The
|
|
47
|
+
* @csspart label - The label above the field.
|
|
48
|
+
* @csspart picker - The time picker inside the panel.
|
|
49
|
+
* @csspart picker-column - One column of the picker.
|
|
50
|
+
* @csspart picker-column-empty - The text shown when the filter hides every option.
|
|
51
|
+
* @csspart picker-column-feedback - The column's message that says what is wrong with the value.
|
|
52
|
+
* @csspart picker-column-filter-icon - The icon beside the filter field.
|
|
53
|
+
* @csspart picker-column-filter-mark - The default icon beside the filter field, shown when none is slotted.
|
|
56
54
|
* @csspart picker-column-hint - Help under the list.
|
|
57
|
-
* @csspart picker-column-items - The list
|
|
58
|
-
* @csspart picker-column-label - The
|
|
59
|
-
* @csspart picker-column-live - The inner column's `live
|
|
60
|
-
* @csspart picker-column-loading -
|
|
61
|
-
* @csspart picker-column-search - The region
|
|
62
|
-
* @csspart picker-column-search-field - The field
|
|
55
|
+
* @csspart picker-column-items - The list of options.
|
|
56
|
+
* @csspart picker-column-label - The label above the list.
|
|
57
|
+
* @csspart picker-column-live - The inner column's `live` part, the region screen readers announce its empty and loading text from.
|
|
58
|
+
* @csspart picker-column-loading - The text shown while the options load.
|
|
59
|
+
* @csspart picker-column-search - The region that holds the filter field.
|
|
60
|
+
* @csspart picker-column-search-field - The filter field.
|
|
63
61
|
* @csspart picker-columns - The row of columns, in `wheels`.
|
|
64
62
|
* @csspart picker-list - The listbox holding the times, in `list`.
|
|
65
|
-
* @csspart picker-list-empty -
|
|
66
|
-
* @csspart picker-list-feedback -
|
|
67
|
-
* @csspart picker-list-filter-icon - The
|
|
68
|
-
* @csspart picker-list-filter-mark - The
|
|
63
|
+
* @csspart picker-list-empty - The text shown when the filter hides every option.
|
|
64
|
+
* @csspart picker-list-feedback - The inner list's message that says what is wrong with the value.
|
|
65
|
+
* @csspart picker-list-filter-icon - The icon beside the filter field.
|
|
66
|
+
* @csspart picker-list-filter-mark - The default icon beside the filter field, shown when none is slotted.
|
|
69
67
|
* @csspart picker-list-hint - Help under the list.
|
|
70
|
-
* @csspart picker-list-items - The list
|
|
71
|
-
* @csspart picker-list-label - The
|
|
72
|
-
* @csspart picker-list-live - The inner list's `live
|
|
73
|
-
* @csspart picker-list-loading -
|
|
74
|
-
* @csspart picker-list-search - The region
|
|
75
|
-
* @csspart picker-list-search-field - The field
|
|
76
|
-
* @csspart picker-option - One time in
|
|
77
|
-
* @csspart picker-option-between - A time inside a chosen range,
|
|
78
|
-
* @csspart picker-option-description - The caption under the
|
|
68
|
+
* @csspart picker-list-items - The list of options.
|
|
69
|
+
* @csspart picker-list-label - The label above the list.
|
|
70
|
+
* @csspart picker-list-live - The inner list's `live` part, the region screen readers announce its empty and loading text from.
|
|
71
|
+
* @csspart picker-list-loading - The text shown while the options load.
|
|
72
|
+
* @csspart picker-list-search - The region that holds the filter field.
|
|
73
|
+
* @csspart picker-list-search-field - The filter field.
|
|
74
|
+
* @csspart picker-option - One time in the picker. Carries `data-between` inside a range.
|
|
75
|
+
* @csspart picker-option-between - A time inside a chosen range, between its two ends. Set together with `picker-option`.
|
|
76
|
+
* @csspart picker-option-description - The caption under the label, when there is one.
|
|
79
77
|
* @csspart picker-option-item - The row.
|
|
80
78
|
* @csspart picker-option-item-active - The row the keyboard is on.
|
|
81
79
|
* @csspart picker-option-item-selected - The row of a chosen time: the one time, or either end of a range.
|
|
82
|
-
* @csspart picker-option-label - The
|
|
83
|
-
* @csspart picker-option-text - The
|
|
84
|
-
* @csspart rest -
|
|
80
|
+
* @csspart picker-option-label - The option's label.
|
|
81
|
+
* @csspart picker-option-text - The label and the caption, as one column.
|
|
82
|
+
* @csspart rest - The count of times held beyond the ones shown. A `<button>` with `expandable`, and a `<span>` without it.
|
|
85
83
|
* @csspart surface - The floating panel.
|
|
86
84
|
* @csspart tags - The row the times sit in.
|
|
87
85
|
* @csspart time - One held time, as a tag, in `multiple`.
|
|
88
86
|
* @csspart time-dismiss - The remove button, when `dismissible`.
|
|
89
|
-
* @csspart time-dismiss-mark - The
|
|
87
|
+
* @csspart time-dismiss-mark - The default icon on the remove button, shown when none is slotted.
|
|
90
88
|
* @csspart time-start - The category before the label.
|
|
91
89
|
* @csspart trigger - The control that opens the list.
|
|
92
|
-
* @csspart trigger-icon - The
|
|
90
|
+
* @csspart trigger-icon - The icon on the button that opens the clock.
|
|
93
91
|
*
|
|
94
|
-
* @cssstate invalid -
|
|
92
|
+
* @cssstate invalid - The control has an error to show, from the browser's validation or from your `feedback`.
|
|
95
93
|
* @cssstate open - While the clock is open.
|
|
96
94
|
*/
|
|
97
95
|
export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base {
|
|
@@ -118,7 +116,7 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
|
|
|
118
116
|
*/
|
|
119
117
|
min: string;
|
|
120
118
|
/**
|
|
121
|
-
* How many times
|
|
119
|
+
* How many times the field holds at once.
|
|
122
120
|
*
|
|
123
121
|
* Absent is one. `range` holds a start and an end, `multiple` holds any
|
|
124
122
|
* number, and both are carried as one comma-separated value, which is what a
|
|
@@ -127,11 +125,11 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
|
|
|
127
125
|
*/
|
|
128
126
|
mode?: 'multiple' | 'range';
|
|
129
127
|
/**
|
|
130
|
-
*
|
|
128
|
+
* Placeholder text shown before a time is entered.
|
|
131
129
|
*/
|
|
132
130
|
placeholder: string;
|
|
133
131
|
/**
|
|
134
|
-
*
|
|
132
|
+
* The message shown when a range holds more than two times.
|
|
135
133
|
*
|
|
136
134
|
* **Every sentence a control raises in the browser's bubble is a property**,
|
|
137
135
|
* so a form in another language speaks it. Absent is the control's own
|
|
@@ -139,17 +137,17 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
|
|
|
139
137
|
*/
|
|
140
138
|
rangeLengthMessage?: string;
|
|
141
139
|
/**
|
|
142
|
-
*
|
|
143
|
-
*
|
|
140
|
+
* The message shown when a time is after `max`, with `{max}` filled in as
|
|
141
|
+
* the field displays it.
|
|
144
142
|
*/
|
|
145
143
|
rangeOverflowMessage?: string;
|
|
146
144
|
/**
|
|
147
|
-
*
|
|
148
|
-
*
|
|
145
|
+
* The message shown when a time is before `min`, with `{min}` filled in as
|
|
146
|
+
* the field displays it.
|
|
149
147
|
*/
|
|
150
148
|
rangeUnderflowMessage?: string;
|
|
151
149
|
/**
|
|
152
|
-
*
|
|
150
|
+
* The name of the button that removes one time, with `{name}` filled in.
|
|
153
151
|
*
|
|
154
152
|
* **The name goes in**, so a row of them is heard as which one each
|
|
155
153
|
* removes rather than as "Remove" said once per time.
|
|
@@ -160,7 +158,8 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
|
|
|
160
158
|
*/
|
|
161
159
|
step: number;
|
|
162
160
|
/**
|
|
163
|
-
* Whether the field
|
|
161
|
+
* Whether the field shows the time in the local style or as the value
|
|
162
|
+
* itself.
|
|
164
163
|
*
|
|
165
164
|
* `local` is the reader's own convention from `Intl`, which is what a time is
|
|
166
165
|
* for reading; `iso` is `HH:mm`, which is what it is for typing. The field
|
|
@@ -169,7 +168,7 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
|
|
|
169
168
|
*/
|
|
170
169
|
timeStyle: 'iso' | 'local';
|
|
171
170
|
/**
|
|
172
|
-
*
|
|
171
|
+
* The name of the button that opens the list, read by screen readers.
|
|
173
172
|
*/
|
|
174
173
|
triggerLabel: string;
|
|
175
174
|
/** Every time in the value, which may hold more than one. */
|
|
@@ -209,7 +208,8 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
|
|
|
209
208
|
/** What is wrong with the times, which the text input cannot say. */
|
|
210
209
|
protected validate(): string;
|
|
211
210
|
/**
|
|
212
|
-
* Whether the panel
|
|
211
|
+
* Whether the panel shows one list of times or a column for each part of the
|
|
212
|
+
* time.
|
|
213
213
|
*
|
|
214
214
|
* `list` offers whole times, which is what a product with slots or opening
|
|
215
215
|
* hours has. `wheels` splits them into an hour, a minute and a meridiem where
|
|
@@ -259,7 +259,8 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
|
|
|
259
259
|
protected renderTrigger(): TemplateResult;
|
|
260
260
|
protected render(): TemplateResult;
|
|
261
261
|
/**
|
|
262
|
-
* The value as a `Date` on 1
|
|
262
|
+
* The value as a `Date` on January 1, 1970 UTC, or `null` while there is no
|
|
263
|
+
* time.
|
|
263
264
|
*
|
|
264
265
|
* The platform's own pair on `<input type="time">`, epoch day included: a time
|
|
265
266
|
* is an offset into a day rather than an instant, and putting it on the epoch
|
|
@@ -4,40 +4,31 @@ import '../../listbox/index.js';
|
|
|
4
4
|
import '../../option/index.js';
|
|
5
5
|
declare const HelixHeadlessTimePicker_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerValueInterface) & typeof HelixFormElement;
|
|
6
6
|
/**
|
|
7
|
-
* @summary
|
|
7
|
+
* @summary A control for choosing a time from a list or from wheels.
|
|
8
8
|
*
|
|
9
9
|
* @description
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* controls to build, three to test, and a tab stop each for something a reader
|
|
15
|
-
* answers once.
|
|
10
|
+
* Shows the times at each `step` as a `Listbox`, which provides the keyboard
|
|
11
|
+
* behavior, typeahead, scrolling into view, and announcements for a set of
|
|
12
|
+
* options. `variant="wheels"` shows a column each for the hour, the minute, and
|
|
13
|
+
* the meridiem.
|
|
16
14
|
*
|
|
17
|
-
*
|
|
18
|
-
* which
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* Time, the same division Date Input draws between typing a date and using the
|
|
22
|
-
* calendar.
|
|
15
|
+
* The step keeps the list usable. At the default of 15 minutes a day is 96
|
|
16
|
+
* rows, which people can scroll or type into. At 1 minute it is 1,440. Use the
|
|
17
|
+
* list for the times your product offers, and Time Input for any time, the same
|
|
18
|
+
* way Date Input separates typing a date from picking one on the calendar.
|
|
23
19
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* is the reader's own convention, from `Intl`.
|
|
20
|
+
* The value is always `HH:mm` on a 24-hour clock. A form submits that shape,
|
|
21
|
+
* `min` and `max` compare against it, and it sorts as a string. Each row's text
|
|
22
|
+
* follows the person's own conventions, from `Intl`.
|
|
28
23
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* the library, and Date Picker expresses its own choice as markup for the same
|
|
38
|
-
* reason: a picker whose answer is invisible until a script runs is a picker
|
|
39
|
-
* whose answer is not served at all. Both readings do it, the list and the
|
|
40
|
-
* wheels, a wheel being a listbox like the list is.
|
|
24
|
+
* The chosen row is marked in the served markup. The listbox gets the answer as
|
|
25
|
+
* `.value`, and Lit SSR serializes no property binding, so without more the 96
|
|
26
|
+
* served rows would carry no mark until the listbox upgrades and runs `place`.
|
|
27
|
+
* Each option also gets `selected`, an attribute binding that does serialize,
|
|
28
|
+
* and `place` then writes the same answer from the same value. This is the same
|
|
29
|
+
* `selected` you write on `Option` elsewhere in Helix, and Date Picker marks
|
|
30
|
+
* its choice in markup for the same reason. The list and the wheels both do
|
|
31
|
+
* this, because each wheel is also a listbox.
|
|
41
32
|
*
|
|
42
33
|
* @since 0.1.0
|
|
43
34
|
* @status stable
|
|
@@ -45,47 +36,47 @@ declare const HelixHeadlessTimePicker_base: (new (...args: any[]) => import("@fu
|
|
|
45
36
|
* @aliases Time, TimeList
|
|
46
37
|
* @documentation https://fusion.dev/helix/components/time-picker
|
|
47
38
|
*
|
|
48
|
-
* @event {Event} change -
|
|
49
|
-
* @event {HelixBeforeChangeEvent} helix-before-change - Fired before the time changes.
|
|
50
|
-
* @event {Event} input -
|
|
39
|
+
* @event {Event} change - Fired after the value changes.
|
|
40
|
+
* @event {HelixBeforeChangeEvent} helix-before-change - Fired before the time changes, and cancelable. Canceling it keeps the current time.
|
|
41
|
+
* @event {Event} input - Fired after the value changes.
|
|
51
42
|
*
|
|
52
|
-
* @csspart column - One of
|
|
53
|
-
* @csspart column-empty -
|
|
54
|
-
* @csspart column-feedback -
|
|
55
|
-
* @csspart column-filter-icon - The
|
|
56
|
-
* @csspart column-filter-mark - The
|
|
43
|
+
* @csspart column - One column of the wheels.
|
|
44
|
+
* @csspart column-empty - The text shown when the filter hides every option.
|
|
45
|
+
* @csspart column-feedback - The message that says what is wrong with the value.
|
|
46
|
+
* @csspart column-filter-icon - The icon beside the filter field.
|
|
47
|
+
* @csspart column-filter-mark - The default icon beside the filter field, shown when none is slotted.
|
|
57
48
|
* @csspart column-hint - Help under the list.
|
|
58
|
-
* @csspart column-items - The list
|
|
59
|
-
* @csspart column-label - The
|
|
60
|
-
* @csspart column-live -
|
|
61
|
-
* @csspart column-loading -
|
|
62
|
-
* @csspart column-search - The region
|
|
63
|
-
* @csspart column-search-field - The field
|
|
49
|
+
* @csspart column-items - The list of options.
|
|
50
|
+
* @csspart column-label - The label above the list.
|
|
51
|
+
* @csspart column-live - A copy of the empty and loading text, in a region that screen readers announce when it changes. Visually hidden in the styled tier.
|
|
52
|
+
* @csspart column-loading - The text shown while the options load.
|
|
53
|
+
* @csspart column-search - The region that holds the filter field.
|
|
54
|
+
* @csspart column-search-field - The filter field.
|
|
64
55
|
* @csspart columns - The row of columns, in `wheels`.
|
|
65
56
|
* @csspart list - The listbox holding the times, in `list`.
|
|
66
|
-
* @csspart list-empty -
|
|
67
|
-
* @csspart list-feedback -
|
|
68
|
-
* @csspart list-filter-icon - The
|
|
69
|
-
* @csspart list-filter-mark - The
|
|
57
|
+
* @csspart list-empty - The text shown when the filter hides every option.
|
|
58
|
+
* @csspart list-feedback - The message that says what is wrong with the value.
|
|
59
|
+
* @csspart list-filter-icon - The icon beside the filter field.
|
|
60
|
+
* @csspart list-filter-mark - The default icon beside the filter field, shown when none is slotted.
|
|
70
61
|
* @csspart list-hint - Help under the list.
|
|
71
|
-
* @csspart list-items - The list
|
|
72
|
-
* @csspart list-label - The
|
|
73
|
-
* @csspart list-live -
|
|
74
|
-
* @csspart list-loading -
|
|
75
|
-
* @csspart list-search - The region
|
|
76
|
-
* @csspart list-search-field - The field
|
|
77
|
-
* @csspart option - One time in
|
|
78
|
-
* @csspart option-between - A time inside a chosen range,
|
|
79
|
-
* @csspart option-description - The caption under the
|
|
62
|
+
* @csspart list-items - The list of options.
|
|
63
|
+
* @csspart list-label - The label above the list.
|
|
64
|
+
* @csspart list-live - A copy of the empty and loading text, in a region that screen readers announce when it changes. Visually hidden in the styled tier.
|
|
65
|
+
* @csspart list-loading - The text shown while the options load.
|
|
66
|
+
* @csspart list-search - The region that holds the filter field.
|
|
67
|
+
* @csspart list-search-field - The filter field.
|
|
68
|
+
* @csspart option - One time in the list. It carries `data-between` inside a range.
|
|
69
|
+
* @csspart option-between - A time inside a chosen range, excluding its ends, beside `option`.
|
|
70
|
+
* @csspart option-description - The caption under the time's label, when there is one.
|
|
80
71
|
* @csspart option-item - The row.
|
|
81
72
|
* @csspart option-item-active - The row the keyboard is on.
|
|
82
73
|
* @csspart option-item-selected - The row of a chosen time: the one time, or either end of a range.
|
|
83
|
-
* @csspart option-label - The
|
|
84
|
-
* @csspart option-text - The
|
|
74
|
+
* @csspart option-label - The time's label.
|
|
75
|
+
* @csspart option-text - The label and the caption, as one column.
|
|
85
76
|
*/
|
|
86
77
|
export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_base {
|
|
87
78
|
/**
|
|
88
|
-
*
|
|
79
|
+
* The validation message for a value that is not a time.
|
|
89
80
|
*
|
|
90
81
|
* **Every sentence a control raises in the browser's bubble is a property**,
|
|
91
82
|
* named for the validity flag it reports, so a form in another language
|
|
@@ -154,7 +145,7 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
|
|
|
154
145
|
*/
|
|
155
146
|
mode?: 'multiple' | 'range';
|
|
156
147
|
/**
|
|
157
|
-
*
|
|
148
|
+
* Blocks changes to the time. The value is still submitted with the form.
|
|
158
149
|
*
|
|
159
150
|
* **Enforced by refusing every request in one place**, which is the seam this
|
|
160
151
|
* component already has: `requestValue` is what every path here comes through,
|
|
@@ -168,7 +159,7 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
|
|
|
168
159
|
*/
|
|
169
160
|
readOnly: boolean;
|
|
170
161
|
/**
|
|
171
|
-
*
|
|
162
|
+
* Stops the form from submitting while no time is chosen.
|
|
172
163
|
*/
|
|
173
164
|
required: boolean;
|
|
174
165
|
/**
|
|
@@ -235,8 +226,8 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
|
|
|
235
226
|
/** Every minute offered within the hour currently shown. */
|
|
236
227
|
private get minutes();
|
|
237
228
|
/**
|
|
238
|
-
*
|
|
239
|
-
*
|
|
229
|
+
* Scrolls each wheel to its selected value, and the list to its selected
|
|
230
|
+
* time.
|
|
240
231
|
*
|
|
241
232
|
* A dial that opens at midnight when it holds ten in the evening is a dial
|
|
242
233
|
* showing the wrong thing, and CSS cannot fix it: `scroll-snap-type` chooses a
|
|
@@ -272,11 +263,12 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
|
|
|
272
263
|
/** Refuses every change while read-only. See `readOnly`. */
|
|
273
264
|
requestValue(next: string): boolean;
|
|
274
265
|
/**
|
|
275
|
-
*
|
|
266
|
+
* The validation message for a required time picker with no time chosen.
|
|
276
267
|
*/
|
|
277
268
|
valueMissingMessage?: string;
|
|
278
269
|
/**
|
|
279
|
-
*
|
|
270
|
+
* Shows the times as one `list`, or as `wheels` with a column for each part
|
|
271
|
+
* of the time.
|
|
280
272
|
*
|
|
281
273
|
* `list` is the default and offers whole times, which is what a product with
|
|
282
274
|
* opening hours or slots actually has. `wheels` splits them into an hour, a
|
|
@@ -356,7 +348,7 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
|
|
|
356
348
|
private listRevealed;
|
|
357
349
|
protected willUpdate(changed: PropertyValues): void;
|
|
358
350
|
protected updated(changed: PropertyValues): void;
|
|
359
|
-
/**
|
|
351
|
+
/** Moves focus to the list, which is the only control in the picker. */
|
|
360
352
|
focus(options?: FocusOptions): void;
|
|
361
353
|
/**
|
|
362
354
|
* One wheel, which is a listbox like the whole list is.
|
|
@@ -4,20 +4,16 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
4
4
|
* @summary One event on a timeline: when it happened, and what it was.
|
|
5
5
|
*
|
|
6
6
|
* @description
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* one: a crawler, a reader's own tooling and a copy-paste all get "2026-08-19",
|
|
11
|
-
* where "yesterday" on its own is a word. Given no `datetime`, it stays a span,
|
|
12
|
-
* because a `<time>` with nothing to be precise about is markup pretending.
|
|
7
|
+
* Given `datetime`, the label you write is wrapped in a `<time>` element, so a
|
|
8
|
+
* machine-readable value such as "2026-08-19" travels with a label such as
|
|
9
|
+
* "yesterday". Without `datetime`, the label is a `<span>`.
|
|
13
10
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* `Breadcrumbs` both do it this way and for the same reason.
|
|
11
|
+
* Each entry draws the connector line that arrives at it and hides it when it
|
|
12
|
+
* is the first entry, using `:host(:first-child)`. This needs no index, no
|
|
13
|
+
* counting parent, and no script. `Steps` and `Breadcrumbs` work the same way.
|
|
18
14
|
*
|
|
19
|
-
* `tone`
|
|
20
|
-
* the
|
|
15
|
+
* `tone` sets the kind of event and is the only thing that colors the mark. It
|
|
16
|
+
* uses the same values as `Announcement`.
|
|
21
17
|
*
|
|
22
18
|
* @since 0.1.0
|
|
23
19
|
* @status stable
|
|
@@ -26,24 +22,22 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
26
22
|
* @documentation https://fusion.dev/helix/components/timeline
|
|
27
23
|
*
|
|
28
24
|
* @slot - What happened.
|
|
29
|
-
* @slot marker - The mark on the line.
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* @slot time - When it happened, as a reader should see it written.
|
|
25
|
+
* @slot marker - The mark on the line. Defaults to a dot, which is the slot's fallback
|
|
26
|
+
* content.
|
|
27
|
+
* @slot time - When it happened, written the way you want it shown.
|
|
33
28
|
*
|
|
34
29
|
* @csspart content - What happened, and the time above it.
|
|
35
|
-
* @csspart dot - The
|
|
30
|
+
* @csspart dot - The dot drawn when no marker is slotted.
|
|
36
31
|
* @csspart marker - The mark on the line.
|
|
37
|
-
* @csspart rail - The column
|
|
38
|
-
* line
|
|
39
|
-
*
|
|
40
|
-
* paint is an empty child costing whatever the consumer's own layout charges for
|
|
41
|
-
* a child. `ListItem` measured that.
|
|
32
|
+
* @csspart rail - The column that holds the mark and the line. Draw the two halves of the
|
|
33
|
+
* line with `::part(rail)::before` and `::part(rail)::after` in your stylesheet. This
|
|
34
|
+
* tier ships no CSS and renders no extra box for the line.
|
|
42
35
|
* @csspart time - When it happened.
|
|
43
36
|
*/
|
|
44
37
|
export declare class HelixHeadlessTimelineItem extends HelixElement {
|
|
45
38
|
/**
|
|
46
|
-
* When it happened, machine-readable.
|
|
39
|
+
* When it happened, in machine-readable form. Setting it wraps the time in a
|
|
40
|
+
* `<time>` element.
|
|
47
41
|
*
|
|
48
42
|
* Whatever `<time>` accepts, which is a date, a time, both, a duration or a
|
|
49
43
|
* week. Unset, the label is written as it was given and nothing claims to
|
|
@@ -51,7 +45,7 @@ export declare class HelixHeadlessTimelineItem extends HelixElement {
|
|
|
51
45
|
*/
|
|
52
46
|
datetime: string;
|
|
53
47
|
/**
|
|
54
|
-
*
|
|
48
|
+
* The kind of event. It sets the color of the mark and nothing else.
|
|
55
49
|
*/
|
|
56
50
|
tone?: 'danger' | 'info' | 'neutral' | 'primary' | 'success' | 'warning';
|
|
57
51
|
protected willUpdate(changed: PropertyValues): void;
|
|
@@ -1,31 +1,23 @@
|
|
|
1
1
|
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
2
|
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
3
|
/**
|
|
4
|
-
* @summary A
|
|
4
|
+
* @summary A list of events, in the order they happened.
|
|
5
5
|
*
|
|
6
6
|
* @description
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* scheduled to. Nothing is current, nothing is complete, and what each entry
|
|
12
|
-
* carries instead is a time. Building this as an appearance of `Steps` would
|
|
13
|
-
* have meant a stepper with no step you are on.
|
|
7
|
+
* A timeline is a record of events that happened or are scheduled. Each entry
|
|
8
|
+
* carries a time, and no entry is current or complete. For a process you move
|
|
9
|
+
* through, with a current stage and `active` and `complete` states, use
|
|
10
|
+
* `Steps`.
|
|
14
11
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* at layout with no script, so a server's markup is right before anything runs.
|
|
12
|
+
* Each entry draws the connector line that arrives at it and hides it when it
|
|
13
|
+
* is first, using `:host(:first-child)`. This resolves at layout with no
|
|
14
|
+
* script, so the server markup is correct before anything runs.
|
|
19
15
|
*
|
|
20
|
-
* `role="list"
|
|
21
|
-
*
|
|
22
|
-
* DOM, so a list element here would be a list whose items are somewhere else.
|
|
16
|
+
* The host has `role="list"`, because the entries are your elements in the
|
|
17
|
+
* light DOM. `Steps` does the same.
|
|
23
18
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* a timeline, so what survives is a mark and a short label, and that is a
|
|
27
|
-
* stepper. `Steps` is already horizontal by default and already draws it. A run
|
|
28
|
-
* of stages along a page is `Steps`.
|
|
19
|
+
* A timeline runs down the page and has no horizontal layout. For stages laid
|
|
20
|
+
* out horizontally, use `Steps`, which is horizontal by default.
|
|
29
21
|
*
|
|
30
22
|
* @since 0.1.0
|
|
31
23
|
* @status stable
|
|
@@ -37,7 +29,7 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
37
29
|
*/
|
|
38
30
|
export declare class HelixHeadlessTimeline extends HelixElement {
|
|
39
31
|
/**
|
|
40
|
-
*
|
|
32
|
+
* Accessible name for the timeline, for people who reach it out of context.
|
|
41
33
|
*/
|
|
42
34
|
label: string;
|
|
43
35
|
protected render(): TemplateResult;
|