@okta/odyssey-react-mui 1.26.0 → 1.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/Surface.js +10 -2
  3. package/dist/Surface.js.map +1 -1
  4. package/dist/index.scss +1 -1
  5. package/dist/labs/DataView/DataView.js +6 -0
  6. package/dist/labs/DataView/DataView.js.map +1 -1
  7. package/dist/labs/DataView/componentTypes.js.map +1 -1
  8. package/dist/labs/SideNav/NavAccordion.js +4 -5
  9. package/dist/labs/SideNav/NavAccordion.js.map +1 -1
  10. package/dist/labs/SideNav/SideNav.js +167 -93
  11. package/dist/labs/SideNav/SideNav.js.map +1 -1
  12. package/dist/labs/SideNav/SideNavItemContent.js +97 -57
  13. package/dist/labs/SideNav/SideNavItemContent.js.map +1 -1
  14. package/dist/labs/SideNav/SideNavItemContentContext.js +1 -0
  15. package/dist/labs/SideNav/SideNavItemContentContext.js.map +1 -1
  16. package/dist/labs/SideNav/SideNavItemLinkContent.js +2 -2
  17. package/dist/labs/SideNav/SideNavItemLinkContent.js.map +1 -1
  18. package/dist/labs/SideNav/SideNavToggleButton.js +5 -5
  19. package/dist/labs/SideNav/SideNavToggleButton.js.map +1 -1
  20. package/dist/labs/SideNav/SortableList/SortableItem.js +162 -0
  21. package/dist/labs/SideNav/SortableList/SortableItem.js.map +1 -0
  22. package/dist/labs/SideNav/SortableList/SortableList.js +118 -0
  23. package/dist/labs/SideNav/SortableList/SortableList.js.map +1 -0
  24. package/dist/labs/SideNav/SortableList/SortableOverlay.js +30 -0
  25. package/dist/labs/SideNav/SortableList/SortableOverlay.js.map +1 -0
  26. package/dist/labs/SideNav/types.js.map +1 -1
  27. package/dist/labs/TopNav/TopNav.js +1 -1
  28. package/dist/labs/TopNav/TopNav.js.map +1 -1
  29. package/dist/labs/UiShell/UiShellContent.js +1 -1
  30. package/dist/labs/UiShell/UiShellContent.js.map +1 -1
  31. package/dist/properties/ts/odyssey-react-mui.js +7 -0
  32. package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
  33. package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
  34. package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
  35. package/dist/src/Surface.d.ts.map +1 -1
  36. package/dist/src/labs/DataView/DataView.d.ts +1 -1
  37. package/dist/src/labs/DataView/DataView.d.ts.map +1 -1
  38. package/dist/src/labs/DataView/componentTypes.d.ts +3 -2
  39. package/dist/src/labs/DataView/componentTypes.d.ts.map +1 -1
  40. package/dist/src/labs/SideNav/NavAccordion.d.ts +2 -6
  41. package/dist/src/labs/SideNav/NavAccordion.d.ts.map +1 -1
  42. package/dist/src/labs/SideNav/SideNav.d.ts +1 -1
  43. package/dist/src/labs/SideNav/SideNav.d.ts.map +1 -1
  44. package/dist/src/labs/SideNav/SideNavItemContent.d.ts +37 -1
  45. package/dist/src/labs/SideNav/SideNavItemContent.d.ts.map +1 -1
  46. package/dist/src/labs/SideNav/SideNavItemContentContext.d.ts +1 -0
  47. package/dist/src/labs/SideNav/SideNavItemContentContext.d.ts.map +1 -1
  48. package/dist/src/labs/SideNav/SideNavToggleButton.d.ts.map +1 -1
  49. package/dist/src/labs/SideNav/SortableList/SortableItem.d.ts +26 -0
  50. package/dist/src/labs/SideNav/SortableList/SortableItem.d.ts.map +1 -0
  51. package/dist/src/labs/SideNav/SortableList/SortableList.d.ts +36 -0
  52. package/dist/src/labs/SideNav/SortableList/SortableList.d.ts.map +1 -0
  53. package/dist/src/labs/SideNav/SortableList/SortableOverlay.d.ts +17 -0
  54. package/dist/src/labs/SideNav/SortableList/SortableOverlay.d.ts.map +1 -0
  55. package/dist/src/labs/SideNav/types.d.ts +16 -6
  56. package/dist/src/labs/SideNav/types.d.ts.map +1 -1
  57. package/dist/src/properties/ts/odyssey-react-mui.d.ts +7 -0
  58. package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  59. package/dist/theme/components.js +1 -1
  60. package/dist/theme/components.js.map +1 -1
  61. package/dist/tsconfig.production.tsbuildinfo +1 -1
  62. package/i18n.config.json +2 -1
  63. package/package.json +6 -3
  64. package/src/Surface.tsx +16 -4
  65. package/src/labs/DataView/DataView.tsx +6 -0
  66. package/src/labs/DataView/componentTypes.ts +6 -2
  67. package/src/labs/SideNav/NavAccordion.tsx +5 -10
  68. package/src/labs/SideNav/SideNav.test.tsx +8 -8
  69. package/src/labs/SideNav/SideNav.tsx +232 -119
  70. package/src/labs/SideNav/SideNavItemContent.tsx +114 -61
  71. package/src/labs/SideNav/SideNavItemContentContext.tsx +2 -0
  72. package/src/labs/SideNav/SideNavItemLinkContent.tsx +2 -2
  73. package/src/labs/SideNav/SideNavToggleButton.tsx +5 -9
  74. package/src/labs/SideNav/SortableList/SortableItem.tsx +202 -0
  75. package/src/labs/SideNav/SortableList/SortableList.tsx +122 -0
  76. package/src/labs/SideNav/SortableList/SortableOverlay.tsx +34 -0
  77. package/src/labs/SideNav/types.ts +16 -6
  78. package/src/labs/TopNav/TopNav.tsx +1 -1
  79. package/src/labs/UiShell/UiShellContent.tsx +1 -1
  80. package/src/properties/odyssey-react-mui.properties +7 -0
  81. package/src/properties/ts/odyssey-react-mui.ts +1 -1
  82. package/src/theme/components.tsx +1 -1
