@public-ui/sample-react 2.1.7-rc.1 → 2.1.7

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.
Files changed (156) hide show
  1. package/.gitignore +5 -1
  2. package/dist/1487.js +1 -1
  3. package/dist/1636.js +1 -1
  4. package/dist/1792.js +1 -1
  5. package/dist/1795.js +1 -1
  6. package/dist/2017.js +1 -1
  7. package/dist/2322.js +1 -1
  8. package/dist/2538.js +1 -1
  9. package/dist/2567.js +1 -1
  10. package/dist/263.js +1 -1
  11. package/dist/2719.js +1 -1
  12. package/dist/3064.js +1 -1
  13. package/dist/3077.js +1 -1
  14. package/dist/3238.js +1 -1
  15. package/dist/3395.js +1 -1
  16. package/dist/35.js +1 -1
  17. package/dist/3521.js +1 -1
  18. package/dist/356.js +1 -1
  19. package/dist/3714.js +1 -1
  20. package/dist/3735.js +1 -1
  21. package/dist/3766.js +1 -1
  22. package/dist/3994.js +1 -1
  23. package/dist/4025.js +1 -1
  24. package/dist/4118.js +1 -1
  25. package/dist/4182.js +1 -1
  26. package/dist/4188.js +1 -1
  27. package/dist/4262.js +2 -0
  28. package/dist/4332.js +1 -1
  29. package/dist/4402.js +1 -1
  30. package/dist/4818.js +1 -1
  31. package/dist/4892.js +1 -1
  32. package/dist/4933.js +1 -1
  33. package/dist/4943.js +1 -1
  34. package/dist/495.js +1 -1
  35. package/dist/5034.js +1 -1
  36. package/dist/5056.js +1 -1
  37. package/dist/5138.js +1 -1
  38. package/dist/5296.js +1 -1
  39. package/dist/5356.js +1 -1
  40. package/dist/5551.js +1 -1
  41. package/dist/5835.js +1 -1
  42. package/dist/5840.js +1 -1
  43. package/dist/5889.js +1 -1
  44. package/dist/5912.js +1 -1
  45. package/dist/6082.js +1 -1
  46. package/dist/6099.js +1 -1
  47. package/dist/6181.js +1 -1
  48. package/dist/619.js +1 -1
  49. package/dist/6671.js +1 -1
  50. package/dist/6775.js +1 -1
  51. package/dist/7274.js +1 -1
  52. package/dist/7795.js +1 -1
  53. package/dist/7802.js +1 -1
  54. package/dist/7860.js +1 -1
  55. package/dist/8092.js +1 -1
  56. package/dist/8111.js +1 -1
  57. package/dist/8146.js +1 -1
  58. package/dist/8427.js +1 -1
  59. package/dist/8495.js +1 -1
  60. package/dist/8672.js +1 -1
  61. package/dist/8710.js +2 -0
  62. package/dist/8737.js +1 -1
  63. package/dist/8786.js +1 -1
  64. package/dist/8796.js +1 -1
  65. package/dist/8977.js +1 -1
  66. package/dist/9333.js +2 -0
  67. package/dist/9333.js.LICENSE.txt +3 -0
  68. package/dist/9389.js +1 -1
  69. package/dist/9561.js +1 -1
  70. package/dist/9599.js +1 -1
  71. package/dist/9612.js +1 -1
  72. package/dist/9890.js +1 -1
  73. package/dist/main.css +3 -2
  74. package/dist/main.js +1 -1
  75. package/package.json +11 -6
  76. package/src/components/Sidebar.tsx +45 -43
  77. package/src/components/abbr/basic.tsx +13 -13
  78. package/src/components/accordion/basic.tsx +5 -5
  79. package/src/components/accordion/headlines.tsx +12 -12
  80. package/src/components/alert/basic.tsx +6 -6
  81. package/src/components/alert/html.tsx +3 -3
  82. package/src/components/breadcrumb/basic.tsx +11 -11
  83. package/src/components/button/access-key.tsx +5 -5
  84. package/src/components/button/aria-description.tsx +17 -0
  85. package/src/components/button/routes.ts +2 -0
  86. package/src/components/button/width.tsx +1 -1
  87. package/src/components/button-link/aria-description.tsx +17 -0
  88. package/src/components/button-link/basic.tsx +7 -7
  89. package/src/components/button-link/icons.tsx +4 -4
  90. package/src/components/button-link/image.tsx +2 -2
  91. package/src/components/button-link/routes.ts +2 -0
  92. package/src/components/drawer/basic.tsx +2 -2
  93. package/src/components/handout/basic.tsx +69 -69
  94. package/src/components/handout/table-data.ts +538 -538
  95. package/src/components/heading/badged.tsx +6 -6
  96. package/src/components/input-checkbox/partials/cases.tsx +5 -5
  97. package/src/components/input-date/partials/cases.tsx +8 -8
  98. package/src/components/input-date/reset.tsx +21 -0
  99. package/src/components/input-date/routes.ts +2 -0
  100. package/src/components/input-email/partials/cases.tsx +1 -1
  101. package/src/components/input-file/partials/cases.tsx +3 -3
  102. package/src/components/input-number/partials/cases.tsx +8 -8
  103. package/src/components/input-password/show-password.tsx +3 -3
  104. package/src/components/input-radio/partials/cases.tsx +30 -15
  105. package/src/components/input-range/partials/cases.tsx +3 -3
  106. package/src/components/input-text/partials/cases.tsx +11 -11
  107. package/src/components/input-text/routes.ts +2 -0
  108. package/src/components/input-text/text-formatter.tsx +91 -0
  109. package/src/components/link/aria-description.tsx +17 -0
  110. package/src/components/link/basic.tsx +8 -7
  111. package/src/components/link/icons.tsx +5 -5
  112. package/src/components/link/image.tsx +2 -2
  113. package/src/components/link/routes.ts +2 -0
  114. package/src/components/link-button/aria-description.tsx +17 -0
  115. package/src/components/link-button/routes.ts +2 -0
  116. package/src/components/modal/basic.tsx +37 -18
  117. package/src/components/nav/links.ts +4 -4
  118. package/src/components/select/partials/cases.tsx +9 -9
  119. package/src/components/single-select/basic.tsx +23 -0
  120. package/src/components/single-select/partials/cases.tsx +39 -0
  121. package/src/components/single-select/partials/variants.tsx +19 -0
  122. package/src/components/single-select/routes.ts +8 -0
  123. package/src/components/skip-nav/basic.tsx +4 -4
  124. package/src/components/split-button/basic.tsx +2 -2
  125. package/src/components/split-button/routes.ts +2 -0
  126. package/src/components/split-button/with-context.tsx +37 -0
  127. package/src/components/table/interactive-child-elements.tsx +105 -0
  128. package/src/components/table/render-cell.tsx +1 -1
  129. package/src/components/table/routes.ts +6 -0
  130. package/src/components/table/stateful-with-selection.tsx +7 -7
  131. package/src/components/table/stateful-with-single-selection.tsx +84 -0
  132. package/src/components/table/stateless-with-selection.tsx +9 -6
  133. package/src/components/table/stateless-with-single-selection.tsx +68 -0
  134. package/src/components/tabs/basic.tsx +13 -13
  135. package/src/components/tabs/icons-only.tsx +8 -8
  136. package/src/scenarios/appointment-form/AppointmentForm.tsx +13 -13
  137. package/src/scenarios/appointment-form/AvailableAppointmentsForm.tsx +6 -6
  138. package/src/scenarios/appointment-form/DistrictForm.tsx +8 -8
  139. package/src/scenarios/appointment-form/PersonalInformationForm.tsx +16 -16
  140. package/src/scenarios/appointment-form/Summary.tsx +6 -6
  141. package/src/scenarios/focus-elements.tsx +12 -0
  142. package/src/scenarios/horizontal-scrollbar-advanced/TableHorizontalScrollbarAdvanced.tsx +80 -0
  143. package/src/scenarios/horizontal-scrollbar-advanced/databasedata.json +317 -0
  144. package/src/scenarios/horizontal-scrollbar-advanced/index.ts +1 -0
  145. package/src/scenarios/horizontal-scrollbar-advanced/layout.css +31 -0
  146. package/src/scenarios/inputs-get-value.tsx +36 -10
  147. package/src/scenarios/routes.ts +2 -0
  148. package/src/scenarios/static-form.tsx +9 -0
  149. package/src/shares/constants.ts +2 -2
  150. package/src/shares/routes.ts +2 -0
  151. package/src/style.scss +19 -1
  152. package/tsconfig.json +1 -1
  153. package/dist/4266.js +0 -2
  154. package/dist/4817.js +0 -2
  155. /package/dist/{4266.js.LICENSE.txt → 4262.js.LICENSE.txt} +0 -0
  156. /package/dist/{4817.js.LICENSE.txt → 8710.js.LICENSE.txt} +0 -0
