@carbon/web-components 2.4.0-rc.0 → 2.4.0-rc.2
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/custom-elements.json +108 -0
- package/dist/16-44367639.js +4 -1
- package/dist/16-880e779e.js +4 -1
- package/dist/16-8ab58ede.js +4 -1
- package/dist/16-945f9ad8.js +4 -1
- package/dist/16-9bdb8b2e.js +4 -1
- package/dist/16-afc2ad08.js +4 -1
- package/dist/16-f2933a25.js +60 -0
- package/dist/16-f2df91a2.js +4 -1
- package/dist/20-c1834a3b.js +4 -1
- package/dist/accordion.min.js +5 -2
- package/dist/ai-skeleton.min.js +5 -2
- package/dist/breadcrumb.min.js +5 -2
- package/dist/{button-dade8f28.js → button-ad33c11e.js} +5 -2
- package/dist/{button-set-5f5affa0.js → button-set-0868cd7d.js} +5 -2
- package/dist/{button-skeleton-7325ea56.js → button-skeleton-5d59f37f.js} +6 -3
- package/dist/button.min.js +5 -2
- package/dist/carbon-element-4ca9803f.js +4 -1
- package/dist/chat-button.min.js +5 -2
- package/dist/{checkbox-a610152a.js → checkbox-3f270cb6.js} +5 -2
- package/dist/checkbox.min.js +10 -7
- package/dist/class-map-b1739c02.js +4 -1
- package/dist/code-snippet.min.js +5 -2
- package/dist/collection-helpers-4e32fe16.js +4 -1
- package/dist/combo-box.min.js +5 -2
- package/dist/{content-switcher-item-9714594a.js → content-switcher-item-ef4c3ffc.js} +5 -2
- package/dist/content-switcher.min.js +5 -2
- package/dist/{copy-button-1310f02a.js → copy-button-22693367.js} +5 -2
- package/dist/copy-button.min.js +5 -2
- package/dist/custom-element-975be15f.js +4 -1
- package/dist/data-table.min.js +6 -3
- package/dist/date-picker.min.js +5 -2
- package/dist/{objectSpread2-0b7e8561.js → defineProperty-d784d12c.js} +5 -2
- package/dist/directive-e2d48b9c.js +4 -1
- package/dist/{dropdown-item-cc7cc1dc.js → dropdown-item-5213e869.js} +5 -2
- package/dist/dropdown.min.js +5 -2
- package/dist/file-uploader.min.js +5 -2
- package/dist/{floating-menu-6ec5c7fa.js → floating-menu-413f6e95.js} +5 -2
- package/dist/floating-menu.min.js +5 -2
- package/dist/focus-92d82b5f.js +4 -1
- package/dist/form-group.min.js +4 -1
- package/dist/form.min.js +4 -1
- package/dist/get-d229c408.js +4 -1
- package/dist/{host-listener-a948931e.js → host-listener-0024708a.js} +6 -3
- package/dist/{icon-button-7b2540b4.js → icon-button-7a997866.js} +9 -5
- package/dist/icon-button.min.js +5 -2
- package/dist/if-defined-b99f5484.js +4 -1
- package/dist/if-non-empty-d69cc3f0.js +4 -1
- package/dist/inline-loading.min.js +4 -1
- package/dist/layer-62995057.js +4 -1
- package/dist/layer.min.js +4 -1
- package/dist/{link-d5d53be2.js → link-6fcc6a0e.js} +5 -2
- package/dist/link.min.js +5 -2
- package/dist/list.min.js +4 -1
- package/dist/loading-0dcb7680.js +4 -1
- package/dist/loading-icon-2ac6de26.js +4 -1
- package/dist/loading.min.js +4 -1
- package/dist/modal.min.js +6 -3
- package/dist/multi-select.min.js +5 -2
- package/dist/notification.min.js +7 -4
- package/dist/number-input.min.js +5 -2
- package/dist/{16-2aa048a9.js → objectSpread2-58bc1706.js} +5 -2
- package/dist/on-6c264d49.js +4 -1
- package/dist/overflow-menu.min.js +5 -2
- package/dist/pagination.min.js +5 -2
- package/dist/popover-content-2df97cf7.js +75 -0
- package/dist/popover-controller-e5f73836.js +60 -0
- package/dist/popover.min.js +5 -2
- package/dist/progress-bar.min.js +4 -1
- package/dist/progress-indicator.min.js +5 -2
- package/dist/query-6ca5e414.js +4 -1
- package/dist/query-assigned-elements-8e88277c.js +4 -1
- package/dist/radio-button.min.js +5 -2
- package/dist/{radio-group-manager-3cfdd620.js → radio-group-manager-9810bd7d.js} +5 -2
- package/dist/{search-4c0e8630.js → search-b8b073b6.js} +5 -2
- package/dist/search.min.js +5 -2
- package/dist/select-item-db3c6fa0.js +4 -1
- package/dist/select.min.js +5 -2
- package/dist/settings-387c0fa4.js +4 -1
- package/dist/shared-enums-c6fe8c39.js +4 -1
- package/dist/side-panel.min.js +13 -10
- package/dist/skeleton-icon-451d3c47.js +4 -1
- package/dist/skeleton-icon.min.js +4 -1
- package/dist/{skeleton-placeholder-e6490dbd.js → skeleton-placeholder-5aa06271.js} +5 -2
- package/dist/skeleton-placeholder.min.js +5 -2
- package/dist/{skeleton-text-eeac3c87.js → skeleton-text-283abe50.js} +5 -2
- package/dist/skeleton-text.min.js +5 -2
- package/dist/skip-to-content.min.js +5 -2
- package/dist/slider.min.js +5 -2
- package/dist/slug.min.js +11 -7
- package/dist/spread-6af5f657.js +4 -1
- package/dist/stack.min.js +4 -1
- package/dist/state-63312e74.js +4 -1
- package/dist/structured-list.min.js +5 -2
- package/dist/tabs.min.js +7 -4
- package/dist/tag.min.js +5 -2
- package/dist/{text-input-8d011ae2.js → text-input-d40fbf4d.js} +5 -2
- package/dist/text-input.min.js +6 -3
- package/dist/textarea.min.js +9 -6
- package/dist/tile.min.js +5 -2
- package/dist/toggle-tip.min.js +5 -2
- package/dist/toggle.min.js +5 -2
- package/dist/toggletip-2d777826.js +114 -0
- package/dist/{tooltip-content-fbce4fed.js → tooltip-content-2ef20c6a.js} +5 -2
- package/dist/tooltip.min.js +5 -2
- package/dist/ui-shell.min.js +5 -2
- package/dist/validity-d86ffa4f.js +4 -1
- package/es/components/data-table/data-table.css.js +1 -1
- package/es/components/icon-button/icon-button.css.js +1 -1
- package/es/components/icon-button/icon-button.d.ts +5 -1
- package/es/components/icon-button/icon-button.js +18 -2
- package/es/components/icon-button/icon-button.js.map +1 -1
- package/es/components/popover/defs.d.ts +50 -2
- package/es/components/popover/defs.js +9 -2
- package/es/components/popover/defs.js.map +1 -1
- package/es/components/popover/popover-content.d.ts +5 -1
- package/es/components/popover/popover-content.js +32 -9
- package/es/components/popover/popover-content.js.map +1 -1
- package/es/components/popover/popover.css.js +1 -1
- package/es/components/popover/popover.d.ts +27 -1
- package/es/components/popover/popover.js +93 -4
- package/es/components/popover/popover.js.map +1 -1
- package/es/components/slug/slug.css.js +1 -1
- package/es/components/slug/slug.d.ts +1 -1
- package/es/components/slug/slug.js +5 -3
- package/es/components/slug/slug.js.map +1 -1
- package/es/components/tabs/tabs.css.js +1 -1
- package/es/components/toggle-tip/toggletip.css.js +1 -1
- package/es/components/toggle-tip/toggletip.d.ts +24 -0
- package/es/components/toggle-tip/toggletip.js +115 -17
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/tooltip/tooltip.css.js +1 -1
- package/es/components/tooltip/tooltip.d.ts +5 -1
- package/es/components/tooltip/tooltip.js +17 -2
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/globals/controllers/popover-controller.d.ts +47 -0
- package/es/globals/controllers/popover-controller.js +142 -0
- package/es/globals/controllers/popover-controller.js.map +1 -0
- package/lib/components/popover/defs.js +9 -1
- package/lib/components/popover/defs.js.map +1 -1
- package/lib/globals/controllers/popover-controller.js +150 -0
- package/lib/globals/controllers/popover-controller.js.map +1 -0
- package/package.json +3 -2
- package/scss/components/data-table/_table-core.scss +0 -1
- package/scss/components/popover/popover.scss +83 -64
- package/scss/components/slug/slug.scss +171 -28
- package/scss/components/tabs/tabs.scss +1 -1
- package/scss/components/toggle-tip/toggletip.scss +13 -1
- package/dist/popover-content-e0c3132f.js +0 -68
- package/dist/toggletip-b2d3b8bf.js +0 -99
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
*
|
|
4
|
-
* Copyright IBM Corp. 2019,
|
|
4
|
+
* Copyright IBM Corp. 2019, 2024
|
|
5
5
|
*
|
|
6
6
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -354,6 +354,10 @@ declare class CDSTooltip extends CDSTooltip_base {
|
|
|
354
354
|
* Specify how the trigger should align with the tooltip
|
|
355
355
|
*/
|
|
356
356
|
align: string;
|
|
357
|
+
/**
|
|
358
|
+
* Specify whether a auto align functionality should be applied
|
|
359
|
+
*/
|
|
360
|
+
autoalign: boolean;
|
|
357
361
|
/**
|
|
358
362
|
* `true` if this tooltip is in a data table row
|
|
359
363
|
*/
|
|
@@ -6,7 +6,7 @@ let _ = t => t,
|
|
|
6
6
|
/**
|
|
7
7
|
* @license
|
|
8
8
|
*
|
|
9
|
-
* Copyright IBM Corp. 2019,
|
|
9
|
+
* Copyright IBM Corp. 2019, 2024
|
|
10
10
|
*
|
|
11
11
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
12
12
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -46,6 +46,16 @@ let CDSTooltip = _decorate([customElement(`${prefix}-tooltip`)], function (_init
|
|
|
46
46
|
value() {
|
|
47
47
|
return 'top';
|
|
48
48
|
}
|
|
49
|
+
}, {
|
|
50
|
+
kind: "field",
|
|
51
|
+
decorators: [property({
|
|
52
|
+
type: Boolean,
|
|
53
|
+
reflect: true
|
|
54
|
+
})],
|
|
55
|
+
key: "autoalign",
|
|
56
|
+
value() {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
49
59
|
}, {
|
|
50
60
|
kind: "field",
|
|
51
61
|
decorators: [property({
|
|
@@ -195,6 +205,10 @@ let CDSTooltip = _decorate([customElement(`${prefix}-tooltip`)], function (_init
|
|
|
195
205
|
* Specify how the trigger should align with the tooltip
|
|
196
206
|
*/
|
|
197
207
|
|
|
208
|
+
/**
|
|
209
|
+
* Specify whether a auto align functionality should be applied
|
|
210
|
+
*/
|
|
211
|
+
|
|
198
212
|
/**
|
|
199
213
|
* `true` if this tooltip is in a data table row
|
|
200
214
|
*/
|
|
@@ -288,7 +302,7 @@ let CDSTooltip = _decorate([customElement(`${prefix}-tooltip`)], function (_init
|
|
|
288
302
|
if (changedProperties.has('open')) {
|
|
289
303
|
this.open ? toolTipContent === null || toolTipContent === void 0 ? void 0 : toolTipContent.setAttribute('open', '') : toolTipContent === null || toolTipContent === void 0 ? void 0 : toolTipContent.removeAttribute('open');
|
|
290
304
|
}
|
|
291
|
-
['align', 'caret'].forEach(name => {
|
|
305
|
+
['align', 'caret', 'autoalign'].forEach(name => {
|
|
292
306
|
if (changedProperties.has(name)) {
|
|
293
307
|
const {
|
|
294
308
|
[name]: value
|
|
@@ -297,6 +311,7 @@ let CDSTooltip = _decorate([customElement(`${prefix}-tooltip`)], function (_init
|
|
|
297
311
|
}
|
|
298
312
|
});
|
|
299
313
|
(_this$shadowRoot = this.shadowRoot) === null || _this$shadowRoot === void 0 || (_this$shadowRoot = _this$shadowRoot.querySelector(`.${prefix}--popover-container`)) === null || _this$shadowRoot === void 0 || _this$shadowRoot.classList.add(`${prefix}--tooltip`);
|
|
314
|
+
_get(_getPrototypeOf(CDSTooltip.prototype), "updated", this).call(this, changedProperties);
|
|
300
315
|
}
|
|
301
316
|
|
|
302
317
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","names":["css","property","prefix","HostListener","HostListenerMixin","CDSPopover","styles","carbonElement","customElement","CDSTooltip","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","decorators","reflect","type","String","key","value","Boolean","attribute","Number","window","clearTimeout","timeoutId","setTimeout","open","updateComplete","_this$querySelector","selectorTooltipContent","querySelector","focus","enterDelayMs","leaveDelayMs","closeOnActivation","_handleHoverOut","event","_handleSlotChange","target","component","assignedNodes","filter","node","nodeType","Node","TEXT_NODE","textContent","trim","addEventListener","_handleHover","requestUpdate","connectedCallback","hasAttribute","setAttribute","shadowRoot","attachShadow","mode","_get","_getPrototypeOf","prototype","call","updated","changedProperties","_this$shadowRoot","toolTipContent","has","defaultOpen","removeAttribute","forEach","name","classList","add","static","_t","_"],"sources":["components/tooltip/tooltip.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSPopover from '../popover/popover';\nimport '../popover/popover-content';\nimport styles from './tooltip.scss';\nimport CDSTooltipContent from './tooltip-content';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Trigger button of tooltip.\n *\n * @element cds-tooltip\n */\n@customElement(`${prefix}-tooltip`)\nclass CDSTooltip extends HostListenerMixin(CDSPopover) {\n /**\n * Specify how the trigger should align with the tooltip\n */\n @property({ reflect: true, type: String })\n align = 'top';\n\n /**\n * `true` if this tooltip is in a data table row\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the tooltip should be closed when clicked\n */\n @property({ reflect: true, type: Boolean })\n closeOnActivation = false;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, type: Boolean })\n defaultOpen = false;\n\n /**\n * Specify the duration in milliseconds to delay before displaying the tooltip\n */\n @property({ attribute: 'enter-delay-ms', type: Number })\n enterDelayMs = 100;\n\n /**\n * Specify the duration in milliseconds to delay before hiding the tooltip\n */\n @property({ attribute: 'leave-delay-ms', type: Number })\n leaveDelayMs = 300;\n\n /**\n * Specify the size of the tooltip\n */\n @property({ reflect: true })\n size = false;\n\n /**\n * Specify the timeout reference for the tooltip\n */\n @property({ reflect: true })\n timeoutId = 0;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, attribute: 'toolbar-action', type: Boolean })\n toolbarAction = false;\n\n /**\n * Handles `mouseover` event on this element.\n */\n private _handleHover = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n this.open = true;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { selectorTooltipContent } = this\n .constructor as typeof CDSTooltip;\n (this.querySelector(selectorTooltipContent) as HTMLElement)?.focus();\n }\n }, this.enterDelayMs);\n };\n\n /**\n * Handles `mouseleave` event on this element.\n */\n private _handleHoverOut = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n const { open } = this;\n if (open) {\n this.open = false;\n }\n }, this.leaveDelayMs);\n };\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = async () => {\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = async (event) => {\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Escape') {\n this._handleHoverOut();\n }\n };\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const component = (target as HTMLSlotElement)\n .assignedNodes()\n .filter(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n if (!component[0]) {\n return;\n }\n (component[0] as HTMLElement).addEventListener('focus', this._handleHover);\n (component[0] as HTMLElement).addEventListener(\n 'focusout',\n this._handleHoverOut\n );\n (component[0] as HTMLElement).addEventListener(\n 'mouseover',\n this._handleHover\n );\n (component[0] as HTMLElement).addEventListener(\n 'mouseleave',\n this._handleHoverOut\n );\n this.requestUpdate();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('highContrast')) {\n this.setAttribute('highContrast', '');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n const { selectorTooltipContent } = this.constructor as typeof CDSTooltip;\n const toolTipContent = this.querySelector(selectorTooltipContent);\n\n if (changedProperties.has('defaultOpen')) {\n this.open = this.defaultOpen;\n }\n\n if (changedProperties.has('open')) {\n this.open\n ? toolTipContent?.setAttribute('open', '')\n : toolTipContent?.removeAttribute('open');\n }\n\n ['align', 'caret'].forEach((name) => {\n if (changedProperties.has(name)) {\n const { [name as keyof CDSTooltip]: value } = this;\n (toolTipContent as CDSTooltipContent)[name] = value;\n }\n });\n\n this.shadowRoot\n ?.querySelector(`.${prefix}--popover-container`)\n ?.classList.add(`${prefix}--tooltip`);\n }\n\n /**\n * A selector that will return the CDSTooltipContent.\n */\n static get selectorTooltipContent() {\n return `${prefix}-tooltip-content`;\n }\n\n static get styles() {\n return css`\n ${super.styles}${styles}\n `;\n } // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSTooltip;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tooltip.js","names":["css","property","prefix","HostListener","HostListenerMixin","CDSPopover","styles","carbonElement","customElement","CDSTooltip","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","decorators","reflect","type","String","key","value","Boolean","attribute","Number","window","clearTimeout","timeoutId","setTimeout","open","updateComplete","_this$querySelector","selectorTooltipContent","querySelector","focus","enterDelayMs","leaveDelayMs","closeOnActivation","_handleHoverOut","event","_handleSlotChange","target","component","assignedNodes","filter","node","nodeType","Node","TEXT_NODE","textContent","trim","addEventListener","_handleHover","requestUpdate","connectedCallback","hasAttribute","setAttribute","shadowRoot","attachShadow","mode","_get","_getPrototypeOf","prototype","call","updated","changedProperties","_this$shadowRoot","toolTipContent","has","defaultOpen","removeAttribute","forEach","name","classList","add","static","_t","_"],"sources":["components/tooltip/tooltip.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSPopover from '../popover/popover';\nimport '../popover/popover-content';\nimport styles from './tooltip.scss';\nimport CDSTooltipContent from './tooltip-content';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Trigger button of tooltip.\n *\n * @element cds-tooltip\n */\n@customElement(`${prefix}-tooltip`)\nclass CDSTooltip extends HostListenerMixin(CDSPopover) {\n /**\n * Specify how the trigger should align with the tooltip\n */\n @property({ reflect: true, type: String })\n align = 'top';\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * `true` if this tooltip is in a data table row\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the tooltip should be closed when clicked\n */\n @property({ reflect: true, type: Boolean })\n closeOnActivation = false;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, type: Boolean })\n defaultOpen = false;\n\n /**\n * Specify the duration in milliseconds to delay before displaying the tooltip\n */\n @property({ attribute: 'enter-delay-ms', type: Number })\n enterDelayMs = 100;\n\n /**\n * Specify the duration in milliseconds to delay before hiding the tooltip\n */\n @property({ attribute: 'leave-delay-ms', type: Number })\n leaveDelayMs = 300;\n\n /**\n * Specify the size of the tooltip\n */\n @property({ reflect: true })\n size = false;\n\n /**\n * Specify the timeout reference for the tooltip\n */\n @property({ reflect: true })\n timeoutId = 0;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, attribute: 'toolbar-action', type: Boolean })\n toolbarAction = false;\n\n /**\n * Handles `mouseover` event on this element.\n */\n private _handleHover = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n this.open = true;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { selectorTooltipContent } = this\n .constructor as typeof CDSTooltip;\n (this.querySelector(selectorTooltipContent) as HTMLElement)?.focus();\n }\n }, this.enterDelayMs);\n };\n\n /**\n * Handles `mouseleave` event on this element.\n */\n private _handleHoverOut = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n const { open } = this;\n if (open) {\n this.open = false;\n }\n }, this.leaveDelayMs);\n };\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = async () => {\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = async (event) => {\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Escape') {\n this._handleHoverOut();\n }\n };\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const component = (target as HTMLSlotElement)\n .assignedNodes()\n .filter(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n if (!component[0]) {\n return;\n }\n (component[0] as HTMLElement).addEventListener('focus', this._handleHover);\n (component[0] as HTMLElement).addEventListener(\n 'focusout',\n this._handleHoverOut\n );\n (component[0] as HTMLElement).addEventListener(\n 'mouseover',\n this._handleHover\n );\n (component[0] as HTMLElement).addEventListener(\n 'mouseleave',\n this._handleHoverOut\n );\n this.requestUpdate();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('highContrast')) {\n this.setAttribute('highContrast', '');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n const { selectorTooltipContent } = this.constructor as typeof CDSTooltip;\n const toolTipContent = this.querySelector(selectorTooltipContent);\n\n if (changedProperties.has('defaultOpen')) {\n this.open = this.defaultOpen;\n }\n\n if (changedProperties.has('open')) {\n this.open\n ? toolTipContent?.setAttribute('open', '')\n : toolTipContent?.removeAttribute('open');\n }\n\n ['align', 'caret', 'autoalign'].forEach((name) => {\n if (changedProperties.has(name)) {\n const { [name as keyof CDSTooltip]: value } = this;\n (toolTipContent as CDSTooltipContent)[name] = value;\n }\n });\n\n this.shadowRoot\n ?.querySelector(`.${prefix}--popover-container`)\n ?.classList.add(`${prefix}--tooltip`);\n\n super.updated(changedProperties);\n }\n\n /**\n * A selector that will return the CDSTooltipContent.\n */\n static get selectorTooltipContent() {\n return `${prefix}-tooltip-content`;\n }\n\n static get styles() {\n return css`\n ${super.styles}${styles}\n `;\n } // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSTooltip;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*
|
|
4
|
+
* Copyright IBM Corp. 2024
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import { ReactiveController, LitElement } from 'lit';
|
|
10
|
+
type PopoverControllerOptions = {
|
|
11
|
+
target: HTMLElement;
|
|
12
|
+
trigger: HTMLElement;
|
|
13
|
+
arrowElement?: HTMLElement | undefined;
|
|
14
|
+
alignment: string;
|
|
15
|
+
flip: boolean;
|
|
16
|
+
caret: boolean;
|
|
17
|
+
};
|
|
18
|
+
interface PopoverElement extends LitElement {
|
|
19
|
+
open: boolean;
|
|
20
|
+
}
|
|
21
|
+
export default class PopoverController implements ReactiveController {
|
|
22
|
+
/**
|
|
23
|
+
* Host component
|
|
24
|
+
*/
|
|
25
|
+
private host;
|
|
26
|
+
/**
|
|
27
|
+
* Floating-ui options to pass to `computePlacement()`
|
|
28
|
+
*/
|
|
29
|
+
private options;
|
|
30
|
+
/**
|
|
31
|
+
* cleanup function to stop auto updates
|
|
32
|
+
*/
|
|
33
|
+
private cleanup?;
|
|
34
|
+
/**
|
|
35
|
+
* register with host component
|
|
36
|
+
* @param host host component
|
|
37
|
+
*/
|
|
38
|
+
constructor(host: PopoverElement);
|
|
39
|
+
setPlacement(options?: PopoverControllerOptions): Promise<void>;
|
|
40
|
+
updatePlacement: () => void;
|
|
41
|
+
computePlacement(): Promise<void>;
|
|
42
|
+
hostUpdated(): void;
|
|
43
|
+
hostDisconnected(): void;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=popover-controller.d.ts.map
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
*
|
|
5
|
+
* Copyright IBM Corp. 2024
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { computePosition, flip, offset, arrow, autoUpdate } from '@floating-ui/dom';
|
|
12
|
+
export default class PopoverController {
|
|
13
|
+
/**
|
|
14
|
+
* Host component
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Floating-ui options to pass to `computePlacement()`
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* cleanup function to stop auto updates
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* register with host component
|
|
27
|
+
* @param host host component
|
|
28
|
+
*/
|
|
29
|
+
constructor(host) {
|
|
30
|
+
_defineProperty(this, "updatePlacement", () => {
|
|
31
|
+
this.computePlacement();
|
|
32
|
+
});
|
|
33
|
+
(this.host = host).addController(this);
|
|
34
|
+
}
|
|
35
|
+
async setPlacement(options = this.options) {
|
|
36
|
+
this.options = options;
|
|
37
|
+
const {
|
|
38
|
+
trigger,
|
|
39
|
+
target
|
|
40
|
+
} = options;
|
|
41
|
+
this.cleanup = autoUpdate(trigger, target, this.updatePlacement);
|
|
42
|
+
}
|
|
43
|
+
async computePlacement() {
|
|
44
|
+
const {
|
|
45
|
+
arrowElement,
|
|
46
|
+
alignment,
|
|
47
|
+
caret,
|
|
48
|
+
trigger,
|
|
49
|
+
target
|
|
50
|
+
} = this.options;
|
|
51
|
+
let shimmedAlign;
|
|
52
|
+
switch (alignment) {
|
|
53
|
+
case 'top-left':
|
|
54
|
+
shimmedAlign = 'top-start';
|
|
55
|
+
break;
|
|
56
|
+
case 'top-right':
|
|
57
|
+
shimmedAlign = 'top-end';
|
|
58
|
+
break;
|
|
59
|
+
case 'bottom-left':
|
|
60
|
+
shimmedAlign = 'bottom-start';
|
|
61
|
+
break;
|
|
62
|
+
case 'bottom-right':
|
|
63
|
+
shimmedAlign = 'bottom-end';
|
|
64
|
+
break;
|
|
65
|
+
case 'left-bottom':
|
|
66
|
+
shimmedAlign = 'left-end';
|
|
67
|
+
break;
|
|
68
|
+
case 'left-top':
|
|
69
|
+
shimmedAlign = 'left-start';
|
|
70
|
+
break;
|
|
71
|
+
case 'right-bottom':
|
|
72
|
+
shimmedAlign = 'right-end';
|
|
73
|
+
break;
|
|
74
|
+
case 'right-top':
|
|
75
|
+
shimmedAlign = 'right-start';
|
|
76
|
+
break;
|
|
77
|
+
default:
|
|
78
|
+
shimmedAlign = alignment;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
const middleware = [flip({
|
|
82
|
+
fallbackAxisSideDirection: 'start'
|
|
83
|
+
}), offset(caret ? 10 : 0), ...(caret && arrowElement ? [arrow({
|
|
84
|
+
element: arrowElement,
|
|
85
|
+
padding: 15
|
|
86
|
+
})] : [])];
|
|
87
|
+
if (this.host.hasAttribute('open')) {
|
|
88
|
+
const {
|
|
89
|
+
x,
|
|
90
|
+
y,
|
|
91
|
+
placement,
|
|
92
|
+
middlewareData,
|
|
93
|
+
strategy
|
|
94
|
+
} = await computePosition(trigger, target, {
|
|
95
|
+
strategy: 'fixed',
|
|
96
|
+
middleware,
|
|
97
|
+
placement: shimmedAlign
|
|
98
|
+
});
|
|
99
|
+
target.style.left = `${x}px`;
|
|
100
|
+
target.style.top = `${y}px`;
|
|
101
|
+
target.style.position = `${strategy}`;
|
|
102
|
+
if (arrowElement) {
|
|
103
|
+
// @ts-ignore
|
|
104
|
+
const {
|
|
105
|
+
x: arrowX,
|
|
106
|
+
y: arrowY
|
|
107
|
+
} = middlewareData.arrow;
|
|
108
|
+
const staticSide = {
|
|
109
|
+
top: 'bottom',
|
|
110
|
+
right: 'left',
|
|
111
|
+
bottom: 'top',
|
|
112
|
+
left: 'right'
|
|
113
|
+
}[placement.split('-')[0]];
|
|
114
|
+
arrowElement.style.left = arrowX != null ? `${arrowX}px` : '';
|
|
115
|
+
arrowElement.style.top = arrowY != null ? `${arrowY}px` : '';
|
|
116
|
+
arrowElement.style.right = '';
|
|
117
|
+
arrowElement.style.bottom = '';
|
|
118
|
+
arrowElement.style[staticSide] = `${-arrowElement.offsetWidth / 2}px`;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// adding specific case here where the style of the caret/arrow
|
|
122
|
+
// is dependent on the placement
|
|
123
|
+
if (this.host.tagName === 'CDS-SLUG') {
|
|
124
|
+
var _this$host;
|
|
125
|
+
(_this$host = this.host) === null || _this$host === void 0 || _this$host.setAttribute('alignment', placement);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
hostUpdated() {
|
|
130
|
+
if (!this.host.hasAttribute('open')) {
|
|
131
|
+
var _this$cleanup;
|
|
132
|
+
(_this$cleanup = this.cleanup) === null || _this$cleanup === void 0 || _this$cleanup.call(this);
|
|
133
|
+
this.cleanup = undefined;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
hostDisconnected() {
|
|
137
|
+
var _this$cleanup2;
|
|
138
|
+
(_this$cleanup2 = this.cleanup) === null || _this$cleanup2 === void 0 || _this$cleanup2.call(this);
|
|
139
|
+
this.cleanup = undefined;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=popover-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-controller.js","names":["computePosition","flip","offset","arrow","autoUpdate","PopoverController","constructor","host","_defineProperty","computePlacement","addController","setPlacement","options","trigger","target","cleanup","updatePlacement","arrowElement","alignment","caret","shimmedAlign","middleware","fallbackAxisSideDirection","element","padding","hasAttribute","x","y","placement","middlewareData","strategy","style","left","top","position","arrowX","arrowY","staticSide","right","bottom","split","offsetWidth","tagName","_this$host","setAttribute","hostUpdated","_this$cleanup","call","undefined","hostDisconnected","_this$cleanup2"],"sources":["globals/controllers/popover-controller.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ReactiveController, LitElement } from 'lit';\nimport {\n computePosition,\n flip,\n offset,\n arrow,\n autoUpdate,\n Placement,\n} from '@floating-ui/dom';\n\ntype PopoverControllerOptions = {\n target: HTMLElement;\n trigger: HTMLElement;\n arrowElement?: HTMLElement | undefined;\n alignment: string;\n flip: boolean;\n caret: boolean;\n};\n\ninterface PopoverElement extends LitElement {\n open: boolean;\n}\n\nexport default class PopoverController implements ReactiveController {\n /**\n * Host component\n */\n private host!: PopoverElement;\n\n /**\n * Floating-ui options to pass to `computePlacement()`\n */\n private options!: PopoverControllerOptions;\n\n /**\n * cleanup function to stop auto updates\n */\n private cleanup?: () => void;\n\n /**\n * register with host component\n * @param host host component\n */\n constructor(host: PopoverElement) {\n (this.host = host).addController(this);\n }\n\n async setPlacement(options: PopoverControllerOptions = this.options) {\n this.options = options;\n const { trigger, target } = options;\n\n this.cleanup = autoUpdate(trigger, target, this.updatePlacement);\n }\n\n updatePlacement = (): void => {\n this.computePlacement();\n };\n\n async computePlacement() {\n const { arrowElement, alignment, caret, trigger, target } = this.options;\n\n let shimmedAlign;\n switch (alignment) {\n case 'top-left':\n shimmedAlign = 'top-start';\n break;\n case 'top-right':\n shimmedAlign = 'top-end';\n break;\n case 'bottom-left':\n shimmedAlign = 'bottom-start';\n break;\n case 'bottom-right':\n shimmedAlign = 'bottom-end';\n break;\n case 'left-bottom':\n shimmedAlign = 'left-end';\n break;\n case 'left-top':\n shimmedAlign = 'left-start';\n break;\n case 'right-bottom':\n shimmedAlign = 'right-end';\n break;\n case 'right-top':\n shimmedAlign = 'right-start';\n break;\n default:\n shimmedAlign = alignment;\n break;\n }\n\n const middleware = [\n flip({ fallbackAxisSideDirection: 'start' }),\n offset(caret ? 10 : 0),\n ...(caret && arrowElement\n ? [arrow({ element: arrowElement, padding: 15 })]\n : []),\n ];\n\n if (this.host.hasAttribute('open')) {\n const { x, y, placement, middlewareData, strategy } =\n await computePosition(trigger, target, {\n strategy: 'fixed',\n middleware,\n placement: shimmedAlign as Placement,\n });\n\n target.style.left = `${x}px`;\n target.style.top = `${y}px`;\n target.style.position = `${strategy}`;\n\n if (arrowElement) {\n // @ts-ignore\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n const staticSide: any = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n arrowElement.style.left = arrowX != null ? `${arrowX}px` : '';\n arrowElement.style.top = arrowY != null ? `${arrowY}px` : '';\n arrowElement.style.right = '';\n arrowElement.style.bottom = '';\n arrowElement.style[staticSide] = `${-arrowElement.offsetWidth / 2}px`;\n }\n\n // adding specific case here where the style of the caret/arrow\n // is dependent on the placement\n if (this.host.tagName === 'CDS-SLUG') {\n this.host?.setAttribute('alignment', placement);\n }\n }\n }\n\n hostUpdated(): void {\n if (!this.host.hasAttribute('open')) {\n this.cleanup?.();\n this.cleanup = undefined;\n }\n }\n\n hostDisconnected(): void {\n this.cleanup?.();\n this.cleanup = undefined;\n }\n}\n"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ exports.POPOVER_ALIGNMENT = void 0;
|
|
|
7
7
|
/**
|
|
8
8
|
* @license
|
|
9
9
|
*
|
|
10
|
-
* Copyright IBM Corp. 2020,
|
|
10
|
+
* Copyright IBM Corp. 2020, 2024
|
|
11
11
|
*
|
|
12
12
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
13
13
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -20,14 +20,22 @@ let POPOVER_ALIGNMENT = exports.POPOVER_ALIGNMENT = void 0;
|
|
|
20
20
|
POPOVER_ALIGNMENT["TOP"] = "top";
|
|
21
21
|
POPOVER_ALIGNMENT["TOP_LEFT"] = "top-left";
|
|
22
22
|
POPOVER_ALIGNMENT["TOP_RIGHT"] = "top-right";
|
|
23
|
+
POPOVER_ALIGNMENT["TOP_START"] = "top-start";
|
|
24
|
+
POPOVER_ALIGNMENT["TOP_END"] = "top-end";
|
|
23
25
|
POPOVER_ALIGNMENT["BOTTOM"] = "bottom";
|
|
24
26
|
POPOVER_ALIGNMENT["BOTTOM_LEFT"] = "bottom-left";
|
|
25
27
|
POPOVER_ALIGNMENT["BOTTOM_RIGHT"] = "bottom-right";
|
|
28
|
+
POPOVER_ALIGNMENT["BOTTOM_START"] = "bottom-start";
|
|
29
|
+
POPOVER_ALIGNMENT["BOTTOM_END"] = "bottom-end";
|
|
26
30
|
POPOVER_ALIGNMENT["LEFT"] = "left";
|
|
27
31
|
POPOVER_ALIGNMENT["LEFT_BOTTOM"] = "left-bottom";
|
|
28
32
|
POPOVER_ALIGNMENT["LEFT_TOP"] = "left-top";
|
|
33
|
+
POPOVER_ALIGNMENT["LEFT_START"] = "left-start";
|
|
34
|
+
POPOVER_ALIGNMENT["LEFT_END"] = "left-end";
|
|
29
35
|
POPOVER_ALIGNMENT["RIGHT"] = "right";
|
|
30
36
|
POPOVER_ALIGNMENT["RIGHT_BOTTOM"] = "right-bottom";
|
|
31
37
|
POPOVER_ALIGNMENT["RIGHT_TOP"] = "right-top";
|
|
38
|
+
POPOVER_ALIGNMENT["RIGHT_START"] = "right-start";
|
|
39
|
+
POPOVER_ALIGNMENT["RIGHT_END"] = "right-end";
|
|
32
40
|
})(POPOVER_ALIGNMENT || (exports.POPOVER_ALIGNMENT = POPOVER_ALIGNMENT = {}));
|
|
33
41
|
//# sourceMappingURL=defs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","names":["POPOVER_ALIGNMENT","exports"],"sources":["components/popover/defs.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020,
|
|
1
|
+
{"version":3,"file":"defs.js","names":["POPOVER_ALIGNMENT","exports"],"sources":["components/popover/defs.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * The alignment choices of popover.\n */\nexport enum POPOVER_ALIGNMENT {\n /**\n * Align the top position for the popover content.\n */\n TOP = 'top',\n\n /**\n * Align the top-left position for the popover content.\n *\n * @deprecated\n */\n TOP_LEFT = 'top-left',\n\n /**\n * Align the top right position for the popover content.\n *\n * @deprecated\n */\n TOP_RIGHT = 'top-right',\n\n /**\n * Align the top-start position for the popover content.\n */\n TOP_START = 'top-start',\n\n /**\n * Align the top end position for the popover content.\n */\n TOP_END = 'top-end',\n\n /**\n * Align the bottom position for the popover content.\n */\n BOTTOM = 'bottom',\n\n /**\n * Align the bottom left position for the popover content.\n *\n * @deprecated\n */\n BOTTOM_LEFT = 'bottom-left',\n\n /**\n * Align the bottom right position for the popover content.\n *\n * @deprecated\n */\n BOTTOM_RIGHT = 'bottom-right',\n\n /**\n * Align the bottom start position for the popover content.\n */\n BOTTOM_START = 'bottom-start',\n\n /**\n * Align the bottom end position for the popover content.\n */\n BOTTOM_END = 'bottom-end',\n\n /**\n * Align the left position for the popover content.\n */\n LEFT = 'left',\n\n /**\n * Align the left bottom position for the popover content.\n *\n * @deprecated\n */\n LEFT_BOTTOM = 'left-bottom',\n\n /**\n * Align the left top position for the popover content.\n *\n * @deprecated\n */\n LEFT_TOP = 'left-top',\n\n /**\n * Align the left start position for the popover content.\n */\n LEFT_START = 'left-start',\n\n /**\n * Align the left end position for the popover content.\n */\n LEFT_END = 'left-end',\n\n /**\n * Align the right position for the popover content.\n */\n RIGHT = 'right',\n\n /**\n * Align the right bottom position for the popover content.\n *\n * @deprecated\n */\n RIGHT_BOTTOM = 'right-bottom',\n\n /**\n * Align the right top position for the popover content.\n *\n * @deprecated\n */\n RIGHT_TOP = 'right-top',\n\n /**\n * Align the right start position for the popover content.\n */\n RIGHT_START = 'right-start',\n\n /**\n * Align the right end position for the popover content.\n */\n RIGHT_END = 'right-end',\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA,IAGYA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA;AAAA,WAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;AAAA,GAAjBA,iBAAiB,KAAAC,OAAA,CAAAD,iBAAA,GAAjBA,iBAAiB"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _dom = require("@floating-ui/dom");
|
|
10
|
+
/**
|
|
11
|
+
* @license
|
|
12
|
+
*
|
|
13
|
+
* Copyright IBM Corp. 2024
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
class PopoverController {
|
|
20
|
+
/**
|
|
21
|
+
* Host component
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Floating-ui options to pass to `computePlacement()`
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* cleanup function to stop auto updates
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* register with host component
|
|
34
|
+
* @param host host component
|
|
35
|
+
*/
|
|
36
|
+
constructor(host) {
|
|
37
|
+
(0, _defineProperty2.default)(this, "updatePlacement", () => {
|
|
38
|
+
this.computePlacement();
|
|
39
|
+
});
|
|
40
|
+
(this.host = host).addController(this);
|
|
41
|
+
}
|
|
42
|
+
async setPlacement(options = this.options) {
|
|
43
|
+
this.options = options;
|
|
44
|
+
const {
|
|
45
|
+
trigger,
|
|
46
|
+
target
|
|
47
|
+
} = options;
|
|
48
|
+
this.cleanup = (0, _dom.autoUpdate)(trigger, target, this.updatePlacement);
|
|
49
|
+
}
|
|
50
|
+
async computePlacement() {
|
|
51
|
+
const {
|
|
52
|
+
arrowElement,
|
|
53
|
+
alignment,
|
|
54
|
+
caret,
|
|
55
|
+
trigger,
|
|
56
|
+
target
|
|
57
|
+
} = this.options;
|
|
58
|
+
let shimmedAlign;
|
|
59
|
+
switch (alignment) {
|
|
60
|
+
case 'top-left':
|
|
61
|
+
shimmedAlign = 'top-start';
|
|
62
|
+
break;
|
|
63
|
+
case 'top-right':
|
|
64
|
+
shimmedAlign = 'top-end';
|
|
65
|
+
break;
|
|
66
|
+
case 'bottom-left':
|
|
67
|
+
shimmedAlign = 'bottom-start';
|
|
68
|
+
break;
|
|
69
|
+
case 'bottom-right':
|
|
70
|
+
shimmedAlign = 'bottom-end';
|
|
71
|
+
break;
|
|
72
|
+
case 'left-bottom':
|
|
73
|
+
shimmedAlign = 'left-end';
|
|
74
|
+
break;
|
|
75
|
+
case 'left-top':
|
|
76
|
+
shimmedAlign = 'left-start';
|
|
77
|
+
break;
|
|
78
|
+
case 'right-bottom':
|
|
79
|
+
shimmedAlign = 'right-end';
|
|
80
|
+
break;
|
|
81
|
+
case 'right-top':
|
|
82
|
+
shimmedAlign = 'right-start';
|
|
83
|
+
break;
|
|
84
|
+
default:
|
|
85
|
+
shimmedAlign = alignment;
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
const middleware = [(0, _dom.flip)({
|
|
89
|
+
fallbackAxisSideDirection: 'start'
|
|
90
|
+
}), (0, _dom.offset)(caret ? 10 : 0), ...(caret && arrowElement ? [(0, _dom.arrow)({
|
|
91
|
+
element: arrowElement,
|
|
92
|
+
padding: 15
|
|
93
|
+
})] : [])];
|
|
94
|
+
if (this.host.hasAttribute('open')) {
|
|
95
|
+
const {
|
|
96
|
+
x,
|
|
97
|
+
y,
|
|
98
|
+
placement,
|
|
99
|
+
middlewareData,
|
|
100
|
+
strategy
|
|
101
|
+
} = await (0, _dom.computePosition)(trigger, target, {
|
|
102
|
+
strategy: 'fixed',
|
|
103
|
+
middleware,
|
|
104
|
+
placement: shimmedAlign
|
|
105
|
+
});
|
|
106
|
+
target.style.left = `${x}px`;
|
|
107
|
+
target.style.top = `${y}px`;
|
|
108
|
+
target.style.position = `${strategy}`;
|
|
109
|
+
if (arrowElement) {
|
|
110
|
+
// @ts-ignore
|
|
111
|
+
const {
|
|
112
|
+
x: arrowX,
|
|
113
|
+
y: arrowY
|
|
114
|
+
} = middlewareData.arrow;
|
|
115
|
+
const staticSide = {
|
|
116
|
+
top: 'bottom',
|
|
117
|
+
right: 'left',
|
|
118
|
+
bottom: 'top',
|
|
119
|
+
left: 'right'
|
|
120
|
+
}[placement.split('-')[0]];
|
|
121
|
+
arrowElement.style.left = arrowX != null ? `${arrowX}px` : '';
|
|
122
|
+
arrowElement.style.top = arrowY != null ? `${arrowY}px` : '';
|
|
123
|
+
arrowElement.style.right = '';
|
|
124
|
+
arrowElement.style.bottom = '';
|
|
125
|
+
arrowElement.style[staticSide] = `${-arrowElement.offsetWidth / 2}px`;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// adding specific case here where the style of the caret/arrow
|
|
129
|
+
// is dependent on the placement
|
|
130
|
+
if (this.host.tagName === 'CDS-SLUG') {
|
|
131
|
+
var _this$host;
|
|
132
|
+
(_this$host = this.host) === null || _this$host === void 0 || _this$host.setAttribute('alignment', placement);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
hostUpdated() {
|
|
137
|
+
if (!this.host.hasAttribute('open')) {
|
|
138
|
+
var _this$cleanup;
|
|
139
|
+
(_this$cleanup = this.cleanup) === null || _this$cleanup === void 0 || _this$cleanup.call(this);
|
|
140
|
+
this.cleanup = undefined;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
hostDisconnected() {
|
|
144
|
+
var _this$cleanup2;
|
|
145
|
+
(_this$cleanup2 = this.cleanup) === null || _this$cleanup2 === void 0 || _this$cleanup2.call(this);
|
|
146
|
+
this.cleanup = undefined;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.default = PopoverController;
|
|
150
|
+
//# sourceMappingURL=popover-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-controller.js","names":["_dom","require","PopoverController","constructor","host","_defineProperty2","default","computePlacement","addController","setPlacement","options","trigger","target","cleanup","autoUpdate","updatePlacement","arrowElement","alignment","caret","shimmedAlign","middleware","flip","fallbackAxisSideDirection","offset","arrow","element","padding","hasAttribute","x","y","placement","middlewareData","strategy","computePosition","style","left","top","position","arrowX","arrowY","staticSide","right","bottom","split","offsetWidth","tagName","_this$host","setAttribute","hostUpdated","_this$cleanup","call","undefined","hostDisconnected","_this$cleanup2","exports"],"sources":["globals/controllers/popover-controller.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ReactiveController, LitElement } from 'lit';\nimport {\n computePosition,\n flip,\n offset,\n arrow,\n autoUpdate,\n Placement,\n} from '@floating-ui/dom';\n\ntype PopoverControllerOptions = {\n target: HTMLElement;\n trigger: HTMLElement;\n arrowElement?: HTMLElement | undefined;\n alignment: string;\n flip: boolean;\n caret: boolean;\n};\n\ninterface PopoverElement extends LitElement {\n open: boolean;\n}\n\nexport default class PopoverController implements ReactiveController {\n /**\n * Host component\n */\n private host!: PopoverElement;\n\n /**\n * Floating-ui options to pass to `computePlacement()`\n */\n private options!: PopoverControllerOptions;\n\n /**\n * cleanup function to stop auto updates\n */\n private cleanup?: () => void;\n\n /**\n * register with host component\n * @param host host component\n */\n constructor(host: PopoverElement) {\n (this.host = host).addController(this);\n }\n\n async setPlacement(options: PopoverControllerOptions = this.options) {\n this.options = options;\n const { trigger, target } = options;\n\n this.cleanup = autoUpdate(trigger, target, this.updatePlacement);\n }\n\n updatePlacement = (): void => {\n this.computePlacement();\n };\n\n async computePlacement() {\n const { arrowElement, alignment, caret, trigger, target } = this.options;\n\n let shimmedAlign;\n switch (alignment) {\n case 'top-left':\n shimmedAlign = 'top-start';\n break;\n case 'top-right':\n shimmedAlign = 'top-end';\n break;\n case 'bottom-left':\n shimmedAlign = 'bottom-start';\n break;\n case 'bottom-right':\n shimmedAlign = 'bottom-end';\n break;\n case 'left-bottom':\n shimmedAlign = 'left-end';\n break;\n case 'left-top':\n shimmedAlign = 'left-start';\n break;\n case 'right-bottom':\n shimmedAlign = 'right-end';\n break;\n case 'right-top':\n shimmedAlign = 'right-start';\n break;\n default:\n shimmedAlign = alignment;\n break;\n }\n\n const middleware = [\n flip({ fallbackAxisSideDirection: 'start' }),\n offset(caret ? 10 : 0),\n ...(caret && arrowElement\n ? [arrow({ element: arrowElement, padding: 15 })]\n : []),\n ];\n\n if (this.host.hasAttribute('open')) {\n const { x, y, placement, middlewareData, strategy } =\n await computePosition(trigger, target, {\n strategy: 'fixed',\n middleware,\n placement: shimmedAlign as Placement,\n });\n\n target.style.left = `${x}px`;\n target.style.top = `${y}px`;\n target.style.position = `${strategy}`;\n\n if (arrowElement) {\n // @ts-ignore\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n const staticSide: any = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n arrowElement.style.left = arrowX != null ? `${arrowX}px` : '';\n arrowElement.style.top = arrowY != null ? `${arrowY}px` : '';\n arrowElement.style.right = '';\n arrowElement.style.bottom = '';\n arrowElement.style[staticSide] = `${-arrowElement.offsetWidth / 2}px`;\n }\n\n // adding specific case here where the style of the caret/arrow\n // is dependent on the placement\n if (this.host.tagName === 'CDS-SLUG') {\n this.host?.setAttribute('alignment', placement);\n }\n }\n }\n\n hostUpdated(): void {\n if (!this.host.hasAttribute('open')) {\n this.cleanup?.();\n this.cleanup = undefined;\n }\n }\n\n hostDisconnected(): void {\n this.cleanup?.();\n this.cleanup = undefined;\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carbon/web-components",
|
|
3
|
-
"version": "2.4.0-rc.
|
|
3
|
+
"version": "2.4.0-rc.2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"@babel/runtime": "^7.16.3",
|
|
71
71
|
"@carbon/ibm-products-styles": "^2.24.0",
|
|
72
72
|
"@carbon/styles": "1.51.0",
|
|
73
|
+
"@floating-ui/dom": "^1.6.3",
|
|
73
74
|
"flatpickr": "4.6.1",
|
|
74
75
|
"lit": "^2.7.6",
|
|
75
76
|
"lodash-es": "^4.17.21"
|
|
@@ -207,5 +208,5 @@
|
|
|
207
208
|
"zone.js": "~0.14.0"
|
|
208
209
|
},
|
|
209
210
|
"typings": "es/index.d.ts",
|
|
210
|
-
"gitHead": "
|
|
211
|
+
"gitHead": "e4cd73d870fe341b84ef93161f1b51f70cd2eaaf"
|
|
211
212
|
}
|