@momentum-design/components 0.22.6 → 0.23.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.
@@ -2,250 +2,6 @@
2
2
  "schemaVersion": "1.0.0",
3
3
  "readme": "",
4
4
  "modules": [
5
- {
6
- "kind": "javascript-module",
7
- "path": "components/avatar/avatar.component.js",
8
- "declarations": [
9
- {
10
- "kind": "class",
11
- "description": "The `mdc-avatar` component is used to represent a person or a space.\nAn avatar can be an icon, initials, counter and photo.\n\nTo set the photo of an avatar,\nyou need to set \"src\" attribute.\n\nWhile the avatar image is loading, as a placeholder,\nwe will show the initials text.\nIf the initials are not specified then,\nwe will show `user-regular` icon as a placeholder.\n\nBy default, if there are no attributes specified,\nthen the default avatar will be an icon with `user-regular` name.\n\nThe avatar component is non clickable and non interactive/focusable component.\nIf the avatar is typing, then the loading indicator will be displayed.\nIf the counter type avatar is set to a negative number, then we will display 0.\nThe presence indicator will be hidden when the counter property is set.",
12
- "name": "Avatar",
13
- "cssProperties": [
14
- {
15
- "description": "Allows customization of the default background color.",
16
- "name": "--mdc-avatar-default-background-color"
17
- },
18
- {
19
- "description": "Allows customization of the default foreground color.",
20
- "name": "--mdc-avatar-default-foreground-color"
21
- },
22
- {
23
- "description": "Allows customization of the loading indicator background color.",
24
- "name": "--mdc-avatar-loading-indicator-background-color"
25
- },
26
- {
27
- "description": "Allows customization of the loading indicator foreground color.",
28
- "name": "--mdc-avatar-loading-indicator-foreground-color"
29
- },
30
- {
31
- "description": "Allows customization of the loading overlay background color.",
32
- "name": "--mdc-avatar-loading-overlay-background-color"
33
- }
34
- ],
35
- "members": [
36
- {
37
- "kind": "field",
38
- "name": "src",
39
- "type": {
40
- "text": "string | undefined"
41
- },
42
- "description": "The src is the url which will be used to display the avatar.\nWhen the src is loading, we will display the initials as a placeholder.",
43
- "attribute": "src",
44
- "inheritedFrom": {
45
- "name": "AvatarComponentMixin",
46
- "module": "utils/mixins/AvatarComponentMixin.js"
47
- }
48
- },
49
- {
50
- "kind": "field",
51
- "name": "initials",
52
- "type": {
53
- "text": "string | undefined"
54
- },
55
- "description": "The initials to be displayed for the avatar.",
56
- "attribute": "initials",
57
- "inheritedFrom": {
58
- "name": "AvatarComponentMixin",
59
- "module": "utils/mixins/AvatarComponentMixin.js"
60
- }
61
- },
62
- {
63
- "kind": "field",
64
- "name": "presence",
65
- "type": {
66
- "text": "PresenceType | undefined"
67
- },
68
- "description": "The presence is the status which can be used to display the\nactivity state of a user or a space within an avatar component.\n\nAcceptable values include:\n- `active`\n- `away`\n- `away-calling`\n- `busy`\n- `dnd`\n- `meeting`\n- `on-call`\n- `on-device`\n- `on-mobile`\n- `pause`\n- `pto`\n- `presenting`\n- `quiet`\n- `scheduled`",
69
- "attribute": "presence",
70
- "inheritedFrom": {
71
- "name": "AvatarComponentMixin",
72
- "module": "utils/mixins/AvatarComponentMixin.js"
73
- }
74
- },
75
- {
76
- "kind": "field",
77
- "name": "size",
78
- "type": {
79
- "text": "AvatarSize"
80
- },
81
- "description": "Acceptable values include (size in px unit):\n- 24\n- 32\n- 48\n- 64\n- 72\n- 88\n- 124",
82
- "default": "32",
83
- "attribute": "size",
84
- "reflects": true,
85
- "inheritedFrom": {
86
- "name": "AvatarComponentMixin",
87
- "module": "utils/mixins/AvatarComponentMixin.js"
88
- }
89
- },
90
- {
91
- "kind": "field",
92
- "name": "counter",
93
- "type": {
94
- "text": "number | undefined"
95
- },
96
- "description": "The counter is the number which can be displayed on the avatar.\nThe maximum number is 99 and if the given number is greater than 99,\nthen the avatar will be displayed as `99+`.\nIf the given number is a negative number,\nthen the avatar will be displayed as `0`.",
97
- "attribute": "counter",
98
- "inheritedFrom": {
99
- "name": "AvatarComponentMixin",
100
- "module": "utils/mixins/AvatarComponentMixin.js"
101
- }
102
- },
103
- {
104
- "kind": "field",
105
- "name": "isTyping",
106
- "type": {
107
- "text": "boolean"
108
- },
109
- "default": "false",
110
- "description": "Represents the typing indicator when the user is typing.",
111
- "attribute": "is-typing",
112
- "inheritedFrom": {
113
- "name": "AvatarComponentMixin",
114
- "module": "utils/mixins/AvatarComponentMixin.js"
115
- }
116
- },
117
- {
118
- "kind": "field",
119
- "name": "iconName",
120
- "type": {
121
- "text": "IconNames | undefined"
122
- },
123
- "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
124
- "attribute": "icon-name",
125
- "inheritedFrom": {
126
- "name": "IconNameMixin",
127
- "module": "utils/mixins/IconNameMixin.js"
128
- }
129
- }
130
- ],
131
- "mixins": [
132
- {
133
- "name": "AvatarComponentMixin",
134
- "module": "/src/utils/mixins/AvatarComponentMixin"
135
- },
136
- {
137
- "name": "IconNameMixin",
138
- "module": "/src/utils/mixins/IconNameMixin"
139
- }
140
- ],
141
- "superclass": {
142
- "name": "Component",
143
- "module": "/src/models"
144
- },
145
- "tagName": "mdc-avatar",
146
- "jsDoc": "/**\n * The `mdc-avatar` component is used to represent a person or a space.\n * An avatar can be an icon, initials, counter and photo.\n *\n * To set the photo of an avatar,\n * you need to set \"src\" attribute.\n *\n * While the avatar image is loading, as a placeholder,\n * we will show the initials text.\n * If the initials are not specified then,\n * we will show `user-regular` icon as a placeholder.\n *\n * By default, if there are no attributes specified,\n * then the default avatar will be an icon with `user-regular` name.\n *\n * The avatar component is non clickable and non interactive/focusable component.\n * If the avatar is typing, then the loading indicator will be displayed.\n * If the counter type avatar is set to a negative number, then we will display 0.\n * The presence indicator will be hidden when the counter property is set.\n *\n * @dependency mdc-icon\n * @dependency mdc-presence\n * @dependency mdc-text\n *\n * @tagname mdc-avatar\n *\n * @cssproperty --mdc-avatar-default-background-color - Allows customization of the default background color.\n * @cssproperty --mdc-avatar-default-foreground-color - Allows customization of the default foreground color.\n * @cssproperty --mdc-avatar-loading-indicator-background-color -\n * Allows customization of the loading indicator background color.\n * @cssproperty --mdc-avatar-loading-indicator-foreground-color -\n * Allows customization of the loading indicator foreground color.\n * @cssproperty --mdc-avatar-loading-overlay-background-color -\n * Allows customization of the loading overlay background color.\n */",
147
- "customElement": true,
148
- "attributes": [
149
- {
150
- "name": "src",
151
- "type": {
152
- "text": "string | undefined"
153
- },
154
- "description": "The src is the url which will be used to display the avatar.\nWhen the src is loading, we will display the initials as a placeholder.",
155
- "fieldName": "src",
156
- "inheritedFrom": {
157
- "name": "AvatarComponentMixin",
158
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
159
- }
160
- },
161
- {
162
- "name": "initials",
163
- "type": {
164
- "text": "string | undefined"
165
- },
166
- "description": "The initials to be displayed for the avatar.",
167
- "fieldName": "initials",
168
- "inheritedFrom": {
169
- "name": "AvatarComponentMixin",
170
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
171
- }
172
- },
173
- {
174
- "name": "presence",
175
- "type": {
176
- "text": "PresenceType | undefined"
177
- },
178
- "description": "The presence is the status which can be used to display the\nactivity state of a user or a space within an avatar component.\n\nAcceptable values include:\n- `active`\n- `away`\n- `away-calling`\n- `busy`\n- `dnd`\n- `meeting`\n- `on-call`\n- `on-device`\n- `on-mobile`\n- `pause`\n- `pto`\n- `presenting`\n- `quiet`\n- `scheduled`",
179
- "fieldName": "presence",
180
- "inheritedFrom": {
181
- "name": "AvatarComponentMixin",
182
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
183
- }
184
- },
185
- {
186
- "name": "size",
187
- "type": {
188
- "text": "AvatarSize"
189
- },
190
- "description": "Acceptable values include (size in px unit):\n- 24\n- 32\n- 48\n- 64\n- 72\n- 88\n- 124",
191
- "default": "32",
192
- "fieldName": "size",
193
- "inheritedFrom": {
194
- "name": "AvatarComponentMixin",
195
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
196
- }
197
- },
198
- {
199
- "name": "counter",
200
- "type": {
201
- "text": "number | undefined"
202
- },
203
- "description": "The counter is the number which can be displayed on the avatar.\nThe maximum number is 99 and if the given number is greater than 99,\nthen the avatar will be displayed as `99+`.\nIf the given number is a negative number,\nthen the avatar will be displayed as `0`.",
204
- "fieldName": "counter",
205
- "inheritedFrom": {
206
- "name": "AvatarComponentMixin",
207
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
208
- }
209
- },
210
- {
211
- "name": "is-typing",
212
- "type": {
213
- "text": "boolean"
214
- },
215
- "default": "false",
216
- "description": "Represents the typing indicator when the user is typing.",
217
- "fieldName": "isTyping",
218
- "inheritedFrom": {
219
- "name": "AvatarComponentMixin",
220
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
221
- }
222
- },
223
- {
224
- "name": "icon-name",
225
- "type": {
226
- "text": "IconNames | undefined"
227
- },
228
- "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
229
- "fieldName": "iconName",
230
- "inheritedFrom": {
231
- "name": "IconNameMixin",
232
- "module": "src/utils/mixins/IconNameMixin.ts"
233
- }
234
- }
235
- ]
236
- }
237
- ],
238
- "exports": [
239
- {
240
- "kind": "js",
241
- "name": "default",
242
- "declaration": {
243
- "name": "Avatar",
244
- "module": "components/avatar/avatar.component.js"
245
- }
246
- }
247
- ]
248
- },
249
5
  {
250
6
  "kind": "javascript-module",
251
7
  "path": "components/avatarbutton/avatarbutton.component.js",
@@ -800,218 +556,115 @@
800
556
  },
801
557
  {
802
558
  "kind": "javascript-module",
803
- "path": "components/badge/badge.component.js",
559
+ "path": "components/avatar/avatar.component.js",
804
560
  "declarations": [
805
561
  {
806
562
  "kind": "class",
807
- "description": "The `mdc-badge` component is a versatile UI element used to\ndisplay dot, icons, counters, success, warning and error type badge.\n\nSupported badge types:\n- `dot`: Displays a dot notification badge with a blue color.\n- `icon`: Displays a badge with a specified icon using the `icon-name` attribute.\n- `counter`: Displays a badge with a counter value. If the counter exceeds the `max-counter`,\nit shows `maxCounter+`. The maximum value of the counter is 999 and anything above that will be set to `999+`.\n- `success`: Displays a success badge with a check circle icon and green color.\n- `warning`: Displays a warning badge with a warning icon and yellow color.\n- `error`: Displays a error badge with a error legacy icon and red color.\n\nFor `icon`, `success`, `warning` and `error` types, the `mdc-icon` component is used to render the icon.\n\nFor the `counter` type, the `mdc-text` component is used to render the counter value.",
808
- "name": "Badge",
563
+ "description": "The `mdc-avatar` component is used to represent a person or a space.\nAn avatar can be an icon, initials, counter and photo.\n\nTo set the photo of an avatar,\nyou need to set \"src\" attribute.\n\nWhile the avatar image is loading, as a placeholder,\nwe will show the initials text.\nIf the initials are not specified then,\nwe will show `user-regular` icon as a placeholder.\n\nBy default, if there are no attributes specified,\nthen the default avatar will be an icon with `user-regular` name.\n\nThe avatar component is non clickable and non interactive/focusable component.\nIf the avatar is typing, then the loading indicator will be displayed.\nIf the counter type avatar is set to a negative number, then we will display 0.\nThe presence indicator will be hidden when the counter property is set.",
564
+ "name": "Avatar",
809
565
  "cssProperties": [
810
566
  {
811
- "description": "The foreground color of the primary badge.",
812
- "name": "--mdc-badge-primary-foreground-color"
567
+ "description": "Allows customization of the default background color.",
568
+ "name": "--mdc-avatar-default-background-color"
813
569
  },
814
570
  {
815
- "description": "The background color of the primary badge.",
816
- "name": "--mdc-badge-primary-background-color"
817
- },
818
- {
819
- "description": "The foreground color of the secondary badge.",
820
- "name": "--mdc-badge-secondary-foreground-color"
821
- },
822
- {
823
- "description": "The background color of the secondary badge.",
824
- "name": "--mdc-badge-secondary-background-color"
825
- },
826
- {
827
- "description": "The foreground color of the success badge.",
828
- "name": "--mdc-badge-success-foreground-color"
829
- },
830
- {
831
- "description": "The background color of the success badge.",
832
- "name": "--mdc-badge-success-background-color"
833
- },
834
- {
835
- "description": "The foreground color of the warning badge.",
836
- "name": "--mdc-badge-warning-foreground-color"
837
- },
838
- {
839
- "description": "The background color of the warning badge.",
840
- "name": "--mdc-badge-warning-background-color"
571
+ "description": "Allows customization of the default foreground color.",
572
+ "name": "--mdc-avatar-default-foreground-color"
841
573
  },
842
574
  {
843
- "description": "The foreground color of the error badge.",
844
- "name": "--mdc-badge-error-foreground-color"
575
+ "description": "Allows customization of the loading indicator background color.",
576
+ "name": "--mdc-avatar-loading-indicator-background-color"
845
577
  },
846
578
  {
847
- "description": "The background color of the error badge.",
848
- "name": "--mdc-badge-error-background-color"
579
+ "description": "Allows customization of the loading indicator foreground color.",
580
+ "name": "--mdc-avatar-loading-indicator-foreground-color"
849
581
  },
850
582
  {
851
- "description": "The background color of the badge overlay.",
852
- "name": "--mdc-badge-overlay-background-color"
583
+ "description": "Allows customization of the loading overlay background color.",
584
+ "name": "--mdc-avatar-loading-overlay-background-color"
853
585
  }
854
586
  ],
855
587
  "members": [
856
588
  {
857
589
  "kind": "field",
858
- "name": "type",
590
+ "name": "src",
859
591
  "type": {
860
- "text": "BadgeType | undefined"
592
+ "text": "string | undefined"
861
593
  },
862
- "description": "Type of the badge\nCan be `dot` (notification) , `icon`, `counter`, `success`, `warning` or `error`.",
863
- "attribute": "type",
864
- "reflects": true
594
+ "description": "The src is the url which will be used to display the avatar.\nWhen the src is loading, we will display the initials as a placeholder.",
595
+ "attribute": "src",
596
+ "inheritedFrom": {
597
+ "name": "AvatarComponentMixin",
598
+ "module": "utils/mixins/AvatarComponentMixin.js"
599
+ }
865
600
  },
866
601
  {
867
602
  "kind": "field",
868
- "name": "variant",
603
+ "name": "initials",
869
604
  "type": {
870
- "text": "IconVariant"
605
+ "text": "string | undefined"
871
606
  },
872
- "description": "Type of the variant can be `primary` or `secondary`.\nIt defines the background and foreground color of the icon.",
873
- "default": "primary",
874
- "attribute": "variant",
875
- "reflects": true
607
+ "description": "The initials to be displayed for the avatar.",
608
+ "attribute": "initials",
609
+ "inheritedFrom": {
610
+ "name": "AvatarComponentMixin",
611
+ "module": "utils/mixins/AvatarComponentMixin.js"
612
+ }
876
613
  },
877
614
  {
878
615
  "kind": "field",
879
- "name": "counter",
616
+ "name": "presence",
880
617
  "type": {
881
- "text": "number | undefined"
618
+ "text": "PresenceType | undefined"
882
619
  },
883
- "description": "Counter is the number which can be provided in the badge.",
884
- "attribute": "counter"
620
+ "description": "The presence is the status which can be used to display the\nactivity state of a user or a space within an avatar component.\n\nAcceptable values include:\n- `active`\n- `away`\n- `away-calling`\n- `busy`\n- `dnd`\n- `meeting`\n- `on-call`\n- `on-device`\n- `on-mobile`\n- `pause`\n- `pto`\n- `presenting`\n- `quiet`\n- `scheduled`",
621
+ "attribute": "presence",
622
+ "inheritedFrom": {
623
+ "name": "AvatarComponentMixin",
624
+ "module": "utils/mixins/AvatarComponentMixin.js"
625
+ }
885
626
  },
886
627
  {
887
628
  "kind": "field",
888
- "name": "maxCounter",
629
+ "name": "size",
889
630
  "type": {
890
- "text": "number"
631
+ "text": "AvatarSize"
891
632
  },
892
- "description": "The maximum number can be set up to 999, anything above that will be rendered as _999+_.\nThe max counter can be `9`, `99` or `999`.",
893
- "default": "99",
894
- "attribute": "max-counter",
895
- "reflects": true
633
+ "description": "Acceptable values include (size in px unit):\n- 24\n- 32\n- 48\n- 64\n- 72\n- 88\n- 124",
634
+ "default": "32",
635
+ "attribute": "size",
636
+ "reflects": true,
637
+ "inheritedFrom": {
638
+ "name": "AvatarComponentMixin",
639
+ "module": "utils/mixins/AvatarComponentMixin.js"
640
+ }
896
641
  },
897
642
  {
898
643
  "kind": "field",
899
- "name": "overlay",
644
+ "name": "counter",
900
645
  "type": {
901
- "text": "boolean"
646
+ "text": "number | undefined"
902
647
  },
903
- "default": "false",
904
- "description": "Overlay is to add a thin outline to the badge.\nThis will help distinguish between the badge and the button,\nwhere the badge will be layered on top of a button.",
905
- "attribute": "overlay"
648
+ "description": "The counter is the number which can be displayed on the avatar.\nThe maximum number is 99 and if the given number is greater than 99,\nthen the avatar will be displayed as `99+`.\nIf the given number is a negative number,\nthen the avatar will be displayed as `0`.",
649
+ "attribute": "counter",
650
+ "inheritedFrom": {
651
+ "name": "AvatarComponentMixin",
652
+ "module": "utils/mixins/AvatarComponentMixin.js"
653
+ }
906
654
  },
907
655
  {
908
656
  "kind": "field",
909
- "name": "ariaLabel",
657
+ "name": "isTyping",
910
658
  "type": {
911
- "text": "string | null"
912
- },
913
- "default": "null",
914
- "description": "Aria-label attribute to be set for accessibility",
915
- "attribute": "aria-label"
916
- },
917
- {
918
- "kind": "method",
919
- "name": "getCounterText",
920
- "privacy": "private",
921
- "return": {
922
- "type": {
923
- "text": ""
924
- }
925
- },
926
- "parameters": [
927
- {
928
- "name": "maxCounter",
929
- "type": {
930
- "text": "number"
931
- },
932
- "description": "the maximum limit which can be displayed on the badge"
933
- },
934
- {
935
- "name": "counter",
936
- "optional": true,
937
- "type": {
938
- "text": "number"
939
- },
940
- "description": "the number to be displayed on the badge"
941
- }
942
- ],
943
- "description": "If `type` is set to `counter` and if `counter` is greater than `maxCounter`,\nthen it will return a string the maxCounter value as string.\nOtherwise, it will return a string representation of `counter`.\nIf `counter` is not a number, it will return an empty string."
944
- },
945
- {
946
- "kind": "method",
947
- "name": "getBadgeIcon",
948
- "privacy": "private",
949
- "return": {
950
- "type": {
951
- "text": ""
952
- }
953
- },
954
- "parameters": [
955
- {
956
- "name": "iconName",
957
- "type": {
958
- "text": "string"
959
- },
960
- "description": "the name of the icon from the icon set"
961
- },
962
- {
963
- "name": "backgroundClassPostfix",
964
- "type": {
965
- "text": "string"
966
- },
967
- "description": "postfix for the class to style the badge icon."
968
- }
969
- ],
970
- "description": "Method to generate the badge icon."
971
- },
972
- {
973
- "kind": "method",
974
- "name": "getBadgeDot",
975
- "privacy": "private",
976
- "return": {
977
- "type": {
978
- "text": ""
979
- }
980
- },
981
- "description": "Method to generate the badge dot template."
982
- },
983
- {
984
- "kind": "method",
985
- "name": "getBadgeCounterText",
986
- "privacy": "private",
987
- "return": {
988
- "type": {
989
- "text": ""
990
- }
991
- },
992
- "description": "Method to generate the badge text and counter template."
993
- },
994
- {
995
- "kind": "method",
996
- "name": "setRoleByAriaLabel",
997
- "privacy": "private",
998
- "return": {
999
- "type": {
1000
- "text": "void"
1001
- }
1002
- },
1003
- "description": "Method to set the role based on the aria-label provided.\nIf the aria-label is provided, the role of the element will be 'img'.\nOtherwise, the role will be null."
1004
- },
1005
- {
1006
- "kind": "method",
1007
- "name": "getBadgeContentBasedOnType",
1008
- "privacy": "private",
1009
- "return": {
1010
- "type": {
1011
- "text": ""
1012
- }
659
+ "text": "boolean"
1013
660
  },
1014
- "description": "Generates the badge content based on the badge type.\nUtilizes various helper methods to create the appropriate badge template based on the\ncurrent badge type. Supports 'dot', 'icon', 'counter', 'success', 'warning', and 'error'\ntypes, returning the corresponding template result for each type."
661
+ "default": "false",
662
+ "description": "Represents the typing indicator when the user is typing.",
663
+ "attribute": "is-typing",
664
+ "inheritedFrom": {
665
+ "name": "AvatarComponentMixin",
666
+ "module": "utils/mixins/AvatarComponentMixin.js"
667
+ }
1015
668
  },
1016
669
  {
1017
670
  "kind": "field",
@@ -1027,58 +680,97 @@
1027
680
  }
1028
681
  }
1029
682
  ],
683
+ "mixins": [
684
+ {
685
+ "name": "AvatarComponentMixin",
686
+ "module": "/src/utils/mixins/AvatarComponentMixin"
687
+ },
688
+ {
689
+ "name": "IconNameMixin",
690
+ "module": "/src/utils/mixins/IconNameMixin"
691
+ }
692
+ ],
693
+ "superclass": {
694
+ "name": "Component",
695
+ "module": "/src/models"
696
+ },
697
+ "tagName": "mdc-avatar",
698
+ "jsDoc": "/**\n * The `mdc-avatar` component is used to represent a person or a space.\n * An avatar can be an icon, initials, counter and photo.\n *\n * To set the photo of an avatar,\n * you need to set \"src\" attribute.\n *\n * While the avatar image is loading, as a placeholder,\n * we will show the initials text.\n * If the initials are not specified then,\n * we will show `user-regular` icon as a placeholder.\n *\n * By default, if there are no attributes specified,\n * then the default avatar will be an icon with `user-regular` name.\n *\n * The avatar component is non clickable and non interactive/focusable component.\n * If the avatar is typing, then the loading indicator will be displayed.\n * If the counter type avatar is set to a negative number, then we will display 0.\n * The presence indicator will be hidden when the counter property is set.\n *\n * @dependency mdc-icon\n * @dependency mdc-presence\n * @dependency mdc-text\n *\n * @tagname mdc-avatar\n *\n * @cssproperty --mdc-avatar-default-background-color - Allows customization of the default background color.\n * @cssproperty --mdc-avatar-default-foreground-color - Allows customization of the default foreground color.\n * @cssproperty --mdc-avatar-loading-indicator-background-color -\n * Allows customization of the loading indicator background color.\n * @cssproperty --mdc-avatar-loading-indicator-foreground-color -\n * Allows customization of the loading indicator foreground color.\n * @cssproperty --mdc-avatar-loading-overlay-background-color -\n * Allows customization of the loading overlay background color.\n */",
699
+ "customElement": true,
1030
700
  "attributes": [
1031
701
  {
1032
- "name": "type",
702
+ "name": "src",
1033
703
  "type": {
1034
- "text": "BadgeType | undefined"
704
+ "text": "string | undefined"
1035
705
  },
1036
- "description": "Type of the badge\nCan be `dot` (notification) , `icon`, `counter`, `success`, `warning` or `error`.",
1037
- "fieldName": "type"
706
+ "description": "The src is the url which will be used to display the avatar.\nWhen the src is loading, we will display the initials as a placeholder.",
707
+ "fieldName": "src",
708
+ "inheritedFrom": {
709
+ "name": "AvatarComponentMixin",
710
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
711
+ }
1038
712
  },
1039
713
  {
1040
- "name": "variant",
714
+ "name": "initials",
1041
715
  "type": {
1042
- "text": "IconVariant"
716
+ "text": "string | undefined"
1043
717
  },
1044
- "description": "Type of the variant can be `primary` or `secondary`.\nIt defines the background and foreground color of the icon.",
1045
- "default": "primary",
1046
- "fieldName": "variant"
1047
- },
718
+ "description": "The initials to be displayed for the avatar.",
719
+ "fieldName": "initials",
720
+ "inheritedFrom": {
721
+ "name": "AvatarComponentMixin",
722
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
723
+ }
724
+ },
1048
725
  {
1049
- "name": "counter",
726
+ "name": "presence",
1050
727
  "type": {
1051
- "text": "number | undefined"
728
+ "text": "PresenceType | undefined"
1052
729
  },
1053
- "description": "Counter is the number which can be provided in the badge.",
1054
- "fieldName": "counter"
730
+ "description": "The presence is the status which can be used to display the\nactivity state of a user or a space within an avatar component.\n\nAcceptable values include:\n- `active`\n- `away`\n- `away-calling`\n- `busy`\n- `dnd`\n- `meeting`\n- `on-call`\n- `on-device`\n- `on-mobile`\n- `pause`\n- `pto`\n- `presenting`\n- `quiet`\n- `scheduled`",
731
+ "fieldName": "presence",
732
+ "inheritedFrom": {
733
+ "name": "AvatarComponentMixin",
734
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
735
+ }
1055
736
  },
1056
737
  {
1057
- "name": "max-counter",
738
+ "name": "size",
1058
739
  "type": {
1059
- "text": "number"
740
+ "text": "AvatarSize"
1060
741
  },
1061
- "description": "The maximum number can be set up to 999, anything above that will be rendered as _999+_.\nThe max counter can be `9`, `99` or `999`.",
1062
- "default": "99",
1063
- "fieldName": "maxCounter"
742
+ "description": "Acceptable values include (size in px unit):\n- 24\n- 32\n- 48\n- 64\n- 72\n- 88\n- 124",
743
+ "default": "32",
744
+ "fieldName": "size",
745
+ "inheritedFrom": {
746
+ "name": "AvatarComponentMixin",
747
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
748
+ }
1064
749
  },
1065
750
  {
1066
- "name": "overlay",
751
+ "name": "counter",
1067
752
  "type": {
1068
- "text": "boolean"
753
+ "text": "number | undefined"
1069
754
  },
1070
- "default": "false",
1071
- "description": "Overlay is to add a thin outline to the badge.\nThis will help distinguish between the badge and the button,\nwhere the badge will be layered on top of a button.",
1072
- "fieldName": "overlay"
755
+ "description": "The counter is the number which can be displayed on the avatar.\nThe maximum number is 99 and if the given number is greater than 99,\nthen the avatar will be displayed as `99+`.\nIf the given number is a negative number,\nthen the avatar will be displayed as `0`.",
756
+ "fieldName": "counter",
757
+ "inheritedFrom": {
758
+ "name": "AvatarComponentMixin",
759
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
760
+ }
1073
761
  },
1074
762
  {
1075
- "name": "aria-label",
763
+ "name": "is-typing",
1076
764
  "type": {
1077
- "text": "string | null"
765
+ "text": "boolean"
1078
766
  },
1079
- "default": "null",
1080
- "description": "Aria-label attribute to be set for accessibility",
1081
- "fieldName": "ariaLabel"
767
+ "default": "false",
768
+ "description": "Represents the typing indicator when the user is typing.",
769
+ "fieldName": "isTyping",
770
+ "inheritedFrom": {
771
+ "name": "AvatarComponentMixin",
772
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
773
+ }
1082
774
  },
1083
775
  {
1084
776
  "name": "icon-name",
@@ -1092,20 +784,7 @@
1092
784
  "module": "src/utils/mixins/IconNameMixin.ts"
1093
785
  }
1094
786
  }
1095
- ],
1096
- "mixins": [
1097
- {
1098
- "name": "IconNameMixin",
1099
- "module": "/src/utils/mixins/IconNameMixin"
1100
- }
1101
- ],
1102
- "superclass": {
1103
- "name": "Component",
1104
- "module": "/src/models"
1105
- },
1106
- "tagName": "mdc-badge",
1107
- "jsDoc": "/**\n * The `mdc-badge` component is a versatile UI element used to\n * display dot, icons, counters, success, warning and error type badge.\n *\n * Supported badge types:\n * - `dot`: Displays a dot notification badge with a blue color.\n * - `icon`: Displays a badge with a specified icon using the `icon-name` attribute.\n * - `counter`: Displays a badge with a counter value. If the counter exceeds the `max-counter`,\n * it shows `maxCounter+`. The maximum value of the counter is 999 and anything above that will be set to `999+`.\n * - `success`: Displays a success badge with a check circle icon and green color.\n * - `warning`: Displays a warning badge with a warning icon and yellow color.\n * - `error`: Displays a error badge with a error legacy icon and red color.\n *\n * For `icon`, `success`, `warning` and `error` types, the `mdc-icon` component is used to render the icon.\n *\n * For the `counter` type, the `mdc-text` component is used to render the counter value.\n *\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @tagname mdc-badge\n *\n * @cssproperty --mdc-badge-primary-foreground-color - The foreground color of the primary badge.\n * @cssproperty --mdc-badge-primary-background-color - The background color of the primary badge.\n * @cssproperty --mdc-badge-secondary-foreground-color - The foreground color of the secondary badge.\n * @cssproperty --mdc-badge-secondary-background-color - The background color of the secondary badge.\n * @cssproperty --mdc-badge-success-foreground-color - The foreground color of the success badge.\n * @cssproperty --mdc-badge-success-background-color - The background color of the success badge.\n * @cssproperty --mdc-badge-warning-foreground-color - The foreground color of the warning badge.\n * @cssproperty --mdc-badge-warning-background-color - The background color of the warning badge.\n * @cssproperty --mdc-badge-error-foreground-color - The foreground color of the error badge.\n * @cssproperty --mdc-badge-error-background-color - The background color of the error badge.\n * @cssproperty --mdc-badge-overlay-background-color - The background color of the badge overlay.\n */",
1108
- "customElement": true
787
+ ]
1109
788
  }
