@cloudscape-design/components-themeable 3.0.114 → 3.0.116

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.
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "51f25a58b9ade5d19428a63fcd9076a71078494b"
2
+ "commit": "080546bf4721c92ffd30297c13d2a9a3e66aecfa"
3
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app-layout/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAM7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAoC9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,QAAA,MAAM,SAAS,2FAmBd,CAAC;AA0gBF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app-layout/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAM7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAoC9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,QAAA,MAAM,SAAS,2FAmBd,CAAC;AA6gBF,eAAe,SAAS,CAAC"}
@@ -76,22 +76,25 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
76
76
  var navigationVisible = !navigationHide && navigationOpen;
77
77
  var toolsVisible = !toolsHide && toolsOpen;
78
78
  var _o = useContentHeight(headerSelector, footerSelector, disableBodyScroll), contentHeightStyle = _o.contentHeightStyle, headerHeight = _o.headerHeight, footerHeight = _o.footerHeight, panelHeightStyle = _o.panelHeightStyle;
79
- var _p = useContainerQuery(function (rect) { return rect.height; }), notificationsHeight = _p[0], notificationsRef = _p[1];
80
- var _q = useContainerQuery(function (rect) { return (splitPanel ? rect.height : 0); }, [splitPanel]), splitPanelHeaderHeight = _q[0], splitPanelHeaderMeasureRef = _q[1];
79
+ var _p = useState(false), isSplitpanelForcedPosition = _p[0], setIsSplitpanelForcedPosition = _p[1];
80
+ var _q = useContainerQuery(function (rect) { return rect.height; }), notificationsHeight = _q[0], notificationsRef = _q[1];
81
+ var _r = useContainerQuery(function (rect) { return (splitPanel ? rect.height : 0); },
82
+ // eslint-disable-next-line react-hooks/exhaustive-deps
83
+ [splitPanel, isSplitpanelForcedPosition]), splitPanelHeaderHeight = _r[0], splitPanelHeaderMeasureRef = _r[1];
81
84
  var splitPanelHeaderRefObject = useRef(null);
82
85
  var splitPanelHeaderRef = useMergeRefs(splitPanelHeaderMeasureRef, splitPanelHeaderRefObject);
83
86
  var anyPanelOpen = navigationVisible || toolsVisible;
84
87
  var hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;
85
88
  var stickyNotificationsHeight = stickyNotifications ? notificationsHeight : null;
86
- var _r = useControllable(controlledSplitPanelPreferences, onSplitPanelPreferencesChange, undefined, {
89
+ var _s = useControllable(controlledSplitPanelPreferences, onSplitPanelPreferencesChange, undefined, {
87
90
  componentName: 'AppLayout',
88
91
  controlledProp: 'splitPanelPreferences',
89
92
  changeHandler: 'onSplitPanelPreferencesChange'
90
- }), splitPanelPreferences = _r[0], setSplitPanelPreferences = _r[1];
93
+ }), splitPanelPreferences = _s[0], setSplitPanelPreferences = _s[1];
91
94
  var splitPanelPosition = (splitPanelPreferences === null || splitPanelPreferences === void 0 ? void 0 : splitPanelPreferences.position) || 'bottom';
92
- var _s = useContainerQuery(function (rect) { return (splitPanel ? rect.height : 0); },
95
+ var _t = useContainerQuery(function (rect) { return (splitPanel ? rect.height : 0); },
93
96
  // eslint-disable-next-line react-hooks/exhaustive-deps
94
- [splitPanel, splitPanelPosition]), splitPanelHeight = _s[0], splitPanelRef = _s[1];
97
+ [splitPanel, splitPanelPosition, isSplitpanelForcedPosition]), splitPanelHeight = _t[0], splitPanelRef = _t[1];
95
98
  var closedDrawerWidth = 40;
96
99
  var effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;
97
100
  var effectiveToolsWidth = toolsHide && (!splitPanel || (splitPanelPreferences === null || splitPanelPreferences === void 0 ? void 0 : splitPanelPreferences.position) !== 'side')
@@ -100,16 +103,16 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
100
103
  ? toolsWidth
101
104
  : closedDrawerWidth;
102
105
  var defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);
103
- var _t = useControllable(controlledSplitPanelSize, onSplitPanelResize, defaultSplitPanelSize, {
106
+ var _u = useControllable(controlledSplitPanelSize, onSplitPanelResize, defaultSplitPanelSize, {
104
107
  componentName: 'AppLayout',
105
108
  controlledProp: 'splitPanelSize',
106
109
  changeHandler: 'onSplitPanelResize'
107
- }), _u = _t[0], splitPanelSize = _u === void 0 ? defaultSplitPanelSize : _u, setSplitPanelSize = _t[1];
108
- var _v = useControllable(controlledSplitPanelOpen, onSplitPanelToggle, false, {
110
+ }), _v = _u[0], splitPanelSize = _v === void 0 ? defaultSplitPanelSize : _v, setSplitPanelSize = _u[1];
111
+ var _w = useControllable(controlledSplitPanelOpen, onSplitPanelToggle, false, {
109
112
  componentName: 'AppLayout',
110
113
  controlledProp: 'splitPanelOpen',
111
114
  changeHandler: 'onSplitPanelToggle'
112
- }), _w = _v[0], splitPanelOpen = _w === void 0 ? false : _w, setSplitPanelOpen = _v[1];
115
+ }), _x = _w[0], splitPanelOpen = _x === void 0 ? false : _x, setSplitPanelOpen = _w[1];
113
116
  var mainContentRef = useRef(null);
114
117
  var legacyScrollRootRef = useRef(null);
115
118
  var onSplitPanelPreferencesSet = useCallback(function (detail) {
@@ -151,8 +154,7 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
151
154
  : availableHeight - MAIN_PANEL_MIN_HEIGHT;
152
155
  }
153
156
  });
154
- var _x = useState(false), isForcedPosition = _x[0], setIsForcedPosition = _x[1];
155
- var finalSplitPanePosition = isForcedPosition ? 'bottom' : splitPanelPosition;
157
+ var finalSplitPanePosition = isSplitpanelForcedPosition ? 'bottom' : splitPanelPosition;
156
158
  var splitPaneAvailableOnTheSide = Boolean(splitPanel) && finalSplitPanePosition === 'side';
157
159
  var splitPanelOpenOnTheSide = splitPaneAvailableOnTheSide && splitPanelOpen;
158
160
  var toggleButtonsBarWidth = 0;
@@ -166,7 +168,7 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
166
168
  (disableContentPaddings ? 0 : toggleButtonsBarWidth);
