@payloadcms/ui 4.0.0-internal.cd69eef → 4.0.0-internal.cea8867

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 (69) hide show
  1. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  2. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  3. package/dist/elements/BulkUpload/FormsManager/createFormData.js +15 -4
  4. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  8. package/dist/elements/FileManager/index.d.ts +1 -1
  9. package/dist/elements/FileManager/index.d.ts.map +1 -1
  10. package/dist/elements/FileManager/index.js.map +1 -1
  11. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  12. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  13. package/dist/elements/ReactSelect/getMenuListStyles.js +5 -13
  14. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  15. package/dist/elements/ReactSelect/index.css +0 -7
  16. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  17. package/dist/elements/ReactSelect/index.js +101 -24
  18. package/dist/elements/ReactSelect/index.js.map +1 -1
  19. package/dist/elements/ReactSelect/types.d.ts +2 -1
  20. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  21. package/dist/elements/ReactSelect/types.js.map +1 -1
  22. package/dist/elements/Thumbnail/index.d.ts +1 -1
  23. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  24. package/dist/elements/Thumbnail/index.js.map +1 -1
  25. package/dist/exports/layouts.d.ts +0 -1
  26. package/dist/exports/layouts.d.ts.map +1 -1
  27. package/dist/exports/layouts.js +0 -1
  28. package/dist/exports/layouts.js.map +1 -1
  29. package/dist/forms/Form/index.d.ts.map +1 -1
  30. package/dist/forms/Form/index.js +14 -3
  31. package/dist/forms/Form/index.js.map +1 -1
  32. package/dist/layouts/Root/index.d.ts.map +1 -1
  33. package/dist/layouts/Root/index.js +4 -2
  34. package/dist/layouts/Root/index.js.map +1 -1
  35. package/dist/layouts/Root/viewport.d.ts +0 -1
  36. package/dist/layouts/Root/viewport.d.ts.map +1 -1
  37. package/dist/layouts/Root/viewport.js +1 -4
  38. package/dist/layouts/Root/viewport.js.map +1 -1
  39. package/dist/providers/Theme/index.d.ts +2 -2
  40. package/dist/providers/Theme/index.d.ts.map +1 -1
  41. package/dist/providers/Theme/index.js +2 -1
  42. package/dist/providers/Theme/index.js.map +1 -1
  43. package/dist/providers/Theme/shared.d.ts +3 -0
  44. package/dist/providers/Theme/shared.d.ts.map +1 -0
  45. package/dist/providers/Theme/shared.js +2 -0
  46. package/dist/providers/Theme/shared.js.map +1 -0
  47. package/dist/providers/UploadHandlers/index.d.ts +7 -2
  48. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  49. package/dist/providers/UploadHandlers/index.js +42 -102
  50. package/dist/providers/UploadHandlers/index.js.map +1 -1
  51. package/dist/styles.css +1 -11
  52. package/dist/utilities/getLanguageDir.d.ts +12 -0
  53. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  54. package/dist/utilities/getLanguageDir.js +12 -0
  55. package/dist/utilities/getLanguageDir.js.map +1 -0
  56. package/dist/utilities/getRequestTheme.d.ts +1 -1
  57. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  58. package/dist/utilities/getRequestTheme.js +1 -1
  59. package/dist/utilities/getRequestTheme.js.map +1 -1
  60. package/package.json +5 -6
  61. package/dist/css/z-index.css +0 -9
  62. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +0 -7
  63. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +0 -1
  64. package/dist/elements/ReactSelect/DefaultMenuPortal.js +0 -120
  65. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +0 -1
  66. package/dist/elements/ReactSelect/getMenuStyles.d.ts +0 -10
  67. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +0 -1
  68. package/dist/elements/ReactSelect/getMenuStyles.js +0 -21
  69. package/dist/elements/ReactSelect/getMenuStyles.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ export type Direction = 'ltr' | 'rtl';