1110
789
  ],
1111
790
  "exports": [
@@ -1113,8 +792,8 @@
1113
792
  "kind": "js",
1114
793
  "name": "default",
1115
794
  "declaration": {
1116
- "name": "Badge",
1117
- "module": "components/badge/badge.component.js"
795
+ "name": "Avatar",
796
+ "module": "components/avatar/avatar.component.js"
1118
797
  }
1119
798
  }
1120
799
  ]
@@ -1192,495 +871,825 @@
1192
871
  },
1193
872
  {
1194
873
  "kind": "javascript-module",
1195
- "path": "components/checkbox/checkbox.component.js",
874
+ "path": "components/button/button.component.js",
1196
875
  "declarations": [
1197
876
  {
1198
877
  "kind": "class",
1199
- "description": "Checkboxes allow users to select multiple options from a list or turn an item/feature on or off.\nThese are often used in forms, settings, and selections in lists.\n\nA checkbox component contains an optional label and an optional helper text.",
1200
- "name": "Checkbox",
1201
- "cssProperties": [
1202
- {
1203
- "description": "Allows customization of the background color on hover.",
1204
- "name": "--mdc-checkbox-background-color-hover"
1205
- },
1206
- {
1207
- "description": "Border color in high contrast.",
1208
- "name": "--mdc-checkbox-border-color"
1209
- },
1210
- {
1211
- "description": "Background color for a selected checkbox.",
1212
- "name": "--mdc-checkbox-checked-background-color"
1213
- },
1214
- {
1215
- "description": "Background color for a selected checkbox when hovered.",
1216
- "name": "--mdc-checkbox-checked-background-color-hover"
1217
- },
1218
- {
1219
- "description": "Background color for a selected checkbox when pressed.",
1220
- "name": "--mdc-checkbox-checked-pressed-icon-color"
1221
- },
1222
- {
1223
- "description": "Background color for a disabled checkbox.",
1224
- "name": "--mdc-checkbox-disabled-background-color"
1225
- },
1226
- {
1227
- "description": "Border color for a disabled checkbox.",
1228
- "name": "--mdc-checkbox-disabled-border-color"
1229
- },
1230
- {
1231
- "description": "Background color for a disabled, selected checkbox.",
1232
- "name": "--mdc-checkbox-disabled-checked-icon-color"
1233
- },
878
+ "description": "`mdc-button` is a component that can be configured in various ways to suit different use cases.\n\nButton Variants:\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.\n\nButton Colors:\n- **Positive**: Green color.\n- **Negative**: Red color.\n- **Accent**: Blue color.\n- **Promotional**: Purple color.\n- **Default**: White color.\n\nButton Sizes (in REM units):\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- **Tertiary icon button**: 20.\n\nButton Types:\n- **Pill button**: A button that contains text value. Commonly used for call to action, tags, or filters.\n- **Pill button with icons**: A button containing an icon either on the left or right side of the button.\n- **Icon button**: A button represented by just an icon without any text.\nThe type of button is inferred based on the presence of slot and/or prefix and postfix icons.",
879
+ "name": "Button",
880
+ "slots": [
1234
881
  {
1235
- "description": "Icon color for a disabled checkbox.",
1236
- "name": "--mdc-checkbox-disabled-icon-color"
1237
- },
882
+ "description": "Text label of the button.",
883
+ "name": ""
884
+ }
885
+ ],
886
+ "members": [
1238
887
  {
1239
- "description": "Background color for an unselected checkbox.",
1240
- "name": "--mdc-checkbox-icon-background-color"
888
+ "kind": "field",
889
+ "name": "prefixIcon",
890
+ "type": {
891
+ "text": "string | undefined"
892
+ },
893
+ "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
894
+ "attribute": "prefix-icon",
895
+ "reflects": true
1241
896
  },
1242
897
  {
1243
- "description": "Default background color for an unselected checkbox.",
1244
- "name": "--mdc-checkbox-icon-border-color"
898
+ "kind": "field",
899
+ "name": "postfixIcon",
900
+ "type": {
901
+ "text": "string | undefined"
902
+ },
903
+ "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
904
+ "attribute": "postfix-icon",
905
+ "reflects": true
1245
906
  },
1246
907
  {
1247
- "description": "Icon color for an unselected checkbox.",
1248
- "name": "--mdc-checkbox-icon-color"
908
+ "kind": "field",
909
+ "name": "variant",
910
+ "type": {
911
+ "text": "ButtonVariant"
912
+ },
913
+ "description": "There are 3 variants of button: primary, secondary, tertiary. They are styled differently.\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.",
914
+ "default": "primary",
915
+ "attribute": "variant"
1249
916
  },
1250
- {
1251
- "description": "Background color for a selected checkbox when pressed.",
1252
- "name": "--mdc-checkbox-pressed-icon-color"
1253
- }
1254
- ],
1255
- "members": [
1256
917
  {
1257
918
  "kind": "field",
1258
- "name": "checked",
919
+ "name": "size",
1259
920
  "type": {
1260
- "text": "boolean"
921
+ "text": "ButtonSize"
1261
922
  },
1262
- "default": "false",
1263
- "description": "Determines whether the checkbox is selected or unselected.",
1264
- "attribute": "checked",
1265
- "reflects": true
923
+ "description": "Button sizing is based on the button type.\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- Tertiary icon button can also be 20.",
924
+ "default": "32",
925
+ "attribute": "size",
926
+ "reflects": true,
927
+ "inheritedFrom": {
928
+ "name": "Buttonsimple",
929
+ "module": "components/buttonsimple/buttonsimple.component.js"
930
+ }
1266
931
  },
1267
932
  {
1268
933
  "kind": "field",
1269
- "name": "indeterminate",
934
+ "name": "color",
1270
935
  "type": {
1271
- "text": "boolean"
936
+ "text": "ButtonColor"
1272
937
  },
1273
- "default": "false",
1274
- "description": "This property is used to determine the parent checkbox in a nested checkbox group.\nIf any one of the children is unselected, then the parent checkbox will be indeterminate.\nIf all children are either selected or unselected, then the parent checkbox will not be indeterminate.",
1275
- "attribute": "indeterminate",
1276
- "reflects": true
938
+ "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
939
+ "default": "default",
940
+ "attribute": "color"
1277
941
  },
1278
942
  {
1279
- "kind": "method",
1280
- "name": "setFormValue",
1281
- "privacy": "private",
1282
- "description": "Updates the form value to reflect the current state of the checkbox.\nIf checked, the value is set to either the user-provided value or 'on' if no value is provided.\nIf unchecked, the value is set to null."
943
+ "kind": "field",
944
+ "name": "role",
945
+ "description": "This property defines the ARIA role for the element. By default, it is set to 'button'.\nConsumers should override this role when:\n- The element is being used in a context where a different role is more appropriate.\n- Custom behaviors are implemented that require a specific ARIA role for accessibility purposes.",
946
+ "default": "'button'",
947
+ "attribute": "role",
948
+ "reflects": true,
949
+ "type": {
950
+ "text": "string"
951
+ },
952
+ "inheritedFrom": {
953
+ "name": "Buttonsimple",
954
+ "module": "components/buttonsimple/buttonsimple.component.js"
955
+ }
1283
956
  },
1284
957
  {
1285
958
  "kind": "method",
1286
- "name": "toggleState",
959
+ "name": "modifyIconName",
1287
960
  "privacy": "private",
1288
- "return": {
1289
- "type": {
1290
- "text": "void"
961
+ "parameters": [
962
+ {
963
+ "name": "active",
964
+ "type": {
965
+ "text": "boolean"
966
+ },
967
+ "description": "The active state."
1291
968
  }
1292
- },
1293
- "description": "Toggles the state of the checkbox element.\nIf the element is not disabled, then\nthe checked property is toggled and the indeterminate property is set to false."
969
+ ],
970
+ "description": "Modifies the icon name based on the active state.\nIf the button is active, the icon name is suffixed with '-filled'.\nIf the button is inactive, the icon name is restored to its original value.\nIf '-filled' icon is not available, the icon name remains unchanged."
1294
971
  },
1295
972
  {
1296
973
  "kind": "method",
1297
- "name": "handleChange",
1298
- "privacy": "public",
1299
- "return": {
1300
- "type": {
1301
- "text": "void"
1302
- }
1303
- },
974
+ "name": "setVariant",
975
+ "privacy": "private",
1304
976
  "parameters": [
1305
977
  {
1306
- "name": "event",
978
+ "name": "variant",
1307
979
  "type": {
1308
- "text": "Event"
1309
- }
980
+ "text": "ButtonVariant"
981
+ },
982
+ "description": "The variant to set."
1310
983
  }
1311
984
  ],
1312
- "description": "Toggles the state of the checkbox element.\nand dispatch the new change event."
985
+ "description": "Sets the variant attribute for the button component.\nIf the provided variant is not included in the BUTTON_VARIANTS,\nit defaults to the value specified in DEFAULTS.VARIANT."
1313
986
  },
1314
987
  {
1315
988
  "kind": "method",
1316
- "name": "handleKeyDown",
989
+ "name": "setSize",
1317
990
  "privacy": "private",
1318
- "return": {
1319
- "type": {
1320
- "text": "void"
1321
- }
1322
- },
1323
991
  "parameters": [
1324
992
  {
1325
- "name": "event",
993
+ "name": "size",
1326
994
  "type": {
1327
- "text": "KeyboardEvent"
995
+ "text": "PillButtonSize | IconButtonSize"
1328
996
  },
1329
- "description": "The keyboard event."
997
+ "description": "The size to set."
1330
998
  }
1331
999
  ],
1332
- "description": "Handles the keydown event on the checkbox.\nWhen the user presses Enter, the form is submitted."
1000
+ "description": "Sets the size attribute for the button component.\nValidates the size based on the button type (icon, pill, or tertiary).\nDefaults to DEFAULTS.SIZE if invalid."
1333
1001
  },
1334
1002
  {
1335
- "kind": "field",
1336
- "name": "internals"
1003
+ "kind": "method",
1004
+ "name": "setColor",
1005
+ "privacy": "private",
1006
+ "parameters": [
1007
+ {
1008
+ "name": "color",
1009
+ "type": {
1010
+ "text": "ButtonColor"
1011
+ },
1012
+ "description": "The color to set."
1013
+ }
1014
+ ],
1015
+ "description": "Sets the color attribute for the button.\nDefaults to DEFAULTS.COLOR if invalid or for tertiary buttons."
1337
1016
  },
1338
1017
  {
1339
- "kind": "field",
1340
- "name": "helpTextType",
1341
- "type": {
1342
- "text": "ValidationType"
1343
- },
1344
- "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
1345
- "attribute": "help-text-type",
1346
- "reflects": true,
1347
- "default": "undefined as unknown",
1348
- "inheritedFrom": {
1349
- "name": "FormfieldWrapper",
1350
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1351
- }
1018
+ "kind": "method",
1019
+ "name": "inferButtonType",
1020
+ "privacy": "private",
1021
+ "description": "Infers the type of button based on the presence of slot and/or prefix and postfix icons.",
1022
+ "parameters": [
1023
+ {
1024
+ "description": "default slot of button",
1025
+ "name": "slot"
1026
+ }
1027
+ ]
1352
1028
  },
1353
1029
  {
1354
1030
  "kind": "field",
1355
- "name": "name",
1031
+ "name": "tabIndex",
1356
1032
  "type": {
1357
- "text": "string"
1033
+ "text": "number"
1358
1034
  },
1359
- "default": "''",
1360
- "description": "Indicates the name of the component group (ex: checkbox, radio group).\nThey are used to group elements in a form together.",
1361
- "attribute": "name",
1035
+ "default": "0",
1036
+ "description": "This property specifies the tab order of the element.",
1037
+ "attribute": "tabIndex",
1362
1038
  "reflects": true,
1363
1039
  "inheritedFrom": {
1364
- "name": "NameMixin",
1365
- "module": "utils/mixins/NameMixin.js"
1040
+ "name": "TabIndexMixin",
1041
+ "module": "utils/mixins/TabIndexMixin.js"
1366
1042
  }
1367
1043
  },
1368
1044
  {
1369
1045
  "kind": "field",
1370
- "name": "value",
1046
+ "name": "disabled",
1371
1047
  "type": {
1372
- "text": "string"
1048
+ "text": "boolean"
1373
1049
  },
1374
- "default": "''",
1375
- "description": "Indicates the value of the component group (ex: input, checkbox, radio, select etc...)",
1376
- "attribute": "value",
1050
+ "default": "false",
1051
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
1052
+ "attribute": "disabled",
1377
1053
  "reflects": true,
1378
1054
  "inheritedFrom": {
1379
- "name": "ValueMixin",
1380
- "module": "utils/mixins/ValueMixin.js"
1055
+ "name": "DisabledMixin",
1056
+ "module": "utils/mixins/DisabledMixin.js"
1381
1057
  }
1382
1058
  },
1383
1059
  {
1384
1060
  "kind": "field",
1385
- "name": "dataAriaLabel",
1061
+ "name": "active",
1386
1062
  "type": {
1387
- "text": "string | null"
1063
+ "text": "boolean"
1388
1064
  },
1389
- "default": "null",
1390
- "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
1391
- "attribute": "data-aria-label",
1065
+ "default": "false",
1066
+ "description": "The button's active state indicates whether it is currently toggled on (active) or off (inactive).\nWhen the active state is true, the button is considered to be in an active state, meaning it is toggled on.\nConversely, when the active state is false, the button is in an inactive state, indicating it is toggled off.",
1067
+ "attribute": "active",
1392
1068
  "reflects": true,
1393
1069
  "inheritedFrom": {
1394
- "name": "DataAriaLabelMixin",
1395
- "module": "utils/mixins/DataAriaLabelMixin.js"
1070
+ "name": "Buttonsimple",
1071
+ "module": "components/buttonsimple/buttonsimple.component.js"
1396
1072
  }
1397
1073
  },
1398
1074
  {
1399
1075
  "kind": "field",
1400
- "name": "disabled",
1076
+ "name": "softDisabled",
1401
1077
  "type": {
1402
1078
  "text": "boolean"
1403
1079
  },
1404
1080
  "default": "false",
1405
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
1406
- "attribute": "disabled",
1407
- "reflects": true,
1081
+ "description": "Indicates whether the button is soft disabled.\nWhen set to `true`, the button appears visually disabled but still allows\nfocus, click, and keyboard actions to be passed through.\n\n**Important:** When using soft disabled, consumers must ensure that\nthe button behaves like a disabled button, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
1082
+ "attribute": "soft-disabled",
1408
1083
  "inheritedFrom": {
1409
- "name": "DisabledMixin",
1410
- "module": "utils/mixins/DisabledMixin.js"
1084
+ "name": "Buttonsimple",
1085
+ "module": "components/buttonsimple/buttonsimple.component.js"
1411
1086
  }
1412
1087
  },
1413
1088
  {
1414
1089
  "kind": "field",
1415
- "name": "label",
1090
+ "name": "type",
1416
1091
  "type": {
1417
- "text": "string | undefined"
1092
+ "text": "ButtonType"
1418
1093
  },
1419
- "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
1420
- "attribute": "label",
1094
+ "description": "This property defines the type attribute for the button element.\nThe type attribute specifies the behavior of the button when it is clicked.\n- **submit**: The button submits the form data to the server.\n- **reset**: The button resets the form data to its initial state.\n- **button**: The button does nothing when clicked.",
1095
+ "default": "button",
1096
+ "attribute": "type",
1421
1097
  "reflects": true,
1422
1098
  "inheritedFrom": {
1423
- "name": "FormfieldWrapper",
1424
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1099
+ "name": "Buttonsimple",
1100
+ "module": "components/buttonsimple/buttonsimple.component.js"
1425
1101
  }
1426
1102
  },
1427
1103
  {
1428
- "kind": "field",
1429
- "name": "id",
1430
- "default": "`mdc-input-${uuidv4()}`",
1431
- "description": "The unique id of the input field. It is used to link the input field with the label.",
1432
- "attribute": "id",
1104
+ "kind": "method",
1105
+ "name": "executeAction",
1106
+ "privacy": "protected",
1433
1107
  "inheritedFrom": {
1434
- "name": "FormfieldWrapper",
1435
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1108
+ "name": "Buttonsimple",
1109
+ "module": "components/buttonsimple/buttonsimple.component.js"
1436
1110
  }
1437
1111
  },
1438
1112
  {
1439
- "kind": "field",
1440
- "name": "helpText",
1113
+ "kind": "method",
1114
+ "name": "setActive",
1115
+ "privacy": "protected",
1116
+ "parameters": [
1117
+ {
1118
+ "name": "element",
1119
+ "type": {
1120
+ "text": "HTMLElement"
1121
+ },
1122
+ "description": "The button element"
1123
+ },
1124
+ {
1125
+ "name": "active",
1126
+ "type": {
1127
+ "text": "boolean"
1128
+ },
1129
+ "description": "The active state of the element"
1130
+ }
1131
+ ],
1132
+ "description": "Sets the aria-pressed attribute based on the active state of the button.",
1133
+ "inheritedFrom": {
1134
+ "name": "Buttonsimple",
1135
+ "module": "components/buttonsimple/buttonsimple.component.js"
1136
+ }
1137
+ },
1138
+ {
1139
+ "kind": "method",
1140
+ "name": "setSoftDisabled",
1141
+ "privacy": "private",
1142
+ "parameters": [
1143
+ {
1144
+ "name": "element",
1145
+ "type": {
1146
+ "text": "HTMLElement"
1147
+ },
1148
+ "description": "The button element."
1149
+ },
1150
+ {
1151
+ "name": "softDisabled",
1152
+ "type": {
1153
+ "text": "boolean"
1154
+ },
1155
+ "description": "The soft-disabled state."
1156
+ }
1157
+ ],
1158
+ "description": "Sets the soft-disabled attribute for the button.\nWhen soft-disabled, the button looks to be disabled but remains focusable and clickable.\nAlso sets/removes aria-disabled attribute.",
1159
+ "inheritedFrom": {
1160
+ "name": "Buttonsimple",
1161
+ "module": "components/buttonsimple/buttonsimple.component.js"
1162
+ }
1163
+ },
1164
+ {
1165
+ "kind": "method",
1166
+ "name": "setDisabled",
1167
+ "privacy": "private",
1168
+ "parameters": [
1169
+ {
1170
+ "name": "element",
1171
+ "type": {
1172
+ "text": "HTMLElement"
1173
+ },
1174
+ "description": "The button element."
1175
+ },
1176
+ {
1177
+ "name": "disabled",
1178
+ "type": {
1179
+ "text": "boolean"
1180
+ },
1181
+ "description": "The disabled state."
1182
+ }
1183
+ ],
1184
+ "description": "Sets the disabled attribute for the button.\nWhen disabled, the button is not focusable or clickable, and tabindex is set to -1.\nThe previous tabindex is stored and restored when enabled.\nAlso sets/removes aria-disabled attribute.",
1185
+ "inheritedFrom": {
1186
+ "name": "Buttonsimple",
1187
+ "module": "components/buttonsimple/buttonsimple.component.js"
1188
+ }
1189
+ },
1190
+ {
1191
+ "kind": "method",
1192
+ "name": "triggerClickEvent",
1193
+ "privacy": "private",
1194
+ "inheritedFrom": {
1195
+ "name": "Buttonsimple",
1196
+ "module": "components/buttonsimple/buttonsimple.component.js"
1197
+ }
1198
+ },
1199
+ {
1200
+ "kind": "method",
1201
+ "name": "handleKeyDown",
1202
+ "privacy": "private",
1203
+ "parameters": [
1204
+ {
1205
+ "name": "event",
1206
+ "type": {
1207
+ "text": "KeyboardEvent"
1208
+ },
1209
+ "description": "The keyboard event."
1210
+ }
1211
+ ],
1212
+ "description": "Handles the keydown event on the button.\nIf the key is 'Enter' or 'Space', the button is pressed.\nIf the key is 'Enter', the button is pressed. The native HTML button works in the same way.",
1213
+ "inheritedFrom": {
1214
+ "name": "Buttonsimple",
1215
+ "module": "components/buttonsimple/buttonsimple.component.js"
1216
+ }
1217
+ },
1218
+ {
1219
+ "kind": "method",
1220
+ "name": "handleKeyUp",
1221
+ "privacy": "private",
1222
+ "parameters": [
1223
+ {
1224
+ "name": "event",
1225
+ "type": {
1226
+ "text": "KeyboardEvent"
1227
+ },
1228
+ "description": "The keyboard event."
1229
+ }
1230
+ ],
1231
+ "description": "Handles the keyup event on the button.\nIf the key is 'Enter' or 'Space', the button is clicked.\nIf the key is 'Space', the button is pressed. The native HTML button works in the same way.",
1232
+ "inheritedFrom": {
1233
+ "name": "Buttonsimple",
1234
+ "module": "components/buttonsimple/buttonsimple.component.js"
1235
+ }
1236
+ }
1237
+ ],
1238
+ "attributes": [
1239
+ {
1240
+ "name": "prefix-icon",
1441
1241
  "type": {
1442
1242
  "text": "string | undefined"
1443
1243
  },
1444
- "description": "The help text that is displayed below the input field.",
1445
- "attribute": "help-text",
1446
- "reflects": true,
1447
- "inheritedFrom": {
1448
- "name": "FormfieldWrapper",
1449
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1450
- }
1244
+ "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
1245
+ "fieldName": "prefixIcon"
1246
+ },
1247
+ {
1248
+ "name": "postfix-icon",
1249
+ "type": {
1250
+ "text": "string | undefined"
1251
+ },
1252
+ "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
1253
+ "fieldName": "postfixIcon"
1254
+ },
1255
+ {
1256
+ "name": "variant",
1257
+ "type": {
1258
+ "text": "ButtonVariant"
1259
+ },
1260
+ "description": "There are 3 variants of button: primary, secondary, tertiary. They are styled differently.\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.",
1261
+ "default": "primary",
1262
+ "fieldName": "variant"
1263
+ },
1264
+ {
1265
+ "name": "size",
1266
+ "type": {
1267
+ "text": "ButtonSize"
1268
+ },
1269
+ "description": "Button sizing is based on the button type.\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- Tertiary icon button can also be 20.",
1270
+ "default": "32",
1271
+ "fieldName": "size",
1272
+ "inheritedFrom": {
1273
+ "name": "Buttonsimple",
1274
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
1275
+ }
1276
+ },
1277
+ {
1278
+ "name": "color",
1279
+ "type": {
1280
+ "text": "ButtonColor"
1281
+ },
1282
+ "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
1283
+ "default": "default",
1284
+ "fieldName": "color"
1285
+ },
1286
+ {
1287
+ "name": "role",
1288
+ "description": "This property defines the ARIA role for the element. By default, it is set to 'button'.\nConsumers should override this role when:\n- The element is being used in a context where a different role is more appropriate.\n- Custom behaviors are implemented that require a specific ARIA role for accessibility purposes.",
1289
+ "default": "'button'",
1290
+ "fieldName": "role",
1291
+ "type": {
1292
+ "text": "string"
1293
+ },
1294
+ "inheritedFrom": {
1295
+ "name": "Buttonsimple",
1296
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
1297
+ }
1298
+ },
1299
+ {
1300
+ "name": "tabIndex",
1301
+ "type": {
1302
+ "text": "number"
1303
+ },
1304
+ "default": "0",
1305
+ "description": "This property specifies the tab order of the element.",
1306
+ "fieldName": "tabIndex",
1307
+ "inheritedFrom": {
1308
+ "name": "TabIndexMixin",
1309
+ "module": "src/utils/mixins/TabIndexMixin.ts"
1310
+ }
1311
+ },
1312
+ {
1313
+ "name": "disabled",
1314
+ "type": {
1315
+ "text": "boolean"
1316
+ },
1317
+ "default": "false",
1318
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
1319
+ "fieldName": "disabled",
1320
+ "inheritedFrom": {
1321
+ "name": "DisabledMixin",
1322
+ "module": "src/utils/mixins/DisabledMixin.ts"
1323
+ }
1324
+ },
1325
+ {
1326
+ "name": "active",
1327
+ "type": {
1328
+ "text": "boolean"
1329
+ },
1330
+ "default": "false",
1331
+ "description": "The button's active state indicates whether it is currently toggled on (active) or off (inactive).\nWhen the active state is true, the button is considered to be in an active state, meaning it is toggled on.\nConversely, when the active state is false, the button is in an inactive state, indicating it is toggled off.",
1332
+ "fieldName": "active",
1333
+ "inheritedFrom": {
1334
+ "name": "Buttonsimple",
1335
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
1336
+ }
1337
+ },
1338
+ {
1339
+ "name": "soft-disabled",
1340
+ "type": {
1341
+ "text": "boolean"
1342
+ },
1343
+ "default": "false",
1344
+ "description": "Indicates whether the button is soft disabled.\nWhen set to `true`, the button appears visually disabled but still allows\nfocus, click, and keyboard actions to be passed through.\n\n**Important:** When using soft disabled, consumers must ensure that\nthe button behaves like a disabled button, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
1345
+ "fieldName": "softDisabled",
1346
+ "inheritedFrom": {
1347
+ "name": "Buttonsimple",
1348
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
1349
+ }
1350
+ },
1351
+ {
1352
+ "name": "type",
1353
+ "type": {
1354
+ "text": "ButtonType"
1355
+ },
1356
+ "description": "This property defines the type attribute for the button element.\nThe type attribute specifies the behavior of the button when it is clicked.\n- **submit**: The button submits the form data to the server.\n- **reset**: The button resets the form data to its initial state.\n- **button**: The button does nothing when clicked.",
1357
+ "default": "button",
1358
+ "fieldName": "type",
1359
+ "inheritedFrom": {
1360
+ "name": "Buttonsimple",
1361
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
1362
+ }
1363
+ }
1364
+ ],
1365
+ "superclass": {
1366
+ "name": "Buttonsimple",
1367
+ "module": "/src/components/buttonsimple/buttonsimple.component"
1368
+ },
1369
+ "tagName": "mdc-button",
1370
+ "jsDoc": "/**\n * `mdc-button` is a component that can be configured in various ways to suit different use cases.\n *\n * Button Variants:\n * - **Primary**: Solid background color.\n * - **Secondary**: Transparent background with a solid border.\n * - **Tertiary**: No background or border, appears as plain text but retains all button functionalities.\n *\n * Button Colors:\n * - **Positive**: Green color.\n * - **Negative**: Red color.\n * - **Accent**: Blue color.\n * - **Promotional**: Purple color.\n * - **Default**: White color.\n *\n * Button Sizes (in REM units):\n * - **Pill button**: 40, 32, 28, 24.\n * - **Icon button**: 64, 52, 40, 32, 28, 24.\n * - **Tertiary icon button**: 20.\n *\n * Button Types:\n * - **Pill button**: A button that contains text value. Commonly used for call to action, tags, or filters.\n * - **Pill button with icons**: A button containing an icon either on the left or right side of the button.\n * - **Icon button**: A button represented by just an icon without any text.\n * The type of button is inferred based on the presence of slot and/or prefix and postfix icons.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-button\n *\n * @slot - Text label of the button.\n */",
1371
+ "customElement": true
1372
+ }
1373
+ ],
1374
+ "exports": [
1375
+ {
1376
+ "kind": "js",
1377
+ "name": "default",
1378
+ "declaration": {
1379
+ "name": "Button",
1380
+ "module": "components/button/button.component.js"
1381
+ }
1382
+ }
1383
+ ]
1384
+ },
1385
+ {
1386
+ "kind": "javascript-module",
1387
+ "path": "components/badge/badge.component.js",
1388
+ "declarations": [
1389
+ {
1390
+ "kind": "class",
1391
+ "description": "The `mdc-badge` component is a versatile UI element used to\ndisplay dot, icons, counters, success, warning and error type badge.\n\nSupported badge types:\n- `dot`: Displays a dot notification badge with a blue color.\n- `icon`: Displays a badge with a specified icon using the `icon-name` attribute.\n- `counter`: Displays a badge with a counter value. If the counter exceeds the `max-counter`,\nit shows `maxCounter+`. The maximum value of the counter is 999 and anything above that will be set to `999+`.\n- `success`: Displays a success badge with a check circle icon and green color.\n- `warning`: Displays a warning badge with a warning icon and yellow color.\n- `error`: Displays a error badge with a error legacy icon and red color.\n\nFor `icon`, `success`, `warning` and `error` types, the `mdc-icon` component is used to render the icon.\n\nFor the `counter` type, the `mdc-text` component is used to render the counter value.",
1392
+ "name": "Badge",
1393
+ "cssProperties": [
1394
+ {
1395
+ "description": "The foreground color of the primary badge.",
1396
+ "name": "--mdc-badge-primary-foreground-color"
1397
+ },
1398
+ {
1399
+ "description": "The background color of the primary badge.",
1400
+ "name": "--mdc-badge-primary-background-color"
1401
+ },
1402
+ {
1403
+ "description": "The foreground color of the secondary badge.",
1404
+ "name": "--mdc-badge-secondary-foreground-color"
1405
+ },
1406
+ {
1407
+ "description": "The background color of the secondary badge.",
1408
+ "name": "--mdc-badge-secondary-background-color"
1409
+ },
1410
+ {
1411
+ "description": "The foreground color of the success badge.",
1412
+ "name": "--mdc-badge-success-foreground-color"
1413
+ },
1414
+ {
1415
+ "description": "The background color of the success badge.",
1416
+ "name": "--mdc-badge-success-background-color"
1417
+ },
1418
+ {
1419
+ "description": "The foreground color of the warning badge.",
1420
+ "name": "--mdc-badge-warning-foreground-color"
1421
+ },
1422
+ {
1423
+ "description": "The background color of the warning badge.",
1424
+ "name": "--mdc-badge-warning-background-color"
1425
+ },
1426
+ {
1427
+ "description": "The foreground color of the error badge.",
1428
+ "name": "--mdc-badge-error-foreground-color"
1429
+ },
1430
+ {
1431
+ "description": "The background color of the error badge.",
1432
+ "name": "--mdc-badge-error-background-color"
1433
+ },
1434
+ {
1435
+ "description": "The background color of the badge overlay.",
1436
+ "name": "--mdc-badge-overlay-background-color"
1437
+ }
1438
+ ],
1439
+ "members": [
1440
+ {
1441
+ "kind": "field",
1442
+ "name": "type",
1443
+ "type": {
1444
+ "text": "BadgeType | undefined"
1445
+ },
1446
+ "description": "Type of the badge\nCan be `dot` (notification) , `icon`, `counter`, `success`, `warning` or `error`.",
1447
+ "attribute": "type",
1448
+ "reflects": true
1449
+ },
1450
+ {
1451
+ "kind": "field",
1452
+ "name": "variant",
1453
+ "type": {
1454
+ "text": "IconVariant"
1455
+ },
1456
+ "description": "Type of the variant can be `primary` or `secondary`.\nIt defines the background and foreground color of the icon.",
1457
+ "default": "primary",
1458
+ "attribute": "variant",
1459
+ "reflects": true
1460
+ },
1461
+ {
1462
+ "kind": "field",
1463
+ "name": "counter",
1464
+ "type": {
1465
+ "text": "number | undefined"
1466
+ },
1467
+ "description": "Counter is the number which can be provided in the badge.",
1468
+ "attribute": "counter"
1469
+ },
1470
+ {
1471
+ "kind": "field",
1472
+ "name": "maxCounter",
1473
+ "type": {
1474
+ "text": "number"
1475
+ },
1476
+ "description": "The maximum number can be set up to 999, anything above that will be rendered as _999+_.\nThe max counter can be `9`, `99` or `999`.",
1477
+ "default": "99",
1478
+ "attribute": "max-counter",
1479
+ "reflects": true
1480
+ },
1481
+ {
1482
+ "kind": "field",
1483
+ "name": "overlay",
1484
+ "type": {
1485
+ "text": "boolean"
1486
+ },
1487
+ "default": "false",
1488
+ "description": "Overlay is to add a thin outline to the badge.\nThis will help distinguish between the badge and the button,\nwhere the badge will be layered on top of a button.",
1489
+ "attribute": "overlay"
1490
+ },
1491
+ {
1492
+ "kind": "field",
1493
+ "name": "ariaLabel",
1494
+ "type": {
1495
+ "text": "string | null"
1496
+ },
1497
+ "default": "null",
1498
+ "description": "Aria-label attribute to be set for accessibility",
1499
+ "attribute": "aria-label"
1500
+ },
1501
+ {
1502
+ "kind": "method",
1503
+ "name": "getCounterText",
1504
+ "privacy": "private",
1505
+ "return": {
1506
+ "type": {
1507
+ "text": ""
1508
+ }
1509
+ },
1510
+ "parameters": [
1511
+ {
1512
+ "name": "maxCounter",
1513
+ "type": {
1514
+ "text": "number"
1515
+ },
1516
+ "description": "the maximum limit which can be displayed on the badge"
1517
+ },
1518
+ {
1519
+ "name": "counter",
1520
+ "optional": true,
1521
+ "type": {
1522
+ "text": "number"
1523
+ },
1524
+ "description": "the number to be displayed on the badge"
1525
+ }
1526
+ ],
1527
+ "description": "If `type` is set to `counter` and if `counter` is greater than `maxCounter`,\nthen it will return a string the maxCounter value as string.\nOtherwise, it will return a string representation of `counter`.\nIf `counter` is not a number, it will return an empty string."
1528
+ },
1529
+ {
1530
+ "kind": "method",
1531
+ "name": "getBadgeIcon",
1532
+ "privacy": "private",
1533
+ "return": {
1534
+ "type": {
1535
+ "text": ""
1536
+ }
1537
+ },
1538
+ "parameters": [
1539
+ {
1540
+ "name": "iconName",
1541
+ "type": {
1542
+ "text": "string"
1543
+ },
1544
+ "description": "the name of the icon from the icon set"
1545
+ },
1546
+ {
1547
+ "name": "backgroundClassPostfix",
1548
+ "type": {
1549
+ "text": "string"
1550
+ },
1551
+ "description": "postfix for the class to style the badge icon."
1552
+ }
1553
+ ],
1554
+ "description": "Method to generate the badge icon."
1451
1555
  },
1452
1556
  {
1453
1557
  "kind": "method",
1454
- "name": "renderLabelElement",
1455
- "privacy": "protected",
1456
- "description": "creates the label element when the label property is set.\nid is used to link the label with the input field.",
1558
+ "name": "getBadgeDot",
1559
+ "privacy": "private",
1457
1560
  "return": {
1458
1561
  "type": {
1459
1562
  "text": ""
1460
1563
  }
1461
1564
  },
1462
- "inheritedFrom": {
1463
- "name": "FormfieldWrapper",
1464
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1465
- }
1565
+ "description": "Method to generate the badge dot template."
1466
1566
  },
1467
1567
  {
1468
1568
  "kind": "method",
1469
- "name": "renderHelpTextIcon",
1470
- "privacy": "protected",
1471
- "description": "creates the helpertext icon based on the helpTextType for validation.\nIf the helpTextType is not set, it defaults to 'default' and it doesn't display any icon.",
1569
+ "name": "getBadgeCounterText",
1570
+ "privacy": "private",
1472
1571
  "return": {
1473
1572
  "type": {
1474
1573
  "text": ""
1475
1574
  }
1476
1575
  },
1477
- "inheritedFrom": {
1478
- "name": "FormfieldWrapper",
1479
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1480
- }
1576
+ "description": "Method to generate the badge text and counter template."
1481
1577
  },
1482
1578
  {
1483
1579
  "kind": "method",
1484
- "name": "renderHelpText",
1485
- "privacy": "protected",
1486
- "description": "creates the helper text component when the helpertext value is set.\nIt is also used to display the validation message based on the helpTextType.",
1580
+ "name": "setRoleByAriaLabel",
1581
+ "privacy": "private",
1487
1582
  "return": {
1488
1583
  "type": {
1489
- "text": ""
1584
+ "text": "void"
1490
1585
  }
1491
1586
  },
1492
- "inheritedFrom": {
1493
- "name": "FormfieldWrapper",
1494
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1495
- }
1587
+ "description": "Method to set the role based on the aria-label provided.\nIf the aria-label is provided, the role of the element will be 'img'.\nOtherwise, the role will be null."
1496
1588
  },
1497
1589
  {
1498
1590
  "kind": "method",
1499
- "name": "renderLabel",
1500
- "privacy": "protected",
1501
- "description": "renders the mdc-label-text container that contains the label and labelInfoToggleTip.",
1591
+ "name": "getBadgeContentBasedOnType",
1592
+ "privacy": "private",
1502
1593
  "return": {
1503
1594
  "type": {
1504
1595
  "text": ""
1505
1596
  }
1506
1597
  },
1507
- "inheritedFrom": {
1508
- "name": "FormfieldWrapper",
1509
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1510
- }
1598
+ "description": "Generates the badge content based on the badge type.\nUtilizes various helper methods to create the appropriate badge template based on the\ncurrent badge type. Supports 'dot', 'icon', 'counter', 'success', 'warning', and 'error'\ntypes, returning the corresponding template result for each type."
1511
1599
  },
1512
1600
  {
1513
- "kind": "method",
1514
- "name": "renderHelperText",
1515
- "privacy": "protected",
1516
- "description": "renders the mdc-help-text container that contains the helpertext icon and helpertext.",
1517
- "return": {
1518
- "type": {
1519
- "text": ""
1520
- }
1601
+ "kind": "field",
1602
+ "name": "iconName",
1603
+ "type": {
1604
+ "text": "IconNames | undefined"
1521
1605
  },
1606
+ "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
1607
+ "attribute": "icon-name",
1522
1608
  "inheritedFrom": {
1523
- "name": "FormfieldWrapper",
1524
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1525
- }
1526
- }
1527
- ],
1528
- "events": [
1529
- {
1530
- "type": {
1531
- "text": "EventConstructor"
1609
+ "name": "IconNameMixin",
1610
+ "module": "utils/mixins/IconNameMixin.js"
1532
1611
  }
1533
1612
  }
1534
1613
  ],
1535
1614
  "attributes": [
1536
1615
  {
1537
- "name": "checked",
1538
- "type": {
1539
- "text": "boolean"
1540
- },
1541
- "default": "false",
1542
- "description": "Determines whether the checkbox is selected or unselected.",
1543
- "fieldName": "checked"
1544
- },
1545
- {
1546
- "name": "indeterminate",
1616
+ "name": "type",
1547
1617
  "type": {
1548
- "text": "boolean"
1618
+ "text": "BadgeType | undefined"
1549
1619
  },
1550
- "default": "false",
1551
- "description": "This property is used to determine the parent checkbox in a nested checkbox group.\nIf any one of the children is unselected, then the parent checkbox will be indeterminate.\nIf all children are either selected or unselected, then the parent checkbox will not be indeterminate.",
1552
- "fieldName": "indeterminate"
1620
+ "description": "Type of the badge\nCan be `dot` (notification) , `icon`, `counter`, `success`, `warning` or `error`.",
1621
+ "fieldName": "type"
1553
1622
  },
1554
1623
  {
1555
- "name": "name",
1624
+ "name": "variant",
1556
1625
  "type": {
1557
- "text": "string"
1626
+ "text": "IconVariant"
1558
1627
  },
1559
- "default": "''",
1560
- "description": "Indicates the name of the component group (ex: checkbox, radio group).\nThey are used to group elements in a form together.",
1561
- "fieldName": "name",
1562
- "inheritedFrom": {
1563
- "name": "NameMixin",
1564
- "module": "src/utils/mixins/NameMixin.ts"
1565
- }
1628
+ "description": "Type of the variant can be `primary` or `secondary`.\nIt defines the background and foreground color of the icon.",
1629
+ "default": "primary",
1630
+ "fieldName": "variant"
1566
1631
  },
1567
1632
  {
1568
- "name": "value",
1633
+ "name": "counter",
1569
1634
  "type": {
1570
- "text": "string"
1635
+ "text": "number | undefined"
1571
1636
  },
1572
- "default": "''",
1573
- "description": "Indicates the value of the component group (ex: input, checkbox, radio, select etc...)",
1574
- "fieldName": "value",
1575
- "inheritedFrom": {
1576
- "name": "ValueMixin",
1577
- "module": "src/utils/mixins/ValueMixin.ts"
1578
- }
1637
+ "description": "Counter is the number which can be provided in the badge.",
1638
+ "fieldName": "counter"
1579
1639
  },
1580
1640
  {
1581
- "name": "data-aria-label",
1641
+ "name": "max-counter",
1582
1642
  "type": {
1583
- "text": "string | null"
1643
+ "text": "number"
1584
1644
  },
1585
- "default": "null",
1586
- "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
1587
- "fieldName": "dataAriaLabel",
1588
- "inheritedFrom": {
1589
- "name": "DataAriaLabelMixin",
1590
- "module": "src/utils/mixins/DataAriaLabelMixin.ts"
1591
- }
1645
+ "description": "The maximum number can be set up to 999, anything above that will be rendered as _999+_.\nThe max counter can be `9`, `99` or `999`.",
1646
+ "default": "99",
1647
+ "fieldName": "maxCounter"
1592
1648
  },
1593
1649
  {
1594
- "name": "disabled",
1650
+ "name": "overlay",
1595
1651
  "type": {
1596
1652
  "text": "boolean"
1597
1653
  },
1598
1654
  "default": "false",
1599
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
1600
- "fieldName": "disabled",
1601
- "inheritedFrom": {
1602
- "name": "DisabledMixin",
1603
- "module": "src/utils/mixins/DisabledMixin.ts"
1604
- }
1605
- },
1606
- {
1607
- "name": "label",
1608
- "type": {
1609
- "text": "string | undefined"
1610
- },
1611
- "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
1612
- "fieldName": "label",
1613
- "inheritedFrom": {
1614
- "name": "FormfieldWrapper",
1615
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1616
- }
1617
- },
1618
- {
1619
- "name": "id",
1620
- "default": "`mdc-input-${uuidv4()}`",
1621
- "description": "The unique id of the input field. It is used to link the input field with the label.",
1622
- "fieldName": "id",
1623
- "inheritedFrom": {
1624
- "name": "FormfieldWrapper",
1625
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1626
- }
1655
+ "description": "Overlay is to add a thin outline to the badge.\nThis will help distinguish between the badge and the button,\nwhere the badge will be layered on top of a button.",
1656
+ "fieldName": "overlay"
1627
1657
  },
1628
1658
  {
1629
- "name": "help-text-type",
1659
+ "name": "aria-label",
1630
1660
  "type": {
1631
- "text": "ValidationType"
1661
+ "text": "string | null"
1632
1662
  },
1633
- "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
1634
- "fieldName": "helpTextType",
1635
- "inheritedFrom": {
1636
- "name": "FormfieldWrapper",
1637
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1638
- }
1663
+ "default": "null",
1664
+ "description": "Aria-label attribute to be set for accessibility",
1665
+ "fieldName": "ariaLabel"
1639
1666
  },
1640
1667
  {
1641
- "name": "help-text",
1668
+ "name": "icon-name",
1642
1669
  "type": {
1643
- "text": "string | undefined"
1670
+ "text": "IconNames | undefined"
1644
1671
  },
1645
- "description": "The help text that is displayed below the input field.",
1646
- "fieldName": "helpText",
1672
+ "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
1673
+ "fieldName": "iconName",
1647
1674
  "inheritedFrom": {
1648
- "name": "FormfieldWrapper",
1649
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1675
+ "name": "IconNameMixin",
1676
+ "module": "src/utils/mixins/IconNameMixin.ts"
1650
1677
  }
1651
1678
  }
1652
1679
  ],
1653
1680
  "mixins": [
1654
1681
  {
1655
- "name": "NameMixin",
1656
- "module": "/src/utils/mixins/NameMixin"
1657
- },
1658
- {
1659
- "name": "ValueMixin",
1660
- "module": "/src/utils/mixins/ValueMixin"
1661
- },
1662
- {
1663
- "name": "DataAriaLabelMixin",
1664
- "module": "/src/utils/mixins/DataAriaLabelMixin"
1682
+ "name": "IconNameMixin",
1683
+ "module": "/src/utils/mixins/IconNameMixin"
1665
1684
  }
1666
1685
  ],
1667
1686
  "superclass": {
1668
- "name": "FormfieldWrapper",
1669
- "module": "/src/components/formfieldwrapper/formfieldwrapper.component"
1687
+ "name": "Component",
1688
+ "module": "/src/models"
1670
1689
  },
1671
- "tagName": "mdc-checkbox",
1672
- "jsDoc": "/**\n * Checkboxes allow users to select multiple options from a list or turn an item/feature on or off.\n * These are often used in forms, settings, and selections in lists.\n *\n * A checkbox component contains an optional label and an optional helper text.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-checkbox\n *\n * @cssproperty --mdc-checkbox-background-color-hover - Allows customization of the background color on hover.\n * @cssproperty --mdc-checkbox-border-color - Border color in high contrast.\n * @cssproperty --mdc-checkbox-checked-background-color - Background color for a selected checkbox.\n * @cssproperty --mdc-checkbox-checked-background-color-hover - Background color for a selected checkbox when hovered.\n * @cssproperty --mdc-checkbox-checked-pressed-icon-color - Background color for a selected checkbox when pressed.\n * @cssproperty --mdc-checkbox-disabled-background-color - Background color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-disabled-border-color - Border color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-disabled-checked-icon-color - Background color for a disabled, selected checkbox.\n * @cssproperty --mdc-checkbox-disabled-icon-color - Icon color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-icon-background-color - Background color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-icon-border-color - Default background color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-icon-color - Icon color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-pressed-icon-color - Background color for a selected checkbox when pressed.\n */",
1673
- "customElement": true,
1674
- "slots": [
1675
- {
1676
- "description": "slot to add the label info icon",
1677
- "name": "label-info",
1678
- "inheritedFrom": {
1679
- "name": "FormfieldWrapper",
1680
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1681
- }
1682
- }
1683
- ]
1690
+ "tagName": "mdc-badge",
1691
+ "jsDoc": "/**\n * The `mdc-badge` component is a versatile UI element used to\n * display dot, icons, counters, success, warning and error type badge.\n *\n * Supported badge types:\n * - `dot`: Displays a dot notification badge with a blue color.\n * - `icon`: Displays a badge with a specified icon using the `icon-name` attribute.\n * - `counter`: Displays a badge with a counter value. If the counter exceeds the `max-counter`,\n * it shows `maxCounter+`. The maximum value of the counter is 999 and anything above that will be set to `999+`.\n * - `success`: Displays a success badge with a check circle icon and green color.\n * - `warning`: Displays a warning badge with a warning icon and yellow color.\n * - `error`: Displays a error badge with a error legacy icon and red color.\n *\n * For `icon`, `success`, `warning` and `error` types, the `mdc-icon` component is used to render the icon.\n *\n * For the `counter` type, the `mdc-text` component is used to render the counter value.\n *\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @tagname mdc-badge\n *\n * @cssproperty --mdc-badge-primary-foreground-color - The foreground color of the primary badge.\n * @cssproperty --mdc-badge-primary-background-color - The background color of the primary badge.\n * @cssproperty --mdc-badge-secondary-foreground-color - The foreground color of the secondary badge.\n * @cssproperty --mdc-badge-secondary-background-color - The background color of the secondary badge.\n * @cssproperty --mdc-badge-success-foreground-color - The foreground color of the success badge.\n * @cssproperty --mdc-badge-success-background-color - The background color of the success badge.\n * @cssproperty --mdc-badge-warning-foreground-color - The foreground color of the warning badge.\n * @cssproperty --mdc-badge-warning-background-color - The background color of the warning badge.\n * @cssproperty --mdc-badge-error-foreground-color - The foreground color of the error badge.\n * @cssproperty --mdc-badge-error-background-color - The background color of the error badge.\n * @cssproperty --mdc-badge-overlay-background-color - The background color of the badge overlay.\n */",
1692
+ "customElement": true
1684
1693
  }
1685
1694
  ],
1686
1695
  "exports": [
@@ -1688,8 +1697,8 @@
1688
1697
  "kind": "js",
1689
1698
  "name": "default",
1690
1699
  "declaration": {
1691
- "name": "Checkbox",
1692
- "module": "components/checkbox/checkbox.component.js"
1700
+ "name": "Badge",
1701
+ "module": "components/badge/badge.component.js"
1693
1702
  }
1694
1703
  }
1695
1704
  ]
@@ -1993,442 +2002,402 @@
1993
2002
  },
