@ganpatiinfo/gids-web-dom-reference 2.0.7 → 2.0.8

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 CHANGED
@@ -1,5 +1,18 @@
1
1
  # @ganpatiinfo/gids-web-dom-reference
2
2
 
3
+ ## 2.0.8
4
+
5
+ ### Patch Changes
6
+
7
+ - 2a43b1b: Added `InputTag` dom reference.
8
+ Added `TagGroup` dom reference
9
+ - Updated dependencies [2a43b1b]
10
+ - Updated dependencies [2a43b1b]
11
+ - Updated dependencies [2a43b1b]
12
+ - @ganpatiinfo/gids-web-theme-interface@2.0.7
13
+ - @ganpatiinfo/gids-web-shared@2.0.8
14
+ - @ganpatiinfo/gids-core-shared@2.0.8
15
+
3
16
  ## 2.0.7
4
17
 
5
18
  ### Patch Changes
@@ -0,0 +1,7 @@
1
+ import { type GidsInputTagCommonProps } from '@ganpatiinfo/gids-core-shared';
2
+ import { type DomNodeOrString } from '../../utils/domUtils.js';
3
+ export interface GidsInputTagDomProps extends GidsInputTagCommonProps<DomNodeOrString> {
4
+ onClick?: (event: MouseEvent) => void;
5
+ }
6
+ export declare const GidsInputTagDom: ({ label, appearance, size, icon, dismissible, disabled, dismissButtonLabel, onClick, }: GidsInputTagDomProps) => HTMLSpanElement | HTMLButtonElement;
7
+ //# sourceMappingURL=GidsInputTag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsInputTag.d.ts","sourceRoot":"","sources":["../../../src/components/GidsInputTag/GidsInputTag.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,uBAAuB,EAE5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAMhF,MAAM,WAAW,oBAChB,SAAQ,uBAAuB,CAAC,eAAe,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,eAAe,GAAI,wFAS7B,oBAAoB,KAAG,eAAe,GAAG,iBAoC3C,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { GidsInputTagCommonUtils, } from '@ganpatiinfo/gids-core-shared';
2
+ import { GidsInputTagWebUtils } from '@ganpatiinfo/gids-web-shared';
3
+ import { toggleAttribute } from '../../utils/domUtils.js';
4
+ import { GidsInputTagButtonDom } from './_GidsInputTagButton/GidsInputTagButton.js';
5
+ const { getDismissButtonLabel } = GidsInputTagCommonUtils;
6
+ const { getGidsInputTagClassNames } = GidsInputTagWebUtils;
7
+ export const GidsInputTagDom = ({ label, appearance, size, icon, dismissible, disabled, dismissButtonLabel, onClick, }) => {
8
+ const inputTag = dismissible
9
+ ? document.createElement('span')
10
+ : document.createElement('button');
11
+ inputTag.className = getGidsInputTagClassNames({
12
+ size,
13
+ appearance,
14
+ disabled,
15
+ dismissible,
16
+ });
17
+ if (icon !== undefined) {
18
+ inputTag.append(icon);
19
+ }
20
+ inputTag.append(label);
21
+ if (dismissible) {
22
+ inputTag.appendChild(GidsInputTagButtonDom({
23
+ appearance,
24
+ disabled,
25
+ size,
26
+ onClick,
27
+ label: getDismissButtonLabel(dismissButtonLabel),
28
+ }));
29
+ }
30
+ else {
31
+ toggleAttribute(inputTag, 'disabled', !!disabled);
32
+ if (onClick) {
33
+ inputTag.addEventListener('click', onClick);
34
+ }
35
+ }
36
+ return inputTag;
37
+ };
38
+ //# sourceMappingURL=GidsInputTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsInputTag.js","sourceRoot":"","sources":["../../../src/components/GidsInputTag/GidsInputTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,uBAAuB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAwB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEpF,MAAM,EAAE,qBAAqB,EAAE,GAAG,uBAAuB,CAAC;AAC1D,MAAM,EAAE,yBAAyB,EAAE,GAAG,oBAAoB,CAAC;AAO3D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC/B,KAAK,EACL,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,OAAO,GACe,EAAuC,EAAE;IAC/D,MAAM,QAAQ,GAAG,WAAW;QAC3B,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEpC,QAAQ,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAC9C,IAAI;QACJ,UAAU;QACV,QAAQ;QACR,WAAW;KACX,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,WAAW,EAAE,CAAC;QACjB,QAAQ,CAAC,WAAW,CACnB,qBAAqB,CAAC;YACrB,UAAU;YACV,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,KAAK,EAAE,qBAAqB,CAAC,kBAAkB,CAAC;SAChD,CAAC,CACF,CAAC;IACH,CAAC;SAAM,CAAC;QACP,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACb,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type GidsInputTagButtonCommonProps } from '@ganpatiinfo/gids-core-shared';
2
+ export interface GidsInputTagButtonDomProps extends GidsInputTagButtonCommonProps {
3
+ onClick?: (event: MouseEvent) => void;
4
+ }
5
+ export declare const GidsInputTagButtonDom: ({ appearance, disabled, size, label, onClick, }: GidsInputTagButtonDomProps) => HTMLButtonElement;
6
+ //# sourceMappingURL=GidsInputTagButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsInputTagButton.d.ts","sourceRoot":"","sources":["../../../../src/components/GidsInputTag/_GidsInputTagButton/GidsInputTagButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAOnF,MAAM,WAAW,0BAChB,SAAQ,6BAA6B;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,qBAAqB,GAAI,iDAMnC,0BAA0B,KAAG,iBAY/B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { GidsInputTagButtonWebUtils } from '@ganpatiinfo/gids-web-shared';
2
+ import { toggleAttribute } from '../../../utils/domUtils.js';
3
+ import { GidsIconDom } from '../../GidsIcon/GidsIcon.js';
4
+ const { getGidsInputTagButtonClassNames } = GidsInputTagButtonWebUtils;
5
+ export const GidsInputTagButtonDom = ({ appearance, disabled, size, label, onClick, }) => {
6
+ const tagButton = document.createElement('button');
7
+ tagButton.className = getGidsInputTagButtonClassNames({ size, appearance });
8
+ tagButton.setAttribute('aria-label', label ?? '');
9
+ toggleAttribute(tagButton, 'disabled', !!disabled);
10
+ const icon = GidsIconDom({ name: 'cross', alt: '' });
11
+ tagButton.appendChild(icon);
12
+ if (onClick) {
13
+ tagButton.addEventListener('click', onClick);
14
+ }
15
+ return tagButton;
16
+ };
17
+ //# sourceMappingURL=GidsInputTagButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsInputTagButton.js","sourceRoot":"","sources":["../../../../src/components/GidsInputTag/_GidsInputTagButton/GidsInputTagButton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,EAAE,+BAA+B,EAAE,GAAG,0BAA0B,CAAC;AAOvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACrC,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,GACqB,EAAqB,EAAE;IACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,SAAS,CAAC,SAAS,GAAG,+BAA+B,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5E,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAClD,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACrD,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type GidsTagGroupCommonProps } from '@ganpatiinfo/gids-core-shared';
2
+ import { type DomChildren } from '../../utils/domUtils.js';
3
+ export interface GidsTagGroupDomProps extends GidsTagGroupCommonProps<DomChildren> {
4
+ extraClasses?: string;
5
+ }
6
+ export declare const GidsTagGroupDom: ({ children, extraClasses, }: GidsTagGroupDomProps) => HTMLSpanElement;
7
+ //# sourceMappingURL=GidsTagGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsTagGroup.d.ts","sourceRoot":"","sources":["../../../src/components/GidsTagGroup/GidsTagGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI7E,MAAM,WAAW,oBAChB,SAAQ,uBAAuB,CAAC,WAAW,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,GAAI,6BAG7B,oBAAoB,KAAG,eAOzB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { GidsTagGroupWebUtils } from '@ganpatiinfo/gids-web-shared';
2
+ import { appendAsChildren } from '../../utils/domUtils.js';
3
+ const { getGidsTagGroupClassNames } = GidsTagGroupWebUtils;
4
+ export const GidsTagGroupDom = ({ children, extraClasses, }) => {
5
+ const tagGroup = document.createElement('span');
6
+ tagGroup.className = getGidsTagGroupClassNames(extraClasses);
7
+ appendAsChildren(tagGroup, children);
8
+ return tagGroup;
9
+ };
10
+ //# sourceMappingURL=GidsTagGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsTagGroup.js","sourceRoot":"","sources":["../../../src/components/GidsTagGroup/GidsTagGroup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAoB,MAAM,yBAAyB,CAAC;AAE7E,MAAM,EAAE,yBAAyB,EAAE,GAAG,oBAAoB,CAAC;AAO3D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC/B,QAAQ,EACR,YAAY,GACU,EAAmB,EAAE;IAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAE7D,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAErC,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -23,6 +23,9 @@ export * from './components/GidsSwitchGroup/GidsSwitchGroup.js';
23
23
  export * from './components/GidsBadge/GidsBadge.js';
