@kaizen/components 0.0.0-canary-v2-20250901045936 → 0.0.0-canary-debug-tab-20251015223744
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alpha/README.md +28 -0
- package/alpha/package.json +5 -0
- package/dist/cjs/alpha.cjs +1 -0
- package/dist/cjs/src/Modal/GenericModal/GenericModal.cjs +33 -65
- package/dist/cjs/src/Modal/GenericModal/GenericModal.module.scss.cjs +1 -3
- package/dist/cjs/src/Notification/InlineNotification/InlineNotification.cjs +1 -1
- package/dist/cjs/src/SingleSelect/subcomponents/ListBox/ListBox.cjs +6 -2
- package/dist/cjs/src/Tabs/subcomponents/TabList/TabList.cjs +29 -21
- package/dist/cjs/src/__alpha__/SingleSelect/SingleSelect.cjs +35 -74
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.cjs +105 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.module.css.cjs +11 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.cjs +112 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.module.css.cjs +16 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/List/List.cjs +35 -10
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.cjs +61 -8
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.cjs +10 -1
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.cjs +38 -9
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.cjs +4 -1
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.cjs +60 -30
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.module.css.cjs +2 -1
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePopoverPositioning.cjs +2 -1
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePositioningStyles.cjs +4 -2
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Select/Select.cjs +87 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Select/Select.module.css.cjs +11 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.cjs +52 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.module.css.cjs +13 -0
- package/dist/esm/alpha.mjs +1 -1
- package/dist/esm/src/Modal/GenericModal/GenericModal.mjs +34 -65
- package/dist/esm/src/Modal/GenericModal/GenericModal.module.scss.mjs +1 -3
- package/dist/esm/src/Notification/InlineNotification/InlineNotification.mjs +1 -1
- package/dist/esm/src/SingleSelect/subcomponents/ListBox/ListBox.mjs +6 -2
- package/dist/esm/src/Tabs/subcomponents/TabList/TabList.mjs +29 -21
- package/dist/esm/src/__alpha__/SingleSelect/SingleSelect.mjs +39 -73
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.mjs +96 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.module.css.mjs +9 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.mjs +103 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.module.css.mjs +14 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/List/List.mjs +37 -14
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.mjs +63 -13
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.mjs +10 -1
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.mjs +41 -15
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.mjs +4 -1
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.mjs +69 -43
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.module.css.mjs +2 -1
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePopoverPositioning.mjs +2 -1
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePositioningStyles.mjs +4 -2
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Select/Select.mjs +78 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Select/Select.module.css.mjs +9 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.mjs +43 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.module.css.mjs +11 -0
- package/dist/styles.css +443 -79
- package/dist/types/__alpha__/SingleSelect/SingleSelect.d.ts +14 -19
- package/dist/types/__alpha__/SingleSelect/_docs/mockData.d.ts +3 -0
- package/dist/types/__alpha__/SingleSelect/context/SingleSelectContext.d.ts +15 -7
- package/dist/types/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.d.ts +2 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ComboBox/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.d.ts +2 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/List/List.d.ts +2 -7
- package/dist/types/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.d.ts +2 -7
- package/dist/types/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.d.ts +2 -9
- package/dist/types/__alpha__/SingleSelect/subcomponents/Popover/Popover.d.ts +3 -6
- package/dist/types/__alpha__/SingleSelect/subcomponents/Popover/utils/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Popover/utils/usePopoverPositioning.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Popover/utils/usePositioningStyles.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Select/Select.d.ts +2 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Select/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.d.ts +2 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/SelectTrigger/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/index.d.ts +4 -1
- package/dist/types/__alpha__/SingleSelect/types.d.ts +68 -11
- package/locales/ar.json +9 -1
- package/locales/bg.json +9 -1
- package/locales/cs.json +9 -1
- package/locales/cy.json +9 -1
- package/locales/da.json +9 -1
- package/locales/de.json +9 -1
- package/locales/el.json +9 -1
- package/locales/en-GB.json +9 -1
- package/locales/en.json +9 -1
- package/locales/es-419.json +9 -1
- package/locales/es.json +9 -1
- package/locales/et.json +9 -1
- package/locales/fi.json +9 -1
- package/locales/fr-CA.json +9 -1
- package/locales/fr.json +9 -1
- package/locales/he.json +9 -1
- package/locales/hi.json +9 -1
- package/locales/ht.json +9 -1
- package/locales/hu.json +9 -1
- package/locales/id.json +9 -1
- package/locales/it.json +9 -1
- package/locales/ja.json +9 -1
- package/locales/km-KH.json +9 -1
- package/locales/ko.json +9 -1
- package/locales/lt.json +9 -1
- package/locales/lv.json +9 -1
- package/locales/mi.json +10 -2
- package/locales/ms.json +9 -1
- package/locales/nb.json +9 -1
- package/locales/nl.json +9 -1
- package/locales/pl.json +9 -1
- package/locales/pt-BR.json +9 -1
- package/locales/pt.json +9 -1
- package/locales/ro.json +9 -1
- package/locales/ru.json +9 -1
- package/locales/si-LK.json +9 -1
- package/locales/sk.json +9 -1
- package/locales/sr.json +9 -1
- package/locales/sv.json +9 -1
- package/locales/th.json +9 -1
- package/locales/tl.json +9 -1
- package/locales/tr.json +9 -1
- package/locales/uk.json +9 -1
- package/locales/vi.json +9 -1
- package/locales/zh-TW.json +9 -1
- package/locales/zh.json +9 -1
- package/package.json +10 -3
- package/src/Modal/GenericModal/GenericModal.spec.tsx +1 -1
- package/src/Modal/GenericModal/GenericModal.tsx +38 -70
- package/src/Notification/InlineNotification/InlineNotification.tsx +1 -1
- package/src/RichTextEditor/RichTextEditor/RichTextEditor.spec.stories.tsx +10 -3
- package/src/SingleSelect/subcomponents/ListBox/ListBox.tsx +2 -2
- package/src/Tabs/subcomponents/TabList/TabList.tsx +40 -30
- package/src/__alpha__/SingleSelect/SingleSelect.tsx +35 -88
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.mdx +96 -6
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.spec.stories.tsx +22 -24
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.stickersheet.stories.tsx +389 -33
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.stories.tsx +41 -22
- package/src/__alpha__/SingleSelect/_docs/mockData.ts +20 -14
- package/src/__alpha__/SingleSelect/context/SingleSelectContext.tsx +18 -7
- package/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.module.css +35 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.tsx +106 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBox/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.module.css +130 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.tsx +121 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/List/List.module.css +5 -0
- package/src/__alpha__/SingleSelect/subcomponents/List/List.tsx +36 -13
- package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css +84 -3
- package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.tsx +67 -11
- package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css +20 -5
- package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.tsx +46 -19
- package/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.module.css +7 -5
- package/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.tsx +90 -37
- package/src/__alpha__/SingleSelect/subcomponents/Popover/utils/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePopoverPositioning.ts +2 -2
- package/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePositioningStyles.ts +9 -8
- package/src/__alpha__/SingleSelect/subcomponents/Select/Select.module.css +35 -0
- package/src/__alpha__/SingleSelect/subcomponents/Select/Select.tsx +84 -0
- package/src/__alpha__/SingleSelect/subcomponents/Select/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.module.css +77 -0
- package/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.tsx +52 -0
- package/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/index.ts +4 -1
- package/src/__alpha__/SingleSelect/types.ts +94 -14
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.cjs +0 -57
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.cjs +0 -6
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.mjs +0 -49
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.mjs +0 -4
- package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.d.ts +0 -2
- package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/index.d.ts +0 -1
- package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css +0 -19
- package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.tsx +0 -35
- package/src/__alpha__/SingleSelect/subcomponents/Trigger/index.ts +0 -1
package/locales/lv.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Paslēpt informāciju:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Rādīt {field} ieteikumus"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Notīrīt {field} atlasi"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Papildu darbības"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/mi.json
CHANGED
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
},
|
|
175
175
|
"kzErrorPage.goToHome" : {
|
|
176
176
|
"description" : "Home button label",
|
|
177
|
-
"message" : "
|
|
177
|
+
"message" : "Haere ki te whārangi Kāinga"
|
|
178
178
|
},
|
|
179
179
|
"kzGenericTile.infoButtonLabel" : {
|
|
180
180
|
"description" : "Prompts user to interact with button to reveal more information",
|
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Huna mōhiohio:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Whakaatu whakaaro mo {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Ūkuia {field} tīpakonga"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Ngā mahi tāpiri"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/ms.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Sembunyikan maklumat:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Tunjukkan cadangan untuk {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Kosongkan pilihan {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Tindakan tambahan"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/nb.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Skjul informasjon:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Vis forslag for {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Fjern {field}-valg"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Ytterligere handlinger"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/nl.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Informatie verbergen:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Suggesties voor {field} weergeven"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Selectie van {field} wissen"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Meer acties"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/pl.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Ukryj informacje:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Pokaż sugestie dla {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Wyczyść zaznaczenie {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Dodatkowe działania"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/pt-BR.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Ocultar informações:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Mostrar sugestões para {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Limpar seleção de {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Mais ações"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/pt.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Ocultar informações:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Mostrar sugestões para {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Limpar seleção de {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Mais ações"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/ro.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Ascundeți informațiile:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Afișați sugestii pentru {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Ștergeți selecția {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Acțiuni suplimentare"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/ru.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Скрыть информацию:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Показать предложения для {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Очистить выбор {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Дополнительные действия"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/si-LK.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "තොරතුරු සඟවන්න:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "{field} සඳහා යෝජනා පෙන්වන්න"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "{field} තෝරාගැනීම මකා දමන්න"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "අතිරේක ක්රියාමාර්ග"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/sk.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Skryť informácie:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Zobraziť návrhy pre {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Zrušiť výber: {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Ďalšie činnosti"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/sr.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Sakrij informacije:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Prikaži predloge za {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Obriši {field} izbor"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Dodatne radnje"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/sv.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Dölj information:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Visa förslag för {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Rensa {field} val"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Ytterligare åtgärder"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/th.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "ซ่อนข้อมูล:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "แสดงคำแนะนำสำหรับ {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "ล้างการเลือก {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "การดำเนินการเพิ่มเติม"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/tl.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Itago ang impormasyon:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Ipakita ang mga mungkahi para sa {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "I-clear ang {field} selection"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Karagdagang mga aksiyon"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/tr.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Bilgileri gizleyin:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "{field} için önerileri göster"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "{field} seçimini temizle"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Ek eylemler"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/uk.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Приховати інформацію:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Показати пропозиції для {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Очистити виділення {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Додаткові дії"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/vi.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "Ẩn thông tin:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "Hiển thị gợi ý cho {field}"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "Xóa lựa chọn {field}"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "Các hành động bổ sung"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/zh-TW.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "隱藏資訊:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "顯示對 {field} 的建議"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "清除 {field} 選擇"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "其他行動"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/locales/zh.json
CHANGED
|
@@ -184,8 +184,16 @@
|
|
|
184
184
|
"description" : "Prompts user to interact with button to hide information",
|
|
185
185
|
"message" : "隐藏信息:"
|
|
186
186
|
},
|
|
187
|
+
"singleSelect.chevronButton" : {
|
|
188
|
+
"description" : "Aria label text for the SingleSelect button to open and close suggestions list",
|
|
189
|
+
"message" : "显示{field}的建议"
|
|
190
|
+
},
|
|
191
|
+
"singleSelect.clearButtonAlt" : {
|
|
192
|
+
"description" : "Alt text for the clear selection button",
|
|
193
|
+
"message" : "清除{field}选择"
|
|
194
|
+
},
|
|
187
195
|
"splitButton.dropdownButton.label" : {
|
|
188
196
|
"description" : "Label for a dropdown menu holding additional actions",
|
|
189
197
|
"message" : "附加操作"
|
|
190
198
|
}
|
|
191
|
-
}
|
|
199
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaizen/components",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-debug-tab-20251015223744",
|
|
4
4
|
"description": "Kaizen component library",
|
|
5
5
|
"author": "Geoffrey Chong <geoff.chong@cultureamp.com>",
|
|
6
6
|
"homepage": "https://cultureamp.design",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"files": [
|
|
16
16
|
"bin",
|
|
17
17
|
"codemods",
|
|
18
|
+
"alpha",
|
|
18
19
|
"future",
|
|
19
20
|
"next",
|
|
20
21
|
"libs",
|
|
@@ -36,6 +37,11 @@
|
|
|
36
37
|
"import": "./dist/esm/index.mjs",
|
|
37
38
|
"require": "./dist/cjs/index.cjs"
|
|
38
39
|
},
|
|
40
|
+
"./alpha": {
|
|
41
|
+
"types": "./dist/types/__alpha__/index.d.ts",
|
|
42
|
+
"import": "./dist/esm/alpha.mjs",
|
|
43
|
+
"require": "./dist/cjs/alpha.cjs"
|
|
44
|
+
},
|
|
39
45
|
"./next": {
|
|
40
46
|
"types": "./dist/types/__next__/index.d.ts",
|
|
41
47
|
"import": "./dist/esm/next.mjs",
|
|
@@ -86,6 +92,7 @@
|
|
|
86
92
|
"@react-aria/select": "^3.15.7",
|
|
87
93
|
"@react-aria/utils": "^3.29.1",
|
|
88
94
|
"@react-stately/collections": "^3.12.5",
|
|
95
|
+
"@react-stately/combobox": "^3.11.1",
|
|
89
96
|
"@react-stately/datepicker": "^3.14.2",
|
|
90
97
|
"@react-stately/list": "^3.12.3",
|
|
91
98
|
"@react-stately/menu": "^3.9.5",
|
|
@@ -152,10 +159,10 @@
|
|
|
152
159
|
"sass": "1.79.6",
|
|
153
160
|
"serialize-query-params": "^2.0.2",
|
|
154
161
|
"svgo": "^3.3.2",
|
|
155
|
-
"tslib": "^2.8.1",
|
|
156
162
|
"ts-patch": "^3.3.0",
|
|
163
|
+
"tslib": "^2.8.1",
|
|
157
164
|
"tsx": "^4.20.3",
|
|
158
|
-
"@kaizen/design-tokens": "
|
|
165
|
+
"@kaizen/design-tokens": "11.0.0"
|
|
159
166
|
},
|
|
160
167
|
"devDependenciesComments": {
|
|
161
168
|
"sass": "Prevent deprecation warnings introduced in 1.80 as we plan to move away from sass",
|
|
@@ -71,7 +71,7 @@ describe('<GenericModal />', () => {
|
|
|
71
71
|
|
|
72
72
|
it('closes the modal when a click is outside of the modal content', async () => {
|
|
73
73
|
const handleDismiss = vi.fn()
|
|
74
|
-
render(<GenericModalWrapper onOutsideModalClick={handleDismiss} />)
|
|
74
|
+
render(<GenericModalWrapper onOutsideModalClick={handleDismiss()} />)
|
|
75
75
|
|
|
76
76
|
await user.click(screen.getByTestId('GenericModalTestId-scrollLayer'))
|
|
77
77
|
await waitFor(() => {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useId, useRef } from 'react'
|
|
2
2
|
import { createPortal } from 'react-dom'
|
|
3
3
|
import { Transition } from '@headlessui/react'
|
|
4
4
|
import classnames from 'classnames'
|
|
5
|
-
import
|
|
5
|
+
import { FocusOn } from 'react-focus-on'
|
|
6
6
|
import { useIsClientReady } from '../../utils/useIsClientReady'
|
|
7
|
+
|
|
7
8
|
import { warn } from '../util/console'
|
|
8
9
|
import { ModalContext } from './context/ModalContext'
|
|
9
10
|
import styles from './GenericModal.module.scss'
|
|
@@ -38,39 +39,22 @@ export const GenericModal = ({
|
|
|
38
39
|
|
|
39
40
|
const labelledByID = useId()
|
|
40
41
|
const describedByID = useId()
|
|
41
|
-
|
|
42
42
|
const isClientReady = useIsClientReady()
|
|
43
43
|
|
|
44
|
-
const
|
|
45
|
-
const
|
|
44
|
+
const scrollLayerRef = useRef<HTMLDivElement | null>(null)
|
|
45
|
+
const modalLayerRef = useRef<HTMLDivElement | null>(null)
|
|
46
46
|
|
|
47
47
|
const scrollModalToTop = (): void => {
|
|
48
48
|
// If we have a really long modal, the autofocus could land on an element down below
|
|
49
49
|
// causing the modal to scroll down and skipping over the content near the modal's top.
|
|
50
50
|
// Ensure that when the modal opens, we are at the top of its content.
|
|
51
51
|
requestAnimationFrame(() => {
|
|
52
|
-
|
|
53
|
-
scrollLayer.scrollTop = 0
|
|
54
|
-
})
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const outsideModalClickHandler = (event: React.MouseEvent): void => {
|
|
58
|
-
if (event.target === scrollLayer || event.target === modalLayer) {
|
|
59
|
-
onOutsideModalClick?.(event)
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const focusOnAccessibleLabel = (): void => {
|
|
64
|
-
if (!isClientReady) return
|
|
65
|
-
|
|
66
|
-
// Check if focus already exists within the modal
|
|
67
|
-
if (modalLayer?.contains(document.activeElement)) {
|
|
68
|
-
return
|
|
69
|
-
}
|
|
52
|
+
const scrollElement = scrollLayerRef.current
|
|
70
53
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
54
|
+
// This little verbose of a check but this ensures that the element is attached to the DOM as it animates in. This additional check aims to avoid race conditions
|
|
55
|
+
if (!scrollElement?.isConnected) return
|
|
56
|
+
scrollElement.scrollTop = 0
|
|
57
|
+
})
|
|
74
58
|
}
|
|
75
59
|
|
|
76
60
|
const a11yWarn = (): void => {
|
|
@@ -86,60 +70,46 @@ export const GenericModal = ({
|
|
|
86
70
|
}
|
|
87
71
|
}
|
|
88
72
|
|
|
89
|
-
const
|
|
73
|
+
const focusOnAccessibleLabel = (): void => {
|
|
90
74
|
if (!isClientReady) return
|
|
75
|
+
const modalElement = modalLayerRef.current
|
|
76
|
+
if (!modalElement?.isConnected) return
|
|
91
77
|
|
|
92
|
-
|
|
93
|
-
|
|
78
|
+
// Check if focus already exists within the modal
|
|
79
|
+
if (modalElement.contains(document.activeElement)) {
|
|
80
|
+
return
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const labelElement: HTMLElement | null = document.getElementById(labelledByID)
|
|
94
84
|
|
|
95
|
-
if (
|
|
96
|
-
|
|
85
|
+
if (labelElement?.isConnected) {
|
|
86
|
+
labelElement.focus()
|
|
97
87
|
}
|
|
88
|
+
}
|
|
98
89
|
|
|
99
|
-
|
|
90
|
+
const onEscapeKeyHandler = (e: Event): void => {
|
|
91
|
+
if (e instanceof KeyboardEvent) {
|
|
92
|
+
onEscapeKeyup?.(e)
|
|
93
|
+
}
|
|
100
94
|
}
|
|
101
95
|
|
|
102
96
|
const onAfterEnterHandler = (): void => {
|
|
103
97
|
scrollModalToTop()
|
|
104
|
-
|
|
98
|
+
const modalElement = modalLayerRef.current
|
|
99
|
+
if (modalElement) {
|
|
105
100
|
onAfterEnter?.()
|
|
106
101
|
focusOnAccessibleLabel()
|
|
107
102
|
a11yWarn()
|
|
108
103
|
}
|
|
109
104
|
}
|
|
110
105
|
|
|
111
|
-
const
|
|
112
|
-
(
|
|
113
|
-
|
|
114
|
-
onEscapeKeyup?.(event)
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
[onEscapeKeyup],
|
|
118
|
-
)
|
|
119
|
-
|
|
120
|
-
const onBeforeEnterHandler = (): void => {
|
|
121
|
-
preventBodyScroll()
|
|
122
|
-
|
|
123
|
-
if (onEscapeKeyup && isClientReady) {
|
|
124
|
-
document.addEventListener('keyup', escapeKeyHandler)
|
|
106
|
+
const outsideModalClickHandler = (e: React.MouseEvent): void => {
|
|
107
|
+
if (e.target === scrollLayerRef.current || e.target === modalLayerRef.current) {
|
|
108
|
+
onOutsideModalClick?.(e)
|
|
125
109
|
}
|
|
126
110
|
}
|
|
127
111
|
|
|
128
|
-
const cleanUpAfterClose = useCallback(() => {
|
|
129
|
-
if (!isClientReady) return
|
|
130
|
-
|
|
131
|
-
document.documentElement.classList.remove(styles.unscrollable, styles.pseudoScrollbar)
|
|
132
|
-
|
|
133
|
-
if (onEscapeKeyup) {
|
|
134
|
-
document.removeEventListener('keyup', escapeKeyHandler)
|
|
135
|
-
}
|
|
136
|
-
}, [escapeKeyHandler, onEscapeKeyup, isClientReady])
|
|
137
|
-
|
|
138
|
-
/* Ensure sure add-on styles (e.g. unscrollable) and key event is cleaned up when the modal is unmounted*/
|
|
139
|
-
useEffect(() => () => cleanUpAfterClose(), [cleanUpAfterClose])
|
|
140
|
-
|
|
141
112
|
const onAfterLeaveHandler = (): void => {
|
|
142
|
-
cleanUpAfterClose()
|
|
143
113
|
propsOnAfterLeave?.()
|
|
144
114
|
}
|
|
145
115
|
|
|
@@ -152,7 +122,6 @@ export const GenericModal = ({
|
|
|
152
122
|
<Transition
|
|
153
123
|
appear={true}
|
|
154
124
|
show={isOpen}
|
|
155
|
-
beforeEnter={onBeforeEnterHandler}
|
|
156
125
|
afterEnter={onAfterEnterHandler}
|
|
157
126
|
afterLeave={onAfterLeaveHandler}
|
|
158
127
|
data-generic-modal-transition-wrapper
|
|
@@ -161,9 +130,10 @@ export const GenericModal = ({
|
|
|
161
130
|
as="div"
|
|
162
131
|
className={classnames(styles.transitionLayer, className)}
|
|
163
132
|
>
|
|
164
|
-
<
|
|
165
|
-
|
|
133
|
+
<FocusOn
|
|
134
|
+
focusLock={focusLockDisabled}
|
|
166
135
|
returnFocus={true}
|
|
136
|
+
onEscapeKey={onEscapeKeyHandler}
|
|
167
137
|
// Disabling false positive
|
|
168
138
|
// eslint-disable-next-line jsx-a11y/no-autofocus
|
|
169
139
|
autoFocus={false}
|
|
@@ -174,11 +144,9 @@ export const GenericModal = ({
|
|
|
174
144
|
{/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}
|
|
175
145
|
<div
|
|
176
146
|
className={styles.scrollLayer}
|
|
177
|
-
ref={
|
|
178
|
-
setScrollLayer(scrollLayerRef)
|
|
179
|
-
}}
|
|
180
|
-
onClick={outsideModalClickHandler}
|
|
147
|
+
ref={scrollLayerRef}
|
|
181
148
|
data-testid={`${id}-scrollLayer`}
|
|
149
|
+
onClick={outsideModalClickHandler}
|
|
182
150
|
>
|
|
183
151
|
<ModalContext.Provider
|
|
184
152
|
value={{
|
|
@@ -191,14 +159,14 @@ export const GenericModal = ({
|
|
|
191
159
|
className={styles.modalLayer}
|
|
192
160
|
aria-labelledby={labelledByID}
|
|
193
161
|
aria-describedby={describedByID}
|
|
194
|
-
ref={
|
|
162
|
+
ref={modalLayerRef}
|
|
195
163
|
data-testid={id}
|
|
196
164
|
>
|
|
197
165
|
{children}
|
|
198
166
|
</div>
|
|
199
167
|
</ModalContext.Provider>
|
|
200
168
|
</div>
|
|
201
|
-
</
|
|
169
|
+
</FocusOn>
|
|
202
170
|
</Transition>,
|
|
203
171
|
document.body,
|
|
204
172
|
)
|