@aquera/nile-elements 1.6.8 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +297 -132
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.css.esm.js +0 -3
- package/dist/nile-calendar/nile-calendar.esm.js +2 -2
- package/dist/nile-color-picker/index.cjs.js +2 -0
- package/dist/nile-color-picker/index.cjs.js.map +1 -0
- package/dist/nile-color-picker/index.esm.js +1 -0
- package/dist/nile-color-picker/nile-color-picker.cjs.js +2 -0
- package/dist/nile-color-picker/nile-color-picker.cjs.js.map +1 -0
- package/dist/nile-color-picker/nile-color-picker.css.cjs.js +2 -0
- package/dist/nile-color-picker/nile-color-picker.css.cjs.js.map +1 -0
- package/dist/nile-color-picker/nile-color-picker.css.esm.js +1 -0
- package/dist/nile-color-picker/nile-color-picker.esm.js +111 -0
- package/dist/nile-color-swatch/index.cjs.js +2 -0
- package/dist/nile-color-swatch/index.cjs.js.map +1 -0
- package/dist/nile-color-swatch/index.esm.js +1 -0
- package/dist/nile-color-swatch/nile-color-swatch.cjs.js +2 -0
- package/dist/nile-color-swatch/nile-color-swatch.cjs.js.map +1 -0
- package/dist/nile-color-swatch/nile-color-swatch.css.cjs.js +2 -0
- package/dist/nile-color-swatch/nile-color-swatch.css.cjs.js.map +1 -0
- package/dist/nile-color-swatch/nile-color-swatch.css.esm.js +44 -0
- package/dist/nile-color-swatch/nile-color-swatch.esm.js +16 -0
- 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-stepper-item/nile-stepper-item.cjs.js +1 -1
- package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -1
- package/dist/nile-stepper-item/nile-stepper-item.esm.js +13 -13
- package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js +1 -1
- package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js.map +1 -1
- package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.esm.js +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.js +1 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.css.js +0 -3
- package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.js +2 -2
- package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
- package/dist/src/nile-color-picker/index.d.ts +3 -0
- package/dist/src/nile-color-picker/index.js +3 -0
- package/dist/src/nile-color-picker/index.js.map +1 -0
- package/dist/src/nile-color-picker/nile-color-picker.css.d.ts +1 -0
- package/dist/src/nile-color-picker/nile-color-picker.css.js +228 -0
- package/dist/src/nile-color-picker/nile-color-picker.css.js.map +1 -0
- package/dist/src/nile-color-picker/nile-color-picker.d.ts +92 -0
- package/dist/src/nile-color-picker/nile-color-picker.js +613 -0
- package/dist/src/nile-color-picker/nile-color-picker.js.map +1 -0
- package/dist/src/nile-color-swatch/index.d.ts +1 -0
- package/dist/src/nile-color-swatch/index.js +2 -0
- package/dist/src/nile-color-swatch/index.js.map +1 -0
- package/dist/src/nile-color-swatch/nile-color-swatch.css.d.ts +1 -0
- package/dist/src/nile-color-swatch/nile-color-swatch.css.js +46 -0
- package/dist/src/nile-color-swatch/nile-color-swatch.css.js.map +1 -0
- package/dist/src/nile-color-swatch/nile-color-swatch.d.ts +15 -0
- package/dist/src/nile-color-swatch/nile-color-swatch.js +66 -0
- package/dist/src/nile-color-swatch/nile-color-swatch.js.map +1 -0
- package/dist/src/nile-dropdown/nile-dropdown.d.ts +2 -0
- package/dist/src/nile-dropdown/nile-dropdown.js +21 -5
- package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
- package/dist/src/nile-stepper-item/nile-stepper-item.js +1 -1
- package/dist/src/nile-stepper-item/nile-stepper-item.js.map +1 -1
- package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.js +1 -1
- package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.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 +5 -3
- package/src/index.ts +3 -0
- package/src/nile-auto-complete/nile-auto-complete.ts +1 -1
- package/src/nile-calendar/nile-calendar.css.ts +0 -3
- package/src/nile-calendar/nile-calendar.ts +2 -2
- package/src/nile-color-picker/index.ts +3 -0
- package/src/nile-color-picker/nile-color-picker.css.ts +225 -0
- package/src/nile-color-picker/nile-color-picker.ts +541 -0
- package/src/nile-color-swatch/index.ts +1 -0
- package/src/nile-color-swatch/nile-color-swatch.css.ts +46 -0
- package/src/nile-color-swatch/nile-color-swatch.ts +72 -0
- package/src/nile-dropdown/nile-dropdown.ts +23 -5
- package/src/nile-stepper-item/nile-stepper-item.ts +1 -1
- package/src/nile-vertical-stepper-item/nile-vertical-stepper-item.ts +1 -1
- package/vscode-html-custom-data.json +126 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-color-picker.js","sourceRoot":"","sources":["../../../src/nile-color-picker/nile-color-picker.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { getCssText } from './nile-color-picker.css';\nimport '../nile-dropdown/nile-dropdown';\nimport '../nile-menu/nile-menu';\nimport '../nile-menu-item/nile-menu-item';\n\nexport type ColorPickerType = 'swatches' | 'picker';\nexport type ColorPickerMode = 'inline' | 'popover';\nexport type SwatchTooltip = 'name' | 'value' | 'both';\nexport type PaletteEntry = { color: string; name: string };\n\nexport const DEFAULT_PALETTE: PaletteEntry[] = [\n { color: '#131316', name: 'Black' },\n { color: '#26272B', name: 'Dark Gray' },\n { color: '#525252', name: 'Gray' },\n { color: '#737373', name: 'Medium Gray' },\n { color: '#A3A3A3', name: 'Silver' },\n { color: '#D6D6D6', name: 'Light Gray' },\n { color: '#F5F5F5', name: 'Off White' },\n { color: '#FFFFFF', name: 'White' },\n { color: '#CA8504', name: 'Yellow 3' },\n { color: '#C01048', name: 'Red 3' },\n { color: '#DD2590', name: 'Pink 3' },\n { color: '#155EEF', name: 'Blue Dark 3' },\n { color: '#444CE7', name: 'Indigo 3' },\n { color: '#7A5AF8', name: 'Purple 3' },\n { color: '#3E4784', name: 'Gray Blue 3' },\n { color: '#087443', name: 'Green 3' },\n { color: '#FDE272', name: 'Yellow 2' },\n { color: '#FEA3B4', name: 'Red 2' },\n { color: '#FAA7E0', name: 'Pink 2' },\n { color: '#528BFF', name: 'Blue Dark 2' },\n { color: '#A4BCFD', name: 'Indigo 2' },\n { color: '#BDB4FE', name: 'Purple 2' },\n { color: '#B3B8DB', name: 'Gray Blue 2' },\n { color: '#73E2A3', name: 'Green 2' },\n { color: '#FEFBE8', name: 'Yellow 1' },\n { color: '#FFF1F3', name: 'Red 1' },\n { color: '#FDF2FA', name: 'Pink 1' },\n { color: '#EFF4FF', name: 'Blue Dark 1' },\n { color: '#EEF4FF', name: 'Indigo 1' },\n { color: '#F4F3FF', name: 'Purple 1' },\n { color: '#F8F9FC', name: 'Gray Blue 1' },\n { color: '#EDFCF2', name: 'Green 1' },\n];\n\n/* ── color math helpers ──────────────────────────────────────────────── */\nexport function hexToRgb(hex: string): [number, number, number] {\n const h = hex.replace('#', '');\n return [parseInt(h.slice(0, 2), 16), parseInt(h.slice(2, 4), 16), parseInt(h.slice(4, 6), 16)];\n}\n\nexport function rgbToHex(r: number, g: number, b: number): string {\n return '#' + [r, g, b].map(v => v.toString(16).padStart(2, '0')).join('').toUpperCase();\n}\n\nexport function rgbToHsv(r: number, g: number, b: number): [number, number, number] {\n r /= 255; g /= 255; b /= 255;\n const max = Math.max(r, g, b), min = Math.min(r, g, b), d = max - min;\n let h = 0;\n if (d !== 0) {\n if (max === r) h = ((g - b) / d + 6) % 6;\n else if (max === g) h = (b - r) / d + 2;\n else h = (r - g) / d + 4;\n h *= 60;\n }\n return [h, max === 0 ? 0 : d / max, max];\n}\n\nexport function hsvToRgb(h: number, s: number, v: number): [number, number, number] {\n const c = v * s, x = c * (1 - Math.abs(((h / 60) % 2) - 1)), m = v - c;\n let r = 0, g = 0, b = 0;\n if (h < 60) { r = c; g = x; }\n else if (h < 120) { r = x; g = c; }\n else if (h < 180) { g = c; b = x; }\n else if (h < 240) { g = x; b = c; }\n else if (h < 300) { r = x; b = c; }\n else { r = c; b = x; }\n return [Math.round((r + m) * 255), Math.round((g + m) * 255), Math.round((b + m) * 255)];\n}\n\n@customElement('nile-color-picker')\nexport class NileColorPicker extends LitElement {\n protected createRenderRoot() { return this; }\n\n \n @property({ type: String, attribute: true, reflect: true }) type: ColorPickerType = 'swatches';\n\n /** Currently selected hex color value. */\n @property({ type: String, attribute: true, reflect: true }) value = '#000000';\n\n /** What to show in swatch tooltips. */\n @property({ type: String, reflect: true }) swatchTooltip: SwatchTooltip = 'name';\n\n /** How many recent/custom colors to display. */\n @property({ type: Number, reflect: true }) recentColorsCount = 3;\n\n /** Show a \"No Fill\" button (useful for background-color use cases). */\n @property({ type: Boolean, reflect: true }) noFill = false;\n\n \n @property({ type: String, reflect: true })mode: ColorPickerMode = 'inline';\n\n /** Show the SV gradient canvas (the large colour area). Applies when type=\"picker\". */\n @property({ type: Boolean, reflect: true }) showCanvas = true;\n\n /** Show the hue slider row (rainbow bar + eyedropper). Applies when type=\"picker\". */\n @property({ type: Boolean, reflect: true }) showHue = true;\n\n /** Show the HEX / RGB input row. Applies when type=\"picker\". */\n @property({ type: Boolean, reflect: true }) showInputs = true;\n\n /** Show the Cancel / Okay action buttons. Applies when type=\"picker\". */\n @property({ type: Boolean, reflect: true }) showActions = true;\n\n @property({ type: Boolean, reflect: true, attribute: true}) open = false;\n\n /** Custom palette. Accepts a JSON array of `{ color, name }` objects or plain\n * hex strings. Falls back to the built-in palette when empty. */\n @property({\n attribute: 'palette',\n converter: {\n fromAttribute: (value: string): PaletteEntry[] => {\n try {\n const parsed = JSON.parse(value);\n if (!Array.isArray(parsed)) return [];\n return parsed.map((e: any) => {\n if (typeof e === 'string') return { color: e, name: e };\n if (e && typeof e.color === 'string') return { color: e.color, name: e.name || e.color };\n return null;\n }).filter(Boolean) as PaletteEntry[];\n } catch { return []; }\n },\n toAttribute: (v: PaletteEntry[]) => JSON.stringify(v),\n },\n })\n palette: PaletteEntry[] = [];\n\n /* ── internal state ──────────────────────────────────────────────── */\n @state() private _view: ColorPickerType = 'swatches';\n @state() private _recentColors: PaletteEntry[] = [];\n\n // picker canvas state\n @state() private _hue = 220;\n @state() private _sat = 0.7;\n @state() private _val = 0.93;\n @state() private _colorMode: 'HEX' | 'RGB' = 'HEX';\n @state() private _hexInput = '#366AEE';\n @state() private _r = 54;\n @state() private _g = 106;\n @state() private _b = 238;\n\n private _svCanvas: HTMLCanvasElement | null = null;\n private _hueCanvas: HTMLCanvasElement | null = null;\n private _draggingSV = false;\n private _draggingHue = false;\n private _pendingColor = '#366AEE';\n\n /* ── lifecycle ───────────────────────────────────────────────────── */\n connectedCallback() {\n super.connectedCallback();\n this._view = this.type;\n if (this.type === 'picker') {\n const [r, g, b] = hexToRgb(this._norm(this.value));\n [this._hue, this._sat, this._val] = rgbToHsv(r, g, b);\n this._syncInputs();\n }\n this._injectCss();\n document.addEventListener('mousemove', this._onGlobalMouseMove);\n document.addEventListener('mouseup', this._onGlobalMouseUp);\n }\n\n disconnectedCallback() {\n document.removeEventListener('mousemove', this._onGlobalMouseMove);\n document.removeEventListener('mouseup', this._onGlobalMouseUp);\n super.disconnectedCallback();\n }\n\n protected updated(changed: Map<string, unknown>) {\n if (changed.has('type')) {\n this._view = this.type;\n if (this.type === 'picker') {\n const [r, g, b] = hexToRgb(this._norm(this.value));\n [this._hue, this._sat, this._val] = rgbToHsv(r, g, b);\n this._syncInputs();\n }\n }\n if (changed.has('value') && this.type === 'picker' && this._view === 'picker' &&\n !this._draggingSV && !this._draggingHue) {\n const [r, g, b] = hexToRgb(this._norm(this.value));\n [this._hue, this._sat, this._val] = rgbToHsv(r, g, b);\n this._syncInputs();\n }\n \n if (this._view === 'picker') {\n requestAnimationFrame(() => {\n this._svCanvas = this.querySelector('.ncp-sv-canvas') as HTMLCanvasElement;\n this._hueCanvas = this.querySelector('.ncp-hue-canvas') as HTMLCanvasElement;\n this._drawSV();\n this._drawHue();\n });\n }\n }\n\n /* ── public API ──────────────────────────────────────────────────── */\n /** Reset the view back to the default type (call this when the host popover closes). */\n reset() {\n this._view = this.type;\n }\n\n \n private _injectCss() {\n if (this.querySelector('style[data-nile-color-picker]')) return;\n const style = document.createElement('style');\n style.setAttribute('data-nile-color-picker', '');\n style.textContent = getCssText();\n this.insertBefore(style, this.firstChild);\n }\n\n \n private _norm(hex: string) {\n const t = hex.trim();\n if (/^#[0-9a-f]{6}$/i.test(t)) return t.toUpperCase();\n if (/^#[0-9a-f]{3}$/i.test(t)) {\n const [a, b, c] = t.slice(1).toUpperCase().split('');\n return `#${a}${a}${b}${b}${c}${c}`;\n }\n return '#000000';\n }\n\n private get _paletteColors(): PaletteEntry[] {\n return this.palette.length > 0 ? this.palette : DEFAULT_PALETTE;\n }\n\n \n private _emit(value: string) {\n this.dispatchEvent(new CustomEvent('nile-change', {\n detail: { value },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _apply(color: string) {\n const hex = this._norm(color);\n this.value = hex;\n const entry: PaletteEntry = { color: hex, name: hex };\n this._recentColors = [entry, ...this._recentColors.filter(e => this._norm(e.color) !== hex)].slice(0, this.recentColorsCount);\n this._emit(hex);\n if (this.mode === 'popover' && this._view === 'swatches') {\n this._closePopover();\n }\n }\n\n private _closePopover() {\n const pop = this.querySelector('nile-popover') as any;\n if (pop) pop.isShow = false;\n }\n\n private _openPicker() {\n const [r, g, b] = hexToRgb(this._norm(this.value));\n const [h, s, v] = rgbToHsv(r, g, b);\n this._hue = h; this._sat = s; this._val = v;\n this._syncInputs();\n this._view = 'picker';\n }\n\n private _syncInputs() {\n const [r, g, b] = hsvToRgb(this._hue, this._sat, this._val);\n const hex = rgbToHex(r, g, b);\n this._hexInput = hex; this._r = r; this._g = g; this._b = b;\n this._pendingColor = hex;\n }\n\n private _drawSV() {\n const canvas = this._svCanvas;\n if (!canvas) return;\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n const { width: w, height: h } = canvas;\n const [hr, hg, hb] = hsvToRgb(this._hue, 1, 1);\n ctx.fillStyle = `rgb(${hr},${hg},${hb})`;\n ctx.fillRect(0, 0, w, h);\n const wg = ctx.createLinearGradient(0, 0, w, 0);\n wg.addColorStop(0, 'rgba(255,255,255,1)'); wg.addColorStop(1, 'rgba(255,255,255,0)');\n ctx.fillStyle = wg; ctx.fillRect(0, 0, w, h);\n const bg = ctx.createLinearGradient(0, 0, 0, h);\n bg.addColorStop(0, 'rgba(0,0,0,0)'); bg.addColorStop(1, 'rgba(0,0,0,1)');\n ctx.fillStyle = bg; ctx.fillRect(0, 0, w, h);\n }\n\n private _drawHue() {\n const canvas = this._hueCanvas;\n if (!canvas) return;\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n const grad = ctx.createLinearGradient(0, 0, canvas.width, 0);\n ['#FF0000','#FFFF00','#00FF00','#00FFFF','#0000FF','#FF00FF','#FF0000']\n .forEach((c, i, a) => grad.addColorStop(i / (a.length - 1), c));\n ctx.fillStyle = grad; ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n\n private _onSVMouseDown = (e: MouseEvent) => { e.preventDefault(); this._draggingSV = true; this._updateSV(e); };\n private _onHueMouseDown = (e: MouseEvent) => { e.preventDefault(); this._draggingHue = true; this._updateHue(e); };\n\n private _onGlobalMouseMove = (e: MouseEvent) => {\n if (this._draggingSV) this._updateSV(e);\n if (this._draggingHue) this._updateHue(e);\n };\n private _onGlobalMouseUp = () => {\n const wasDraggingSV = this._draggingSV;\n const wasDraggingHue = this._draggingHue;\n if (!this.showActions && this._view === 'picker' && (wasDraggingSV || wasDraggingHue)) {\n this._commitPickerIfNoActions();\n }\n this._draggingSV = false;\n this._draggingHue = false;\n };\n\n private _commitPickerIfNoActions() {\n if (this.showActions) return;\n this._apply(this._pendingColor);\n if (this.mode === 'popover') {\n if (this.type === 'swatches') this._view = 'swatches';\n this._closePopover();\n }\n }\n\n private _updateSV(e: MouseEvent) {\n const canvas = this._svCanvas; if (!canvas) return;\n const rect = canvas.getBoundingClientRect();\n this._sat = Math.max(0, Math.min(e.clientX - rect.left, rect.width)) / rect.width;\n this._val = 1 - Math.max(0, Math.min(e.clientY - rect.top, rect.height)) / rect.height;\n this._syncInputs();\n }\n\n private _updateHue(e: MouseEvent) {\n const canvas = this._hueCanvas; if (!canvas) return;\n const rect = canvas.getBoundingClientRect();\n this._hue = (Math.max(0, Math.min(e.clientX - rect.left, rect.width)) / rect.width) * 360;\n this._syncInputs();\n }\n\n private _onHexInput = (e: Event) => {\n let val = ((e as CustomEvent).detail?.value ?? (e.target as HTMLInputElement).value ?? '').trim();\n if (!val.startsWith('#')) val = '#' + val;\n if (/^#[0-9a-f]{6}$/i.test(val)) {\n const [r, g, b] = hexToRgb(val);\n [this._hue, this._sat, this._val] = rgbToHsv(r, g, b);\n this._syncInputs();\n if (this._view === 'picker') this._commitPickerIfNoActions();\n }\n };\n\n private _onRgbInput = (ch: 'r' | 'g' | 'b', e: Event) => {\n const raw = (e as CustomEvent).detail?.value ?? (e.target as HTMLInputElement).value;\n const v = Math.max(0, Math.min(255, parseInt(String(raw), 10) || 0));\n if (ch === 'r') this._r = v; else if (ch === 'g') this._g = v; else this._b = v;\n [this._hue, this._sat, this._val] = rgbToHsv(this._r, this._g, this._b);\n this._syncInputs();\n if (this._view === 'picker') this._commitPickerIfNoActions();\n };\n\n private _onColorModeSelect = (e: CustomEvent<{ value: string }>) => {\n e.stopPropagation();\n const v = e.detail?.value;\n if (v === 'HEX' || v === 'RGB') {\n this._colorMode = v;\n }\n };\n\n private _pickEyedropper = async () => {\n const Ctor = (window as any).EyeDropper;\n if (!Ctor) { this._openPicker(); return; }\n try {\n const result = await new Ctor().open();\n if (result?.sRGBHex) this._apply(result.sRGBHex);\n } catch { /* cancelled */ }\n };\n private _renderSwatch(entry: PaletteEntry) {\n const norm = this._norm(entry.color);\n const isActive = this._norm(this.value) === norm;\n const tip = this.swatchTooltip === 'name'\n ? (entry.name || norm)\n : this.swatchTooltip === 'value'\n ? norm\n : entry.name ? `${entry.name} (${norm})` : norm;\n return html`\n <nile-lite-tooltip content=${tip}>\n <nile-color-swatch\n color=${norm}\n ?active=${isActive}\n @click=${() => this._apply(norm)}\n ></nile-color-swatch>\n </nile-lite-tooltip>\n `;\n }\n\n private _renderSwatchesView() {\n const recent = this._recentColors.slice(0, this.recentColorsCount);\n return html`\n <div class=\"ncp-panel\">\n <div class=\"ncp-palette-grid\">\n ${this._paletteColors.map(e => this._renderSwatch(e))}\n </div>\n\n ${this.noFill ? html`\n <button class=\"ncp-no-fill\" @click=${() => this._emit('none')}>\n <nile-glyph name=\"disabled\"></nile-glyph>\n <span>No Fill</span>\n </button>\n ` : nothing}\n\n <div class=\"ncp-custom-section\">\n <p class=\"ncp-custom-title\">Custom</p>\n <div class=\"ncp-custom-row\">\n ${recent.map(e => this._renderSwatch(e))}\n <nile-lite-tooltip content=\"Add custom color\">\n <button class=\"ncp-action-btn\" @click=${() => this._openPicker()}>\n<nile-glyph name=\"plus\"></nile-glyph>\n </button>\n </nile-lite-tooltip>\n <nile-lite-tooltip content=\"Pick from screen\">\n <button class=\"ncp-action-btn\" @click=${this._pickEyedropper}>\n <nile-glyph name=\"colorize\" size=\"12\"></nile-glyph>\n </button>\n </nile-lite-tooltip>\n </div>\n </div>\n </div>\n `;\n }\n\n private _renderPickerView() {\n const svX = this._sat * 100;\n const svY = (1 - this._val) * 100;\n const hueX = (this._hue / 360) * 100;\n\n return html`\n <div class=\"ncp-panel ncp-panel--picker\">\n\n ${this.showCanvas ? html`\n <div class=\"ncp-sv-area\" @mousedown=${this._onSVMouseDown}>\n <canvas class=\"ncp-sv-canvas\" width=\"244\" height=\"130\"></canvas>\n <div class=\"ncp-sv-thumb\" style=\"left:${svX}%;top:${svY}%\">\n <div class=\"ncp-sv-thumb-inner\"></div>\n </div>\n </div>\n ` : nothing}\n\n ${this.showHue ? html`\n <div class=\"ncp-hue-row\">\n <div class=\"ncp-hue-wrap\" @mousedown=${this._onHueMouseDown}>\n <canvas class=\"ncp-hue-canvas\" width=\"244\" height=\"14\"></canvas>\n <div class=\"ncp-hue-thumb\" style=\"left:${hueX}%\"></div>\n </div>\n <button class=\"ncp-eyedropper\" title=\"Pick from screen\" @click=${this._pickEyedropper}>\n <nile-glyph name=\"colorize\" size=\"16\"></nile-glyph>\n </button>\n </div>\n ` : nothing}\n\n ${this.showInputs ? html`\n <div class=\"ncp-input-row\">\n <nile-dropdown class=\"ncp-mode-dropdown\" placement=\"bottom-start\" distance=\"4\" hoist>\n <nile-button slot=\"trigger\" class=\"ncp-mode-btn\" variant=\"tertiary\">\n ${this._colorMode} <nile-icon name=\"arrowdown\" size=\"12\"></nile-icon>\n </nile-button>\n <nile-menu @nile-select=${this._onColorModeSelect}>\n <nile-menu-item value=\"HEX\" ?active=${this._colorMode === 'HEX'}>HEX</nile-menu-item>\n <nile-menu-item value=\"RGB\" ?active=${this._colorMode === 'RGB'}>RGB</nile-menu-item>\n </nile-menu>\n </nile-dropdown>\n ${this._colorMode === 'HEX'\n ? html`<nile-input class=\"ncp-hex\" .value=${this._hexInput} @nile-input=${this._onHexInput}></nile-input>`\n : html`\n <nile-input class=\"ncp-rgb\" type=\"number\" min=\"0\" max=\"255\" .value=${String(this._r)} @nile-input=${(e: Event) => this._onRgbInput('r', e)}></nile-input>\n <nile-input class=\"ncp-rgb\" type=\"number\" min=\"0\" max=\"255\" .value=${String(this._g)} @nile-input=${(e: Event) => this._onRgbInput('g', e)}></nile-input>\n <nile-input class=\"ncp-rgb\" type=\"number\" min=\"0\" max=\"255\" .value=${String(this._b)} @nile-input=${(e: Event) => this._onRgbInput('b', e)}></nile-input>\n `}\n </div>\n ` : nothing}\n\n ${this.showActions ? html`\n <div class=\"ncp-picker-actions\">\n ${this.type === 'swatches'\n ? html`<nile-button variant=\"secondary\" size=\"small\" @click=${() => { this._view = 'swatches'; }}>Cancel</nile-button>`\n : nothing}\n <nile-button variant=\"primary\" size=\"small\" @click=${() => { this._apply(this._pendingColor); if (this.type === 'swatches') this._view = 'swatches'; this._closePopover(); }}>Okay</nile-button>\n </div>\n ` : nothing}\n\n </div>\n `;\n }\n\n private _renderTrigger() {\n const isNoFill = this.value === 'none';\n const displayColor = isNoFill ? null : this._norm(this.value);\n return html`\n <button\n slot=\"anchor\"\n class=\"ncp-trigger${isNoFill ? ' ncp-trigger--no-fill' : ''}\"\n type=\"button\"\n aria-label=${isNoFill ? 'No Fill' : displayColor}\n style=${isNoFill ? '' : `background:${displayColor}`}\n ></button>\n `;\n }\n\n render() {\n const panel = this._view === 'picker' ? this._renderPickerView() : this._renderSwatchesView();\n\n if (this.mode === 'popover') {\n return html`\n <nile-popover\n .arrow=${false}\n flip\n .open=${this.open}\n placement=\"bottom-start\"\n id=\"color-picker-popover\"\n distance=\"8\"\n @nile-hide=${() => this.reset()}\n >\n ${this._renderTrigger()}\n ${panel}\n </nile-popover>\n `;\n }\n\n return panel;\n }\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-color-picker': NileColorPicker;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NileColorSwatch } from './nile-color-swatch';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-color-swatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { NileColorSwatch } from './nile-color-swatch';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `
|
|
3
|
+
:host {
|
|
4
|
+
display: inline-block;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.swatch {
|
|
8
|
+
position: relative;
|
|
9
|
+
width: var(--nile-spacing-3xl, var(--ng-spacing-3xl));
|
|
10
|
+
height: var(--nile-spacing-3xl, var(--ng-spacing-3xl));
|
|
11
|
+
border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-secondary));
|
|
12
|
+
border-radius: var(--nile-radius-sm, var(--ng-radius-sm));
|
|
13
|
+
background: transparent;
|
|
14
|
+
cursor: pointer;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
padding: 0;
|
|
17
|
+
outline: none;
|
|
18
|
+
transition: transform 0.15s ease, border-color 0.15s ease;
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.swatch:hover {
|
|
23
|
+
transform: translateY(-1px);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
.swatch__fill {
|
|
28
|
+
position: absolute;
|
|
29
|
+
inset: 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.swatch__check {
|
|
33
|
+
position: absolute;
|
|
34
|
+
inset: 0;
|
|
35
|
+
display: grid;
|
|
36
|
+
place-items: center;
|
|
37
|
+
pointer-events: none;
|
|
38
|
+
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.24));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.swatch__check nile-glyph {
|
|
42
|
+
--size: var(--nile-spacing-2xl, var(--ng-spacing-2xl));
|
|
43
|
+
display: block;
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
46
|
+
//# sourceMappingURL=nile-color-swatch.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-color-swatch.css.js","sourceRoot":"","sources":["../../../src/nile-color-swatch/nile-color-swatch.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CxB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n display: inline-block;\n }\n\n .swatch {\n position: relative;\n width: var(--nile-spacing-3xl, var(--ng-spacing-3xl));\n height: var(--nile-spacing-3xl, var(--ng-spacing-3xl));\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n background: transparent;\n cursor: pointer;\n box-sizing: border-box;\n padding: 0;\n outline: none;\n transition: transform 0.15s ease, border-color 0.15s ease;\n overflow: hidden;\n }\n\n .swatch:hover {\n transform: translateY(-1px);\n }\n\n\n .swatch__fill {\n position: absolute;\n inset: 0;\n }\n\n .swatch__check {\n position: absolute;\n inset: 0;\n display: grid;\n place-items: center;\n pointer-events: none;\n filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.24));\n }\n\n .swatch__check nile-glyph {\n --size: var(--nile-spacing-2xl, var(--ng-spacing-2xl));\n display: block;\n }\n`;\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LitElement, CSSResultArray } from 'lit';
|
|
2
|
+
export declare class NileColorSwatch extends LitElement {
|
|
3
|
+
static get styles(): CSSResultArray;
|
|
4
|
+
/** The hex color this swatch represents. */
|
|
5
|
+
color: string;
|
|
6
|
+
/** Whether this swatch is the currently selected color. */
|
|
7
|
+
active: boolean;
|
|
8
|
+
private _tickColor;
|
|
9
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
10
|
+
}
|
|
11
|
+
declare global {
|
|
12
|
+
interface HTMLElementTagNameMap {
|
|
13
|
+
'nile-color-swatch': NileColorSwatch;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { LitElement, html, nothing } from 'lit';
|
|
3
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
+
import { styles } from './nile-color-swatch.css';
|
|
5
|
+
let NileColorSwatch = class NileColorSwatch extends LitElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
/** The hex color this swatch represents. */
|
|
9
|
+
this.color = '#000000';
|
|
10
|
+
/** Whether this swatch is the currently selected color. */
|
|
11
|
+
this.active = false;
|
|
12
|
+
}
|
|
13
|
+
static get styles() {
|
|
14
|
+
return [styles];
|
|
15
|
+
}
|
|
16
|
+
_tickColor() {
|
|
17
|
+
const hex = this.color.replace('#', '');
|
|
18
|
+
if (hex.length !== 6) {
|
|
19
|
+
return '#FFFFFF';
|
|
20
|
+
}
|
|
21
|
+
const r = parseInt(hex.substring(0, 2), 16) / 255;
|
|
22
|
+
const g = parseInt(hex.substring(2, 4), 16) / 255;
|
|
23
|
+
const b = parseInt(hex.substring(4, 6), 16) / 255;
|
|
24
|
+
const toLinear = (c) => c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
|
|
25
|
+
const R = toLinear(r);
|
|
26
|
+
const G = toLinear(g);
|
|
27
|
+
const B = toLinear(b);
|
|
28
|
+
const luminance = 0.2126 * R + 0.7152 * G + 0.0722 * B;
|
|
29
|
+
const contrastWithWhite = (1.05) / (luminance + 0.05);
|
|
30
|
+
const contrastWithBlack = (luminance + 0.05) / 0.05;
|
|
31
|
+
return contrastWithWhite > contrastWithBlack ? '#FFFFFF' : '#111827';
|
|
32
|
+
}
|
|
33
|
+
render() {
|
|
34
|
+
const cls = `swatch${this.active ? ' swatch--active' : ''}`;
|
|
35
|
+
const tickColor = this._tickColor();
|
|
36
|
+
return html `
|
|
37
|
+
<button
|
|
38
|
+
class=${cls}
|
|
39
|
+
part="base"
|
|
40
|
+
type="button"
|
|
41
|
+
aria-pressed=${this.active ? 'true' : 'false'}
|
|
42
|
+
aria-label=${this.color}
|
|
43
|
+
>
|
|
44
|
+
<span class="swatch__fill" style="background:${this.color}"></span>
|
|
45
|
+
${this.active
|
|
46
|
+
? html `
|
|
47
|
+
<span class="swatch__check">
|
|
48
|
+
<nile-glyph name="tick" color=${tickColor}></nile-glyph>
|
|
49
|
+
</span>
|
|
50
|
+
`
|
|
51
|
+
: nothing}
|
|
52
|
+
</button>
|
|
53
|
+
`;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
__decorate([
|
|
57
|
+
property({ type: String, reflect: true })
|
|
58
|
+
], NileColorSwatch.prototype, "color", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
property({ type: Boolean, reflect: true })
|
|
61
|
+
], NileColorSwatch.prototype, "active", void 0);
|
|
62
|
+
NileColorSwatch = __decorate([
|
|
63
|
+
customElement('nile-color-swatch')
|
|
64
|
+
], NileColorSwatch);
|
|
65
|
+
export { NileColorSwatch };
|
|
66
|
+
//# sourceMappingURL=nile-color-swatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-color-swatch.js","sourceRoot":"","sources":["../../../src/nile-color-swatch/nile-color-swatch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAI1C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAKL,4CAA4C;QACF,UAAK,GAAG,SAAS,CAAC;QAE5D,2DAA2D;QAChB,WAAM,GAAG,KAAK,CAAC;IAkD5D,CAAC;IA1DC,MAAM,KAAK,MAAM;QACf,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IASO,UAAU;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAExC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAElD,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAC7B,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;QAEhE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEtB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QAEvD,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QACpD,OAAO,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;;gBAEC,GAAG;;;uBAGI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;qBAChC,IAAI,CAAC,KAAK;;uDAEwB,IAAI,CAAC,KAAK;UACvD,IAAI,CAAC,MAAM;YACX,CAAC,CAAC,IAAI,CAAA;;gDAEgC,SAAS;;aAE5C;YACH,CAAC,CAAC,OAAO;;KAEd,CAAC;IACJ,CAAC;CACF,CAAA;AArD2C;IAAzC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAkB;AAGjB;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CAAe;AAT/C,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CA2D3B","sourcesContent":["import { LitElement, html, nothing, CSSResultArray } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-color-swatch.css';\n\n \n@customElement('nile-color-swatch')\nexport class NileColorSwatch extends LitElement {\n static get styles(): CSSResultArray {\n return [styles];\n }\n\n /** The hex color this swatch represents. */\n @property({ type: String, reflect: true })color = '#000000';\n\n /** Whether this swatch is the currently selected color. */\n @property({ type: Boolean, reflect: true })active = false;\n\n \n private _tickColor(): string {\n const hex = this.color.replace('#', '');\n \n if (hex.length !== 6) {\n return '#FFFFFF';\n }\n \n const r = parseInt(hex.substring(0, 2), 16) / 255;\n const g = parseInt(hex.substring(2, 4), 16) / 255;\n const b = parseInt(hex.substring(4, 6), 16) / 255;\n \n const toLinear = (c: number) =>\n c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n \n const R = toLinear(r);\n const G = toLinear(g);\n const B = toLinear(b);\n \n const luminance = 0.2126 * R + 0.7152 * G + 0.0722 * B;\n \n const contrastWithWhite = (1.05) / (luminance + 0.05);\n const contrastWithBlack = (luminance + 0.05) / 0.05;\n return contrastWithWhite > contrastWithBlack ? '#FFFFFF' : '#111827';\n }\n\n render() {\n const cls = `swatch${this.active ? ' swatch--active' : ''}`;\n const tickColor = this._tickColor();\n return html`\n <button\n class=${cls}\n part=\"base\"\n type=\"button\"\n aria-pressed=${this.active ? 'true' : 'false'}\n aria-label=${this.color}\n >\n <span class=\"swatch__fill\" style=\"background:${this.color}\"></span>\n ${this.active\n ? html`\n <span class=\"swatch__check\">\n <nile-glyph name=\"tick\" color=${tickColor}></nile-glyph>\n </span>\n `\n : nothing}\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-color-swatch': NileColorSwatch;\n }\n}\n"]}
|
|
@@ -93,6 +93,7 @@ export declare class NileDropdown extends NileElement {
|
|
|
93
93
|
handleTriggerKeyDown(event: KeyboardEvent): void;
|
|
94
94
|
handleTriggerKeyUp(event: KeyboardEvent): void;
|
|
95
95
|
handleTriggerSlotChange(): void;
|
|
96
|
+
private isTriggerDisabled;
|
|
96
97
|
updateAccessibleTrigger(): void;
|
|
97
98
|
/** Shows the dropdown panel. */
|
|
98
99
|
show(): Promise<void>;
|
|
@@ -105,6 +106,7 @@ export declare class NileDropdown extends NileElement {
|
|
|
105
106
|
reposition(): void;
|
|
106
107
|
addOpenListeners(): void;
|
|
107
108
|
removeOpenListeners(): void;
|
|
109
|
+
private _triggerDisabledByDropdown;
|
|
108
110
|
protected updated(changedProperties: PropertyValues): void;
|
|
109
111
|
private updateTriggerDisabledState;
|
|
110
112
|
handleOpenChange(): Promise<void>;
|
|
@@ -79,6 +79,7 @@ let NileDropdown = class NileDropdown extends NileElement {
|
|
|
79
79
|
this.enableVisibilityEffect = false;
|
|
80
80
|
this.enableTabClose = false;
|
|
81
81
|
this.portalManager = null;
|
|
82
|
+
this._triggerDisabledByDropdown = false;
|
|
82
83
|
}
|
|
83
84
|
connectedCallback() {
|
|
84
85
|
super.connectedCallback();
|
|
@@ -217,6 +218,9 @@ let NileDropdown = class NileDropdown extends NileElement {
|
|
|
217
218
|
if (this.noOpenOnClick) {
|
|
218
219
|
return;
|
|
219
220
|
}
|
|
221
|
+
if (this.disabled || this.isTriggerDisabled()) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
220
224
|
if (this.open) {
|
|
221
225
|
this.hide();
|
|
222
226
|
}
|
|
@@ -272,6 +276,10 @@ let NileDropdown = class NileDropdown extends NileElement {
|
|
|
272
276
|
handleTriggerSlotChange() {
|
|
273
277
|
this.updateAccessibleTrigger();
|
|
274
278
|
}
|
|
279
|
+
isTriggerDisabled() {
|
|
280
|
+
const trigger = this.querySelector('[slot="trigger"]');
|
|
281
|
+
return trigger?.hasAttribute?.('disabled');
|
|
282
|
+
}
|
|
275
283
|
//
|
|
276
284
|
// Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and
|
|
277
285
|
// `aria-expanded`. These must be applied to the "accessible trigger" (the tabbable portion of the trigger element
|
|
@@ -302,7 +310,7 @@ let NileDropdown = class NileDropdown extends NileElement {
|
|
|
302
310
|
}
|
|
303
311
|
/** Shows the dropdown panel. */
|
|
304
312
|
async show() {
|
|
305
|
-
if (this.open) {
|
|
313
|
+
if (this.open || this.disabled || this.isTriggerDisabled()) {
|
|
306
314
|
return undefined;
|
|
307
315
|
}
|
|
308
316
|
this.open = true;
|
|
@@ -352,6 +360,9 @@ let NileDropdown = class NileDropdown extends NileElement {
|
|
|
352
360
|
}
|
|
353
361
|
}
|
|
354
362
|
if (changedProperties.has('disabled')) {
|
|
363
|
+
if (this.disabled && this.open) {
|
|
364
|
+
void this.hide();
|
|
365
|
+
}
|
|
355
366
|
this.updateTriggerDisabledState();
|
|
356
367
|
}
|
|
357
368
|
}
|
|
@@ -359,15 +370,20 @@ let NileDropdown = class NileDropdown extends NileElement {
|
|
|
359
370
|
const trigger = this.querySelector('[slot="trigger"]');
|
|
360
371
|
if (!trigger)
|
|
361
372
|
return;
|
|
362
|
-
|
|
363
|
-
|
|
373
|
+
if (this.disabled) {
|
|
374
|
+
if (!trigger.disabled) {
|
|
375
|
+
this._triggerDisabledByDropdown = true;
|
|
376
|
+
}
|
|
364
377
|
trigger.disabled = true;
|
|
365
|
-
|
|
378
|
+
}
|
|
379
|
+
else if (this._triggerDisabledByDropdown) {
|
|
380
|
+
trigger.disabled = false;
|
|
381
|
+
this._triggerDisabledByDropdown = false;
|
|
366
382
|
}
|
|
367
383
|
}
|
|
368
384
|
async handleOpenChange() {
|
|
369
385
|
this.visibilityManager?.setup();
|
|
370
|
-
if (this.disabled) {
|
|
386
|
+
if (this.open && (this.disabled || this.isTriggerDisabled())) {
|
|
371
387
|
this.open = false;
|
|
372
388
|
return;
|
|
373
389
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-dropdown.js","sourceRoot":"","sources":["../../../src/nile-dropdown/nile-dropdown.ts"],"names":[],"mappings":"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","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 any;\n if (!trigger) return;\n const triggerAlreadyDisabled = trigger.hasAttribute('disabled');\n if (this.disabled || triggerAlreadyDisabled) {\n trigger.disabled = true;\n this.disabled = true;\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"]}
|
|
1
|
+
{"version":3,"file":"nile-dropdown.js","sourceRoot":"","sources":["../../../src/nile-dropdown/nile-dropdown.ts"],"names":[],"mappings":"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","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.disabled || this.isTriggerDisabled()) {\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 private isTriggerDisabled(): boolean {\n const trigger = this.querySelector('[slot=\"trigger\"]') as any;\n return trigger?.hasAttribute?.('disabled');\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 || this.disabled || this.isTriggerDisabled()) {\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 private _triggerDisabledByDropdown = false;\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 if (this.disabled && this.open) {\n void this.hide();\n }\n \n this.updateTriggerDisabledState();\n }\n }\n \n private updateTriggerDisabledState() {\n const trigger = this.querySelector('[slot=\"trigger\"]') as any;\n if (!trigger) return;\n if (this.disabled){\n if (!trigger.disabled) {\n this._triggerDisabledByDropdown = true;\n }\n trigger.disabled = true;\n } else if (this._triggerDisabledByDropdown) {\n trigger.disabled = false;\n this._triggerDisabledByDropdown = false;\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n this.visibilityManager?.setup();\n if ( this.open && (this.disabled || this.isTriggerDisabled()) ) {\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"]}
|
|
@@ -129,7 +129,7 @@ let NileStepperItem = class NileStepperItem extends NileElement {
|
|
|
129
129
|
getSvg() {
|
|
130
130
|
let iconSize = this.size == 'sm' ? 20 : this.size == 'lg' ? 24 : 28;
|
|
131
131
|
return html `
|
|
132
|
-
<svg width="${iconSize}" height="${iconSize}" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
132
|
+
<svg part="bulletin-svg" width="${iconSize}" height="${iconSize}" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
133
133
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M22.7953 9.85334L13.2487 19.0667L10.7153 16.36C10.2487 15.92 9.51534 15.8933 8.982 16.2667C8.462 16.6533 8.31534 17.3333 8.63534 17.88L11.6353 22.76C11.9287 23.2133 12.4353 23.4933 13.0087 23.4933C13.5553 23.4933 14.0753 23.2133 14.3687 22.76C14.8487 22.1333 24.0087 11.2133 24.0087 11.2133C25.2087 9.98668 23.7553 8.90668 22.7953 9.84001V9.85334Z" fill="white"/>
|
|
134
134
|
</svg>
|
|
135
135
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-stepper-item.js","sourceRoot":"","sources":["../../../src/nile-stepper-item/nile-stepper-item.ts"],"names":[],"mappings":"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","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, nothing, html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './nile-stepper-item.css';\nimport NileElement from '../internal/nile-element';\n\n\n/**\n * Nile stepper-item component.\n *\n * @tag nile-stepper-item\n *\n */\n@customElement('nile-stepper-item')\nexport class NileStepperItem extends NileElement {\n\n\t@query('.stepper__item__content--above .stepper__content__title') absoluteTitle:HTMLDivElement;\n\t@query('.stepper__item__content--above .stepper__content__subtitle') absoluteSubtitle:HTMLDivElement;\n\n\t/* Properties passed directly */\n\t@property({attribute: true, reflect: true}) title: string = '';\n\t@property({attribute: true, reflect: true}) subtitle: string = '';\n\t@property({attribute: true, reflect: true}) completed: boolean = false;\n\t@property({attribute: true, reflect: true}) current: boolean = false;\n\n\t/* Properties passed to parent component: NileStepper */\n\t@state() private contentBelow = false;\n\t@state() private size : 'sm' | 'lg' = 'lg';\n\t@state() private icon = 'tick';\n\n\n\t/* Properties Computed at parent level component NileStepper */\n\t@state() private isFirst = false;\n\t@state() private isLast = false;\n\n\t@state() private isComplete = false;\n\t@state() private isCurrent = false;\n\t@state() private isManualMode = false;\n\t@state() private currentStepValue :Number;\n\t@state() private completedStepValue :Number;\n\t@state() private calculatedCompletedStepValue :Number;\n\n\t@state() private value :Number;\n\t@state() private haveFlex :Boolean=true;\n\n\t/**\n\t * The styles for nile-stepper-item\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\tprotected updated(_changedProperties: PropertyValues): void {\n\t\tif(_changedProperties.has('subtitle') && this.isLast && !this.contentBelow && this.subtitle){\n\t\t\tconst subtitleWidth=this.absoluteSubtitle?.scrollWidth as number ?? '0';\n\t\t\tthis.absoluteTitle.style.minWidth=subtitleWidth+\"px\"\n\t\t}\n\t}\n\n\t/* #endregion */\n\n\t/* #region Methods */\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\n\t\tif (!this.haveFlex) this.style.setProperty('--stepper-flex-val', `0`);\n\t\tconst isCurrent = this.isManualMode ? this.current : this.isCurrent;\n\t\tconst isComplete = this.isManualMode ? this.completed : this.isComplete;\n\n\t\tlet showCompletedIcon = false;\n\t\tif (isComplete && !isCurrent || this.completedStepValue == this.value) showCompletedIcon = true;\n\n\t\tlet suffixStepperLineActive = false;\n\t\tif (isComplete) {\n\t\t\tsuffixStepperLineActive = true;\n\t\t\tif (this.calculatedCompletedStepValue == this.value) suffixStepperLineActive = false;\n\t\t}\n\t\treturn html`\n\t\t\t<div part=\"item\" class=\"${classMap({\n\t\t\t\t'stepper__item':true,\n\t\t\t\t'stepper__item--selected':isCurrent,\n\t\t\t\t'stepper__item--sm':this.size=='sm',\n\t\t\t\t'stepper__item--lg':this.size=='lg',\n\t\t\t})}\">\n\t\t\t\t<div part=\"line-content\" class=\"stepper__line__content\">\n\t\t\t\t\t<div class=\"stepper__line__container\">\n\t\t\t\t\t\t${this.isFirst ? nothing : html`\n\t\t\t\t\t\t\t<hr class=\"${classMap({\n\t\t\t\t\t\t\t\t'stepper__line':true,\n\t\t\t\t\t\t\t\t'stepper__line--active':isComplete || isCurrent\n\t\t\t\t\t\t\t})}\"/>\n\t\t\t\t\t\t`}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div part=\"bulletin\" class=${classMap({ 'stepper__item__bulletin':true, 'stepper__item__bulletin--inline': !this.contentBelow })}>\n\t\t\t\t\t\t${showCompletedIcon ? \n\t\t\t\t\t\t\thtml`<div part=\"bulletin-icon\" class=\"${classMap({ 'stepper__bulletin--icon':true, 'stepper__bulletin__icon--active':isCurrent })}\">${this.getSvg()}</div>`\n\t\t\t\t\t\t\t: html`<div part=\"bulletin-dot\" class=\"${classMap({ 'stepper__bulletin--dot':true, 'stepper__bulletin__dot--active':isCurrent })}\"></div>`\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<div part=\"line-container\" class=\"${classMap({\n\t\t\t\t\t\t'stepper__line__container':true,\n\t\t\t\t\t\t'stepper__line--hastitle':!this.contentBelow\n\t\t\t\t\t})}\">\n\t\t\t\t\t\t${this.contentBelow || !this.title ? nothing:html`\n\n\t\t\t\t\t\t\t<div part=\"content-above\" class=\"stepper__item__content--above\">\n\t\t\t\t\t\t\t\t<div part=\"title_above\" class=\"${classMap({ 'stepper__content__title':true, 'stepper__content__title--active':isCurrent })}\">\n\t\t\t\t\t\t\t\t\t${this.title}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"${classMap({ 'stepper__content__subtitle':true, 'stepper__content__subtitle--active':isCurrent })}\">${this.subtitle}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`}\n\t\t\t\t\t\t${this.isLast ? nothing : html`\n\t\t\t\t\t\t\t<hr part=\"line\" class=\"${classMap({\n\t\t\t\t\t\t\t\t'stepper__line':true,\n\t\t\t\t\t\t\t\t'stepper__line--active':suffixStepperLineActive\n\t\t\t\t\t\t\t})}\" style=\"flex-grow:1;\"/>\n\t\t\t\t\t\t`}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t${this.contentBelow?\n\t\t\t\t\thtml`\n\t\t\t\t\t<div part=\"content-below\" class=\"stepper__item__content--below\">\n\t\t\t\t\t\t<div part=\"title_below\" class=\"${classMap({ 'stepper__content__title':true, 'stepper__content__title--active':isCurrent })}\">\n\t\t\t\t\t\t\t${this.title}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div part=\"subtitle_below\" class=\"${classMap({ 'stepper__content__subtitle':true, 'stepper__content__subtitle--active':isCurrent })}\">${this.subtitle}</div>\n\t\t\t\t\t</div>\n\t\t\t\t`:nothing}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetSvg():TemplateResult{\n\t\tlet iconSize = this.size == 'sm' ? 20 : this.size == 'lg' ? 24 : 28;\n\t\treturn html`\n\t\t<svg width=\"${iconSize}\" height=\"${iconSize}\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.7953 9.85334L13.2487 19.0667L10.7153 16.36C10.2487 15.92 9.51534 15.8933 8.982 16.2667C8.462 16.6533 8.31534 17.3333 8.63534 17.88L11.6353 22.76C11.9287 23.2133 12.4353 23.4933 13.0087 23.4933C13.5553 23.4933 14.0753 23.2133 14.3687 22.76C14.8487 22.1333 24.0087 11.2133 24.0087 11.2133C25.2087 9.98668 23.7553 8.90668 22.7953 9.84001V9.85334Z\" fill=\"white\"/>\n\t\t</svg>\n\t\t`\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileStepperItem;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-stepper-item': NileStepperItem;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nile-stepper-item.js","sourceRoot":"","sources":["../../../src/nile-stepper-item/nile-stepper-item.ts"],"names":[],"mappings":"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","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, nothing, html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './nile-stepper-item.css';\nimport NileElement from '../internal/nile-element';\n\n\n/**\n * Nile stepper-item component.\n *\n * @tag nile-stepper-item\n *\n */\n@customElement('nile-stepper-item')\nexport class NileStepperItem extends NileElement {\n\n\t@query('.stepper__item__content--above .stepper__content__title') absoluteTitle:HTMLDivElement;\n\t@query('.stepper__item__content--above .stepper__content__subtitle') absoluteSubtitle:HTMLDivElement;\n\n\t/* Properties passed directly */\n\t@property({attribute: true, reflect: true}) title: string = '';\n\t@property({attribute: true, reflect: true}) subtitle: string = '';\n\t@property({attribute: true, reflect: true}) completed: boolean = false;\n\t@property({attribute: true, reflect: true}) current: boolean = false;\n\n\t/* Properties passed to parent component: NileStepper */\n\t@state() private contentBelow = false;\n\t@state() private size : 'sm' | 'lg' = 'lg';\n\t@state() private icon = 'tick';\n\n\n\t/* Properties Computed at parent level component NileStepper */\n\t@state() private isFirst = false;\n\t@state() private isLast = false;\n\n\t@state() private isComplete = false;\n\t@state() private isCurrent = false;\n\t@state() private isManualMode = false;\n\t@state() private currentStepValue :Number;\n\t@state() private completedStepValue :Number;\n\t@state() private calculatedCompletedStepValue :Number;\n\n\t@state() private value :Number;\n\t@state() private haveFlex :Boolean=true;\n\n\t/**\n\t * The styles for nile-stepper-item\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\tprotected updated(_changedProperties: PropertyValues): void {\n\t\tif(_changedProperties.has('subtitle') && this.isLast && !this.contentBelow && this.subtitle){\n\t\t\tconst subtitleWidth=this.absoluteSubtitle?.scrollWidth as number ?? '0';\n\t\t\tthis.absoluteTitle.style.minWidth=subtitleWidth+\"px\"\n\t\t}\n\t}\n\n\t/* #endregion */\n\n\t/* #region Methods */\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\n\t\tif (!this.haveFlex) this.style.setProperty('--stepper-flex-val', `0`);\n\t\tconst isCurrent = this.isManualMode ? this.current : this.isCurrent;\n\t\tconst isComplete = this.isManualMode ? this.completed : this.isComplete;\n\n\t\tlet showCompletedIcon = false;\n\t\tif (isComplete && !isCurrent || this.completedStepValue == this.value) showCompletedIcon = true;\n\n\t\tlet suffixStepperLineActive = false;\n\t\tif (isComplete) {\n\t\t\tsuffixStepperLineActive = true;\n\t\t\tif (this.calculatedCompletedStepValue == this.value) suffixStepperLineActive = false;\n\t\t}\n\t\treturn html`\n\t\t\t<div part=\"item\" class=\"${classMap({\n\t\t\t\t'stepper__item':true,\n\t\t\t\t'stepper__item--selected':isCurrent,\n\t\t\t\t'stepper__item--sm':this.size=='sm',\n\t\t\t\t'stepper__item--lg':this.size=='lg',\n\t\t\t})}\">\n\t\t\t\t<div part=\"line-content\" class=\"stepper__line__content\">\n\t\t\t\t\t<div class=\"stepper__line__container\">\n\t\t\t\t\t\t${this.isFirst ? nothing : html`\n\t\t\t\t\t\t\t<hr class=\"${classMap({\n\t\t\t\t\t\t\t\t'stepper__line':true,\n\t\t\t\t\t\t\t\t'stepper__line--active':isComplete || isCurrent\n\t\t\t\t\t\t\t})}\"/>\n\t\t\t\t\t\t`}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div part=\"bulletin\" class=${classMap({ 'stepper__item__bulletin':true, 'stepper__item__bulletin--inline': !this.contentBelow })}>\n\t\t\t\t\t\t${showCompletedIcon ? \n\t\t\t\t\t\t\thtml`<div part=\"bulletin-icon\" class=\"${classMap({ 'stepper__bulletin--icon':true, 'stepper__bulletin__icon--active':isCurrent })}\">${this.getSvg()}</div>`\n\t\t\t\t\t\t\t: html`<div part=\"bulletin-dot\" class=\"${classMap({ 'stepper__bulletin--dot':true, 'stepper__bulletin__dot--active':isCurrent })}\"></div>`\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<div part=\"line-container\" class=\"${classMap({\n\t\t\t\t\t\t'stepper__line__container':true,\n\t\t\t\t\t\t'stepper__line--hastitle':!this.contentBelow\n\t\t\t\t\t})}\">\n\t\t\t\t\t\t${this.contentBelow || !this.title ? nothing:html`\n\n\t\t\t\t\t\t\t<div part=\"content-above\" class=\"stepper__item__content--above\">\n\t\t\t\t\t\t\t\t<div part=\"title_above\" class=\"${classMap({ 'stepper__content__title':true, 'stepper__content__title--active':isCurrent })}\">\n\t\t\t\t\t\t\t\t\t${this.title}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"${classMap({ 'stepper__content__subtitle':true, 'stepper__content__subtitle--active':isCurrent })}\">${this.subtitle}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`}\n\t\t\t\t\t\t${this.isLast ? nothing : html`\n\t\t\t\t\t\t\t<hr part=\"line\" class=\"${classMap({\n\t\t\t\t\t\t\t\t'stepper__line':true,\n\t\t\t\t\t\t\t\t'stepper__line--active':suffixStepperLineActive\n\t\t\t\t\t\t\t})}\" style=\"flex-grow:1;\"/>\n\t\t\t\t\t\t`}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t${this.contentBelow?\n\t\t\t\t\thtml`\n\t\t\t\t\t<div part=\"content-below\" class=\"stepper__item__content--below\">\n\t\t\t\t\t\t<div part=\"title_below\" class=\"${classMap({ 'stepper__content__title':true, 'stepper__content__title--active':isCurrent })}\">\n\t\t\t\t\t\t\t${this.title}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div part=\"subtitle_below\" class=\"${classMap({ 'stepper__content__subtitle':true, 'stepper__content__subtitle--active':isCurrent })}\">${this.subtitle}</div>\n\t\t\t\t\t</div>\n\t\t\t\t`:nothing}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetSvg():TemplateResult{\n\t\tlet iconSize = this.size == 'sm' ? 20 : this.size == 'lg' ? 24 : 28;\n\t\treturn html`\n\t\t<svg part=\"bulletin-svg\" width=\"${iconSize}\" height=\"${iconSize}\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.7953 9.85334L13.2487 19.0667L10.7153 16.36C10.2487 15.92 9.51534 15.8933 8.982 16.2667C8.462 16.6533 8.31534 17.3333 8.63534 17.88L11.6353 22.76C11.9287 23.2133 12.4353 23.4933 13.0087 23.4933C13.5553 23.4933 14.0753 23.2133 14.3687 22.76C14.8487 22.1333 24.0087 11.2133 24.0087 11.2133C25.2087 9.98668 23.7553 8.90668 22.7953 9.84001V9.85334Z\" fill=\"white\"/>\n\t\t</svg>\n\t\t`\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileStepperItem;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-stepper-item': NileStepperItem;\n\t}\n}\n"]}
|
|
@@ -95,7 +95,7 @@ let NileVerticalStepperItem = class NileVerticalStepperItem extends NileElement
|
|
|
95
95
|
getSvg() {
|
|
96
96
|
let iconSize = this.size == 'sm' ? 20 : this.size == 'lg' ? 24 : 28;
|
|
97
97
|
return html `
|
|
98
|
-
<svg width="${iconSize}" height="${iconSize}" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
98
|
+
<svg part="bulletin-svg" width="${iconSize}" height="${iconSize}" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
99
99
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M22.7953 9.85334L13.2487 19.0667L10.7153 16.36C10.2487 15.92 9.51534 15.8933 8.982 16.2667C8.462 16.6533 8.31534 17.3333 8.63534 17.88L11.6353 22.76C11.9287 23.2133 12.4353 23.4933 13.0087 23.4933C13.5553 23.4933 14.0753 23.2133 14.3687 22.76C14.8487 22.1333 24.0087 11.2133 24.0087 11.2133C25.2087 9.98668 23.7553 8.90668 22.7953 9.84001V9.85334Z" fill="white"/>
|
|
100
100
|
</svg>
|
|
101
101
|
`;
|