wj-elements 0.1.131 → 0.1.132
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/infinite-scroll.element-XVJukzjy.js +0 -1
- package/dist/list.element-Ce1vIm1O.js +0 -1
- package/dist/localize.js +0 -1
- package/dist/packages/index.d.ts +99 -0
- package/dist/packages/localize/localize.d.ts +17 -0
- package/dist/packages/translations/en-GB.d.ts +13 -0
- package/dist/packages/translations/sk-SK.d.ts +13 -0
- package/dist/packages/utils/animations.d.ts +2 -0
- package/dist/packages/utils/date.d.ts +1 -0
- package/dist/packages/utils/element-utils.d.ts +46 -0
- package/dist/packages/utils/event.d.ts +67 -0
- package/dist/packages/utils/localize.d.ts +4 -0
- package/dist/packages/utils/permissions-api.d.ts +34 -0
- package/dist/packages/utils/utils.d.ts +1 -0
- package/dist/packages/utils/wje-import-firefox.d.ts +0 -0
- package/dist/packages/utils/wje-import.d.ts +0 -0
- package/dist/packages/wje-accordion/accordion.d.ts +2 -0
- package/dist/packages/wje-accordion/accordion.element.d.ts +72 -0
- package/dist/packages/wje-accordion-item/accordion-item.d.ts +2 -0
- package/dist/packages/wje-accordion-item/accordion-item.element.d.ts +40 -0
- package/dist/packages/wje-animation/animation.d.ts +2 -0
- package/dist/packages/wje-animation/animation.element.d.ts +153 -0
- package/dist/packages/wje-animation/animation.test.d.ts +1 -0
- package/dist/packages/wje-aside/aside.d.ts +2 -0
- package/dist/packages/wje-aside/aside.element.d.ts +31 -0
- package/dist/packages/wje-avatar/avatar.d.ts +2 -0
- package/dist/packages/wje-avatar/avatar.element.d.ts +37 -0
- package/dist/packages/wje-avatar/service/service.d.ts +40 -0
- package/dist/packages/wje-badge/badge.d.ts +2 -0
- package/dist/packages/wje-badge/badge.element.d.ts +35 -0
- package/dist/packages/wje-badge/badge.test.d.ts +1 -0
- package/dist/packages/wje-breadcrumb/breadcrumb.d.ts +2 -0
- package/dist/packages/wje-breadcrumb/breadcrumb.element.d.ts +80 -0
- package/dist/packages/wje-breadcrumbs/breadcrumbs.d.ts +2 -0
- package/dist/packages/wje-breadcrumbs/breadcrumbs.element.d.ts +97 -0
- package/dist/packages/wje-breadcrumbs/breadcrumbs.test.d.ts +1 -0
- package/dist/packages/wje-button/button.d.ts +2 -0
- package/dist/packages/wje-button/button.element.d.ts +173 -0
- package/dist/packages/wje-button/button.test.d.ts +1 -0
- package/dist/packages/wje-button-group/button-group.d.ts +2 -0
- package/dist/packages/wje-button-group/button-group.element.d.ts +39 -0
- package/dist/packages/wje-card/card.d.ts +2 -0
- package/dist/packages/wje-card/card.element.d.ts +29 -0
- package/dist/packages/wje-card-content/card-content.d.ts +2 -0
- package/dist/packages/wje-card-content/card-content.element.d.ts +22 -0
- package/dist/packages/wje-card-controls/card-controls.d.ts +2 -0
- package/dist/packages/wje-card-controls/card-controls.element.d.ts +23 -0
- package/dist/packages/wje-card-header/card-header.d.ts +2 -0
- package/dist/packages/wje-card-header/card-header.element.d.ts +22 -0
- package/dist/packages/wje-card-subtitle/card-subtitle.d.ts +2 -0
- package/dist/packages/wje-card-subtitle/card-subtitle.element.d.ts +30 -0
- package/dist/packages/wje-card-title/card-title.d.ts +2 -0
- package/dist/packages/wje-card-title/card-title.element.d.ts +32 -0
- package/dist/packages/wje-carousel/carousel.d.ts +2 -0
- package/dist/packages/wje-carousel/carousel.element.d.ts +146 -0
- package/dist/packages/wje-carousel-item/carousel-item.d.ts +2 -0
- package/dist/packages/wje-carousel-item/carousel-item.element.d.ts +38 -0
- package/dist/packages/wje-checkbox/checkbox.d.ts +2 -0
- package/dist/packages/wje-checkbox/checkbox.element.d.ts +171 -0
- package/dist/packages/wje-chip/chip.d.ts +2 -0
- package/dist/packages/wje-chip/chip.element.d.ts +29 -0
- package/dist/packages/wje-col/col.d.ts +2 -0
- package/dist/packages/wje-col/col.element.d.ts +16 -0
- package/dist/packages/wje-color-picker/color-picker.d.ts +2 -0
- package/dist/packages/wje-color-picker/color-picker.element.d.ts +187 -0
- package/dist/packages/wje-container/container.d.ts +2 -0
- package/dist/packages/wje-container/container.element.d.ts +31 -0
- package/dist/packages/wje-copy-button/copy-button.d.ts +2 -0
- package/dist/packages/wje-copy-button/copy-button.element.d.ts +89 -0
- package/dist/packages/wje-copy-button/service/service.d.ts +12 -0
- package/dist/packages/wje-dialog/dialog.d.ts +2 -0
- package/dist/packages/wje-dialog/dialog.element.d.ts +116 -0
- package/dist/packages/wje-divider/divider.d.ts +2 -0
- package/dist/packages/wje-divider/divider.element.d.ts +32 -0
- package/dist/packages/wje-dropdown/dropdown.d.ts +2 -0
- package/dist/packages/wje-dropdown/dropdown.element.d.ts +85 -0
- package/dist/packages/wje-element/element.d.ts +312 -0
- package/dist/packages/wje-element/service/universal-service.d.ts +18 -0
- package/dist/packages/wje-file-upload/file-upload.d.ts +2 -0
- package/dist/packages/wje-file-upload/file-upload.element.d.ts +191 -0
- package/dist/packages/wje-file-upload/service/service.d.ts +70 -0
- package/dist/packages/wje-file-upload-item/file-upload-item.d.ts +2 -0
- package/dist/packages/wje-file-upload-item/file-upload-item.element.d.ts +62 -0
- package/dist/packages/wje-footer/footer.d.ts +2 -0
- package/dist/packages/wje-footer/footer.element.d.ts +28 -0
- package/dist/packages/wje-form/form.d.ts +2 -0
- package/dist/packages/wje-form/form.element.d.ts +28 -0
- package/dist/packages/wje-format-digital/format-digital.d.ts +2 -0
- package/dist/packages/wje-format-digital/format-digital.element.d.ts +87 -0
- package/dist/packages/wje-format-digital/format-digital.test.d.ts +1 -0
- package/dist/packages/wje-grid/grid.d.ts +2 -0
- package/dist/packages/wje-grid/grid.element.d.ts +26 -0
- package/dist/packages/wje-header/header.d.ts +2 -0
- package/dist/packages/wje-header/header.element.d.ts +35 -0
- package/dist/packages/wje-icon/icon.d.ts +2 -0
- package/dist/packages/wje-icon/icon.element.d.ts +40 -0
- package/dist/packages/wje-icon/service/service.d.ts +11 -0
- package/dist/packages/wje-icon-picker/icon-picker.d.ts +2 -0
- package/dist/packages/wje-icon-picker/icon-picker.element.d.ts +197 -0
- package/dist/packages/wje-img/img.d.ts +2 -0
- package/dist/packages/wje-img/img.element.d.ts +30 -0
- package/dist/packages/wje-img-comparer/img-comparer.d.ts +2 -0
- package/dist/packages/wje-img-comparer/img-comparer.element.d.ts +60 -0
- package/dist/packages/wje-img-comparer/service/service.d.ts +1 -0
- package/dist/packages/wje-infinite-scroll/infinite-scroll.d.ts +2 -0
- package/dist/packages/wje-infinite-scroll/infinite-scroll.element.d.ts +134 -0
- package/dist/packages/wje-input/input.d.ts +2 -0
- package/dist/packages/wje-input/input.element.d.ts +204 -0
- package/dist/packages/wje-input-file/input-file.d.ts +2 -0
- package/dist/packages/wje-input-file/input-file.element.d.ts +50 -0
- package/dist/packages/wje-item/item.d.ts +2 -0
- package/dist/packages/wje-item/item.element.d.ts +68 -0
- package/dist/packages/wje-kanban/kanban.d.ts +2 -0
- package/dist/packages/wje-kanban/kanban.element.d.ts +183 -0
- package/dist/packages/wje-label/label.d.ts +2 -0
- package/dist/packages/wje-label/label.element.d.ts +34 -0
- package/dist/packages/wje-list/list.d.ts +2 -0
- package/dist/packages/wje-list/list.element.d.ts +31 -0
- package/dist/packages/wje-main/main.d.ts +2 -0
- package/dist/packages/wje-main/main.element.d.ts +30 -0
- package/dist/packages/wje-masonry/masonry.d.ts +2 -0
- package/dist/packages/wje-masonry/masonry.element.d.ts +114 -0
- package/dist/packages/wje-masonry/service/service.d.ts +32 -0
- package/dist/packages/wje-menu/menu.d.ts +2 -0
- package/dist/packages/wje-menu/menu.element.d.ts +47 -0
- package/dist/packages/wje-menu-button/menu-button.d.ts +2 -0
- package/dist/packages/wje-menu-button/menu-button.element.d.ts +34 -0
- package/dist/packages/wje-menu-item/menu-item.d.ts +2 -0
- package/dist/packages/wje-menu-item/menu-item.element.d.ts +139 -0
- package/dist/packages/wje-menu-label/menu-label.d.ts +2 -0
- package/dist/packages/wje-menu-label/menu-label.element.d.ts +39 -0
- package/dist/packages/wje-option/option.d.ts +2 -0
- package/dist/packages/wje-option/option.element.d.ts +59 -0
- package/dist/packages/wje-options/options.d.ts +2 -0
- package/dist/packages/wje-options/options.element.d.ts +180 -0
- package/dist/packages/wje-orgchart/orgchart.d.ts +2 -0
- package/dist/packages/wje-orgchart/orgchart.element.d.ts +24 -0
- package/dist/packages/wje-orgchart-group/orgchart-group.d.ts +2 -0
- package/dist/packages/wje-orgchart-group/orgchart-group.element.d.ts +28 -0
- package/dist/packages/wje-orgchart-item/orgchart-item.d.ts +2 -0
- package/dist/packages/wje-orgchart-item/orgchart-item.element.d.ts +49 -0
- package/dist/packages/wje-panel/panel.d.ts +2 -0
- package/dist/packages/wje-panel/panel.element.d.ts +34 -0
- package/dist/packages/wje-popup/popup.d.ts +2 -0
- package/dist/packages/wje-popup/popup.element.d.ts +93 -0
- package/dist/packages/wje-progress-bar/progress-bar.d.ts +2 -0
- package/dist/packages/wje-progress-bar/progress-bar.element.d.ts +96 -0
- package/dist/packages/wje-qr-code/qr-code.d.ts +2 -0
- package/dist/packages/wje-qr-code/qr-code.element.d.ts +33 -0
- package/dist/packages/wje-radio/radio.d.ts +2 -0
- package/dist/packages/wje-radio/radio.element.d.ts +53 -0
- package/dist/packages/wje-radio-group/radio-group.d.ts +2 -0
- package/dist/packages/wje-radio-group/radio-group.element.d.ts +137 -0
- package/dist/packages/wje-rate/rate.d.ts +2 -0
- package/dist/packages/wje-rate/rate.element.d.ts +156 -0
- package/dist/packages/wje-relative-time/relative-time.d.ts +2 -0
- package/dist/packages/wje-relative-time/relative-time.element.d.ts +55 -0
- package/dist/packages/wje-relative-time/relative-time.test.d.ts +1 -0
- package/dist/packages/wje-reorder/reorder.d.ts +2 -0
- package/dist/packages/wje-reorder/reorder.element.d.ts +119 -0
- package/dist/packages/wje-reorder-dropzone/reorder-dropzone.d.ts +2 -0
- package/dist/packages/wje-reorder-dropzone/reorder-dropzone.element.d.ts +23 -0
- package/dist/packages/wje-reorder-handle/reorder-handle.d.ts +2 -0
- package/dist/packages/wje-reorder-handle/reorder-handle.element.d.ts +75 -0
- package/dist/packages/wje-reorder-item/reorder-item.d.ts +2 -0
- package/dist/packages/wje-reorder-item/reorder-item.element.d.ts +24 -0
- package/dist/packages/wje-route/route.d.ts +2 -0
- package/dist/packages/wje-route/route.element.d.ts +22 -0
- package/dist/packages/wje-router/router.d.ts +2 -0
- package/dist/packages/wje-router/router.element.d.ts +39 -0
- package/dist/packages/wje-router-link/router-link.d.ts +2 -0
- package/dist/packages/wje-router-link/router-link.element.d.ts +31 -0
- package/dist/packages/wje-router-outlet/router-outlet.d.ts +2 -0
- package/dist/packages/wje-router-outlet/router-outlet.element.d.ts +15 -0
- package/dist/packages/wje-row/row.d.ts +2 -0
- package/dist/packages/wje-row/row.element.d.ts +23 -0
- package/dist/packages/wje-select/select.d.ts +2 -0
- package/dist/packages/wje-select/select.element.d.ts +315 -0
- package/dist/packages/wje-slider/slider.d.ts +2 -0
- package/dist/packages/wje-slider/slider.element.d.ts +103 -0
- package/dist/packages/wje-split-view/service/service.d.ts +1 -0
- package/dist/packages/wje-split-view/split-view.d.ts +2 -0
- package/dist/packages/wje-split-view/split-view.element.d.ts +66 -0
- package/dist/packages/wje-status/status.d.ts +2 -0
- package/dist/packages/wje-status/status.element.d.ts +26 -0
- package/dist/packages/wje-step/step.d.ts +2 -0
- package/dist/packages/wje-step/step.element.d.ts +23 -0
- package/dist/packages/wje-stepper/stepper.d.ts +2 -0
- package/dist/packages/wje-stepper/stepper.element.d.ts +78 -0
- package/dist/packages/wje-store/default-store-actions.d.ts +20 -0
- package/dist/packages/wje-store/pubsub.d.ts +21 -0
- package/dist/packages/wje-store/store.d.ts +153 -0
- package/dist/packages/wje-tab/tab.d.ts +2 -0
- package/dist/packages/wje-tab/tab.element.d.ts +41 -0
- package/dist/packages/wje-tab-group/tab-group.d.ts +2 -0
- package/dist/packages/wje-tab-group/tab-group.element.d.ts +67 -0
- package/dist/packages/wje-tab-panel/tab-panel.d.ts +2 -0
- package/dist/packages/wje-tab-panel/tab-panel.element.d.ts +23 -0
- package/dist/packages/wje-textarea/textarea.d.ts +2 -0
- package/dist/packages/wje-textarea/textarea.element.d.ts +176 -0
- package/dist/packages/wje-thumbnail/thumbnail.d.ts +2 -0
- package/dist/packages/wje-thumbnail/thumbnail.element.d.ts +31 -0
- package/dist/packages/wje-timeline/timeline.d.ts +2 -0
- package/dist/packages/wje-timeline/timeline.element.d.ts +25 -0
- package/dist/packages/wje-timeline-item/timeline-item.d.ts +2 -0
- package/dist/packages/wje-timeline-item/timeline-item.element.d.ts +27 -0
- package/dist/packages/wje-toast/toast.d.ts +2 -0
- package/dist/packages/wje-toast/toast.element.d.ts +173 -0
- package/dist/packages/wje-toast/toast.test.d.ts +1 -0
- package/dist/packages/wje-toggle/toggle.d.ts +2 -0
- package/dist/packages/wje-toggle/toggle.element.d.ts +65 -0
- package/dist/packages/wje-toolbar/toolbar.d.ts +2 -0
- package/dist/packages/wje-toolbar/toolbar.element.d.ts +39 -0
- package/dist/packages/wje-toolbar-action/toolbar-action.d.ts +2 -0
- package/dist/packages/wje-toolbar-action/toolbar-action.element.d.ts +35 -0
- package/dist/packages/wje-tooltip/tooltip.d.ts +2 -0
- package/dist/packages/wje-tooltip/tooltip.element.d.ts +71 -0
- package/dist/packages/wje-visually-hidden/visually-hidden.d.ts +2 -0
- package/dist/packages/wje-visually-hidden/visually-hidden.element.d.ts +29 -0
- package/dist/{popup.element-4DNn6DjX.js → popup.element-tyYxow0p.js} +199 -80
- package/dist/router-links-CJnOdbas.js +0 -1
- package/dist/wje-accordion-item.js +0 -1
- package/dist/wje-accordion.js +0 -1
- package/dist/wje-animation.js +2 -5
- package/dist/wje-aside.js +0 -1
- package/dist/wje-avatar.js +0 -1
- package/dist/wje-badge.js +0 -1
- package/dist/wje-breadcrumb.js +0 -1
- package/dist/wje-breadcrumbs.js +0 -1
- package/dist/wje-button-group.js +0 -1
- package/dist/wje-button.js +0 -1
- package/dist/wje-card-content.js +0 -1
- package/dist/wje-card-controls.js +0 -1
- package/dist/wje-card-header.js +0 -1
- package/dist/wje-card-subtitle.js +0 -1
- package/dist/wje-card-title.js +0 -1
- package/dist/wje-card.js +0 -1
- package/dist/wje-carousel-item.js +0 -1
- package/dist/wje-carousel.js +0 -1
- package/dist/wje-checkbox.js +0 -1
- package/dist/wje-chip.js +0 -1
- package/dist/wje-col.js +0 -1
- package/dist/wje-color-picker.js +0 -1
- package/dist/wje-container.js +0 -1
- package/dist/wje-copy-button.js +0 -1
- package/dist/wje-dialog.js +29 -3
- package/dist/wje-divider.js +0 -1
- package/dist/wje-dropdown.js +1 -2
- package/dist/wje-element.js +0 -1
- package/dist/wje-fetchAndParseCSS.js +0 -1
- package/dist/wje-file-upload-item.js +0 -1
- package/dist/wje-file-upload.js +29 -14
- package/dist/wje-footer.js +0 -1
- package/dist/wje-form.js +0 -1
- package/dist/wje-format-digital.js +0 -1
- package/dist/wje-grid.js +0 -1
- package/dist/wje-header.js +0 -1
- package/dist/wje-icon-picker.js +1 -2
- package/dist/wje-icon.js +0 -1
- package/dist/wje-img-comparer.js +0 -1
- package/dist/wje-img.js +0 -1
- package/dist/wje-infinite-scroll.js +0 -1
- package/dist/wje-input-file.js +0 -1
- package/dist/wje-input.js +0 -1
- package/dist/wje-item.js +0 -1
- package/dist/wje-kanban.js +0 -1
- package/dist/wje-label.js +0 -1
- package/dist/wje-list.js +0 -1
- package/dist/wje-main.js +0 -1
- package/dist/wje-masonry.js +1 -3
- package/dist/wje-master.js +4 -9
- package/dist/wje-menu-button.js +0 -1
- package/dist/wje-menu-item.js +0 -1
- package/dist/wje-menu-label.js +0 -1
- package/dist/wje-menu.js +0 -1
- package/dist/wje-option.js +0 -1
- package/dist/wje-options.js +0 -1
- package/dist/wje-orgchart-group.js +0 -1
- package/dist/wje-orgchart-item.js +0 -1
- package/dist/wje-orgchart.js +0 -1
- package/dist/wje-popup.js +1 -2
- package/dist/wje-progress-bar.js +0 -1
- package/dist/wje-qr-code.js +2684 -2679
- package/dist/wje-radio-group.js +0 -1
- package/dist/wje-radio.js +0 -1
- package/dist/wje-rate.js +0 -1
- package/dist/wje-relative-time.js +0 -1
- package/dist/wje-reorder-dropzone.js +0 -1
- package/dist/wje-reorder-handle.js +0 -1
- package/dist/wje-reorder-item.js +0 -1
- package/dist/wje-reorder.js +0 -1
- package/dist/wje-route.js +0 -1
- package/dist/wje-router-link.js +0 -1
- package/dist/wje-router-outlet.js +0 -1
- package/dist/wje-routerx.js +0 -1
- package/dist/wje-row.js +0 -1
- package/dist/wje-select.js +1 -2
- package/dist/wje-slider.js +0 -1
- package/dist/wje-sliding-container.js +0 -1
- package/dist/wje-split-view.js +0 -1
- package/dist/wje-status.js +0 -1
- package/dist/wje-step.js +0 -1
- package/dist/wje-stepper.js +0 -1
- package/dist/wje-store.js +7 -7
- package/dist/wje-tab-group.js +0 -1
- package/dist/wje-tab-panel.js +0 -1
- package/dist/wje-tab.js +0 -1
- package/dist/wje-textarea.js +0 -1
- package/dist/wje-thumbnail.js +0 -1
- package/dist/wje-toast.js +0 -1
- package/dist/wje-toggle.js +0 -1
- package/dist/wje-toolbar-action.js +0 -1
- package/dist/wje-toolbar.js +0 -1
- package/dist/wje-tooltip.js +0 -1
- package/dist/wje-visually-hidden.js +0 -1
- package/package.json +20 -8
- package/dist/infinite-scroll.element-XVJukzjy.js.map +0 -1
- package/dist/list.element-Ce1vIm1O.js.map +0 -1
- package/dist/localize.js.map +0 -1
- package/dist/popup.element-4DNn6DjX.js.map +0 -1
- package/dist/router-links-CJnOdbas.js.map +0 -1
- package/dist/wje-accordion-item.js.map +0 -1
- package/dist/wje-accordion.js.map +0 -1
- package/dist/wje-animation.js.map +0 -1
- package/dist/wje-aside.js.map +0 -1
- package/dist/wje-avatar.js.map +0 -1
- package/dist/wje-badge.js.map +0 -1
- package/dist/wje-breadcrumb.js.map +0 -1
- package/dist/wje-breadcrumbs.js.map +0 -1
- package/dist/wje-button-group.js.map +0 -1
- package/dist/wje-button.js.map +0 -1
- package/dist/wje-card-content.js.map +0 -1
- package/dist/wje-card-controls.js.map +0 -1
- package/dist/wje-card-header.js.map +0 -1
- package/dist/wje-card-subtitle.js.map +0 -1
- package/dist/wje-card-title.js.map +0 -1
- package/dist/wje-card.js.map +0 -1
- package/dist/wje-carousel-item.js.map +0 -1
- package/dist/wje-carousel.js.map +0 -1
- package/dist/wje-checkbox.js.map +0 -1
- package/dist/wje-chip.js.map +0 -1
- package/dist/wje-col.js.map +0 -1
- package/dist/wje-color-picker.js.map +0 -1
- package/dist/wje-container.js.map +0 -1
- package/dist/wje-copy-button.js.map +0 -1
- package/dist/wje-dialog.js.map +0 -1
- package/dist/wje-divider.js.map +0 -1
- package/dist/wje-dropdown.js.map +0 -1
- package/dist/wje-element.js.map +0 -1
- package/dist/wje-fetchAndParseCSS.js.map +0 -1
- package/dist/wje-file-upload-item.js.map +0 -1
- package/dist/wje-file-upload.js.map +0 -1
- package/dist/wje-footer.js.map +0 -1
- package/dist/wje-form.js.map +0 -1
- package/dist/wje-format-digital.js.map +0 -1
- package/dist/wje-grid.js.map +0 -1
- package/dist/wje-header.js.map +0 -1
- package/dist/wje-icon-picker.js.map +0 -1
- package/dist/wje-icon.js.map +0 -1
- package/dist/wje-img-comparer.js.map +0 -1
- package/dist/wje-img.js.map +0 -1
- package/dist/wje-infinite-scroll.js.map +0 -1
- package/dist/wje-input-file.js.map +0 -1
- package/dist/wje-input.js.map +0 -1
- package/dist/wje-item.js.map +0 -1
- package/dist/wje-kanban.js.map +0 -1
- package/dist/wje-label.js.map +0 -1
- package/dist/wje-list.js.map +0 -1
- package/dist/wje-main.js.map +0 -1
- package/dist/wje-masonry.js.map +0 -1
- package/dist/wje-master.js.map +0 -1
- package/dist/wje-menu-button.js.map +0 -1
- package/dist/wje-menu-item.js.map +0 -1
- package/dist/wje-menu-label.js.map +0 -1
- package/dist/wje-menu.js.map +0 -1
- package/dist/wje-option.js.map +0 -1
- package/dist/wje-options.js.map +0 -1
- package/dist/wje-orgchart-group.js.map +0 -1
- package/dist/wje-orgchart-item.js.map +0 -1
- package/dist/wje-orgchart.js.map +0 -1
- package/dist/wje-popup.js.map +0 -1
- package/dist/wje-progress-bar.js.map +0 -1
- package/dist/wje-qr-code.js.map +0 -1
- package/dist/wje-radio-group.js.map +0 -1
- package/dist/wje-radio.js.map +0 -1
- package/dist/wje-rate.js.map +0 -1
- package/dist/wje-relative-time.js.map +0 -1
- package/dist/wje-reorder-dropzone.js.map +0 -1
- package/dist/wje-reorder-handle.js.map +0 -1
- package/dist/wje-reorder-item.js.map +0 -1
- package/dist/wje-reorder.js.map +0 -1
- package/dist/wje-route.js.map +0 -1
- package/dist/wje-router-link.js.map +0 -1
- package/dist/wje-router-outlet.js.map +0 -1
- package/dist/wje-routerx.js.map +0 -1
- package/dist/wje-row.js.map +0 -1
- package/dist/wje-select.js.map +0 -1
- package/dist/wje-slider.js.map +0 -1
- package/dist/wje-sliding-container.js.map +0 -1
- package/dist/wje-split-view.js.map +0 -1
- package/dist/wje-status.js.map +0 -1
- package/dist/wje-step.js.map +0 -1
- package/dist/wje-stepper.js.map +0 -1
- package/dist/wje-store.js.map +0 -1
- package/dist/wje-tab-group.js.map +0 -1
- package/dist/wje-tab-panel.js.map +0 -1
- package/dist/wje-tab.js.map +0 -1
- package/dist/wje-textarea.js.map +0 -1
- package/dist/wje-thumbnail.js.map +0 -1
- package/dist/wje-toast.js.map +0 -1
- package/dist/wje-toggle.js.map +0 -1
- package/dist/wje-toolbar-action.js.map +0 -1
- package/dist/wje-toolbar.js.map +0 -1
- package/dist/wje-tooltip.js.map +0 -1
- package/dist/wje-tree-item.js +0 -121
- package/dist/wje-tree-item.js.map +0 -1
- package/dist/wje-tree.js +0 -68
- package/dist/wje-tree.js.map +0 -1
- package/dist/wje-visually-hidden.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-carousel-item.js","sources":["../packages/wje-carousel-item/carousel-item.element.js","../packages/wje-carousel-item/carousel-item.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\n\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents CarouselItem element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/carousel-item\n * @status stable\n * @augments WJElement\n * @slot - The carousel item main content.\n * @csspart native - The component's native wrapper.\n * @cssproperty [--wje-carousel-item-background-color=transparent] - Background color of the component;\n * @cssproperty [--wje-carousel-item-border-color=--wje-color-contrast-4] - Border color of the component;\n * @cssproperty [--wje-carousel-item-color=--wje-color-contrast-11] - Color of the component;\n * @cssproperty [--wje-carousel-item-border-radius=--wje-border-radius-medium] - Border radius of the component;\n * @cssproperty [--wje-carousel-item-border-width=1px] - Border width of the component;\n * @cssproperty [--wje-carousel-item-border-style=solid] - Border style of the component;\n * @cssproperty [--wje-carousel-item-border-color=--wje-color-contrast-1] - Border color of the component;\n * @cssproperty [--wje-carousel-item-margin-inline=0] - Margin inline of the component;\n */\nexport default class CarouselItem extends WJElement {\n /**\n * CarouselItem constructor method.\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the CarouselItem element.\n * @type {string}\n */\n className = 'CarouselItem';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {*}\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {*[]}\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the CarouselItem.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the CarouselItem element.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.classList.add('native-carousel-item');\n native.setAttribute('part', 'native');\n\n let slot = document.createElement('slot');\n\n native.appendChild(slot);\n\n fragment.appendChild(native);\n\n return fragment;\n }\n\n /**\n * After draw event for the CarouselItem element.\n */\n afterDraw() {\n event.addListener(this, 'click', 'wje-carousel-item:click');\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport CarouselItem from './carousel-item.element.js';\n\n// export * from \"./carousel-item.element.js\";\nexport default CarouselItem;\n\nWJElement.define('wje-carousel-item', CarouselItem);\n"],"names":[],"mappings":";;;;;AAoBe,MAAM,qBAAqB,UAAU;AAAA;AAAA;AAAA;AAAA,EAIhD,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA,EAYD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,UAAU,IAAI,sBAAsB;AAC3C,WAAO,aAAa,QAAQ,QAAQ;AAEpC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,WAAO,YAAY,IAAI;AAEvB,aAAS,YAAY,MAAM;AAE3B,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,YAAY;AACR,UAAM,YAAY,MAAM,SAAS,yBAAyB;AAAA,EAC7D;AACL;AC7EA,UAAU,OAAO,qBAAqB,YAAY;"}
|
package/dist/wje-carousel.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-carousel.js","sources":["../packages/wje-carousel/carousel.element.js","../packages/wje-carousel/carousel.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary Carousel class that extends WJElement.\n * @documentation https://elements.webjet.sk/components/carousel\n * @status stable\n * @augments WJElement\n * @slot - The carousel main content.\n * @cssproperty [--wje-carousel-size=100%] - Size of the carousel component;\n */\nexport default class Carousel extends WJElement {\n /**\n * Carousel constructor method.\n */\n constructor() {\n super();\n\n this.slidePerPage = 1;\n }\n\n /**\n * Active slide attribute.\n * @param value\n */\n set activeSlide(value) {\n this.setAttribute('active-slide', value);\n }\n\n /**\n * Active slide attribute.\n * @returns {number|number}\n */\n get activeSlide() {\n return +this.getAttribute('active-slide') || 0;\n }\n\n /**\n * Pagination attribute.\n * @returns {boolean}\n */\n get pagination() {\n return this.hasAttribute('pagination');\n }\n\n /**\n * Navigation attribute.\n * @returns {boolean}\n */\n get navigation() {\n return this.hasAttribute('navigation');\n }\n\n /**\n * Thumbnails attribute.\n * @returns {boolean}\n */\n get thumbnails() {\n return this.hasAttribute('thumbnails');\n }\n\n /**\n * Loop attribute.\n * @returns {boolean}\n */\n get loop() {\n return this.hasAttribute('loop');\n }\n\n /**\n * Class name for the Carousel.\n * @type {string}\n */\n className = 'Carousel';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {*}\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {string[]}\n */\n static get observedAttributes() {\n return ['active-slide'];\n }\n\n /**\n * Sets up the attributes for the Carousel.\n * @param name\n * @param old\n * @param newName\n */\n attributeChangedCallback(name, old, newName) {\n if (name === 'active-slide') {\n if (this.pagination) this.changePagination();\n\n if (this.thumbnails) this.changeThumbnails();\n }\n }\n\n /**\n * Sets up the attributes for the Carousel.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Before draw method for the Carousel.\n */\n beforeDraw() {\n this.cloneFirstAndLastItems();\n }\n\n /**\n * Draw method for the Carousel.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.classList.add('native-carousel');\n\n let slides = document.createElement('div');\n slides.classList.add('carousel-slides');\n\n let slot = document.createElement('slot');\n\n slides.appendChild(slot);\n native.appendChild(slides);\n\n if (this.navigation) {\n this.prevButton = this.createPreviousButton();\n this.nextButton = this.createNextButton();\n\n native.appendChild(this.prevButton);\n native.appendChild(this.nextButton);\n }\n\n if (this.pagination) native.appendChild(this.createPagination());\n\n if (this.thumbnails) native.appendChild(this.createThumbnails());\n\n fragment.appendChild(native);\n\n this.slides = slides;\n\n return fragment;\n }\n\n /**\n * After draw method for the Carousel.\n */\n afterDraw() {\n this.setIntersectionObserver();\n this.getSlidesWithClones().forEach((slide, i) => {\n this.intersectionObserver.observe(slide);\n });\n\n this.slidePerPage = this.getAttribute('slide-per-page') || 1;\n let carouselSize = 100 / +this.slidePerPage;\n this.style.setProperty('--wje-carousel-size', carouselSize + '%');\n\n this.goToSlide(this.activeSlide, 'auto');\n\n this.slides.addEventListener('scrollend', (e) => {\n const slides = this.getSlides();\n const entries = [...this.entriesMap.values()];\n const visibleEntries = entries.find((entry) => entry.isIntersecting);\n\n if (visibleEntries?.target.classList.contains('clone')) {\n const cloneIndex = +visibleEntries.target.getAttribute('clone-index');\n this.goToSlide(cloneIndex, 'auto');\n this.activeSlide = cloneIndex;\n } else if (visibleEntries) {\n let slideIndex = slides.indexOf(visibleEntries.target);\n this.activeSlide = slideIndex;\n }\n });\n }\n\n /**\n * Sets up the IntersectionObserver for the Carousel.\n */\n setIntersectionObserver() {\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n this.entriesMap.set(entry.target, entry);\n });\n },\n {\n root: this.context.querySelector('.carousel-slides'),\n threshold: 0.5,\n }\n );\n\n this.entriesMap = new Map();\n this.records = this.intersectionObserver.takeRecords();\n this.records.forEach((entry) => {\n this.entriesMap.set(entry.target, entry);\n });\n }\n\n /**\n * Goes to the slide.\n * @param index\n * @param behavior\n * @param next\n */\n goToSlide(index, behavior = 'smooth', next = true) {\n const slides = this.getSlides();\n const slideWithClones = this.getSlidesWithClones();\n\n // remove active class from all slides\n slideWithClones.forEach((slide, i) => {\n slide.classList.remove('active');\n });\n\n let newActiveSlide = this.loop\n ? (index + slides.length) % slides.length\n : Math.min(Math.max(index, 0), slides.length - 1);\n this.activeSlide = newActiveSlide;\n\n const nextSlideIndex = Math.min(\n Math.max(index + (this.loop ? this.slidePerPage : 0), 0),\n slideWithClones.length - 1\n );\n const nextSlideEl = this.getSlidesWithClones()[nextSlideIndex];\n nextSlideEl.classList.add('active');\n\n let nextSlideRect = nextSlideEl.getBoundingClientRect();\n let slidesContainerRect = this.slides.getBoundingClientRect();\n\n this.slides.scrollTo({\n left: nextSlideRect.left - slidesContainerRect.left + this.slides.scrollLeft,\n top: nextSlideRect.top - slidesContainerRect.top + this.slides.scrollTop,\n behavior: behavior === 'smooth' ? 'smooth' : 'auto',\n });\n\n if (this.navigation && !this.loop) {\n this.nextButton.removeAttribute('disabled');\n this.prevButton.removeAttribute('disabled');\n\n if (this.activeSlide === slides.length - 1) this.nextButton.setAttribute('disabled', '');\n\n if (this.activeSlide === 0) this.prevButton.setAttribute('disabled', '');\n }\n }\n\n /**\n * Clones the first and last items.\n */\n cloneFirstAndLastItems() {\n const items = this.getSlides();\n\n if (items.length && this.loop) {\n // Klonovánie prveho položky a pridanie na koniec\n const firstItemClone = items[0].cloneNode(true);\n firstItemClone.classList.add('clone');\n firstItemClone.setAttribute('clone-index', 0);\n\n this.appendChild(firstItemClone);\n\n // Klonovanie poslednej položky a pridanie na zaciatok\n const lastItemClone = items[items.length - 1].cloneNode(true);\n lastItemClone.classList.add('clone');\n lastItemClone.setAttribute('clone-index', items.length - 1);\n\n this.insertBefore(lastItemClone, this.firstChild);\n }\n }\n\n /**\n * Goes to the next slide.\n */\n removeActiveSlide() {\n this.getSlidesWithClones().forEach((slide, i) => {\n slide.classList.remove('active');\n });\n\n if (this.pagination) {\n this.context.querySelectorAll('.pagination-item').forEach((item) => {\n item.classList.remove('active');\n });\n }\n\n if (this.thumbnails) {\n this.context.querySelectorAll('wje-thumbnail').forEach((item) => {\n item.classList.remove('active');\n });\n }\n }\n\n /**\n * Goes to the next slide.\n */\n changePagination() {\n if (this.pagination) {\n this.removeActiveSlide();\n this.context.querySelectorAll('.pagination-item').forEach((item, i) => {\n if (i === this.activeSlide) {\n item.classList.add('active');\n }\n });\n }\n }\n\n /**\n * Goes to the next slide.\n */\n changeThumbnails() {\n if (this.thumbnails) {\n this.removeActiveSlide();\n this.context.querySelectorAll('wje-thumbnail').forEach((item, i) => {\n if (i === this.activeSlide) {\n item.classList.add('active');\n }\n });\n }\n }\n\n /**\n * Goes to the next slide.\n * @returns {Element}\n */\n createNextButton() {\n const nextButton = document.createElement('wje-button');\n nextButton.classList.add('next');\n nextButton.innerHTML = '<wje-icon name=\"chevron-right\" size=\"large\"></wje-icon>';\n nextButton.setAttribute('circle', '');\n nextButton.setAttribute('fill', 'link');\n nextButton.addEventListener('click', (e) => {\n this.nextSlide();\n });\n\n return nextButton;\n }\n\n /**\n * Goes to the next slide.\n * @returns {Element}\n */\n createPreviousButton() {\n const previousButton = document.createElement('wje-button');\n previousButton.classList.add('prev');\n previousButton.innerHTML = '<wje-icon name=\"chevron-left\" size=\"large\"></wje-icon>';\n previousButton.setAttribute('circle', '');\n previousButton.setAttribute('fill', 'link');\n previousButton.addEventListener('click', (e) => {\n this.previousSlide();\n });\n\n return previousButton;\n }\n\n /**\n * Goes to the next slide.\n * @returns {Element}\n */\n createPagination() {\n const pagination = document.createElement('div');\n pagination.classList.add('pagination');\n\n const slides = this.getSlides();\n slides.forEach((slide, i) => {\n const paginationItem = document.createElement('div');\n paginationItem.classList.add('pagination-item');\n paginationItem.addEventListener('click', (e) => {\n this.removeActiveSlide();\n e.target.classList.add('active');\n this.goToSlide(i);\n });\n pagination.appendChild(paginationItem);\n });\n\n return pagination;\n }\n\n /**\n * Goes to the next slide.\n * @returns {Element}\n */\n createThumbnails() {\n const thumbnails = document.createElement('div');\n thumbnails.classList.add('thumbnails');\n\n const slides = this.getSlides();\n slides.forEach((slide, i) => {\n const thumbnail = document.createElement('wje-thumbnail');\n thumbnail.innerHTML = `<img src=\"${slide.querySelector('wje-img').getAttribute('src')}\"></img>`;\n thumbnail.addEventListener('click', (e) => {\n this.removeActiveSlide();\n e.target.closest('wje-thumbnail').classList.add('active');\n this.goToSlide(i);\n });\n thumbnails.appendChild(thumbnail);\n });\n\n return thumbnails;\n }\n\n /**\n * Goes to the next slide.\n */\n nextSlide() {\n this.goToSlide(this.activeSlide + this.slidePerPage);\n }\n\n /**\n * Goes to the previous slide.\n */\n previousSlide() {\n this.goToSlide(this.activeSlide - this.slidePerPage);\n }\n\n /**\n * Goes to the slide.\n * @returns {Array}\n */\n getSlides() {\n return Array.from(this.querySelectorAll('wje-carousel-item:not(.clone)'));\n }\n\n /**\n * Goes to the slide.\n * @returns {Array}\n */\n getSlidesWithClones() {\n return Array.from(this.querySelectorAll('wje-carousel-item'));\n }\n\n /**\n * Goes to the slide.\n * @returns {boolean}\n */\n canGoNext() {\n return this.querySelector('.native-carousel').scrollLeft < this.querySelector('.native-carousel').scrollWidth;\n }\n\n /**\n * Goes to the slide.\n * @returns {boolean}\n */\n canGoPrevious() {\n return this.querySelector('.native-carousel').scrollLeft > 0;\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport Carousel from './carousel.element.js';\n\n// export * from \"./carousel.element.js\";\nexport default Carousel;\n\nWJElement.define('wje-carousel', Carousel);\n"],"names":[],"mappings":";;;;;AAWe,MAAM,iBAAiB,UAAU;AAAA;AAAA;AAAA;AAAA,EAI5C,cAAc;AACV;AAyDJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAvDR,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,YAAY,OAAO;AACnB,SAAK,aAAa,gBAAgB,KAAK;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,cAAc;AACd,WAAO,CAAC,KAAK,aAAa,cAAc,KAAK;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,aAAa;AACb,WAAO,KAAK,aAAa,YAAY;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,aAAa;AACb,WAAO,KAAK,aAAa,YAAY;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,aAAa;AACb,WAAO,KAAK,aAAa,YAAY;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,OAAO;AACP,WAAO,KAAK,aAAa,MAAM;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA,EAYD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,WAAW,qBAAqB;AAC5B,WAAO,CAAC,cAAc;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQD,yBAAyB,MAAM,KAAK,SAAS;AACzC,QAAI,SAAS,gBAAgB;AACzB,UAAI,KAAK,WAAY,MAAK,iBAAgB;AAE1C,UAAI,KAAK,WAAY,MAAK,iBAAgB;AAAA,IAC7C;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKD,aAAa;AACT,SAAK,uBAAsB;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,UAAU,IAAI,iBAAiB;AAEtC,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,UAAU,IAAI,iBAAiB;AAEtC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,WAAO,YAAY,IAAI;AACvB,WAAO,YAAY,MAAM;AAEzB,QAAI,KAAK,YAAY;AACjB,WAAK,aAAa,KAAK;AACvB,WAAK,aAAa,KAAK;AAEvB,aAAO,YAAY,KAAK,UAAU;AAClC,aAAO,YAAY,KAAK,UAAU;AAAA,IACrC;AAED,QAAI,KAAK,WAAY,QAAO,YAAY,KAAK,iBAAgB,CAAE;AAE/D,QAAI,KAAK,WAAY,QAAO,YAAY,KAAK,iBAAgB,CAAE;AAE/D,aAAS,YAAY,MAAM;AAE3B,SAAK,SAAS;AAEd,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,YAAY;AACR,SAAK,wBAAuB;AAC5B,SAAK,oBAAqB,EAAC,QAAQ,CAAC,OAAO,MAAM;AAC7C,WAAK,qBAAqB,QAAQ,KAAK;AAAA,IACnD,CAAS;AAED,SAAK,eAAe,KAAK,aAAa,gBAAgB,KAAK;AAC3D,QAAI,eAAe,MAAM,CAAC,KAAK;AAC/B,SAAK,MAAM,YAAY,uBAAuB,eAAe,GAAG;AAEhE,SAAK,UAAU,KAAK,aAAa,MAAM;AAEvC,SAAK,OAAO,iBAAiB,aAAa,CAAC,MAAM;AAC7C,YAAM,SAAS,KAAK;AACpB,YAAM,UAAU,CAAC,GAAG,KAAK,WAAW,OAAQ,CAAA;AAC5C,YAAM,iBAAiB,QAAQ,KAAK,CAAC,UAAU,MAAM,cAAc;AAEnE,UAAI,iDAAgB,OAAO,UAAU,SAAS,UAAU;AACpD,cAAM,aAAa,CAAC,eAAe,OAAO,aAAa,aAAa;AACpE,aAAK,UAAU,YAAY,MAAM;AACjC,aAAK,cAAc;AAAA,MACtB,WAAU,gBAAgB;AACvB,YAAI,aAAa,OAAO,QAAQ,eAAe,MAAM;AACrD,aAAK,cAAc;AAAA,MACtB;AAAA,IACb,CAAS;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKD,0BAA0B;AACtB,SAAK,uBAAuB,IAAI;AAAA,MAC5B,CAAC,YAAY;AACT,gBAAQ,QAAQ,CAAC,UAAU;AACvB,eAAK,WAAW,IAAI,MAAM,QAAQ,KAAK;AAAA,QAC3D,CAAiB;AAAA,MACJ;AAAA,MACD;AAAA,QACI,MAAM,KAAK,QAAQ,cAAc,kBAAkB;AAAA,QACnD,WAAW;AAAA,MACd;AAAA,IACb;AAEQ,SAAK,aAAa,oBAAI;AACtB,SAAK,UAAU,KAAK,qBAAqB,YAAW;AACpD,SAAK,QAAQ,QAAQ,CAAC,UAAU;AAC5B,WAAK,WAAW,IAAI,MAAM,QAAQ,KAAK;AAAA,IACnD,CAAS;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQD,UAAU,OAAO,WAAW,UAAU,OAAO,MAAM;AAC/C,UAAM,SAAS,KAAK;AACpB,UAAM,kBAAkB,KAAK;AAG7B,oBAAgB,QAAQ,CAAC,OAAO,MAAM;AAClC,YAAM,UAAU,OAAO,QAAQ;AAAA,IAC3C,CAAS;AAED,QAAI,iBAAiB,KAAK,QACnB,QAAQ,OAAO,UAAU,OAAO,SACjC,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,OAAO,SAAS,CAAC;AACpD,SAAK,cAAc;AAEnB,UAAM,iBAAiB,KAAK;AAAA,MACxB,KAAK,IAAI,SAAS,KAAK,OAAO,KAAK,eAAe,IAAI,CAAC;AAAA,MACvD,gBAAgB,SAAS;AAAA,IACrC;AACQ,UAAM,cAAc,KAAK,oBAAqB,EAAC,cAAc;AAC7D,gBAAY,UAAU,IAAI,QAAQ;AAElC,QAAI,gBAAgB,YAAY;AAChC,QAAI,sBAAsB,KAAK,OAAO,sBAAqB;AAE3D,SAAK,OAAO,SAAS;AAAA,MACjB,MAAM,cAAc,OAAO,oBAAoB,OAAO,KAAK,OAAO;AAAA,MAClE,KAAK,cAAc,MAAM,oBAAoB,MAAM,KAAK,OAAO;AAAA,MAC/D,UAAU,aAAa,WAAW,WAAW;AAAA,IACzD,CAAS;AAED,QAAI,KAAK,cAAc,CAAC,KAAK,MAAM;AAC/B,WAAK,WAAW,gBAAgB,UAAU;AAC1C,WAAK,WAAW,gBAAgB,UAAU;AAE1C,UAAI,KAAK,gBAAgB,OAAO,SAAS,EAAG,MAAK,WAAW,aAAa,YAAY,EAAE;AAEvF,UAAI,KAAK,gBAAgB,EAAG,MAAK,WAAW,aAAa,YAAY,EAAE;AAAA,IAC1E;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKD,yBAAyB;AACrB,UAAM,QAAQ,KAAK;AAEnB,QAAI,MAAM,UAAU,KAAK,MAAM;AAE3B,YAAM,iBAAiB,MAAM,CAAC,EAAE,UAAU,IAAI;AAC9C,qBAAe,UAAU,IAAI,OAAO;AACpC,qBAAe,aAAa,eAAe,CAAC;AAE5C,WAAK,YAAY,cAAc;AAG/B,YAAM,gBAAgB,MAAM,MAAM,SAAS,CAAC,EAAE,UAAU,IAAI;AAC5D,oBAAc,UAAU,IAAI,OAAO;AACnC,oBAAc,aAAa,eAAe,MAAM,SAAS,CAAC;AAE1D,WAAK,aAAa,eAAe,KAAK,UAAU;AAAA,IACnD;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKD,oBAAoB;AAChB,SAAK,oBAAqB,EAAC,QAAQ,CAAC,OAAO,MAAM;AAC7C,YAAM,UAAU,OAAO,QAAQ;AAAA,IAC3C,CAAS;AAED,QAAI,KAAK,YAAY;AACjB,WAAK,QAAQ,iBAAiB,kBAAkB,EAAE,QAAQ,CAAC,SAAS;AAChE,aAAK,UAAU,OAAO,QAAQ;AAAA,MAC9C,CAAa;AAAA,IACJ;AAED,QAAI,KAAK,YAAY;AACjB,WAAK,QAAQ,iBAAiB,eAAe,EAAE,QAAQ,CAAC,SAAS;AAC7D,aAAK,UAAU,OAAO,QAAQ;AAAA,MAC9C,CAAa;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKD,mBAAmB;AACf,QAAI,KAAK,YAAY;AACjB,WAAK,kBAAiB;AACtB,WAAK,QAAQ,iBAAiB,kBAAkB,EAAE,QAAQ,CAAC,MAAM,MAAM;AACnE,YAAI,MAAM,KAAK,aAAa;AACxB,eAAK,UAAU,IAAI,QAAQ;AAAA,QAC9B;AAAA,MACjB,CAAa;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKD,mBAAmB;AACf,QAAI,KAAK,YAAY;AACjB,WAAK,kBAAiB;AACtB,WAAK,QAAQ,iBAAiB,eAAe,EAAE,QAAQ,CAAC,MAAM,MAAM;AAChE,YAAI,MAAM,KAAK,aAAa;AACxB,eAAK,UAAU,IAAI,QAAQ;AAAA,QAC9B;AAAA,MACjB,CAAa;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,mBAAmB;AACf,UAAM,aAAa,SAAS,cAAc,YAAY;AACtD,eAAW,UAAU,IAAI,MAAM;AAC/B,eAAW,YAAY;AACvB,eAAW,aAAa,UAAU,EAAE;AACpC,eAAW,aAAa,QAAQ,MAAM;AACtC,eAAW,iBAAiB,SAAS,CAAC,MAAM;AACxC,WAAK,UAAS;AAAA,IAC1B,CAAS;AAED,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,uBAAuB;AACnB,UAAM,iBAAiB,SAAS,cAAc,YAAY;AAC1D,mBAAe,UAAU,IAAI,MAAM;AACnC,mBAAe,YAAY;AAC3B,mBAAe,aAAa,UAAU,EAAE;AACxC,mBAAe,aAAa,QAAQ,MAAM;AAC1C,mBAAe,iBAAiB,SAAS,CAAC,MAAM;AAC5C,WAAK,cAAa;AAAA,IAC9B,CAAS;AAED,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,mBAAmB;AACf,UAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,eAAW,UAAU,IAAI,YAAY;AAErC,UAAM,SAAS,KAAK;AACpB,WAAO,QAAQ,CAAC,OAAO,MAAM;AACzB,YAAM,iBAAiB,SAAS,cAAc,KAAK;AACnD,qBAAe,UAAU,IAAI,iBAAiB;AAC9C,qBAAe,iBAAiB,SAAS,CAAC,MAAM;AAC5C,aAAK,kBAAiB;AACtB,UAAE,OAAO,UAAU,IAAI,QAAQ;AAC/B,aAAK,UAAU,CAAC;AAAA,MAChC,CAAa;AACD,iBAAW,YAAY,cAAc;AAAA,IACjD,CAAS;AAED,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,mBAAmB;AACf,UAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,eAAW,UAAU,IAAI,YAAY;AAErC,UAAM,SAAS,KAAK;AACpB,WAAO,QAAQ,CAAC,OAAO,MAAM;AACzB,YAAM,YAAY,SAAS,cAAc,eAAe;AACxD,gBAAU,YAAY,aAAa,MAAM,cAAc,SAAS,EAAE,aAAa,KAAK,CAAC;AACrF,gBAAU,iBAAiB,SAAS,CAAC,MAAM;AACvC,aAAK,kBAAiB;AACtB,UAAE,OAAO,QAAQ,eAAe,EAAE,UAAU,IAAI,QAAQ;AACxD,aAAK,UAAU,CAAC;AAAA,MAChC,CAAa;AACD,iBAAW,YAAY,SAAS;AAAA,IAC5C,CAAS;AAED,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,YAAY;AACR,SAAK,UAAU,KAAK,cAAc,KAAK,YAAY;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA,EAKD,gBAAgB;AACZ,SAAK,UAAU,KAAK,cAAc,KAAK,YAAY;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,YAAY;AACR,WAAO,MAAM,KAAK,KAAK,iBAAiB,+BAA+B,CAAC;AAAA,EAC3E;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,sBAAsB;AAClB,WAAO,MAAM,KAAK,KAAK,iBAAiB,mBAAmB,CAAC;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,YAAY;AACR,WAAO,KAAK,cAAc,kBAAkB,EAAE,aAAa,KAAK,cAAc,kBAAkB,EAAE;AAAA,EACrG;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,gBAAgB;AACZ,WAAO,KAAK,cAAc,kBAAkB,EAAE,aAAa;AAAA,EAC9D;AACL;AC/bA,UAAU,OAAO,gBAAgB,QAAQ;"}
|
package/dist/wje-checkbox.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-checkbox.js","sources":["../packages/wje-checkbox/checkbox.element.js","../packages/wje-checkbox/checkbox.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This method dispatches a custom event named \"wje-checkbox:change\".\n * It is triggered when the input event is fired, which happens when the state of the checkbox changes.\n * The event is dispatched on the current instance of the Checkbox class.\n * @documentation https://elements.webjet.sk/components/checkbox\n * @status stable\n * @augments WJElement\n * @slot - The checkbox main content.\n * @csspart native - The component's native wrapper.\n * @cssproperty [--wje-checkbox-border-radius=--wje-border-radius-medium] - Border radius of the component;\n * @cssproperty [--wje-checkbox-border-width=1px] - Border width of the component;\n * @cssproperty [--wje-checkbox-border-style=solid] - Border style of the component;\n * @cssproperty [--wje-checkbox-border-color=--wje-color-contrast-1] - Border color of the component;\n * @cssproperty [--wje-checkbox-margin-inline=0] - Margin inline of the component;\n * //@fires wje-checkbox:change - Dispatched when the checkbox state changes;\n */\nexport default class Checkbox extends WJElement {\n /**\n * Checkbox constructor method.\n */\n constructor() {\n super();\n this.internals = this.attachInternals();\n }\n\n /**\n * Setter for the value attribute.\n * @param {string} value The value to set.\n */\n set value(value) {\n this.internals.setFormValue(value);\n\n if (this.input) this.input.value = value;\n }\n\n /**\n * Getter for the value attribute.\n * @returns {string} The value of the attribute.\n */\n get value() {\n return this.input?.value || '';\n }\n\n /**\n * Getter for the customErrorDisplay attribute.\n * @returns {boolean} Whether the attribute is present.\n */\n get customErrorDisplay() {\n return this.hasAttribute('custom-error-display');\n }\n\n /**\n * Getter for the validateOnChange attribute.\n * @returns {boolean} Whether the attribute is present.\n */\n get validateOnChange() {\n return this.hasAttribute('validate-on-change');\n }\n\n /**\n * Setter for the invalid attribute.\n * @param {boolean} isInvalid Whether the input is invalid.\n */\n set invalid(isInvalid) {\n if (isInvalid) this.setAttribute('invalid', '');\n else this.removeAttribute('invalid');\n }\n\n /**\n * Getter for the invalid attribute.\n * @returns {boolean} Whether the attribute is present.\n */\n get invalid() {\n return this.hasAttribute('invalid');\n }\n\n /**\n * Getter for the form attribute.\n * @returns {HTMLFormElement} The form the input is associated with.\n */\n get form() {\n return this.internals.form;\n }\n\n /**\n * Getter for the name attribute.\n * @returns {string} The name of the input.\n */\n get name() {\n return this.getAttribute('name');\n }\n\n /**\n * Getter for the type attribute.\n * @returns {string} The type of the input.\n */\n get type() {\n return this.localName;\n }\n\n /**\n * Getter for the validity attribute.\n * @returns {ValidityState} The validity state of the input.\n */\n get validity() {\n return this.internals.validity;\n }\n\n /**\n * Getter for the validationMessage attribute.\n * @returns {string} The validation message of the input.\n */\n get validationMessage() {\n return this.internals.validationMessage;\n }\n\n /**\n * Getter for the willValidate attribute.\n * @returns {boolean} Whether the input will be validated.\n */\n get willValidate() {\n return this.internals.willValidate;\n }\n\n /**\n * Getter for the defaultValue attribute.\n * This method retrieves the 'value' attribute of the custom input element.\n * The 'value' attribute represents the default value of the input element.\n * If the 'value' attribute is not set, it returns an empty string.\n * @returns {string} The default value of the input element.\n */\n get defaultValue() {\n return this.getAttribute('value') ?? '';\n }\n\n /**\n * Setter for the defaultValue attribute.\n * This method sets the 'value' attribute of the custom input element to the provided value.\n * The 'value' attribute represents the default value of the input element.\n * @param {string} value The value to set as the default value.\n */\n set defaultValue(value) {\n this.setAttribute('value', value);\n }\n\n /**\n * Set checked attribute.\n * @param {boolean} value true if the toggle is checked, false otherwise\n */\n set disabled(value) {\n if (value) this.setAttribute('disabled', '');\n else this.removeAttribute('disabled');\n }\n\n /**\n * Get disabled attribute value.\n * @returns {boolean} true if the toggle is disabled, false otherwise\n */\n get disabled() {\n return this.hasAttribute('disabled');\n }\n\n /**\n * Set checked attribute.\n * @param {boolean} value true if the toggle is checked, false otherwise\n */\n set checked(value) {\n if (value) this.setAttribute('checked', '');\n else this.removeAttribute('checked');\n }\n\n /**\n * Get checked attribute.\n * @returns {boolean} true if the toggle is checked, false otherwise\n */\n get checked() {\n return this.hasAttribute('checked');\n }\n\n /**\n * The class name for the Checkbox.\n */\n className = 'Checkbox';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {string} The CSS stylesheet.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n static get observedAttributes() {\n return ['checked', 'disabled', 'value'];\n }\n\n /**\n * Whether the input is associated with a form.\n * @type {boolean}\n */\n static formAssociated = true;\n\n /**\n * Sets up the attributes for the checkbox.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the checkbox element.\n * @returns {DocumentFragment} The created fragment.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-checkbox');\n\n let input = document.createElement('input');\n input.type = 'checkbox';\n input.id = 'checkbox';\n input.name = this.name || 'checkbox';\n input.checked = this.hasAttribute('checked');\n input.disabled = this.hasAttribute('disabled');\n input.indeterminate = this.hasAttribute('indeterminate');\n\n let label = document.createElement('label');\n label.htmlFor = 'checkbox';\n label.innerHTML = '<slot></slot>';\n\n native.appendChild(input);\n native.appendChild(label);\n\n this.input = input;\n\n fragment.appendChild(native);\n\n return fragment;\n }\n\n /**\n * Adds an event listener after drawing the checkbox.\n */\n afterDraw() {\n if (!this.disabled) {\n this.input.addEventListener('input', (e) => {\n this.value = e.target.checked;\n this.checked = e.target.checked;\n event.dispatchCustomEvent(this, 'wje-toggle:input');\n });\n\n this.input.addEventListener('change', (e) => {\n this.value = e.target.checked;\n this.checked = e.target.checked;\n event.dispatchCustomEvent(this, 'wje-toggle:change');\n });\n }\n }\n\n /**\n * Removes the event listener when the checkbox is disconnected.\n */\n beforeDisconnect() {\n event.removeElement(this.input);\n }\n\n /**\n * @summary Callback function that is called when the custom element is associated with a form.\n * This function adds an event listener to the form's submit event, which validates the input and propagates the validation.\n * @param {HTMLFormElement} form The form the custom element is associated with.\n */\n formAssociatedCallback(form) {\n form?.addEventListener('submit', () => {\n // this.validateInput();\n // this.propagateValidation();\n });\n }\n\n /**\n * The formResetCallback method is a built-in lifecycle callback that gets called when a form gets reset.\n * This method is responsible for resetting the value of the custom input element to its default value.\n * It also resets the form value and validity state in the form internals.\n * @function\n */\n formResetCallback() {\n // Set the value of the custom input element to its default value\n this.value = this.defaultValue;\n // Reset the form value in the form internals to the default value\n this.internals.setFormValue(this.defaultValue);\n // Reset the validity state in the form internals\n this.internals.setValidity({});\n }\n\n /**\n * The formStateRestoreCallback method is a built-in lifecycle callback that gets called when the state of a form-associated custom element is restored.\n * This method is responsible for restoring the value of the custom input element to its saved state.\n * It also restores the form value and validity state in the form internals to their saved states.\n * @param {object} state The saved state of the custom input element.\n * @function\n */\n formStateRestoreCallback(state) {\n // Set the value of the custom input element to its saved value\n this.value = state.value;\n // Restore the form value in the form internals to the saved value\n this.internals.setFormValue(state.value);\n // Restore the validity state in the form internals to the saved state\n this.internals.setValidity({});\n }\n\n /**\n * The formStateSaveCallback method is a built-in lifecycle callback that gets called when the state of a form-associated custom element is saved.\n * This method is responsible for saving the value of the custom input element.\n * @returns {object} The saved state of the custom input element.\n * @function\n */\n formStateSaveCallback() {\n return {\n value: this.value,\n };\n }\n\n /**\n * The formDisabledCallback method is a built-in lifecycle callback that gets called when the disabled state of a form-associated custom element changes.\n * This method is not implemented yet.\n * @param {boolean} disabled The new disabled state of the custom input element.\n * @function\n */\n formDisabledCallback(disabled) {\n console.warn('formDisabledCallback not implemented yet');\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport Checkbox from './checkbox.element.js';\n\n// export * from \"./checkbox.element.js\";\nexport default Checkbox;\n\nWJElement.define('wje-checkbox', Checkbox);\n"],"names":[],"mappings":"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"}
|
package/dist/wje-chip.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-chip.js","sources":["../packages/wje-chip/chip.element.js","../packages/wje-chip/chip.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This method dispatches a custom event named \"wje-chip:remove\".\n * It is triggered when the remove button is clicked, which happens when the chip is removed.\n * The event is dispatched on the current instance of the Chip class.\n * @documentation https://elements.webjet.sk/components/chip\n * @status stable\n * @augments WJElement\n * @slot - The chip main content.\n * @csspart native - The component's native wrapper.\n * //@fires wje-chip:remove - Dispatched when the chip is removed;\n */\nexport default class Chip extends WJElement {\n /**\n * Chip constructor method.\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the Chip element.\n * @type {string}\n */\n className = 'Chip';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {*}\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the Chip element.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.classList.add('native-chip');\n\n let slot = document.createElement('slot');\n\n let remove = document.createElement('wje-button');\n remove.setAttribute('part', 'remove');\n remove.setAttribute('fill', 'link');\n remove.setAttribute('color', this.color || 'default');\n remove.innerHTML = `<wje-icon name=\"x\"></wje-icon>`;\n\n let active = document.createElement('wje-icon');\n active.setAttribute('name', 'check');\n active.classList.add('check');\n\n // Add color\n if (this.hasAttribute('color')) native.classList.add('wje-color-' + this.color, 'wje-color');\n else native.classList.add('wje-color-default', 'wje-color');\n\n if (this.disabled) this.classList.add('wje-disabled');\n\n if (this.outline) this.classList.add('wje-outline');\n\n native.appendChild(slot);\n native.appendChild(active);\n\n if (this.hasAttribute('removable')) native.appendChild(remove);\n\n fragment.appendChild(native);\n\n this.removeElement = remove;\n return fragment;\n }\n\n /**\n * Getter for the observed attributes.\n */\n afterDraw() {\n event.addListener(this.removeElement, 'click', 'wje:chip-remove', null, { stopPropagation: true });\n }\n\n /**\n * Before disconnect event for the Chip element.\n */\n beforeDisconnect() {\n event.removeListener(this.removeElement, 'click', 'wje:chip-remove');\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport Chip from './chip.element.js';\n\n// export * from \"./chip.element.js\";\nexport default Chip;\n\nWJElement.define('wje-chip', Chip);\n"],"names":[],"mappings":";;;;;AAce,MAAM,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA,EAIxC,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA,EAYD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,UAAU,IAAI,aAAa;AAElC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,QAAI,SAAS,SAAS,cAAc,YAAY;AAChD,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,aAAa,QAAQ,MAAM;AAClC,WAAO,aAAa,SAAS,KAAK,SAAS,SAAS;AACpD,WAAO,YAAY;AAEnB,QAAI,SAAS,SAAS,cAAc,UAAU;AAC9C,WAAO,aAAa,QAAQ,OAAO;AACnC,WAAO,UAAU,IAAI,OAAO;AAG5B,QAAI,KAAK,aAAa,OAAO,EAAG,QAAO,UAAU,IAAI,eAAe,KAAK,OAAO,WAAW;AAAA,QACtF,QAAO,UAAU,IAAI,qBAAqB,WAAW;AAE1D,QAAI,KAAK,SAAU,MAAK,UAAU,IAAI,cAAc;AAEpD,QAAI,KAAK,QAAS,MAAK,UAAU,IAAI,aAAa;AAElD,WAAO,YAAY,IAAI;AACvB,WAAO,YAAY,MAAM;AAEzB,QAAI,KAAK,aAAa,WAAW,EAAG,QAAO,YAAY,MAAM;AAE7D,aAAS,YAAY,MAAM;AAE3B,SAAK,gBAAgB;AACrB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,YAAY;AACR,UAAM,YAAY,KAAK,eAAe,SAAS,mBAAmB,MAAM,EAAE,iBAAiB,KAAI,CAAE;AAAA,EACpG;AAAA;AAAA;AAAA;AAAA,EAKD,mBAAmB;AACf,UAAM,eAAe,KAAK,eAAe,SAAS,iBAAiB;AAAA,EACtE;AACL;AC3FA,UAAU,OAAO,YAAY,IAAI;"}
|
package/dist/wje-col.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-col.js","sources":["../packages/wje-col/col.element.js","../packages/wje-col/col.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './scss/styles.scss?inline';\n\n/**\n * @summary Col class that extends WJElement.\n * @documentation https://elements.webjet.sk/components/col\n * @status stable\n * @augments WJElement\n * @slot - The col main content.\n */\nexport default class Col extends WJElement {\n constructor() {\n super();\n }\n\n className = 'Col';\n\n static get cssStyleSheet() {\n return styles;\n }\n\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the component element.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('slot');\n\n if (this.order) this.classList.add('order-' + this.order);\n\n if (this.size) this.classList.add('wje-col-' + this.size);\n\n if (this.sizeSm) this.classList.add('wje-col-sm-' + this.sizeSm);\n\n if (this.sizeMd) this.classList.add('wje-col-md-' + this.sizeMd);\n\n if (this.offset) this.classList.add('wje-offset-' + this.offset);\n\n if (this.offsetSm) this.classList.add('wje-offset-sm-' + this.offsetSm);\n\n fragment.appendChild(element);\n\n return fragment;\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport Col from './col.element.js';\n\n// export * from \"./col.element.js\";\nexport default Col;\n\nWJElement.define('wje-col', Col);\n"],"names":[],"mappings":";;;;;AAUe,MAAM,YAAY,UAAU;AAAA,EACvC,cAAc;AACV;AAGJ,qCAAY;AAAA,EAFX;AAAA,EAID,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA,EAED,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,UAAU,SAAS,cAAc,MAAM;AAE3C,QAAI,KAAK,MAAO,MAAK,UAAU,IAAI,WAAW,KAAK,KAAK;AAExD,QAAI,KAAK,KAAM,MAAK,UAAU,IAAI,aAAa,KAAK,IAAI;AAExD,QAAI,KAAK,OAAQ,MAAK,UAAU,IAAI,gBAAgB,KAAK,MAAM;AAE/D,QAAI,KAAK,OAAQ,MAAK,UAAU,IAAI,gBAAgB,KAAK,MAAM;AAE/D,QAAI,KAAK,OAAQ,MAAK,UAAU,IAAI,gBAAgB,KAAK,MAAM;AAE/D,QAAI,KAAK,SAAU,MAAK,UAAU,IAAI,mBAAmB,KAAK,QAAQ;AAEtE,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AACL;AC5CA,UAAU,OAAO,WAAW,GAAG;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-color-picker.js","sources":["../node_modules/tinycolor2/esm/tinycolor.js","../packages/wje-color-picker/color-picker.element.js","../packages/wje-color-picker/color-picker.js"],"sourcesContent":["// This file is autogenerated. It's used to publish ESM to npm.\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\nvar trimLeft = /^\\s+/;\nvar trimRight = /\\s+$/;\nfunction tinycolor(color, opts) {\n color = color ? color : \"\";\n opts = opts || {};\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = Math.round(100 * this._a) / 100, this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) this._r = Math.round(this._r);\n if (this._g < 1) this._g = Math.round(this._g);\n if (this._b < 1) this._b = Math.round(this._b);\n this._ok = rgb.ok;\n}\ntinycolor.prototype = {\n isDark: function isDark() {\n return this.getBrightness() < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n isValid: function isValid() {\n return this._ok;\n },\n getOriginalInput: function getOriginalInput() {\n return this._originalInput;\n },\n getFormat: function getFormat() {\n return this._format;\n },\n getAlpha: function getAlpha() {\n return this._a;\n },\n getBrightness: function getBrightness() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function getLuminance() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r / 255;\n GsRGB = rgb.g / 255;\n BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) R = RsRGB / 12.92;else R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n if (GsRGB <= 0.03928) G = GsRGB / 12.92;else G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n if (BsRGB <= 0.03928) B = BsRGB / 12.92;else B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n },\n setAlpha: function setAlpha(value) {\n this._a = boundAlpha(value);\n this._roundA = Math.round(100 * this._a) / 100;\n return this;\n },\n toHsv: function toHsv() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function toHsvString() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = Math.round(hsv.h * 360),\n s = Math.round(hsv.s * 100),\n v = Math.round(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function toHsl() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function toHslString() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = Math.round(hsl.h * 360),\n s = Math.round(hsl.s * 100),\n l = Math.round(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function toHex(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function toHexString(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function toHex8(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function toHex8String(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function toRgb() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function toRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function toPercentageRgb() {\n return {\n r: Math.round(bound01(this._r, 255) * 100) + \"%\",\n g: Math.round(bound01(this._g, 255) * 100) + \"%\",\n b: Math.round(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function toPercentageRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function toName() {\n if (this._a === 0) {\n return \"transparent\";\n }\n if (this._a < 1) {\n return false;\n }\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function toFilter(secondColor) {\n var hex8String = \"#\" + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function toString(format) {\n var formatSet = !!format;\n format = format || this._format;\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n },\n clone: function clone() {\n return tinycolor(this.toString());\n },\n _applyModification: function _applyModification(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function lighten() {\n return this._applyModification(_lighten, arguments);\n },\n brighten: function brighten() {\n return this._applyModification(_brighten, arguments);\n },\n darken: function darken() {\n return this._applyModification(_darken, arguments);\n },\n desaturate: function desaturate() {\n return this._applyModification(_desaturate, arguments);\n },\n saturate: function saturate() {\n return this._applyModification(_saturate, arguments);\n },\n greyscale: function greyscale() {\n return this._applyModification(_greyscale, arguments);\n },\n spin: function spin() {\n return this._applyModification(_spin, arguments);\n },\n _applyCombination: function _applyCombination(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function analogous() {\n return this._applyCombination(_analogous, arguments);\n },\n complement: function complement() {\n return this._applyCombination(_complement, arguments);\n },\n monochromatic: function monochromatic() {\n return this._applyCombination(_monochromatic, arguments);\n },\n splitcomplement: function splitcomplement() {\n return this._applyCombination(_splitcomplement, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function triad() {\n return this._applyCombination(polyad, [3]);\n },\n tetrad: function tetrad() {\n return this._applyCombination(polyad, [4]);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function (color, opts) {\n if (_typeof(color) == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n } else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n if (_typeof(color) == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\n };\n}\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) return false;\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\ntinycolor.random = function () {\n return tinycolor.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\n });\n};\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction _desaturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\nfunction _saturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\nfunction _greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\nfunction _lighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\nfunction _brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return tinycolor(rgb);\n}\nfunction _darken(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction _spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction _complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\nfunction polyad(color, number) {\n if (isNaN(number) || number <= 0) {\n throw new Error(\"Argument to polyad must be a positive number\");\n }\n var hsl = tinycolor(color).toHsl();\n var result = [tinycolor(color)];\n var step = 360 / number;\n for (var i = 1; i < number; i++) {\n result.push(tinycolor({\n h: (hsl.h + i * step) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n}\nfunction _splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [tinycolor(color), tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n}\nfunction _analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\nfunction _monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h,\n s = hsv.s,\n v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while (results--) {\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function (color1, color2, amount) {\n amount = amount === 0 ? 0 : amount || 50;\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return tinycolor(rgba);\n};\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function (color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(), c2.getLuminance()) + 0.05) / (Math.min(c1.getLuminance(), c2.getLuminance()) + 0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function (color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n out = false;\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function (baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors;\n level = args.level;\n size = args.size;\n for (var i = 0; i < colorList.length; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n if (tinycolor.isReadable(baseColor, bestColor, {\n level: level,\n size: size\n }) || !includeFallbackColors) {\n return bestColor;\n } else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\"#fff\", \"#000\"], args);\n }\n};\n\n// Big List of Colors\n// ------------------\n// <https://www.w3.org/TR/css-color-4/#named-colors>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = {};\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) n = \"100%\";\n var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return n % max / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf(\".\") != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf(\"%\") != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? \"0\" + c : \"\" + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = n * 100 + \"%\";\n }\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\nvar matchers = function () {\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n}();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if (match = matchers.rgb.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n if (match = matchers.rgba.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsl.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n if (match = matchers.hsla.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsv.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n if (match = matchers.hsva.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hex8.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex6.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if (match = matchers.hex4.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n a: convertHexToDecimal(match[4] + \"\" + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex3.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n return false;\n}\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\n level: \"AA\",\n size: \"small\"\n };\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\n level: level,\n size: size\n };\n}\n\nexport { tinycolor as default };\n","import tinycolor from 'tinycolor2';\nimport { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary ColorPicker is a custom web component that extends WJElement.\n * It provides a color picker functionality with a color area, hue slider, alpha slider, and color swatches.\n * The color picker allows users to select a color by moving a marker on the color area, adjusting the hue and alpha sliders, or clicking on a color swatch.\n * @documentation https://elements.webjet.sk/components/color-picker\n * @status stable\n * @augments WJElement\n * @slot - The card header main content.\n * @csspart anchor - The anchor part of the color picker.\n * @csspart picker - The main part of the color picker.\n * @csspart marker - The marker part of the color picker.\n * @csspart color-area - The color area part of the color picker.\n * @csspart hue - The hue slider part of the color picker.\n * @csspart alpha - The alpha slider part of the color picker.\n * @csspart color-preview - The color preview part of the color picker.\n * @csspart input - The input part of the color picker.\n * @cssproperty [--wje-color-picker-area] - The color of the color area background.\n * @cssproperty [--wje-color-picker-value] - The value of the color picker input.\n * @cssproperty [--wje-color-picker-swatch] - The color of the color swatch button.\n * @cssproperty [--wje-color-picker-size] - The color of the color marker.\n * @cssproperty [--wje-color-picker-radius] - The color of the color anchor.\n */\n\nexport default class ColorPicker extends WJElement {\n /**\n * ColorPicker constructor method.\n */\n constructor() {\n super();\n\n /**\n * The position of the color marker.\n * @type {object}\n * @private\n */\n this._markerPosition = {\n markerX: '0',\n markerY: '0',\n };\n\n /**\n * The color swatches.\n * @type {Array}\n * @private\n */\n this._swatches = [\n '#264653',\n '#2a9d8f',\n '#e9c46a',\n 'rgb(244,162,97)',\n '#e76f51',\n '#d62828',\n 'navy',\n '#07b',\n '#0096c7',\n '#00b4d880',\n 'rgba(0,119,182,0.8)',\n ];\n }\n\n /**\n * Setter for the marker position.\n * @param {object} value The new marker position.\n */\n set markerPosition(value) {\n this._markerPosition = value;\n }\n\n /**\n * Getter for the marker position.\n * @returns {object} The current marker position.\n */\n get markerPosition() {\n return this._markerPosition;\n }\n\n /**\n * Setter for the color swatches.\n * @param {string} value The new color swatches.\n */\n set swatches(value) {\n this.setAttribute('swatches', value.split(','));\n }\n\n /**\n * Getter for the color swatches.\n * @returns {Array} The current color swatches.\n */\n get swatches() {\n return this._swatches;\n }\n\n className = 'ColorPicker';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles object.\n * @static\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An empty array.\n * @static\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the ColorPicker.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the ColorPicker element.\n * @returns {DocumentFragment} The created document fragment.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.classList.add('native-color-picker');\n\n // ANCHOR\n let anchor = document.createElement('div');\n anchor.setAttribute('slot', 'anchor');\n anchor.setAttribute('part', 'anchor');\n anchor.classList.add('anchor');\n\n // PICKER\n let picker = document.createElement('div');\n picker.classList.add('picker');\n\n // MARKER\n let marker = document.createElement('div');\n marker.classList.add('marker');\n\n // COLOR AREA\n let colorArea = document.createElement('div');\n colorArea.classList.add('color-area');\n colorArea.addEventListener('click', this.moveMarker);\n\n let wrapper = document.createElement('div');\n wrapper.classList.add('wrapper');\n\n let hueSlider = document.createElement('wje-slider');\n hueSlider.setAttribute('min', '0');\n hueSlider.setAttribute('max', '360');\n hueSlider.classList.add('hue');\n hueSlider.addEventListener('wje-slider:move', this.setHue);\n\n let alphaWrapper = document.createElement('div');\n alphaWrapper.classList.add('alpha-wrapper');\n\n let alphaSlider = document.createElement('wje-slider');\n alphaSlider.setAttribute('min', '0');\n alphaSlider.setAttribute('max', '100');\n alphaSlider.setAttribute('value', '50');\n alphaSlider.classList.add('alpha');\n alphaSlider.addEventListener('wje-slider:move', this.setAlpha);\n\n let inputWrapper = document.createElement('div');\n inputWrapper.classList.add('input-wrapper');\n\n let colorPreview = document.createElement('div');\n colorPreview.classList.add('color-preview');\n\n let input = document.createElement('wje-input');\n input.classList.add('input');\n input.setAttribute('variant', 'standard');\n input.value = '#ff0000';\n\n // APPEND\n\n colorArea.appendChild(marker);\n\n alphaWrapper.appendChild(alphaSlider);\n\n inputWrapper.appendChild(colorPreview);\n inputWrapper.appendChild(input);\n\n wrapper.appendChild(hueSlider);\n wrapper.appendChild(alphaWrapper);\n wrapper.appendChild(inputWrapper);\n\n picker.appendChild(colorArea);\n picker.appendChild(wrapper);\n\n this.createSwatches(wrapper);\n\n // POPUP\n let popup = document.createElement('wje-popup');\n popup.setAttribute('placement', this.placement || 'bottom-start');\n popup.setAttribute('offset', this.offset);\n popup.setAttribute('manual', '');\n popup.appendChild(anchor);\n popup.appendChild(picker);\n\n native.appendChild(popup);\n\n fragment.appendChild(native);\n\n this.popup = popup;\n this.anchor = anchor;\n this.picker = picker;\n this.marker = marker;\n this.colorArea = colorArea;\n this.hueSlider = hueSlider;\n this.alphaSlider = alphaSlider;\n this.colorPreview = colorPreview;\n this.input = input;\n\n return fragment;\n }\n\n /**\n * Sets the hue.\n * @param node\n */\n createSwatches(node) {\n if (this.swatches.length === 0) return;\n\n let swatches = document.createElement('div');\n swatches.classList.add('swatches');\n\n this.swatches.forEach((swatch) => {\n let button = document.createElement('button');\n button.classList.add('swatch');\n button.style.setProperty('--wje-color-picker-swatch', swatch);\n button.addEventListener('click', (e) => {\n this.setSliders(swatch);\n this.setColor(tinycolor(swatch), 'swatch');\n });\n\n swatches.appendChild(button);\n });\n\n node.appendChild(swatches);\n }\n\n /**\n * Sets up the event listeners for the ColorPicker.\n */\n afterDraw() {\n this.init = false;\n // ak sa otvori popup tak si odchytime event a nastavime potrebne parametre\n this.addEventListener('wje-popup:show', (e) => {\n if (!this.init) {\n window.setTimeout(() => {\n this.colorAreaDimension = this.dimension();\n this.markerPosition = this.setMarkerPositionByColor(this.input.value);\n this.setMarkerPosition(this.markerPosition.x, this.markerPosition.y);\n\n if (this.input.value !== '') this.alphaSlider.value = 100;\n\n this.setColor();\n }, 0);\n\n this.init = true;\n }\n });\n }\n\n /**\n * Sets the sliders to the given color.\n * @param color\n */\n setSliders(color) {\n let hsva = tinycolor(color).toHsv();\n this.hueSlider.value = hsva.h;\n this.alphaSlider.value = hsva.a * 100;\n }\n\n /**\n * Gets the dimensions of the color area.\n * @returns {{width: *, x: *, y: *, height: *}}\n */\n dimension() {\n return {\n width: this.colorArea.offsetWidth,\n height: this.colorArea.offsetHeight,\n x: this.colorArea.offsetLeft,\n y: this.colorArea.offsetTop,\n };\n }\n\n /**\n * Disconnects the ColorPicker.\n */\n beforeDisconnect() {\n this.init = false;\n }\n\n /**\n * Moves the marker to the given position.\n * @param e\n */\n moveMarker = (e) => {\n this.colorAreaDimension = this.dimension();\n const pointer = this.getPointerPosition(e);\n\n let x = pointer.pageX - this.colorAreaDimension.x;\n let y = pointer.pageY - this.colorAreaDimension.y;\n\n this.setColor(this.setColorAtPosition(x, y), 'marker');\n this.setMarkerPosition(x, y);\n };\n\n /**\n * Sets the hue.\n * @param e\n * @returns {{pageY: (*|number), pageX: (*|number)}}\n */\n getPointerPosition(e) {\n return {\n pageX: e.changedTouches ? e.changedTouches[0].pageX : e.clientX,\n pageY: e.changedTouches ? e.changedTouches[0].pageY : e.clientY,\n };\n }\n\n /**\n * Sets the position of the marker.\n * @param x\n * @param y\n */\n setMarkerPosition(x, y) {\n // Make sure the marker doesn't go out of bounds\n x = x < 0 ? 0 : x > this.colorAreaDimension.width ? this.colorAreaDimension.width : x;\n y = y < 0 ? 0 : y > this.colorAreaDimension.height ? this.colorAreaDimension.height : y;\n\n this.markerPosition = {\n x: x,\n y: y,\n };\n\n // Set the position\n this.marker.style.left = `${x}px`;\n this.marker.style.top = `${y}px`;\n }\n\n /**\n * Sets the color at the given position.\n * @param x\n * @param y\n * @param alpha\n * @returns {*|tinycolor}\n */\n setColorAtPosition(x, y, alpha = 100) {\n const hsva = {\n h: this.hueSlider.value * 1,\n s: (x / this.colorAreaDimension.width) * 100,\n v: 100 - (y / this.colorAreaDimension.height) * 100,\n a: alpha / 100,\n };\n\n return tinycolor(hsva);\n }\n\n /**\n * Sets the marker position by color.\n * @param color\n * @returns {{x: number, y: number}}\n */\n setMarkerPositionByColor = (color = 'red') => {\n let hsva = tinycolor(color).toHsv();\n return {\n x: this.colorAreaDimension.width * hsva.s,\n y: this.colorAreaDimension.height - this.colorAreaDimension.height * hsva.v,\n };\n };\n\n /**\n * Updates the color picker's current color and its associated UI elements.\n * @param {tinycolor.Instance|null} [color] The color value to set. If null, the current value from the input field is used.\n * @param {string} [type] The type of action determining which UI element to update. Possible values: \"marker\", \"hue\", \"alpha\", \"swatch\".\n */\n setColor = (color = null, type = '') => {\n let currentColor = color;\n\n if (currentColor === null && type === '') {\n currentColor = tinycolor(this.input.value);\n this.colorArea.style.setProperty('--wje-color-picker-area', currentColor.toHexString());\n }\n\n // SET: marker - HEX8\n if (type === 'marker') {\n this.alphaSlider.value = 100;\n this.alphaSlider.style.setProperty('--wje-color-picker-value', currentColor.toHexString());\n this.colorPreview.style.setProperty('--wje-color-picker-value', currentColor.toHex8String());\n this.picker.style.setProperty('--wje-color-picker-value', currentColor.toHexString());\n this.marker.style.setProperty('--wje-color-picker-value', currentColor.toHex8String());\n }\n\n // SET: hue - HEX\n if (type === 'hue') {\n let markerColorByPosition = this.setColorAtPosition(\n this.markerPosition.x,\n this.markerPosition.y,\n this.alphaSlider.value\n );\n\n currentColor = tinycolor(this.getHSVA(this.hueSlider.value, this.alphaSlider.value));\n\n this.colorPreview.style.setProperty('--wje-color-picker-value', markerColorByPosition.toHex8String());\n this.marker.style.setProperty('--wje-color-picker-value', markerColorByPosition.toHexString());\n this.alphaSlider.style.setProperty('--wje-color-picker-value', currentColor.toHexString());\n this.colorArea.style.setProperty('--wje-color-picker-area', currentColor.toHexString());\n this.input.value = markerColorByPosition.toHex8String();\n }\n\n // SET: alpha - HEX8\n if (type === 'alpha') {\n currentColor = tinycolor(this.input.value);\n let hsv = currentColor.toHsv();\n hsv.a = this.alphaSlider.value / 100;\n currentColor = tinycolor(hsv);\n this.colorPreview.style.setProperty('--wje-color-picker-value', currentColor.toHex8String());\n }\n\n // SET: swatch - HEX\n if (type === 'swatch') {\n this.colorPreview.style.setProperty('--wje-color-picker-value', currentColor.toHex8String());\n this.marker.style.setProperty('--wje-color-picker-value', currentColor.toHexString());\n this.alphaSlider.style.setProperty('--wje-color-picker-value', currentColor.toHexString());\n this.colorArea.style.setProperty('--wje-color-picker-area', currentColor.toHex8String());\n\n this.markerPosition = this.setMarkerPositionByColor(currentColor.toHex8String());\n this.setMarkerPosition(this.markerPosition.x, this.markerPosition.y);\n }\n\n this.input.value = currentColor.toHex8String();\n this.anchor.style.setProperty('--wje-color-picker-value', currentColor.toHexString());\n\n this.value = {\n hex8: currentColor.toHex8String(),\n hex: currentColor.toHexString(),\n rgb: currentColor.toRgbString(),\n rgba: currentColor.toRgbString(),\n hsl: currentColor.toHslString(),\n hsla: currentColor.toHslString(),\n hsv: currentColor.toHsvString(),\n hsva: currentColor.toHsvString(),\n name: currentColor.toName(),\n format: currentColor.getFormat(),\n };\n event.dispatchCustomEvent(this, 'wje-color-picker:select', this.value);\n };\n\n /**\n * Sets the hue.\n * @param {object} e The event object.\n */\n setHue = (e) => {\n this.hueSlider.value = e.detail.value;\n\n this.setColor(null, \"hue\");\n }\n\n /**\n * Sets the alpha.\n * @param {object} e The event object.\n */\n setAlpha = (e) => {\n this.alphaSlider.value = e.detail.value;\n\n this.setColor(null, 'alpha');\n };\n\n /**\n * Converts hue and alpha values into an HSVA color string.\n * @param {number} hue The hue value, typically between 0 and 360.\n * @param {number} alpha The alpha value, typically between 0 and 100, representing the opacity percentage.\n * @returns {string} - The HSVA color string in the format `hsva(h, 100%, 100%, a)`.\n */\n getH;\n getHSVA = (hue, alpha) => {\n return `hsva(${hue}, 100%, 100%, ${alpha / 100})`;\n };\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport ColorPicker from './color-picker.element.js';\n\nexport default ColorPicker;\n\nWJElement.define('wje-color-picker', ColorPicker);\n"],"names":["obj","p","q"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-container.js","sources":["../packages/wje-container/container.element.js","../packages/wje-container/container.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary The Container class is a custom web component that extends WJElement. It is a simple container that can hold other elements or components.\n * It provides a slot for adding child elements or components. The Container class also supports indentation through the `indent` property.\n * The indentation is applied as a CSS variable (`--wje-container-indent`) which can be used in the styles of child elements or components.\n * @documentation https://elements.webjet.sk/components/card-header\n * @status stable\n * @augments WJElement\n * @slot - The slot for adding child elements or components.\n * @cssproperty [--wje-container-indent] - The indentation of the container.\n * @tag wje-container\n */\nexport default class Container extends WJElement {\n /**\n * Container constructor method.\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the Container.\n * @type {string}\n */\n className = 'Container';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles object.\n * @static\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An empty array.\n * @static\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the Container.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the Container element.\n * @returns {DocumentFragment} The created document fragment.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n if (this.indent) this.style.setProperty('--wje-container-indent', this.indent);\n\n let element = document.createElement('slot');\n\n fragment.appendChild(element);\n\n return fragment;\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport Container from './container.element.js';\n\n// export * from \"./container.element.js\";\nexport default Container;\n\nWJElement.define('wje-container', Container);\n"],"names":[],"mappings":";;;;;AAce,MAAM,kBAAkB,UAAU;AAAA;AAAA;AAAA;AAAA,EAI7C,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,KAAK,OAAQ,MAAK,MAAM,YAAY,0BAA0B,KAAK,MAAM;AAE7E,QAAI,UAAU,SAAS,cAAc,MAAM;AAE3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AACL;AC9DA,UAAU,OAAO,iBAAiB,SAAS;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-copy-button.js","sources":["../packages/wje-copy-button/service/service.js","../packages/wje-copy-button/copy-button.element.js","../packages/wje-copy-button/copy-button.js"],"sourcesContent":["/**\n * Create a node with the text content.\n * @param text\n * @returns {Element}\n */\nfunction createNode(text) {\n const node = document.createElement('pre');\n node.style.width = '1px';\n node.style.height = '1px';\n node.style.position = 'fixed';\n node.style.top = '5px';\n node.textContent = text;\n return node;\n}\n\n/**\n * Copy the node to the clipboard.\n * @param node\n * @returns {Promise<never>|Promise<void>}\n */\nexport function copyNode(node) {\n if ('clipboard' in navigator) {\n return navigator.clipboard.writeText(node.textContent || '');\n }\n\n const selection = getSelection(); // Firefox return null\n if (selection === null) {\n return Promise.reject(new Error());\n }\n\n selection.removeAllRanges();\n\n const range = document.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n\n // document.execCommand(\"copy\")\n selection.removeAllRanges();\n return Promise.resolve();\n}\n\n/**\n * Copy the text to the clipboard.\n * @param text\n * @returns {Promise<never>|Promise<void>}\n */\nexport function copyText(text) {\n if ('clipboard' in navigator) {\n return navigator.clipboard.writeText(text);\n }\n\n const body = document.body;\n if (!body) {\n return Promise.reject(new Error());\n }\n\n const node = createNode(text);\n body.appendChild(node);\n copyNode(node);\n body.removeChild(node);\n return Promise.resolve();\n}\n","import { default as WJElement, event, WjElementUtils } from '../wje-element/element.js';\nimport Input from '../wje-input/input.js';\nimport { copyNode, copyText } from './service/service.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary CopyButton is a custom web component that extends WJElement.\n * It provides a button that, when clicked, copies a specified text to the clipboard.\n * The text to be copied can be specified through the `value` attribute.\n * The CopyButton also supports keyboard interaction, copying the text when the space or enter key is pressed.\n * @documentation https://elements.webjet.sk/components/copy-button\n * @status stable\n * @augments WJElement\n * @attribute {string} for - The id of the element to copy content from.\n * @attribute {string} value - The text to be copied.\n * @slot - This is a default/unnamed slot.\n * @csspart button - Styles the button element.\n * @cssproperty --text-color - Controls the color of the text.\n * @cssproperty --background-color - Controls the background color of the button.\n * //@fires wje:copy-button - Dispatched when the button is clicked and the text is copied.\n * @tag wje-copy-button\n */\nexport default class CopyButton extends WJElement {\n /**\n * Constructor for the CopyButton class.\n * Initializes the timeout property.\n */\n constructor() {\n super();\n\n this.timeout = 1000;\n }\n\n /**\n * Setter for the value property.\n * @param {string} value The value to be set.\n */\n set value(value) {\n this.setAttribute('value', value);\n }\n\n /**\n * Getter for the value property.\n * @returns {string} The value of the value property.\n */\n get value() {\n return this.getAttribute('value') || '';\n }\n\n className = 'CopyButton';\n\n /**\n * Getter for the cssStyleSheet property.\n * @returns {string} The CSS styles.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observedAttributes property.\n * @returns {Array} An empty array.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the CopyButton.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the ColorPicker element.\n * @returns {DocumentFragment} The created document fragment.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let tooltip = document.createElement('wje-tooltip');\n tooltip.setAttribute('offset', '5');\n tooltip.setAttribute('content', this.label || 'Copy');\n\n if (WjElementUtils.hasSlot(this)) {\n let slot = document.createElement('slot');\n tooltip.appendChild(slot);\n } else {\n let icon = document.createElement('wje-icon');\n icon.setAttribute('name', 'clipboard');\n\n tooltip.appendChild(icon);\n this.icon = icon;\n }\n\n fragment.appendChild(tooltip);\n\n this.tooltip = tooltip;\n\n return fragment;\n }\n\n /**\n * Adds event listeners for the click, focus, and blur events.\n */\n afterDraw() {\n event.addListener(this, 'click', null, this.clicked);\n event.addListener(this, 'focus', null, this.focused);\n event.addListener(this, 'blur', null, this.blurred);\n\n event.addListener(this, 'wje-copy-button:click', null, this.copied);\n }\n\n /**\n * Handles the click event.\n * @param {Event} e The event object.\n */\n clicked = (e) => {\n const button = e.currentTarget;\n if (button instanceof HTMLElement) {\n this.copy(button);\n }\n };\n\n /**\n * Handles the keydown event.\n * @param {Event} e The event object.\n */\n keydown = (e) => {\n if (e.key === ' ' || e.key === 'Enter') {\n const button = e.currentTarget;\n if (button instanceof HTMLElement) {\n this.copy(button);\n }\n }\n };\n\n /**\n * Handles the focus event.\n * @param {Event} e The event object.\n */\n focused = (e) => {\n e.currentTarget.addEventListener('keydown', this.keydown);\n };\n\n /**\n * Handles the blur event.\n * @param {Event} e The event object.\n */\n blurred = (e) => {\n e.currentTarget.removeEventListener('keydown', this.keydown);\n };\n\n /**\n * Handles the copied event.\n * You can override this method to customize the behavior when the text is copied.\n * @param {Event} e The event object.\n */\n copied = (e) => {\n if (this.hasOwnProperty('icon')) {\n this.icon.setAttribute('color', 'success');\n this.icon.setAttribute('name', 'check');\n }\n this.tooltip.setAttribute('content', this.labelSuccess || 'Copied');\n\n setTimeout(() => {\n console.log('TIMEOUT', this.hasOwnProperty('icon'));\n if (this.hasOwnProperty('icon')) {\n this.icon.removeAttribute('color');\n this.icon.setAttribute('name', 'clipboard');\n }\n this.tooltip.setAttribute('content', this.label || 'Copy');\n }, this.timeout);\n };\n\n /**\n * Copies the specified text or node.\n * @param {HTMLElement} button The button element.\n */\n async copy(button) {\n const id = this.getAttribute('for');\n const text = this.getAttribute('value');\n\n if (button.getAttribute('aria-disabled') === 'true') {\n return;\n }\n\n if (text) {\n await copyText(text);\n event.dispatchCustomEvent(this, 'wje-copy-button:click');\n } else if (id) {\n const root = 'getRootNode' in Element.prototype ? button.getRootNode() : button.ownerDocument;\n if (!(root instanceof Document || ('ShadowRoot' in window && root instanceof ShadowRoot))) return;\n\n const node = root.getElementById(id);\n if (node) {\n await this.copyTarget(node);\n event.dispatchCustomEvent(this, 'wje-copy-button:click');\n }\n }\n }\n\n /**\n * Copies the target content.\n * @param {HTMLElement} content The content to be copied.\n * @returns {Promise} A promise that resolves when the content is copied.\n */\n copyTarget(content) {\n if (content instanceof HTMLInputElement || content instanceof HTMLTextAreaElement || content instanceof Input) {\n return copyText(content.value);\n } else if (content instanceof HTMLAnchorElement && content.hasAttribute('href')) {\n return copyText(content.href);\n } else {\n return copyNode(content);\n }\n }\n}\n","import CopyButton from './copy-button.element.js';\n\nexport default CopyButton;\n\nCopyButton.define('wje-copy-button', CopyButton);\n"],"names":[],"mappings":"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"}
|
package/dist/wje-dialog.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-dialog.js","sources":["../packages/wje-dialog/dialog.element.js","../packages/wje-dialog/dialog.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport '../wje-button/button.element.js';\nimport '../wje-icon/icon.element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Dialog` is a custom web component that represents a dialog.\n * @summary This element represents a dialog.\n * @documentation https://elements.webjet.sk/components/dialog\n * @status stable\n * @augments {WJElement}\n * @slot header - Slot for the header content.\n * @slot body - Slot for the body content.\n * @slot footer - Slot for the footer content.\n * @csspart dialog - The dialog wrapper.\n * @csspart header - The header of the dialog.\n * @csspart body - The body of the dialog.\n * @csspart footer - The footer of the dialog.\n * @csspart close - The close button of the dialog.\n * @cssproperty [--wje-dialog-background=var(--wje-background-color)] - Specifies the background color of the dialog.\n * @cssproperty [--wje-dialog-color=var(--wje-text-color)] - Defines the text color within the dialog.\n * @cssproperty [--wje-dialog-padding=1rem] - Controls the padding inside the dialog.\n * @cssproperty [--wje-dialog-border-radius=0.5rem] - Sets the border radius for the dialog's corners.\n * @cssproperty [--wje-dialog-box-shadow=0 2px 10px rgba(0, 0, 0, 0.1)] - Applies a shadow effect to the dialog.\n * @tag wje-dialog\n */\n\nexport default class Dialog extends WJElement {\n /**\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * Sets the headline of the dialog.\n * @param value\n */\n set placement(value) {\n this.setAttribute('placement', value);\n }\n\n /**\n * Gets the headline of the dialog.\n * @returns {string|string}\n */\n get placement() {\n return this.getAttribute('placement') || 'slide-up';\n }\n\n /**\n * Sets the headline of the dialog.\n * @param value\n */\n set async(value) {\n this.setAttribute('async', '');\n }\n\n /**\n * Gets the headline of the dialog.\n * @returns {boolean}\n */\n get async() {\n return this.hasAttribute('async');\n }\n\n /**\n * Sets the headline of the dialog.\n * @param value\n */\n set closeHidden(value) {\n if (value) this.setAttribute('close-hidden', '');\n }\n\n /**\n * Gets the headline of the dialog.\n * @returns {boolean}\n */\n get closeHidden() {\n return !!this.hasAttribute('close-hidden');\n }\n\n /**\n * Sets the headline of the dialog.\n * @type {string}\n */\n className = 'Dialog';\n\n /**\n * Returns the CSS styles for the component.\n * @returns {*}\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Returns the list of attributes to observe for changes.\n * @returns {*[]}\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the component.\n * @param {object} context The context for drawing.\n * @param {object} store The store for drawing.\n * @param {object} params The parameters for drawing.\n * @returns {DocumentFragment}\n */\n draw(context, store, params) {\n let fragment = document.createDocumentFragment();\n\n this.classList.add('fade', this.placement, params.size);\n\n let dialog = document.createElement('dialog');\n dialog.classList.add('modal-dialog');\n\n fragment.appendChild(dialog);\n\n this.dialog = dialog;\n return fragment;\n }\n\n /**\n * Creates the dialog body.\n * @param dialog\n */\n htmlDialogBody(dialog) {\n let icon = document.createElement('wje-icon');\n icon.setAttribute('name', 'x');\n icon.setAttribute('slot', 'icon-only');\n\n let close = document.createElement('wje-button');\n close.setAttribute('fill', 'link');\n close.setAttribute('size', 'small');\n close.setAttribute('part', 'close');\n close.addEventListener('click', (e) => {\n this.close(e);\n });\n close.appendChild(icon);\n\n let header = document.createElement('div');\n header.setAttribute('part', 'header');\n header.classList.add('dialog-header');\n if (this.hasAttribute('headline'))\n header.innerHTML = `<span part=\"headline\">${this.getAttribute('headline')}</span>`;\n\n let slotHeader = document.createElement('slot');\n slotHeader.setAttribute('name', 'header');\n\n const headerActions = document.createElement('div');\n headerActions.classList.add('header-actions');\n headerActions.setAttribute('part', 'header-actions');\n headerActions.appendChild(slotHeader);\n\n header.appendChild(headerActions);\n if (!this.closeHidden) header.appendChild(close);\n\n let contentSlot = document.createElement('slot');\n\n let body = document.createElement('div');\n body.setAttribute('part', 'body');\n body.classList.add('dialog-content');\n body.appendChild(contentSlot);\n\n let footer = document.createElement('div');\n footer.setAttribute('part', 'footer');\n footer.classList.add('dialog-footer');\n footer.innerHTML = '';\n\n let slotFooter = document.createElement('slot');\n slotFooter.setAttribute('name', 'footer');\n\n footer.appendChild(slotFooter);\n\n dialog.appendChild(header);\n dialog.appendChild(body);\n dialog.appendChild(footer);\n }\n\n /**\n * Closes the dialog.\n * @param e\n */\n close(e) {\n this.onClose(e);\n }\n\n /**\n * Draws the component after it has been drawn.\n * @param {object} context The context for drawing.\n * @param {object} store The store for drawing.\n * @param {object} params The parameters for drawing.\n */\n afterDraw(context, store, params) {\n if (params.trigger) {\n event.addListener(document, params.trigger, null, this.onOpen);\n }\n\n this.dialog.addEventListener('close', this.onClose);\n }\n\n /**\n * Before the component is disconnected.\n */\n beforeDisconnect() {\n if (this.params?.trigger) {\n event.removeListener(document, this.params?.trigger, null, this.onOpen);\n }\n\n this.dialog.removeEventListener('close', this.onClose);\n }\n\n /**\n * Before the dialog opens.\n */\n beforeOpen() {\n // Hook for extending behavior before the dialog opens\n }\n\n /**\n * After the dialog opens.\n */\n afterOpen() {\n // Hook for extending behavior after the dialog opens\n }\n\n /**\n * Before the dialog closes.\n */\n beforeClose() {\n // Hook for extending behavior before the dialog closes\n }\n\n /**\n * After the dialog closes.\n */\n afterClose() {\n // Hook for extending behavior after the dialog closes\n }\n\n /**\n * Opens the dialog.\n * @param e\n */\n onOpen = (e) => {\n this.dialog.innerHTML = '';\n\n Promise.resolve(this.beforeOpen(this, e)).then((res) => {\n this.htmlDialogBody(this.dialog);\n\n this.dialog.showModal(); // Now open the dialog\n\n if (this.dialog.open) {\n Promise.resolve(this.afterOpen(this, e));\n }\n });\n };\n\n /**\n * Closes the dialog.\n * @param {object} e\n */\n onClose = (e) => {\n Promise.resolve(this.beforeClose(this, e)).then((res) => {\n this.dialog.close(); // Now close the dialog\n\n if (this.dialog.open) {\n Promise.resolve(this.afterClose(this, e));\n }\n });\n };\n}\n","import Dialog from './dialog.element.js';\n\nexport default Dialog;\n\nDialog.define('wje-dialog', Dialog);\n"],"names":[],"mappings":"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"}
|
package/dist/wje-divider.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-divider.js","sources":["../packages/wje-divider/divider.element.js","../packages/wje-divider/divider.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary Divider is a custom web component that extends WJElement.\n * It provides a simple divider line that can be used to separate content.\n * @documentation https://elements.webjet.sk/components/divider\n * @status stable\n * @augments WJElement\n * @slot - This is a default/unnamed slot.\n * @cssproperty [--wje-border-width=1px] - The size of the border.\n * @cssproperty [--wje-divider-border-color=var(--wje-border-color)] - The color of the divider borderline.\n * @cssproperty [--wje-divider-border-width=var(--wje-border-width, 1px)] - The width of the divider borderline.\n * @cssproperty [--wje-divider-spacing=0] - The spacing for the divider.\n * @tag wje-divider\n * @tag wje-divider\n */\nexport default class Divider extends WJElement {\n /**\n * Constructor for the Divider class.\n */\n constructor() {\n super();\n }\n\n /**\n * The class name for the Divider class.\n * @type {string}\n */\n className = 'Divider';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {string} The CSS stylesheet.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An empty array as there are no observed attributes.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the Divider.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the Divider.\n * @returns {DocumentFragment} The created document fragment.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n let slot = document.createElement('slot');\n\n native.appendChild(slot);\n fragment.appendChild(native);\n\n return fragment;\n }\n}\n","import Divider from './divider.element.js';\n\nexport default Divider;\n\nDivider.define('wje-divider', Divider);\n"],"names":[],"mappings":";;;;;AAiBe,MAAM,gBAAgB,UAAU;AAAA;AAAA;AAAA;AAAA,EAI3C,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA,EAYD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,WAAO,YAAY,IAAI;AACvB,aAAS,YAAY,MAAM;AAE3B,WAAO;AAAA,EACV;AACL;ACjEA,QAAQ,OAAO,eAAe,OAAO;"}
|
package/dist/wje-dropdown.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-dropdown.js","sources":["../packages/wje-dropdown/dropdown.element.js","../packages/wje-dropdown/dropdown.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport Popup from '../wje-popup/popup.element.js';\n\n/**\n * `Dropdown` is a custom element that displays a dropdown menu.\n * @summary This element represents a dropdown menu.\n * @documentation https://elements.webjet.sk/components/dropdown\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the dropdown.\n * @slot trigger - The slot for the trigger of the dropdown.\n * @slot - The default slot for the dropdown.\n * // @fires wje-dropdown:open - Event fired when the dropdown is opened.\n * // @fires wje-dropdown:close - Event fired when the dropdown is closed.\n * @tag wje-dropdown\n */\nexport default class Dropdown extends WJElement {\n /**\n * Creates an instance of Dropdown.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * The placement of the dropdown.\n * @type {{\"wje-popup\": Popup}}\n */\n dependencies = {\n 'wje-popup': Popup,\n };\n\n /**\n * Sets the placement of the dropdown.\n * @param value\n */\n set trigger(value) {\n this.setAttribute('trigger', value);\n }\n\n /**\n * Gets the placement of the dropdown.\n * @returns {string|string}\n */\n get trigger() {\n return this.getAttribute('trigger') || 'click';\n }\n\n /**\n * Sets the placement of the dropdown.\n * @type {string}\n */\n className = 'Dropdown';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {string[]}\n */\n static get observedAttributes() {\n return ['active'];\n }\n\n /**\n * Callback function to handle other dropdowns being opened. Close the dropdown if it is not the target and collapse is enabled.\n * @param {Event} e The event object.\n */\n otherDropdownOpennedCallback = (e) => {\n if (e.detail.detail.target !== this) {\n this.classList.remove('active');\n this.popup.hide();\n }\n };\n\n /**\n * Sets up the attributes for the dropdown.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Removes the popup element.\n */\n beforeDraw() {\n this.popup?.remove();\n this.popup = null;\n }\n\n /**\n * Draws the dropdown element and returns the created document fragment.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n this.classList.add('wje-placement', 'wje-' + this.placement || 'wje-start');\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-dropdown');\n\n let tooltip = document.createElement('wje-tooltip');\n tooltip.setAttribute('content', this.tooltip);\n\n let anchorSlot = document.createElement('slot');\n anchorSlot.setAttribute('name', 'trigger');\n anchorSlot.setAttribute('slot', 'anchor');\n\n let slot = document.createElement('slot');\n\n let popup = document.createElement('wje-popup');\n popup.setAttribute('placement', this.placement);\n popup.setAttribute('offset', this.offset);\n\n popup.appendChild(anchorSlot);\n popup.appendChild(slot);\n\n // if(this.trigger === \"click\")\n popup.setAttribute('manual', '');\n\n native.appendChild(popup);\n\n fragment.appendChild(native);\n\n this.popup = popup;\n this.anchorSlot = anchorSlot;\n\n return fragment;\n }\n\n /**\n * Adds event listeners for the mouseenter and mouseleave events.\n */\n afterDisconnect() {\n event.removeListener(this, 'mouseenter', null, this.onOpen);\n event.removeListener(this, 'mouseleave', null, this.onClose);\n event.removeListener(this.anchorSlot, 'click', null, this.toggleCallback, { capture: true });\n }\n\n /**\n * Adds event listeners for the mouseenter and mouseleave events.\n */\n afterDraw() {\n event.addListener(this, 'wje-popup:hide', null, () => {\n this.classList.remove('active');\n });\n\n if (this.trigger !== 'click') {\n event.addListener(this, 'mouseenter', null, this.onOpen);\n event.addListener(this, 'mouseleave', null, this.onClose);\n } else {\n event.addListener(this.anchorSlot, 'click', null, this.toggleCallback, { capture: true });\n }\n\n if (this.hasAttribute('collapsible')) {\n event.addListener(\n Array.from(this.querySelectorAll('wje-menu-item')),\n 'click',\n 'wje-menu-item:click',\n this.onClose\n );\n }\n }\n\n /**\n * @summary Returns the content to be displayed before showing the dropdown.\n * @returns {any} The content to be displayed.\n */\n beforeShow() {\n return this.content;\n }\n\n /**\n * This method is called after the dropdown is shown.\n */\n afterShow() {\n // Do nothing\n }\n\n /**\n * @summary Toggles the dropdown element between active and inactive states.\n * Calls the `onOpen` method if the element is currently inactive,\n * and calls the `onClose` method if the element is currently active.\n * @param {Event} e The event object.\n */\n toggleCallback = (e) => {\n e.stopPropagation();\n if (this.classList.contains('active')) {\n this.onClose(e);\n } else {\n this.onOpen(e);\n }\n };\n\n /**\n * Open the popup element.\n * @param {object} e\n */\n onOpen = (e) => {\n e.stopPropagation();\n\n this.classList.add('active');\n Promise.resolve(this.beforeShow(this))\n .then((res) => {\n if (!this.classList.contains('active')) {\n throw new Error('beforeShow method returned false or not string');\n }\n\n this.popup.show(); // Show tooltip\n\n event.dispatchCustomEvent(this, 'wje-dropdown:open', {\n bubbles: true,\n detail: { target: this },\n });\n\n Promise.resolve(this.afterShow(this));\n })\n .catch((error) => {\n // ak je nejaka chyba tak to len zatvorime\n this.classList.remove('active');\n this.popup.hide();\n });\n };\n\n /**\n * Close the popup element.\n * @param {object} e\n */\n onClose = (e) => {\n this.classList.remove('active');\n this.popup.hide(); // Now close the popup\n\n event.dispatchCustomEvent(this, 'wje-dropdown:close', {\n bubbles: true,\n detail: { target: this },\n });\n };\n}\n","import Dropdown from './dropdown.element.js';\n\nexport default Dropdown;\n\nDropdown.define('wje-dropdown', Dropdown);\n"],"names":[],"mappings":"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"}
|
package/dist/wje-element.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wje-element.js","sources":["../packages/wje-element/service/universal-service.js","../packages/utils/permissions-api.js","../packages/utils/element-utils.js","../packages/utils/event.js","../packages/wje-element/element.js"],"sourcesContent":["export class UniversalService {\n constructor(props = {}) {\n this._store = props.store;\n }\n\n findByKey = (attrName, key, keyValue) => {\n if (this._store.getState()[attrName] instanceof Array) {\n return this._store.getState()[attrName].find((item) => item[key] === keyValue);\n } else {\n console.warn(` Attribute ${attrName} is not array`);\n return null;\n }\n };\n\n findById = (attrName, id) => {\n if (this._store.getState()[attrName] instanceof Array) {\n return this._store.getState()[attrName].find((item) => item.id === id);\n } else {\n console.warn(` Attribute ${attrName} is not array`);\n return null;\n }\n };\n\n findAttributeValue = (attrName) => {\n return this._store.getState()[attrName];\n };\n\n update = (data, action) => {\n this._store.dispatch(action(data));\n };\n\n add = (data, action) => {\n this._store.dispatch(action(data));\n };\n\n _save(url, data, action, dispatchMethod, method) {\n let promise = fetch(url, {\n method: method,\n body: JSON.stringify(data),\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n } else {\n return response.json();\n }\n });\n\n return this.dispatch(promise, dispatchMethod, action);\n }\n\n _get(url, action, dispatchMethod, signal) {\n let promise = fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n ...(signal ? { signal } : {}),\n }).then(async (response) => {\n let responseText;\n try {\n responseText = await response.text();\n return JSON.parse(responseText);\n } catch (err) {\n console.error(err);\n return responseText;\n }\n });\n\n return this.dispatch(promise, dispatchMethod, action);\n }\n\n put(url, data, action, dispatchMethod = true) {\n return this._save(url, data, action, dispatchMethod, 'PUT');\n }\n\n post(url, data, action, dispatchMethod = true) {\n return this._save(url, data, action, dispatchMethod, 'POST');\n }\n\n delete(url, data, action, dispatchMethod = true) {\n return this._save(url, data, action, dispatchMethod, 'DELETE');\n }\n\n get(url, action, dispatchMethod = true) {\n return this._get(url, action, dispatchMethod);\n }\n\n dispatch(promise, dispatchMethod, action) {\n if (dispatchMethod) {\n return promise\n .then((data) => {\n this._store.dispatch(action(data.data));\n return data;\n })\n .catch((error) => {\n console.error(error);\n });\n }\n return promise;\n }\n\n loadPromise = (\n url,\n action,\n method = 'GET',\n data = '',\n permissionCallBack = () => {\n //\n // No empty function\n }\n ) => {\n return fetch(url, {\n method: method,\n body: data,\n headers: {\n 'Content-Type': 'application/json',\n },\n async: true,\n })\n .then((response, e) => {\n let permissions = response.headers.get('permissions')?.split(',');\n permissionCallBack(permissions);\n\n if (response.ok) {\n return response.json();\n } else {\n throw response.json();\n }\n })\n .then((responseData) => {\n this._store.dispatch(action(responseData));\n return responseData;\n });\n };\n\n loadOnePromise = (url, action) => {\n return fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then((response) => {\n const responseData = response.json();\n if (action) {\n this._store.dispatch(action(responseData));\n }\n return responseData;\n });\n };\n}\n","export class WjePermissionsApi {\n static _permissionKey = 'permissions';\n\n /**\n * Sets the permission key.\n * @param value\n */\n static set permissionKey(value) {\n WjePermissionsApi._permissionKey = value || 'permissions';\n }\n\n /**\n * Returns the permission key.\n * @returns {*|string}\n */\n static get permissionKey() {\n return WjePermissionsApi._permissionKey;\n }\n\n /**\n * Sets the permissions.\n * @param value\n */\n static set permissions(value) {\n window.localStorage.setItem(WjePermissionsApi.permissionKey, JSON.stringify(value));\n }\n\n /**\n * Returns the permissions.\n * @returns {string[]}\n */\n static get permissions() {\n return JSON.parse(window.localStorage.getItem(WjePermissionsApi.permissionKey)) || [];\n }\n\n /**\n * Checks if the permission is included.\n * @param key\n * @returns {boolean}\n */\n static includesKey(key) {\n return WjePermissionsApi.permissions.includes(key);\n }\n\n /**\n * Checks if the permission is fulfilled.\n * @returns {boolean}\n */\n static isPermissionFulfilled(permissions) {\n return permissions.some((perm) => WjePermissionsApi.permissions.includes(perm));\n }\n}\n","export class WjElementUtils {\n /**\n * This function creates an element.\n * @param element : HTMLElement - The element value.\n * @param object : Object - The object value.\n */\n static setAttributesToElement(element, object) {\n Object.entries(object).forEach(([key, value]) => {\n element.setAttribute(key, value);\n });\n }\n\n /**\n * This function gets the attributes from an element.\n * @param {string|HTMLElement} el The element or selector to retrieve attributes from.\n * @returns {object} - An object containing the element's attributes as key-value pairs.\n */\n static getAttributes(el) {\n if (typeof el === 'string') el = document.querySelector(el);\n\n return Array.from(el.attributes)\n .filter((a) => !a.name.startsWith('@'))\n .map((a) => [\n a.name\n .split('-')\n .map((s, i) => {\n if (i !== 0) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n } else {\n return s;\n }\n })\n .join(''),\n a.value,\n ])\n .reduce((acc, attr) => {\n acc[attr[0]] = attr[1];\n return acc;\n }, {});\n }\n\n /**\n * This function gets the events from an element.\n * @param {string|HTMLElement} el The element or selector to retrieve events from.\n * @returns {Map<any, any>} - The map value.\n */\n static getEvents(el) {\n if (typeof el === 'string') el = document.querySelector(el);\n\n return Array.from(el.attributes)\n .filter((a) => a.name.startsWith('@wje'))\n .map((a) => [a.name.substring(3).split('-').join(''), a.value])\n .reduce((acc, attr) => {\n acc.set(attr[0], attr[1]);\n return acc;\n }, new Map());\n }\n\n /**\n * This function converts an object to a string.\n * @param {object} object The object to convert.\n * @returns {string} - The string value.\n */\n static attributesToString(object) {\n return Object.entries(object)\n .map(([key, value]) => {\n return `${key}=\"${value}\"`;\n })\n .join(' ');\n }\n\n /**\n * This function checks if the slot exists.\n * @param {string|HTMLElement} el The element or selector to check for slots.\n * @param slotName The slot name to check for.\n * @returns {boolean} - The boolean value.\n */\n static hasSlot(el, slotName = null) {\n let selector = slotName ? `[slot=\"${slotName}\"]` : '[slot]';\n\n return el.querySelectorAll(selector).length > 0 ? true : false;\n }\n\n /**\n * This function checks if the slot has content.\n * @param {string|HTMLElement} el The element or selector to check for slot content\n * @param slotName The slot name to check for.\n * @returns {boolean} - The boolean value.\n */\n static hasSlotContent(el, slotName = null) {\n let slotElement = el.querySelector(`slot`);\n if (slotName) {\n slotElement = el.querySelector(`slot[name=\"${slotName}\"]`);\n }\n\n if (slotElement) {\n const assignedElements = slotElement.assignedElements();\n return assignedElements.length > 0;\n }\n\n return false;\n }\n\n /**\n * This function converts a string to a boolean.\n * @param {string | object} value The value to convert to a boolean. If the value is a boolean, it will be returned as is.\n * @returns {boolean} - The boolean value.\n */\n static stringToBoolean(value) {\n if (typeof value === 'boolean') return value;\n\n return !['false', '0', 0].includes(value);\n }\n}\n","var self; // eslint-disable-line no-var\n\nclass Event {\n constructor() {\n this.customEventStorage = [];\n self = this;\n }\n\n /**\n * Dispatch event to the element and trigger the listener.\n * @param e\n */\n #dispatch(e) {\n let element = this;\n let record = self.findRecordByElement(element);\n let listeners = record.listeners[e.type];\n\n listeners.forEach((listener) => {\n self.dispatchCustomEvent(element, listener.event, {\n originalEvent: e?.type || null,\n context: element,\n event: self,\n });\n\n if (listener.options && listener.options.stopPropagation === true) e.stopPropagation();\n });\n }\n\n /**\n * Dispatch custom event to the element with the specified event name and detail.\n * @param element\n * @param event\n * @param detail\n */\n dispatchCustomEvent(element, event, detail) {\n element.dispatchEvent(\n new CustomEvent(event, {\n detail: detail || {\n context: element,\n event: self,\n },\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n }\n\n /**\n * Find record by element in the storage.\n * @param element\n * @returns {*}\n */\n\n findRecordByElement(element) {\n for (let index = 0, length = this.customEventStorage.length; index < length; index++) {\n let record = this.customEventStorage[index];\n\n if (element === record.element) {\n return record;\n }\n }\n\n return false;\n }\n\n /**\n * Add listener to the element. If the element is an array, the listener will be added to all elements in the array.\n * @param element\n * @param originalEvent\n * @param event\n * @param listener\n * @param options\n */\n addListener(element, originalEvent, event, listener, options) {\n if (!element) return;\n\n if (!Array.isArray(element)) element = [element];\n\n element.forEach((el) => {\n this.writeRecord(el, originalEvent, event, listener, options);\n });\n }\n\n /**\n * Write record to the storage.\n * @param element\n * @param originalEvent\n * @param event\n * @param listener\n * @param options\n */\n writeRecord(element, originalEvent, event, listener, options) {\n let record = this.findRecordByElement(element);\n\n if (record) {\n record.listeners[originalEvent] = record.listeners[originalEvent] || [];\n } else {\n record = {\n element: element,\n listeners: {},\n };\n\n // vytvorime object listeners pre kazdy original event zvlast\n record.listeners[originalEvent] = [];\n\n this.customEventStorage.push(record);\n }\n\n listener = listener || this.#dispatch;\n let obj = {\n listener: listener,\n options: options,\n event: event,\n };\n\n // skontrolujeme ci uz tento listener neexistuje\n if (!this.listenerExists(element, originalEvent, obj)) {\n record.listeners[originalEvent].push(obj);\n\n element.addEventListener(originalEvent, listener, options);\n } else {\n // in case we want to add the same listener multiple times trigger a warning for a better debugging\n // console.warn(\"Listener already exists\", element, originalEvent, listener);\n }\n }\n\n /**\n * Performs a deep equality check between two objects.\n * @param x The first object to compare.\n * @param y The second object to compare.\n * @returns - Returns `true` if the objects are deeply equal, `false` otherwise.\n */\n deepEqual(x, y) {\n return x && y && typeof x === 'object' && typeof x === typeof y\n ? Object.keys(x).length === Object.keys(y).length &&\n Object.keys(x).every((key) => this.deepEqual(x[key], y[key]))\n : x === y;\n }\n\n /**\n * Check if the listener already exists on the element.\n * @param element\n * @param event\n * @param listener\n * @returns\n */\n listenerExists(element, event, listener) {\n let record = this.findRecordByElement(element);\n return record.listeners[event].some((e) => this.deepEqual(e, listener));\n }\n\n /**\n * Remove listener from the element and delete the listener from the custom event storage.\n * @param element\n * @param originalEvent\n * @param event\n * @param listener\n * @param options\n */\n removeListener(element, originalEvent, event, listener, options) {\n let record = this.findRecordByElement(element);\n\n if (record && originalEvent in record.listeners) {\n let index = record.listeners[originalEvent].indexOf(listener);\n\n if (index !== -1) {\n record.listeners[originalEvent].splice(index, 1);\n }\n\n if (!record.listeners[originalEvent].length) {\n delete record.listeners[originalEvent];\n }\n }\n\n listener = listener || this.#dispatch;\n\n element.removeEventListener(originalEvent, listener, options);\n }\n\n /**\n * Remove all event listeners from the specified element and delete the element from the custom event storage.\n * @param {HTMLElement} element The element from which all listeners will be removed.\n */\n removeElement(element) {\n this.customEventStorage = this.customEventStorage.filter((e) => {\n return e.element !== element;\n });\n }\n\n // TODO\n createPromiseFromEvent(element, event) {\n return new Promise((resolve) => {\n let success = () => {\n element.removeEventListener(event, success);\n resolve();\n };\n\n element.addEventListener(event, success);\n });\n }\n}\n\nlet event = new Event();\nexport { event };\n","import { UniversalService } from './service/universal-service.js';\nimport { defaultStoreActions, store } from '../wje-store/store.js';\nimport { WjePermissionsApi } from '../utils/permissions-api.js';\nimport { WjElementUtils } from '../utils/element-utils.js';\nimport { event } from '../utils/event.js';\n\nconst template = document.createElement('template');\ntemplate.innerHTML = ``;\n\nexport default class WJElement extends HTMLElement {\n /**\n * Initializes a new instance of the WJElement class.\n */\n\n constructor() {\n super();\n\n this.isAttached = false;\n this.service = new UniversalService({\n store: store,\n });\n\n // definujeme vsetky zavislosti.\n // Do zavislosti patria len komponenty, ktore su zavisle od ktoreho je zavisly tento komponent\n this.defineDependencies();\n\n this.rendering = false;\n this._dependencies = {};\n\n /**\n * @typedef {CREATED | ATTACHED | BEGINING | START | DRAWING | DONE | DISCONNECTED} DrawingStatus\n * @property {number} CREATED - The component has been created.\n * @property {number} ATTACHED - The component has been attached to the DOM.\n * @property {number} BEGINING - The component is beginning to draw.\n * @property {number} START - The component has started drawing.\n * @property {number} DRAWING - The component is drawing.\n * @property {number} DONE - The component has finished drawing.\n * @property {number} DISCONNECTED - The component has been disconnected from the DOM.\n */\n this.drawingStatuses = {\n CREATED: 0,\n ATTACHED: 1,\n BEGINING: 2,\n START: 3,\n DRAWING: 4,\n DONE: 5,\n DISCONNECTED: 6,\n };\n\n this.drawingStatus = this.drawingStatuses.CREATED;\n }\n\n /**\n * Sets the value of the 'permission' attribute.\n * @param {string[]} value The value to set for the 'permission' attribute.\n */\n set permission(value) {\n this.setAttribute('permission', value.join(','));\n }\n\n /**\n * Gets the value of the 'permission-check' attribute.\n * @returns {string[]} The value of the 'permission' attribute.\n */\n get permission() {\n return this.getAttribute('permission')?.split(',') || [];\n }\n\n /**\n * Sets the 'permission-check' attribute.\n * @param {boolean} value The value to set for the 'permission-check' attribute.\n */\n set isPermissionCheck(value) {\n if (value) this.setAttribute('permission-check', '');\n else this.removeAttribute('permission-check');\n }\n\n /**\n * Checks if the 'permission-check' attribute is present.\n * @returns {boolean} True if the 'permission-check' attribute is present.\n */\n get isPermissionCheck() {\n return this.hasAttribute('permission-check');\n }\n\n set noShow(value) {\n if (value) this.setAttribute('no-show', '');\n else this.removeAttribute('no-show');\n }\n\n /**\n * Checks if the 'show' attribute is present.\n * @returns {boolean} True if the 'show' attribute is present.\n */\n get noShow() {\n return this.hasAttribute('no-show');\n }\n\n /**\n * Sets the 'shadow' attribute.\n * @param value The value to set for the 'shadow' attribute.\n */\n set isShadowRoot(value) {\n return this.setAttribute('shadow', value);\n }\n\n /**\n * Checks if the 'shadow' attribute is present.\n * @returns {boolean} True if the 'shadow' attribute is present.\n */\n get isShadowRoot() {\n return this.hasAttribute('shadow');\n }\n\n /**\n * Gets the value of the 'shadow' attribute or 'open' if not set.\n * @returns {string} The value of the 'shadow' attribute or 'open'.\n */\n get shadowType() {\n return this.getAttribute('shadow') || 'open';\n }\n\n /**\n * Gets the rendering context, either the shadow root or the component itself.\n * @returns The rendering context.\n */\n get context() {\n if (this.isShadowRoot) {\n return this.shadowRoot;\n } else {\n return this;\n }\n }\n\n /**\n * Gets the store instance.\n * @returns {object} The store instance.\n */\n get store() {\n return store;\n }\n\n /**\n * @typedef {object} ArrayActions\n * @property {Function} addAction - Adds an item to the array.\n * @property {Function} deleteAction - Deletes an item from the array.\n * @property {Function} loadAction - Loads an array.\n * @property {Function} updateAction - Updates an item in the array.\n * @property {Function} addManyAction - Adds many items to the array.\n */\n\n /**\n * @typedef {object} ObjectActions\n * @property {Function} addAction - Replace old object with new object\n * @property {Function} deleteAction - Delete item based on key\n * @property {Function} updateAction - Update item based on key\n */\n\n /**\n * Gets the default store actions.\n * @returns The default store actions for arrays and objects.\n */\n get defaultStoreActions() {\n return defaultStoreActions;\n }\n\n /**\n * Gets the classes to be removed after the component is connected.\n * @returns An array of class names to remove.\n */\n get removeClassAfterConnect() {\n return this.getAttribute('remove-class-after-connect')?.split(' ');\n }\n\n /**\n * Sets the component dependencies.\n * @param value The dependencies to set.\n */\n set dependencies(value) {\n this._dependencies = value;\n }\n\n /**\n * Gets the component dependencies.\n * @returns The component dependencies.\n */\n get dependencies() {\n return this._dependencies;\n }\n\n /**\n * Processes and combines two templates into one.\n * @param pTemplate The primary template.\n * @param inputTemplate The secondary template.\n * @returns The combined template.\n */\n static processTemplates = (pTemplate, inputTemplate) => {\n const newTemplate = document.createElement('template');\n newTemplate.innerHTML = [inputTemplate.innerHTML, pTemplate?.innerHTML || ''].join('');\n return newTemplate;\n };\n\n /**\n * Defines a custom element if not already defined.\n * @param name The name of the custom element.\n * @param [elementConstructor] The constructor for the custom element.\n * @param [options] Additional options for defining the element.\n */\n static define(name, elementConstructor = this, options = {}) {\n const definedElement = customElements.get(name);\n\n if (!definedElement) {\n customElements.define(name, elementConstructor, options);\n }\n }\n\n /**\n * Defines component dependencies by registering custom elements.\n */\n defineDependencies() {\n if (this.dependencies)\n Object.entries(this.dependencies).forEach((name, component) => WJElement.define(name, component));\n }\n\n /**\n * Hook for extending behavior before drawing the component.\n * @param context The rendering context, usually the element's shadow root or main DOM element.\n * @param appStoreObj The global application store for managing state.\n * @param params Additional parameters or attributes for rendering the component.\n */\n beforeDraw(context, appStoreObj, params) {\n // Hook for extending behavior before drawing\n }\n\n /**\n * Renders the component within the provided context.\n * @param context The rendering context, usually the element's shadow root or main DOM element.\n * @param appStoreObj\n * @param params Additional parameters or attributes for rendering the component.\n * @returns This implementation does not render anything and returns `null`.\n * @description\n * The `draw` method is responsible for rendering the component's content.\n * Override this method in subclasses to define custom rendering logic.\n * @example\n * class MyComponent extends WJElement {\n * draw(context, appStoreObj, params) {\n * const div = document.createElement('div');\n * div.textContent = 'Hello, world!';\n * context.appendChild(div);\n * }\n * }\n */\n draw(context, appStoreObj, params) {\n return null;\n }\n\n /**\n * Hook for extending behavior after drawing the component.\n * @param context The rendering context, usually the element's shadow root or main DOM element.\n * @param appStoreObj The global application store for managing state.\n * @param params Additional parameters or attributes for rendering the component.\n */\n afterDraw(context, appStoreObj, params) {\n // Hook for extending behavior after drawing\n }\n\n /**\n * Refreshes the update promise for rendering lifecycle management.\n */\n refreshUpdatePromise() {\n this.updateComplete = new Promise((resolve, reject) => {\n this.finisPromise = resolve;\n this.rejectPromise = reject;\n });\n }\n\n /**\n * Lifecycle method invoked when the component is connected to the DOM.\n */\n connectedCallback() {\n this.drawingStatus = this.drawingStatuses.ATTACHED;\n\n // RHR toto sa tiež týka slick routeru pretože on začal routovanie ešte pred vykreslením wjelementu\n this.finisPromise = (resolve) => {\n resolve();\n };\n this.rejectPromise = (reject) => {\n reject();\n };\n this.refreshUpdatePromise();\n\n this.renderPromise = this.initWjElement(true);\n }\n\n /**\n * Initializes the component, setting up attributes and rendering.\n * @param [force] Whether to force initialization.\n * @returns A promise that resolves when initialization is complete.\n */\n initWjElement = (force = false) => {\n return new Promise(async (resolve, reject) => {\n this.drawingStatus = this.drawingStatuses.BEGINING;\n\n this.setupAttributes?.();\n if (this.isShadowRoot) {\n if (!this.shadowRoot) this.attachShadow({ mode: this.shadowType || 'open' });\n }\n\n this.setUpAccessors();\n\n this.drawingStatus = this.drawingStatuses.START;\n await this.display(force);\n\n const sheet = new CSSStyleSheet();\n sheet.replaceSync(this.constructor.cssStyleSheet);\n\n this.context.adoptedStyleSheets = [sheet];\n\n resolve();\n });\n };\n\n /**\n * Sets up attributes and event listeners for the component.\n * This method retrieves all custom events defined for the component\n * and adds event listeners for each of them. When an event is triggered,\n * it calls the corresponding method on the host element.\n */\n setupAttributes() {\n // Keď neaký element si zadefinuje funkciu \"setupAttributes\" tak sa obsah tejto funkcie nezavolá\n\n let allEvents = WjElementUtils.getEvents(this);\n allEvents.forEach((customEvent, domEvent) => {\n this.addEventListener(domEvent, (e) => {\n this.getRootNode().host[customEvent]?.();\n });\n });\n }\n\n /**\n * Hook for extending behavior before disconnecting the component.\n */\n beforeDisconnect() {\n // Hook for extending behavior before disconnecting\n }\n\n /**\n * Hook for extending behavior after disconnecting the component.\n */\n afterDisconnect() {\n // Hook for extending behavior after disconnecting\n }\n\n /**\n * Hook for extending behavior before redrawing the component.\n */\n beforeRedraw() {\n // Hook for extending behavior before redrawing\n }\n\n /**\n * Cleans up resources and event listeners for the component.\n */\n componentCleanup() {\n // Hook for cleaning up the component\n }\n\n /**\n * Lifecycle method invoked when the component is disconnected from the DOM.\n */\n disconnectedCallback() {\n this.beforeDisconnect?.();\n\n if (this.isAttached) this.context.innerHTML = '';\n this.isAttached = false;\n\n this.afterDisconnect?.();\n\n this.drawingStatus = this.drawingStatuses.DISCONNECTED;\n\n this.componentCleanup();\n }\n\n /**\n * Enqueues an update to the component.\n * @returns A promise that resolves when the update is complete.\n */\n async enqueueUpdate() {\n try {\n if (this.renderPromise && this.renderPromise instanceof Promise) {\n await this.renderPromise;\n }\n } catch (e) {\n console.error('An error occurred:', e);\n Promise.reject(e);\n }\n const result = this.refresh();\n\n if (result !== null) {\n await result;\n }\n\n this.renderPromise = null;\n }\n\n /**\n * Lifecycle method invoked when an observed attribute changes.\n * @param name The name of the attribute that changed.\n * @param old The old value of the attribute.\n * @param newName The new value of the attribute.\n */\n attributeChangedCallback(name, old, newName) {\n if (old !== newName) {\n this.renderPromise = this.enqueueUpdate();\n }\n }\n\n /**\n * Refreshes the component by reinitializing it if it is in a drawing state.\n * This method checks if the component's drawing status is at least in the START state.\n * If so, it performs the following steps:\n * 1. Calls the `beforeRedraw` hook if defined.\n * 2. Calls the `beforeDisconnect` hook if defined.\n * 3. Refreshes the update promise to manage the rendering lifecycle.\n * 4. Calls the `afterDisconnect` hook if defined.\n * 5. Reinitializes the component by calling `initWjElement` with `true` to force initialization.\n * If the component is not in a drawing state, it simply returns a resolved promise.\n * @returns {Promise<void>} A promise that resolves when the refresh is complete.\n */\n refresh() {\n if (this.drawingStatus && this.drawingStatus >= this.drawingStatuses.START) {\n this.beforeRedraw?.();\n this.beforeDisconnect?.();\n this.refreshUpdatePromise();\n this.afterDisconnect?.();\n\n return this.initWjElement(true);\n }\n\n return Promise.resolve();\n }\n\n /**\n * Renders the component within the provided context.\n * @param context The rendering context, usually the element's shadow root or main DOM element.\n * @param appStore The global application store for managing state.\n * @param params Additional parameters or attributes for rendering the component.\n * @returns This implementation does not render anything and returns `null`.\n * @description\n * The `draw` method is responsible for rendering the component's content.\n * Override this method in subclasses to define custom rendering logic.\n * @example\n * class MyComponent extends WJElement {\n * draw(context, appStore, params) {\n * const div = document.createElement('div');\n * div.textContent = 'Hello, world!';\n * context.appendChild(div);\n * }\n * }\n */\n draw(context, appStore, params) {\n return null;\n }\n\n /**\n * Displays the component's content, optionally forcing a re-render.\n * @param [force] Whether to force a re-render.\n * @returns A promise that resolves when the display is complete.\n */\n display(force = false) {\n this.template = this.constructor.customTemplate || document.createElement('template');\n\n if (force) {\n [...this.context.childNodes].forEach(this.context.removeChild.bind(this.context));\n this.isAttached = false;\n }\n\n this.context.append(this.template.content.cloneNode(true));\n\n if (this.noShow || (this.isPermissionCheck && !WjePermissionsApi.isPermissionFulfilled(this.permission))) {\n this.remove();\n return Promise.resolve();\n }\n\n return this._resolveRender();\n }\n\n /**\n * Renders the component's content.\n */\n async render() {\n this.drawingStatus = this.drawingStatuses.DRAWING;\n\n let _draw = this.draw(this.context, this.store, WjElementUtils.getAttributes(this));\n\n if (_draw instanceof Promise) {\n _draw = await _draw;\n }\n\n let rend = _draw;\n let element;\n\n if (rend instanceof HTMLElement || rend instanceof DocumentFragment) {\n element = rend;\n } else {\n let inputTemplate = document.createElement('template');\n inputTemplate.innerHTML = rend;\n element = inputTemplate.content.cloneNode(true);\n }\n\n let rendered = element;\n\n this.context.appendChild(rendered);\n }\n\n /**\n * Sanitizes a given name by converting it from kebab-case to camelCase.\n * @param {string} name The name in kebab-case format (e.g., \"example-name\").\n * @returns {string} The sanitized name in camelCase format (e.g., \"exampleName\").\n * @example\n * // Returns 'exampleName'\n * sanitizeName('example-name');\n * @example\n * // Returns 'myCustomComponent'\n * sanitizeName('my-custom-component');\n */\n sanitizeName(name) {\n let parts = name.split('-');\n return [parts.shift(), ...parts.map((n) => n[0].toUpperCase() + n.slice(1))].join('');\n }\n\n /**\n * Checks if a property on an object has a getter or setter method defined.\n * @param {object} obj The object on which the property is defined.\n * @param {string} property The name of the property to check.\n * @returns {object} An object indicating the presence of getter and setter methods.\n * @property {Function|null} hasGetter The getter function if it exists, otherwise `null`.\n * @property {Function|null} hasSetter The setter function if it exists, otherwise `null`.\n * @example\n * const obj = {\n * get name() { return 'value'; },\n * set name(val) { console.log(val); }\n * };\n * // Returns { hasGetter: [Function: get name], hasSetter: [Function: set name] }\n * checkGetterSetter(obj, 'name');\n * @example\n * const obj = { prop: 42 };\n * // Returns { hasGetter: null, hasSetter: null }\n * checkGetterSetter(obj, 'prop');\n */\n checkGetterSetter(obj, property) {\n let descriptor = Object.getOwnPropertyDescriptor(obj, property);\n\n // Check if the descriptor is found on the object itself\n if (descriptor) {\n return {\n hasGetter: typeof descriptor.get === 'function' ? descriptor.get : null,\n hasSetter: typeof descriptor.set === 'function' ? descriptor.set : null,\n };\n }\n\n // Otherwise, check the prototype chain\n let proto = Object.getPrototypeOf(obj);\n if (proto) {\n return this.checkGetterSetter(proto, property);\n }\n\n // If the property doesn't exist at all\n return { hasGetter: null, hasSetter: null };\n }\n\n /**\n * Sets up property accessors for the component's attributes.\n */\n setUpAccessors() {\n let attrs = this.getAttributeNames();\n attrs.forEach((name) => {\n const sanitizedName = this.sanitizeName(name);\n\n const { hasGetter, hasSetter } = this.checkGetterSetter(this, sanitizedName);\n\n Object.defineProperty(this, sanitizedName, {\n set: hasSetter ?? ((value) => this.setAttribute(name, value)),\n get: hasGetter ?? (() => this.getAttribute(name)),\n });\n });\n }\n\n /**\n * Resolves the rendering process of the component.\n * @returns A promise that resolves when rendering is complete.\n * @private\n */\n _resolveRender() {\n this.params = WjElementUtils.getAttributes(this);\n\n return new Promise(async (resolve, reject) => {\n const __beforeDraw = this.beforeDraw(this.context, this.store, WjElementUtils.getAttributes(this));\n\n if (__beforeDraw instanceof Promise) {\n await __beforeDraw;\n }\n\n await this.render();\n\n const __afterDraw = this.afterDraw?.(this.context, this.store, WjElementUtils.getAttributes(this));\n\n if (__afterDraw instanceof Promise) {\n await __afterDraw;\n }\n\n // RHR toto je bicykel pre slickRouter pretože routovanie nieje vykonané pokiaľ sa nezavolá updateComplete promise,\n // toto bude treba rozšíriť aby sme lepšie vedeli kontrolovať vykreslovanie elementov, a flow hookov.\n this.finisPromise();\n\n this.rendering = false;\n this.isAttached = true;\n\n if (this.removeClassAfterConnect) {\n this.classList.remove(...this.removeClassAfterConnect);\n }\n\n this.drawingStatus = this.drawingStatuses.DONE;\n\n resolve();\n }).catch((e) => {\n console.log(e);\n });\n }\n}\n\nlet __esModule = 'true';\nexport { __esModule, WjePermissionsApi, WjElementUtils, event };\n"],"names":["event"],"mappings":"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"}
|