@ganpatiinfo/gids-web-dom-reference 7.2.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/dist/components/GidsButton/GidsButton.d.ts +1 -1
- package/dist/components/GidsButton/GidsButton.d.ts.map +1 -1
- package/dist/components/GidsButton/GidsButton.js +2 -2
- package/dist/components/GidsButton/GidsButton.js.map +1 -1
- package/dist/components/GidsDropdownItem/GidsDropdownItem.d.ts +10 -0
- package/dist/components/GidsDropdownItem/GidsDropdownItem.d.ts.map +1 -0
- package/dist/components/GidsDropdownItem/GidsDropdownItem.js +31 -0
- package/dist/components/GidsDropdownItem/GidsDropdownItem.js.map +1 -0
- package/dist/components/GidsDropdownMenu/GidsDropdownMenu.d.ts +7 -0
- package/dist/components/GidsDropdownMenu/GidsDropdownMenu.d.ts.map +1 -0
- package/dist/components/GidsDropdownMenu/GidsDropdownMenu.js +24 -0
- package/dist/components/GidsDropdownMenu/GidsDropdownMenu.js.map +1 -0
- package/dist/components/GidsDropdownMenuGroup/GidsDropdownMenuGroup.d.ts +7 -0
- package/dist/components/GidsDropdownMenuGroup/GidsDropdownMenuGroup.d.ts.map +1 -0
- package/dist/components/GidsDropdownMenuGroup/GidsDropdownMenuGroup.js +13 -0
- package/dist/components/GidsDropdownMenuGroup/GidsDropdownMenuGroup.js.map +1 -0
- package/dist/components/GidsEditButton/GidsEditButton.d.ts +8 -0
- package/dist/components/GidsEditButton/GidsEditButton.d.ts.map +1 -0
- package/dist/components/GidsEditButton/GidsEditButton.js +44 -0
- package/dist/components/GidsEditButton/GidsEditButton.js.map +1 -0
- package/dist/components/GidsListItem/GidsListItem.d.ts +11 -0
- package/dist/components/GidsListItem/GidsListItem.d.ts.map +1 -0
- package/dist/components/GidsListItem/GidsListItem.js +196 -0
- package/dist/components/GidsListItem/GidsListItem.js.map +1 -0
- package/dist/components/GidsMenu/GidsMenu.d.ts +7 -0
- package/dist/components/GidsMenu/GidsMenu.d.ts.map +1 -0
- package/dist/components/GidsMenu/GidsMenu.js +34 -0
- package/dist/components/GidsMenu/GidsMenu.js.map +1 -0
- package/dist/components/GidsMenuGroup/GidsMenuGroup.d.ts +7 -0
- package/dist/components/GidsMenuGroup/GidsMenuGroup.d.ts.map +1 -0
- package/dist/components/GidsMenuGroup/GidsMenuGroup.js +31 -0
- package/dist/components/GidsMenuGroup/GidsMenuGroup.js.map +1 -0
- package/dist/components/GidsPopover/GidsPopover.d.ts +7 -0
- package/dist/components/GidsPopover/GidsPopover.d.ts.map +1 -0
- package/dist/components/GidsPopover/GidsPopover.js +16 -0
- package/dist/components/GidsPopover/GidsPopover.js.map +1 -0
- package/dist/components/GidsTooltip/GidsTooltip.d.ts +6 -0
- package/dist/components/GidsTooltip/GidsTooltip.d.ts.map +1 -0
- package/dist/components/GidsTooltip/GidsTooltip.js +20 -0
- package/dist/components/GidsTooltip/GidsTooltip.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/childrenValidationUtils.d.ts +9 -0
- package/dist/utils/childrenValidationUtils.d.ts.map +1 -0
- package/dist/utils/childrenValidationUtils.js +27 -0
- package/dist/utils/childrenValidationUtils.js.map +1 -0
- package/package.json +45 -45
- package/src/components/GidsButton/GidsButton.ts +2 -1
- package/src/components/GidsDropdownItem/GidsDropdownItem.ts +62 -0
- package/src/components/GidsDropdownMenu/GidsDropdownMenu.ts +43 -0
- package/src/components/GidsDropdownMenuGroup/GidsDropdownMenuGroup.ts +26 -0
- package/src/components/GidsEditButton/GidsEditButton.ts +71 -0
- package/src/components/GidsListItem/GidsListItem.ts +281 -0
- package/src/components/GidsMenu/GidsMenu.ts +64 -0
- package/src/components/GidsMenuGroup/GidsMenuGroup.ts +51 -0
- package/src/components/GidsPopover/GidsPopover.ts +32 -0
- package/src/components/GidsTooltip/GidsTooltip.ts +37 -0
- package/src/index.ts +10 -0
- package/src/utils/childrenValidationUtils.ts +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GidsPopover.d.ts","sourceRoot":"","sources":["../../../src/components/GidsPopover/GidsPopover.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EAEnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAoB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAIxE,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB,CAAC,WAAW,CAAC;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,GAAI,iDAK5B,mBAAmB,KAAG,WAcxB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GidsPopoverWebUtils, } from '@ganpatiinfo/gids-web-shared';
|
|
2
|
+
import { appendAsChildren } from '../../utils/domUtils.js';
|
|
3
|
+
const { getGidsPopoverClassNames } = GidsPopoverWebUtils;
|
|
4
|
+
export const GidsPopoverDom = ({ placement, htmlFor, extraClasses, children, }) => {
|
|
5
|
+
const popover = document.createElement('gids-popover');
|
|
6
|
+
popover.className = getGidsPopoverClassNames(extraClasses);
|
|
7
|
+
if (placement !== undefined) {
|
|
8
|
+
popover.setAttribute('placement', placement);
|
|
9
|
+
}
|
|
10
|
+
if (htmlFor !== undefined) {
|
|
11
|
+
popover.setAttribute('for', htmlFor);
|
|
12
|
+
}
|
|
13
|
+
appendAsChildren(popover, children);
|
|
14
|
+
return popover;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=GidsPopover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GidsPopover.js","sourceRoot":"","sources":["../../../src/components/GidsPopover/GidsPopover.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAe,MAAM,yBAAyB,CAAC;AAExE,MAAM,EAAE,wBAAwB,EAAE,GAAG,mBAAmB,CAAC;AAMzD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC9B,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,GACa,EAAe,EAAE;IACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACvD,OAAO,CAAC,SAAS,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAE3D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEpC,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { GidsTooltipWebProps } from '@ganpatiinfo/gids-web-shared';
|
|
2
|
+
export interface GidsTooltipDomProps extends GidsTooltipWebProps {
|
|
3
|
+
extraClasses?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const GidsTooltipDom: ({ tooltipText, placement, htmlFor, showWithoutDelay, extraClasses, }: GidsTooltipDomProps) => HTMLElement;
|
|
6
|
+
//# sourceMappingURL=GidsTooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GidsTooltip.d.ts","sourceRoot":"","sources":["../../../src/components/GidsTooltip/GidsTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAKnE,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,GAAI,sEAM5B,mBAAmB,KAAG,WAqBxB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { GidsTooltipWebUtils } from '@ganpatiinfo/gids-web-shared';
|
|
2
|
+
const { getGidsTooltipClassNames } = GidsTooltipWebUtils;
|
|
3
|
+
export const GidsTooltipDom = ({ tooltipText, placement, htmlFor, showWithoutDelay, extraClasses, }) => {
|
|
4
|
+
const tooltip = document.createElement('gids-tooltip');
|
|
5
|
+
tooltip.className = getGidsTooltipClassNames(extraClasses);
|
|
6
|
+
if (tooltipText !== undefined) {
|
|
7
|
+
tooltip.setAttribute('tooltip-text', tooltipText);
|
|
8
|
+
}
|
|
9
|
+
if (placement !== undefined) {
|
|
10
|
+
tooltip.setAttribute('placement', placement);
|
|
11
|
+
}
|
|
12
|
+
if (htmlFor !== undefined) {
|
|
13
|
+
tooltip.setAttribute('for', htmlFor);
|
|
14
|
+
}
|
|
15
|
+
if (showWithoutDelay) {
|
|
16
|
+
tooltip.setAttribute('show-without-delay', '');
|
|
17
|
+
}
|
|
18
|
+
return tooltip;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=GidsTooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GidsTooltip.js","sourceRoot":"","sources":["../../../src/components/GidsTooltip/GidsTooltip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,EAAE,wBAAwB,EAAE,GAAG,mBAAmB,CAAC;AAMzD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC9B,WAAW,EACX,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,YAAY,GACS,EAAe,EAAE;IACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACvD,OAAO,CAAC,SAAS,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAE3D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -71,8 +71,18 @@ export * from './components/GidsAccordionItemHeader/GidsAccordionItemHeader.js';
|
|
|
71
71
|
export * from './components/GidsAccordionItemContent/GidsAccordionItemContent.js';
|
|
72
72
|
export * from './components/GidsAccordionItem/GidsAccordionItem.js';
|
|
73
73
|
export * from './components/GidsAccordion/GidsAccordion.js';
|
|
74
|
+
export * from './components/GidsTooltip/GidsTooltip.js';
|
|
75
|
+
export * from './components/GidsPopover/GidsPopover.js';
|
|
76
|
+
export * from './components/GidsEditButton/GidsEditButton.js';
|
|
77
|
+
export * from './components/GidsListItem/GidsListItem.js';
|
|
78
|
+
export * from './components/GidsMenu/GidsMenu.js';
|
|
79
|
+
export * from './components/GidsMenuGroup/GidsMenuGroup.js';
|
|
80
|
+
export * from './components/GidsDropdownItem/GidsDropdownItem.js';
|
|
81
|
+
export * from './components/GidsDropdownMenu/GidsDropdownMenu.js';
|
|
82
|
+
export * from './components/GidsDropdownMenuGroup/GidsDropdownMenuGroup.js';
|
|
74
83
|
/**
|
|
75
84
|
* Utilities
|
|
76
85
|
*/
|
|
77
86
|
export * from './utils/domUtils.js';
|
|
87
|
+
export * from './utils/childrenValidationUtils.js';
|
|
78
88
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAClD,cAAc,uDAAuD,CAAC;AACtE,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,wDAAwD,CAAC;AACvE,cAAc,yCAAyC,CAAC;AACxD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0DAA0D,CAAC;AACzE,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iDAAiD,CAAC;AAChE,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qEAAqE,CAAC;AACpF,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qDAAqD,CAAC;AACpE,cAAc,uDAAuD,CAAC;AACtE,cAAc,iCAAiC,CAAC;AAChD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uDAAuD,CAAC;AACtE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,wDAAwD,CAAC;AACvE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,mCAAmC,CAAC;AAClD,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wEAAwE,CAAC;AACvF,cAAc,6DAA6D,CAAC;AAC5E,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8DAA8D,CAAC;AAC7E,cAAc,yDAAyD,CAAC;AACxE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sEAAsE,CAAC;AACrF,cAAc,mDAAmD,CAAC;AAClE,cAAc,mDAAmD,CAAC;AAClE,cAAc,qCAAqC,CAAC;AACpD,cAAc,uDAAuD,CAAC;AACtE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uDAAuD,CAAC;AACtE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,iEAAiE,CAAC;AAChF,cAAc,mEAAmE,CAAC;AAClF,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAClD,cAAc,uDAAuD,CAAC;AACtE,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,wDAAwD,CAAC;AACvE,cAAc,yCAAyC,CAAC;AACxD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0DAA0D,CAAC;AACzE,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iDAAiD,CAAC;AAChE,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qEAAqE,CAAC;AACpF,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qDAAqD,CAAC;AACpE,cAAc,uDAAuD,CAAC;AACtE,cAAc,iCAAiC,CAAC;AAChD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uDAAuD,CAAC;AACtE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,wDAAwD,CAAC;AACvE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,mCAAmC,CAAC;AAClD,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wEAAwE,CAAC;AACvF,cAAc,6DAA6D,CAAC;AAC5E,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8DAA8D,CAAC;AAC7E,cAAc,yDAAyD,CAAC;AACxE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sEAAsE,CAAC;AACrF,cAAc,mDAAmD,CAAC;AAClE,cAAc,mDAAmD,CAAC;AAClE,cAAc,qCAAqC,CAAC;AACpD,cAAc,uDAAuD,CAAC;AACtE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uDAAuD,CAAC;AACtE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,iEAAiE,CAAC;AAChF,cAAc,mEAAmE,CAAC;AAClF,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mDAAmD,CAAC;AAClE,cAAc,mDAAmD,CAAC;AAClE,cAAc,6DAA6D,CAAC;AAE5E;;GAEG;AACH,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -71,8 +71,18 @@ export * from './components/GidsAccordionItemHeader/GidsAccordionItemHeader.js';
|
|
|
71
71
|
export * from './components/GidsAccordionItemContent/GidsAccordionItemContent.js';
|
|
72
72
|
export * from './components/GidsAccordionItem/GidsAccordionItem.js';
|
|
73
73
|
export * from './components/GidsAccordion/GidsAccordion.js';
|
|
74
|
+
export * from './components/GidsTooltip/GidsTooltip.js';
|
|
75
|
+
export * from './components/GidsPopover/GidsPopover.js';
|
|
76
|
+
export * from './components/GidsEditButton/GidsEditButton.js';
|
|
77
|
+
export * from './components/GidsListItem/GidsListItem.js';
|
|
78
|
+
export * from './components/GidsMenu/GidsMenu.js';
|
|
79
|
+
export * from './components/GidsMenuGroup/GidsMenuGroup.js';
|
|
80
|
+
export * from './components/GidsDropdownItem/GidsDropdownItem.js';
|
|
81
|
+
export * from './components/GidsDropdownMenu/GidsDropdownMenu.js';
|
|
82
|
+
export * from './components/GidsDropdownMenuGroup/GidsDropdownMenuGroup.js';
|
|
74
83
|
/**
|
|
75
84
|
* Utilities
|
|
76
85
|
*/
|
|
77
86
|
export * from './utils/domUtils.js';
|
|
87
|
+
export * from './utils/childrenValidationUtils.js';
|
|
78
88
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAClD,cAAc,uDAAuD,CAAC;AACtE,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,wDAAwD,CAAC;AACvE,cAAc,yCAAyC,CAAC;AACxD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0DAA0D,CAAC;AACzE,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iDAAiD,CAAC;AAChE,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qEAAqE,CAAC;AACpF,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qDAAqD,CAAC;AACpE,cAAc,uDAAuD,CAAC;AACtE,cAAc,iCAAiC,CAAC;AAChD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uDAAuD,CAAC;AACtE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,wDAAwD,CAAC;AACvE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,mCAAmC,CAAC;AAClD,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wEAAwE,CAAC;AACvF,cAAc,6DAA6D,CAAC;AAC5E,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8DAA8D,CAAC;AAC7E,cAAc,yDAAyD,CAAC;AACxE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sEAAsE,CAAC;AACrF,cAAc,mDAAmD,CAAC;AAClE,cAAc,mDAAmD,CAAC;AAClE,cAAc,qCAAqC,CAAC;AACpD,cAAc,uDAAuD,CAAC;AACtE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uDAAuD,CAAC;AACtE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,iEAAiE,CAAC;AAChF,cAAc,mEAAmE,CAAC;AAClF,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAClD,cAAc,uDAAuD,CAAC;AACtE,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,wDAAwD,CAAC;AACvE,cAAc,yCAAyC,CAAC;AACxD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0DAA0D,CAAC;AACzE,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iDAAiD,CAAC;AAChE,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qEAAqE,CAAC;AACpF,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qDAAqD,CAAC;AACpE,cAAc,uDAAuD,CAAC;AACtE,cAAc,iCAAiC,CAAC;AAChD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uDAAuD,CAAC;AACtE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,wDAAwD,CAAC;AACvE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,mCAAmC,CAAC;AAClD,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wEAAwE,CAAC;AACvF,cAAc,6DAA6D,CAAC;AAC5E,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8DAA8D,CAAC;AAC7E,cAAc,yDAAyD,CAAC;AACxE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sEAAsE,CAAC;AACrF,cAAc,mDAAmD,CAAC;AAClE,cAAc,mDAAmD,CAAC;AAClE,cAAc,qCAAqC,CAAC;AACpD,cAAc,uDAAuD,CAAC;AACtE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uDAAuD,CAAC;AACtE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,iEAAiE,CAAC;AAChF,cAAc,mEAAmE,CAAC;AAClF,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mDAAmD,CAAC;AAClE,cAAc,mDAAmD,CAAC;AAClE,cAAc,6DAA6D,CAAC;AAE5E;;GAEG;AACH,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DomChildren } from './domUtils';
|
|
2
|
+
export interface TestDomChildrenValidity {
|
|
3
|
+
children?: DomChildren;
|
|
4
|
+
classNameToBeValidated?: string;
|
|
5
|
+
childrenNameToBeValidated?: string;
|
|
6
|
+
currentComponentName?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const testDomChildrenValidity: ({ children, classNameToBeValidated, childrenNameToBeValidated, currentComponentName, }: TestDomChildrenValidity) => void;
|
|
9
|
+
//# sourceMappingURL=childrenValidationUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"childrenValidationUtils.d.ts","sourceRoot":"","sources":["../../src/utils/childrenValidationUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,uBAAuB,GAAI,wFAKrC,uBAAuB,SAgCzB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const testDomChildrenValidity = ({ children, classNameToBeValidated, childrenNameToBeValidated, currentComponentName, }) => {
|
|
2
|
+
if (children !== undefined && children !== null) {
|
|
3
|
+
// --- STRICTOR DOM TYPE VALIDATION BLOCK ---
|
|
4
|
+
// Normalize children to an array to handle both single items and collections safely
|
|
5
|
+
const childrenArray = Array.isArray(children) ? children : [children];
|
|
6
|
+
for (const child of childrenArray) {
|
|
7
|
+
// 1. Ensure the child is a real DOM node/element (ignore raw strings if they aren't allowed)
|
|
8
|
+
if (child instanceof HTMLElement) {
|
|
9
|
+
// Standard Check A: Using a custom class list or dataset identifier if GidsListItem sets one
|
|
10
|
+
const isGidsListItem = child.classList.contains(classNameToBeValidated ?? '') ||
|
|
11
|
+
child.dataset.component === childrenNameToBeValidated;
|
|
12
|
+
// Standard Check B (Alternative): If GidsListItem returns a custom web component type instance
|
|
13
|
+
// const isGidsListItem = child.tagName.toLowerCase() === 'gids-list-item';
|
|
14
|
+
if (!isGidsListItem) {
|
|
15
|
+
throw new Error(`DOM Validation Error: ${currentComponentName} only accepts ${childrenNameToBeValidated} nodes as children. ` +
|
|
16
|
+
`Received an element with class layout: "${child.className}".`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// If a string or a non-element node was passed illegally
|
|
21
|
+
throw new Error(`DOM Validation Error: Invalid type passed to children. Expected ${childrenNameToBeValidated} DOM elements.`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// --- END OF VALIDATION BLOCK ---
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=childrenValidationUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"childrenValidationUtils.js","sourceRoot":"","sources":["../../src/utils/childrenValidationUtils.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACvC,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,GACK,EAAE,EAAE;IAC7B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACjD,6CAA6C;QAC7C,oFAAoF;QACpF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEtE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YACnC,6FAA6F;YAC7F,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBAClC,6FAA6F;gBAC7F,MAAM,cAAc,GACnB,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,EAAE,CAAC;oBACtD,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,yBAAyB,CAAC;gBAEvD,+FAA+F;gBAC/F,2EAA2E;gBAE3E,IAAI,CAAC,cAAc,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CACd,yBAAyB,oBAAoB,iBAAiB,yBAAyB,sBAAsB;wBAC5G,2CAA2C,KAAK,CAAC,SAAS,IAAI,CAC/D,CAAC;gBACH,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,yDAAyD;gBACzD,MAAM,IAAI,KAAK,CACd,mEAAmE,yBAAyB,gBAAgB,CAC5G,CAAC;YACH,CAAC;QACF,CAAC;QACD,kCAAkC;IACnC,CAAC;AACF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
2
|
+
"name": "@ganpatiinfo/gids-web-dom-reference",
|
|
3
|
+
"version": "8.0.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "DOM for components reference implementations",
|
|
6
|
+
"homepage": "https://ganpatiinfo-design-system.onrender.com/",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"clean": "del-cli dist/*",
|
|
12
|
+
"build": "tsc",
|
|
13
|
+
"release:manually": "npm run build && npm publish --access public"
|
|
14
|
+
},
|
|
15
|
+
"author": {
|
|
16
|
+
"name": "Ganpatiinfo Design System",
|
|
17
|
+
"email": "ganpatiinfosysystem0@gmail.com",
|
|
18
|
+
"url": "https://ganpatiinfo-design-system.onrender.com/"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/ganpatiinfosystem/ganpatiinfo-design-system",
|
|
24
|
+
"directory": "packages/private/web-dom-reference"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@ganpatiinfo/gids-core-shared": "8.0.0",
|
|
28
|
+
"@ganpatiinfo/gids-web-shared": "8.0.0"
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"@ganpatiinfo/gids-web-theme-interface": "5.0.0",
|
|
32
|
+
"@jest/globals": "^30.2.0",
|
|
33
|
+
"@types/jasmine": "^5.1.15",
|
|
34
|
+
"expect": "^30.2.0"
|
|
35
|
+
},
|
|
36
|
+
"peerDependenciesMeta": {
|
|
37
|
+
"@jest/globals": {
|
|
38
|
+
"optional": true
|
|
39
|
+
},
|
|
40
|
+
"expect": {
|
|
41
|
+
"optional": true
|
|
42
|
+
},
|
|
43
|
+
"@types/jasmine": {
|
|
44
|
+
"optional": true
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
47
|
}
|
|
@@ -25,6 +25,7 @@ export const GidsButtonDom = <
|
|
|
25
25
|
size,
|
|
26
26
|
disabled,
|
|
27
27
|
destructive,
|
|
28
|
+
positive,
|
|
28
29
|
loading,
|
|
29
30
|
width,
|
|
30
31
|
children,
|
|
@@ -41,7 +42,7 @@ export const GidsButtonDom = <
|
|
|
41
42
|
) as ButtonElement extends 'button' ? HTMLButtonElement : HTMLAnchorElement;
|
|
42
43
|
|
|
43
44
|
button.className = getGidsButtonClassNames(
|
|
44
|
-
{ appearance, size, width, destructive, loading },
|
|
45
|
+
{ appearance, size, width, destructive, loading, positive },
|
|
45
46
|
!children && nonEmpty(leadingIcon) && !nonEmpty(trailingIcon),
|
|
46
47
|
);
|
|
47
48
|
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type GidsDropdownItemWebProps,
|
|
3
|
+
GidsDropdownItemWebUtils,
|
|
4
|
+
} from '@ganpatiinfo/gids-web-shared';
|
|
5
|
+
import { GidsListItemDom } from '../GidsListItem/GidsListItem.js';
|
|
6
|
+
import {
|
|
7
|
+
GidsDropdownItemSelectEventDetail,
|
|
8
|
+
GidsListItemSelectEventDetail,
|
|
9
|
+
} from '@ganpatiinfo/gids-core-shared';
|
|
10
|
+
import { DomChildren } from '../../utils/domUtils.js';
|
|
11
|
+
|
|
12
|
+
const { getGidsDropdownItemClassNames } = GidsDropdownItemWebUtils;
|
|
13
|
+
|
|
14
|
+
export interface GidsDropdownItemDomProps extends GidsDropdownItemWebProps<DomChildren> {
|
|
15
|
+
name?: string;
|
|
16
|
+
extraClasses?: string;
|
|
17
|
+
onPressDropdownItem?: (
|
|
18
|
+
event: CustomEvent<GidsDropdownItemSelectEventDetail>,
|
|
19
|
+
) => void;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const GidsDropdownItemDom = ({
|
|
23
|
+
title,
|
|
24
|
+
selected = false,
|
|
25
|
+
disabled = false,
|
|
26
|
+
extraClasses,
|
|
27
|
+
name,
|
|
28
|
+
value,
|
|
29
|
+
onPressDropdownItem,
|
|
30
|
+
index,
|
|
31
|
+
defaultSelectedIndex,
|
|
32
|
+
leadingAccessory,
|
|
33
|
+
}: GidsDropdownItemDomProps): HTMLButtonElement => {
|
|
34
|
+
return GidsListItemDom({
|
|
35
|
+
children: title,
|
|
36
|
+
index,
|
|
37
|
+
defaultSelectedIndex,
|
|
38
|
+
selected,
|
|
39
|
+
disabled,
|
|
40
|
+
extraClasses: getGidsDropdownItemClassNames(extraClasses),
|
|
41
|
+
name,
|
|
42
|
+
leadingAccessory,
|
|
43
|
+
onPressListItem: (event: CustomEvent<GidsListItemSelectEventDetail>) => {
|
|
44
|
+
const customEvent = new CustomEvent<GidsDropdownItemSelectEventDetail>(
|
|
45
|
+
'onPressDropdownItem',
|
|
46
|
+
{
|
|
47
|
+
bubbles: true,
|
|
48
|
+
composed: true,
|
|
49
|
+
detail: {
|
|
50
|
+
title,
|
|
51
|
+
value,
|
|
52
|
+
disabled,
|
|
53
|
+
...event.detail,
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
);
|
|
57
|
+
if (onPressDropdownItem) {
|
|
58
|
+
onPressDropdownItem(customEvent);
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type GidsDropdownMenuWebProps,
|
|
3
|
+
GidsDropdownMenuWebUtils,
|
|
4
|
+
} from '@ganpatiinfo/gids-web-shared';
|
|
5
|
+
import { appendAsChildren, DomChildren } from '../../utils/domUtils.js';
|
|
6
|
+
import { GidsHeadingDom } from '../GidsHeading/GidsHeading.js';
|
|
7
|
+
|
|
8
|
+
const { getGidsDropdownMenuClassNames } = GidsDropdownMenuWebUtils;
|
|
9
|
+
|
|
10
|
+
export interface GidsDropdownMenuDomProps extends GidsDropdownMenuWebProps<DomChildren> {
|
|
11
|
+
extraClasses?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const GidsDropdownMenuDom = ({
|
|
15
|
+
sectionLabel,
|
|
16
|
+
children,
|
|
17
|
+
extraClasses,
|
|
18
|
+
}: GidsDropdownMenuDomProps): HTMLDivElement => {
|
|
19
|
+
const dropdownMenu = document.createElement('div');
|
|
20
|
+
dropdownMenu.className = getGidsDropdownMenuClassNames(extraClasses);
|
|
21
|
+
|
|
22
|
+
if (
|
|
23
|
+
sectionLabel !== undefined &&
|
|
24
|
+
sectionLabel !== null &&
|
|
25
|
+
sectionLabel !== ''
|
|
26
|
+
) {
|
|
27
|
+
dropdownMenu.append(
|
|
28
|
+
GidsHeadingDom({
|
|
29
|
+
supportingText: sectionLabel,
|
|
30
|
+
supportingTextTypography: 'eyebrow-medium',
|
|
31
|
+
}),
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (children !== undefined && children !== null) {
|
|
36
|
+
const childrenContainer = document.createElement('div');
|
|
37
|
+
childrenContainer.className = 'gids-dropdown-menu__children';
|
|
38
|
+
appendAsChildren(childrenContainer, children);
|
|
39
|
+
appendAsChildren(dropdownMenu, childrenContainer);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return dropdownMenu;
|
|
43
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
GidsDropdownMenuGroupWebProps,
|
|
3
|
+
GidsDropdownMenuGroupWebUtils,
|
|
4
|
+
} from '@ganpatiinfo/gids-web-shared';
|
|
5
|
+
import { appendAsChildren, DomChildren } from '../../utils/domUtils.js';
|
|
6
|
+
|
|
7
|
+
const { getGidsDropdownMenuGroupClassNames } = GidsDropdownMenuGroupWebUtils;
|
|
8
|
+
|
|
9
|
+
export interface GidsDropdownMenuGroupDomProps extends GidsDropdownMenuGroupWebProps<DomChildren> {
|
|
10
|
+
extraClasses?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const GidsDropdownMenuGroupDom = ({
|
|
14
|
+
children,
|
|
15
|
+
extraClasses,
|
|
16
|
+
}: GidsDropdownMenuGroupDomProps): HTMLDivElement => {
|
|
17
|
+
const dropdownMenuGroup = document.createElement('div');
|
|
18
|
+
dropdownMenuGroup.className =
|
|
19
|
+
getGidsDropdownMenuGroupClassNames(extraClasses);
|
|
20
|
+
|
|
21
|
+
if (children !== undefined && children !== null && children !== '') {
|
|
22
|
+
appendAsChildren(dropdownMenuGroup, children);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return dropdownMenuGroup;
|
|
26
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ClassValue,
|
|
3
|
+
GidsEditButtonWebProps,
|
|
4
|
+
GidsEditButtonWebUtils,
|
|
5
|
+
} from '@ganpatiinfo/gids-web-shared';
|
|
6
|
+
import { appendAsChildren, DomChildren } from '../../utils/domUtils.js';
|
|
7
|
+
import { GidsIconDom } from '../GidsIcon/GidsIcon';
|
|
8
|
+
|
|
9
|
+
const { getGidsEditButtonClassNames } = GidsEditButtonWebUtils;
|
|
10
|
+
|
|
11
|
+
export interface GidsEditButtonDomProps extends GidsEditButtonWebProps<DomChildren> {
|
|
12
|
+
onPressEditButton?: (this: HTMLButtonElement, event: Event) => void;
|
|
13
|
+
extraClasses?: ClassValue;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const GidsEditButtonDom = ({
|
|
17
|
+
disabled,
|
|
18
|
+
children,
|
|
19
|
+
size = 'md',
|
|
20
|
+
editButtonType = 'add',
|
|
21
|
+
onPressEditButton,
|
|
22
|
+
extraClasses,
|
|
23
|
+
}: GidsEditButtonDomProps): HTMLButtonElement => {
|
|
24
|
+
const editButton = document.createElement('button');
|
|
25
|
+
editButton.className = getGidsEditButtonClassNames({ size }, extraClasses);
|
|
26
|
+
|
|
27
|
+
if (disabled) {
|
|
28
|
+
editButton.setAttribute('disabled', '');
|
|
29
|
+
} else {
|
|
30
|
+
editButton.removeAttribute('disabled');
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const btnIconContainer = document.createElement('div');
|
|
34
|
+
if (editButtonType === 'custom' && children) {
|
|
35
|
+
appendAsChildren(btnIconContainer, children);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (editButtonType === 'add') {
|
|
39
|
+
btnIconContainer.className = disabled
|
|
40
|
+
? 'gids-edit-button__add gids-edit-button__disabled'
|
|
41
|
+
: 'gids-edit-button__add';
|
|
42
|
+
btnIconContainer.append(
|
|
43
|
+
GidsIconDom({
|
|
44
|
+
name: 'add',
|
|
45
|
+
size: size,
|
|
46
|
+
appearance: 'filled',
|
|
47
|
+
}),
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (editButtonType === 'remove') {
|
|
52
|
+
btnIconContainer.className = disabled
|
|
53
|
+
? 'gids-edit-button__remove gids-edit-button__disabled'
|
|
54
|
+
: 'gids-edit-button__remove';
|
|
55
|
+
btnIconContainer.append(
|
|
56
|
+
GidsIconDom({
|
|
57
|
+
name: 'remove',
|
|
58
|
+
appearance: 'filled',
|
|
59
|
+
size: size,
|
|
60
|
+
}),
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
editButton.appendChild(btnIconContainer);
|
|
65
|
+
|
|
66
|
+
if (onPressEditButton && !disabled) {
|
|
67
|
+
editButton.addEventListener('click', onPressEditButton);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return editButton;
|
|
71
|
+
};
|