1994
2003
  {
1995
2004
  "kind": "javascript-module",
1996
- "path": "components/button/button.component.js",
2005
+ "path": "components/checkbox/checkbox.component.js",
1997
2006
  "declarations": [
1998
2007
  {
1999
2008
  "kind": "class",
2000
- "description": "`mdc-button` is a component that can be configured in various ways to suit different use cases.\n\nButton Variants:\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.\n\nButton Colors:\n- **Positive**: Green color.\n- **Negative**: Red color.\n- **Accent**: Blue color.\n- **Promotional**: Purple color.\n- **Default**: White color.\n\nButton Sizes (in REM units):\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- **Tertiary icon button**: 20.\n\nButton Types:\n- **Pill button**: A button that contains text value. Commonly used for call to action, tags, or filters.\n- **Pill button with icons**: A button containing an icon either on the left or right side of the button.\n- **Icon button**: A button represented by just an icon without any text.\nThe type of button is inferred based on the presence of slot and/or prefix and postfix icons.",
2001
- "name": "Button",
2002
- "slots": [
2009
+ "description": "Checkboxes allow users to select multiple options from a list or turn an item/feature on or off.\nThese are often used in forms, settings, and selections in lists.\n\nA checkbox component contains an optional label and an optional helper text.",
2010
+ "name": "Checkbox",
2011
+ "cssProperties": [
2012
+ {
2013
+ "description": "Allows customization of the background color on hover.",
2014
+ "name": "--mdc-checkbox-background-color-hover"
2015
+ },
2016
+ {
2017
+ "description": "Border color in high contrast.",
2018
+ "name": "--mdc-checkbox-border-color"
2019
+ },
2020
+ {
2021
+ "description": "Background color for a selected checkbox.",
2022
+ "name": "--mdc-checkbox-checked-background-color"
2023
+ },
2024
+ {
2025
+ "description": "Background color for a selected checkbox when hovered.",
2026
+ "name": "--mdc-checkbox-checked-background-color-hover"
2027
+ },
2028
+ {
2029
+ "description": "Background color for a selected checkbox when pressed.",
2030
+ "name": "--mdc-checkbox-checked-pressed-icon-color"
2031
+ },
2032
+ {
2033
+ "description": "Background color for a disabled checkbox.",
2034
+ "name": "--mdc-checkbox-disabled-background-color"
2035
+ },
2003
2036
  {
2004
- "description": "Text label of the button.",
2005
- "name": ""
2006
- }
2007
- ],
2008
- "members": [
2037
+ "description": "Border color for a disabled checkbox.",
2038
+ "name": "--mdc-checkbox-disabled-border-color"
2039
+ },
2009
2040
  {
2010
- "kind": "field",
2011
- "name": "prefixIcon",
2012
- "type": {
2013
- "text": "string | undefined"
2014
- },
2015
- "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
2016
- "attribute": "prefix-icon",
2017
- "reflects": true
2041
+ "description": "Background color for a disabled, selected checkbox.",
2042
+ "name": "--mdc-checkbox-disabled-checked-icon-color"
2018
2043
  },
2019
2044
  {
2020
- "kind": "field",
2021
- "name": "postfixIcon",
2022
- "type": {
2023
- "text": "string | undefined"
2024
- },
2025
- "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
2026
- "attribute": "postfix-icon",
2027
- "reflects": true
2045
+ "description": "Icon color for a disabled checkbox.",
2046
+ "name": "--mdc-checkbox-disabled-icon-color"
2028
2047
  },
2029
2048
  {
2030
- "kind": "field",
2031
- "name": "variant",
2032
- "type": {
2033
- "text": "ButtonVariant"
2034
- },
2035
- "description": "There are 3 variants of button: primary, secondary, tertiary. They are styled differently.\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.",
2036
- "default": "primary",
2037
- "attribute": "variant"
2049
+ "description": "Background color for an unselected checkbox.",
2050
+ "name": "--mdc-checkbox-icon-background-color"
2038
2051
  },
2039
2052
  {
2040
- "kind": "field",
2041
- "name": "size",
2042
- "type": {
2043
- "text": "ButtonSize"
2044
- },
2045
- "description": "Button sizing is based on the button type.\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- Tertiary icon button can also be 20.",
2046
- "default": "32",
2047
- "attribute": "size",
2048
- "reflects": true,
2049
- "inheritedFrom": {
2050
- "name": "Buttonsimple",
2051
- "module": "components/buttonsimple/buttonsimple.component.js"
2052
- }
2053
+ "description": "Default background color for an unselected checkbox.",
2054
+ "name": "--mdc-checkbox-icon-border-color"
2055
+ },
2056
+ {
2057
+ "description": "Icon color for an unselected checkbox.",
2058
+ "name": "--mdc-checkbox-icon-color"
2053
2059
  },
2060
+ {
2061
+ "description": "Background color for a selected checkbox when pressed.",
2062
+ "name": "--mdc-checkbox-pressed-icon-color"
2063
+ }
2064
+ ],
2065
+ "members": [
2054
2066
  {
2055
2067
  "kind": "field",
2056
- "name": "color",
2068
+ "name": "checked",
2057
2069
  "type": {
2058
- "text": "ButtonColor"
2070
+ "text": "boolean"
2059
2071
  },
2060
- "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
2061
- "default": "default",
2062
- "attribute": "color"
2072
+ "default": "false",
2073
+ "description": "Determines whether the checkbox is selected or unselected.",
2074
+ "attribute": "checked",
2075
+ "reflects": true
2063
2076
  },
2064
2077
  {
2065
2078
  "kind": "field",
2066
- "name": "role",
2067
- "description": "This property defines the ARIA role for the element. By default, it is set to 'button'.\nConsumers should override this role when:\n- The element is being used in a context where a different role is more appropriate.\n- Custom behaviors are implemented that require a specific ARIA role for accessibility purposes.",
2068
- "default": "'button'",
2069
- "attribute": "role",
2070
- "reflects": true,
2079
+ "name": "indeterminate",
2071
2080
  "type": {
2072
- "text": "string"
2081
+ "text": "boolean"
2073
2082
  },
2074
- "inheritedFrom": {
2075
- "name": "Buttonsimple",
2076
- "module": "components/buttonsimple/buttonsimple.component.js"
2077
- }
2083
+ "default": "false",
2084
+ "description": "This property is used to determine the parent checkbox in a nested checkbox group.\nIf any one of the children is unselected, then the parent checkbox will be indeterminate.\nIf all children are either selected or unselected, then the parent checkbox will not be indeterminate.",
2085
+ "attribute": "indeterminate",
2086
+ "reflects": true
2078
2087
  },
2079
2088
  {
2080
2089
  "kind": "method",
2081
- "name": "modifyIconName",
2090
+ "name": "setFormValue",
2082
2091
  "privacy": "private",
2083
- "parameters": [
2084
- {
2085
- "name": "active",
2086
- "type": {
2087
- "text": "boolean"
2088
- },
2089
- "description": "The active state."
2090
- }
2091
- ],
2092
- "description": "Modifies the icon name based on the active state.\nIf the button is active, the icon name is suffixed with '-filled'.\nIf the button is inactive, the icon name is restored to its original value.\nIf '-filled' icon is not available, the icon name remains unchanged."
2092
+ "description": "Updates the form value to reflect the current state of the checkbox.\nIf checked, the value is set to either the user-provided value or 'on' if no value is provided.\nIf unchecked, the value is set to null."
2093
2093
  },
2094
2094
  {
2095
2095
  "kind": "method",
2096
- "name": "setVariant",
2096
+ "name": "toggleState",
2097
2097
  "privacy": "private",
2098
- "parameters": [
2099
- {
2100
- "name": "variant",
2101
- "type": {
2102
- "text": "ButtonVariant"
2103
- },
2104
- "description": "The variant to set."
2098
+ "return": {
2099
+ "type": {
2100
+ "text": "void"
2105
2101
  }
2106
- ],
2107
- "description": "Sets the variant attribute for the button component.\nIf the provided variant is not included in the BUTTON_VARIANTS,\nit defaults to the value specified in DEFAULTS.VARIANT."
2102
+ },
2103
+ "description": "Toggles the state of the checkbox element.\nIf the element is not disabled, then\nthe checked property is toggled and the indeterminate property is set to false."
2108
2104
  },
2109
2105
  {
2110
2106
  "kind": "method",
2111
- "name": "setSize",
2112
- "privacy": "private",
2107
+ "name": "handleChange",
2108
+ "privacy": "public",
2109
+ "return": {
2110
+ "type": {
2111
+ "text": "void"
2112
+ }
2113
+ },
2113
2114
  "parameters": [
2114
2115
  {
2115
- "name": "size",
2116
+ "name": "event",
2116
2117
  "type": {
2117
- "text": "PillButtonSize | IconButtonSize"
2118
- },
2119
- "description": "The size to set."
2118
+ "text": "Event"
2119
+ }
2120
2120
  }
2121
2121
  ],
2122
- "description": "Sets the size attribute for the button component.\nValidates the size based on the button type (icon, pill, or tertiary).\nDefaults to DEFAULTS.SIZE if invalid."
2122
+ "description": "Toggles the state of the checkbox element.\nand dispatch the new change event."
2123
2123
  },
2124
2124
  {
2125
2125
  "kind": "method",
2126
- "name": "setColor",
2126
+ "name": "handleKeyDown",
2127
2127
  "privacy": "private",
2128
+ "return": {
2129
+ "type": {
2130
+ "text": "void"
2131
+ }
2132
+ },
2128
2133
  "parameters": [
2129
2134
  {
2130
- "name": "color",
2135
+ "name": "event",
2131
2136
  "type": {
2132
- "text": "ButtonColor"
2137
+ "text": "KeyboardEvent"
2133
2138
  },
2134
- "description": "The color to set."
2139
+ "description": "The keyboard event."
2135
2140
  }
2136
2141
  ],
2137
- "description": "Sets the color attribute for the button.\nDefaults to DEFAULTS.COLOR if invalid or for tertiary buttons."
2142
+ "description": "Handles the keydown event on the checkbox.\nWhen the user presses Enter, the form is submitted."
2138
2143
  },
2139
2144
  {
2140
- "kind": "method",
2141
- "name": "inferButtonType",
2142
- "privacy": "private",
2143
- "description": "Infers the type of button based on the presence of slot and/or prefix and postfix icons.",
2144
- "parameters": [
2145
- {
2146
- "description": "default slot of button",
2147
- "name": "slot"
2148
- }
2149
- ]
2145
+ "kind": "field",
2146
+ "name": "internals"
2150
2147
  },
2151
2148
  {
2152
2149
  "kind": "field",
2153
- "name": "tabIndex",
2150
+ "name": "helpTextType",
2154
2151
  "type": {
2155
- "text": "number"
2152
+ "text": "ValidationType"
2156
2153
  },
2157
- "default": "0",
2158
- "description": "This property specifies the tab order of the element.",
2159
- "attribute": "tabIndex",
2154
+ "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
2155
+ "attribute": "help-text-type",
2160
2156
  "reflects": true,
2157
+ "default": "undefined as unknown",
2161
2158
  "inheritedFrom": {
2162
- "name": "Buttonsimple",
2163
- "module": "components/buttonsimple/buttonsimple.component.js"
2159
+ "name": "FormfieldWrapper",
2160
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2164
2161
  }
2165
2162
  },
2166
2163
  {
2167
2164
  "kind": "field",
2168
- "name": "disabled",
2165
+ "name": "name",
2169
2166
  "type": {
2170
- "text": "boolean"
2167
+ "text": "string"
2171
2168
  },
2172
- "default": "false",
2173
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2174
- "attribute": "disabled",
2169
+ "default": "''",
2170
+ "description": "Indicates the name of the component group (ex: checkbox, radio group).\nThey are used to group elements in a form together.",
2171
+ "attribute": "name",
2175
2172
  "reflects": true,
2176
2173
  "inheritedFrom": {
2177
- "name": "Buttonsimple",
2178
- "module": "components/buttonsimple/buttonsimple.component.js"
2174
+ "name": "NameMixin",
2175
+ "module": "utils/mixins/NameMixin.js"
2179
2176
  }
2180
2177
  },
2181
2178
  {
2182
2179
  "kind": "field",
2183
- "name": "active",
2180
+ "name": "value",
2184
2181
  "type": {
2185
- "text": "boolean"
2182
+ "text": "string"
2186
2183
  },
2187
- "default": "false",
2188
- "description": "The button's active state indicates whether it is currently toggled on (active) or off (inactive).\nWhen the active state is true, the button is considered to be in an active state, meaning it is toggled on.\nConversely, when the active state is false, the button is in an inactive state, indicating it is toggled off.",
2189
- "attribute": "active",
2184
+ "default": "''",
2185
+ "description": "Indicates the value of the component group (ex: input, checkbox, radio, select etc...)",
2186
+ "attribute": "value",
2190
2187
  "reflects": true,
2191
2188
  "inheritedFrom": {
2192
- "name": "Buttonsimple",
2193
- "module": "components/buttonsimple/buttonsimple.component.js"
2189
+ "name": "ValueMixin",
2190
+ "module": "utils/mixins/ValueMixin.js"
2194
2191
  }
2195
2192
  },
2196
2193
  {
2197
2194
  "kind": "field",
2198
- "name": "softDisabled",
2195
+ "name": "dataAriaLabel",
2196
+ "type": {
2197
+ "text": "string | null"
2198
+ },
2199
+ "default": "null",
2200
+ "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
2201
+ "attribute": "data-aria-label",
2202
+ "reflects": true,
2203
+ "inheritedFrom": {
2204
+ "name": "DataAriaLabelMixin",
2205
+ "module": "utils/mixins/DataAriaLabelMixin.js"
2206
+ }
2207
+ },
2208
+ {
2209
+ "kind": "field",
2210
+ "name": "disabled",
2199
2211
  "type": {
2200
2212
  "text": "boolean"
2201
2213
  },
2202
2214
  "default": "false",
2203
- "description": "Indicates whether the button is soft disabled.\nWhen set to `true`, the button appears visually disabled but still allows\nfocus, click, and keyboard actions to be passed through.\n\n**Important:** When using soft disabled, consumers must ensure that\nthe button behaves like a disabled button, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
2204
- "attribute": "soft-disabled",
2215
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2216
+ "attribute": "disabled",
2217
+ "reflects": true,
2205
2218
  "inheritedFrom": {
2206
- "name": "Buttonsimple",
2207
- "module": "components/buttonsimple/buttonsimple.component.js"
2219
+ "name": "DisabledMixin",
2220
+ "module": "utils/mixins/DisabledMixin.js"
2208
2221
  }
2209
2222
  },
2210
2223
  {
2211
2224
  "kind": "field",
2212
- "name": "type",
2225
+ "name": "label",
2213
2226
  "type": {
2214
- "text": "ButtonType"
2227
+ "text": "string | undefined"
2215
2228
  },
2216
- "description": "This property defines the type attribute for the button element.\nThe type attribute specifies the behavior of the button when it is clicked.\n- **submit**: The button submits the form data to the server.\n- **reset**: The button resets the form data to its initial state.\n- **button**: The button does nothing when clicked.",
2217
- "default": "button",
2218
- "attribute": "type",
2229
+ "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
2230
+ "attribute": "label",
2219
2231
  "reflects": true,
2220
2232
  "inheritedFrom": {
2221
- "name": "Buttonsimple",
2222
- "module": "components/buttonsimple/buttonsimple.component.js"
2233
+ "name": "FormfieldWrapper",
2234
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2235
+ }
2236
+ },
2237
+ {
2238
+ "kind": "field",
2239
+ "name": "id",
2240
+ "default": "`mdc-input-${uuidv4()}`",
2241
+ "description": "The unique id of the input field. It is used to link the input field with the label.",
2242
+ "attribute": "id",
2243
+ "inheritedFrom": {
2244
+ "name": "FormfieldWrapper",
2245
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2223
2246
  }
2224
2247
  },
2225
2248
  {
2226
- "kind": "method",
2227
- "name": "executeAction",
2228
- "privacy": "protected",
2249
+ "kind": "field",
2250
+ "name": "helpText",
2251
+ "type": {
2252
+ "text": "string | undefined"
2253
+ },
2254
+ "description": "The help text that is displayed below the input field.",
2255
+ "attribute": "help-text",
2256
+ "reflects": true,
2229
2257
  "inheritedFrom": {
2230
- "name": "Buttonsimple",
2231
- "module": "components/buttonsimple/buttonsimple.component.js"
2258
+ "name": "FormfieldWrapper",
2259
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2232
2260
  }
2233
2261
  },
2234
2262
  {
2235
2263
  "kind": "method",
2236
- "name": "setActive",
2264
+ "name": "renderLabelElement",
2237
2265
  "privacy": "protected",
2238
- "parameters": [
2239
- {
2240
- "name": "element",
2241
- "type": {
2242
- "text": "HTMLElement"
2243
- },
2244
- "description": "The button element"
2245
- },
2246
- {
2247
- "name": "active",
2248
- "type": {
2249
- "text": "boolean"
2250
- },
2251
- "description": "The active state of the element"
2266
+ "description": "creates the label element when the label property is set.\nid is used to link the label with the input field.",
2267
+ "return": {
2268
+ "type": {
2269
+ "text": ""
2252
2270
  }
2253
- ],
2254
- "description": "Sets the aria-pressed attribute based on the active state of the button.",
2271
+ },
2255
2272
  "inheritedFrom": {
2256
- "name": "Buttonsimple",
2257
- "module": "components/buttonsimple/buttonsimple.component.js"
2273
+ "name": "FormfieldWrapper",
2274
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2258
2275
  }
2259
2276
  },
2260
2277
  {
2261
2278
  "kind": "method",
2262
- "name": "setSoftDisabled",
2263
- "privacy": "private",
2264
- "parameters": [
2265
- {
2266
- "name": "element",
2267
- "type": {
2268
- "text": "HTMLElement"
2269
- },
2270
- "description": "The button element."
2271
- },
2272
- {
2273
- "name": "softDisabled",
2274
- "type": {
2275
- "text": "boolean"
2276
- },
2277
- "description": "The soft-disabled state."
2279
+ "name": "renderHelpTextIcon",
2280
+ "privacy": "protected",
2281
+ "description": "creates the helpertext icon based on the helpTextType for validation.\nIf the helpTextType is not set, it defaults to 'default' and it doesn't display any icon.",
2282
+ "return": {
2283
+ "type": {
2284
+ "text": ""
2278
2285
  }
2279
- ],
2280
- "description": "Sets the soft-disabled attribute for the button.\nWhen soft-disabled, the button looks to be disabled but remains focusable and clickable.\nAlso sets/removes aria-disabled attribute.",
2286
+ },
2281
2287
  "inheritedFrom": {
2282
- "name": "Buttonsimple",
2283
- "module": "components/buttonsimple/buttonsimple.component.js"
2288
+ "name": "FormfieldWrapper",
2289
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2284
2290
  }
2285
2291
  },
2286
2292
  {
2287
2293
  "kind": "method",
2288
- "name": "setDisabled",
2289
- "privacy": "private",
2290
- "parameters": [
2291
- {
2292
- "name": "element",
2293
- "type": {
2294
- "text": "HTMLElement"
2295
- },
2296
- "description": "The button element."
2297
- },
2298
- {
2299
- "name": "disabled",
2300
- "type": {
2301
- "text": "boolean"
2302
- },
2303
- "description": "The disabled state."
2294
+ "name": "renderHelpText",
2295
+ "privacy": "protected",
2296
+ "description": "creates the helper text component when the helpertext value is set.\nIt is also used to display the validation message based on the helpTextType.",
2297
+ "return": {
2298
+ "type": {
2299
+ "text": ""
2304
2300
  }
2305
- ],
2306
- "description": "Sets the disabled attribute for the button.\nWhen disabled, the button is not focusable or clickable, and tabindex is set to -1.\nThe previous tabindex is stored and restored when enabled.\nAlso sets/removes aria-disabled attribute.",
2307
- "inheritedFrom": {
2308
- "name": "Buttonsimple",
2309
- "module": "components/buttonsimple/buttonsimple.component.js"
2310
- }
2311
- },
2312
- {
2313
- "kind": "method",
2314
- "name": "triggerClickEvent",
2315
- "privacy": "private",
2301
+ },
2316
2302
  "inheritedFrom": {
2317
- "name": "Buttonsimple",
2318
- "module": "components/buttonsimple/buttonsimple.component.js"
2303
+ "name": "FormfieldWrapper",
2304
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2319
2305
  }
2320
2306
  },
2321
2307
  {
2322
2308
  "kind": "method",
2323
- "name": "handleKeyDown",
2324
- "privacy": "private",
2325
- "parameters": [
2326
- {
2327
- "name": "event",
2328
- "type": {
2329
- "text": "KeyboardEvent"
2330
- },
2331
- "description": "The keyboard event."
2309
+ "name": "renderLabel",
2310
+ "privacy": "protected",
2311
+ "description": "renders the mdc-label-text container that contains the label and labelInfoToggleTip.",
2312
+ "return": {
2313
+ "type": {
2314
+ "text": ""
2332
2315
  }
2333
- ],
2334
- "description": "Handles the keydown event on the button.\nIf the key is 'Enter' or 'Space', the button is pressed.\nIf the key is 'Enter', the button is pressed. The native HTML button works in the same way.",
2316
+ },
2335
2317
  "inheritedFrom": {
2336
- "name": "Buttonsimple",
2337
- "module": "components/buttonsimple/buttonsimple.component.js"
2318
+ "name": "FormfieldWrapper",
2319
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2338
2320
  }
2339
2321
  },
2340
2322
  {
2341
2323
  "kind": "method",
2342
- "name": "handleKeyUp",
2343
- "privacy": "private",
2344
- "parameters": [
2345
- {
2346
- "name": "event",
2347
- "type": {
2348
- "text": "KeyboardEvent"
2349
- },
2350
- "description": "The keyboard event."
2324
+ "name": "renderHelperText",
2325
+ "privacy": "protected",
2326
+ "description": "renders the mdc-help-text container that contains the helpertext icon and helpertext.",
2327
+ "return": {
2328
+ "type": {
2329
+ "text": ""
2351
2330
  }
2352
- ],
2353
- "description": "Handles the keyup event on the button.\nIf the key is 'Enter' or 'Space', the button is clicked.\nIf the key is 'Space', the button is pressed. The native HTML button works in the same way.",
2331
+ },
2354
2332
  "inheritedFrom": {
2355
- "name": "Buttonsimple",
2356
- "module": "components/buttonsimple/buttonsimple.component.js"
2333
+ "name": "FormfieldWrapper",
2334
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2357
2335
  }
2358
2336
  }
2359
2337
  ],
2360
- "attributes": [
2338
+ "events": [
2361
2339
  {
2362
- "name": "prefix-icon",
2363
2340
  "type": {
2364
- "text": "string | undefined"
2365
- },
2366
- "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
2367
- "fieldName": "prefixIcon"
2368
- },
2341
+ "text": "EventConstructor"
2342
+ }
2343
+ }
2344
+ ],
2345
+ "attributes": [
2369
2346
  {
2370
- "name": "postfix-icon",
2347
+ "name": "checked",
2371
2348
  "type": {
2372
- "text": "string | undefined"
2349
+ "text": "boolean"
2373
2350
  },
2374
- "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
2375
- "fieldName": "postfixIcon"
2351
+ "default": "false",
2352
+ "description": "Determines whether the checkbox is selected or unselected.",
2353
+ "fieldName": "checked"
2376
2354
  },
2377
2355
  {
2378
- "name": "variant",
2356
+ "name": "indeterminate",
2379
2357
  "type": {
2380
- "text": "ButtonVariant"
2358
+ "text": "boolean"
2381
2359
  },
2382
- "description": "There are 3 variants of button: primary, secondary, tertiary. They are styled differently.\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.",
2383
- "default": "primary",
2384
- "fieldName": "variant"
2360
+ "default": "false",
2361
+ "description": "This property is used to determine the parent checkbox in a nested checkbox group.\nIf any one of the children is unselected, then the parent checkbox will be indeterminate.\nIf all children are either selected or unselected, then the parent checkbox will not be indeterminate.",
2362
+ "fieldName": "indeterminate"
2385
2363
  },
2386
2364
  {
2387
- "name": "size",
2365
+ "name": "name",
2388
2366
  "type": {
2389
- "text": "ButtonSize"
2367
+ "text": "string"
2390
2368
  },
2391
- "description": "Button sizing is based on the button type.\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- Tertiary icon button can also be 20.",
2392
- "default": "32",
2393
- "fieldName": "size",
2369
+ "default": "''",
2370
+ "description": "Indicates the name of the component group (ex: checkbox, radio group).\nThey are used to group elements in a form together.",
2371
+ "fieldName": "name",
2394
2372
  "inheritedFrom": {
2395
- "name": "Buttonsimple",
2396
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2373
+ "name": "NameMixin",
2374
+ "module": "src/utils/mixins/NameMixin.ts"
2397
2375
  }
2398
2376
  },
2399
2377
  {
2400
- "name": "color",
2401
- "type": {
2402
- "text": "ButtonColor"
2403
- },
2404
- "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
2405
- "default": "default",
2406
- "fieldName": "color"
2407
- },
2408
- {
2409
- "name": "role",
2410
- "description": "This property defines the ARIA role for the element. By default, it is set to 'button'.\nConsumers should override this role when:\n- The element is being used in a context where a different role is more appropriate.\n- Custom behaviors are implemented that require a specific ARIA role for accessibility purposes.",
2411
- "default": "'button'",
2412
- "fieldName": "role",
2378
+ "name": "value",
2413
2379
  "type": {
2414
2380
  "text": "string"
2415
2381
  },
2382
+ "default": "''",
2383
+ "description": "Indicates the value of the component group (ex: input, checkbox, radio, select etc...)",
2384
+ "fieldName": "value",
2416
2385
  "inheritedFrom": {
2417
- "name": "Buttonsimple",
2418
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2386
+ "name": "ValueMixin",
2387
+ "module": "src/utils/mixins/ValueMixin.ts"
2419
2388
  }
2420
2389
  },
2421
2390
  {
2422
- "name": "tabIndex",
2391
+ "name": "data-aria-label",
2423
2392
  "type": {
2424
- "text": "number"
2393
+ "text": "string | null"
2425
2394
  },
2426
- "default": "0",
2427
- "description": "This property specifies the tab order of the element.",
2428
- "fieldName": "tabIndex",
2395
+ "default": "null",
2396
+ "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
2397
+ "fieldName": "dataAriaLabel",
2429
2398
  "inheritedFrom": {
2430
- "name": "Buttonsimple",
2431
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2399
+ "name": "DataAriaLabelMixin",
2400
+ "module": "src/utils/mixins/DataAriaLabelMixin.ts"
2432
2401
  }
2433
2402
  },
2434
2403
  {
@@ -2440,57 +2409,88 @@
2440
2409
  "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2441
2410
  "fieldName": "disabled",
2442
2411
  "inheritedFrom": {
2443
- "name": "Buttonsimple",
2444
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2412
+ "name": "DisabledMixin",
2413
+ "module": "src/utils/mixins/DisabledMixin.ts"
2414
+ }
2415
+ },
2416
+ {
2417
+ "name": "label",
2418
+ "type": {
2419
+ "text": "string | undefined"
2420
+ },
2421
+ "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
2422
+ "fieldName": "label",
2423
+ "inheritedFrom": {
2424
+ "name": "FormfieldWrapper",
2425
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2426
+ }
2427
+ },
2428
+ {
2429
+ "name": "id",
2430
+ "default": "`mdc-input-${uuidv4()}`",
2431
+ "description": "The unique id of the input field. It is used to link the input field with the label.",
2432
+ "fieldName": "id",
2433
+ "inheritedFrom": {
2434
+ "name": "FormfieldWrapper",
2435
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2445
2436
  }
2446
2437
  },
2447
2438
  {
2448
- "name": "active",
2439
+ "name": "help-text-type",
2449
2440
  "type": {
2450
- "text": "boolean"
2441
+ "text": "ValidationType"
2451
2442
  },
2452
- "default": "false",
2453
- "description": "The button's active state indicates whether it is currently toggled on (active) or off (inactive).\nWhen the active state is true, the button is considered to be in an active state, meaning it is toggled on.\nConversely, when the active state is false, the button is in an inactive state, indicating it is toggled off.",
2454
- "fieldName": "active",
2443
+ "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
2444
+ "fieldName": "helpTextType",
2455
2445
  "inheritedFrom": {
2456
- "name": "Buttonsimple",
2457
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2446
+ "name": "FormfieldWrapper",
2447
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2458
2448
  }
2459
2449
  },
2460
2450
  {
2461
- "name": "soft-disabled",
2451
+ "name": "help-text",
2462
2452
  "type": {
2463
- "text": "boolean"
2453
+ "text": "string | undefined"
2464
2454
  },
2465
- "default": "false",
2466
- "description": "Indicates whether the button is soft disabled.\nWhen set to `true`, the button appears visually disabled but still allows\nfocus, click, and keyboard actions to be passed through.\n\n**Important:** When using soft disabled, consumers must ensure that\nthe button behaves like a disabled button, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
2467
- "fieldName": "softDisabled",
2455
+ "description": "The help text that is displayed below the input field.",
2456
+ "fieldName": "helpText",
2468
2457
  "inheritedFrom": {
2469
- "name": "Buttonsimple",
2470
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2458
+ "name": "FormfieldWrapper",
2459
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2471
2460
  }
2461
+ }
2462
+ ],
2463
+ "mixins": [
2464
+ {
2465
+ "name": "NameMixin",
2466
+ "module": "/src/utils/mixins/NameMixin"
2472
2467
  },
2473
2468
  {
2474
- "name": "type",
2475
- "type": {
2476
- "text": "ButtonType"
2477
- },
2478
- "description": "This property defines the type attribute for the button element.\nThe type attribute specifies the behavior of the button when it is clicked.\n- **submit**: The button submits the form data to the server.\n- **reset**: The button resets the form data to its initial state.\n- **button**: The button does nothing when clicked.",
2479
- "default": "button",
2480
- "fieldName": "type",
2481
- "inheritedFrom": {
2482
- "name": "Buttonsimple",
2483
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2484
- }
2469
+ "name": "ValueMixin",
2470
+ "module": "/src/utils/mixins/ValueMixin"
2471
+ },
2472
+ {
2473
+ "name": "DataAriaLabelMixin",
2474
+ "module": "/src/utils/mixins/DataAriaLabelMixin"
2485
2475
  }
2486
2476
  ],
2487
2477
  "superclass": {
2488
- "name": "Buttonsimple",
2489
- "module": "/src/components/buttonsimple/buttonsimple.component"
2478
+ "name": "FormfieldWrapper",
2479
+ "module": "/src/components/formfieldwrapper/formfieldwrapper.component"
2490
2480
  },
2491
- "tagName": "mdc-button",
2492
- "jsDoc": "/**\n * `mdc-button` is a component that can be configured in various ways to suit different use cases.\n *\n * Button Variants:\n * - **Primary**: Solid background color.\n * - **Secondary**: Transparent background with a solid border.\n * - **Tertiary**: No background or border, appears as plain text but retains all button functionalities.\n *\n * Button Colors:\n * - **Positive**: Green color.\n * - **Negative**: Red color.\n * - **Accent**: Blue color.\n * - **Promotional**: Purple color.\n * - **Default**: White color.\n *\n * Button Sizes (in REM units):\n * - **Pill button**: 40, 32, 28, 24.\n * - **Icon button**: 64, 52, 40, 32, 28, 24.\n * - **Tertiary icon button**: 20.\n *\n * Button Types:\n * - **Pill button**: A button that contains text value. Commonly used for call to action, tags, or filters.\n * - **Pill button with icons**: A button containing an icon either on the left or right side of the button.\n * - **Icon button**: A button represented by just an icon without any text.\n * The type of button is inferred based on the presence of slot and/or prefix and postfix icons.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-button\n *\n * @slot - Text label of the button.\n */",
2493
- "customElement": true
2481
+ "tagName": "mdc-checkbox",
2482
+ "jsDoc": "/**\n * Checkboxes allow users to select multiple options from a list or turn an item/feature on or off.\n * These are often used in forms, settings, and selections in lists.\n *\n * A checkbox component contains an optional label and an optional helper text.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-checkbox\n *\n * @cssproperty --mdc-checkbox-background-color-hover - Allows customization of the background color on hover.\n * @cssproperty --mdc-checkbox-border-color - Border color in high contrast.\n * @cssproperty --mdc-checkbox-checked-background-color - Background color for a selected checkbox.\n * @cssproperty --mdc-checkbox-checked-background-color-hover - Background color for a selected checkbox when hovered.\n * @cssproperty --mdc-checkbox-checked-pressed-icon-color - Background color for a selected checkbox when pressed.\n * @cssproperty --mdc-checkbox-disabled-background-color - Background color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-disabled-border-color - Border color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-disabled-checked-icon-color - Background color for a disabled, selected checkbox.\n * @cssproperty --mdc-checkbox-disabled-icon-color - Icon color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-icon-background-color - Background color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-icon-border-color - Default background color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-icon-color - Icon color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-pressed-icon-color - Background color for a selected checkbox when pressed.\n */",
2483
+ "customElement": true,
2484
+ "slots": [
2485
+ {
2486
+ "description": "slot to add the label info icon",
2487
+ "name": "label-info",
2488
+ "inheritedFrom": {
2489
+ "name": "FormfieldWrapper",
2490
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2491
+ }
2492
+ }
2493
+ ]
2494
2494
  }
2495
2495
  ],
2496
2496
  "exports": [
@@ -2498,8 +2498,8 @@
2498
2498
  "kind": "js",
2499
2499
  "name": "default",
2500
2500
  "declaration": {
2501
- "name": "Button",
2502
- "module": "components/button/button.component.js"
2501
+ "name": "Checkbox",
2502
+ "module": "components/checkbox/checkbox.component.js"
2503
2503
  }
2504
2504
  }
2505
2505
  ]
@@ -2753,273 +2753,79 @@
2753
2753
  "privacy": "private",
2754
2754
  "return": {
2755
2755
  "type": {
2756
- "text": "void"
2757
- }
2758
- },
2759
- "description": "Configures the grabber button within the divider.\n\n- Sets the `prefix-icon` attribute for the grabber button based\non the `arrow-direction` and `orientation` properties.\n\nThis method updates the DOM element dynamically if a grabber button is present."
2760
- },
2761
- {
2762
- "kind": "method",
2763
- "name": "getArrowIcon",
2764
- "privacy": "private",
2765
- "return": {
2766
- "type": {
2767
- "text": ""
2768
- }
2769
- },
2770
- "description": "Determines the arrow icon based on the consumer-defined `arrowDirection`."
2771
- },
2772
- {
2773
- "kind": "method",
2774
- "name": "inferDividerType",
2775
- "privacy": "private",
2776
- "description": "Infers the type of divider based on the kind of slot present.",
2777
- "parameters": [
2778
- {
2779
- "description": "default slot of divider",
2780
- "name": "slot"
2781
- }
2782
- ]
2783
- }
2784
- ],
2785
- "attributes": [
2786
- {
2787
- "name": "orientation",
2788
- "type": {
2789
- "text": "DividerOrientation"
2790
- },
2791
- "description": "Two orientations of divider\n- **horizontal**: A thin, horizontal line with 0.0625rem width.\n- **vertical**: A thin, vertical line with 0.0625rem width.\n\nNote: We do not support \"Vertical Text Divider\" as of now.",
2792
- "default": "horizontal",
2793
- "fieldName": "orientation"
2794
- },
2795
- {
2796
- "name": "variant",
2797
- "type": {
2798
- "text": "DividerVariant"
2799
- },
2800
- "description": "Two variants of divider\n- **solid**: Solid line.\n- **gradient**: Gradient Line that fades on either sides of the divider.",
2801
- "default": "solid",
2802
- "fieldName": "variant"
2803
- },
2804
- {
2805
- "name": "arrow-direction",
2806
- "type": {
2807
- "text": "Directions"
2808
- },
2809
- "description": "Direction of the arrow icon, if applicable.\n- **positive**\n- **negative**\n\nNote: Positive and Negative directions are defined based on Cartesian plane.",
2810
- "default": "'negative'",
2811
- "fieldName": "arrowDirection"
2812
- },
2813
- {
2814
- "name": "button-position",
2815
- "type": {
2816
- "text": "Directions"
2817
- },
2818
- "description": "Position of the button, if applicable.\n- **positive**\n- **negative**\n\nNote: Positive and Negative directions are defined based on Cartesian plane.",
2819
- "default": "'negative'",
2820
- "fieldName": "buttonPosition"
2821
- }
2822
- ],
2823
- "superclass": {
2824
- "name": "Component",
2825
- "module": "/src/models"
2826
- },
2827
- "tagName": "mdc-divider",
2828
- "jsDoc": "/**\n * `mdc-divider` is a component that provides a line to separate and organize content.\n * It can also include a button or text positioned centrally, allowing users to interact with the layout.\n *\n * **Divider Orientation:**\n * - **Horizontal**: A thin, horizontal line.\n * - **Vertical**: A thin, vertical line.\n *\n * **Divider Variants:**\n * - **solid**: Solid line.\n * - **gradient**: Gradient Line.\n *\n * **Divider Types:**\n * - The type of divider is inferred based on the kind of slot present.\n * - **Primary**: A simple horizontal or vertical divider.\n * - **Text**: A horizontal divider with a text label in the center.\n * - **Grabber Button**: A horizontal or vertical divider with a styled button in the center.\n *\n * **Accessibility:**\n * - When the slot is replaced by an `mdc-button`:\n * - `aria-label` should be passed to the `mdc-button`.\n * - `aria-expanded` should be passed to the `mdc-button`.\n *\n * **Notes:**\n * - If the slot is replaced by an invalid tag name or contains multiple elements,\n * the divider defaults to the **Primary** type.\n * - To override the styles of the divider, use the provided CSS custom properties.\n *\n * @tagname mdc-divider\n *\n * @cssproperty --mdc-divider-background-color - background color of the divider\n * @cssproperty --mdc-divider-width - width of the divider\n * @cssproperty --mdc-divider-horizontal-gradient - gradient of the horizontal divider\n * @cssproperty --mdc-divider-vertical-gradient - gradient of the vertical divider\n * @cssproperty --mdc-divider-text-size - font size of label in the text divider\n * @cssproperty --mdc-divider-text-color - font color of label in the text divider\n * @cssproperty --mdc-divider-text-margin - left and right margin of label in the text divider\n * @cssproperty --mdc-divider-text-line-height - line height of label in the text divider\n * @cssproperty --mdc-divider-grabber-button-border-radius - border radius of the grabber button\n */",
2829
- "customElement": true
2830
- }
2831
- ],
2832
- "exports": [
2833
- {
2834
- "kind": "js",
2835
- "name": "default",
2836
- "declaration": {
2837
- "name": "Divider",
2838
- "module": "components/divider/divider.component.js"
2839
- }
2840
- }
2841
- ]
2842
- },
2843
- {
2844
- "kind": "javascript-module",
2845
- "path": "components/formfieldwrapper/formfieldwrapper.component.js",
2846
- "declarations": [
2847
- {
2848
- "kind": "class",
2849
- "description": "formfieldwrapper is a component that contains the label and helper/validation text\n that can be configured in various ways to suit different use cases (most of the input related components).\nIt is used as an internal component and is not intended to be used directly by consumers.",
2850
- "name": "FormfieldWrapper",
2851
- "slots": [
2852
- {
2853
- "description": "slot to add the label info icon",
2854
- "name": "label-info"
2855
- }
2856
- ],
2857
- "members": [
2858
- {
2859
- "kind": "field",
2860
- "name": "label",
2861
- "type": {
2862
- "text": "string | undefined"
2863
- },
2864
- "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
2865
- "attribute": "label",
2866
- "reflects": true
2867
- },
2868
- {
2869
- "kind": "field",
2870
- "name": "id",
2871
- "default": "`mdc-input-${uuidv4()}`",
2872
- "description": "The unique id of the input field. It is used to link the input field with the label.",
2873
- "attribute": "id"
2874
- },
2875
- {
2876
- "kind": "field",
2877
- "name": "helpTextType",
2878
- "type": {
2879
- "text": "ValidationType"
2880
- },
2881
- "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
2882
- "attribute": "help-text-type",
2883
- "reflects": true
2884
- },
2885
- {
2886
- "kind": "field",
2887
- "name": "helpText",
2888
- "type": {
2889
- "text": "string | undefined"
2890
- },
2891
- "description": "The help text that is displayed below the input field.",
2892
- "attribute": "help-text",
2893
- "reflects": true
2894
- },
2895
- {
2896
- "kind": "method",
2897
- "name": "renderLabelElement",
2898
- "privacy": "protected",
2899
- "description": "creates the label element when the label property is set.\nid is used to link the label with the input field.",
2900
- "return": {
2901
- "type": {
2902
- "text": ""
2903
- }
2904
- }
2905
- },
2906
- {
2907
- "kind": "method",
2908
- "name": "renderHelpTextIcon",
2909
- "privacy": "protected",
2910
- "description": "creates the helpertext icon based on the helpTextType for validation.\nIf the helpTextType is not set, it defaults to 'default' and it doesn't display any icon.",
2911
- "return": {
2912
- "type": {
2913
- "text": ""
2914
- }
2915
- }
2916
- },
2917
- {
2918
- "kind": "method",
2919
- "name": "renderHelpText",
2920
- "privacy": "protected",
2921
- "description": "creates the helper text component when the helpertext value is set.\nIt is also used to display the validation message based on the helpTextType.",
2922
- "return": {
2923
- "type": {
2924
- "text": ""
2925
- }
2926
- }
2927
- },
2928
- {
2929
- "kind": "method",
2930
- "name": "renderLabel",
2931
- "privacy": "protected",
2932
- "description": "renders the mdc-label-text container that contains the label and labelInfoToggleTip.",
2933
- "return": {
2934
- "type": {
2935
- "text": ""
2756
+ "text": "void"
2936
2757
  }
2937
- }
2758
+ },
2759
+ "description": "Configures the grabber button within the divider.\n\n- Sets the `prefix-icon` attribute for the grabber button based\non the `arrow-direction` and `orientation` properties.\n\nThis method updates the DOM element dynamically if a grabber button is present."
2938
2760
  },
2939
2761
  {
2940
2762
  "kind": "method",
2941
- "name": "renderHelperText",
2942
- "privacy": "protected",
2943
- "description": "renders the mdc-help-text container that contains the helpertext icon and helpertext.",
2763
+ "name": "getArrowIcon",
2764
+ "privacy": "private",
2944
2765
  "return": {
2945
2766
  "type": {
2946
2767
  "text": ""
2947
2768
  }
2948
- }
2769
+ },
2770
+ "description": "Determines the arrow icon based on the consumer-defined `arrowDirection`."
2949
2771
  },
2950
2772
  {
2951
- "kind": "field",
2952
- "name": "disabled",
2953
- "type": {
2954
- "text": "boolean"
2955
- },
2956
- "default": "false",
2957
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2958
- "attribute": "disabled",
2959
- "reflects": true,
2960
- "inheritedFrom": {
2961
- "name": "DisabledMixin",
2962
- "module": "utils/mixins/DisabledMixin.js"
2963
- }
2773
+ "kind": "method",
2774
+ "name": "inferDividerType",
2775
+ "privacy": "private",
2776
+ "description": "Infers the type of divider based on the kind of slot present.",
2777
+ "parameters": [
2778
+ {
2779
+ "description": "default slot of divider",
2780
+ "name": "slot"
2781
+ }
2782
+ ]
2964
2783
  }
2965
2784
  ],
2966
2785
  "attributes": [
2967
2786
  {
2968
- "name": "label",
2787
+ "name": "orientation",
2969
2788
  "type": {
2970
- "text": "string | undefined"
2789
+ "text": "DividerOrientation"
2971
2790
  },
2972
- "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
2973
- "fieldName": "label"
2974
- },
2975
- {
2976
- "name": "id",
2977
- "default": "`mdc-input-${uuidv4()}`",
2978
- "description": "The unique id of the input field. It is used to link the input field with the label.",
2979
- "fieldName": "id"
2791
+ "description": "Two orientations of divider\n- **horizontal**: A thin, horizontal line with 0.0625rem width.\n- **vertical**: A thin, vertical line with 0.0625rem width.\n\nNote: We do not support \"Vertical Text Divider\" as of now.",
2792
+ "default": "horizontal",
2793
+ "fieldName": "orientation"
2980
2794
  },
2981
2795
  {
2982
- "name": "help-text-type",
2796
+ "name": "variant",
2983
2797
  "type": {
2984
- "text": "ValidationType"
2798
+ "text": "DividerVariant"
2985
2799
  },
2986
- "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
2987
- "fieldName": "helpTextType"
2800
+ "description": "Two variants of divider\n- **solid**: Solid line.\n- **gradient**: Gradient Line that fades on either sides of the divider.",
2801
+ "default": "solid",
2802
+ "fieldName": "variant"
2988
2803
  },
2989
2804
  {
2990
- "name": "help-text",
2805
+ "name": "arrow-direction",
2991
2806
  "type": {
2992
- "text": "string | undefined"
2807
+ "text": "Directions"
2993
2808
  },
2994
- "description": "The help text that is displayed below the input field.",
2995
- "fieldName": "helpText"
2809
+ "description": "Direction of the arrow icon, if applicable.\n- **positive**\n- **negative**\n\nNote: Positive and Negative directions are defined based on Cartesian plane.",
2810
+ "default": "'negative'",
2811
+ "fieldName": "arrowDirection"
2996
2812
  },
2997
2813
  {
2998
- "name": "disabled",
2814
+ "name": "button-position",
2999
2815
  "type": {
3000
- "text": "boolean"
2816
+ "text": "Directions"
3001
2817
  },
3002
- "default": "false",
3003
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3004
- "fieldName": "disabled",
3005
- "inheritedFrom": {
3006
- "name": "DisabledMixin",
3007
- "module": "src/utils/mixins/DisabledMixin.ts"
3008
- }
3009
- }
3010
- ],
3011
- "mixins": [
3012
- {
3013
- "name": "DisabledMixin",
3014
- "module": "/src/utils/mixins/DisabledMixin"
2818
+ "description": "Position of the button, if applicable.\n- **positive**\n- **negative**\n\nNote: Positive and Negative directions are defined based on Cartesian plane.",
2819
+ "default": "'negative'",
2820
+ "fieldName": "buttonPosition"
3015
2821
  }
3016
2822
  ],
3017
2823
  "superclass": {
3018
2824
  "name": "Component",
3019
2825
  "module": "/src/models"
3020
2826
  },
3021
- "tagName": "mdc-formfieldwrapper",
3022
- "jsDoc": "/**\n * formfieldwrapper is a component that contains the label and helper/validation text\n * that can be configured in various ways to suit different use cases (most of the input related components).\n * It is used as an internal component and is not intended to be used directly by consumers.\n *\n * @tagname mdc-formfieldwrapper\n *\n * @slot label-info - slot to add the label info icon\n *\n */",
2827
+ "tagName": "mdc-divider",
2828
+ "jsDoc": "/**\n * `mdc-divider` is a component that provides a line to separate and organize content.\n * It can also include a button or text positioned centrally, allowing users to interact with the layout.\n *\n * **Divider Orientation:**\n * - **Horizontal**: A thin, horizontal line.\n * - **Vertical**: A thin, vertical line.\n *\n * **Divider Variants:**\n * - **solid**: Solid line.\n * - **gradient**: Gradient Line.\n *\n * **Divider Types:**\n * - The type of divider is inferred based on the kind of slot present.\n * - **Primary**: A simple horizontal or vertical divider.\n * - **Text**: A horizontal divider with a text label in the center.\n * - **Grabber Button**: A horizontal or vertical divider with a styled button in the center.\n *\n * **Accessibility:**\n * - When the slot is replaced by an `mdc-button`:\n * - `aria-label` should be passed to the `mdc-button`.\n * - `aria-expanded` should be passed to the `mdc-button`.\n *\n * **Notes:**\n * - If the slot is replaced by an invalid tag name or contains multiple elements,\n * the divider defaults to the **Primary** type.\n * - To override the styles of the divider, use the provided CSS custom properties.\n *\n * @tagname mdc-divider\n *\n * @cssproperty --mdc-divider-background-color - background color of the divider\n * @cssproperty --mdc-divider-width - width of the divider\n * @cssproperty --mdc-divider-horizontal-gradient - gradient of the horizontal divider\n * @cssproperty --mdc-divider-vertical-gradient - gradient of the vertical divider\n * @cssproperty --mdc-divider-text-size - font size of label in the text divider\n * @cssproperty --mdc-divider-text-color - font color of label in the text divider\n * @cssproperty --mdc-divider-text-margin - left and right margin of label in the text divider\n * @cssproperty --mdc-divider-text-line-height - line height of label in the text divider\n * @cssproperty --mdc-divider-grabber-button-border-radius - border radius of the grabber button\n */",
3023
2829
  "customElement": true
3024
2830
  }
