@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
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary One choice in a listbox.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* **Its own family rather than a part of Select, and the reason is what it
|
|
8
|
+
* belongs to.** `role="option"` requires an owning `role="listbox"`, which is
|
|
9
|
+
* the ARIA contract: an option cannot stand alone. But a Select is *a listbox
|
|
10
|
+
* with a trigger*, a Combobox is *a listbox with a text input*, and a command
|
|
11
|
+
* palette is the same listbox again. The thing an option belongs to is the
|
|
12
|
+
* listbox, not any one control that happens to contain one.
|
|
13
|
+
*
|
|
14
|
+
* That is the difference from `Radio`, which is a part of its group: a radio
|
|
15
|
+
* has exactly one kind of owner, and an option has several.
|
|
16
|
+
*
|
|
17
|
+
* Selection is announced rather than applied, the way a radio's is. The option
|
|
18
|
+
* says it was chosen, the listbox decides whether that stands, and the listbox
|
|
19
|
+
* writes `selected` back. An option that selected itself would be a second
|
|
20
|
+
* answer to which one is chosen.
|
|
21
|
+
*
|
|
22
|
+
* **Nothing here knows about filtering.** A hidden option is hidden by whatever
|
|
23
|
+
* owns it, through `hidden`, because what counts as a match is the listbox's
|
|
24
|
+
* question and differs between a select and a command palette.
|
|
25
|
+
*
|
|
26
|
+
* @since 0.1.0
|
|
27
|
+
* @status experimental
|
|
28
|
+
* @category forms
|
|
29
|
+
* @aliases Item, Choice
|
|
30
|
+
* @documentation https://helix.fusion.dev/components/option
|
|
31
|
+
*
|
|
32
|
+
* @slot - The words naming this choice.
|
|
33
|
+
* @slot end - After them, for a shortcut or a count.
|
|
34
|
+
* @slot start - Before the words, for an icon or an avatar.
|
|
35
|
+
*
|
|
36
|
+
* @event {HelixSelectEvent} helix-select - Fired when this choice is made. Cancelable: refusing it takes the decision and nothing moves.
|
|
37
|
+
*
|
|
38
|
+
* @csspart description - The caption under the words, when there is one.
|
|
39
|
+
* @csspart item - The row.
|
|
40
|
+
* @csspart label - The words.
|
|
41
|
+
* @csspart text - The words and the caption under them, as one column.
|
|
42
|
+
*/
|
|
43
|
+
export declare class HelixHeadlessOption extends HelixElement {
|
|
44
|
+
/**
|
|
45
|
+
* Whether this choice can be made.
|
|
46
|
+
*/
|
|
47
|
+
disabled: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* A second line under the words, for what the choice actually is.
|
|
50
|
+
*
|
|
51
|
+
* A palette row reads better as a name and a caption than as one sentence
|
|
52
|
+
* carrying both: "Helix" and "the design system" are two facts, and a comma
|
|
53
|
+
* between them makes a reader parse the punctuation to find where the name
|
|
54
|
+
* ends. Matching still reads the label, so what somebody types is matched
|
|
55
|
+
* against the name rather than against prose about it.
|
|
56
|
+
*
|
|
57
|
+
* **A property and not a slot, which is the departure worth explaining.** The
|
|
58
|
+
* area rules say a content property is its slot's fallback, and that holds for
|
|
59
|
+
* a region always drawn: `Avatar`'s initials, `Tooltip`'s text. This one is
|
|
60
|
+
* usually absent, and a wrapped slot generates a box whether or not it is
|
|
61
|
+
* filled, so every option without a caption would carry an empty line. The
|
|
62
|
+
* detection that would avoid it does not exist, `:host(:has())` being invalid
|
|
63
|
+
* and the server having no children to inspect. A property is known at render
|
|
64
|
+
* time, so the component can decline to draw the box at all.
|
|
65
|
+
*
|
|
66
|
+
* It does not reflect, per the rule that payload state stays off the host: a
|
|
67
|
+
* string is not a fact a selector needs.
|
|
68
|
+
*/
|
|
69
|
+
description?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Whether this is the option the keyboard is on.
|
|
72
|
+
*
|
|
73
|
+
* Written by the listbox.
|
|
74
|
+
*/
|
|
75
|
+
active: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Whether the markup declared this one chosen, which is what a reset returns to.
|
|
78
|
+
*
|
|
79
|
+
* `<option selected>` reflects to `defaultSelected` and `option.selected` is
|
|
80
|
+
* live state that does not reflect, and those are two different facts. This
|
|
81
|
+
* element has one `selected` doing both jobs, so what is captured here is what
|
|
82
|
+
* the markup said at upgrade, before anything could overwrite it: read the
|
|
83
|
+
* attribute later and the listbox's own writes answer instead.
|
|
84
|
+
*
|
|
85
|
+
* **The deeper half is 302 and is not this.** State reflecting under the
|
|
86
|
+
* declaration's name is the fault `TreeItem` already avoids by mirroring to
|
|
87
|
+
* `data-selected`, and four families here still write `selected` back into a
|
|
88
|
+
* consumer's markup. Splitting them means moving what every stylesheet selects
|
|
89
|
+
* on, which is a change of its own rather than a property being added.
|
|
90
|
+
*/
|
|
91
|
+
get defaultSelected(): boolean;
|
|
92
|
+
set defaultSelected(next: boolean);
|
|
93
|
+
/** What the markup said, read once at construction for the reason above. */
|
|
94
|
+
private seeded;
|
|
95
|
+
/**
|
|
96
|
+
* Whether this choice is currently chosen.
|
|
97
|
+
*
|
|
98
|
+
* Written by the listbox.
|
|
99
|
+
*/
|
|
100
|
+
selected: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* A shorter name for this choice, for where the row does not fit.
|
|
103
|
+
*
|
|
104
|
+
* `<option label>`'s own meaning: the text a chooser shows when it has less
|
|
105
|
+
* room than the row does, which is what a select's closed trigger has. Empty
|
|
106
|
+
* means the row's own content, which is the common case and is why this is not
|
|
107
|
+
* simply the accessible name.
|
|
108
|
+
*/
|
|
109
|
+
label: string;
|
|
110
|
+
/**
|
|
111
|
+
* Identifies this choice, and is what a form submits.
|
|
112
|
+
*/
|
|
113
|
+
value: string;
|
|
114
|
+
/**
|
|
115
|
+
* A second destination for this row, taken with the modifier held.
|
|
116
|
+
*
|
|
117
|
+
* **An attribute rather than a second row, which is the whole point.** A
|
|
118
|
+
* palette of eighty-eight components that offered each of them a reference
|
|
119
|
+
* page and a sandbox as separate entries would be a palette of a hundred and
|
|
120
|
+
* seventy-six, and one earns its keep by getting a reader to one thing in
|
|
121
|
+
* three keystrokes. The row already carries the first destination, so the
|
|
122
|
+
* second belongs beside it.
|
|
123
|
+
*
|
|
124
|
+
* Declared here and acted on by whatever owns the list, the same division
|
|
125
|
+
* selection already uses: an option says what it is and the listbox decides
|
|
126
|
+
* what happens. `Command` is the only owner that reads it today, because a
|
|
127
|
+
* select has one destination by definition.
|
|
128
|
+
*
|
|
129
|
+
* Absent is a row with one destination, which is nearly every row.
|
|
130
|
+
*/
|
|
131
|
+
alternate: string;
|
|
132
|
+
/**
|
|
133
|
+
* What the second destination is, for a reader who cannot see the footer.
|
|
134
|
+
*
|
|
135
|
+
* A row with two destinations needs both said, or a screen reader is told
|
|
136
|
+
* about one of them and the other is a key nobody mentioned. It goes to
|
|
137
|
+
* `aria-description` rather than into the name: the name is the row's own
|
|
138
|
+
* words and stays what a reader searched for, and the second destination is a
|
|
139
|
+
* fact about what pressing a key would do, which is what a description is.
|
|
140
|
+
*/
|
|
141
|
+
alternateLabel: string;
|
|
142
|
+
/**
|
|
143
|
+
* The words, for a listbox that has to match text against them.
|
|
144
|
+
*
|
|
145
|
+
* Read from the rendered content rather than required as a property, because
|
|
146
|
+
* the content is where a consumer naturally puts it and asking for both is
|
|
147
|
+
* asking for two things to disagree.
|
|
148
|
+
*
|
|
149
|
+
* **The default slot's content, not the element's.** This was
|
|
150
|
+
* `this.textContent`, which is every descendant text node an option holds,
|
|
151
|
+
* and an option holds three slots: the words, plus `start` for an icon and
|
|
152
|
+
* `end` for a shortcut or a count. Neither of those is what a reader
|
|
153
|
+
* searched for, and both were being run onto the end of it.
|
|
154
|
+
*
|
|
155
|
+
* **Six things read this and all six were wrong.** The collapsed field of
|
|
156
|
+
* Select and of Combobox show it, the listbox filters on it, Combobox
|
|
157
|
+
* matches typed text against it, completes inline from it, and labels a
|
|
158
|
+
* chosen tag with it. Measured on a font picker whose options carry a
|
|
159
|
+
* two-letter specimen in `end`: the field read `Noto Sans Linear BAg`, and
|
|
160
|
+
* typing `ag` matched 1,892 of 1,893 options, every row containing the
|
|
161
|
+
* sample. An option with a keyboard shortcut in its end slot has the same
|
|
162
|
+
* fault and a worse one, every row carrying one matching every letter of it.
|
|
163
|
+
*
|
|
164
|
+
* A node goes to the default slot when it names no other, which is the rule
|
|
165
|
+
* the platform applies at assignment. Asking the same question here rather
|
|
166
|
+
* than a second one is what stops the two disagreeing. Text nodes are
|
|
167
|
+
* always the default slot's and cannot say otherwise.
|
|
168
|
+
*/
|
|
169
|
+
get text(): string;
|
|
170
|
+
/** Makes this choice and announces it. */
|
|
171
|
+
select(): void;
|
|
172
|
+
/**
|
|
173
|
+
* Mirrors the chosen state where a stylesheet can select on it.
|
|
174
|
+
*
|
|
175
|
+
* **A custom state and not the `selected` attribute it used to reflect.** The
|
|
176
|
+
* parent writes this: a listbox choosing a row, a tab strip moving the tab, a
|
|
177
|
+
* radio group answering for its set. Reflected, that put the element's own
|
|
178
|
+
* bookkeeping onto markup a consumer wrote and a consumer's server never sent,
|
|
179
|
+
* which React reconciles and reports as a mismatch, and which a serialized
|
|
180
|
+
* element pasted back declares as a choice nobody made. `ElementInternals`
|
|
181
|
+
* holds it instead, where it is not in the DOM at all.
|
|
182
|
+
*
|
|
183
|
+
* Reading `selected` is unaffected and so is writing it: the attribute still
|
|
184
|
+
* seeds the property, which is what `<helix-option selected>` in a consumer's
|
|
185
|
+
* markup means. What stops is the write back. See 302 and 304.
|
|
186
|
+
*/
|
|
187
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
188
|
+
protected render(): TemplateResult;
|
|
189
|
+
}
|
|
190
|
+
declare global {
|
|
191
|
+
interface HTMLElementTagNameMap {
|
|
192
|
+
'helix-headless-option': HelixHeadlessOption;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { customElement, HelixElement, HelixSelectEvent } from '@fusion.dev/helix-core';
|
|
8
|
+
import { html, nothing } from 'lit';
|
|
9
|
+
import { property } from 'lit/decorators.js';
|
|
10
|
+
/**
|
|
11
|
+
* @summary One choice in a listbox.
|
|
12
|
+
*
|
|
13
|
+
* @description
|
|
14
|
+
* **Its own family rather than a part of Select, and the reason is what it
|
|
15
|
+
* belongs to.** `role="option"` requires an owning `role="listbox"`, which is
|
|
16
|
+
* the ARIA contract: an option cannot stand alone. But a Select is *a listbox
|
|
17
|
+
* with a trigger*, a Combobox is *a listbox with a text input*, and a command
|
|
18
|
+
* palette is the same listbox again. The thing an option belongs to is the
|
|
19
|
+
* listbox, not any one control that happens to contain one.
|
|
20
|
+
*
|
|
21
|
+
* That is the difference from `Radio`, which is a part of its group: a radio
|
|
22
|
+
* has exactly one kind of owner, and an option has several.
|
|
23
|
+
*
|
|
24
|
+
* Selection is announced rather than applied, the way a radio's is. The option
|
|
25
|
+
* says it was chosen, the listbox decides whether that stands, and the listbox
|
|
26
|
+
* writes `selected` back. An option that selected itself would be a second
|
|
27
|
+
* answer to which one is chosen.
|
|
28
|
+
*
|
|
29
|
+
* **Nothing here knows about filtering.** A hidden option is hidden by whatever
|
|
30
|
+
* owns it, through `hidden`, because what counts as a match is the listbox's
|
|
31
|
+
* question and differs between a select and a command palette.
|
|
32
|
+
*
|
|
33
|
+
* @since 0.1.0
|
|
34
|
+
* @status experimental
|
|
35
|
+
* @category forms
|
|
36
|
+
* @aliases Item, Choice
|
|
37
|
+
* @documentation https://helix.fusion.dev/components/option
|
|
38
|
+
*
|
|
39
|
+
* @slot - The words naming this choice.
|
|
40
|
+
* @slot end - After them, for a shortcut or a count.
|
|
41
|
+
* @slot start - Before the words, for an icon or an avatar.
|
|
42
|
+
*
|
|
43
|
+
* @event {HelixSelectEvent} helix-select - Fired when this choice is made. Cancelable: refusing it takes the decision and nothing moves.
|
|
44
|
+
*
|
|
45
|
+
* @csspart description - The caption under the words, when there is one.
|
|
46
|
+
* @csspart item - The row.
|
|
47
|
+
* @csspart label - The words.
|
|
48
|
+
* @csspart text - The words and the caption under them, as one column.
|
|
49
|
+
*/
|
|
50
|
+
let HelixHeadlessOption = class HelixHeadlessOption extends HelixElement {
|
|
51
|
+
constructor() {
|
|
52
|
+
super(...arguments);
|
|
53
|
+
/**
|
|
54
|
+
* Whether this choice can be made.
|
|
55
|
+
*/
|
|
56
|
+
this.disabled = false;
|
|
57
|
+
/**
|
|
58
|
+
* Whether this is the option the keyboard is on.
|
|
59
|
+
*
|
|
60
|
+
* Written by the listbox.
|
|
61
|
+
*/
|
|
62
|
+
this.active = false;
|
|
63
|
+
/** What the markup said, read once at construction for the reason above. */
|
|
64
|
+
this.seeded = this.hasAttribute('selected');
|
|
65
|
+
/**
|
|
66
|
+
* Whether this choice is currently chosen.
|
|
67
|
+
*
|
|
68
|
+
* Written by the listbox.
|
|
69
|
+
*/
|
|
70
|
+
this.selected = false;
|
|
71
|
+
/**
|
|
72
|
+
* A shorter name for this choice, for where the row does not fit.
|
|
73
|
+
*
|
|
74
|
+
* `<option label>`'s own meaning: the text a chooser shows when it has less
|
|
75
|
+
* room than the row does, which is what a select's closed trigger has. Empty
|
|
76
|
+
* means the row's own content, which is the common case and is why this is not
|
|
77
|
+
* simply the accessible name.
|
|
78
|
+
*/
|
|
79
|
+
this.label = '';
|
|
80
|
+
/**
|
|
81
|
+
* Identifies this choice, and is what a form submits.
|
|
82
|
+
*/
|
|
83
|
+
this.value = '';
|
|
84
|
+
/**
|
|
85
|
+
* A second destination for this row, taken with the modifier held.
|
|
86
|
+
*
|
|
87
|
+
* **An attribute rather than a second row, which is the whole point.** A
|
|
88
|
+
* palette of eighty-eight components that offered each of them a reference
|
|
89
|
+
* page and a sandbox as separate entries would be a palette of a hundred and
|
|
90
|
+
* seventy-six, and one earns its keep by getting a reader to one thing in
|
|
91
|
+
* three keystrokes. The row already carries the first destination, so the
|
|
92
|
+
* second belongs beside it.
|
|
93
|
+
*
|
|
94
|
+
* Declared here and acted on by whatever owns the list, the same division
|
|
95
|
+
* selection already uses: an option says what it is and the listbox decides
|
|
96
|
+
* what happens. `Command` is the only owner that reads it today, because a
|
|
97
|
+
* select has one destination by definition.
|
|
98
|
+
*
|
|
99
|
+
* Absent is a row with one destination, which is nearly every row.
|
|
100
|
+
*/
|
|
101
|
+
this.alternate = '';
|
|
102
|
+
/**
|
|
103
|
+
* What the second destination is, for a reader who cannot see the footer.
|
|
104
|
+
*
|
|
105
|
+
* A row with two destinations needs both said, or a screen reader is told
|
|
106
|
+
* about one of them and the other is a key nobody mentioned. It goes to
|
|
107
|
+
* `aria-description` rather than into the name: the name is the row's own
|
|
108
|
+
* words and stays what a reader searched for, and the second destination is a
|
|
109
|
+
* fact about what pressing a key would do, which is what a description is.
|
|
110
|
+
*/
|
|
111
|
+
this.alternateLabel = '';
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Whether the markup declared this one chosen, which is what a reset returns to.
|
|
115
|
+
*
|
|
116
|
+
* `<option selected>` reflects to `defaultSelected` and `option.selected` is
|
|
117
|
+
* live state that does not reflect, and those are two different facts. This
|
|
118
|
+
* element has one `selected` doing both jobs, so what is captured here is what
|
|
119
|
+
* the markup said at upgrade, before anything could overwrite it: read the
|
|
120
|
+
* attribute later and the listbox's own writes answer instead.
|
|
121
|
+
*
|
|
122
|
+
* **The deeper half is 302 and is not this.** State reflecting under the
|
|
123
|
+
* declaration's name is the fault `TreeItem` already avoids by mirroring to
|
|
124
|
+
* `data-selected`, and four families here still write `selected` back into a
|
|
125
|
+
* consumer's markup. Splitting them means moving what every stylesheet selects
|
|
126
|
+
* on, which is a change of its own rather than a property being added.
|
|
127
|
+
*/
|
|
128
|
+
get defaultSelected() {
|
|
129
|
+
return this.seeded;
|
|
130
|
+
}
|
|
131
|
+
set defaultSelected(next) {
|
|
132
|
+
this.seeded = next;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The words, for a listbox that has to match text against them.
|
|
136
|
+
*
|
|
137
|
+
* Read from the rendered content rather than required as a property, because
|
|
138
|
+
* the content is where a consumer naturally puts it and asking for both is
|
|
139
|
+
* asking for two things to disagree.
|
|
140
|
+
*
|
|
141
|
+
* **The default slot's content, not the element's.** This was
|
|
142
|
+
* `this.textContent`, which is every descendant text node an option holds,
|
|
143
|
+
* and an option holds three slots: the words, plus `start` for an icon and
|
|
144
|
+
* `end` for a shortcut or a count. Neither of those is what a reader
|
|
145
|
+
* searched for, and both were being run onto the end of it.
|
|
146
|
+
*
|
|
147
|
+
* **Six things read this and all six were wrong.** The collapsed field of
|
|
148
|
+
* Select and of Combobox show it, the listbox filters on it, Combobox
|
|
149
|
+
* matches typed text against it, completes inline from it, and labels a
|
|
150
|
+
* chosen tag with it. Measured on a font picker whose options carry a
|
|
151
|
+
* two-letter specimen in `end`: the field read `Noto Sans Linear BAg`, and
|
|
152
|
+
* typing `ag` matched 1,892 of 1,893 options, every row containing the
|
|
153
|
+
* sample. An option with a keyboard shortcut in its end slot has the same
|
|
154
|
+
* fault and a worse one, every row carrying one matching every letter of it.
|
|
155
|
+
*
|
|
156
|
+
* A node goes to the default slot when it names no other, which is the rule
|
|
157
|
+
* the platform applies at assignment. Asking the same question here rather
|
|
158
|
+
* than a second one is what stops the two disagreeing. Text nodes are
|
|
159
|
+
* always the default slot's and cannot say otherwise.
|
|
160
|
+
*/
|
|
161
|
+
get text() {
|
|
162
|
+
return [...this.childNodes]
|
|
163
|
+
.filter((node) => !(node instanceof Element) || node.slot === '')
|
|
164
|
+
.map((node) => node.textContent ?? '')
|
|
165
|
+
.join('')
|
|
166
|
+
.trim();
|
|
167
|
+
}
|
|
168
|
+
/** Makes this choice and announces it. */
|
|
169
|
+
select() {
|
|
170
|
+
if (this.disabled) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
this.dispatchEvent(new HelixSelectEvent({ value: this.value }));
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Mirrors the chosen state where a stylesheet can select on it.
|
|
177
|
+
*
|
|
178
|
+
* **A custom state and not the `selected` attribute it used to reflect.** The
|
|
179
|
+
* parent writes this: a listbox choosing a row, a tab strip moving the tab, a
|
|
180
|
+
* radio group answering for its set. Reflected, that put the element's own
|
|
181
|
+
* bookkeeping onto markup a consumer wrote and a consumer's server never sent,
|
|
182
|
+
* which React reconciles and reports as a mismatch, and which a serialized
|
|
183
|
+
* element pasted back declares as a choice nobody made. `ElementInternals`
|
|
184
|
+
* holds it instead, where it is not in the DOM at all.
|
|
185
|
+
*
|
|
186
|
+
* Reading `selected` is unaffected and so is writing it: the attribute still
|
|
187
|
+
* seeds the property, which is what `<helix-option selected>` in a consumer's
|
|
188
|
+
* markup means. What stops is the write back. See 302 and 304.
|
|
189
|
+
*/
|
|
190
|
+
willUpdate(changed) {
|
|
191
|
+
super.willUpdate(changed);
|
|
192
|
+
this.toggleState('selected', this.selected);
|
|
193
|
+
}
|
|
194
|
+
render() {
|
|
195
|
+
/* `role` and `aria-selected` on the host through internals, because an
|
|
196
|
+
option's semantics have to be visible to the listbox that owns it and a
|
|
197
|
+
wrapper in here would put a box between them. */
|
|
198
|
+
this.internals.role = 'option';
|
|
199
|
+
this.internals.ariaSelected = String(this.selected);
|
|
200
|
+
this.internals.ariaDisabled = this.disabled ? 'true' : null;
|
|
201
|
+
this.internals.ariaDescription =
|
|
202
|
+
this.alternate !== '' && this.alternateLabel !== '' ? this.alternateLabel : null;
|
|
203
|
+
/* A pointer reaches `select()` the way every other choosable row in this
|
|
204
|
+
library does, from a `@click` in its own template: `Tabs.Tab`,
|
|
205
|
+
`Tree.Item` and `Menu.Item` all bind one. This had none, and nothing else
|
|
206
|
+
listened for a click either, so an option could be chosen with the
|
|
207
|
+
keyboard and not with a mouse. A select was unusable with a pointer for
|
|
208
|
+
as long as it has existed, which nothing caught because every spec for it
|
|
209
|
+
chooses by calling `select()` or by pressing a key. */
|
|
210
|
+
return html `<div part="item" @click=${() => this.select()}>
|
|
211
|
+
<slot name="start"></slot>
|
|
212
|
+
<span part="text">
|
|
213
|
+
<span part="label"><slot></slot></span>
|
|
214
|
+
${this.description ? html `<span part="description">${this.description}</span>` : nothing}
|
|
215
|
+
</span>
|
|
216
|
+
<slot name="end"></slot>
|
|
217
|
+
</div>`;
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
__decorate([
|
|
221
|
+
property({ reflect: true, type: Boolean })
|
|
222
|
+
], HelixHeadlessOption.prototype, "disabled", void 0);
|
|
223
|
+
__decorate([
|
|
224
|
+
property()
|
|
225
|
+
], HelixHeadlessOption.prototype, "description", void 0);
|
|
226
|
+
__decorate([
|
|
227
|
+
property({ attribute: 'data-active', reflect: true, type: Boolean })
|
|
228
|
+
], HelixHeadlessOption.prototype, "active", void 0);
|
|
229
|
+
__decorate([
|
|
230
|
+
property({ type: Boolean })
|
|
231
|
+
], HelixHeadlessOption.prototype, "selected", void 0);
|
|
232
|
+
__decorate([
|
|
233
|
+
property()
|
|
234
|
+
], HelixHeadlessOption.prototype, "label", void 0);
|
|
235
|
+
__decorate([
|
|
236
|
+
property()
|
|
237
|
+
], HelixHeadlessOption.prototype, "value", void 0);
|
|
238
|
+
__decorate([
|
|
239
|
+
property()
|
|
240
|
+
], HelixHeadlessOption.prototype, "alternate", void 0);
|
|
241
|
+
__decorate([
|
|
242
|
+
property({ attribute: 'alternate-label' })
|
|
243
|
+
], HelixHeadlessOption.prototype, "alternateLabel", void 0);
|
|
244
|
+
HelixHeadlessOption = __decorate([
|
|
245
|
+
customElement('helix-headless-option')
|
|
246
|
+
], HelixHeadlessOption);
|
|
247
|
+
export { HelixHeadlessOption };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/outline-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/outline-root.js';
|