@getflip/swirl-components 0.1.0 → 0.2.0
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/dist/cjs/flip-action-list-item.cjs.entry.js +1 -1
- package/dist/cjs/flip-action-list-section.cjs.entry.js +1 -1
- package/dist/cjs/flip-action-list.cjs.entry.js +1 -1
- package/dist/cjs/flip-avatar-group.cjs.entry.js +2 -2
- package/dist/cjs/flip-avatar.cjs.entry.js +1 -1
- package/dist/cjs/flip-badge.cjs.entry.js +2 -2
- package/dist/cjs/flip-banner.cjs.entry.js +1 -1
- package/dist/cjs/flip-button-group.cjs.entry.js +24 -0
- package/dist/{esm/flip-button_2.entry.js → cjs/flip-button.cjs.entry.js} +10 -23
- package/dist/cjs/flip-checkbox.cjs.entry.js +3 -2
- package/dist/cjs/flip-chip.cjs.entry.js +1 -1
- package/dist/cjs/flip-description-list-item.cjs.entry.js +1 -1
- package/dist/cjs/flip-description-list.cjs.entry.js +1 -1
- package/dist/cjs/flip-dialog.cjs.entry.js +1 -1
- package/dist/cjs/flip-file-uploader.cjs.entry.js +49 -0
- package/dist/cjs/flip-icon-add-photo.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-add.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-admin-panel-settings.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-arrow-back.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-arrow-forward.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-arrow-right-small.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-attachment.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-cancel_2.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-chat-bubble.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-check-circle.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-check-small.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-check-strong.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-check.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-chevron-left.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-chevron-right.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-close-small.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-close.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-cloud-upload.cjs.entry.js +20 -0
- package/dist/cjs/flip-icon-comment.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-copy.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-date-range.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-delete.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-description.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-download.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-edit.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-emoji-mood.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-emoji-satisfied.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-error.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-expand-less.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-expand-more.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-file.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-folder-shared.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-group-assign.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-groups-custom.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-groups.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-image.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-info.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-inventory.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-like.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-link.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-lock.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-logout.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-mail.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-manage-accounts.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-mention.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-message.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-more-horizontal.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-more-vertikal.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-notifications-active.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-notifications-off.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-notifications.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-people-alt.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-person-off.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-person.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-phone.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-poll.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-recieved.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-search-strong.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-send.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-settings.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-time-filled.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-time-outlined.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-today.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-user-assign.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-video-camera.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-visibility-off.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-visibility.cjs.entry.js +1 -1
- package/dist/cjs/flip-icon-warning.cjs.entry.js +1 -1
- package/dist/cjs/{flip-spinner.cjs.entry.js → flip-inline-error_2.cjs.entry.js} +17 -1
- package/dist/cjs/flip-link.cjs.entry.js +1 -1
- package/dist/cjs/flip-popover.cjs.entry.js +6 -1155
- package/dist/cjs/flip-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/flip-radio.cjs.entry.js +1 -1
- package/dist/cjs/flip-resource-list-file-item.cjs.entry.js +30 -0
- package/dist/cjs/flip-resource-list-item.cjs.entry.js +73 -0
- package/dist/cjs/flip-resource-list.cjs.entry.js +67 -0
- package/dist/cjs/flip-search.cjs.entry.js +1 -1
- package/dist/cjs/flip-stack.cjs.entry.js +1 -1
- package/dist/cjs/flip-switch.cjs.entry.js +1 -1
- package/dist/cjs/flip-tab.cjs.entry.js +21 -0
- package/dist/cjs/flip-tabs.cjs.entry.js +124 -0
- package/dist/cjs/flip-tag.cjs.entry.js +1 -1
- package/dist/cjs/flip-theme-provider.cjs.entry.js +1 -1
- package/dist/cjs/flip-thumbnail.cjs.entry.js +1 -1
- package/dist/cjs/flip-toast-provider.cjs.entry.js +1 -1
- package/dist/cjs/flip-toast.cjs.entry.js +1 -1
- package/dist/cjs/flip-tooltip.cjs.entry.js +22 -14
- package/dist/cjs/flip-visually-hidden.cjs.entry.js +1 -1
- package/dist/cjs/floating-ui.dom.esm-75453e4e.js +1228 -0
- package/dist/cjs/{index-37fbfe64.js → index-bd89db61.js} +3 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/swirl-components.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +7 -0
- package/dist/collection/components/flip-avatar-group/flip-avatar-group.css +2 -2
- package/dist/collection/components/flip-badge/flip-badge.css +1 -1
- package/dist/collection/components/flip-button/flip-button.js +18 -1
- package/dist/collection/components/flip-checkbox/flip-checkbox.js +3 -2
- package/dist/collection/components/flip-file-uploader/flip-file-uploader.css +86 -0
- package/dist/collection/components/flip-file-uploader/flip-file-uploader.js +285 -0
- package/dist/collection/components/flip-file-uploader/flip-file-uploader.stories.js +23 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-cloud-upload.js +49 -0
- package/dist/collection/components/flip-inline-error/flip-inline-error.css +1 -1
- package/dist/collection/components/flip-popover/flip-popover.js +1 -1
- package/dist/collection/components/flip-resource-list/flip-resource-list.css +8 -0
- package/dist/collection/components/flip-resource-list/flip-resource-list.js +85 -0
- package/dist/collection/components/flip-resource-list/flip-resource-list.stories.js +36 -0
- package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.css +89 -0
- package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.js +180 -0
- package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.stories.js +35 -0
- package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.css +195 -0
- package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.js +303 -0
- package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.stories.js +64 -0
- package/dist/collection/components/flip-tab/flip-tab.css +18 -0
- package/dist/collection/components/flip-tab/flip-tab.js +71 -0
- package/dist/collection/components/flip-tab/flip-tab.stories.js +22 -0
- package/dist/collection/components/flip-tabs/flip-tabs.css +94 -0
- package/dist/collection/components/flip-tabs/flip-tabs.js +220 -0
- package/dist/collection/components/flip-tabs/flip-tabs.stories.js +25 -0
- package/dist/collection/components/flip-tooltip/flip-tooltip.css +20 -0
- package/dist/collection/components/flip-tooltip/flip-tooltip.js +20 -10
- package/dist/components/flip-avatar-group.js +1 -1
- package/dist/components/flip-badge.js +1 -1
- package/dist/components/flip-button2.js +2 -1
- package/dist/components/flip-checkbox.js +2 -1
- package/dist/components/flip-file-uploader.d.ts +11 -0
- package/dist/components/flip-file-uploader.js +88 -0
- package/dist/components/flip-icon-cloud-upload.d.ts +11 -0
- package/dist/components/flip-icon-cloud-upload.js +6 -0
- package/dist/components/flip-icon-cloud-upload2.js +34 -0
- package/dist/components/flip-inline-error.js +1 -42
- package/dist/components/flip-inline-error2.js +44 -0
- package/dist/components/flip-popover.js +2 -1151
- package/dist/components/flip-resource-list-file-item.d.ts +11 -0
- package/dist/components/flip-resource-list-file-item.js +83 -0
- package/dist/components/flip-resource-list-item.d.ts +11 -0
- package/dist/components/flip-resource-list-item.js +113 -0
- package/dist/components/flip-resource-list.d.ts +11 -0
- package/dist/components/flip-resource-list.js +90 -0
- package/dist/components/flip-spinner.js +1 -41
- package/dist/{esm/flip-spinner.entry.js → components/flip-spinner2.js} +33 -8
- package/dist/components/flip-tab.d.ts +11 -0
- package/dist/components/flip-tab.js +40 -0
- package/dist/components/flip-tabs.d.ts +11 -0
- package/dist/components/flip-tabs.js +144 -0
- package/dist/components/flip-tooltip.js +21 -13
- package/dist/components/floating-ui.dom.esm.js +1222 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.js +7 -0
- package/dist/esm/flip-action-list-item.entry.js +1 -1
- package/dist/esm/flip-action-list-section.entry.js +1 -1
- package/dist/esm/flip-action-list.entry.js +1 -1
- package/dist/esm/flip-avatar-group.entry.js +2 -2
- package/dist/esm/flip-avatar.entry.js +1 -1
- package/dist/esm/flip-badge.entry.js +2 -2
- package/dist/esm/flip-banner.entry.js +1 -1
- package/dist/esm/flip-button-group.entry.js +20 -0
- package/dist/{cjs/flip-button_2.cjs.entry.js → esm/flip-button.entry.js} +6 -28
- package/dist/esm/flip-checkbox.entry.js +3 -2
- package/dist/esm/flip-chip.entry.js +1 -1
- package/dist/esm/flip-description-list-item.entry.js +1 -1
- package/dist/esm/flip-description-list.entry.js +1 -1
- package/dist/esm/flip-dialog.entry.js +1 -1
- package/dist/esm/flip-file-uploader.entry.js +45 -0
- package/dist/esm/flip-icon-add-photo.entry.js +1 -1
- package/dist/esm/flip-icon-add.entry.js +1 -1
- package/dist/esm/flip-icon-admin-panel-settings.entry.js +1 -1
- package/dist/esm/flip-icon-arrow-back.entry.js +1 -1
- package/dist/esm/flip-icon-arrow-forward.entry.js +1 -1
- package/dist/esm/flip-icon-arrow-right-small.entry.js +1 -1
- package/dist/esm/flip-icon-attachment.entry.js +1 -1
- package/dist/esm/flip-icon-cancel_2.entry.js +1 -1
- package/dist/esm/flip-icon-chat-bubble.entry.js +1 -1
- package/dist/esm/flip-icon-check-circle.entry.js +1 -1
- package/dist/esm/flip-icon-check-small.entry.js +1 -1
- package/dist/esm/flip-icon-check-strong.entry.js +1 -1
- package/dist/esm/flip-icon-check.entry.js +1 -1
- package/dist/esm/flip-icon-chevron-left.entry.js +1 -1
- package/dist/esm/flip-icon-chevron-right.entry.js +1 -1
- package/dist/esm/flip-icon-close-small.entry.js +1 -1
- package/dist/esm/flip-icon-close.entry.js +1 -1
- package/dist/esm/flip-icon-cloud-upload.entry.js +16 -0
- package/dist/esm/flip-icon-comment.entry.js +1 -1
- package/dist/esm/flip-icon-copy.entry.js +1 -1
- package/dist/esm/flip-icon-date-range.entry.js +1 -1
- package/dist/esm/flip-icon-delete.entry.js +1 -1
- package/dist/esm/flip-icon-description.entry.js +1 -1
- package/dist/esm/flip-icon-download.entry.js +1 -1
- package/dist/esm/flip-icon-edit.entry.js +1 -1
- package/dist/esm/flip-icon-emoji-mood.entry.js +1 -1
- package/dist/esm/flip-icon-emoji-satisfied.entry.js +1 -1
- package/dist/esm/flip-icon-error.entry.js +1 -1
- package/dist/esm/flip-icon-expand-less.entry.js +1 -1
- package/dist/esm/flip-icon-expand-more.entry.js +1 -1
- package/dist/esm/flip-icon-file.entry.js +1 -1
- package/dist/esm/flip-icon-folder-shared.entry.js +1 -1
- package/dist/esm/flip-icon-group-assign.entry.js +1 -1
- package/dist/esm/flip-icon-groups-custom.entry.js +1 -1
- package/dist/esm/flip-icon-groups.entry.js +1 -1
- package/dist/esm/flip-icon-image.entry.js +1 -1
- package/dist/esm/flip-icon-info.entry.js +1 -1
- package/dist/esm/flip-icon-inventory.entry.js +1 -1
- package/dist/esm/flip-icon-like.entry.js +1 -1
- package/dist/esm/flip-icon-link.entry.js +1 -1
- package/dist/esm/flip-icon-lock.entry.js +1 -1
- package/dist/esm/flip-icon-logout.entry.js +1 -1
- package/dist/esm/flip-icon-mail.entry.js +1 -1
- package/dist/esm/flip-icon-manage-accounts.entry.js +1 -1
- package/dist/esm/flip-icon-mention.entry.js +1 -1
- package/dist/esm/flip-icon-message.entry.js +1 -1
- package/dist/esm/flip-icon-more-horizontal.entry.js +1 -1
- package/dist/esm/flip-icon-more-vertikal.entry.js +1 -1
- package/dist/esm/flip-icon-notifications-active.entry.js +1 -1
- package/dist/esm/flip-icon-notifications-off.entry.js +1 -1
- package/dist/esm/flip-icon-notifications.entry.js +1 -1
- package/dist/esm/flip-icon-people-alt.entry.js +1 -1
- package/dist/esm/flip-icon-person-off.entry.js +1 -1
- package/dist/esm/flip-icon-person.entry.js +1 -1
- package/dist/esm/flip-icon-phone.entry.js +1 -1
- package/dist/esm/flip-icon-poll.entry.js +1 -1
- package/dist/esm/flip-icon-recieved.entry.js +1 -1
- package/dist/esm/flip-icon-search-strong.entry.js +1 -1
- package/dist/esm/flip-icon-send.entry.js +1 -1
- package/dist/esm/flip-icon-settings.entry.js +1 -1
- package/dist/esm/flip-icon-time-filled.entry.js +1 -1
- package/dist/esm/flip-icon-time-outlined.entry.js +1 -1
- package/dist/esm/flip-icon-today.entry.js +1 -1
- package/dist/esm/flip-icon-user-assign.entry.js +1 -1
- package/dist/esm/flip-icon-video-camera.entry.js +1 -1
- package/dist/esm/flip-icon-visibility-off.entry.js +1 -1
- package/dist/esm/flip-icon-visibility.entry.js +1 -1
- package/dist/esm/flip-icon-warning.entry.js +1 -1
- package/dist/esm/flip-inline-error_2.entry.js +33 -0
- package/dist/esm/flip-link.entry.js +1 -1
- package/dist/esm/flip-popover.entry.js +3 -1152
- package/dist/esm/flip-radio-group.entry.js +1 -1
- package/dist/esm/flip-radio.entry.js +1 -1
- package/dist/esm/flip-resource-list-file-item.entry.js +26 -0
- package/dist/esm/flip-resource-list-item.entry.js +69 -0
- package/dist/esm/flip-resource-list.entry.js +63 -0
- package/dist/esm/flip-search.entry.js +1 -1
- package/dist/esm/flip-stack.entry.js +1 -1
- package/dist/esm/flip-switch.entry.js +1 -1
- package/dist/esm/flip-tab.entry.js +17 -0
- package/dist/esm/flip-tabs.entry.js +120 -0
- package/dist/esm/flip-tag.entry.js +1 -1
- package/dist/esm/flip-theme-provider.entry.js +1 -1
- package/dist/esm/flip-thumbnail.entry.js +1 -1
- package/dist/esm/flip-toast-provider.entry.js +1 -1
- package/dist/esm/flip-toast.entry.js +1 -1
- package/dist/esm/flip-tooltip.entry.js +22 -14
- package/dist/esm/flip-visually-hidden.entry.js +1 -1
- package/dist/esm/floating-ui.dom.esm-1a4e8b8a.js +1222 -0
- package/dist/esm/{index-36517fab.js → index-64709274.js} +3 -0
- package/dist/esm/loader.js +2 -2
- package/dist/esm/swirl-components.js +2 -2
- package/dist/swirl-components/{p-adbcf0ae.entry.js → p-0b197bc2.entry.js} +1 -1
- package/dist/swirl-components/{p-4f3d8490.entry.js → p-0bd72823.entry.js} +1 -1
- package/dist/swirl-components/{p-e1554c48.entry.js → p-0f72be83.entry.js} +1 -1
- package/dist/swirl-components/p-0fd19b1e.entry.js +1 -0
- package/dist/swirl-components/{p-432dd5f1.entry.js → p-118f9dbc.entry.js} +1 -1
- package/dist/swirl-components/p-14404622.entry.js +1 -0
- package/dist/swirl-components/p-14a71662.entry.js +1 -0
- package/dist/swirl-components/{p-5a13d6fe.entry.js → p-150885c6.entry.js} +1 -1
- package/dist/swirl-components/p-1b14d1f8.entry.js +1 -0
- package/dist/swirl-components/{p-b64b6dc5.entry.js → p-294bc0f5.entry.js} +1 -1
- package/dist/swirl-components/{p-b4540264.entry.js → p-29f4348a.entry.js} +1 -1
- package/dist/swirl-components/{p-7a6b480c.entry.js → p-2b183dbd.entry.js} +1 -1
- package/dist/swirl-components/p-2e39e57a.entry.js +1 -0
- package/dist/swirl-components/{p-63e5b5d9.entry.js → p-2fada438.entry.js} +1 -1
- package/dist/swirl-components/{p-ff0868ae.entry.js → p-2fc324d2.entry.js} +1 -1
- package/dist/swirl-components/{p-f6e77552.entry.js → p-3115dcce.entry.js} +1 -1
- package/dist/swirl-components/{p-a1946e3b.entry.js → p-314da0b6.entry.js} +1 -1
- package/dist/swirl-components/p-3203d26c.entry.js +1 -0
- package/dist/swirl-components/{p-ad434623.entry.js → p-33eeffa4.entry.js} +1 -1
- package/dist/swirl-components/{p-1419666f.entry.js → p-340a8594.entry.js} +1 -1
- package/dist/swirl-components/p-3a78c66a.entry.js +1 -0
- package/dist/swirl-components/{p-6b840e3d.entry.js → p-3fd6dfcc.entry.js} +1 -1
- package/dist/swirl-components/{p-e384bd2c.entry.js → p-41b352e3.entry.js} +1 -1
- package/dist/swirl-components/{p-3234f836.entry.js → p-428b8a65.entry.js} +1 -1
- package/dist/swirl-components/{p-cfef8bdb.entry.js → p-45a0619d.entry.js} +1 -1
- package/dist/swirl-components/{p-d1c899ad.entry.js → p-46db6bb6.entry.js} +1 -1
- package/dist/swirl-components/{p-1429e47a.entry.js → p-482528d9.entry.js} +1 -1
- package/dist/swirl-components/{p-213191cb.entry.js → p-4c846d53.entry.js} +1 -1
- package/dist/swirl-components/{p-1a9f0bc1.entry.js → p-4cd180da.entry.js} +1 -1
- package/dist/swirl-components/{p-17073db0.entry.js → p-4d5bc933.entry.js} +1 -1
- package/dist/swirl-components/{p-e0513b73.entry.js → p-4eda9d6d.entry.js} +1 -1
- package/dist/swirl-components/{p-102db76d.entry.js → p-4f209111.entry.js} +1 -1
- package/dist/swirl-components/{p-e65d2d81.entry.js → p-562db126.entry.js} +1 -1
- package/dist/swirl-components/p-5757b517.entry.js +1 -0
- package/dist/swirl-components/{p-94d933b3.entry.js → p-589d6d22.entry.js} +1 -1
- package/dist/swirl-components/{p-c5200740.entry.js → p-5cc28450.entry.js} +1 -1
- package/dist/swirl-components/{p-b16d4978.entry.js → p-6384f8ba.entry.js} +1 -1
- package/dist/swirl-components/{p-545caf4a.entry.js → p-638b96a3.entry.js} +1 -1
- package/dist/swirl-components/{p-468d0e9b.entry.js → p-639fe827.entry.js} +1 -1
- package/dist/swirl-components/{p-0d619d62.entry.js → p-65231ba1.entry.js} +1 -1
- package/dist/swirl-components/{p-5d27a69e.entry.js → p-6966c97a.entry.js} +1 -1
- package/dist/swirl-components/{p-1609dbf3.entry.js → p-69b15b39.entry.js} +1 -1
- package/dist/swirl-components/p-6ab4b7cf.entry.js +1 -0
- package/dist/swirl-components/{p-56bdede5.entry.js → p-6c2b7a96.entry.js} +1 -1
- package/dist/swirl-components/{p-cc50d7a7.entry.js → p-70c5764b.entry.js} +1 -1
- package/dist/swirl-components/{p-70b255b3.entry.js → p-7272b763.entry.js} +1 -1
- package/dist/swirl-components/{p-f45709c0.entry.js → p-73ee554b.entry.js} +1 -1
- package/dist/swirl-components/p-7548473c.js +2 -0
- package/dist/swirl-components/{p-a71261bc.entry.js → p-75cf42d4.entry.js} +1 -1
- package/dist/swirl-components/{p-9c12d1eb.entry.js → p-7740f11b.entry.js} +1 -1
- package/dist/swirl-components/{p-fb19d8b9.entry.js → p-77cf9f30.entry.js} +1 -1
- package/dist/swirl-components/{p-0fa4c4cf.entry.js → p-84197db5.entry.js} +1 -1
- package/dist/swirl-components/p-88d8a3a9.entry.js +1 -0
- package/dist/swirl-components/{p-54b9e1b5.entry.js → p-8949fe7a.entry.js} +1 -1
- package/dist/swirl-components/{p-47a9a9cb.entry.js → p-8f1f9e78.entry.js} +1 -1
- package/dist/swirl-components/p-8fa700a5.entry.js +1 -0
- package/dist/swirl-components/{p-db229451.entry.js → p-926857f1.entry.js} +1 -1
- package/dist/swirl-components/{p-b624ff23.entry.js → p-97257780.entry.js} +1 -1
- package/dist/swirl-components/{p-0fa6b98f.entry.js → p-9b154fa3.entry.js} +1 -1
- package/dist/swirl-components/{p-453db2cf.entry.js → p-9c9da0a4.entry.js} +1 -1
- package/dist/swirl-components/{p-f8273972.entry.js → p-a133fb9d.entry.js} +1 -1
- package/dist/swirl-components/{p-9d07fb5a.entry.js → p-a362f0f9.entry.js} +1 -1
- package/dist/swirl-components/p-a6054ed9.entry.js +1 -0
- package/dist/swirl-components/p-a81417d9.entry.js +1 -0
- package/dist/swirl-components/{p-a6fb93df.entry.js → p-a8f3668a.entry.js} +1 -1
- package/dist/swirl-components/{p-1c8b77fe.entry.js → p-a94f114d.entry.js} +1 -1
- package/dist/swirl-components/{p-6a6de48d.entry.js → p-a98d70ca.entry.js} +1 -1
- package/dist/swirl-components/{p-126ead5f.entry.js → p-aaad68e8.entry.js} +1 -1
- package/dist/swirl-components/{p-a605b3d1.entry.js → p-b117edfa.entry.js} +1 -1
- package/dist/swirl-components/{p-01857435.entry.js → p-b3a71d9f.entry.js} +1 -1
- package/dist/swirl-components/{p-ae504b3e.entry.js → p-b6790219.entry.js} +1 -1
- package/dist/swirl-components/{p-24d112d7.entry.js → p-bb2d617e.entry.js} +1 -1
- package/dist/swirl-components/{p-0a9f3ada.entry.js → p-be40f14f.entry.js} +1 -1
- package/dist/swirl-components/{p-1bd3e7c0.entry.js → p-c3b49fae.entry.js} +1 -1
- package/dist/swirl-components/{p-f1774da0.entry.js → p-c69ba478.entry.js} +1 -1
- package/dist/swirl-components/{p-1c2e8e09.entry.js → p-c6d26cc3.entry.js} +1 -1
- package/dist/swirl-components/{p-fa7cc450.entry.js → p-c7427e54.entry.js} +1 -1
- package/dist/swirl-components/{p-cf8be27a.entry.js → p-c76f568b.entry.js} +1 -1
- package/dist/swirl-components/{p-a203be4a.entry.js → p-c8ef7c7b.entry.js} +1 -1
- package/dist/swirl-components/{p-6b957569.entry.js → p-c9281fc5.entry.js} +1 -1
- package/dist/swirl-components/p-cb622b3f.entry.js +1 -0
- package/dist/swirl-components/{p-0de885c6.entry.js → p-d34657bb.entry.js} +1 -1
- package/dist/swirl-components/{p-db902aec.entry.js → p-d353d8a6.entry.js} +1 -1
- package/dist/swirl-components/{p-55aaf1d3.entry.js → p-d437a017.entry.js} +1 -1
- package/dist/swirl-components/{p-67deba9e.entry.js → p-daf021ff.entry.js} +1 -1
- package/dist/swirl-components/p-db407fe2.entry.js +1 -0
- package/dist/swirl-components/{p-30011711.entry.js → p-df779bfc.entry.js} +1 -1
- package/dist/swirl-components/{p-95bd2274.entry.js → p-e04eac13.entry.js} +1 -1
- package/dist/swirl-components/{p-e89c7891.entry.js → p-e3c228f6.entry.js} +1 -1
- package/dist/swirl-components/{p-32a5e2a7.entry.js → p-e4a8a549.entry.js} +1 -1
- package/dist/swirl-components/p-e8bb09e8.js +1 -0
- package/dist/swirl-components/{p-e4df2658.entry.js → p-e8f32c6d.entry.js} +1 -1
- package/dist/swirl-components/{p-37d96123.entry.js → p-ec59a844.entry.js} +1 -1
- package/dist/swirl-components/{p-1126e372.entry.js → p-ece8d0a9.entry.js} +1 -1
- package/dist/swirl-components/{p-6a9a0e08.entry.js → p-f2bd932c.entry.js} +1 -1
- package/dist/swirl-components/{p-46f638cf.entry.js → p-f5bd49b1.entry.js} +1 -1
- package/dist/swirl-components/{p-b5cd4041.entry.js → p-f6a1e319.entry.js} +1 -1
- package/dist/swirl-components/{p-d41e3a37.entry.js → p-f8eaba53.entry.js} +1 -1
- package/dist/swirl-components/{p-437842a2.entry.js → p-f9719283.entry.js} +1 -1
- package/dist/swirl-components/{p-f59098f7.entry.js → p-f9a4a60c.entry.js} +1 -1
- package/dist/swirl-components/{p-8bf1ad8a.entry.js → p-f9e967e7.entry.js} +1 -1
- package/dist/swirl-components/{p-828cc4a3.entry.js → p-fa626f0f.entry.js} +1 -1
- package/dist/swirl-components/{p-8423a1b5.entry.js → p-fca2a909.entry.js} +1 -1
- package/dist/swirl-components/{p-c35a6610.entry.js → p-fcd09fdc.entry.js} +1 -1
- package/dist/swirl-components/{p-67aaf094.entry.js → p-ff23c876.entry.js} +1 -1
- package/dist/swirl-components/swirl-components.css +2 -2
- package/dist/swirl-components/swirl-components.esm.js +1 -1
- package/dist/types/components/flip-button/flip-button.d.ts +1 -0
- package/dist/types/components/flip-file-uploader/flip-file-uploader.d.ts +24 -0
- package/dist/types/components/flip-file-uploader/flip-file-uploader.stories.d.ts +13 -0
- package/dist/types/components/flip-icon/icons/flip-icon-cloud-upload.d.ts +5 -0
- package/dist/types/components/flip-resource-list/flip-resource-list.d.ts +13 -0
- package/dist/types/components/flip-resource-list/flip-resource-list.stories.d.ts +13 -0
- package/dist/types/components/flip-resource-list-file-item/flip-resource-list-file-item.d.ts +12 -0
- package/dist/types/components/flip-resource-list-file-item/flip-resource-list-file-item.stories.d.ts +23 -0
- package/dist/types/components/flip-resource-list-item/flip-resource-list-item.d.ts +23 -0
- package/dist/types/components/flip-resource-list-item/flip-resource-list-item.stories.d.ts +16 -0
- package/dist/types/components/flip-tab/flip-tab.d.ts +6 -0
- package/dist/types/components/flip-tab/flip-tab.stories.d.ts +13 -0
- package/dist/types/components/flip-tabs/flip-tabs.d.ts +27 -0
- package/dist/types/components/flip-tabs/flip-tabs.stories.d.ts +13 -0
- package/dist/types/components/flip-tooltip/flip-tooltip.d.ts +2 -2
- package/dist/types/components.d.ts +196 -0
- package/dist/types/utils.d.ts +9 -0
- package/package.json +3 -4
- package/vscode-data.json +215 -0
- package/dist/cjs/flip-inline-error.cjs.entry.js +0 -23
- package/dist/esm/flip-inline-error.entry.js +0 -19
- package/dist/swirl-components/p-1853aaf0.entry.js +0 -1
- package/dist/swirl-components/p-18965b40.entry.js +0 -1
- package/dist/swirl-components/p-18a51976.entry.js +0 -1
- package/dist/swirl-components/p-3d59d365.entry.js +0 -1
- package/dist/swirl-components/p-9b4a9856.entry.js +0 -1
- package/dist/swirl-components/p-aada2b77.entry.js +0 -1
- package/dist/swirl-components/p-cac72e30.entry.js +0 -1
- package/dist/swirl-components/p-d3999b94.entry.js +0 -2
- package/dist/swirl-components/p-e12fbb2d.js +0 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface FlipResourceListFileItem extends Components.FlipResourceListFileItem, HTMLElement {}
|
|
4
|
+
export const FlipResourceListFileItem: {
|
|
5
|
+
prototype: FlipResourceListFileItem;
|
|
6
|
+
new (): FlipResourceListFileItem;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { c as classnames } from './index2.js';
|
|
3
|
+
import { d as defineCustomElement$6 } from './flip-button2.js';
|
|
4
|
+
import { d as defineCustomElement$5 } from './flip-icon-error2.js';
|
|
5
|
+
import { d as defineCustomElement$4 } from './flip-inline-error2.js';
|
|
6
|
+
import { d as defineCustomElement$3 } from './flip-spinner2.js';
|
|
7
|
+
import { d as defineCustomElement$2 } from './flip-visually-hidden2.js';
|
|
8
|
+
|
|
9
|
+
const flipResourceListFileItemCss = ":host{display:block;width:100%}:host *{box-sizing:border-box}.resource-list-file-item{position:relative;display:flex;width:100%;padding:var(--s-space-12) var(--s-space-16);align-items:center;background-color:var(--s-background-default);line-height:var(--s-line-height-base);gap:var(--s-space-12)}.resource-list-file-item:focus{background-color:var(--s-background-hovered);outline:none}.resource-list-file-item--has-control .resource-list-file-item__label-container{padding-right:calc(var(--s-space-12) + 2.5rem)}.resource-list-file-item__icon{color:var(--s-icon-highlight)}.resource-list-file-item__label-container{position:relative;display:flex;min-width:0;min-height:2.875rem;flex-grow:1;justify-content:center;flex-direction:column}.resource-list-file-item__label-container:after{position:absolute;right:0;bottom:calc(-1 * var(--s-space-12) + 0.0625rem);left:0;height:0.0625rem;background-color:var(--s-border-default);content:\"\"}.resource-list-file-item__label{overflow:hidden;font-weight:var(--s-font-weight-medium);white-space:nowrap;text-overflow:ellipsis}.resource-list-file-item__description{overflow:hidden;margin-top:var(--s-space-2);color:var(--s-text-subdued);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);white-space:nowrap;text-overflow:ellipsis}.resource-list-file-item__error-message{margin-top:var(--s-space-2)}.resource-list-file-item__remove-button{position:absolute;top:50%;right:var(--s-space-16);display:inline-flex;transform:translateY(-50%)}.resource-list-file-item__spinner{position:absolute;top:50%;right:var(--s-space-24);display:inline-flex;transform:translateY(-50%)}";
|
|
10
|
+
|
|
11
|
+
const FlipResourceListFileItem$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this.__registerHost();
|
|
15
|
+
this.__attachShadow();
|
|
16
|
+
this.remove = createEvent(this, "remove", 7);
|
|
17
|
+
this.icon = "<flip-icon-file></flip-icon-file>";
|
|
18
|
+
this.removeButtonLabel = "Remove file";
|
|
19
|
+
}
|
|
20
|
+
render() {
|
|
21
|
+
const showError = Boolean(this.errorMessage);
|
|
22
|
+
const showDescription = !showError && Boolean(this.description);
|
|
23
|
+
const showSpinner = !showError && this.loading;
|
|
24
|
+
const showRemoveButton = this.removable && !showSpinner;
|
|
25
|
+
const className = classnames("resource-list-file-item", {
|
|
26
|
+
"resource-list-file-item--has-control": showSpinner || showRemoveButton,
|
|
27
|
+
});
|
|
28
|
+
return (h(Host, { role: "row" }, h("div", { class: className, role: "gridcell" }, h("span", { class: "resource-list-file-item__icon", innerHTML: this.icon }), h("span", { class: "resource-list-file-item__label-container" }, h("span", { class: "resource-list-file-item__label", id: "label" }, this.label), showDescription && (h("span", { class: "resource-list-file-item__description" }, this.description)), showError && (h("span", { "aria-live": "polite", class: "resource-list-file-item__error-message" }, h("flip-inline-error", { message: this.errorMessage, size: "s" })))), showSpinner && (h("span", { class: "resource-list-file-item__spinner" }, h("flip-spinner", { size: "s" }))), showRemoveButton && (h("span", { class: "resource-list-file-item__remove-button" }, h("flip-button", { hideLabel: true, icon: "<flip-icon-close></flip-icon-close>", label: this.removeButtonLabel, onClick: this.remove.emit }))))));
|
|
29
|
+
}
|
|
30
|
+
static get style() { return flipResourceListFileItemCss; }
|
|
31
|
+
}, [1, "flip-resource-list-file-item", {
|
|
32
|
+
"description": [1],
|
|
33
|
+
"errorMessage": [1, "error-message"],
|
|
34
|
+
"icon": [1],
|
|
35
|
+
"label": [1],
|
|
36
|
+
"loading": [4],
|
|
37
|
+
"removable": [4],
|
|
38
|
+
"removeButtonLabel": [1, "remove-button-label"]
|
|
39
|
+
}]);
|
|
40
|
+
function defineCustomElement$1() {
|
|
41
|
+
if (typeof customElements === "undefined") {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const components = ["flip-resource-list-file-item", "flip-button", "flip-icon-error", "flip-inline-error", "flip-spinner", "flip-visually-hidden"];
|
|
45
|
+
components.forEach(tagName => { switch (tagName) {
|
|
46
|
+
case "flip-resource-list-file-item":
|
|
47
|
+
if (!customElements.get(tagName)) {
|
|
48
|
+
customElements.define(tagName, FlipResourceListFileItem$1);
|
|
49
|
+
}
|
|
50
|
+
break;
|
|
51
|
+
case "flip-button":
|
|
52
|
+
if (!customElements.get(tagName)) {
|
|
53
|
+
defineCustomElement$6();
|
|
54
|
+
}
|
|
55
|
+
break;
|
|
56
|
+
case "flip-icon-error":
|
|
57
|
+
if (!customElements.get(tagName)) {
|
|
58
|
+
defineCustomElement$5();
|
|
59
|
+
}
|
|
60
|
+
break;
|
|
61
|
+
case "flip-inline-error":
|
|
62
|
+
if (!customElements.get(tagName)) {
|
|
63
|
+
defineCustomElement$4();
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
case "flip-spinner":
|
|
67
|
+
if (!customElements.get(tagName)) {
|
|
68
|
+
defineCustomElement$3();
|
|
69
|
+
}
|
|
70
|
+
break;
|
|
71
|
+
case "flip-visually-hidden":
|
|
72
|
+
if (!customElements.get(tagName)) {
|
|
73
|
+
defineCustomElement$2();
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
76
|
+
} });
|
|
77
|
+
}
|
|
78
|
+
defineCustomElement$1();
|
|
79
|
+
|
|
80
|
+
const FlipResourceListFileItem = FlipResourceListFileItem$1;
|
|
81
|
+
const defineCustomElement = defineCustomElement$1;
|
|
82
|
+
|
|
83
|
+
export { FlipResourceListFileItem, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface FlipResourceListItem extends Components.FlipResourceListItem, HTMLElement {}
|
|
4
|
+
export const FlipResourceListItem: {
|
|
5
|
+
prototype: FlipResourceListItem;
|
|
6
|
+
new (): FlipResourceListItem;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { c as classnames } from './index2.js';
|
|
3
|
+
import { d as defineCustomElement$3 } from './flip-button2.js';
|
|
4
|
+
import { d as defineCustomElement$2 } from './flip-icon-check-strong2.js';
|
|
5
|
+
|
|
6
|
+
const flipResourceListItemCss = ":host{display:block;width:100%}:host *{box-sizing:border-box}.resource-list-item{position:relative;width:100%}.resource-list-item--checked .resource-list-item__checkbox{border-color:var(--s-icon-highlight);color:var(--s-text-on-status);background-color:var(--s-icon-highlight)}.resource-list-item--has-menu .resource-list-item__label-container{padding-right:calc(var(--s-space-16) + 2.5rem + var(--s-space-12))}@media (--from-tablet){.resource-list-item--selectable .resource-list-item__content{padding-left:calc(var(--s-space-16) + 1.5rem + var(--s-space-12))}}.resource-list-item--selectable .resource-list-item__label-container{padding-right:calc(var(--s-space-16) + 1.5rem + var(--s-space-12))}@media (--from-tablet){.resource-list-item--selectable .resource-list-item__label-container{padding-right:var(--s-space-16)}}.resource-list-item--hide-divider .resource-list-item__label-container:after{display:none}.resource-list-item__content{--flip-avatar-group-border-color:var(--s-background-default);--flip-badge-border-color:var(--s-background-default);display:flex;width:100%;padding-top:var(--s-space-12);padding-right:0;padding-bottom:var(--s-space-12);padding-left:var(--s-space-16);align-items:center;border:none;color:var(--s-text-default);background-color:var(--s-background-default);font:inherit;line-height:var(--s-line-height-base);text-align:left;text-decoration:none;cursor:pointer;gap:var(--s-space-12)}.resource-list-item__content:hover:not(:disabled){background-color:var(--s-background-hovered)}.resource-list-item__content:hover:not(:disabled) .resource-list-item__media{--flip-avatar-group-border-color:var(--s-background-hovered);--flip-badge-border-color:var(--s-background-hovered)}.resource-list-item__content:active:not(:disabled){background-color:var(--s-background-pressed)}.resource-list-item__content:active:not(:disabled) .resource-list-item__media{--flip-avatar-group-border-color:var(--s-background-pressed);--flip-badge-border-color:var(--s-background-pressed)}.resource-list-item__content:focus{background-color:var(--s-background-hovered);outline:none}.resource-list-item__content:focus .resource-list-item__media{--flip-avatar-group-border-color:var(--s-background-hovered);--flip-badge-border-color:var(--s-background-hovered)}.resource-list-item__content:disabled{color:var(--s-text-disabled);background-color:var(--s-background-default);cursor:default}.resource-list-item__content:disabled .resource-list-item__description{color:var(--s-text-disabled)}.resource-list-item__media{display:inline-flex}.resource-list-item__label-container{position:relative;display:flex;min-width:0;min-height:2.875rem;padding-right:var(--s-space-16);flex-grow:1;justify-content:center;flex-direction:column}.resource-list-item__label-container:after{position:absolute;right:0;bottom:calc(-1 * var(--s-space-12) + 0.0625rem);left:0;height:0.0625rem;background-color:var(--s-border-default);content:\"\"}.resource-list-item__label{overflow:hidden;font-weight:var(--s-font-weight-medium);white-space:nowrap;text-overflow:ellipsis}.resource-list-item__description{overflow:hidden;margin-top:var(--s-space-2);color:var(--s-text-subdued);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);white-space:nowrap;text-overflow:ellipsis}.resource-list-item__menu-trigger{position:absolute;top:50%;right:var(--s-space-16);transform:translateY(-50%)}.resource-list-item__checkbox{position:absolute;top:50%;right:var(--s-space-16);display:flex;width:1.25rem;height:1.25rem;justify-content:center;align-items:center;border:0.125rem solid var(--s-icon-default);border-radius:var(--s-border-radius-s);transform:translateY(-50%)}@media (--from-tablet){.resource-list-item__checkbox{right:auto;left:var(--s-space-16)}}.resource-list-item__checkbox-icon{display:inline-flex;width:1.0625rem;height:1.0625rem}.resource-list-item__checkbox-icon>*::part(icon){width:1.0625rem;height:1.0625rem}.resource-list-item__meta{position:absolute;top:calc(var(--s-space-12) + var(--s-space-4));right:var(--s-space-16);color:var(--s-text-subdued);font-size:var(--s-font-size-sm)}";
|
|
7
|
+
|
|
8
|
+
const FlipResourceListItem$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
this.__registerHost();
|
|
12
|
+
this.__attachShadow();
|
|
13
|
+
this.valueChange = createEvent(this, "valueChange", 7);
|
|
14
|
+
this.checked = false;
|
|
15
|
+
this.menuTriggerLabel = "Options";
|
|
16
|
+
this.onClick = () => {
|
|
17
|
+
if (!this.selectable) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
this.checked = !this.checked;
|
|
21
|
+
this.valueChange.emit(this.checked);
|
|
22
|
+
};
|
|
23
|
+
this.onMenuTriggerClick = (event) => {
|
|
24
|
+
if (this.disabled && !Boolean(this.href)) {
|
|
25
|
+
event.stopPropagation();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
componentDidLoad() {
|
|
30
|
+
this.forceAvatarProps();
|
|
31
|
+
this.forceThumbnailProps();
|
|
32
|
+
}
|
|
33
|
+
forceAvatarProps() {
|
|
34
|
+
const avatarEl = this.el.querySelector("flip-avatar");
|
|
35
|
+
if (!Boolean(avatarEl)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
avatarEl.removeAttribute("interactive");
|
|
39
|
+
avatarEl.removeAttribute("show-label");
|
|
40
|
+
avatarEl.removeAttribute("variant");
|
|
41
|
+
avatarEl.setAttribute("size", "l");
|
|
42
|
+
}
|
|
43
|
+
forceThumbnailProps() {
|
|
44
|
+
const thumbnailEl = this.el.querySelector("flip-thumbnail");
|
|
45
|
+
if (!Boolean(thumbnailEl)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
thumbnailEl.setAttribute("format", "landscape");
|
|
49
|
+
if (!["s", "m"].includes(thumbnailEl.getAttribute("size"))) {
|
|
50
|
+
thumbnailEl.setAttribute("size", "m");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
render() {
|
|
54
|
+
const Tag = Boolean(this.href) && !this.selectable ? "a" : "button";
|
|
55
|
+
const disabled = this.disabled && !Boolean(this.href);
|
|
56
|
+
const hasMenu = Boolean(this.menuTriggerId);
|
|
57
|
+
const showMenu = hasMenu && !Boolean(this.meta) && !this.selectable;
|
|
58
|
+
const showMeta = Boolean(this.meta) && !this.selectable;
|
|
59
|
+
const ariaChecked = this.selectable ? String(this.checked) : undefined;
|
|
60
|
+
const role = this.selectable ? "checkbox" : undefined;
|
|
61
|
+
const className = classnames("resource-list-item", {
|
|
62
|
+
"resource-list-item--checked": this.checked,
|
|
63
|
+
"resource-list-item--has-menu": hasMenu,
|
|
64
|
+
"resource-list-item--hide-divider": this.hideDivider,
|
|
65
|
+
"resource-list-item--selectable": this.selectable,
|
|
66
|
+
});
|
|
67
|
+
return (h(Host, { role: "row" }, h("div", { class: className, role: "gridcell" }, h(Tag, { "aria-checked": ariaChecked, "aria-disabled": disabled ? "true" : undefined, "aria-labelledby": "label", class: "resource-list-item__content", href: this.href, disabled: disabled, onClick: this.onClick, role: role, tabIndex: 0 }, Boolean(this.media) && (h("span", { class: "resource-list-item__media", innerHTML: this.media })), h("span", { class: "resource-list-item__label-container" }, h("span", { class: "resource-list-item__label", id: "label" }, this.label), this.description && (h("span", { class: "resource-list-item__description" }, this.description)))), this.selectable && (h("span", { "aria-hidden": "true", class: "resource-list-item__checkbox" }, h("span", { class: "resource-list-item__checkbox-icon" }, this.checked && (h("flip-icon-check-strong", null))))), showMeta && (h("span", { class: "resource-list-item__meta" }, this.meta)), showMenu && (h("flip-button", { "aria-disabled": disabled ? "true" : undefined, class: "resource-list-item__menu-trigger", disabled: disabled, hideLabel: true, icon: "<flip-icon-more-horizontal></flip-icon-more-horizontal>", id: this.menuTriggerId, intent: "primary", label: this.menuTriggerLabel, onClick: this.onMenuTriggerClick })))));
|
|
68
|
+
}
|
|
69
|
+
get el() { return this; }
|
|
70
|
+
static get style() { return flipResourceListItemCss; }
|
|
71
|
+
}, [1, "flip-resource-list-item", {
|
|
72
|
+
"checked": [1028],
|
|
73
|
+
"description": [1],
|
|
74
|
+
"disabled": [4],
|
|
75
|
+
"hideDivider": [4, "hide-divider"],
|
|
76
|
+
"href": [1],
|
|
77
|
+
"label": [1],
|
|
78
|
+
"media": [1],
|
|
79
|
+
"menuTriggerId": [1, "menu-trigger-id"],
|
|
80
|
+
"menuTriggerLabel": [1, "menu-trigger-label"],
|
|
81
|
+
"meta": [1],
|
|
82
|
+
"selectable": [4],
|
|
83
|
+
"value": [1]
|
|
84
|
+
}]);
|
|
85
|
+
function defineCustomElement$1() {
|
|
86
|
+
if (typeof customElements === "undefined") {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const components = ["flip-resource-list-item", "flip-button", "flip-icon-check-strong"];
|
|
90
|
+
components.forEach(tagName => { switch (tagName) {
|
|
91
|
+
case "flip-resource-list-item":
|
|
92
|
+
if (!customElements.get(tagName)) {
|
|
93
|
+
customElements.define(tagName, FlipResourceListItem$1);
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
case "flip-button":
|
|
97
|
+
if (!customElements.get(tagName)) {
|
|
98
|
+
defineCustomElement$3();
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
case "flip-icon-check-strong":
|
|
102
|
+
if (!customElements.get(tagName)) {
|
|
103
|
+
defineCustomElement$2();
|
|
104
|
+
}
|
|
105
|
+
break;
|
|
106
|
+
} });
|
|
107
|
+
}
|
|
108
|
+
defineCustomElement$1();
|
|
109
|
+
|
|
110
|
+
const FlipResourceListItem = FlipResourceListItem$1;
|
|
111
|
+
const defineCustomElement = defineCustomElement$1;
|
|
112
|
+
|
|
113
|
+
export { FlipResourceListItem, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface FlipResourceList extends Components.FlipResourceList, HTMLElement {}
|
|
4
|
+
export const FlipResourceList: {
|
|
5
|
+
prototype: FlipResourceList;
|
|
6
|
+
new (): FlipResourceList;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { d as defineCustomElement$2 } from './flip-stack2.js';
|
|
3
|
+
|
|
4
|
+
const flipResourceListCss = ":host{display:block;width:100%}:host *{box-sizing:border-box}";
|
|
5
|
+
|
|
6
|
+
const FlipResourceList$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
this.__attachShadow();
|
|
11
|
+
this.focusedIndex = 0;
|
|
12
|
+
this.onFocus = () => {
|
|
13
|
+
this.focusItemAtIndex(this.focusedIndex);
|
|
14
|
+
};
|
|
15
|
+
this.onKeyDown = (event) => {
|
|
16
|
+
if (event.key === "ArrowDown") {
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
this.focusItemAtIndex((this.focusedIndex + 1) % this.items.length);
|
|
19
|
+
}
|
|
20
|
+
else if (event.key === "ArrowUp") {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
const prevIndex = this.focusedIndex === 0 ? this.items.length - 1 : this.focusedIndex - 1;
|
|
23
|
+
this.focusItemAtIndex(prevIndex);
|
|
24
|
+
}
|
|
25
|
+
else if (event.key === "Home") {
|
|
26
|
+
event.preventDefault();
|
|
27
|
+
this.focusItemAtIndex(0);
|
|
28
|
+
}
|
|
29
|
+
else if (event.key === "End") {
|
|
30
|
+
event.preventDefault();
|
|
31
|
+
this.focusItemAtIndex(this.items.length - 1);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
componentDidLoad() {
|
|
36
|
+
this.collectItems();
|
|
37
|
+
this.removeItemsFromTabOrder();
|
|
38
|
+
}
|
|
39
|
+
collectItems() {
|
|
40
|
+
this.items = Array.from(this.el.querySelectorAll("flip-resource-list-item, flip-resource-list-file-item"));
|
|
41
|
+
}
|
|
42
|
+
removeItemsFromTabOrder() {
|
|
43
|
+
this.items.forEach((item) => {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
return (_b = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".resource-list-item__content, .resource-list-file-item")) === null || _b === void 0 ? void 0 : _b.setAttribute("tabIndex", "-1");
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
focusItemAtIndex(index) {
|
|
49
|
+
this.removeItemsFromTabOrder();
|
|
50
|
+
const item = this.items[index];
|
|
51
|
+
if (!Boolean(item)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const interactiveElement = item.shadowRoot.querySelector(".resource-list-item__content, .resource-list-file-item");
|
|
55
|
+
interactiveElement.setAttribute("tabIndex", "0");
|
|
56
|
+
interactiveElement.focus();
|
|
57
|
+
this.focusedIndex = index;
|
|
58
|
+
}
|
|
59
|
+
render() {
|
|
60
|
+
return (h(Host, { onKeyDown: this.onKeyDown }, h("flip-stack", { "aria-label": this.label, onFocus: this.onFocus, role: "grid", tabIndex: 0 }, h("slot", null))));
|
|
61
|
+
}
|
|
62
|
+
get el() { return this; }
|
|
63
|
+
static get style() { return flipResourceListCss; }
|
|
64
|
+
}, [1, "flip-resource-list", {
|
|
65
|
+
"label": [1]
|
|
66
|
+
}]);
|
|
67
|
+
function defineCustomElement$1() {
|
|
68
|
+
if (typeof customElements === "undefined") {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const components = ["flip-resource-list", "flip-stack"];
|
|
72
|
+
components.forEach(tagName => { switch (tagName) {
|
|
73
|
+
case "flip-resource-list":
|
|
74
|
+
if (!customElements.get(tagName)) {
|
|
75
|
+
customElements.define(tagName, FlipResourceList$1);
|
|
76
|
+
}
|
|
77
|
+
break;
|
|
78
|
+
case "flip-stack":
|
|
79
|
+
if (!customElements.get(tagName)) {
|
|
80
|
+
defineCustomElement$2();
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
} });
|
|
84
|
+
}
|
|
85
|
+
defineCustomElement$1();
|
|
86
|
+
|
|
87
|
+
const FlipResourceList = FlipResourceList$1;
|
|
88
|
+
const defineCustomElement = defineCustomElement$1;
|
|
89
|
+
|
|
90
|
+
export { FlipResourceList, defineCustomElement };
|
|
@@ -1,44 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as classnames } from './index2.js';
|
|
3
|
-
import { d as defineCustomElement$2 } from './flip-visually-hidden2.js';
|
|
4
|
-
|
|
5
|
-
const flipSpinnerCss = ":host{display:inline-flex}:host *{box-sizing:border-box}.spinner{position:relative;display:inline-flex;overflow:hidden;width:2.25rem;height:2.25rem}.spinner--size-s{width:1.5rem;height:1.5rem}.spinner--size-s .spinner__circle{stroke-width:0.1875rem}.spinner__indicator{position:absolute;inset:0;width:100%;height:100%;transform-origin:center center;-webkit-animation:spinner-rotate 2s linear infinite;animation:spinner-rotate 2s linear infinite}.spinner__background{stroke:var(--s-border-default);stroke-linecap:round}.spinner__circle{-webkit-animation:spinner-dash 1.5s ease-in-out infinite;animation:spinner-dash 1.5s ease-in-out infinite;stroke:var(--s-interactive-primary-default);stroke-dasharray:1, 200;stroke-dashoffset:0;stroke-linecap:round}@-webkit-keyframes spinner-rotate{100%{transform:rotate(360deg)}}@keyframes spinner-rotate{100%{transform:rotate(360deg)}}@-webkit-keyframes spinner-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@keyframes spinner-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}";
|
|
6
|
-
|
|
7
|
-
const FlipSpinner$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
8
|
-
constructor() {
|
|
9
|
-
super();
|
|
10
|
-
this.__registerHost();
|
|
11
|
-
this.__attachShadow();
|
|
12
|
-
this.size = "m";
|
|
13
|
-
}
|
|
14
|
-
render() {
|
|
15
|
-
const className = classnames("spinner", `spinner--size-${this.size}`);
|
|
16
|
-
return (h(Host, null, h("span", { class: className, role: Boolean(this.label) ? "status" : undefined }, h("svg", { "aria-hidden": "true", class: "spinner__indicator", focusable: "false", viewBox: "0 0 50 50" }, h("circle", { class: "spinner__background", cx: "25", cy: "25", r: "20", fill: "none", "stroke-width": "4" }), h("circle", { class: "spinner__circle", cx: "25", cy: "25", r: "20", fill: "none", "stroke-width": "4" })), this.label && (h("flip-visually-hidden", null, h("span", { class: "spinner__label" }, this.label))))));
|
|
17
|
-
}
|
|
18
|
-
static get style() { return flipSpinnerCss; }
|
|
19
|
-
}, [1, "flip-spinner", {
|
|
20
|
-
"label": [1],
|
|
21
|
-
"size": [1]
|
|
22
|
-
}]);
|
|
23
|
-
function defineCustomElement$1() {
|
|
24
|
-
if (typeof customElements === "undefined") {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const components = ["flip-spinner", "flip-visually-hidden"];
|
|
28
|
-
components.forEach(tagName => { switch (tagName) {
|
|
29
|
-
case "flip-spinner":
|
|
30
|
-
if (!customElements.get(tagName)) {
|
|
31
|
-
customElements.define(tagName, FlipSpinner$1);
|
|
32
|
-
}
|
|
33
|
-
break;
|
|
34
|
-
case "flip-visually-hidden":
|
|
35
|
-
if (!customElements.get(tagName)) {
|
|
36
|
-
defineCustomElement$2();
|
|
37
|
-
}
|
|
38
|
-
break;
|
|
39
|
-
} });
|
|
40
|
-
}
|
|
41
|
-
defineCustomElement$1();
|
|
1
|
+
import { F as FlipSpinner$1, d as defineCustomElement$1 } from './flip-spinner2.js';
|
|
42
2
|
|
|
43
3
|
const FlipSpinner = FlipSpinner$1;
|
|
44
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,18 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as classnames } from './
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { c as classnames } from './index2.js';
|
|
3
|
+
import { d as defineCustomElement$1 } from './flip-visually-hidden2.js';
|
|
3
4
|
|
|
4
5
|
const flipSpinnerCss = ":host{display:inline-flex}:host *{box-sizing:border-box}.spinner{position:relative;display:inline-flex;overflow:hidden;width:2.25rem;height:2.25rem}.spinner--size-s{width:1.5rem;height:1.5rem}.spinner--size-s .spinner__circle{stroke-width:0.1875rem}.spinner__indicator{position:absolute;inset:0;width:100%;height:100%;transform-origin:center center;-webkit-animation:spinner-rotate 2s linear infinite;animation:spinner-rotate 2s linear infinite}.spinner__background{stroke:var(--s-border-default);stroke-linecap:round}.spinner__circle{-webkit-animation:spinner-dash 1.5s ease-in-out infinite;animation:spinner-dash 1.5s ease-in-out infinite;stroke:var(--s-interactive-primary-default);stroke-dasharray:1, 200;stroke-dashoffset:0;stroke-linecap:round}@-webkit-keyframes spinner-rotate{100%{transform:rotate(360deg)}}@keyframes spinner-rotate{100%{transform:rotate(360deg)}}@-webkit-keyframes spinner-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@keyframes spinner-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}";
|
|
5
6
|
|
|
6
|
-
const FlipSpinner = class {
|
|
7
|
-
constructor(
|
|
8
|
-
|
|
7
|
+
const FlipSpinner = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.__registerHost();
|
|
11
|
+
this.__attachShadow();
|
|
9
12
|
this.size = "m";
|
|
10
13
|
}
|
|
11
14
|
render() {
|
|
12
15
|
const className = classnames("spinner", `spinner--size-${this.size}`);
|
|
13
16
|
return (h(Host, null, h("span", { class: className, role: Boolean(this.label) ? "status" : undefined }, h("svg", { "aria-hidden": "true", class: "spinner__indicator", focusable: "false", viewBox: "0 0 50 50" }, h("circle", { class: "spinner__background", cx: "25", cy: "25", r: "20", fill: "none", "stroke-width": "4" }), h("circle", { class: "spinner__circle", cx: "25", cy: "25", r: "20", fill: "none", "stroke-width": "4" })), this.label && (h("flip-visually-hidden", null, h("span", { class: "spinner__label" }, this.label))))));
|
|
14
17
|
}
|
|
15
|
-
}
|
|
16
|
-
|
|
18
|
+
static get style() { return flipSpinnerCss; }
|
|
19
|
+
}, [1, "flip-spinner", {
|
|
20
|
+
"label": [1],
|
|
21
|
+
"size": [1]
|
|
22
|
+
}]);
|
|
23
|
+
function defineCustomElement() {
|
|
24
|
+
if (typeof customElements === "undefined") {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const components = ["flip-spinner", "flip-visually-hidden"];
|
|
28
|
+
components.forEach(tagName => { switch (tagName) {
|
|
29
|
+
case "flip-spinner":
|
|
30
|
+
if (!customElements.get(tagName)) {
|
|
31
|
+
customElements.define(tagName, FlipSpinner);
|
|
32
|
+
}
|
|
33
|
+
break;
|
|
34
|
+
case "flip-visually-hidden":
|
|
35
|
+
if (!customElements.get(tagName)) {
|
|
36
|
+
defineCustomElement$1();
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
} });
|
|
40
|
+
}
|
|
41
|
+
defineCustomElement();
|
|
17
42
|
|
|
18
|
-
export { FlipSpinner as
|
|
43
|
+
export { FlipSpinner as F, defineCustomElement as d };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface FlipTab extends Components.FlipTab, HTMLElement {}
|
|
4
|
+
export const FlipTab: {
|
|
5
|
+
prototype: FlipTab;
|
|
6
|
+
new (): FlipTab;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { c as classnames } from './index2.js';
|
|
3
|
+
|
|
4
|
+
const flipTabCss = ":host{display:block;width:100%}:host *{box-sizing:border-box}.tab{display:none;width:100%;padding:var(--s-space-8)}.tab--active{display:block}";
|
|
5
|
+
|
|
6
|
+
const FlipTab$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
this.__attachShadow();
|
|
11
|
+
}
|
|
12
|
+
render() {
|
|
13
|
+
const className = classnames("tab", { "tab--active": this.active });
|
|
14
|
+
return (h(Host, { "aria-labelledby": `tab-${this.tabId}`, id: this.tabId, role: "tabpanel", tabIndex: this.active ? 0 : -1 }, h("div", { class: className }, h("slot", null))));
|
|
15
|
+
}
|
|
16
|
+
static get style() { return flipTabCss; }
|
|
17
|
+
}, [1, "flip-tab", {
|
|
18
|
+
"active": [4],
|
|
19
|
+
"label": [1],
|
|
20
|
+
"tabId": [1, "tab-id"]
|
|
21
|
+
}]);
|
|
22
|
+
function defineCustomElement$1() {
|
|
23
|
+
if (typeof customElements === "undefined") {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const components = ["flip-tab"];
|
|
27
|
+
components.forEach(tagName => { switch (tagName) {
|
|
28
|
+
case "flip-tab":
|
|
29
|
+
if (!customElements.get(tagName)) {
|
|
30
|
+
customElements.define(tagName, FlipTab$1);
|
|
31
|
+
}
|
|
32
|
+
break;
|
|
33
|
+
} });
|
|
34
|
+
}
|
|
35
|
+
defineCustomElement$1();
|
|
36
|
+
|
|
37
|
+
const FlipTab = FlipTab$1;
|
|
38
|
+
const defineCustomElement = defineCustomElement$1;
|
|
39
|
+
|
|
40
|
+
export { FlipTab, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface FlipTabs extends Components.FlipTabs, HTMLElement {}
|
|
4
|
+
export const FlipTabs: {
|
|
5
|
+
prototype: FlipTabs;
|
|
6
|
+
new (): FlipTabs;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { c as classnames } from './index2.js';
|
|
3
|
+
|
|
4
|
+
const flipTabsCss = ".sc-flip-tabs-h{display:block;width:100%}.sc-flip-tabs-h *.sc-flip-tabs{box-sizing:border-box}.tabs.sc-flip-tabs{width:100%}.tabs__tab-bar.sc-flip-tabs{position:relative;display:flex;width:100%;padding-right:var(--s-space-16);padding-left:var(--s-space-16);justify-content:flex-start;border-bottom:var(--s-border-width-default) solid var(--s-border-default)}@media (--from-tablet){.tabs__tab-bar.sc-flip-tabs{padding-right:0;padding-left:0}}.tabs__tab.sc-flip-tabs{display:block;min-width:0;margin:0;padding:var(--s-space-4) 0;border:none;background-color:transparent;font:inherit;font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-base);cursor:pointer}.tabs__tab.sc-flip-tabs:focus-visible{outline:none}.tabs__tab.sc-flip-tabs:focus-visible .tabs__tab-label.sc-flip-tabs{border-radius:var(--s-border-radius-s);box-shadow:inset 0 0 0 0.125rem var(--s-focus-default)}.tabs__tab.sc-flip-tabs:not(:first-of-type){padding-left:var(--s-space-8)}.tabs__tab.sc-flip-tabs:not(:last-of-type){padding-right:var(--s-space-8)}.tabs__tab-label.sc-flip-tabs{display:block;overflow:hidden;width:100%;padding:var(--s-space-8) var(--s-space-8);text-align:center;white-space:nowrap;text-overflow:ellipsis}.tabs__tab--active.sc-flip-tabs{color:var(--s-text-highlight)}.tabs__indicator.sc-flip-tabs{position:absolute;bottom:0;left:0;width:0;height:0.125rem;border-radius:0.0625rem;background-color:var(--s-border-highlight);transition:background-color 0.15s, transform 0.15s, width 0.15s;transform:translate3d(0, 0, 0);pointer-events:none}@media (prefers-reduced-motion){.tabs__indicator.sc-flip-tabs{transition:none}}";
|
|
5
|
+
|
|
6
|
+
const FlipTabs$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
this.tabActivated = createEvent(this, "tabActivated", 7);
|
|
11
|
+
this.tabs = [];
|
|
12
|
+
this.onKeyDown = (event) => {
|
|
13
|
+
if (event.code === "ArrowLeft") {
|
|
14
|
+
event.preventDefault();
|
|
15
|
+
this.activatePreviousTab();
|
|
16
|
+
}
|
|
17
|
+
else if (event.code === "ArrowRight") {
|
|
18
|
+
event.preventDefault();
|
|
19
|
+
this.activateNextTab();
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
this.onMouseEnter = (event, tab) => {
|
|
23
|
+
if (tab.tabId === this.activeTab) {
|
|
24
|
+
this.highlightedTab = undefined;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.highlightedTab =
|
|
28
|
+
event.target.closest(".tabs__tab") || undefined;
|
|
29
|
+
};
|
|
30
|
+
this.onMouseLeave = () => {
|
|
31
|
+
this.highlightedTab = undefined;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
componentWillLoad() {
|
|
35
|
+
this.collectTabs();
|
|
36
|
+
}
|
|
37
|
+
componentDidRender() {
|
|
38
|
+
this.updateIndicatorPosition();
|
|
39
|
+
}
|
|
40
|
+
onWindowResize() {
|
|
41
|
+
this.updateIndicatorPosition();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Activate a tab.
|
|
45
|
+
* @param tabId
|
|
46
|
+
*/
|
|
47
|
+
async activateTab(tabId) {
|
|
48
|
+
if (this.activeTab === tabId) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.activeTab = tabId;
|
|
52
|
+
this.tabs.forEach((tab) => (tab.active = false));
|
|
53
|
+
const tab = this.tabs.find((tab) => tab.tabId === tabId);
|
|
54
|
+
if (!Boolean(tab)) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
this.highlightedTab = undefined;
|
|
58
|
+
tab.active = true;
|
|
59
|
+
this.tabActivated.emit(tab);
|
|
60
|
+
}
|
|
61
|
+
activateNextTab() {
|
|
62
|
+
const currentIndex = this.tabs.findIndex((tab) => tab.tabId === this.activeTab);
|
|
63
|
+
const nextIndex = Math.min(this.tabs.length - 1, currentIndex + 1);
|
|
64
|
+
this.activateTab(this.tabs[nextIndex].tabId);
|
|
65
|
+
requestAnimationFrame(() => {
|
|
66
|
+
var _a;
|
|
67
|
+
(_a = this.el.querySelector(".tabs__tab--active")) === null || _a === void 0 ? void 0 : _a.focus();
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
activatePreviousTab() {
|
|
71
|
+
const currentIndex = this.tabs.findIndex((tab) => tab.tabId === this.activeTab);
|
|
72
|
+
const previousIndex = Math.max(0, currentIndex - 1);
|
|
73
|
+
this.activateTab(this.tabs[previousIndex].tabId);
|
|
74
|
+
requestAnimationFrame(() => {
|
|
75
|
+
var _a;
|
|
76
|
+
(_a = this.el.querySelector(".tabs__tab--active")) === null || _a === void 0 ? void 0 : _a.focus();
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
collectTabs() {
|
|
80
|
+
this.tabs = Array.from(this.el.querySelectorAll("flip-tab"));
|
|
81
|
+
if (this.tabs.length === 0) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const initialTab = this.tabs.find((tab) => tab.tabId === this.initialTab);
|
|
85
|
+
this.activateTab(Boolean(initialTab) ? initialTab.tabId : this.tabs[0].tabId);
|
|
86
|
+
}
|
|
87
|
+
updateIndicatorPosition() {
|
|
88
|
+
const activeTab = this.tabs.find((tab) => tab.tabId === this.activeTab);
|
|
89
|
+
if (!Boolean(activeTab) && !Boolean(this.highlightedTab)) {
|
|
90
|
+
this.indicatorEl.style.width = "";
|
|
91
|
+
this.indicatorEl.style.transform = "";
|
|
92
|
+
this.indicatorEl.style.backgroundColor = "";
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const activeTabEl = this.highlightedTab ||
|
|
96
|
+
this.el.querySelector(`#tab-${activeTab.tabId}`);
|
|
97
|
+
const activeTabLabelEl = activeTabEl.querySelector(".tabs__tab-label");
|
|
98
|
+
this.indicatorEl.style.width = `${activeTabLabelEl.getBoundingClientRect().width / 16}rem`;
|
|
99
|
+
this.indicatorEl.style.transform = `translate3d(${activeTabLabelEl.offsetLeft / 16}rem, 0, 0)`;
|
|
100
|
+
this.indicatorEl.style.backgroundColor = Boolean(this.highlightedTab)
|
|
101
|
+
? "var(--s-border-default)"
|
|
102
|
+
: "";
|
|
103
|
+
}
|
|
104
|
+
render() {
|
|
105
|
+
return (h(Host, null, h("div", { class: "tabs" }, h("div", { "aria-label": this.label, class: "tabs__tab-bar", onKeyDown: this.onKeyDown, role: "tablist" }, this.tabs.map((tab) => {
|
|
106
|
+
const isActive = tab.tabId === this.activeTab;
|
|
107
|
+
const className = classnames("tabs__tab", {
|
|
108
|
+
"tabs__tab--active": isActive,
|
|
109
|
+
});
|
|
110
|
+
return (h("button", { "aria-controls": tab.tabId, "aria-selected": isActive ? "true" : "false", class: className, id: `tab-${tab.tabId}`, key: tab.tabId,
|
|
111
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
112
|
+
onClick: () => this.activateTab(tab.tabId),
|
|
113
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
114
|
+
onMouseEnter: (event) => this.onMouseEnter(event, tab), onMouseLeave: this.onMouseLeave, role: "tab", tabIndex: isActive ? 0 : -1, type: "button" }, h("span", { class: "tabs__tab-label" }, tab.label)));
|
|
115
|
+
}), h("span", { class: "tabs__indicator", ref: (el) => (this.indicatorEl = el) })), h("slot", null))));
|
|
116
|
+
}
|
|
117
|
+
get el() { return this; }
|
|
118
|
+
static get style() { return flipTabsCss; }
|
|
119
|
+
}, [6, "flip-tabs", {
|
|
120
|
+
"initialTab": [1, "initial-tab"],
|
|
121
|
+
"label": [1],
|
|
122
|
+
"activeTab": [32],
|
|
123
|
+
"highlightedTab": [32],
|
|
124
|
+
"activateTab": [64]
|
|
125
|
+
}, [[9, "resize", "onWindowResize"]]]);
|
|
126
|
+
function defineCustomElement$1() {
|
|
127
|
+
if (typeof customElements === "undefined") {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const components = ["flip-tabs"];
|
|
131
|
+
components.forEach(tagName => { switch (tagName) {
|
|
132
|
+
case "flip-tabs":
|
|
133
|
+
if (!customElements.get(tagName)) {
|
|
134
|
+
customElements.define(tagName, FlipTabs$1);
|
|
135
|
+
}
|
|
136
|
+
break;
|
|
137
|
+
} });
|
|
138
|
+
}
|
|
139
|
+
defineCustomElement$1();
|
|
140
|
+
|
|
141
|
+
const FlipTabs = FlipTabs$1;
|
|
142
|
+
const defineCustomElement = defineCustomElement$1;
|
|
143
|
+
|
|
144
|
+
export { FlipTabs, defineCustomElement };
|