@db-ux/wc-core-components 2.2.5 → 2.3.1
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/db-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/db-accordion.cjs.entry.js +1 -1
- package/dist/cjs/db-badge.cjs.entry.js +3 -3
- package/dist/cjs/db-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/db-badge.entry.cjs.js.map +1 -1
- package/dist/cjs/db-brand.cjs.entry.js +1 -1
- package/dist/cjs/db-button.cjs.entry.js +3 -9
- package/dist/cjs/db-button.cjs.entry.js.map +1 -1
- package/dist/cjs/db-button.entry.cjs.js.map +1 -1
- package/dist/cjs/db-card.cjs.entry.js +1 -1
- package/dist/cjs/db-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +1 -1
- package/dist/cjs/db-custom-select-form-field.cjs.entry.js +1 -1
- package/dist/cjs/db-custom-select.cjs.entry.js +2 -2
- package/dist/cjs/db-divider.cjs.entry.js +1 -1
- package/dist/cjs/db-drawer.cjs.entry.js +1 -1
- package/dist/cjs/db-header.cjs.entry.js +3 -3
- package/dist/cjs/db-icon.cjs.entry.js +1 -1
- package/dist/cjs/db-infotext.cjs.entry.js +1 -1
- package/dist/cjs/db-link.cjs.entry.js +3 -9
- package/dist/cjs/db-link.cjs.entry.js.map +1 -1
- package/dist/cjs/db-link.entry.cjs.js.map +1 -1
- package/dist/cjs/db-navigation-item.cjs.entry.js +3 -3
- package/dist/cjs/db-navigation.cjs.entry.js +1 -1
- package/dist/cjs/db-notification.cjs.entry.js +1 -1
- package/dist/cjs/db-page.cjs.entry.js +1 -1
- package/dist/cjs/db-popover.cjs.entry.js +2 -2
- package/dist/cjs/db-radio.cjs.entry.js +1 -1
- package/dist/cjs/db-section.cjs.entry.js +1 -1
- package/dist/cjs/db-select.cjs.entry.js +1 -1
- package/dist/cjs/db-stack.cjs.entry.js +1 -1
- package/dist/cjs/db-switch.cjs.entry.js +1 -1
- package/dist/cjs/db-tab-item_3.cjs.entry.js +1 -1
- package/dist/cjs/db-tabs.cjs.entry.js +1 -1
- package/dist/cjs/db-textarea.cjs.entry.js +1 -1
- package/dist/cjs/db-tooltip.cjs.entry.js +5 -5
- package/dist/cjs/db-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/db-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/db-ux.cjs.js +2 -2
- package/dist/cjs/db-ux.cjs.js.map +1 -1
- package/dist/cjs/{floating-components-TczCINdL.js → floating-components-BxBSpOv1.js} +3 -3
- package/dist/{esm/floating-components-BLKCMo7A.js.map → cjs/floating-components-BxBSpOv1.js.map} +1 -1
- package/dist/cjs/{index-DiwURPCd.js → index-DobfC9fA.js} +19 -9
- package/dist/cjs/index-DobfC9fA.js.map +1 -0
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{navigation--rlUdgeW.js → navigation-BNSnj0bl.js} +3 -3
- package/dist/cjs/{navigation--rlUdgeW.js.map → navigation-BNSnj0bl.js.map} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/badge/badge.js +2 -2
- package/dist/collection/components/badge/badge.js.map +1 -1
- package/dist/collection/components/button/button.js +3 -26
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/link/link.js +3 -26
- package/dist/collection/components/link/link.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +3 -3
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/utils/floating-components.js +1 -1
- package/dist/collection/utils/floating-components.js.map +1 -1
- package/dist/custom-elements.json +2 -40
- package/dist/db-ux/db-badge.entry.esm.js.map +1 -1
- package/dist/db-ux/db-button.entry.esm.js.map +1 -1
- package/dist/db-ux/db-link.entry.esm.js.map +1 -1
- package/dist/db-ux/db-tooltip.entry.esm.js.map +1 -1
- package/dist/db-ux/db-ux.esm.js +1 -1
- package/dist/db-ux/db-ux.esm.js.map +1 -1
- package/dist/db-ux/index.esm.js +1 -1
- package/dist/db-ux/p-06d3948a.entry.js +2 -0
- package/dist/db-ux/p-06d3948a.entry.js.map +1 -0
- package/dist/db-ux/{p-8fb2fd78.entry.js → p-0f64b147.entry.js} +2 -2
- package/dist/db-ux/{p-5a572caf.entry.js → p-1425639c.entry.js} +2 -2
- package/dist/db-ux/{p-c15e15a6.entry.js → p-18367aea.entry.js} +2 -2
- package/dist/db-ux/{p-51efe709.entry.js → p-18c13085.entry.js} +2 -2
- package/dist/db-ux/{p-ef88c992.entry.js → p-213471a1.entry.js} +2 -2
- package/dist/db-ux/{p-577469fa.entry.js → p-27512698.entry.js} +2 -2
- package/dist/db-ux/p-29d96ccd.entry.js +2 -0
- package/dist/db-ux/p-29d96ccd.entry.js.map +1 -0
- package/dist/db-ux/{p-4cabc896.entry.js → p-42176e8b.entry.js} +2 -2
- package/dist/db-ux/{p-131a7c94.entry.js → p-5039735a.entry.js} +2 -2
- package/dist/db-ux/p-5147a347.entry.js +2 -0
- package/dist/db-ux/p-5147a347.entry.js.map +1 -0
- package/dist/db-ux/{p-b240055c.entry.js → p-6c1f6dbe.entry.js} +2 -2
- package/dist/db-ux/p-6c1f6dbe.entry.js.map +1 -0
- package/dist/db-ux/{p-2a4a072e.entry.js → p-6dc71ceb.entry.js} +2 -2
- package/dist/db-ux/{p-3f65c9b0.entry.js → p-798e372f.entry.js} +2 -2
- package/dist/db-ux/{p-b1964c50.entry.js → p-7bff3896.entry.js} +2 -2
- package/dist/db-ux/p-9eb3716a.entry.js +2 -0
- package/dist/db-ux/p-BJ_BOsfY.js +3 -0
- package/dist/db-ux/p-BJ_BOsfY.js.map +1 -0
- package/dist/db-ux/{p-BLKCMo7A.js → p-CifCRcqG.js} +2 -2
- package/dist/db-ux/{p-BLKCMo7A.js.map → p-CifCRcqG.js.map} +1 -1
- package/dist/db-ux/{p-BFvCp0MI.js → p-DdyDId49.js} +2 -2
- package/dist/db-ux/{p-BFvCp0MI.js.map → p-DdyDId49.js.map} +1 -1
- package/dist/db-ux/{p-f4922cf7.entry.js → p-a0b8858a.entry.js} +2 -2
- package/dist/db-ux/p-b1f1896e.entry.js +2 -0
- package/dist/db-ux/{p-9b46016a.entry.js → p-b2c36a7b.entry.js} +2 -2
- package/dist/db-ux/{p-d73c6d4a.entry.js → p-b7d3833b.entry.js} +2 -2
- package/dist/db-ux/{p-cefdb628.entry.js → p-cc6f6897.entry.js} +2 -2
- package/dist/db-ux/{p-218c7d80.entry.js → p-d3b0703c.entry.js} +2 -2
- package/dist/db-ux/{p-384b62b0.entry.js → p-d97f5f3a.entry.js} +2 -2
- package/dist/db-ux/{p-c119e349.entry.js → p-dcfc3873.entry.js} +2 -2
- package/dist/db-ux/{p-cefb88b4.entry.js → p-e112b837.entry.js} +2 -2
- package/dist/db-ux/p-edf76c20.entry.js +2 -0
- package/dist/db-ux/{p-9030a5a3.entry.js.map → p-edf76c20.entry.js.map} +1 -1
- package/dist/db-ux/{p-fc5ce2fc.entry.js → p-f098a79b.entry.js} +2 -2
- package/dist/db-ux/{p-4fb24866.entry.js → p-f47df241.entry.js} +2 -2
- package/dist/db-ux/{p-d077d88e.entry.js → p-fb06953f.entry.js} +2 -2
- package/dist/db-ux/{p-04fa8562.entry.js → p-fdca7971.entry.js} +2 -2
- package/dist/esm/db-accordion-item.entry.js +1 -1
- package/dist/esm/db-accordion.entry.js +1 -1
- package/dist/esm/db-badge.entry.js +3 -3
- package/dist/esm/db-badge.entry.js.map +1 -1
- package/dist/esm/db-brand.entry.js +1 -1
- package/dist/esm/db-button.entry.js +3 -9
- package/dist/esm/db-button.entry.js.map +1 -1
- package/dist/esm/db-card.entry.js +1 -1
- package/dist/esm/db-checkbox.entry.js +1 -1
- package/dist/esm/db-custom-select-dropdown_5.entry.js +1 -1
- package/dist/esm/db-custom-select-form-field.entry.js +1 -1
- package/dist/esm/db-custom-select.entry.js +2 -2
- package/dist/esm/db-divider.entry.js +1 -1
- package/dist/esm/db-drawer.entry.js +1 -1
- package/dist/esm/db-header.entry.js +3 -3
- package/dist/esm/db-icon.entry.js +1 -1
- package/dist/esm/db-infotext.entry.js +1 -1
- package/dist/esm/db-link.entry.js +3 -9
- package/dist/esm/db-link.entry.js.map +1 -1
- package/dist/esm/db-navigation-item.entry.js +3 -3
- package/dist/esm/db-navigation.entry.js +1 -1
- package/dist/esm/db-notification.entry.js +1 -1
- package/dist/esm/db-page.entry.js +1 -1
- package/dist/esm/db-popover.entry.js +2 -2
- package/dist/esm/db-radio.entry.js +1 -1
- package/dist/esm/db-section.entry.js +1 -1
- package/dist/esm/db-select.entry.js +1 -1
- package/dist/esm/db-stack.entry.js +1 -1
- package/dist/esm/db-switch.entry.js +1 -1
- package/dist/esm/db-tab-item_3.entry.js +1 -1
- package/dist/esm/db-tabs.entry.js +1 -1
- package/dist/esm/db-textarea.entry.js +1 -1
- package/dist/esm/db-tooltip.entry.js +5 -5
- package/dist/esm/db-tooltip.entry.js.map +1 -1
- package/dist/esm/db-ux.js +3 -3
- package/dist/esm/db-ux.js.map +1 -1
- package/dist/esm/{floating-components-BLKCMo7A.js → floating-components-CifCRcqG.js} +3 -3
- package/dist/{cjs/floating-components-TczCINdL.js.map → esm/floating-components-CifCRcqG.js.map} +1 -1
- package/dist/esm/{index-Ctmm4hMW.js → index-BJ_BOsfY.js} +19 -9
- package/dist/esm/index-BJ_BOsfY.js.map +1 -0
- package/dist/esm/index.js +3 -3
- package/dist/esm/loader.js +2 -2
- package/dist/esm/{navigation-C4qTkuYy.js → navigation--rT2utIA.js} +3 -3
- package/dist/esm/{navigation-C4qTkuYy.js.map → navigation--rT2utIA.js.map} +1 -1
- package/dist/types/components/button/button.d.ts +0 -4
- package/dist/types/components/link/link.d.ts +0 -4
- package/dist/types/components.d.ts +0 -32
- package/dist/vscode.html-custom-data.json +2 -2
- package/dist/web-types.json +6 -26
- package/package.json +4 -4
- package/dist/cjs/index-DiwURPCd.js.map +0 -1
- package/dist/db-ux/p-452ecd6f.entry.js +0 -2
- package/dist/db-ux/p-452ecd6f.entry.js.map +0 -1
- package/dist/db-ux/p-9030a5a3.entry.js +0 -2
- package/dist/db-ux/p-Ctmm4hMW.js +0 -3
- package/dist/db-ux/p-Ctmm4hMW.js.map +0 -1
- package/dist/db-ux/p-a7e6d250.entry.js +0 -2
- package/dist/db-ux/p-b22c2a49.entry.js +0 -2
- package/dist/db-ux/p-b22c2a49.entry.js.map +0 -1
- package/dist/db-ux/p-b240055c.entry.js.map +0 -1
- package/dist/db-ux/p-c7a5e00f.entry.js +0 -2
- package/dist/db-ux/p-dd4c5af6.entry.js +0 -2
- package/dist/db-ux/p-dd4c5af6.entry.js.map +0 -1
- package/dist/esm/index-Ctmm4hMW.js.map +0 -1
- /package/dist/db-ux/{p-8fb2fd78.entry.js.map → p-0f64b147.entry.js.map} +0 -0
- /package/dist/db-ux/{p-5a572caf.entry.js.map → p-1425639c.entry.js.map} +0 -0
- /package/dist/db-ux/{p-c15e15a6.entry.js.map → p-18367aea.entry.js.map} +0 -0
- /package/dist/db-ux/{p-51efe709.entry.js.map → p-18c13085.entry.js.map} +0 -0
- /package/dist/db-ux/{p-ef88c992.entry.js.map → p-213471a1.entry.js.map} +0 -0
- /package/dist/db-ux/{p-577469fa.entry.js.map → p-27512698.entry.js.map} +0 -0
- /package/dist/db-ux/{p-4cabc896.entry.js.map → p-42176e8b.entry.js.map} +0 -0
- /package/dist/db-ux/{p-131a7c94.entry.js.map → p-5039735a.entry.js.map} +0 -0
- /package/dist/db-ux/{p-2a4a072e.entry.js.map → p-6dc71ceb.entry.js.map} +0 -0
- /package/dist/db-ux/{p-3f65c9b0.entry.js.map → p-798e372f.entry.js.map} +0 -0
- /package/dist/db-ux/{p-b1964c50.entry.js.map → p-7bff3896.entry.js.map} +0 -0
- /package/dist/db-ux/{p-a7e6d250.entry.js.map → p-9eb3716a.entry.js.map} +0 -0
- /package/dist/db-ux/{p-f4922cf7.entry.js.map → p-a0b8858a.entry.js.map} +0 -0
- /package/dist/db-ux/{p-c7a5e00f.entry.js.map → p-b1f1896e.entry.js.map} +0 -0
- /package/dist/db-ux/{p-9b46016a.entry.js.map → p-b2c36a7b.entry.js.map} +0 -0
- /package/dist/db-ux/{p-d73c6d4a.entry.js.map → p-b7d3833b.entry.js.map} +0 -0
- /package/dist/db-ux/{p-cefdb628.entry.js.map → p-cc6f6897.entry.js.map} +0 -0
- /package/dist/db-ux/{p-218c7d80.entry.js.map → p-d3b0703c.entry.js.map} +0 -0
- /package/dist/db-ux/{p-384b62b0.entry.js.map → p-d97f5f3a.entry.js.map} +0 -0
- /package/dist/db-ux/{p-c119e349.entry.js.map → p-dcfc3873.entry.js.map} +0 -0
- /package/dist/db-ux/{p-cefb88b4.entry.js.map → p-e112b837.entry.js.map} +0 -0
- /package/dist/db-ux/{p-fc5ce2fc.entry.js.map → p-f098a79b.entry.js.map} +0 -0
- /package/dist/db-ux/{p-4fb24866.entry.js.map → p-f47df241.entry.js.map} +0 -0
- /package/dist/db-ux/{p-d077d88e.entry.js.map → p-fb06953f.entry.js.map} +0 -0
- /package/dist/db-ux/{p-04fa8562.entry.js.map → p-fdca7971.entry.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var floatingComponents = require('./floating-components-
|
|
3
|
+
var floatingComponents = require('./floating-components-BxBSpOv1.js');
|
|
4
4
|
|
|
5
5
|
const isEventTargetNavigationItem = (event) => {
|
|
6
6
|
var _a, _b;
|
|
@@ -136,6 +136,6 @@ class NavigationItemSafeTriangle {
|
|
|
136
136
|
|
|
137
137
|
exports.NavigationItemSafeTriangle = NavigationItemSafeTriangle;
|
|
138
138
|
exports.isEventTargetNavigationItem = isEventTargetNavigationItem;
|
|
139
|
-
//# sourceMappingURL=navigation
|
|
139
|
+
//# sourceMappingURL=navigation-BNSnj0bl.js.map
|
|
140
140
|
|
|
141
|
-
//# sourceMappingURL=navigation
|
|
141
|
+
//# sourceMappingURL=navigation-BNSnj0bl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation--rlUdgeW.js","sources":["src/utils/navigation.ts"],"sourcesContent":["import { handleDataOutside } from './floating-components';\nexport type TriangleData = {\n itemRect: DOMRect;\n parentElementWidth: number;\n subNavigationHeight: number;\n padding: number;\n outsideVX: 'left' | 'right' | undefined;\n outsideVY: 'top' | 'bottom' | undefined;\n};\nexport const isEventTargetNavigationItem = (event: unknown): boolean => {\n const {\n target\n } = event as {\n target: HTMLElement;\n };\n return Boolean(!target?.classList?.contains('db-navigation-item-expand-button') && target?.parentElement?.classList.contains('db-navigation-item'));\n};\nexport class NavigationItemSafeTriangle {\n private readonly element: HTMLElement | null;\n private readonly subNavigation: HTMLElement | null;\n private readonly parentSubNavigation: HTMLElement | null = null;\n private triangleData?: TriangleData;\n private initialized: boolean = false;\n private mouseX: number = 0;\n private mouseY: number = 0;\n constructor(element: HTMLElement | null, subNavigation: HTMLElement | null) {\n this.element = element;\n this.subNavigation = subNavigation;\n if (!this.element || !this.subNavigation) {\n return;\n }\n this.parentSubNavigation = this.element?.closest('.db-sub-navigation');\n\n /*\n * only initiate if:\n * 1. item is not at root navigation level\n * 2. item is not in the mobile navigation / within db-drawer\n */\n if (this.parentSubNavigation && !this.element.closest('.db-drawer')) {\n this.init();\n }\n }\n private init() {\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n\n // the triangle has the width of the sub-navigation, current nav-item can be wider.\n // so the width of the triangle must be adapted to a possibly wider nav-item.\n this.element?.style.setProperty('--db-navigation-item-inline-size', `${parentElementWidth}px`);\n this.initialized = true;\n }\n public enableFollow() {\n if (!this.initialized || this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n const dataOutsidePair = handleDataOutside(this.subNavigation);\n const itemRect = this.element.getBoundingClientRect();\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n this.triangleData = {\n itemRect,\n parentElementWidth,\n subNavigationHeight: this.subNavigation.getBoundingClientRect().height,\n padding: (parentElementWidth - itemRect.width) / 2,\n outsideVX: dataOutsidePair.vx,\n outsideVY: dataOutsidePair.vy\n };\n }\n public disableFollow() {\n this.triangleData = undefined;\n }\n private getTriangleTipX(): number {\n if (!this.triangleData) return 0;\n if (this.triangleData.outsideVX === 'right') {\n // vertical flipped triangle needs an inverted x pos\n return this.triangleData.itemRect.width - this.mouseX;\n }\n\n // triangle stops shrinking from 75% x pos\n return Math.min(this.mouseX, this.triangleData.itemRect.width * 0.75);\n }\n private getTriangleTipY(): number {\n if (!this.triangleData) return 0;\n\n // padding must be added to the y pos of the tip so that the y pos matches the cursor\n const mouseYLimited = Math.max(Math.min(this.mouseY, this.triangleData.itemRect.height), 0) + this.triangleData.padding;\n if (this.triangleData.outsideVY === 'bottom') {\n // add offset to tip y pos to match corrected sub-navigation y pos\n return mouseYLimited + (this.triangleData.subNavigationHeight - this.triangleData.padding * 2 - this.triangleData.itemRect.height);\n }\n return mouseYLimited;\n }\n private hasMouseEnteredSubNavigation(): boolean {\n if (!this.triangleData) {\n return false;\n }\n const isSubNavigationOnLeftSide = this.triangleData.outsideVX === 'right';\n if (isSubNavigationOnLeftSide && this.mouseX < -1 * this.triangleData.padding) {\n return true;\n }\n if (!isSubNavigationOnLeftSide && this.mouseX > this.triangleData.parentElementWidth - this.triangleData.padding) {\n return true;\n }\n return false;\n }\n private getTriangleCoordinates(variant: 'safe-triangle' | 'fill-gap'): undefined | {\n lb: string;\n lt: string;\n rt: string;\n rb: string;\n } {\n if (!this.triangleData) {\n return;\n }\n if (variant === 'fill-gap') {\n const itemHeight = `${this.triangleData.itemRect.height + 2 * this.triangleData.padding}px`;\n const xStart = `${this.triangleData.parentElementWidth - this.triangleData.padding}px`;\n return {\n lb: `${xStart} ${itemHeight}`,\n lt: `${xStart} 0`,\n rt: '100% 0',\n rb: `100% ${itemHeight}`\n };\n }\n const tipX = this.getTriangleTipX();\n const tipY = this.getTriangleTipY();\n const lb = `${tipX}px ${tipY}px`;\n const lt = `${tipX}px ${tipY}px`;\n return {\n lb,\n lt,\n rt: '100% 0',\n rb: '100% 100%'\n };\n }\n public followByMouseEvent(event: MouseEvent) {\n if (!this.initialized || !this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n this.mouseX = event.clientX - this.triangleData.itemRect.left;\n this.mouseY = event.clientY - this.triangleData.itemRect.top;\n const isOverSubNavigation = this.hasMouseEnteredSubNavigation();\n const coordinates = this.getTriangleCoordinates(isOverSubNavigation ? 'fill-gap' : 'safe-triangle');\n if (!coordinates) {\n return;\n }\n this.element.style.setProperty('--db-navigation-item-clip-path', `polygon(${coordinates.lb}, ${coordinates.lt}, ${coordinates.rt}, ${coordinates.rb})`);\n if (isOverSubNavigation) {\n this.triangleData = undefined;\n }\n }\n}\nexport default {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle\n}"],"names":["handleDataOutside"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"navigation-BNSnj0bl.js","sources":["src/utils/navigation.ts"],"sourcesContent":["import { handleDataOutside } from './floating-components';\nexport type TriangleData = {\n itemRect: DOMRect;\n parentElementWidth: number;\n subNavigationHeight: number;\n padding: number;\n outsideVX: 'left' | 'right' | undefined;\n outsideVY: 'top' | 'bottom' | undefined;\n};\nexport const isEventTargetNavigationItem = (event: unknown): boolean => {\n const {\n target\n } = event as {\n target: HTMLElement;\n };\n return Boolean(!target?.classList?.contains('db-navigation-item-expand-button') && target?.parentElement?.classList.contains('db-navigation-item'));\n};\nexport class NavigationItemSafeTriangle {\n private readonly element: HTMLElement | null;\n private readonly subNavigation: HTMLElement | null;\n private readonly parentSubNavigation: HTMLElement | null = null;\n private triangleData?: TriangleData;\n private initialized: boolean = false;\n private mouseX: number = 0;\n private mouseY: number = 0;\n constructor(element: HTMLElement | null, subNavigation: HTMLElement | null) {\n this.element = element;\n this.subNavigation = subNavigation;\n if (!this.element || !this.subNavigation) {\n return;\n }\n this.parentSubNavigation = this.element?.closest('.db-sub-navigation');\n\n /*\n * only initiate if:\n * 1. item is not at root navigation level\n * 2. item is not in the mobile navigation / within db-drawer\n */\n if (this.parentSubNavigation && !this.element.closest('.db-drawer')) {\n this.init();\n }\n }\n private init() {\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n\n // the triangle has the width of the sub-navigation, current nav-item can be wider.\n // so the width of the triangle must be adapted to a possibly wider nav-item.\n this.element?.style.setProperty('--db-navigation-item-inline-size', `${parentElementWidth}px`);\n this.initialized = true;\n }\n public enableFollow() {\n if (!this.initialized || this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n const dataOutsidePair = handleDataOutside(this.subNavigation);\n const itemRect = this.element.getBoundingClientRect();\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n this.triangleData = {\n itemRect,\n parentElementWidth,\n subNavigationHeight: this.subNavigation.getBoundingClientRect().height,\n padding: (parentElementWidth - itemRect.width) / 2,\n outsideVX: dataOutsidePair.vx,\n outsideVY: dataOutsidePair.vy\n };\n }\n public disableFollow() {\n this.triangleData = undefined;\n }\n private getTriangleTipX(): number {\n if (!this.triangleData) return 0;\n if (this.triangleData.outsideVX === 'right') {\n // vertical flipped triangle needs an inverted x pos\n return this.triangleData.itemRect.width - this.mouseX;\n }\n\n // triangle stops shrinking from 75% x pos\n return Math.min(this.mouseX, this.triangleData.itemRect.width * 0.75);\n }\n private getTriangleTipY(): number {\n if (!this.triangleData) return 0;\n\n // padding must be added to the y pos of the tip so that the y pos matches the cursor\n const mouseYLimited = Math.max(Math.min(this.mouseY, this.triangleData.itemRect.height), 0) + this.triangleData.padding;\n if (this.triangleData.outsideVY === 'bottom') {\n // add offset to tip y pos to match corrected sub-navigation y pos\n return mouseYLimited + (this.triangleData.subNavigationHeight - this.triangleData.padding * 2 - this.triangleData.itemRect.height);\n }\n return mouseYLimited;\n }\n private hasMouseEnteredSubNavigation(): boolean {\n if (!this.triangleData) {\n return false;\n }\n const isSubNavigationOnLeftSide = this.triangleData.outsideVX === 'right';\n if (isSubNavigationOnLeftSide && this.mouseX < -1 * this.triangleData.padding) {\n return true;\n }\n if (!isSubNavigationOnLeftSide && this.mouseX > this.triangleData.parentElementWidth - this.triangleData.padding) {\n return true;\n }\n return false;\n }\n private getTriangleCoordinates(variant: 'safe-triangle' | 'fill-gap'): undefined | {\n lb: string;\n lt: string;\n rt: string;\n rb: string;\n } {\n if (!this.triangleData) {\n return;\n }\n if (variant === 'fill-gap') {\n const itemHeight = `${this.triangleData.itemRect.height + 2 * this.triangleData.padding}px`;\n const xStart = `${this.triangleData.parentElementWidth - this.triangleData.padding}px`;\n return {\n lb: `${xStart} ${itemHeight}`,\n lt: `${xStart} 0`,\n rt: '100% 0',\n rb: `100% ${itemHeight}`\n };\n }\n const tipX = this.getTriangleTipX();\n const tipY = this.getTriangleTipY();\n const lb = `${tipX}px ${tipY}px`;\n const lt = `${tipX}px ${tipY}px`;\n return {\n lb,\n lt,\n rt: '100% 0',\n rb: '100% 100%'\n };\n }\n public followByMouseEvent(event: MouseEvent) {\n if (!this.initialized || !this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n this.mouseX = event.clientX - this.triangleData.itemRect.left;\n this.mouseY = event.clientY - this.triangleData.itemRect.top;\n const isOverSubNavigation = this.hasMouseEnteredSubNavigation();\n const coordinates = this.getTriangleCoordinates(isOverSubNavigation ? 'fill-gap' : 'safe-triangle');\n if (!coordinates) {\n return;\n }\n this.element.style.setProperty('--db-navigation-item-clip-path', `polygon(${coordinates.lb}, ${coordinates.lt}, ${coordinates.rt}, ${coordinates.rb})`);\n if (isOverSubNavigation) {\n this.triangleData = undefined;\n }\n }\n}\nexport default {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle\n}"],"names":["handleDataOutside"],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ export class DBBadge {
|
|
|
51
51
|
parent = parent.parentElement;
|
|
52
52
|
}
|
|
53
53
|
if (parent) {
|
|
54
|
-
parent.
|
|
54
|
+
parent.dataset["hasBadge"] = "true";
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -66,7 +66,7 @@ export class DBBadge {
|
|
|
66
66
|
}
|
|
67
67
|
render() {
|
|
68
68
|
var _a, _b;
|
|
69
|
-
return (h("span", { key: '
|
|
69
|
+
return (h("span", { key: '1415e44da7031e4b0f94a1909f0b2a86ee42f771', class: cls("db-badge", this.className), ref: (el) => {
|
|
70
70
|
this._ref = el;
|
|
71
71
|
}, id: this.id, "data-semantic": this.semantic, "data-size": this.size, "data-emphasis": this.emphasis, "data-placement": this.placement, "data-label": ((_a = this.placement) === null || _a === void 0 ? void 0 : _a.startsWith("corner")) && ((_b = this.label) !== null && _b !== void 0 ? _b : DEFAULT_LABEL) }, this.text ? this.text : h("slot", null)));
|
|
72
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/badge/badge.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,CAAC,EAAY,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAG3E;;;GAGG;AAIH,MAAM,OAAO,OAAO;IAHnB;QAaU,gBAAW,GAAG,KAAK,CAAC;KAyF9B;IAvFC;;;;OAIG;IACK,sBAAsB,CAC5B,OAA2B,EAC3B,qBAA6B;QAE7B,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACvD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IACE,IAAI;oBACJ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAChE,CAAC;oBACD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACnD,OAAO,CAAC,YAAY,CAClB,IAAI,CAAC,IAAI,EACT,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CACpD,CAAC;oBACF,IAAI,cAAc,EAAE,CAAC;wBACnB,yDAAyD;wBACzD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ;;QACN,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;gBACrC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjD,qBAAqB;oBACrB,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;gBAChC,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/badge/badge.tsx"],"names":[],"mappings":"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","sourcesContent":["import { DBBadgeProps, DBBadgeState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { DEFAULT_LABEL } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-badge\",\n})\nexport class DBBadge {\n private _ref!: HTMLSpanElement | any;\n @Prop() placement: DBBadgeProps[\"placement\"];\n @Prop() id: DBBadgeProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBBadgeProps[\"className\"];\n @Prop() semantic: DBBadgeProps[\"semantic\"];\n @Prop() size: DBBadgeProps[\"size\"];\n @Prop() emphasis: DBBadgeProps[\"emphasis\"];\n @Prop() label: DBBadgeProps[\"label\"];\n @Prop() text: DBBadgeProps[\"text\"];\n @State() initialized = false;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized) {\n if (this.placement?.startsWith(\"corner\")) {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"badge\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n parent.dataset[\"hasBadge\"] = \"true\";\n }\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-badge\");\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <span\n class={cls(\"db-badge\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-semantic={this.semantic}\n data-size={this.size}\n data-emphasis={this.emphasis}\n data-placement={this.placement}\n data-label={\n this.placement?.startsWith(\"corner\") && (this.label ?? DEFAULT_LABEL)\n }\n >\n {this.text ? this.text : <slot></slot>}\n </span>\n );\n }\n}\n"]}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { cls, getBoolean, getBooleanAsString, getHideProp } from "../../utils";
|
|
2
|
-
import { h
|
|
2
|
+
import { h } from "@stencil/core";
|
|
3
3
|
/**
|
|
4
4
|
* @slot children - This is a default/unnamed slot
|
|
5
5
|
|
|
6
6
|
*/
|
|
7
7
|
export class DBButton {
|
|
8
|
-
handleClick(event) {
|
|
9
|
-
if (this.click) {
|
|
10
|
-
this.click.emit(event);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
8
|
/**
|
|
14
9
|
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
15
10
|
* @param element the ref for the component
|
|
@@ -46,9 +41,9 @@ export class DBButton {
|
|
|
46
41
|
this.enableAttributePassing(this._ref, "db-button");
|
|
47
42
|
}
|
|
48
43
|
render() {
|
|
49
|
-
return (h("button", { key: '
|
|
44
|
+
return (h("button", { key: 'c0aef693d8fca89f1f771a2a386ece7c42399692', class: cls("db-button", this.className), ref: (el) => {
|
|
50
45
|
this._ref = el;
|
|
51
|
-
}, id: this.id, type: this.type || "button", disabled: getBoolean(this.disabled, "disabled"), "aria-label": this.label, "data-icon": this.icon, "data-hide-icon": getHideProp(this.showIcon), "data-size": this.size, "data-state": this.state, "data-width": this.width, "data-variant": this.variant, "data-no-text": getBooleanAsString(this.noText), name: this.name, form: this.form, value: this.value, "aria-describedby": this.describedbyid, "aria-expanded": this.ariaexpanded, "aria-pressed": this.ariapressed
|
|
46
|
+
}, id: this.id, type: this.type || "button", disabled: getBoolean(this.disabled, "disabled"), "aria-label": this.label, "data-icon": this.icon, "data-hide-icon": getHideProp(this.showIcon), "data-size": this.size, "data-state": this.state, "data-width": this.width, "data-variant": this.variant, "data-no-text": getBooleanAsString(this.noText), name: this.name, form: this.form, value: this.value, "aria-describedby": this.describedbyid, "aria-expanded": this.ariaexpanded, "aria-pressed": this.ariapressed }, this.text ? this.text : h("slot", null)));
|
|
52
47
|
}
|
|
53
48
|
static get is() { return "db-button"; }
|
|
54
49
|
static get properties() {
|
|
@@ -530,23 +525,5 @@ export class DBButton {
|
|
|
530
525
|
}
|
|
531
526
|
};
|
|
532
527
|
}
|
|
533
|
-
static get events() {
|
|
534
|
-
return [{
|
|
535
|
-
"method": "click",
|
|
536
|
-
"name": "click",
|
|
537
|
-
"bubbles": true,
|
|
538
|
-
"cancelable": true,
|
|
539
|
-
"composed": true,
|
|
540
|
-
"docs": {
|
|
541
|
-
"tags": [],
|
|
542
|
-
"text": ""
|
|
543
|
-
},
|
|
544
|
-
"complexType": {
|
|
545
|
-
"original": "any",
|
|
546
|
-
"resolved": "any",
|
|
547
|
-
"references": {}
|
|
548
|
-
}
|
|
549
|
-
}];
|
|
550
|
-
}
|
|
551
528
|
}
|
|
552
529
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { DBButtonProps } from \"./model\";\nimport { cls, getBoolean, getBooleanAsString, getHideProp } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-button\",\n})\nexport class DBButton {\n private _ref!: HTMLButtonElement | any;\n @Prop() id: DBButtonProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBButtonProps[\"className\"];\n @Prop() type: DBButtonProps[\"type\"];\n @Prop() disabled: DBButtonProps[\"disabled\"];\n @Prop() label: DBButtonProps[\"label\"];\n @Prop() icon: DBButtonProps[\"icon\"];\n @Prop() showIcon: DBButtonProps[\"showIcon\"];\n @Prop() size: DBButtonProps[\"size\"];\n @Prop() state: DBButtonProps[\"state\"];\n @Prop() width: DBButtonProps[\"width\"];\n @Prop() variant: DBButtonProps[\"variant\"];\n @Prop() noText: DBButtonProps[\"noText\"];\n @Prop() name: DBButtonProps[\"name\"];\n @Prop() form: DBButtonProps[\"form\"];\n @Prop() value: DBButtonProps[\"value\"];\n @Prop() describedbyid: DBButtonProps[\"describedbyid\"];\n @Prop() ariaexpanded: DBButtonProps[\"ariaexpanded\"];\n @Prop() ariapressed: DBButtonProps[\"ariapressed\"];\n @Prop() text: DBButtonProps[\"text\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-button\");\n }\n\n render() {\n return (\n <button\n class={cls(\"db-button\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n type={this.type || \"button\"}\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-label={this.label}\n data-icon={this.icon}\n data-hide-icon={getHideProp(this.showIcon)}\n data-size={this.size}\n data-state={this.state}\n data-width={this.width}\n data-variant={this.variant}\n data-no-text={getBooleanAsString(this.noText)}\n name={this.name}\n form={this.form}\n value={this.value}\n aria-describedby={this.describedbyid}\n aria-expanded={this.ariaexpanded}\n aria-pressed={this.ariapressed}\n >\n {this.text ? this.text : <slot></slot>}\n </button>\n );\n }\n}\n"]}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { cls, getBooleanAsString, getHideProp } from "../../utils";
|
|
2
|
-
import { h
|
|
2
|
+
import { h } from "@stencil/core";
|
|
3
3
|
/**
|
|
4
4
|
* @slot children - This is a default/unnamed slot
|
|
5
5
|
|
|
6
6
|
*/
|
|
7
7
|
export class DBLink {
|
|
8
|
-
handleClick(event) {
|
|
9
|
-
if (this.click) {
|
|
10
|
-
this.click.emit(event);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
8
|
/**
|
|
14
9
|
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
15
10
|
* @param element the ref for the component
|
|
@@ -47,9 +42,9 @@ export class DBLink {
|
|
|
47
42
|
}
|
|
48
43
|
render() {
|
|
49
44
|
var _a;
|
|
50
|
-
return (h("a", { key: '
|
|
45
|
+
return (h("a", { key: '6902aafe758ae680869caf8d198fcf2e16a50ec3', class: cls("db-link", this.className), ref: (el) => {
|
|
51
46
|
this._ref = el;
|
|
52
|
-
}, id: this.id, href: this.href, target: this.target, rel: this.rel, role: this.role, hrefLang: this.hreflang, "aria-disabled": getBooleanAsString(this.disabled), tabIndex: this.disabled ? -1 : 0, "aria-selected": getBooleanAsString(this.selected), "aria-label": this.label, "aria-current": this.current, "data-size": this.size, "data-hide-icon-after": getHideProp((_a = this.showIcon) !== null && _a !== void 0 ? _a : true), "data-variant": this.variant, "data-content": this.content || "internal"
|
|
47
|
+
}, id: this.id, href: this.href, target: this.target, rel: this.rel, role: this.role, hrefLang: this.hreflang, "aria-disabled": getBooleanAsString(this.disabled), tabIndex: this.disabled ? -1 : 0, "aria-selected": getBooleanAsString(this.selected), "aria-label": this.label, "aria-current": this.current, "data-size": this.size, "data-hide-icon-after": getHideProp((_a = this.showIcon) !== null && _a !== void 0 ? _a : true), "data-variant": this.variant, "data-content": this.content || "internal" }, this.text ? this.text : h("slot", null)));
|
|
53
48
|
}
|
|
54
49
|
static get is() { return "db-link"; }
|
|
55
50
|
static get properties() {
|
|
@@ -456,23 +451,5 @@ export class DBLink {
|
|
|
456
451
|
}
|
|
457
452
|
};
|
|
458
453
|
}
|
|
459
|
-
static get events() {
|
|
460
|
-
return [{
|
|
461
|
-
"method": "click",
|
|
462
|
-
"name": "click",
|
|
463
|
-
"bubbles": true,
|
|
464
|
-
"cancelable": true,
|
|
465
|
-
"composed": true,
|
|
466
|
-
"docs": {
|
|
467
|
-
"tags": [],
|
|
468
|
-
"text": ""
|
|
469
|
-
},
|
|
470
|
-
"complexType": {
|
|
471
|
-
"original": "any",
|
|
472
|
-
"resolved": "any",
|
|
473
|
-
"references": {}
|
|
474
|
-
}
|
|
475
|
-
}];
|
|
476
|
-
}
|
|
477
454
|
}
|
|
478
455
|
//# sourceMappingURL=link.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/components/link/link.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/components/link/link.tsx"],"names":[],"mappings":"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","sourcesContent":["import { DBLinkProps } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-link\",\n})\nexport class DBLink {\n private _ref!: HTMLAnchorElement | any;\n @Prop() id: DBLinkProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBLinkProps[\"className\"];\n @Prop() href: DBLinkProps[\"href\"];\n @Prop() target: DBLinkProps[\"target\"];\n @Prop() rel: DBLinkProps[\"rel\"];\n @Prop() role: DBLinkProps[\"role\"];\n @Prop() hreflang: DBLinkProps[\"hreflang\"];\n @Prop() disabled: DBLinkProps[\"disabled\"];\n @Prop() selected: DBLinkProps[\"selected\"];\n @Prop() label: DBLinkProps[\"label\"];\n @Prop() current: DBLinkProps[\"current\"];\n @Prop() size: DBLinkProps[\"size\"];\n @Prop() showIcon: DBLinkProps[\"showIcon\"];\n @Prop() variant: DBLinkProps[\"variant\"];\n @Prop() content: DBLinkProps[\"content\"];\n @Prop() text: DBLinkProps[\"text\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-link\");\n }\n\n render() {\n return (\n <a\n class={cls(\"db-link\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n href={this.href}\n target={this.target}\n rel={this.rel}\n role={this.role}\n hrefLang={this.hreflang}\n aria-disabled={getBooleanAsString(this.disabled)}\n tabIndex={this.disabled ? -1 : 0}\n aria-selected={getBooleanAsString(this.selected)}\n aria-label={this.label}\n aria-current={this.current}\n data-size={this.size}\n data-hide-icon-after={getHideProp(this.showIcon ?? true)}\n data-variant={this.variant}\n data-content={this.content || \"internal\"}\n >\n {this.text ? this.text : <slot></slot>}\n </a>\n );\n }\n}\n"]}
|
|
@@ -106,7 +106,7 @@ export class DBTooltip {
|
|
|
106
106
|
["mouseleave", "focusout"].forEach((event) => {
|
|
107
107
|
parent.addEventListener(event, () => this.handleLeave());
|
|
108
108
|
});
|
|
109
|
-
parent.
|
|
109
|
+
parent.dataset["hasTooltip"] = "true";
|
|
110
110
|
if (this.variant === "label") {
|
|
111
111
|
parent.setAttribute("aria-labelledby", this._id);
|
|
112
112
|
}
|
|
@@ -136,9 +136,9 @@ export class DBTooltip {
|
|
|
136
136
|
}
|
|
137
137
|
render() {
|
|
138
138
|
var _a, _b;
|
|
139
|
-
return (h("i", { key: '
|
|
139
|
+
return (h("i", { key: '06e4f7049086003f75436b06960547bac641c7d9', class: cls("db-tooltip", this.className), role: "tooltip", "aria-hidden": "true", "data-gap": "true", ref: (el) => {
|
|
140
140
|
this._ref = el;
|
|
141
|
-
}, id: this._id, "data-emphasis": this.emphasis, "data-animation": getBooleanAsString((_a = this.animation) !== null && _a !== void 0 ? _a : true), "data-delay": this.delay, "data-width": this.width, "data-show-arrow": getBooleanAsString((_b = this.showArrow) !== null && _b !== void 0 ? _b : true), "data-placement": this.placement, onClick: (event) => this.handleClick(event) }, h("slot", { key: '
|
|
141
|
+
}, id: this._id, "data-emphasis": this.emphasis, "data-animation": getBooleanAsString((_a = this.animation) !== null && _a !== void 0 ? _a : true), "data-delay": this.delay, "data-width": this.width, "data-show-arrow": getBooleanAsString((_b = this.showArrow) !== null && _b !== void 0 ? _b : true), "data-placement": this.placement, onClick: (event) => this.handleClick(event) }, h("slot", { key: 'e4edca53e32baaa3ac3da32f56cb92213d2507ff' })));
|
|
142
142
|
}
|
|
143
143
|
static get is() { return "db-tooltip"; }
|
|
144
144
|
static get properties() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { DBTooltipProps, DBTooltipState } from \"./model\";\nimport {\n cls,\n delay as utilsDelay,\n getBooleanAsString,\n uuid,\n} from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tooltip\",\n})\nexport class DBTooltip {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTooltipProps[\"id\"];\n @Prop() variant: DBTooltipProps[\"variant\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\n @Prop({attribute: \"classname\"}) className: DBTooltipProps[\"className\"];\n @Prop() emphasis: DBTooltipProps[\"emphasis\"];\n @Prop() animation: DBTooltipProps[\"animation\"];\n @Prop() delay: DBTooltipProps[\"delay\"];\n @Prop() width: DBTooltipProps[\"width\"];\n @Prop() showArrow: DBTooltipProps[\"showArrow\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n @State() _documentScrollListenerCallbackId = undefined;\n @State() _observer = undefined;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleEscape(event: any) {\n if (\n (!event || event.key === \"Escape\") &&\n this._ref &&\n getComputedStyle(this._ref).visibility === \"visible\"\n ) {\n this.getParent().blur();\n }\n }\n getParent() {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n return parent;\n }\n handleAutoPlacement(parent?: HTMLElement) {\n if (!parent) return;\n if (this._ref) {\n // This is a workaround for angular\n utilsDelay(() => {\n handleFixedPopover(\n this._ref,\n parent,\n (this.placement as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any, parent?: HTMLElement) {\n if (event?.target?.contains && event?.target?.contains(this._ref)) {\n this.handleAutoPlacement(parent);\n }\n }\n handleLeave() {\n if (this._documentScrollListenerCallbackId) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId!\n );\n }\n this._observer?.unobserve(this.getParent());\n }\n handleEnter(parent?: HTMLElement) {\n this._documentScrollListenerCallbackId =\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event, parent)\n );\n this.handleAutoPlacement(parent);\n this._observer?.observe(this.getParent());\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized && this._id) {\n const parent = this.getParent();\n if (parent) {\n [\"mouseenter\", \"focusin\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleEnter(parent));\n });\n parent.addEventListener(\"keydown\", (event) => this.handleEscape(event));\n [\"mouseleave\", \"focusout\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleLeave());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n if (this.variant === \"label\") {\n parent.setAttribute(\"aria-labelledby\", this._id);\n } else {\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n }\n if (typeof window !== \"undefined\" && \"IntersectionObserver\" in window) {\n this._observer = new IntersectionObserver((payload) => {\n const entry = payload.find(\n ({ target }) => target === this.getParent()\n );\n if (entry && !entry.isIntersecting) {\n this.handleEscape(false);\n }\n });\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tooltip\");\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <i\n class={cls(\"db-tooltip\", this.className)}\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-emphasis={this.emphasis}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-delay={this.delay}\n data-width={this.width}\n data-show-arrow={getBooleanAsString(this.showArrow ?? true)}\n data-placement={this.placement}\n onClick={(event) => this.handleClick(event)}\n >\n <slot></slot>\n </i>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { DBTooltipProps, DBTooltipState } from \"./model\";\nimport {\n cls,\n delay as utilsDelay,\n getBooleanAsString,\n uuid,\n} from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tooltip\",\n})\nexport class DBTooltip {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTooltipProps[\"id\"];\n @Prop() variant: DBTooltipProps[\"variant\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\n @Prop({attribute: \"classname\"}) className: DBTooltipProps[\"className\"];\n @Prop() emphasis: DBTooltipProps[\"emphasis\"];\n @Prop() animation: DBTooltipProps[\"animation\"];\n @Prop() delay: DBTooltipProps[\"delay\"];\n @Prop() width: DBTooltipProps[\"width\"];\n @Prop() showArrow: DBTooltipProps[\"showArrow\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n @State() _documentScrollListenerCallbackId = undefined;\n @State() _observer = undefined;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleEscape(event: any) {\n if (\n (!event || event.key === \"Escape\") &&\n this._ref &&\n getComputedStyle(this._ref).visibility === \"visible\"\n ) {\n this.getParent().blur();\n }\n }\n getParent() {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n return parent;\n }\n handleAutoPlacement(parent?: HTMLElement) {\n if (!parent) return;\n if (this._ref) {\n // This is a workaround for angular\n utilsDelay(() => {\n handleFixedPopover(\n this._ref,\n parent,\n (this.placement as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any, parent?: HTMLElement) {\n if (event?.target?.contains && event?.target?.contains(this._ref)) {\n this.handleAutoPlacement(parent);\n }\n }\n handleLeave() {\n if (this._documentScrollListenerCallbackId) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId!\n );\n }\n this._observer?.unobserve(this.getParent());\n }\n handleEnter(parent?: HTMLElement) {\n this._documentScrollListenerCallbackId =\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event, parent)\n );\n this.handleAutoPlacement(parent);\n this._observer?.observe(this.getParent());\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized && this._id) {\n const parent = this.getParent();\n if (parent) {\n [\"mouseenter\", \"focusin\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleEnter(parent));\n });\n parent.addEventListener(\"keydown\", (event) => this.handleEscape(event));\n [\"mouseleave\", \"focusout\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleLeave());\n });\n parent.dataset[\"hasTooltip\"] = \"true\";\n if (this.variant === \"label\") {\n parent.setAttribute(\"aria-labelledby\", this._id);\n } else {\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n }\n if (typeof window !== \"undefined\" && \"IntersectionObserver\" in window) {\n this._observer = new IntersectionObserver((payload) => {\n const entry = payload.find(\n ({ target }) => target === this.getParent()\n );\n if (entry && !entry.isIntersecting) {\n this.handleEscape(false);\n }\n });\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tooltip\");\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <i\n class={cls(\"db-tooltip\", this.className)}\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-emphasis={this.emphasis}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-delay={this.delay}\n data-width={this.width}\n data-show-arrow={getBooleanAsString(this.showArrow ?? true)}\n data-placement={this.placement}\n onClick={(event) => this.handleClick(event)}\n >\n <slot></slot>\n </i>\n );\n }\n}\n"]}
|
|
@@ -301,6 +301,6 @@ export const handleFixedPopover = (element, parent, placement) => {
|
|
|
301
301
|
element.style.insetBlockEnd = `calc(${end > innerHeight ? innerHeight : end}px + ${distance})`;
|
|
302
302
|
}
|
|
303
303
|
element.style.position = 'fixed';
|
|
304
|
-
element.
|
|
304
|
+
element.dataset['correctedPlacement'] = correctedPlacement;
|
|
305
305
|
};
|
|
306
306
|
//# sourceMappingURL=floating-components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floating-components.js","sourceRoot":"","sources":["../../src/utils/floating-components.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: We should reevaluate this as soon as CSS Anchor Positioning is supported in all relevant browsers\nconst isInView = (el: HTMLElement) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.dataset['outsideVy'];\n const outsideX = el.dataset['outsideVx'];\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.dataset['outsideVy'];\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.dataset['outsideVx'];\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: HTMLElement): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.dataset['outsideVy'] = dataOutsidePair.vy!;\n } else {\n delete el.dataset['outsideVy'];\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.dataset['outsideVx'] = dataOutsidePair.vx!;\n } else {\n delete el.dataset['outsideVx'];\n }\n return dataOutsidePair;\n};\nexport const handleFixedDropdown = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n // We skip this if we are in mobile it's already fixed\n if (getComputedStyle(element).zIndex === '9999') return;\n const {\n top,\n bottom,\n childHeight,\n childWidth,\n width,\n right,\n left,\n correctedPlacement\n } = getFloatingProps(element, parent, placement);\n const fullWidth = element.dataset['width'] === 'full';\n if (fullWidth) {\n element.style.inlineSize = `${width}px`;\n }\n if (correctedPlacement === 'top' || correctedPlacement === 'bottom' || correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n element.style.insetInlineStart = `${left}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n element.style.insetInlineStart = `${right - childWidth}px`;\n }\n if (correctedPlacement?.startsWith('top')) {\n element.style.insetBlockStart = `${top - childHeight}px`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n element.style.insetBlockStart = `${bottom}px`;\n }\n element.style.position = 'fixed';\n};\nexport const getFloatingProps = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n if (!element || !parent) {\n return {\n top: 0,\n bottom: 0,\n right: 0,\n height: 0,\n width: 0,\n left: 0,\n childHeight: 0,\n childWidth: 0,\n correctedPlacement: placement,\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight\n };\n }\n const childRect = element.getBoundingClientRect();\n const {\n top,\n height,\n bottom,\n right,\n left,\n width\n } = parent.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let childHeight = childRect.height;\n let childWidth = childRect.width;\n if (placement === 'bottom' || placement === 'top') {\n childWidth = childWidth / 2;\n }\n if (placement === 'left' || placement === 'right') {\n childHeight = childHeight / 2;\n }\n const outsideBottom = bottom + childHeight > innerHeight;\n const outsideTop = top - childHeight < 0;\n const outsideLeft = left - childWidth < 0;\n const outsideRight = right + childWidth > innerWidth;\n let correctedPlacement = placement;\n if (placement.startsWith('bottom')) {\n if (outsideBottom) {\n correctedPlacement = placement?.replace('bottom', 'top');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n }\n } else if (placement.startsWith('top')) {\n if (outsideTop) {\n correctedPlacement = placement?.replace('top', 'bottom');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n }\n } else if (placement.startsWith('left')) {\n if (outsideLeft) {\n correctedPlacement = placement?.replace('left', 'right');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n }\n } else if (correctedPlacement.startsWith('right')) {\n if (outsideRight) {\n correctedPlacement = placement?.replace('right', 'left');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n }\n }\n return {\n top,\n bottom,\n right,\n height,\n width,\n left,\n childHeight: childRect.height,\n childWidth: childRect.width,\n correctedPlacement,\n innerWidth,\n innerHeight\n };\n};\nexport const handleFixedPopover = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n const distance = getComputedStyle(element).getPropertyValue('--db-popover-distance') ?? '0px';\n const {\n top,\n height,\n width,\n childHeight,\n childWidth,\n right,\n left,\n bottom,\n correctedPlacement,\n innerWidth,\n innerHeight\n } = getFloatingProps(element, parent, placement);\n\n // Tooltip arrow position\n\n if (childWidth > width && (correctedPlacement.startsWith('bottom') || correctedPlacement.startsWith('top'))) {\n const diff = width / 2 / childWidth * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${100 - diff}%`);\n }\n }\n if (childHeight > height && (correctedPlacement.startsWith('left') || correctedPlacement.startsWith('bottom'))) {\n const diff = height / 2 / childHeight * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${100 - diff}%`);\n }\n }\n\n // Popover position\n\n if (correctedPlacement === 'right' || correctedPlacement === 'left') {\n // center horizontally\n element.style.insetBlockStart = `${top + height / 2}px`;\n } else if (correctedPlacement === 'right-start' || correctedPlacement === 'left-start') {\n const end = top + childHeight;\n element.style.insetBlockStart = `${top}px`;\n element.style.insetBlockEnd = `${end > innerHeight ? innerHeight : end}px`;\n } else if (correctedPlacement === 'right-end' || correctedPlacement === 'left-end') {\n const start = bottom - childHeight;\n element.style.insetBlockStart = `${start < 0 ? 0 : start}px`;\n element.style.insetBlockEnd = `${bottom}px`;\n } else if (correctedPlacement === 'top' || correctedPlacement === 'bottom') {\n // center vertically\n element.style.insetInlineStart = `${left + width / 2}px`;\n } else if (correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n const end = left + childWidth;\n element.style.insetInlineStart = `${left}px`;\n element.style.insetInlineEnd = `${end > innerWidth ? innerWidth : end}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n const start = left - childWidth;\n element.style.insetInlineStart = `${right - childWidth}px`;\n element.style.insetInlineEnd = `${start < 0 ? 0 : start}px`;\n }\n if (correctedPlacement?.startsWith('right')) {\n const end = right + childWidth;\n element.style.insetInlineStart = `calc(${right}px + ${distance})`;\n element.style.insetInlineEnd = `calc(${end > innerWidth ? innerWidth : end}px + ${distance})`;\n } else if (correctedPlacement?.startsWith('left')) {\n const start = left - childWidth;\n element.style.insetInlineStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetInlineEnd = `calc(${right}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('top')) {\n const start = top - childHeight;\n element.style.insetBlockStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetBlockEnd = `calc(${bottom}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n const end = bottom + childHeight;\n element.style.insetBlockStart = `calc(${bottom}px + ${distance})`;\n element.style.insetBlockEnd = `calc(${end > innerHeight ? innerHeight : end}px + ${distance})`;\n }\n element.style.position = 'fixed';\n element.setAttribute('data-corrected-placement', correctedPlacement);\n}"]}
|
|
1
|
+
{"version":3,"file":"floating-components.js","sourceRoot":"","sources":["../../src/utils/floating-components.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,MAAM,QAAQ,GAAG,CAAC,EAAe,EAAE,EAAE;;IACnC,MAAM,EACJ,GAAG,EACH,MAAM,EACN,IAAI,EACJ,KAAK,EACN,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;IAC/B,MAAM,EACJ,WAAW,EACX,UAAU,EACX,GAAG,MAAM,CAAC;IACX,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;IACrC,IAAI,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;IACvB,IAAI,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;IAElC,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,qBAAqB,EAAE,CAAC;IAC9D,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,MAAM,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC;YACvE,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,OAAO,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,MAAM;QACN,SAAS;QACT,OAAO;QACP,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAe,EAAqB,EAAE;IACtE,MAAM,EACJ,MAAM,EACN,SAAS,EACT,OAAO,EACP,QAAQ,EACT,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjB,IAAI,eAAe,GAAsB,EAAE,CAAC;IAC5C,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,eAAe,GAAG;YAChB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;SAC9B,CAAC;QACF,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,EAAG,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,eAAe,mCACV,eAAe,KAClB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAChC,CAAC;QACF,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,EAAG,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAoB,EAAE,MAAmB,EAAE,SAAiB,EAAE,EAAE;IAClG,sDAAsD;IACtD,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO;IACxD,MAAM,EACJ,GAAG,EACH,MAAM,EACN,WAAW,EACX,UAAU,EACV,KAAK,EACL,KAAK,EACL,IAAI,EACJ,kBAAkB,EACnB,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC;IACtD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,KAAK,IAAI,CAAC;IAC1C,CAAC;IACD,IAAI,kBAAkB,KAAK,KAAK,IAAI,kBAAkB,KAAK,QAAQ,IAAI,kBAAkB,KAAK,WAAW,IAAI,kBAAkB,KAAK,cAAc,EAAE,CAAC;QACnJ,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,IAAI,IAAI,CAAC;IAC/C,CAAC;SAAM,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,KAAK,YAAY,EAAE,CAAC;QACnF,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,KAAK,GAAG,UAAU,IAAI,CAAC;IAC7D,CAAC;IACD,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,GAAG,GAAG,WAAW,IAAI,CAAC;IAC3D,CAAC;SAAM,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,MAAM,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;AACnC,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAoB,EAAE,MAAmB,EAAE,SAAiB,EAAE,EAAE;IAC/F,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,kBAAkB,EAAE,SAAS;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAClD,MAAM,EACJ,GAAG,EACH,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACN,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IACnC,MAAM,EACJ,WAAW,EACX,UAAU,EACX,GAAG,MAAM,CAAC;IACX,IAAI,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;IACnC,IAAI,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;IACjC,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAClD,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAClD,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;IACzD,MAAM,UAAU,GAAG,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;IACrD,IAAI,kBAAkB,GAAG,SAAS,CAAC;IACnC,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,IAAI,aAAa,EAAE,CAAC;YAClB,kBAAkB,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;gBAChC,kBAAkB,GAAG,KAAK,CAAC;YAC7B,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,kBAAkB,GAAG,WAAW,CAAC;YACnC,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACxB,kBAAkB,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;gBAChC,kBAAkB,GAAG,QAAQ,CAAC;YAChC,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,kBAAkB,GAAG,cAAc,CAAC;YACtC,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACxB,kBAAkB,GAAG,YAAY,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,IAAI,UAAU,EAAE,CAAC;YACf,kBAAkB,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACzD,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;gBAChC,kBAAkB,GAAG,QAAQ,CAAC;YAChC,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,kBAAkB,GAAG,cAAc,CAAC;YACtC,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACxB,kBAAkB,GAAG,YAAY,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;gBAChC,kBAAkB,GAAG,KAAK,CAAC;YAC7B,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,kBAAkB,GAAG,WAAW,CAAC;YACnC,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACxB,kBAAkB,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,IAAI,WAAW,EAAE,CAAC;YAChB,kBAAkB,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;gBAChC,kBAAkB,GAAG,OAAO,CAAC;YAC/B,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACzB,kBAAkB,GAAG,WAAW,CAAC;YACnC,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,kBAAkB,GAAG,aAAa,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;gBAChC,kBAAkB,GAAG,MAAM,CAAC;YAC9B,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACzB,kBAAkB,GAAG,UAAU,CAAC;YAClC,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,kBAAkB,GAAG,YAAY,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,IAAI,YAAY,EAAE,CAAC;YACjB,kBAAkB,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;gBAChC,kBAAkB,GAAG,MAAM,CAAC;YAC9B,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACzB,kBAAkB,GAAG,UAAU,CAAC;YAClC,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,kBAAkB,GAAG,YAAY,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;gBAChC,kBAAkB,GAAG,OAAO,CAAC;YAC/B,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACzB,kBAAkB,GAAG,WAAW,CAAC;YACnC,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,kBAAkB,GAAG,aAAa,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,GAAG;QACH,MAAM;QACN,KAAK;QACL,MAAM;QACN,KAAK;QACL,IAAI;QACJ,WAAW,EAAE,SAAS,CAAC,MAAM;QAC7B,UAAU,EAAE,SAAS,CAAC,KAAK;QAC3B,kBAAkB;QAClB,UAAU;QACV,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAoB,EAAE,MAAmB,EAAE,SAAiB,EAAE,EAAE;;IACjG,MAAM,QAAQ,GAAG,MAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,mCAAI,KAAK,CAAC;IAC9F,MAAM,EACJ,GAAG,EACH,MAAM,EACN,KAAK,EACL,WAAW,EACX,UAAU,EACV,KAAK,EACL,IAAI,EACJ,MAAM,EACN,kBAAkB,EAClB,UAAU,EACV,WAAW,EACZ,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjD,yBAAyB;IAEzB,IAAI,UAAU,GAAG,KAAK,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5G,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC;QAC1C,IAAI,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iCAAiC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iCAAiC,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC;QAC5C,IAAI,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,gCAAgC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,gCAAgC,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,mBAAmB;IAEnB,IAAI,kBAAkB,KAAK,OAAO,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;QACpE,sBAAsB;QACtB,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC;IAC1D,CAAC;SAAM,IAAI,kBAAkB,KAAK,aAAa,IAAI,kBAAkB,KAAK,YAAY,EAAE,CAAC;QACvF,MAAM,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7E,CAAC;SAAM,IAAI,kBAAkB,KAAK,WAAW,IAAI,kBAAkB,KAAK,UAAU,EAAE,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,MAAM,IAAI,CAAC;IAC9C,CAAC;SAAM,IAAI,kBAAkB,KAAK,KAAK,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAC3E,oBAAoB;QACpB,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;IAC3D,CAAC;SAAM,IAAI,kBAAkB,KAAK,WAAW,IAAI,kBAAkB,KAAK,cAAc,EAAE,CAAC;QACvF,MAAM,GAAG,GAAG,IAAI,GAAG,UAAU,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,IAAI,IAAI,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC5E,CAAC;SAAM,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,KAAK,YAAY,EAAE,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,GAAG,UAAU,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,KAAK,GAAG,UAAU,IAAI,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9D,CAAC;IACD,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,KAAK,GAAG,UAAU,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,KAAK,QAAQ,QAAQ,GAAG,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,QAAQ,GAAG,CAAC;IAChG,CAAC;SAAM,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,GAAG,UAAU,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,QAAQ,GAAG,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,KAAK,QAAQ,QAAQ,GAAG,CAAC;IAClE,CAAC;SAAM,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,GAAG,GAAG,WAAW,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,QAAQ,GAAG,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,MAAM,QAAQ,QAAQ,GAAG,CAAC;IAClE,CAAC;SAAM,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,GAAG,WAAW,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,MAAM,QAAQ,QAAQ,GAAG,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,QAAQ,GAAG,CAAC;IACjG,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,kBAAkB,CAAC;AAC7D,CAAC,CAAA","sourcesContent":["// TODO: We should reevaluate this as soon as CSS Anchor Positioning is supported in all relevant browsers\nconst isInView = (el: HTMLElement) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.dataset['outsideVy'];\n const outsideX = el.dataset['outsideVx'];\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.dataset['outsideVy'];\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.dataset['outsideVx'];\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: HTMLElement): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.dataset['outsideVy'] = dataOutsidePair.vy!;\n } else {\n delete el.dataset['outsideVy'];\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.dataset['outsideVx'] = dataOutsidePair.vx!;\n } else {\n delete el.dataset['outsideVx'];\n }\n return dataOutsidePair;\n};\nexport const handleFixedDropdown = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n // We skip this if we are in mobile it's already fixed\n if (getComputedStyle(element).zIndex === '9999') return;\n const {\n top,\n bottom,\n childHeight,\n childWidth,\n width,\n right,\n left,\n correctedPlacement\n } = getFloatingProps(element, parent, placement);\n const fullWidth = element.dataset['width'] === 'full';\n if (fullWidth) {\n element.style.inlineSize = `${width}px`;\n }\n if (correctedPlacement === 'top' || correctedPlacement === 'bottom' || correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n element.style.insetInlineStart = `${left}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n element.style.insetInlineStart = `${right - childWidth}px`;\n }\n if (correctedPlacement?.startsWith('top')) {\n element.style.insetBlockStart = `${top - childHeight}px`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n element.style.insetBlockStart = `${bottom}px`;\n }\n element.style.position = 'fixed';\n};\nexport const getFloatingProps = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n if (!element || !parent) {\n return {\n top: 0,\n bottom: 0,\n right: 0,\n height: 0,\n width: 0,\n left: 0,\n childHeight: 0,\n childWidth: 0,\n correctedPlacement: placement,\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight\n };\n }\n const childRect = element.getBoundingClientRect();\n const {\n top,\n height,\n bottom,\n right,\n left,\n width\n } = parent.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let childHeight = childRect.height;\n let childWidth = childRect.width;\n if (placement === 'bottom' || placement === 'top') {\n childWidth = childWidth / 2;\n }\n if (placement === 'left' || placement === 'right') {\n childHeight = childHeight / 2;\n }\n const outsideBottom = bottom + childHeight > innerHeight;\n const outsideTop = top - childHeight < 0;\n const outsideLeft = left - childWidth < 0;\n const outsideRight = right + childWidth > innerWidth;\n let correctedPlacement = placement;\n if (placement.startsWith('bottom')) {\n if (outsideBottom) {\n correctedPlacement = placement?.replace('bottom', 'top');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n }\n } else if (placement.startsWith('top')) {\n if (outsideTop) {\n correctedPlacement = placement?.replace('top', 'bottom');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n }\n } else if (placement.startsWith('left')) {\n if (outsideLeft) {\n correctedPlacement = placement?.replace('left', 'right');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n }\n } else if (correctedPlacement.startsWith('right')) {\n if (outsideRight) {\n correctedPlacement = placement?.replace('right', 'left');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n }\n }\n return {\n top,\n bottom,\n right,\n height,\n width,\n left,\n childHeight: childRect.height,\n childWidth: childRect.width,\n correctedPlacement,\n innerWidth,\n innerHeight\n };\n};\nexport const handleFixedPopover = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n const distance = getComputedStyle(element).getPropertyValue('--db-popover-distance') ?? '0px';\n const {\n top,\n height,\n width,\n childHeight,\n childWidth,\n right,\n left,\n bottom,\n correctedPlacement,\n innerWidth,\n innerHeight\n } = getFloatingProps(element, parent, placement);\n\n // Tooltip arrow position\n\n if (childWidth > width && (correctedPlacement.startsWith('bottom') || correctedPlacement.startsWith('top'))) {\n const diff = width / 2 / childWidth * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${100 - diff}%`);\n }\n }\n if (childHeight > height && (correctedPlacement.startsWith('left') || correctedPlacement.startsWith('bottom'))) {\n const diff = height / 2 / childHeight * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${100 - diff}%`);\n }\n }\n\n // Popover position\n\n if (correctedPlacement === 'right' || correctedPlacement === 'left') {\n // center horizontally\n element.style.insetBlockStart = `${top + height / 2}px`;\n } else if (correctedPlacement === 'right-start' || correctedPlacement === 'left-start') {\n const end = top + childHeight;\n element.style.insetBlockStart = `${top}px`;\n element.style.insetBlockEnd = `${end > innerHeight ? innerHeight : end}px`;\n } else if (correctedPlacement === 'right-end' || correctedPlacement === 'left-end') {\n const start = bottom - childHeight;\n element.style.insetBlockStart = `${start < 0 ? 0 : start}px`;\n element.style.insetBlockEnd = `${bottom}px`;\n } else if (correctedPlacement === 'top' || correctedPlacement === 'bottom') {\n // center vertically\n element.style.insetInlineStart = `${left + width / 2}px`;\n } else if (correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n const end = left + childWidth;\n element.style.insetInlineStart = `${left}px`;\n element.style.insetInlineEnd = `${end > innerWidth ? innerWidth : end}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n const start = left - childWidth;\n element.style.insetInlineStart = `${right - childWidth}px`;\n element.style.insetInlineEnd = `${start < 0 ? 0 : start}px`;\n }\n if (correctedPlacement?.startsWith('right')) {\n const end = right + childWidth;\n element.style.insetInlineStart = `calc(${right}px + ${distance})`;\n element.style.insetInlineEnd = `calc(${end > innerWidth ? innerWidth : end}px + ${distance})`;\n } else if (correctedPlacement?.startsWith('left')) {\n const start = left - childWidth;\n element.style.insetInlineStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetInlineEnd = `calc(${right}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('top')) {\n const start = top - childHeight;\n element.style.insetBlockStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetBlockEnd = `calc(${bottom}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n const end = bottom + childHeight;\n element.style.insetBlockStart = `calc(${bottom}px + ${distance})`;\n element.style.insetBlockEnd = `calc(${end > innerHeight ? innerHeight : end}px + ${distance})`;\n }\n element.style.position = 'fixed';\n element.dataset['correctedPlacement'] = correctedPlacement;\n}"]}
|
|
@@ -321,18 +321,6 @@
|
|
|
321
321
|
"resolvedType": "string"
|
|
322
322
|
}
|
|
323
323
|
},
|
|
324
|
-
{
|
|
325
|
-
"kind": "method",
|
|
326
|
-
"name": "handleClick",
|
|
327
|
-
"parameters": [
|
|
328
|
-
{
|
|
329
|
-
"name": "event",
|
|
330
|
-
"type": {
|
|
331
|
-
"text": "ClickEvent<HTMLButtonElement>"
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
]
|
|
335
|
-
},
|
|
336
324
|
{
|
|
337
325
|
"kind": "method",
|
|
338
326
|
"name": "enableAttributePassing",
|
|
@@ -659,14 +647,7 @@
|
|
|
659
647
|
}
|
|
660
648
|
],
|
|
661
649
|
"tagName": "db-button",
|
|
662
|
-
"events": [
|
|
663
|
-
{
|
|
664
|
-
"name": "click",
|
|
665
|
-
"type": {
|
|
666
|
-
"text": "EventEmitter<\n Parameters<Required<DBButtonProps>[\"onClick\"]>[number]\n > | void"
|
|
667
|
-
}
|
|
668
|
-
}
|
|
669
|
-
],
|
|
650
|
+
"events": [],
|
|
670
651
|
"customElement": true
|
|
671
652
|
}
|
|
672
653
|
],
|
|
@@ -6310,18 +6291,6 @@
|
|
|
6310
6291
|
"resolvedType": "string"
|
|
6311
6292
|
}
|
|
6312
6293
|
},
|
|
6313
|
-
{
|
|
6314
|
-
"kind": "method",
|
|
6315
|
-
"name": "handleClick",
|
|
6316
|
-
"parameters": [
|
|
6317
|
-
{
|
|
6318
|
-
"name": "event",
|
|
6319
|
-
"type": {
|
|
6320
|
-
"text": "ClickEvent<HTMLAnchorElement>"
|
|
6321
|
-
}
|
|
6322
|
-
}
|
|
6323
|
-
]
|
|
6324
|
-
},
|
|
6325
6294
|
{
|
|
6326
6295
|
"kind": "method",
|
|
6327
6296
|
"name": "enableAttributePassing",
|
|
@@ -6600,14 +6569,7 @@
|
|
|
6600
6569
|
}
|
|
6601
6570
|
],
|
|
6602
6571
|
"tagName": "db-link",
|
|
6603
|
-
"events": [
|
|
6604
|
-
{
|
|
6605
|
-
"name": "click",
|
|
6606
|
-
"type": {
|
|
6607
|
-
"text": "EventEmitter<\n Parameters<Required<DBLinkProps>[\"onClick\"]>[number]\n > | void"
|
|
6608
|
-
}
|
|
6609
|
-
}
|
|
6610
|
-
],
|
|
6572
|
+
"events": [],
|
|
6611
6573
|
"customElement": true
|
|
6612
6574
|
}
|
|
6613
6575
|
],
|