@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,62 @@
|
|
|
1
|
+
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary Groups related buttons into one control.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* The host is the group, so `role="group"` sits on it through internals and
|
|
8
|
+
* `label` names it. A group of buttons with no name is announced as a run of
|
|
9
|
+
* separate controls, which is what the grouping exists to say it is not.
|
|
10
|
+
*
|
|
11
|
+
* It manages no focus. A group is not a toolbar: the APG toolbar pattern asks
|
|
12
|
+
* for one tab stop with arrow keys inside it, and that is what Toolbar is for.
|
|
13
|
+
* Here every button keeps its own tab stop, which is what a reader expects from
|
|
14
|
+
* buttons sitting side by side.
|
|
15
|
+
*
|
|
16
|
+
* Buttons are slotted rather than wrapped, so they stay the consumer's own
|
|
17
|
+
* elements and keep whatever appearance and size they were given.
|
|
18
|
+
*
|
|
19
|
+
* @since 0.1.0
|
|
20
|
+
* @status stable
|
|
21
|
+
* @category actions
|
|
22
|
+
* @aliases Segmented buttons, Split button
|
|
23
|
+
* @documentation https://helix.fusion.dev/components/button-group
|
|
24
|
+
*
|
|
25
|
+
* @slot - The buttons in the group.
|
|
26
|
+
*/
|
|
27
|
+
export declare class HelixHeadlessButtonGroup extends HelixElement {
|
|
28
|
+
/**
|
|
29
|
+
* Accessible name for the group.
|
|
30
|
+
*
|
|
31
|
+
* On the host through internals, so an author's `aria-label` still overrides
|
|
32
|
+
* it and nothing lands on the host that a consumer's markup did not have.
|
|
33
|
+
*/
|
|
34
|
+
label: string;
|
|
35
|
+
/**
|
|
36
|
+
* Which way the buttons are stacked.
|
|
37
|
+
*
|
|
38
|
+
* Unset is a row and stays unset, so a reflected default cannot appear on a
|
|
39
|
+
* host whose server output never had it.
|
|
40
|
+
*
|
|
41
|
+
* **A property and not an `auto`, which the splitter and the carousel earned
|
|
42
|
+
* and this has not.** Turning those two changes what they *do*: a drag axis,
|
|
43
|
+
* arrow keys, how many slides a page holds. A group of buttons turning is
|
|
44
|
+
* paint, so there is no state to resolve and nothing to observe; what it needs
|
|
45
|
+
* is for a consumer who knows the column is narrow to be able to say so.
|
|
46
|
+
*
|
|
47
|
+
* **What it is for, measured.** Three buttons at 320 come to 322 and overflow
|
|
48
|
+
* the page by 26. A row of joined buttons cannot answer that by wrapping,
|
|
49
|
+
* which is the obvious reach and the wrong one: the group's whole contract is
|
|
50
|
+
* buttons sharing edges as one shape, and a wrapped row carries the corners of
|
|
51
|
+
* a first row into a second. Stacked, the same three keep one shape and one
|
|
52
|
+
* column.
|
|
53
|
+
*/
|
|
54
|
+
orientation?: 'horizontal' | 'vertical';
|
|
55
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
56
|
+
protected render(): TemplateResult;
|
|
57
|
+
}
|
|
58
|
+
declare global {
|
|
59
|
+
interface HTMLElementTagNameMap {
|
|
60
|
+
'helix-headless-button-group': HelixHeadlessButtonGroup;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
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 Groups related buttons into one control.
|
|
12
|
+
*
|
|
13
|
+
* @description
|
|
14
|
+
* The host is the group, so `role="group"` sits on it through internals and
|
|
15
|
+
* `label` names it. A group of buttons with no name is announced as a run of
|
|
16
|
+
* separate controls, which is what the grouping exists to say it is not.
|
|
17
|
+
*
|
|
18
|
+
* It manages no focus. A group is not a toolbar: the APG toolbar pattern asks
|
|
19
|
+
* for one tab stop with arrow keys inside it, and that is what Toolbar is for.
|
|
20
|
+
* Here every button keeps its own tab stop, which is what a reader expects from
|
|
21
|
+
* buttons sitting side by side.
|
|
22
|
+
*
|
|
23
|
+
* Buttons are slotted rather than wrapped, so they stay the consumer's own
|
|
24
|
+
* elements and keep whatever appearance and size they were given.
|
|
25
|
+
*
|
|
26
|
+
* @since 0.1.0
|
|
27
|
+
* @status stable
|
|
28
|
+
* @category actions
|
|
29
|
+
* @aliases Segmented buttons, Split button
|
|
30
|
+
* @documentation https://helix.fusion.dev/components/button-group
|
|
31
|
+
*
|
|
32
|
+
* @slot - The buttons in the group.
|
|
33
|
+
*/
|
|
34
|
+
let HelixHeadlessButtonGroup = class HelixHeadlessButtonGroup extends HelixElement {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
/**
|
|
38
|
+
* Accessible name for the group.
|
|
39
|
+
*
|
|
40
|
+
* On the host through internals, so an author's `aria-label` still overrides
|
|
41
|
+
* it and nothing lands on the host that a consumer's markup did not have.
|
|
42
|
+
*/
|
|
43
|
+
this.label = '';
|
|
44
|
+
}
|
|
45
|
+
willUpdate(changed) {
|
|
46
|
+
super.willUpdate(changed);
|
|
47
|
+
hostAria(this.internals, { label: this.label, role: 'group' });
|
|
48
|
+
}
|
|
49
|
+
render() {
|
|
50
|
+
return html `<slot></slot>`;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
__decorate([
|
|
54
|
+
property()
|
|
55
|
+
], HelixHeadlessButtonGroup.prototype, "label", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
property({ reflect: true })
|
|
58
|
+
], HelixHeadlessButtonGroup.prototype, "orientation", void 0);
|
|
59
|
+
HelixHeadlessButtonGroup = __decorate([
|
|
60
|
+
customElement('helix-headless-button-group')
|
|
61
|
+
], HelixHeadlessButtonGroup);
|
|
62
|
+
export { HelixHeadlessButtonGroup };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/callout-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/callout-root.js';
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary Sets a passage apart as information, a warning, or an error.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* `tone` lives on the headless tier rather than being a treatment on the styled
|
|
8
|
+
* one, because it is meaning and not decoration. It picks the icon and that
|
|
9
|
+
* icon's accessible name, so a reader who cannot see that the box is red still
|
|
10
|
+
* hears "Error". A callout whose meaning existed only as a color would say
|
|
11
|
+
* nothing to them at all.
|
|
12
|
+
*
|
|
13
|
+
* The icon is the fallback content of a slot, so a consumer replaces it by
|
|
14
|
+
* slotting their own and the default disappears with no emptiness check. That
|
|
15
|
+
* is what slot fallback is for.
|
|
16
|
+
*
|
|
17
|
+
* Not an `Announcement`, which is the other thing this could be mistaken for.
|
|
18
|
+
* A callout interrupts a document to set a passage apart and is read where it
|
|
19
|
+
* sits; an announcement is page-level chrome above the masthead, announces
|
|
20
|
+
* itself as a live region, and can be dismissed. Neither is a variant of the
|
|
21
|
+
* other.
|
|
22
|
+
*
|
|
23
|
+
* @since 0.1.0
|
|
24
|
+
* @status stable
|
|
25
|
+
* @category markers
|
|
26
|
+
* @aliases Admonition, Notice, Note, Alert
|
|
27
|
+
* @documentation https://helix.fusion.dev/components/callout
|
|
28
|
+
*
|
|
29
|
+
* @slot - The callout's content.
|
|
30
|
+
* @slot icon - Replaces the icon chosen by `tone`.
|
|
31
|
+
* @slot title - A heading above the content.
|
|
32
|
+
*
|
|
33
|
+
* @csspart content - The content region.
|
|
34
|
+
* @csspart icon - The icon region.
|
|
35
|
+
* @csspart icon-mark - The tone glyph, where none is slotted.
|
|
36
|
+
*/
|
|
37
|
+
export declare class HelixHeadlessCallout extends HelixElement {
|
|
38
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
39
|
+
/**
|
|
40
|
+
* What kind of attention the passage needs.
|
|
41
|
+
*
|
|
42
|
+
* **`severity` was a sixth spelling of `tone`**, which is the axis for what a
|
|
43
|
+
* thing means, and a subset of it: a callout reports a status and never a
|
|
44
|
+
* brand role, so it takes four of the seven. One word per axis is the whole
|
|
45
|
+
* of the registry, and two words for one axis is how `tone` had drifted into
|
|
46
|
+
* five incompatible value sets before anything held it.
|
|
47
|
+
*/
|
|
48
|
+
tone?: 'danger' | 'info' | 'success' | 'warning';
|
|
49
|
+
/**
|
|
50
|
+
* The mark for the callout's tone, behind a seam.
|
|
51
|
+
*
|
|
52
|
+
* Slot fallback, so a consumer replaces it by slotting; and a method, so the
|
|
53
|
+
* tier above replaces it by overriding. Those answer different people: the
|
|
54
|
+
* slot is for the page and the method is for whoever is building the styled
|
|
55
|
+
* layer, and a fallback with only the first is one a tier can restyle and
|
|
56
|
+
* cannot change.
|
|
57
|
+
*
|
|
58
|
+
* The mark and its label are passed in rather than looked up again, since
|
|
59
|
+
* `render` has already resolved the tone and a second lookup is a second
|
|
60
|
+
* place for the fallback to disagree with the tone around it.
|
|
61
|
+
*/
|
|
62
|
+
protected renderIcon(icon: {
|
|
63
|
+
content: string;
|
|
64
|
+
viewBox: string;
|
|
65
|
+
}, label: string): TemplateResult;
|
|
66
|
+
protected render(): TemplateResult;
|
|
67
|
+
}
|
|
68
|
+
declare global {
|
|
69
|
+
interface HTMLElementTagNameMap {
|
|
70
|
+
'helix-headless-callout': HelixHeadlessCallout;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
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, TONE_MARKS, toneMark } from '@fusion.dev/helix-core';
|
|
8
|
+
import { html } from 'lit';
|
|
9
|
+
import { property } from 'lit/decorators.js';
|
|
10
|
+
import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
|
|
11
|
+
/**
|
|
12
|
+
* @summary Sets a passage apart as information, a warning, or an error.
|
|
13
|
+
*
|
|
14
|
+
* @description
|
|
15
|
+
* `tone` lives on the headless tier rather than being a treatment on the styled
|
|
16
|
+
* one, because it is meaning and not decoration. It picks the icon and that
|
|
17
|
+
* icon's accessible name, so a reader who cannot see that the box is red still
|
|
18
|
+
* hears "Error". A callout whose meaning existed only as a color would say
|
|
19
|
+
* nothing to them at all.
|
|
20
|
+
*
|
|
21
|
+
* The icon is the fallback content of a slot, so a consumer replaces it by
|
|
22
|
+
* slotting their own and the default disappears with no emptiness check. That
|
|
23
|
+
* is what slot fallback is for.
|
|
24
|
+
*
|
|
25
|
+
* Not an `Announcement`, which is the other thing this could be mistaken for.
|
|
26
|
+
* A callout interrupts a document to set a passage apart and is read where it
|
|
27
|
+
* sits; an announcement is page-level chrome above the masthead, announces
|
|
28
|
+
* itself as a live region, and can be dismissed. Neither is a variant of the
|
|
29
|
+
* other.
|
|
30
|
+
*
|
|
31
|
+
* @since 0.1.0
|
|
32
|
+
* @status stable
|
|
33
|
+
* @category markers
|
|
34
|
+
* @aliases Admonition, Notice, Note, Alert
|
|
35
|
+
* @documentation https://helix.fusion.dev/components/callout
|
|
36
|
+
*
|
|
37
|
+
* @slot - The callout's content.
|
|
38
|
+
* @slot icon - Replaces the icon chosen by `tone`.
|
|
39
|
+
* @slot title - A heading above the content.
|
|
40
|
+
*
|
|
41
|
+
* @csspart content - The content region.
|
|
42
|
+
* @csspart icon - The icon region.
|
|
43
|
+
* @csspart icon-mark - The tone glyph, where none is slotted.
|
|
44
|
+
*/
|
|
45
|
+
let HelixHeadlessCallout = class HelixHeadlessCallout extends HelixElement {
|
|
46
|
+
willUpdate(changed) {
|
|
47
|
+
super.willUpdate(changed);
|
|
48
|
+
// On the host, since the host is the box.
|
|
49
|
+
hostAria(this.internals, { role: 'note' });
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The mark for the callout's tone, behind a seam.
|
|
53
|
+
*
|
|
54
|
+
* Slot fallback, so a consumer replaces it by slotting; and a method, so the
|
|
55
|
+
* tier above replaces it by overriding. Those answer different people: the
|
|
56
|
+
* slot is for the page and the method is for whoever is building the styled
|
|
57
|
+
* layer, and a fallback with only the first is one a tier can restyle and
|
|
58
|
+
* cannot change.
|
|
59
|
+
*
|
|
60
|
+
* The mark and its label are passed in rather than looked up again, since
|
|
61
|
+
* `render` has already resolved the tone and a second lookup is a second
|
|
62
|
+
* place for the fallback to disagree with the tone around it.
|
|
63
|
+
*/
|
|
64
|
+
renderIcon(icon, label) {
|
|
65
|
+
return html `<slot name="icon">
|
|
66
|
+
<svg part="icon-mark" fill="currentColor" viewBox=${icon.viewBox} role="img" aria-label=${label}>
|
|
67
|
+
${unsafeSVG(icon.content)}
|
|
68
|
+
</svg>
|
|
69
|
+
</slot>`;
|
|
70
|
+
}
|
|
71
|
+
render() {
|
|
72
|
+
/* Falls back to `info`, because a callout exists to set a passage apart and
|
|
73
|
+
is therefore always *about* something. `Toast.Item` takes the same lookup
|
|
74
|
+
and draws nothing instead, since a message is just the next thing that
|
|
75
|
+
happened. Same vocabulary, two honest answers to an absent tone. */
|
|
76
|
+
const { icon, label } = toneMark(this.tone) ?? TONE_MARKS.info;
|
|
77
|
+
return html `<span part="icon">${this.renderIcon(icon, label)}</span>
|
|
78
|
+
<div part="content">
|
|
79
|
+
<slot name="title"></slot>
|
|
80
|
+
<slot></slot>
|
|
81
|
+
</div>`;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
__decorate([
|
|
85
|
+
property({ reflect: true })
|
|
86
|
+
], HelixHeadlessCallout.prototype, "tone", void 0);
|
|
87
|
+
HelixHeadlessCallout = __decorate([
|
|
88
|
+
customElement('helix-headless-callout')
|
|
89
|
+
], HelixHeadlessCallout);
|
|
90
|
+
export { HelixHeadlessCallout };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/card-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/card-root.js';
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary Groups related content and actions into a single surface.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* Regions are slots rather than separate elements, because a header, body, and
|
|
8
|
+
* footer carry no state, no behavior, and no API of their own. Slotting them
|
|
9
|
+
* costs one custom element instead of five and lets the consumer bring their
|
|
10
|
+
* own markup, so a title can be a real `<h2>` rather than an emulated one.
|
|
11
|
+
*
|
|
12
|
+
* The host is the surface. A wrapper `<div part="container">` would be a second
|
|
13
|
+
* box doing nothing the host cannot: the element itself takes the border, the
|
|
14
|
+
* radius, and the grid, and a consumer styles `helix-card` rather than reaching
|
|
15
|
+
* through `::part`. One node instead of two, on every card on the page.
|
|
16
|
+
*
|
|
17
|
+
* Name the card with `aria-label` or `aria-labelledby`. That is the only
|
|
18
|
+
* naming that survives server rendering: reading a title out of the light DOM
|
|
19
|
+
* needs a DOM, and the server has none.
|
|
20
|
+
*
|
|
21
|
+
* @since 0.1.0
|
|
22
|
+
* @status stable
|
|
23
|
+
* @category layout
|
|
24
|
+
* @aliases Panel, Surface
|
|
25
|
+
* @documentation https://helix.fusion.dev/components/card
|
|
26
|
+
*
|
|
27
|
+
* @slot - The card's main content.
|
|
28
|
+
* @slot footer - Actions that conclude the card.
|
|
29
|
+
* @slot header - Title and any actions for the whole card.
|
|
30
|
+
* @slot media - Image, video, or chart that runs edge to edge, outside the inset.
|
|
31
|
+
*/
|
|
32
|
+
export declare class HelixHeadlessCard extends HelixElement {
|
|
33
|
+
/**
|
|
34
|
+
* Puts the media after the content instead of before it.
|
|
35
|
+
*
|
|
36
|
+
* **A figure that concludes a card is the same region as one that opens it**,
|
|
37
|
+
* and the only thing that differs is which edge it is flush against. Media is
|
|
38
|
+
* the one region that escapes the inset, so a chart wanting to span the card
|
|
39
|
+
* has nowhere else to be: slotted into the content it keeps the padding on
|
|
40
|
+
* both sides, and there is no second bleeding region to add without saying
|
|
41
|
+
* twice what this says once.
|
|
42
|
+
*
|
|
43
|
+
* Reflected and undefaulted, so a card that has not asked reads as a card
|
|
44
|
+
* with no attribute on it and the stylesheet only describes the departure.
|
|
45
|
+
*/
|
|
46
|
+
mediaPlacement?: 'end';
|
|
47
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
48
|
+
protected render(): TemplateResult;
|
|
49
|
+
}
|
|
50
|
+
declare global {
|
|
51
|
+
interface HTMLElementTagNameMap {
|
|
52
|
+
'helix-headless-card': HelixHeadlessCard;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
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 Groups related content and actions into a single surface.
|
|
12
|
+
*
|
|
13
|
+
* @description
|
|
14
|
+
* Regions are slots rather than separate elements, because a header, body, and
|
|
15
|
+
* footer carry no state, no behavior, and no API of their own. Slotting them
|
|
16
|
+
* costs one custom element instead of five and lets the consumer bring their
|
|
17
|
+
* own markup, so a title can be a real `<h2>` rather than an emulated one.
|
|
18
|
+
*
|
|
19
|
+
* The host is the surface. A wrapper `<div part="container">` would be a second
|
|
20
|
+
* box doing nothing the host cannot: the element itself takes the border, the
|
|
21
|
+
* radius, and the grid, and a consumer styles `helix-card` rather than reaching
|
|
22
|
+
* through `::part`. One node instead of two, on every card on the page.
|
|
23
|
+
*
|
|
24
|
+
* Name the card with `aria-label` or `aria-labelledby`. That is the only
|
|
25
|
+
* naming that survives server rendering: reading a title out of the light DOM
|
|
26
|
+
* needs a DOM, and the server has none.
|
|
27
|
+
*
|
|
28
|
+
* @since 0.1.0
|
|
29
|
+
* @status stable
|
|
30
|
+
* @category layout
|
|
31
|
+
* @aliases Panel, Surface
|
|
32
|
+
* @documentation https://helix.fusion.dev/components/card
|
|
33
|
+
*
|
|
34
|
+
* @slot - The card's main content.
|
|
35
|
+
* @slot footer - Actions that conclude the card.
|
|
36
|
+
* @slot header - Title and any actions for the whole card.
|
|
37
|
+
* @slot media - Image, video, or chart that runs edge to edge, outside the inset.
|
|
38
|
+
*/
|
|
39
|
+
let HelixHeadlessCard = class HelixHeadlessCard extends HelixElement {
|
|
40
|
+
willUpdate(changed) {
|
|
41
|
+
super.willUpdate(changed);
|
|
42
|
+
// On the host, since the host is the box. Set here rather than in
|
|
43
|
+
// `connectedCallback`, which the server never calls.
|
|
44
|
+
hostAria(this.internals, { role: 'group' });
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
// Bare slots, with no wrapper element around any of them. A `<slot>` is
|
|
48
|
+
// `display: contents` in the UA stylesheet, so an unassigned one generates
|
|
49
|
+
// no box at all: no grid row, no gap, nothing. A wrapper generates one
|
|
50
|
+
// whether or not anything is slotted into it, so an omitted region would
|
|
51
|
+
// paint an empty inset band.
|
|
52
|
+
//
|
|
53
|
+
// It has to be layout rather than detection, because the detection does not
|
|
54
|
+
// exist. `:host(:has([slot='header']))` is invalid CSS, so the whole rule is
|
|
55
|
+
// dropped and the region stays hidden even when filled, and the component
|
|
56
|
+
// cannot inspect its children on the server to do it in JavaScript.
|
|
57
|
+
return html `
|
|
58
|
+
<slot name="media"></slot>
|
|
59
|
+
<slot name="header"></slot>
|
|
60
|
+
<slot></slot>
|
|
61
|
+
<slot name="footer"></slot>
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
__decorate([
|
|
66
|
+
property({ attribute: 'media-placement', reflect: true })
|
|
67
|
+
], HelixHeadlessCard.prototype, "mediaPlacement", void 0);
|
|
68
|
+
HelixHeadlessCard = __decorate([
|
|
69
|
+
customElement('helix-headless-card')
|
|
70
|
+
], HelixHeadlessCard);
|
|
71
|
+
export { HelixHeadlessCard };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/carousel-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/carousel-root.js';
|