@aquera/nile-elements 1.5.5 → 1.5.6
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 +4 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +465 -238
- package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +13 -2
- 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.css.cjs.js +1 -1
- package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.css.esm.js +89 -33
- package/dist/nile-button/nile-button.esm.js +2 -2
- 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 +59 -2
- package/dist/nile-calendar/nile-calendar.esm.js +16 -10
- package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
- package/dist/nile-checkbox/nile-checkbox.css.esm.js +4 -5
- package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.css.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.css.esm.js +37 -23
- package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.css.esm.js +7 -6
- package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
- package/dist/nile-date-picker/nile-date-picker.esm.js +4 -4
- package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
- package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -2
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
- package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.cjs.js.map +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js.map +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.css.esm.js +24 -2
- package/dist/nile-filter-chip/nile-filter-chip.esm.js +2 -2
- package/dist/nile-inline-edit/nile-inline-edit.cjs.js +1 -1
- package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -1
- package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js +1 -1
- package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js.map +1 -1
- package/dist/nile-inline-edit/nile-inline-edit.css.esm.js +15 -6
- package/dist/nile-inline-edit/nile-inline-edit.esm.js +2 -2
- package/dist/nile-input/nile-input.css.cjs.js +1 -1
- package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.css.esm.js +4 -4
- package/dist/nile-link/nile-link.cjs.js +1 -1
- package/dist/nile-link/nile-link.cjs.js.map +1 -1
- package/dist/nile-link/nile-link.css.cjs.js +1 -1
- package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
- package/dist/nile-link/nile-link.css.esm.js +3 -4
- package/dist/nile-link/nile-link.esm.js +2 -2
- package/dist/nile-qr-code/index.cjs.js +2 -0
- package/dist/nile-qr-code/index.cjs.js.map +1 -0
- package/dist/nile-qr-code/index.esm.js +1 -0
- package/dist/nile-qr-code/nile-qr-code-utils.cjs.js +2 -0
- package/dist/nile-qr-code/nile-qr-code-utils.cjs.js.map +1 -0
- package/dist/nile-qr-code/nile-qr-code-utils.esm.js +1 -0
- package/dist/nile-qr-code/nile-qr-code.cjs.js +2 -0
- package/dist/nile-qr-code/nile-qr-code.cjs.js.map +1 -0
- package/dist/nile-qr-code/nile-qr-code.css.cjs.js +2 -0
- package/dist/nile-qr-code/nile-qr-code.css.cjs.js.map +1 -0
- package/dist/nile-qr-code/nile-qr-code.css.esm.js +12 -0
- package/dist/nile-qr-code/nile-qr-code.esm.js +9 -0
- package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.css.cjs.js.map +1 -1
- package/dist/nile-radio/nile-radio.css.esm.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +25 -6
- package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
- package/dist/nile-rich-text-editor/nile-rte-select.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rte-select.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rte-select.esm.js +4 -3
- package/dist/nile-select/nile-select.css.cjs.js +1 -1
- package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.css.esm.js +7 -4
- package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js.map +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.css.esm.js +5 -1
- package/dist/nile-textarea/nile-textarea.css.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.css.cjs.js.map +1 -1
- package/dist/nile-textarea/nile-textarea.css.esm.js +10 -5
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +5 -3
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.css.js +11 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -1
- package/dist/src/nile-button/nile-button.css.js +89 -33
- package/dist/src/nile-button/nile-button.css.js.map +1 -1
- package/dist/src/nile-button/nile-button.js +5 -5
- package/dist/src/nile-button/nile-button.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.css.js +57 -0
- package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.d.ts +1 -0
- package/dist/src/nile-calendar/nile-calendar.js +24 -6
- package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
- package/dist/src/nile-checkbox/nile-checkbox.css.js +4 -5
- package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.css.js +35 -21
- package/dist/src/nile-chip/nile-chip.css.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.css.js +7 -6
- package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.js +7 -1
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-date-picker/nile-date-picker.d.ts +3 -0
- package/dist/src/nile-date-picker/nile-date-picker.js +22 -2
- package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
- package/dist/src/nile-dropdown/nile-dropdown.d.ts +1 -0
- package/dist/src/nile-dropdown/nile-dropdown.js +11 -0
- package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
- package/dist/src/nile-file-upload/utils/file-validation.util.js +11 -6
- package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
- package/dist/src/nile-filter-chip/nile-filter-chip.css.js +22 -0
- package/dist/src/nile-filter-chip/nile-filter-chip.css.js.map +1 -1
- package/dist/src/nile-filter-chip/nile-filter-chip.d.ts +1 -0
- package/dist/src/nile-filter-chip/nile-filter-chip.js +6 -0
- package/dist/src/nile-filter-chip/nile-filter-chip.js.map +1 -1
- package/dist/src/nile-inline-edit/nile-inline-edit.css.js +15 -6
- package/dist/src/nile-inline-edit/nile-inline-edit.css.js.map +1 -1
- package/dist/src/nile-inline-edit/nile-inline-edit.d.ts +2 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.js +7 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.js.map +1 -1
- package/dist/src/nile-input/nile-input.css.js +4 -4
- package/dist/src/nile-input/nile-input.css.js.map +1 -1
- package/dist/src/nile-link/nile-link.css.js +1 -2
- package/dist/src/nile-link/nile-link.css.js.map +1 -1
- package/dist/src/nile-link/nile-link.js +1 -0
- package/dist/src/nile-link/nile-link.js.map +1 -1
- package/dist/src/nile-qr-code/index.d.ts +1 -0
- package/dist/src/nile-qr-code/index.js +2 -0
- package/dist/src/nile-qr-code/index.js.map +1 -0
- package/dist/src/nile-qr-code/nile-qr-code-utils.d.ts +15 -0
- package/dist/src/nile-qr-code/nile-qr-code-utils.js +678 -0
- package/dist/src/nile-qr-code/nile-qr-code-utils.js.map +1 -0
- package/dist/src/nile-qr-code/nile-qr-code.css.d.ts +12 -0
- package/dist/src/nile-qr-code/nile-qr-code.css.js +24 -0
- package/dist/src/nile-qr-code/nile-qr-code.css.js.map +1 -0
- package/dist/src/nile-qr-code/nile-qr-code.d.ts +127 -0
- package/dist/src/nile-qr-code/nile-qr-code.js +381 -0
- package/dist/src/nile-qr-code/nile-qr-code.js.map +1 -0
- package/dist/src/nile-qr-code/nile-qr-code.test.d.ts +1 -0
- package/dist/src/nile-qr-code/nile-qr-code.test.js +719 -0
- package/dist/src/nile-qr-code/nile-qr-code.test.js.map +1 -0
- package/dist/src/nile-radio/nile-radio.css.js +1 -1
- package/dist/src/nile-radio/nile-radio.css.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +25 -6
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +1 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +17 -6
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rte-select.d.ts +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-select.js +7 -2
- package/dist/src/nile-rich-text-editor/nile-rte-select.js.map +1 -1
- package/dist/src/nile-select/nile-select.css.js +7 -4
- package/dist/src/nile-select/nile-select.css.js.map +1 -1
- package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js +5 -1
- package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js.map +1 -1
- package/dist/src/nile-textarea/nile-textarea.css.js +10 -5
- package/dist/src/nile-textarea/nile-textarea.css.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js +5 -3
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/index.ts +2 -1
- package/src/nile-auto-complete/nile-auto-complete.css.ts +11 -0
- package/src/nile-button/nile-button.css.ts +89 -33
- package/src/nile-button/nile-button.ts +6 -5
- package/src/nile-calendar/nile-calendar.css.ts +57 -0
- package/src/nile-calendar/nile-calendar.ts +17 -6
- package/src/nile-checkbox/nile-checkbox.css.ts +4 -5
- package/src/nile-chip/nile-chip.css.ts +35 -21
- package/src/nile-code-editor/nile-code-editor.css.ts +7 -6
- package/src/nile-code-editor/nile-code-editor.ts +7 -1
- package/src/nile-date-picker/nile-date-picker.ts +22 -2
- package/src/nile-dropdown/nile-dropdown.ts +11 -0
- package/src/nile-file-upload/utils/file-validation.util.ts +10 -5
- package/src/nile-filter-chip/nile-filter-chip.css.ts +22 -0
- package/src/nile-filter-chip/nile-filter-chip.ts +2 -0
- package/src/nile-inline-edit/nile-inline-edit.css.ts +15 -6
- package/src/nile-inline-edit/nile-inline-edit.ts +4 -0
- package/src/nile-input/nile-input.css.ts +4 -4
- package/src/nile-link/nile-link.css.ts +1 -2
- package/src/nile-link/nile-link.ts +1 -0
- package/src/nile-qr-code/index.ts +1 -0
- package/src/nile-qr-code/nile-qr-code-utils.ts +733 -0
- package/src/nile-qr-code/nile-qr-code.css.ts +26 -0
- package/src/nile-qr-code/nile-qr-code.test.ts +879 -0
- package/src/nile-qr-code/nile-qr-code.ts +431 -0
- package/src/nile-radio/nile-radio.css.ts +1 -1
- package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +25 -6
- package/src/nile-rich-text-editor/nile-rich-text-editor.ts +14 -6
- package/src/nile-rich-text-editor/nile-rte-select.ts +5 -2
- package/src/nile-select/nile-select.css.ts +7 -4
- package/src/nile-slide-toggle/nile-slide-toggle.css.ts +5 -1
- package/src/nile-textarea/nile-textarea.css.ts +10 -5
- package/src/nile-virtual-select/nile-virtual-select.css.ts +5 -3
- package/vscode-html-custom-data.json +108 -6
- package/web-test-runner.config.mjs +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-dropdown.cjs.js","sources":["../../../src/nile-dropdown/nile-dropdown.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\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 {LitElement, html, CSSResultArray, TemplateResult, PropertyValues} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {styles} from './nile-dropdown.css';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query } from 'lit/decorators.js';\nimport { getAnimation, setDefaultAnimation } from '../utilities/animation-registry';\nimport { getTabbableBoundary } from '../internal/tabbable';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport type NileButton from '../nile-button/nile-button';\nimport type NileIconButton from '../nile-icon-button/nile-icon-button';\nimport type { NileMenu } from '../nile-menu';\nimport type { NilePopup } from '../nile-popup';\nimport '../nile-popup';\nimport { DropdownPortalManager } from './portal-manager';\nimport { VisibilityManager } from '../utilities/visibility-manager.js';\n\n/**\n * Nile icon component.\n *\n * @tag nile-dropdown\n * @summary Dropdowns expose additional content that \"drops down\" in a panel.\n * @dependency nile-popup\n *\n * @slot - The dropdown's main content.\n * @slot trigger - The dropdown's trigger, usually a `<nile-button>` element.\n *\n * @event nile-show - Emitted when the dropdown opens.\n * @event nile-after-show - Emitted after the dropdown opens and all animations are complete.\n * @event nile-hide - Emitted when the dropdown closes.\n * @event nile-after-hide - Emitted after the dropdown closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart trigger - The container that wraps the trigger.\n * @csspart panel - The panel that gets shown when the dropdown is open.\n *\n * @animation dropdown.show - The animation to use when showing the dropdown.\n * @animation dropdown.hide - The animation to use when hiding the dropdown.\n */\n@customElement('nile-dropdown')\nexport class NileDropdown extends NileElement {\n static styles: CSSResultGroup = styles;\n\n @query('.dropdown') popup: NilePopup;\n @query('.dropdown__trigger') trigger: HTMLSlotElement;\n @query('.dropdown__panel') panel: HTMLSlotElement;\n\n\n /**\n * Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\n * can use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\n * inside of the viewport.\n */\n @property({ reflect: true }) placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'bottom-start';\n\n /** Disables the dropdown so the panel will not open. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\n * dropdowns that allow for multiple interactions.\n */\n @property({ attribute: 'stay-open-on-select', type: Boolean, reflect: true }) stayOpenOnSelect = false;\n\n /**\n * The dropdown will close when the user interacts outside of this element (e.g. clicking). Useful for composing other\n * components that use a dropdown internally.\n */\n @property({ attribute: false }) containingElement?: HTMLElement;\n\n /** The distance in pixels from which to offset the panel away from its trigger. */\n @property({ type: Number }) distance = 0;\n\n\n @property({ type: Boolean }) noOpenOnClick = false;\n\n /** The distance in pixels from which to offset the panel along its trigger. */\n @property({ type: Number }) skidding = 0;\n\n /** Syncs the popup's width or height to that of the anchor element. */\n @property() sync: 'width' | 'height' | 'both';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /**\n * Enable portal mode to render the dropdown panel in a portal outside the component's DOM tree.\n * This provides better positioning control and prevents clipping issues in complex layouts.\n */\n @property({ type: Boolean, reflect: true }) portal = false;\n\n @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;\n\n @property({ type: Boolean, reflect: true }) enableTabClose = false;\n\n\n private portalManager: DropdownPortalManager | null = null;\n private visibilityManager?: VisibilityManager;\n\n connectedCallback() {\n super.connectedCallback();\n this.handlePanelSelect = this.handlePanelSelect.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n\n if (!this.containingElement) {\n this.containingElement = this;\n }\n this.emit('nile-init');\n\n requestAnimationFrame(() => {\n if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n }\n });\n }\n\n protected async firstUpdated(_changed: PropertyValues) {\n \n this.panel.hidden = !this.open;\n\n // If the dropdown is visible on init, update its position\n if (this.open) {\n this.addOpenListeners();\n this.popup.active = true;\n }\n \n await this.updateComplete;\n const triggerNode = this.trigger.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n \n this.visibilityManager = new VisibilityManager({\n host: this,\n target: triggerNode || null,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.open,\n onAnchorOutOfView: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n });\n },\n onDocumentHidden: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n }\n \n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.visibilityManager?.cleanup();\n this.removeOpenListeners();\n this.hide();\n this.emit('nile-destroy');\n\n if (this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n\n focusOnTrigger() {\n const trigger = this.trigger.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n if (typeof trigger?.focus === 'function') {\n trigger.focus();\n }\n }\n\n getMenu() {\n return this.panel.assignedElements({ flatten: true }).find(el => el.tagName.toLowerCase() === 'nile-menu') as\n | NileMenu\n | undefined;\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // Close when escape is pressed inside an open dropdown. We need to listen on the panel itself and stop propagation\n // in case any ancestors are also listening for this key.\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n this.focusOnTrigger();\n }\n }\n\n handleDocumentKeyDown(event: KeyboardEvent) {\n // Close when escape or tab is pressed\n if (event.key === 'Escape' && this.open) {\n event.stopPropagation();\n this.focusOnTrigger();\n this.hide();\n return;\n }\n\n // Handle tabbing\n if (event.key === 'Tab') {\n // Tabbing within an open menu should close the dropdown and refocus the trigger\n if (this.open && document.activeElement?.tagName.toLowerCase() === 'nile-menu-item') {\n event.preventDefault();\n this.hide();\n this.focusOnTrigger();\n return;\n }\n\n // Tabbing outside of the containing element closes the panel\n //\n // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,\n // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.\n setTimeout(() => {\n const activeElement =\n this.containingElement?.getRootNode() instanceof ShadowRoot\n ? document.activeElement?.shadowRoot?.activeElement\n : document.activeElement;\n\n const hitSelf = this.containingElement && activeElement?.closest(this.containingElement.tagName.toLowerCase()) === this.containingElement;\n const hitPortalAppend = this.portal && this.portalManager?.portalContainerElement && \n (activeElement === this.portalManager.portalContainerElement || \n activeElement?.closest('.nile-dropdown-portal-append') === this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPortalAppend) {\n this.hide();\n }\n });\n }\n }\n\n handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the containing element\n const path = event.composedPath();\n const hitSelf = this.containingElement && path.includes(this.containingElement);\n const hitPortalAppend = this.portal && this.portalManager?.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPortalAppend) {\n this.hide();\n }\n }\n\n handlePanelSelect(event: any) {\n const target = event.target as HTMLElement;\n\n // Hide the dropdown when a menu item is selected\n if (!this.stayOpenOnSelect && target.tagName.toLowerCase() === 'nile-menu') {\n this.hide();\n this.focusOnTrigger();\n } else if(this.stayOpenOnSelect && target.tagName.toLowerCase() === 'nile-menu') {\n this.show();\n this.focusOnTrigger();\n }\n }\n\n handleTriggerClick() {\n if(this.noOpenOnClick){\n return;\n }\n if (this.open) {\n this.hide();\n } else {\n this.show();\n this.focusOnTrigger();\n }\n }\n\n handleTriggerKeyDown(event: KeyboardEvent) {\n // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same\n // key again to hide the menu in case they don't want to make a selection.\n // if (['Enter'].includes(event.key)) {\n // event.preventDefault();\n // this.handleTriggerClick();\n // return;\n // }\n\n const menu = this.getMenu();\n\n if (menu) {\n const menuItems = menu.getAllItems();\n const firstMenuItem = menuItems[0];\n const lastMenuItem = menuItems[menuItems.length - 1];\n\n // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a\n // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for\n // faster navigation.\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.open) {\n this.show();\n }\n\n if (menuItems.length > 0) {\n // Focus on the first/last menu item after showing\n this.updateComplete.then(() => {\n if (event.key === 'ArrowDown' || event.key === 'Home') {\n menu.setCurrentItem(firstMenuItem);\n firstMenuItem.focus();\n }\n\n if (event.key === 'ArrowUp' || event.key === 'End') {\n menu.setCurrentItem(lastMenuItem);\n lastMenuItem.focus();\n }\n });\n }\n }\n }\n }\n\n handleTriggerKeyUp(event: KeyboardEvent) {\n // Prevent space from triggering a click event in Firefox\n if (event.key === ' ') {\n event.preventDefault();\n }\n }\n\n handleTriggerSlotChange() {\n this.updateAccessibleTrigger();\n }\n\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <nile-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n updateAccessibleTrigger() {\n const assignedElements = this.trigger.assignedElements({ flatten: true }) as HTMLElement[];\n const accessibleTrigger = assignedElements.find(el => getTabbableBoundary(el).start);\n let target: HTMLElement;\n\n if (accessibleTrigger) {\n switch (accessibleTrigger.tagName.toLowerCase()) {\n // nile buttons have to update the internal button so it's announced correctly by screen readers\n case 'nile-button':\n case 'nile-icon-button':\n target = (accessibleTrigger as NileButton | NileIconButton).button;\n break;\n\n default:\n target = accessibleTrigger;\n }\n\n target.setAttribute('aria-haspopup', 'true');\n target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n /** Shows the dropdown panel. */\n async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n /** Hides the dropdown panel */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n /**\n * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\n * is activated.\n */\n reposition() {\n this.popup.reposition();\n }\n\n addOpenListeners() {\n this.panel.addEventListener('nile-select', this.handlePanelSelect);\n this.panel.addEventListener('keydown', this.handleKeyDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n removeOpenListeners() {\n if (this.panel) {\n this.panel.removeEventListener('nile-select', this.handlePanelSelect);\n this.panel.removeEventListener('keydown', this.handleKeyDown);\n }\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n \n if (changedProperties.has('portal')) {\n if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n if (this.open) {\n this.portalManager.setupPortalAppend();\n }\n } else if (!this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n this.visibilityManager?.setup();\n if (this.disabled) {\n this.open = false;\n return;\n }\n\n this.updateAccessibleTrigger();\n\n if (this.open) {\n // Show\n this.emit('nile-show');\n this.addOpenListeners();\n\n if (this.portal && this.portalManager) {\n this.portalManager.setupPortalAppend();\n } else if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n this.portalManager.setupPortalAppend();\n }\n\n await stopAnimations(this);\n \n // Only show panel and animate if not using portal\n if (!this.portal) {\n this.panel.hidden = false;\n this.popup.active = true;\n const { keyframes, options } = getAnimation(this, 'dropdown.show', { dir: '' });\n await animateTo(this.popup.popup, keyframes, options);\n }\n\n this.emit('nile-after-show');\n } else {\n // Hide\n this.emit('nile-hide');\n this.removeOpenListeners();\n this.visibilityManager?.cleanup();\n\n if (this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n }\n\n await stopAnimations(this);\n \n // Only hide panel and animate if not using portal\n if (!this.portal) {\n const { keyframes, options } = getAnimation(this, 'dropdown.hide', { dir: '' });\n await animateTo(this.popup.popup, keyframes, options);\n this.panel.hidden = true;\n this.popup.active = false;\n }\n\n this.emit('nile-after-hide');\n }\n }\n\n render() {\n return html`\n <nile-popup\n part=\"base\"\n id=\"dropdown\"\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n sync=${this.sync}\n flip\n shift\n auto-size=\"both\"\n auto-size-padding=\"10\"\n class=${classMap({\n dropdown: true,\n 'dropdown--open': this.open\n })}\n >\n <slot\n name=\"trigger\"\n slot=\"anchor\"\n part=\"trigger\"\n class=\"dropdown__trigger\"\n @click=${this.handleTriggerClick}\n @keydown=${this.handleTriggerKeyDown}\n @keyup=${this.handleTriggerKeyUp}\n @slotchange=${this.handleTriggerSlotChange}\n ></slot>\n\n <slot\n part=\"panel\"\n class=\"dropdown__panel\"\n aria-hidden=${this.open ? 'false' : 'true'}\n aria-labelledby=\"dropdown\"\n style=${this.portal && this.portalManager ? 'display: none;' : ''}\n ></slot>\n </nile-popup>\n `;\n }\n}\n\nsetDefaultAnimation('dropdown.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n\nsetDefaultAnimation('dropdown.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n\nexport default NileDropdown;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-dropdown': NileDropdown;\n }\n}\n"],"names":["NileDropdown","_u","y","constructor","this","open","placement","disabled","stayOpenOnSelect","distance","noOpenOnClick","skidding","hoist","portal","enableVisibilityEffect","enableTabClose","portalManager","_this","_inherits","_createClass","key","value","connectedCallback","super","handlePanelSelect","bind","handleKeyDown","handleDocumentKeyDown","handleDocumentMouseDown","containingElement","emit","requestAnimationFrame","DropdownPortalManager","_firstUpdated","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_changed","panel","hidden","addOpenListeners","popup","active","updateComplete","triggerNode","trigger","assignedElements","flatten","visibilityManager","VisibilityManager","host","target","isOpen","onAnchorOutOfView","hide","visible","reason","onDocumentHidden","event","detail","_context2","stop","firstUpdated","disconnectedCallback","cleanup","removeOpenListeners","cleanupPortalAppend","focusOnTrigger","focus","getMenu","find","el","tagName","toLowerCase","stopPropagation","_this4","_document$activeEleme","document","activeElement","preventDefault","setTimeout","_this4$containingElem","_document$activeEleme2","_this4$portalManager","getRootNode","ShadowRoot","shadowRoot","hitSelf","closest","hitPortalAppend","portalContainerElement","_this$portalManager","path","composedPath","includes","show","handleTriggerClick","handleTriggerKeyDown","menu","menuItems","getAllItems","firstMenuItem","lastMenuItem","length","then","setCurrentItem","handleTriggerKeyUp","handleTriggerSlotChange","updateAccessibleTrigger","accessibleTrigger","getTabbableBoundary","start","button","setAttribute","_show","_callee2","wrap","_callee2$","_context3","prev","next","abrupt","waitForEvent","_callee3","_callee3$","_context4","reposition","addEventListener","removeEventListener","updated","changedProperties","has","setupPortalAppend","_handleOpenChange","_callee4","_this$visibilityManag2","_d","_t","_i","_this$visibilityManag3","_d2","_t2","_i2","_callee4$","_context5","setup","stopAnimations","getAnimation","dir","keyframes","options","animateTo","handleOpenChange","render","html","_templateObject","_taggedTemplateLiteral","sync","classMap","dropdown","NileElement","styles","__decorate","query","prototype","property","type","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nile-dropdown.cjs.js","sources":["../../../src/nile-dropdown/nile-dropdown.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\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 {LitElement, html, CSSResultArray, TemplateResult, PropertyValues} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {styles} from './nile-dropdown.css';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query } from 'lit/decorators.js';\nimport { getAnimation, setDefaultAnimation } from '../utilities/animation-registry';\nimport { getTabbableBoundary } from '../internal/tabbable';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport type NileButton from '../nile-button/nile-button';\nimport type NileIconButton from '../nile-icon-button/nile-icon-button';\nimport type { NileMenu } from '../nile-menu';\nimport type { NilePopup } from '../nile-popup';\nimport '../nile-popup';\nimport { DropdownPortalManager } from './portal-manager';\nimport { VisibilityManager } from '../utilities/visibility-manager.js';\n\n/**\n * Nile icon component.\n *\n * @tag nile-dropdown\n * @summary Dropdowns expose additional content that \"drops down\" in a panel.\n * @dependency nile-popup\n *\n * @slot - The dropdown's main content.\n * @slot trigger - The dropdown's trigger, usually a `<nile-button>` element.\n *\n * @event nile-show - Emitted when the dropdown opens.\n * @event nile-after-show - Emitted after the dropdown opens and all animations are complete.\n * @event nile-hide - Emitted when the dropdown closes.\n * @event nile-after-hide - Emitted after the dropdown closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart trigger - The container that wraps the trigger.\n * @csspart panel - The panel that gets shown when the dropdown is open.\n *\n * @animation dropdown.show - The animation to use when showing the dropdown.\n * @animation dropdown.hide - The animation to use when hiding the dropdown.\n */\n@customElement('nile-dropdown')\nexport class NileDropdown extends NileElement {\n static styles: CSSResultGroup = styles;\n\n @query('.dropdown') popup: NilePopup;\n @query('.dropdown__trigger') trigger: HTMLSlotElement;\n @query('.dropdown__panel') panel: HTMLSlotElement;\n\n\n /**\n * Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\n * can use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\n * inside of the viewport.\n */\n @property({ reflect: true }) placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'bottom-start';\n\n /** Disables the dropdown so the panel will not open. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\n * dropdowns that allow for multiple interactions.\n */\n @property({ attribute: 'stay-open-on-select', type: Boolean, reflect: true }) stayOpenOnSelect = false;\n\n /**\n * The dropdown will close when the user interacts outside of this element (e.g. clicking). Useful for composing other\n * components that use a dropdown internally.\n */\n @property({ attribute: false }) containingElement?: HTMLElement;\n\n /** The distance in pixels from which to offset the panel away from its trigger. */\n @property({ type: Number }) distance = 0;\n\n\n @property({ type: Boolean }) noOpenOnClick = false;\n\n /** The distance in pixels from which to offset the panel along its trigger. */\n @property({ type: Number }) skidding = 0;\n\n /** Syncs the popup's width or height to that of the anchor element. */\n @property() sync: 'width' | 'height' | 'both';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /**\n * Enable portal mode to render the dropdown panel in a portal outside the component's DOM tree.\n * This provides better positioning control and prevents clipping issues in complex layouts.\n */\n @property({ type: Boolean, reflect: true }) portal = false;\n\n @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;\n\n @property({ type: Boolean, reflect: true }) enableTabClose = false;\n\n\n private portalManager: DropdownPortalManager | null = null;\n private visibilityManager?: VisibilityManager;\n\n connectedCallback() {\n super.connectedCallback();\n this.handlePanelSelect = this.handlePanelSelect.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n\n if (!this.containingElement) {\n this.containingElement = this;\n }\n this.emit('nile-init');\n\n requestAnimationFrame(() => {\n if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n }\n });\n }\n\n protected async firstUpdated(_changed: PropertyValues) {\n \n this.panel.hidden = !this.open;\n\n // If the dropdown is visible on init, update its position\n if (this.open) {\n this.addOpenListeners();\n this.popup.active = true;\n }\n \n await this.updateComplete;\n const triggerNode = this.trigger.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n \n this.visibilityManager = new VisibilityManager({\n host: this,\n target: triggerNode || null,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.open,\n onAnchorOutOfView: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n });\n },\n onDocumentHidden: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n }\n \n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.visibilityManager?.cleanup();\n this.removeOpenListeners();\n this.hide();\n this.emit('nile-destroy');\n\n if (this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n\n focusOnTrigger() {\n const trigger = this.trigger.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n if (typeof trigger?.focus === 'function') {\n trigger.focus();\n }\n }\n\n getMenu() {\n return this.panel.assignedElements({ flatten: true }).find(el => el.tagName.toLowerCase() === 'nile-menu') as\n | NileMenu\n | undefined;\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // Close when escape is pressed inside an open dropdown. We need to listen on the panel itself and stop propagation\n // in case any ancestors are also listening for this key.\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n this.focusOnTrigger();\n }\n }\n\n handleDocumentKeyDown(event: KeyboardEvent) {\n // Close when escape or tab is pressed\n if (event.key === 'Escape' && this.open) {\n event.stopPropagation();\n this.focusOnTrigger();\n this.hide();\n return;\n }\n\n // Handle tabbing\n if (event.key === 'Tab') {\n // Tabbing within an open menu should close the dropdown and refocus the trigger\n if (this.open && document.activeElement?.tagName.toLowerCase() === 'nile-menu-item') {\n event.preventDefault();\n this.hide();\n this.focusOnTrigger();\n return;\n }\n\n // Tabbing outside of the containing element closes the panel\n //\n // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,\n // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.\n setTimeout(() => {\n const activeElement =\n this.containingElement?.getRootNode() instanceof ShadowRoot\n ? document.activeElement?.shadowRoot?.activeElement\n : document.activeElement;\n\n const hitSelf = this.containingElement && activeElement?.closest(this.containingElement.tagName.toLowerCase()) === this.containingElement;\n const hitPortalAppend = this.portal && this.portalManager?.portalContainerElement && \n (activeElement === this.portalManager.portalContainerElement || \n activeElement?.closest('.nile-dropdown-portal-append') === this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPortalAppend) {\n this.hide();\n }\n });\n }\n }\n\n handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the containing element\n const path = event.composedPath();\n const hitSelf = this.containingElement && path.includes(this.containingElement);\n const hitPortalAppend = this.portal && this.portalManager?.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPortalAppend) {\n this.hide();\n }\n }\n\n handlePanelSelect(event: any) {\n const target = event.target as HTMLElement;\n\n // Hide the dropdown when a menu item is selected\n if (!this.stayOpenOnSelect && target.tagName.toLowerCase() === 'nile-menu') {\n this.hide();\n this.focusOnTrigger();\n } else if(this.stayOpenOnSelect && target.tagName.toLowerCase() === 'nile-menu') {\n this.show();\n this.focusOnTrigger();\n }\n }\n\n handleTriggerClick() {\n if(this.noOpenOnClick){\n return;\n }\n if (this.open) {\n this.hide();\n } else {\n this.show();\n this.focusOnTrigger();\n }\n }\n\n handleTriggerKeyDown(event: KeyboardEvent) {\n // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same\n // key again to hide the menu in case they don't want to make a selection.\n // if (['Enter'].includes(event.key)) {\n // event.preventDefault();\n // this.handleTriggerClick();\n // return;\n // }\n\n const menu = this.getMenu();\n\n if (menu) {\n const menuItems = menu.getAllItems();\n const firstMenuItem = menuItems[0];\n const lastMenuItem = menuItems[menuItems.length - 1];\n\n // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a\n // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for\n // faster navigation.\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.open) {\n this.show();\n }\n\n if (menuItems.length > 0) {\n // Focus on the first/last menu item after showing\n this.updateComplete.then(() => {\n if (event.key === 'ArrowDown' || event.key === 'Home') {\n menu.setCurrentItem(firstMenuItem);\n firstMenuItem.focus();\n }\n\n if (event.key === 'ArrowUp' || event.key === 'End') {\n menu.setCurrentItem(lastMenuItem);\n lastMenuItem.focus();\n }\n });\n }\n }\n }\n }\n\n handleTriggerKeyUp(event: KeyboardEvent) {\n // Prevent space from triggering a click event in Firefox\n if (event.key === ' ') {\n event.preventDefault();\n }\n }\n\n handleTriggerSlotChange() {\n this.updateAccessibleTrigger();\n }\n\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <nile-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n updateAccessibleTrigger() {\n const assignedElements = this.trigger.assignedElements({ flatten: true }) as HTMLElement[];\n const accessibleTrigger = assignedElements.find(el => getTabbableBoundary(el).start);\n let target: HTMLElement;\n\n if (accessibleTrigger) {\n switch (accessibleTrigger.tagName.toLowerCase()) {\n // nile buttons have to update the internal button so it's announced correctly by screen readers\n case 'nile-button':\n case 'nile-icon-button':\n target = (accessibleTrigger as NileButton | NileIconButton).button;\n break;\n\n default:\n target = accessibleTrigger;\n }\n\n target.setAttribute('aria-haspopup', 'true');\n target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n /** Shows the dropdown panel. */\n async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n /** Hides the dropdown panel */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n /**\n * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\n * is activated.\n */\n reposition() {\n this.popup.reposition();\n }\n\n addOpenListeners() {\n this.panel.addEventListener('nile-select', this.handlePanelSelect);\n this.panel.addEventListener('keydown', this.handleKeyDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n removeOpenListeners() {\n if (this.panel) {\n this.panel.removeEventListener('nile-select', this.handlePanelSelect);\n this.panel.removeEventListener('keydown', this.handleKeyDown);\n }\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n \n if (changedProperties.has('portal')) {\n if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n if (this.open) {\n this.portalManager.setupPortalAppend();\n }\n } else if (!this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n if (changedProperties.has('disabled')) {\n this.updateTriggerDisabledState();\n }\n }\n \n private updateTriggerDisabledState() {\n const trigger = this.querySelector('[slot=\"trigger\"]') as HTMLElement | null;\n if (!trigger) return;\n if ('disabled' in trigger) {\n (trigger as any).disabled = this.disabled;\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n this.visibilityManager?.setup();\n if (this.disabled) {\n this.open = false;\n return;\n }\n\n this.updateAccessibleTrigger();\n\n if (this.open) {\n // Show\n this.emit('nile-show');\n this.addOpenListeners();\n\n if (this.portal && this.portalManager) {\n this.portalManager.setupPortalAppend();\n } else if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n this.portalManager.setupPortalAppend();\n }\n\n await stopAnimations(this);\n \n // Only show panel and animate if not using portal\n if (!this.portal) {\n this.panel.hidden = false;\n this.popup.active = true;\n const { keyframes, options } = getAnimation(this, 'dropdown.show', { dir: '' });\n await animateTo(this.popup.popup, keyframes, options);\n }\n\n this.emit('nile-after-show');\n } else {\n // Hide\n this.emit('nile-hide');\n this.removeOpenListeners();\n this.visibilityManager?.cleanup();\n\n if (this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n }\n\n await stopAnimations(this);\n \n // Only hide panel and animate if not using portal\n if (!this.portal) {\n const { keyframes, options } = getAnimation(this, 'dropdown.hide', { dir: '' });\n await animateTo(this.popup.popup, keyframes, options);\n this.panel.hidden = true;\n this.popup.active = false;\n }\n\n this.emit('nile-after-hide');\n }\n }\n\n render() {\n return html`\n <nile-popup\n part=\"base\"\n id=\"dropdown\"\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n sync=${this.sync}\n flip\n shift\n auto-size=\"both\"\n auto-size-padding=\"10\"\n class=${classMap({\n dropdown: true,\n 'dropdown--open': this.open\n })}\n >\n <slot\n name=\"trigger\"\n slot=\"anchor\"\n part=\"trigger\"\n class=\"dropdown__trigger\"\n @click=${this.handleTriggerClick}\n @keydown=${this.handleTriggerKeyDown}\n @keyup=${this.handleTriggerKeyUp}\n @slotchange=${this.handleTriggerSlotChange}\n ></slot>\n\n <slot\n part=\"panel\"\n class=\"dropdown__panel\"\n aria-hidden=${this.open ? 'false' : 'true'}\n aria-labelledby=\"dropdown\"\n style=${this.portal && this.portalManager ? 'display: none;' : ''}\n ></slot>\n </nile-popup>\n `;\n }\n}\n\nsetDefaultAnimation('dropdown.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n\nsetDefaultAnimation('dropdown.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n\nexport default NileDropdown;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-dropdown': NileDropdown;\n }\n}\n"],"names":["NileDropdown","y","this","open","placement","disabled","stayOpenOnSelect","distance","noOpenOnClick","skidding","hoist","portal","enableVisibilityEffect","enableTabClose","portalManager","_this","_inherits","_u","_createClass","key","value","connectedCallback","super","handlePanelSelect","bind","handleKeyDown","handleDocumentKeyDown","handleDocumentMouseDown","containingElement","emit","requestAnimationFrame","DropdownPortalManager","_firstUpdated","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_changed","panel","hidden","addOpenListeners","popup","active","updateComplete","triggerNode","trigger","assignedElements","flatten","visibilityManager","VisibilityManager","host","target","isOpen","onAnchorOutOfView","hide","visible","reason","onDocumentHidden","event","detail","_context2","stop","firstUpdated","disconnectedCallback","cleanup","removeOpenListeners","cleanupPortalAppend","focusOnTrigger","focus","getMenu","find","el","tagName","toLowerCase","stopPropagation","_document$activeEleme","document","activeElement","preventDefault","setTimeout","_this4$containingElem","_document$activeEleme2","_this4$portalManager","getRootNode","ShadowRoot","shadowRoot","hitSelf","closest","hitPortalAppend","portalContainerElement","path","composedPath","includes","show","handleTriggerClick","handleTriggerKeyDown","menu","menuItems","getAllItems","firstMenuItem","lastMenuItem","length","then","setCurrentItem","handleTriggerKeyUp","handleTriggerSlotChange","updateAccessibleTrigger","accessibleTrigger","getTabbableBoundary","start","button","setAttribute","_show","_callee2","wrap","_callee2$","_context3","prev","next","waitForEvent","_callee3","_callee3$","_context4","reposition","addEventListener","removeEventListener","updated","changedProperties","has","setupPortalAppend","updateTriggerDisabledState","querySelector","_handleOpenChange","_callee4","_this$visibilityManag2","_d","_t","_i","_this$visibilityManag3","_d2","_t2","_i2","_callee4$","_context5","setup","stopAnimations","getAnimation","dir","keyframes","options","animateTo","handleOpenChange","render","html","_templateObject","_taggedTemplateLiteral","sync","classMap","dropdown","NileElement","styles","__decorate","query","prototype","property","type","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{__decorate as t}from"tslib";import{html as i}from"lit";import{query as s,property as e,customElement as n}from"lit/decorators.js";import{s as o}from"./nile-dropdown.css.esm.js";import{s as h,a}from"../internal/animate.esm.js";import{classMap as r}from"lit/directives/class-map.js";import{s as l,g as d}from"../utilities/animation-registry.esm.js";import{g as p}from"../internal/tabbable.esm.js";import{w as c}from"../internal/event.esm.js";import{w as m}from"../internal/watch.esm.js";import{N as u}from"../internal/nile-element.esm.js";import"../nile-popup/nile-popup.esm.js";import{D as f}from"./portal-manager.esm.js";import{V as w}from"../utilities/visibility-manager.esm.js";import"../floating-ui.dom-cc9126da.esm.js";import"../nile-popup/nile-popup.css.esm.js";import"./portal-utils.esm.js";let y=class extends u{constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.disabled=!1,this.stayOpenOnSelect=!1,this.distance=0,this.noOpenOnClick=!1,this.skidding=0,this.hoist=!1,this.portal=!1,this.enableVisibilityEffect=!1,this.enableTabClose=!1,this.portalManager=null}connectedCallback(){super.connectedCallback(),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this),this.emit("nile-init"),requestAnimationFrame((()=>{this.portal&&!this.portalManager&&(this.portalManager=new f(this))}))}async firstUpdated(t){this.panel.hidden=!this.open,this.open&&(this.addOpenListeners(),this.popup.active=!0),await this.updateComplete;const i=this.trigger.assignedElements({flatten:!0})[0];this.visibilityManager=new w({host:this,target:i||null,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view"})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden"})},emit:(t,i)=>this.emit(`nile-${t}`,i)})}disconnectedCallback(){super.disconnectedCallback(),this.visibilityManager?.cleanup(),this.removeOpenListeners(),this.hide(),this.emit("nile-destroy"),this.portalManager&&(this.portalManager.cleanupPortalAppend(),this.portalManager=null)}focusOnTrigger(){const t=this.trigger.assignedElements({flatten:!0})[0];"function"==typeof t?.focus&&t.focus()}getMenu(){return this.panel.assignedElements({flatten:!0}).find((t=>"nile-menu"===t.tagName.toLowerCase()))}handleKeyDown(t){this.open&&"Escape"===t.key&&(t.stopPropagation(),this.hide(),this.focusOnTrigger())}handleDocumentKeyDown(t){if("Escape"===t.key&&this.open)return t.stopPropagation(),this.focusOnTrigger(),void this.hide();if("Tab"===t.key){if(this.open&&"nile-menu-item"===document.activeElement?.tagName.toLowerCase())return t.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{const t=this.containingElement?.getRootNode()instanceof ShadowRoot?document.activeElement?.shadowRoot?.activeElement:document.activeElement,i=this.containingElement&&t?.closest(this.containingElement.tagName.toLowerCase())===this.containingElement,s=this.portal&&this.portalManager?.portalContainerElement&&(t===this.portalManager.portalContainerElement||t?.closest(".nile-dropdown-portal-append")===this.portalManager.portalContainerElement);i||s||this.hide()}))}}handleDocumentMouseDown(t){const i=t.composedPath(),s=this.containingElement&&i.includes(this.containingElement),e=this.portal&&this.portalManager?.portalContainerElement&&i.includes(this.portalManager.portalContainerElement);s||e||this.hide()}handlePanelSelect(t){const i=t.target;this.stayOpenOnSelect||"nile-menu"!==i.tagName.toLowerCase()?this.stayOpenOnSelect&&"nile-menu"===i.tagName.toLowerCase()&&(this.show(),this.focusOnTrigger()):(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.noOpenOnClick||(this.open?this.hide():(this.show(),this.focusOnTrigger()))}handleTriggerKeyDown(t){const i=this.getMenu();if(i){const s=i.getAllItems(),e=s[0],n=s[s.length-1];["ArrowDown","ArrowUp","Home","End"].includes(t.key)&&(t.preventDefault(),this.open||this.show(),s.length>0&&this.updateComplete.then((()=>{"ArrowDown"!==t.key&&"Home"!==t.key||(i.setCurrentItem(e),e.focus()),"ArrowUp"!==t.key&&"End"!==t.key||(i.setCurrentItem(n),n.focus())})))}}handleTriggerKeyUp(t){" "===t.key&&t.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const t=this.trigger.assignedElements({flatten:!0}).find((t=>p(t).start));let i;if(t){switch(t.tagName.toLowerCase()){case"nile-button":case"nile-icon-button":i=t.button;break;default:i=t}i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-expanded",this.open?"true":"false")}}async show(){if(!this.open)return this.open=!0,c(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,c(this,"nile-after-hide")}reposition(){this.popup.reposition()}addOpenListeners(){this.panel.addEventListener("nile-select",this.handlePanelSelect),this.panel.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){this.panel&&(this.panel.removeEventListener("nile-select",this.handlePanelSelect),this.panel.removeEventListener("keydown",this.handleKeyDown)),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}updated(t){super.updated(t),t.has("portal")&&(this.portal&&!this.portalManager?(this.portalManager=new f(this),this.open&&this.portalManager.setupPortalAppend()):!this.portal&&this.portalManager&&(this.portalManager.cleanupPortalAppend(),this.portalManager=null))}async handleOpenChange(){if(this.visibilityManager?.setup(),this.disabled)this.open=!1;else if(this.updateAccessibleTrigger(),this.open){if(this.emit("nile-show"),this.addOpenListeners(),this.portal&&this.portalManager?this.portalManager.setupPortalAppend():this.portal&&!this.portalManager&&(this.portalManager=new f(this),this.portalManager.setupPortalAppend()),await h(this),!this.portal){this.panel.hidden=!1,this.popup.active=!0;const{keyframes:t,options:i}=d(this,"dropdown.show",{dir:""});await a(this.popup.popup,t,i)}this.emit("nile-after-show")}else{if(this.emit("nile-hide"),this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.portal&&this.portalManager&&this.portalManager.cleanupPortalAppend(),await h(this),!this.portal){const{keyframes:t,options:i}=d(this,"dropdown.hide",{dir:""});await a(this.popup.popup,t,i),this.panel.hidden=!0,this.popup.active=!1}this.emit("nile-after-hide")}}render(){return i`
|
|
1
|
+
import{__decorate as t}from"tslib";import{html as i}from"lit";import{query as s,property as e,customElement as n}from"lit/decorators.js";import{s as o}from"./nile-dropdown.css.esm.js";import{s as h,a}from"../internal/animate.esm.js";import{classMap as r}from"lit/directives/class-map.js";import{s as l,g as d}from"../utilities/animation-registry.esm.js";import{g as p}from"../internal/tabbable.esm.js";import{w as c}from"../internal/event.esm.js";import{w as m}from"../internal/watch.esm.js";import{N as u}from"../internal/nile-element.esm.js";import"../nile-popup/nile-popup.esm.js";import{D as f}from"./portal-manager.esm.js";import{V as w}from"../utilities/visibility-manager.esm.js";import"../floating-ui.dom-cc9126da.esm.js";import"../nile-popup/nile-popup.css.esm.js";import"./portal-utils.esm.js";let y=class extends u{constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.disabled=!1,this.stayOpenOnSelect=!1,this.distance=0,this.noOpenOnClick=!1,this.skidding=0,this.hoist=!1,this.portal=!1,this.enableVisibilityEffect=!1,this.enableTabClose=!1,this.portalManager=null}connectedCallback(){super.connectedCallback(),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this),this.emit("nile-init"),requestAnimationFrame((()=>{this.portal&&!this.portalManager&&(this.portalManager=new f(this))}))}async firstUpdated(t){this.panel.hidden=!this.open,this.open&&(this.addOpenListeners(),this.popup.active=!0),await this.updateComplete;const i=this.trigger.assignedElements({flatten:!0})[0];this.visibilityManager=new w({host:this,target:i||null,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view"})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden"})},emit:(t,i)=>this.emit(`nile-${t}`,i)})}disconnectedCallback(){super.disconnectedCallback(),this.visibilityManager?.cleanup(),this.removeOpenListeners(),this.hide(),this.emit("nile-destroy"),this.portalManager&&(this.portalManager.cleanupPortalAppend(),this.portalManager=null)}focusOnTrigger(){const t=this.trigger.assignedElements({flatten:!0})[0];"function"==typeof t?.focus&&t.focus()}getMenu(){return this.panel.assignedElements({flatten:!0}).find((t=>"nile-menu"===t.tagName.toLowerCase()))}handleKeyDown(t){this.open&&"Escape"===t.key&&(t.stopPropagation(),this.hide(),this.focusOnTrigger())}handleDocumentKeyDown(t){if("Escape"===t.key&&this.open)return t.stopPropagation(),this.focusOnTrigger(),void this.hide();if("Tab"===t.key){if(this.open&&"nile-menu-item"===document.activeElement?.tagName.toLowerCase())return t.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{const t=this.containingElement?.getRootNode()instanceof ShadowRoot?document.activeElement?.shadowRoot?.activeElement:document.activeElement,i=this.containingElement&&t?.closest(this.containingElement.tagName.toLowerCase())===this.containingElement,s=this.portal&&this.portalManager?.portalContainerElement&&(t===this.portalManager.portalContainerElement||t?.closest(".nile-dropdown-portal-append")===this.portalManager.portalContainerElement);i||s||this.hide()}))}}handleDocumentMouseDown(t){const i=t.composedPath(),s=this.containingElement&&i.includes(this.containingElement),e=this.portal&&this.portalManager?.portalContainerElement&&i.includes(this.portalManager.portalContainerElement);s||e||this.hide()}handlePanelSelect(t){const i=t.target;this.stayOpenOnSelect||"nile-menu"!==i.tagName.toLowerCase()?this.stayOpenOnSelect&&"nile-menu"===i.tagName.toLowerCase()&&(this.show(),this.focusOnTrigger()):(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.noOpenOnClick||(this.open?this.hide():(this.show(),this.focusOnTrigger()))}handleTriggerKeyDown(t){const i=this.getMenu();if(i){const s=i.getAllItems(),e=s[0],n=s[s.length-1];["ArrowDown","ArrowUp","Home","End"].includes(t.key)&&(t.preventDefault(),this.open||this.show(),s.length>0&&this.updateComplete.then((()=>{"ArrowDown"!==t.key&&"Home"!==t.key||(i.setCurrentItem(e),e.focus()),"ArrowUp"!==t.key&&"End"!==t.key||(i.setCurrentItem(n),n.focus())})))}}handleTriggerKeyUp(t){" "===t.key&&t.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const t=this.trigger.assignedElements({flatten:!0}).find((t=>p(t).start));let i;if(t){switch(t.tagName.toLowerCase()){case"nile-button":case"nile-icon-button":i=t.button;break;default:i=t}i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-expanded",this.open?"true":"false")}}async show(){if(!this.open)return this.open=!0,c(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,c(this,"nile-after-hide")}reposition(){this.popup.reposition()}addOpenListeners(){this.panel.addEventListener("nile-select",this.handlePanelSelect),this.panel.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){this.panel&&(this.panel.removeEventListener("nile-select",this.handlePanelSelect),this.panel.removeEventListener("keydown",this.handleKeyDown)),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}updated(t){super.updated(t),t.has("portal")&&(this.portal&&!this.portalManager?(this.portalManager=new f(this),this.open&&this.portalManager.setupPortalAppend()):!this.portal&&this.portalManager&&(this.portalManager.cleanupPortalAppend(),this.portalManager=null)),t.has("disabled")&&this.updateTriggerDisabledState()}updateTriggerDisabledState(){const t=this.querySelector('[slot="trigger"]');t&&"disabled"in t&&(t.disabled=this.disabled)}async handleOpenChange(){if(this.visibilityManager?.setup(),this.disabled)this.open=!1;else if(this.updateAccessibleTrigger(),this.open){if(this.emit("nile-show"),this.addOpenListeners(),this.portal&&this.portalManager?this.portalManager.setupPortalAppend():this.portal&&!this.portalManager&&(this.portalManager=new f(this),this.portalManager.setupPortalAppend()),await h(this),!this.portal){this.panel.hidden=!1,this.popup.active=!0;const{keyframes:t,options:i}=d(this,"dropdown.show",{dir:""});await a(this.popup.popup,t,i)}this.emit("nile-after-show")}else{if(this.emit("nile-hide"),this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.portal&&this.portalManager&&this.portalManager.cleanupPortalAppend(),await h(this),!this.portal){const{keyframes:t,options:i}=d(this,"dropdown.hide",{dir:""});await a(this.popup.popup,t,i),this.panel.hidden=!0,this.popup.active=!1}this.emit("nile-after-hide")}}render(){return i`
|
|
2
2
|
<nile-popup
|
|
3
3
|
part="base"
|
|
4
4
|
id="dropdown"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
System.register(["../types/file-upload.enums.cjs.js"],function(_export,_context){"use strict";var e,s,t,o,n,r,a,i,u,c,d,p;function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var n=0,F=function F(){};return{s:F,n:function(_n){function n(){return _n.apply(this,arguments);}n.toString=function(){return _n.toString();};return n;}(function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]};}),e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function l(e){var r=e.uploadedFiles,a=e.fileUploadUrl,i=e.uploadRequests;if(a&&r!==null&&r!==void 0&&r.length){var
|
|
1
|
+
System.register(["../types/file-upload.enums.cjs.js"],function(_export,_context){"use strict";var e,s,t,o,n,r,a,i,u,c,d,p;function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var n=0,F=function F(){};return{s:F,n:function(_n){function n(){return _n.apply(this,arguments);}n.toString=function(){return _n.toString();};return n;}(function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]};}),e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function l(e){var r=e.uploadedFiles,a=e.fileUploadUrl,i=e.uploadRequests;if(a&&r!==null&&r!==void 0&&r.length){var _iterator4=_createForOfIteratorHelper(r),_step4;try{var _loop2=function _loop2(){var l=_step4.value;if(i.has(l))return 0;// continue
|
|
2
2
|
if(e.doNotUpload.includes(l))return 0;// continue
|
|
3
3
|
if(l.errorMessage)return 0;// continue
|
|
4
|
-
var r=new FormData();r.append("file",l);var u=new XMLHttpRequest();i.set(l,u),e.emit(t.NILE_UPLOADING),u.upload.onprogress=function(s){var o=Math.floor(s.loaded/s.total*100);e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_PROGRESS,{detail:{file:l,progress:o},bubbles:!0,composed:!0}));},u.onload=function(){u.status>=200&&u.status<300?e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_SUCCESS,{detail:{file:l,response:u.response},bubbles:!0,composed:!0})):(e.errorMessage=s.SERVER_SIDE_ERROR,e.dispatchEvent(new CustomEvent(t.SERVER_SIDE_ERROR,{detail:{file:l,status:u.status,response:u.response}})),e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.SERVER_SIDE_ERROR,file:l,status:(u===null||u===void 0?void 0:u.status)||0,response:u===null||u===void 0?void 0:u.response,message:s.SERVER_SIDE_ERROR,errorType:n.SERVER},bubbles:!0,composed:!0})),e.requestUpdate());},u.onerror=function(){i["delete"](l),e.doNotUpload.push(l),e.errorMessage=s.NETWORK_ERROR,e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.NETWORK_ERROR,file:l,status:u.status,response:u.response,errorType:n.NETWORK,message:s.NETWORK_ERROR},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent(t.NILE_NETWORK_ERROR,{detail:{file:l,status:u.status,response:u.response},bubbles:!0,composed:!0}));},u.open("POST",a),u.send(r);},_ret;for(
|
|
4
|
+
var r=new FormData();r.append("file",l);var u=new XMLHttpRequest();i.set(l,u),e.emit(t.NILE_UPLOADING),u.upload.onprogress=function(s){var o=Math.floor(s.loaded/s.total*100);e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_PROGRESS,{detail:{file:l,progress:o},bubbles:!0,composed:!0}));},u.onload=function(){u.status>=200&&u.status<300?e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_SUCCESS,{detail:{file:l,response:u.response},bubbles:!0,composed:!0})):(e.errorMessage=s.SERVER_SIDE_ERROR,e.dispatchEvent(new CustomEvent(t.SERVER_SIDE_ERROR,{detail:{file:l,status:u.status,response:u.response}})),e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.SERVER_SIDE_ERROR,file:l,status:(u===null||u===void 0?void 0:u.status)||0,response:u===null||u===void 0?void 0:u.response,message:s.SERVER_SIDE_ERROR,errorType:n.SERVER},bubbles:!0,composed:!0})),e.requestUpdate());},u.onerror=function(){i["delete"](l),e.doNotUpload.push(l),e.errorMessage=s.NETWORK_ERROR,e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.NETWORK_ERROR,file:l,status:u.status,response:u.response,errorType:n.NETWORK,message:s.NETWORK_ERROR},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent(t.NILE_NETWORK_ERROR,{detail:{file:l,status:u.status,response:u.response},bubbles:!0,composed:!0}));},u.open("POST",a),u.send(r);},_ret;for(_iterator4.s();!(_step4=_iterator4.n()).done;){_ret=_loop2();if(_ret===0)continue;}}catch(err){_iterator4.e(err);}finally{_iterator4.f();}}}_export("u",l);return{setters:[function(_typesFileUploadEnumsCjsJs){e=_typesFileUploadEnumsCjsJs.F;s=_typesFileUploadEnumsCjsJs.a;t=_typesFileUploadEnumsCjsJs.b;o=_typesFileUploadEnumsCjsJs.c;n=_typesFileUploadEnumsCjsJs.E;}],execute:function execute(){_export("s",r=function r(_r,a){a.setIsDisabled(function(){return _r.state===e.DISABLED;}),a.onStateChange(function(e){_r.state=e;}),a.onFileDrop(function(a){if(_r.state===e.DISABLED)return;_r.errorMessage="";var i=function(e){var s={B:1,KB:1024,MB:1048576,GB:Math.pow(1024,3)},t=parseFloat(e),o=e.replace(/[0-9.\s]/g,"").toUpperCase(),n=s[o]||1;return t*n;}(_r.size),l=_r.uploadedFiles;if(!_r.allowMultiple&&l.length+a.length>1)return _r.errorMessage=s.MULTIPLE_NOT_ALLOWED,void _r.requestUpdate();var u=!1,c=!1;var d=[],p=[];var _iterator=_createForOfIteratorHelper(a),_step;try{var _loop=function _loop(){var e=_step.value;e.size>i?(u=!0,p.push(e)):_r.allowDuplicates||!l.some(function(s){return s.name===e.name&&s.size===e.size&&s.type===e.type;})?p.includes(e)||d.push(e):(c=!0,p.push(e));};for(_iterator.s();!(_step=_iterator.n()).done;){_loop();}}catch(err){_iterator.e(err);}finally{_iterator.f();}if(u){_r.errorMessage=s.SIZE_LIMIT_EXCEEDED;var _e=p.filter(function(e){return e.size>i;});_r.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{files:_e,type:o.SIZE_LIMIT_EXCEEDED,errorType:n.VALIDATION,message:s.SIZE_LIMIT_EXCEEDED},bubbles:!0,composed:!0})),_r.dispatchEvent(new CustomEvent(t.NILE_SIZE_EXCEED_FILES,{detail:{files:p}})),_r.requestUpdate();}c&&0===d.length&&(_r.errorMessage=s.DUPLICATES_NOT_ALLOWED,_r.requestUpdate());var f=[];if(_r.allowedTypes.length>0){var _iterator2=_createForOfIteratorHelper(d),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _e2=_step2.value;_r.allowedTypes.includes(_e2.type)?f.push(_e2):_r.errorMessage=s.INVALID_FORMAT;}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}0===f.length&&(f=d),_r.uploadedFiles=[].concat(_toConsumableArray(l),_toConsumableArray(f)),_r.requestUpdate();}),a.setErrorMessage(function(e){_r.errorMessage=e;});}),_export("b",a=function a(e){document.addEventListener("dragover",e.preventDragOver,{passive:!1}),document.addEventListener("drop",e.preventDrop,{passive:!1});}),_export("a",i=function i(s,t,o){s.addEventListener("mouseenter",function(t){return o=s.setState,void(s.state===e.DEFAULT&&o(e.HOVER));var o;}),s.addEventListener("mouseleave",function(t){return o=s.setState,void(s.state===e.HOVER&&o(e.DEFAULT));var o;}),s.addEventListener("dragenter",function(e){return t.dragEnter(e);}),s.addEventListener("dragleave",function(e){return t.dragLeave(e);}),s.addEventListener("dragover",function(e){return t.dragOver(e);}),s.addEventListener("drop",function(e){return t.drop(e);});var n=s.browseFiles.bind(s);new ResizeObserver(function(e){var _iterator3=_createForOfIteratorHelper(e),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _t=_step3.value;_t.contentRect.width<400?s.horizontalDiv.addEventListener("click",n):s.horizontalDiv.removeEventListener("click",n);}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}}).observe(s.horizontalDiv),u(s,o),d(s.uploadedFiles,s);});u=function u(e,r){document.addEventListener(t.NILE_CANCEL_UPLOAD,function(a){var i=a.detail.file,l=r.get(i);l&&l.abort(),r["delete"](i),e.uploadedFiles=e.uploadedFiles.filter(function(e){return e!==i;}),e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.UPLOAD_CANCELLED,file:i,message:s.UPLOAD_CANCELLED,errorType:n.UPLOAD_CANCELLED},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_CANCELLED,{detail:{file:i}}));});};_export("p",c=function c(e){var _e$preventDefault;(_e$preventDefault=e.preventDefault)!==null&&_e$preventDefault!==void 0&&_e$preventDefault.call(e),e.stopPropagation();}),d=function d(e,s){document.addEventListener("nile-remove",function(t){var o=t.detail.value;e=e.filter(function(e){return e!==o;}),s.uploadedFiles=e,s.errorMessage="",s.requestUpdate();});},_export("t",p=function p(e){("vertical"===e.variant&&e.errorMessage.length>34||"horizontal"===e.variant&&e.errorMessage.length>96)&&(e.isStringTruncated=!0,e.requestUpdate());});}};});
|
|
5
5
|
//# sourceMappingURL=file-validation.util.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-validation.util.cjs.js","sources":["../../../../src/nile-file-upload/utils/file-validation.util.ts"],"sourcesContent":["import { DragHandler } from \"./drag-drop.util\";\nimport { FileUploadState, FileUploadError, FileUploadEvent, FileUploadErrorReason } from \"../types\";\nimport { NileFileUpload } from \"../nile-file-upload\";\nimport { RemoveFileDetail } from \"../../nile-file-preview/types\";\nimport { ErrorType } from \"../types\";\n\nexport const setUpDragHandler = (\n nileFileUpload: NileFileUpload,\n dragHandler: DragHandler,\n): void => {\n dragHandler.setIsDisabled(() => {\n return nileFileUpload.state === FileUploadState.DISABLED;\n });\n\n dragHandler.onStateChange((newState: FileUploadState) => {\n nileFileUpload.state = newState;\n });\n\n dragHandler.onFileDrop((files: File[]) => {\n if (nileFileUpload.state === FileUploadState.DISABLED) return;\n nileFileUpload.errorMessage = '';\n const maxSize = parseSize(nileFileUpload.size);\n const uploadedFiles = nileFileUpload.uploadedFiles;\n\n if (!nileFileUpload.allowMultiple && (uploadedFiles.length + files.length > 1)) {\n nileFileUpload.errorMessage = FileUploadError.MULTIPLE_NOT_ALLOWED;\n nileFileUpload.requestUpdate();\n return;\n }\n\n let sizeExceeded = false;\n let duplicatesFound = false;\n const newFiles: File[] = [];\n const rejectedFiles: File[] = [];\n\n for (const file of files) {\n if (file.size > maxSize) {\n sizeExceeded = true;\n rejectedFiles.push(file);\n continue;\n }\n\n if (\n !nileFileUpload.allowDuplicates &&\n uploadedFiles.some(\n (uploaded) =>\n uploaded.name === file.name &&\n uploaded.size === file.size &&\n uploaded.type === file.type\n )\n ) {\n duplicatesFound = true;\n rejectedFiles.push(file);\n continue;\n }\n\n if(!rejectedFiles.includes(file)) {\n newFiles.push(file);\n }\n }\n\n if (sizeExceeded) {\n nileFileUpload.errorMessage = FileUploadError.SIZE_LIMIT_EXCEEDED;\n const sizeExceededFiles = rejectedFiles.filter(file => file.size > maxSize);\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_ERROR, {\n detail: { \n files: sizeExceededFiles,\n type: FileUploadErrorReason.SIZE_LIMIT_EXCEEDED,\n errorType: ErrorType.VALIDATION,\n message: FileUploadError.SIZE_LIMIT_EXCEEDED,\n },\n bubbles: true,\n composed: true,\n }));\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_SIZE_EXCEED_FILES, {\n detail: { files: rejectedFiles }\n }));\n nileFileUpload.requestUpdate();\n }\n\n if (duplicatesFound && newFiles.length === 0) {\n nileFileUpload.errorMessage = FileUploadError.DUPLICATES_NOT_ALLOWED;\n nileFileUpload.requestUpdate();\n }\n\n let updatedFiles = [];\n for (const file of newFiles) {\n if(nileFileUpload.allowedTypes.includes(file.type)) {\n updatedFiles.push(file);\n } else {\n nileFileUpload.errorMessage = FileUploadError.INVALID_FORMAT;\n }\n }\n\n nileFileUpload.uploadedFiles = [...uploadedFiles, ...updatedFiles];\n nileFileUpload.requestUpdate();\n });\n\n\n dragHandler.setErrorMessage((errorMessage: string) => {\n nileFileUpload.errorMessage = errorMessage;\n });\n};\n\nexport const addGlobalListeners = (dragHandler: DragHandler): void => {\n document.addEventListener('dragover', dragHandler.preventDragOver, { passive: false });\n document.addEventListener('drop', dragHandler.preventDrop, { passive: false });\n}\n\nexport const addInternalListeners = (nileFileUpload: NileFileUpload, dragHandler: DragHandler, uploadRequests: any): void => {\n nileFileUpload.addEventListener('mouseenter', (e) => handleHoverIn(nileFileUpload.setState, nileFileUpload.state));\n nileFileUpload.addEventListener('mouseleave', (e) => handleHoverOut(nileFileUpload.setState, nileFileUpload.state));\n nileFileUpload.addEventListener('dragenter', (e) => dragHandler.dragEnter(e));\n nileFileUpload.addEventListener('dragleave', (e) => dragHandler.dragLeave(e));\n nileFileUpload.addEventListener('dragover', (e) => dragHandler.dragOver(e));\n nileFileUpload.addEventListener('drop', (e) => dragHandler.drop(e));\n const clickHandler = nileFileUpload.browseFiles.bind(nileFileUpload);\n\n const observer = new ResizeObserver(entries => {\n for (const entry of entries) {\n if (entry.contentRect.width < 400) {\n nileFileUpload.horizontalDiv.addEventListener('click', clickHandler);\n } else {\n nileFileUpload.horizontalDiv.removeEventListener('click', clickHandler);\n }\n }\n });\n observer.observe(nileFileUpload.horizontalDiv);\n\n cancelFileUpload(nileFileUpload, uploadRequests);\n removeFile(nileFileUpload.uploadedFiles, nileFileUpload);\n}\n\nexport function handleHoverIn(\n setState: (state: FileUploadState) => void,\n currentState: FileUploadState\n): void {\n if (currentState === FileUploadState.DEFAULT) {\n setState(FileUploadState.HOVER);\n }\n}\n\nexport function handleHoverOut(\n setState: (state: FileUploadState) => void,\n currentState: FileUploadState\n): void {\n if (currentState === FileUploadState.HOVER) {\n setState(FileUploadState.DEFAULT);\n }\n}\n\nexport function uploadFiles(nileFileUpload: NileFileUpload) {\n const { uploadedFiles, fileUploadUrl, uploadRequests } = nileFileUpload;\n if (!fileUploadUrl || !uploadedFiles?.length) return;\n\n for (const file of uploadedFiles) {\n if (uploadRequests.has(file)) continue;\n if (nileFileUpload.doNotUpload.includes(file)) continue;\n\n if((file as any).errorMessage) continue;\n\n const formData = new FormData();\n formData.append('file', file);\n\n const xhr = new XMLHttpRequest();\n uploadRequests.set(file, xhr);\n\n nileFileUpload.emit(FileUploadEvent.NILE_UPLOADING);\n\n xhr.upload.onprogress = (e) => {\n const percent = Math.floor((e.loaded / e.total) * 100);\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_PROGRESS, {\n detail: { file, progress: percent },\n bubbles: true,\n composed: true,\n }));\n };\n\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_SUCCESS, {\n detail: { file, response: xhr.response },\n bubbles: true,\n composed: true,\n }));\n } else {\n nileFileUpload.errorMessage = FileUploadError.SERVER_SIDE_ERROR;\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.SERVER_SIDE_ERROR, {\n detail: { file, status: xhr.status, response: xhr.response }\n }));\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_ERROR, {\n detail: { \n type: FileUploadErrorReason.SERVER_SIDE_ERROR, \n file, \n status: xhr?.status || 0, \n response: xhr?.response,\n message: FileUploadError.SERVER_SIDE_ERROR,\n errorType: ErrorType.SERVER,\n },\n bubbles: true,\n composed: true,\n }));\n nileFileUpload.requestUpdate();\n }\n };\n\n xhr.onerror = () => {\n uploadRequests.delete(file);\n nileFileUpload.doNotUpload.push(file);\n nileFileUpload.errorMessage = FileUploadError.NETWORK_ERROR;\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_ERROR, {\n detail: { \n type: FileUploadErrorReason.NETWORK_ERROR,\n file,\n status: xhr.status,\n response: xhr.response,\n errorType: ErrorType.NETWORK,\n message: FileUploadError.NETWORK_ERROR,\n },\n bubbles: true,\n composed: true,\n }));\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_NETWORK_ERROR, {\n detail: { file, status: xhr.status, response: xhr.response },\n bubbles: true,\n composed: true,\n }));\n };\n\n xhr.open('POST', fileUploadUrl);\n xhr.send(formData);\n }\n}\n\nexport const cancelFileUpload = (nileFileUpload: NileFileUpload, uploadRequests: Map<File, XMLHttpRequest>) => {\n document.addEventListener(FileUploadEvent.NILE_CANCEL_UPLOAD, (e: CustomEvent) => {\n const fileToCancel = e.detail.file;\n const xhr = uploadRequests.get(fileToCancel);\n\n if (xhr) {\n xhr.abort();\n }\n uploadRequests.delete(fileToCancel);\n nileFileUpload.uploadedFiles = nileFileUpload.uploadedFiles.filter(file => file !== fileToCancel);\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_ERROR, {\n detail: { \n type: FileUploadErrorReason.UPLOAD_CANCELLED, \n file: fileToCancel,\n message: FileUploadError.UPLOAD_CANCELLED,\n errorType: ErrorType.UPLOAD_CANCELLED,\n },\n bubbles: true,\n composed: true,\n }));\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_CANCELLED, {\n detail: { file: fileToCancel }\n }));\n });\n};\n\nfunction parseSize(sizeStr: string): number {\n const units = { B: 1, KB: 1024, MB: 1024 ** 2, GB: 1024 ** 3 };\n const num = parseFloat(sizeStr);\n const unit = sizeStr.replace(/[0-9.\\s]/g, '').toUpperCase();\n const multiplier = units[unit as keyof typeof units] || 1;\n return num * multiplier;\n}\n\nexport const preventDefaultAndStopPropagation = (event: Event | DragEvent): void => {\n event.preventDefault?.();\n event.stopPropagation();\n}\n\nexport const removeFile = (uploadedFiles: File[], nileFileUpload: NileFileUpload) => {\n document.addEventListener('nile-remove', (e: CustomEvent<RemoveFileDetail>) => {\n const { value } = e.detail;\n uploadedFiles = uploadedFiles.filter(file => file !== value);\n nileFileUpload.uploadedFiles = uploadedFiles;\n nileFileUpload.errorMessage = '';\n nileFileUpload.requestUpdate();\n });\n}\n\nexport const truncateString = (nileFileUpload: NileFileUpload): void => {\n if(nileFileUpload.variant === 'vertical' && nileFileUpload.errorMessage.length > 34) {\n nileFileUpload.isStringTruncated = true;\n nileFileUpload.requestUpdate();\n } else if(nileFileUpload.variant === 'horizontal' && nileFileUpload.errorMessage.length > 96) {\n nileFileUpload.isStringTruncated = true;\n nileFileUpload.requestUpdate();\n }\n}\n"],"names":["uploadFiles","nileFileUpload","uploadedFiles","fileUploadUrl","uploadRequests","length","_iterator3","_createForOfIteratorHelper","file","has","doNotUpload","includes","errorMessage","formData","FormData","append","xhr","XMLHttpRequest","set","emit","FileUploadEvent","NILE_UPLOADING","upload","onprogress","e","percent","Math","floor","loaded","total","dispatchEvent","CustomEvent","NILE_UPLOAD_PROGRESS","detail","progress","bubbles","composed","onload","status","NILE_UPLOAD_SUCCESS","response","FileUploadError","SERVER_SIDE_ERROR","NILE_ERROR","type","FileUploadErrorReason","message","errorType","ErrorType","SERVER","requestUpdate","onerror","delete","push","NETWORK_ERROR","NETWORK","NILE_NETWORK_ERROR","open","send","_ret","s","_step3","n","done","_loop2","err","f","_export","setUpDragHandler","dragHandler","setIsDisabled","state","FileUploadState","DISABLED","onStateChange","newState","onFileDrop","files","maxSize","sizeStr","units","B","KB","MB","GB","num","parseFloat","unit","replace","toUpperCase","multiplier","parseSize","size","allowMultiple","MULTIPLE_NOT_ALLOWED","sizeExceeded","duplicatesFound","newFiles","rejectedFiles","_iterator","allowDuplicates","some","uploaded","name","_step","_loop","SIZE_LIMIT_EXCEEDED","sizeExceededFiles","filter","VALIDATION","NILE_SIZE_EXCEED_FILES","DUPLICATES_NOT_ALLOWED","updatedFiles","_i","_d","allowedTypes","INVALID_FORMAT","concat","_toConsumableArray","setErrorMessage","addGlobalListeners","document","addEventListener","preventDragOver","passive","preventDrop","addInternalListeners","i","handleHoverIn","setState","DEFAULT","HOVER","handleHoverOut","dragEnter","dragLeave","dragOver","drop","clickHandler","browseFiles","bind","ResizeObserver","entries","entry","_iterator2","_step2","contentRect","width","horizontalDiv","removeEventListener","observe","cancelFileUpload","removeFile","NILE_CANCEL_UPLOAD","fileToCancel","get","abort","UPLOAD_CANCELLED","NILE_UPLOAD_CANCELLED","preventDefaultAndStopPropagation","event","preventDefault","stopPropagation","value","truncateString","variant","isStringTruncated"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-validation.util.cjs.js","sources":["../../../../src/nile-file-upload/utils/file-validation.util.ts"],"sourcesContent":["import { DragHandler } from \"./drag-drop.util\";\nimport { FileUploadState, FileUploadError, FileUploadEvent, FileUploadErrorReason } from \"../types\";\nimport { NileFileUpload } from \"../nile-file-upload\";\nimport { RemoveFileDetail } from \"../../nile-file-preview/types\";\nimport { ErrorType } from \"../types\";\n\nexport const setUpDragHandler = (\n nileFileUpload: NileFileUpload,\n dragHandler: DragHandler,\n): void => {\n dragHandler.setIsDisabled(() => {\n return nileFileUpload.state === FileUploadState.DISABLED;\n });\n\n dragHandler.onStateChange((newState: FileUploadState) => {\n nileFileUpload.state = newState;\n });\n\n dragHandler.onFileDrop((files: File[]) => {\n if (nileFileUpload.state === FileUploadState.DISABLED) return;\n nileFileUpload.errorMessage = '';\n const maxSize = parseSize(nileFileUpload.size);\n const uploadedFiles = nileFileUpload.uploadedFiles;\n\n if (!nileFileUpload.allowMultiple && (uploadedFiles.length + files.length > 1)) {\n nileFileUpload.errorMessage = FileUploadError.MULTIPLE_NOT_ALLOWED;\n nileFileUpload.requestUpdate();\n return;\n }\n\n let sizeExceeded = false;\n let duplicatesFound = false;\n const newFiles: File[] = [];\n const rejectedFiles: File[] = [];\n\n for (const file of files) {\n if (file.size > maxSize) {\n sizeExceeded = true;\n rejectedFiles.push(file);\n continue;\n }\n\n if (\n !nileFileUpload.allowDuplicates &&\n uploadedFiles.some(\n (uploaded) =>\n uploaded.name === file.name &&\n uploaded.size === file.size &&\n uploaded.type === file.type\n )\n ) {\n duplicatesFound = true;\n rejectedFiles.push(file);\n continue;\n }\n\n if(!rejectedFiles.includes(file)) {\n newFiles.push(file);\n }\n }\n\n if (sizeExceeded) {\n nileFileUpload.errorMessage = FileUploadError.SIZE_LIMIT_EXCEEDED;\n const sizeExceededFiles = rejectedFiles.filter(file => file.size > maxSize);\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_ERROR, {\n detail: { \n files: sizeExceededFiles,\n type: FileUploadErrorReason.SIZE_LIMIT_EXCEEDED,\n errorType: ErrorType.VALIDATION,\n message: FileUploadError.SIZE_LIMIT_EXCEEDED,\n },\n bubbles: true,\n composed: true,\n }));\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_SIZE_EXCEED_FILES, {\n detail: { files: rejectedFiles }\n }));\n nileFileUpload.requestUpdate();\n }\n\n if (duplicatesFound && newFiles.length === 0) {\n nileFileUpload.errorMessage = FileUploadError.DUPLICATES_NOT_ALLOWED;\n nileFileUpload.requestUpdate();\n }\n\n let updatedFiles = [];\n if(nileFileUpload.allowedTypes.length > 0) {\n for (const file of newFiles) {\n if(nileFileUpload.allowedTypes.includes(file.type)) {\n updatedFiles.push(file);\n } else {\n nileFileUpload.errorMessage = FileUploadError.INVALID_FORMAT;\n }\n }\n }\n if(updatedFiles.length === 0) {\n updatedFiles = newFiles;\n }\n\n nileFileUpload.uploadedFiles = [...uploadedFiles, ...updatedFiles];\n nileFileUpload.requestUpdate();\n });\n\n\n dragHandler.setErrorMessage((errorMessage: string) => {\n nileFileUpload.errorMessage = errorMessage;\n });\n};\n\nexport const addGlobalListeners = (dragHandler: DragHandler): void => {\n document.addEventListener('dragover', dragHandler.preventDragOver, { passive: false });\n document.addEventListener('drop', dragHandler.preventDrop, { passive: false });\n}\n\nexport const addInternalListeners = (nileFileUpload: NileFileUpload, dragHandler: DragHandler, uploadRequests: any): void => {\n nileFileUpload.addEventListener('mouseenter', (e) => handleHoverIn(nileFileUpload.setState, nileFileUpload.state));\n nileFileUpload.addEventListener('mouseleave', (e) => handleHoverOut(nileFileUpload.setState, nileFileUpload.state));\n nileFileUpload.addEventListener('dragenter', (e) => dragHandler.dragEnter(e));\n nileFileUpload.addEventListener('dragleave', (e) => dragHandler.dragLeave(e));\n nileFileUpload.addEventListener('dragover', (e) => dragHandler.dragOver(e));\n nileFileUpload.addEventListener('drop', (e) => dragHandler.drop(e));\n const clickHandler = nileFileUpload.browseFiles.bind(nileFileUpload);\n\n const observer = new ResizeObserver(entries => {\n for (const entry of entries) {\n if (entry.contentRect.width < 400) {\n nileFileUpload.horizontalDiv.addEventListener('click', clickHandler);\n } else {\n nileFileUpload.horizontalDiv.removeEventListener('click', clickHandler);\n }\n }\n });\n observer.observe(nileFileUpload.horizontalDiv);\n\n cancelFileUpload(nileFileUpload, uploadRequests);\n removeFile(nileFileUpload.uploadedFiles, nileFileUpload);\n}\n\nexport function handleHoverIn(\n setState: (state: FileUploadState) => void,\n currentState: FileUploadState\n): void {\n if (currentState === FileUploadState.DEFAULT) {\n setState(FileUploadState.HOVER);\n }\n}\n\nexport function handleHoverOut(\n setState: (state: FileUploadState) => void,\n currentState: FileUploadState\n): void {\n if (currentState === FileUploadState.HOVER) {\n setState(FileUploadState.DEFAULT);\n }\n}\n\nexport function uploadFiles(nileFileUpload: NileFileUpload) {\n const { uploadedFiles, fileUploadUrl, uploadRequests } = nileFileUpload;\n if (!fileUploadUrl || !uploadedFiles?.length) return;\n\n for (const file of uploadedFiles) {\n if (uploadRequests.has(file)) continue;\n if (nileFileUpload.doNotUpload.includes(file)) continue;\n\n if((file as any).errorMessage) continue;\n\n const formData = new FormData();\n formData.append('file', file);\n\n const xhr = new XMLHttpRequest();\n uploadRequests.set(file, xhr);\n\n nileFileUpload.emit(FileUploadEvent.NILE_UPLOADING);\n\n xhr.upload.onprogress = (e) => {\n const percent = Math.floor((e.loaded / e.total) * 100);\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_PROGRESS, {\n detail: { file, progress: percent },\n bubbles: true,\n composed: true,\n }));\n };\n\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_SUCCESS, {\n detail: { file, response: xhr.response },\n bubbles: true,\n composed: true,\n }));\n } else {\n nileFileUpload.errorMessage = FileUploadError.SERVER_SIDE_ERROR;\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.SERVER_SIDE_ERROR, {\n detail: { file, status: xhr.status, response: xhr.response }\n }));\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_ERROR, {\n detail: { \n type: FileUploadErrorReason.SERVER_SIDE_ERROR, \n file, \n status: xhr?.status || 0, \n response: xhr?.response,\n message: FileUploadError.SERVER_SIDE_ERROR,\n errorType: ErrorType.SERVER,\n },\n bubbles: true,\n composed: true,\n }));\n nileFileUpload.requestUpdate();\n }\n };\n\n xhr.onerror = () => {\n uploadRequests.delete(file);\n nileFileUpload.doNotUpload.push(file);\n nileFileUpload.errorMessage = FileUploadError.NETWORK_ERROR;\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_ERROR, {\n detail: { \n type: FileUploadErrorReason.NETWORK_ERROR,\n file,\n status: xhr.status,\n response: xhr.response,\n errorType: ErrorType.NETWORK,\n message: FileUploadError.NETWORK_ERROR,\n },\n bubbles: true,\n composed: true,\n }));\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_NETWORK_ERROR, {\n detail: { file, status: xhr.status, response: xhr.response },\n bubbles: true,\n composed: true,\n }));\n };\n\n xhr.open('POST', fileUploadUrl);\n xhr.send(formData);\n }\n}\n\nexport const cancelFileUpload = (nileFileUpload: NileFileUpload, uploadRequests: Map<File, XMLHttpRequest>) => {\n document.addEventListener(FileUploadEvent.NILE_CANCEL_UPLOAD, (e: CustomEvent) => {\n const fileToCancel = e.detail.file;\n const xhr = uploadRequests.get(fileToCancel);\n\n if (xhr) {\n xhr.abort();\n }\n uploadRequests.delete(fileToCancel);\n nileFileUpload.uploadedFiles = nileFileUpload.uploadedFiles.filter(file => file !== fileToCancel);\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_ERROR, {\n detail: { \n type: FileUploadErrorReason.UPLOAD_CANCELLED, \n file: fileToCancel,\n message: FileUploadError.UPLOAD_CANCELLED,\n errorType: ErrorType.UPLOAD_CANCELLED,\n },\n bubbles: true,\n composed: true,\n }));\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_CANCELLED, {\n detail: { file: fileToCancel }\n }));\n });\n};\n\nfunction parseSize(sizeStr: string): number {\n const units = { B: 1, KB: 1024, MB: 1024 ** 2, GB: 1024 ** 3 };\n const num = parseFloat(sizeStr);\n const unit = sizeStr.replace(/[0-9.\\s]/g, '').toUpperCase();\n const multiplier = units[unit as keyof typeof units] || 1;\n return num * multiplier;\n}\n\nexport const preventDefaultAndStopPropagation = (event: Event | DragEvent): void => {\n event.preventDefault?.();\n event.stopPropagation();\n}\n\nexport const removeFile = (uploadedFiles: File[], nileFileUpload: NileFileUpload) => {\n document.addEventListener('nile-remove', (e: CustomEvent<RemoveFileDetail>) => {\n const { value } = e.detail;\n uploadedFiles = uploadedFiles.filter(file => file !== value);\n nileFileUpload.uploadedFiles = uploadedFiles;\n nileFileUpload.errorMessage = '';\n nileFileUpload.requestUpdate();\n });\n}\n\nexport const truncateString = (nileFileUpload: NileFileUpload): void => {\n if(nileFileUpload.variant === 'vertical' && nileFileUpload.errorMessage.length > 34) {\n nileFileUpload.isStringTruncated = true;\n nileFileUpload.requestUpdate();\n } else if(nileFileUpload.variant === 'horizontal' && nileFileUpload.errorMessage.length > 96) {\n nileFileUpload.isStringTruncated = true;\n nileFileUpload.requestUpdate();\n }\n}\n"],"names":["uploadFiles","nileFileUpload","uploadedFiles","fileUploadUrl","uploadRequests","length","_step4","_loop2","file","has","doNotUpload","includes","errorMessage","formData","FormData","append","xhr","XMLHttpRequest","set","emit","FileUploadEvent","NILE_UPLOADING","upload","onprogress","e","percent","Math","floor","loaded","total","dispatchEvent","CustomEvent","NILE_UPLOAD_PROGRESS","detail","progress","bubbles","composed","onload","status","NILE_UPLOAD_SUCCESS","response","FileUploadError","SERVER_SIDE_ERROR","NILE_ERROR","type","FileUploadErrorReason","message","errorType","ErrorType","SERVER","requestUpdate","onerror","delete","push","NETWORK_ERROR","NETWORK","NILE_NETWORK_ERROR","open","send","_ret","_iterator4","s","n","done","err","f","_export","setUpDragHandler","dragHandler","setIsDisabled","state","FileUploadState","DISABLED","onStateChange","newState","onFileDrop","files","maxSize","sizeStr","units","B","KB","MB","GB","num","parseFloat","unit","replace","toUpperCase","multiplier","parseSize","size","allowMultiple","MULTIPLE_NOT_ALLOWED","sizeExceeded","duplicatesFound","newFiles","rejectedFiles","_iterator","_createForOfIteratorHelper","allowDuplicates","some","uploaded","name","_step","_loop","SIZE_LIMIT_EXCEEDED","sizeExceededFiles","filter","VALIDATION","NILE_SIZE_EXCEED_FILES","DUPLICATES_NOT_ALLOWED","updatedFiles","allowedTypes","_iterator2","_step2","INVALID_FORMAT","setErrorMessage","addGlobalListeners","document","addEventListener","preventDragOver","passive","preventDrop","addInternalListeners","i","handleHoverIn","setState","DEFAULT","HOVER","handleHoverOut","dragEnter","dragLeave","dragOver","drop","clickHandler","browseFiles","bind","ResizeObserver","entries","_iterator3","_step3","entry","contentRect","width","horizontalDiv","removeEventListener","observe","cancelFileUpload","removeFile","NILE_CANCEL_UPLOAD","fileToCancel","get","abort","UPLOAD_CANCELLED","NILE_UPLOAD_CANCELLED","preventDefaultAndStopPropagation","event","preventDefault","stopPropagation","value","truncateString","variant","isStringTruncated"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as e,a as s,b as t,c as o,E as n}from"../types/file-upload.enums.esm.js";const r=(r,a)=>{a.setIsDisabled((()=>r.state===e.DISABLED)),a.onStateChange((e=>{r.state=e})),a.onFileDrop((a=>{if(r.state===e.DISABLED)return;r.errorMessage="";const i=function(e){const s={B:1,KB:1024,MB:1048576,GB:1024**3},t=parseFloat(e),o=e.replace(/[0-9.\s]/g,"").toUpperCase(),n=s[o]||1;return t*n}(r.size),l=r.uploadedFiles;if(!r.allowMultiple&&l.length+a.length>1)return r.errorMessage=s.MULTIPLE_NOT_ALLOWED,void r.requestUpdate();let u=!1,c=!1;const d=[],p=[];for(const e of a)e.size>i?(u=!0,p.push(e)):r.allowDuplicates||!l.some((s=>s.name===e.name&&s.size===e.size&&s.type===e.type))?p.includes(e)||d.push(e):(c=!0,p.push(e));if(u){r.errorMessage=s.SIZE_LIMIT_EXCEEDED;const e=p.filter((e=>e.size>i));r.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{files:e,type:o.SIZE_LIMIT_EXCEEDED,errorType:n.VALIDATION,message:s.SIZE_LIMIT_EXCEEDED},bubbles:!0,composed:!0})),r.dispatchEvent(new CustomEvent(t.NILE_SIZE_EXCEED_FILES,{detail:{files:p}})),r.requestUpdate()}c&&0===d.length&&(r.errorMessage=s.DUPLICATES_NOT_ALLOWED,r.requestUpdate());let m=[];for(const e of d)r.allowedTypes.includes(e.type)?m.push(e):r.errorMessage=s.INVALID_FORMAT;r.uploadedFiles=[...l,...m],r.requestUpdate()})),a.setErrorMessage((e=>{r.errorMessage=e}))},a=e=>{document.addEventListener("dragover",e.preventDragOver,{passive:!1}),document.addEventListener("drop",e.preventDrop,{passive:!1})},i=(s,t,o)=>{s.addEventListener("mouseenter",(t=>{return o=s.setState,void(s.state===e.DEFAULT&&o(e.HOVER));var o})),s.addEventListener("mouseleave",(t=>{return o=s.setState,void(s.state===e.HOVER&&o(e.DEFAULT));var o})),s.addEventListener("dragenter",(e=>t.dragEnter(e))),s.addEventListener("dragleave",(e=>t.dragLeave(e))),s.addEventListener("dragover",(e=>t.dragOver(e))),s.addEventListener("drop",(e=>t.drop(e)));const n=s.browseFiles.bind(s);new ResizeObserver((e=>{for(const t of e)t.contentRect.width<400?s.horizontalDiv.addEventListener("click",n):s.horizontalDiv.removeEventListener("click",n)})).observe(s.horizontalDiv),u(s,o),d(s.uploadedFiles,s)};function l(e){const{uploadedFiles:r,fileUploadUrl:a,uploadRequests:i}=e;if(a&&r?.length)for(const l of r){if(i.has(l))continue;if(e.doNotUpload.includes(l))continue;if(l.errorMessage)continue;const r=new FormData;r.append("file",l);const u=new XMLHttpRequest;i.set(l,u),e.emit(t.NILE_UPLOADING),u.upload.onprogress=s=>{const o=Math.floor(s.loaded/s.total*100);e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_PROGRESS,{detail:{file:l,progress:o},bubbles:!0,composed:!0}))},u.onload=()=>{u.status>=200&&u.status<300?e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_SUCCESS,{detail:{file:l,response:u.response},bubbles:!0,composed:!0})):(e.errorMessage=s.SERVER_SIDE_ERROR,e.dispatchEvent(new CustomEvent(t.SERVER_SIDE_ERROR,{detail:{file:l,status:u.status,response:u.response}})),e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.SERVER_SIDE_ERROR,file:l,status:u?.status||0,response:u?.response,message:s.SERVER_SIDE_ERROR,errorType:n.SERVER},bubbles:!0,composed:!0})),e.requestUpdate())},u.onerror=()=>{i.delete(l),e.doNotUpload.push(l),e.errorMessage=s.NETWORK_ERROR,e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.NETWORK_ERROR,file:l,status:u.status,response:u.response,errorType:n.NETWORK,message:s.NETWORK_ERROR},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent(t.NILE_NETWORK_ERROR,{detail:{file:l,status:u.status,response:u.response},bubbles:!0,composed:!0}))},u.open("POST",a),u.send(r)}}const u=(e,r)=>{document.addEventListener(t.NILE_CANCEL_UPLOAD,(a=>{const i=a.detail.file,l=r.get(i);l&&l.abort(),r.delete(i),e.uploadedFiles=e.uploadedFiles.filter((e=>e!==i)),e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.UPLOAD_CANCELLED,file:i,message:s.UPLOAD_CANCELLED,errorType:n.UPLOAD_CANCELLED},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_CANCELLED,{detail:{file:i}}))}))};const c=e=>{e.preventDefault?.(),e.stopPropagation()},d=(e,s)=>{document.addEventListener("nile-remove",(t=>{const{value:o}=t.detail;e=e.filter((e=>e!==o)),s.uploadedFiles=e,s.errorMessage="",s.requestUpdate()}))},p=e=>{("vertical"===e.variant&&e.errorMessage.length>34||"horizontal"===e.variant&&e.errorMessage.length>96)&&(e.isStringTruncated=!0,e.requestUpdate())};export{i as a,a as b,c as p,r as s,p as t,l as u};
|
|
1
|
+
import{F as e,a as s,b as t,c as o,E as n}from"../types/file-upload.enums.esm.js";const r=(r,a)=>{a.setIsDisabled((()=>r.state===e.DISABLED)),a.onStateChange((e=>{r.state=e})),a.onFileDrop((a=>{if(r.state===e.DISABLED)return;r.errorMessage="";const i=function(e){const s={B:1,KB:1024,MB:1048576,GB:1024**3},t=parseFloat(e),o=e.replace(/[0-9.\s]/g,"").toUpperCase(),n=s[o]||1;return t*n}(r.size),l=r.uploadedFiles;if(!r.allowMultiple&&l.length+a.length>1)return r.errorMessage=s.MULTIPLE_NOT_ALLOWED,void r.requestUpdate();let u=!1,c=!1;const d=[],p=[];for(const e of a)e.size>i?(u=!0,p.push(e)):r.allowDuplicates||!l.some((s=>s.name===e.name&&s.size===e.size&&s.type===e.type))?p.includes(e)||d.push(e):(c=!0,p.push(e));if(u){r.errorMessage=s.SIZE_LIMIT_EXCEEDED;const e=p.filter((e=>e.size>i));r.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{files:e,type:o.SIZE_LIMIT_EXCEEDED,errorType:n.VALIDATION,message:s.SIZE_LIMIT_EXCEEDED},bubbles:!0,composed:!0})),r.dispatchEvent(new CustomEvent(t.NILE_SIZE_EXCEED_FILES,{detail:{files:p}})),r.requestUpdate()}c&&0===d.length&&(r.errorMessage=s.DUPLICATES_NOT_ALLOWED,r.requestUpdate());let m=[];if(r.allowedTypes.length>0)for(const e of d)r.allowedTypes.includes(e.type)?m.push(e):r.errorMessage=s.INVALID_FORMAT;0===m.length&&(m=d),r.uploadedFiles=[...l,...m],r.requestUpdate()})),a.setErrorMessage((e=>{r.errorMessage=e}))},a=e=>{document.addEventListener("dragover",e.preventDragOver,{passive:!1}),document.addEventListener("drop",e.preventDrop,{passive:!1})},i=(s,t,o)=>{s.addEventListener("mouseenter",(t=>{return o=s.setState,void(s.state===e.DEFAULT&&o(e.HOVER));var o})),s.addEventListener("mouseleave",(t=>{return o=s.setState,void(s.state===e.HOVER&&o(e.DEFAULT));var o})),s.addEventListener("dragenter",(e=>t.dragEnter(e))),s.addEventListener("dragleave",(e=>t.dragLeave(e))),s.addEventListener("dragover",(e=>t.dragOver(e))),s.addEventListener("drop",(e=>t.drop(e)));const n=s.browseFiles.bind(s);new ResizeObserver((e=>{for(const t of e)t.contentRect.width<400?s.horizontalDiv.addEventListener("click",n):s.horizontalDiv.removeEventListener("click",n)})).observe(s.horizontalDiv),u(s,o),d(s.uploadedFiles,s)};function l(e){const{uploadedFiles:r,fileUploadUrl:a,uploadRequests:i}=e;if(a&&r?.length)for(const l of r){if(i.has(l))continue;if(e.doNotUpload.includes(l))continue;if(l.errorMessage)continue;const r=new FormData;r.append("file",l);const u=new XMLHttpRequest;i.set(l,u),e.emit(t.NILE_UPLOADING),u.upload.onprogress=s=>{const o=Math.floor(s.loaded/s.total*100);e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_PROGRESS,{detail:{file:l,progress:o},bubbles:!0,composed:!0}))},u.onload=()=>{u.status>=200&&u.status<300?e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_SUCCESS,{detail:{file:l,response:u.response},bubbles:!0,composed:!0})):(e.errorMessage=s.SERVER_SIDE_ERROR,e.dispatchEvent(new CustomEvent(t.SERVER_SIDE_ERROR,{detail:{file:l,status:u.status,response:u.response}})),e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.SERVER_SIDE_ERROR,file:l,status:u?.status||0,response:u?.response,message:s.SERVER_SIDE_ERROR,errorType:n.SERVER},bubbles:!0,composed:!0})),e.requestUpdate())},u.onerror=()=>{i.delete(l),e.doNotUpload.push(l),e.errorMessage=s.NETWORK_ERROR,e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.NETWORK_ERROR,file:l,status:u.status,response:u.response,errorType:n.NETWORK,message:s.NETWORK_ERROR},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent(t.NILE_NETWORK_ERROR,{detail:{file:l,status:u.status,response:u.response},bubbles:!0,composed:!0}))},u.open("POST",a),u.send(r)}}const u=(e,r)=>{document.addEventListener(t.NILE_CANCEL_UPLOAD,(a=>{const i=a.detail.file,l=r.get(i);l&&l.abort(),r.delete(i),e.uploadedFiles=e.uploadedFiles.filter((e=>e!==i)),e.dispatchEvent(new CustomEvent(t.NILE_ERROR,{detail:{type:o.UPLOAD_CANCELLED,file:i,message:s.UPLOAD_CANCELLED,errorType:n.UPLOAD_CANCELLED},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent(t.NILE_UPLOAD_CANCELLED,{detail:{file:i}}))}))};const c=e=>{e.preventDefault?.(),e.stopPropagation()},d=(e,s)=>{document.addEventListener("nile-remove",(t=>{const{value:o}=t.detail;e=e.filter((e=>e!==o)),s.uploadedFiles=e,s.errorMessage="",s.requestUpdate()}))},p=e=>{("vertical"===e.variant&&e.errorMessage.length>34||"horizontal"===e.variant&&e.errorMessage.length>96)&&(e.isStringTruncated=!0,e.requestUpdate())};export{i as a,a as b,c as p,r as s,p as t,l as u};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../internal/nile-element.cjs.js","./nile-filter-chip.css.cjs.js"],function(_export,_context){"use strict";var e,t,s,i,l,a,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7,_templateObject8,_templateObject9,_templateObject10,_templateObject11,
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../internal/nile-element.cjs.js","./nile-filter-chip.css.cjs.js"],function(_export,_context){"use strict";var e,t,s,i,l,a,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7,_templateObject8,_templateObject9,_templateObject10,_templateObject11,_o,n;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){e=_tslib.__decorate;},function(_lit){t=_lit.html;},function(_litDecoratorsJs){s=_litDecoratorsJs.property;i=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){l=_internalNileElementCjsJs.N;},function(_nileFilterChipCssCjsJs){a=_nileFilterChipCssCjsJs.s;}],execute:function execute(){_export("N",n=_o=/*#__PURE__*/function(_l){function o(){var _this;_classCallCheck(this,o);_this=_callSuper(this,o,arguments),_this.label="",_this.value="",_this.viewMoreCount=0,_this.editable=!1,_this.closable=!1,_this.icon="",_this.removeIcon="",_this.active=!1,_this.disabled=!1;return _this;}_inherits(o,_l);return _createClass(o,[{key:"connectedCallback",value:function connectedCallback(){_superPropGet(o,"connectedCallback",this,3)([]),this.registerChip();}},{key:"disconnectedCallback",value:function disconnectedCallback(){_superPropGet(o,"disconnectedCallback",this,3)([]),this.unregisterChip();}},{key:"registerChip",value:function registerChip(){_o.activeChips.push(this);}},{key:"unregisterChip",value:function unregisterChip(){var _this2=this;_o.activeChips=_o.activeChips.filter(function(e){return e!==_this2;});}},{key:"handleClose",value:function handleClose(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent("nile-close",{detail:{value:this.value,viewMoreCount:this.viewMoreCount}})),this.remove();}},{key:"handleClick",value:function handleClick(){this.disabled||this.dispatchEvent(new CustomEvent("nile-click",{detail:{value:this.value,viewMoreCount:this.viewMoreCount}}));}},{key:"getLabelSlot",value:function getLabelSlot(){return t(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <span class=\"label-wrapper\">\n <slot name=\"label\">\n <span class=\"label\" part=\"label\">",":</span>\n </slot>\n </span>\n\n "])),this.label);}},{key:"getValueSlot",value:function getValueSlot(){return t(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <span class=\"value-wrapper\">\n <slot name=\"value\">\n <span class=\"value\" part=\"value\">","</span>\n </slot>\n </span>\n\n "])),this.value);}},{key:"getviewMoreCountSlot",value:function getviewMoreCountSlot(){return t(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <slot name=\"suffix\">\n ","\n </slot>\n "])),this.viewMoreCount?t(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <span class=\"badge-wrapper\">\n <nile-badge class=\"badge\" part=\"badge\" variant=\"primary\" pilltype=\"pill-color\" exportparts=\"content, base\">\n +","\n </nile-badge>\n </span>\n\n "])),this.viewMoreCount):t(_templateObject5||(_templateObject5=_taggedTemplateLiteral([""]))));}},{key:"getCloseIconSlot",value:function getCloseIconSlot(){return t(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["\n ","\n "])),this.closable?t(_templateObject7||(_templateObject7=_taggedTemplateLiteral(["\n <span class=\"close-icon\" @click=\"","\">\n <nile-icon name=\"","\" size=\"12\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"></nile-icon>\n </span>\n "])),this.handleClose,this.removeIcon||"var(--nile-icon-close, var(--ng-icon-x-close))"):t(_templateObject8||(_templateObject8=_taggedTemplateLiteral([""]))));}},{key:"render",value:function render(){return t(_templateObject9||(_templateObject9=_taggedTemplateLiteral(["\n <div class=\"chip\" @click=\"","\">\n <slot name=\"icon\">\n ","\n </slot>\n ","\n <slot name=\"content\"></slot>\n ","\n ","\n ","\n </div>\n "])),this.handleClick,this.icon?t(_templateObject10||(_templateObject10=_taggedTemplateLiteral(["<span class=\"icon\">","</span>"])),this.icon):t(_templateObject11||(_templateObject11=_taggedTemplateLiteral([""]))),this.getLabelSlot(),this.getValueSlot(),this.getviewMoreCountSlot(),this.getCloseIconSlot());}}],[{key:"styles",get:function get(){return[a];}}]);}(l));n.activeChips=[],e([s({type:String})],n.prototype,"label",void 0),e([s({type:String})],n.prototype,"value",void 0),e([s({type:Number})],n.prototype,"viewMoreCount",void 0),e([s({type:Boolean})],n.prototype,"editable",void 0),e([s({type:Boolean})],n.prototype,"closable",void 0),e([s({type:String})],n.prototype,"icon",void 0),e([s({type:String})],n.prototype,"removeIcon",void 0),e([s({type:Boolean,reflect:!0})],n.prototype,"active",void 0),e([s({type:Boolean,reflect:!0})],n.prototype,"disabled",void 0),_export("N",n=_o=e([i("nile-filter-chip")],n));}};});
|
|
2
2
|
//# sourceMappingURL=nile-filter-chip.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-filter-chip.cjs.js","sources":["../../../src/nile-filter-chip/nile-filter-chip.ts"],"sourcesContent":["import { LitElement, html, css, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement from '../internal/nile-element';\nimport { styles } from './nile-filter-chip.css';\n\n/**\n * Nile filter-chip component.\n *\n * @tag nile-filter-chip\n */\n@customElement('nile-filter-chip')\nexport class NileFilterChip extends NileElement {\n @property({ type: String }) label = '';\n @property({ type: String }) value = '';\n @property({ type: Number }) viewMoreCount: number = 0;\n @property({ type: Boolean }) editable = false;\n @property({ type: Boolean }) closable = false;\n @property({ type: String }) icon = '';\n @property({ type: String }) removeIcon = '';\n @property({ type: Boolean, reflect: true }) active = false;\n\n\n private static activeChips: NileFilterChip[] = [];\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.registerChip();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.unregisterChip();\n }\n\n private registerChip() {\n NileFilterChip.activeChips.push(this);\n }\n\n private unregisterChip() {\n NileFilterChip.activeChips = NileFilterChip.activeChips.filter(\n (chip) => chip !== this\n );\n }\n\n private handleClose(event: Event) {\n event.stopPropagation();\n this.dispatchEvent(\n new CustomEvent('nile-close', { detail: { value: this.value, viewMoreCount: this.viewMoreCount } })\n );\n this.remove();\n }\n\n private handleClick() {\n this.dispatchEvent(\n new CustomEvent('nile-click', { detail: { value: this.value, viewMoreCount: this.viewMoreCount } })\n );\n }\n\n private getLabelSlot(): TemplateResult {\n return html`\n <span class=\"label-wrapper\">\n <slot name=\"label\">\n <span class=\"label\" part=\"label\">${this.label}:</span>\n </slot>\n </span>\n\n `;\n }\n\n private getValueSlot(): TemplateResult {\n return html`\n <span class=\"value-wrapper\">\n <slot name=\"value\">\n <span class=\"value\" part=\"value\">${this.value}</span>\n </slot>\n </span>\n\n `;\n }\n\n private getviewMoreCountSlot(): TemplateResult {\n return html`\n <slot name=\"suffix\">\n ${this.viewMoreCount\n ? html`\n <span class=\"badge-wrapper\">\n <nile-badge class=\"badge\" part=\"badge\" variant=\"primary\" pilltype=\"pill-color\" exportparts=\"content, base\">\n +${this.viewMoreCount}\n </nile-badge>\n </span>\n\n `\n : html``}\n </slot>\n `;\n }\n\n private getCloseIconSlot(): TemplateResult {\n return html`\n ${this.closable\n ? html`\n <span class=\"close-icon\" @click=\"${this.handleClose}\">\n <nile-icon name=\"${this.removeIcon || 'var(--nile-icon-close, var(--ng-icon-x-close))'}\" size=\"12\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"></nile-icon>\n </span>\n `\n : html``}\n `;\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"chip\" @click=\"${this.handleClick}\">\n <slot name=\"icon\">\n ${this.icon ? html`<span class=\"icon\">${this.icon}</span>` : html``}\n </slot>\n ${this.getLabelSlot()}\n <slot name=\"content\"></slot>\n ${this.getValueSlot()}\n ${this.getviewMoreCountSlot()}\n ${this.getCloseIconSlot()}\n </div>\n `;\n }\n}\n\nexport default NileFilterChip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-filter-chip': NileFilterChip;\n }\n}\n"],"names":["NileFilterChip","NileFilterChip_1","_l","
|
|
1
|
+
{"version":3,"file":"nile-filter-chip.cjs.js","sources":["../../../src/nile-filter-chip/nile-filter-chip.ts"],"sourcesContent":["import { LitElement, html, css, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement from '../internal/nile-element';\nimport { styles } from './nile-filter-chip.css';\n\n/**\n * Nile filter-chip component.\n *\n * @tag nile-filter-chip\n */\n@customElement('nile-filter-chip')\nexport class NileFilterChip extends NileElement {\n @property({ type: String }) label = '';\n @property({ type: String }) value = '';\n @property({ type: Number }) viewMoreCount: number = 0;\n @property({ type: Boolean }) editable = false;\n @property({ type: Boolean }) closable = false;\n @property({ type: String }) icon = '';\n @property({ type: String }) removeIcon = '';\n @property({ type: Boolean, reflect: true }) active = false;\n @property({type:Boolean, reflect:true}) disabled = false;\n\n\n private static activeChips: NileFilterChip[] = [];\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.registerChip();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.unregisterChip();\n }\n\n private registerChip() {\n NileFilterChip.activeChips.push(this);\n }\n\n private unregisterChip() {\n NileFilterChip.activeChips = NileFilterChip.activeChips.filter(\n (chip) => chip !== this\n );\n }\n\n private handleClose(event: Event) {\n event.stopPropagation();\n this.dispatchEvent(\n new CustomEvent('nile-close', { detail: { value: this.value, viewMoreCount: this.viewMoreCount } })\n );\n this.remove();\n }\n\n private handleClick() {\n if (this.disabled) return;\n this.dispatchEvent(\n new CustomEvent('nile-click', { detail: { value: this.value, viewMoreCount: this.viewMoreCount } })\n );\n }\n\n private getLabelSlot(): TemplateResult {\n return html`\n <span class=\"label-wrapper\">\n <slot name=\"label\">\n <span class=\"label\" part=\"label\">${this.label}:</span>\n </slot>\n </span>\n\n `;\n }\n\n private getValueSlot(): TemplateResult {\n return html`\n <span class=\"value-wrapper\">\n <slot name=\"value\">\n <span class=\"value\" part=\"value\">${this.value}</span>\n </slot>\n </span>\n\n `;\n }\n\n private getviewMoreCountSlot(): TemplateResult {\n return html`\n <slot name=\"suffix\">\n ${this.viewMoreCount\n ? html`\n <span class=\"badge-wrapper\">\n <nile-badge class=\"badge\" part=\"badge\" variant=\"primary\" pilltype=\"pill-color\" exportparts=\"content, base\">\n +${this.viewMoreCount}\n </nile-badge>\n </span>\n\n `\n : html``}\n </slot>\n `;\n }\n\n private getCloseIconSlot(): TemplateResult {\n return html`\n ${this.closable\n ? html`\n <span class=\"close-icon\" @click=\"${this.handleClose}\">\n <nile-icon name=\"${this.removeIcon || 'var(--nile-icon-close, var(--ng-icon-x-close))'}\" size=\"12\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"></nile-icon>\n </span>\n `\n : html``}\n `;\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"chip\" @click=\"${this.handleClick}\">\n <slot name=\"icon\">\n ${this.icon ? html`<span class=\"icon\">${this.icon}</span>` : html``}\n </slot>\n ${this.getLabelSlot()}\n <slot name=\"content\"></slot>\n ${this.getValueSlot()}\n ${this.getviewMoreCountSlot()}\n ${this.getCloseIconSlot()}\n </div>\n `;\n }\n}\n\nexport default NileFilterChip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-filter-chip': NileFilterChip;\n }\n}\n"],"names":["NileFilterChip","NileFilterChip_1","_l","o","this","label","value","viewMoreCount","editable","closable","icon","removeIcon","active","disabled","_this","_inherits","_createClass","key","connectedCallback","super","registerChip","disconnectedCallback","unregisterChip","activeChips","push","filter","chip","handleClose","event","stopPropagation","dispatchEvent","CustomEvent","detail","remove","handleClick","getLabelSlot","html","_templateObject","_taggedTemplateLiteral","getValueSlot","_templateObject2","getviewMoreCountSlot","_templateObject3","_templateObject4","_templateObject5","getCloseIconSlot","_templateObject6","_templateObject7","_templateObject8","render","_templateObject9","_templateObject10","_templateObject11","get","styles","NileElement","__decorate","property","type","String","prototype","Number","Boolean","reflect","customElement"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["lit"],function(_export,_context){"use strict";var r,_templateObject,
|
|
1
|
+
System.register(["lit"],function(_export,_context){"use strict";var r,_templateObject,o;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){r=_lit.css;}],execute:function execute(){_export("s",o=r(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n\n :host{\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .filter-chips {\n display: flex;\n align-items: center;\n }\n\n\n .chip {\n display: inline-flex;\n align-items: center;\n height: 30px;\n padding: 8px;\n border: 1px solid var(--nile-filter-chip-chip-border-color-stroke, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-sm, var(--ng-radius-md));\n font-size: 14px;\n background-color: var(--nile-filter-chip-background-default, var(--ng-colors-bg-primary));\n color: var(--nile-filter-chip-text-default, var(--ng-colors-text-secondary-700));\n transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;\n cursor: pointer;\n box-sizing: border-box;\n }\n\n .chip:hover {\n background-color: var(--nile-filter-chip-hover-background, var(--ng-colors-bg-primary-hover));\n }\n .chip:active {\n background-color: var(--nile-filter-chip-active-background, var(--ng-colors-bg-active));\n border-color: var(--nile-filter-chip-active-border-color-stroke);\n}\n:host([active]) .chip {\n background-color: var(--nile-filter-chip-active-background, var(--ng-colors-bg-active));\n border-color: var(--nile-filter-chip-active-border-color-stroke);\n}\n\n\n .icon {\n color: var(--nile-filter-chip-icon-color-default, var(--ng-colors-text-primary-900));\n display: flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n top: 12px;\n }\n\n .label {\n font-weight: 500;\n color: var(--nile-filter-chip-label-color-default, var(--ng-colors-text-primary-900));\n }\n\n nile-badge::part(base) {\n width: auto;\n height: 14px;\n border-radius: 100px;\n padding: 6px;\n gap: 10px;\n font-size: 8px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n }\n\n .chip-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n }\n\n .clear-all-container {\n margin-left: 18px;\n white-space: nowrap;\n cursor: pointer;\n }\n\n\n .value {\n color: var(--nile-filter-chip-values-color-default, var(--ng-colors-text-brand-secondary-700));\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 140px;\n vertical-align: bottom;\n}\n\n\n .close-icon {\n color: var(--nile-filter-chip-close-icon-color-default, var(--ng-componentcolors-utility-gray-400));\n cursor: pointer;\n display: flex;\n align-items: center;\n border-radius: 50%;\n transition: background-color 0.2s;\n }\n\n .close-icon:hover {\n background-color: var(--nile-filter-chip-close-icon-hover-background, var(--ng-colors-bg-primary-hover));\n color: var(--nile-filter-chip-close-icon-hover-color, var(--ng-componentcolors-utility-gray-500));\n }\n\n.label-wrapper {\n margin-right: 4px;\n}\n\n::slotted([slot=\"icon\"]) {\n margin-right: 6px;\n}\n\n.value-wrapper {\n margin-right: 4px; \n}\n\n.badge-wrapper {\n margin-right: 12px; \n}\n\n.badge{\n display: inline-flex;\n align-items: center;\n height: 20px; \n}\n\nnile-badge::part(content) {\n line-height: 20px;\n}\n\n:host([disabled]) .chip {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-disabled-subtle));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled));\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary-700));\n cursor: not-allowed;\n opacity: var(--nile-opacity-100, var(--ng-opacity-50));\n}\n\n:host([disabled]) .label {\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary-700));\n font-family:colfax-regular;\n}\n\n:host([disabled]) .value {\n color: var(--nile-colors-primary-500, var(--ng-colors-text-brand-secondary-700));\n}\n\n:host([disabled]) nile-badge::part(base) {\n background-color: var(--nile-colors-primary-500,var(--ng-colors-text-brand-secondary-700));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n}\n\n"]))));}};});
|
|
2
2
|
//# sourceMappingURL=nile-filter-chip.css.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-filter-chip.css.cjs.js","sources":["../../../src/nile-filter-chip/nile-filter-chip.css.ts"],"sourcesContent":["/**\n* Copyright Aquera Inc 2023\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 {css} from 'lit';\n\n/**\n * FilterChip CSS\n */\n\nexport const styles = css`\n\n :host{\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .filter-chips {\n display: flex;\n align-items: center;\n }\n\n\n .chip {\n display: inline-flex;\n align-items: center;\n height: 30px;\n padding: 8px;\n border: 1px solid var(--nile-filter-chip-chip-border-color-stroke, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-sm, var(--ng-radius-md));\n font-size: 14px;\n background-color: var(--nile-filter-chip-background-default, var(--ng-colors-bg-primary));\n color: var(--nile-filter-chip-text-default, var(--ng-colors-text-secondary-700));\n transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;\n cursor: pointer;\n box-sizing: border-box;\n }\n\n .chip:hover {\n background-color: var(--nile-filter-chip-hover-background, var(--ng-colors-bg-primary-hover));\n }\n .chip:active {\n background-color: var(--nile-filter-chip-active-background, var(--ng-colors-bg-active));\n border-color: var(--nile-filter-chip-active-border-color-stroke);\n}\n:host([active]) .chip {\n background-color: var(--nile-filter-chip-active-background, var(--ng-colors-bg-active));\n border-color: var(--nile-filter-chip-active-border-color-stroke);\n}\n\n\n .icon {\n color: var(--nile-filter-chip-icon-color-default, var(--ng-colors-text-primary-900));\n display: flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n top: 12px;\n }\n\n .label {\n font-weight: 500;\n color: var(--nile-filter-chip-label-color-default, var(--ng-colors-text-primary-900));\n }\n\n nile-badge::part(base) {\n width: auto;\n height: 14px;\n border-radius: 100px;\n padding: 6px;\n gap: 10px;\n font-size: 8px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n }\n\n .chip-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n }\n\n .clear-all-container {\n margin-left: 18px;\n white-space: nowrap;\n cursor: pointer;\n }\n\n\n .value {\n color: var(--nile-filter-chip-values-color-default, var(--ng-colors-text-brand-secondary-700));\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 140px;\n vertical-align: bottom;\n}\n\n\n .close-icon {\n color: var(--nile-filter-chip-close-icon-color-default, var(--ng-componentcolors-utility-gray-400));\n cursor: pointer;\n display: flex;\n align-items: center;\n border-radius: 50%;\n transition: background-color 0.2s;\n }\n\n .close-icon:hover {\n background-color: var(--nile-filter-chip-close-icon-hover-background, var(--ng-colors-bg-primary-hover));\n color: var(--nile-filter-chip-close-icon-hover-color, var(--ng-componentcolors-utility-gray-500));\n }\n\n.label-wrapper {\n margin-right: 4px;\n}\n\n::slotted([slot=\"icon\"]) {\n margin-right: 6px;\n}\n\n.value-wrapper {\n margin-right: 4px; \n}\n\n.badge-wrapper {\n margin-right: 12px; \n}\n\n.badge{\n display: inline-flex;\n align-items: center;\n height: 20px; \n}\n\nnile-badge::part(content) {\n line-height: 20px;\n}\n\n`;\n\nexport default [styles];\n\n "],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAaaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|
|
1
|
+
{"version":3,"file":"nile-filter-chip.css.cjs.js","sources":["../../../src/nile-filter-chip/nile-filter-chip.css.ts"],"sourcesContent":["/**\n* Copyright Aquera Inc 2023\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 {css} from 'lit';\n\n/**\n * FilterChip CSS\n */\n\nexport const styles = css`\n\n :host{\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .filter-chips {\n display: flex;\n align-items: center;\n }\n\n\n .chip {\n display: inline-flex;\n align-items: center;\n height: 30px;\n padding: 8px;\n border: 1px solid var(--nile-filter-chip-chip-border-color-stroke, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-sm, var(--ng-radius-md));\n font-size: 14px;\n background-color: var(--nile-filter-chip-background-default, var(--ng-colors-bg-primary));\n color: var(--nile-filter-chip-text-default, var(--ng-colors-text-secondary-700));\n transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;\n cursor: pointer;\n box-sizing: border-box;\n }\n\n .chip:hover {\n background-color: var(--nile-filter-chip-hover-background, var(--ng-colors-bg-primary-hover));\n }\n .chip:active {\n background-color: var(--nile-filter-chip-active-background, var(--ng-colors-bg-active));\n border-color: var(--nile-filter-chip-active-border-color-stroke);\n}\n:host([active]) .chip {\n background-color: var(--nile-filter-chip-active-background, var(--ng-colors-bg-active));\n border-color: var(--nile-filter-chip-active-border-color-stroke);\n}\n\n\n .icon {\n color: var(--nile-filter-chip-icon-color-default, var(--ng-colors-text-primary-900));\n display: flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n top: 12px;\n }\n\n .label {\n font-weight: 500;\n color: var(--nile-filter-chip-label-color-default, var(--ng-colors-text-primary-900));\n }\n\n nile-badge::part(base) {\n width: auto;\n height: 14px;\n border-radius: 100px;\n padding: 6px;\n gap: 10px;\n font-size: 8px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n }\n\n .chip-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n }\n\n .clear-all-container {\n margin-left: 18px;\n white-space: nowrap;\n cursor: pointer;\n }\n\n\n .value {\n color: var(--nile-filter-chip-values-color-default, var(--ng-colors-text-brand-secondary-700));\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 140px;\n vertical-align: bottom;\n}\n\n\n .close-icon {\n color: var(--nile-filter-chip-close-icon-color-default, var(--ng-componentcolors-utility-gray-400));\n cursor: pointer;\n display: flex;\n align-items: center;\n border-radius: 50%;\n transition: background-color 0.2s;\n }\n\n .close-icon:hover {\n background-color: var(--nile-filter-chip-close-icon-hover-background, var(--ng-colors-bg-primary-hover));\n color: var(--nile-filter-chip-close-icon-hover-color, var(--ng-componentcolors-utility-gray-500));\n }\n\n.label-wrapper {\n margin-right: 4px;\n}\n\n::slotted([slot=\"icon\"]) {\n margin-right: 6px;\n}\n\n.value-wrapper {\n margin-right: 4px; \n}\n\n.badge-wrapper {\n margin-right: 12px; \n}\n\n.badge{\n display: inline-flex;\n align-items: center;\n height: 20px; \n}\n\nnile-badge::part(content) {\n line-height: 20px;\n}\n\n:host([disabled]) .chip {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-disabled-subtle));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled));\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary-700));\n cursor: not-allowed;\n opacity: var(--nile-opacity-100, var(--ng-opacity-50));\n}\n\n:host([disabled]) .label {\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary-700));\n font-family:colfax-regular;\n}\n\n:host([disabled]) .value {\n color: var(--nile-colors-primary-500, var(--ng-colors-text-brand-secondary-700));\n}\n\n:host([disabled]) nile-badge::part(base) {\n background-color: var(--nile-colors-primary-500,var(--ng-colors-text-brand-secondary-700));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n}\n\n`;\n\nexport default [styles];\n\n "],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAaaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|