@getflip/swirl-components 0.219.0 → 0.220.1
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/components.json +215 -5
- package/dist/cjs/file-manager.cjs.entry.js +1 -1
- package/dist/cjs/index-6aba64ed.js +4 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/swirl-app-icon.cjs.entry.js +1 -1
- package/dist/cjs/swirl-components.cjs.js +1 -1
- package/dist/cjs/swirl-shell-layout.cjs.entry.js +82 -3
- package/dist/cjs/swirl-shell-navigation-item.cjs.entry.js +7 -4
- package/dist/cjs/swirl-symbol-account-circle.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-alternate-email.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-android.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-announcement.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-backup.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-beach-access.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-bookmark.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-cloud.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-coronavirus.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-desktop-windows.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-directions-car-filled.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-edit-calendar.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-email.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-emoji-food-beverage.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-event-menu.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-facebook.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-favorite.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-fitness-center.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-flag.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-folder.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-globe.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-groups.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-help.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-image.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-info-menu.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-instagram.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-ios.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-language.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-leaderboard.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-lightbulb.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-linkedin.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-location-on.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-maps-home-work.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-notifications.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-open-in-new.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-pedal-bike.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-pinterest.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-policy.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-push-pin.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-redeem.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-report-problem.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-restaurant.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-roadmap.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-room.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-savings.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-settings-voice.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-shopping-cart.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-smartphone.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-star.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-supervisor-account.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-thumbs-up-down.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-twitter.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-wb-sunny.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-wechat.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-weibo.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-work.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-xing.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol-youtube.cjs.entry.js +1 -1
- package/dist/cjs/swirl-symbol.cjs.entry.js +1 -1
- package/dist/cjs/swirl-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/swirl-table-row-group.cjs.entry.js +2 -2
- package/dist/cjs/swirl-table-row.cjs.entry.js +1 -1
- package/dist/cjs/swirl-table.cjs.entry.js +1 -1
- package/dist/cjs/swirl-tabs.cjs.entry.js +1 -1
- package/dist/cjs/swirl-theme-provider.cjs.entry.js +1 -1
- package/dist/cjs/swirl-time-input.cjs.entry.js +1 -1
- package/dist/cjs/swirl-tooltip.cjs.entry.js +5 -3
- package/dist/cjs/swirl-tree-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/swirl-video-thumbnail.cjs.entry.js +1 -1
- package/dist/cjs/swirl-visually-hidden.cjs.entry.js +1 -1
- package/dist/collection/assets/pdfjs/pdf.worker.min.js +1 -1
- package/dist/collection/components/swirl-app-icon/swirl-app-icon.css +2 -0
- package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.css +49 -21
- package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.js +174 -3
- package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.spec.js +6 -1
- package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.stories.js +33 -17
- package/dist/collection/components/swirl-shell-navigation-item/swirl-shell-navigation-item.css +59 -8
- package/dist/collection/components/swirl-shell-navigation-item/swirl-shell-navigation-item.js +42 -5
- package/dist/collection/components/swirl-shell-navigation-item/swirl-shell-navigation-item.spec.js +13 -9
- package/dist/collection/components/swirl-shell-navigation-item/swirl-shell-navigation-item.stories.js +1 -1
- package/dist/collection/components/swirl-symbol/swirl-symbol.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-account-circle.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-alternate-email.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-android.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-announcement.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-backup.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-beach-access.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-bookmark.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-cloud.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-coronavirus.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-desktop-windows.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-directions-car-filled.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-edit-calendar.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-email.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-emoji-food-beverage.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-event-menu.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-facebook.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-favorite.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-fitness-center.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-flag.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-folder.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-globe.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-groups.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-help.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-image.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-info-menu.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-instagram.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-ios.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-language.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-leaderboard.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-lightbulb.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-linkedin.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-location-on.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-loyalty.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-maps-home-work.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-notifications.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-open-in-new.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-pedal-bike.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-pinterest.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-policy.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-push-pin.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-redeem.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-report-problem.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-restaurant.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-roadmap.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-room.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-savings.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-settings-voice.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-shopping-cart.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-smartphone.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-star.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-supervisor-account.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-thumbs-up-down.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-twitter.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-wb-sunny.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-wechat.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-weibo.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-work.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-xing.js +1 -1
- package/dist/collection/components/swirl-symbol/symbols/swirl-symbol-youtube.js +1 -1
- package/dist/collection/components/swirl-table/swirl-table.js +1 -1
- package/dist/collection/components/swirl-table-cell/swirl-table-cell.js +1 -1
- package/dist/collection/components/swirl-table-row/swirl-table-row.js +1 -1
- package/dist/collection/components/swirl-table-row-group/swirl-table-row-group.js +2 -2
- package/dist/collection/components/swirl-tabs/swirl-tabs.js +1 -1
- package/dist/collection/components/swirl-theme-provider/swirl-theme-provider.js +1 -1
- package/dist/collection/components/swirl-time-input/swirl-time-input.js +1 -1
- package/dist/collection/components/swirl-tooltip/swirl-tooltip.css +5 -0
- package/dist/collection/components/swirl-tooltip/swirl-tooltip.js +22 -2
- package/dist/collection/components/swirl-tooltip/swirl-tooltip.spec.js +2 -2
- package/dist/collection/components/swirl-tree-navigation-item/swirl-tree-navigation-item.js +1 -1
- package/dist/collection/components/swirl-video-thumbnail/swirl-video-thumbnail.js +1 -1
- package/dist/collection/components/swirl-visually-hidden/swirl-visually-hidden.js +1 -1
- package/dist/collection/prototypes/file-manager/file-manager.js +1 -1
- package/dist/components/assets/pdfjs/pdf.worker.min.js +1 -1
- package/dist/components/file-manager.js +1 -1
- package/dist/components/swirl-app-icon.js +1 -1
- package/dist/components/swirl-shell-layout.js +125 -15
- package/dist/components/swirl-shell-navigation-item.js +18 -7
- package/dist/components/swirl-symbol-account-circle.js +1 -1
- package/dist/components/swirl-symbol-alternate-email.js +1 -1
- package/dist/components/swirl-symbol-android.js +1 -1
- package/dist/components/swirl-symbol-announcement.js +1 -1
- package/dist/components/swirl-symbol-backup.js +1 -1
- package/dist/components/swirl-symbol-beach-access.js +1 -1
- package/dist/components/swirl-symbol-bookmark.js +1 -1
- package/dist/components/swirl-symbol-cloud.js +1 -1
- package/dist/components/swirl-symbol-coronavirus.js +1 -1
- package/dist/components/swirl-symbol-desktop-windows.js +1 -1
- package/dist/components/swirl-symbol-directions-car-filled.js +1 -1
- package/dist/components/swirl-symbol-edit-calendar.js +1 -1
- package/dist/components/swirl-symbol-email.js +1 -1
- package/dist/components/swirl-symbol-emoji-food-beverage.js +1 -1
- package/dist/components/swirl-symbol-event-menu.js +1 -1
- package/dist/components/swirl-symbol-facebook.js +1 -1
- package/dist/components/swirl-symbol-favorite.js +1 -1
- package/dist/components/swirl-symbol-fitness-center.js +1 -1
- package/dist/components/swirl-symbol-flag.js +1 -1
- package/dist/components/swirl-symbol-folder.js +1 -1
- package/dist/components/swirl-symbol-globe.js +1 -1
- package/dist/components/swirl-symbol-groups.js +1 -1
- package/dist/components/swirl-symbol-help.js +1 -1
- package/dist/components/swirl-symbol-image.js +1 -1
- package/dist/components/swirl-symbol-info-menu.js +1 -1
- package/dist/components/swirl-symbol-instagram.js +1 -1
- package/dist/components/swirl-symbol-ios.js +1 -1
- package/dist/components/swirl-symbol-language.js +1 -1
- package/dist/components/swirl-symbol-leaderboard.js +1 -1
- package/dist/components/swirl-symbol-lightbulb.js +1 -1
- package/dist/components/swirl-symbol-linkedin.js +1 -1
- package/dist/components/swirl-symbol-location-on.js +1 -1
- package/dist/components/swirl-symbol-loyalty.js +1 -1
- package/dist/components/swirl-symbol-maps-home-work.js +1 -1
- package/dist/components/swirl-symbol-notifications.js +1 -1
- package/dist/components/swirl-symbol-open-in-new.js +1 -1
- package/dist/components/swirl-symbol-pedal-bike.js +1 -1
- package/dist/components/swirl-symbol-pinterest.js +1 -1
- package/dist/components/swirl-symbol-policy.js +1 -1
- package/dist/components/swirl-symbol-push-pin.js +1 -1
- package/dist/components/swirl-symbol-redeem.js +1 -1
- package/dist/components/swirl-symbol-report-problem.js +1 -1
- package/dist/components/swirl-symbol-restaurant.js +1 -1
- package/dist/components/swirl-symbol-roadmap.js +1 -1
- package/dist/components/swirl-symbol-room.js +1 -1
- package/dist/components/swirl-symbol-savings.js +1 -1
- package/dist/components/swirl-symbol-settings-voice.js +1 -1
- package/dist/components/swirl-symbol-shopping-cart.js +1 -1
- package/dist/components/swirl-symbol-smartphone.js +1 -1
- package/dist/components/swirl-symbol-star.js +1 -1
- package/dist/components/swirl-symbol-supervisor-account.js +1 -1
- package/dist/components/swirl-symbol-thumbs-up-down.js +1 -1
- package/dist/components/swirl-symbol-twitter.js +1 -1
- package/dist/components/swirl-symbol-wb-sunny.js +1 -1
- package/dist/components/swirl-symbol-wechat.js +1 -1
- package/dist/components/swirl-symbol-weibo.js +1 -1
- package/dist/components/swirl-symbol-work.js +1 -1
- package/dist/components/swirl-symbol-xing.js +1 -1
- package/dist/components/swirl-symbol-youtube.js +1 -1
- package/dist/components/swirl-symbol.js +1 -1
- package/dist/components/swirl-table-cell.js +1 -1
- package/dist/components/swirl-table-row-group.js +2 -2
- package/dist/components/swirl-table-row.js +1 -1
- package/dist/components/swirl-table.js +1 -1
- package/dist/components/swirl-tabs.js +1 -1
- package/dist/components/swirl-theme-provider.js +1 -1
- package/dist/components/swirl-time-input.js +1 -1
- package/dist/components/swirl-tooltip2.js +6 -3
- package/dist/components/swirl-tree-navigation-item.js +1 -1
- package/dist/components/swirl-video-thumbnail.js +1 -1
- package/dist/components/swirl-visually-hidden2.js +1 -1
- package/dist/esm/file-manager.entry.js +1 -1
- package/dist/esm/index-2d054a87.js +4 -4
- package/dist/esm/loader.js +1 -1
- package/dist/esm/swirl-app-icon.entry.js +1 -1
- package/dist/esm/swirl-components.js +1 -1
- package/dist/esm/swirl-shell-layout.entry.js +83 -4
- package/dist/esm/swirl-shell-navigation-item.entry.js +7 -4
- package/dist/esm/swirl-symbol-account-circle.entry.js +1 -1
- package/dist/esm/swirl-symbol-alternate-email.entry.js +1 -1
- package/dist/esm/swirl-symbol-android.entry.js +1 -1
- package/dist/esm/swirl-symbol-announcement.entry.js +1 -1
- package/dist/esm/swirl-symbol-backup.entry.js +1 -1
- package/dist/esm/swirl-symbol-beach-access.entry.js +1 -1
- package/dist/esm/swirl-symbol-bookmark.entry.js +1 -1
- package/dist/esm/swirl-symbol-cloud.entry.js +1 -1
- package/dist/esm/swirl-symbol-coronavirus.entry.js +1 -1
- package/dist/esm/swirl-symbol-desktop-windows.entry.js +1 -1
- package/dist/esm/swirl-symbol-directions-car-filled.entry.js +1 -1
- package/dist/esm/swirl-symbol-edit-calendar.entry.js +1 -1
- package/dist/esm/swirl-symbol-email.entry.js +1 -1
- package/dist/esm/swirl-symbol-emoji-food-beverage.entry.js +1 -1
- package/dist/esm/swirl-symbol-event-menu.entry.js +1 -1
- package/dist/esm/swirl-symbol-facebook.entry.js +1 -1
- package/dist/esm/swirl-symbol-favorite.entry.js +1 -1
- package/dist/esm/swirl-symbol-fitness-center.entry.js +1 -1
- package/dist/esm/swirl-symbol-flag.entry.js +1 -1
- package/dist/esm/swirl-symbol-folder.entry.js +1 -1
- package/dist/esm/swirl-symbol-globe.entry.js +1 -1
- package/dist/esm/swirl-symbol-groups.entry.js +1 -1
- package/dist/esm/swirl-symbol-help.entry.js +1 -1
- package/dist/esm/swirl-symbol-image.entry.js +1 -1
- package/dist/esm/swirl-symbol-info-menu.entry.js +1 -1
- package/dist/esm/swirl-symbol-instagram.entry.js +1 -1
- package/dist/esm/swirl-symbol-ios.entry.js +1 -1
- package/dist/esm/swirl-symbol-language.entry.js +1 -1
- package/dist/esm/swirl-symbol-leaderboard.entry.js +1 -1
- package/dist/esm/swirl-symbol-lightbulb.entry.js +1 -1
- package/dist/esm/swirl-symbol-linkedin.entry.js +1 -1
- package/dist/esm/swirl-symbol-location-on.entry.js +1 -1
- package/dist/esm/swirl-symbol-loyalty.entry.js +1 -1
- package/dist/esm/swirl-symbol-maps-home-work.entry.js +1 -1
- package/dist/esm/swirl-symbol-notifications.entry.js +1 -1
- package/dist/esm/swirl-symbol-open-in-new.entry.js +1 -1
- package/dist/esm/swirl-symbol-pedal-bike.entry.js +1 -1
- package/dist/esm/swirl-symbol-pinterest.entry.js +1 -1
- package/dist/esm/swirl-symbol-policy.entry.js +1 -1
- package/dist/esm/swirl-symbol-push-pin.entry.js +1 -1
- package/dist/esm/swirl-symbol-redeem.entry.js +1 -1
- package/dist/esm/swirl-symbol-report-problem.entry.js +1 -1
- package/dist/esm/swirl-symbol-restaurant.entry.js +1 -1
- package/dist/esm/swirl-symbol-roadmap.entry.js +1 -1
- package/dist/esm/swirl-symbol-room.entry.js +1 -1
- package/dist/esm/swirl-symbol-savings.entry.js +1 -1
- package/dist/esm/swirl-symbol-settings-voice.entry.js +1 -1
- package/dist/esm/swirl-symbol-shopping-cart.entry.js +1 -1
- package/dist/esm/swirl-symbol-smartphone.entry.js +1 -1
- package/dist/esm/swirl-symbol-star.entry.js +1 -1
- package/dist/esm/swirl-symbol-supervisor-account.entry.js +1 -1
- package/dist/esm/swirl-symbol-thumbs-up-down.entry.js +1 -1
- package/dist/esm/swirl-symbol-twitter.entry.js +1 -1
- package/dist/esm/swirl-symbol-wb-sunny.entry.js +1 -1
- package/dist/esm/swirl-symbol-wechat.entry.js +1 -1
- package/dist/esm/swirl-symbol-weibo.entry.js +1 -1
- package/dist/esm/swirl-symbol-work.entry.js +1 -1
- package/dist/esm/swirl-symbol-xing.entry.js +1 -1
- package/dist/esm/swirl-symbol-youtube.entry.js +1 -1
- package/dist/esm/swirl-symbol.entry.js +1 -1
- package/dist/esm/swirl-table-cell.entry.js +1 -1
- package/dist/esm/swirl-table-row-group.entry.js +2 -2
- package/dist/esm/swirl-table-row.entry.js +1 -1
- package/dist/esm/swirl-table.entry.js +1 -1
- package/dist/esm/swirl-tabs.entry.js +1 -1
- package/dist/esm/swirl-theme-provider.entry.js +1 -1
- package/dist/esm/swirl-time-input.entry.js +1 -1
- package/dist/esm/swirl-tooltip.entry.js +5 -3
- package/dist/esm/swirl-tree-navigation-item.entry.js +1 -1
- package/dist/esm/swirl-video-thumbnail.entry.js +1 -1
- package/dist/esm/swirl-visually-hidden.entry.js +1 -1
- package/dist/swirl-components/{p-79e2f29e.entry.js → p-0142f199.entry.js} +1 -1
- package/dist/swirl-components/{p-95510ee4.entry.js → p-01e4db07.entry.js} +1 -1
- package/dist/swirl-components/{p-0fae6a8e.entry.js → p-0390cc40.entry.js} +1 -1
- package/dist/swirl-components/{p-b411f25b.entry.js → p-05f79727.entry.js} +1 -1
- package/dist/swirl-components/{p-c7ee7078.entry.js → p-08d14c15.entry.js} +1 -1
- package/dist/swirl-components/{p-79fdfaea.entry.js → p-0cfdf19f.entry.js} +1 -1
- package/dist/swirl-components/{p-1b7c7483.entry.js → p-120f2a92.entry.js} +1 -1
- package/dist/swirl-components/p-121a7871.entry.js +1 -0
- package/dist/swirl-components/{p-99cec8d5.entry.js → p-17c40b2b.entry.js} +1 -1
- package/dist/swirl-components/{p-d6fbfcc0.entry.js → p-1b2df762.entry.js} +1 -1
- package/dist/swirl-components/p-1c0f8418.entry.js +1 -0
- package/dist/swirl-components/{p-fb1f65f4.entry.js → p-267ada5c.entry.js} +1 -1
- package/dist/swirl-components/{p-8fde9b34.entry.js → p-293d4ced.entry.js} +1 -1
- package/dist/swirl-components/{p-a9c8ab8b.entry.js → p-2ae0f0af.entry.js} +1 -1
- package/dist/swirl-components/{p-1f9a96b7.entry.js → p-2b04c73a.entry.js} +1 -1
- package/dist/swirl-components/{p-d974bbd8.entry.js → p-2cc68b68.entry.js} +1 -1
- package/dist/swirl-components/{p-3b74ebb4.entry.js → p-322234fc.entry.js} +1 -1
- package/dist/swirl-components/{p-76eb20cb.entry.js → p-32c53ee7.entry.js} +1 -1
- package/dist/swirl-components/{p-04aa45d9.entry.js → p-3c032b20.entry.js} +1 -1
- package/dist/swirl-components/{p-4dd5d770.entry.js → p-4034fb94.entry.js} +1 -1
- package/dist/swirl-components/{p-78a988c1.entry.js → p-443af7a9.entry.js} +1 -1
- package/dist/swirl-components/{p-1f8d57a1.entry.js → p-4c77be59.entry.js} +1 -1
- package/dist/swirl-components/{p-fa507f81.entry.js → p-5252c5ee.entry.js} +1 -1
- package/dist/swirl-components/p-5408d04c.entry.js +1 -0
- package/dist/swirl-components/p-592044c4.entry.js +1 -0
- package/dist/swirl-components/{p-036070f8.entry.js → p-5cb7183b.entry.js} +1 -1
- package/dist/swirl-components/p-633b13fc.entry.js +1 -0
- package/dist/swirl-components/{p-ab40af46.entry.js → p-6517f970.entry.js} +1 -1
- package/dist/swirl-components/{p-56da2313.entry.js → p-65bf38b9.entry.js} +1 -1
- package/dist/swirl-components/{p-7792a13b.entry.js → p-6acba3db.entry.js} +1 -1
- package/dist/swirl-components/{p-e8b448e6.entry.js → p-70af5a39.entry.js} +1 -1
- package/dist/swirl-components/{p-6ffce345.entry.js → p-71259db0.entry.js} +1 -1
- package/dist/swirl-components/{p-fe9b5a12.entry.js → p-754a96f9.entry.js} +1 -1
- package/dist/swirl-components/{p-1ad4c9c5.entry.js → p-7662d585.entry.js} +1 -1
- package/dist/swirl-components/{p-019854f4.entry.js → p-7a81c0d3.entry.js} +1 -1
- package/dist/swirl-components/{p-c1335818.entry.js → p-7ed7f07e.entry.js} +1 -1
- package/dist/swirl-components/{p-64cc9e73.entry.js → p-82960755.entry.js} +1 -1
- package/dist/swirl-components/{p-29ab12da.entry.js → p-8b79bd86.entry.js} +1 -1
- package/dist/swirl-components/{p-633898e4.entry.js → p-8f5f6cb2.entry.js} +1 -1
- package/dist/swirl-components/{p-29d34426.entry.js → p-915b20f4.entry.js} +1 -1
- package/dist/swirl-components/{p-27d97097.entry.js → p-97727cea.entry.js} +1 -1
- package/dist/swirl-components/{p-d9cafaf7.entry.js → p-9ae9cffe.entry.js} +1 -1
- package/dist/swirl-components/{p-37cc247a.entry.js → p-9ead1077.entry.js} +1 -1
- package/dist/swirl-components/p-a1ff9a0c.entry.js +1 -0
- package/dist/swirl-components/{p-8349f7bf.entry.js → p-a3725df2.entry.js} +1 -1
- package/dist/swirl-components/p-a3757487.entry.js +1 -0
- package/dist/swirl-components/{p-955ad6a8.entry.js → p-a42a39a9.entry.js} +1 -1
- package/dist/swirl-components/{p-046ecfa7.entry.js → p-a6dc4cef.entry.js} +1 -1
- package/dist/swirl-components/{p-dd4e2a9b.entry.js → p-a80e1294.entry.js} +1 -1
- package/dist/swirl-components/{p-18e25a45.entry.js → p-abd6bebc.entry.js} +1 -1
- package/dist/swirl-components/{p-c3f0502d.entry.js → p-af2944de.entry.js} +1 -1
- package/dist/swirl-components/p-b44b722e.entry.js +1 -0
- package/dist/swirl-components/{p-383eb34b.entry.js → p-b9b0d6fd.entry.js} +1 -1
- package/dist/swirl-components/{p-19ff7c93.entry.js → p-bacb87fc.entry.js} +1 -1
- package/dist/swirl-components/{p-f4f1928b.entry.js → p-bf8f1fb1.entry.js} +1 -1
- package/dist/swirl-components/{p-0a7357c8.entry.js → p-c2018c3c.entry.js} +1 -1
- package/dist/swirl-components/{p-971e023f.entry.js → p-c719ebfb.entry.js} +1 -1
- package/dist/swirl-components/{p-1d40a37d.entry.js → p-ca7590f9.entry.js} +1 -1
- package/dist/swirl-components/p-cc01cabb.entry.js +1 -0
- package/dist/swirl-components/p-ce67255d.entry.js +1 -0
- package/dist/swirl-components/{p-dede7f70.entry.js → p-cf61e1bd.entry.js} +1 -1
- package/dist/swirl-components/{p-966ded64.entry.js → p-d051fc8f.entry.js} +1 -1
- package/dist/swirl-components/{p-7011b613.entry.js → p-d0f5d01d.entry.js} +1 -1
- package/dist/swirl-components/{p-3919d2c8.entry.js → p-d26d2442.entry.js} +1 -1
- package/dist/swirl-components/{p-8532cf35.entry.js → p-d35aaf8f.entry.js} +1 -1
- package/dist/swirl-components/p-d51ef5db.entry.js +1 -0
- package/dist/swirl-components/p-d8815b75.entry.js +1 -0
- package/dist/swirl-components/p-d9d1a534.entry.js +1 -0
- package/dist/swirl-components/{p-97bc5c71.entry.js → p-e41f6920.entry.js} +1 -1
- package/dist/swirl-components/{p-6fbcd9ba.entry.js → p-eaa5b42f.entry.js} +1 -1
- package/dist/swirl-components/{p-49145b28.entry.js → p-ec4196cf.entry.js} +1 -1
- package/dist/swirl-components/{p-76777de1.entry.js → p-f3cb753f.entry.js} +1 -1
- package/dist/swirl-components/{p-e6973f9e.entry.js → p-fa19c235.entry.js} +1 -1
- package/dist/swirl-components/{p-85891e4a.entry.js → p-fc8b76fd.entry.js} +1 -1
- package/dist/swirl-components/{p-f8a4eb22.entry.js → p-ff55c4de.entry.js} +1 -1
- package/dist/swirl-components/swirl-components.esm.js +1 -1
- package/dist/types/components/swirl-shell-layout/swirl-shell-layout.d.ts +17 -0
- package/dist/types/components/swirl-shell-navigation-item/swirl-shell-navigation-item.d.ts +3 -1
- package/dist/types/components/swirl-tooltip/swirl-tooltip.d.ts +1 -0
- package/dist/types/components.d.ts +16 -0
- package/package.json +1 -1
- package/vscode-data.json +32 -0
- package/dist/swirl-components/p-0c38b13e.entry.js +0 -1
- package/dist/swirl-components/p-1dd447f5.entry.js +0 -1
- package/dist/swirl-components/p-26ca4370.entry.js +0 -1
- package/dist/swirl-components/p-293c452f.entry.js +0 -1
- package/dist/swirl-components/p-2d322d46.entry.js +0 -1
- package/dist/swirl-components/p-3792f649.entry.js +0 -1
- package/dist/swirl-components/p-48041804.entry.js +0 -1
- package/dist/swirl-components/p-6f423a50.entry.js +0 -1
- package/dist/swirl-components/p-7bd160d2.entry.js +0 -1
- package/dist/swirl-components/p-8c9f4b5d.entry.js +0 -1
- package/dist/swirl-components/p-cea6c241.entry.js +0 -1
- package/dist/swirl-components/p-d733e24a.entry.js +0 -1
- package/dist/swirl-components/p-e6b70044.entry.js +0 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
--swirl-shell-header-height: 3.25rem;
|
|
6
6
|
|
|
7
7
|
--swirl-shell-collapsed-nav-width: 4rem;
|
|
8
|
-
--swirl-shell-extended-nav-width:
|
|
8
|
+
--swirl-shell-extended-nav-width: 18rem;
|
|
9
9
|
--swirl-shell-sidebar-width: 21rem;
|
|
10
10
|
|
|
11
11
|
display: flex;
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
width: 100%;
|
|
24
24
|
min-height: 100%;
|
|
25
25
|
background-color: var(--swirl-shell-background);
|
|
26
|
-
transition: grid-template-columns 0.
|
|
26
|
+
transition: grid-template-columns 0.1s;
|
|
27
27
|
grid-template-columns: 0 1fr 0;
|
|
28
28
|
grid-template-rows: 1fr;
|
|
29
29
|
grid-template-areas: "nav main";
|
|
@@ -75,22 +75,21 @@
|
|
|
75
75
|
|
|
76
76
|
@media (min-width: 992px) {
|
|
77
77
|
|
|
78
|
-
.shell-layout--navigation-collapsed .shell-layout__nav
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
}
|
|
78
|
+
.shell-layout--navigation-collapsed .shell-layout__nav {
|
|
79
|
+
scrollbar-width: none
|
|
80
|
+
}
|
|
83
81
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
.shell-layout--navigation-collapsed .shell-layout__nav::-webkit-scrollbar {
|
|
83
|
+
width: 0;
|
|
84
|
+
background: transparent;
|
|
85
|
+
-webkit-appearance: none;
|
|
87
86
|
}
|
|
87
|
+
}
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
89
|
+
.shell-layout--navigation-collapsed .shell-layout__secondary-nav-items--grid-view ::slotted(*) {
|
|
90
|
+
max-width: 100%;
|
|
91
|
+
flex-basis: 100%;
|
|
92
|
+
max-height: 3rem;
|
|
94
93
|
}
|
|
95
94
|
|
|
96
95
|
@media (min-width: 992px) {
|
|
@@ -138,7 +137,7 @@
|
|
|
138
137
|
}
|
|
139
138
|
|
|
140
139
|
:not(.shell-layout--sidebar-active) .shell-layout__sidebar {
|
|
141
|
-
animation: shell-layout-no-overflow-after-transition 0.
|
|
140
|
+
animation: shell-layout-no-overflow-after-transition 0.1s;
|
|
142
141
|
animation-fill-mode: forwards;
|
|
143
142
|
}
|
|
144
143
|
|
|
@@ -166,6 +165,14 @@
|
|
|
166
165
|
}
|
|
167
166
|
}
|
|
168
167
|
|
|
168
|
+
.shell-layout--has-secondary-nav .shell-layout__secondary-nav {
|
|
169
|
+
display: block;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.shell-layout--secondary-nav-collapsed .shell-layout__secondary-nav-items {
|
|
173
|
+
display: none;
|
|
174
|
+
}
|
|
175
|
+
|
|
169
176
|
.shell-layout__header {
|
|
170
177
|
position: relative;
|
|
171
178
|
display: none;
|
|
@@ -306,12 +313,13 @@
|
|
|
306
313
|
top: 0;
|
|
307
314
|
bottom: 0;
|
|
308
315
|
left: 0;
|
|
309
|
-
overflow:
|
|
316
|
+
overflow-x: hidden;
|
|
317
|
+
overflow-y: auto;
|
|
310
318
|
width: 100%;
|
|
311
319
|
max-width: 18.75rem;
|
|
312
320
|
color: var(--swirl-shell-text-color);
|
|
313
321
|
background-color: var(--s-surface-overlay-default);
|
|
314
|
-
transition: transform 0.
|
|
322
|
+
transition: transform 0.1s, box-shadow 0.1s, width 0.1s;
|
|
315
323
|
transform: translate3d(-100%, 0, 0);
|
|
316
324
|
grid-area: nav;
|
|
317
325
|
}
|
|
@@ -326,7 +334,7 @@
|
|
|
326
334
|
@media (min-width: 992px) {
|
|
327
335
|
|
|
328
336
|
.shell-layout__nav {
|
|
329
|
-
position:
|
|
337
|
+
position: relative;
|
|
330
338
|
max-width: none;
|
|
331
339
|
padding-top: 0;
|
|
332
340
|
padding-right: var(--s-space-4);
|
|
@@ -408,10 +416,30 @@
|
|
|
408
416
|
z-index: 8;
|
|
409
417
|
display: none;
|
|
410
418
|
background-color: rgba(0, 0, 0, 0.25);
|
|
411
|
-
animation: shell-layout-backdrop-fade-in 0.
|
|
419
|
+
animation: shell-layout-backdrop-fade-in 0.1s;
|
|
412
420
|
inset: 0;
|
|
413
421
|
}
|
|
414
422
|
|
|
423
|
+
.shell-layout__secondary-nav {
|
|
424
|
+
display: none;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.shell-layout__secondary-nav-items {
|
|
428
|
+
display: flex;
|
|
429
|
+
flex-direction: column;
|
|
430
|
+
gap: var(--s-space-2);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.shell-layout__secondary-nav-items--grid-view {
|
|
434
|
+
flex-direction: row;
|
|
435
|
+
flex-wrap: wrap;
|
|
436
|
+
gap: var(--s-space-16);
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.shell-layout__secondary-nav-items--grid-view ::slotted(*) {
|
|
440
|
+
flex-basis: calc(50% - var(--s-space-8));
|
|
441
|
+
}
|
|
442
|
+
|
|
415
443
|
.shell-layout__main {
|
|
416
444
|
overflow: hidden;
|
|
417
445
|
background-color: var(--s-background-default);
|
|
@@ -458,7 +486,7 @@
|
|
|
458
486
|
top: 0;
|
|
459
487
|
right: 0;
|
|
460
488
|
bottom: 0;
|
|
461
|
-
transition: transform 0.
|
|
489
|
+
transition: transform 0.1s;
|
|
462
490
|
transform: translate3d(calc(100% + var(--s-space-24)), 0, 0);
|
|
463
491
|
box-shadow: var(--s-shadow-level-3)
|
|
464
492
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { h, Host, } from "@stencil/core";
|
|
2
2
|
import classnames from "classnames";
|
|
3
3
|
import * as focusTrap from "focus-trap";
|
|
4
|
+
const SECONDARY_NAVIGATION_COLLAPSE_STORAGE_KEY = "SWIRL_SHELL_SECONDARY_NAVIGATION_COLLAPSE_STATE";
|
|
5
|
+
const SECONDARY_NAVIGATION_VIEW_STORAGE_KEY = "SWIRL_SHELL_SECONDARY_NAVIGATION_VIEW_STATE";
|
|
4
6
|
const NAVIGATION_COLLAPSE_STORAGE_KEY = "SWIRL_SHELL_NAVIGATION_COLLAPSE_STATE";
|
|
5
7
|
const SIDEBAR_STORAGE_KEY = "SWIRL_SHELL_SIDEBAR_STATE";
|
|
6
8
|
/**
|
|
@@ -17,6 +19,25 @@ const SIDEBAR_STORAGE_KEY = "SWIRL_SHELL_SIDEBAR_STATE";
|
|
|
17
19
|
*/
|
|
18
20
|
export class SwirlShellLayout {
|
|
19
21
|
constructor() {
|
|
22
|
+
this.collectNavItems = () => {
|
|
23
|
+
this.mainNavItems = Array.from(this.el.querySelectorAll("swirl-shell-navigation-item[slot='nav'], [slot='nav'] swirl-shell-navigation-item"));
|
|
24
|
+
this.secondaryNavItems = Array.from(this.el.querySelectorAll("swirl-shell-navigation-item[slot='secondary-nav'], [slot='secondary-nav'] swirl-shell-navigation-item"));
|
|
25
|
+
this.toggleNavItemLabels();
|
|
26
|
+
};
|
|
27
|
+
this.toggleSecondaryNavView = () => {
|
|
28
|
+
if (this.secondaryNavView === "grid") {
|
|
29
|
+
this.secondaryNavView = "list";
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.secondaryNavView = "grid";
|
|
33
|
+
}
|
|
34
|
+
this.setSecondaryNavItemsTiled();
|
|
35
|
+
localStorage.setItem(SECONDARY_NAVIGATION_VIEW_STORAGE_KEY, String(this.secondaryNavView));
|
|
36
|
+
};
|
|
37
|
+
this.toggleSecondaryNavCollapse = () => {
|
|
38
|
+
this.secondaryNavCollapsed = !this.secondaryNavCollapsed;
|
|
39
|
+
localStorage.setItem(SECONDARY_NAVIGATION_COLLAPSE_STORAGE_KEY, String(this.secondaryNavCollapsed));
|
|
40
|
+
};
|
|
20
41
|
this.onNavigationToggleClick = () => {
|
|
21
42
|
this.navigationCollapsed = !this.navigationCollapsed;
|
|
22
43
|
};
|
|
@@ -26,9 +47,14 @@ export class SwirlShellLayout {
|
|
|
26
47
|
this.brandedHeader = undefined;
|
|
27
48
|
this.browserBackButtonLabel = "Navigate back";
|
|
28
49
|
this.browserForwardButtonLabel = "Navigate forward";
|
|
50
|
+
this.enableSecondaryNavGridLayout = true;
|
|
51
|
+
this.gridNavLayoutToggleLabel = "Grid";
|
|
29
52
|
this.hideMobileNavigationButtonLabel = "Close navigation";
|
|
53
|
+
this.listNavLayoutToggleLabel = "List";
|
|
30
54
|
this.navigationLabel = "Main";
|
|
31
55
|
this.navigationToggleLabel = "Toggle navigation";
|
|
56
|
+
this.secondaryNavCollapseLabel = "Show less";
|
|
57
|
+
this.secondaryNavExpandLabel = "Show more";
|
|
32
58
|
this.sidebarActive = undefined;
|
|
33
59
|
this.sidebarToggleBadge = undefined;
|
|
34
60
|
this.sidebarToggleBadgeAriaLabel = undefined;
|
|
@@ -37,8 +63,11 @@ export class SwirlShellLayout {
|
|
|
37
63
|
this.skipLinkLabel = "Skip to main content";
|
|
38
64
|
this.mobileNavigationActive = undefined;
|
|
39
65
|
this.navigationCollapsed = undefined;
|
|
66
|
+
this.secondaryNavCollapsed = undefined;
|
|
67
|
+
this.secondaryNavView = "list";
|
|
40
68
|
}
|
|
41
69
|
componentWillLoad() {
|
|
70
|
+
this.collectNavItems();
|
|
42
71
|
const restoredSidebarState = localStorage.getItem(SIDEBAR_STORAGE_KEY) === "true";
|
|
43
72
|
this.sidebarActive =
|
|
44
73
|
this.sidebarActive === undefined
|
|
@@ -46,6 +75,14 @@ export class SwirlShellLayout {
|
|
|
46
75
|
: this.sidebarActive;
|
|
47
76
|
const restoredNavigationCollapseState = localStorage.getItem(NAVIGATION_COLLAPSE_STORAGE_KEY) === "true";
|
|
48
77
|
this.navigationCollapsed = restoredNavigationCollapseState;
|
|
78
|
+
if (this.enableSecondaryNavGridLayout) {
|
|
79
|
+
const restoredSecondaryNavigationCollapseState = localStorage.getItem(SECONDARY_NAVIGATION_COLLAPSE_STORAGE_KEY) ===
|
|
80
|
+
"true";
|
|
81
|
+
this.secondaryNavCollapsed = restoredSecondaryNavigationCollapseState;
|
|
82
|
+
const restoredSecondaryNavigationViewState = localStorage.getItem(SECONDARY_NAVIGATION_VIEW_STORAGE_KEY);
|
|
83
|
+
this.secondaryNavView =
|
|
84
|
+
restoredSecondaryNavigationViewState;
|
|
85
|
+
}
|
|
49
86
|
}
|
|
50
87
|
componentDidLoad() {
|
|
51
88
|
this.focusTrap = focusTrap.createFocusTrap(this.navElement, {
|
|
@@ -56,12 +93,23 @@ export class SwirlShellLayout {
|
|
|
56
93
|
},
|
|
57
94
|
},
|
|
58
95
|
});
|
|
96
|
+
this.toggleNavItemLabels();
|
|
97
|
+
this.setSecondaryNavItemsTiled();
|
|
98
|
+
this.navMutationObserver = new MutationObserver(() => {
|
|
99
|
+
this.collectNavItems();
|
|
100
|
+
this.setSecondaryNavItemsTiled();
|
|
101
|
+
});
|
|
102
|
+
this.navMutationObserver.observe(this.navElement, {
|
|
103
|
+
childList: true,
|
|
104
|
+
subtree: true,
|
|
105
|
+
});
|
|
59
106
|
}
|
|
60
107
|
componentDidRender() {
|
|
61
108
|
this.focusTrap?.updateContainerElements(this.navElement);
|
|
62
109
|
}
|
|
63
110
|
disconnectedCallback() {
|
|
64
111
|
this.focusTrap?.deactivate();
|
|
112
|
+
this.navMutationObserver?.disconnect();
|
|
65
113
|
}
|
|
66
114
|
onWindowKeyDown(event) {
|
|
67
115
|
if (event.key === "Escape" && this.mobileNavigationActive) {
|
|
@@ -81,6 +129,7 @@ export class SwirlShellLayout {
|
|
|
81
129
|
}
|
|
82
130
|
watchNavigationCollapsed() {
|
|
83
131
|
localStorage.setItem(NAVIGATION_COLLAPSE_STORAGE_KEY, String(this.navigationCollapsed));
|
|
132
|
+
this.toggleNavItemLabels();
|
|
84
133
|
}
|
|
85
134
|
watchSidebarActive() {
|
|
86
135
|
localStorage.setItem(SIDEBAR_STORAGE_KEY, String(this.sidebarActive));
|
|
@@ -97,17 +146,46 @@ export class SwirlShellLayout {
|
|
|
97
146
|
async hideMobileNavigation() {
|
|
98
147
|
this.mobileNavigationActive = false;
|
|
99
148
|
}
|
|
149
|
+
toggleNavItemLabels() {
|
|
150
|
+
[...this.secondaryNavItems, ...this.mainNavItems].forEach((item) => {
|
|
151
|
+
item.hideLabel =
|
|
152
|
+
!!(this.enableSecondaryNavGridLayout && this.navigationCollapsed) ||
|
|
153
|
+
(!this.enableSecondaryNavGridLayout && this.navigationCollapsed);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
setSecondaryNavItemsTiled() {
|
|
157
|
+
this.secondaryNavItems.forEach((item) => {
|
|
158
|
+
item.tiled =
|
|
159
|
+
this.enableSecondaryNavGridLayout && this.secondaryNavView === "grid";
|
|
160
|
+
});
|
|
161
|
+
}
|
|
100
162
|
render() {
|
|
101
163
|
const hasSidebarToggleBadgeWithLabel = this.sidebarToggleBadge !== true && this.sidebarToggleBadge !== "true";
|
|
164
|
+
const hasSecondaryNav = Boolean(this.el.querySelector("[slot='secondary-nav']"));
|
|
102
165
|
const className = classnames("shell-layout", {
|
|
103
166
|
"shell-layout--branded-header": this.brandedHeader,
|
|
167
|
+
"shell-layout--secondary-nav-collapsed": this.secondaryNavCollapsed,
|
|
168
|
+
"shell-layout--has-secondary-nav": hasSecondaryNav,
|
|
104
169
|
"shell-layout--mobile-navigation-active": this.mobileNavigationActive,
|
|
105
170
|
"shell-layout--navigation-collapsed": this.navigationCollapsed,
|
|
106
171
|
"shell-layout--sidebar-active": this.sidebarActive,
|
|
107
172
|
});
|
|
108
|
-
return (h(Host, { key: '
|
|
173
|
+
return (h(Host, { key: 'adc9e2fc265a9433423eee24356217b4f092e8b6' }, h("div", { key: 'b3730a8f4f0d38758b26064105889e9ac601792a', class: className }, h("header", { key: '53b44a20ee908f56478c22ad480c10af8e39207c', class: "shell-layout__header", "data-tauri-drag-region": "true" }, h("button", { key: '3e1af2d0750924f10c9249cae89669a23b81f7de', class: "shell-layout__skip-link", onClick: this.skipLinkClick.emit, type: "button" }, this.skipLinkLabel), h("div", { key: 'facbc861dab6ca4ac345d712cc95f0e1e80cf332', class: "shell-layout__header-left" }, h("button", { key: 'af58135756e998be3dda22ce984a4a6665e53152', class: "shell-layout__header-tool", onClick: this.onNavigationToggleClick, type: "button" }, h("swirl-icon-dock-left", { key: 'bd9e8c166ff79094593a36746b7d76658768f70b', size: 20 }), h("swirl-visually-hidden", { key: '7b17513abe295dd3e898f3c972dbbd04e8d8e432' }, this.navigationToggleLabel)), h("a", { key: 'b11db23915c0c6e08d5ae73b4e3121b718b1ba60', class: "shell-layout__header-tool", href: "javascript:history.back()" }, h("swirl-icon-arrow-back", { key: 'e55bf3c9f653257bc6813cba251e94a56f6809ed', size: 20 }), h("swirl-visually-hidden", { key: '1d9ed2b3315d620b53ba186d5c6e4910cb817469' }, this.browserBackButtonLabel)), h("a", { key: '0309c1d01ed19133465ce57d38e6566212cd4d2d', class: "shell-layout__header-tool", href: "javascript:history.forward()" }, h("swirl-icon-arrow-forward", { key: '8b36cbfbbd95d43c371ec2ae679b2c6cfc9cf9b6', size: 20 }), h("swirl-visually-hidden", { key: '0636c9e162db5687f2201f3ecefbd73ab138492e' }, this.browserForwardButtonLabel)), h("slot", { key: 'ff204208cfc3d964de19cf34282151231feffca2', name: "left-header-tools" })), h("div", { key: '3b67421fadb8ae927b41e8a880673d4231a702d8', class: "shell-layout__logo" }, h("slot", { key: '30e035a1e2019df1c8e0c4753986b838d80b2d43', name: "logo" })), h("div", { key: '3a820a285768c3a01df5ce3c27c7a6327f99fbfd', class: "shell-layout__header-right" }, h("slot", { key: '92eec4f65e57bfa62de2f946488e3dbcc5a55ac5', name: "right-header-tools" }), h("button", { key: 'bcb9abe9b026fa5a0bdd8e6a756c87bca571015b', class: "shell-layout__header-tool shell-layout__sidebar-toggle", onClick: this.sidebarToggleClick.emit, type: "button" }, h("swirl-icon", { key: 'a5c2cfd085fa5e2e562444bd0dafe7e752c437b8', glyph: this.sidebarToggleIcon, size: 20 }), h("swirl-visually-hidden", { key: 'bbead2f6466b45151e9b4564bbb8add03b877bb9' }, this.sidebarToggleLabel), this.sidebarToggleBadge && (h("swirl-badge", { key: 'fb11e5178a9ff012f644cece32ad6ce517cba230', "aria-label": this.sidebarToggleBadgeAriaLabel, label: !hasSidebarToggleBadgeWithLabel
|
|
109
174
|
? this.sidebarToggleBadgeAriaLabel
|
|
110
|
-
: String(this.sidebarToggleBadge), size: "xs", variant: !hasSidebarToggleBadgeWithLabel ? "dot" : "default" }))), h("slot", { key: '
|
|
175
|
+
: String(this.sidebarToggleBadge), size: "xs", variant: !hasSidebarToggleBadgeWithLabel ? "dot" : "default" }))), h("slot", { key: '99ee33d8b3dff40ce4b534266fbdafc4dabf40d3', name: "avatar" }))), h("div", { key: '1e07aec21223b6b1277a1f736305204a9d051c69', class: "shell-layout__mobile-nav-backdrop", onClick: this.onNavigationClick }), h("nav", { key: '593f2d068ec0dcf1161b7f95474611cd0e68a6ef', "aria-labelledby": "main-navigation-label", class: "shell-layout__nav", onClick: this.onNavigationClick, ref: (el) => (this.navElement = el) }, h("div", { key: 'a5c91123dd243bace517da12663747fc3ad71e10', class: "shell-layout__mobile-header" }, h("slot", { key: '1294c6603ac3d687cad4d009f28b651d4f57f451', name: "mobile-logo" }), h("div", { key: '17e63882a7961b5b4284565d548955ba2d6c56d0', class: "shell-layout__mobile-header-tools" }, h("slot", { key: 'c032f2ed1c52472666d62dea4fb2e4d3d31b6be1', name: "mobile-header-tools" }), h("button", { key: 'c3dfbf08c35f2725160a2288b25c306efd0fcf1e', class: "shell-layout__header-tool", type: "button" }, h("swirl-icon-double-arrow-left", { key: 'b05634fac98129147a4509c4461b48c28ed698f7', size: 20 }), h("swirl-visually-hidden", { key: 'b49b592652e0c4377e99934a18d0a81dcbcea55f' }, this.hideMobileNavigationButtonLabel)))), h("div", { key: '537391a48cc90659e367cb933c0625ef1b32146e', class: "shell-layout__nav-body" }, h("swirl-visually-hidden", { key: 'ba3f245289fada7bb8fc0b5c38d1f1c0a43f667d' }, h("span", { key: '7d1808931d93a88dd35746a5df8057f6e5aa46fd', id: "main-navigation-label" }, this.navigationLabel)), h("slot", { key: '3a082bac6933f9de6972ec0b69190c5ba6352405', name: "nav", onSlotchange: this.collectNavItems }), h("div", { key: 'c70a7ccf4d2408b05a8e74b378f9f32bb28fb6fa', class: "shell-layout__secondary-nav" }, h("swirl-separator", { key: '2e961f628c249b66a10121ee936924ff26f272a3', borderColor: "strong", spacing: "16" }), this.enableSecondaryNavGridLayout && (h("swirl-box", { key: 'a554a1070e79b14aac46bc0c73272071c3cc8866', paddingBlockEnd: "16" }, h("swirl-stack", { key: '333b1102a5900d06d5b27c9755e1e65132b248f6', justify: this.navigationCollapsed ? "center" : "space-between", orientation: "horizontal" }, h("swirl-button", { key: 'b3c51308bfb1067e6fc34b26e09efac5e8d251ac', hideLabel: this.navigationCollapsed, icon: this.secondaryNavCollapsed
|
|
176
|
+
? "<swirl-icon-expand-more></swirl-icon-expand-more>"
|
|
177
|
+
: "<swirl-icon-expand-less></swirl-icon-expand-less>", label: this.secondaryNavCollapsed
|
|
178
|
+
? this.secondaryNavExpandLabel
|
|
179
|
+
: this.secondaryNavCollapseLabel, onClick: this.toggleSecondaryNavCollapse, variant: "plain" }), !this.navigationCollapsed &&
|
|
180
|
+
!this.secondaryNavCollapsed && (h("swirl-button", { key: '907779e749bf62369d80c8c9ede8b29c1f8875ee', icon: this.secondaryNavView === "grid"
|
|
181
|
+
? "<swirl-icon-menu></swirl-icon-menu>"
|
|
182
|
+
: "<swirl-icon-hamburger-menu></swirl-icon-hamburger-menu>", iconPosition: "end", label: this.secondaryNavView === "grid"
|
|
183
|
+
? this.gridNavLayoutToggleLabel
|
|
184
|
+
: this.listNavLayoutToggleLabel, onClick: this.toggleSecondaryNavView, variant: "plain" }))))), h("ul", { key: '329aa0e2fc43a301b935580e136dff2ded4f3278', class: {
|
|
185
|
+
"shell-layout__secondary-nav-items": true,
|
|
186
|
+
"shell-layout__secondary-nav-items--grid-view": this.enableSecondaryNavGridLayout &&
|
|
187
|
+
this.secondaryNavView === "grid",
|
|
188
|
+
} }, h("slot", { key: '422269185dc3b2b3c6cea0a09e7857128e50af71', name: "secondary-nav", onSlotchange: this.collectNavItems }))))), h("main", { key: 'ea6015af362cfff1535995a4bc9b0188378ef755', class: "shell-layout__main", id: "main-content" }, h("slot", { key: '71863925b9b8e4430e236920edec978e3852dd2e' })), h("aside", { key: 'ece8a7300a11336a48769ccbcb11e769ce0f82d6', class: "shell-layout__sidebar", inert: this.sidebarActive ? undefined : true }, h("div", { key: '3eceb6b713a38976380315d20b98ece681fc43cd', class: "shell-layout__sidebar-body" }, h("div", { key: '4848e6a1069a475ddc43b0a29f789be5aae0314a', class: "shell-layout__sidebar-app-bar" }, h("slot", { key: '3889563150445f7fb0d1825441488946f14c3a71', name: "sidebar-app-bar" })), h("div", { key: '4247f7afb9c55615d039ef9758a3407163f00c99', class: "shell-layout__sidebar-content" }, h("slot", { key: '74e5c9a3d91ff76381431a1319d323f285003a24', name: "sidebar" })))))));
|
|
111
189
|
}
|
|
112
190
|
static get is() { return "swirl-shell-layout"; }
|
|
113
191
|
static get encapsulation() { return "scoped"; }
|
|
@@ -176,6 +254,42 @@ export class SwirlShellLayout {
|
|
|
176
254
|
"reflect": false,
|
|
177
255
|
"defaultValue": "\"Navigate forward\""
|
|
178
256
|
},
|
|
257
|
+
"enableSecondaryNavGridLayout": {
|
|
258
|
+
"type": "boolean",
|
|
259
|
+
"mutable": false,
|
|
260
|
+
"complexType": {
|
|
261
|
+
"original": "boolean",
|
|
262
|
+
"resolved": "boolean",
|
|
263
|
+
"references": {}
|
|
264
|
+
},
|
|
265
|
+
"required": false,
|
|
266
|
+
"optional": true,
|
|
267
|
+
"docs": {
|
|
268
|
+
"tags": [],
|
|
269
|
+
"text": ""
|
|
270
|
+
},
|
|
271
|
+
"attribute": "enable-secondary-nav-grid-layout",
|
|
272
|
+
"reflect": false,
|
|
273
|
+
"defaultValue": "true"
|
|
274
|
+
},
|
|
275
|
+
"gridNavLayoutToggleLabel": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"mutable": false,
|
|
278
|
+
"complexType": {
|
|
279
|
+
"original": "string",
|
|
280
|
+
"resolved": "string",
|
|
281
|
+
"references": {}
|
|
282
|
+
},
|
|
283
|
+
"required": false,
|
|
284
|
+
"optional": true,
|
|
285
|
+
"docs": {
|
|
286
|
+
"tags": [],
|
|
287
|
+
"text": ""
|
|
288
|
+
},
|
|
289
|
+
"attribute": "grid-nav-layout-toggle-label",
|
|
290
|
+
"reflect": false,
|
|
291
|
+
"defaultValue": "\"Grid\""
|
|
292
|
+
},
|
|
179
293
|
"hideMobileNavigationButtonLabel": {
|
|
180
294
|
"type": "string",
|
|
181
295
|
"mutable": false,
|
|
@@ -194,6 +308,24 @@ export class SwirlShellLayout {
|
|
|
194
308
|
"reflect": false,
|
|
195
309
|
"defaultValue": "\"Close navigation\""
|
|
196
310
|
},
|
|
311
|
+
"listNavLayoutToggleLabel": {
|
|
312
|
+
"type": "string",
|
|
313
|
+
"mutable": false,
|
|
314
|
+
"complexType": {
|
|
315
|
+
"original": "string",
|
|
316
|
+
"resolved": "string",
|
|
317
|
+
"references": {}
|
|
318
|
+
},
|
|
319
|
+
"required": false,
|
|
320
|
+
"optional": true,
|
|
321
|
+
"docs": {
|
|
322
|
+
"tags": [],
|
|
323
|
+
"text": ""
|
|
324
|
+
},
|
|
325
|
+
"attribute": "list-nav-layout-toggle-label",
|
|
326
|
+
"reflect": false,
|
|
327
|
+
"defaultValue": "\"List\""
|
|
328
|
+
},
|
|
197
329
|
"navigationLabel": {
|
|
198
330
|
"type": "string",
|
|
199
331
|
"mutable": false,
|
|
@@ -230,6 +362,42 @@ export class SwirlShellLayout {
|
|
|
230
362
|
"reflect": false,
|
|
231
363
|
"defaultValue": "\"Toggle navigation\""
|
|
232
364
|
},
|
|
365
|
+
"secondaryNavCollapseLabel": {
|
|
366
|
+
"type": "string",
|
|
367
|
+
"mutable": false,
|
|
368
|
+
"complexType": {
|
|
369
|
+
"original": "string",
|
|
370
|
+
"resolved": "string",
|
|
371
|
+
"references": {}
|
|
372
|
+
},
|
|
373
|
+
"required": false,
|
|
374
|
+
"optional": true,
|
|
375
|
+
"docs": {
|
|
376
|
+
"tags": [],
|
|
377
|
+
"text": ""
|
|
378
|
+
},
|
|
379
|
+
"attribute": "secondary-nav-collapse-label",
|
|
380
|
+
"reflect": false,
|
|
381
|
+
"defaultValue": "\"Show less\""
|
|
382
|
+
},
|
|
383
|
+
"secondaryNavExpandLabel": {
|
|
384
|
+
"type": "string",
|
|
385
|
+
"mutable": false,
|
|
386
|
+
"complexType": {
|
|
387
|
+
"original": "string",
|
|
388
|
+
"resolved": "string",
|
|
389
|
+
"references": {}
|
|
390
|
+
},
|
|
391
|
+
"required": false,
|
|
392
|
+
"optional": true,
|
|
393
|
+
"docs": {
|
|
394
|
+
"tags": [],
|
|
395
|
+
"text": ""
|
|
396
|
+
},
|
|
397
|
+
"attribute": "secondary-nav-expand-label",
|
|
398
|
+
"reflect": false,
|
|
399
|
+
"defaultValue": "\"Show more\""
|
|
400
|
+
},
|
|
233
401
|
"sidebarActive": {
|
|
234
402
|
"type": "boolean",
|
|
235
403
|
"mutable": true,
|
|
@@ -340,7 +508,9 @@ export class SwirlShellLayout {
|
|
|
340
508
|
static get states() {
|
|
341
509
|
return {
|
|
342
510
|
"mobileNavigationActive": {},
|
|
343
|
-
"navigationCollapsed": {}
|
|
511
|
+
"navigationCollapsed": {},
|
|
512
|
+
"secondaryNavCollapsed": {},
|
|
513
|
+
"secondaryNavView": {}
|
|
344
514
|
};
|
|
345
515
|
}
|
|
346
516
|
static get events() {
|
|
@@ -424,6 +594,7 @@ export class SwirlShellLayout {
|
|
|
424
594
|
}
|
|
425
595
|
};
|
|
426
596
|
}
|
|
597
|
+
static get elementRef() { return "el"; }
|
|
427
598
|
static get watchers() {
|
|
428
599
|
return [{
|
|
429
600
|
"propName": "mobileNavigationActive",
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { newSpecPage } from "@stencil/core/testing";
|
|
2
2
|
import { SwirlShellLayout } from "./swirl-shell-layout";
|
|
3
|
+
global.MutationObserver = class {
|
|
4
|
+
constructor() { }
|
|
5
|
+
disconnect() { }
|
|
6
|
+
observe() { }
|
|
7
|
+
};
|
|
3
8
|
describe("swirl-shell-layout", () => {
|
|
4
9
|
it("renders its content", async () => {
|
|
5
10
|
const page = await newSpecPage({
|
|
@@ -14,6 +19,6 @@ describe("swirl-shell-layout", () => {
|
|
|
14
19
|
<div slot="sidebar">Sidebar</div>
|
|
15
20
|
</swirl-shell-layout>`,
|
|
16
21
|
});
|
|
17
|
-
expect(page.root.innerHTML).toMatchInlineSnapshot(`"<!----> <div slot=\\"header-tools\\" hidden=\\"\\">Tools</div> <div slot=\\"sidebar-header\\" hidden=\\"\\">Sidebar header</div> <div class=\\"shell-layout\\"><header class=\\"shell-layout__header\\" data-tauri-drag-region=\\"true\\"><button class=\\"shell-layout__skip-link\\" type=\\"button\\">Skip to main content</button><div class=\\"shell-layout__header-left\\"><button class=\\"shell-layout__header-tool\\" type=\\"button\\"><swirl-icon-dock-left size=\\"20\\"></swirl-icon-dock-left><swirl-visually-hidden>Toggle navigation</swirl-visually-hidden></button><a class=\\"shell-layout__header-tool\\" href=\\"javascript:history.back()\\"><swirl-icon-arrow-back size=\\"20\\"></swirl-icon-arrow-back><swirl-visually-hidden>Navigate back</swirl-visually-hidden></a><a class=\\"shell-layout__header-tool\\" href=\\"javascript:history.forward()\\"><swirl-icon-arrow-forward size=\\"20\\"></swirl-icon-arrow-forward><swirl-visually-hidden>Navigate forward</swirl-visually-hidden></a> </div><div class=\\"shell-layout__logo\\"> <div slot=\\"logo\\">Logo</div></div><div class=\\"shell-layout__header-right\\"> <button class=\\"shell-layout__header-tool shell-layout__sidebar-toggle\\" type=\\"button\\"><swirl-icon glyph=\\"notifications\\" size=\\"20\\"></swirl-icon><swirl-visually-hidden>Toggle sidebar</swirl-visually-hidden></button> </div></header><div class=\\"shell-layout__mobile-nav-backdrop\\"></div><nav aria-labelledby=\\"main-navigation-label\\" class=\\"shell-layout__nav\\"><div class=\\"shell-layout__mobile-header\\"> <div slot=\\"mobile-logo\\">Mobile logo</div><div class=\\"shell-layout__mobile-header-tools\\"> <button class=\\"shell-layout__header-tool\\" type=\\"button\\"><swirl-icon-double-arrow-left size=\\"20\\"></swirl-icon-double-arrow-left><swirl-visually-hidden>Close navigation</swirl-visually-hidden></button></div></div><div class=\\"shell-layout__nav-body\\"><swirl-visually-hidden><span id=\\"main-navigation-label\\">Main</span></swirl-visually-hidden> <div slot=\\"nav\\">nav</div></div></nav><main class=\\"shell-layout__main\\" id=\\"main-content\\"> <div>Main</div> </main><aside class=\\"shell-layout__sidebar\\" inert=\\"\\"><div class=\\"shell-layout__sidebar-body\\"><div class=\\"shell-layout__sidebar-app-bar\\"></div><div class=\\"shell-layout__sidebar-content\\"> <div slot=\\"sidebar\\">Sidebar</div></div></div></aside></div>"`);
|
|
22
|
+
expect(page.root.innerHTML).toMatchInlineSnapshot(`"<!----> <div slot=\\"header-tools\\" hidden=\\"\\">Tools</div> <div slot=\\"sidebar-header\\" hidden=\\"\\">Sidebar header</div> <div class=\\"shell-layout\\"><header class=\\"shell-layout__header\\" data-tauri-drag-region=\\"true\\"><button class=\\"shell-layout__skip-link\\" type=\\"button\\">Skip to main content</button><div class=\\"shell-layout__header-left\\"><button class=\\"shell-layout__header-tool\\" type=\\"button\\"><swirl-icon-dock-left size=\\"20\\"></swirl-icon-dock-left><swirl-visually-hidden>Toggle navigation</swirl-visually-hidden></button><a class=\\"shell-layout__header-tool\\" href=\\"javascript:history.back()\\"><swirl-icon-arrow-back size=\\"20\\"></swirl-icon-arrow-back><swirl-visually-hidden>Navigate back</swirl-visually-hidden></a><a class=\\"shell-layout__header-tool\\" href=\\"javascript:history.forward()\\"><swirl-icon-arrow-forward size=\\"20\\"></swirl-icon-arrow-forward><swirl-visually-hidden>Navigate forward</swirl-visually-hidden></a> </div><div class=\\"shell-layout__logo\\"> <div slot=\\"logo\\">Logo</div></div><div class=\\"shell-layout__header-right\\"> <button class=\\"shell-layout__header-tool shell-layout__sidebar-toggle\\" type=\\"button\\"><swirl-icon glyph=\\"notifications\\" size=\\"20\\"></swirl-icon><swirl-visually-hidden>Toggle sidebar</swirl-visually-hidden></button> </div></header><div class=\\"shell-layout__mobile-nav-backdrop\\"></div><nav aria-labelledby=\\"main-navigation-label\\" class=\\"shell-layout__nav\\"><div class=\\"shell-layout__mobile-header\\"> <div slot=\\"mobile-logo\\">Mobile logo</div><div class=\\"shell-layout__mobile-header-tools\\"> <button class=\\"shell-layout__header-tool\\" type=\\"button\\"><swirl-icon-double-arrow-left size=\\"20\\"></swirl-icon-double-arrow-left><swirl-visually-hidden>Close navigation</swirl-visually-hidden></button></div></div><div class=\\"shell-layout__nav-body\\"><swirl-visually-hidden><span id=\\"main-navigation-label\\">Main</span></swirl-visually-hidden> <div slot=\\"nav\\">nav</div><div class=\\"shell-layout__secondary-nav\\"><swirl-separator bordercolor=\\"strong\\" spacing=\\"16\\"></swirl-separator><swirl-box paddingblockend=\\"16\\"><swirl-stack justify=\\"space-between\\" orientation=\\"horizontal\\"><swirl-button icon=\\"<swirl-icon-expand-less></swirl-icon-expand-less>\\" label=\\"Show less\\" variant=\\"plain\\"></swirl-button><swirl-button icon=\\"<swirl-icon-hamburger-menu></swirl-icon-hamburger-menu>\\" iconposition=\\"end\\" label=\\"List\\" variant=\\"plain\\"></swirl-button></swirl-stack></swirl-box><ul class=\\"shell-layout__secondary-nav-items\\"></ul></div></div></nav><main class=\\"shell-layout__main\\" id=\\"main-content\\"> <div>Main</div> </main><aside class=\\"shell-layout__sidebar\\" inert=\\"\\"><div class=\\"shell-layout__sidebar-body\\"><div class=\\"shell-layout__sidebar-app-bar\\"></div><div class=\\"shell-layout__sidebar-content\\"> <div slot=\\"sidebar\\">Sidebar</div></div></div></aside></div>"`);
|
|
18
23
|
});
|
|
19
24
|
});
|
|
@@ -37,40 +37,56 @@ const Template = (args) => {
|
|
|
37
37
|
<swirl-button label="Header tool" slot="right-header-tools" variant="outline"></swirl-button>
|
|
38
38
|
|
|
39
39
|
<div slot="nav">
|
|
40
|
-
<ul>
|
|
40
|
+
<swirl-stack align="stretch" as="ul" spacing="2">
|
|
41
41
|
<li>
|
|
42
|
-
<swirl-shell-navigation-item label="
|
|
43
|
-
<swirl-app-icon icon="<swirl-icon-
|
|
42
|
+
<swirl-shell-navigation-item label="News">
|
|
43
|
+
<swirl-app-icon icon="<swirl-icon-news size="24"></swirl-icon-news>" slot="icon"></swirl-app-icon>
|
|
44
44
|
</swirl-shell-navigation-item>
|
|
45
45
|
</li>
|
|
46
46
|
<li>
|
|
47
|
-
<swirl-shell-navigation-item active label="
|
|
48
|
-
<swirl-app-icon icon="<swirl-icon-
|
|
47
|
+
<swirl-shell-navigation-item active label="Chats">
|
|
48
|
+
<swirl-app-icon icon="<swirl-icon-chats size="24"></swirl-icon-chats>" slot="icon"></swirl-app-icon>
|
|
49
49
|
</swirl-shell-navigation-item>
|
|
50
50
|
</li>
|
|
51
51
|
<li>
|
|
52
|
-
<swirl-shell-navigation-item label="
|
|
53
|
-
<swirl-app-icon icon="<swirl-icon-
|
|
52
|
+
<swirl-shell-navigation-item label="Tasks" badge-label="3">
|
|
53
|
+
<swirl-app-icon icon="<swirl-icon-tasks size="24"></swirl-icon-tasks>" slot="icon"></swirl-app-icon>
|
|
54
54
|
</swirl-shell-navigation-item>
|
|
55
55
|
</li>
|
|
56
56
|
<li>
|
|
57
|
-
<swirl-shell-navigation-item label="
|
|
58
|
-
<swirl-app-icon icon="<swirl-icon-
|
|
57
|
+
<swirl-shell-navigation-item label="Calendar">
|
|
58
|
+
<swirl-app-icon icon="<swirl-icon-today size="24"></swirl-icon-today>" slot="icon"></swirl-app-icon>
|
|
59
59
|
</swirl-shell-navigation-item>
|
|
60
60
|
</li>
|
|
61
61
|
<li>
|
|
62
|
-
<swirl-shell-navigation-item label="Employee directory"
|
|
63
|
-
<swirl-app-icon icon="<swirl-icon-
|
|
62
|
+
<swirl-shell-navigation-item label="Employee directory">
|
|
63
|
+
<swirl-app-icon icon="<swirl-icon-directory size="24"></swirl-icon-directory>" slot="icon"></swirl-app-icon>
|
|
64
64
|
</swirl-shell-navigation-item>
|
|
65
65
|
</li>
|
|
66
|
-
|
|
67
|
-
<swirl-shell-navigation-item label="Custom Link" boxed="true">
|
|
68
|
-
<swirl-app-icon slot="icon" label="link" src="https://picsum.photos/id/433/144/144" slot="icon"></swirl-app-icon>
|
|
69
|
-
</swirl-shell-navigation-item>
|
|
70
|
-
</li>
|
|
71
|
-
</ul>
|
|
66
|
+
</swirl-stack>
|
|
72
67
|
</div>
|
|
73
68
|
|
|
69
|
+
<li slot="secondary-nav">
|
|
70
|
+
<swirl-shell-navigation-item label="Reporting hub">
|
|
71
|
+
<swirl-app-icon src="/menu-item-1.png" slot="icon"></swirl-app-icon>
|
|
72
|
+
</swirl-shell-navigation-item>
|
|
73
|
+
</li>
|
|
74
|
+
<li slot="secondary-nav">
|
|
75
|
+
<swirl-shell-navigation-item label="My absences">
|
|
76
|
+
<swirl-app-icon src="/menu-item-2.png" slot="icon"></swirl-app-icon>
|
|
77
|
+
</swirl-shell-navigation-item>
|
|
78
|
+
</li>
|
|
79
|
+
<li slot="secondary-nav">
|
|
80
|
+
<swirl-shell-navigation-item label="IT self-service">
|
|
81
|
+
<swirl-app-icon src="/menu-item-3.png" slot="icon"></swirl-app-icon>
|
|
82
|
+
</swirl-shell-navigation-item>
|
|
83
|
+
</li>
|
|
84
|
+
<li slot="secondary-nav">
|
|
85
|
+
<swirl-shell-navigation-item label="Office door key">
|
|
86
|
+
<swirl-app-icon src="/menu-item-4.png" slot="icon"></swirl-app-icon>
|
|
87
|
+
</swirl-shell-navigation-item>
|
|
88
|
+
</li>
|
|
89
|
+
|
|
74
90
|
<swirl-app-layout app-name="App name">
|
|
75
91
|
<swirl-button hide-label="true" icon="<swirl-icon-menu></swirl-icon-menu>" label="Menu" slot="navigation-mobile-menu-button"></swirl-button>
|
|
76
92
|
<swirl-resource-list label="Items" slot="navigation">
|