24
24
  export * from './components/GidsAvatar/GidsAvatar.js';
25
25
  export * from './components/GidsAvatarGroup/GidsAvatarGroup.js';
26
+ export * from './components/GidsTagGroup/GidsTagGroup.js';
27
+ export * from './components/GidsInputTag/_GidsInputTagButton/GidsInputTagButton.js';
28
+ export * from './components/GidsInputTag/GidsInputTag.js';
26
29
  /**
27
30
  * Utilities
28
31
  */
@@ -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;AAEhE;;GAEG;AACH,cAAc,qBAAqB,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;AAE1D;;GAEG;AACH,cAAc,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -23,6 +23,9 @@ export * from './components/GidsSwitchGroup/GidsSwitchGroup.js';
23
23
  export * from './components/GidsBadge/GidsBadge.js';
24
24
  export * from './components/GidsAvatar/GidsAvatar.js';
25
25
  export * from './components/GidsAvatarGroup/GidsAvatarGroup.js';
26
+ export * from './components/GidsTagGroup/GidsTagGroup.js';
27
+ export * from './components/GidsInputTag/_GidsInputTagButton/GidsInputTagButton.js';
28
+ export * from './components/GidsInputTag/GidsInputTag.js';
26
29
  /**
27
30
  * Utilities
28
31
  */
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;AAEhE;;GAEG;AACH,cAAc,qBAAqB,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;AAE1D;;GAEG;AACH,cAAc,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ganpatiinfo/gids-web-dom-reference",
3
- "version": "2.0.7",
3
+ "version": "2.0.8",
4
4
  "private": false,