3025
2831
  ],
@@ -3028,8 +2834,8 @@
3028
2834
  "kind": "js",
3029
2835
  "name": "default",
3030
2836
  "declaration": {
3031
- "name": "FormfieldWrapper",
3032
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2837
+ "name": "Divider",
2838
+ "module": "components/divider/divider.component.js"
3033
2839
  }
3034
2840
  }
3035
2841
  ]
@@ -3172,77 +2978,271 @@
3172
2978
  },
3173
2979
  "description": "The icon html element which has been fetched from the icon provider."
3174
2980
  }
3175
- ],
3176
- "description": "Sets the iconData state to the fetched icon.\nDispatches a 'load' event on the component once the icon has been successfully loaded."
2981
+ ],
2982
+ "description": "Sets the iconData state to the fetched icon.\nDispatches a 'load' event on the component once the icon has been successfully loaded."
2983
+ },
2984
+ {
2985
+ "kind": "method",
2986
+ "name": "handleIconLoadedFailure",
2987
+ "privacy": "private",
2988
+ "parameters": [
2989
+ {
2990
+ "name": "error",
2991
+ "type": {
2992
+ "text": "unknown"
2993
+ }
2994
+ }
2995
+ ],
2996
+ "description": "Dispatches an 'error' event on the component when the icon fetching has failed.\nThis event bubbles and is cancelable.\nThe error detail is set to the error object."
2997
+ },
2998
+ {
2999
+ "kind": "method",
3000
+ "name": "updateSize",
3001
+ "privacy": "private",
3002
+ "description": "Updates the size by setting the width and height"
3003
+ },
3004
+ {
3005
+ "kind": "field",
3006
+ "name": "computedIconSize",
3007
+ "privacy": "private",
3008
+ "readonly": true
3009
+ }
3010
+ ],
3011
+ "attributes": [
3012
+ {
3013
+ "name": "name",
3014
+ "type": {
3015
+ "text": "IconNames | undefined"
3016
+ },
3017
+ "description": "Name of the icon (= filename)",
3018
+ "fieldName": "name"
3019
+ },
3020
+ {
3021
+ "name": "size",
3022
+ "type": {
3023
+ "text": "number | undefined"
3024
+ },
3025
+ "description": "Size of the icon (works in combination with length unit)",
3026
+ "fieldName": "size"
3027
+ },
3028
+ {
3029
+ "name": "length-unit",
3030
+ "type": {
3031
+ "text": "string | undefined"
3032
+ },
3033
+ "description": "Length unit attribute for overriding length-unit from `IconProvider`",
3034
+ "fieldName": "lengthUnit"
3035
+ },
3036
+ {
3037
+ "name": "aria-label",
3038
+ "type": {
3039
+ "text": "string | null"
3040
+ },
3041
+ "default": "null",
3042
+ "description": "Aria-label attribute to be set for accessibility",
3043
+ "fieldName": "ariaLabel"
3044
+ }
3045
+ ],
3046
+ "superclass": {
3047
+ "name": "Component",
3048
+ "module": "/src/models"
3049
+ },
3050
+ "tagName": "mdc-icon",
3051
+ "jsDoc": "/**\n * Icon component that dynamically displays SVG icons based on a valid name.\n *\n * This component must be mounted within an `IconProvider` component.\n *\n * The `IconProvider` defines the source URL from which icons are consumed.\n * The `Icon` component accepts a `name` attribute, which corresponds to\n * the file name of the icon to be loaded from the specified URL.\n *\n * Once fetched, the icon will be rendered. If the fetching process is unsuccessful,\n * no icon will be displayed.\n *\n * The `size` attribute allows for dynamic sizing of the icon based on the provided\n * `length-unit` attribute. This unit can either come from the `IconProvider`\n * or can be overridden for each individual icon. For example:\n * if `size = 1` and `length-unit = 'em'`, the dimensions of the icon will be\n * `width: 1em; height: 1em`.\n *\n * Regarding accessibility, there are three types of icons: decorative, informative and informative standalone.\n *\n * ### Decorative Icons\n * - Decorative icons do not convey any essential information to the content of a page.\n * - They should be hidden from screen readers (SR) to prevent confusion for users.\n * - For decorative icons, an `aria-label` is not required, and the `role` will be set to null.\n *\n * ### Informative Icons\n * - Informative icons convey important information that is not adequately represented\n * by surrounding text or components.\n * - They provide valuable context and must be announced by assistive technologies.\n * - For informative icons, an `aria-label` is required, and the `role` will be set to \"img\" automatically.\n * - If an `aria-label` is provided, the role will be set to 'img'; if it is absent,\n * the role will be unset.\n *\n * ### Informative Standalone Icons\n * - If an icon is informative (as mentioned above) and does not belong to a button (=standalone), it must\n * have a Tooltip that describes what it means.\n * - For informative standalone icons, an `aria-label` & `tabindex=\"0\"` is required,\n * and the `role` will be set to \"img\" automatically.\n * - **Only use this when a Icon is standalone and is not part of a button or other interactive elements.**\n *\n * @tagname mdc-icon\n *\n * @cssproperty --mdc-icon-fill-color - Allows customization of the default fill color.\n * @cssproperty --mdc-icon-size - Allows customization of the icon size.\n * @cssproperty --mdc-icon-border-radius - Allows customization of the icon border radius.\n */",
3052
+ "customElement": true
3053
+ }
3054
+ ],
3055
+ "exports": [
3056
+ {
3057
+ "kind": "js",
3058
+ "name": "default",
3059
+ "declaration": {
3060
+ "name": "Icon",
3061
+ "module": "components/icon/icon.component.js"
3062
+ }
3063
+ }
3064
+ ]
3065
+ },
3066
+ {
3067
+ "kind": "javascript-module",
3068
+ "path": "components/formfieldwrapper/formfieldwrapper.component.js",
3069
+ "declarations": [
3070
+ {
3071
+ "kind": "class",
3072
+ "description": "formfieldwrapper is a component that contains the label and helper/validation text\n that can be configured in various ways to suit different use cases (most of the input related components).\nIt is used as an internal component and is not intended to be used directly by consumers.",
3073
+ "name": "FormfieldWrapper",
3074
+ "slots": [
3075
+ {
3076
+ "description": "slot to add the label info icon",
3077
+ "name": "label-info"
3078
+ }
3079
+ ],
3080
+ "members": [
3081
+ {
3082
+ "kind": "field",
3083
+ "name": "label",
3084
+ "type": {
3085
+ "text": "string | undefined"
3086
+ },
3087
+ "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
3088
+ "attribute": "label",
3089
+ "reflects": true
3090
+ },
3091
+ {
3092
+ "kind": "field",
3093
+ "name": "id",
3094
+ "default": "`mdc-input-${uuidv4()}`",
3095
+ "description": "The unique id of the input field. It is used to link the input field with the label.",
3096
+ "attribute": "id"
3097
+ },
3098
+ {
3099
+ "kind": "field",
3100
+ "name": "helpTextType",
3101
+ "type": {
3102
+ "text": "ValidationType"
3103
+ },
3104
+ "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
3105
+ "attribute": "help-text-type",
3106
+ "reflects": true
3107
+ },
3108
+ {
3109
+ "kind": "field",
3110
+ "name": "helpText",
3111
+ "type": {
3112
+ "text": "string | undefined"
3113
+ },
3114
+ "description": "The help text that is displayed below the input field.",
3115
+ "attribute": "help-text",
3116
+ "reflects": true
3117
+ },
3118
+ {
3119
+ "kind": "method",
3120
+ "name": "renderLabelElement",
3121
+ "privacy": "protected",
3122
+ "description": "creates the label element when the label property is set.\nid is used to link the label with the input field.",
3123
+ "return": {
3124
+ "type": {
3125
+ "text": ""
3126
+ }
3127
+ }
3128
+ },
3129
+ {
3130
+ "kind": "method",
3131
+ "name": "renderHelpTextIcon",
3132
+ "privacy": "protected",
3133
+ "description": "creates the helpertext icon based on the helpTextType for validation.\nIf the helpTextType is not set, it defaults to 'default' and it doesn't display any icon.",
3134
+ "return": {
3135
+ "type": {
3136
+ "text": ""
3137
+ }
3138
+ }
3139
+ },
3140
+ {
3141
+ "kind": "method",
3142
+ "name": "renderHelpText",
3143
+ "privacy": "protected",
3144
+ "description": "creates the helper text component when the helpertext value is set.\nIt is also used to display the validation message based on the helpTextType.",
3145
+ "return": {
3146
+ "type": {
3147
+ "text": ""
3148
+ }
3149
+ }
3177
3150
  },
3178
3151
  {
3179
3152
  "kind": "method",
3180
- "name": "handleIconLoadedFailure",
3181
- "privacy": "private",
3182
- "parameters": [
3183
- {
3184
- "name": "error",
3185
- "type": {
3186
- "text": "unknown"
3187
- }
3153
+ "name": "renderLabel",
3154
+ "privacy": "protected",
3155
+ "description": "renders the mdc-label-text container that contains the label and labelInfoToggleTip.",
3156
+ "return": {
3157
+ "type": {
3158
+ "text": ""
3188
3159
  }
3189
- ],
3190
- "description": "Dispatches an 'error' event on the component when the icon fetching has failed.\nThis event bubbles and is cancelable.\nThe error detail is set to the error object."
3160
+ }
3191
3161
  },
3192
3162
  {
3193
3163
  "kind": "method",
3194
- "name": "updateSize",
3195
- "privacy": "private",
3196
- "description": "Updates the size by setting the width and height"
3164
+ "name": "renderHelperText",
3165
+ "privacy": "protected",
3166
+ "description": "renders the mdc-help-text container that contains the helpertext icon and helpertext.",
3167
+ "return": {
3168
+ "type": {
3169
+ "text": ""
3170
+ }
3171
+ }
3197
3172
  },
3198
3173
  {
3199
3174
  "kind": "field",
3200
- "name": "computedIconSize",
3201
- "privacy": "private",
3202
- "readonly": true
3175
+ "name": "disabled",
3176
+ "type": {
3177
+ "text": "boolean"
3178
+ },
3179
+ "default": "false",
3180
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3181
+ "attribute": "disabled",
3182
+ "reflects": true,
3183
+ "inheritedFrom": {
3184
+ "name": "DisabledMixin",
3185
+ "module": "utils/mixins/DisabledMixin.js"
3186
+ }
3203
3187
  }
3204
3188
  ],
3205
3189
  "attributes": [
3206
3190
  {
3207
- "name": "name",
3191
+ "name": "label",
3208
3192
  "type": {
3209
- "text": "IconNames | undefined"
3193
+ "text": "string | undefined"
3210
3194
  },
3211
- "description": "Name of the icon (= filename)",
3212
- "fieldName": "name"
3195
+ "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
3196
+ "fieldName": "label"
3213
3197
  },
3214
3198
  {
3215
- "name": "size",
3199
+ "name": "id",
3200
+ "default": "`mdc-input-${uuidv4()}`",
3201
+ "description": "The unique id of the input field. It is used to link the input field with the label.",
3202
+ "fieldName": "id"
3203
+ },
3204
+ {
3205
+ "name": "help-text-type",
3216
3206
  "type": {
3217
- "text": "number | undefined"
3207
+ "text": "ValidationType"
3218
3208
  },
3219
- "description": "Size of the icon (works in combination with length unit)",
3220
- "fieldName": "size"
3209
+ "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
3210
+ "fieldName": "helpTextType"
3221
3211
  },
3222
3212
  {
3223
- "name": "length-unit",
3213
+ "name": "help-text",
3224
3214
  "type": {
3225
3215
  "text": "string | undefined"
3226
3216
  },
3227
- "description": "Length unit attribute for overriding length-unit from `IconProvider`",
3228
- "fieldName": "lengthUnit"
3217
+ "description": "The help text that is displayed below the input field.",
3218
+ "fieldName": "helpText"
3229
3219
  },
3230
3220
  {
3231
- "name": "aria-label",
3221
+ "name": "disabled",
3232
3222
  "type": {
3233
- "text": "string | null"
3223
+ "text": "boolean"
3234
3224
  },
3235
- "default": "null",
3236
- "description": "Aria-label attribute to be set for accessibility",
3237
- "fieldName": "ariaLabel"
3225
+ "default": "false",
3226
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3227
+ "fieldName": "disabled",
3228
+ "inheritedFrom": {
3229
+ "name": "DisabledMixin",
3230
+ "module": "src/utils/mixins/DisabledMixin.ts"
3231
+ }
3232
+ }
3233
+ ],
3234
+ "mixins": [
3235
+ {
3236
+ "name": "DisabledMixin",
3237
+ "module": "/src/utils/mixins/DisabledMixin"
3238
3238
  }
3239
3239
  ],
3240
3240
  "superclass": {
3241
3241
  "name": "Component",
3242
3242
  "module": "/src/models"
3243
3243
  },
3244
- "tagName": "mdc-icon",
3245
- "jsDoc": "/**\n * Icon component that dynamically displays SVG icons based on a valid name.\n *\n * This component must be mounted within an `IconProvider` component.\n *\n * The `IconProvider` defines the source URL from which icons are consumed.\n * The `Icon` component accepts a `name` attribute, which corresponds to\n * the file name of the icon to be loaded from the specified URL.\n *\n * Once fetched, the icon will be rendered. If the fetching process is unsuccessful,\n * no icon will be displayed.\n *\n * The `size` attribute allows for dynamic sizing of the icon based on the provided\n * `length-unit` attribute. This unit can either come from the `IconProvider`\n * or can be overridden for each individual icon. For example:\n * if `size = 1` and `length-unit = 'em'`, the dimensions of the icon will be\n * `width: 1em; height: 1em`.\n *\n * Regarding accessibility, there are three types of icons: decorative, informative and informative standalone.\n *\n * ### Decorative Icons\n * - Decorative icons do not convey any essential information to the content of a page.\n * - They should be hidden from screen readers (SR) to prevent confusion for users.\n * - For decorative icons, an `aria-label` is not required, and the `role` will be set to null.\n *\n * ### Informative Icons\n * - Informative icons convey important information that is not adequately represented\n * by surrounding text or components.\n * - They provide valuable context and must be announced by assistive technologies.\n * - For informative icons, an `aria-label` is required, and the `role` will be set to \"img\" automatically.\n * - If an `aria-label` is provided, the role will be set to 'img'; if it is absent,\n * the role will be unset.\n *\n * ### Informative Standalone Icons\n * - If an icon is informative (as mentioned above) and does not belong to a button (=standalone), it must\n * have a Tooltip that describes what it means.\n * - For informative standalone icons, an `aria-label` & `tabindex=\"0\"` is required,\n * and the `role` will be set to \"img\" automatically.\n * - **Only use this when a Icon is standalone and is not part of a button or other interactive elements.**\n *\n * @tagname mdc-icon\n *\n * @cssproperty --mdc-icon-fill-color - Allows customization of the default fill color.\n * @cssproperty --mdc-icon-size - Allows customization of the icon size.\n * @cssproperty --mdc-icon-border-radius - Allows customization of the icon border radius.\n */",
3244
+ "tagName": "mdc-formfieldwrapper",
3245
+ "jsDoc": "/**\n * formfieldwrapper is a component that contains the label and helper/validation text\n * that can be configured in various ways to suit different use cases (most of the input related components).\n * It is used as an internal component and is not intended to be used directly by consumers.\n *\n * @tagname mdc-formfieldwrapper\n *\n * @slot label-info - slot to add the label info icon\n *\n */",
3246
3246
  "customElement": true
3247
3247
  }
3248
3248
  ],
@@ -3251,8 +3251,8 @@
3251
3251
  "kind": "js",
3252
3252
  "name": "default",
3253
3253
  "declaration": {
3254
- "name": "Icon",
3255
- "module": "components/icon/icon.component.js"
3254
+ "name": "FormfieldWrapper",
3255
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
3256
3256
  }
3257
3257
  }
3258
3258
  ]
