@getflip/swirl-components 0.232.0 → 0.233.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 +442 -5
- package/dist/cjs/file-manager.cjs.entry.js +1 -1
- package/dist/cjs/index-6aba64ed.js +20 -12
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/swirl-components.cjs.js +1 -1
- package/dist/cjs/swirl-tree-view-item.cjs.entry.js +87 -0
- package/dist/cjs/swirl-tree-view.cjs.entry.js +208 -0
- 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/collection-manifest.json +2 -0
- package/dist/collection/components/swirl-tree-view/swirl-tree-view.css +15 -0
- package/dist/collection/components/swirl-tree-view/swirl-tree-view.js +310 -0
- package/dist/collection/components/swirl-tree-view/swirl-tree-view.spec.js +193 -0
- package/dist/collection/components/swirl-tree-view/swirl-tree-view.stories.js +36 -0
- package/dist/collection/components/swirl-tree-view-item/swirl-tree-view-item.css +127 -0
- package/dist/collection/components/swirl-tree-view-item/swirl-tree-view-item.js +300 -0
- package/dist/collection/components/swirl-tree-view-item/swirl-tree-view-item.spec.js +66 -0
- package/dist/collection/components/swirl-tree-view-item/swirl-tree-view-item.stories.js +23 -0
- 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/index.js +4 -0
- package/dist/components/index2.js +4 -4
- package/dist/components/swirl-accordion-item.js +2 -2
- package/dist/components/swirl-action-list-item2.js +2 -2
- package/dist/components/swirl-app-bar.js +2 -2
- package/dist/components/swirl-app-icon.js +2 -2
- package/dist/components/swirl-app-layout2.js +2 -2
- package/dist/components/swirl-autocomplete.js +2 -2
- package/dist/components/swirl-avatar-group.js +3 -3
- package/dist/components/swirl-avatar.js +4 -4
- package/dist/components/swirl-badge2.js +2 -2
- package/dist/components/swirl-banner.js +2 -2
- package/dist/components/swirl-box2.js +2 -2
- package/dist/components/swirl-button-group2.js +2 -2
- package/dist/components/swirl-button2.js +2 -2
- package/dist/components/swirl-card.js +2 -2
- package/dist/components/swirl-carousel-slide.js +2 -2
- package/dist/components/swirl-checkbox.js +2 -2
- package/dist/components/swirl-chip.js +2 -2
- package/dist/components/swirl-color-input.js +2 -2
- package/dist/components/swirl-console-layout.js +2 -2
- package/dist/components/swirl-date-input.js +2 -2
- package/dist/components/swirl-description-list-item.js +2 -2
- package/dist/components/swirl-dialog.js +2 -2
- package/dist/components/swirl-emoji-clap.js +2 -2
- package/dist/components/swirl-emoji-happy.js +2 -2
- package/dist/components/swirl-emoji-idea.js +2 -2
- package/dist/components/swirl-emoji-love.js +2 -2
- package/dist/components/swirl-emoji-sad.js +2 -2
- package/dist/components/swirl-emoji-thumbs-up.js +2 -2
- package/dist/components/swirl-empty-state2.js +2 -2
- package/dist/components/swirl-file-uploader.js +2 -2
- package/dist/components/swirl-file-viewer-pdf2.js +2 -2
- package/dist/components/swirl-form-control.js +2 -2
- package/dist/components/swirl-form-group.js +2 -2
- package/dist/components/swirl-heading2.js +2 -2
- package/dist/components/swirl-icon-add-moderator.js +2 -2
- package/dist/components/swirl-icon-add-photo.js +2 -2
- package/dist/components/swirl-icon-add-reaction.js +2 -2
- package/dist/components/swirl-icon-add2.js +2 -2
- package/dist/components/swirl-icon-admin-panel-settings.js +2 -2
- package/dist/components/swirl-icon-ai.js +2 -2
- package/dist/components/swirl-icon-apps.js +2 -2
- package/dist/components/swirl-icon-arrow-back2.js +2 -2
- package/dist/components/swirl-icon-arrow-downward2.js +2 -2
- package/dist/components/swirl-icon-arrow-forward2.js +2 -2
- package/dist/components/swirl-icon-arrow-left2.js +2 -2
- package/dist/components/swirl-icon-arrow-right-small.js +2 -2
- package/dist/components/swirl-icon-arrow-right2.js +2 -2
- package/dist/components/swirl-icon-arrow-upward2.js +2 -2
- package/dist/components/swirl-icon-aspect-ratio.js +2 -2
- package/dist/components/swirl-icon-attachment.js +2 -2
- package/dist/components/swirl-icon-bar-chart.js +2 -2
- package/dist/components/swirl-icon-block.js +2 -2
- package/dist/components/swirl-icon-bookmark-filled.js +2 -2
- package/dist/components/swirl-icon-bookmark.js +2 -2
- package/dist/components/swirl-icon-cancel2.js +2 -2
- package/dist/components/swirl-icon-chat-bubble.js +2 -2
- package/dist/components/swirl-icon-chats-filled.js +2 -2
- package/dist/components/swirl-icon-chats.js +2 -2
- package/dist/components/swirl-icon-check-circle2.js +2 -2
- package/dist/components/swirl-icon-check-small2.js +2 -2
- package/dist/components/swirl-icon-check-strong2.js +2 -2
- package/dist/components/swirl-icon-check.js +2 -2
- package/dist/components/swirl-icon-chevron-left.js +2 -2
- package/dist/components/swirl-icon-chevron-right.js +1 -40
- package/dist/components/swirl-icon-chevron-right2.js +42 -0
- package/dist/components/swirl-icon-close-small.js +2 -2
- package/dist/components/swirl-icon-close2.js +2 -2
- package/dist/components/swirl-icon-cloud-upload2.js +2 -2
- package/dist/components/swirl-icon-column.js +2 -2
- package/dist/components/swirl-icon-comment.js +2 -2
- package/dist/components/swirl-icon-copy.js +2 -2
- package/dist/components/swirl-icon-crop.js +2 -2
- package/dist/components/swirl-icon-dark-mode.js +2 -2
- package/dist/components/swirl-icon-date-range.js +2 -2
- package/dist/components/swirl-icon-delete.js +2 -2
- package/dist/components/swirl-icon-description.js +2 -2
- package/dist/components/swirl-icon-desktop.js +2 -2
- package/dist/components/swirl-icon-directory-filled.js +2 -2
- package/dist/components/swirl-icon-directory.js +2 -2
- package/dist/components/swirl-icon-discover.js +2 -2
- package/dist/components/swirl-icon-dock-left-collapse2.js +2 -2
- package/dist/components/swirl-icon-dock-left-expand2.js +2 -2
- package/dist/components/swirl-icon-dock-left.js +2 -2
- package/dist/components/swirl-icon-dot.js +2 -2
- package/dist/components/swirl-icon-double-arrow-left2.js +2 -2
- package/dist/components/swirl-icon-double-arrow-right.js +2 -2
- package/dist/components/swirl-icon-download.js +2 -2
- package/dist/components/swirl-icon-drag-handle2.js +2 -2
- package/dist/components/swirl-icon-edit.js +2 -2
- package/dist/components/swirl-icon-emoji-mood.js +2 -2
- package/dist/components/swirl-icon-emoji-satisfied.js +2 -2
- package/dist/components/swirl-icon-error2.js +2 -2
- package/dist/components/swirl-icon-expand-less2.js +2 -2
- package/dist/components/swirl-icon-expand-more2.js +2 -2
- package/dist/components/swirl-icon-experiment.js +2 -2
- package/dist/components/swirl-icon-file-copy2.js +2 -2
- package/dist/components/swirl-icon-file2.js +2 -2
- package/dist/components/swirl-icon-filter.js +2 -2
- package/dist/components/swirl-icon-folder-shared2.js +2 -2
- package/dist/components/swirl-icon-folder.js +2 -2
- package/dist/components/swirl-icon-format-h-one.js +2 -2
- package/dist/components/swirl-icon-fullscreen-exit2.js +2 -2
- package/dist/components/swirl-icon-fullscreen2.js +2 -2
- package/dist/components/swirl-icon-gif.js +2 -2
- package/dist/components/swirl-icon-group-add.js +2 -2
- package/dist/components/swirl-icon-group-assign.js +2 -2
- package/dist/components/swirl-icon-groups-filled.js +2 -2
- package/dist/components/swirl-icon-groups.js +2 -2
- package/dist/components/swirl-icon-hamburger-menu.js +2 -2
- package/dist/components/swirl-icon-help2.js +2 -2
- package/dist/components/swirl-icon-highlight.js +2 -2
- package/dist/components/swirl-icon-history.js +2 -2
- package/dist/components/swirl-icon-home.js +2 -2
- package/dist/components/swirl-icon-image.js +2 -2
- package/dist/components/swirl-icon-improve-text.js +2 -2
- package/dist/components/swirl-icon-info2.js +2 -2
- package/dist/components/swirl-icon-insert-below.js +2 -2
- package/dist/components/swirl-icon-insert-on-top.js +2 -2
- package/dist/components/swirl-icon-inventory.js +2 -2
- package/dist/components/swirl-icon-keyboard-hide.js +2 -2
- package/dist/components/swirl-icon-keyboard.js +2 -2
- package/dist/components/swirl-icon-light-mode.js +2 -2
- package/dist/components/swirl-icon-like.js +2 -2
- package/dist/components/swirl-icon-link.js +2 -2
- package/dist/components/swirl-icon-load.js +2 -2
- package/dist/components/swirl-icon-lock-open.js +2 -2
- package/dist/components/swirl-icon-lock-person.js +2 -2
- package/dist/components/swirl-icon-lock.js +2 -2
- package/dist/components/swirl-icon-login.js +2 -2
- package/dist/components/swirl-icon-logout.js +2 -2
- package/dist/components/swirl-icon-long-text.js +2 -2
- package/dist/components/swirl-icon-mail.js +2 -2
- package/dist/components/swirl-icon-manage-accounts.js +2 -2
- package/dist/components/swirl-icon-mark-chat-read.js +2 -2
- package/dist/components/swirl-icon-mark-chat-unread.js +2 -2
- package/dist/components/swirl-icon-mention.js +2 -2
- package/dist/components/swirl-icon-menu-book2.js +2 -2
- package/dist/components/swirl-icon-menu-filled.js +2 -2
- package/dist/components/swirl-icon-menu.js +2 -2
- package/dist/components/swirl-icon-message.js +2 -2
- package/dist/components/swirl-icon-mic-off.js +2 -2
- package/dist/components/swirl-icon-mic.js +2 -2
- package/dist/components/swirl-icon-more-horizontal.js +2 -2
- package/dist/components/swirl-icon-more-vertikal2.js +2 -2
- package/dist/components/swirl-icon-news-filled.js +2 -2
- package/dist/components/swirl-icon-news-off.js +2 -2
- package/dist/components/swirl-icon-news.js +2 -2
- package/dist/components/swirl-icon-notifications-active.js +2 -2
- package/dist/components/swirl-icon-notifications-off.js +2 -2
- package/dist/components/swirl-icon-notifications.js +2 -2
- package/dist/components/swirl-icon-open-in-full.js +2 -2
- package/dist/components/swirl-icon-open-in-new.js +2 -2
- package/dist/components/swirl-icon-pause-circle.js +2 -2
- package/dist/components/swirl-icon-pause.js +2 -2
- package/dist/components/swirl-icon-people-alt.js +2 -2
- package/dist/components/swirl-icon-person-off.js +2 -2
- package/dist/components/swirl-icon-person2.js +2 -2
- package/dist/components/swirl-icon-phone.js +2 -2
- package/dist/components/swirl-icon-photo-camera.js +2 -2
- package/dist/components/swirl-icon-pin-off.js +2 -2
- package/dist/components/swirl-icon-pin.js +2 -2
- package/dist/components/swirl-icon-place.js +2 -2
- package/dist/components/swirl-icon-play-arrow.js +2 -2
- package/dist/components/swirl-icon-poll.js +2 -2
- package/dist/components/swirl-icon-print.js +2 -2
- package/dist/components/swirl-icon-public-off.js +2 -2
- package/dist/components/swirl-icon-public.js +2 -2
- package/dist/components/swirl-icon-ratio-four-to-three.js +2 -2
- package/dist/components/swirl-icon-ratio-freeform.js +2 -2
- package/dist/components/swirl-icon-ratio-sixteen-to-nine.js +2 -2
- package/dist/components/swirl-icon-ratio-square.js +2 -2
- package/dist/components/swirl-icon-ratio-three-to-four.js +2 -2
- package/dist/components/swirl-icon-ratio-three-to-two.js +2 -2
- package/dist/components/swirl-icon-recieved.js +2 -2
- package/dist/components/swirl-icon-remove-circle.js +2 -2
- package/dist/components/swirl-icon-remove-moderator.js +2 -2
- package/dist/components/swirl-icon-remove2.js +2 -2
- package/dist/components/swirl-icon-reply.js +2 -2
- package/dist/components/swirl-icon-report.js +2 -2
- package/dist/components/swirl-icon-roadmap.js +2 -2
- package/dist/components/swirl-icon-rotate-left.js +2 -2
- package/dist/components/swirl-icon-rotate-right.js +2 -2
- package/dist/components/swirl-icon-search-strong.js +2 -2
- package/dist/components/swirl-icon-search2.js +2 -2
- package/dist/components/swirl-icon-secure.js +2 -2
- package/dist/components/swirl-icon-send.js +2 -2
- package/dist/components/swirl-icon-settings.js +2 -2
- package/dist/components/swirl-icon-short-text.js +2 -2
- package/dist/components/swirl-icon-simplify.js +2 -2
- package/dist/components/swirl-icon-spellcheck.js +2 -2
- package/dist/components/swirl-icon-stop.js +2 -2
- package/dist/components/swirl-icon-sync.js +2 -2
- package/dist/components/swirl-icon-tasks-filled.js +2 -2
- package/dist/components/swirl-icon-tasks.js +2 -2
- package/dist/components/swirl-icon-terminal.js +2 -2
- package/dist/components/swirl-icon-time-filled.js +2 -2
- package/dist/components/swirl-icon-time.js +2 -2
- package/dist/components/swirl-icon-today-filled.js +2 -2
- package/dist/components/swirl-icon-today2.js +2 -2
- package/dist/components/swirl-icon-translate.js +2 -2
- package/dist/components/swirl-icon-tree-structure.js +2 -2
- package/dist/components/swirl-icon-undo.js +2 -2
- package/dist/components/swirl-icon-unlock-person.js +2 -2
- package/dist/components/swirl-icon-user-add.js +2 -2
- package/dist/components/swirl-icon-user-assign.js +2 -2
- package/dist/components/swirl-icon-video-camera-off.js +2 -2
- package/dist/components/swirl-icon-video-camera.js +2 -2
- package/dist/components/swirl-icon-video-library.js +2 -2
- package/dist/components/swirl-icon-visibility-off2.js +2 -2
- package/dist/components/swirl-icon-visibility2.js +2 -2
- package/dist/components/swirl-icon-voice.js +2 -2
- package/dist/components/swirl-icon-warning2.js +2 -2
- package/dist/components/swirl-icon-web-asset-off.js +2 -2
- package/dist/components/swirl-icon-web-asset.js +2 -2
- package/dist/components/swirl-icon-work.js +2 -2
- package/dist/components/swirl-image-grid-item.js +2 -2
- package/dist/components/swirl-image-grid.js +2 -2
- package/dist/components/swirl-inline-error2.js +2 -2
- package/dist/components/swirl-inline-notification.js +2 -2
- package/dist/components/swirl-inline-status.js +2 -2
- package/dist/components/swirl-lightbox.js +2 -2
- package/dist/components/swirl-link.js +2 -2
- package/dist/components/swirl-menu-item.js +2 -2
- package/dist/components/swirl-menu.js +2 -2
- package/dist/components/swirl-modal.js +2 -2
- package/dist/components/swirl-option-list-item2.js +2 -2
- package/dist/components/swirl-pagination.js +2 -2
- package/dist/components/swirl-pdf-reader.js +3 -3
- package/dist/components/swirl-popover2.js +2 -2
- package/dist/components/swirl-progress-indicator2.js +2 -2
- package/dist/components/swirl-radio.js +2 -2
- package/dist/components/swirl-resource-list-file-item.js +2 -2
- package/dist/components/swirl-resource-list-item2.js +2 -2
- package/dist/components/swirl-search.js +2 -2
- package/dist/components/swirl-select.js +2 -2
- package/dist/components/swirl-separator2.js +2 -2
- package/dist/components/swirl-shell-layout.js +2 -2
- package/dist/components/swirl-shell-navigation-item.js +3 -3
- package/dist/components/swirl-skeleton-box.js +2 -2
- package/dist/components/swirl-skeleton-text.js +3 -3
- package/dist/components/swirl-spinner2.js +2 -2
- package/dist/components/swirl-stack2.js +2 -2
- package/dist/components/swirl-status-indicator.js +2 -2
- package/dist/components/swirl-switch.js +2 -2
- package/dist/components/swirl-symbol-account-circle.js +2 -2
- package/dist/components/swirl-symbol-alternate-email.js +2 -2
- package/dist/components/swirl-symbol-android.js +2 -2
- package/dist/components/swirl-symbol-announcement.js +2 -2
- package/dist/components/swirl-symbol-backup.js +2 -2
- package/dist/components/swirl-symbol-beach-access.js +2 -2
- package/dist/components/swirl-symbol-bookmark.js +2 -2
- package/dist/components/swirl-symbol-cloud.js +2 -2
- package/dist/components/swirl-symbol-coronavirus.js +2 -2
- package/dist/components/swirl-symbol-desktop-windows.js +2 -2
- package/dist/components/swirl-symbol-directions-car-filled.js +2 -2
- package/dist/components/swirl-symbol-edit-calendar.js +2 -2
- package/dist/components/swirl-symbol-email.js +2 -2
- package/dist/components/swirl-symbol-emoji-food-beverage.js +2 -2
- package/dist/components/swirl-symbol-event-menu.js +2 -2
- package/dist/components/swirl-symbol-facebook.js +2 -2
- package/dist/components/swirl-symbol-favorite.js +2 -2
- package/dist/components/swirl-symbol-fitness-center.js +2 -2
- package/dist/components/swirl-symbol-flag.js +2 -2
- package/dist/components/swirl-symbol-folder.js +2 -2
- package/dist/components/swirl-symbol-globe.js +2 -2
- package/dist/components/swirl-symbol-groups.js +2 -2
- package/dist/components/swirl-symbol-help.js +2 -2
- package/dist/components/swirl-symbol-image.js +2 -2
- package/dist/components/swirl-symbol-info-menu.js +2 -2
- package/dist/components/swirl-symbol-instagram.js +2 -2
- package/dist/components/swirl-symbol-ios.js +2 -2
- package/dist/components/swirl-symbol-language.js +2 -2
- package/dist/components/swirl-symbol-leaderboard.js +2 -2
- package/dist/components/swirl-symbol-lightbulb.js +2 -2
- package/dist/components/swirl-symbol-linkedin.js +2 -2
- package/dist/components/swirl-symbol-location-on.js +2 -2
- package/dist/components/swirl-symbol-loyalty.js +2 -2
- package/dist/components/swirl-symbol-maps-home-work.js +2 -2
- package/dist/components/swirl-symbol-notifications.js +2 -2
- package/dist/components/swirl-symbol-open-in-new.js +2 -2
- package/dist/components/swirl-symbol-pedal-bike.js +2 -2
- package/dist/components/swirl-symbol-pinterest.js +2 -2
- package/dist/components/swirl-symbol-policy.js +2 -2
- package/dist/components/swirl-symbol-push-pin.js +2 -2
- package/dist/components/swirl-symbol-redeem.js +2 -2
- package/dist/components/swirl-symbol-report-problem.js +2 -2
- package/dist/components/swirl-symbol-restaurant.js +2 -2
- package/dist/components/swirl-symbol-roadmap.js +2 -2
- package/dist/components/swirl-symbol-room.js +2 -2
- package/dist/components/swirl-symbol-savings.js +2 -2
- package/dist/components/swirl-symbol-settings-voice.js +2 -2
- package/dist/components/swirl-symbol-shopping-cart.js +2 -2
- package/dist/components/swirl-symbol-smartphone.js +2 -2
- package/dist/components/swirl-symbol-star.js +2 -2
- package/dist/components/swirl-symbol-supervisor-account.js +2 -2
- package/dist/components/swirl-symbol-thumbs-up-down.js +2 -2
- package/dist/components/swirl-symbol-twitter.js +2 -2
- package/dist/components/swirl-symbol-wb-sunny.js +2 -2
- package/dist/components/swirl-symbol-wechat.js +2 -2
- package/dist/components/swirl-symbol-weibo.js +2 -2
- package/dist/components/swirl-symbol-work.js +2 -2
- package/dist/components/swirl-symbol-xing.js +2 -2
- package/dist/components/swirl-symbol-youtube.js +2 -2
- package/dist/components/swirl-tab-bar2.js +3 -3
- package/dist/components/swirl-tab.js +2 -2
- package/dist/components/swirl-table-row.js +2 -2
- package/dist/components/swirl-tag2.js +2 -2
- package/dist/components/swirl-text-input2.js +2 -2
- package/dist/components/swirl-text2.js +2 -2
- package/dist/components/swirl-thumbnail2.js +2 -2
- package/dist/components/swirl-time-input.js +2 -2
- package/dist/components/swirl-toast2.js +2 -2
- package/dist/components/swirl-tooltip2.js +2 -2
- package/dist/components/swirl-tree-navigation-item.js +2 -2
- package/dist/components/swirl-tree-view-item.d.ts +11 -0
- package/dist/components/swirl-tree-view-item.js +132 -0
- package/dist/components/swirl-tree-view.d.ts +11 -0
- package/dist/components/swirl-tree-view.js +226 -0
- 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 +20 -12
- package/dist/esm/loader.js +1 -1
- package/dist/esm/swirl-components.js +1 -1
- package/dist/esm/swirl-tree-view-item.entry.js +83 -0
- package/dist/esm/swirl-tree-view.entry.js +204 -0
- 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-587a0bab.entry.js → p-06335e41.entry.js} +1 -1
- package/dist/swirl-components/p-20e6dceb.entry.js +1 -0
- package/dist/swirl-components/{p-d2cf7884.entry.js → p-a6d1f15d.entry.js} +1 -1
- package/dist/swirl-components/p-e1aab223.entry.js +1 -0
- package/dist/swirl-components/p-fb443d8f.entry.js +1 -0
- package/dist/swirl-components/swirl-components.esm.js +1 -1
- package/dist/types/components/swirl-tree-view/swirl-tree-view.d.ts +33 -0
- package/dist/types/components/swirl-tree-view/swirl-tree-view.stories.d.ts +14 -0
- package/dist/types/components/swirl-tree-view-item/swirl-tree-view-item.d.ts +30 -0
- package/dist/types/components/swirl-tree-view-item/swirl-tree-view-item.stories.d.ts +14 -0
- package/dist/types/components.d.ts +85 -0
- package/package.json +1 -1
- package/vscode-data.json +42 -0
- package/dist/swirl-components/p-b547bb55.entry.js +0 -1
|
@@ -344,6 +344,8 @@
|
|
|
344
344
|
"components/swirl-theme-provider/swirl-theme-provider.js",
|
|
345
345
|
"components/swirl-time-input/swirl-time-input.js",
|
|
346
346
|
"components/swirl-tree-navigation-item/swirl-tree-navigation-item.js",
|
|
347
|
+
"components/swirl-tree-view-item/swirl-tree-view-item.js",
|
|
348
|
+
"components/swirl-tree-view/swirl-tree-view.js",
|
|
347
349
|
"components/swirl-video-thumbnail/swirl-video-thumbnail.js",
|
|
348
350
|
"components/swirl-visually-hidden/swirl-visually-hidden.js",
|
|
349
351
|
"prototypes/file-manager/file-manager.js"
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import { h, Host, } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* @slot slot - The tree view items
|
|
4
|
+
*/
|
|
5
|
+
export class SwirlTreeView {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.onSlotChange = () => {
|
|
8
|
+
this.init();
|
|
9
|
+
};
|
|
10
|
+
this.initiallyExpandedItemIds = undefined;
|
|
11
|
+
this.label = undefined;
|
|
12
|
+
}
|
|
13
|
+
componentDidLoad() {
|
|
14
|
+
if (Boolean(this.initiallyExpandedItemIds)) {
|
|
15
|
+
this.expandItems(this.initiallyExpandedItemIds);
|
|
16
|
+
}
|
|
17
|
+
this.init();
|
|
18
|
+
}
|
|
19
|
+
async expandItems(itemIds) {
|
|
20
|
+
const items = this.getItems().filter((item) => itemIds.includes(item.itemId));
|
|
21
|
+
items.forEach((item) => item.expand());
|
|
22
|
+
}
|
|
23
|
+
onKeyDown(event) {
|
|
24
|
+
if (event.key === "ArrowDown") {
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
this.selectNextItem();
|
|
27
|
+
}
|
|
28
|
+
else if (event.key === "ArrowUp") {
|
|
29
|
+
event.preventDefault();
|
|
30
|
+
this.selectPreviousItem();
|
|
31
|
+
}
|
|
32
|
+
else if (event.key === "ArrowRight") {
|
|
33
|
+
event.preventDefault();
|
|
34
|
+
this.expandSelectedItem();
|
|
35
|
+
}
|
|
36
|
+
else if (event.key === "ArrowLeft") {
|
|
37
|
+
event.preventDefault();
|
|
38
|
+
this.collapseSelectedItem();
|
|
39
|
+
}
|
|
40
|
+
else if (event.key === "Home") {
|
|
41
|
+
event.preventDefault();
|
|
42
|
+
this.selectFirstItem();
|
|
43
|
+
}
|
|
44
|
+
else if (event.key === "End") {
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
this.selectLastItem();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
onItemSelected(event) {
|
|
50
|
+
this.getItems().forEach((item) => {
|
|
51
|
+
if (item !== event.target) {
|
|
52
|
+
item.unselect();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
onExpandedChange(event) {
|
|
57
|
+
const target = event.target;
|
|
58
|
+
if (target?.tagName === "SWIRL-TREE-VIEW-ITEM") {
|
|
59
|
+
this.itemExpansionChanged.emit({
|
|
60
|
+
itemId: target.itemId,
|
|
61
|
+
expanded: event.detail,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
init() {
|
|
66
|
+
const selectedItem = this.getSelectedItem();
|
|
67
|
+
const allItems = this.getItems();
|
|
68
|
+
allItems.forEach((item) => item.unselect());
|
|
69
|
+
if (Boolean(selectedItem)) {
|
|
70
|
+
selectedItem.select();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
allItems[0]?.select();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
selectFirstItem() {
|
|
77
|
+
this.unselectAllItems();
|
|
78
|
+
this.getItems()[0]?.select(true);
|
|
79
|
+
}
|
|
80
|
+
selectLastItem() {
|
|
81
|
+
const allItems = this.getItems();
|
|
82
|
+
const lastVisibleItem = allItems
|
|
83
|
+
.filter((item) => item.parentElement
|
|
84
|
+
.closest("swirl-tree-view-item")
|
|
85
|
+
?.querySelector(':scope > li > [aria-expanded="true"]') ||
|
|
86
|
+
!Boolean(item.parentElement.closest("swirl-tree-view-item")))
|
|
87
|
+
.pop();
|
|
88
|
+
this.unselectAllItems();
|
|
89
|
+
lastVisibleItem?.select(true);
|
|
90
|
+
}
|
|
91
|
+
expandSelectedItem() {
|
|
92
|
+
const selectedItem = this.getSelectedItem();
|
|
93
|
+
if (!Boolean(selectedItem)) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const isExpanded = this.isItemExpanded(selectedItem);
|
|
97
|
+
if (isExpanded) {
|
|
98
|
+
this.selectNextItem();
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
selectedItem.expand();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
collapseSelectedItem() {
|
|
105
|
+
const selectedItem = this.getSelectedItem();
|
|
106
|
+
if (!Boolean(selectedItem)) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const isExpanded = this.isItemExpanded(selectedItem);
|
|
110
|
+
if (isExpanded) {
|
|
111
|
+
selectedItem.collapse();
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
const parent = selectedItem.parentElement.closest("swirl-tree-view-item");
|
|
115
|
+
if (!Boolean(parent)) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
this.unselectAllItems();
|
|
119
|
+
parent.select(true);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
selectNextItem() {
|
|
123
|
+
const selectedItem = this.getSelectedItem();
|
|
124
|
+
const selectedItemExpanded = this.isItemExpanded(selectedItem);
|
|
125
|
+
const nextSibling = this.getNextSibling(selectedItem);
|
|
126
|
+
let parent = selectedItem.parentElement.closest("swirl-tree-view-item");
|
|
127
|
+
let nextSiblingOfParent = this.getNextSibling(parent);
|
|
128
|
+
while (Boolean(parent) && !Boolean(nextSiblingOfParent)) {
|
|
129
|
+
parent = parent?.parentElement.closest("swirl-tree-view-item, swirl-tree-view");
|
|
130
|
+
nextSiblingOfParent = this.getNextSibling(parent);
|
|
131
|
+
}
|
|
132
|
+
const firstChild = selectedItem.querySelector("swirl-tree-view-item");
|
|
133
|
+
const nextItem = selectedItemExpanded
|
|
134
|
+
? firstChild
|
|
135
|
+
: nextSibling || nextSiblingOfParent;
|
|
136
|
+
if (!Boolean(nextItem)) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
this.unselectAllItems();
|
|
140
|
+
nextItem.select?.(true);
|
|
141
|
+
}
|
|
142
|
+
selectPreviousItem() {
|
|
143
|
+
const allItems = this.getItems();
|
|
144
|
+
const selectedItem = this.getSelectedItem();
|
|
145
|
+
const previousSibling = this.getPreviousSibling(selectedItem);
|
|
146
|
+
const previousSiblingExpanded = Boolean(previousSibling?.querySelector('[aria-expanded="true"]'));
|
|
147
|
+
// find the last child of the nested previous sibling
|
|
148
|
+
if (previousSiblingExpanded) {
|
|
149
|
+
let lastChildOfNestedPreviousSibling = previousSibling?.querySelector(":scope > li > ul > swirl-tree-view-item:last-child, :scope > li > ul > *:last-child > swirl-tree-view-item");
|
|
150
|
+
let lastChildOfNestedPreviousSiblingExpanded = Boolean(lastChildOfNestedPreviousSibling?.querySelector('[aria-expanded="true"]'));
|
|
151
|
+
while (lastChildOfNestedPreviousSiblingExpanded) {
|
|
152
|
+
lastChildOfNestedPreviousSibling =
|
|
153
|
+
lastChildOfNestedPreviousSibling?.querySelector(":scope > li > ul > swirl-tree-view-item:last-child, :scope > li > ul > *:last-child > swirl-tree-view-item");
|
|
154
|
+
lastChildOfNestedPreviousSiblingExpanded = Boolean(lastChildOfNestedPreviousSibling?.querySelector('[aria-expanded="true"]'));
|
|
155
|
+
}
|
|
156
|
+
allItems.forEach((item) => item.unselect());
|
|
157
|
+
lastChildOfNestedPreviousSibling.select?.(true);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const parent = selectedItem.parentElement.closest("swirl-tree-view-item");
|
|
161
|
+
const previousItem = previousSibling || parent;
|
|
162
|
+
if (!Boolean(previousItem)) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
allItems.forEach((item) => item.unselect());
|
|
166
|
+
previousItem.select?.(true);
|
|
167
|
+
}
|
|
168
|
+
unselectAllItems() {
|
|
169
|
+
this.getItems().forEach((item) => item.unselect());
|
|
170
|
+
}
|
|
171
|
+
getItems() {
|
|
172
|
+
return Array.from(this.el.querySelectorAll("swirl-tree-view-item"));
|
|
173
|
+
}
|
|
174
|
+
getSelectedItem() {
|
|
175
|
+
return this.getItems().find((item) => item.querySelector("a")?.getAttribute("aria-selected") === "true");
|
|
176
|
+
}
|
|
177
|
+
isItemExpanded(item) {
|
|
178
|
+
return Boolean(item.querySelector(':scope > li > [aria-expanded="true"]'));
|
|
179
|
+
}
|
|
180
|
+
getNextSibling(item) {
|
|
181
|
+
if (item?.nextElementSibling?.tagName === "SWIRL-TREE-VIEW-ITEM") {
|
|
182
|
+
return item.nextElementSibling;
|
|
183
|
+
}
|
|
184
|
+
const nestedSibling = item?.parentElement?.nextElementSibling?.querySelector("swirl-tree-view-item");
|
|
185
|
+
return nestedSibling ?? undefined;
|
|
186
|
+
}
|
|
187
|
+
getPreviousSibling(item) {
|
|
188
|
+
if (item?.previousElementSibling?.tagName === "SWIRL-TREE-VIEW-ITEM") {
|
|
189
|
+
return item.previousElementSibling;
|
|
190
|
+
}
|
|
191
|
+
const nestedSibling = item?.parentElement?.previousElementSibling?.querySelector("swirl-tree-view-item");
|
|
192
|
+
return nestedSibling ?? undefined;
|
|
193
|
+
}
|
|
194
|
+
render() {
|
|
195
|
+
return (h(Host, { key: 'cf2b5d1a4d8a6894ab94ac25974a16378b99e293' }, h("ul", { key: '22c81f9e9c9109bc8cc9dd066a390d146820fc5c', "aria-label": this.label, class: "tree-view", role: "tree" }, h("slot", { key: '9167a63b90026578af2f0d7263da97229ea3942e', onSlotchange: this.onSlotChange }))));
|
|
196
|
+
}
|
|
197
|
+
static get is() { return "swirl-tree-view"; }
|
|
198
|
+
static get encapsulation() { return "shadow"; }
|
|
199
|
+
static get originalStyleUrls() {
|
|
200
|
+
return {
|
|
201
|
+
"$": ["swirl-tree-view.css"]
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
static get styleUrls() {
|
|
205
|
+
return {
|
|
206
|
+
"$": ["swirl-tree-view.css"]
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
static get properties() {
|
|
210
|
+
return {
|
|
211
|
+
"initiallyExpandedItemIds": {
|
|
212
|
+
"type": "unknown",
|
|
213
|
+
"mutable": false,
|
|
214
|
+
"complexType": {
|
|
215
|
+
"original": "string[]",
|
|
216
|
+
"resolved": "string[]",
|
|
217
|
+
"references": {}
|
|
218
|
+
},
|
|
219
|
+
"required": false,
|
|
220
|
+
"optional": true,
|
|
221
|
+
"docs": {
|
|
222
|
+
"tags": [],
|
|
223
|
+
"text": ""
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"label": {
|
|
227
|
+
"type": "string",
|
|
228
|
+
"mutable": false,
|
|
229
|
+
"complexType": {
|
|
230
|
+
"original": "string",
|
|
231
|
+
"resolved": "string",
|
|
232
|
+
"references": {}
|
|
233
|
+
},
|
|
234
|
+
"required": true,
|
|
235
|
+
"optional": false,
|
|
236
|
+
"docs": {
|
|
237
|
+
"tags": [],
|
|
238
|
+
"text": ""
|
|
239
|
+
},
|
|
240
|
+
"attribute": "label",
|
|
241
|
+
"reflect": false
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
static get events() {
|
|
246
|
+
return [{
|
|
247
|
+
"method": "itemExpansionChanged",
|
|
248
|
+
"name": "itemExpansionChanged",
|
|
249
|
+
"bubbles": true,
|
|
250
|
+
"cancelable": true,
|
|
251
|
+
"composed": true,
|
|
252
|
+
"docs": {
|
|
253
|
+
"tags": [],
|
|
254
|
+
"text": ""
|
|
255
|
+
},
|
|
256
|
+
"complexType": {
|
|
257
|
+
"original": "{\n itemId: string;\n expanded: boolean;\n }",
|
|
258
|
+
"resolved": "{ itemId: string; expanded: boolean; }",
|
|
259
|
+
"references": {}
|
|
260
|
+
}
|
|
261
|
+
}];
|
|
262
|
+
}
|
|
263
|
+
static get methods() {
|
|
264
|
+
return {
|
|
265
|
+
"expandItems": {
|
|
266
|
+
"complexType": {
|
|
267
|
+
"signature": "(itemIds: string[]) => Promise<void>",
|
|
268
|
+
"parameters": [{
|
|
269
|
+
"name": "itemIds",
|
|
270
|
+
"type": "string[]",
|
|
271
|
+
"docs": ""
|
|
272
|
+
}],
|
|
273
|
+
"references": {
|
|
274
|
+
"Promise": {
|
|
275
|
+
"location": "global",
|
|
276
|
+
"id": "global::Promise"
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"return": "Promise<void>"
|
|
280
|
+
},
|
|
281
|
+
"docs": {
|
|
282
|
+
"text": "",
|
|
283
|
+
"tags": []
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
static get elementRef() { return "el"; }
|
|
289
|
+
static get listeners() {
|
|
290
|
+
return [{
|
|
291
|
+
"name": "keydown",
|
|
292
|
+
"method": "onKeyDown",
|
|
293
|
+
"target": undefined,
|
|
294
|
+
"capture": false,
|
|
295
|
+
"passive": false
|
|
296
|
+
}, {
|
|
297
|
+
"name": "itemSelected",
|
|
298
|
+
"method": "onItemSelected",
|
|
299
|
+
"target": undefined,
|
|
300
|
+
"capture": false,
|
|
301
|
+
"passive": false
|
|
302
|
+
}, {
|
|
303
|
+
"name": "expandedChange",
|
|
304
|
+
"method": "onExpandedChange",
|
|
305
|
+
"target": undefined,
|
|
306
|
+
"capture": false,
|
|
307
|
+
"passive": false
|
|
308
|
+
}];
|
|
309
|
+
}
|
|
310
|
+
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
+
import { SwirlTreeViewItem } from "../swirl-tree-view-item/swirl-tree-view-item";
|
|
3
|
+
import { SwirlTreeView } from "./swirl-tree-view";
|
|
4
|
+
describe("swirl-tree-view", () => {
|
|
5
|
+
it("renders children", async () => {
|
|
6
|
+
const page = await newSpecPage({
|
|
7
|
+
components: [SwirlTreeView, SwirlTreeViewItem],
|
|
8
|
+
html: `
|
|
9
|
+
<swirl-tree-view label="Label">
|
|
10
|
+
<swirl-tree-view-item href="#" icon="🪁" id="item-1" label="Item 1">
|
|
11
|
+
<swirl-tree-view-item href="#" icon="🍄" id="item-2" label="Item 1.1"></swirl-tree-view-item>
|
|
12
|
+
<swirl-tree-view-item href="#" icon="🌎" id="item-3" label="Item 1.2">
|
|
13
|
+
<swirl-tree-view-item href="#" icon="❄️" id="item-4" label="Item 1.2.1"></swirl-tree-view-item>
|
|
14
|
+
<swirl-tree-view-item href="#" icon="🌭" id="item-5" label="Item 1.2.2"></swirl-tree-view-item>
|
|
15
|
+
</swirl-tree-view-item>
|
|
16
|
+
<swirl-tree-view-item href="#" icon="🎾" id="item-6" label="Item 1.3"></swirl-tree-view-item>
|
|
17
|
+
</swirl-tree-view-item>
|
|
18
|
+
<swirl-tree-view-item href="#" icon="🎷" id="item-7" label="Item 2">
|
|
19
|
+
<swirl-tag bordered id="item-2" label="Draft" size="s" slot="tags"></swirl-tag>
|
|
20
|
+
</swirl-tree-view-item>
|
|
21
|
+
<swirl-tree-view-item href="#" icon="🎮" id="item-8" label="Item 3">
|
|
22
|
+
<swirl-tree-view-item href="#" icon="💈" id="item-9" label="Item 3.1"></swirl-tree-view-item>
|
|
23
|
+
</swirl-tree-view-item>
|
|
24
|
+
</swirl-tree-view>
|
|
25
|
+
`,
|
|
26
|
+
});
|
|
27
|
+
expect(page.root).toMatchInlineSnapshot(`
|
|
28
|
+
<swirl-tree-view label="Label">
|
|
29
|
+
<mock:shadow-root>
|
|
30
|
+
<ul aria-label="Label" class="tree-view" role="tree">
|
|
31
|
+
<slot></slot>
|
|
32
|
+
</ul>
|
|
33
|
+
</mock:shadow-root>
|
|
34
|
+
<swirl-tree-view-item href="#" icon="🪁" label="Item 1" role="none">
|
|
35
|
+
<!---->
|
|
36
|
+
<li class="tree-view-item" role="none">
|
|
37
|
+
<a aria-expanded="false" aria-level="1" aria-owns="undefined-children" aria-selected="true" class="tree-view-item__link" href="#" role="treeitem" tabindex="0" style="padding-left: calc(0 * var(--s-space-12) + var(--s-space-4));">
|
|
38
|
+
<span class="tree-view-item__toggle-icon">
|
|
39
|
+
<swirl-icon-chevron-right size="24"></swirl-icon-chevron-right>
|
|
40
|
+
</span>
|
|
41
|
+
<span class="tree-view-item__icon">
|
|
42
|
+
🪁
|
|
43
|
+
</span>
|
|
44
|
+
<span class="tree-view-item__label">
|
|
45
|
+
Item 1
|
|
46
|
+
</span>
|
|
47
|
+
<span class="tree-view-item__tags"></span>
|
|
48
|
+
</a>
|
|
49
|
+
<ul aria-label="Item 1" class="tree-view-item__children" id="undefined-children" role="group" style="display: none;">
|
|
50
|
+
<swirl-tree-view-item href="#" icon="🍄" id="item-2" label="Item 1.1" role="none">
|
|
51
|
+
<!---->
|
|
52
|
+
<li class="tree-view-item" role="none">
|
|
53
|
+
<a aria-level="2" aria-selected="false" class="tree-view-item__link" href="#" role="treeitem" tabindex="-1" style="padding-left: calc(1 * var(--s-space-12) + var(--s-space-4));">
|
|
54
|
+
<span class="tree-view-item__toggle-icon"></span>
|
|
55
|
+
<span class="tree-view-item__icon">
|
|
56
|
+
🍄
|
|
57
|
+
</span>
|
|
58
|
+
<span class="tree-view-item__label">
|
|
59
|
+
Item 1.1
|
|
60
|
+
</span>
|
|
61
|
+
<span class="tree-view-item__tags"></span>
|
|
62
|
+
</a>
|
|
63
|
+
<ul aria-label="Item 1.1" class="tree-view-item__children" id="undefined-children" role="group" style="display: none;"></ul>
|
|
64
|
+
</li>
|
|
65
|
+
</swirl-tree-view-item>
|
|
66
|
+
<swirl-tree-view-item href="#" icon="🌎" id="item-3" label="Item 1.2" role="none">
|
|
67
|
+
<!---->
|
|
68
|
+
<li class="tree-view-item" role="none">
|
|
69
|
+
<a aria-expanded="false" aria-level="2" aria-owns="undefined-children" aria-selected="false" class="tree-view-item__link" href="#" role="treeitem" tabindex="-1" style="padding-left: calc(1 * var(--s-space-12) + var(--s-space-4));">
|
|
70
|
+
<span class="tree-view-item__toggle-icon">
|
|
71
|
+
<swirl-icon-chevron-right size="24"></swirl-icon-chevron-right>
|
|
72
|
+
</span>
|
|
73
|
+
<span class="tree-view-item__icon">
|
|
74
|
+
🌎
|
|
75
|
+
</span>
|
|
76
|
+
<span class="tree-view-item__label">
|
|
77
|
+
Item 1.2
|
|
78
|
+
</span>
|
|
79
|
+
<span class="tree-view-item__tags"></span>
|
|
80
|
+
</a>
|
|
81
|
+
<ul aria-label="Item 1.2" class="tree-view-item__children" id="undefined-children" role="group" style="display: none;">
|
|
82
|
+
<swirl-tree-view-item href="#" icon="❄️" id="item-4" label="Item 1.2.1" role="none">
|
|
83
|
+
<!---->
|
|
84
|
+
<li class="tree-view-item" role="none">
|
|
85
|
+
<a aria-level="3" aria-selected="false" class="tree-view-item__link" href="#" role="treeitem" tabindex="-1" style="padding-left: calc(2 * var(--s-space-12) + var(--s-space-4));">
|
|
86
|
+
<span class="tree-view-item__toggle-icon"></span>
|
|
87
|
+
<span class="tree-view-item__icon">
|
|
88
|
+
❄️
|
|
89
|
+
</span>
|
|
90
|
+
<span class="tree-view-item__label">
|
|
91
|
+
Item 1.2.1
|
|
92
|
+
</span>
|
|
93
|
+
<span class="tree-view-item__tags"></span>
|
|
94
|
+
</a>
|
|
95
|
+
<ul aria-label="Item 1.2.1" class="tree-view-item__children" id="undefined-children" role="group" style="display: none;"></ul>
|
|
96
|
+
</li>
|
|
97
|
+
</swirl-tree-view-item>
|
|
98
|
+
<swirl-tree-view-item href="#" icon="🌭" id="item-5" label="Item 1.2.2" role="none">
|
|
99
|
+
<!---->
|
|
100
|
+
<li class="tree-view-item" role="none">
|
|
101
|
+
<a aria-level="3" aria-selected="false" class="tree-view-item__link" href="#" role="treeitem" tabindex="-1" style="padding-left: calc(2 * var(--s-space-12) + var(--s-space-4));">
|
|
102
|
+
<span class="tree-view-item__toggle-icon"></span>
|
|
103
|
+
<span class="tree-view-item__icon">
|
|
104
|
+
🌭
|
|
105
|
+
</span>
|
|
106
|
+
<span class="tree-view-item__label">
|
|
107
|
+
Item 1.2.2
|
|
108
|
+
</span>
|
|
109
|
+
<span class="tree-view-item__tags"></span>
|
|
110
|
+
</a>
|
|
111
|
+
<ul aria-label="Item 1.2.2" class="tree-view-item__children" id="undefined-children" role="group" style="display: none;"></ul>
|
|
112
|
+
</li>
|
|
113
|
+
</swirl-tree-view-item>
|
|
114
|
+
</ul>
|
|
115
|
+
</li>
|
|
116
|
+
</swirl-tree-view-item>
|
|
117
|
+
<swirl-tree-view-item href="#" icon="🎾" id="item-6" label="Item 1.3" role="none">
|
|
118
|
+
<!---->
|
|
119
|
+
<li class="tree-view-item" role="none">
|
|
120
|
+
<a aria-level="2" aria-selected="false" class="tree-view-item__link" href="#" role="treeitem" tabindex="-1" style="padding-left: calc(1 * var(--s-space-12) + var(--s-space-4));">
|
|
121
|
+
<span class="tree-view-item__toggle-icon"></span>
|
|
122
|
+
<span class="tree-view-item__icon">
|
|
123
|
+
🎾
|
|
124
|
+
</span>
|
|
125
|
+
<span class="tree-view-item__label">
|
|
126
|
+
Item 1.3
|
|
127
|
+
</span>
|
|
128
|
+
<span class="tree-view-item__tags"></span>
|
|
129
|
+
</a>
|
|
130
|
+
<ul aria-label="Item 1.3" class="tree-view-item__children" id="undefined-children" role="group" style="display: none;"></ul>
|
|
131
|
+
</li>
|
|
132
|
+
</swirl-tree-view-item>
|
|
133
|
+
</ul>
|
|
134
|
+
</li>
|
|
135
|
+
</swirl-tree-view-item>
|
|
136
|
+
<swirl-tree-view-item href="#" icon="🎷" id="item-7" label="Item 2" role="none">
|
|
137
|
+
<!---->
|
|
138
|
+
<li class="tree-view-item tree-view-item--has-tags" role="none">
|
|
139
|
+
<a aria-level="1" aria-selected="false" class="tree-view-item__link" href="#" role="treeitem" tabindex="-1" style="padding-left: calc(0 * var(--s-space-12) + var(--s-space-4));">
|
|
140
|
+
<span class="tree-view-item__toggle-icon"></span>
|
|
141
|
+
<span class="tree-view-item__icon">
|
|
142
|
+
🎷
|
|
143
|
+
</span>
|
|
144
|
+
<span class="tree-view-item__label">
|
|
145
|
+
Item 2
|
|
146
|
+
</span>
|
|
147
|
+
<span class="tree-view-item__tags">
|
|
148
|
+
<swirl-tag bordered="" id="item-2" label="Draft" size="s" slot="tags"></swirl-tag>
|
|
149
|
+
</span>
|
|
150
|
+
</a>
|
|
151
|
+
<ul aria-label="Item 2" class="tree-view-item__children" id="undefined-children" role="group" style="display: none;">
|
|
152
|
+
</ul>
|
|
153
|
+
</li>
|
|
154
|
+
</swirl-tree-view-item>
|
|
155
|
+
<swirl-tree-view-item href="#" icon="🎮" id="item-8" label="Item 3" role="none">
|
|
156
|
+
<!---->
|
|
157
|
+
<li class="tree-view-item" role="none">
|
|
158
|
+
<a aria-expanded="false" aria-level="1" aria-owns="undefined-children" aria-selected="false" class="tree-view-item__link" href="#" role="treeitem" tabindex="-1" style="padding-left: calc(0 * var(--s-space-12) + var(--s-space-4));">
|
|
159
|
+
<span class="tree-view-item__toggle-icon">
|
|
160
|
+
<swirl-icon-chevron-right size="24"></swirl-icon-chevron-right>
|
|
161
|
+
</span>
|
|
162
|
+
<span class="tree-view-item__icon">
|
|
163
|
+
🎮
|
|
164
|
+
</span>
|
|
165
|
+
<span class="tree-view-item__label">
|
|
166
|
+
Item 3
|
|
167
|
+
</span>
|
|
168
|
+
<span class="tree-view-item__tags"></span>
|
|
169
|
+
</a>
|
|
170
|
+
<ul aria-label="Item 3" class="tree-view-item__children" id="undefined-children" role="group" style="display: none;">
|
|
171
|
+
<swirl-tree-view-item href="#" icon="💈" id="item-9" label="Item 3.1" role="none">
|
|
172
|
+
<!---->
|
|
173
|
+
<li class="tree-view-item" role="none">
|
|
174
|
+
<a aria-level="2" aria-selected="false" class="tree-view-item__link" href="#" role="treeitem" tabindex="-1" style="padding-left: calc(1 * var(--s-space-12) + var(--s-space-4));">
|
|
175
|
+
<span class="tree-view-item__toggle-icon"></span>
|
|
176
|
+
<span class="tree-view-item__icon">
|
|
177
|
+
💈
|
|
178
|
+
</span>
|
|
179
|
+
<span class="tree-view-item__label">
|
|
180
|
+
Item 3.1
|
|
181
|
+
</span>
|
|
182
|
+
<span class="tree-view-item__tags"></span>
|
|
183
|
+
</a>
|
|
184
|
+
<ul aria-label="Item 3.1" class="tree-view-item__children" id="undefined-children" role="group" style="display: none;"></ul>
|
|
185
|
+
</li>
|
|
186
|
+
</swirl-tree-view-item>
|
|
187
|
+
</ul>
|
|
188
|
+
</li>
|
|
189
|
+
</swirl-tree-view-item>
|
|
190
|
+
</swirl-tree-view>
|
|
191
|
+
`);
|
|
192
|
+
});
|
|
193
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { generateStoryElement } from "../../utils";
|
|
2
|
+
import Docs from "./swirl-tree-view.mdx";
|
|
3
|
+
export default {
|
|
4
|
+
component: "swirl-tree-view",
|
|
5
|
+
tags: ["autodocs"],
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
page: Docs,
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
title: "Components/SwirlTreeView",
|
|
12
|
+
};
|
|
13
|
+
const Template = (args) => {
|
|
14
|
+
const element = generateStoryElement("swirl-tree-view", args);
|
|
15
|
+
element.innerHTML = `
|
|
16
|
+
<swirl-tree-view-item href="#" icon="🪁" item-id="item-1" label="Item 1">
|
|
17
|
+
<swirl-tree-view-item href="#" icon="🍄" item-id="item-2" label="Item 1.1"></swirl-tree-view-item>
|
|
18
|
+
<swirl-tree-view-item href="#" icon="🌎" item-id="item-3" label="Item 1.2">
|
|
19
|
+
<swirl-tree-view-item href="#" icon="❄️" item-id="item-4" label="Item 1.2.1"></swirl-tree-view-item>
|
|
20
|
+
<swirl-tree-view-item href="#" icon="🌭" item-id="item-5" label="Item 1.2.2"></swirl-tree-view-item>
|
|
21
|
+
</swirl-tree-view-item>
|
|
22
|
+
<swirl-tree-view-item href="#" icon="🎾" item-id="item-6" label="Item 1.3"></swirl-tree-view-item>
|
|
23
|
+
</swirl-tree-view-item>
|
|
24
|
+
<swirl-tree-view-item active href="#" icon="🎷" item-id="item-7" label="Item 2">
|
|
25
|
+
<swirl-tag bordered item-id="item-2" label="Draft" size="s" slot="tags"></swirl-tag>
|
|
26
|
+
</swirl-tree-view-item>
|
|
27
|
+
<swirl-tree-view-item href="#" icon="file" item-id="item-8" label="Item 3">
|
|
28
|
+
<swirl-tree-view-item href="#" icon="💈" item-id="item-9" label="Item 3.1"></swirl-tree-view-item>
|
|
29
|
+
</swirl-tree-view-item>
|
|
30
|
+
`;
|
|
31
|
+
return element;
|
|
32
|
+
};
|
|
33
|
+
export const SwirlTreeView = Template.bind({});
|
|
34
|
+
SwirlTreeView.args = {
|
|
35
|
+
label: "Tree view",
|
|
36
|
+
};
|