@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,251 @@
|
|
|
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 { anchorElement, customElement, drawIcon, HelixElement, KeyboardNavigationController, MixinControllerOpen, PopoverController, tellDisclosure, } from '@fusion.dev/helix-core';
|
|
8
|
+
import { plus } from '@fusion.dev/helix-icons';
|
|
9
|
+
import { html, nothing } from 'lit';
|
|
10
|
+
import { property } from 'lit/decorators.js';
|
|
11
|
+
/**
|
|
12
|
+
* @summary A button that fans out the few actions a screen is for.
|
|
13
|
+
*
|
|
14
|
+
* @description
|
|
15
|
+
* **A menu, and deliberately not a new one.** Its rows are commands, which is
|
|
16
|
+
* what `role="menu"` and `menuitem` exist for, so this takes them and takes the
|
|
17
|
+
* behavior with them: the arrow keys are `KeyboardNavigationController`, the
|
|
18
|
+
* panel is `PopoverController`, and open and closed is `MixinControllerOpen`.
|
|
19
|
+
* `Menu` is built from the same pieces. What is not shared is what actually
|
|
20
|
+
* differs: a dial has no submenus, no headers, no checkable rows and no long
|
|
21
|
+
* list to type ahead through, and shipping it as an appearance of `Menu` would
|
|
22
|
+
* have meant defining what a dial with a submenu in it does.
|
|
23
|
+
*
|
|
24
|
+
* **The trigger is a control the consumer slots**, and the floating action
|
|
25
|
+
* button is the usual one: `helix-icon-button` with `shape="circle"` and
|
|
26
|
+
* `raised`. There is no `helix-fab` here, and the reason is worth stating,
|
|
27
|
+
* because a component would have re-declared `emphasis`, `tone`, `label` and
|
|
28
|
+
* a size around a control that already has all four. A round raised button is a
|
|
29
|
+
* shape, and where it sits is `data-dock` in the base layer.
|
|
30
|
+
*
|
|
31
|
+
* **Nothing is reserved from the keyboard.** A menu that drills has to keep the
|
|
32
|
+
* horizontal pair for going in and coming back; a dial goes nowhere, so all four
|
|
33
|
+
* arrows move through the actions and a reader who guesses either axis is
|
|
34
|
+
* answered. That is the controller's own house position, and this is a component
|
|
35
|
+
* with no reason to argue with it.
|
|
36
|
+
*
|
|
37
|
+
* @since 0.1.0
|
|
38
|
+
* @status experimental
|
|
39
|
+
* @category actions
|
|
40
|
+
* @aliases FAB, Floating action button, Action button, Quick actions
|
|
41
|
+
* @documentation https://helix.fusion.dev/components/speed-dial
|
|
42
|
+
*
|
|
43
|
+
* @slot - The actions.
|
|
44
|
+
* @slot trigger - The control that opens it. Falls back to a button named by `label`.
|
|
45
|
+
*
|
|
46
|
+
* @event {HelixBeforeCloseEvent} helix-before-close - Fired before it closes, and cancelable.
|
|
47
|
+
* @event {HelixBeforeOpenEvent} helix-before-open - Fired before it opens, and cancelable.
|
|
48
|
+
* @event {Event} toggle - Says the state moved, carrying `newState` and `oldState`.
|
|
49
|
+
*
|
|
50
|
+
* @csspart actions - The region the actions are drawn in.
|
|
51
|
+
* @csspart icon - A glyph this component draws.
|
|
52
|
+
* @csspart trigger - The default trigger, where none was slotted.
|
|
53
|
+
*/
|
|
54
|
+
let HelixHeadlessSpeedDial = class HelixHeadlessSpeedDial extends MixinControllerOpen(HelixElement) {
|
|
55
|
+
constructor() {
|
|
56
|
+
super(...arguments);
|
|
57
|
+
/**
|
|
58
|
+
* Names the trigger and the set of actions it opens.
|
|
59
|
+
*/
|
|
60
|
+
this.label = 'Actions';
|
|
61
|
+
/**
|
|
62
|
+
* Which way the actions fan out. They move if that side does not fit.
|
|
63
|
+
*
|
|
64
|
+
* Up by default, because the control this hangs off is usually docked to the
|
|
65
|
+
* bottom of the window and there is nothing below it to fan into.
|
|
66
|
+
*/
|
|
67
|
+
this.placement = 'top-end';
|
|
68
|
+
/**
|
|
69
|
+
* Space between the trigger and the actions, in pixels.
|
|
70
|
+
*/
|
|
71
|
+
this.offset = 12;
|
|
72
|
+
/* Nothing reserved: see the note above. `selects` is false because arriving at
|
|
73
|
+
Delete must not delete, which is the difference between a set of commands
|
|
74
|
+
and a set of choices. */
|
|
75
|
+
this.keys = new KeyboardNavigationController(this, {
|
|
76
|
+
items: () => this.items,
|
|
77
|
+
selects: () => false,
|
|
78
|
+
});
|
|
79
|
+
this.panel = new PopoverController(this, {
|
|
80
|
+
anchor: () => this.trigger,
|
|
81
|
+
/* The host, so a press on the trigger is not counted as a press outside.
|
|
82
|
+
`Menu` and `Megamenu` both say the same about their own. */
|
|
83
|
+
boundary: () => this,
|
|
84
|
+
offset: () => this.offset,
|
|
85
|
+
onDismiss: () => this.close(),
|
|
86
|
+
placement: () => this.placement,
|
|
87
|
+
surface: () => this.renderRoot?.querySelector('[part="actions"]'),
|
|
88
|
+
});
|
|
89
|
+
this.handleTriggerClick = () => {
|
|
90
|
+
this.requestOpen(!this.open);
|
|
91
|
+
};
|
|
92
|
+
/* Chosen, so the dial shuts behind it. An action that leaves the fan standing
|
|
93
|
+
open is one a reader has to dismiss after asking for it. */
|
|
94
|
+
this.handleSelect = () => {
|
|
95
|
+
this.close();
|
|
96
|
+
};
|
|
97
|
+
this.handleKeydown = (event) => {
|
|
98
|
+
if (event.key !== 'Escape') {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
event.stopPropagation();
|
|
102
|
+
this.close();
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/** Whatever the consumer slotted, or the button rendered in its place. */
|
|
107
|
+
get trigger() {
|
|
108
|
+
return anchorElement(this.renderRoot?.querySelector('slot[name="trigger"]'), this.renderRoot?.querySelector('[part="trigger"]') ?? this);
|
|
109
|
+
}
|
|
110
|
+
/** The actions, which are this element's own rows and nothing else slotted. */
|
|
111
|
+
get items() {
|
|
112
|
+
const slot = this.renderRoot?.querySelector('slot:not([name])');
|
|
113
|
+
return (slot?.assignedElements?.() ?? []).filter((one) => one.isSpeedDialItem === true);
|
|
114
|
+
}
|
|
115
|
+
/** Shuts it and puts the reader back on the trigger. */
|
|
116
|
+
close() {
|
|
117
|
+
if (!this.requestOpen(false)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
this.trigger.focus();
|
|
121
|
+
}
|
|
122
|
+
connectedCallback() {
|
|
123
|
+
super.connectedCallback();
|
|
124
|
+
this.addEventListener('helix-select', this.handleSelect);
|
|
125
|
+
this.addEventListener('keydown', this.handleKeydown);
|
|
126
|
+
}
|
|
127
|
+
disconnectedCallback() {
|
|
128
|
+
super.disconnectedCallback();
|
|
129
|
+
this.removeEventListener('helix-select', this.handleSelect);
|
|
130
|
+
this.removeEventListener('keydown', this.handleKeydown);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Tells a slotted trigger what it is doing, since it cannot know.
|
|
134
|
+
*
|
|
135
|
+
* The fallback button is rendered by this element and says so in its own
|
|
136
|
+
* template. A trigger the consumer slotted is their markup, and the state it
|
|
137
|
+
* needs to announce is state only this element holds: without this, the
|
|
138
|
+
* arrangement this component recommends, an icon button slotted as the
|
|
139
|
+
* trigger, is a control that opens a menu and never says it has one. A
|
|
140
|
+
* consumer who has to mirror `open` back onto their own trigger is a consumer
|
|
141
|
+
* who will forget, and the failure is silent to everyone who can see the
|
|
142
|
+
* screen.
|
|
143
|
+
*
|
|
144
|
+
* **Every word of that survives; the mechanism does not.** This wrote
|
|
145
|
+
* `aria-expanded` and `aria-haspopup` onto the consumer's element with
|
|
146
|
+
* `setAttribute`, and measured against React 19.2.8 that is a hydration
|
|
147
|
+
* mismatch React reports and does not patch up. `tellDisclosure` carries the
|
|
148
|
+
* argument and the measurement: the state travels as a property now, into the
|
|
149
|
+
* trigger's own shadow root, where React neither looks nor compares.
|
|
150
|
+
*
|
|
151
|
+
* `aria-haspopup` goes with it rather than being written separately. It is a
|
|
152
|
+
* constant, so it could stay an attribute without changing on every open, and
|
|
153
|
+
* an attribute the consumer's server never sent is a mismatch whether or not
|
|
154
|
+
* it moves afterwards: that was measured too, both load orders. A trigger that
|
|
155
|
+
* says it is expanded is already saying it has something to expand.
|
|
156
|
+
*/
|
|
157
|
+
announce() {
|
|
158
|
+
const trigger = this.trigger;
|
|
159
|
+
if (trigger === this.renderRoot?.querySelector('[part="trigger"]')) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
tellDisclosure(trigger, this.open);
|
|
163
|
+
}
|
|
164
|
+
updated(changed) {
|
|
165
|
+
super.updated?.(changed);
|
|
166
|
+
this.announce();
|
|
167
|
+
if (this.open) {
|
|
168
|
+
this.panel.show();
|
|
169
|
+
/* On the first action, which is where a reader who opened this with the
|
|
170
|
+
keyboard expects to be. The pointer does not mind either way.
|
|
171
|
+
|
|
172
|
+
Checked again on the way in, because this is a frame late and the dial
|
|
173
|
+
may have shut in the meantime. Opening and pressing Escape straight
|
|
174
|
+
away left focus on an action of a closed dial: the close put it back on
|
|
175
|
+
the trigger, and then this, still queued from the open, took it away
|
|
176
|
+
again. */
|
|
177
|
+
this.updateComplete.then(() => {
|
|
178
|
+
if (this.open) {
|
|
179
|
+
/* The first action that can *take* focus, not the first action. A
|
|
180
|
+
dial whose first item is disabled opened onto a row that refuses
|
|
181
|
+
focus, so the reader landed nowhere and their first arrow key
|
|
182
|
+
started from nothing.
|
|
183
|
+
|
|
184
|
+
`KeyboardNavigationController` has always filtered disabled items,
|
|
185
|
+
which is why the arrows were fine and this was not: the audit read
|
|
186
|
+
the fault into `items` and it was only ever here, at the one place
|
|
187
|
+
that reaches past the controller and indexes the list itself. */
|
|
188
|
+
this.items.find((one) => !one.disabled)?.focusItem();
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
this.panel.hide();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* The control that opens it, behind a seam the styled tier can move.
|
|
198
|
+
*
|
|
199
|
+
* **This is the case the tier rule blocks and a render method unblocks.** A
|
|
200
|
+
* bare `<button>` is what the headless tier can write: it must not reach for
|
|
201
|
+
* `helix-button`, which lives a tier above and would make `headless` depend
|
|
202
|
+
* on `web`. So the base draws the plain control and a tier that has buttons
|
|
203
|
+
* of its own overrides this to use one, which is the whole shape #76 exists
|
|
204
|
+
* for. Written inline the only way to change it was to reimplement the
|
|
205
|
+
* template, panel and all.
|
|
206
|
+
*/
|
|
207
|
+
renderTrigger() {
|
|
208
|
+
return html `<slot name="trigger" @click=${this.handleTriggerClick}>
|
|
209
|
+
<button
|
|
210
|
+
part="trigger"
|
|
211
|
+
type="button"
|
|
212
|
+
aria-expanded=${this.open ? 'true' : 'false'}
|
|
213
|
+
aria-haspopup="menu"
|
|
214
|
+
aria-label=${this.label}
|
|
215
|
+
>
|
|
216
|
+
${
|
|
217
|
+
/* A glyph, because the fallback was an empty `<button>`: a consumer
|
|
218
|
+
who slots no trigger got a control with nothing in it, and a
|
|
219
|
+
floating action button whose whole job is to be found. `plus` is
|
|
220
|
+
what a speed dial opens with everywhere it exists. */
|
|
221
|
+
''}
|
|
222
|
+
${drawIcon(plus)}
|
|
223
|
+
</button>
|
|
224
|
+
</slot>`;
|
|
225
|
+
}
|
|
226
|
+
render() {
|
|
227
|
+
return html `${this.renderTrigger()}
|
|
228
|
+
<div
|
|
229
|
+
part="actions"
|
|
230
|
+
popover="manual"
|
|
231
|
+
role="menu"
|
|
232
|
+
aria-label=${this.label || nothing}
|
|
233
|
+
?hidden=${!this.open}
|
|
234
|
+
>
|
|
235
|
+
<slot></slot>
|
|
236
|
+
</div>`;
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
__decorate([
|
|
240
|
+
property()
|
|
241
|
+
], HelixHeadlessSpeedDial.prototype, "label", void 0);
|
|
242
|
+
__decorate([
|
|
243
|
+
property()
|
|
244
|
+
], HelixHeadlessSpeedDial.prototype, "placement", void 0);
|
|
245
|
+
__decorate([
|
|
246
|
+
property({ type: Number })
|
|
247
|
+
], HelixHeadlessSpeedDial.prototype, "offset", void 0);
|
|
248
|
+
HelixHeadlessSpeedDial = __decorate([
|
|
249
|
+
customElement('helix-headless-speed-dial')
|
|
250
|
+
], HelixHeadlessSpeedDial);
|
|
251
|
+
export { HelixHeadlessSpeedDial };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/splitter-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/splitter-root.js';
|