@strapi/admin 4.13.6 → 4.13.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/admin/src/components/RBACProvider/index.js +1 -1
  2. package/admin/src/content-manager/components/RelationInput/RelationInput.js +59 -43
  3. package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +1 -1
  4. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/ConfirmBulkActionDialog/index.js +3 -0
  5. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/SelectedEntriesModal/index.js +2 -1
  6. package/admin/src/content-manager/pages/ListView/index.js +1 -0
  7. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +1 -1
  8. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/index.js +0 -1
  9. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +1 -1
  10. package/build/6812.00ef5b0d.chunk.js +26 -0
  11. package/build/{6272.4017459a.chunk.js → 9522.ec7df9ac.chunk.js} +2 -2
  12. package/build/{Admin-authenticatedApp.69c7ea72.chunk.js → Admin-authenticatedApp.4b762007.chunk.js} +2 -2
  13. package/build/{Admin_marketplace.e75c9cf4.chunk.js → Admin_marketplace.4cc913f3.chunk.js} +3 -3
  14. package/build/{audit-logs-settings-page.0d9bc0f6.chunk.js → audit-logs-settings-page.a89141d5.chunk.js} +1 -1
  15. package/build/{content-manager.f9abb63f.chunk.js → content-manager.b2d9e88e.chunk.js} +86 -84
  16. package/build/{content-type-builder.5ff93edd.chunk.js → content-type-builder.aab7f58d.chunk.js} +1 -1
  17. package/build/index.html +1 -1
  18. package/build/main.358b7ea5.js +2665 -0
  19. package/build/{runtime~main.562cc892.js → runtime~main.0324fc31.js} +1 -1
  20. package/build/{users-roles-settings-page.d415835a.chunk.js → users-roles-settings-page.90bad063.chunk.js} +4 -4
  21. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +1 -1
  22. package/package.json +8 -8
  23. package/build/6812.31979984.chunk.js +0 -26
  24. package/build/main.9ed36326.js +0 -2860
@@ -31,7 +31,7 @@ const RBACProvider = ({ children, permissions, refetchPermissions }) => {
31
31
  };
32
32
 
33
33
  RBACProvider.propTypes = {
34
- children: PropTypes.element.isRequired,
34
+ children: PropTypes.node.isRequired,
35
35
  permissions: PropTypes.array.isRequired,
36
36
  refetchPermissions: PropTypes.func.isRequired,
37
37
  };
@@ -48,6 +48,10 @@ export const DisconnectButton = styled.button`
48
48
  }
49
49
  `;
50
50
 
