@aquera/nile-elements 0.1.57-beta-1.7 → 0.1.57-beta-1.9
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/README.md +23 -0
- package/demo/index.html +1 -9
- package/demo/index.js +0 -1
- package/dist/axe.min-2720cd56.esm.js +1 -0
- package/dist/axe.min-69d47269.cjs.js +2 -0
- package/dist/axe.min-69d47269.cjs.js.map +1 -0
- package/dist/{fixture-f2693d97.esm.js → fixture-2b5b3aba.esm.js} +1 -1
- package/dist/{fixture-c1bd203f.cjs.js → fixture-7bfb866e.cjs.js} +2 -2
- package/dist/{fixture-c1bd203f.cjs.js.map → fixture-7bfb866e.cjs.js.map} +1 -1
- package/dist/{fixture-add72f26.esm.js → fixture-e7023246.esm.js} +1 -1
- package/dist/{fixture-cb376a7f.cjs.js → fixture-fe6c932e.cjs.js} +3 -3
- package/dist/fixture-fe6c932e.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +10341 -0
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/index.cjs.js +1 -1
- package/dist/nile-badge/index.esm.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/index.cjs.js +1 -1
- package/dist/nile-button/index.esm.js +1 -1
- package/dist/nile-button/nile-button.cjs.js +1 -1
- package/dist/nile-button/nile-button.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.css.esm.js +29 -168
- package/dist/nile-calendar/nile-calendar.esm.js +37 -124
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-card/nile-card.test.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.esm.js +1 -0
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
- package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
- package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
- package/dist/nile-code-editor/theme.cjs.js +1 -1
- package/dist/nile-code-editor/theme.cjs.js.map +1 -1
- package/dist/nile-code-editor/theme.esm.js +1 -1
- package/dist/nile-dialog/index.cjs.js +1 -1
- package/dist/nile-dialog/index.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/index.cjs.js +1 -1
- package/dist/nile-drawer/index.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
- package/dist/nile-empty-state/nile-empty-state.esm.js +13 -13
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
- package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
- package/dist/nile-error-notification/nile-error-notification.esm.js +4 -2
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/icons/svg/attribute.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/attribute.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/attribute.esm.js +1 -0
- package/dist/nile-icon/icons/svg/class.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/class.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/class.esm.js +1 -0
- package/dist/nile-icon/icons/svg/column-add.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/column-add.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/column-add.esm.js +1 -0
- package/dist/nile-icon/icons/svg/function.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/function.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/function.esm.js +1 -0
- package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
- package/dist/nile-icon/icons/svg/index.esm.js +1 -1
- package/dist/nile-icon/icons/svg/keyword.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/keyword.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/keyword.esm.js +1 -0
- package/dist/nile-icon/index.cjs.js +1 -1
- package/dist/nile-icon/index.cjs.js.map +1 -1
- package/dist/nile-icon/index.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-icon-button/index.cjs.js +1 -1
- package/dist/nile-icon-button/index.esm.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
- package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
- package/dist/nile-input/index.cjs.js +1 -1
- package/dist/nile-input/index.esm.js +1 -1
- package/dist/nile-input/nile-input.cjs.js +1 -1
- package/dist/nile-input/nile-input.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.esm.js +1 -1
- package/dist/nile-menu-item/index.cjs.js +1 -1
- package/dist/nile-menu-item/index.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
- package/dist/nile-option/index.cjs.js +1 -1
- package/dist/nile-option/index.esm.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.esm.js +1 -1
- package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
- package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
- package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
- package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
- package/dist/nile-pagination/nile-pagination.css.esm.js +152 -39
- package/dist/nile-pagination/nile-pagination.esm.js +118 -29
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
- package/dist/nile-tab/index.cjs.js +1 -1
- package/dist/nile-tab/index.esm.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
- package/dist/nile-tab/nile-tab.esm.js +1 -1
- package/dist/nile-tab-group/index.cjs.js +1 -1
- package/dist/nile-tab-group/index.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-tag/index.cjs.js +1 -1
- package/dist/nile-tag/index.esm.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
- package/dist/nile-tag/nile-tag.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
- package/dist/nile-toast/index.cjs.js +1 -1
- package/dist/nile-toast/index.esm.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
- package/dist/nile-toast/nile-toast.esm.js +1 -1
- package/dist/nile-tree/index.cjs.js +1 -1
- package/dist/nile-tree/index.esm.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
- package/dist/nile-tree/nile-tree.esm.js +1 -1
- package/dist/nile-tree-item/index.cjs.js +1 -1
- package/dist/nile-tree-item/index.esm.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
- package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
- package/dist/src/nile-calendar/nile-calendar.css.js +27 -166
- package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.d.ts +0 -8
- package/dist/src/nile-calendar/nile-calendar.js +34 -173
- package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.js +1 -0
- package/dist/src/nile-chip/nile-chip.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.d.ts +2 -0
- package/dist/src/nile-code-editor/nile-code-editor.js +48 -6
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-code-editor/theme.d.ts +110 -0
- package/dist/src/nile-code-editor/theme.js +110 -0
- package/dist/src/nile-code-editor/theme.js.map +1 -1
- package/dist/src/nile-empty-state/nile-empty-state.js +11 -11
- package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
- package/dist/src/nile-error-notification/nile-error-notification.js +4 -2
- package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.css.js +162 -151
- package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.d.ts +0 -1
- package/dist/src/nile-file-preview/nile-file-preview.js +2 -6
- package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.template.js +29 -24
- package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
- package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +2 -2
- package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +1 -1
- package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +1 -1
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +0 -4
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +0 -22
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.css.js +78 -82
- package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.d.ts +1 -2
- package/dist/src/nile-file-upload/nile-file-upload.js +20 -21
- package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +5 -4
- package/dist/src/nile-file-upload/nile-file-upload.template.js +78 -30
- package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
- package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +5 -9
- package/dist/src/nile-file-upload/types/file-upload.enums.js +3 -7
- package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
- package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +4 -2
- package/dist/src/nile-file-upload/utils/drag-drop.util.js +21 -18
- package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
- package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +1 -3
- package/dist/src/nile-file-upload/utils/file-validation.util.js +18 -52
- package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/index.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/index.js +5 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-pagination/nile-pagination.css.js +151 -38
- package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
- package/dist/src/nile-pagination/nile-pagination.d.ts +3 -0
- package/dist/src/nile-pagination/nile-pagination.js +167 -40
- package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
- package/dist/src/nile-select/nile-select.d.ts +4 -0
- package/dist/src/nile-select/nile-select.js +31 -1
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-slider/nile-slider.css.d.ts +8 -2
- package/dist/src/nile-slider/nile-slider.css.js +13 -21
- package/dist/src/nile-slider/nile-slider.css.js.map +1 -1
- package/dist/src/nile-slider/nile-slider.d.ts +2 -3
- package/dist/src/nile-slider/nile-slider.js +24 -60
- package/dist/src/nile-slider/nile-slider.js.map +1 -1
- package/dist/src/nile-slider/nile-slider.template.js +4 -33
- package/dist/src/nile-slider/nile-slider.template.js.map +1 -1
- package/dist/src/nile-slider/types/nile-slider.enums.js.map +1 -1
- package/dist/src/nile-slider/utils/nile-slider.utils.js +13 -26
- package/dist/src/nile-slider/utils/nile-slider.utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/rollup.config.js +27 -39
- package/src/nile-calendar/nile-calendar.css.ts +27 -166
- package/src/nile-calendar/nile-calendar.ts +41 -191
- package/src/nile-chip/nile-chip.ts +1 -0
- package/src/nile-code-editor/nile-code-editor.ts +55 -6
- package/src/nile-code-editor/theme.ts +111 -0
- package/src/nile-empty-state/nile-empty-state.ts +11 -11
- package/src/nile-error-notification/nile-error-notification.ts +4 -3
- package/src/nile-icon/icons/svg/attribute.ts +5 -0
- package/src/nile-icon/icons/svg/class.ts +5 -0
- package/src/nile-icon/icons/svg/column-add.ts +5 -0
- package/src/nile-icon/icons/svg/function.ts +5 -0
- package/src/nile-icon/icons/svg/index.ts +5 -0
- package/src/nile-icon/icons/svg/keyword.ts +5 -0
- package/src/nile-pagination/nile-pagination.css.ts +151 -38
- package/src/nile-pagination/nile-pagination.ts +188 -46
- package/src/nile-select/nile-select.ts +37 -1
- package/vscode-html-custom-data.json +19 -24
- package/demo/filenames.txt +0 -1
- package/demo/filenames.txt +0 -1
- package/dist/fixture-cb376a7f.cjs.js.map +0 -1
- package/dist/lit-html-39a6718c.esm.js +0 -6
- package/dist/lit-html-9b3af046.cjs.js +0 -6
- package/dist/lit-html-9b3af046.cjs.js.map +0 -1
- package/dist/nile-file-preview/index.cjs.js +0 -2
- package/dist/nile-file-preview/index.cjs.js.map +0 -1
- package/dist/nile-file-preview/index.esm.js +0 -1
- package/dist/nile-file-preview/nile-file-preview.cjs.js +0 -2
- package/dist/nile-file-preview/nile-file-preview.cjs.js.map +0 -1
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js +0 -2
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +0 -1
- package/dist/nile-file-preview/nile-file-preview.css.esm.js +0 -545
- package/dist/nile-file-preview/nile-file-preview.esm.js +0 -3
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js +0 -2
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +0 -1
- package/dist/nile-file-preview/nile-file-preview.template.esm.js +0 -173
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +0 -2
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js.map +0 -1
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +0 -1
- package/dist/nile-file-preview/types/index.cjs.js +0 -2
- package/dist/nile-file-preview/types/index.cjs.js.map +0 -1
- package/dist/nile-file-preview/types/index.esm.js +0 -1
- package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js +0 -2
- package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js.map +0 -1
- package/dist/nile-file-preview/types/nile-file-preview.enums.esm.js +0 -1
- package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js +0 -2
- package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js.map +0 -1
- package/dist/nile-file-preview/types/nile-file-preview.interface.esm.js +0 -1
- package/dist/nile-file-preview/utils/index.cjs.js +0 -2
- package/dist/nile-file-preview/utils/index.cjs.js.map +0 -1
- package/dist/nile-file-preview/utils/index.esm.js +0 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +0 -2
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +0 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +0 -1
- package/dist/nile-file-upload/index.cjs.js +0 -2
- package/dist/nile-file-upload/index.cjs.js.map +0 -1
- package/dist/nile-file-upload/index.esm.js +0 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js +0 -2
- package/dist/nile-file-upload/nile-file-upload.cjs.js.map +0 -1
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js +0 -2
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +0 -1
- package/dist/nile-file-upload/nile-file-upload.css.esm.js +0 -559
- package/dist/nile-file-upload/nile-file-upload.esm.js +0 -3
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js +0 -10
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +0 -1
- package/dist/nile-file-upload/nile-file-upload.template.esm.js +0 -111
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js +0 -2
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js.map +0 -1
- package/dist/nile-file-upload/nile-file-upload.test.esm.js +0 -1
- package/dist/nile-file-upload/types/file-upload.enums.cjs.js +0 -2
- package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +0 -1
- package/dist/nile-file-upload/types/file-upload.enums.esm.js +0 -1
- package/dist/nile-file-upload/types/file-upload.type.cjs.js +0 -2
- package/dist/nile-file-upload/types/file-upload.type.cjs.js.map +0 -1
- package/dist/nile-file-upload/types/file-upload.type.esm.js +0 -1
- package/dist/nile-file-upload/types/index.cjs.js +0 -2
- package/dist/nile-file-upload/types/index.cjs.js.map +0 -1
- package/dist/nile-file-upload/types/index.esm.js +0 -1
- package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +0 -2
- package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +0 -1
- package/dist/nile-file-upload/utils/drag-drop.util.esm.js +0 -1
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js +0 -3
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +0 -1
- package/dist/nile-file-upload/utils/file-validation.util.esm.js +0 -1
- package/dist/nile-slider/index.cjs.js +0 -2
- package/dist/nile-slider/index.cjs.js.map +0 -1
- package/dist/nile-slider/index.esm.js +0 -1
- package/dist/nile-slider/nile-slider.cjs.js +0 -2
- package/dist/nile-slider/nile-slider.cjs.js.map +0 -1
- package/dist/nile-slider/nile-slider.css.cjs.js +0 -2
- package/dist/nile-slider/nile-slider.css.cjs.js.map +0 -1
- package/dist/nile-slider/nile-slider.css.esm.js +0 -106
- package/dist/nile-slider/nile-slider.esm.js +0 -27
- package/dist/nile-slider/nile-slider.template.cjs.js +0 -2
- package/dist/nile-slider/nile-slider.template.cjs.js.map +0 -1
- package/dist/nile-slider/nile-slider.template.esm.js +0 -59
- package/dist/nile-slider/types/nile-slider.enums.cjs.js +0 -2
- package/dist/nile-slider/types/nile-slider.enums.cjs.js.map +0 -1
- package/dist/nile-slider/types/nile-slider.enums.esm.js +0 -1
- package/dist/nile-slider/types/nile-slider.types.cjs.js +0 -2
- package/dist/nile-slider/types/nile-slider.types.cjs.js.map +0 -1
- package/dist/nile-slider/types/nile-slider.types.esm.js +0 -1
- package/dist/nile-slider/utils/nile-slider.utils.cjs.js +0 -2
- package/dist/nile-slider/utils/nile-slider.utils.cjs.js.map +0 -1
- package/dist/nile-slider/utils/nile-slider.utils.esm.js +0 -1
- package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +0 -5
- package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +0 -5
- package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +0 -1
@@ -11,7 +11,7 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
11
11
|
import { html } from 'lit';
|
12
12
|
import { customElement, property } from 'lit/decorators.js';
|
13
13
|
import { rangeSlider, singleSlider, lableContaier } from './nile-slider.template';
|
14
|
-
import { handleSingleSlider, handleRangeOne, handleRangeTwo, getHtmlElements, removeMoveListeners, valueToPercent, handleTwoThumbClick
|
14
|
+
import { handleSingleSlider, handleRangeOne, handleRangeTwo, getHtmlElements, removeMoveListeners, valueToPercent, handleTwoThumbClick } from './utils/nile-slider.utils';
|
15
15
|
/**
|
16
16
|
* Nile slider component.
|
17
17
|
*
|
@@ -20,9 +20,9 @@ import { handleSingleSlider, handleRangeOne, handleRangeTwo, getHtmlElements, re
|
|
20
20
|
let NileSlider = class NileSlider extends NileElement {
|
21
21
|
constructor() {
|
22
22
|
super(...arguments);
|
23
|
+
this.value = 0;
|
23
24
|
this.minValue = 0;
|
24
|
-
this.
|
25
|
-
this.maxValue = 100;
|
25
|
+
this.maxValue = 0;
|
26
26
|
this.rangeOneValue = this.minValue;
|
27
27
|
this.rangeTwoValue = this.maxValue;
|
28
28
|
this.showLabel = false;
|
@@ -64,22 +64,16 @@ let NileSlider = class NileSlider extends NileElement {
|
|
64
64
|
this.activeThumb = null;
|
65
65
|
removeMoveListeners(this);
|
66
66
|
};
|
67
|
-
this.
|
67
|
+
this.onMouseClick = (e) => {
|
68
68
|
const rect = this.range.getBoundingClientRect();
|
69
69
|
const clickX = e.clientX - rect.left;
|
70
70
|
const percent = (clickX / rect.width) * 100;
|
71
71
|
const value = this.minValue + (percent / 100) * (this.maxValue - this.minValue);
|
72
72
|
if (!this.rangeSlider) {
|
73
73
|
handleSingleSlider(e, rect, this);
|
74
|
-
this.activeThumb = 'one';
|
75
|
-
addMoveListeners(this);
|
76
74
|
}
|
77
75
|
else {
|
78
76
|
handleTwoThumbClick(value, this);
|
79
|
-
const distToOne = Math.abs(value - this.rangeOneValue);
|
80
|
-
const distToTwo = Math.abs(value - this.rangeTwoValue);
|
81
|
-
this.activeThumb = distToOne <= distToTwo ? 'one' : 'two';
|
82
|
-
addMoveListeners(this);
|
83
77
|
}
|
84
78
|
};
|
85
79
|
}
|
@@ -89,9 +83,6 @@ let NileSlider = class NileSlider extends NileElement {
|
|
89
83
|
connectedCallback() {
|
90
84
|
super.connectedCallback();
|
91
85
|
this.emit("nile-init" /* NileSliderEvents.NILE_INIT */);
|
92
|
-
if (this.rangeSlider) {
|
93
|
-
this.checkRangeValidity();
|
94
|
-
}
|
95
86
|
}
|
96
87
|
firstUpdated(changedProps) {
|
97
88
|
getHtmlElements(this);
|
@@ -101,7 +92,9 @@ let NileSlider = class NileSlider extends NileElement {
|
|
101
92
|
this.buttonOne.style.left = `${percent}%`;
|
102
93
|
this.completed.style.width = `${percent}%`;
|
103
94
|
}
|
104
|
-
else if (this.rangeSlider) {
|
95
|
+
else if (this.rangeSlider && changedProps.has('rangeOneValue') || changedProps.has('rangeTwoValue')) {
|
96
|
+
this.rangeOneValue = this.checkValueValidity(this.rangeOneValue, this.minValue, this.maxValue);
|
97
|
+
this.rangeTwoValue = this.checkValueValidity(this.rangeTwoValue, this.minValue, this.maxValue);
|
105
98
|
const percentOne = valueToPercent(this.rangeOneValue, this);
|
106
99
|
const percentTwo = valueToPercent(this.rangeTwoValue, this);
|
107
100
|
if (this.buttonOne)
|
@@ -115,58 +108,29 @@ let NileSlider = class NileSlider extends NileElement {
|
|
115
108
|
}
|
116
109
|
}
|
117
110
|
checkValueValidity(value, min, max) {
|
118
|
-
|
119
|
-
return Math.max(min, Math.min(value, max));
|
120
|
-
}
|
121
|
-
return Math.floor(Math.max(min, Math.min(value, max)));
|
122
|
-
}
|
123
|
-
checkRangeValidity() {
|
124
|
-
if (this.rangeTwoValue > this.maxValue) {
|
125
|
-
this.rangeTwoValue = this.maxValue;
|
126
|
-
}
|
127
|
-
else if (this.rangeTwoValue < this.rangeOneValue) {
|
128
|
-
this.rangeTwoValue = this.rangeOneValue;
|
129
|
-
}
|
130
|
-
if (this.rangeOneValue < this.minValue) {
|
131
|
-
this.rangeOneValue = this.minValue;
|
132
|
-
}
|
133
|
-
else if (this.rangeOneValue > this.rangeTwoValue) {
|
134
|
-
this.rangeOneValue = this.rangeTwoValue;
|
135
|
-
}
|
111
|
+
return Math.max(min, Math.min(value, max));
|
136
112
|
}
|
137
113
|
render() {
|
138
|
-
const hasLabels = this.showLabel;
|
139
|
-
const ariaLabelledby = hasLabels ? 'label-start label-end' : undefined;
|
140
114
|
return html `
|
141
|
-
<div
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
'align-item-center': !hasLabels
|
146
|
-
})}
|
147
|
-
>
|
115
|
+
<div part="base" class=${classMap({
|
116
|
+
container: true,
|
117
|
+
'align-item-center': !this.showLabel
|
118
|
+
})}>
|
148
119
|
<slot class="span" name="prefix"></slot>
|
149
|
-
|
150
|
-
<div
|
151
|
-
part="range-container"
|
152
|
-
class=${classMap({
|
120
|
+
<div part="range-container" class=${classMap({
|
153
121
|
'range-container': true,
|
154
|
-
'column-reverse': this.labelPosition ===
|
155
|
-
})}
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
<div
|
160
|
-
class="range"
|
161
|
-
part="range"
|
162
|
-
role="group"
|
163
|
-
aria-labelledby=${ariaLabelledby}
|
164
|
-
>
|
122
|
+
'column-reverse': this.labelPosition === "bottom"
|
123
|
+
})}>
|
124
|
+
${this.showLabel
|
125
|
+
? lableContaier(this)
|
126
|
+
: html ``}
|
127
|
+
<div class="range" part="range">
|
165
128
|
<span class="range-completed" part="range-completed"></span>
|
166
|
-
${this.rangeSlider
|
129
|
+
${this.rangeSlider
|
130
|
+
? rangeSlider(this)
|
131
|
+
: singleSlider(this)}
|
167
132
|
</div>
|
168
133
|
</div>
|
169
|
-
|
170
134
|
<slot class="span" name="suffix"></slot>
|
171
135
|
</div>
|
172
136
|
`;
|
@@ -178,10 +142,10 @@ let NileSlider = class NileSlider extends NileElement {
|
|
178
142
|
};
|
179
143
|
__decorate([
|
180
144
|
property({ type: Number })
|
181
|
-
], NileSlider.prototype, "
|
145
|
+
], NileSlider.prototype, "value", void 0);
|
182
146
|
__decorate([
|
183
147
|
property({ type: Number })
|
184
|
-
], NileSlider.prototype, "
|
148
|
+
], NileSlider.prototype, "minValue", void 0);
|
185
149
|
__decorate([
|
186
150
|
property({ type: Number })
|
187
151
|
], NileSlider.prototype, "maxValue", void 0);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-slider.js","sourceRoot":"","sources":["../../../src/nile-slider/nile-slider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { styles } from './nile-slider.css';\nimport NileElement from '../internal/nile-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { TooltipPosition } from './types/nile-slider.types';\nimport { NileSliderEvents } from './types/nile-slider.enums';\nimport { rangeSlider, singleSlider, lableContaier } from './nile-slider.template';\nimport { \n handleSingleSlider, \n handleRangeOne, \n handleRangeTwo, \n getHtmlElements, \n removeMoveListeners,\n valueToPercent,\n handleTwoThumbClick,\n addMoveListeners\n} from './utils/nile-slider.utils'\n\n/** \n * Nile slider component.\n *\n * @tag nile-slider\n */\n@customElement('nile-slider')\nexport class NileSlider extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Number }) minValue: number = 0;\n @property({ type: Number }) value: number = this.minValue;\n @property({ type: Number }) maxValue: number = 100;\n @property({ type: Number }) rangeOneValue: number = this.minValue;\n @property({ type: Number }) rangeTwoValue: number = this.maxValue;\n @property({ type: Boolean}) showLabel: boolean = false;\n @property({ type: String }) labelStart: string = \"\";\n @property({ type: String }) labelEnd: string = \"\";\n @property({ type: Boolean}) rangeSlider: boolean = false;\n @property({ type: String }) labelPosition: string = \"top\";\n @property({ type: String }) tooltipPosition: TooltipPosition = \"top\";\n\n public buttonOne!: HTMLElement;\n public buttonTwo!: HTMLElement;\n public range!: HTMLElement;\n public completed!: HTMLElement;\n public activeThumb: 'one' | 'two' | null = null;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit(NileSliderEvents.NILE_INIT); \n\n if(this.rangeSlider) {\n this.checkRangeValidity();\n }\n }\n\n firstUpdated(changedProps: Map<string, any>): void {\n getHtmlElements(this);\n\n if (!this.rangeSlider && changedProps.has('value')) {\n this.value = this.checkValueValidity(this.value, this.minValue, this.maxValue);\n const percent = valueToPercent(this.value, this);\n \n this.buttonOne.style.left = `${percent}%`;\n this.completed.style.width = `${percent}%`;\n } else if (this.rangeSlider) {\n \n const percentOne = valueToPercent(this.rangeOneValue, this);\n const percentTwo = valueToPercent(this.rangeTwoValue, this);\n \n if (this.buttonOne) this.buttonOne.style.left = `${percentOne}%`;\n if (this.buttonTwo) this.buttonTwo.style.left = `${percentTwo}%`;\n \n const left = Math.min(percentOne, percentTwo);\n const width = Math.abs(percentTwo - percentOne);\n \n this.completed.style.left = `${left}%`;\n this.completed.style.width = `${width}%`;\n }\n }\n\n checkValueValidity(value: number, min: number, max: number): number {\n if(max - min <= 1) { \n return Math.max(min, Math.min(value, max));\n }\n return Math.floor(Math.max(min, Math.min(value, max)));\n }\n\n checkRangeValidity(): void {\n if(this.rangeTwoValue > this.maxValue) {\n this.rangeTwoValue = this.maxValue;\n } else if(this.rangeTwoValue < this.rangeOneValue) {\n this.rangeTwoValue = this.rangeOneValue;\n }\n\n if(this.rangeOneValue < this.minValue) {\n this.rangeOneValue = this.minValue;\n } else if(this.rangeOneValue > this.rangeTwoValue) {\n this.rangeOneValue = this.rangeTwoValue;\n }\n } \n\n public onMouseMove = (e: MouseEvent): void => {\n const rect = this.range.getBoundingClientRect();\n\n if (!this.rangeSlider) {\n handleSingleSlider(e, rect, this);\n } else {\n if (this.activeThumb === 'one') {\n handleRangeOne(e, rect, this);\n } else if (this.activeThumb === 'two') {\n handleRangeTwo(e, rect, this);\n }\n\n const start = valueToPercent(this.rangeOneValue, this);\n const end = valueToPercent(this.rangeTwoValue, this);\n const left = Math.min(start, end);\n const width = Math.abs(end - start);\n\n if(this.rangeTwoValue >= this.rangeOneValue) {\n this.completed.style.left = `${left}%`;\n this.completed.style.width = `${width}%`;\n }\n }\n };\n\n public onMouseUp = (): void => {\n if(!this.rangeSlider) this.emit(NileSliderEvents.NILE_CHANGE_END, { value: this.value });\n else {\n this.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE_END, { value: this.rangeOneValue });\n this.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE_END, { value: this.rangeTwoValue });\n }\n this.activeThumb = null;\n removeMoveListeners(this);\n };\n\n public onMouseDown = (e: MouseEvent): void => {\n const rect = this.range.getBoundingClientRect();\n const clickX = e.clientX - rect.left;\n const percent = (clickX / rect.width) * 100;\n const value = this.minValue + (percent / 100) * (this.maxValue - this.minValue);\n \n if (!this.rangeSlider) {\n handleSingleSlider(e, rect, this);\n this.activeThumb = 'one';\n addMoveListeners(this);\n } else {\n handleTwoThumbClick(value, this);\n const distToOne = Math.abs(value - this.rangeOneValue);\n const distToTwo = Math.abs(value - this.rangeTwoValue);\n this.activeThumb = distToOne <= distToTwo ? 'one' : 'two';\n addMoveListeners(this);\n }\n };\n\n public render(): TemplateResult {\n const hasLabels = this.showLabel;\n const ariaLabelledby = hasLabels ? 'label-start label-end' : undefined;\n \n return html`\n <div\n part=\"base\"\n class=${classMap({\n 'container': true,\n 'align-item-center': !hasLabels\n })}\n >\n <slot class=\"span\" name=\"prefix\"></slot>\n \n <div\n part=\"range-container\"\n class=${classMap({\n 'range-container': true,\n 'column-reverse': this.labelPosition === 'bottom'\n })}\n >\n ${hasLabels ? lableContaier(this) : html``}\n \n <div\n class=\"range\"\n part=\"range\"\n role=\"group\"\n aria-labelledby=${ariaLabelledby}\n >\n <span class=\"range-completed\" part=\"range-completed\"></span>\n ${this.rangeSlider ? rangeSlider(this) : singleSlider(this)}\n </div>\n </div>\n \n <slot class=\"span\" name=\"suffix\"></slot>\n </div>\n `;\n } \n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.emit(NileSliderEvents.NILE_DESTROY);\n }\n}\n\nexport default NileSlider;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-slider': NileSlider;\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"nile-slider.js","sourceRoot":"","sources":["../../../src/nile-slider/nile-slider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { styles } from './nile-slider.css';\nimport NileElement from '../internal/nile-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { TooltipPosition } from './types/nile-slider.types';\nimport { NileSliderEvents } from './types/nile-slider.enums';\nimport { rangeSlider, singleSlider, lableContaier } from './nile-slider.template';\nimport { \n handleSingleSlider, \n handleRangeOne, \n handleRangeTwo, \n getHtmlElements, \n removeMoveListeners,\n valueToPercent,\n handleTwoThumbClick\n} from './utils/nile-slider.utils'\n\n/** \n * Nile slider component.\n *\n * @tag nile-slider\n */\n@customElement('nile-slider')\nexport class NileSlider extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Number }) value: number = 0;\n @property({ type: Number }) minValue: number = 0;\n @property({ type: Number }) maxValue: number = 0;\n @property({ type: Number }) rangeOneValue: number = this.minValue;\n @property({ type: Number }) rangeTwoValue: number = this.maxValue;\n @property({ type: Boolean}) showLabel: boolean = false;\n @property({ type: String }) labelStart: string = \"\";\n @property({ type: String }) labelEnd: string = \"\";\n @property({ type: Boolean}) rangeSlider: boolean = false;\n @property({ type: String }) labelPosition: string = \"top\";\n @property({ type: String }) tooltipPosition: TooltipPosition = \"top\";\n\n public buttonOne!: HTMLElement;\n public buttonTwo!: HTMLElement;\n public range!: HTMLElement;\n public completed!: HTMLElement;\n public activeThumb: 'one' | 'two' | null = null;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit(NileSliderEvents.NILE_INIT); \n }\n\n firstUpdated(changedProps: Map<string, any>): void {\n getHtmlElements(this);\n\n if (!this.rangeSlider && changedProps.has('value')) {\n this.value = this.checkValueValidity(this.value, this.minValue, this.maxValue);\n const percent = valueToPercent(this.value, this);\n\n this.buttonOne.style.left = `${percent}%`;\n this.completed.style.width = `${percent}%`;\n } else if (this.rangeSlider && changedProps.has('rangeOneValue') || changedProps.has('rangeTwoValue')) {\n this.rangeOneValue = this.checkValueValidity(this.rangeOneValue, this.minValue, this.maxValue);\n this.rangeTwoValue = this.checkValueValidity(this.rangeTwoValue, this.minValue, this.maxValue);\n\n const percentOne = valueToPercent(this.rangeOneValue, this);\n const percentTwo = valueToPercent(this.rangeTwoValue, this);\n\n if (this.buttonOne) this.buttonOne.style.left = `${percentOne}%`;\n if (this.buttonTwo) this.buttonTwo.style.left = `${percentTwo}%`;\n\n const left = Math.min(percentOne, percentTwo);\n const width = Math.abs(percentTwo - percentOne);\n\n this.completed.style.left = `${left}%`;\n this.completed.style.width = `${width}%`;\n }\n }\n\n checkValueValidity(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(value, max));\n }\n\n public onMouseMove = (e: MouseEvent): void => {\n const rect = this.range.getBoundingClientRect();\n\n if (!this.rangeSlider) {\n handleSingleSlider(e, rect, this);\n } else {\n if (this.activeThumb === 'one') {\n handleRangeOne(e, rect, this);\n } else if (this.activeThumb === 'two') {\n handleRangeTwo(e, rect, this);\n }\n\n const start = valueToPercent(this.rangeOneValue, this);\n const end = valueToPercent(this.rangeTwoValue, this);\n const left = Math.min(start, end);\n const width = Math.abs(end - start);\n\n if(this.rangeTwoValue >= this.rangeOneValue) {\n this.completed.style.left = `${left}%`;\n this.completed.style.width = `${width}%`;\n }\n }\n };\n\n public onMouseUp = (): void => {\n if(!this.rangeSlider) this.emit(NileSliderEvents.NILE_CHANGE_END, { value: this.value });\n else {\n this.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE_END, { value: this.rangeOneValue });\n this.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE_END, { value: this.rangeTwoValue });\n }\n this.activeThumb = null;\n removeMoveListeners(this);\n };\n\n public onMouseClick = (e: MouseEvent): void => {\n const rect = this.range.getBoundingClientRect();\n const clickX = e.clientX - rect.left;\n const percent = (clickX / rect.width) * 100;\n const value = this.minValue + (percent / 100) * (this.maxValue - this.minValue);\n \n if (!this.rangeSlider) {\n handleSingleSlider(e, rect, this);\n } else {\n handleTwoThumbClick(value, this);\n }\n };\n \n\n public render(): TemplateResult {\n return html`\n <div part=\"base\" class=${classMap({\n container: true,\n 'align-item-center': !this.showLabel\n })}>\n <slot class=\"span\" name=\"prefix\"></slot>\n <div part=\"range-container\" class=${classMap({\n 'range-container': true,\n 'column-reverse': this.labelPosition === \"bottom\"\n })}>\n ${this.showLabel\n ? lableContaier(this)\n : html``}\n <div class=\"range\" part=\"range\">\n <span class=\"range-completed\" part=\"range-completed\"></span>\n ${this.rangeSlider\n ? rangeSlider(this)\n : singleSlider(this)}\n </div>\n </div>\n <slot class=\"span\" name=\"suffix\"></slot>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.emit(NileSliderEvents.NILE_DESTROY);\n }\n}\n\nexport default NileSlider;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-slider': NileSlider;\n }\n}\n"]}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { html } from 'lit';
|
2
|
-
import { classMap } from 'lit/directives/class-map.js';
|
3
2
|
export const rangeSlider = (nileSlider) => {
|
4
3
|
return html `
|
5
4
|
<div>
|
@@ -7,17 +6,7 @@ export const rangeSlider = (nileSlider) => {
|
|
7
6
|
content=${nileSlider.rangeOneValue}
|
8
7
|
placement=${nileSlider.tooltipPosition}
|
9
8
|
>
|
10
|
-
<div
|
11
|
-
id="range-one"
|
12
|
-
class="range-button"
|
13
|
-
part="range-button"
|
14
|
-
role="slider"
|
15
|
-
tabindex="0"
|
16
|
-
aria-valuemin=${nileSlider.minValue}
|
17
|
-
aria-valuemax=${nileSlider.maxValue}
|
18
|
-
aria-valuenow=${nileSlider.rangeOneValue}
|
19
|
-
aria-label="Minimum value"
|
20
|
-
></div>
|
9
|
+
<div id="range-one" class="range-button" part="range-button"></div>
|
21
10
|
</nile-tooltip>
|
22
11
|
<nile-tooltip
|
23
12
|
content=${nileSlider.rangeTwoValue}
|
@@ -27,12 +16,6 @@ export const rangeSlider = (nileSlider) => {
|
|
27
16
|
id="range-two"
|
28
17
|
class="range-button-two"
|
29
18
|
part="range-button-two"
|
30
|
-
role="slider"
|
31
|
-
tabindex="0"
|
32
|
-
aria-valuemin=${nileSlider.minValue}
|
33
|
-
aria-valuemax=${nileSlider.maxValue}
|
34
|
-
aria-valuenow=${nileSlider.rangeTwoValue}
|
35
|
-
aria-label="Maximum value"
|
36
19
|
></div>
|
37
20
|
</nile-tooltip>
|
38
21
|
</div>
|
@@ -45,19 +28,7 @@ export const singleSlider = (nileSlider) => {
|
|
45
28
|
content=${nileSlider.value}
|
46
29
|
placement=${nileSlider.tooltipPosition}
|
47
30
|
>
|
48
|
-
<div
|
49
|
-
class=${classMap({
|
50
|
-
'range-button': true,
|
51
|
-
'range-button-active': nileSlider.activeThumb === 'one',
|
52
|
-
})}
|
53
|
-
part="range-button"
|
54
|
-
role="slider"
|
55
|
-
tabindex="0"
|
56
|
-
aria-valuemin=${nileSlider.minValue}
|
57
|
-
aria-valuemax=${nileSlider.maxValue}
|
58
|
-
aria-valuenow=${nileSlider.value}
|
59
|
-
aria-label=${nileSlider.ariaLabel || "Slider value"}
|
60
|
-
></div>
|
31
|
+
<div class="range-button" part="range-button"></div>
|
61
32
|
</nile-tooltip>
|
62
33
|
</div>
|
63
34
|
`;
|
@@ -65,8 +36,8 @@ export const singleSlider = (nileSlider) => {
|
|
65
36
|
export const lableContaier = (nileSlider) => {
|
66
37
|
return html `
|
67
38
|
<div part="label-container" class="label-container">
|
68
|
-
<span
|
69
|
-
<span
|
39
|
+
<span>${nileSlider.labelStart}</span>
|
40
|
+
<span>${nileSlider.labelEnd}</span>
|
70
41
|
</div>
|
71
42
|
`;
|
72
43
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-slider.template.js","sourceRoot":"","sources":["../../../src/nile-slider/nile-slider.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;
|
1
|
+
{"version":3,"file":"nile-slider.template.js","sourceRoot":"","sources":["../../../src/nile-slider/nile-slider.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAkB,EAAE;IACpE,OAAO,IAAI,CAAA;;;kBAGK,UAAU,CAAC,aAAa;oBACtB,UAAU,CAAC,eAAe;;;;;kBAK5B,UAAU,CAAC,aAAa;oBACtB,UAAU,CAAC,eAAe;;;;;;;;;GAS3C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAsB,EAAkB,EAAE;IACrE,OAAO,IAAI,CAAA;;;kBAGK,UAAU,CAAC,KAAK;oBACd,UAAU,CAAC,eAAe;;;;;GAK3C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAsB,EAAkB,EAAE;IACtE,OAAO,IAAI,CAAA;;cAEC,UAAU,CAAC,UAAU;cACrB,UAAU,CAAC,QAAQ;;GAE9B,CAAC;AACJ,CAAC,CAAA","sourcesContent":["import { TemplateResult, html } from 'lit';\nimport NileSlider from './nile-slider';\n\nexport const rangeSlider = (nileSlider: NileSlider): TemplateResult => {\n return html`\n <div>\n <nile-tooltip\n content=${nileSlider.rangeOneValue}\n placement=${nileSlider.tooltipPosition}\n >\n <div id=\"range-one\" class=\"range-button\" part=\"range-button\"></div>\n </nile-tooltip>\n <nile-tooltip\n content=${nileSlider.rangeTwoValue}\n placement=${nileSlider.tooltipPosition}\n >\n <div\n id=\"range-two\"\n class=\"range-button-two\"\n part=\"range-button-two\"\n ></div>\n </nile-tooltip>\n </div>\n `;\n};\n\nexport const singleSlider = (nileSlider: NileSlider): TemplateResult => {\n return html`\n <div>\n <nile-tooltip\n content=${nileSlider.value}\n placement=${nileSlider.tooltipPosition}\n >\n <div class=\"range-button\" part=\"range-button\"></div>\n </nile-tooltip>\n </div>\n `;\n};\n\nexport const lableContaier = (nileSlider: NileSlider): TemplateResult => {\n return html`\n <div part=\"label-container\" class=\"label-container\">\n <span>${nileSlider.labelStart}</span>\n <span>${nileSlider.labelEnd}</span>\n </div>\n `;\n}"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-slider.enums.js","sourceRoot":"","sources":["../../../../src/nile-slider/types/nile-slider.enums.ts"],"names":[],"mappings":"","sourcesContent":["export const enum NileSliderEvents {\n NILE_INIT = \"nile-init\",\n NILE_CHANGE = \"nile-change\",\n NILE_CHANGE_END = \"nile-change-end\",\n NILE_BUTTON_FIRST_CHANGE = \"nile-button-first-change\",\n NILE_BUTTON_LAST_CHANGE = \"nile-button-last-change\",\n NILE_BUTTON_FIRST_CHANGE_END = \"nile-button-first-change-end\",\n NILE_BUTTON_LAST_CHANGE_END = \"nile-button-last-change-end\",\n NILE_DESTROY = \"nile-destroy\"
|
1
|
+
{"version":3,"file":"nile-slider.enums.js","sourceRoot":"","sources":["../../../../src/nile-slider/types/nile-slider.enums.ts"],"names":[],"mappings":"","sourcesContent":["export const enum NileSliderEvents {\n NILE_INIT = \"nile-init\",\n NILE_CHANGE = \"nile-change\",\n NILE_CHANGE_END = \"nile-change-end\",\n NILE_BUTTON_FIRST_CHANGE = \"nile-button-first-change\",\n NILE_BUTTON_LAST_CHANGE = \"nile-button-last-change\",\n NILE_BUTTON_FIRST_CHANGE_END = \"nile-button-first-change-end\",\n NILE_BUTTON_LAST_CHANGE_END = \"nile-button-last-change-end\",\n NILE_DESTROY = \"nile-destroy\",\n}"]}
|
@@ -1,19 +1,12 @@
|
|
1
1
|
export const getClampedPercent = (rect, x) => {
|
2
|
-
const
|
3
|
-
|
4
|
-
return percent;
|
2
|
+
const clamped = Math.max(0, Math.min(x, rect.width));
|
3
|
+
return (clamped / rect.width) * 100;
|
5
4
|
};
|
6
5
|
export const percentToValue = (percent, nileSlider) => {
|
7
|
-
|
8
|
-
if (nileSlider.maxValue - nileSlider.minValue < 1) {
|
9
|
-
return parseFloat(value.toFixed(2));
|
10
|
-
}
|
11
|
-
else {
|
12
|
-
return Math.floor(value);
|
13
|
-
}
|
6
|
+
return Math.floor((percent / 100) * nileSlider.maxValue);
|
14
7
|
};
|
15
8
|
export const valueToPercent = (value, nileSlider) => {
|
16
|
-
return (
|
9
|
+
return (value / nileSlider.maxValue) * 100;
|
17
10
|
};
|
18
11
|
export const handleSingleSlider = (e, rect, nileSlider) => {
|
19
12
|
const x = e.clientX - rect.left;
|
@@ -27,32 +20,28 @@ export const handleRangeOne = (e, rect, nileSlider) => {
|
|
27
20
|
const x = e.clientX - rect.left;
|
28
21
|
const percent = getClampedPercent(rect, x);
|
29
22
|
nileSlider.rangeOneValue = percentToValue(percent, nileSlider);
|
30
|
-
nileSlider.rangeOneValue = Math.min(nileSlider.rangeOneValue, nileSlider.rangeTwoValue);
|
31
23
|
nileSlider.emit("nile-button-first-change" /* NileSliderEvents.NILE_BUTTON_FIRST_CHANGE */, {
|
32
24
|
value: nileSlider.rangeOneValue,
|
33
25
|
});
|
34
|
-
if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue)
|
26
|
+
if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue)
|
35
27
|
nileSlider.buttonOne.style.left = `${percent}%`;
|
36
|
-
}
|
37
28
|
};
|
38
29
|
export const handleRangeTwo = (e, rect, nileSlider) => {
|
39
30
|
const x = e.clientX - rect.left;
|
40
31
|
const percent = getClampedPercent(rect, x);
|
41
32
|
nileSlider.rangeTwoValue = percentToValue(percent, nileSlider);
|
42
|
-
nileSlider.rangeTwoValue = Math.max(nileSlider.rangeTwoValue, nileSlider.rangeOneValue);
|
43
33
|
nileSlider.emit("nile-button-last-change" /* NileSliderEvents.NILE_BUTTON_LAST_CHANGE */, {
|
44
34
|
value: nileSlider.rangeTwoValue,
|
45
35
|
});
|
46
|
-
if (nileSlider.rangeTwoValue
|
36
|
+
if (nileSlider.rangeTwoValue >= nileSlider.rangeOneValue)
|
47
37
|
nileSlider.buttonTwo.style.left = `${percent}%`;
|
48
|
-
}
|
49
38
|
};
|
50
39
|
export const getHtmlElements = (nileSlider) => {
|
51
40
|
nileSlider.range = nileSlider.renderRoot.querySelector('.range');
|
52
41
|
nileSlider.buttonOne = nileSlider.renderRoot.querySelector('.range-button');
|
53
42
|
nileSlider.buttonTwo = nileSlider.renderRoot.querySelector('.range-button-two');
|
54
43
|
nileSlider.completed = nileSlider.renderRoot.querySelector('.range-completed');
|
55
|
-
nileSlider.range.addEventListener('
|
44
|
+
nileSlider.range.addEventListener('click', nileSlider.onMouseClick);
|
56
45
|
nileSlider.buttonOne?.addEventListener('mousedown', () => {
|
57
46
|
nileSlider.activeThumb = 'one';
|
58
47
|
addMoveListeners(nileSlider);
|
@@ -63,23 +52,21 @@ export const getHtmlElements = (nileSlider) => {
|
|
63
52
|
});
|
64
53
|
};
|
65
54
|
export const addMoveListeners = (nileSlider) => {
|
66
|
-
|
67
|
-
|
55
|
+
nileSlider.range.addEventListener('mousemove', nileSlider.onMouseMove);
|
56
|
+
nileSlider.range.addEventListener('mouseup', nileSlider.onMouseUp);
|
68
57
|
};
|
69
58
|
export const removeMoveListeners = (nileSlider) => {
|
70
|
-
|
71
|
-
|
59
|
+
nileSlider.range.removeEventListener('mousemove', nileSlider.onMouseMove);
|
60
|
+
nileSlider.range.removeEventListener('mouseup', nileSlider.onMouseUp);
|
72
61
|
};
|
73
62
|
export const handleTwoThumbClick = (value, nileSlider) => {
|
74
63
|
const distToOne = Math.abs(value - nileSlider.rangeOneValue);
|
75
64
|
const distToTwo = Math.abs(value - nileSlider.rangeTwoValue);
|
76
65
|
if (distToOne <= distToTwo) {
|
77
|
-
|
78
|
-
nileSlider.rangeOneValue = nileSlider.checkValueValidity(clamped, nileSlider.minValue, nileSlider.maxValue);
|
66
|
+
nileSlider.rangeOneValue = Math.floor(nileSlider.checkValueValidity(value, nileSlider.minValue, nileSlider.maxValue));
|
79
67
|
}
|
80
68
|
else {
|
81
|
-
|
82
|
-
nileSlider.rangeTwoValue = nileSlider.checkValueValidity(clamped, nileSlider.minValue, nileSlider.maxValue);
|
69
|
+
nileSlider.rangeTwoValue = Math.floor(nileSlider.checkValueValidity(value, nileSlider.minValue, nileSlider.maxValue));
|
83
70
|
}
|
84
71
|
const percentOne = valueToPercent(nileSlider.rangeOneValue, nileSlider);
|
85
72
|
const percentTwo = valueToPercent(nileSlider.rangeTwoValue, nileSlider);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-slider.utils.js","sourceRoot":"","sources":["../../../../src/nile-slider/utils/nile-slider.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import NileSlider from '../nile-slider';\nimport { NileSliderEvents } from '../types/nile-slider.enums';\n\nexport const getClampedPercent = (\n rect: DOMRect,\n x: number,\n): number => {\n const clampedX = Math.max(0, Math.min(x, rect.width)); \n const percent = (clampedX / rect.width) * 100;\n return percent;\n};\n\nexport const percentToValue = (percent: number, nileSlider: NileSlider): number => {\n const value = nileSlider.minValue + (percent / 100) * (nileSlider.maxValue - nileSlider.minValue);\n if(nileSlider.maxValue - nileSlider.minValue < 1) {\n return parseFloat(value.toFixed(2));\n } else {\n return Math.floor(value);\n }\n};\n\nexport const valueToPercent = (value: number, nileSlider: NileSlider): number => {\n return ((value - nileSlider.minValue) / (nileSlider.maxValue - nileSlider.minValue)) * 100;\n};\n\nexport const handleSingleSlider = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.value = percentToValue(percent, nileSlider);\n nileSlider.emit(NileSliderEvents.NILE_CHANGE, { value: nileSlider.value });\n nileSlider.buttonOne.style.left = `${percent}%`;\n nileSlider.completed.style.width = `${percent}%`;\n};\n\nexport const handleRangeOne = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.rangeOneValue = percentToValue(percent, nileSlider);\n nileSlider.rangeOneValue = Math.min(nileSlider.rangeOneValue, nileSlider.rangeTwoValue);\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE, {\n value: nileSlider.rangeOneValue,\n });\n if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue) {\n nileSlider.buttonOne.style.left = `${percent}%`;\n }\n};\n\nexport const handleRangeTwo = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.rangeTwoValue = percentToValue(percent, nileSlider);\n nileSlider.rangeTwoValue = Math.max(nileSlider.rangeTwoValue, nileSlider.rangeOneValue);\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE, {\n value: nileSlider.rangeTwoValue,\n });\n\n if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue) {\n nileSlider.buttonTwo.style.left = `${percent}%`;\n }\n};\n\nexport const getHtmlElements = (nileSlider: NileSlider) => {\n nileSlider.range = nileSlider.renderRoot.querySelector('.range') as HTMLElement;\n nileSlider.buttonOne = nileSlider.renderRoot.querySelector('.range-button') as HTMLElement;\n nileSlider.buttonTwo = nileSlider.renderRoot.querySelector('.range-button-two') as HTMLElement;\n nileSlider.completed = nileSlider.renderRoot.querySelector('.range-completed') as HTMLElement;\n\n nileSlider.range.addEventListener('mousedown', nileSlider.onMouseDown);\n\n nileSlider.buttonOne?.addEventListener('mousedown', () => {\n nileSlider.activeThumb = 'one';\n addMoveListeners(nileSlider);\n });\n\n nileSlider.buttonTwo?.addEventListener('mousedown', () => {\n nileSlider.activeThumb = 'two';\n addMoveListeners(nileSlider);\n });\n};\n\nexport const addMoveListeners = (nileSlider: NileSlider): void => {\n window.addEventListener('mousemove', nileSlider.onMouseMove);\n window.addEventListener('mouseup', nileSlider.onMouseUp);\n};\n\nexport const removeMoveListeners = (nileSlider: NileSlider): void => {\n window.removeEventListener('mousemove', nileSlider.onMouseMove);\n window.removeEventListener('mouseup', nileSlider.onMouseUp);\n};\n\nexport const handleTwoThumbClick = (\n value: number,\n nileSlider: NileSlider\n): void => {\n const distToOne = Math.abs(value - nileSlider.rangeOneValue);\n const distToTwo = Math.abs(value - nileSlider.rangeTwoValue);\n\n if (distToOne <= distToTwo) {\n const clamped = Math.min(value, nileSlider.rangeTwoValue);\n nileSlider.rangeOneValue = nileSlider.checkValueValidity(clamped, nileSlider.minValue, nileSlider.maxValue);\n } else {\n const clamped = Math.max(value, nileSlider.rangeOneValue);\n nileSlider.rangeTwoValue = nileSlider.checkValueValidity(clamped, nileSlider.minValue, nileSlider.maxValue);\n } \n\n const percentOne = valueToPercent(nileSlider.rangeOneValue, nileSlider);\n const percentTwo = valueToPercent(nileSlider.rangeTwoValue, nileSlider);\n\n nileSlider.buttonOne.style.left = `${percentOne}%`;\n nileSlider.buttonTwo.style.left = `${percentTwo}%`;\n\n const left = Math.min(percentOne, percentTwo);\n const width = Math.abs(percentTwo - percentOne);\n\n nileSlider.completed.style.left = `${left}%`;\n nileSlider.completed.style.width = `${width}%`;\n\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE, {\n value: nileSlider.rangeOneValue,\n });\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE, {\n value: nileSlider.rangeTwoValue,\n });\n};\n"]}
|
1
|
+
{"version":3,"file":"nile-slider.utils.js","sourceRoot":"","sources":["../../../../src/nile-slider/utils/nile-slider.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import NileSlider from '../nile-slider';\nimport { NileSliderEvents } from '../types/nile-slider.enums';\n\nexport const getClampedPercent = (rect: DOMRect, x: number): number => {\n const clamped = Math.max(0, Math.min(x, rect.width));\n return (clamped / rect.width) * 100;\n};\n\nexport const percentToValue = (percent: number, nileSlider: NileSlider): number => {\n return Math.floor((percent / 100) * nileSlider.maxValue);\n};\n\nexport const valueToPercent = (value: number, nileSlider: NileSlider): number => {\n return (value / nileSlider.maxValue) * 100;\n};\n\nexport const handleSingleSlider = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.value = percentToValue(percent, nileSlider);\n nileSlider.emit(NileSliderEvents.NILE_CHANGE, { value: nileSlider.value });\n nileSlider.buttonOne.style.left = `${percent}%`;\n nileSlider.completed.style.width = `${percent}%`;\n};\n\nexport const handleRangeOne = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.rangeOneValue = percentToValue(percent, nileSlider);\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE, {\n value: nileSlider.rangeOneValue,\n });\n if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue) nileSlider.buttonOne.style.left = `${percent}%`;\n};\n\nexport const handleRangeTwo = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.rangeTwoValue = percentToValue(percent, nileSlider);\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE, {\n value: nileSlider.rangeTwoValue,\n });\n if (nileSlider.rangeTwoValue >= nileSlider.rangeOneValue) nileSlider.buttonTwo.style.left = `${percent}%`;\n};\n\nexport const getHtmlElements = (nileSlider: NileSlider) => {\n nileSlider.range = nileSlider.renderRoot.querySelector('.range') as HTMLElement;\n nileSlider.buttonOne = nileSlider.renderRoot.querySelector('.range-button') as HTMLElement;\n nileSlider.buttonTwo = nileSlider.renderRoot.querySelector('.range-button-two') as HTMLElement;\n nileSlider.completed = nileSlider.renderRoot.querySelector('.range-completed') as HTMLElement;\n\n nileSlider.range.addEventListener('click', nileSlider.onMouseClick);\n\n nileSlider.buttonOne?.addEventListener('mousedown', () => {\n nileSlider.activeThumb = 'one';\n addMoveListeners(nileSlider);\n });\n\n nileSlider.buttonTwo?.addEventListener('mousedown', () => {\n nileSlider.activeThumb = 'two';\n addMoveListeners(nileSlider);\n });\n};\n\nexport const addMoveListeners = (nileSlider: NileSlider): void => {\n nileSlider.range.addEventListener('mousemove', nileSlider.onMouseMove);\n nileSlider.range.addEventListener('mouseup', nileSlider.onMouseUp);\n};\n\nexport const removeMoveListeners = (nileSlider: NileSlider): void => {\n nileSlider.range.removeEventListener('mousemove', nileSlider.onMouseMove);\n nileSlider.range.removeEventListener('mouseup', nileSlider.onMouseUp);\n};\n\nexport const handleTwoThumbClick = (\n value: number,\n nileSlider: NileSlider\n): void => {\n const distToOne = Math.abs(value - nileSlider.rangeOneValue);\n const distToTwo = Math.abs(value - nileSlider.rangeTwoValue);\n\n if (distToOne <= distToTwo) {\n nileSlider.rangeOneValue = Math.floor(nileSlider.checkValueValidity(value, nileSlider.minValue, nileSlider.maxValue));\n } else {\n nileSlider.rangeTwoValue = Math.floor(nileSlider.checkValueValidity(value, nileSlider.minValue, nileSlider.maxValue));\n }\n\n const percentOne = valueToPercent(nileSlider.rangeOneValue, nileSlider);\n const percentTwo = valueToPercent(nileSlider.rangeTwoValue, nileSlider);\n\n nileSlider.buttonOne.style.left = `${percentOne}%`;\n nileSlider.buttonTwo.style.left = `${percentTwo}%`;\n\n const left = Math.min(percentOne, percentTwo);\n const width = Math.abs(percentTwo - percentOne);\n\n nileSlider.completed.style.left = `${left}%`;\n nileSlider.completed.style.width = `${width}%`;\n\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE, {\n value: nileSlider.rangeOneValue,\n });\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE, {\n value: nileSlider.rangeTwoValue,\n });\n};\n"]}
|