2
+ /**
3
+ * Resolves the `<html dir>` value for a language code. Returns lowercase
4
+ * `'ltr'`/`'rtl'` to match the `[dir='ltr']`/`[dir='rtl']` selectors the admin
5
+ * stylesheet scopes its layout rules under (e.g. the document sidebar divider).
6
+ * Single source of truth shared across framework adapters so the SSR'd `dir`
7
+ * never diverges from what the CSS expects.
8
+ */
9
+ export declare const getLanguageDir: ({ languageCode }: {
10
+ languageCode: string;
11
+ }) => Direction;
12
+ //# sourceMappingURL=getLanguageDir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLanguageDir.d.ts","sourceRoot":"","sources":["../../src/utilities/getLanguageDir.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAA;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAAsB;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,KAAG,SACA,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { rtlLanguages } from '@payloadcms/translations';
2
+ /**
3
+ * Resolves the `<html dir>` value for a language code. Returns lowercase
4
+ * `'ltr'`/`'rtl'` to match the `[dir='ltr']`/`[dir='rtl']` selectors the admin
5
+ * stylesheet scopes its layout rules under (e.g. the document sidebar divider).
6
+ * Single source of truth shared across framework adapters so the SSR'd `dir`
7
+ * never diverges from what the CSS expects.
8
+ */
9
+ export const getLanguageDir = ({
10
+ languageCode
11
+ }) => rtlLanguages.includes(languageCode) ? 'rtl' : 'ltr';
12
+ //# sourceMappingURL=getLanguageDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLanguageDir.js","names":["rtlLanguages","getLanguageDir","languageCode","includes"],"sources":["../../src/utilities/getLanguageDir.ts"],"sourcesContent":["import { rtlLanguages } from '@payloadcms/translations'\n\nexport type Direction = 'ltr' | 'rtl'\n\n/**\n * Resolves the `<html dir>` value for a language code. Returns lowercase\n * `'ltr'`/`'rtl'` to match the `[dir='ltr']`/`[dir='rtl']` selectors the admin\n * stylesheet scopes its layout rules under (e.g. the document sidebar divider).\n * Single source of truth shared across framework adapters so the SSR'd `dir`\n * never diverges from what the CSS expects.\n */\nexport const getLanguageDir = ({ languageCode }: { languageCode: string }): Direction =>\n (rtlLanguages as readonly string[]).includes(languageCode) ? 'rtl' : 'ltr'\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ;AAI7B;;;;;;;AAOA,OAAO,MAAMC,cAAA,GAAiBA,CAAC;EAAEC;AAAY,CAA4B,KACvEF,YAAC,CAAmCG,QAAQ,CAACD,YAAA,IAAgB,QAAQ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { SanitizedConfig } from 'payload';
2
- import { type Theme } from '../providers/Theme/index.js';
2
+ import { type Theme } from '../providers/Theme/shared.js';
3
3
  type GetRequestThemeArgs = {
4
4
  config: SanitizedConfig;
5
5
  cookies: Map<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAA;AAEtE,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAID,eAAO,MAAM,eAAe,iCAAkC,mBAAmB,KAAG,KAkBnF,CAAA"}
1
+ {"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAEvE,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAID,eAAO,MAAM,eAAe,iCAAkC,mBAAmB,KAAG,KAkBnF,CAAA"}
@@ -1,4 +1,4 @@
1
- import { defaultTheme } from '../providers/Theme/index.js';
1
+ import { defaultTheme } from '../providers/Theme/shared.js';
2
2
  const acceptedThemes = ['dark', 'light'];
3
3
  export const getRequestTheme = ({
4
4
  config,
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestTheme.js","names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","admin","theme","includes","themeFromCookie","get","cookiePrefix","themeFromHeader"],"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport { defaultTheme, type Theme } from '../providers/Theme/index.js'\n\ntype GetRequestThemeArgs = {\n config: SanitizedConfig\n cookies: Map<string, string>\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestThemeArgs): Theme => {\n if (config.admin.theme !== 'all' && acceptedThemes.includes(config.admin.theme)) {\n return config.admin.theme\n }\n\n const themeFromCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"mappings":"AAEA,SAASA,YAAY,QAAoB;AAQzC,MAAMC,cAAA,GAA0B,CAAC,QAAQ,QAAQ;AAEjD,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAO,CAAuB;EAC/E,IAAIF,MAAA,CAAOG,KAAK,CAACC,KAAK,KAAK,SAASN,cAAA,CAAeO,QAAQ,CAACL,MAAA,CAAOG,KAAK,CAACC,KAAK,GAAG;IAC/E,OAAOJ,MAAA,CAAOG,KAAK,CAACC,KAAK;EAC3B;EAEA,MAAME,eAAA,GAAkBL,OAAA,CAAQM,GAAG,CAAC,GAAGP,MAAA,CAAOQ,YAAY,IAAI,iBAAiB;EAE/E,IAAIF,eAAA,IAAmBR,cAAA,CAAeO,QAAQ,CAACC,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,MAAMG,eAAA,GAAkBP,OAAA,CAAQK,GAAG,CAAC;EAEpC,IAAIE,eAAA,IAAmBX,cAAA,CAAeO,QAAQ,CAACI,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,OAAOZ,YAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getRequestTheme.js","names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","admin","theme","includes","themeFromCookie","get","cookiePrefix","themeFromHeader"],"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport { defaultTheme, type Theme } from '../providers/Theme/shared.js'\n\ntype GetRequestThemeArgs = {\n config: SanitizedConfig\n cookies: Map<string, string>\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestThemeArgs): Theme => {\n if (config.admin.theme !== 'all' && acceptedThemes.includes(config.admin.theme)) {\n return config.admin.theme\n }\n\n const themeFromCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"mappings":"AAEA,SAASA,YAAY,QAAoB;AAQzC,MAAMC,cAAA,GAA0B,CAAC,QAAQ,QAAQ;AAEjD,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAO,CAAuB;EAC/E,IAAIF,MAAA,CAAOG,KAAK,CAACC,KAAK,KAAK,SAASN,cAAA,CAAeO,QAAQ,CAACL,MAAA,CAAOG,KAAK,CAACC,KAAK,GAAG;IAC/E,OAAOJ,MAAA,CAAOG,KAAK,CAACC,KAAK;EAC3B;EAEA,MAAME,eAAA,GAAkBL,OAAA,CAAQM,GAAG,CAAC,GAAGP,MAAA,CAAOQ,YAAY,IAAI,iBAAiB;EAE/E,IAAIF,eAAA,IAAmBR,cAAA,CAAeO,QAAQ,CAACC,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,MAAMG,eAAA,GAAkBP,OAAA,CAAQK,GAAG,CAAC;EAEpC,IAAIE,eAAA,IAAmBX,cAAA,CAAeO,QAAQ,CAACI,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,OAAOZ,YAAA;AACT","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "4.0.0-internal.cd69eef",
3
+ "version": "4.0.0-internal.cea8867",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -277,7 +277,6 @@
277
277
  "@faceless-ui/modal": "3.0.1",
278
278
  "@faceless-ui/scroll-info": "2.0.0",
279
279
  "@faceless-ui/window-info": "3.0.1",
280
- "@floating-ui/dom": "1.7.6",
281
280
  "@monaco-editor/react": "4.7.0",
282
281
  "bson-objectid": "2.0.4",
283
282
  "date-fns": "4.1.0",
@@ -294,7 +293,7 @@
294
293
  "ts-essentials": "10.0.3",
295
294
  "use-context-selector": "2.0.0",
296
295
  "uuid": "14.0.0",
297
- "@payloadcms/translations": "4.0.0-internal.cd69eef"
296
+ "@payloadcms/translations": "4.0.0-internal.cea8867"
298
297
  },
299
298
  "devDependencies": {
300
299
  "@babel/cli": "7.27.2",
@@ -308,13 +307,13 @@
308
307
  "babel-plugin-react-compiler": "19.1.0-rc.3",
309
308
  "esbuild": "0.27.1",
310
309
  "esbuild-sass-plugin": "3.3.1",
311
- "@payloadcms/eslint-config": "3.28.0",
312
- "payload": "4.0.0-internal.cd69eef"
310
+ "payload": "4.0.0-internal.cea8867",
311
+ "@payloadcms/eslint-config": "3.28.0"
313
312
  },
314
313
  "peerDependencies": {
315
314
  "react": "^19.0.1 || ^19.1.2 || ^19.2.1",
316
315
  "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
317
- "payload": "4.0.0-internal.cd69eef"
316
+ "payload": "4.0.0-internal.cea8867"
318
317
  },
319
318
  "engines": {
320
319
  "node": ">=24.15.0"
@@ -1,9 +0,0 @@
1
- @layer payload-default {
2
- :root {
3
- --z-popup: 60;
4
- --z-nav: 20;
5
- --z-modal: 30;
6
- --z-status: 40;
7
- --z-portal-element: 9999;
8
- }
9
- }
@@ -1,7 +0,0 @@
1
- import type { GroupBase } from 'react-select';
2
- import React from 'react';
3
- import { components as rsComponents } from 'react-select';
4
- type DefaultMenuPortalProps<Opt, IsMulti extends boolean, Group extends GroupBase<Opt>> = React.ComponentProps<typeof rsComponents.MenuPortal<Opt, IsMulti, Group>>;
5
- export declare function DefaultMenuPortal<Opt, IsMulti extends boolean, Group extends GroupBase<Opt>>(props: DefaultMenuPortalProps<Opt, IsMulti, Group>): React.JSX.Element;
6
- export {};
7
- //# sourceMappingURL=DefaultMenuPortal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultMenuPortal.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/DefaultMenuPortal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,KAA+C,MAAM,OAAO,CAAA;AAEnE,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAiBzD,KAAK,sBAAsB,CACzB,GAAG,EACH,OAAO,SAAS,OAAO,EACvB,KAAK,SAAS,SAAS,CAAC,GAAG,CAAC,IAC1B,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAE7E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,SAAS,OAAO,EAAE,KAAK,SAAS,SAAS,CAAC,GAAG,CAAC,EAC1F,KAAK,EAAE,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,qBAoHnD"}
@@ -1,120 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom';
3
- import React, { useCallback, useLayoutEffect, useRef } from 'react';
4
- import { createPortal } from 'react-dom';
5
- import { components as rsComponents } from 'react-select';
6
- import { useTheme } from '../../providers/Theme/index.js';
7
- const FLOATING_MENU_PADDING = 16;
8
- const FLOATING_MENU_OFFSET = 4;
9
- export function DefaultMenuPortal(props) {
10
- const {
11
- appendTo,
12
- children,
13
- controlElement,
14
- innerProps = {},
15
- menuPlacement
16
- } = props;
17
- const {
18
- theme
19
- } = useTheme();
20
- const floatingRef = useRef(null);
21
- const rafRef = useRef(null);
22
- const selectProps = props.selectProps;
23
- const menuPortalTheme = selectProps.customProps?.menuPortalTheme;
24
- const updatePosition = useCallback(async () => {
25
- const floatingElement = floatingRef.current;
26
- if (!controlElement || !floatingElement) {
27
- return;
28
- }
29
- const placement = menuPlacement === 'top' ? 'top-start' : 'bottom-start';
30
- const {
31
- x,
32
- y
33
- } = await computePosition(controlElement, floatingElement, {
34
- middleware: [offset(FLOATING_MENU_OFFSET), flip({
35
- padding: FLOATING_MENU_PADDING
36
- }), shift({
37
- padding: FLOATING_MENU_PADDING
38
- }), size({
39
- apply({
40
- availableHeight,
41
- elements,
42
- rects
43
- }) {
44
- const maxHeight = `${Math.max(1, Math.floor(availableHeight))}px`;
45
- const width = `${Math.floor(rects.reference.width)}px`;
46
- Object.assign(elements.floating.style, {
47
- '--rs-floating-menu-max-height': maxHeight,
48
- minWidth: width,
49
- width
50
- });
51
- },
52
- padding: FLOATING_MENU_PADDING
53
- })],
54
- placement,
55
- strategy: 'fixed'
56
- });
57
- Object.assign(floatingElement.style, {
58
- left: `${x}px`,
59
- top: `${y}px`
60
- });
61
- }, [controlElement, menuPlacement]);
62
- const setFloatingElement = useCallback(element => {
63
- floatingRef.current = element;
64
- void updatePosition();
65
- }, [updatePosition]);
66
- useLayoutEffect(() => {
67
- const floatingElement = floatingRef.current;
68
- if (!appendTo || !controlElement || !floatingElement || typeof window === 'undefined') {
69
- return;
70
- }
71
- const cleanupAutoUpdate = autoUpdate(controlElement, floatingElement, updatePosition, {
72
- elementResize: 'ResizeObserver' in window
73
- });
74
- const visualViewport = window.visualViewport;
75
- visualViewport?.addEventListener('resize', updatePosition);
76
- visualViewport?.addEventListener('scroll', updatePosition);
77
- rafRef.current = window.requestAnimationFrame(() => {
78
- void updatePosition();
79
- });
80
- return () => {
81
- cleanupAutoUpdate();
82
- visualViewport?.removeEventListener('resize', updatePosition);
83
- visualViewport?.removeEventListener('scroll', updatePosition);
84
- if (rafRef.current !== null) {
85
- window.cancelAnimationFrame(rafRef.current);
86
- }
87
- };
88
- }, [appendTo, controlElement, updatePosition]);
89
- if (!appendTo || !controlElement) {
90
- const themedInnerProps = {
91
- ...innerProps,
92
- 'data-theme': menuPortalTheme ?? theme
93
- };
94
- return /*#__PURE__*/_jsx(rsComponents.MenuPortal, {
95
- ...props,
96
- innerProps: themedInnerProps
97
- });
98
- }
99
- const {
100
- className,
101
- style,
102
- ...restInnerProps
103
- } = innerProps;
104
- const menuWrapper = /*#__PURE__*/_jsx("div", {
105
- ...restInnerProps,
106
- className: ['rs__floating-menu-portal', className].filter(Boolean).join(' '),
107
- "data-theme": menuPortalTheme ?? theme,
108
- ref: setFloatingElement,
109
- style: {
110
- ...style,
111
- left: 0,
112
- position: 'fixed',
113
- top: 0,
114
- zIndex: 'var(--z-portal-element)'
115
- },
116
- children: children
117
- });
118
- return /*#__PURE__*/createPortal(menuWrapper, appendTo);
119
- }
120
- //# sourceMappingURL=DefaultMenuPortal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultMenuPortal.js","names":["autoUpdate","computePosition","flip","offset","shift","size","React","useCallback","useLayoutEffect","useRef","createPortal","components","rsComponents","useTheme","FLOATING_MENU_PADDING","FLOATING_MENU_OFFSET","DefaultMenuPortal","props","appendTo","children","controlElement","innerProps","menuPlacement","theme","floatingRef","rafRef","selectProps","menuPortalTheme","customProps","updatePosition","floatingElement","current","placement","x","y","middleware","padding","apply","availableHeight","elements","rects","maxHeight","Math","max","floor","width","reference","Object","assign","floating","style","minWidth","strategy","left","top","setFloatingElement","element","window","cleanupAutoUpdate","elementResize","visualViewport","addEventListener","requestAnimationFrame","removeEventListener","cancelAnimationFrame","themedInnerProps","_jsx","MenuPortal","className","restInnerProps","menuWrapper","filter","Boolean","join","ref","position","zIndex"],"sources":["../../../src/elements/ReactSelect/DefaultMenuPortal.tsx"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport type { GroupBase } from 'react-select'\n\nimport { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport React, { useCallback, useLayoutEffect, useRef } from 'react'\nimport { createPortal } from 'react-dom'\nimport { components as rsComponents } from 'react-select'\n\nimport type { CustomSelectProps } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\n\nconst FLOATING_MENU_PADDING = 16\nconst FLOATING_MENU_OFFSET = 4\n\ntype FloatingMenuPortalStyle = {\n '--rs-floating-menu-max-height'?: string\n} & CSSProperties\n\ntype ThemedMenuPortalInnerProps = {\n 'data-theme'?: string\n} & React.JSX.IntrinsicElements['div']\n\ntype DefaultMenuPortalProps<\n Opt,\n IsMulti extends boolean,\n Group extends GroupBase<Opt>,\n> = React.ComponentProps<typeof rsComponents.MenuPortal<Opt, IsMulti, Group>>\n\nexport function DefaultMenuPortal<Opt, IsMulti extends boolean, Group extends GroupBase<Opt>>(\n props: DefaultMenuPortalProps<Opt, IsMulti, Group>,\n) {\n const { appendTo, children, controlElement, innerProps = {}, menuPlacement } = props\n const { theme } = useTheme()\n const floatingRef = useRef<HTMLDivElement | null>(null)\n const rafRef = useRef<null | number>(null)\n const selectProps = props.selectProps as {\n customProps?: CustomSelectProps\n } & typeof props.selectProps\n const menuPortalTheme = selectProps.customProps?.menuPortalTheme\n\n const updatePosition = useCallback(async () => {\n const floatingElement = floatingRef.current\n\n if (!controlElement || !floatingElement) {\n return\n }\n\n const placement = menuPlacement === 'top' ? 'top-start' : 'bottom-start'\n const { x, y } = await computePosition(controlElement, floatingElement, {\n middleware: [\n offset(FLOATING_MENU_OFFSET),\n flip({ padding: FLOATING_MENU_PADDING }),\n shift({ padding: FLOATING_MENU_PADDING }),\n size({\n apply({ availableHeight, elements, rects }) {\n const maxHeight = `${Math.max(1, Math.floor(availableHeight))}px`\n const width = `${Math.floor(rects.reference.width)}px`\n\n Object.assign(elements.floating.style, {\n '--rs-floating-menu-max-height': maxHeight,\n minWidth: width,\n width,\n })\n },\n padding: FLOATING_MENU_PADDING,\n }),\n ],\n placement,\n strategy: 'fixed',\n })\n\n Object.assign(floatingElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n })\n }, [controlElement, menuPlacement])\n\n const setFloatingElement = useCallback(\n (element: HTMLDivElement | null) => {\n floatingRef.current = element\n void updatePosition()\n },\n [updatePosition],\n )\n\n useLayoutEffect(() => {\n const floatingElement = floatingRef.current\n\n if (!appendTo || !controlElement || !floatingElement || typeof window === 'undefined') {\n return\n }\n\n const cleanupAutoUpdate = autoUpdate(controlElement, floatingElement, updatePosition, {\n elementResize: 'ResizeObserver' in window,\n })\n const visualViewport = window.visualViewport\n\n visualViewport?.addEventListener('resize', updatePosition)\n visualViewport?.addEventListener('scroll', updatePosition)\n rafRef.current = window.requestAnimationFrame(() => {\n void updatePosition()\n })\n\n return () => {\n cleanupAutoUpdate()\n visualViewport?.removeEventListener('resize', updatePosition)\n visualViewport?.removeEventListener('scroll', updatePosition)\n\n if (rafRef.current !== null) {\n window.cancelAnimationFrame(rafRef.current)\n }\n }\n }, [appendTo, controlElement, updatePosition])\n\n if (!appendTo || !controlElement) {\n const themedInnerProps: ThemedMenuPortalInnerProps = {\n ...innerProps,\n 'data-theme': menuPortalTheme ?? theme,\n }\n\n return <rsComponents.MenuPortal {...props} innerProps={themedInnerProps} />\n }\n\n const { className, style, ...restInnerProps } = innerProps\n const menuWrapper = (\n <div\n {...restInnerProps}\n className={['rs__floating-menu-portal', className].filter(Boolean).join(' ')}\n data-theme={menuPortalTheme ?? theme}\n ref={setFloatingElement}\n style={\n {\n ...style,\n left: 0,\n position: 'fixed',\n top: 0,\n zIndex: 'var(--z-portal-element)',\n } as FloatingMenuPortalStyle\n }\n >\n {children}\n </div>\n )\n\n return createPortal(menuWrapper, appendTo)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- import type { GroupBase, StylesConfig } from 'react-select';
2
- import type { Option } from './types.js';
3
- type MenuStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menu']>;
4
- type Args = {
5
- externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>;
6
- shouldUseFloatingMenuPortal: boolean;
7
- };
8
- export declare const getMenuStyles: ({ externalStyles, shouldUseFloatingMenuPortal, }: Args) => MenuStyles;
9
- export {};
10
- //# sourceMappingURL=getMenuStyles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getMenuStyles.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getMenuStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,KAAK,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAEvF,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IACjE,2BAA2B,EAAE,OAAO,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,aAAa,qDAGvB,IAAI,KAAG,UAoBT,CAAA"}
@@ -1,21 +0,0 @@
1
- export const getMenuStyles = ({
2
- externalStyles,
3
- shouldUseFloatingMenuPortal
4
- }) => {
5
- return (rsStyles, state) => {
6
- const styles = {
7
- ...rsStyles,
8
- zIndex: undefined,
9
- ...(shouldUseFloatingMenuPortal && {
10
- bottom: undefined,
11
- position: 'static',
12
- top: undefined
13
- })
14
- };
15
- return {
16
- ...styles,
17
- ...externalStyles?.menu?.(styles, state)
18
- };
19
- };
20
- };
21
- //# sourceMappingURL=getMenuStyles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getMenuStyles.js","names":["getMenuStyles","externalStyles","shouldUseFloatingMenuPortal","rsStyles","state","styles","zIndex","undefined","bottom","position","top","menu"],"sources":["../../../src/elements/ReactSelect/getMenuStyles.ts"],"sourcesContent":["import type { CSSObjectWithLabel, GroupBase, StylesConfig } from 'react-select'\n\nimport type { Option } from './types.js'\n\ntype MenuStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menu']>\n\ntype Args = {\n externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>\n shouldUseFloatingMenuPortal: boolean\n}\n\nexport const getMenuStyles = ({\n externalStyles,\n shouldUseFloatingMenuPortal,\n}: Args): MenuStyles => {\n return (\n rsStyles: CSSObjectWithLabel,\n state: Parameters<NonNullable<StylesConfig<Option>['menu']>>[1],\n ) => {\n const styles: CSSObjectWithLabel = {\n ...rsStyles,\n zIndex: undefined,\n ...(shouldUseFloatingMenuPortal && {\n bottom: undefined,\n position: 'static',\n top: undefined,\n }),\n }\n\n return {\n ...styles,\n ...externalStyles?.menu?.(styles, state),\n }\n }\n}\n"],"mappings":"AAWA,OAAO,MAAMA,aAAA,GAAgBA,CAAC;EAC5BC,cAAc;EACdC;AAA2B,CACtB;EACL,OAAO,CACLC,QAAA,EACAC,KAAA;IAEA,MAAMC,MAAA,GAA6B;MACjC,GAAGF,QAAQ;MACXG,MAAA,EAAQC,SAAA;MACR,IAAIL,2BAAA,IAA+B;QACjCM,MAAA,EAAQD,SAAA;QACRE,QAAA,EAAU;QACVC,GAAA,EAAKH;MACP,CAAC;IACH;IAEA,OAAO;MACL,GAAGF,MAAM;MACT,GAAGJ,cAAA,EAAgBU,IAAA,GAAON,MAAA,EAAQD,KAAA;IACpC;EACF;AACF","ignoreList":[]}