@digdir/designsystemet-web 1.13.3 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_vendors/invokers-polyfill/invoker.cjs.map +1 -1
- package/dist/cjs/suggestion/suggestion.cjs +1 -1
- package/dist/cjs/suggestion/suggestion.cjs.map +1 -1
- package/dist/custom-elements.json +0 -7
- package/dist/esm/_vendors/invokers-polyfill/invoker.js.map +1 -1
- package/dist/esm/suggestion/suggestion.js +1 -1
- package/dist/esm/suggestion/suggestion.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/umd/index.js +11 -14
- package/dist/umd/index.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoker.cjs","names":[],"sources":["../../../../../../node_modules/.pnpm/invokers-polyfill@1.0.2_patch_hash=d5677be15320f04cdc552d82cb4a79242bd1cf8b26bcbb0a13e1153e7bed3b5a/node_modules/invokers-polyfill/invoker.js"],"sourcesContent":["export function isSupported() {\n return (\n typeof HTMLButtonElement !== \"undefined\" &&\n \"command\" in HTMLButtonElement.prototype &&\n \"source\" in ((globalThis.CommandEvent || {}).prototype || {})\n );\n}\n\nexport function isPolyfilled() {\n return !/native code/i.test((globalThis.CommandEvent || {}).toString());\n}\n\nexport function apply() {\n // XXX: Invoker Buttons used to dispatch 'invoke' events instead of\n // 'command' events. We should ensure to prevent 'invoke' events being\n // fired in those browsers.\n // XXX: https://bugs.chromium.org/p/chromium/issues/detail?id=1523183\n // Chrome will dispatch invoke events even with the flag disabled; so\n // we need to capture those to prevent duplicate events.\n document.addEventListener(\n \"invoke\",\n (e) => {\n if (e.type == \"invoke\" && e.isTrusted) {\n e.stopImmediatePropagation();\n e.preventDefault();\n }\n },\n true,\n );\n document.addEventListener(\n \"command\",\n (e) => {\n if (e.type == \"command\" && e.isTrusted) {\n e.stopImmediatePropagation();\n e.preventDefault();\n }\n },\n true,\n );\n\n function enumerate(obj, key, enumerable = true) {\n Object.defineProperty(obj, key, {\n ...Object.getOwnPropertyDescriptor(obj, key),\n enumerable,\n });\n }\n\n function getRootNode(node) {\n if (node && typeof node.getRootNode === \"function\") {\n return node.getRootNode();\n }\n if (node && node.parentNode) return getRootNode(node.parentNode);\n return node;\n }\n\n const commandEventSourceElements = new WeakMap();\n const commandEventActions = new WeakMap();\n\n class CommandEvent extends Event {\n constructor(type, invokeEventInit = {}) {\n super(type, invokeEventInit);\n const { source, command } = invokeEventInit;\n if (source != null && !(source instanceof Element)) {\n throw new TypeError(`source must be an element`);\n }\n commandEventSourceElements.set(this, source || null);\n commandEventActions.set(\n this,\n command !== undefined ? String(command) : \"\",\n );\n }\n\n get [Symbol.toStringTag]() {\n return \"CommandEvent\";\n }\n\n get source() {\n if (!commandEventSourceElements.has(this)) {\n throw new TypeError(\"illegal invocation\");\n }\n const source = commandEventSourceElements.get(this);\n if (!(source instanceof Element)) return null;\n const invokerRoot = getRootNode(source);\n if (invokerRoot !== getRootNode(this.target || document)) {\n return invokerRoot.host;\n }\n return source;\n }\n\n get command() {\n if (!commandEventActions.has(this)) {\n throw new TypeError(\"illegal invocation\");\n }\n return commandEventActions.get(this);\n }\n }\n enumerate(CommandEvent.prototype, \"source\");\n enumerate(CommandEvent.prototype, \"command\");\n\n const invokerAssociatedElements = new WeakMap();\n\n function applyInvokerMixin(ElementClass) {\n Object.defineProperties(ElementClass.prototype, {\n commandForElement: {\n enumerable: true,\n configurable: true,\n set(targetElement) {\n if (targetElement === null) {\n this.removeAttribute(\"commandfor\");\n invokerAssociatedElements.delete(this);\n } else if (!(targetElement instanceof Element)) {\n throw new TypeError(`commandForElement must be an element or null`);\n } else {\n this.setAttribute(\"commandfor\", \"\");\n const targetRootNode = getRootNode(targetElement);\n const thisRootNode = getRootNode(this);\n if (\n thisRootNode === targetRootNode ||\n targetRootNode === this.ownerDocument\n ) {\n invokerAssociatedElements.set(this, targetElement);\n } else {\n invokerAssociatedElements.delete(this);\n }\n }\n },\n get() {\n if (this.localName !== \"button\") {\n return null;\n }\n if (this.disabled) {\n return null;\n }\n if (this.form && this.getAttribute(\"type\") !== \"button\") {\n console.warn(\n \"Element with `commandFor` is a form participant. \" +\n \"It should explicitly set `type=button` in order for `commandFor` to work\",\n );\n return null;\n }\n const targetElement = invokerAssociatedElements.get(this);\n if (targetElement) {\n if (targetElement.isConnected) {\n return targetElement;\n } else {\n invokerAssociatedElements.delete(this);\n return null;\n }\n }\n const root = getRootNode(this);\n const idref = this.getAttribute(\"commandfor\");\n if (\n (root instanceof Document || root instanceof ShadowRoot) &&\n idref\n ) {\n return root.getElementById(idref) || null;\n }\n return null;\n },\n },\n command: {\n enumerable: true,\n configurable: true,\n get() {\n const value = this.getAttribute(\"command\") || \"\";\n if (value.startsWith(\"--\")) return value;\n const valueLower = value.toLowerCase();\n switch (valueLower) {\n case \"show-modal\":\n case \"request-close\":\n case \"close\":\n case \"toggle-popover\":\n case \"hide-popover\":\n case \"show-popover\":\n return valueLower;\n }\n return \"\";\n },\n set(value) {\n this.setAttribute(\"command\", value);\n },\n },\n });\n }\n\n const onHandlers = new WeakMap();\n Object.defineProperties(HTMLElement.prototype, {\n oncommand: {\n enumerable: true,\n configurable: true,\n get() {\n oncommandObserver.takeRecords();\n return onHandlers.get(this) || null;\n },\n set(handler) {\n const existing = onHandlers.get(this) || null;\n if (existing) {\n this.removeEventListener(\"command\", existing);\n }\n onHandlers.set(\n this,\n typeof handler === \"object\" || typeof handler === \"function\"\n ? handler\n : null,\n );\n if (typeof handler == \"function\") {\n this.addEventListener(\"command\", handler);\n }\n },\n },\n });\n function applyOnCommandHandler(els) {\n for (const el of els) {\n el.oncommand = new Function(\"event\", el.getAttribute(\"oncommand\"));\n }\n }\n const oncommandObserver = new MutationObserver((records) => {\n for (const record of records) {\n const { target } = record;\n if (record.type === \"childList\") {\n applyOnCommandHandler(target.querySelectorAll(\"[oncommand]\"));\n } else {\n applyOnCommandHandler([target]);\n }\n }\n });\n oncommandObserver.observe(document, {\n subtree: true,\n childList: true,\n attributeFilter: [\"oncommand\"],\n });\n applyOnCommandHandler(document.querySelectorAll(\"[oncommand]\"));\n\n const processedEvents = new WeakSet();\n\n function handleInvokerActivation(event) {\n if (processedEvents.has(event)) return;\n\n processedEvents.add(event);\n\n if (event.defaultPrevented) return;\n if (event.type !== \"click\") return;\n const source = event.composedPath().find((el) => el.matches?.(\"button[commandfor], button[command]\"));\n if (!source) return;\n\n if (source.form && source.getAttribute(\"type\") !== \"button\") {\n event.preventDefault();\n throw new Error(\n \"Element with `commandFor` is a form participant. \" +\n \"It should explicitly set `type=button` in order for `commandFor` to work. \" +\n \"In order for it to act as a Submit button, it must not have command or commandfor attributes\",\n );\n }\n\n if (source.hasAttribute(\"command\") !== source.hasAttribute(\"commandfor\")) {\n const attr = source.hasAttribute(\"command\") ? \"command\" : \"commandfor\";\n const missing = source.hasAttribute(\"command\") ? \"commandfor\" : \"command\";\n throw new Error(\n `Element with ${attr} attribute must also have a ${missing} attribute to function.`,\n );\n }\n\n if (\n source.command !== \"show-popover\" &&\n source.command !== \"hide-popover\" &&\n source.command !== \"toggle-popover\" &&\n source.command !== \"show-modal\" &&\n source.command !== \"request-close\" &&\n source.command !== \"close\" &&\n !source.command.startsWith(\"--\")\n ) {\n console.warn(\n `\"${source.command}\" is not a valid command value. Custom commands must begin with --`,\n );\n return;\n }\n\n const invokee = source.commandForElement;\n if (!invokee) return;\n const invokeEvent = new CommandEvent(\"command\", {\n command: source.command,\n source,\n cancelable: true,\n });\n invokee.dispatchEvent(invokeEvent);\n if (invokeEvent.defaultPrevented) return;\n\n const command = invokeEvent.command.toLowerCase();\n\n if (invokee.popover) {\n const canShow = !invokee.matches(\":popover-open\");\n const shouldShow =\n canShow && (command === \"toggle-popover\" || command === \"show-popover\");\n const shouldHide = !canShow && command === \"hide-popover\";\n\n if (shouldShow) {\n invokee.showPopover({ source });\n } else if (shouldHide) {\n invokee.hidePopover();\n }\n } else if (invokee.localName === \"dialog\") {\n const canShow = !invokee.hasAttribute(\"open\");\n\n if (canShow && command == \"show-modal\") {\n invokee.showModal();\n } else if (!canShow && command == \"close\") {\n invokee.close(source.value ? source.value : undefined);\n } else if (!canShow && command == \"request-close\") {\n // requestClose is only supported from Safari 18.4, so we polyfill it on older browsers\n if (!HTMLDialogElement.prototype.requestClose) {\n HTMLDialogElement.prototype.requestClose = function () {\n const cancelEvent = new Event(\"cancel\", { cancelable: true });\n this.dispatchEvent(cancelEvent);\n\n if (!cancelEvent.defaultPrevented) {\n this.close();\n }\n };\n }\n\n invokee.requestClose(source.value ? source.value : undefined);\n }\n }\n }\n\n function setupInvokeListeners(target) {\n target.addEventListener(\"click\", handleInvokerActivation, true);\n }\n\n function observeShadowRoots(ElementClass, callback) {\n const attachShadow = ElementClass.prototype.attachShadow;\n ElementClass.prototype.attachShadow = function (init) {\n const shadow = attachShadow.call(this, init);\n callback(shadow);\n return shadow;\n };\n const attachInternals = ElementClass.prototype.attachInternals;\n ElementClass.prototype.attachInternals = function () {\n const internals = attachInternals.call(this);\n if (internals.shadowRoot) callback(internals.shadowRoot);\n return internals;\n };\n }\n\n applyInvokerMixin(HTMLButtonElement);\n\n observeShadowRoots(HTMLElement, (shadow) => {\n setupInvokeListeners(shadow);\n oncommandObserver.observe(shadow, { attributeFilter: [\"oncommand\"] });\n applyOnCommandHandler(shadow.querySelectorAll(\"[oncommand]\"));\n });\n\n setupInvokeListeners(document);\n\n Object.assign(globalThis, { CommandEvent });\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invoker.cjs","names":[],"sources":["../../../../../../node_modules/.pnpm/invokers-polyfill@1.0.3/node_modules/invokers-polyfill/invoker.js"],"sourcesContent":["export function isSupported() {\n return (\n typeof HTMLButtonElement !== \"undefined\" &&\n \"command\" in HTMLButtonElement.prototype &&\n \"source\" in ((globalThis.CommandEvent || {}).prototype || {})\n );\n}\n\nexport function isPolyfilled() {\n return !/native code/i.test((globalThis.CommandEvent || {}).toString());\n}\n\nexport function apply() {\n // XXX: Invoker Buttons used to dispatch 'invoke' events instead of\n // 'command' events. We should ensure to prevent 'invoke' events being\n // fired in those browsers.\n // XXX: https://bugs.chromium.org/p/chromium/issues/detail?id=1523183\n // Chrome will dispatch invoke events even with the flag disabled; so\n // we need to capture those to prevent duplicate events.\n document.addEventListener(\n \"invoke\",\n (e) => {\n if (e.type == \"invoke\" && e.isTrusted) {\n e.stopImmediatePropagation();\n e.preventDefault();\n }\n },\n true,\n );\n document.addEventListener(\n \"command\",\n (e) => {\n if (e.type == \"command\" && e.isTrusted) {\n e.stopImmediatePropagation();\n e.preventDefault();\n }\n },\n true,\n );\n\n function enumerate(obj, key, enumerable = true) {\n Object.defineProperty(obj, key, {\n ...Object.getOwnPropertyDescriptor(obj, key),\n enumerable,\n });\n }\n\n function getRootNode(node) {\n if (node && typeof node.getRootNode === \"function\") {\n return node.getRootNode();\n }\n if (node && node.parentNode) return getRootNode(node.parentNode);\n return node;\n }\n\n const commandEventSourceElements = new WeakMap();\n const commandEventActions = new WeakMap();\n\n class CommandEvent extends Event {\n constructor(type, invokeEventInit = {}) {\n super(type, invokeEventInit);\n const { source, command } = invokeEventInit;\n if (source != null && !(source instanceof Element)) {\n throw new TypeError(`source must be an element`);\n }\n commandEventSourceElements.set(this, source || null);\n commandEventActions.set(\n this,\n command !== undefined ? String(command) : \"\",\n );\n }\n\n get [Symbol.toStringTag]() {\n return \"CommandEvent\";\n }\n\n get source() {\n if (!commandEventSourceElements.has(this)) {\n throw new TypeError(\"illegal invocation\");\n }\n const source = commandEventSourceElements.get(this);\n if (!(source instanceof Element)) return null;\n const invokerRoot = getRootNode(source);\n if (invokerRoot !== getRootNode(this.target || document)) {\n return invokerRoot.host;\n }\n return source;\n }\n\n get command() {\n if (!commandEventActions.has(this)) {\n throw new TypeError(\"illegal invocation\");\n }\n return commandEventActions.get(this);\n }\n }\n enumerate(CommandEvent.prototype, \"source\");\n enumerate(CommandEvent.prototype, \"command\");\n\n const invokerAssociatedElements = new WeakMap();\n\n function applyInvokerMixin(ElementClass) {\n Object.defineProperties(ElementClass.prototype, {\n commandForElement: {\n enumerable: true,\n configurable: true,\n set(targetElement) {\n if (targetElement === null) {\n this.removeAttribute(\"commandfor\");\n invokerAssociatedElements.delete(this);\n } else if (!(targetElement instanceof Element)) {\n throw new TypeError(`commandForElement must be an element or null`);\n } else {\n this.setAttribute(\"commandfor\", \"\");\n const targetRootNode = getRootNode(targetElement);\n const thisRootNode = getRootNode(this);\n if (\n thisRootNode === targetRootNode ||\n targetRootNode === this.ownerDocument\n ) {\n invokerAssociatedElements.set(this, targetElement);\n } else {\n invokerAssociatedElements.delete(this);\n }\n }\n },\n get() {\n if (this.localName !== \"button\") {\n return null;\n }\n if (this.disabled) {\n return null;\n }\n if (this.form && this.getAttribute(\"type\") !== \"button\") {\n console.warn(\n \"Element with `commandFor` is a form participant. \" +\n \"It should explicitly set `type=button` in order for `commandFor` to work\",\n );\n return null;\n }\n const targetElement = invokerAssociatedElements.get(this);\n if (targetElement) {\n if (targetElement.isConnected) {\n return targetElement;\n } else {\n invokerAssociatedElements.delete(this);\n return null;\n }\n }\n const root = getRootNode(this);\n const idref = this.getAttribute(\"commandfor\");\n if (\n (root instanceof Document || root instanceof ShadowRoot) &&\n idref\n ) {\n return root.getElementById(idref) || null;\n }\n return null;\n },\n },\n command: {\n enumerable: true,\n configurable: true,\n get() {\n const value = this.getAttribute(\"command\") || \"\";\n if (value.startsWith(\"--\")) return value;\n const valueLower = value.toLowerCase();\n switch (valueLower) {\n case \"show-modal\":\n case \"request-close\":\n case \"close\":\n case \"toggle-popover\":\n case \"hide-popover\":\n case \"show-popover\":\n return valueLower;\n }\n return \"\";\n },\n set(value) {\n this.setAttribute(\"command\", value);\n },\n },\n });\n }\n\n const onHandlers = new WeakMap();\n Object.defineProperties(HTMLElement.prototype, {\n oncommand: {\n enumerable: true,\n configurable: true,\n get() {\n oncommandObserver.takeRecords();\n return onHandlers.get(this) || null;\n },\n set(handler) {\n const existing = onHandlers.get(this) || null;\n if (existing) {\n this.removeEventListener(\"command\", existing);\n }\n onHandlers.set(\n this,\n typeof handler === \"object\" || typeof handler === \"function\"\n ? handler\n : null,\n );\n if (typeof handler == \"function\") {\n this.addEventListener(\"command\", handler);\n }\n },\n },\n });\n function applyOnCommandHandler(els) {\n for (const el of els) {\n el.oncommand = new Function(\"event\", el.getAttribute(\"oncommand\"));\n }\n }\n const oncommandObserver = new MutationObserver((records) => {\n for (const record of records) {\n const { target } = record;\n if (record.type === \"childList\") {\n applyOnCommandHandler(target.querySelectorAll(\"[oncommand]\"));\n } else {\n applyOnCommandHandler([target]);\n }\n }\n });\n oncommandObserver.observe(document, {\n subtree: true,\n childList: true,\n attributeFilter: [\"oncommand\"],\n });\n applyOnCommandHandler(document.querySelectorAll(\"[oncommand]\"));\n\n const processedEvents = new WeakSet();\n\n function handleInvokerActivation(event) {\n if (processedEvents.has(event)) return;\n\n processedEvents.add(event);\n\n if (event.defaultPrevented) return;\n if (event.type !== \"click\") return;\n const source = event.composedPath().find((el) => el.matches?.(\"button[commandfor], button[command]\"));\n if (!source) return;\n\n if (source.form && source.getAttribute(\"type\") !== \"button\") {\n event.preventDefault();\n throw new Error(\n \"Element with `commandFor` is a form participant. \" +\n \"It should explicitly set `type=button` in order for `commandFor` to work. \" +\n \"In order for it to act as a Submit button, it must not have command or commandfor attributes\",\n );\n }\n\n if (source.hasAttribute(\"command\") !== source.hasAttribute(\"commandfor\")) {\n const attr = source.hasAttribute(\"command\") ? \"command\" : \"commandfor\";\n const missing = source.hasAttribute(\"command\") ? \"commandfor\" : \"command\";\n throw new Error(\n `Element with ${attr} attribute must also have a ${missing} attribute to function.`,\n );\n }\n\n if (\n source.command !== \"show-popover\" &&\n source.command !== \"hide-popover\" &&\n source.command !== \"toggle-popover\" &&\n source.command !== \"show-modal\" &&\n source.command !== \"request-close\" &&\n source.command !== \"close\" &&\n !source.command.startsWith(\"--\")\n ) {\n console.warn(\n `\"${source.command}\" is not a valid command value. Custom commands must begin with --`,\n );\n return;\n }\n\n const invokee = source.commandForElement;\n if (!invokee) return;\n const invokeEvent = new CommandEvent(\"command\", {\n command: source.command,\n source,\n cancelable: true,\n });\n invokee.dispatchEvent(invokeEvent);\n if (invokeEvent.defaultPrevented) return;\n\n const command = invokeEvent.command.toLowerCase();\n\n if (invokee.popover) {\n const canShow = !invokee.matches(\":popover-open\");\n const shouldShow =\n canShow && (command === \"toggle-popover\" || command === \"show-popover\");\n const shouldHide = !canShow && command === \"hide-popover\";\n\n if (shouldShow) {\n invokee.showPopover({ source });\n } else if (shouldHide) {\n invokee.hidePopover();\n }\n } else if (invokee.localName === \"dialog\") {\n const canShow = !invokee.hasAttribute(\"open\");\n\n if (canShow && command == \"show-modal\") {\n invokee.showModal();\n } else if (!canShow && command == \"close\") {\n invokee.close(source.value ? source.value : undefined);\n } else if (!canShow && command == \"request-close\") {\n // requestClose is only supported from Safari 18.4, so we polyfill it on older browsers\n if (!HTMLDialogElement.prototype.requestClose) {\n HTMLDialogElement.prototype.requestClose = function () {\n const cancelEvent = new Event(\"cancel\", { cancelable: true });\n this.dispatchEvent(cancelEvent);\n\n if (!cancelEvent.defaultPrevented) {\n this.close();\n }\n };\n }\n\n invokee.requestClose(source.value ? source.value : undefined);\n }\n }\n }\n\n function setupInvokeListeners(target) {\n target.addEventListener(\"click\", handleInvokerActivation, true);\n }\n\n function observeShadowRoots(ElementClass, callback) {\n const attachShadow = ElementClass.prototype.attachShadow;\n ElementClass.prototype.attachShadow = function (init) {\n const shadow = attachShadow.call(this, init);\n callback(shadow);\n return shadow;\n };\n const attachInternals = ElementClass.prototype.attachInternals;\n ElementClass.prototype.attachInternals = function () {\n const internals = attachInternals.call(this);\n if (internals.shadowRoot) callback(internals.shadowRoot);\n return internals;\n };\n }\n\n applyInvokerMixin(HTMLButtonElement);\n\n observeShadowRoots(HTMLElement, (shadow) => {\n setupInvokeListeners(shadow);\n oncommandObserver.observe(shadow, { attributeFilter: [\"oncommand\"] });\n applyOnCommandHandler(shadow.querySelectorAll(\"[oncommand]\"));\n });\n\n setupInvokeListeners(document);\n\n Object.assign(globalThis, { CommandEvent });\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../utils/utils.cjs`);let t=require(`@u-elements/u-combobox`);var n=class extends t.UHTMLComboboxElement{
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../utils/utils.cjs`);let t=require(`@u-elements/u-combobox`);var n=class extends t.UHTMLComboboxElement{_unmutate;connectedCallback(){super.connectedCallback(),this._unmutate=e.onMutation(this,r,{childList:!0}),e.on(this,`toggle`,i,e.QUICK_EVENT)}disconnectedCallback(){super.disconnectedCallback(),this._unmutate?.(),this._unmutate=void 0,e.off(this,`toggle`,i,e.QUICK_EVENT)}};const r=({control:t,list:n})=>{t&&!t.placeholder&&e.attr(t,`placeholder`,` `),t&&e.attr(t,`popovertarget`,e.useId(n)||null),n&&e.attr(n,`popover`,`manual`),n&&e.attr(n,`data-is-floating`,`true`)},i=e=>{let t=e.currentTarget,n=e.newState===`open`&&t.control;n&&t.list?.dispatchEvent(new CustomEvent(`ds-toggle-source`,{detail:n}))};e.customElements.define(`ds-suggestion`,n),exports.DSSuggestionElement=n;
|
|
2
2
|
//# sourceMappingURL=suggestion.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestion.cjs","names":["UHTMLComboboxElement","onMutation","QUICK_EVENT","useId","customElements"],"sources":["../../../src/suggestion/suggestion.ts"],"sourcesContent":["import { UHTMLComboboxElement } from '@u-elements/u-combobox';\nimport {\n attr,\n customElements,\n off,\n on,\n onMutation,\n QUICK_EVENT,\n useId,\n} from '../utils/utils';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ds-suggestion': DSSuggestionElement;\n }\n}\n\nexport class DSSuggestionElement extends UHTMLComboboxElement {\n
|
|
1
|
+
{"version":3,"file":"suggestion.cjs","names":["UHTMLComboboxElement","onMutation","QUICK_EVENT","useId","customElements"],"sources":["../../../src/suggestion/suggestion.ts"],"sourcesContent":["import { UHTMLComboboxElement } from '@u-elements/u-combobox';\nimport {\n attr,\n customElements,\n off,\n on,\n onMutation,\n QUICK_EVENT,\n useId,\n} from '../utils/utils';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ds-suggestion': DSSuggestionElement;\n }\n}\n\nexport class DSSuggestionElement extends UHTMLComboboxElement {\n _unmutate?: ReturnType<typeof onMutation>; // Using underscore instead of private fields for backwards compatibility\n\n connectedCallback() {\n super.connectedCallback();\n this._unmutate = onMutation(this, render, { childList: true }); // .control and .list are direct children of the custom element\n on(this, 'toggle', polyfillToggleSource, QUICK_EVENT);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this._unmutate?.();\n this._unmutate = undefined;\n off(this, 'toggle', polyfillToggleSource, QUICK_EVENT);\n }\n}\n\n// A non-empty placeholder attribute is required to activate the :placeholder-shown pseudo selector used in our chevron styling\nconst render = ({ control, list }: DSSuggestionElement) => {\n if (control && !control.placeholder) attr(control, 'placeholder', ' '); // .control comes from UHTMLComboboxElement\n if (control) attr(control, 'popovertarget', useId(list) || null);\n if (list) attr(list, 'popover', 'manual'); // Ensure popover attribute is set on the list\n if (list) attr(list, 'data-is-floating', 'true'); // identifier for css to toggle opacity when it is placed by floating-ui.\n};\n\n// Since showPopover({ source }) is not supported in all browsers yet:\nconst polyfillToggleSource = (event: Partial<ToggleEvent>) => {\n const self = event.currentTarget as DSSuggestionElement;\n const detail = event.newState === 'open' && self.control; // .control comes from UHTMLComboboxElement\n\n if (detail)\n self.list?.dispatchEvent(new CustomEvent('ds-toggle-source', { detail }));\n};\n\ncustomElements.define('ds-suggestion', DSSuggestionElement);\n"],"mappings":"2HAiBA,IAAa,EAAb,cAAyCA,EAAAA,oBAAqB,CAC5D,UAEA,mBAAoB,CAClB,MAAM,mBAAmB,CACzB,KAAK,UAAYC,EAAAA,WAAW,KAAM,EAAQ,CAAE,UAAW,GAAM,CAAC,CAC9D,EAAA,GAAG,KAAM,SAAU,EAAsBC,EAAAA,YAAY,CAEvD,sBAAuB,CACrB,MAAM,sBAAsB,CAC5B,KAAK,aAAa,CAClB,KAAK,UAAY,IAAA,GACjB,EAAA,IAAI,KAAM,SAAU,EAAsBA,EAAAA,YAAY,GAK1D,MAAM,GAAU,CAAE,UAAS,UAAgC,CACrD,GAAW,CAAC,EAAQ,aAAa,EAAA,KAAK,EAAS,cAAe,IAAI,CAClE,GAAS,EAAA,KAAK,EAAS,gBAAiBC,EAAAA,MAAM,EAAK,EAAI,KAAK,CAC5D,GAAM,EAAA,KAAK,EAAM,UAAW,SAAS,CACrC,GAAM,EAAA,KAAK,EAAM,mBAAoB,OAAO,EAI5C,EAAwB,GAAgC,CAC5D,IAAM,EAAO,EAAM,cACb,EAAS,EAAM,WAAa,QAAU,EAAK,QAE7C,GACF,EAAK,MAAM,cAAc,IAAI,YAAY,mBAAoB,CAAE,SAAQ,CAAC,CAAC,EAG7EC,EAAAA,eAAe,OAAO,gBAAiB,EAAoB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoker.js","names":[],"sources":["../../../../../../node_modules/.pnpm/invokers-polyfill@1.0.2_patch_hash=d5677be15320f04cdc552d82cb4a79242bd1cf8b26bcbb0a13e1153e7bed3b5a/node_modules/invokers-polyfill/invoker.js"],"sourcesContent":["export function isSupported() {\n return (\n typeof HTMLButtonElement !== \"undefined\" &&\n \"command\" in HTMLButtonElement.prototype &&\n \"source\" in ((globalThis.CommandEvent || {}).prototype || {})\n );\n}\n\nexport function isPolyfilled() {\n return !/native code/i.test((globalThis.CommandEvent || {}).toString());\n}\n\nexport function apply() {\n // XXX: Invoker Buttons used to dispatch 'invoke' events instead of\n // 'command' events. We should ensure to prevent 'invoke' events being\n // fired in those browsers.\n // XXX: https://bugs.chromium.org/p/chromium/issues/detail?id=1523183\n // Chrome will dispatch invoke events even with the flag disabled; so\n // we need to capture those to prevent duplicate events.\n document.addEventListener(\n \"invoke\",\n (e) => {\n if (e.type == \"invoke\" && e.isTrusted) {\n e.stopImmediatePropagation();\n e.preventDefault();\n }\n },\n true,\n );\n document.addEventListener(\n \"command\",\n (e) => {\n if (e.type == \"command\" && e.isTrusted) {\n e.stopImmediatePropagation();\n e.preventDefault();\n }\n },\n true,\n );\n\n function enumerate(obj, key, enumerable = true) {\n Object.defineProperty(obj, key, {\n ...Object.getOwnPropertyDescriptor(obj, key),\n enumerable,\n });\n }\n\n function getRootNode(node) {\n if (node && typeof node.getRootNode === \"function\") {\n return node.getRootNode();\n }\n if (node && node.parentNode) return getRootNode(node.parentNode);\n return node;\n }\n\n const commandEventSourceElements = new WeakMap();\n const commandEventActions = new WeakMap();\n\n class CommandEvent extends Event {\n constructor(type, invokeEventInit = {}) {\n super(type, invokeEventInit);\n const { source, command } = invokeEventInit;\n if (source != null && !(source instanceof Element)) {\n throw new TypeError(`source must be an element`);\n }\n commandEventSourceElements.set(this, source || null);\n commandEventActions.set(\n this,\n command !== undefined ? String(command) : \"\",\n );\n }\n\n get [Symbol.toStringTag]() {\n return \"CommandEvent\";\n }\n\n get source() {\n if (!commandEventSourceElements.has(this)) {\n throw new TypeError(\"illegal invocation\");\n }\n const source = commandEventSourceElements.get(this);\n if (!(source instanceof Element)) return null;\n const invokerRoot = getRootNode(source);\n if (invokerRoot !== getRootNode(this.target || document)) {\n return invokerRoot.host;\n }\n return source;\n }\n\n get command() {\n if (!commandEventActions.has(this)) {\n throw new TypeError(\"illegal invocation\");\n }\n return commandEventActions.get(this);\n }\n }\n enumerate(CommandEvent.prototype, \"source\");\n enumerate(CommandEvent.prototype, \"command\");\n\n const invokerAssociatedElements = new WeakMap();\n\n function applyInvokerMixin(ElementClass) {\n Object.defineProperties(ElementClass.prototype, {\n commandForElement: {\n enumerable: true,\n configurable: true,\n set(targetElement) {\n if (targetElement === null) {\n this.removeAttribute(\"commandfor\");\n invokerAssociatedElements.delete(this);\n } else if (!(targetElement instanceof Element)) {\n throw new TypeError(`commandForElement must be an element or null`);\n } else {\n this.setAttribute(\"commandfor\", \"\");\n const targetRootNode = getRootNode(targetElement);\n const thisRootNode = getRootNode(this);\n if (\n thisRootNode === targetRootNode ||\n targetRootNode === this.ownerDocument\n ) {\n invokerAssociatedElements.set(this, targetElement);\n } else {\n invokerAssociatedElements.delete(this);\n }\n }\n },\n get() {\n if (this.localName !== \"button\") {\n return null;\n }\n if (this.disabled) {\n return null;\n }\n if (this.form && this.getAttribute(\"type\") !== \"button\") {\n console.warn(\n \"Element with `commandFor` is a form participant. \" +\n \"It should explicitly set `type=button` in order for `commandFor` to work\",\n );\n return null;\n }\n const targetElement = invokerAssociatedElements.get(this);\n if (targetElement) {\n if (targetElement.isConnected) {\n return targetElement;\n } else {\n invokerAssociatedElements.delete(this);\n return null;\n }\n }\n const root = getRootNode(this);\n const idref = this.getAttribute(\"commandfor\");\n if (\n (root instanceof Document || root instanceof ShadowRoot) &&\n idref\n ) {\n return root.getElementById(idref) || null;\n }\n return null;\n },\n },\n command: {\n enumerable: true,\n configurable: true,\n get() {\n const value = this.getAttribute(\"command\") || \"\";\n if (value.startsWith(\"--\")) return value;\n const valueLower = value.toLowerCase();\n switch (valueLower) {\n case \"show-modal\":\n case \"request-close\":\n case \"close\":\n case \"toggle-popover\":\n case \"hide-popover\":\n case \"show-popover\":\n return valueLower;\n }\n return \"\";\n },\n set(value) {\n this.setAttribute(\"command\", value);\n },\n },\n });\n }\n\n const onHandlers = new WeakMap();\n Object.defineProperties(HTMLElement.prototype, {\n oncommand: {\n enumerable: true,\n configurable: true,\n get() {\n oncommandObserver.takeRecords();\n return onHandlers.get(this) || null;\n },\n set(handler) {\n const existing = onHandlers.get(this) || null;\n if (existing) {\n this.removeEventListener(\"command\", existing);\n }\n onHandlers.set(\n this,\n typeof handler === \"object\" || typeof handler === \"function\"\n ? handler\n : null,\n );\n if (typeof handler == \"function\") {\n this.addEventListener(\"command\", handler);\n }\n },\n },\n });\n function applyOnCommandHandler(els) {\n for (const el of els) {\n el.oncommand = new Function(\"event\", el.getAttribute(\"oncommand\"));\n }\n }\n const oncommandObserver = new MutationObserver((records) => {\n for (const record of records) {\n const { target } = record;\n if (record.type === \"childList\") {\n applyOnCommandHandler(target.querySelectorAll(\"[oncommand]\"));\n } else {\n applyOnCommandHandler([target]);\n }\n }\n });\n oncommandObserver.observe(document, {\n subtree: true,\n childList: true,\n attributeFilter: [\"oncommand\"],\n });\n applyOnCommandHandler(document.querySelectorAll(\"[oncommand]\"));\n\n const processedEvents = new WeakSet();\n\n function handleInvokerActivation(event) {\n if (processedEvents.has(event)) return;\n\n processedEvents.add(event);\n\n if (event.defaultPrevented) return;\n if (event.type !== \"click\") return;\n const source = event.composedPath().find((el) => el.matches?.(\"button[commandfor], button[command]\"));\n if (!source) return;\n\n if (source.form && source.getAttribute(\"type\") !== \"button\") {\n event.preventDefault();\n throw new Error(\n \"Element with `commandFor` is a form participant. \" +\n \"It should explicitly set `type=button` in order for `commandFor` to work. \" +\n \"In order for it to act as a Submit button, it must not have command or commandfor attributes\",\n );\n }\n\n if (source.hasAttribute(\"command\") !== source.hasAttribute(\"commandfor\")) {\n const attr = source.hasAttribute(\"command\") ? \"command\" : \"commandfor\";\n const missing = source.hasAttribute(\"command\") ? \"commandfor\" : \"command\";\n throw new Error(\n `Element with ${attr} attribute must also have a ${missing} attribute to function.`,\n );\n }\n\n if (\n source.command !== \"show-popover\" &&\n source.command !== \"hide-popover\" &&\n source.command !== \"toggle-popover\" &&\n source.command !== \"show-modal\" &&\n source.command !== \"request-close\" &&\n source.command !== \"close\" &&\n !source.command.startsWith(\"--\")\n ) {\n console.warn(\n `\"${source.command}\" is not a valid command value. Custom commands must begin with --`,\n );\n return;\n }\n\n const invokee = source.commandForElement;\n if (!invokee) return;\n const invokeEvent = new CommandEvent(\"command\", {\n command: source.command,\n source,\n cancelable: true,\n });\n invokee.dispatchEvent(invokeEvent);\n if (invokeEvent.defaultPrevented) return;\n\n const command = invokeEvent.command.toLowerCase();\n\n if (invokee.popover) {\n const canShow = !invokee.matches(\":popover-open\");\n const shouldShow =\n canShow && (command === \"toggle-popover\" || command === \"show-popover\");\n const shouldHide = !canShow && command === \"hide-popover\";\n\n if (shouldShow) {\n invokee.showPopover({ source });\n } else if (shouldHide) {\n invokee.hidePopover();\n }\n } else if (invokee.localName === \"dialog\") {\n const canShow = !invokee.hasAttribute(\"open\");\n\n if (canShow && command == \"show-modal\") {\n invokee.showModal();\n } else if (!canShow && command == \"close\") {\n invokee.close(source.value ? source.value : undefined);\n } else if (!canShow && command == \"request-close\") {\n // requestClose is only supported from Safari 18.4, so we polyfill it on older browsers\n if (!HTMLDialogElement.prototype.requestClose) {\n HTMLDialogElement.prototype.requestClose = function () {\n const cancelEvent = new Event(\"cancel\", { cancelable: true });\n this.dispatchEvent(cancelEvent);\n\n if (!cancelEvent.defaultPrevented) {\n this.close();\n }\n };\n }\n\n invokee.requestClose(source.value ? source.value : undefined);\n }\n }\n }\n\n function setupInvokeListeners(target) {\n target.addEventListener(\"click\", handleInvokerActivation, true);\n }\n\n function observeShadowRoots(ElementClass, callback) {\n const attachShadow = ElementClass.prototype.attachShadow;\n ElementClass.prototype.attachShadow = function (init) {\n const shadow = attachShadow.call(this, init);\n callback(shadow);\n return shadow;\n };\n const attachInternals = ElementClass.prototype.attachInternals;\n ElementClass.prototype.attachInternals = function () {\n const internals = attachInternals.call(this);\n if (internals.shadowRoot) callback(internals.shadowRoot);\n return internals;\n };\n }\n\n applyInvokerMixin(HTMLButtonElement);\n\n observeShadowRoots(HTMLElement, (shadow) => {\n setupInvokeListeners(shadow);\n oncommandObserver.observe(shadow, { attributeFilter: [\"oncommand\"] });\n applyOnCommandHandler(shadow.querySelectorAll(\"[oncommand]\"));\n });\n\n setupInvokeListeners(document);\n\n Object.assign(globalThis, { CommandEvent });\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invoker.js","names":[],"sources":["../../../../../../node_modules/.pnpm/invokers-polyfill@1.0.3/node_modules/invokers-polyfill/invoker.js"],"sourcesContent":["export function isSupported() {\n return (\n typeof HTMLButtonElement !== \"undefined\" &&\n \"command\" in HTMLButtonElement.prototype &&\n \"source\" in ((globalThis.CommandEvent || {}).prototype || {})\n );\n}\n\nexport function isPolyfilled() {\n return !/native code/i.test((globalThis.CommandEvent || {}).toString());\n}\n\nexport function apply() {\n // XXX: Invoker Buttons used to dispatch 'invoke' events instead of\n // 'command' events. We should ensure to prevent 'invoke' events being\n // fired in those browsers.\n // XXX: https://bugs.chromium.org/p/chromium/issues/detail?id=1523183\n // Chrome will dispatch invoke events even with the flag disabled; so\n // we need to capture those to prevent duplicate events.\n document.addEventListener(\n \"invoke\",\n (e) => {\n if (e.type == \"invoke\" && e.isTrusted) {\n e.stopImmediatePropagation();\n e.preventDefault();\n }\n },\n true,\n );\n document.addEventListener(\n \"command\",\n (e) => {\n if (e.type == \"command\" && e.isTrusted) {\n e.stopImmediatePropagation();\n e.preventDefault();\n }\n },\n true,\n );\n\n function enumerate(obj, key, enumerable = true) {\n Object.defineProperty(obj, key, {\n ...Object.getOwnPropertyDescriptor(obj, key),\n enumerable,\n });\n }\n\n function getRootNode(node) {\n if (node && typeof node.getRootNode === \"function\") {\n return node.getRootNode();\n }\n if (node && node.parentNode) return getRootNode(node.parentNode);\n return node;\n }\n\n const commandEventSourceElements = new WeakMap();\n const commandEventActions = new WeakMap();\n\n class CommandEvent extends Event {\n constructor(type, invokeEventInit = {}) {\n super(type, invokeEventInit);\n const { source, command } = invokeEventInit;\n if (source != null && !(source instanceof Element)) {\n throw new TypeError(`source must be an element`);\n }\n commandEventSourceElements.set(this, source || null);\n commandEventActions.set(\n this,\n command !== undefined ? String(command) : \"\",\n );\n }\n\n get [Symbol.toStringTag]() {\n return \"CommandEvent\";\n }\n\n get source() {\n if (!commandEventSourceElements.has(this)) {\n throw new TypeError(\"illegal invocation\");\n }\n const source = commandEventSourceElements.get(this);\n if (!(source instanceof Element)) return null;\n const invokerRoot = getRootNode(source);\n if (invokerRoot !== getRootNode(this.target || document)) {\n return invokerRoot.host;\n }\n return source;\n }\n\n get command() {\n if (!commandEventActions.has(this)) {\n throw new TypeError(\"illegal invocation\");\n }\n return commandEventActions.get(this);\n }\n }\n enumerate(CommandEvent.prototype, \"source\");\n enumerate(CommandEvent.prototype, \"command\");\n\n const invokerAssociatedElements = new WeakMap();\n\n function applyInvokerMixin(ElementClass) {\n Object.defineProperties(ElementClass.prototype, {\n commandForElement: {\n enumerable: true,\n configurable: true,\n set(targetElement) {\n if (targetElement === null) {\n this.removeAttribute(\"commandfor\");\n invokerAssociatedElements.delete(this);\n } else if (!(targetElement instanceof Element)) {\n throw new TypeError(`commandForElement must be an element or null`);\n } else {\n this.setAttribute(\"commandfor\", \"\");\n const targetRootNode = getRootNode(targetElement);\n const thisRootNode = getRootNode(this);\n if (\n thisRootNode === targetRootNode ||\n targetRootNode === this.ownerDocument\n ) {\n invokerAssociatedElements.set(this, targetElement);\n } else {\n invokerAssociatedElements.delete(this);\n }\n }\n },\n get() {\n if (this.localName !== \"button\") {\n return null;\n }\n if (this.disabled) {\n return null;\n }\n if (this.form && this.getAttribute(\"type\") !== \"button\") {\n console.warn(\n \"Element with `commandFor` is a form participant. \" +\n \"It should explicitly set `type=button` in order for `commandFor` to work\",\n );\n return null;\n }\n const targetElement = invokerAssociatedElements.get(this);\n if (targetElement) {\n if (targetElement.isConnected) {\n return targetElement;\n } else {\n invokerAssociatedElements.delete(this);\n return null;\n }\n }\n const root = getRootNode(this);\n const idref = this.getAttribute(\"commandfor\");\n if (\n (root instanceof Document || root instanceof ShadowRoot) &&\n idref\n ) {\n return root.getElementById(idref) || null;\n }\n return null;\n },\n },\n command: {\n enumerable: true,\n configurable: true,\n get() {\n const value = this.getAttribute(\"command\") || \"\";\n if (value.startsWith(\"--\")) return value;\n const valueLower = value.toLowerCase();\n switch (valueLower) {\n case \"show-modal\":\n case \"request-close\":\n case \"close\":\n case \"toggle-popover\":\n case \"hide-popover\":\n case \"show-popover\":\n return valueLower;\n }\n return \"\";\n },\n set(value) {\n this.setAttribute(\"command\", value);\n },\n },\n });\n }\n\n const onHandlers = new WeakMap();\n Object.defineProperties(HTMLElement.prototype, {\n oncommand: {\n enumerable: true,\n configurable: true,\n get() {\n oncommandObserver.takeRecords();\n return onHandlers.get(this) || null;\n },\n set(handler) {\n const existing = onHandlers.get(this) || null;\n if (existing) {\n this.removeEventListener(\"command\", existing);\n }\n onHandlers.set(\n this,\n typeof handler === \"object\" || typeof handler === \"function\"\n ? handler\n : null,\n );\n if (typeof handler == \"function\") {\n this.addEventListener(\"command\", handler);\n }\n },\n },\n });\n function applyOnCommandHandler(els) {\n for (const el of els) {\n el.oncommand = new Function(\"event\", el.getAttribute(\"oncommand\"));\n }\n }\n const oncommandObserver = new MutationObserver((records) => {\n for (const record of records) {\n const { target } = record;\n if (record.type === \"childList\") {\n applyOnCommandHandler(target.querySelectorAll(\"[oncommand]\"));\n } else {\n applyOnCommandHandler([target]);\n }\n }\n });\n oncommandObserver.observe(document, {\n subtree: true,\n childList: true,\n attributeFilter: [\"oncommand\"],\n });\n applyOnCommandHandler(document.querySelectorAll(\"[oncommand]\"));\n\n const processedEvents = new WeakSet();\n\n function handleInvokerActivation(event) {\n if (processedEvents.has(event)) return;\n\n processedEvents.add(event);\n\n if (event.defaultPrevented) return;\n if (event.type !== \"click\") return;\n const source = event.composedPath().find((el) => el.matches?.(\"button[commandfor], button[command]\"));\n if (!source) return;\n\n if (source.form && source.getAttribute(\"type\") !== \"button\") {\n event.preventDefault();\n throw new Error(\n \"Element with `commandFor` is a form participant. \" +\n \"It should explicitly set `type=button` in order for `commandFor` to work. \" +\n \"In order for it to act as a Submit button, it must not have command or commandfor attributes\",\n );\n }\n\n if (source.hasAttribute(\"command\") !== source.hasAttribute(\"commandfor\")) {\n const attr = source.hasAttribute(\"command\") ? \"command\" : \"commandfor\";\n const missing = source.hasAttribute(\"command\") ? \"commandfor\" : \"command\";\n throw new Error(\n `Element with ${attr} attribute must also have a ${missing} attribute to function.`,\n );\n }\n\n if (\n source.command !== \"show-popover\" &&\n source.command !== \"hide-popover\" &&\n source.command !== \"toggle-popover\" &&\n source.command !== \"show-modal\" &&\n source.command !== \"request-close\" &&\n source.command !== \"close\" &&\n !source.command.startsWith(\"--\")\n ) {\n console.warn(\n `\"${source.command}\" is not a valid command value. Custom commands must begin with --`,\n );\n return;\n }\n\n const invokee = source.commandForElement;\n if (!invokee) return;\n const invokeEvent = new CommandEvent(\"command\", {\n command: source.command,\n source,\n cancelable: true,\n });\n invokee.dispatchEvent(invokeEvent);\n if (invokeEvent.defaultPrevented) return;\n\n const command = invokeEvent.command.toLowerCase();\n\n if (invokee.popover) {\n const canShow = !invokee.matches(\":popover-open\");\n const shouldShow =\n canShow && (command === \"toggle-popover\" || command === \"show-popover\");\n const shouldHide = !canShow && command === \"hide-popover\";\n\n if (shouldShow) {\n invokee.showPopover({ source });\n } else if (shouldHide) {\n invokee.hidePopover();\n }\n } else if (invokee.localName === \"dialog\") {\n const canShow = !invokee.hasAttribute(\"open\");\n\n if (canShow && command == \"show-modal\") {\n invokee.showModal();\n } else if (!canShow && command == \"close\") {\n invokee.close(source.value ? source.value : undefined);\n } else if (!canShow && command == \"request-close\") {\n // requestClose is only supported from Safari 18.4, so we polyfill it on older browsers\n if (!HTMLDialogElement.prototype.requestClose) {\n HTMLDialogElement.prototype.requestClose = function () {\n const cancelEvent = new Event(\"cancel\", { cancelable: true });\n this.dispatchEvent(cancelEvent);\n\n if (!cancelEvent.defaultPrevented) {\n this.close();\n }\n };\n }\n\n invokee.requestClose(source.value ? source.value : undefined);\n }\n }\n }\n\n function setupInvokeListeners(target) {\n target.addEventListener(\"click\", handleInvokerActivation, true);\n }\n\n function observeShadowRoots(ElementClass, callback) {\n const attachShadow = ElementClass.prototype.attachShadow;\n ElementClass.prototype.attachShadow = function (init) {\n const shadow = attachShadow.call(this, init);\n callback(shadow);\n return shadow;\n };\n const attachInternals = ElementClass.prototype.attachInternals;\n ElementClass.prototype.attachInternals = function () {\n const internals = attachInternals.call(this);\n if (internals.shadowRoot) callback(internals.shadowRoot);\n return internals;\n };\n }\n\n applyInvokerMixin(HTMLButtonElement);\n\n observeShadowRoots(HTMLElement, (shadow) => {\n setupInvokeListeners(shadow);\n oncommandObserver.observe(shadow, { attributeFilter: [\"oncommand\"] });\n applyOnCommandHandler(shadow.querySelectorAll(\"[oncommand]\"));\n });\n\n setupInvokeListeners(document);\n\n Object.assign(globalThis, { CommandEvent });\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{QUICK_EVENT as e,attr as t,customElements as n,off as r,on as i,onMutation as a,useId as o}from"../utils/utils.js";import{UHTMLComboboxElement as s}from"@u-elements/u-combobox";var c=class extends s{
|
|
1
|
+
import{QUICK_EVENT as e,attr as t,customElements as n,off as r,on as i,onMutation as a,useId as o}from"../utils/utils.js";import{UHTMLComboboxElement as s}from"@u-elements/u-combobox";var c=class extends s{_unmutate;connectedCallback(){super.connectedCallback(),this._unmutate=a(this,l,{childList:!0}),i(this,`toggle`,u,e)}disconnectedCallback(){super.disconnectedCallback(),this._unmutate?.(),this._unmutate=void 0,r(this,`toggle`,u,e)}};const l=({control:e,list:n})=>{e&&!e.placeholder&&t(e,`placeholder`,` `),e&&t(e,`popovertarget`,o(n)||null),n&&t(n,`popover`,`manual`),n&&t(n,`data-is-floating`,`true`)},u=e=>{let t=e.currentTarget,n=e.newState===`open`&&t.control;n&&t.list?.dispatchEvent(new CustomEvent(`ds-toggle-source`,{detail:n}))};n.define(`ds-suggestion`,c);export{c as DSSuggestionElement};
|
|
2
2
|
//# sourceMappingURL=suggestion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestion.js","names":[],"sources":["../../../src/suggestion/suggestion.ts"],"sourcesContent":["import { UHTMLComboboxElement } from '@u-elements/u-combobox';\nimport {\n attr,\n customElements,\n off,\n on,\n onMutation,\n QUICK_EVENT,\n useId,\n} from '../utils/utils';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ds-suggestion': DSSuggestionElement;\n }\n}\n\nexport class DSSuggestionElement extends UHTMLComboboxElement {\n
|
|
1
|
+
{"version":3,"file":"suggestion.js","names":[],"sources":["../../../src/suggestion/suggestion.ts"],"sourcesContent":["import { UHTMLComboboxElement } from '@u-elements/u-combobox';\nimport {\n attr,\n customElements,\n off,\n on,\n onMutation,\n QUICK_EVENT,\n useId,\n} from '../utils/utils';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ds-suggestion': DSSuggestionElement;\n }\n}\n\nexport class DSSuggestionElement extends UHTMLComboboxElement {\n _unmutate?: ReturnType<typeof onMutation>; // Using underscore instead of private fields for backwards compatibility\n\n connectedCallback() {\n super.connectedCallback();\n this._unmutate = onMutation(this, render, { childList: true }); // .control and .list are direct children of the custom element\n on(this, 'toggle', polyfillToggleSource, QUICK_EVENT);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this._unmutate?.();\n this._unmutate = undefined;\n off(this, 'toggle', polyfillToggleSource, QUICK_EVENT);\n }\n}\n\n// A non-empty placeholder attribute is required to activate the :placeholder-shown pseudo selector used in our chevron styling\nconst render = ({ control, list }: DSSuggestionElement) => {\n if (control && !control.placeholder) attr(control, 'placeholder', ' '); // .control comes from UHTMLComboboxElement\n if (control) attr(control, 'popovertarget', useId(list) || null);\n if (list) attr(list, 'popover', 'manual'); // Ensure popover attribute is set on the list\n if (list) attr(list, 'data-is-floating', 'true'); // identifier for css to toggle opacity when it is placed by floating-ui.\n};\n\n// Since showPopover({ source }) is not supported in all browsers yet:\nconst polyfillToggleSource = (event: Partial<ToggleEvent>) => {\n const self = event.currentTarget as DSSuggestionElement;\n const detail = event.newState === 'open' && self.control; // .control comes from UHTMLComboboxElement\n\n if (detail)\n self.list?.dispatchEvent(new CustomEvent('ds-toggle-source', { detail }));\n};\n\ncustomElements.define('ds-suggestion', DSSuggestionElement);\n"],"mappings":"wLAiBA,IAAa,EAAb,cAAyC,CAAqB,CAC5D,UAEA,mBAAoB,CAClB,MAAM,mBAAmB,CACzB,KAAK,UAAY,EAAW,KAAM,EAAQ,CAAE,UAAW,GAAM,CAAC,CAC9D,EAAG,KAAM,SAAU,EAAsB,EAAY,CAEvD,sBAAuB,CACrB,MAAM,sBAAsB,CAC5B,KAAK,aAAa,CAClB,KAAK,UAAY,IAAA,GACjB,EAAI,KAAM,SAAU,EAAsB,EAAY,GAK1D,MAAM,GAAU,CAAE,UAAS,UAAgC,CACrD,GAAW,CAAC,EAAQ,aAAa,EAAK,EAAS,cAAe,IAAI,CAClE,GAAS,EAAK,EAAS,gBAAiB,EAAM,EAAK,EAAI,KAAK,CAC5D,GAAM,EAAK,EAAM,UAAW,SAAS,CACrC,GAAM,EAAK,EAAM,mBAAoB,OAAO,EAI5C,EAAwB,GAAgC,CAC5D,IAAM,EAAO,EAAM,cACb,EAAS,EAAM,WAAa,QAAU,EAAK,QAE7C,GACF,EAAK,MAAM,cAAc,IAAI,YAAY,mBAAoB,CAAE,SAAQ,CAAC,CAAC,EAG7E,EAAe,OAAO,gBAAiB,EAAoB"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/popover/popover.ts","../src/tooltip/tooltip.ts","../src/utils/utils.ts","../src/breadcrumbs/breadcrumbs.ts","../src/error-summary/error-summary.ts","../src/field/field.ts","../src/pagination/pagination.ts","../src/suggestion/suggestion.ts","../src/tabs/tabs.ts"],"mappings":";;;;;QAYQ,MAAA;EAAA,UACI,2BAAA;IACR,kBAAA,EAAoB,WAAA,CAAY,OAAA;EAAA;AAAA;;;;;;;;cCsBvB,iBAAA,GAAqB,EAAA,GAAK,WAAA;;;cCxB1B,SAAA;EAAA,QAGI,WAAA;aAAA,WAAA;AAAA;;;;;QAkBT,MAAA;EAAA,UACI,MAAA;IACR,UAAA;EAAA;AAAA;AAAA,QAqFI,MAAA;EAAA,UACI,MAAA;IACR,mBAAA,GAAsB,GAAA,SAAY,KAAA;EAAA;AAAA;;;;;;;;;;;cAsBzB,UAAA,aAAwB,IAAA,EACnC,EAAA,EAAI,CAAA,EACJ,QAAA,GAAW,EAAA,EAAI,CAAA,EAAG,OAAA,GAAU,cAAA,aAC5B,OAAA,EAAS,oBAAA;;;;;QA8CH,MAAA;EAAA,UACI,MAAA;IACR,OAAA;EAAA;AAAA;;;QCzLI,MAAA;EAAA,UACI,qBAAA;IACR,gBAAA,EAAkB,oBAAA;EAAA;AAAA;AAAA,cAMT,oBAAA,SAA6B,SAAA;EACxC,MAAA,GAAS,gBAAA,CAAiB,iBAAA;EAC1B,MAAA;EACA,SAAA;EACA,SAAA;EAAA,WAEW,kBAAA,CAAA;EAGX,iBAAA,CAAA;EAUA,wBAAA,CAAyB,KAAA,UAAe,KAAA,WAAgB,IAAA;EAKxD,oBAAA,CAAA;AAAA;;;QC/BM,MAAA;EAAA,UACI,qBAAA;IACR,kBAAA,EAAoB,qBAAA;EAAA;AAAA;AAAA,cAIX,qBAAA,SAA8B,SAAA;EACzC,SAAA;EAEA,iBAAA,CAAA;EASA,WAAA,CAAA;IAAc;EAAA,GAAU,KAAA;EAGxB,oBAAA,CAAA;AAAA;;;QCfM,MAAA;EAAA,UACI,qBAAA;IACR,UAAA,EAAY,cAAA;EAAA;AAAA;AAAA,cAsIH,cAAA,SAAuB,SAAA;EAClC,iBAAA,CAAA;EAIA,oBAAA,CAAA;AAAA;;;QCrJM,MAAA;EAAA,UACI,qBAAA;IACR,eAAA,EAAiB,mBAAA;EAAA;AAAA;AAAA,cAUR,UAAA;EAAc,OAAA;EAAA,KAAA;EAAA;AAAA;;;;;;;;;;;;;cAUd,mBAAA,SAA4B,SAAA;EACvC,SAAA;EACA,OAAA;EAAA,WAEW,kBAAA,CAAA;EAGX,iBAAA,CAAA;EAcA,wBAAA,CAAA;EAGA,oBAAA,CAAA;AAAA;;;QC5CM,MAAA;EAAA,UACI,qBAAA;IACR,eAAA,EAAiB,mBAAA;EAAA;AAAA;AAAA,cAIR,mBAAA,SAA4B,oBAAA;EACvC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/popover/popover.ts","../src/tooltip/tooltip.ts","../src/utils/utils.ts","../src/breadcrumbs/breadcrumbs.ts","../src/error-summary/error-summary.ts","../src/field/field.ts","../src/pagination/pagination.ts","../src/suggestion/suggestion.ts","../src/tabs/tabs.ts"],"mappings":";;;;;QAYQ,MAAA;EAAA,UACI,2BAAA;IACR,kBAAA,EAAoB,WAAA,CAAY,OAAA;EAAA;AAAA;;;;;;;;cCsBvB,iBAAA,GAAqB,EAAA,GAAK,WAAA;;;cCxB1B,SAAA;EAAA,QAGI,WAAA;aAAA,WAAA;AAAA;;;;;QAkBT,MAAA;EAAA,UACI,MAAA;IACR,UAAA;EAAA;AAAA;AAAA,QAqFI,MAAA;EAAA,UACI,MAAA;IACR,mBAAA,GAAsB,GAAA,SAAY,KAAA;EAAA;AAAA;;;;;;;;;;;cAsBzB,UAAA,aAAwB,IAAA,EACnC,EAAA,EAAI,CAAA,EACJ,QAAA,GAAW,EAAA,EAAI,CAAA,EAAG,OAAA,GAAU,cAAA,aAC5B,OAAA,EAAS,oBAAA;;;;;QA8CH,MAAA;EAAA,UACI,MAAA;IACR,OAAA;EAAA;AAAA;;;QCzLI,MAAA;EAAA,UACI,qBAAA;IACR,gBAAA,EAAkB,oBAAA;EAAA;AAAA;AAAA,cAMT,oBAAA,SAA6B,SAAA;EACxC,MAAA,GAAS,gBAAA,CAAiB,iBAAA;EAC1B,MAAA;EACA,SAAA;EACA,SAAA;EAAA,WAEW,kBAAA,CAAA;EAGX,iBAAA,CAAA;EAUA,wBAAA,CAAyB,KAAA,UAAe,KAAA,WAAgB,IAAA;EAKxD,oBAAA,CAAA;AAAA;;;QC/BM,MAAA;EAAA,UACI,qBAAA;IACR,kBAAA,EAAoB,qBAAA;EAAA;AAAA;AAAA,cAIX,qBAAA,SAA8B,SAAA;EACzC,SAAA;EAEA,iBAAA,CAAA;EASA,WAAA,CAAA;IAAc;EAAA,GAAU,KAAA;EAGxB,oBAAA,CAAA;AAAA;;;QCfM,MAAA;EAAA,UACI,qBAAA;IACR,UAAA,EAAY,cAAA;EAAA;AAAA;AAAA,cAsIH,cAAA,SAAuB,SAAA;EAClC,iBAAA,CAAA;EAIA,oBAAA,CAAA;AAAA;;;QCrJM,MAAA;EAAA,UACI,qBAAA;IACR,eAAA,EAAiB,mBAAA;EAAA;AAAA;AAAA,cAUR,UAAA;EAAc,OAAA;EAAA,KAAA;EAAA;AAAA;;;;;;;;;;;;;cAUd,mBAAA,SAA4B,SAAA;EACvC,SAAA;EACA,OAAA;EAAA,WAEW,kBAAA,CAAA;EAGX,iBAAA,CAAA;EAcA,wBAAA,CAAA;EAGA,oBAAA,CAAA;AAAA;;;QC5CM,MAAA;EAAA,UACI,qBAAA;IACR,eAAA,EAAiB,mBAAA;EAAA;AAAA;AAAA,cAIR,mBAAA,SAA4B,oBAAA;EACvC,SAAA,GAAY,UAAA,QAAkB,UAAA;EAE9B,iBAAA,CAAA;EAKA,oBAAA,CAAA;AAAA;;;QCtBM,MAAA;EAAA,UACI,qBAAA;IACR,SAAA,EAAW,aAAA;IACX,YAAA,EAAc,gBAAA;IACd,QAAA,EAAU,YAAA;IACV,aAAA,EAAe,iBAAA;EAAA;AAAA;AAAA,cAIN,aAAA,SAAsB,KAAA,CAAM,gBAAA;AAAA,cAC5B,gBAAA,SAAyB,KAAA,CAAM,mBAAA;AAAA,cAC/B,YAAA,SAAqB,KAAA,CAAM,eAAA;AAAA,cAC3B,iBAAA,SAA0B,KAAA,CAAM,oBAAA"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { autoUpdate, computePosition, flip, limitShift, offset, shift, size } fr
|
|
|
3
3
|
import { UHTMLComboboxElement } from "@u-elements/u-combobox";
|
|
4
4
|
import * as UTabs from "@u-elements/u-tabs";
|
|
5
5
|
export * from "@u-elements/u-datalist";
|
|
6
|
-
//#region ../../node_modules/.pnpm/invokers-polyfill@1.0.
|
|
6
|
+
//#region ../../node_modules/.pnpm/invokers-polyfill@1.0.3/node_modules/invokers-polyfill/invoker.js
|
|
7
7
|
function isSupported() {
|
|
8
8
|
return typeof HTMLButtonElement !== "undefined" && "command" in HTMLButtonElement.prototype && "source" in ((globalThis.CommandEvent || {}).prototype || {});
|
|
9
9
|
}
|
|
@@ -941,7 +941,6 @@ customElements.define("ds-pagination", DSPaginationElement);
|
|
|
941
941
|
//#endregion
|
|
942
942
|
//#region src/suggestion/suggestion.ts
|
|
943
943
|
var DSSuggestionElement = class extends UHTMLComboboxElement {
|
|
944
|
-
_render;
|
|
945
944
|
_unmutate;
|
|
946
945
|
connectedCallback() {
|
|
947
946
|
super.connectedCallback();
|
|
@@ -951,7 +950,7 @@ var DSSuggestionElement = class extends UHTMLComboboxElement {
|
|
|
951
950
|
disconnectedCallback() {
|
|
952
951
|
super.disconnectedCallback();
|
|
953
952
|
this._unmutate?.();
|
|
954
|
-
this._unmutate =
|
|
953
|
+
this._unmutate = void 0;
|
|
955
954
|
off(this, "toggle", polyfillToggleSource, QUICK_EVENT);
|
|
956
955
|
}
|
|
957
956
|
};
|
|
@@ -959,6 +958,7 @@ const render = ({ control, list }) => {
|
|
|
959
958
|
if (control && !control.placeholder) attr(control, "placeholder", " ");
|
|
960
959
|
if (control) attr(control, "popovertarget", useId(list) || null);
|
|
961
960
|
if (list) attr(list, "popover", "manual");
|
|
961
|
+
if (list) attr(list, "data-is-floating", "true");
|
|
962
962
|
};
|
|
963
963
|
const polyfillToggleSource = (event) => {
|
|
964
964
|
const self = event.currentTarget;
|