167
169
  useEffect(function () {
168
170
  var contentWidth = contentWidthWithSplitPanel - splitPanelSize;
169
- setIsForcedPosition(isMobile || (defaults.minContentWidth || 0) > contentWidth);
171
+ setIsSplitpanelForcedPosition(isMobile || (defaults.minContentWidth || 0) > contentWidth);
170
172
  // This is a workaround to avoid a forced position due to splitPanelSize, which is
171
173
  // user controlled variable.
172
174
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -193,7 +195,7 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
193
195
  isOpen: splitPanelOpen,
194
196
  isMobile: isMobile,
195
197
  isRefresh: false,
196
- isForcedPosition: isForcedPosition,
198
+ isForcedPosition: isSplitpanelForcedPosition,
197
199
  lastInteraction: splitPanelLastInteraction,
198
200
  splitPanelRef: splitPanelRef,
199
201
  splitPanelHeaderRef: splitPanelHeaderRef,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app-layout/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,cAAuC,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,kBAAkB,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAIhE,IAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAChC,UACE,EAAwG,EACxG,GAAkC;IADhC,IAAA,mBAAuB,EAAvB,WAAW,mBAAG,SAAS,KAAA,EAAE,sBAAwB,EAAxB,cAAc,mBAAG,OAAO,KAAA,EAAE,sBAAwB,EAAxB,cAAc,mBAAG,OAAO,KAAA,EAAK,IAAI,cAAtF,mDAAwF,CAAF;IAG9E,IAAA,iBAAiB,GAAK,gBAAgB,CAAiB,WAAW,CAAC,kBAAlD,CAAmD;IAC5E,IAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,wDAAwD;IACxD,IAAM,KAAK,cAAK,WAAW,aAAA,EAAE,cAAc,gBAAA,EAAE,cAAc,gBAAA,IAAK,IAAI,CAAE,CAAC;IAEvE,IAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,CACL,sCAAK,GAAG,EAAE,iBAAiB,IAAM,SAAS,GACvC,SAAS,CAAC,CAAC,CAAC,oBAAC,kBAAkB,eAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,oBAAC,YAAY,eAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CAC5F,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,IAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CACnC,UACE,EAgCiB,EACjB,GAAkC;;;QAhChC,UAAU,gBAAA,EACV,uBAAqB,EAArB,eAAe,mBAAG,GAAG,KAAA,EACrB,cAAc,oBAAA,EACE,wBAAwB,oBAAA,EACxC,KAAK,WAAA,EACL,kBAAgB,EAAhB,UAAU,mBAAG,GAAG,KAAA,EAChB,SAAS,eAAA,EACE,mBAAmB,eAAA,EAC9B,WAAW,iBAAA,EACX,aAAa,mBAAA,EACb,mBAAmB,yBAAA,EACnB,aAAa,mBAAA,EACb,2BAA2B,iCAAA,EAC3B,OAAO,aAAA,EACP,mBAAuB,EAAvB,WAAW,mBAAG,SAAS,KAAA,EACvB,sBAAsB,4BAAA,EACtB,iBAAiB,uBAAA,EACjB,eAAe,qBAAA,EACf,eAAe,qBAAA,EACf,sBAAwB,EAAxB,cAAc,mBAAG,OAAO,KAAA,EACxB,sBAAwB,EAAxB,cAAc,mBAAG,OAAO,KAAA,EACxB,UAAU,gBAAA,EACV,UAAU,gBAAA,EACM,wBAAwB,oBAAA,EACxB,wBAAwB,oBAAA,EACjB,+BAA+B,2BAAA,EACtD,6BAA6B,mCAAA,EAC7B,kBAAkB,wBAAA,EAClB,kBAAkB,wBAAA,EAClB,kBAAkB,wBAAA,EAClB,aAAa,mBAAA;IAIf,IAAI,aAAa,EAAE;QACjB,IAAI,mBAAmB,IAAI,SAAS,EAAE;YACpC,QAAQ,CACN,WAAW,EACX,4JAAwK,CACzK,CAAC;SACH;KACF;IACD,IAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,IAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,IAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAErF,IAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,EAAE,eAAe,iBAAA,EAAE,eAAe,iBAAA,EAAE,EAAE,KAAK,CAAC,CAAC;IACnF,IAAA,KAA8C,eAAe,CACjE,wBAAwB,EACxB,kBAAkB,EAClB,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,EAC1C,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,CACtG,EALM,UAAsB,EAAtB,cAAc,mBAAG,KAAK,KAAA,EAAE,iBAAiB,QAK/C,CAAC;IAEI,IAAA,KAAoC,eAAe,CACvD,mBAAmB,EACnB,aAAa,EACb,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EACrC,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,CAC5F,EALM,UAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EAAE,YAAY,QAKrC,CAAC;IAEF,IAAM,kBAAkB,GAAG,WAAW,CACpC,UAAC,IAAa;QACZ,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;IACvD,CAAC,EACD,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CACxC,CAAC;IACF,IAAM,aAAa,GAAG,WAAW,CAC/B,UAAC,IAAa;QACZ,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,sBAAsB,CAAC,aAAa,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;IAClD,CAAC,EACD,CAAC,YAAY,EAAE,aAAa,CAAC,CAC9B,CAAC;IACF,IAAM,iBAAiB,GAAG,UAAC,KAAuB;QAChD,IAAM,OAAO,GAAG,WAAW,CACzB,KAAK,CAAC,MAAqB,EAC3B,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC,CAAE,IAA0B,CAAC,IAAI,EAA1D,CAA0D,CACnE,CAAC;QACF,IAAI,OAAO,EAAE;YACX,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAC3B;IACH,CAAC,CAAC;IAEF,IAAM,iBAAiB,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC;IAC5D,IAAM,YAAY,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC;IAEvC,IAAA,KAAuE,gBAAgB,CAC3F,cAAc,EACd,cAAc,EACd,iBAAiB,CAClB,EAJO,kBAAkB,wBAAA,EAAE,YAAY,kBAAA,EAAE,YAAY,kBAAA,EAAE,gBAAgB,sBAIvE,CAAC;IACI,IAAA,KAA0C,iBAAiB,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,EAAX,CAAW,CAAC,EAA/E,mBAAmB,QAAA,EAAE,gBAAgB,QAA0C,CAAC;IACjF,IAAA,KAAuD,iBAAiB,CAC5E,UAAA,IAAI,IAAI,OAAA,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAA9B,CAA8B,EACtC,CAAC,UAAU,CAAC,CACb,EAHM,sBAAsB,QAAA,EAAE,0BAA0B,QAGxD,CAAC;IACF,IAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAM,mBAAmB,GAAG,YAAY,CAAC,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;IAChG,IAAM,YAAY,GAAG,iBAAiB,IAAI,YAAY,CAAC;IACvD,IAAM,wBAAwB,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvF,IAAM,yBAAyB,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7E,IAAA,KAAoD,eAAe,CACvE,+BAA+B,EAC/B,6BAA6B,EAC7B,SAAS,EACT;QACE,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,+BAA+B;KAC/C,CACF,EATM,qBAAqB,QAAA,EAAE,wBAAwB,QASrD,CAAC;IACF,IAAM,kBAAkB,GAAG,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,KAAI,QAAQ,CAAC;IAEjE,IAAA,KAAoC,iBAAiB,CACzD,UAAA,IAAI,IAAI,OAAA,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAA9B,CAA8B;IACtC,uDAAuD;IACvD,CAAC,UAAU,EAAE,kBAAkB,CAAC,CACjC,EAJM,gBAAgB,QAAA,EAAE,aAAa,QAIrC,CAAC;IAEF,IAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,IAAM,wBAAwB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC3G,IAAM,mBAAmB,GACvB,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,MAAK,MAAM,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,iBAAiB,CAAC;IAExB,IAAM,qBAAqB,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IACrE,IAAA,KAA8D,eAAe,CACjF,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB;QACE,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,oBAAoB;KACpC,CACF,EATM,UAAsC,EAAtC,cAAc,mBAAG,qBAAqB,KAAA,EAAE,iBAAiB,QAS/D,CAAC;IAEI,IAAA,KAA8C,eAAe,CACjE,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL;QACE,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,oBAAoB;KACpC,CACF,EATM,UAAsB,EAAtB,cAAc,mBAAG,KAAK,KAAA,EAAE,iBAAiB,QAS/C,CAAC;IAEF,IAAM,cAAc,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACpD,IAAM,mBAAmB,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAEtD,IAAM,0BAA0B,GAAG,WAAW,CAC5C,UAAC,MAAuC;QACtC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjC,sBAAsB,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,wBAAwB,EAAE,6BAA6B,CAAC,CAC1D,CAAC;IACF,IAAM,mBAAmB,GAAG,WAAW,CACrC,UAAC,MAAwB;QACvB,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC,EACD,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CACxC,CAAC;IACF,IAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;QACnC,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE5D,IAAM,qBAAqB,GAAG,qBAAqB,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;YACxD,OAAO,GAAG,CAAC;SACZ;QAED,IAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;QACvE,qEAAqE;QACrE,qEAAqE;QACrE,IAAM,cAAc,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,CAAC,eAAe,GAAG,cAAc,CAAC;QACzE,IAAM,UAAU,GAAG,sBAAsB,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAM,sBAAsB,GAAG,qBAAqB,CAAC;QACnD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,OAAO,CAAC,CAAC,CAAC,sDAAsD;SACjE;aAAM,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,OAAO,EAAE;YAC3D,IAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC;YACjE,OAAO,eAAe,GAAG,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,GAAG,qBAAqB,CAAC;SAC9G;aAAM;YACL,IAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;YAC5F,OAAO,eAAe,GAAG,uBAAuB;gBAC9C,CAAC,CAAC,eAAe,GAAG,iCAAiC;gBACrD,CAAC,CAAC,eAAe,GAAG,qBAAqB,CAAC;SAC7C;IACH,CAAC,CAAC,CAAC;IAEG,IAAA,KAA0C,QAAQ,CAAC,KAAK,CAAC,EAAxD,gBAAgB,QAAA,EAAE,mBAAmB,QAAmB,CAAC;IAChE,IAAM,sBAAsB,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAEhF,IAAM,2BAA2B,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,sBAAsB,KAAK,MAAM,CAAC;IAC7F,IAAM,uBAAuB,GAAG,2BAA2B,IAAI,cAAc,CAAC;IAE9E,IAAM,qBAAqB,GAAG,CAAC,CAAC;IAEhC,IAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAA,KAA2C,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAvE,UAAU,UAAA,EAAS,WAAW,WAAyC,CAAC;IACtF,IAAM,0BAA0B,GAC9B,WAAW;QACX,UAAU;QACV,WAAW;QACX,mBAAmB;QACnB,wBAAwB;QACxB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAEvD,SAAS,CAAC;QACR,IAAM,YAAY,GAAG,0BAA0B,GAAG,cAAc,CAAC;QACjE,mBAAmB,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QAChF,kFAAkF;QAClF,4BAA4B;QAC5B,uDAAuD;IACzD,CAAC,EAAE,CAAC,0BAA0B,EAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErE,IAAM,qBAAqB,GAAG,cAAc,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACjF,IAAM,gBAAgB,GAAG,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAEjE,IAAA,KAA4D,QAAQ,EAAyC,EAA5G,yBAAyB,QAAA,EAAE,4BAA4B,QAAqD,CAAC;IACpH,iBAAiB,CACf,cAAM,OAAA,4BAA4B,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAnF,CAAmF,EACzF,CAAC,cAAc,CAAC,CACjB,CAAC;IACF,iBAAiB,CAAC,cAAM,OAAA,4BAA4B,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAlD,CAAkD,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAElG,IAAM,oBAAoB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtF,IAAA,KAAsD,QAAQ,CAAC,CAAC,CAAC,EAAhE,sBAAsB,QAAA,EAAE,yBAAyB,QAAe,CAAC;IAExE,IAAM,iBAAiB,GAA2B;QAChD,SAAS,EAAE,YAAY,GAAG,CAAC,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,YAAY,EAAE,YAAY;QAC1B,UAAU,EACR,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC3G,WAAW,EAAE,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACnG,QAAQ,EAAE,sBAAsB;QAChC,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,sBAAsB;QACpC,SAAS,EAAE,cAAM,OAAA,yBAAyB,CAAC,OAAO,EAAjC,CAAiC;QAClD,sBAAsB,wBAAA;QACtB,kBAAkB,EAAE,oBAAoB;QACxC,MAAM,EAAE,cAAc;QACtB,QAAQ,UAAA;QACR,SAAS,EAAE,KAAK;QAChB,gBAAgB,kBAAA;QAChB,eAAe,EAAE,yBAAyB;QAC1C,aAAa,eAAA;QACb,mBAAmB,qBAAA;QACnB,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ,UAAA;QACR,mBAAmB,EAAE,0BAA0B;QAC/C,UAAU,EAAE,yBAAyB;KACtC,CAAC;IAEF,IAAM,mBAAmB,GAAwB;QAC/C,iBAAiB,EAAE,cAAc,IAAI,CAAC,CAAC,cAAc;QACrD,YAAY;QACV,uDAAuD;QACvD,yEAAyE;QACzE,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,sBAAsB,KAAK,MAAM,CAAC,CAAC;YACjE,qCAAqC;YACrC,YAAY;YACZ,0CAA0C;YAC1C,uBAAuB;QACzB,QAAQ,UAAA;KACT,CAAC;IAEM,IAAM,cAAc,GAAK,eAAe,CAAC,cAAc,CAAC,KAApC,CAAqC;IAC3D,IAAA,KAA4E,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,EAApG,SAAS,UAAA,EAAY,eAAe,cAAA,EAAa,cAAc,eAAqC,CAAC;IAEnH,mBAAmB,CACjB,GAAG,EACH,cAAM,OAAA,CAAC;QACL,SAAS,EAAE,cAAM,OAAA,aAAa,CAAC,IAAI,CAAC,EAAnB,CAAmB;QACpC,0BAA0B,EAAE;YAC1B,IAAI,QAAQ,EAAE;gBACZ,kBAAkB,CAAC,KAAK,CAAC,CAAC;aAC3B;QACH,CAAC;QACD,eAAe,iBAAA;KAChB,CAAC,EARI,CAQJ,EACF,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,CAAC,CAC/D,CAAC;IAEF,IAAM,sBAAsB,GAC1B,MAAA,CAAC,CAAC,UAAU,IAAI,sBAAsB,KAAK,QAAQ;QACjD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,sBAAsB,CAAC,mCAAI,SAAS,CAAC;IAE3C,IAAM,kBAAkB,GAAG,CAAC,QAAQ;QAClC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE;QAC5E,CAAC,CAAC,SAAS,CAAC;IAEd,IAAM,mBAAmB,GAAG,sBAAsB,CAAC;IAEnD,IAAM,gBAAgB,GAAG,CAAC;QACxB,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,CAAC;SACV;QAED,IAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACnF,IAAM,eAAe,GACnB,CAAC,UAAU,IAAI,sBAAsB,KAAK,MAAM;YAC9C,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,iBAAiB,CAAC;QAExB,OAAO,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC;IAEL,IAAM,qBAAqB,GAAG,CAAC;QAC7B,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,CAAC;SACV;QAED,OAAO,wBAAwB,CAAC;IAClC,CAAC,CAAC,EAAE,CAAC;IAEL,IAAM,oBAAoB,GAAG,qBAAqB,CAChD,0BAA0B,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CACpF,CAAC;IAEF,IAAM,aAAa,GAAG,CAAC;QACrB,IAAI,QAAQ,IAAI,CAAC,eAAe,IAAI,CAAC,sBAAsB,IAAI,CAAC,oBAAoB,EAAE;YACpF,OAAO,SAAS,CAAC;SAClB;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,iBAAiB,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAChG,GAAG,EAAE,OAAO;QAEZ,6BAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,kBAAkB;YAChE,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC,IAAI,CAC7D,oBAAC,aAAa,IACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAC1E,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,cAAM,OAAA,kBAAkB,CAAC,IAAI,CAAC,EAAxB,CAAwB,EAChD,WAAW,EAAE,cAAM,OAAA,aAAa,CAAC,IAAI,CAAC,EAAnB,CAAmB,EACtC,WAAW,EAAE,YAAY,IAExB,WAAW,CACE,CACjB;YACD,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACjF,CAAC,cAAc,IAAI,CAClB,oBAAC,eAAe,IACd,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU,EACtB,qBAAqB,EAAE,qBAAqB,EAC5C,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EACjD,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,cAAc,EAC1B,eAAe,EAAE,eAAe,GAChC,CACH;gBACD,8BACE,GAAG,EAAE,mBAAmB,EACxB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;wBACnC,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAG,iBAAiB;wBACrD,GAAC,cAAc,CAAC,0BAA0B,CAAC,IAAG,iBAAiB;wBAC/D,GAAC,MAAM,CAAC,WAAW,IAAG,QAAQ,IAAI,YAAY;4BAC9C;oBAEF,6BACE,KAAK,EAAE;4BACL,YAAY,EAAE,sBAAsB;4BACpC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,iBAAU,aAAa,MAAG,CAAC,CAAC,CAAC,SAAS;yBAClE;wBAEA,aAAa,IAAI,CAChB,oBAAC,aAAa,IACZ,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,aAAa,CAAC,EAC5E,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAC/C,MAAM,EAAE,CAAC,QAAQ,IAAI,mBAAmB,EACxC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,mBAAmB,CAAC,iBAAiB,EACxD,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAC9C,kBAAkB,EAAE,kBAAkB,IAErC,aAAa,CACA,CACjB;wBACA,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,aAAa,CAAC,IAAI,CAChD,oBAAC,cAAc,eAAK,mBAAmB,IAAE,kBAAkB,EAAE,kBAAkB;4BAC5E,CAAC,QAAQ,IAAI,WAAW,IAAI,CAC3B,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAE7F,WAAW,CACR,CACP;4BACA,aAAa,IAAI,CAChB,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,wBAAwB,CAAC,EAChC,CAAC,wBAAwB;oCACvB,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC;oCAC1B,MAAM,CAAC,2BAA2B,CAAC,EACrC,CAAC,wBAAwB,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,oCAAoC,CAAC,EACzF,CAAC,2BAA2B,IAAI,MAAM,CAAC,mCAAmC,CAAC,CAC5E,IAEA,aAAa,CACV,CACP,CACc,CAClB;wBACD,oBAAC,cAAc,eACT,mBAAmB,IACvB,GAAG,EAAE,cAAc,EACnB,eAAe,EAAE,sBAAsB;4BACvC,wDAAwD;4BACxD,SAAS,EAAE,IAAI,CACb,CAAC,sBAAsB,IAAI,MAAM,CAAC,iBAAiB,CAAC,EACpD,CAAC,sBAAsB;gCACrB,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC;gCAC1B,CAAC,aAAa;gCACd,MAAM,CAAC,2BAA2B,CAAC,EACrC,CAAC,wBAAwB;gCACvB,CAAC,WAAW;gCACZ,CAAC,QAAQ;gCACT,CAAC,aAAa;gCACd,MAAM,CAAC,6BAA6B,CAAC,CACxC;4BAED,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,OAAO,EACd,cAAc,CAAC,OAAO,EACtB,CAAC,2BAA2B,IAAI,aAAa,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAC9E,EACD,KAAK,EAAE,kBAAkB;gCAEzB,oBAAC,gBAAgB,CAAC,QAAQ,IACxB,KAAK,EAAE;wCACL,eAAe,EACb,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4CACtC,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;wCACtE,kBAAkB,EAAE,YAAY,GAAG,CAAC,sBAAsB,IAAI,CAAC,CAAC;qCACjE,IAEA,OAAO,CACkB,CACxB,CACS,CACb;oBACL,sBAAsB,KAAK,QAAQ,IAAI,CACtC,oBAAC,iBAAiB,IAAC,OAAO,EAAE,iBAAiB,IAAG,UAAU,CAAqB,CAChF,CACI;gBAEP,oBAAC,kBAAkB,IACjB,UAAU,EAAE,sBAAsB,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACtE,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,sBAAsB,EAAE,sBAAsB,EAC9C,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,uBAAuB,EACvC,sBAAsB,EAAE,sBAAsB,EAC9C,UAAU,EAAE,SAAS,EACrB,gBAAgB,EAAE,cAAc,EAChC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAC7B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACtB,CACE,CACF,CACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACzC,eAAe,SAAS,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { getBaseProps } from '../internal/base-component';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { applyDefaults } from './defaults';\nimport { AppLayoutProps } from './interfaces';\nimport { Notifications } from './notifications';\nimport { MobileToolbar } from './mobile-toolbar';\nimport { SplitPanelWrapper } from './split-panel-wrapper';\nimport { useFocusControl } from './utils/use-focus-control';\nimport useWindowWidth from './utils/use-window-width';\nimport useContentHeight from './utils/use-content-height';\nimport styles from './styles.css.js';\nimport testutilStyles from './test-classes/styles.css.js';\nimport { findUpUntil } from '../internal/utils/dom';\nimport { AppLayoutContext } from '../internal/context/app-layout-context';\nimport { useContainerQuery } from '../internal/hooks/container-queries';\nimport { useStableEventHandler } from '../internal/hooks/use-stable-event-handler';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { SplitPanelContextProps, SplitPanelLastInteraction } from '../internal/context/split-panel-context';\nimport {\n CONSTRAINED_MAIN_PANEL_MIN_HEIGHT,\n CONSTRAINED_PAGE_HEIGHT,\n getSplitPanelDefaultSize,\n MAIN_PANEL_MIN_HEIGHT,\n} from '../split-panel/utils/size-utils';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport ContentWrapper, { ContentWrapperProps } from './content-wrapper';\nimport { isMotionDisabled } from '../internal/motion';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\nimport { NavigationPanel } from './navigation-panel';\nimport { ToolsAndSplitPanel } from './tools-and-split-panel';\nimport { usePreviousFrameValue } from '../internal/hooks/use-previous-frame';\nimport useAppLayoutOffsets from './utils/use-content-width';\nimport { isDevelopment } from '../internal/is-development';\nimport { warnOnce } from '../internal/logging';\n\nimport RefreshedAppLayout from './visual-refresh';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\n\nexport { AppLayoutProps };\n\nconst AppLayout = React.forwardRef(\n (\n { contentType = 'default', headerSelector = '#b #h', footerSelector = '#b #f', ...rest }: AppLayoutProps,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent<HTMLDivElement>('AppLayout');\n const isRefresh = useVisualRefresh();\n\n // This re-builds the props including the default values\n const props = { contentType, headerSelector, footerSelector, ...rest };\n\n const baseProps = getBaseProps(rest);\n\n return (\n <div ref={__internalRootRef} {...baseProps}>\n {isRefresh ? <RefreshedAppLayout {...props} ref={ref} /> : <OldAppLayout {...props} ref={ref} />}\n </div>\n );\n }\n);\n\nconst OldAppLayout = React.forwardRef(\n (\n {\n navigation,\n navigationWidth = 280,\n navigationHide,\n navigationOpen: controlledNavigationOpen,\n tools,\n toolsWidth = 290,\n toolsHide,\n toolsOpen: controlledToolsOpen,\n breadcrumbs,\n notifications,\n stickyNotifications,\n contentHeader,\n disableContentHeaderOverlap,\n content,\n contentType = 'default',\n disableContentPaddings,\n disableBodyScroll,\n maxContentWidth,\n minContentWidth,\n headerSelector = '#b #h',\n footerSelector = '#b #f',\n ariaLabels,\n splitPanel,\n splitPanelSize: controlledSplitPanelSize,\n splitPanelOpen: controlledSplitPanelOpen,\n splitPanelPreferences: controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n onSplitPanelResize,\n onSplitPanelToggle,\n onNavigationChange,\n onToolsChange,\n }: AppLayoutProps,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n if (isDevelopment) {\n if (controlledToolsOpen && toolsHide) {\n warnOnce(\n 'AppLayout',\n `You have enabled both the \\`toolsOpen\\` prop and the \\`toolsHide\\` prop. This is not supported. Set \\`toolsOpen\\` to \\`false\\` when you set \\`toolsHide\\` to \\`true\\`.`\n );\n }\n }\n const rootRef = useRef<HTMLDivElement>(null);\n const isMobile = useMobile();\n const isMotionEnabled = rootRef.current ? !isMotionDisabled(rootRef.current) : false;\n\n const defaults = applyDefaults(contentType, { maxContentWidth, minContentWidth }, false);\n const [navigationOpen = false, setNavigationOpen] = useControllable(\n controlledNavigationOpen,\n onNavigationChange,\n isMobile ? false : defaults.navigationOpen,\n { componentName: 'AppLayout', controlledProp: 'navigationOpen', changeHandler: 'onNavigationChange' }\n );\n\n const [toolsOpen = false, setToolsOpen] = useControllable(\n controlledToolsOpen,\n onToolsChange,\n isMobile ? false : defaults.toolsOpen,\n { componentName: 'AppLayout', controlledProp: 'toolsOpen', changeHandler: 'onToolsChange' }\n );\n\n const onNavigationToggle = useCallback(\n (open: boolean) => {\n setNavigationOpen(open);\n fireNonCancelableEvent(onNavigationChange, { open });\n },\n [setNavigationOpen, onNavigationChange]\n );\n const onToolsToggle = useCallback(\n (open: boolean) => {\n setToolsOpen(open);\n fireNonCancelableEvent(onToolsChange, { open });\n },\n [setToolsOpen, onToolsChange]\n );\n const onNavigationClick = (event: React.MouseEvent) => {\n const hasLink = findUpUntil(\n event.target as HTMLElement,\n node => node.tagName === 'A' && !!(node as HTMLAnchorElement).href\n );\n if (hasLink) {\n onNavigationToggle(false);\n }\n };\n\n const navigationVisible = !navigationHide && navigationOpen;\n const toolsVisible = !toolsHide && toolsOpen;\n\n const { contentHeightStyle, headerHeight, footerHeight, panelHeightStyle } = useContentHeight(\n headerSelector,\n footerSelector,\n disableBodyScroll\n );\n const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.height);\n const [splitPanelHeaderHeight, splitPanelHeaderMeasureRef] = useContainerQuery(\n rect => (splitPanel ? rect.height : 0),\n [splitPanel]\n );\n const splitPanelHeaderRefObject = useRef(null);\n const splitPanelHeaderRef = useMergeRefs(splitPanelHeaderMeasureRef, splitPanelHeaderRefObject);\n const anyPanelOpen = navigationVisible || toolsVisible;\n const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;\n const stickyNotificationsHeight = stickyNotifications ? notificationsHeight : null;\n\n const [splitPanelPreferences, setSplitPanelPreferences] = useControllable(\n controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n undefined,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelPreferences',\n changeHandler: 'onSplitPanelPreferencesChange',\n }\n );\n const splitPanelPosition = splitPanelPreferences?.position || 'bottom';\n\n const [splitPanelHeight, splitPanelRef] = useContainerQuery(\n rect => (splitPanel ? rect.height : 0),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [splitPanel, splitPanelPosition]\n );\n\n const closedDrawerWidth = 40;\n const effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;\n const effectiveToolsWidth =\n toolsHide && (!splitPanel || splitPanelPreferences?.position !== 'side')\n ? 0\n : toolsOpen\n ? toolsWidth\n : closedDrawerWidth;\n\n const defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);\n const [splitPanelSize = defaultSplitPanelSize, setSplitPanelSize] = useControllable(\n controlledSplitPanelSize,\n onSplitPanelResize,\n defaultSplitPanelSize,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelSize',\n changeHandler: 'onSplitPanelResize',\n }\n );\n\n const [splitPanelOpen = false, setSplitPanelOpen] = useControllable(\n controlledSplitPanelOpen,\n onSplitPanelToggle,\n false,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelOpen',\n changeHandler: 'onSplitPanelToggle',\n }\n );\n\n const mainContentRef = useRef<HTMLDivElement>(null);\n const legacyScrollRootRef = useRef<HTMLElement>(null);\n\n const onSplitPanelPreferencesSet = useCallback(\n (detail: { position: 'side' | 'bottom' }) => {\n setSplitPanelPreferences(detail);\n fireNonCancelableEvent(onSplitPanelPreferencesChange, detail);\n },\n [setSplitPanelPreferences, onSplitPanelPreferencesChange]\n );\n const onSplitPanelSizeSet = useCallback(\n (detail: { size: number }) => {\n setSplitPanelSize(detail.size);\n fireNonCancelableEvent(onSplitPanelResize, detail);\n },\n [setSplitPanelSize, onSplitPanelResize]\n );\n const onToggle = useCallback(() => {\n setSplitPanelOpen(!splitPanelOpen);\n fireNonCancelableEvent(onSplitPanelToggle, { open: !splitPanelOpen });\n }, [setSplitPanelOpen, splitPanelOpen, onSplitPanelToggle]);\n\n const getSplitPanelMaxWidth = useStableEventHandler(() => {\n if (!mainContentRef.current || !defaults.minContentWidth) {\n return NaN;\n }\n\n const width = parseInt(getComputedStyle(mainContentRef.current).width);\n // when disableContentPaddings is true there is less available space,\n // so we subtract space-scaled-2x-xxxl * 2 for left and right padding\n const contentPadding = disableContentPaddings ? 80 : 0;\n const spaceAvailable = width - defaults.minContentWidth - contentPadding;\n const spaceTaken = finalSplitPanePosition === 'side' ? splitPanelSize : 0;\n return Math.max(0, spaceTaken + spaceAvailable);\n });\n\n const getSplitPanelMaxHeight = useStableEventHandler(() => {\n if (typeof document === 'undefined') {\n return 0; // render the split panel in its minimum possible size\n } else if (disableBodyScroll && legacyScrollRootRef.current) {\n const availableHeight = legacyScrollRootRef.current.clientHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT ? availableHeight : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n } else {\n const availableHeight = document.documentElement.clientHeight - headerHeight - footerHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT\n ? availableHeight - CONSTRAINED_MAIN_PANEL_MIN_HEIGHT\n : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n }\n });\n\n const [isForcedPosition, setIsForcedPosition] = useState(false);\n const finalSplitPanePosition = isForcedPosition ? 'bottom' : splitPanelPosition;\n\n const splitPaneAvailableOnTheSide = Boolean(splitPanel) && finalSplitPanePosition === 'side';\n const splitPanelOpenOnTheSide = splitPaneAvailableOnTheSide && splitPanelOpen;\n\n const toggleButtonsBarWidth = 0;\n\n const windowWidth = useWindowWidth();\n const { left: leftOffset, right: rightOffset } = useAppLayoutOffsets(rootRef.current);\n const contentWidthWithSplitPanel =\n windowWidth -\n leftOffset -\n rightOffset -\n effectiveToolsWidth -\n effectiveNavigationWidth -\n (disableContentPaddings ? 0 : toggleButtonsBarWidth);\n\n useEffect(() => {\n const contentWidth = contentWidthWithSplitPanel - splitPanelSize;\n setIsForcedPosition(isMobile || (defaults.minContentWidth || 0) > contentWidth);\n // This is a workaround to avoid a forced position due to splitPanelSize, which is\n // user controlled variable.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [contentWidthWithSplitPanel, defaults.minContentWidth, isMobile]);\n\n const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;\n const toolsClosedWidth = toolsHide || isMobile ? 0 : closedDrawerWidth;\n\n const [splitPanelLastInteraction, setSplitPanelLastInteraction] = useState<undefined | SplitPanelLastInteraction>();\n useEffectOnUpdate(\n () => setSplitPanelLastInteraction(splitPanelOpen ? { type: 'open' } : { type: 'close' }),\n [splitPanelOpen]\n );\n useEffectOnUpdate(() => setSplitPanelLastInteraction({ type: 'position' }), [splitPanelPosition]);\n\n const contentMaxWidthStyle = !isMobile ? { maxWidth: defaults.maxContentWidth } : undefined;\n\n const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);\n\n const splitPanelContext: SplitPanelContextProps = {\n topOffset: headerHeight + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight || 0 : 0),\n bottomOffset: footerHeight,\n leftOffset:\n leftOffset + (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),\n rightOffset: rightOffset + (isMobile ? 0 : !toolsHide && toolsOpen ? toolsWidth : toolsClosedWidth),\n position: finalSplitPanePosition,\n size: splitPanelSize,\n getMaxWidth: getSplitPanelMaxWidth,\n getMaxHeight: getSplitPanelMaxHeight,\n getHeader: () => splitPanelHeaderRefObject.current,\n disableContentPaddings,\n contentWidthStyles: contentMaxWidthStyle,\n isOpen: splitPanelOpen,\n isMobile,\n isRefresh: false,\n isForcedPosition,\n lastInteraction: splitPanelLastInteraction,\n splitPanelRef,\n splitPanelHeaderRef,\n onResize: onSplitPanelSizeSet,\n onToggle,\n onPreferencesChange: onSplitPanelPreferencesSet,\n reportSize: setSplitPanelReportedSize,\n };\n\n const contentWrapperProps: ContentWrapperProps = {\n navigationPadding: navigationHide || !!navigationOpen,\n toolsPadding:\n // tools padding is displayed in one of the three cases\n // 1. Nothing on the that screen edge (no tools panel and no split panel)\n (toolsHide && (!splitPanel || finalSplitPanePosition !== 'side')) ||\n // 2. Tools panel is present and open\n toolsVisible ||\n // 3. Split panel is open in side position\n splitPanelOpenOnTheSide,\n isMobile,\n };\n\n const { refs: navigationRefs } = useFocusControl(navigationOpen);\n const { refs: toolsRefs, setFocus: focusToolsClose, loseFocus: loseToolsFocus } = useFocusControl(toolsOpen, true);\n\n useImperativeHandle(\n ref,\n () => ({\n openTools: () => onToolsToggle(true),\n closeNavigationIfNecessary: () => {\n if (isMobile) {\n onNavigationToggle(false);\n }\n },\n focusToolsClose,\n }),\n [isMobile, onNavigationToggle, onToolsToggle, focusToolsClose]\n );\n\n const splitPanelBottomOffset =\n (!splitPanel || finalSplitPanePosition !== 'bottom'\n ? undefined\n : splitPanelOpen\n ? splitPanelHeight\n : splitPanelHeaderHeight) ?? undefined;\n\n const contentWidthStyles = !isMobile\n ? { minWidth: defaults.minContentWidth, maxWidth: defaults.maxContentWidth }\n : undefined;\n\n const isToolsDrawerHidden = disableContentPaddings;\n\n const toolsDrawerWidth = (() => {\n if (isMobile) {\n return 0;\n }\n\n const toolsPanelWidth = toolsHide ? 0 : toolsOpen ? toolsWidth : closedDrawerWidth;\n const splitPanelWidth =\n !splitPanel || finalSplitPanePosition !== 'side'\n ? 0\n : splitPanelOpen\n ? splitPanelReportedSize\n : closedDrawerWidth;\n\n return toolsPanelWidth + splitPanelWidth;\n })();\n\n const navigationDrawerWidth = (() => {\n if (isMobile) {\n return 0;\n }\n\n return effectiveNavigationWidth;\n })();\n\n const previousContentWidth = usePreviousFrameValue(\n contentWidthWithSplitPanel - (splitPanelOpenOnTheSide ? splitPanelReportedSize : 0)\n );\n\n const contentScaleX = (() => {\n if (isMobile || !isMotionEnabled || !disableContentPaddings || !previousContentWidth) {\n return undefined;\n }\n })();\n\n return (\n <div\n className={clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll'])}\n ref={rootRef}\n >\n <div className={styles['layout-wrapper']} style={contentHeightStyle}>\n {isMobile && (!toolsHide || !navigationHide || breadcrumbs) && (\n <MobileToolbar\n anyPanelOpen={anyPanelOpen}\n toggleRefs={{ navigation: navigationRefs.toggle, tools: toolsRefs.toggle }}\n topOffset={headerHeight}\n ariaLabels={ariaLabels}\n navigationHide={navigationHide}\n toolsHide={toolsHide}\n onNavigationOpen={() => onNavigationToggle(true)}\n onToolsOpen={() => onToolsToggle(true)}\n unfocusable={anyPanelOpen}\n >\n {breadcrumbs}\n </MobileToolbar>\n )}\n <div className={clsx(styles.layout, disableBodyScroll && styles['layout-no-scroll'])}>\n {!navigationHide && (\n <NavigationPanel\n ariaLabels={ariaLabels}\n footerHeight={footerHeight}\n headerHeight={headerHeight}\n isHidden={disableContentPaddings}\n isMobile={isMobile}\n isMotionEnabled={isMotionEnabled}\n navigation={navigation}\n navigationDrawerWidth={navigationDrawerWidth}\n navigationOpen={navigationOpen}\n onClick={isMobile ? onNavigationClick : undefined}\n onNavigationToggle={onNavigationToggle}\n panelHeightStyle={panelHeightStyle}\n toggleRefs={navigationRefs}\n navigationWidth={navigationWidth}\n />\n )}\n <main\n ref={legacyScrollRootRef}\n className={clsx(styles['layout-main'], {\n [styles['layout-main-scrollable']]: disableBodyScroll,\n [testutilStyles['disable-body-scroll-root']]: disableBodyScroll,\n [styles.unfocusable]: isMobile && anyPanelOpen,\n })}\n >\n <div\n style={{\n marginBottom: splitPanelBottomOffset,\n transform: contentScaleX ? `scaleX(${contentScaleX})` : undefined,\n }}\n >\n {notifications && (\n <Notifications\n testUtilsClassName={clsx(styles.notifications, testutilStyles.notifications)}\n labels={ariaLabels}\n topOffset={disableBodyScroll ? 0 : headerHeight}\n sticky={!isMobile && stickyNotifications}\n ref={notificationsRef}\n isMobile={isMobile}\n navigationPadding={contentWrapperProps.navigationPadding}\n toolsPadding={contentWrapperProps.toolsPadding}\n contentWidthStyles={contentWidthStyles}\n >\n {notifications}\n </Notifications>\n )}\n {((!isMobile && breadcrumbs) || contentHeader) && (\n <ContentWrapper {...contentWrapperProps} contentWidthStyles={contentWidthStyles}>\n {!isMobile && breadcrumbs && (\n <div\n className={clsx(styles.breadcrumbs, testutilStyles.breadcrumbs, styles['breadcrumbs-desktop'])}\n >\n {breadcrumbs}\n </div>\n )}\n {contentHeader && (\n <div\n className={clsx(\n styles['content-header-wrapper'],\n !hasRenderedNotifications &&\n (isMobile || !breadcrumbs) &&\n styles['content-extra-top-padding'],\n !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'],\n !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']\n )}\n >\n {contentHeader}\n </div>\n )}\n </ContentWrapper>\n )}\n <ContentWrapper\n {...contentWrapperProps}\n ref={mainContentRef}\n disablePaddings={disableContentPaddings}\n // eslint-disable-next-line react/forbid-component-props\n className={clsx(\n !disableContentPaddings && styles['content-wrapper'],\n !disableContentPaddings &&\n (isMobile || !breadcrumbs) &&\n !contentHeader &&\n styles['content-extra-top-padding'],\n !hasRenderedNotifications &&\n !breadcrumbs &&\n !isMobile &&\n !contentHeader &&\n styles['content-wrapper-first-child']\n )}\n >\n <div\n className={clsx(\n styles.content,\n testutilStyles.content,\n !disableContentHeaderOverlap && contentHeader && styles['content-overlapped']\n )}\n style={contentWidthStyles}\n >\n <AppLayoutContext.Provider\n value={{\n stickyOffsetTop:\n (disableBodyScroll ? 0 : headerHeight) +\n (stickyNotificationsHeight !== null ? stickyNotificationsHeight : 0),\n stickyOffsetBottom: footerHeight + (splitPanelBottomOffset || 0),\n }}\n >\n {content}\n </AppLayoutContext.Provider>\n </div>\n </ContentWrapper>\n </div>\n {finalSplitPanePosition === 'bottom' && (\n <SplitPanelWrapper context={splitPanelContext}>{splitPanel}</SplitPanelWrapper>\n )}\n </main>\n\n <ToolsAndSplitPanel\n splitPanel={finalSplitPanePosition === 'side' ? splitPanel : undefined}\n ariaLabels={ariaLabels}\n closedDrawerWidth={closedDrawerWidth}\n contentHeightStyle={contentHeightStyle}\n disableContentPaddings={disableContentPaddings}\n drawerWidth={toolsDrawerWidth}\n footerHeight={footerHeight}\n headerHeight={headerHeight}\n isHidden={isToolsDrawerHidden}\n isMobile={isMobile}\n isMotionEnabled={isMotionEnabled}\n onToolsToggle={onToolsToggle}\n panelHeightStyle={panelHeightStyle}\n splitPanelContext={splitPanelContext}\n splitPanelOpen={splitPanelOpenOnTheSide}\n splitPanelReportedSize={splitPanelReportedSize}\n toggleRefs={toolsRefs}\n onLoseToolsFocus={loseToolsFocus}\n tools={tools}\n toolsHide={Boolean(toolsHide)}\n toolsOpen={toolsOpen}\n toolsWidth={toolsWidth}\n />\n </div>\n </div>\n </div>\n );\n }\n);\n\napplyDisplayName(AppLayout, 'AppLayout');\nexport default AppLayout;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app-layout/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { getBaseProps } from '../internal/base-component';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { applyDefaults } from './defaults';\nimport { AppLayoutProps } from './interfaces';\nimport { Notifications } from './notifications';\nimport { MobileToolbar } from './mobile-toolbar';\nimport { SplitPanelWrapper } from './split-panel-wrapper';\nimport { useFocusControl } from './utils/use-focus-control';\nimport useWindowWidth from './utils/use-window-width';\nimport useContentHeight from './utils/use-content-height';\nimport styles from './styles.css.js';\nimport testutilStyles from './test-classes/styles.css.js';\nimport { findUpUntil } from '../internal/utils/dom';\nimport { AppLayoutContext } from '../internal/context/app-layout-context';\nimport { useContainerQuery } from '../internal/hooks/container-queries';\nimport { useStableEventHandler } from '../internal/hooks/use-stable-event-handler';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { SplitPanelContextProps, SplitPanelLastInteraction } from '../internal/context/split-panel-context';\nimport {\n CONSTRAINED_MAIN_PANEL_MIN_HEIGHT,\n CONSTRAINED_PAGE_HEIGHT,\n getSplitPanelDefaultSize,\n MAIN_PANEL_MIN_HEIGHT,\n} from '../split-panel/utils/size-utils';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport ContentWrapper, { ContentWrapperProps } from './content-wrapper';\nimport { isMotionDisabled } from '../internal/motion';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\nimport { NavigationPanel } from './navigation-panel';\nimport { ToolsAndSplitPanel } from './tools-and-split-panel';\nimport { usePreviousFrameValue } from '../internal/hooks/use-previous-frame';\nimport useAppLayoutOffsets from './utils/use-content-width';\nimport { isDevelopment } from '../internal/is-development';\nimport { warnOnce } from '../internal/logging';\n\nimport RefreshedAppLayout from './visual-refresh';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\n\nexport { AppLayoutProps };\n\nconst AppLayout = React.forwardRef(\n (\n { contentType = 'default', headerSelector = '#b #h', footerSelector = '#b #f', ...rest }: AppLayoutProps,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent<HTMLDivElement>('AppLayout');\n const isRefresh = useVisualRefresh();\n\n // This re-builds the props including the default values\n const props = { contentType, headerSelector, footerSelector, ...rest };\n\n const baseProps = getBaseProps(rest);\n\n return (\n <div ref={__internalRootRef} {...baseProps}>\n {isRefresh ? <RefreshedAppLayout {...props} ref={ref} /> : <OldAppLayout {...props} ref={ref} />}\n </div>\n );\n }\n);\n\nconst OldAppLayout = React.forwardRef(\n (\n {\n navigation,\n navigationWidth = 280,\n navigationHide,\n navigationOpen: controlledNavigationOpen,\n tools,\n toolsWidth = 290,\n toolsHide,\n toolsOpen: controlledToolsOpen,\n breadcrumbs,\n notifications,\n stickyNotifications,\n contentHeader,\n disableContentHeaderOverlap,\n content,\n contentType = 'default',\n disableContentPaddings,\n disableBodyScroll,\n maxContentWidth,\n minContentWidth,\n headerSelector = '#b #h',\n footerSelector = '#b #f',\n ariaLabels,\n splitPanel,\n splitPanelSize: controlledSplitPanelSize,\n splitPanelOpen: controlledSplitPanelOpen,\n splitPanelPreferences: controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n onSplitPanelResize,\n onSplitPanelToggle,\n onNavigationChange,\n onToolsChange,\n }: AppLayoutProps,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n if (isDevelopment) {\n if (controlledToolsOpen && toolsHide) {\n warnOnce(\n 'AppLayout',\n `You have enabled both the \\`toolsOpen\\` prop and the \\`toolsHide\\` prop. This is not supported. Set \\`toolsOpen\\` to \\`false\\` when you set \\`toolsHide\\` to \\`true\\`.`\n );\n }\n }\n const rootRef = useRef<HTMLDivElement>(null);\n const isMobile = useMobile();\n const isMotionEnabled = rootRef.current ? !isMotionDisabled(rootRef.current) : false;\n\n const defaults = applyDefaults(contentType, { maxContentWidth, minContentWidth }, false);\n const [navigationOpen = false, setNavigationOpen] = useControllable(\n controlledNavigationOpen,\n onNavigationChange,\n isMobile ? false : defaults.navigationOpen,\n { componentName: 'AppLayout', controlledProp: 'navigationOpen', changeHandler: 'onNavigationChange' }\n );\n\n const [toolsOpen = false, setToolsOpen] = useControllable(\n controlledToolsOpen,\n onToolsChange,\n isMobile ? false : defaults.toolsOpen,\n { componentName: 'AppLayout', controlledProp: 'toolsOpen', changeHandler: 'onToolsChange' }\n );\n\n const onNavigationToggle = useCallback(\n (open: boolean) => {\n setNavigationOpen(open);\n fireNonCancelableEvent(onNavigationChange, { open });\n },\n [setNavigationOpen, onNavigationChange]\n );\n const onToolsToggle = useCallback(\n (open: boolean) => {\n setToolsOpen(open);\n fireNonCancelableEvent(onToolsChange, { open });\n },\n [setToolsOpen, onToolsChange]\n );\n const onNavigationClick = (event: React.MouseEvent) => {\n const hasLink = findUpUntil(\n event.target as HTMLElement,\n node => node.tagName === 'A' && !!(node as HTMLAnchorElement).href\n );\n if (hasLink) {\n onNavigationToggle(false);\n }\n };\n\n const navigationVisible = !navigationHide && navigationOpen;\n const toolsVisible = !toolsHide && toolsOpen;\n\n const { contentHeightStyle, headerHeight, footerHeight, panelHeightStyle } = useContentHeight(\n headerSelector,\n footerSelector,\n disableBodyScroll\n );\n const [isSplitpanelForcedPosition, setIsSplitpanelForcedPosition] = useState(false);\n\n const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.height);\n const [splitPanelHeaderHeight, splitPanelHeaderMeasureRef] = useContainerQuery(\n rect => (splitPanel ? rect.height : 0),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [splitPanel, isSplitpanelForcedPosition]\n );\n\n const splitPanelHeaderRefObject = useRef(null);\n const splitPanelHeaderRef = useMergeRefs(splitPanelHeaderMeasureRef, splitPanelHeaderRefObject);\n const anyPanelOpen = navigationVisible || toolsVisible;\n const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;\n const stickyNotificationsHeight = stickyNotifications ? notificationsHeight : null;\n\n const [splitPanelPreferences, setSplitPanelPreferences] = useControllable(\n controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n undefined,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelPreferences',\n changeHandler: 'onSplitPanelPreferencesChange',\n }\n );\n const splitPanelPosition = splitPanelPreferences?.position || 'bottom';\n\n const [splitPanelHeight, splitPanelRef] = useContainerQuery(\n rect => (splitPanel ? rect.height : 0),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [splitPanel, splitPanelPosition, isSplitpanelForcedPosition]\n );\n\n const closedDrawerWidth = 40;\n const effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;\n const effectiveToolsWidth =\n toolsHide && (!splitPanel || splitPanelPreferences?.position !== 'side')\n ? 0\n : toolsOpen\n ? toolsWidth\n : closedDrawerWidth;\n\n const defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);\n const [splitPanelSize = defaultSplitPanelSize, setSplitPanelSize] = useControllable(\n controlledSplitPanelSize,\n onSplitPanelResize,\n defaultSplitPanelSize,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelSize',\n changeHandler: 'onSplitPanelResize',\n }\n );\n\n const [splitPanelOpen = false, setSplitPanelOpen] = useControllable(\n controlledSplitPanelOpen,\n onSplitPanelToggle,\n false,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelOpen',\n changeHandler: 'onSplitPanelToggle',\n }\n );\n\n const mainContentRef = useRef<HTMLDivElement>(null);\n const legacyScrollRootRef = useRef<HTMLElement>(null);\n\n const onSplitPanelPreferencesSet = useCallback(\n (detail: { position: 'side' | 'bottom' }) => {\n setSplitPanelPreferences(detail);\n fireNonCancelableEvent(onSplitPanelPreferencesChange, detail);\n },\n [setSplitPanelPreferences, onSplitPanelPreferencesChange]\n );\n const onSplitPanelSizeSet = useCallback(\n (detail: { size: number }) => {\n setSplitPanelSize(detail.size);\n fireNonCancelableEvent(onSplitPanelResize, detail);\n },\n [setSplitPanelSize, onSplitPanelResize]\n );\n const onToggle = useCallback(() => {\n setSplitPanelOpen(!splitPanelOpen);\n fireNonCancelableEvent(onSplitPanelToggle, { open: !splitPanelOpen });\n }, [setSplitPanelOpen, splitPanelOpen, onSplitPanelToggle]);\n\n const getSplitPanelMaxWidth = useStableEventHandler(() => {\n if (!mainContentRef.current || !defaults.minContentWidth) {\n return NaN;\n }\n\n const width = parseInt(getComputedStyle(mainContentRef.current).width);\n // when disableContentPaddings is true there is less available space,\n // so we subtract space-scaled-2x-xxxl * 2 for left and right padding\n const contentPadding = disableContentPaddings ? 80 : 0;\n const spaceAvailable = width - defaults.minContentWidth - contentPadding;\n const spaceTaken = finalSplitPanePosition === 'side' ? splitPanelSize : 0;\n return Math.max(0, spaceTaken + spaceAvailable);\n });\n\n const getSplitPanelMaxHeight = useStableEventHandler(() => {\n if (typeof document === 'undefined') {\n return 0; // render the split panel in its minimum possible size\n } else if (disableBodyScroll && legacyScrollRootRef.current) {\n const availableHeight = legacyScrollRootRef.current.clientHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT ? availableHeight : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n } else {\n const availableHeight = document.documentElement.clientHeight - headerHeight - footerHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT\n ? availableHeight - CONSTRAINED_MAIN_PANEL_MIN_HEIGHT\n : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n }\n });\n\n const finalSplitPanePosition = isSplitpanelForcedPosition ? 'bottom' : splitPanelPosition;\n\n const splitPaneAvailableOnTheSide = Boolean(splitPanel) && finalSplitPanePosition === 'side';\n const splitPanelOpenOnTheSide = splitPaneAvailableOnTheSide && splitPanelOpen;\n\n const toggleButtonsBarWidth = 0;\n\n const windowWidth = useWindowWidth();\n const { left: leftOffset, right: rightOffset } = useAppLayoutOffsets(rootRef.current);\n const contentWidthWithSplitPanel =\n windowWidth -\n leftOffset -\n rightOffset -\n effectiveToolsWidth -\n effectiveNavigationWidth -\n (disableContentPaddings ? 0 : toggleButtonsBarWidth);\n\n useEffect(() => {\n const contentWidth = contentWidthWithSplitPanel - splitPanelSize;\n setIsSplitpanelForcedPosition(isMobile || (defaults.minContentWidth || 0) > contentWidth);\n // This is a workaround to avoid a forced position due to splitPanelSize, which is\n // user controlled variable.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [contentWidthWithSplitPanel, defaults.minContentWidth, isMobile]);\n\n const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;\n const toolsClosedWidth = toolsHide || isMobile ? 0 : closedDrawerWidth;\n\n const [splitPanelLastInteraction, setSplitPanelLastInteraction] = useState<undefined | SplitPanelLastInteraction>();\n useEffectOnUpdate(\n () => setSplitPanelLastInteraction(splitPanelOpen ? { type: 'open' } : { type: 'close' }),\n [splitPanelOpen]\n );\n useEffectOnUpdate(() => setSplitPanelLastInteraction({ type: 'position' }), [splitPanelPosition]);\n\n const contentMaxWidthStyle = !isMobile ? { maxWidth: defaults.maxContentWidth } : undefined;\n\n const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);\n\n const splitPanelContext: SplitPanelContextProps = {\n topOffset: headerHeight + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight || 0 : 0),\n bottomOffset: footerHeight,\n leftOffset:\n leftOffset + (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),\n rightOffset: rightOffset + (isMobile ? 0 : !toolsHide && toolsOpen ? toolsWidth : toolsClosedWidth),\n position: finalSplitPanePosition,\n size: splitPanelSize,\n getMaxWidth: getSplitPanelMaxWidth,\n getMaxHeight: getSplitPanelMaxHeight,\n getHeader: () => splitPanelHeaderRefObject.current,\n disableContentPaddings,\n contentWidthStyles: contentMaxWidthStyle,\n isOpen: splitPanelOpen,\n isMobile,\n isRefresh: false,\n isForcedPosition: isSplitpanelForcedPosition,\n lastInteraction: splitPanelLastInteraction,\n splitPanelRef,\n splitPanelHeaderRef,\n onResize: onSplitPanelSizeSet,\n onToggle,\n onPreferencesChange: onSplitPanelPreferencesSet,\n reportSize: setSplitPanelReportedSize,\n };\n\n const contentWrapperProps: ContentWrapperProps = {\n navigationPadding: navigationHide || !!navigationOpen,\n toolsPadding:\n // tools padding is displayed in one of the three cases\n // 1. Nothing on the that screen edge (no tools panel and no split panel)\n (toolsHide && (!splitPanel || finalSplitPanePosition !== 'side')) ||\n // 2. Tools panel is present and open\n toolsVisible ||\n // 3. Split panel is open in side position\n splitPanelOpenOnTheSide,\n isMobile,\n };\n\n const { refs: navigationRefs } = useFocusControl(navigationOpen);\n const { refs: toolsRefs, setFocus: focusToolsClose, loseFocus: loseToolsFocus } = useFocusControl(toolsOpen, true);\n\n useImperativeHandle(\n ref,\n () => ({\n openTools: () => onToolsToggle(true),\n closeNavigationIfNecessary: () => {\n if (isMobile) {\n onNavigationToggle(false);\n }\n },\n focusToolsClose,\n }),\n [isMobile, onNavigationToggle, onToolsToggle, focusToolsClose]\n );\n\n const splitPanelBottomOffset =\n (!splitPanel || finalSplitPanePosition !== 'bottom'\n ? undefined\n : splitPanelOpen\n ? splitPanelHeight\n : splitPanelHeaderHeight) ?? undefined;\n\n const contentWidthStyles = !isMobile\n ? { minWidth: defaults.minContentWidth, maxWidth: defaults.maxContentWidth }\n : undefined;\n\n const isToolsDrawerHidden = disableContentPaddings;\n\n const toolsDrawerWidth = (() => {\n if (isMobile) {\n return 0;\n }\n\n const toolsPanelWidth = toolsHide ? 0 : toolsOpen ? toolsWidth : closedDrawerWidth;\n const splitPanelWidth =\n !splitPanel || finalSplitPanePosition !== 'side'\n ? 0\n : splitPanelOpen\n ? splitPanelReportedSize\n : closedDrawerWidth;\n\n return toolsPanelWidth + splitPanelWidth;\n })();\n\n const navigationDrawerWidth = (() => {\n if (isMobile) {\n return 0;\n }\n\n return effectiveNavigationWidth;\n })();\n\n const previousContentWidth = usePreviousFrameValue(\n contentWidthWithSplitPanel - (splitPanelOpenOnTheSide ? splitPanelReportedSize : 0)\n );\n\n const contentScaleX = (() => {\n if (isMobile || !isMotionEnabled || !disableContentPaddings || !previousContentWidth) {\n return undefined;\n }\n })();\n\n return (\n <div\n className={clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll'])}\n ref={rootRef}\n >\n <div className={styles['layout-wrapper']} style={contentHeightStyle}>\n {isMobile && (!toolsHide || !navigationHide || breadcrumbs) && (\n <MobileToolbar\n anyPanelOpen={anyPanelOpen}\n toggleRefs={{ navigation: navigationRefs.toggle, tools: toolsRefs.toggle }}\n topOffset={headerHeight}\n ariaLabels={ariaLabels}\n navigationHide={navigationHide}\n toolsHide={toolsHide}\n onNavigationOpen={() => onNavigationToggle(true)}\n onToolsOpen={() => onToolsToggle(true)}\n unfocusable={anyPanelOpen}\n >\n {breadcrumbs}\n </MobileToolbar>\n )}\n <div className={clsx(styles.layout, disableBodyScroll && styles['layout-no-scroll'])}>\n {!navigationHide && (\n <NavigationPanel\n ariaLabels={ariaLabels}\n footerHeight={footerHeight}\n headerHeight={headerHeight}\n isHidden={disableContentPaddings}\n isMobile={isMobile}\n isMotionEnabled={isMotionEnabled}\n navigation={navigation}\n navigationDrawerWidth={navigationDrawerWidth}\n navigationOpen={navigationOpen}\n onClick={isMobile ? onNavigationClick : undefined}\n onNavigationToggle={onNavigationToggle}\n panelHeightStyle={panelHeightStyle}\n toggleRefs={navigationRefs}\n navigationWidth={navigationWidth}\n />\n )}\n <main\n ref={legacyScrollRootRef}\n className={clsx(styles['layout-main'], {\n [styles['layout-main-scrollable']]: disableBodyScroll,\n [testutilStyles['disable-body-scroll-root']]: disableBodyScroll,\n [styles.unfocusable]: isMobile && anyPanelOpen,\n })}\n >\n <div\n style={{\n marginBottom: splitPanelBottomOffset,\n transform: contentScaleX ? `scaleX(${contentScaleX})` : undefined,\n }}\n >\n {notifications && (\n <Notifications\n testUtilsClassName={clsx(styles.notifications, testutilStyles.notifications)}\n labels={ariaLabels}\n topOffset={disableBodyScroll ? 0 : headerHeight}\n sticky={!isMobile && stickyNotifications}\n ref={notificationsRef}\n isMobile={isMobile}\n navigationPadding={contentWrapperProps.navigationPadding}\n toolsPadding={contentWrapperProps.toolsPadding}\n contentWidthStyles={contentWidthStyles}\n >\n {notifications}\n </Notifications>\n )}\n {((!isMobile && breadcrumbs) || contentHeader) && (\n <ContentWrapper {...contentWrapperProps} contentWidthStyles={contentWidthStyles}>\n {!isMobile && breadcrumbs && (\n <div\n className={clsx(styles.breadcrumbs, testutilStyles.breadcrumbs, styles['breadcrumbs-desktop'])}\n >\n {breadcrumbs}\n </div>\n )}\n {contentHeader && (\n <div\n className={clsx(\n styles['content-header-wrapper'],\n !hasRenderedNotifications &&\n (isMobile || !breadcrumbs) &&\n styles['content-extra-top-padding'],\n !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'],\n !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']\n )}\n >\n {contentHeader}\n </div>\n )}\n </ContentWrapper>\n )}\n <ContentWrapper\n {...contentWrapperProps}\n ref={mainContentRef}\n disablePaddings={disableContentPaddings}\n // eslint-disable-next-line react/forbid-component-props\n className={clsx(\n !disableContentPaddings && styles['content-wrapper'],\n !disableContentPaddings &&\n (isMobile || !breadcrumbs) &&\n !contentHeader &&\n styles['content-extra-top-padding'],\n !hasRenderedNotifications &&\n !breadcrumbs &&\n !isMobile &&\n !contentHeader &&\n styles['content-wrapper-first-child']\n )}\n >\n <div\n className={clsx(\n styles.content,\n testutilStyles.content,\n !disableContentHeaderOverlap && contentHeader && styles['content-overlapped']\n )}\n style={contentWidthStyles}\n >\n <AppLayoutContext.Provider\n value={{\n stickyOffsetTop:\n (disableBodyScroll ? 0 : headerHeight) +\n (stickyNotificationsHeight !== null ? stickyNotificationsHeight : 0),\n stickyOffsetBottom: footerHeight + (splitPanelBottomOffset || 0),\n }}\n >\n {content}\n </AppLayoutContext.Provider>\n </div>\n </ContentWrapper>\n </div>\n {finalSplitPanePosition === 'bottom' && (\n <SplitPanelWrapper context={splitPanelContext}>{splitPanel}</SplitPanelWrapper>\n )}\n </main>\n\n <ToolsAndSplitPanel\n splitPanel={finalSplitPanePosition === 'side' ? splitPanel : undefined}\n ariaLabels={ariaLabels}\n closedDrawerWidth={closedDrawerWidth}\n contentHeightStyle={contentHeightStyle}\n disableContentPaddings={disableContentPaddings}\n drawerWidth={toolsDrawerWidth}\n footerHeight={footerHeight}\n headerHeight={headerHeight}\n isHidden={isToolsDrawerHidden}\n isMobile={isMobile}\n isMotionEnabled={isMotionEnabled}\n onToolsToggle={onToolsToggle}\n panelHeightStyle={panelHeightStyle}\n splitPanelContext={splitPanelContext}\n splitPanelOpen={splitPanelOpenOnTheSide}\n splitPanelReportedSize={splitPanelReportedSize}\n toggleRefs={toolsRefs}\n onLoseToolsFocus={loseToolsFocus}\n tools={tools}\n toolsHide={Boolean(toolsHide)}\n toolsOpen={toolsOpen}\n toolsWidth={toolsWidth}\n />\n </div>\n </div>\n </div>\n );\n }\n);\n\napplyDisplayName(AppLayout, 'AppLayout');\nexport default AppLayout;\n"]}
@@ -1,5 +1,5 @@
1
1
 
2
- export var PACKAGE_VERSION = '3.0.0 (51f25a5)';
2
+ export var PACKAGE_VERSION = '3.0.0 (080546b)';
3
3
  export var THEME = 'open-source-visual-refresh';
4
4
  export var ALWAYS_VISUAL_REFRESH = true;
5
5
 
@@ -3429,12 +3429,6 @@
3429
3429
  "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
3430
3430
  "dev": true
3431
3431
  },
3432
- "big.js": {
3433
- "version": "5.2.2",
3434
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
3435
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
3436
- "dev": true
3437
- },
3438
3432
  "binary-extensions": {
3439
3433
  "version": "1.13.1",
3440
3434
  "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
@@ -3602,7 +3596,7 @@
3602
3596
  "buffer-crc32": {
3603
3597
  "version": "0.2.13",
3604
3598
  "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
3605
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
3599
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
3606
3600
  "dev": true
3607
3601
  },
3608
3602
  "buffer-equal": {
@@ -4760,7 +4754,7 @@
4760
4754
  "css-value": {
4761
4755
  "version": "0.0.1",
4762
4756
  "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
4763
- "integrity": "sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q==",
4757
+ "integrity": "sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo=",
4764
4758
  "dev": true
4765
4759
  },
4766
4760
  "css-what": {
@@ -5674,12 +5668,6 @@
5674
5668
  "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
5675
5669
  "dev": true
5676
5670
  },
5677
- "emojis-list": {
5678
- "version": "3.0.0",
5679
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
5680
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
5681
- "dev": true
5682
- },
5683
5671
  "encodeurl": {
5684
5672
  "version": "1.0.2",
5685
5673
  "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -6413,7 +6401,7 @@
6413
6401
  "events": {
6414
6402
  "version": "1.1.1",
6415
6403
  "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
6416
- "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==",
6404
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
6417
6405
  "dev": true
6418
6406
  },
6419
6407
  "execa": {
@@ -6804,7 +6792,7 @@
6804
6792
  "fast-deep-equal": {
6805
6793
  "version": "2.0.1",
6806
6794
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
6807
- "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==",
6795
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
6808
6796
  "dev": true
6809
6797
  },
6810
6798
  "fast-diff": {
@@ -6890,7 +6878,7 @@
6890
6878
  "fd-slicer": {
6891
6879
  "version": "1.1.0",
6892
6880
  "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
6893
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
6881
+ "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
6894
6882
  "dev": true,
6895
6883
  "requires": {
6896
6884
  "pend": "~1.2.0"
@@ -6905,29 +6893,6 @@
6905
6893
  "flat-cache": "^3.0.4"
6906
6894
  }
6907
6895
  },
6908
- "file-loader": {
6909
- "version": "6.2.0",
6910
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
6911
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
6912
- "dev": true,
6913
- "requires": {
6914
- "loader-utils": "^2.0.0",
6915
- "schema-utils": "^3.0.0"
6916
- },
6917
- "dependencies": {
6918
- "loader-utils": {
6919
- "version": "2.0.2",
6920
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
6921
- "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
6922
- "dev": true,
6923
- "requires": {
6924
- "big.js": "^5.2.2",
6925
- "emojis-list": "^3.0.0",
6926
- "json5": "^2.1.2"
6927
- }
6928
- }
6929
- }
6930
- },
6931
6896
  "file-uri-to-path": {
6932
6897
  "version": "1.0.0",
6933
6898
  "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
@@ -8208,7 +8173,7 @@
8208
8173
  "icss-replace-symbols": {
8209
8174
  "version": "1.1.0",
8210
8175
  "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
8211
- "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==",
8176
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
8212
8177
  "dev": true
8213
8178
  },
8214
8179
  "icss-utils": {
@@ -10425,43 +10390,43 @@
10425
10390
  "lodash.camelcase": {
10426
10391
  "version": "4.3.0",
10427
10392
  "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
10428
- "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
10393
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
10429
10394
  "dev": true
10430
10395
  },
10431
10396
  "lodash.clonedeep": {
10432
10397
  "version": "4.5.0",
10433
10398
  "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
10434
- "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
10399
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
10435
10400
  "dev": true
10436
10401
  },
10437
10402
  "lodash.defaults": {
10438
10403
  "version": "4.2.0",
10439
10404
  "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
10440
- "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==",
10405
+ "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
10441
10406
  "dev": true
10442
10407
  },
10443
10408
  "lodash.difference": {
10444
10409
  "version": "4.5.0",
10445
10410
  "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
10446
- "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==",
10411
+ "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=",
10447
10412
  "dev": true
10448
10413
  },
10449
10414
  "lodash.flatten": {
10450
10415
  "version": "4.4.0",
10451
10416
  "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
10452
- "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==",
10417
+ "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
10453
10418
  "dev": true
10454
10419
  },
10455
10420
  "lodash.isobject": {
10456
10421
  "version": "3.0.2",
10457
10422
  "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
10458
- "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==",
10423
+ "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=",
10459
10424
  "dev": true
10460
10425
  },
10461
10426
  "lodash.isplainobject": {
10462
10427
  "version": "4.0.6",
10463
10428
  "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
10464
- "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
10429
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
10465
10430
  "dev": true
10466
10431
  },
10467
10432
  "lodash.memoize": {
@@ -10485,7 +10450,7 @@
10485
10450
  "lodash.union": {
10486
10451
  "version": "4.6.0",
10487
10452
  "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
10488
- "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==",
10453
+ "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=",
10489
10454
  "dev": true
10490
10455
  },
10491
10456
  "lodash.uniq": {
@@ -10497,7 +10462,7 @@
10497
10462
  "lodash.zip": {
10498
10463
  "version": "4.2.0",
10499
10464
  "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz",
10500
- "integrity": "sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==",
10465
+ "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=",
10501
10466
  "dev": true
10502
10467
  },
10503
10468
  "log-symbols": {
@@ -11898,7 +11863,7 @@
11898
11863
  "pend": {
11899
11864
  "version": "1.2.0",
11900
11865
  "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
11901
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
11866
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
11902
11867
  "dev": true
11903
11868
  },
11904
11869
  "picocolors": {
@@ -12611,7 +12576,7 @@
12611
12576
  "punycode": {
12612
12577
  "version": "1.3.2",
12613
12578
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
12614
- "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==",
12579
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
12615
12580
  "dev": true
12616
12581
  },
12617
12582
  "puppeteer-core": {
@@ -12675,7 +12640,7 @@
12675
12640
  "querystring": {
12676
12641
  "version": "0.2.0",
12677
12642
  "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
12678
- "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
12643
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
12679
12644
  "dev": true
12680
12645
  },
12681
12646
  "queue-microtask": {
@@ -13598,7 +13563,7 @@
13598
13563
  "sax": {
13599
13564
  "version": "1.2.1",
13600
13565
  "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
13601
- "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==",
13566
+ "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=",
13602
13567
  "dev": true
13603
13568
  },
13604
13569
  "saxes": {
@@ -14329,7 +14294,7 @@
14329
14294
  "string-hash": {
14330
14295
  "version": "1.1.3",
14331
14296
  "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz",
14332
- "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==",
14297
+ "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
14333
14298
  "dev": true
14334
14299
  },
14335
14300
  "string-length": {
@@ -15275,7 +15240,7 @@
15275
15240
  "tr46": {
15276
15241
  "version": "0.0.3",
15277
15242
  "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
15278
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
15243
+ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
15279
15244
  "dev": true
15280
15245
  },
15281
15246
  "trim-newlines": {
@@ -15685,7 +15650,7 @@
15685
15650
  "url": {
15686
15651
  "version": "0.10.3",
15687
15652
  "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
15688
- "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==",
15653
+ "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=",
15689
15654
  "dev": true,
15690
15655
  "requires": {
15691
15656
  "punycode": "1.3.2",
@@ -16034,7 +15999,7 @@
16034
15999
  "webidl-conversions": {
16035
16000
  "version": "3.0.1",
16036
16001
  "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
16037
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
16002
+ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
16038
16003
  "dev": true
16039
16004
  },
16040
16005
  "webpack": {
@@ -16420,7 +16385,7 @@
16420
16385
  "whatwg-url": {
16421
16386
  "version": "5.0.0",
16422
16387
  "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
16423
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
16388
+ "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
16424
16389
  "dev": true,
16425
16390
  "requires": {
16426
16391
  "tr46": "~0.0.3",
@@ -16614,7 +16579,7 @@
16614
16579
  "wordwrap": {
16615
16580
  "version": "1.0.0",
16616
16581
  "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
16617
- "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
16582
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
16618
16583
  "dev": true
16619
16584
  },
16620
16585
  "wrap-ansi": {
@@ -16685,7 +16650,7 @@
16685
16650
  "xmlbuilder": {
16686
16651
  "version": "9.0.7",
16687
16652
  "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
16688
- "integrity": "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==",
16653
+ "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
16689
16654
  "dev": true
16690
16655
  },
16691
16656
  "xmlchars": {
@@ -16752,7 +16717,7 @@
16752
16717
  "yauzl": {
16753
16718
  "version": "2.10.0",
16754
16719
  "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
16755
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
16720
+ "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
16756
16721
  "dev": true,
16757
16722
  "requires": {
16758
16723
  "buffer-crc32": "~0.2.3",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudscape-design/components-themeable",
3
- "version": "3.0.114",
3
+ "version": "3.0.116",
4
4
  "files": [
5
5
  "lib",
6
6
  "package.json",