@@ -0,0 +1,317 @@
1
+ [
2
+ {
3
+ "name": "Elephant",
4
+ "species": "Loxodonta",
5
+ "habitat": "Savannah",
6
+ "diet": "Herbivore",
7
+ "lifespan": 60
8
+ },
9
+ {
10
+ "name": "Tiger",
11
+ "species": "Panthera tigris",
12
+ "habitat": "Forest",
13
+ "diet": "Carnivore",
14
+ "lifespan": 20
15
+ },
16
+ {
17
+ "name": "Kangaroo",
18
+ "species": "Macropus",
19
+ "habitat": "Grassland",
20
+ "diet": "Herbivore",
21
+ "lifespan": 23
22
+ },
23
+ {
24
+ "name": "Penguin",
25
+ "species": "Aptenodytes forsteri",
26
+ "habitat": "Antarctica",
27
+ "diet": "Carnivore",
28
+ "lifespan": 20
29
+ },
30
+ {
31
+ "name": "Giraffe",
32
+ "species": "Giraffa camelopardalis",
33
+ "habitat": "Savannah",
34
+ "diet": "Herbivore",
35
+ "lifespan": 25
36
+ },
37
+ {
38
+ "name": "Panda",
39
+ "species": "Ailuropoda melanoleuca",
40
+ "habitat": "Forest",
41
+ "diet": "Herbivore",
42
+ "lifespan": 20
43
+ },
44
+ {
45
+ "name": "Dolphin",
46
+ "species": "Delphinus delphis",
47
+ "habitat": "Ocean",
48
+ "diet": "Carnivore",
49
+ "lifespan": 40
50
+ },
51
+ {
52
+ "name": "Eagle",
53
+ "species": "Aquila chrysaetos",
54
+ "habitat": "Mountains",
55
+ "diet": "Carnivore",
56
+ "lifespan": 30
57
+ },
58
+ {
59
+ "name": "Koala",
60
+ "species": "Phascolarctos cinereus",
61
+ "habitat": "Forest",
62
+ "diet": "Herbivore",
63
+ "lifespan": 18
64
+ },
65
+ {
66
+ "name": "Lion",
67
+ "species": "Panthera leo",
68
+ "habitat": "Savannah",
69
+ "diet": "Carnivore",
70
+ "lifespan": 15
71
+ },
72
+ {
73
+ "name": "Zebra",
74
+ "species": "Equus quagga",
75
+ "habitat": "Savannah",
76
+ "diet": "Herbivore",
77
+ "lifespan": 25
78
+ },
79
+ {
80
+ "name": "Wolf",
81
+ "species": "Canis lupus",
82
+ "habitat": "Forest",
83
+ "diet": "Carnivore",
84
+ "lifespan": 14
85
+ },
86
+ {
87
+ "name": "Cheetah",
88
+ "species": "Acinonyx jubatus",
89
+ "habitat": "Savannah",
90
+ "diet": "Carnivore",
91
+ "lifespan": 12
92
+ },
93
+ {
94
+ "name": "Polar Bear",
95
+ "species": "Ursus maritimus",
96
+ "habitat": "Arctic",
97
+ "diet": "Carnivore",
98
+ "lifespan": 25
99
+ },
100
+ {
101
+ "name": "Rhinoceros",
102
+ "species": "Rhinocerotidae",
103
+ "habitat": "Savannah",
104
+ "diet": "Herbivore",
105
+ "lifespan": 40
106
+ },
107
+ {
108
+ "name": "Hippopotamus",
109
+ "species": "Hippopotamus amphibius",
110
+ "habitat": "Rivers",
111
+ "diet": "Herbivore",
112
+ "lifespan": 45
113
+ },
114
+ {
115
+ "name": "Chimpanzee",
116
+ "species": "Pan troglodytes",
117
+ "habitat": "Forest",
118
+ "diet": "Omnivore",
119
+ "lifespan": 50
120
+ },
121
+ {
122
+ "name": "Orangutan",
123
+ "species": "Pongo",
124
+ "habitat": "Forest",
125
+ "diet": "Omnivore",
126
+ "lifespan": 45
127
+ },
128
+ {
129
+ "name": "Leopard",
130
+ "species": "Panthera pardus",
131
+ "habitat": "Forest",
132
+ "diet": "Carnivore",
133
+ "lifespan": 17
134
+ },
135
+ {
136
+ "name": "Hyena",
137
+ "species": "Hyaenidae",
138
+ "habitat": "Savannah",
139
+ "diet": "Carnivore",
140
+ "lifespan": 25
141
+ },
142
+ {
143
+ "name": "Crocodile",
144
+ "species": "Crocodylidae",
145
+ "habitat": "Rivers",
146
+ "diet": "Carnivore",
147
+ "lifespan": 70
148
+ },
149
+ {
150
+ "name": "Alligator",
151
+ "species": "Alligatoridae",
152
+ "habitat": "Swamps",
153
+ "diet": "Carnivore",
154
+ "lifespan": 50
155
+ },
156
+ {
157
+ "name": "Ostrich",
158
+ "species": "Struthio camelus",
159
+ "habitat": "Savannah",
160
+ "diet": "Omnivore",
161
+ "lifespan": 40
162
+ },
163
+ {
164
+ "name": "Flamingo",
165
+ "species": "Phoenicopterus",
166
+ "habitat": "Lakes",
167
+ "diet": "Omnivore",
168
+ "lifespan": 30
169
+ },
170
+ {
171
+ "name": "Peacock",
172
+ "species": "Pavo cristatus",
173
+ "habitat": "Forest",
174
+ "diet": "Omnivore",
175
+ "lifespan": 20
176
+ },
177
+ {
178
+ "name": "Parrot",
179
+ "species": "Psittaciformes",
180
+ "habitat": "Forest",
181
+ "diet": "Omnivore",
182
+ "lifespan": 50
183
+ },
184
+ {
185
+ "name": "Toucan",
186
+ "species": "Ramphastidae",
187
+ "habitat": "Forest",
188
+ "diet": "Omnivore",
189
+ "lifespan": 20
190
+ },
191
+ {
192
+ "name": "Sloth",
193
+ "species": "Folivora",
194
+ "habitat": "Forest",
195
+ "diet": "Herbivore",
196
+ "lifespan": 30
197
+ },
198
+ {
199
+ "name": "Armadillo",
200
+ "species": "Dasypodidae",
201
+ "habitat": "Grassland",
202
+ "diet": "Omnivore",
203
+ "lifespan": 15
204
+ },
205
+ {
206
+ "name": "Anteater",
207
+ "species": "Myrmecophaga tridactyla",
208
+ "habitat": "Forest",
209
+ "diet": "Insectivore",
210
+ "lifespan": 14
211
+ },
212
+ {
213
+ "name": "Bat",
214
+ "species": "Chiroptera",
215
+ "habitat": "Caves",
216
+ "diet": "Omnivore",
217
+ "lifespan": 20
218
+ },
219
+ {
220
+ "name": "Otter",
221
+ "species": "Lutrinae",
222
+ "habitat": "Rivers",
223
+ "diet": "Carnivore",
224
+ "lifespan": 16
225
+ },
226
+ {
227
+ "name": "Beaver",
228
+ "species": "Castor",
229
+ "habitat": "Rivers",
230
+ "diet": "Herbivore",
231
+ "lifespan": 24
232
+ },
233
+ {
234
+ "name": "Moose",
235
+ "species": "Alces alces",
236
+ "habitat": "Forest",
237
+ "diet": "Herbivore",
238
+ "lifespan": 20
239
+ },
240
+ {
241
+ "name": "Deer",
242
+ "species": "Cervidae",
243
+ "habitat": "Forest",
244
+ "diet": "Herbivore",
245
+ "lifespan": 20
246
+ },
247
+ {
248
+ "name": "Bison",
249
+ "species": "Bison bison",
250
+ "habitat": "Grassland",
251
+ "diet": "Herbivore",
252
+ "lifespan": 20
253
+ },
254
+ {
255
+ "name": "Buffalo",
256
+ "species": "Syncerus caffer",
257
+ "habitat": "Savannah",
258
+ "diet": "Herbivore",
259
+ "lifespan": 25
260
+ },
261
+ {
262
+ "name": "Camel",
263
+ "species": "Camelus",
264
+ "habitat": "Desert",
265
+ "diet": "Herbivore",
266
+ "lifespan": 50
267
+ },
268
+ {
269
+ "name": "Llama",
270
+ "species": "Lama glama",
271
+ "habitat": "Mountains",
272
+ "diet": "Herbivore",
273
+ "lifespan": 20
274
+ },
275
+ {
276
+ "name": "Alpaca",
277
+ "species": "Vicugna pacos",
278
+ "habitat": "Mountains",
279
+ "diet": "Herbivore",
280
+ "lifespan": 20
281
+ },
282
+ {
283
+ "name": "Goat",
284
+ "species": "Capra aegagrus hircus",
285
+ "habitat": "Mountains",
286
+ "diet": "Herbivore",
287
+ "lifespan": 18
288
+ },
289
+ {
290
+ "name": "Sheep",
291
+ "species": "Ovis aries",
292
+ "habitat": "Grassland",
293
+ "diet": "Herbivore",
294
+ "lifespan": 12
295
+ },
296
+ {
297
+ "name": "Cow",
298
+ "species": "Bos taurus",
299
+ "habitat": "Grassland",
300
+ "diet": "Herbivore",
301
+ "lifespan": 20
302
+ },
303
+ {
304
+ "name": "Pig",
305
+ "species": "Sus scrofa domesticus",
306
+ "habitat": "Farm",
307
+ "diet": "Omnivore",
308
+ "lifespan": 15
309
+ },
310
+ {
311
+ "name": "Chicken",
312
+ "species": "Gallus gallus domesticus",
313
+ "habitat": "Farm",
314
+ "diet": "Omnivore",
315
+ "lifespan": 10
316
+ }
317
+ ]
@@ -0,0 +1 @@
1
+ export { default as TableHorizontalScrollAdvanced } from './TableHorizontalScrollbarAdvanced';
@@ -0,0 +1,31 @@
1
+ .mainlayout {
2
+ min-height: calc(100vh - 2rem);
3
+ width: 100%;
4
+ display: grid;
5
+ column-gap: 1rem;
6
+ grid-template-columns: 400px calc(100% - 460px);
7
+ grid-template-rows: 1fr;
8
+ grid-template-areas: 'nav content';
9
+
10
+ & > .nav-area {
11
+ grid-area: nav;
12
+ }
13
+
14
+ & > .content {
15
+ grid-area: content;
16
+ }
17
+ }
18
+
19
+ .mainlayout2 {
20
+ display: flex;
21
+ flex-direction: row;
22
+ column-gap: 1rem;
23
+
24
+ & > .nav-area {
25
+ width: 400px;
26
+ }
27
+
28
+ & > .content {
29
+ flex: 1 auto;
30
+ }
31
+ }
@@ -16,6 +16,7 @@ import {
16
16
  KolInputRange,
17
17
  KolInputText,
18
18
  KolSelect,
19
+ KolSingleSelect,
19
20
  KolCombobox,
20
21
  KolTextarea,
21
22
  } from '@public-ui/react';