51
+ const ComboboxWrapper = styled(Box)`
52
+ align-self: flex-start;
53
+ `;
54
+
51
55
  const RelationInput = ({
52
56
  canReorder,
53
57
  description,
@@ -192,13 +196,13 @@ const RelationInput = ({
192
196
  updatedRelationsWith.current === 'onChange' &&
193
197
  relations.length !== previewRelationsLength
194
198
  ) {
195
- listRef.current.scrollToItem(relations.length, 'end');
199
+ listRef.current?.scrollToItem(relations.length, 'end');
196
200
  updatedRelationsWith.current = undefined;
197
201
  } else if (
198
202
  updatedRelationsWith.current === 'loadMore' &&
199
203
  relations.length !== previewRelationsLength
200
204
  ) {
201
- listRef.current.scrollToItem(0, 'start');
205
+ listRef.current?.scrollToItem(0, 'start');
202
206
  updatedRelationsWith.current = undefined;
203
207
  }
204
208
  }, [previewRelationsLength, relations]);
@@ -206,58 +210,70 @@ const RelationInput = ({
206
210
  const ariaDescriptionId = `${name}-item-instructions`;
207
211
 
208
212
  return (
209
- <Flex gap={3} justifyContent="space-between" alignItems="end" wrap="wrap">
210
- <Flex direction="column" alignItems="stretch" basis={size <= 6 ? '100%' : '70%'} gap={2}>
211
- <Combobox
212
- ref={fieldRef}
213
- autocomplete="list"
214
- error={error}
215
- name={name}
216
- hint={description}
217
- id={id}
218
- required={required}
219
- label={label}
220
- labelAction={labelAction}
221
- disabled={disabled}
222
- placeholder={placeholder}
223
- hasMoreItems={searchResults.hasNextPage}
224
- loading={searchResults.isLoading}
225
- onOpenChange={handleMenuOpen}
226
- noOptionsMessage={() => noRelationsMessage}
227
- loadingMessage={loadingMessage}
228
- onLoadMore={() => {
229
- onSearchNextPage();
230
- }}
231
- textValue={textValue}
232
- onChange={(relationId) => {
233
- if (!relationId) {
234
- return;
235
- }
236
- onRelationConnect(options.find((opt) => opt.id === relationId));
237
- updatedRelationsWith.current = 'onChange';
238
- }}
239
- onTextValueChange={(text) => {
240
- setTextValue(text);
241
- }}
242
- onInputChange={(event) => {
243
- onSearch(event.currentTarget.value);
244
- }}
245
- >
246
- {options.map((opt) => {
247
- return <Option key={opt.id} {...opt} />;
248
- })}
249
- </Combobox>
213
+ <Flex
214
+ direction="column"
215
+ gap={3}
216
+ justifyContent="space-between"
217
+ alignItems="stretch"
218
+ wrap="wrap"
219
+ >
220
+ <Flex direction="row" alignItems="end" justifyContent="end" gap={2} width="100%">
221
+ <ComboboxWrapper marginRight="auto" maxWidth={size <= 6 ? '100%' : '70%'} width="100%">
222
+ <Combobox
223
+ ref={fieldRef}
224
+ autocomplete="list"
225
+ error={error}
226
+ name={name}
227
+ hint={description}
228
+ id={id}
229
+ required={required}
230
+ label={label}
231
+ labelAction={labelAction}
232
+ disabled={disabled}
233
+ placeholder={placeholder}
234
+ hasMoreItems={searchResults.hasNextPage}
235
+ loading={searchResults.isLoading}
236
+ onOpenChange={handleMenuOpen}
237
+ noOptionsMessage={() => noRelationsMessage}
238
+ loadingMessage={loadingMessage}
239
+ onLoadMore={() => {
240
+ onSearchNextPage();
241
+ }}
242
+ textValue={textValue}
243
+ onChange={(relationId) => {
244
+ if (!relationId) {
245
+ return;
246
+ }
247
+ onRelationConnect(options.find((opt) => opt.id === relationId));
248
+ updatedRelationsWith.current = 'onChange';
249
+ }}
250
+ onTextValueChange={(text) => {
251
+ setTextValue(text);
252
+ }}
253
+ onInputChange={(event) => {
254
+ onSearch(event.currentTarget.value);
255
+ }}
256
+ >
257
+ {options.map((opt) => {
258
+ return <Option key={opt.id} {...opt} />;
259
+ })}
260
+ </Combobox>
261
+ </ComboboxWrapper>
262
+
250
263
  {shouldDisplayLoadMoreButton && (
251
264
  <TextButton
252
265
  disabled={paginatedRelations.isLoading || paginatedRelations.isFetchingNextPage}
253
266
  onClick={handleLoadMore}
254
267
  loading={paginatedRelations.isLoading || paginatedRelations.isFetchingNextPage}
255
268
  startIcon={<Refresh />}
269
+ // prevent the label from line-wrapping
270
+ shrink={0}
256
271
  >
257
272
  {labelLoadMore}
258
273
  </TextButton>
259
274
  )}
260
275
  </Flex>
276
+
261
277
  {relations.length > 0 && (
262
278
  <RelationList overflow={overflow}>
263
279
  <VisuallyHidden id={ariaDescriptionId}>{listAriaDescription}</VisuallyHidden>
@@ -124,4 +124,4 @@ EditorLayout.propTypes = {
124
124
  isExpandMode: PropTypes.bool.isRequired,
125
125
  previewContent: PropTypes.string,
126
126
  onCollapse: PropTypes.func.isRequired,
127
- };
127
+ };
@@ -6,6 +6,7 @@ import {
6
6
  useFetchClient,
7
7
  useNotification,
8
8
  useAPIErrorHandler,
9
+ useQueryParams,
9
10
  } from '@strapi/helper-plugin';
10
11
  import { Check, ExclamationMarkCircle } from '@strapi/icons';
11
12
  import PropTypes from 'prop-types';
@@ -82,6 +83,7 @@ const ConfirmDialogPublishAll = ({ isOpen, onToggleDialog, isConfirmButtonLoadin
82
83
  const {
83
84
  contentType: { uid: slug },
84
85
  } = useSelector(listViewDomain());
86
+ const [{ query }] = useQueryParams();
85
87
 
86
88
  const {
87
89
  data: countDraftRelations,
@@ -97,6 +99,7 @@ const ConfirmDialogPublishAll = ({ isOpen, onToggleDialog, isConfirmButtonLoadin
97
99
  {
98
100
  params: {
99
101
  ids: selectedEntries,
102
+ locale: query?.plugins?.i18n?.locale,
100
103
  },
101
104
  }
102
105
  );
@@ -445,7 +445,7 @@ const SelectedEntriesModal = ({ onToggle }) => {
445
445
  // We want to keep the selected entries order same as the list view
446
446
  const [
447
447
  {
448
- query: { sort },
448
+ query: { sort, plugins },
449
449
  },
450
450
  ] = useQueryParams();
451
451
 
@@ -458,6 +458,7 @@ const SelectedEntriesModal = ({ onToggle }) => {
458
458
  $in: entriesToFetch,
459
459
  },
460
460
  },
461
+ locale: plugins?.i18n?.locale,
461
462
  };
462
463
 
463
464
  const { get } = useFetchClient();
@@ -183,6 +183,7 @@ function ListView({
183
183
  customValue: user.id.toString(),
184
184
  })),
185
185
  };
186
+
186
187
  filter.fieldSchema.mainField = {
187
188
  name: 'id',
188
189
  };
@@ -8,7 +8,7 @@ import { EmptyNpmPackageGrid } from './EmptyNpmPackageGrid';
8
8
 
9
9
  const EmptyNpmPackageSearch = ({ content }) => {
10
10
  return (
11
- <Box position="relative" data-testid="marketplace-results">
11
+ <Box position="relative">
12
12
  <EmptyNpmPackageGrid />
13
13
  <Box position="absolute" top={11} width="100%">
14
14
  <Flex alignItems="center" justifyContent="center" direction="column">
@@ -50,7 +50,6 @@ const NpmPackagesFilters = ({
50
50
  <ButtonToggle
51
51
  variant="tertiary"
52
52
  ref={buttonRef}
53
- data-testid="filters-button"
54
53
  startIcon={<Filter />}
55
54
  onClick={handleToggle}
56
55
  size="S"
@@ -49,7 +49,7 @@ const NpmPackagesGrid = ({
49
49
  }
50
50
 
51
51
  return (
52
- <Grid gap={4} data-testid="marketplace-results">
52
+ <Grid gap={4}>
53
53
  {npmPackages.map((npmPackage) => (
54
54
  <GridItem col={4} s={6} xs={12} style={{ height: '100%' }} key={npmPackage.id}>
55
55
  <NpmPackageCard
@@ -0,0 +1,26 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[6812],{37410:function(x,b,s){var n=s(96621),c=s(33646);function g(d,h){return n(d,h,function(y,f){return c(d,f)})}x.exports=g},96621:function(x,b,s){var n=s(80166),c=s(58116),g=s(18422);function d(h,y,f){for(var L=-1,O=y.length,w={};++L<O;){var F=y[L],M=n(h,F);f(M,F)&&c(w,g(F,h),M)}return w}x.exports=d},72245:function(x,b,s){var n=s(63920),c=s(85973);function g(d,h,y,f,L,O){return c(d)&&c(h)&&(O.set(h,d),n(d,h,void 0,g,O),O.delete(h)),d}x.exports=g},58732:function(x,b,s){var n=s(85198),c=s(94569),g=s(72245),d=s(54754),h=c(function(y){return y.push(void 0,g),n(d,void 0,y)});x.exports=h},54754:function(x,b,s){var n=s(63920),c=s(32544),g=c(function(d,h,y,f){n(d,h,y,f)});x.exports=g},88423:function(x,b,s){var n=s(37410),c=s(83368),g=c(function(d,h){return d==null?{}:n(d,h)});x.exports=g},56236:function(x,b,s){var n=s(69386);function c(g,d){return g==null?!0:n(g,d)}x.exports=c},78023:function(x,b,s){"use strict";s.d(b,{Z:function(){return ve}});var n=s(31191),c=s(32735),g=s(72067),d=s(42447),h=s(26356),y=s(75461),f=s(68833),L=s(20552);function O(e,i){return Object.keys(e).reduce(function(r,t){return r[t]=(0,n.pi)({timeZone:i},e[t]),r},{})}function w(e,i){var r=Object.keys((0,n.pi)((0,n.pi)({},e),i));return r.reduce(function(t,o){return t[o]=(0,n.pi)((0,n.pi)({},e[o]||{}),i[o]||{}),t},{})}function F(e,i){if(!i)return e;var r=y.C.formats;return(0,n.pi)((0,n.pi)((0,n.pi)({},r),e),{date:w(O(r.date,i),O(e.date||{},i)),time:w(O(r.time,i),O(e.time||{},i))})}var M=function(e,i,r,t,o){var a=e.locale,l=e.formats,u=e.messages,v=e.defaultLocale,j=e.defaultFormats,p=e.fallbackOnEmptyString,C=e.onError,B=e.timeZone,J=e.defaultRichTextElements;r===void 0&&(r={id:""});var V=r.id,D=r.defaultMessage;(0,h.kG)(!!V,"[@formatjs/intl] An `id` must be provided to format a message. You can either:\n1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)\nor [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR\n2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)\nto autofix this issue");var N=String(V),R=u&&Object.prototype.hasOwnProperty.call(u,N)&&u[N];if(Array.isArray(R)&&R.length===1&&R[0].type===L.wD.literal)return R[0].value;if(!t&&R&&typeof R=="string"&&!J)return R.replace(/'\{(.*?)\}'/gi,"{$1}");if(t=(0,n.pi)((0,n.pi)({},J),t||{}),l=F(l,B),j=F(j,B),!R){if(p===!1&&R==="")return R;if((!D||a&&a.toLowerCase()!==v.toLowerCase())&&C(new f.$6(r,a)),D)try{var Z=i.getMessageFormat(D,v,j,o);return Z.format(t)}catch(W){return C(new f.X9('Error formatting default message for: "'.concat(N,'", rendering default message verbatim'),a,r,W)),typeof D=="string"?D:N}return N}try{var Z=i.getMessageFormat(R,a,l,(0,n.pi)({formatters:i},o||{}));return Z.format(t)}catch(W){C(new f.X9('Error formatting message: "'.concat(N,'", using ').concat(D?"default message":"id"," as fallback."),a,r,W))}if(D)try{var Z=i.getMessageFormat(D,v,j,o);return Z.format(t)}catch(W){C(new f.X9('Error formatting the default message for: "'.concat(N,'", rendering message verbatim'),a,r,W))}return typeof R=="string"?R:typeof D=="string"?D:N},m=s(32409),T=["style","currency","currencyDisplay","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","currencyDisplay","currencySign","notation","signDisplay","unit","unitDisplay","numberingSystem"];function P(e,i,r){var t=e.locale,o=e.formats,a=e.onError;r===void 0&&(r={});var l=r.format,u=l&&(0,m.TB)(o,"number",l,a)||{},v=(0,m.L6)(r,T,u);return i(t,v)}function I(e,i,r,t){t===void 0&&(t={});try{return P(e,i,t).format(r)}catch(o){e.onError(new f.Qe("Error formatting number.",e.locale,o))}return String(r)}function S(e,i,r,t){t===void 0&&(t={});try{return P(e,i,t).formatToParts(r)}catch(o){e.onError(new f.Qe("Error formatting number.",e.locale,o))}return[]}var E=s(14979),k=["numeric","style"];function U(e,i,r){var t=e.locale,o=e.formats,a=e.onError;r===void 0&&(r={});var l=r.format,u=!!l&&(0,m.TB)(o,"relative",l,a)||{},v=(0,m.L6)(r,k,u);return i(t,v)}function z(e,i,r,t,o){o===void 0&&(o={}),t||(t="second");var a=Intl.RelativeTimeFormat;a||e.onError(new E.u_(`Intl.RelativeTimeFormat is not available in this environment.
2
+ Try polyfilling it using "@formatjs/intl-relativetimeformat"
3
+ `,E.jK.MISSING_INTL_API));try{return U(e,i,o).format(r,t)}catch(l){e.onError(new f.Qe("Error formatting relative time.",e.locale,l))}return String(r)}var A=["formatMatcher","timeZone","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName","hourCycle","dateStyle","timeStyle","calendar","numberingSystem","fractionalSecondDigits"];function K(e,i,r,t){var o=e.locale,a=e.formats,l=e.onError,u=e.timeZone;t===void 0&&(t={});var v=t.format,j=(0,n.pi)((0,n.pi)({},u&&{timeZone:u}),v&&(0,m.TB)(a,i,v,l)),p=(0,m.L6)(t,A,j);return i==="time"&&!p.hour&&!p.minute&&!p.second&&!p.timeStyle&&!p.dateStyle&&(p=(0,n.pi)((0,n.pi)({},p),{hour:"numeric",minute:"numeric"})),r(o,p)}function _(e,i){for(var r=[],t=2;t<arguments.length;t++)r[t-2]=arguments[t];var o=r[0],a=r[1],l=a===void 0?{}:a,u=typeof o=="string"?new Date(o||0):o;try{return K(e,"date",i,l).format(u)}catch(v){e.onError(new f.Qe("Error formatting date.",e.locale,v))}return String(u)}function q(e,i){for(var r=[],t=2;t<arguments.length;t++)r[t-2]=arguments[t];var o=r[0],a=r[1],l=a===void 0?{}:a,u=typeof o=="string"?new Date(o||0):o;try{return K(e,"time",i,l).format(u)}catch(v){e.onError(new f.Qe("Error formatting time.",e.locale,v))}return String(u)}function ee(e,i){for(var r=[],t=2;t<arguments.length;t++)r[t-2]=arguments[t];var o=r[0],a=r[1],l=r[2],u=l===void 0?{}:l,v=e.timeZone,j=e.locale,p=e.onError,C=(0,m.L6)(u,A,v?{timeZone:v}:{});try{return i(j,C).formatRange(o,a)}catch(B){p(new f.Qe("Error formatting date time range.",e.locale,B))}return String(o)}function te(e,i){for(var r=[],t=2;t<arguments.length;t++)r[t-2]=arguments[t];var o=r[0],a=r[1],l=a===void 0?{}:a,u=typeof o=="string"?new Date(o||0):o;try{return K(e,"date",i,l).formatToParts(u)}catch(v){e.onError(new f.Qe("Error formatting date.",e.locale,v))}return[]}function re(e,i){for(var r=[],t=2;t<arguments.length;t++)r[t-2]=arguments[t];var o=r[0],a=r[1],l=a===void 0?{}:a,u=typeof o=="string"?new Date(o||0):o;try{return K(e,"time",i,l).formatToParts(u)}catch(v){e.onError(new f.Qe("Error formatting time.",e.locale,v))}return[]}var ne=["type"];function ae(e,i,r,t){var o=e.locale,a=e.onError;t===void 0&&(t={}),Intl.PluralRules||a(new E.u_(`Intl.PluralRules is not available in this environment.
4
+ Try polyfilling it using "@formatjs/intl-pluralrules"
5
+ `,E.jK.MISSING_INTL_API));var l=(0,m.L6)(t,ne);try{return i(o,l).select(r)}catch(u){a(new f.Qe("Error formatting plural.",o,u))}return"other"}var oe=["type","style"],$=Date.now();function ie(e){return"".concat($,"_").concat(e,"_").concat($)}function se(e,i,r,t){t===void 0&&(t={});var o=G(e,i,r,t).reduce(function(a,l){var u=l.value;return typeof u!="string"?a.push(u):typeof a[a.length-1]=="string"?a[a.length-1]+=u:a.push(u),a},[]);return o.length===1?o[0]:o.length===0?"":o}function G(e,i,r,t){var o=e.locale,a=e.onError;t===void 0&&(t={});var l=Intl.ListFormat;l||a(new E.u_(`Intl.ListFormat is not available in this environment.
6
+ Try polyfilling it using "@formatjs/intl-listformat"
7
+ `,E.jK.MISSING_INTL_API));var u=(0,m.L6)(t,oe);try{var v={},j=r.map(function(p,C){if(typeof p=="object"){var B=ie(C);return v[B]=p,B}return String(p)});return i(o,u).formatToParts(j).map(function(p){return p.type==="literal"?p:(0,n.pi)((0,n.pi)({},p),{value:v[p.value]||p.value})})}catch(p){a(new f.Qe("Error formatting list.",o,p))}return r}var le=["style","type","fallback","languageDisplay"];function ue(e,i,r,t){var o=e.locale,a=e.onError,l=Intl.DisplayNames;l||a(new E.u_(`Intl.DisplayNames is not available in this environment.
8
+ Try polyfilling it using "@formatjs/intl-displaynames"
9
+ `,E.jK.MISSING_INTL_API));var u=(0,m.L6)(t,le);try{return i(o,u).of(r)}catch(v){a(new f.Qe("Error formatting display name.",o,v))}}function fe(e){var i=e?e[Object.keys(e)[0]]:void 0;return typeof i=="string"}function me(e){e.onWarn&&e.defaultRichTextElements&&fe(e.messages||{})&&e.onWarn(`[@formatjs/intl] "defaultRichTextElements" was specified but "message" was not pre-compiled.
10
+ Please consider using "@formatjs/cli" to pre-compile your messages for performance.
11
+ For more details see https://formatjs.io/docs/getting-started/message-distribution`)}function ce(e,i){var r=(0,m.ax)(i),t=(0,n.pi)((0,n.pi)({},m.Z0),e),o=t.locale,a=t.defaultLocale,l=t.onError;return o?!Intl.NumberFormat.supportedLocalesOf(o).length&&l?l(new f.gb('Missing locale data for locale: "'.concat(o,'" in Intl.NumberFormat. Using default locale: "').concat(a,'" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details'))):!Intl.DateTimeFormat.supportedLocalesOf(o).length&&l&&l(new f.gb('Missing locale data for locale: "'.concat(o,'" in Intl.DateTimeFormat. Using default locale: "').concat(a,'" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details'))):(l&&l(new f.OV('"locale" was not configured, using "'.concat(a,'" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details'))),t.locale=t.defaultLocale||"en"),me(t),(0,n.pi)((0,n.pi)({},t),{formatters:r,formatNumber:I.bind(null,t,r.getNumberFormat),formatNumberToParts:S.bind(null,t,r.getNumberFormat),formatRelativeTime:z.bind(null,t,r.getRelativeTimeFormat),formatDate:_.bind(null,t,r.getDateTimeFormat),formatDateToParts:te.bind(null,t,r.getDateTimeFormat),formatTime:q.bind(null,t,r.getDateTimeFormat),formatDateTimeRange:ee.bind(null,t,r.getDateTimeFormat),formatTimeToParts:re.bind(null,t,r.getDateTimeFormat),formatPlural:ae.bind(null,t,r.getPluralRules),formatMessage:M.bind(null,t,r),$t:M.bind(null,t,r),formatList:se.bind(null,t,r.getListFormat),formatListToParts:G.bind(null,t,r.getListFormat),formatDisplayName:ue.bind(null,t,r.getDisplayNames)})}var de=s(33961);function Q(e){return{locale:e.locale,timeZone:e.timeZone,fallbackOnEmptyString:e.fallbackOnEmptyString,formats:e.formats,textComponent:e.textComponent,messages:e.messages,defaultLocale:e.defaultLocale,defaultFormats:e.defaultFormats,onError:e.onError,onWarn:e.onWarn,wrapRichTextChunksInFragment:e.wrapRichTextChunksInFragment,defaultRichTextElements:e.defaultRichTextElements}}function H(e){return e&&Object.keys(e).reduce(function(i,r){var t=e[r];return i[r]=(0,de.Gt)(t)?(0,d.dt)(t):t,i},{})}var X=function(e,i,r,t){for(var o=[],a=4;a<arguments.length;a++)o[a-4]=arguments[a];var l=H(t),u=M.apply(void 0,(0,n.ev)([e,i,r,l],o,!1));return Array.isArray(u)?c.Children.toArray(u):u},Y=function(e,i){var r=e.defaultRichTextElements,t=(0,n._T)(e,["defaultRichTextElements"]),o=H(r),a=ce((0,n.pi)((0,n.pi)((0,n.pi)({},d.Z0),t),{defaultRichTextElements:o}),i),l={locale:a.locale,timeZone:a.timeZone,fallbackOnEmptyString:a.fallbackOnEmptyString,formats:a.formats,defaultLocale:a.defaultLocale,defaultFormats:a.defaultFormats,messages:a.messages,onError:a.onError,defaultRichTextElements:o};return(0,n.pi)((0,n.pi)({},a),{formatMessage:X.bind(null,l,a.formatters),$t:X.bind(null,l,a.formatters)})},ge=function(e){(0,n.ZT)(i,e);function i(){var r=e!==null&&e.apply(this,arguments)||this;return r.cache=(0,m.Sn)(),r.state={cache:r.cache,intl:Y(Q(r.props),r.cache),prevConfig:Q(r.props)},r}return i.getDerivedStateFromProps=function(r,t){var o=t.prevConfig,a=t.cache,l=Q(r);return(0,d.wU)(o,l)?null:{intl:Y(l,a),prevConfig:l}},i.prototype.render=function(){return(0,d.lq)(this.state.intl),c.createElement(g.zt,{value:this.state.intl},this.props.children)},i.displayName="IntlProvider",i.defaultProps=d.Z0,i}(c.PureComponent),ve=ge},56932:function(x,b,s){"use strict";s.d(b,{D:function(){return g}});var n=s(74512),c=s(77981);const g=({children:d})=>(0,n.jsx)(c.x,{paddingLeft:10,paddingRight:10,children:d})},64092:function(x,b,s){"use strict";s.d(b,{T:function(){return w}});var n=s(74512),c=s(32735),g=s(8471);const d=m=>{const T=(0,c.useRef)(null),[P,I]=(0,c.useState)(!0),S=([E])=>{I(E.isIntersecting)};return(0,c.useEffect)(()=>{const E=T.current,k=new IntersectionObserver(S,m);return E&&k.observe(T.current),()=>{E&&k.disconnect()}},[T,m]),[T,P]};var h=s(81957);const y=(m,T)=>{const P=(0,h.W)(T);(0,c.useLayoutEffect)(()=>{const I=new ResizeObserver(P);return Array.isArray(m)?m.forEach(S=>{S.current&&I.observe(S.current)}):m.current&&I.observe(m.current),()=>{I.disconnect()}},[m,P])};var f=s(77981),L=s(84642),O=s(8365);const w=m=>{const T=(0,c.useRef)(null),[P,I]=(0,c.useState)(null),[S,E]=d({root:null,rootMargin:"0px",threshold:0});return y(S,()=>{S.current&&I(S.current.getBoundingClientRect())}),(0,c.useEffect)(()=>{T.current&&I(T.current.getBoundingClientRect())},[T]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{height:P?.height},ref:S,children:E&&(0,n.jsx)(M,{ref:T,...m})}),!E&&(0,n.jsx)(M,{...m,sticky:!0,width:P?.width})]})};w.displayName="HeaderLayout";const F=(0,g.ZP)(f.x)`
12
+ width: ${({width:m})=>m?`${m/16}rem`:void 0};
13
+ z-index: ${({theme:m})=>m.zIndices[1]};
14
+ `,M=c.forwardRef(({navigationAction:m,primaryAction:T,secondaryAction:P,subtitle:I,title:S,sticky:E,width:k,...U},z)=>{const A=typeof I=="string";return E?(0,n.jsx)(F,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:k,"data-strapi-header-sticky":!0,children:(0,n.jsxs)(L.k,{justifyContent:"space-between",children:[(0,n.jsxs)(L.k,{children:[m&&(0,n.jsx)(f.x,{paddingRight:3,children:m}),(0,n.jsxs)(f.x,{children:[(0,n.jsx)(O.Z,{variant:"beta",as:"h1",...U,children:S}),A?(0,n.jsx)(O.Z,{variant:"pi",textColor:"neutral600",children:I}):I]}),P?(0,n.jsx)(f.x,{paddingLeft:4,children:P}):null]}),(0,n.jsx)(L.k,{children:T?(0,n.jsx)(f.x,{paddingLeft:2,children:T}):void 0})]})}):(0,n.jsxs)(f.x,{ref:z,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:m?6:8,background:"neutral100","data-strapi-header":!0,children:[m?(0,n.jsx)(f.x,{paddingBottom:2,children:m}):null,(0,n.jsxs)(L.k,{justifyContent:"space-between",children:[(0,n.jsxs)(L.k,{minWidth:0,children:[(0,n.jsx)(O.Z,{as:"h1",variant:"alpha",...U,children:S}),P?(0,n.jsx)(f.x,{paddingLeft:4,children:P}):null]}),T]}),A?(0,n.jsx)(O.Z,{variant:"epsilon",textColor:"neutral600",as:"p",children:I}):I]})})},95162:function(x,b,s){"use strict";s.d(b,{o:function(){return h}});var n=s(74512),c=s(8471),g=s(77981);const d=(0,c.ZP)(g.x)`
15
+ // To prevent global outline on focus visible to force an outline when Main is focused
16
+ &:focus-visible {
17
+ outline: none;
18
+ }
19
+ `,h=({labelledBy:y="main-content-title",...f})=>(0,n.jsx)(d,{"aria-labelledby":y,as:"main",id:"main-content",tabIndex:-1,...f})},34197:function(x,b,s){"use strict";s.d(b,{z:function(){return h}});var n=s(74512),c=s(8471),g=s(77981);const d=(0,c.ZP)(g.x)`
20
+ text-decoration: none;
21
+
22
+ &:focus {
23
+ left: ${({theme:y})=>y.spaces[3]};
24
+ top: ${({theme:y})=>y.spaces[3]};
25
+ }
26
+ `,h=({children:y})=>(0,n.jsx)(d,{as:"a",href:"#main-content",background:"primary600",color:"neutral0",left:"-100%",padding:3,position:"absolute",top:"-100%",hasRadius:!0,zIndex:9999,children:y})},88492:function(x,b,s){"use strict";s.d(b,{$:function(){return d}});const n={color:{alternative100:"#181826",alternative200:"#4a4a6a",alternative500:"#ac73e6",alternative600:"#ac73e6",alternative700:"#e0c1f4",buttonNeutral0:"#ffffff",buttonPrimary500:"#7b79ff",buttonPrimary600:"#4945ff",danger100:"#181826",danger200:"#4a4a6a",danger500:"#ee5e52",danger600:"#ee5e52",danger700:"#ee5e52",neutral0:"#212134",neutral100:"#181826",neutral1000:"#ffffff",neutral150:"#32324d",neutral200:"#4a4a6a",neutral300:"#666687",neutral400:"#a5a5ba",neutral500:"#c0c0cf",neutral600:"#a5a5ba",neutral700:"#eaeaef",neutral800:"#ffffff",neutral900:"#ffffff",primary100:"#181826",primary200:"#4a4a6a",primary500:"#4945ff",primary600:"#7b79ff",primary700:"#7b79ff",secondary100:"#181826",secondary200:"#4a4a6a",secondary500:"#66b7f1",secondary600:"#66b7f1",secondary700:"#b8e1ff",success100:"#181826",success200:"#4a4a6a",success500:"#5cb176",success600:"#5cb176",success700:"#c6f0c2",warning100:"#181826",warning200:"#4a4a6a",warning500:"#f29d41",warning600:"#f29d41",warning700:"#fae7b9"}},c={shadow:{filterShadow:"1px 1px 10px rgba(3, 3, 5, 0.35)",focus:"inset 2px 0px 0px rgb(39, 31, 224), inset 0px 2px 0px rgb(39, 31, 224), inset -2px 0px 0px rgb(39, 31, 224), inset 0px -2px 0px rgb(39, 31, 224)",focusShadow:"0px 0px 6px rgba(76, 191, 255, 0.75)",popupShadow:"1px 1px 10px rgba(3, 3, 5, 0.35)",tableShadow:"1px 1px 10px rgba(3, 3, 5, 0.2)"}};var g=s(30987);const d={colors:n.color,shadows:c.shadow,...g.x}}}]);