5
5
  "description": "DOM for components reference implementations",
6
6
  "homepage": "https://ganpatiinfosystem.vercel.app/",
@@ -24,11 +24,11 @@
24
24
  "directory": "packages/private/web-dom-reference"
25
25
  },
26
26
  "dependencies": {
27
- "@ganpatiinfo/gids-core-shared": "2.0.7",
28
- "@ganpatiinfo/gids-web-shared": "2.0.7"
27
+ "@ganpatiinfo/gids-core-shared": "2.0.8",
28
+ "@ganpatiinfo/gids-web-shared": "2.0.8"
29
29
  },
30
30
  "peerDependencies": {
31
- "@ganpatiinfo/gids-web-theme-interface": "2.0.6",
31
+ "@ganpatiinfo/gids-web-theme-interface": "2.0.7",
32
32
  "@jest/globals": "29.7.0",
33
33
  "@types/jasmine": "5.1.7",
34
34
  "expect": "29.7.0"
@@ -0,0 +1,62 @@
1
+ import {
2
+ type GidsInputTagCommonProps,
3
+ GidsInputTagCommonUtils,
4
+ } from '@ganpatiinfo/gids-core-shared';
5
+ import { GidsInputTagWebUtils } from '@ganpatiinfo/gids-web-shared';
6
+ import { toggleAttribute, type DomNodeOrString } from '../../utils/domUtils.js';
7
+ import { GidsInputTagButtonDom } from './_GidsInputTagButton/GidsInputTagButton.js';
8
+
9
+ const { getDismissButtonLabel } = GidsInputTagCommonUtils;
10
+ const { getGidsInputTagClassNames } = GidsInputTagWebUtils;
11
+
12
+ export interface GidsInputTagDomProps
13
+ extends GidsInputTagCommonProps<DomNodeOrString> {
14
+ onClick?: (event: MouseEvent) => void;
15
+ }
16
+
17
+ export const GidsInputTagDom = ({
18
+ label,
19
+ appearance,
20
+ size,
21
+ icon,
22
+ dismissible,
23
+ disabled,
24
+ dismissButtonLabel,
25
+ onClick,
26
+ }: GidsInputTagDomProps): HTMLSpanElement | HTMLButtonElement => {
27
+ const inputTag = dismissible
28
+ ? document.createElement('span')
29
+ : document.createElement('button');
30
+
31
+ inputTag.className = getGidsInputTagClassNames({
32
+ size,
33
+ appearance,
34
+ disabled,
35
+ dismissible,
36
+ });
37
+
38
+ if (icon !== undefined) {
39
+ inputTag.append(icon);
40
+ }
41
+
42
+ inputTag.append(label);
43
+
44
+ if (dismissible) {
45
+ inputTag.appendChild(
46
+ GidsInputTagButtonDom({
47
+ appearance,
48
+ disabled,
49
+ size,
50
+ onClick,
51
+ label: getDismissButtonLabel(dismissButtonLabel),
52
+ }),
53
+ );
54
+ } else {
55
+ toggleAttribute(inputTag, 'disabled', !!disabled);
56
+ if (onClick) {
57
+ inputTag.addEventListener('click', onClick);
58
+ }
59
+ }
60
+
61
+ return inputTag;
62
+ };
@@ -0,0 +1,31 @@
1
+ import { type GidsInputTagButtonCommonProps } from '@ganpatiinfo/gids-core-shared';
2
+ import { GidsInputTagButtonWebUtils } from '@ganpatiinfo/gids-web-shared';
3
+ import { toggleAttribute } from '../../../utils/domUtils.js';
4
+ import { GidsIconDom } from '../../GidsIcon/GidsIcon.js';
5
+
6
+ const { getGidsInputTagButtonClassNames } = GidsInputTagButtonWebUtils;
7
+
8
+ export interface GidsInputTagButtonDomProps
9
+ extends GidsInputTagButtonCommonProps {
10
+ onClick?: (event: MouseEvent) => void;
11
+ }
12
+
13
+ export const GidsInputTagButtonDom = ({
14
+ appearance,
15
+ disabled,
16
+ size,
17
+ label,
18
+ onClick,
19
+ }: GidsInputTagButtonDomProps): HTMLButtonElement => {
20
+ const tagButton = document.createElement('button');
21
+ tagButton.className = getGidsInputTagButtonClassNames({ size, appearance });
22
+ tagButton.setAttribute('aria-label', label ?? '');
23
+ toggleAttribute(tagButton, 'disabled', !!disabled);
24
+ const icon = GidsIconDom({ name: 'cross', alt: '' });
25
+ tagButton.appendChild(icon);
26
+ if (onClick) {
27
+ tagButton.addEventListener('click', onClick);
28
+ }
29
+
30
+ return tagButton;
31
+ };
@@ -0,0 +1,22 @@
1
+ import { type GidsTagGroupCommonProps } from '@ganpatiinfo/gids-core-shared';
2
+ import { GidsTagGroupWebUtils } from '@ganpatiinfo/gids-web-shared';
3
+ import { appendAsChildren, type DomChildren } from '../../utils/domUtils.js';
4
+
5
+ const { getGidsTagGroupClassNames } = GidsTagGroupWebUtils;
6
+
7
+ export interface GidsTagGroupDomProps
8
+ extends GidsTagGroupCommonProps<DomChildren> {
9
+ extraClasses?: string;
10
+ }
11
+
12
+ export const GidsTagGroupDom = ({
13
+ children,
14
+ extraClasses,
15
+ }: GidsTagGroupDomProps): HTMLSpanElement => {
16
+ const tagGroup = document.createElement('span');
17
+ tagGroup.className = getGidsTagGroupClassNames(extraClasses);
18
+
19
+ appendAsChildren(tagGroup, children);
20
+
21
+ return tagGroup;
22
+ };
package/src/index.ts CHANGED
@@ -23,6 +23,9 @@ export * from './components/GidsSwitchGroup/GidsSwitchGroup.js';
23
23
  export * from './components/GidsBadge/GidsBadge.js';
24
24
  export * from './components/GidsAvatar/GidsAvatar.js';
25
25
  export * from './components/GidsAvatarGroup/GidsAvatarGroup.js';
26
+ export * from './components/GidsTagGroup/GidsTagGroup.js';
27
+ export * from './components/GidsInputTag/_GidsInputTagButton/GidsInputTagButton.js';
28
+ export * from './components/GidsInputTag/GidsInputTag.js';
26
29
 
27
30
  /**
28
31
  * Utilities