@okta/odyssey-react-mui 1.41.1 → 1.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Select.cjs +1 -1
- package/dist/cjs/Select.cjs.map +1 -1
- package/dist/cjs/createContrastColors.cjs +6 -2
- package/dist/cjs/createContrastColors.cjs.map +1 -1
- package/dist/cjs/getLogicalBoundaries.cjs +33 -0
- package/dist/cjs/getLogicalBoundaries.cjs.map +1 -0
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +15 -4
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs +137 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs.map +1 -0
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +0 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs +23 -18
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +4 -3
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs +2 -0
- package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShellProvider.cjs +6 -1
- package/dist/cjs/ui-shell/UiShellProvider.cjs.map +1 -1
- package/dist/cjs/ui-shell/renderUiShell.cjs +2 -0
- package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/useElementAtContainerEdge.cjs +74 -0
- package/dist/cjs/ui-shell/useElementAtContainerEdge.cjs.map +1 -0
- package/dist/cjs/useMountLifecycleEffect.cjs +3 -3
- package/dist/cjs/useMountLifecycleEffect.cjs.map +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
- package/dist/esm/Select.js +1 -1
- package/dist/esm/Select.js.map +1 -1
- package/dist/esm/createContrastColors.js +6 -2
- package/dist/esm/createContrastColors.js.map +1 -1
- package/dist/esm/getLogicalBoundaries.js +26 -0
- package/dist/esm/getLogicalBoundaries.js.map +1 -0
- package/dist/esm/labs/PageTemplate/PageTemplate.js +16 -5
- package/dist/esm/labs/PageTemplate/PageTemplate.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js +131 -0
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js.map +1 -0
- package/dist/esm/ui-shell/NarrowUiShellContent.js +0 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js +23 -18
- package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +4 -3
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
- package/dist/esm/ui-shell/UiShell.js +2 -0
- package/dist/esm/ui-shell/UiShell.js.map +1 -1
- package/dist/esm/ui-shell/UiShellProvider.js +6 -1
- package/dist/esm/ui-shell/UiShellProvider.js.map +1 -1
- package/dist/esm/ui-shell/renderUiShell.js +2 -0
- package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
- package/dist/esm/ui-shell/useElementAtContainerEdge.js +68 -0
- package/dist/esm/ui-shell/useElementAtContainerEdge.js.map +1 -0
- package/dist/esm/useMountLifecycleEffect.js +3 -3
- package/dist/esm/useMountLifecycleEffect.js.map +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.mjs +1 -1
- package/dist/index.scss +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/Select.d.ts.map +1 -1
- package/dist/types/createContrastColors.d.ts +5 -1
- package/dist/types/createContrastColors.d.ts.map +1 -1
- package/dist/types/getLogicalBoundaries.d.ts +24 -0
- package/dist/types/getLogicalBoundaries.d.ts.map +1 -0
- package/dist/types/labs/PageTemplate/PageTemplate.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts +131 -0
- package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts.map +1 -0
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
- package/dist/types/ui-shell/UiShell.d.ts +1 -1
- package/dist/types/ui-shell/UiShell.d.ts.map +1 -1
- package/dist/types/ui-shell/UiShellProvider.d.ts +10 -4
- package/dist/types/ui-shell/UiShellProvider.d.ts.map +1 -1
- package/dist/types/ui-shell/renderUiShell.d.ts +2 -2
- package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
- package/dist/types/ui-shell/useElementAtContainerEdge.d.ts +43 -0
- package/dist/types/ui-shell/useElementAtContainerEdge.d.ts.map +1 -0
- package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
export const translation = {
|
|
2
|
+
"navigation.label": "Nabigazio nagusia",
|
|
3
|
+
"navigation.footer": "Bigarren mailako nabigazio-estekak",
|
|
4
|
+
"navigation.drag.handle": "Arrastatu heldulekua",
|
|
5
|
+
"sortable.list.drag.start": "Arrasta daitekeen {{activeId}} elementua hartu da",
|
|
6
|
+
"sortable.list.drag.moved.over": "Arrasta daitekeen {{activeId}} elementua aska daitekeen {{overId}} eremuaren gainetik mugitu da",
|
|
7
|
+
"sortable.list.drag.nolonger.over": "Arrasta daitekeen {{activeId}} elementua ez dago jada aska daitekeen eremu baten gainean",
|
|
8
|
+
"sortable.list.drag.end.dropped.over": "Arrasta daitekeen {{activeId}} elementua aska daitekeen {{overId}} eremuaren gainean askatu da",
|
|
9
|
+
"sortable.list.drag.end.dropped": "Arrasta daitekeen {{activeId}} elementua askatu da",
|
|
10
|
+
"sortable.list.drag.cancel": "Bertan behera utzi da arrastatzeko prozesua. Arrasta daitekeen moduko {{activeId}} elementua askatu da",
|
|
11
|
+
"breadcrumbs.home.text": "Etxea",
|
|
12
|
+
"breadcrumbs.label.text": "Ogi-apurrak",
|
|
13
|
+
"close.text": "Itxi",
|
|
14
|
+
"clear.text": "Garbitu",
|
|
15
|
+
"open.text": "Ireki",
|
|
16
|
+
"autocomplete.nooptions": "Aukerarik ez",
|
|
17
|
+
"picker.calendar.navigation.nextmonth": "Hurrengo hilabetea",
|
|
18
|
+
"picker.calendar.navigation.previousmonth": "Aurreko hilabetea",
|
|
19
|
+
"picker.date.toolbar.title": "Hautatutako data",
|
|
20
|
+
"picker.daterange.toolbar.title": "Hautatu data-tartea",
|
|
21
|
+
"picker.datetime.toolbar.title": "Hautatu data eta ordua",
|
|
22
|
+
"picker.error.invalid": "Zuzendu dataren formatua edo hautatu data egutegitik.",
|
|
23
|
+
"picker.error.mindate": "Idatzitako data baimendutako datak baino lehenagokoa da. Hautatu data bat egutegian eskuragarri dagoen tartetik.",
|
|
24
|
+
"picker.error.maxdate": "Idatzitako data baimendutako datak baino geroagokoa da. Hautatu data bat egutegian eskuragarri dagoen tartetik.",
|
|
25
|
+
"picker.field.placeholder.day": "EE",
|
|
26
|
+
"picker.field.placeholder.hours": "hh",
|
|
27
|
+
"picker.field.placeholder.meridiem": "aa",
|
|
28
|
+
"picker.field.placeholder.minutes": "mm",
|
|
29
|
+
"picker.field.placeholder.month": "HH",
|
|
30
|
+
"picker.field.placeholder.seconds": "ss",
|
|
31
|
+
"picker.field.placeholder.year": "UUUU",
|
|
32
|
+
"picker.labels.action.apply": "Aplikatu",
|
|
33
|
+
"picker.labels.action.cancel": "Utzi",
|
|
34
|
+
"picker.labels.action.today": "Gaur",
|
|
35
|
+
"picker.labels.clock.empty": "Ez da ordurik hautatu",
|
|
36
|
+
"picker.labels.clock.hours": "ordu",
|
|
37
|
+
"picker.labels.clock.minutes": "minutu",
|
|
38
|
+
"picker.labels.clock.seconds": "segundo",
|
|
39
|
+
"picker.labels.clock.selected": "Hau da hautatutako ordua:",
|
|
40
|
+
"picker.labels.date.choose": "Aukeratu data",
|
|
41
|
+
"picker.labels.date.selected": "Hau da hautatutako data:",
|
|
42
|
+
"picker.labels.empty": "Hutsik",
|
|
43
|
+
"picker.labels.field.clear": "Garbitu balioa",
|
|
44
|
+
"picker.labels.range.end": "Amaiera",
|
|
45
|
+
"picker.labels.range.enddate": "Amaiera-data",
|
|
46
|
+
"picker.labels.range.endtime": "Amaiera-ordua",
|
|
47
|
+
"picker.labels.range.start": "Hasiera",
|
|
48
|
+
"picker.labels.range.startdate": "Hasiera-data",
|
|
49
|
+
"picker.labels.range.starttime": "Hasiera-ordua",
|
|
50
|
+
"picker.labels.select": "Hautatu",
|
|
51
|
+
"picker.labels.table.date": "aukeratu data",
|
|
52
|
+
"picker.labels.table.time": "aukeratu ordua",
|
|
53
|
+
"picker.labels.time.choose": "Aukeratu ordua",
|
|
54
|
+
"picker.labels.time.selected": "hau da hautatutako ordua:",
|
|
55
|
+
"picker.time.toolbar.title": "Hautatu ordua",
|
|
56
|
+
"picker.view.name.day": "Eguna",
|
|
57
|
+
"picker.view.name.hours": "Orduak",
|
|
58
|
+
"picker.view.name.meridiem": "Meridiem",
|
|
59
|
+
"picker.view.name.minutes": "Minutuak",
|
|
60
|
+
"picker.view.name.month": "Hilabetea",
|
|
61
|
+
"picker.view.name.seconds": "Segundoak",
|
|
62
|
+
"picker.view.name.weekday": "Asteko eguna",
|
|
63
|
+
"picker.view.name.year": "Urtea",
|
|
64
|
+
"picker.view.navigation.open.nextview": "Ireki hurrengo ikuspegia",
|
|
65
|
+
"picker.view.navigation.open.previousview": "Ireki aurreko ikuspegia",
|
|
66
|
+
"picker.view.navigation.switch.calendarview": "urteko ikuspegia irekita dago, aldatu egutegiaren ikuspegira",
|
|
67
|
+
"picker.view.navigation.switch.yearview": "egutegiaren ikuspegia irekita dago, aldatu urteko ikuspegira",
|
|
68
|
+
"fielderror.screenreader.text": "Errorea",
|
|
69
|
+
"fieldlabel.optional.text": "Aukerakoa",
|
|
70
|
+
"fieldlabel.required.text": "Beharrezkoa",
|
|
71
|
+
"filters.clear.label": "Garbitu iragazkiak",
|
|
72
|
+
"filters.submit.label": "Bidali",
|
|
73
|
+
"filters.filter.any": "Edozein",
|
|
74
|
+
"filters.filter.clear": "Garbitu iragazkia",
|
|
75
|
+
"filters.filters.arialabel": "Iragazkiak",
|
|
76
|
+
"filters.menuitem.any": "Edozein {{label}}",
|
|
77
|
+
"filters.menuitem.selected": "{{selected}} hautatuta",
|
|
78
|
+
"filters.search.label": "Bilatu",
|
|
79
|
+
"fileupload.button.text": "Gehitu fitxategiak",
|
|
80
|
+
"fileupload.prompt.text": "Arrastatu eta jaregin fitxategiak hemen, edo egin klik fitxategiak gehitzeko",
|
|
81
|
+
"fileupload.removefile.text": "Kendu fitxategia",
|
|
82
|
+
"passwordfield.icon.label.hide": "Ezkutatu pasahitza",
|
|
83
|
+
"passwordfield.icon.label.show": "Erakutsi pasahitza",
|
|
84
|
+
"severity.error": "errorea",
|
|
85
|
+
"severity.info": "informazioa",
|
|
86
|
+
"severity.success": "eginda",
|
|
87
|
+
"severity.warning": "abisua",
|
|
88
|
+
"sidenav.toggle.expand": "Ireki nabigazioa",
|
|
89
|
+
"sidenav.toggle.collapse": "Itxi nabigazioa",
|
|
90
|
+
"switch.active": "Aktibo",
|
|
91
|
+
"switch.inactive": "Inaktibo",
|
|
92
|
+
"table.columnvisibility.arialabel": "Erakutsi/Ezkutatu zutabeak",
|
|
93
|
+
"table.density.arialabel": "Taularen dentsitatea",
|
|
94
|
+
"table.draghandle.arialabel": "Arrastatu errenkada berrantolatzeko. Edo sakatu zuriune-barra edo Sartu tekla berrantolaketa hasteko eta gelditzeko, eta Ihes tekla bertan behera uzteko.",
|
|
95
|
+
"table.draghandle.tooltip": "Arrastatu errenkada edo sakatu zuriune-barra/Sartu tekla berrantolaketa hasteko eta gelditzeko",
|
|
96
|
+
"table.actions": "Ekintzak",
|
|
97
|
+
"table.error": "Errorea datuak kargatzean.",
|
|
98
|
+
"table.fetchedrows.text": "{{totalRows}} errenkada eskuratu da",
|
|
99
|
+
"table.fetchedrows.text_plural": "{{totalRows}} errenkada eskuratu dira guztira",
|
|
100
|
+
"table.moreactions.arialabel": "Ekintza gehiago",
|
|
101
|
+
"table.noresults.heading": "Ez dago emaitzarik.",
|
|
102
|
+
"table.noresults.text": "Saiatu beste kontsulta bat egiten.",
|
|
103
|
+
"table.reorder.backward": "Bidali atzera",
|
|
104
|
+
"table.reorder.forward": "Ekarri aurrera",
|
|
105
|
+
"table.reorder.toback": "Bidali atzera",
|
|
106
|
+
"table.reorder.tofront": "Ekarri aurrera",
|
|
107
|
+
"table.rows.text": "{{totalRows}} errenkada",
|
|
108
|
+
"table.rows.text_plural": "{{totalRows}} errenkada",
|
|
109
|
+
"pagination.label": "Orri-kopurua",
|
|
110
|
+
"pagination.loadmore": "Erakutsi gehiago",
|
|
111
|
+
"pagination.next": "Hurrengo orria",
|
|
112
|
+
"pagination.previous": "Aurreko orria",
|
|
113
|
+
"pagination.page": "Orria",
|
|
114
|
+
"pagination.rowsperpage": "Errenkadak orriko",
|
|
115
|
+
"pagination.rowswithtotal": "{{firstRow}}-{{lastRow}} errenkadak (guztira, {{totalRows}})",
|
|
116
|
+
"pagination.rowswithouttotal": "{{firstRow}}-{{lastRow}} errenkadak",
|
|
117
|
+
"pagination.totalrows": "{{totalRows}} errenkada",
|
|
118
|
+
"table.actions.selectall": "Hautatu guztiak",
|
|
119
|
+
"table.actions.selectnone": "Ez hautatu bat ere ez",
|
|
120
|
+
"table.actions.selectsome": "{{selectedRowCount}} hautatuta",
|
|
121
|
+
"table.rowexpansion.expand": "Zabaldu",
|
|
122
|
+
"table.rowexpansion.expandall": "Zabaldu guztiak",
|
|
123
|
+
"table.rowexpansion.collapse": "Tolestu",
|
|
124
|
+
"table.rowexpansion.collapseall": "Tolestu guztiak",
|
|
125
|
+
"dataview.layout.table": "Taula",
|
|
126
|
+
"dataview.layout.grid": "Sareta",
|
|
127
|
+
"dataview.layout.list": "Zerrenda",
|
|
128
|
+
"topnav.helpicon": "laguntza-orria",
|
|
129
|
+
"topnav.settingsicon": "ezarpenen orria"
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=odyssey-react-mui_eu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odyssey-react-mui_eu.js","names":["translation"],"sources":["../../../../src/properties/ts/odyssey-react-mui_eu.ts"],"sourcesContent":["export const translation = {\"navigation.label\":\"Nabigazio nagusia\",\"navigation.footer\":\"Bigarren mailako nabigazio-estekak\",\"navigation.drag.handle\":\"Arrastatu heldulekua\",\"sortable.list.drag.start\":\"Arrasta daitekeen {{activeId}} elementua hartu da\",\"sortable.list.drag.moved.over\":\"Arrasta daitekeen {{activeId}} elementua aska daitekeen {{overId}} eremuaren gainetik mugitu da\",\"sortable.list.drag.nolonger.over\":\"Arrasta daitekeen {{activeId}} elementua ez dago jada aska daitekeen eremu baten gainean\",\"sortable.list.drag.end.dropped.over\":\"Arrasta daitekeen {{activeId}} elementua aska daitekeen {{overId}} eremuaren gainean askatu da\",\"sortable.list.drag.end.dropped\":\"Arrasta daitekeen {{activeId}} elementua askatu da\",\"sortable.list.drag.cancel\":\"Bertan behera utzi da arrastatzeko prozesua. Arrasta daitekeen moduko {{activeId}} elementua askatu da\",\"breadcrumbs.home.text\":\"Etxea\",\"breadcrumbs.label.text\":\"Ogi-apurrak\",\"close.text\":\"Itxi\",\"clear.text\":\"Garbitu\",\"open.text\":\"Ireki\",\"autocomplete.nooptions\":\"Aukerarik ez\",\"picker.calendar.navigation.nextmonth\":\"Hurrengo hilabetea\",\"picker.calendar.navigation.previousmonth\":\"Aurreko hilabetea\",\"picker.date.toolbar.title\":\"Hautatutako data\",\"picker.daterange.toolbar.title\":\"Hautatu data-tartea\",\"picker.datetime.toolbar.title\":\"Hautatu data eta ordua\",\"picker.error.invalid\":\"Zuzendu dataren formatua edo hautatu data egutegitik.\",\"picker.error.mindate\":\"Idatzitako data baimendutako datak baino lehenagokoa da. Hautatu data bat egutegian eskuragarri dagoen tartetik.\",\"picker.error.maxdate\":\"Idatzitako data baimendutako datak baino geroagokoa da. Hautatu data bat egutegian eskuragarri dagoen tartetik.\",\"picker.field.placeholder.day\":\"EE\",\"picker.field.placeholder.hours\":\"hh\",\"picker.field.placeholder.meridiem\":\"aa\",\"picker.field.placeholder.minutes\":\"mm\",\"picker.field.placeholder.month\":\"HH\",\"picker.field.placeholder.seconds\":\"ss\",\"picker.field.placeholder.year\":\"UUUU\",\"picker.labels.action.apply\":\"Aplikatu\",\"picker.labels.action.cancel\":\"Utzi\",\"picker.labels.action.today\":\"Gaur\",\"picker.labels.clock.empty\":\"Ez da ordurik hautatu\",\"picker.labels.clock.hours\":\"ordu\",\"picker.labels.clock.minutes\":\"minutu\",\"picker.labels.clock.seconds\":\"segundo\",\"picker.labels.clock.selected\":\"Hau da hautatutako ordua:\",\"picker.labels.date.choose\":\"Aukeratu data\",\"picker.labels.date.selected\":\"Hau da hautatutako data:\",\"picker.labels.empty\":\"Hutsik\",\"picker.labels.field.clear\":\"Garbitu balioa\",\"picker.labels.range.end\":\"Amaiera\",\"picker.labels.range.enddate\":\"Amaiera-data\",\"picker.labels.range.endtime\":\"Amaiera-ordua\",\"picker.labels.range.start\":\"Hasiera\",\"picker.labels.range.startdate\":\"Hasiera-data\",\"picker.labels.range.starttime\":\"Hasiera-ordua\",\"picker.labels.select\":\"Hautatu\",\"picker.labels.table.date\":\"aukeratu data\",\"picker.labels.table.time\":\"aukeratu ordua\",\"picker.labels.time.choose\":\"Aukeratu ordua\",\"picker.labels.time.selected\":\"hau da hautatutako ordua:\",\"picker.time.toolbar.title\":\"Hautatu ordua\",\"picker.view.name.day\":\"Eguna\",\"picker.view.name.hours\":\"Orduak\",\"picker.view.name.meridiem\":\"Meridiem\",\"picker.view.name.minutes\":\"Minutuak\",\"picker.view.name.month\":\"Hilabetea\",\"picker.view.name.seconds\":\"Segundoak\",\"picker.view.name.weekday\":\"Asteko eguna\",\"picker.view.name.year\":\"Urtea\",\"picker.view.navigation.open.nextview\":\"Ireki hurrengo ikuspegia\",\"picker.view.navigation.open.previousview\":\"Ireki aurreko ikuspegia\",\"picker.view.navigation.switch.calendarview\":\"urteko ikuspegia irekita dago, aldatu egutegiaren ikuspegira\",\"picker.view.navigation.switch.yearview\":\"egutegiaren ikuspegia irekita dago, aldatu urteko ikuspegira\",\"fielderror.screenreader.text\":\"Errorea\",\"fieldlabel.optional.text\":\"Aukerakoa\",\"fieldlabel.required.text\":\"Beharrezkoa\",\"filters.clear.label\":\"Garbitu iragazkiak\",\"filters.submit.label\":\"Bidali\",\"filters.filter.any\":\"Edozein\",\"filters.filter.clear\":\"Garbitu iragazkia\",\"filters.filters.arialabel\":\"Iragazkiak\",\"filters.menuitem.any\":\"Edozein {{label}}\",\"filters.menuitem.selected\":\"{{selected}} hautatuta\",\"filters.search.label\":\"Bilatu\",\"fileupload.button.text\":\"Gehitu fitxategiak\",\"fileupload.prompt.text\":\"Arrastatu eta jaregin fitxategiak hemen, edo egin klik fitxategiak gehitzeko\",\"fileupload.removefile.text\":\"Kendu fitxategia\",\"passwordfield.icon.label.hide\":\"Ezkutatu pasahitza\",\"passwordfield.icon.label.show\":\"Erakutsi pasahitza\",\"severity.error\":\"errorea\",\"severity.info\":\"informazioa\",\"severity.success\":\"eginda\",\"severity.warning\":\"abisua\",\"sidenav.toggle.expand\":\"Ireki nabigazioa\",\"sidenav.toggle.collapse\":\"Itxi nabigazioa\",\"switch.active\":\"Aktibo\",\"switch.inactive\":\"Inaktibo\",\"table.columnvisibility.arialabel\":\"Erakutsi/Ezkutatu zutabeak\",\"table.density.arialabel\":\"Taularen dentsitatea\",\"table.draghandle.arialabel\":\"Arrastatu errenkada berrantolatzeko. Edo sakatu zuriune-barra edo Sartu tekla berrantolaketa hasteko eta gelditzeko, eta Ihes tekla bertan behera uzteko.\",\"table.draghandle.tooltip\":\"Arrastatu errenkada edo sakatu zuriune-barra/Sartu tekla berrantolaketa hasteko eta gelditzeko\",\"table.actions\":\"Ekintzak\",\"table.error\":\"Errorea datuak kargatzean.\",\"table.fetchedrows.text\":\"{{totalRows}} errenkada eskuratu da\",\"table.fetchedrows.text_plural\":\"{{totalRows}} errenkada eskuratu dira guztira\",\"table.moreactions.arialabel\":\"Ekintza gehiago\",\"table.noresults.heading\":\"Ez dago emaitzarik.\",\"table.noresults.text\":\"Saiatu beste kontsulta bat egiten.\",\"table.reorder.backward\":\"Bidali atzera\",\"table.reorder.forward\":\"Ekarri aurrera\",\"table.reorder.toback\":\"Bidali atzera\",\"table.reorder.tofront\":\"Ekarri aurrera\",\"table.rows.text\":\"{{totalRows}} errenkada\",\"table.rows.text_plural\":\"{{totalRows}} errenkada\",\"pagination.label\":\"Orri-kopurua\",\"pagination.loadmore\":\"Erakutsi gehiago\",\"pagination.next\":\"Hurrengo orria\",\"pagination.previous\":\"Aurreko orria\",\"pagination.page\":\"Orria\",\"pagination.rowsperpage\":\"Errenkadak orriko\",\"pagination.rowswithtotal\":\"{{firstRow}}-{{lastRow}} errenkadak (guztira, {{totalRows}})\",\"pagination.rowswithouttotal\":\"{{firstRow}}-{{lastRow}} errenkadak\",\"pagination.totalrows\":\"{{totalRows}} errenkada\",\"table.actions.selectall\":\"Hautatu guztiak\",\"table.actions.selectnone\":\"Ez hautatu bat ere ez\",\"table.actions.selectsome\":\"{{selectedRowCount}} hautatuta\",\"table.rowexpansion.expand\":\"Zabaldu\",\"table.rowexpansion.expandall\":\"Zabaldu guztiak\",\"table.rowexpansion.collapse\":\"Tolestu\",\"table.rowexpansion.collapseall\":\"Tolestu guztiak\",\"dataview.layout.table\":\"Taula\",\"dataview.layout.grid\":\"Sareta\",\"dataview.layout.list\":\"Zerrenda\",\"topnav.helpicon\":\"laguntza-orria\",\"topnav.settingsicon\":\"ezarpenen orria\"};"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NarrowUiShellContent.js","names":["styled","memo","useCallback","useEffect","useRef","useState","ErrorBoundary","Button","CloseIcon","MoreIcon","InnerAppContainer","useOdysseyDesignTokens","SideNav","SideNavLogo","HamburgerMenuIcon","useUiShellContext","emptySideNavItems","SIDE_NAV_WIDTH","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","useScrollState","useMatchAppElementToUiShellAppArea","hexToRgb","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StyledAppContentArea","gridArea","position","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","width","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","overflow","StyledBannersContainer","zIndex","StyledLeftSideContainer","isOpen","overflowY","StyledRightSideContainer","odysseyDesignTokens","HueNeutralWhite","maxWidth","right","StyledMenuLogo","alignItems","gap","Spacing3","StyledLogoContainer","paddingBlock","Spacing4","maxHeight","StyledPageOverlay","HueNeutral900","asFormattedString","replace","left","top","StyledSideNavContainer","StyledUiShellContainer","HueNeutral50","StyledTopNav","isContentScrolled","topNavBackgroundColor","boxShadow","DepthMedium","undefined","clipPath","flexDirection","justifyContent","transition","TransitionDurationMain","TransitionTimingMain","StyledTopNavMenu","minHeight","Spacing2","paddingInline","borderBottomColor","HueNeutral100","borderBottomStyle","BorderStyleMain","borderBottomWidth","BorderWidthMain","StyledTopNavSearch","NarrowUiShellContent","appElement","appElementScrollingMode","hasStandardAppContentPadding","hasSideNavProps","initialVisibleSections","onError","console","error","optionalComponents","sideNavProps","topNavProps","uiShellContext","sideNavContainerRef","topNavContainerRef","uiShellAppAreaRef","isLeftSideMenuOpen","setIsLeftSideMenuOpen","isRightSideMenuOpen","setIsRightSideMenuOpen","closeSideMenus","unsubscribeFromCloseRightSideMenu","subscribeToCloseRightSideMenu","unsubscribeFromSideNavItemClicked","subscribeToCloseSideNavMenu","toggleLeftSideMenu","toggleRightSideMenu","parentContainerRef","paddingMode","uiShellResizableRefs","children","onClick","ref","banners","includes","fallback","sideNavBackgroundColor","isCollapsible","isCollapsed","startIcon","testId","variant","isLoading","_Skeleton","logoProps","rightSideMenu","topNavLeftSide","sideNavItems","appName","hasCustomFooter","sideNavFooter","footerComponent","footerItems","isObtrusive","onCollapse","tabIndex","MemoizedNarrowUiShellContent","displayName"],"sources":["../../../src/ui-shell/NarrowUiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Skeleton } from \"@mui/material\";\nimport {\n CSSProperties,\n memo,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { Button } from \"../Buttons/Button.js\";\nimport type { HtmlProps } from \"../HtmlProps.js\";\nimport { CloseIcon } from \"../icons.generated/Close.js\";\nimport { MoreIcon } from \"../icons.generated/More.js\";\nimport { InnerAppContainer } from \"./InnerAppContainer.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { SideNav } from \"./SideNav/SideNav.js\";\nimport { SideNavLogo } from \"./SideNav/SideNavLogo.js\";\nimport { HamburgerMenuIcon } from \"./TopNav/HamburgerMenuIcon.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\nimport {\n UiShellNavComponentProps,\n UiShellContentProps,\n} from \"./uiShellContentTypes.js\";\nimport {\n emptySideNavItems,\n SIDE_NAV_WIDTH,\n TOP_NAV_HEIGHT,\n UI_SHELL_BASE_Z_INDEX,\n} from \"./uiShellSharedConstants.js\";\nimport { useScrollState } from \"./useScrollState.js\";\nimport { useMatchAppElementToUiShellAppArea } from \"./useMatchAppElementToUiShellAppArea.js\";\nimport { hexToRgb } from \"../hexToRgb.js\";\n\nconst StyledAppContentArea = styled(\"div\")({\n gridArea: \"app-content\",\n position: \"relative\",\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"left-side app-container right-side\"\n `,\n gridTemplateColumns: \"auto 1fr auto\",\n gridTemplateRows: \"1fr\",\n height: \"100%\",\n width: \"100%\",\n});\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"appBackgroundColor\" && prop !== \"odysseyDesignTokens\",\n})<{\n appBackgroundColor?: UiShellColors[\"appBackgroundColor\"];\n}>(({ appBackgroundColor }) => ({\n backgroundColor: appBackgroundColor,\n gridArea: \"app-container\",\n height: \"100%\",\n overflow: \"hidden\",\n width: \"100%\",\n}));\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst StyledLeftSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"isOpen\",\n})<{\n isOpen: boolean;\n}>(({ isOpen }) => ({\n display: isOpen ? \"block\" : \"none\",\n height: \"100%\",\n gridArea: \"left-side\",\n overflowY: \"auto\",\n position: \"absolute\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledRightSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"isOpen\" && prop !== \"odysseyDesignTokens\",\n})<{\n isOpen: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isOpen, odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n display: isOpen ? \"block\" : \"none\",\n gridArea: \"right-side\",\n height: \"100%\",\n maxWidth: SIDE_NAV_WIDTH,\n overflowY: \"auto\",\n position: \"absolute\",\n right: 0,\n width: SIDE_NAV_WIDTH,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledMenuLogo = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"inline-flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst StyledLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n height: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing4,\n\n \"svg, img\": {\n maxHeight: \"100%\",\n width: \"auto\",\n maxWidth: \"100%\",\n },\n}));\n\nconst StyledPageOverlay = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: hexToRgb(\n odysseyDesignTokens.HueNeutral900,\n ).asFormattedString.replace(/rgb\\((.+)\\)$/, \"rgba($1, 0.26)\"),\n gridArea: \"app-content\",\n height: \"100vh\",\n left: 0,\n position: \"absolute\",\n top: 0,\n width: \"100vw\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledSideNavContainer = styled(\"div\")({\n height: \"100%\", // Without this value, side nav won't fill up the height if the content is too short.\n});\n\nconst StyledUiShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners\"\n \"top-nav\"\n \"app-content\"\n `,\n gridTemplateColumns: \"1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n overflow: \"hidden\",\n width: \"100vw\",\n}));\n\nconst StyledTopNav = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isContentScrolled\" &&\n prop !== \"topNavBackgroundColor\",\n})<{\n isContentScrolled?: boolean;\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, isContentScrolled, topNavBackgroundColor }) => ({\n alignItems: \"stretch\",\n backgroundColor: odysseyDesignTokens.HueNeutralWhite || topNavBackgroundColor, // This logic doesn't make sense, but I wanted to leave it here for when we eventually make a decision on `topNavBackgroundColor`. --Kevin Ghadyani\n boxShadow: isContentScrolled ? odysseyDesignTokens.DepthMedium : undefined,\n clipPath: \"inset(0 0 -100vh 0)\",\n display: \"flex\",\n flexDirection: \"column\",\n gridArea: \"top-nav\",\n height: \"100%\",\n justifyContent: \"center\",\n position: \"relative\",\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledTopNavMenu = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"topNavBackgroundColor\",\n})<{\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, topNavBackgroundColor }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n height: \"100%\",\n justifyContent: \"space-between\",\n maxHeight: TOP_NAV_HEIGHT,\n minHeight: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n\n ...(topNavBackgroundColor === odysseyDesignTokens.HueNeutralWhite &&\n ({\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n } as CSSProperties)),\n}));\n\nconst StyledTopNavSearch = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n}));\n\nexport type NarrowUiShellContentProps = Pick<HtmlProps, \"testId\"> &\n Pick<UiShellNavComponentProps, \"sideNavProps\" | \"topNavProps\"> &\n UiShellContentProps;\n\nconst NarrowUiShellContent = ({\n appElement,\n appElementScrollingMode,\n hasStandardAppContentPadding = true,\n hasSideNavProps,\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: NarrowUiShellContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n const { isContentScrolled } = useScrollState(appElement);\n\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellAppAreaRef = useRef<HTMLDivElement>(null);\n\n const [isLeftSideMenuOpen, setIsLeftSideMenuOpen] = useState(false);\n const [isRightSideMenuOpen, setIsRightSideMenuOpen] = useState(false);\n\n const closeSideMenus = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen(false);\n }, []);\n\n useEffect(() => {\n const unsubscribeFromCloseRightSideMenu =\n uiShellContext?.subscribeToCloseRightSideMenu(() => {\n closeSideMenus();\n });\n\n const unsubscribeFromSideNavItemClicked =\n uiShellContext?.subscribeToCloseSideNavMenu(() => {\n closeSideMenus();\n });\n\n return () => {\n unsubscribeFromCloseRightSideMenu?.();\n unsubscribeFromSideNavItemClicked?.();\n };\n }, [closeSideMenus, uiShellContext]);\n\n const toggleLeftSideMenu = useCallback(() => {\n setIsRightSideMenuOpen(false);\n setIsLeftSideMenuOpen((isLeftSideMenuOpen) => !isLeftSideMenuOpen);\n }, []);\n\n const toggleRightSideMenu = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen((isRightSideMenuOpen) => !isRightSideMenuOpen);\n }, []);\n\n const { parentContainerRef } = useMatchAppElementToUiShellAppArea({\n appElement,\n appElementScrollingMode,\n paddingMode: hasStandardAppContentPadding ? \"compact\" : \"none\",\n uiShellAppAreaRef,\n uiShellResizableRefs: [\n sideNavContainerRef,\n topNavContainerRef,\n uiShellAppAreaRef,\n ],\n });\n\n return (\n <>\n {(isLeftSideMenuOpen || isRightSideMenuOpen) && (\n <StyledPageOverlay\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={closeSideMenus}\n />\n )}\n\n <StyledUiShellContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={parentContainerRef}\n >\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n {(initialVisibleSections?.includes(\"TopNav\") || topNavProps) && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledTopNav\n isContentScrolled={isContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.topNavBackgroundColor}\n >\n <StyledTopNavMenu\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n <StyledMenuLogo odysseyDesignTokens={odysseyDesignTokens}>\n {(sideNavProps?.isCollapsible ||\n !sideNavProps?.isCollapsed) && (\n <Button\n onClick={toggleLeftSideMenu}\n startIcon={<HamburgerMenuIcon />}\n testId=\"sidenav-menu--icon\"\n variant=\"floating\"\n />\n )}\n\n <StyledLogoContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {sideNavProps?.isLoading ? (\n // The skeleton takes the hardcoded dimensions of the Okta logo\n <Skeleton variant=\"rounded\" height={24} width={67} />\n ) : (\n <SideNavLogo {...sideNavProps?.logoProps} />\n )}\n </StyledLogoContainer>\n </StyledMenuLogo>\n\n {optionalComponents?.rightSideMenu && (\n <Button\n onClick={toggleRightSideMenu}\n startIcon={\n isRightSideMenuOpen ? <CloseIcon /> : <MoreIcon />\n }\n testId=\"userprofile-menu--icon\"\n variant=\"floating\"\n />\n )}\n </StyledTopNavMenu>\n\n {optionalComponents?.topNavLeftSide && (\n <StyledTopNavSearch odysseyDesignTokens={odysseyDesignTokens}>\n {optionalComponents?.topNavLeftSide}\n </StyledTopNavSearch>\n )}\n </StyledTopNav>\n </ErrorBoundary>\n )}\n\n <StyledAppContentArea>\n <StyledLeftSideContainer isOpen={isLeftSideMenuOpen}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") &&\n !hasSideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav isLoading sideNavItems={emptySideNavItems} />\n </ErrorBoundary>\n )\n }\n\n {hasSideNavProps && sideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledSideNavContainer>\n <SideNav\n {...{\n ...{\n ...sideNavProps,\n // This hides the side nav logo or app name from showing up as we already have one in the narrow top nav.\n appName: undefined,\n logoProps: undefined,\n },\n ...(sideNavProps.hasCustomFooter &&\n optionalComponents?.sideNavFooter\n ? {\n footerComponent: optionalComponents.sideNavFooter,\n footerItems: undefined,\n hasCustomFooter: sideNavProps.hasCustomFooter,\n }\n : {\n footerItems: sideNavProps.footerItems,\n hasCustomFooter: false,\n }),\n }}\n isCollapsed={false}\n isCollapsible={false}\n isObtrusive\n onCollapse={closeSideMenus}\n />\n </StyledSideNavContainer>\n </ErrorBoundary>\n )}\n </StyledLeftSideContainer>\n\n <StyledRightSideContainer\n isOpen={isRightSideMenuOpen}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledSideNavContainer>\n {optionalComponents?.rightSideMenu}\n </StyledSideNavContainer>\n </StyledRightSideContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n tabIndex={0}\n ref={uiShellAppAreaRef}\n >\n <InnerAppContainer isContentScrolled={isContentScrolled} />\n </StyledAppContainer>\n </StyledAppContentArea>\n </StyledUiShellContainer>\n </>\n );\n};\n\nconst MemoizedNarrowUiShellContent = memo(NarrowUiShellContent);\nMemoizedNarrowUiShellContent.displayName = \"NarrowUiShellContent\";\n\nexport { MemoizedNarrowUiShellContent as NarrowUiShellContent };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NarrowUiShellContent.js","names":["styled","memo","useCallback","useEffect","useRef","useState","ErrorBoundary","Button","CloseIcon","MoreIcon","InnerAppContainer","useOdysseyDesignTokens","SideNav","SideNavLogo","HamburgerMenuIcon","useUiShellContext","emptySideNavItems","SIDE_NAV_WIDTH","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","useScrollState","useMatchAppElementToUiShellAppArea","hexToRgb","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StyledAppContentArea","gridArea","position","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","width","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","overflow","StyledBannersContainer","zIndex","StyledLeftSideContainer","isOpen","StyledRightSideContainer","odysseyDesignTokens","HueNeutralWhite","maxWidth","overflowY","right","StyledMenuLogo","alignItems","gap","Spacing3","StyledLogoContainer","paddingBlock","Spacing4","maxHeight","StyledPageOverlay","HueNeutral900","asFormattedString","replace","left","top","StyledSideNavContainer","StyledUiShellContainer","HueNeutral50","StyledTopNav","isContentScrolled","topNavBackgroundColor","boxShadow","DepthMedium","undefined","clipPath","flexDirection","justifyContent","transition","TransitionDurationMain","TransitionTimingMain","StyledTopNavMenu","minHeight","Spacing2","paddingInline","borderBottomColor","HueNeutral100","borderBottomStyle","BorderStyleMain","borderBottomWidth","BorderWidthMain","StyledTopNavSearch","NarrowUiShellContent","appElement","appElementScrollingMode","hasStandardAppContentPadding","hasSideNavProps","initialVisibleSections","onError","console","error","optionalComponents","sideNavProps","topNavProps","uiShellContext","sideNavContainerRef","topNavContainerRef","uiShellAppAreaRef","isLeftSideMenuOpen","setIsLeftSideMenuOpen","isRightSideMenuOpen","setIsRightSideMenuOpen","closeSideMenus","unsubscribeFromCloseRightSideMenu","subscribeToCloseRightSideMenu","unsubscribeFromSideNavItemClicked","subscribeToCloseSideNavMenu","toggleLeftSideMenu","toggleRightSideMenu","parentContainerRef","paddingMode","uiShellResizableRefs","children","onClick","ref","banners","includes","fallback","sideNavBackgroundColor","isCollapsible","isCollapsed","startIcon","testId","variant","isLoading","_Skeleton","logoProps","rightSideMenu","topNavLeftSide","sideNavItems","appName","hasCustomFooter","sideNavFooter","footerComponent","footerItems","isObtrusive","onCollapse","tabIndex","MemoizedNarrowUiShellContent","displayName"],"sources":["../../../src/ui-shell/NarrowUiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Skeleton } from \"@mui/material\";\nimport {\n CSSProperties,\n memo,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { Button } from \"../Buttons/Button.js\";\nimport type { HtmlProps } from \"../HtmlProps.js\";\nimport { CloseIcon } from \"../icons.generated/Close.js\";\nimport { MoreIcon } from \"../icons.generated/More.js\";\nimport { InnerAppContainer } from \"./InnerAppContainer.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { SideNav } from \"./SideNav/SideNav.js\";\nimport { SideNavLogo } from \"./SideNav/SideNavLogo.js\";\nimport { HamburgerMenuIcon } from \"./TopNav/HamburgerMenuIcon.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\nimport {\n UiShellNavComponentProps,\n UiShellContentProps,\n} from \"./uiShellContentTypes.js\";\nimport {\n emptySideNavItems,\n SIDE_NAV_WIDTH,\n TOP_NAV_HEIGHT,\n UI_SHELL_BASE_Z_INDEX,\n} from \"./uiShellSharedConstants.js\";\nimport { useScrollState } from \"./useScrollState.js\";\nimport { useMatchAppElementToUiShellAppArea } from \"./useMatchAppElementToUiShellAppArea.js\";\nimport { hexToRgb } from \"../hexToRgb.js\";\n\nconst StyledAppContentArea = styled(\"div\")({\n gridArea: \"app-content\",\n position: \"relative\",\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"left-side app-container right-side\"\n `,\n gridTemplateColumns: \"auto 1fr auto\",\n gridTemplateRows: \"1fr\",\n height: \"100%\",\n width: \"100%\",\n});\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"appBackgroundColor\" && prop !== \"odysseyDesignTokens\",\n})<{\n appBackgroundColor?: UiShellColors[\"appBackgroundColor\"];\n}>(({ appBackgroundColor }) => ({\n backgroundColor: appBackgroundColor,\n gridArea: \"app-container\",\n height: \"100%\",\n overflow: \"hidden\",\n width: \"100%\",\n}));\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst StyledLeftSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"isOpen\",\n})<{\n isOpen: boolean;\n}>(({ isOpen }) => ({\n display: isOpen ? \"block\" : \"none\",\n height: \"100%\",\n gridArea: \"left-side\",\n position: \"absolute\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledRightSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"isOpen\" && prop !== \"odysseyDesignTokens\",\n})<{\n isOpen: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isOpen, odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n display: isOpen ? \"block\" : \"none\",\n gridArea: \"right-side\",\n height: \"100%\",\n maxWidth: SIDE_NAV_WIDTH,\n overflowY: \"auto\",\n position: \"absolute\",\n right: 0,\n width: SIDE_NAV_WIDTH,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledMenuLogo = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"inline-flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst StyledLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n height: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing4,\n\n \"svg, img\": {\n maxHeight: \"100%\",\n width: \"auto\",\n maxWidth: \"100%\",\n },\n}));\n\nconst StyledPageOverlay = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: hexToRgb(\n odysseyDesignTokens.HueNeutral900,\n ).asFormattedString.replace(/rgb\\((.+)\\)$/, \"rgba($1, 0.26)\"),\n gridArea: \"app-content\",\n height: \"100vh\",\n left: 0,\n position: \"absolute\",\n top: 0,\n width: \"100vw\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledSideNavContainer = styled(\"div\")({\n height: \"100%\", // Without this value, side nav won't fill up the height if the content is too short.\n});\n\nconst StyledUiShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners\"\n \"top-nav\"\n \"app-content\"\n `,\n gridTemplateColumns: \"1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n overflow: \"hidden\",\n width: \"100vw\",\n}));\n\nconst StyledTopNav = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isContentScrolled\" &&\n prop !== \"topNavBackgroundColor\",\n})<{\n isContentScrolled?: boolean;\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, isContentScrolled, topNavBackgroundColor }) => ({\n alignItems: \"stretch\",\n backgroundColor: odysseyDesignTokens.HueNeutralWhite || topNavBackgroundColor, // This logic doesn't make sense, but I wanted to leave it here for when we eventually make a decision on `topNavBackgroundColor`. --Kevin Ghadyani\n boxShadow: isContentScrolled ? odysseyDesignTokens.DepthMedium : undefined,\n clipPath: \"inset(0 0 -100vh 0)\",\n display: \"flex\",\n flexDirection: \"column\",\n gridArea: \"top-nav\",\n height: \"100%\",\n justifyContent: \"center\",\n position: \"relative\",\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledTopNavMenu = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"topNavBackgroundColor\",\n})<{\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, topNavBackgroundColor }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n height: \"100%\",\n justifyContent: \"space-between\",\n maxHeight: TOP_NAV_HEIGHT,\n minHeight: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n\n ...(topNavBackgroundColor === odysseyDesignTokens.HueNeutralWhite &&\n ({\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n } as CSSProperties)),\n}));\n\nconst StyledTopNavSearch = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n}));\n\nexport type NarrowUiShellContentProps = Pick<HtmlProps, \"testId\"> &\n Pick<UiShellNavComponentProps, \"sideNavProps\" | \"topNavProps\"> &\n UiShellContentProps;\n\nconst NarrowUiShellContent = ({\n appElement,\n appElementScrollingMode,\n hasStandardAppContentPadding = true,\n hasSideNavProps,\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: NarrowUiShellContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n const { isContentScrolled } = useScrollState(appElement);\n\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellAppAreaRef = useRef<HTMLDivElement>(null);\n\n const [isLeftSideMenuOpen, setIsLeftSideMenuOpen] = useState(false);\n const [isRightSideMenuOpen, setIsRightSideMenuOpen] = useState(false);\n\n const closeSideMenus = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen(false);\n }, []);\n\n useEffect(() => {\n const unsubscribeFromCloseRightSideMenu =\n uiShellContext?.subscribeToCloseRightSideMenu(() => {\n closeSideMenus();\n });\n\n const unsubscribeFromSideNavItemClicked =\n uiShellContext?.subscribeToCloseSideNavMenu(() => {\n closeSideMenus();\n });\n\n return () => {\n unsubscribeFromCloseRightSideMenu?.();\n unsubscribeFromSideNavItemClicked?.();\n };\n }, [closeSideMenus, uiShellContext]);\n\n const toggleLeftSideMenu = useCallback(() => {\n setIsRightSideMenuOpen(false);\n setIsLeftSideMenuOpen((isLeftSideMenuOpen) => !isLeftSideMenuOpen);\n }, []);\n\n const toggleRightSideMenu = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen((isRightSideMenuOpen) => !isRightSideMenuOpen);\n }, []);\n\n const { parentContainerRef } = useMatchAppElementToUiShellAppArea({\n appElement,\n appElementScrollingMode,\n paddingMode: hasStandardAppContentPadding ? \"compact\" : \"none\",\n uiShellAppAreaRef,\n uiShellResizableRefs: [\n sideNavContainerRef,\n topNavContainerRef,\n uiShellAppAreaRef,\n ],\n });\n\n return (\n <>\n {(isLeftSideMenuOpen || isRightSideMenuOpen) && (\n <StyledPageOverlay\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={closeSideMenus}\n />\n )}\n\n <StyledUiShellContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={parentContainerRef}\n >\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n {(initialVisibleSections?.includes(\"TopNav\") || topNavProps) && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledTopNav\n isContentScrolled={isContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.topNavBackgroundColor}\n >\n <StyledTopNavMenu\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n <StyledMenuLogo odysseyDesignTokens={odysseyDesignTokens}>\n {(sideNavProps?.isCollapsible ||\n !sideNavProps?.isCollapsed) && (\n <Button\n onClick={toggleLeftSideMenu}\n startIcon={<HamburgerMenuIcon />}\n testId=\"sidenav-menu--icon\"\n variant=\"floating\"\n />\n )}\n\n <StyledLogoContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {sideNavProps?.isLoading ? (\n // The skeleton takes the hardcoded dimensions of the Okta logo\n <Skeleton variant=\"rounded\" height={24} width={67} />\n ) : (\n <SideNavLogo {...sideNavProps?.logoProps} />\n )}\n </StyledLogoContainer>\n </StyledMenuLogo>\n\n {optionalComponents?.rightSideMenu && (\n <Button\n onClick={toggleRightSideMenu}\n startIcon={\n isRightSideMenuOpen ? <CloseIcon /> : <MoreIcon />\n }\n testId=\"userprofile-menu--icon\"\n variant=\"floating\"\n />\n )}\n </StyledTopNavMenu>\n\n {optionalComponents?.topNavLeftSide && (\n <StyledTopNavSearch odysseyDesignTokens={odysseyDesignTokens}>\n {optionalComponents?.topNavLeftSide}\n </StyledTopNavSearch>\n )}\n </StyledTopNav>\n </ErrorBoundary>\n )}\n\n <StyledAppContentArea>\n <StyledLeftSideContainer isOpen={isLeftSideMenuOpen}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") &&\n !hasSideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav isLoading sideNavItems={emptySideNavItems} />\n </ErrorBoundary>\n )\n }\n\n {hasSideNavProps && sideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledSideNavContainer>\n <SideNav\n {...{\n ...{\n ...sideNavProps,\n // This hides the side nav logo or app name from showing up as we already have one in the narrow top nav.\n appName: undefined,\n logoProps: undefined,\n },\n ...(sideNavProps.hasCustomFooter &&\n optionalComponents?.sideNavFooter\n ? {\n footerComponent: optionalComponents.sideNavFooter,\n footerItems: undefined,\n hasCustomFooter: sideNavProps.hasCustomFooter,\n }\n : {\n footerItems: sideNavProps.footerItems,\n hasCustomFooter: false,\n }),\n }}\n isCollapsed={false}\n isCollapsible={false}\n isObtrusive\n onCollapse={closeSideMenus}\n />\n </StyledSideNavContainer>\n </ErrorBoundary>\n )}\n </StyledLeftSideContainer>\n\n <StyledRightSideContainer\n isOpen={isRightSideMenuOpen}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledSideNavContainer>\n {optionalComponents?.rightSideMenu}\n </StyledSideNavContainer>\n </StyledRightSideContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n tabIndex={0}\n ref={uiShellAppAreaRef}\n >\n <InnerAppContainer isContentScrolled={isContentScrolled} />\n </StyledAppContainer>\n </StyledAppContentArea>\n </StyledUiShellContainer>\n </>\n );\n};\n\nconst MemoizedNarrowUiShellContent = memo(NarrowUiShellContent);\nMemoizedNarrowUiShellContent.displayName = \"NarrowUiShellContent\";\n\nexport { MemoizedNarrowUiShellContent as NarrowUiShellContent };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,6 +18,7 @@ import { arrayMove } from "@dnd-kit/sortable";
|
|
|
18
18
|
import { ErrorBoundary } from "react-error-boundary";
|
|
19
19
|
import { NavAccordion } from "./NavAccordion.js";
|
|
20
20
|
import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
|
|
21
|
+
import { useElementAtContainerEdge } from "../useElementAtContainerEdge.js";
|
|
21
22
|
import { OdysseyThemeProvider } from "../../OdysseyThemeProvider.js";
|
|
22
23
|
import { SideNavHeader } from "./SideNavHeader.js";
|
|
23
24
|
import { SideNavItemContent, StyledSideNavListItem } from "./SideNavItemContent.js";
|
|
@@ -68,10 +69,10 @@ const StyledOpacityTransitionContainer = styled("div", {
|
|
|
68
69
|
})
|
|
69
70
|
}));
|
|
70
71
|
const StyledSideNavContainer = styled("nav", {
|
|
71
|
-
shouldForwardProp: prop => prop !== "backgroundColor" && prop !== "
|
|
72
|
+
shouldForwardProp: prop => prop !== "backgroundColor" && prop !== "hasNeighbouringContentAtInlineStart" && prop !== "isAppContentWhiteBackground" && prop !== "isSideNavCollapsed" && prop !== "isSideNavToggleHighlighted" && prop !== "odysseyDesignTokens"
|
|
72
73
|
})(({
|
|
73
74
|
backgroundColor,
|
|
74
|
-
|
|
75
|
+
hasNeighbouringContentAtInlineStart,
|
|
75
76
|
isAppContentWhiteBackground,
|
|
76
77
|
isSideNavCollapsed,
|
|
77
78
|
isSideNavToggleHighlighted,
|
|
@@ -100,8 +101,8 @@ const StyledSideNavContainer = styled("nav", {
|
|
|
100
101
|
"&::after": {
|
|
101
102
|
backgroundColor: odysseyDesignTokens.HueNeutral200,
|
|
102
103
|
opacity: isSideNavCollapsed ? 1 : 0,
|
|
103
|
-
transform: isSideNavCollapsed && !
|
|
104
|
-
width:
|
|
104
|
+
transform: isSideNavCollapsed && !hasNeighbouringContentAtInlineStart ? isSideNavToggleHighlighted ? `translateX(calc(100% - (${odysseyDesignTokens.BorderWidthMain} * 2)))` : `translateX(calc(100% - ${SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px))` : "translateX(0)",
|
|
105
|
+
width: hasNeighbouringContentAtInlineStart ? 0 : `calc(${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px + ${odysseyDesignTokens.BorderWidthMain} * 2)`,
|
|
105
106
|
...(isSideNavCollapsed && isSideNavToggleHighlighted ? {
|
|
106
107
|
borderRightColor: odysseyDesignTokens.BorderColorPrimaryControl,
|
|
107
108
|
borderRightStyle: odysseyDesignTokens.BorderStyleMain,
|
|
@@ -110,9 +111,9 @@ const StyledSideNavContainer = styled("nav", {
|
|
|
110
111
|
}
|
|
111
112
|
}));
|
|
112
113
|
const StyledSideNavToggleButtonContainer = styled("div", {
|
|
113
|
-
shouldForwardProp: prop => prop !== "
|
|
114
|
+
shouldForwardProp: prop => prop !== "hasNeighbouringContentAtInlineStart" && prop !== "isSideNavCollapsed" && prop !== "isSideNavToggleHighlighted" && prop !== "odysseyDesignTokens"
|
|
114
115
|
})(({
|
|
115
|
-
|
|
116
|
+
hasNeighbouringContentAtInlineStart,
|
|
116
117
|
isSideNavCollapsed,
|
|
117
118
|
isSideNavToggleHighlighted,
|
|
118
119
|
odysseyDesignTokens
|
|
@@ -120,7 +121,7 @@ const StyledSideNavToggleButtonContainer = styled("div", {
|
|
|
120
121
|
position: "absolute",
|
|
121
122
|
right: `${SIDE_NAV_TOGGLE_ICON_HALF_SIZE}px`,
|
|
122
123
|
top: SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION,
|
|
123
|
-
transform: isSideNavCollapsed && !
|
|
124
|
+
transform: isSideNavCollapsed && !hasNeighbouringContentAtInlineStart ? isSideNavToggleHighlighted ? `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px), 0, 0)` : `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED}px), 0, 0)` : "translate3d(100%, 0, 0)",
|
|
124
125
|
transition: `transform ${odysseyDesignTokens.TransitionDurationMain}`,
|
|
125
126
|
zIndex: UI_SHELL_OVERLAY_Z_INDEX + 1
|
|
126
127
|
}));
|
|
@@ -149,13 +150,15 @@ const StyledSideNavListContainer = styled("ul")(() => ({
|
|
|
149
150
|
width: "100%"
|
|
150
151
|
}));
|
|
151
152
|
const StyledSideNavScrollableContainer = styled("div", {
|
|
152
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
153
|
+
shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "hasBlockStartPadding"
|
|
153
154
|
})(({
|
|
154
|
-
odysseyDesignTokens
|
|
155
|
+
odysseyDesignTokens,
|
|
156
|
+
hasBlockStartPadding
|
|
155
157
|
}) => ({
|
|
156
158
|
display: "inline-grid",
|
|
157
159
|
gridTemplateRows: "1fr max-content",
|
|
158
160
|
overflowY: "auto",
|
|
161
|
+
paddingBlockStart: hasBlockStartPadding ? odysseyDesignTokens.Spacing2 : 0,
|
|
159
162
|
paddingInline: odysseyDesignTokens.Spacing2
|
|
160
163
|
}));
|
|
161
164
|
const StyledSectionHeaderContainer = styled("li", {
|
|
@@ -275,7 +278,6 @@ const SideNav = ({
|
|
|
275
278
|
sideNavItems
|
|
276
279
|
}) => {
|
|
277
280
|
const [hasContentScrolled, setHasContentScrolled] = useState(false);
|
|
278
|
-
const [hasNeighboringContent, setHasNeighboringContent] = useState(false);
|
|
279
281
|
const [isContentScrollable, setIsContentScrollable] = useState(false);
|
|
280
282
|
const [isSideNavToggleHighlighted, setIsSideNavToggleHighlighted] = useState(false);
|
|
281
283
|
const [sideNavItemsList, updateSideNavItemsList] = useState(sideNavItems || []);
|
|
@@ -295,13 +297,15 @@ const SideNav = ({
|
|
|
295
297
|
const resizeObserverRef = useRef(null);
|
|
296
298
|
const intersectionObserverRef = useRef(null);
|
|
297
299
|
const sideNavRef = useRef(null);
|
|
300
|
+
const {
|
|
301
|
+
isAtContainerInlineStart
|
|
302
|
+
} = useElementAtContainerEdge({
|
|
303
|
+
element: sideNavRef.current,
|
|
304
|
+
monitoringElement: sideNavRef.current?.parentElement?.parentElement
|
|
305
|
+
});
|
|
306
|
+
const hasNeighbouringContentAtInlineStart = !isAtContainerInlineStart;
|
|
298
307
|
const blankElement = useMemo(() => _jsx("div", {}), []);
|
|
299
308
|
useEffect(() => updateSideNavItemsList(sideNavItems || []), [sideNavItems]);
|
|
300
|
-
useEffect(() => {
|
|
301
|
-
if (sideNavRef.current) {
|
|
302
|
-
setHasNeighboringContent(sideNavRef.current.getBoundingClientRect().x > 0);
|
|
303
|
-
}
|
|
304
|
-
}, [isCollapsed]);
|
|
305
309
|
const onMount = useCallback(() => {
|
|
306
310
|
if (!isCollapsible) {
|
|
307
311
|
setIsSideNavCollapsed(isCollapsed);
|
|
@@ -469,7 +473,7 @@ const SideNav = ({
|
|
|
469
473
|
return _jsxs(StyledSideNavContainer, {
|
|
470
474
|
"aria-label": t("navigation.label"),
|
|
471
475
|
backgroundColor: uiShellContext?.sideNavBackgroundColor,
|
|
472
|
-
|
|
476
|
+
hasNeighbouringContentAtInlineStart: hasNeighbouringContentAtInlineStart,
|
|
473
477
|
id: "side-nav-expandable",
|
|
474
478
|
isAppContentWhiteBackground: uiShellContext?.appBackgroundColor === odysseyDesignTokens.HueNeutralWhite,
|
|
475
479
|
isSideNavCollapsed: isSideNavCollapsed,
|
|
@@ -477,12 +481,12 @@ const SideNav = ({
|
|
|
477
481
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
478
482
|
ref: sideNavRef,
|
|
479
483
|
children: [isCollapsible && _jsx(StyledSideNavToggleButtonContainer, {
|
|
480
|
-
|
|
484
|
+
hasNeighbouringContentAtInlineStart: hasNeighbouringContentAtInlineStart,
|
|
481
485
|
isSideNavCollapsed: isSideNavCollapsed,
|
|
482
486
|
isSideNavToggleHighlighted: isSideNavToggleHighlighted,
|
|
483
487
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
484
488
|
children: _jsx(SideNavToggleButton, {
|
|
485
|
-
clickAreaPadding: isSideNavCollapsed && !
|
|
489
|
+
clickAreaPadding: isSideNavCollapsed && !hasNeighbouringContentAtInlineStart ? SIDE_NAV_TOGGLE_ICON_SIZE / 2 : 0,
|
|
486
490
|
ariaControls: "side-nav-expandable",
|
|
487
491
|
isSideNavCollapsed: isSideNavCollapsed,
|
|
488
492
|
onClick: sideNavExpandClickHandler,
|
|
@@ -511,6 +515,7 @@ const SideNav = ({
|
|
|
511
515
|
}) : _jsx("div", {}), _jsxs(StyledSideNavScrollableContainer, {
|
|
512
516
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
513
517
|
"data-se": "scrollable-region",
|
|
518
|
+
hasBlockStartPadding: !appName,
|
|
514
519
|
children: [_jsx(StyledSideNavListContainer, {
|
|
515
520
|
role: "none",
|
|
516
521
|
ref: scrollableContentRef,
|