@@ -0,0 +1,34 @@
1
+ /*!
2
+ * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+
13
+ import type { PropsWithChildren } from "react";
14
+ // eslint-disable-next-line import/no-extraneous-dependencies
15
+ import { DragOverlay, defaultDropAnimationSideEffects } from "@dnd-kit/core";
16
+ import type { DropAnimation } from "@dnd-kit/core";
17
+
18
+ const dropAnimationConfig: DropAnimation = {
19
+ sideEffects: defaultDropAnimationSideEffects({
20
+ styles: {
21
+ active: {
22
+ opacity: "0.4",
23
+ },
24
+ },
25
+ }),
26
+ };
27
+
28
+ interface Props {}
29
+
30
+ export function SortableOverlay({ children }: PropsWithChildren<Props>) {
31
+ return (
32
+ <DragOverlay dropAnimation={dropAnimationConfig}>{children}</DragOverlay>
33
+ );
34
+ }
@@ -78,6 +78,10 @@ export type SideNavProps = {
78
78
  * Triggers when the side nav is expanded
79
79
  */
80
80
  onExpand?(): void;
81
+ /**
82
+ * Triggers when the item is reordered
83
+ */
84
+ onSort?(reorderedItems: SideNavItem[]): void;
81
85
  /**
82
86
  * Nav items in the side nav
83
87
  */