@@ -6731,6 +6731,217 @@
6731
6731
  }
6732
6732
  ]
6733
6733
  },
6734
+ {
6735
+ "kind": "javascript-module",
6736
+ "path": "components/virtualizedlist/virtualizedlist.component.js",
6737
+ "declarations": [
6738
+ {
6739
+ "kind": "class",
6740
+ "description": "`mdc-virtualizedlist` component for creating custom virtualized lists.\nIMPORTANT: This component does not create it's own list/list items.\nUse the setlistdata callback prop to update client state in order to\nPass list/listitems as a child of this component, which this will virtuailze\nThis implementation handles dynamic lists as well as fixed sized lists.\nPlease refer to [Tanstack Virtual Docs](https://tanstack.com/virtual/latest) for more in depth documentation.",
6741
+ "name": "VirtualizedList",
6742
+ "slots": [
6743
+ {
6744
+ "description": "Client side List with nested list items.",
6745
+ "name": ""
6746
+ }
6747
+ ],
6748
+ "members": [
6749
+ {
6750
+ "kind": "field",
6751
+ "name": "onscroll",
6752
+ "type": {
6753
+ "text": "((this: GlobalEventHandlers, ev: Event) => any) | null"
6754
+ },
6755
+ "description": "Callback that gets called when user scrolls inside of list. This gives access to the scroll container element\nas well via the event. Particularly useful for\nhandling logic related when the user scrolls to the top or bottom of a list.",
6756
+ "default": "null",
6757
+ "attribute": "onscroll"
6758
+ },
6759
+ {
6760
+ "kind": "field",
6761
+ "name": "virtualizerprops",
6762
+ "type": {
6763
+ "text": "VirtualizerProps"
6764
+ },
6765
+ "description": "Object that sets and updates the virtualizer with any relevant props.\nThere are two required object props in order to get virtualization to work properly.\ncount - The length of your list that you are virtualizing.\nAs your list grows/shrinks, this component must be updated with the appropriate value\n(Same with any other updated prop).\nestimateSize - A function that returns the estimated size of your items.\nIf your list is fixed, this will just be the size of your items.\nIf your list is dynamic, try to return approximate the size of each item.\n\nA full list of possible props can be in\n[Tanstack Virtualizer API Docs](https://tanstack.com/virtual/latest/docs/api/virtualizer)",
6766
+ "attribute": "virtualizerprops"
6767
+ },
6768
+ {
6769
+ "kind": "field",
6770
+ "name": "setlistdata",
6771
+ "type": {
6772
+ "text": "(({ virtualItems, measureElement, listStyle }: SetListDataProps) => void) | null"
6773
+ },
6774
+ "description": "Callback that gets envoked when updates to the virtualizer interally occur.\nThis must be implemented in such a way that this function will trigger update to parent.\n\nvirtualItems - Array that will be what the client displays on screen. Use this to render\na List of your choosing with these items nested inside as your ListItems.\nmeasureElement - Ref to pass to each ListItem rendered client side.\nEach ListItem should also be be passed key and a data-index (which can be found on the virtualItem).\nlistStyle - This should be passed as the style attribute to your List.",
6775
+ "default": "null",
6776
+ "attribute": "setlistdata"
6777
+ },
6778
+ {
6779
+ "kind": "field",
6780
+ "name": "scrollElementRef",
6781
+ "type": {
6782
+ "text": "Ref<HTMLDivElement>"
6783
+ },
6784
+ "privacy": "public"
6785
+ },
6786
+ {
6787
+ "kind": "field",
6788
+ "name": "virtualizer",
6789
+ "type": {
6790
+ "text": "Virtualizer<Element, Element> | null"
6791
+ },
6792
+ "privacy": "public",
6793
+ "default": "null"
6794
+ },
6795
+ {
6796
+ "kind": "field",
6797
+ "name": "virtualizerController",
6798
+ "type": {
6799
+ "text": "null"
6800
+ },
6801
+ "default": "null"
6802
+ }
6803
+ ],
6804
+ "attributes": [
6805
+ {
6806
+ "name": "onscroll",
6807
+ "type": {
6808
+ "text": "((this: GlobalEventHandlers, ev: Event) => any) | null"
6809
+ },
6810
+ "description": "Callback that gets called when user scrolls inside of list. This gives access to the scroll container element\nas well via the event. Particularly useful for\nhandling logic related when the user scrolls to the top or bottom of a list.",
6811
+ "default": "null",
6812
+ "fieldName": "onscroll"
6813
+ },
6814
+ {
6815
+ "name": "virtualizerprops",
6816
+ "type": {
6817
+ "text": "VirtualizerProps"
6818
+ },
6819
+ "description": "Object that sets and updates the virtualizer with any relevant props.\nThere are two required object props in order to get virtualization to work properly.\ncount - The length of your list that you are virtualizing.\nAs your list grows/shrinks, this component must be updated with the appropriate value\n(Same with any other updated prop).\nestimateSize - A function that returns the estimated size of your items.\nIf your list is fixed, this will just be the size of your items.\nIf your list is dynamic, try to return approximate the size of each item.\n\nA full list of possible props can be in\n[Tanstack Virtualizer API Docs](https://tanstack.com/virtual/latest/docs/api/virtualizer)",
6820
+ "fieldName": "virtualizerprops"
6821
+ },
6822
+ {
6823
+ "name": "setlistdata",
6824
+ "type": {
6825
+ "text": "(({ virtualItems, measureElement, listStyle }: SetListDataProps) => void) | null"
6826
+ },
6827
+ "description": "Callback that gets envoked when updates to the virtualizer interally occur.\nThis must be implemented in such a way that this function will trigger update to parent.\n\nvirtualItems - Array that will be what the client displays on screen. Use this to render\na List of your choosing with these items nested inside as your ListItems.\nmeasureElement - Ref to pass to each ListItem rendered client side.\nEach ListItem should also be be passed key and a data-index (which can be found on the virtualItem).\nlistStyle - This should be passed as the style attribute to your List.",
6828
+ "default": "null",
6829
+ "fieldName": "setlistdata"
6830
+ }
6831
+ ],
6832
+ "superclass": {
6833
+ "name": "Component",
6834
+ "module": "/src/models"
6835
+ },
6836
+ "tagName": "mdc-virtualizedlist",
6837
+ "jsDoc": "/**\n * `mdc-virtualizedlist` component for creating custom virtualized lists.\n * IMPORTANT: This component does not create it's own list/list items.\n * Use the setlistdata callback prop to update client state in order to\n * Pass list/listitems as a child of this component, which this will virtuailze\n * This implementation handles dynamic lists as well as fixed sized lists.\n * Please refer to [Tanstack Virtual Docs](https://tanstack.com/virtual/latest) for more in depth documentation.\n *\n * @tagname mdc-virtualizedlist\n *\n * @slot - Client side List with nested list items.\n */",
6838
+ "customElement": true
6839
+ }
6840
+ ],
6841
+ "exports": [
6842
+ {
6843
+ "kind": "js",
6844
+ "name": "default",
6845
+ "declaration": {
6846
+ "name": "VirtualizedList",
6847
+ "module": "components/virtualizedlist/virtualizedlist.component.js"
6848
+ }
6849
+ }
6850
+ ]
6851
+ },
6852
+ {
6853
+ "kind": "javascript-module",
6854
+ "path": "components/virtualizedlist/virtualizedlist.test.component.js",
6855
+ "declarations": [
6856
+ {
6857
+ "kind": "class",
6858
+ "description": "",
6859
+ "name": "VirtualizedWrapper",
6860
+ "members": [
6861
+ {
6862
+ "kind": "field",
6863
+ "name": "onscroll",
6864
+ "type": {
6865
+ "text": "((this: GlobalEventHandlers, ev: Event) => any) | null"
6866
+ },
6867
+ "default": "null",
6868
+ "attribute": "onscroll"
6869
+ },
6870
+ {
6871
+ "kind": "field",
6872
+ "name": "virtualizerprops",
6873
+ "type": {
6874
+ "text": "VirtualizerProps"
6875
+ },
6876
+ "default": "{ count: 100, estimateSize: () => 100 }",
6877
+ "attribute": "virtualizerprops"
6878
+ },
6879
+ {
6880
+ "kind": "field",
6881
+ "name": "list",
6882
+ "type": {
6883
+ "text": "TemplateResult<1>"
6884
+ },
6885
+ "default": "html``"
6886
+ },
6887
+ {
6888
+ "kind": "field",
6889
+ "name": "listItemTexts"
6890
+ },
6891
+ {
6892
+ "kind": "method",
6893
+ "name": "updateListItemTextArray",
6894
+ "privacy": "private"
6895
+ },
6896
+ {
6897
+ "kind": "method",
6898
+ "name": "setListData",
6899
+ "privacy": "private",
6900
+ "parameters": [
6901
+ {
6902
+ "name": "{ virtualItems, measureElement, listStyle }",
6903
+ "type": {
6904
+ "text": "SetListDataProps"
6905
+ }
6906
+ }
6907
+ ]
6908
+ }
6909
+ ],
6910
+ "attributes": [
6911
+ {
6912
+ "name": "onscroll",
6913
+ "type": {
6914
+ "text": "((this: GlobalEventHandlers, ev: Event) => any) | null"
6915
+ },
6916
+ "default": "null",
6917
+ "fieldName": "onscroll"
6918
+ },
6919
+ {
6920
+ "name": "virtualizerprops",
6921
+ "type": {
6922
+ "text": "VirtualizerProps"
6923
+ },
6924
+ "default": "{ count: 100, estimateSize: () => 100 }",
6925
+ "fieldName": "virtualizerprops"
6926
+ }
6927
+ ],
6928
+ "superclass": {
6929
+ "name": "Component",
6930
+ "module": "/src/models"
6931
+ }
6932
+ }
6933
+ ],
6934
+ "exports": [
6935
+ {
6936
+ "kind": "js",
6937
+ "name": "default",
6938
+ "declaration": {
6939
+ "name": "VirtualizedWrapper",
6940
+ "module": "components/virtualizedlist/virtualizedlist.test.component.js"
6941
+ }
6942
+ }
6943
+ ]
6944
+ },
6734
6945
  {
6735
6946
  "kind": "javascript-module",
6736
6947
  "path": "utils/mixins/AvatarComponentMixin.js",