@@ -33,6 +34,7 @@ type Props = {
33
34
  InputComponent: React.ComponentType<any>;
34
35
  inputProps: { [key: string]: any };
35
36
  formatter?: (value: any) => string;
37
+ testId?: string;
36
38
  };
37
39
  const Scenario = (props: Props) => {
38
40
  const ref = useRef<HTMLStencilElement & { getValue: () => Promise<any> }>();
@@ -68,7 +70,7 @@ const Scenario = (props: Props) => {
68
70
  );
69
71
 
70
72
  return (
71
- <div className="grid grid-cols-3 items-end gap-4">
73
+ <div className="grid grid-cols-3 items-end gap-4" data-testid={props.testId}>
72
74
  <props.InputComponent ref={ref} _on={eventListeners} {...props.inputProps} />
73
75
  <KolButton
74
76
  _label="getValue()"
@@ -108,13 +110,18 @@ export const InputsGetValue: FC = () => {
108
110
  </KolCard>
109
111
 
110
112
  <div className="grid gap-4">
111
- <Scenario InputComponent={KolInputText} inputProps={{ _label: 'InputText' }} />
112
- <Scenario InputComponent={KolInputCheckbox} inputProps={{ _label: 'KolInputCheckbox (value)', _value: 'Checkbox True Value' }} />
113
- <Scenario InputComponent={KolInputCheckbox} inputProps={{ _label: 'KolInputCheckbox (boolean)' }} />
114
- <Scenario InputComponent={KolInputColor} inputProps={{ _label: 'KolInputColor' }} />
115
- <Scenario InputComponent={KolInputDate} inputProps={{ _label: 'KolInputDate' }} />
116
- <Scenario InputComponent={KolInputEmail} inputProps={{ _label: 'KolInputEmail' }} />
113
+ <Scenario testId="scenario-inputText" InputComponent={KolInputText} inputProps={{ _label: 'InputText' }} />
117
114
  <Scenario
115
+ testId="scenario-inputCheckboxString"
116
+ InputComponent={KolInputCheckbox}
117
+ inputProps={{ _label: 'KolInputCheckbox (value)', _value: 'Checkbox True Value' }}
118
+ />
119
+ <Scenario testId="scenario-inputCheckboxBoolean" InputComponent={KolInputCheckbox} inputProps={{ _label: 'KolInputCheckbox (boolean)' }} />
120
+ <Scenario testId="scenario-inputColor" InputComponent={KolInputColor} inputProps={{ _label: 'KolInputColor' }} />
121
+ <Scenario testId="scenario-inputDate" InputComponent={KolInputDate} inputProps={{ _label: 'KolInputDate' }} />
122
+ <Scenario testId="scenario-inputEmail" InputComponent={KolInputEmail} inputProps={{ _label: 'KolInputEmail' }} />
123
+ <Scenario
124
+ testId="scenario-inputFile"
118
125
  InputComponent={KolInputFile}
119
126
  inputProps={{ _label: 'KolInputFile' }}
120
127
  formatter={(value) =>
@@ -125,10 +132,11 @@ export const InputsGetValue: FC = () => {
125
132
  : JSON.stringify(value)
126
133
  }
127
134
  />
128
- <Scenario InputComponent={KolInputNumber} inputProps={{ _label: 'KolInputNumber' }} />
129
- <Scenario InputComponent={KolInputPassword} inputProps={{ _label: 'KolInputPassword' }} />
130
- <Scenario InputComponent={KolInputRange} inputProps={{ _label: 'KolInputRange' }} />
135
+ <Scenario testId="scenario-inputNumber" InputComponent={KolInputNumber} inputProps={{ _label: 'KolInputNumber' }} />
136
+ <Scenario testId="scenario-inputPassword" InputComponent={KolInputPassword} inputProps={{ _label: 'KolInputPassword' }} />
137
+ <Scenario testId="scenario-inputRange" InputComponent={KolInputRange} inputProps={{ _label: 'KolInputRange' }} />
131
138
  <Scenario
139
+ testId="scenario-inputRadio"
132
140
  InputComponent={KolInputRadio}
133
141
  inputProps={{
134
142
  _label: 'KolInputRadio',
@@ -142,6 +150,7 @@ export const InputsGetValue: FC = () => {
142
150
  }}
143
151
  />
144
152
  <Scenario
153
+ testId="scenario-select"
145
154
  InputComponent={KolSelect}
146
155
  inputProps={{
147
156
  _label: 'KolSelect',
@@ -153,6 +162,20 @@ export const InputsGetValue: FC = () => {
153
162
  }}
154
163
  />
155
164
  <Scenario
165
+ testId="scenario-singleSelect"
166
+ InputComponent={KolSingleSelect}
167
+ inputProps={{
168
+ _label: 'KolSingleSelect',
169
+ _options: [
170
+ { label: 'New York', value: 'New York' },
171
+ { label: 'Rio de Janeiro', value: 'Rio de Janeiro' },
172
+ { label: 'Rosenheim', value: 'Rosenheim' },
173
+ ],
174
+ _value: 'Rosenheim',
175
+ }}
176
+ />
177
+ <Scenario
178
+ testId="scenario-combobox"
156
179
  InputComponent={KolCombobox}
157
180
  inputProps={{
158
181
  _label: 'KolCombobox',
@@ -161,12 +184,14 @@ export const InputsGetValue: FC = () => {
161
184
  }}
162
185
  />
163
186
  <Scenario
187
+ testId="scenario-textarea"
164
188
  InputComponent={KolTextarea}
165
189
  inputProps={{
166
190
  _label: 'KolTextarea',
167
191
  }}
168
192
  />
169
193
  <Scenario
194
+ testId="scenario-button"
170
195
  InputComponent={KolButton}
171
196
  inputProps={{
172
197
  _label: 'KolButton',
@@ -175,6 +200,7 @@ export const InputsGetValue: FC = () => {
175
200
  }}
176
201
  />
177
202
  <Scenario
203
+ testId="scenario-buttonLink"
178
204
  InputComponent={KolButtonLink}
179
205
  inputProps={{
180
206
  _label: 'KolButtonLink',
@@ -5,6 +5,7 @@ import { DisabledInteractiveElements } from './disabled-interactive-elements';
5
5
  import { InputsGetValue } from './inputs-get-value';
6
6
  import { StaticForm } from './static-form';
7
7
  import { FocusElements } from './focus-elements';
8
+ import { TableHorizontalScrollAdvanced } from './horizontal-scrollbar-advanced';
8
9
 
9
10
  export const SCENARIO_ROUTES: Routes = {
10
11
  scenarios: {
@@ -14,5 +15,6 @@ export const SCENARIO_ROUTES: Routes = {
14
15
  'static-form': StaticForm,
15
16
  'disabled-interactive-scenario': DisabledInteractiveElements,
16
17
  'focus-elements': FocusElements,
18
+ 'table-horizontal-scrollbar-advanced': TableHorizontalScrollAdvanced,
17
19
  },
18
20
  };
@@ -11,6 +11,7 @@ import {
11
11
  KolInputRange,
12
12
  KolInputText,
13
13
  KolSelect,
14
+ KolSingleSelect,
14
15
  KolCombobox,
15
16
  KolTextarea,
16
17
  } from '@public-ui/react';
@@ -92,6 +93,14 @@ export const StaticForm: FC = () => {
92
93
  ]}
93
94
  _rows={2}
94
95
  />
96
+ <KolSingleSelect
97
+ _name="singleSelect"
98
+ _label="Single Select"
99
+ _options={[
100
+ { label: 'Option A', value: 'A' },
101
+ { label: 'Option B', value: 'B' },
102
+ ]}
103
+ />
95
104
  <KolCombobox _name="combobox" _label="Combobox" _suggestions={COUNTRY_SUGGESTIONS} />
96
105
  <KolTextarea _name="textarea" _label="Textarea" _rows={5} />
97
106
  <div className="flex flex-wrap gap-4">
@@ -1,4 +1,4 @@
1
1
  export const PUBLIC_DOC_COMPONENT_URL = 'https://public-ui.github.io/docs/components';
2
2
  export const PUBLIC_CODE_COMPONENT_URL = 'https://github.com/public-ui/kolibri/blob/develop/packages/samples/react/src/components';
3
- export const ERROR_MSG = 'Ich bin eine Fehlermeldung!';
4
- export const HINT_MSG = 'Ich bin ein Hinweis.';
3
+ export const ERROR_MSG = 'I am an error message!';
4
+ export const HINT_MSG = 'I am a hint.';
@@ -49,6 +49,7 @@ import { SCENARIO_ROUTES } from '../scenarios/routes';
49
49
  import { Routes } from './types';
50
50
  import { TREE_ROUTES } from '../components/tree/routes';
51
51
  import { COMBOBOX_ROUTES } from '../components/combobox/routes';
52
+ import { SINGLE_SELECT_ROUTES } from '../components/single-select/routes';
52
53
 
53
54
  export const ROUTES: Routes = {
54
55
  ...HANDOUT_ROUTES,
@@ -93,6 +94,7 @@ export const ROUTES: Routes = {
93
94
  ...SELECT_ROUTES,
94
95
  ...SKIP_NAV_ROUTES,
95
96
  ...SPIN_ROUTES,
97
+ ...SINGLE_SELECT_ROUTES,
96
98
  ...SPLIT_BUTTON_ROUTES,
97
99
  ...TABLE_ROUTES,
98
100
  ...TABS_ROUTES,
package/src/style.scss CHANGED
@@ -27,12 +27,30 @@ hr {
27
27
  @media (min-width: 1024px) {
28
28
  .app-container {
29
29
  display: grid;
30
- grid-template-columns: 360px auto;
30
+ grid-template-columns: 360px calc(100% - 360px);
31
+ min-height: 100vh;
31
32
  height: 100%;
32
33
  }
33
34
 
34
35
  .app-sidebar {
35
36
  border-right: 1px solid gray;
37
+ position: relative;
38
+
39
+ & .scrollable-container-wrapper {
40
+ position: fixed;
41
+ top: 0;
42
+ bottom: 0;
43
+ left: 0;
44
+ width: 330px;
45
+ margin: 1rem;
46
+ flex-direction: column;
47
+ display: flex;
48
+
49
+ & .scrollable-container {
50
+ flex: 1 auto;
51
+ overflow: auto;
52
+ }
53
+ }
36
54
  }
37
55
  }
38
56
 
package/tsconfig.json CHANGED
@@ -27,5 +27,5 @@
27
27
  "jsxFactory": "React.createElement",
28
28
  "jsxFragmentFactory": "React.Fragment"
29
29
  },
30
- "include": ["src/**/*"]
30
+ "include": ["src/**/*", "e2e/**/*"]
31
31
  }
package/dist/4266.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 4266.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_public_ui_sample_react=self.webpackChunk_public_ui_sample_react||[]).push([[4266],{8490:(t,e,o)=>{o.d(e,{I:()=>n});var i=o(5413);const n=({accessKey:t,label:e})=>{let[o,...n]=e.split(t);return 0===n.length&&(t=t.toUpperCase(),[o,...n]=e.split(t)),0===n.length&&(t=t.toLowerCase(),[o,...n]=e.split(t)),(0,i.h)(i.F,null,o,n.length?(0,i.h)(i.F,null,(0,i.h)("u",null,t),n.join(t)):null)}},7914:(t,e,o)=>{o.d(e,{a:()=>a,v:()=>n});var i=o(479);const n=(t,e,o)=>{(0,i.w)(t,e,(t=>"string"==typeof t&&s.includes(t)),new Set(s),o,{defaultValue:"top"})},s=["left","right","top","bottom"],a=(t,e)=>{n(t,"_align",e)}},6611:(t,e,o)=>{o.d(e,{A:()=>s});var i=o(6448),n=o(479);class s{constructor(t,e,o){var s,a,r,l;if(this.experimentalMode=(0,i.a)(),this.setFormAssociatedValue=t=>{var e;const o=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==o&&""!==o||(0,n.j)(` The form field (${this.type}) must have a name attribute to be form-associated. Please define the _name attribute.`);const i=this.tryToStringifyValue(t);this.syncValue(t,i,this.formAssociated),this.syncValue(t,i,this.syncToOwnInput)},this.component=t,this.host=this.findHostWithShadowRoot(o),this.type=e,this.experimentalMode&&("KOL-BUTTON"===(l=null===(s=this.host)||void 0===s?void 0:s.tagName)||"KOL-COMBOBOX"===l||"KOL-INPUT-CHECKBOX"===l||"KOL-INPUT-COLOR"===l||"KOL-INPUT-DATE"===l||"KOL-INPUT-EMAIL"===l||"KOL-INPUT-FILE"===l||"KOL-INPUT-NUMBER"===l||"KOL-INPUT-PASSWORD"===l||"KOL-INPUT-RADIO"===l||"KOL-INPUT-RANGE"===l||"KOL-INPUT-TEXT"===l||"KOL-SELECT"===l||"KOL-TEXTAREA"===l)){switch(null===(a=this.host)||void 0===a||a.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.type){case"button":case"color":case"date":case"email":case"file":case"number":case"password":case"radio":case"range":case"text":this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type",this.type);break;case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(r=this.host)||void 0===r||r.appendChild(this.formAssociated)}}findHostWithShadowRoot(t){for(;null===(null==t?void 0:t.shadowRoot)&&t!==document.body;)(t=null==t?void 0:t.parentNode).host&&(t=t.host);return t}setAttribute(t,e,o){if(this.experimentalMode)try{if("boolean"!=typeof(o="object"==typeof o&&null!==o?JSON.stringify(o):o)&&"number"!=typeof o&&"string"!=typeof o)throw new Error("Invalid value type: "+typeof o);null==e||e.setAttribute(t,`${o}`)}catch(o){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return(0,n.l)(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,o){if(o)switch(this.type){case"file":o.files=t;break;case"select":o.querySelectorAll("option").forEach((t=>{o.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),o.appendChild(t)}}));break;case"radio":"string"==typeof e&&(o.setAttribute("value",e),o.setAttribute("checked",""),o.value=e);break;default:"string"==typeof e?(o.setAttribute("value",e),o.value=e):(o.removeAttribute("value"),o.value="")}}validateName(t){((t,e,o)=>{(0,n.i)(t,"_name",e,o)})(this.component,t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&(0,n.j)("A name on input fields or switches is not strictly required, but it might be relevant for the autocomplete function and for the static submission of the input field.")}validateSyncValueBySelector(t){if(this.experimentalMode&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}componentWillLoad(){this.validateName(this.component._name),this.validateSyncValueBySelector(this.component._syncValueBySelector)}}},2320:(t,e,o)=>{o.d(e,{I:()=>p,g:()=>d,v:()=>h});var i=o(6855),n=o(6611),s=o(479),a=o(1618),r=o(5233),l=o(4388),c=o(6255);const h=(t,e)=>{(0,s.w)(t,"_msg",(t=>"object"==typeof t),new Set(["Object"]),e)},d=t=>{var e,o;const i=Boolean("error"===(null===(e=t._msg)||void 0===e?void 0:e._type)&&t._msg._description&&(null===(o=t._msg._description)||void 0===o?void 0:o.length)>0)&&!0===t._touched,n="string"==typeof t._hint&&t._hint.length>0,s=[];return!0===i&&s.push(`${t._id}-error`),!0===n&&s.push(`${t._id}-hint`),{hasError:i,hasHint:n,ariaDescribedBy:s}};class u extends n.A{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(t){(0,s.b)(this.component,"_alert",t)}validateTouched(t){((t,e)=>{(0,s.b)(t,"_touched",e)})(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class p extends u{constructor(t,e,o){super(t,e,o),this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this),onInput:this.onInput.bind(this)},this.component=t}validateAccessKey(t){(0,s.i)(this.component,"_accessKey",t)}validateAdjustHeight(t){((t,e)=>{(0,s.b)(t,"_adjustHeight",e)})(this.component,t)}validateDisabled(t){(0,s.b)(this.component,"_disabled",t),!0===t&&(0,s.c)()}validateTooltipAlign(t){(0,c.v)(this.component,t)}validateError(t){const e={_description:t||"",_type:"error"};this.validateMsg(e)}validateHideError(t){((t,e,o)=>{(0,s.b)(t,"_hideError",e,o)})(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&(0,s.a)("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateHideLabel(t){(0,a.v)(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&(0,s.a)("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}validateHint(t){(0,s.i)(this.component,"_hint",t)}validateId(t){(0,s.i)(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||(0,s.j)("A unique ID on the input fields is not strictly required, but it might be relevant for E2E tests.")}validateLabel(t){(0,r.a)(this.component,t,{required:!0})}validateMsg(t){h(this.component,t)}validateOn(t){"object"==typeof t&&(0,s.s)(this.component,"_on",t)}validateSmartButton(t){(0,s.o)(t,(()=>{try{t=(0,s.p)(t)}catch(t){}(0,s.s)(this.component,"_smartButton",t)}))}validateTabIndex(t){(0,l.v)(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateMsg(this.component._msg),this.validateDisabled(this.component._disabled),this.validateHideError(this.component._hideError),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,(0,i.s)(t),(0,i.t)("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t,e){var o;e=null!=e?e:t.target.value,(0,i.t)("change",this.host,e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e),this.valueChangeListeners.forEach((t=>t(e)))}onInput(t,e=!0,o){var n;o=null!=o?o:t.target.value,(0,i.s)(t),(0,i.t)("input",this.host,o),e&&this.setFormAssociatedValue(o),"function"==typeof(null===(n=this.component._on)||void 0===n?void 0:n.onInput)&&this.component._on.onInput(t,o)}onClick(t){var e;(0,i.s)(t),(0,i.t)("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,(0,i.s)(t),(0,i.t)("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}},8678:(t,e,o)=>{o.d(e,{i:()=>r,n:()=>c,r:()=>l});var i=o(5413),n=o(4997),s=o(6448);const a=()=>{let t=(0,s.d)().KoliBri;return void 0===t&&(t={},Object.defineProperty((0,s.d)(),"KoliBri",{value:t,writable:!1})),t},r=()=>{(()=>{const t=(0,s.g)().querySelector('meta[name="kolibri"]');if(t&&t.hasAttribute("content")){const e=t.getAttribute("content");"string"==typeof e&&((0,s.s)(e.includes("dev-mode=true")),(0,s.b)(e.includes("experimental-mode=true")),(0,s.c)(e.includes("color-contrast-analysis=true")))}})(),s.L.debug(`\n,--. ,--. ,--. ,--. ,-----. ,--.\n| .' / ,---. | | \`--' | |) /_ ,--.--. \`--'\n| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n| |\\ \\ | '-' | | | | | | '--' / | | | |\n\`--' \`--´ \`---´ \`--' \`--' \`------´ \`--' \`--'\n🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | ${i.E.kolibriVersion}\n\t`,{forceLog:!0})},l=()=>{!0!==a().adviceShown&&(Object.defineProperty(a(),"adviceShown",{get:function(){return!0}}),s.L.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let c=()=>Math.floor(16777215*Math.random()).toString(16);"test"===n.p&&(c=()=>"nonce")},6855:(t,e,o)=>{function i(t){t.stopImmediatePropagation(),t.stopPropagation()}function n(t,e,o){e&&function(t,e,o){const i=t.dispatchEvent(function(t,e){return new CustomEvent(`kol-${t}`,{bubbles:!0,cancelable:!0,composed:!0,detail:e})}(e,o))}(e,t,o)}function s(t){t.preventDefault(),i(t)}o.d(e,{p:()=>s,s:()=>i,t:()=>n})},1618:(t,e,o)=>{o.d(e,{v:()=>n});var i=o(479);const n=(t,e,o={})=>{(0,i.b)(t,"_hideLabel",e,o)}},5233:(t,e,o)=>{o.d(e,{a:()=>d,b:()=>r,c:()=>l,h:()=>n,v:()=>h});var i=o(479);const n=[0,1,2,3,4,5,6],s=/[a-zA-Z0-9äöüÄÖÜß]/g,a=/^\d+$/;function r(t,e=1){return function(t){var e;return"string"==typeof t&&(null===(e=t.match(s))||void 0===e?void 0:e.length)||0}(t)>=e}function l(t){return a.test(t)}const c=new Set(["string"]),h=(t,e,o={})=>{(0,i.w)(t,"_label",(t=>"string"==typeof t),c,e,function(t){var e;return Object.assign(Object.assign({},t),{hooks:{afterPatch:(e,o,n,s)=>{var a,c;"function"==typeof(null===(a=t.hooks)||void 0===a?void 0:a.afterPatch)&&(null===(c=t.hooks)||void 0===c||c.afterPatch(e,o,n,s)),"string"==typeof e&&!1===r(e,3)&&!1===l(e)&&(0,i.a)(`The heading or label ("${e}") is not accessible. A label should consist of at least three readable characters.`),"string"==typeof e&&e.length>80&&(0,i.u)("A heading or label should not be longer than 80 characters.")},beforePatch:null===(e=t.hooks)||void 0===e?void 0:e.beforePatch}})}(o))},d=h},4997:(t,e,o)=>{o.d(e,{h:()=>n,p:()=>i,s:()=>s});let i="development";try{i="production"}catch(t){i="production"}const n=(t,e,o)=>{if(t&&e&&"string"==typeof o){const i=t.querySelector(`[slot="${o}"]`);i&&e.appendChild(i)}},s=t=>""===t},4388:(t,e,o)=>{o.d(e,{v:()=>s});var i=o(479);const n={hooks:{afterPatch:t=>{-1!==t&&0!==t&&(0,i.a)("Don't Use Tabindex Greater than 0: https://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html")}}},s=(t,e)=>{(0,i.k)(t,"_tabIndex",e,n)}},6255:(t,e,o)=>{o.d(e,{v:()=>n});var i=o(7914);const n=(t,e)=>{(0,i.v)(t,"_tooltipAlign",e)}}}]);
package/dist/4817.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 4817.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_public_ui_sample_react=self.webpackChunk_public_ui_sample_react||[]).push([[4817],{8678:(e,t,i)=>{i.d(t,{i:()=>s,n:()=>c,r:()=>a});var o=i(5413),n=i(4997),r=i(6448);const l=()=>{let e=(0,r.d)().KoliBri;return void 0===e&&(e={},Object.defineProperty((0,r.d)(),"KoliBri",{value:e,writable:!1})),e},s=()=>{(()=>{const e=(0,r.g)().querySelector('meta[name="kolibri"]');if(e&&e.hasAttribute("content")){const t=e.getAttribute("content");"string"==typeof t&&((0,r.s)(t.includes("dev-mode=true")),(0,r.b)(t.includes("experimental-mode=true")),(0,r.c)(t.includes("color-contrast-analysis=true")))}})(),r.L.debug(`\n,--. ,--. ,--. ,--. ,-----. ,--.\n| .' / ,---. | | \`--' | |) /_ ,--.--. \`--'\n| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n| |\\ \\ | '-' | | | | | | '--' / | | | |\n\`--' \`--´ \`---´ \`--' \`--' \`------´ \`--' \`--'\n🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | ${o.E.kolibriVersion}\n\t`,{forceLog:!0})},a=()=>{!0!==l().adviceShown&&(Object.defineProperty(l(),"adviceShown",{get:function(){return!0}}),r.L.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let c=()=>Math.floor(16777215*Math.random()).toString(16);"test"===n.p&&(c=()=>"nonce")},4817:(e,t,i)=>{i.r(t),i.d(t,{initialize:()=>a});var o=i(8678),n=i(6448),r=i(479);function l(e,t){try{Object.defineProperty((()=>{let e=(0,n.d)().KoliBri;return void 0===e&&(e={},Object.defineProperty((0,n.d)(),"KoliBri",{value:e,writable:!1})),e})(),e,{get:function(){return t}})}catch(t){n.L.debug(`KoliBri property ${e} is already bind.`)}}const s=(e,t)=>n.L.debug(`${e} ${t?"":"not "}activated`),a=()=>{if((0,o.i)(),(0,n.e)()){(0,o.r)(),l("a11yColorContrast",r.z),l("querySelector",r.v),l("querySelectorAll",r.A),l("querySelectorColors",r.B),l("utils",(function(){return r.C})),l("parseJson",r.p),l("stringifyJson",r.D);const e=(0,n.g)().body,t=(0,n.g)().createElement("svg");if(t.setAttribute("aria-label","KoliBri-DevTools"),t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.setAttribute("role","toolbar"),t.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),t.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',(0,n.g)().body.appendChild(t),s("Development mode",(0,n.e)()),s("Experimental mode",(0,n.a)()),s("Color contrast analysis",(0,n.f)()),(0,n.f)()){const t=setTimeout((()=>{clearTimeout(t),setInterval((()=>{r.C.queryHtmlElementColors((0,n.g)().createElement("div"),(0,r.z)(e),!1,!1)}),1e4)}),2500)}}}},4997:(e,t,i)=>{i.d(t,{h:()=>n,p:()=>o,s:()=>r});let o="development";try{o="production"}catch(e){o="production"}const n=(e,t,i)=>{if(e&&t&&"string"==typeof i){const o=e.querySelector(`[slot="${i}"]`);o&&t.appendChild(o)}},r=e=>""===e}}]);