@ganpatiinfo/gids-web-dom-reference 7.1.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 +63 -0
- package/dist/components/GidsAccordion/GidsAccordion.d.ts +8 -0
- package/dist/components/GidsAccordion/GidsAccordion.d.ts.map +1 -0
- package/dist/components/GidsAccordion/GidsAccordion.js +10 -0
- package/dist/components/GidsAccordion/GidsAccordion.js.map +1 -0
- package/dist/components/GidsAccordionItem/GidsAccordionItem.d.ts +9 -0
- package/dist/components/GidsAccordionItem/GidsAccordionItem.d.ts.map +1 -0
- package/dist/components/GidsAccordionItem/GidsAccordionItem.js +15 -0
- package/dist/components/GidsAccordionItem/GidsAccordionItem.js.map +1 -0
- package/dist/components/GidsAccordionItemContent/GidsAccordionItemContent.d.ts +8 -0
- package/dist/components/GidsAccordionItemContent/GidsAccordionItemContent.d.ts.map +1 -0
- package/dist/components/GidsAccordionItemContent/GidsAccordionItemContent.js +10 -0
- package/dist/components/GidsAccordionItemContent/GidsAccordionItemContent.js.map +1 -0
- package/dist/components/GidsAccordionItemHeader/GidsAccordionItemHeader.d.ts +8 -0
- package/dist/components/GidsAccordionItemHeader/GidsAccordionItemHeader.d.ts.map +1 -0
- package/dist/components/GidsAccordionItemHeader/GidsAccordionItemHeader.js +20 -0
- package/dist/components/GidsAccordionItemHeader/GidsAccordionItemHeader.js.map +1 -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/GidsFeedbackBlock/GidsFeedbackBlock.d.ts +5 -0
- package/dist/components/GidsFeedbackBlock/GidsFeedbackBlock.d.ts.map +1 -0
- package/dist/components/GidsFeedbackBlock/GidsFeedbackBlock.js +49 -0
- package/dist/components/GidsFeedbackBlock/GidsFeedbackBlock.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/GidsOverflowContainer/GidsOverflowContainer.d.ts +7 -0
- package/dist/components/GidsOverflowContainer/GidsOverflowContainer.d.ts.map +1 -0
- package/dist/components/GidsOverflowContainer/GidsOverflowContainer.js +14 -0
- package/dist/components/GidsOverflowContainer/GidsOverflowContainer.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/GidsProgressBar/GidsProgressBar.d.ts +7 -0
- package/dist/components/GidsProgressBar/GidsProgressBar.d.ts.map +1 -0
- package/dist/components/GidsProgressBar/GidsProgressBar.js +22 -0
- package/dist/components/GidsProgressBar/GidsProgressBar.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 +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -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/GidsAccordion/GidsAccordion.ts +24 -0
- package/src/components/GidsAccordionItem/GidsAccordionItem.ts +37 -0
- package/src/components/GidsAccordionItemContent/GidsAccordionItemContent.ts +25 -0
- package/src/components/GidsAccordionItemHeader/GidsAccordionItemHeader.ts +38 -0
- 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/GidsFeedbackBlock/GidsFeedbackBlock.ts +68 -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/GidsOverflowContainer/GidsOverflowContainer.ts +27 -0
- package/src/components/GidsPopover/GidsPopover.ts +32 -0
- package/src/components/GidsProgressBar/GidsProgressBar.ts +50 -0
- package/src/components/GidsTooltip/GidsTooltip.ts +37 -0
- package/src/index.ts +17 -0
- package/src/utils/childrenValidationUtils.ts +47 -0
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
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type GidsAccordionCommonProps } from '@ganpatiinfo/gids-core-shared';
|
|
2
|
+
import {
|
|
3
|
+
type ClassValue,
|
|
4
|
+
GidsAccordionWebUtils,
|
|
5
|
+
} from '@ganpatiinfo/gids-web-shared';
|
|
6
|
+
import { appendAsChildren, DomChildren } from '../../utils/domUtils.js';
|
|
7
|
+
|
|
8
|
+
const { getGidsAccordionClassNames } = GidsAccordionWebUtils;
|
|
9
|
+
|
|
10
|
+
export interface GidsAccordionDomProps extends GidsAccordionCommonProps<DomChildren> {
|
|
11
|
+
extraClasses?: ClassValue;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const GidsAccordionDom = ({
|
|
15
|
+
children,
|
|
16
|
+
extraClasses,
|
|
17
|
+
}: GidsAccordionDomProps): HTMLDivElement => {
|
|
18
|
+
const accordionEl = document.createElement('div');
|
|
19
|
+
accordionEl.className = getGidsAccordionClassNames(extraClasses);
|
|
20
|
+
|
|
21
|
+
appendAsChildren(accordionEl, children);
|
|
22
|
+
|
|
23
|
+
return accordionEl;
|
|
24
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { GidsAccordionItemCommonProps } from '@ganpatiinfo/gids-core-shared';
|
|
2
|
+
import {
|
|
3
|
+
ClassValue,
|
|
4
|
+
GidsAccordionItemWebUtils,
|
|
5
|
+
} from '@ganpatiinfo/gids-web-shared';
|
|
6
|
+
import {
|
|
7
|
+
appendAsChildren,
|
|
8
|
+
DomChildren,
|
|
9
|
+
toggleAttribute,
|
|
10
|
+
} from '../../utils/domUtils';
|
|
11
|
+
|
|
12
|
+
const { getGidsAccordionItemClassNames } = GidsAccordionItemWebUtils;
|
|
13
|
+
|
|
14
|
+
export interface GidsAccordionItemDomProps extends GidsAccordionItemCommonProps<DomChildren> {
|
|
15
|
+
onToggle?: (this: HTMLDetailsElement, even: Event) => void;
|
|
16
|
+
extraClasses?: ClassValue;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const GidsAccordionItemDom = ({
|
|
20
|
+
open,
|
|
21
|
+
children,
|
|
22
|
+
onToggle,
|
|
23
|
+
extraClasses,
|
|
24
|
+
}: GidsAccordionItemDomProps): HTMLDetailsElement => {
|
|
25
|
+
const accordionItem = document.createElement('details');
|
|
26
|
+
accordionItem.className = getGidsAccordionItemClassNames(extraClasses);
|
|
27
|
+
toggleAttribute(accordionItem, 'open', open ?? false);
|
|
28
|
+
accordionItem.open = open ?? false;
|
|
29
|
+
|
|
30
|
+
appendAsChildren(accordionItem, children);
|
|
31
|
+
|
|
32
|
+
if (onToggle) {
|
|
33
|
+
accordionItem.addEventListener('toggle', onToggle);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return accordionItem;
|
|
37
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ClassValue,
|
|
3
|
+
GidsAccordionItemContentWebUtils,
|
|
4
|
+
} from '@ganpatiinfo/gids-web-shared';
|
|
5
|
+
import { appendAsChildren, DomChildren } from '../../utils/domUtils.js';
|
|
6
|
+
import { GidsAccordionItemContentCommonProps } from '@ganpatiinfo/gids-core-shared';
|
|
7
|
+
|
|
8
|
+
const { getGidsAccordionItemContentClassNames } =
|
|
9
|
+
GidsAccordionItemContentWebUtils;
|
|
10
|
+
|
|
11
|
+
export interface GidsAccordionItemContentDomProps extends GidsAccordionItemContentCommonProps<DomChildren> {
|
|
12
|
+
extraClasses?: ClassValue;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const GidsAccordionItemContentDom = ({
|
|
16
|
+
children,
|
|
17
|
+
extraClasses,
|
|
18
|
+
}: GidsAccordionItemContentDomProps): HTMLDivElement => {
|
|
19
|
+
const content = document.createElement('div');
|
|
20
|
+
content.className = getGidsAccordionItemContentClassNames(extraClasses);
|
|
21
|
+
|
|
22
|
+
appendAsChildren(content, children);
|
|
23
|
+
|
|
24
|
+
return content;
|
|
25
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type GidsAccordionItemHeaderCommonProps } from '@ganpatiinfo/gids-core-shared';
|
|
2
|
+
import {
|
|
3
|
+
ClassValue,
|
|
4
|
+
GidsAccordionItemHeaderWebUtils,
|
|
5
|
+
} from '@ganpatiinfo/gids-web-shared';
|
|
6
|
+
import { appendAsChildren, DomChildren } from '../../utils/domUtils';
|
|
7
|
+
import { GidsIconDom } from '../GidsIcon/GidsIcon';
|
|
8
|
+
|
|
9
|
+
const { getGidsAccordionItemHeaderClassNames } =
|
|
10
|
+
GidsAccordionItemHeaderWebUtils;
|
|
11
|
+
|
|
12
|
+
export interface GidsAccordionItemHeaderDomProps extends GidsAccordionItemHeaderCommonProps<DomChildren> {
|
|
13
|
+
extraClasses?: ClassValue;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const GidsAccordionItemHeaderDom = ({
|
|
17
|
+
children,
|
|
18
|
+
extraClasses,
|
|
19
|
+
}: GidsAccordionItemHeaderDomProps): HTMLElement => {
|
|
20
|
+
const header = document.createElement('summary');
|
|
21
|
+
header.className = getGidsAccordionItemHeaderClassNames(extraClasses);
|
|
22
|
+
|
|
23
|
+
const content = document.createElement('div');
|
|
24
|
+
content.className = 'gids-accordion-item-header__content';
|
|
25
|
+
appendAsChildren(content, children);
|
|
26
|
+
|
|
27
|
+
header.append(content);
|
|
28
|
+
header.append(
|
|
29
|
+
GidsIconDom({
|
|
30
|
+
name: 'chevron-down',
|
|
31
|
+
size: 'md',
|
|
32
|
+
className: 'gids-accordion-item-header__indicator',
|
|
33
|
+
alt: '',
|
|
34
|
+
}),
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
return header;
|
|
38
|
+
};
|
|
@@ -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
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type GidsFeedbackBlockCommonProps } from '@ganpatiinfo/gids-core-shared';
|
|
2
|
+
import { GidsFeedbackBlockWebUtils } from '@ganpatiinfo/gids-web-shared';
|
|
3
|
+
import { appendAsChildren, DomNodeOrString } from '../../utils/domUtils.js';
|
|
4
|
+
import { GidsButtonDockDom } from '../GidsButtonDock/GidsButtonDock.js';
|
|
5
|
+
|
|
6
|
+
const { getGidsFeedbackBlockClassNames } = GidsFeedbackBlockWebUtils;
|
|
7
|
+
|
|
8
|
+
export type GidsFeedbackBlockDomProps = GidsFeedbackBlockCommonProps<
|
|
9
|
+
DomNodeOrString,
|
|
10
|
+
DomNodeOrString,
|
|
11
|
+
DomNodeOrString
|
|
12
|
+
>;
|
|
13
|
+
|
|
14
|
+
export const GidsFeedbackBlockDom = ({
|
|
15
|
+
title,
|
|
16
|
+
supportingText,
|
|
17
|
+
image,
|
|
18
|
+
children,
|
|
19
|
+
}: GidsFeedbackBlockDomProps): HTMLDivElement => {
|
|
20
|
+
const feedbackBlock = document.createElement('div');
|
|
21
|
+
feedbackBlock.className = getGidsFeedbackBlockClassNames();
|
|
22
|
+
|
|
23
|
+
const feedbackBlockInnerContainer = document.createElement('div');
|
|
24
|
+
feedbackBlockInnerContainer.className =
|
|
25
|
+
'gids-feedback-block__inner-container';
|
|
26
|
+
|
|
27
|
+
if (image) {
|
|
28
|
+
const imageEl = document.createElement('div');
|
|
29
|
+
imageEl.className = 'gids-feedback-block__image-container';
|
|
30
|
+
imageEl.append(image);
|
|
31
|
+
appendAsChildren(feedbackBlockInnerContainer, imageEl);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (title) {
|
|
35
|
+
const titleEl = document.createElement('p');
|
|
36
|
+
const titleStrongEl = document.createElement('strong');
|
|
37
|
+
titleEl.className = 'gids-feedback-block__title';
|
|
38
|
+
if (title instanceof Node) {
|
|
39
|
+
titleStrongEl.append(title);
|
|
40
|
+
} else {
|
|
41
|
+
titleStrongEl.textContent = title;
|
|
42
|
+
}
|
|
43
|
+
appendAsChildren(titleEl, titleStrongEl);
|
|
44
|
+
appendAsChildren(feedbackBlockInnerContainer, titleEl);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (supportingText) {
|
|
48
|
+
const supportingTextEl = document.createElement('div');
|
|
49
|
+
supportingTextEl.className = 'gids-feedback-block__supporting-text';
|
|
50
|
+
if (supportingText instanceof Node) {
|
|
51
|
+
supportingTextEl.append(supportingText);
|
|
52
|
+
} else {
|
|
53
|
+
supportingTextEl.textContent = supportingText;
|
|
54
|
+
}
|
|
55
|
+
appendAsChildren(feedbackBlockInnerContainer, supportingTextEl);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (children) {
|
|
59
|
+
feedbackBlockInnerContainer.appendChild(
|
|
60
|
+
GidsButtonDockDom({
|
|
61
|
+
primaryChildren: children,
|
|
62
|
+
}),
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
appendAsChildren(feedbackBlock, feedbackBlockInnerContainer);
|
|
66
|
+
|
|
67
|
+
return feedbackBlock;
|
|
68
|
+
};
|