@fusion.dev/helix-headless 0.0.0-dev
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/LICENSE +21 -0
- package/custom-elements.json +75202 -0
- package/dist/accordion/index.d.ts +2 -0
- package/dist/accordion/index.js +2 -0
- package/dist/accordion/item/accordion-item.d.ts +141 -0
- package/dist/accordion/item/accordion-item.js +214 -0
- package/dist/accordion/root/accordion-root.d.ts +57 -0
- package/dist/accordion/root/accordion-root.js +96 -0
- package/dist/announcement/index.d.ts +1 -0
- package/dist/announcement/index.js +1 -0
- package/dist/announcement/root/announcement-root.d.ts +106 -0
- package/dist/announcement/root/announcement-root.js +144 -0
- package/dist/app-header/index.d.ts +1 -0
- package/dist/app-header/index.js +1 -0
- package/dist/app-header/root/app-header-root.d.ts +113 -0
- package/dist/app-header/root/app-header-root.js +147 -0
- package/dist/avatar/group/avatar-group.d.ts +116 -0
- package/dist/avatar/group/avatar-group.js +136 -0
- package/dist/avatar/index.d.ts +2 -0
- package/dist/avatar/index.js +2 -0
- package/dist/avatar/root/avatar-root.d.ts +71 -0
- package/dist/avatar/root/avatar-root.js +147 -0
- package/dist/badge/index.d.ts +1 -0
- package/dist/badge/index.js +1 -0
- package/dist/badge/root/badge-root.d.ts +61 -0
- package/dist/badge/root/badge-root.js +121 -0
- package/dist/bar-chart/index.d.ts +1 -0
- package/dist/bar-chart/index.js +1 -0
- package/dist/bar-chart/root/bar-chart-root.d.ts +266 -0
- package/dist/bar-chart/root/bar-chart-root.js +515 -0
- package/dist/blockquote/index.d.ts +1 -0
- package/dist/blockquote/index.js +1 -0
- package/dist/blockquote/root/blockquote-root.d.ts +51 -0
- package/dist/blockquote/root/blockquote-root.js +84 -0
- package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +104 -0
- package/dist/breadcrumbs/breadcrumb/breadcrumb.js +137 -0
- package/dist/breadcrumbs/index.d.ts +2 -0
- package/dist/breadcrumbs/index.js +2 -0
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +77 -0
- package/dist/breadcrumbs/root/breadcrumbs-root.js +94 -0
- package/dist/button/index.d.ts +1 -0
- package/dist/button/index.js +1 -0
- package/dist/button/root/button-root.d.ts +251 -0
- package/dist/button/root/button-root.js +401 -0
- package/dist/button-group/index.d.ts +1 -0
- package/dist/button-group/index.js +1 -0
- package/dist/button-group/root/button-group-root.d.ts +62 -0
- package/dist/button-group/root/button-group-root.js +62 -0
- package/dist/callout/index.d.ts +1 -0
- package/dist/callout/index.js +1 -0
- package/dist/callout/root/callout-root.d.ts +72 -0
- package/dist/callout/root/callout-root.js +90 -0
- package/dist/card/index.d.ts +1 -0
- package/dist/card/index.js +1 -0
- package/dist/card/root/card-root.d.ts +54 -0
- package/dist/card/root/card-root.js +71 -0
- package/dist/carousel/index.d.ts +1 -0
- package/dist/carousel/index.js +1 -0
- package/dist/carousel/root/carousel-root.d.ts +399 -0
- package/dist/carousel/root/carousel-root.js +723 -0
- package/dist/chat/composer/chat-composer.d.ts +160 -0
- package/dist/chat/composer/chat-composer.js +273 -0
- package/dist/chat/index.d.ts +3 -0
- package/dist/chat/index.js +3 -0
- package/dist/chat/message/chat-message.d.ts +170 -0
- package/dist/chat/message/chat-message.js +271 -0
- package/dist/chat/root/chat-root.d.ts +216 -0
- package/dist/chat/root/chat-root.js +389 -0
- package/dist/checkbox/index.d.ts +1 -0
- package/dist/checkbox/index.js +1 -0
- package/dist/checkbox/root/checkbox-root.d.ts +108 -0
- package/dist/checkbox/root/checkbox-root.js +207 -0
- package/dist/checkbox-group/index.d.ts +1 -0
- package/dist/checkbox-group/index.js +1 -0
- package/dist/checkbox-group/root/checkbox-group-root.d.ts +155 -0
- package/dist/checkbox-group/root/checkbox-group-root.js +293 -0
- package/dist/code/index.d.ts +1 -0
- package/dist/code/index.js +1 -0
- package/dist/code/root/code-root.d.ts +36 -0
- package/dist/code/root/code-root.js +43 -0
- package/dist/code-block/index.d.ts +1 -0
- package/dist/code-block/index.js +1 -0
- package/dist/code-block/root/code-block-root.d.ts +112 -0
- package/dist/code-block/root/code-block-root.js +155 -0
- package/dist/color-input/index.d.ts +1 -0
- package/dist/color-input/index.js +1 -0
- package/dist/color-input/root/color-input-root.d.ts +227 -0
- package/dist/color-input/root/color-input-root.js +456 -0
- package/dist/color-picker/color.d.ts +74 -0
- package/dist/color-picker/color.js +238 -0
- package/dist/color-picker/index.d.ts +2 -0
- package/dist/color-picker/index.js +2 -0
- package/dist/color-picker/root/color-picker-root.d.ts +303 -0
- package/dist/color-picker/root/color-picker-root.js +576 -0
- package/dist/combobox/index.d.ts +1 -0
- package/dist/combobox/index.js +1 -0
- package/dist/combobox/root/combobox-root.d.ts +396 -0
- package/dist/combobox/root/combobox-root.js +808 -0
- package/dist/command/index.d.ts +1 -0
- package/dist/command/index.js +1 -0
- package/dist/command/root/command-root.d.ts +166 -0
- package/dist/command/root/command-root.js +353 -0
- package/dist/copy-button/index.d.ts +1 -0
- package/dist/copy-button/index.js +1 -0
- package/dist/copy-button/root/copy-button-root.d.ts +154 -0
- package/dist/copy-button/root/copy-button-root.js +225 -0
- package/dist/data-table/index.d.ts +2 -0
- package/dist/data-table/index.js +2 -0
- package/dist/data-table/root/data-table-root.d.ts +392 -0
- package/dist/data-table/root/data-table-root.js +729 -0
- package/dist/data-table/root/order.d.ts +116 -0
- package/dist/data-table/root/order.js +175 -0
- package/dist/date-input/index.d.ts +1 -0
- package/dist/date-input/index.js +1 -0
- package/dist/date-input/root/date-input-root.d.ts +361 -0
- package/dist/date-input/root/date-input-root.js +791 -0
- package/dist/date-picker/index.d.ts +1 -0
- package/dist/date-picker/index.js +1 -0
- package/dist/date-picker/root/date-picker-root.d.ts +361 -0
- package/dist/date-picker/root/date-picker-root.js +837 -0
- package/dist/dialog/index.d.ts +1 -0
- package/dist/dialog/index.js +1 -0
- package/dist/dialog/root/dialog-root.d.ts +185 -0
- package/dist/dialog/root/dialog-root.js +319 -0
- package/dist/divider/index.d.ts +1 -0
- package/dist/divider/index.js +1 -0
- package/dist/divider/root/divider-root.d.ts +68 -0
- package/dist/divider/root/divider-root.js +116 -0
- package/dist/donut-chart/index.d.ts +1 -0
- package/dist/donut-chart/index.js +1 -0
- package/dist/donut-chart/root/donut-chart-root.d.ts +209 -0
- package/dist/donut-chart/root/donut-chart-root.js +395 -0
- package/dist/drawer/index.d.ts +1 -0
- package/dist/drawer/index.js +1 -0
- package/dist/drawer/root/drawer-root.d.ts +144 -0
- package/dist/drawer/root/drawer-root.js +222 -0
- package/dist/drilldown/index.d.ts +2 -0
- package/dist/drilldown/index.js +2 -0
- package/dist/drilldown/item/drilldown-item.d.ts +87 -0
- package/dist/drilldown/item/drilldown-item.js +152 -0
- package/dist/drilldown/root/drilldown-root.d.ts +115 -0
- package/dist/drilldown/root/drilldown-root.js +263 -0
- package/dist/element-events.generated.d.ts +1 -0
- package/dist/element-events.generated.js +125 -0
- package/dist/empty/index.d.ts +1 -0
- package/dist/empty/index.js +1 -0
- package/dist/empty/root/empty-root.d.ts +47 -0
- package/dist/empty/root/empty-root.js +68 -0
- package/dist/file-input/index.d.ts +1 -0
- package/dist/file-input/index.js +1 -0
- package/dist/file-input/root/file-input-root.d.ts +196 -0
- package/dist/file-input/root/file-input-root.js +488 -0
- package/dist/format-date/index.d.ts +1 -0
- package/dist/format-date/index.js +1 -0
- package/dist/format-date/root/format-date-root.d.ts +151 -0
- package/dist/format-date/root/format-date-root.js +266 -0
- package/dist/heatmap/index.d.ts +2 -0
- package/dist/heatmap/index.js +2 -0
- package/dist/heatmap/root/buckets.d.ts +62 -0
- package/dist/heatmap/root/buckets.js +85 -0
- package/dist/heatmap/root/heatmap-root.d.ts +330 -0
- package/dist/heatmap/root/heatmap-root.js +526 -0
- package/dist/icon/index.d.ts +1 -0
- package/dist/icon/index.js +1 -0
- package/dist/icon/root/icon-root.d.ts +53 -0
- package/dist/icon/root/icon-root.js +93 -0
- package/dist/icon-button/index.d.ts +1 -0
- package/dist/icon-button/index.js +1 -0
- package/dist/icon-button/root/icon-button-root.d.ts +40 -0
- package/dist/icon-button/root/icon-button-root.js +46 -0
- package/dist/image/index.d.ts +1 -0
- package/dist/image/index.js +1 -0
- package/dist/image/root/image-root.d.ts +213 -0
- package/dist/image/root/image-root.js +335 -0
- package/dist/index.d.ts +99 -0
- package/dist/index.js +99 -0
- package/dist/input/index.d.ts +1 -0
- package/dist/input/index.js +1 -0
- package/dist/input/root/input-root.d.ts +281 -0
- package/dist/input/root/input-root.js +472 -0
- package/dist/kbd/index.d.ts +1 -0
- package/dist/kbd/index.js +1 -0
- package/dist/kbd/root/kbd-root.d.ts +98 -0
- package/dist/kbd/root/kbd-root.js +230 -0
- package/dist/legend/index.d.ts +1 -0
- package/dist/legend/index.js +1 -0
- package/dist/legend/root/legend-root.d.ts +83 -0
- package/dist/legend/root/legend-root.js +125 -0
- package/dist/line-chart/index.d.ts +1 -0
- package/dist/line-chart/index.js +1 -0
- package/dist/line-chart/root/line-chart-root.d.ts +238 -0
- package/dist/line-chart/root/line-chart-root.js +365 -0
- package/dist/list/index.d.ts +2 -0
- package/dist/list/index.js +2 -0
- package/dist/list/item/list-item.d.ts +95 -0
- package/dist/list/item/list-item.js +148 -0
- package/dist/list/root/list-root.d.ts +72 -0
- package/dist/list/root/list-root.js +61 -0
- package/dist/listbox/index.d.ts +1 -0
- package/dist/listbox/index.js +1 -0
- package/dist/listbox/root/listbox-root.d.ts +357 -0
- package/dist/listbox/root/listbox-root.js +890 -0
- package/dist/loader/index.d.ts +1 -0
- package/dist/loader/index.js +1 -0
- package/dist/loader/root/loader-root.d.ts +52 -0
- package/dist/loader/root/loader-root.js +74 -0
- package/dist/megamenu/index.d.ts +1 -0
- package/dist/megamenu/index.js +1 -0
- package/dist/megamenu/root/megamenu-root.d.ts +254 -0
- package/dist/megamenu/root/megamenu-root.js +526 -0
- package/dist/menu/index.d.ts +2 -0
- package/dist/menu/index.js +2 -0
- package/dist/menu/item/menu-item.d.ts +231 -0
- package/dist/menu/item/menu-item.js +405 -0
- package/dist/menu/root/menu-root.d.ts +158 -0
- package/dist/menu/root/menu-root.js +422 -0
- package/dist/meter/index.d.ts +1 -0
- package/dist/meter/index.js +1 -0
- package/dist/meter/root/meter-root.d.ts +234 -0
- package/dist/meter/root/meter-root.js +316 -0
- package/dist/navigation/index.d.ts +1 -0
- package/dist/navigation/index.js +1 -0
- package/dist/navigation/root/navigation-root.d.ts +55 -0
- package/dist/navigation/root/navigation-root.js +130 -0
- package/dist/notifications/index.d.ts +2 -0
- package/dist/notifications/index.js +2 -0
- package/dist/notifications/notification/notification.d.ts +181 -0
- package/dist/notifications/notification/notification.js +305 -0
- package/dist/notifications/root/notifications-root.d.ts +168 -0
- package/dist/notifications/root/notifications-root.js +291 -0
- package/dist/number-input/index.d.ts +1 -0
- package/dist/number-input/index.js +1 -0
- package/dist/number-input/root/number-input-root.d.ts +282 -0
- package/dist/number-input/root/number-input-root.js +592 -0
- package/dist/option/group/option-group.d.ts +38 -0
- package/dist/option/group/option-group.js +58 -0
- package/dist/option/index.d.ts +2 -0
- package/dist/option/index.js +2 -0
- package/dist/option/root/option-root.d.ts +194 -0
- package/dist/option/root/option-root.js +247 -0
- package/dist/outline/index.d.ts +1 -0
- package/dist/outline/index.js +1 -0
- package/dist/outline/root/outline-root.d.ts +237 -0
- package/dist/outline/root/outline-root.js +519 -0
- package/dist/pagination/index.d.ts +3 -0
- package/dist/pagination/index.js +3 -0
- package/dist/pagination/root/pagination-root.d.ts +390 -0
- package/dist/pagination/root/pagination-root.js +695 -0
- package/dist/pagination/size/pagination-size.d.ts +127 -0
- package/dist/pagination/size/pagination-size.js +232 -0
- package/dist/pagination/summary/pagination-summary.d.ts +90 -0
- package/dist/pagination/summary/pagination-summary.js +145 -0
- package/dist/pin-input/index.d.ts +1 -0
- package/dist/pin-input/index.js +1 -0
- package/dist/pin-input/root/pin-input-root.d.ts +292 -0
- package/dist/pin-input/root/pin-input-root.js +553 -0
- package/dist/popover/index.d.ts +1 -0
- package/dist/popover/index.js +1 -0
- package/dist/popover/root/popover-root.d.ts +108 -0
- package/dist/popover/root/popover-root.js +231 -0
- package/dist/progress/index.d.ts +1 -0
- package/dist/progress/index.js +1 -0
- package/dist/progress/root/progress-root.d.ts +125 -0
- package/dist/progress/root/progress-root.js +212 -0
- package/dist/qr-code/index.d.ts +1 -0
- package/dist/qr-code/index.js +1 -0
- package/dist/qr-code/root/qr-code-root.d.ts +93 -0
- package/dist/qr-code/root/qr-code-root.js +233 -0
- package/dist/quote/index.d.ts +1 -0
- package/dist/quote/index.js +1 -0
- package/dist/quote/root/quote-root.d.ts +36 -0
- package/dist/quote/root/quote-root.js +50 -0
- package/dist/radio/group/radio-group.d.ts +84 -0
- package/dist/radio/group/radio-group.js +170 -0
- package/dist/radio/index.d.ts +2 -0
- package/dist/radio/index.js +2 -0
- package/dist/radio/root/radio-root.d.ts +102 -0
- package/dist/radio/root/radio-root.js +151 -0
- package/dist/rating/index.d.ts +1 -0
- package/dist/rating/index.js +1 -0
- package/dist/rating/root/rating-root.d.ts +242 -0
- package/dist/rating/root/rating-root.js +484 -0
- package/dist/scroll-area/index.d.ts +1 -0
- package/dist/scroll-area/index.js +1 -0
- package/dist/scroll-area/root/scroll-area-root.d.ts +96 -0
- package/dist/scroll-area/root/scroll-area-root.js +215 -0
- package/dist/select/index.d.ts +1 -0
- package/dist/select/index.js +1 -0
- package/dist/select/root/select-root.d.ts +170 -0
- package/dist/select/root/select-root.js +419 -0
- package/dist/skeleton/index.d.ts +1 -0
- package/dist/skeleton/index.js +1 -0
- package/dist/skeleton/root/skeleton-root.d.ts +31 -0
- package/dist/skeleton/root/skeleton-root.js +42 -0
- package/dist/slider/index.d.ts +1 -0
- package/dist/slider/index.js +1 -0
- package/dist/slider/root/slider-root.d.ts +235 -0
- package/dist/slider/root/slider-root.js +488 -0
- package/dist/sparkline/index.d.ts +1 -0
- package/dist/sparkline/index.js +1 -0
- package/dist/sparkline/root/sparkline-root.d.ts +147 -0
- package/dist/sparkline/root/sparkline-root.js +278 -0
- package/dist/speed-dial/index.d.ts +2 -0
- package/dist/speed-dial/index.js +2 -0
- package/dist/speed-dial/item/speed-dial-item.d.ts +71 -0
- package/dist/speed-dial/item/speed-dial-item.js +113 -0
- package/dist/speed-dial/root/speed-dial-root.d.ts +122 -0
- package/dist/speed-dial/root/speed-dial-root.js +251 -0
- package/dist/splitter/index.d.ts +1 -0
- package/dist/splitter/index.js +1 -0
- package/dist/splitter/root/splitter-root.d.ts +491 -0
- package/dist/splitter/root/splitter-root.js +1030 -0
- package/dist/stat/group/stat-group.d.ts +30 -0
- package/dist/stat/group/stat-group.js +47 -0
- package/dist/stat/index.d.ts +2 -0
- package/dist/stat/index.js +2 -0
- package/dist/stat/root/stat-root.d.ts +62 -0
- package/dist/stat/root/stat-root.js +51 -0
- package/dist/steps/index.d.ts +2 -0
- package/dist/steps/index.js +2 -0
- package/dist/steps/root/steps-root.d.ts +110 -0
- package/dist/steps/root/steps-root.js +130 -0
- package/dist/steps/step/step.d.ts +139 -0
- package/dist/steps/step/step.js +215 -0
- package/dist/switch/index.d.ts +1 -0
- package/dist/switch/index.js +1 -0
- package/dist/switch/root/switch-root.d.ts +74 -0
- package/dist/switch/root/switch-root.js +153 -0
- package/dist/table/cell/table-cell.d.ts +34 -0
- package/dist/table/cell/table-cell.js +52 -0
- package/dist/table/column/table-column.d.ts +165 -0
- package/dist/table/column/table-column.js +222 -0
- package/dist/table/index.d.ts +4 -0
- package/dist/table/index.js +4 -0
- package/dist/table/root/table-root.d.ts +98 -0
- package/dist/table/root/table-root.js +161 -0
- package/dist/table/row/table-row.d.ts +27 -0
- package/dist/table/row/table-row.js +42 -0
- package/dist/tabs/index.d.ts +3 -0
- package/dist/tabs/index.js +3 -0
- package/dist/tabs/panel/tab-panel.d.ts +67 -0
- package/dist/tabs/panel/tab-panel.js +98 -0
- package/dist/tabs/root/tabs-root.d.ts +123 -0
- package/dist/tabs/root/tabs-root.js +217 -0
- package/dist/tabs/tab/tab.d.ts +64 -0
- package/dist/tabs/tab/tab.js +116 -0
- package/dist/tag/index.d.ts +1 -0
- package/dist/tag/index.js +1 -0
- package/dist/tag/root/tag-root.d.ts +41 -0
- package/dist/tag/root/tag-root.js +67 -0
- package/dist/textarea/index.d.ts +1 -0
- package/dist/textarea/index.js +1 -0
- package/dist/textarea/root/textarea-root.d.ts +215 -0
- package/dist/textarea/root/textarea-root.js +380 -0
- package/dist/time-input/index.d.ts +1 -0
- package/dist/time-input/index.js +1 -0
- package/dist/time-input/root/time-input-root.d.ts +322 -0
- package/dist/time-input/root/time-input-root.js +661 -0
- package/dist/time-picker/index.d.ts +1 -0
- package/dist/time-picker/index.js +1 -0
- package/dist/time-picker/root/time-picker-root.d.ts +380 -0
- package/dist/time-picker/root/time-picker-root.js +669 -0
- package/dist/timeline/index.d.ts +2 -0
- package/dist/timeline/index.js +2 -0
- package/dist/timeline/item/timeline-item.d.ts +81 -0
- package/dist/timeline/item/timeline-item.js +128 -0
- package/dist/timeline/root/timeline-root.d.ts +52 -0
- package/dist/timeline/root/timeline-root.js +72 -0
- package/dist/toast/index.d.ts +2 -0
- package/dist/toast/index.js +2 -0
- package/dist/toast/item/toast-item.d.ts +183 -0
- package/dist/toast/item/toast-item.js +345 -0
- package/dist/toast/root/toast-root.d.ts +72 -0
- package/dist/toast/root/toast-root.js +87 -0
- package/dist/toggle/group/toggle-group.d.ts +140 -0
- package/dist/toggle/group/toggle-group.js +278 -0
- package/dist/toggle/index.d.ts +2 -0
- package/dist/toggle/index.js +2 -0
- package/dist/toggle/root/toggle-root.d.ts +99 -0
- package/dist/toggle/root/toggle-root.js +146 -0
- package/dist/toolbar/index.d.ts +1 -0
- package/dist/toolbar/index.js +1 -0
- package/dist/toolbar/root/toolbar-root.d.ts +105 -0
- package/dist/toolbar/root/toolbar-root.js +260 -0
- package/dist/tooltip/index.d.ts +1 -0
- package/dist/tooltip/index.js +1 -0
- package/dist/tooltip/root/tooltip-root.d.ts +388 -0
- package/dist/tooltip/root/tooltip-root.js +707 -0
- package/dist/tour/index.d.ts +2 -0
- package/dist/tour/index.js +2 -0
- package/dist/tour/root/tour-root.d.ts +161 -0
- package/dist/tour/root/tour-root.js +351 -0
- package/dist/tour/stop/tour-stop.d.ts +131 -0
- package/dist/tour/stop/tour-stop.js +249 -0
- package/dist/tree/index.d.ts +2 -0
- package/dist/tree/index.js +2 -0
- package/dist/tree/item/tree-item.d.ts +208 -0
- package/dist/tree/item/tree-item.js +381 -0
- package/dist/tree/root/tree-root.d.ts +88 -0
- package/dist/tree/root/tree-root.js +287 -0
- package/dist/trend/index.d.ts +1 -0
- package/dist/trend/index.js +1 -0
- package/dist/trend/root/trend-root.d.ts +67 -0
- package/dist/trend/root/trend-root.js +106 -0
- package/dist/video/index.d.ts +1 -0
- package/dist/video/index.js +1 -0
- package/dist/video/root/video-root.d.ts +711 -0
- package/dist/video/root/video-root.js +1821 -0
- package/dist/video-playlist/index.d.ts +3 -0
- package/dist/video-playlist/index.js +3 -0
- package/dist/video-playlist/item/video-playlist-item.d.ts +101 -0
- package/dist/video-playlist/item/video-playlist-item.js +162 -0
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +121 -0
- package/dist/video-playlist/menu/video-playlist-menu.js +237 -0
- package/dist/video-playlist/root/video-playlist-root.d.ts +108 -0
- package/dist/video-playlist/root/video-playlist-root.js +218 -0
- package/dist/virtual-list/index.d.ts +1 -0
- package/dist/virtual-list/index.js +1 -0
- package/dist/virtual-list/root/virtual-list-root.d.ts +121 -0
- package/dist/virtual-list/root/virtual-list-root.js +221 -0
- package/jsx.d.ts +49767 -0
- package/package.json +77 -0
- package/svelte.d.ts +129 -0
- package/vue.d.ts +9242 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import './element-events.generated.js';
|
|
2
|
+
/**
|
|
3
|
+
* Everything core exports, forwarded whole.
|
|
4
|
+
*
|
|
5
|
+
* Named individually before, and the list drifted every time a component used
|
|
6
|
+
* something new: a value-change event, a placement type, a close event. Each
|
|
7
|
+
* one compiled here and broke in the generated React package, which imports
|
|
8
|
+
* the type a public property is declared with. Forwarding the module has
|
|
9
|
+
* nothing to keep in step.
|
|
10
|
+
*/
|
|
11
|
+
export * from '@fusion.dev/helix-core';
|
|
12
|
+
export * from './accordion/index.js';
|
|
13
|
+
export * from './announcement/index.js';
|
|
14
|
+
export * from './app-header/index.js';
|
|
15
|
+
export * from './avatar/index.js';
|
|
16
|
+
export * from './badge/index.js';
|
|
17
|
+
export * from './bar-chart/index.js';
|
|
18
|
+
export * from './blockquote/index.js';
|
|
19
|
+
export * from './breadcrumbs/index.js';
|
|
20
|
+
export * from './button/index.js';
|
|
21
|
+
export * from './button-group/index.js';
|
|
22
|
+
export * from './callout/index.js';
|
|
23
|
+
export * from './card/index.js';
|
|
24
|
+
export * from './carousel/index.js';
|
|
25
|
+
export * from './chat/index.js';
|
|
26
|
+
export * from './checkbox/index.js';
|
|
27
|
+
export * from './checkbox-group/index.js';
|
|
28
|
+
export * from './code/index.js';
|
|
29
|
+
export * from './code-block/index.js';
|
|
30
|
+
export * from './color-input/index.js';
|
|
31
|
+
export * from './color-picker/index.js';
|
|
32
|
+
export * from './combobox/index.js';
|
|
33
|
+
export * from './command/index.js';
|
|
34
|
+
export * from './copy-button/index.js';
|
|
35
|
+
export * from './data-table/index.js';
|
|
36
|
+
export * from './date-input/index.js';
|
|
37
|
+
export * from './date-picker/index.js';
|
|
38
|
+
export * from './dialog/index.js';
|
|
39
|
+
export * from './divider/index.js';
|
|
40
|
+
export * from './donut-chart/index.js';
|
|
41
|
+
export * from './drawer/index.js';
|
|
42
|
+
export * from './drilldown/index.js';
|
|
43
|
+
export * from './empty/index.js';
|
|
44
|
+
export * from './file-input/index.js';
|
|
45
|
+
export * from './format-date/index.js';
|
|
46
|
+
export * from './heatmap/index.js';
|
|
47
|
+
export * from './icon/index.js';
|
|
48
|
+
export * from './icon-button/index.js';
|
|
49
|
+
export * from './image/index.js';
|
|
50
|
+
export * from './input/index.js';
|
|
51
|
+
export * from './kbd/index.js';
|
|
52
|
+
export * from './legend/index.js';
|
|
53
|
+
export * from './line-chart/index.js';
|
|
54
|
+
export * from './list/index.js';
|
|
55
|
+
export * from './listbox/index.js';
|
|
56
|
+
export * from './loader/index.js';
|
|
57
|
+
export * from './megamenu/index.js';
|
|
58
|
+
export * from './menu/index.js';
|
|
59
|
+
export * from './meter/index.js';
|
|
60
|
+
export * from './navigation/index.js';
|
|
61
|
+
export * from './notifications/index.js';
|
|
62
|
+
export * from './number-input/index.js';
|
|
63
|
+
export * from './option/index.js';
|
|
64
|
+
export * from './outline/index.js';
|
|
65
|
+
export * from './pagination/index.js';
|
|
66
|
+
export * from './pin-input/index.js';
|
|
67
|
+
export * from './popover/index.js';
|
|
68
|
+
export * from './progress/index.js';
|
|
69
|
+
export * from './qr-code/index.js';
|
|
70
|
+
export * from './quote/index.js';
|
|
71
|
+
export * from './radio/index.js';
|
|
72
|
+
export * from './rating/index.js';
|
|
73
|
+
export * from './scroll-area/index.js';
|
|
74
|
+
export * from './select/index.js';
|
|
75
|
+
export * from './skeleton/index.js';
|
|
76
|
+
export * from './slider/index.js';
|
|
77
|
+
export * from './sparkline/index.js';
|
|
78
|
+
export * from './speed-dial/index.js';
|
|
79
|
+
export * from './splitter/index.js';
|
|
80
|
+
export * from './stat/index.js';
|
|
81
|
+
export * from './steps/index.js';
|
|
82
|
+
export * from './switch/index.js';
|
|
83
|
+
export * from './table/index.js';
|
|
84
|
+
export * from './tabs/index.js';
|
|
85
|
+
export * from './tag/index.js';
|
|
86
|
+
export * from './textarea/index.js';
|
|
87
|
+
export * from './time-input/index.js';
|
|
88
|
+
export * from './time-picker/index.js';
|
|
89
|
+
export * from './timeline/index.js';
|
|
90
|
+
export * from './toast/index.js';
|
|
91
|
+
export * from './toggle/index.js';
|
|
92
|
+
export * from './toolbar/index.js';
|
|
93
|
+
export * from './tooltip/index.js';
|
|
94
|
+
export * from './tour/index.js';
|
|
95
|
+
export * from './tree/index.js';
|
|
96
|
+
export * from './trend/index.js';
|
|
97
|
+
export * from './video/index.js';
|
|
98
|
+
export * from './video-playlist/index.js';
|
|
99
|
+
export * from './virtual-list/index.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import './element-events.generated.js';
|
|
2
|
+
/**
|
|
3
|
+
* Everything core exports, forwarded whole.
|
|
4
|
+
*
|
|
5
|
+
* Named individually before, and the list drifted every time a component used
|
|
6
|
+
* something new: a value-change event, a placement type, a close event. Each
|
|
7
|
+
* one compiled here and broke in the generated React package, which imports
|
|
8
|
+
* the type a public property is declared with. Forwarding the module has
|
|
9
|
+
* nothing to keep in step.
|
|
10
|
+
*/
|
|
11
|
+
export * from '@fusion.dev/helix-core';
|
|
12
|
+
export * from './accordion/index.js';
|
|
13
|
+
export * from './announcement/index.js';
|
|
14
|
+
export * from './app-header/index.js';
|
|
15
|
+
export * from './avatar/index.js';
|
|
16
|
+
export * from './badge/index.js';
|
|
17
|
+
export * from './bar-chart/index.js';
|
|
18
|
+
export * from './blockquote/index.js';
|
|
19
|
+
export * from './breadcrumbs/index.js';
|
|
20
|
+
export * from './button/index.js';
|
|
21
|
+
export * from './button-group/index.js';
|
|
22
|
+
export * from './callout/index.js';
|
|
23
|
+
export * from './card/index.js';
|
|
24
|
+
export * from './carousel/index.js';
|
|
25
|
+
export * from './chat/index.js';
|
|
26
|
+
export * from './checkbox/index.js';
|
|
27
|
+
export * from './checkbox-group/index.js';
|
|
28
|
+
export * from './code/index.js';
|
|
29
|
+
export * from './code-block/index.js';
|
|
30
|
+
export * from './color-input/index.js';
|
|
31
|
+
export * from './color-picker/index.js';
|
|
32
|
+
export * from './combobox/index.js';
|
|
33
|
+
export * from './command/index.js';
|
|
34
|
+
export * from './copy-button/index.js';
|
|
35
|
+
export * from './data-table/index.js';
|
|
36
|
+
export * from './date-input/index.js';
|
|
37
|
+
export * from './date-picker/index.js';
|
|
38
|
+
export * from './dialog/index.js';
|
|
39
|
+
export * from './divider/index.js';
|
|
40
|
+
export * from './donut-chart/index.js';
|
|
41
|
+
export * from './drawer/index.js';
|
|
42
|
+
export * from './drilldown/index.js';
|
|
43
|
+
export * from './empty/index.js';
|
|
44
|
+
export * from './file-input/index.js';
|
|
45
|
+
export * from './format-date/index.js';
|
|
46
|
+
export * from './heatmap/index.js';
|
|
47
|
+
export * from './icon/index.js';
|
|
48
|
+
export * from './icon-button/index.js';
|
|
49
|
+
export * from './image/index.js';
|
|
50
|
+
export * from './input/index.js';
|
|
51
|
+
export * from './kbd/index.js';
|
|
52
|
+
export * from './legend/index.js';
|
|
53
|
+
export * from './line-chart/index.js';
|
|
54
|
+
export * from './list/index.js';
|
|
55
|
+
export * from './listbox/index.js';
|
|
56
|
+
export * from './loader/index.js';
|
|
57
|
+
export * from './megamenu/index.js';
|
|
58
|
+
export * from './menu/index.js';
|
|
59
|
+
export * from './meter/index.js';
|
|
60
|
+
export * from './navigation/index.js';
|
|
61
|
+
export * from './notifications/index.js';
|
|
62
|
+
export * from './number-input/index.js';
|
|
63
|
+
export * from './option/index.js';
|
|
64
|
+
export * from './outline/index.js';
|
|
65
|
+
export * from './pagination/index.js';
|
|
66
|
+
export * from './pin-input/index.js';
|
|
67
|
+
export * from './popover/index.js';
|
|
68
|
+
export * from './progress/index.js';
|
|
69
|
+
export * from './qr-code/index.js';
|
|
70
|
+
export * from './quote/index.js';
|
|
71
|
+
export * from './radio/index.js';
|
|
72
|
+
export * from './rating/index.js';
|
|
73
|
+
export * from './scroll-area/index.js';
|
|
74
|
+
export * from './select/index.js';
|
|
75
|
+
export * from './skeleton/index.js';
|
|
76
|
+
export * from './slider/index.js';
|
|
77
|
+
export * from './sparkline/index.js';
|
|
78
|
+
export * from './speed-dial/index.js';
|
|
79
|
+
export * from './splitter/index.js';
|
|
80
|
+
export * from './stat/index.js';
|
|
81
|
+
export * from './steps/index.js';
|
|
82
|
+
export * from './switch/index.js';
|
|
83
|
+
export * from './table/index.js';
|
|
84
|
+
export * from './tabs/index.js';
|
|
85
|
+
export * from './tag/index.js';
|
|
86
|
+
export * from './textarea/index.js';
|
|
87
|
+
export * from './time-input/index.js';
|
|
88
|
+
export * from './time-picker/index.js';
|
|
89
|
+
export * from './timeline/index.js';
|
|
90
|
+
export * from './toast/index.js';
|
|
91
|
+
export * from './toggle/index.js';
|
|
92
|
+
export * from './toolbar/index.js';
|
|
93
|
+
export * from './tooltip/index.js';
|
|
94
|
+
export * from './tour/index.js';
|
|
95
|
+
export * from './tree/index.js';
|
|
96
|
+
export * from './trend/index.js';
|
|
97
|
+
export * from './video/index.js';
|
|
98
|
+
export * from './video-playlist/index.js';
|
|
99
|
+
export * from './virtual-list/index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/input-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/input-root.js';
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { AriaForwardController, HelixFormElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
+
/** What the control accepts, which is text of one kind or another. */
|
|
4
|
+
export type InputType = 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url';
|
|
5
|
+
declare const HelixHeadlessInput_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerValueInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinFieldInterface) & typeof HelixFormElement;
|
|
6
|
+
/**
|
|
7
|
+
* @summary A single line of text a reader types into.
|
|
8
|
+
*
|
|
9
|
+
* @description
|
|
10
|
+
* Renders a real `<input>`, so the caret, selection, autofill, spellcheck, the
|
|
11
|
+
* password manager, and the on-screen keyboard a phone chooses all come from the
|
|
12
|
+
* platform. `delegatesFocus` puts focus on it, and it serializes into the
|
|
13
|
+
* server's markup, so the field is usable before any script loads.
|
|
14
|
+
*
|
|
15
|
+
* **The input inside a shadow root submits nothing**, because the form is on the
|
|
16
|
+
* other side of the boundary. The host is form-associated instead and reports
|
|
17
|
+
* its own value through `ElementInternals`, which is also what carries validity
|
|
18
|
+
* and what answers a form reset.
|
|
19
|
+
*
|
|
20
|
+
* `value` and `defaultValue` are separate for the reason `checked` and
|
|
21
|
+
* `defaultChecked` are: `value` is what is in the field now and
|
|
22
|
+
* `defaultValue` is what the markup asked for, which is where a reset returns
|
|
23
|
+
* to and is gone the moment anyone types.
|
|
24
|
+
*
|
|
25
|
+
* **Validity is the platform's.** The `type` and `required` are set on the real
|
|
26
|
+
* input and its `validity` is copied onto the host, so an email field rejects
|
|
27
|
+
* what the browser says is not an email rather than what a regular expression
|
|
28
|
+
* here guesses. What this adds is the anchor, so `reportValidity` points the
|
|
29
|
+
* bubble at the input rather than at the host.
|
|
30
|
+
*
|
|
31
|
+
* `pattern`, `minlength` and `maxlength` are forwarded with them. They were
|
|
32
|
+
* promised by this paragraph and did not exist, so a consumer following the
|
|
33
|
+
* sentence wrote an attribute on the host that reached no input and constrained
|
|
34
|
+
* nothing: the field looked as though it were checked and was not.
|
|
35
|
+
*
|
|
36
|
+
* **`clearable` and `reveal` are the field's, not the consumer's.** The `end`
|
|
37
|
+
* slot used to be the answer to both, which meant every consumer of
|
|
38
|
+
* `type="search"` built the same button and every consumer of
|
|
39
|
+
* `type="password"` either built the same toggle or shipped a field a reader
|
|
40
|
+
* cannot check what they typed into. Neither is a slot's worth of variation:
|
|
41
|
+
* one empties the value, the other flips the type, and both want the same
|
|
42
|
+
* position, the same size and the same disabled behavior. The slot stays for
|
|
43
|
+
* what actually varies, a unit or a prefix.
|
|
44
|
+
*
|
|
45
|
+
* Both opt in rather than following from `type`, and are booleans that default
|
|
46
|
+
* to false. A Lit boolean property that defaults to *true* cannot be turned off
|
|
47
|
+
* from HTML at all, only from script, which is the wrong way round for
|
|
48
|
+
* revealing a password: a consumer should have to ask for it. Drawer's `modal`
|
|
49
|
+
* defaults true for the opposite reason, that losing a focus trap by forgetting
|
|
50
|
+
* a word is worse than having to say so.
|
|
51
|
+
*
|
|
52
|
+
* @since 0.1.0
|
|
53
|
+
* @status experimental
|
|
54
|
+
* @category forms
|
|
55
|
+
* @aliases TextField, Field, TextInput
|
|
56
|
+
* @documentation https://helix.fusion.dev/components/input
|
|
57
|
+
*
|
|
58
|
+
* @slot end - After the text, for an icon or a unit.
|
|
59
|
+
* @slot start - Before the text, for an icon or a prefix.
|
|
60
|
+
*
|
|
61
|
+
* @event {Event} change - Relayed from the input once the reader has finished.
|
|
62
|
+
* @event {HelixBeforeChangeEvent} helix-before-change - Fired as the text changes, and cancelable.
|
|
63
|
+
* @event {Event} input - Announced once the value has moved.
|
|
64
|
+
*
|
|
65
|
+
* @csspart clear - The button that empties the field.
|
|
66
|
+
* @csspart control - The input itself.
|
|
67
|
+
* @csspart feedback - What is wrong with it.
|
|
68
|
+
* @csspart field - The box holding everything.
|
|
69
|
+
* @csspart hint - Help under the field, while nothing is wrong.
|
|
70
|
+
* @csspart icon - A glyph this component draws.
|
|
71
|
+
* @csspart label - The question, over the field.
|
|
72
|
+
* @csspart reveal - The button that shows and hides a password.
|
|
73
|
+
*/
|
|
74
|
+
export declare class HelixHeadlessInput extends HelixHeadlessInput_base {
|
|
75
|
+
protected readonly aria: AriaForwardController;
|
|
76
|
+
/** Typed or dragged, so every edit is announced. See `announcesInput`. */
|
|
77
|
+
protected readonly announcesInput = true;
|
|
78
|
+
/**
|
|
79
|
+
* What the browser may autofill here, as one of the platform's own tokens.
|
|
80
|
+
*
|
|
81
|
+
* Empty leaves the attribute off, which is the browser's default. Set it to
|
|
82
|
+
* a token like `email` or `bday` to ask for autofill, or to `off` to refuse.
|
|
83
|
+
*/
|
|
84
|
+
autocomplete: string;
|
|
85
|
+
/**
|
|
86
|
+
* Shown while the field is empty.
|
|
87
|
+
*
|
|
88
|
+
* Not a label: it goes when typing starts.
|
|
89
|
+
*/
|
|
90
|
+
placeholder: string;
|
|
91
|
+
/**
|
|
92
|
+
* Whether the field refuses input while still submitting its value.
|
|
93
|
+
*
|
|
94
|
+
* **`readonly`, which is the platform's spelling, and it was `read-only`
|
|
95
|
+
* until 28 Aug 2026.** A camelCase property needs an explicit `attribute`
|
|
96
|
+
* and the library had been answering that question two ways: thirteen
|
|
97
|
+
* attributes kept the name HTML uses (`crossorigin`, `maxlength`,
|
|
98
|
+
* `formnovalidate`, `dirname` and the rest) and five dash-cased a word the
|
|
99
|
+
* platform writes as one. `readonly` was the only one on both lists, this
|
|
100
|
+
* spelling on `Rating` and `read-only` on the eight other fields, so one
|
|
101
|
+
* library shipped both and each was inert on the other's families.
|
|
102
|
+
*
|
|
103
|
+
* The cost of the dash-cased form is the one this repository keeps writing
|
|
104
|
+
* down about attributes: nothing warns. `<helix-input readonly>` is what
|
|
105
|
+
* anybody who has written HTML types, it parsed to no property at all, and
|
|
106
|
+
* the field stayed editable with no error anywhere. Measured before the
|
|
107
|
+
* rename: `readOnly` came back `false`.
|
|
108
|
+
*
|
|
109
|
+
* Taken now for the reason [#213](../../../../../docs/19-queue.md) gives
|
|
110
|
+
* about the part it renamed for the same kind of reason: there is no
|
|
111
|
+
* `helix-v` tag, so no consumer is holding the old spelling, and this is free
|
|
112
|
+
* today and a deprecation after the first release.
|
|
113
|
+
* `check:attribute-names` holds it from here.
|
|
114
|
+
*/
|
|
115
|
+
readOnly: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* What the field accepts, which decides the keyboard and the validation.
|
|
118
|
+
*
|
|
119
|
+
* **Not reflected**, and it was. Reflection exists so a selector can reach a
|
|
120
|
+
* value, and no stylesheet in this repository selects on `type`: what it did
|
|
121
|
+
* instead was write `type="text"` onto every `<helix-input>` ever rendered,
|
|
122
|
+
* an attribute no consumer's markup had. That is precisely the fault `Button`
|
|
123
|
+
* had with `href`, `target` and `rel`, written up in the area rules as the
|
|
124
|
+
* reason the rule exists, and this was the last property in the library still
|
|
125
|
+
* doing it. Audited: ten reflected attributes have no selector anywhere, and
|
|
126
|
+
* this is the only one of them with a value that puts itself on the host.
|
|
127
|
+
*
|
|
128
|
+
* Nothing reads it from the attribute either. The real `<input>` inside takes
|
|
129
|
+
* it as a property binding, which is what makes the keyboard and the
|
|
130
|
+
* validation follow.
|
|
131
|
+
*/
|
|
132
|
+
type: InputType;
|
|
133
|
+
/**
|
|
134
|
+
* Whether the field offers a button that empties it.
|
|
135
|
+
*
|
|
136
|
+
* Shown only while there is something to clear, because a control that does
|
|
137
|
+
* nothing is worse than no control: a reader who presses it and sees no
|
|
138
|
+
* change has to work out whether the field was already empty or the button
|
|
139
|
+
* is broken.
|
|
140
|
+
*/
|
|
141
|
+
clearable: boolean;
|
|
142
|
+
/**
|
|
143
|
+
* What the clear button is called, since an icon has no name of its own.
|
|
144
|
+
*/
|
|
145
|
+
clearLabel: string;
|
|
146
|
+
/**
|
|
147
|
+
* Whether a password field offers a toggle that shows what was typed.
|
|
148
|
+
*
|
|
149
|
+
* Ignored on every other type. A reveal on an email field would be a button
|
|
150
|
+
* that does nothing visible, and guarding it here rather than asking the
|
|
151
|
+
* consumer not to means the property can be set once on a component that
|
|
152
|
+
* changes type.
|
|
153
|
+
*/
|
|
154
|
+
reveal: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* What the reveal toggle is called.
|
|
157
|
+
*
|
|
158
|
+
* The state is `aria-pressed`, not this.
|
|
159
|
+
*/
|
|
160
|
+
revealLabel: string;
|
|
161
|
+
/**
|
|
162
|
+
* Whether the password is currently showing.
|
|
163
|
+
*
|
|
164
|
+
* State rather than a property: it is a reader's momentary choice about what
|
|
165
|
+
* is on their own screen, it must not survive anything, and a consumer that
|
|
166
|
+
* could set it could reveal a password without the reader asking.
|
|
167
|
+
*/
|
|
168
|
+
private revealed;
|
|
169
|
+
/**
|
|
170
|
+
* The type the real input is given, which is not always the type asked for.
|
|
171
|
+
*
|
|
172
|
+
* A revealed password is a text field for exactly as long as the reader is
|
|
173
|
+
* looking at it. Reading through a getter rather than mutating `type` keeps
|
|
174
|
+
* the property the consumer's: what they set is what they get back, whatever
|
|
175
|
+
* the button is doing.
|
|
176
|
+
*/
|
|
177
|
+
private get effectiveType();
|
|
178
|
+
/** Whether there is a clear button on screen right now. */
|
|
179
|
+
private get showsClear();
|
|
180
|
+
/** Focus is delegated to the input, so the host is never the focus target. */
|
|
181
|
+
static shadowRootOptions: ShadowRootInit;
|
|
182
|
+
/**
|
|
183
|
+
* The caret and the selection, under the platform's own names.
|
|
184
|
+
*
|
|
185
|
+
* The `<input>` is inside this shadow root, so a consumer had no way to ask
|
|
186
|
+
* where the selection is, let alone move it: `querySelector` does not cross
|
|
187
|
+
* the boundary. An insert-at-cursor toolbar, a format button, a mask that
|
|
188
|
+
* repositions the caret after rewriting the value, all of them need this and
|
|
189
|
+
* none of them could be written. Textarea gained the same surface for the same
|
|
190
|
+
* reason. See 295.
|
|
191
|
+
*
|
|
192
|
+
* Zero before there is a control, which is where an empty field's caret would
|
|
193
|
+
* be anyway.
|
|
194
|
+
*/
|
|
195
|
+
get selectionDirection(): SelectionDirection;
|
|
196
|
+
set selectionDirection(direction: SelectionDirection);
|
|
197
|
+
/** Where the selection ends, as an offset into the value. */
|
|
198
|
+
get selectionEnd(): number;
|
|
199
|
+
set selectionEnd(at: number);
|
|
200
|
+
/** Where the selection starts, as an offset into the value. */
|
|
201
|
+
get selectionStart(): number;
|
|
202
|
+
set selectionStart(at: number);
|
|
203
|
+
/**
|
|
204
|
+
* Selects a range, which is the one operation the three accessors above
|
|
205
|
+
* cannot express between them.
|
|
206
|
+
*
|
|
207
|
+
* Setting `selectionStart` past the current `selectionEnd` drags the end
|
|
208
|
+
* along, so the two writes a consumer would make in sequence do not compose
|
|
209
|
+
* into the range they asked for. The platform has this method for that reason
|
|
210
|
+
* and so does this.
|
|
211
|
+
*/
|
|
212
|
+
setSelectionRange(start: number, end: number, direction?: SelectionDirection): void;
|
|
213
|
+
private get control();
|
|
214
|
+
/**
|
|
215
|
+
* Every keystroke, cancelable, and put back where it is refused.
|
|
216
|
+
*
|
|
217
|
+
* The input has already taken the character by the time this runs, so a
|
|
218
|
+
* consumer that refuses the change has to see the field returned to what the
|
|
219
|
+
* element still holds. Otherwise the text on screen and the value the form
|
|
220
|
+
* would submit disagree, which is the one thing a controlled field must never
|
|
221
|
+
* do.
|
|
222
|
+
*/
|
|
223
|
+
private readonly handleInput;
|
|
224
|
+
/**
|
|
225
|
+
* Empties the field and gives the caret back.
|
|
226
|
+
*
|
|
227
|
+
* Focus returns to the input rather than staying on the button, which is
|
|
228
|
+
* about to disappear: a reader who cleared a field is going to type in it,
|
|
229
|
+
* and focus resting on a control that is being removed lands on the body.
|
|
230
|
+
*
|
|
231
|
+
* Through `requestValue` like every other change, so a consumer who owns the
|
|
232
|
+
* value hears about it and decides, and a canceled clear leaves the text
|
|
233
|
+
* where it was.
|
|
234
|
+
*/
|
|
235
|
+
private readonly handleClear;
|
|
236
|
+
/** Relayed, because `change` does not cross a shadow boundary on its own. */
|
|
237
|
+
private readonly handleChange;
|
|
238
|
+
/** Reports the value and the validity the host stands behind. */
|
|
239
|
+
private sync;
|
|
240
|
+
/** Puts the caret in the field, the way a label pointing at one would. */
|
|
241
|
+
focus(options?: FocusOptions): void;
|
|
242
|
+
/** Selects everything in the field. */
|
|
243
|
+
select(): void;
|
|
244
|
+
/**
|
|
245
|
+
* The caret, held across a value the consumer wrote rather than the reader.
|
|
246
|
+
*
|
|
247
|
+
* Set in `willUpdate` and spent in `updated`, because Lit's `.value` binding
|
|
248
|
+
* lands between the two and takes the selection with it. See `holdCaret`.
|
|
249
|
+
*/
|
|
250
|
+
private releaseCaret;
|
|
251
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
252
|
+
protected updated(changed: PropertyValues): void;
|
|
253
|
+
/**
|
|
254
|
+
* A regular expression the value has to match, as the platform reads it.
|
|
255
|
+
*
|
|
256
|
+
* The class documentation promised `pattern` and `minlength` "and the rest"
|
|
257
|
+
* were set on the real input, and no such properties existed: a consumer
|
|
258
|
+
* following that sentence wrote an attribute on the host, it reached no input,
|
|
259
|
+
* and the field constrained nothing while looking as though it did.
|
|
260
|
+
*
|
|
261
|
+
* Forwarded rather than checked here, which is the whole reason validity is
|
|
262
|
+
* the platform's: the browser knows what a `pattern` means, anchors it at both
|
|
263
|
+
* ends, and produces the message in the reader's own language.
|
|
264
|
+
*/
|
|
265
|
+
pattern: string;
|
|
266
|
+
/**
|
|
267
|
+
* Fewest characters the value may have.
|
|
268
|
+
*/
|
|
269
|
+
minLength?: number;
|
|
270
|
+
/**
|
|
271
|
+
* Most characters the value may have.
|
|
272
|
+
*/
|
|
273
|
+
maxLength?: number;
|
|
274
|
+
protected render(): TemplateResult;
|
|
275
|
+
}
|
|
276
|
+
declare global {
|
|
277
|
+
interface HTMLElementTagNameMap {
|
|
278
|
+
'helix-headless-input': HelixHeadlessInput;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
export {};
|