@@ -114,7 +118,7 @@ export type SideNavItem = {
114
118
  id: string;
115
119
  /**
116
120
  * Whether the item is disabled. When set to true the nav item is set to Disabled color,
117
- * the link/item is not clickable, and item with children is not expandable.
121
+ * the link/item is not clickable, and item with nestedNavItems is not expandable.
118
122
  */
119
123
  isDisabled?: boolean;
120
124
  /**
@@ -144,7 +148,7 @@ export type SideNavItem = {
144
148
  target?: string;
145
149
  } & (
146
150
  | {
147
- children?: never;
151
+ nestedNavItems?: never;
148
152
  href?: never;
149
153
  isDefaultExpanded?: never;
150
154
  isExpanded?: never;
@@ -152,9 +156,10 @@ export type SideNavItem = {
152
156
  * Determines if the side nav item is a section header
153
157
  */
154
158
  isSectionHeader: true;
159
+ isSortable?: never;
155
160
  }
156
161
  | {
157
- children?: never;
162
+ nestedNavItems?: never;
158
163
  /**
159
164
  * link added to the nav item. if it is undefined, static text will be displayed.
160
165
  * fires onClick event when it is passed
@@ -163,16 +168,17 @@ export type SideNavItem = {
163
168
  isDefaultExpanded?: never;
164
169
  isExpanded?: never;
165
170
  isSectionHeader?: never;
171
+ isSortable?: never;
166
172
  }
167
173
  | {
168
174
  /**
169
- * An array of side nav items to be displayed as children within Accordion
175
+ * An array of side nav items to be displayed as nestedNavItems within Accordion
170
176
  */
171
- children?: Array<Omit<SideNavItem, "startIcon" | "endIcon">>;
177
+ nestedNavItems?: Array<Omit<SideNavItem, "startIcon" | "nestedNavItems">>;
172
178
  endIcon?: never;
173
179
  href?: never;
174
180
  /**
175
- * Whether the accordion (nav item with children) is expanded by default
181
+ * Whether the accordion (nav item with nestedNavItems) is expanded by default
176
182
  */
177
183
  isDefaultExpanded?: boolean;
178
184
  /**
@@ -180,7 +186,11 @@ export type SideNavItem = {
180
186
  * Setting this prop enables control over the accordion.
181
187
  */
182
188
  isExpanded?: boolean;
189
+ /**
190
+ * If true, enables sorting for the accordion items
191
+ */
183
192
  isSectionHeader?: never;
193
+ isSortable?: boolean;
184
194
  }
185
195
  );
186
196
 
@@ -47,7 +47,7 @@ const StyledTopNavContainer = styled("div", {
47
47
  maxHeight: TOP_NAV_HEIGHT,
48
48
  minHeight: TOP_NAV_HEIGHT,
49
49
  paddingBlock: odysseyDesignTokens.Spacing2,
50
- paddingInline: odysseyDesignTokens.Spacing6,
50
+ paddingInline: odysseyDesignTokens.Spacing8,
51
51
  transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,
52
52
  zIndex: 1,
53
53
  }));
@@ -31,7 +31,7 @@ const StyledAppContainer = styled("div", {
31
31
  overflowX: "hidden",
32
32
  overflowY: "auto",
33
33
  paddingBlock: odysseyDesignTokens.Spacing5,
34
- paddingInline: odysseyDesignTokens.Spacing6,
34
+ paddingInline: odysseyDesignTokens.Spacing8,
35
35
  }));
36
36
 
