@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 @@
|
|
|
1
|
+
export * from './root/loader-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/loader-root.js';
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary Says that something indeterminate is in progress.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* Two concentric circles rather than one arc: the track is what makes the
|
|
8
|
+
* moving part read as a proportion of a whole rather than as a shape drifting
|
|
9
|
+
* on its own, and it costs one element.
|
|
10
|
+
*
|
|
11
|
+
* **The center is a slot and is empty by default.** A loader with a mark in the
|
|
12
|
+
* middle is a brand's loader, and this library does not know whose. The slot is
|
|
13
|
+
* the capability; the logo is the application's, put in once wherever the app
|
|
14
|
+
* wraps it. Nothing is rendered when nothing is slotted, so an unbranded loader
|
|
15
|
+
* is still two circles and no extra box.
|
|
16
|
+
*
|
|
17
|
+
* What is slotted does not turn. Only the arc moves, because a mark rotating
|
|
18
|
+
* with it stops reading as a mark and becomes part of the animation, and a
|
|
19
|
+
* wordmark upside down twice a second is worse than no wordmark.
|
|
20
|
+
*
|
|
21
|
+
* The semantics are on the host through `ElementInternals`, not on an inner
|
|
22
|
+
* span. A `role` written into the shadow root announces correctly but leaves
|
|
23
|
+
* the host itself anonymous to anything walking the light DOM, and a `role`
|
|
24
|
+
* written onto the host as an attribute is one a React consumer's server markup
|
|
25
|
+
* never had.
|
|
26
|
+
*
|
|
27
|
+
* @since 0.1.0
|
|
28
|
+
* @status stable
|
|
29
|
+
* @category feedback
|
|
30
|
+
* @aliases Spinner, Busy, Activity
|
|
31
|
+
* @documentation https://helix.fusion.dev/components/loader
|
|
32
|
+
*
|
|
33
|
+
* @slot - A mark to sit still at the center, usually a logo. Empty by default.
|
|
34
|
+
*
|
|
35
|
+
* @csspart indicator - The arc that turns.
|
|
36
|
+
* @csspart mark - The region holding what was slotted at the center.
|
|
37
|
+
* @csspart svg - The rotating circle pair.
|
|
38
|
+
* @csspart track - The full circle behind the indicator.
|
|
39
|
+
*/
|
|
40
|
+
export declare class HelixHeadlessLoader extends HelixElement {
|
|
41
|
+
/**
|
|
42
|
+
* Accessible name, announced while the work is outstanding.
|
|
43
|
+
*/
|
|
44
|
+
label: string;
|
|
45
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
46
|
+
protected render(): TemplateResult;
|
|
47
|
+
}
|
|
48
|
+
declare global {
|
|
49
|
+
interface HTMLElementTagNameMap {
|
|
50
|
+
'helix-headless-loader': HelixHeadlessLoader;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
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, hostAria } from '@fusion.dev/helix-core';
|
|
8
|
+
import { html } from 'lit';
|
|
9
|
+
import { property } from 'lit/decorators.js';
|
|
10
|
+
/**
|
|
11
|
+
* @summary Says that something indeterminate is in progress.
|
|
12
|
+
*
|
|
13
|
+
* @description
|
|
14
|
+
* Two concentric circles rather than one arc: the track is what makes the
|
|
15
|
+
* moving part read as a proportion of a whole rather than as a shape drifting
|
|
16
|
+
* on its own, and it costs one element.
|
|
17
|
+
*
|
|
18
|
+
* **The center is a slot and is empty by default.** A loader with a mark in the
|
|
19
|
+
* middle is a brand's loader, and this library does not know whose. The slot is
|
|
20
|
+
* the capability; the logo is the application's, put in once wherever the app
|
|
21
|
+
* wraps it. Nothing is rendered when nothing is slotted, so an unbranded loader
|
|
22
|
+
* is still two circles and no extra box.
|
|
23
|
+
*
|
|
24
|
+
* What is slotted does not turn. Only the arc moves, because a mark rotating
|
|
25
|
+
* with it stops reading as a mark and becomes part of the animation, and a
|
|
26
|
+
* wordmark upside down twice a second is worse than no wordmark.
|
|
27
|
+
*
|
|
28
|
+
* The semantics are on the host through `ElementInternals`, not on an inner
|
|
29
|
+
* span. A `role` written into the shadow root announces correctly but leaves
|
|
30
|
+
* the host itself anonymous to anything walking the light DOM, and a `role`
|
|
31
|
+
* written onto the host as an attribute is one a React consumer's server markup
|
|
32
|
+
* never had.
|
|
33
|
+
*
|
|
34
|
+
* @since 0.1.0
|
|
35
|
+
* @status stable
|
|
36
|
+
* @category feedback
|
|
37
|
+
* @aliases Spinner, Busy, Activity
|
|
38
|
+
* @documentation https://helix.fusion.dev/components/loader
|
|
39
|
+
*
|
|
40
|
+
* @slot - A mark to sit still at the center, usually a logo. Empty by default.
|
|
41
|
+
*
|
|
42
|
+
* @csspart indicator - The arc that turns.
|
|
43
|
+
* @csspart mark - The region holding what was slotted at the center.
|
|
44
|
+
* @csspart svg - The rotating circle pair.
|
|
45
|
+
* @csspart track - The full circle behind the indicator.
|
|
46
|
+
*/
|
|
47
|
+
let HelixHeadlessLoader = class HelixHeadlessLoader extends HelixElement {
|
|
48
|
+
constructor() {
|
|
49
|
+
super(...arguments);
|
|
50
|
+
/**
|
|
51
|
+
* Accessible name, announced while the work is outstanding.
|
|
52
|
+
*/
|
|
53
|
+
this.label = 'Loading';
|
|
54
|
+
}
|
|
55
|
+
willUpdate(changed) {
|
|
56
|
+
super.willUpdate(changed);
|
|
57
|
+
hostAria(this.internals, { label: this.label, role: 'progressbar' });
|
|
58
|
+
this.internals.ariaBusy = 'true';
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
61
|
+
return html `<svg part="svg" viewBox="0 0 24 24" aria-hidden="true">
|
|
62
|
+
<circle part="track" cx="12" cy="12" r="10" fill="none" />
|
|
63
|
+
<circle part="indicator" cx="12" cy="12" r="10" fill="none" />
|
|
64
|
+
</svg>
|
|
65
|
+
<span part="mark" aria-hidden="true"><slot></slot></span>`;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
__decorate([
|
|
69
|
+
property()
|
|
70
|
+
], HelixHeadlessLoader.prototype, "label", void 0);
|
|
71
|
+
HelixHeadlessLoader = __decorate([
|
|
72
|
+
customElement('helix-headless-loader')
|
|
73
|
+
], HelixHeadlessLoader);
|
|
74
|
+
export { HelixHeadlessLoader };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/megamenu-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/megamenu-root.js';
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
+
declare const HelixHeadlessMegamenu_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerOpenInterface) & typeof HelixElement;
|
|
4
|
+
/**
|
|
5
|
+
* @summary A section of a navigation that opens a panel of destinations.
|
|
6
|
+
*
|
|
7
|
+
* @description
|
|
8
|
+
* **A disclosure, not a menu, and that is the whole design.** `role="menu"` and
|
|
9
|
+
* `menuitem` are for an application's commands: they take over the arrow keys,
|
|
10
|
+
* announce "menu" to a reader who asked for navigation, and put every link
|
|
11
|
+
* inside a role that is not a link. What this is, is a button that shows and
|
|
12
|
+
* hides a region of the consumer's own anchors, which is the pattern the APG
|
|
13
|
+
* gives for site navigation and the one that leaves a middle click, a modified
|
|
14
|
+
* click and the status bar working. `Menu` remains right for a row of commands.
|
|
15
|
+
*
|
|
16
|
+
* **It renders no links**, for the reason `Navigation` gives: a router renders
|
|
17
|
+
* its own anchor and cannot render one inside this shadow root. The panel is a
|
|
18
|
+
* slot, and what goes in it is lists and headings the consumer wrote.
|
|
19
|
+
*
|
|
20
|
+
* **It opens on hover, and a press is always the fallback.** `open-on` says
|
|
21
|
+
* which, and hover is the resting value because a nav bar is the one place a
|
|
22
|
+
* reader expects to sweep along a row and see each section: making them click,
|
|
23
|
+
* read, click again to compare two is the interaction hover exists to save.
|
|
24
|
+
*
|
|
25
|
+
* Hover is not the only way in, and the code is mostly about that. There is no
|
|
26
|
+
* hover on a touch screen, so a tap opens the panel there whatever `open-on`
|
|
27
|
+
* says, which is why the pointer type is checked rather than assumed. Focus
|
|
28
|
+
* still opens nothing, for the same reason a tab through a nav bar should not
|
|
29
|
+
* unfold it, but Enter on the trigger does, and a keyboard press arrives as a
|
|
30
|
+
* click with no pointer behind it.
|
|
31
|
+
*
|
|
32
|
+
* A mouse click on a trigger the pointer is already sitting on is the case
|
|
33
|
+
* worth naming: toggling there would close the panel and the pointer, still on
|
|
34
|
+
* the trigger, would open it again, so the trigger would flicker and never
|
|
35
|
+
* close. In hover mode the mouse's own clicks are left alone and hover governs
|
|
36
|
+
* on its own. Escape and a click away still close it.
|
|
37
|
+
*
|
|
38
|
+
* The delays are intent, not decoration. Opening waits, so a pointer crossing
|
|
39
|
+
* the bar on its way somewhere else opens nothing; closing waits longer, so the
|
|
40
|
+
* diagonal from the trigger down into the panel does not pass through a gap and
|
|
41
|
+
* shut it. Moving along a bar where a panel is already down opens the next one
|
|
42
|
+
* at once, because at that point the reader is reading the bar, not crossing it.
|
|
43
|
+
*
|
|
44
|
+
* **Focus is not trapped and not moved.** A disclosure leaves the reader on the
|
|
45
|
+
* trigger and the panel follows in the tab order, which is what the markup
|
|
46
|
+
* already says, so Tab walks into the links and out the far side without
|
|
47
|
+
* anything managing it. Escape closes and puts focus back, because Escape is
|
|
48
|
+
* the one key that has to return the reader to where they were.
|
|
49
|
+
*
|
|
50
|
+
* The properties below are written by this component and read by whoever draws
|
|
51
|
+
* it. A consumer sets none of them: they carry a number this element computed
|
|
52
|
+
* and CSS cannot, which is what lets a stylesheet on this tier draw the thing
|
|
53
|
+
* without measuring anything itself.
|
|
54
|
+
*
|
|
55
|
+
* @since 0.1.0
|
|
56
|
+
* @status experimental
|
|
57
|
+
* @category navigation
|
|
58
|
+
* @aliases Mega menu, Flyout, Nav panel
|
|
59
|
+
* @documentation https://helix.fusion.dev/components/megamenu
|
|
60
|
+
*
|
|
61
|
+
* @slot - The panel's contents: the consumer's own lists and headings.
|
|
62
|
+
* @slot trigger - The control that opens it. Falls back to a button named by `label`.
|
|
63
|
+
*
|
|
64
|
+
* @event {HelixBeforeCloseEvent} helix-before-close - Fired before it closes, and cancelable.
|
|
65
|
+
* @event {HelixBeforeOpenEvent} helix-before-open - Fired before it opens, and cancelable.
|
|
66
|
+
* @event {Event} toggle - Says the state moved, carrying `newState` and `oldState`.
|
|
67
|
+
*
|
|
68
|
+
* @csspart surface - The floating panel, which is what opens.
|
|
69
|
+
* @csspart trigger - The default trigger, where none was slotted.
|
|
70
|
+
*
|
|
71
|
+
* @cssproperty --megamenu-top - Where the panel starts, measured from the bar above it.
|
|
72
|
+
*/
|
|
73
|
+
export declare class HelixHeadlessMegamenu extends HelixHeadlessMegamenu_base {
|
|
74
|
+
/**
|
|
75
|
+
* The section's name, which names the default trigger and the panel.
|
|
76
|
+
*/
|
|
77
|
+
label: string;
|
|
78
|
+
/**
|
|
79
|
+
* Whether the panel is a card under the trigger or a band across the page.
|
|
80
|
+
*
|
|
81
|
+
* The resting one is the card, hanging off the trigger and as wide as it
|
|
82
|
+
* needs to be. `full` is the other shape navigations use: a band from edge to
|
|
83
|
+
* edge under the header, with its contents held to the page's own measure, so
|
|
84
|
+
* a set of destinations too wide to sit under one word gets the whole width
|
|
85
|
+
* to lay out in.
|
|
86
|
+
*
|
|
87
|
+
* It changes where the panel goes as well as how it looks, which is why this
|
|
88
|
+
* tier knows about it at all: a band spans the viewport, so there is nothing
|
|
89
|
+
* to measure it against and nothing to flip or shift to, and the placing pass
|
|
90
|
+
* is told not to run. Everything else the popover gives, the top layer and
|
|
91
|
+
* the dismissal, is exactly what such a band needs.
|
|
92
|
+
*/
|
|
93
|
+
variant?: 'full';
|
|
94
|
+
/**
|
|
95
|
+
* Whether hovering the trigger opens the panel, or only a press does.
|
|
96
|
+
*
|
|
97
|
+
* A press always works. This says whether a mouse also opens it by resting on
|
|
98
|
+
* the trigger, and it is the default because that is what a navigation bar
|
|
99
|
+
* does. `click` is for a trigger that does something else as well, or a panel
|
|
100
|
+
* heavy enough that opening it on the way past is rude.
|
|
101
|
+
*/
|
|
102
|
+
openOn: 'click' | 'hover';
|
|
103
|
+
/**
|
|
104
|
+
* The width, in pixels, under which a card becomes a band. Zero never does.
|
|
105
|
+
*
|
|
106
|
+
* A card is a panel hung off one word, and there is no room to hang anything
|
|
107
|
+
* off a word on a phone: the columns do not shrink past
|
|
108
|
+
* `--megamenu-column-size`, so four of them stay four of them and the panel
|
|
109
|
+
* runs off the side of the screen rather than reflowing. Below this it takes
|
|
110
|
+
* the whole width and its columns stack, which is the only arrangement that
|
|
111
|
+
* fits.
|
|
112
|
+
*
|
|
113
|
+
* **In script rather than a media query, and only once.** Whether the panel is
|
|
114
|
+
* a band is not a question of paint: a band is not placed against the trigger,
|
|
115
|
+
* so the controller has to be told not to measure, and that decision is here
|
|
116
|
+
* whatever the stylesheet says. Writing the width in both places would be one
|
|
117
|
+
* number in two languages, drifting the first time either moved. This sets
|
|
118
|
+
* `data-narrow` on the host and the stylesheet arranges itself off that.
|
|
119
|
+
*/
|
|
120
|
+
fullBelow: number;
|
|
121
|
+
private narrow;
|
|
122
|
+
private query;
|
|
123
|
+
/** A band, whether because it was asked for or because there is no room. */
|
|
124
|
+
private get banded();
|
|
125
|
+
private readonly handleWidth;
|
|
126
|
+
private watchWidth;
|
|
127
|
+
private readonly panel;
|
|
128
|
+
/** Tells a slotted trigger the disclosure state, by property. See `tellDisclosure`. */
|
|
129
|
+
private tellTrigger;
|
|
130
|
+
/** What the consumer slotted, if they slotted anything. */
|
|
131
|
+
private get slotted();
|
|
132
|
+
/** Whatever the consumer slotted, or the button rendered in its place. */
|
|
133
|
+
private get trigger();
|
|
134
|
+
/** Shuts it and puts the reader back where they were. */
|
|
135
|
+
private close;
|
|
136
|
+
/**
|
|
137
|
+
* Where a full-bleed band starts, which is the only number it needs.
|
|
138
|
+
*
|
|
139
|
+
* The placing pass is off for that appearance, so nothing else is measuring:
|
|
140
|
+
* a band spans the viewport and has only one degree of freedom, how far down
|
|
141
|
+
* it sits, and that is the bottom of the trigger in viewport coordinates
|
|
142
|
+
* because the panel is fixed. A header that scrolls takes the band with it,
|
|
143
|
+
* which is what a panel hanging off a header should do.
|
|
144
|
+
*
|
|
145
|
+
* Written as a custom property rather than an inline `top`, so the stylesheet
|
|
146
|
+
* keeps the arrangement and this contributes the one measurement it cannot
|
|
147
|
+
* make. Nothing to do for the card, which the controller places.
|
|
148
|
+
*/
|
|
149
|
+
private band;
|
|
150
|
+
/**
|
|
151
|
+
* The bottom edge of the bar this hangs from.
|
|
152
|
+
*
|
|
153
|
+
* The trigger's own bottom is the obvious answer and is the wrong one: a
|
|
154
|
+
* header is taller than the word inside it, so a band starting at the word
|
|
155
|
+
* starts partway up the header, over its lower padding and its border.
|
|
156
|
+
* Measured: trigger bottom 44, header bottom 57, thirteen pixels of header
|
|
157
|
+
* with a band drawn across it.
|
|
158
|
+
*
|
|
159
|
+
* **The first ancestor as wide as the window, which is a fact and not a tag
|
|
160
|
+
* name.** A band spans the viewport, so what it should hang from is whatever
|
|
161
|
+
* else does: that is what makes something a bar. Asking for `helix-app-header`
|
|
162
|
+
* by name would make this element know about that one, which is the coupling
|
|
163
|
+
* `Menu` is careful not to have with `Drilldown`, and would leave a consumer
|
|
164
|
+
* who wrote their own header with a band across it.
|
|
165
|
+
*
|
|
166
|
+
* `body` ends the walk. It is as wide as the window and is not a bar, and its
|
|
167
|
+
* bottom is the foot of the page: without the guard a megamenu on a plain page
|
|
168
|
+
* would put its band down there. Nothing found means nothing to hang from, and
|
|
169
|
+
* the trigger is the honest answer again.
|
|
170
|
+
*/
|
|
171
|
+
private bar;
|
|
172
|
+
/**
|
|
173
|
+
* How long a pointer has to mean it, in milliseconds.
|
|
174
|
+
*
|
|
175
|
+
* Opening is the shorter wait: too long and the panel feels stuck, too short
|
|
176
|
+
* and crossing the bar opens things. Closing is longer because the pointer
|
|
177
|
+
* has to get from the trigger to the panel, and the straight line between
|
|
178
|
+
* them is not the line anybody moves along.
|
|
179
|
+
*/
|
|
180
|
+
private static readonly OPEN_DELAY;
|
|
181
|
+
private static readonly CLOSE_DELAY;
|
|
182
|
+
private timer;
|
|
183
|
+
private pointer;
|
|
184
|
+
private schedule;
|
|
185
|
+
private stop;
|
|
186
|
+
/**
|
|
187
|
+
* Keeps a band under its bar while the page moves, and closes it when the bar
|
|
188
|
+
* goes.
|
|
189
|
+
*
|
|
190
|
+
* The band is fixed and its offset is measured once, when it opens. That is
|
|
191
|
+
* fine until the page scrolls: a header that scrolls away leaves the band
|
|
192
|
+
* pinned where the header used to be, open, in the middle of the page with
|
|
193
|
+
* nothing above it. Measured at a scroll of 300: header bottom at -243 and the
|
|
194
|
+
* band still sitting at 57.
|
|
195
|
+
*
|
|
196
|
+
* The card has none of this, because the floating controller follows its
|
|
197
|
+
* anchor. Turning that off for the band, which has nothing to be placed
|
|
198
|
+
* against, took the scroll handling with it, and this is the half that was
|
|
199
|
+
* still wanted.
|
|
200
|
+
*
|
|
201
|
+
* A sticky bar does not move, so re-measuring returns the same number and the
|
|
202
|
+
* band stays where it is. `requestOpen` rather than `close`, because closing
|
|
203
|
+
* puts focus back on the trigger and a reader who has scrolled away should not
|
|
204
|
+
* be dragged back up to it.
|
|
205
|
+
*/
|
|
206
|
+
private readonly handleScroll;
|
|
207
|
+
private readonly handlePointerDown;
|
|
208
|
+
private readonly handlePointerEnter;
|
|
209
|
+
private readonly handlePointerLeave;
|
|
210
|
+
private readonly handleTriggerClick;
|
|
211
|
+
/**
|
|
212
|
+
* Shuts the panel when a reader takes one of the destinations in it.
|
|
213
|
+
*
|
|
214
|
+
* Nothing closed it before, so a click navigated and left the panel hanging
|
|
215
|
+
* over wherever the reader landed. With a router that navigates in place, and
|
|
216
|
+
* this is one, that is a panel covering the page it was asked to go to.
|
|
217
|
+
*
|
|
218
|
+
* **A modified click leaves it open**, which is the same position this
|
|
219
|
+
* element already takes on middle clicks and the status bar: `cmd` on a link
|
|
220
|
+
* opens a tab behind this page rather than navigating it, so the reader is
|
|
221
|
+
* still standing in the menu and collecting, and shutting it under them would
|
|
222
|
+
* make the second choice cost a second open.
|
|
223
|
+
*
|
|
224
|
+
* `requestOpen(false)` rather than `close()`, for the reason `pointerleave`
|
|
225
|
+
* gives: the trigger is not where the reader is going, and pulling focus back
|
|
226
|
+
* to a nav bar they have just left is a scroll they did not ask for.
|
|
227
|
+
*
|
|
228
|
+
* **On the host rather than on the panel**, which is the same reason the
|
|
229
|
+
* pointer handlers give and one more. A row is slotted light DOM and the
|
|
230
|
+
* panel is in the shadow root, so a click only reaches the panel through the
|
|
231
|
+
* flattened tree: real ones do, and a DOM that does not implement slot
|
|
232
|
+
* propagation never delivers it, which makes every case here pass by never
|
|
233
|
+
* running this at all. The host is the row's own ancestor in both.
|
|
234
|
+
*/
|
|
235
|
+
private readonly handleContentClick;
|
|
236
|
+
connectedCallback(): void;
|
|
237
|
+
disconnectedCallback(): void;
|
|
238
|
+
protected updated(changed: PropertyValues): void;
|
|
239
|
+
/**
|
|
240
|
+
* The control that opens it, behind a seam the styled tier can move.
|
|
241
|
+
*
|
|
242
|
+
* The same case `SpeedDial` records: a bare `<button>` is what this tier can
|
|
243
|
+
* write, `helix-button` lives a tier above, and a render method is how a tier
|
|
244
|
+
* that has one reaches this without reimplementing the panel below it.
|
|
245
|
+
*/
|
|
246
|
+
protected renderTrigger(): TemplateResult;
|
|
247
|
+
protected render(): TemplateResult;
|
|
248
|
+
}
|
|
249
|
+
declare global {
|
|
250
|
+
interface HTMLElementTagNameMap {
|
|
251
|
+
'helix-headless-megamenu': HelixHeadlessMegamenu;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
export {};
|