37
37
  const StyledBannersContainer = styled("div")(() => ({
@@ -1,5 +1,12 @@
1
1
  navigation.label = Main navigation
2
2
  navigation.footer = Navigation secondary links
3
+ navigation.drag.handle = Drag handle
4
+ sortable.list.drag.start = Picked up draggable item {{activeId}}
5
+ sortable.list.drag.moved.over = Draggable item {{activeId}} was moved over droppable area {{overId}}
6
+ sortable.list.drag.nolonger.over = Draggable item {{activeId}} is no longer over a droppable area
7
+ sortable.list.drag.end.dropped.over = Draggable item {{activeId}} was dropped over droppable area {{overId}}
8
+ sortable.list.drag.end.dropped = Draggable item {{activeId}} was dropped
9
+ sortable.list.drag.cancel = Dragging was cancelled. Draggable item {{activeId}} was dropped
3
10
 
4
11
  breadcrumbs.home.text = Home
5
12
  breadcrumbs.label.text = Breadcrumbs
@@ -1 +1 @@
1
- export const translation = {"navigation.label":"Main navigation","navigation.footer":"Navigation secondary links","breadcrumbs.home.text":"Home","breadcrumbs.label.text":"Breadcrumbs","close.text":"Close","clear.text":"Clear","open.text":"Open","picker.calendar.navigation.nextmonth":"Next month","picker.calendar.navigation.previousmonth":"Previous month","picker.date.toolbar.title":"Selected date","picker.daterange.toolbar.title":"Select date range","picker.datetime.toolbar.title":"Select date & time","picker.error.invalid":"Correct the date format or select the date from the calendar.","picker.error.mindate":"Date entered is earlier than allowed dates. Select a date from the range available in the calendar.","picker.error.maxdate":"Date entered is later than the allowed dates. Select a date from the range available in the calendar.","picker.field.placeholder.day":"DD","picker.field.placeholder.hours":"hh","picker.field.placeholder.meridiem":"aa","picker.field.placeholder.minutes":"mm","picker.field.placeholder.month":"MM","picker.field.placeholder.seconds":"ss","picker.field.placeholder.year":"YYYY","picker.labels.action.apply":"Apply","picker.labels.action.cancel":"Cancel","picker.labels.action.today":"Today","picker.labels.clock.empty":"No time selected","picker.labels.clock.hours":"hours","picker.labels.clock.minutes":"minutes","picker.labels.clock.seconds":"seconds","picker.labels.clock.selected":"Selected time is","picker.labels.date.choose":"Choose date","picker.labels.date.selected":"Selected date is","picker.labels.empty":"Empty","picker.labels.field.clear":"Clear value","picker.labels.range.end":"End","picker.labels.range.enddate":"End date","picker.labels.range.endtime":"End time","picker.labels.range.start":"Start","picker.labels.range.startdate":"Start date","picker.labels.range.starttime":"Start time","picker.labels.select":"Select","picker.labels.table.date":"pick date","picker.labels.table.time":"pick time","picker.labels.time.choose":"Choose time","picker.labels.time.selected":"selected time is","picker.time.toolbar.title":"Select time","picker.view.name.day":"Day","picker.view.name.hours":"Hours","picker.view.name.meridiem":"Meridiem","picker.view.name.minutes":"Minutes","picker.view.name.month":"Month","picker.view.name.seconds":"Seconds","picker.view.name.weekday":"Week day","picker.view.name.year":"Year","picker.view.navigation.open.nextview":"Open next view","picker.view.navigation.open.previousview":"Open previous view","picker.view.navigation.switch.calendarview":"year view is open, switch to calendar view","picker.view.navigation.switch.yearview":"calendar view is open, switch to year view","fielderror.screenreader.text":"Error","fieldlabel.optional.text":"Optional","fieldlabel.required.text":"Required","filters.clear.label":"Clear filters","filters.filter.any":"Any","filters.filter.clear":"Clear filter","filters.filters.arialabel":"Filters","filters.menuitem.any":"Any {{label}}","filters.menuitem.selected":"{{selected}} selected","filters.search.label":"Search","fileupload.button.text":"Add files","fileupload.prompt.text":"Drag and drop files here or click to add files","fileupload.removefile.text":"Remove file","passwordfield.icon.label.hide":"Hide password","passwordfield.icon.label.show":"Show password","severity.error":"error","severity.info":"info","severity.success":"success","severity.warning":"warning","sidenav.toggle.expand":"Open navigation","sidenav.toggle.collapse":"Close navigation","switch.active":"Active","switch.inactive":"Inactive","table.columnvisibility.arialabel":"Show/hide columns","table.density.arialabel":"Table density","table.draghandle.arialabel":"Drag row to reorder. Or, press space or enter to start and stop reordering and esc to cancel.","table.draghandle.tooltip":"Drag row or press space/enter key to start and stop reordering","table.actions":"Actions","table.error":"Error loading data.","table.fetchedrows.text":"Fetched {{totalRows}} row","table.fetchedrows.text_plural":"Fetched {{totalRows}} total rows","table.moreactions.arialabel":"More actions","table.noresults.heading":"There are no results.","table.noresults.text":"Try a different query.","table.reorder.backward":"Send backward","table.reorder.forward":"Bring forward","table.reorder.toback":"Send to back","table.reorder.tofront":"Bring to front","table.rows.text":"{{totalRows}} row","table.rows.text_plural":"{{totalRows}} rows","pagination.loadmore":"Show more","pagination.next":"Next page","pagination.previous":"Previous page","pagination.page":"Page","pagination.rowsperpage":"Rows per page","pagination.rowswithtotal":"{{firstRow}}-{{lastRow}} of {{totalRows}} rows","pagination.rowswithouttotal":"{{firstRow}}-{{lastRow}} rows","table.actions.selectall":"Select all","table.actions.selectnone":"Select none","table.actions.selectsome":"{{selectedRowCount}} selected","table.rowexpansion.expand":"Expand","table.rowexpansion.expandall":"Expand all","table.rowexpansion.collapse":"Collapse","table.rowexpansion.collapseall":"Collapse all","dataview.layout.table":"Table","dataview.layout.grid":"Grid","dataview.layout.list":"List","topnav.helpicon":"help page","topnav.settingsicon":"settings page"};
1
+ export const translation = {"navigation.label":"Main navigation","navigation.footer":"Navigation secondary links","navigation.drag.handle":"Drag handle","sortable.list.drag.start":"Picked up draggable item {{activeId}}","sortable.list.drag.moved.over":"Draggable item {{activeId}} was moved over droppable area {{overId}}","sortable.list.drag.nolonger.over":"Draggable item {{activeId}} is no longer over a droppable area","sortable.list.drag.end.dropped.over":"Draggable item {{activeId}} was dropped over droppable area {{overId}}","sortable.list.drag.end.dropped":"Draggable item {{activeId}} was dropped","sortable.list.drag.cancel":"Dragging was cancelled. Draggable item {{activeId}} was dropped","breadcrumbs.home.text":"Home","breadcrumbs.label.text":"Breadcrumbs","close.text":"Close","clear.text":"Clear","open.text":"Open","picker.calendar.navigation.nextmonth":"Next month","picker.calendar.navigation.previousmonth":"Previous month","picker.date.toolbar.title":"Selected date","picker.daterange.toolbar.title":"Select date range","picker.datetime.toolbar.title":"Select date & time","picker.error.invalid":"Correct the date format or select the date from the calendar.","picker.error.mindate":"Date entered is earlier than allowed dates. Select a date from the range available in the calendar.","picker.error.maxdate":"Date entered is later than the allowed dates. Select a date from the range available in the calendar.","picker.field.placeholder.day":"DD","picker.field.placeholder.hours":"hh","picker.field.placeholder.meridiem":"aa","picker.field.placeholder.minutes":"mm","picker.field.placeholder.month":"MM","picker.field.placeholder.seconds":"ss","picker.field.placeholder.year":"YYYY","picker.labels.action.apply":"Apply","picker.labels.action.cancel":"Cancel","picker.labels.action.today":"Today","picker.labels.clock.empty":"No time selected","picker.labels.clock.hours":"hours","picker.labels.clock.minutes":"minutes","picker.labels.clock.seconds":"seconds","picker.labels.clock.selected":"Selected time is","picker.labels.date.choose":"Choose date","picker.labels.date.selected":"Selected date is","picker.labels.empty":"Empty","picker.labels.field.clear":"Clear value","picker.labels.range.end":"End","picker.labels.range.enddate":"End date","picker.labels.range.endtime":"End time","picker.labels.range.start":"Start","picker.labels.range.startdate":"Start date","picker.labels.range.starttime":"Start time","picker.labels.select":"Select","picker.labels.table.date":"pick date","picker.labels.table.time":"pick time","picker.labels.time.choose":"Choose time","picker.labels.time.selected":"selected time is","picker.time.toolbar.title":"Select time","picker.view.name.day":"Day","picker.view.name.hours":"Hours","picker.view.name.meridiem":"Meridiem","picker.view.name.minutes":"Minutes","picker.view.name.month":"Month","picker.view.name.seconds":"Seconds","picker.view.name.weekday":"Week day","picker.view.name.year":"Year","picker.view.navigation.open.nextview":"Open next view","picker.view.navigation.open.previousview":"Open previous view","picker.view.navigation.switch.calendarview":"year view is open, switch to calendar view","picker.view.navigation.switch.yearview":"calendar view is open, switch to year view","fielderror.screenreader.text":"Error","fieldlabel.optional.text":"Optional","fieldlabel.required.text":"Required","filters.clear.label":"Clear filters","filters.filter.any":"Any","filters.filter.clear":"Clear filter","filters.filters.arialabel":"Filters","filters.menuitem.any":"Any {{label}}","filters.menuitem.selected":"{{selected}} selected","filters.search.label":"Search","fileupload.button.text":"Add files","fileupload.prompt.text":"Drag and drop files here or click to add files","fileupload.removefile.text":"Remove file","passwordfield.icon.label.hide":"Hide password","passwordfield.icon.label.show":"Show password","severity.error":"error","severity.info":"info","severity.success":"success","severity.warning":"warning","sidenav.toggle.expand":"Open navigation","sidenav.toggle.collapse":"Close navigation","switch.active":"Active","switch.inactive":"Inactive","table.columnvisibility.arialabel":"Show/hide columns","table.density.arialabel":"Table density","table.draghandle.arialabel":"Drag row to reorder. Or, press space or enter to start and stop reordering and esc to cancel.","table.draghandle.tooltip":"Drag row or press space/enter key to start and stop reordering","table.actions":"Actions","table.error":"Error loading data.","table.fetchedrows.text":"Fetched {{totalRows}} row","table.fetchedrows.text_plural":"Fetched {{totalRows}} total rows","table.moreactions.arialabel":"More actions","table.noresults.heading":"There are no results.","table.noresults.text":"Try a different query.","table.reorder.backward":"Send backward","table.reorder.forward":"Bring forward","table.reorder.toback":"Send to back","table.reorder.tofront":"Bring to front","table.rows.text":"{{totalRows}} row","table.rows.text_plural":"{{totalRows}} rows","pagination.loadmore":"Show more","pagination.next":"Next page","pagination.previous":"Previous page","pagination.page":"Page","pagination.rowsperpage":"Rows per page","pagination.rowswithtotal":"{{firstRow}}-{{lastRow}} of {{totalRows}} rows","pagination.rowswithouttotal":"{{firstRow}}-{{lastRow}} rows","table.actions.selectall":"Select all","table.actions.selectnone":"Select none","table.actions.selectsome":"{{selectedRowCount}} selected","table.rowexpansion.expand":"Expand","table.rowexpansion.expandall":"Expand all","table.rowexpansion.collapse":"Collapse","table.rowexpansion.collapseall":"Collapse all","dataview.layout.table":"Table","dataview.layout.grid":"Grid","dataview.layout.list":"List","topnav.helpicon":"help page","topnav.settingsicon":"settings page"};
@@ -2686,7 +2686,7 @@ export const components = ({
2686
2686
  styleOverrides: {
2687
2687
  root: ({ ownerState }) => ({
2688
2688
  display: "table",
2689
- width: "auto",
2689
+ width: "100%",
2690
2690
  borderCollapse: "separate",
2691
2691
  borderSpacing: 0,
2692
2692
  marginBlock: odysseyTokens.Spacing0,