@strapi/design-system 1.6.6 → 1.7.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +55 -0
  2. package/dist/BaseButton/BaseButton.cjs +1 -1
  3. package/dist/BaseButton/BaseButton.js +1 -1
  4. package/dist/BaseLink/BaseLink.cjs +1 -3
  5. package/dist/BaseLink/BaseLink.js +14 -14
  6. package/dist/Combobox/Combobox.cjs +104 -1
  7. package/dist/Combobox/Combobox.js +348 -278
  8. package/dist/Combobox/ComboboxList.cjs +1 -1
  9. package/dist/Combobox/ComboboxList.js +7 -6
  10. package/dist/Combobox/ComboboxOption.cjs +1 -1
  11. package/dist/Combobox/ComboboxOption.js +3 -29
  12. package/dist/DatePicker/DatePicker.cjs +6 -2
  13. package/dist/DatePicker/DatePicker.js +55 -49
  14. package/dist/DateTimePicker/parseDate.cjs +1 -0
  15. package/dist/DateTimePicker/parseDate.js +8 -0
  16. package/dist/NumberInput/NumberInput.cjs +2 -2
  17. package/dist/NumberInput/NumberInput.js +31 -31
  18. package/dist/Select/MultiSelect.cjs +30 -0
  19. package/dist/Select/MultiSelect.js +239 -0
  20. package/dist/Select/MultiSelectNested.cjs +3 -1
  21. package/dist/Select/MultiSelectNested.js +25 -12
  22. package/dist/Select/OptGroup.cjs +1 -1
  23. package/dist/Select/OptGroup.js +3 -22
  24. package/dist/Select/Option.cjs +1 -45
  25. package/dist/Select/Option.js +12 -100
  26. package/dist/Select/Select.cjs +1 -3
  27. package/dist/Select/Select.js +9 -207
  28. package/dist/Select/SelectList.cjs +1 -1
  29. package/dist/Select/SelectList.js +98 -80
  30. package/dist/Select/SelectParts.cjs +79 -0
  31. package/dist/Select/SelectParts.js +221 -0
  32. package/dist/Select/SingleSelect.cjs +1 -0
  33. package/dist/Select/SingleSelect.js +129 -0
  34. package/dist/Select/index.cjs +1 -1
  35. package/dist/Select/index.js +15 -10
  36. package/dist/TimePicker/TimePicker.cjs +2 -2
  37. package/dist/TimePicker/TimePicker.js +42 -40
  38. package/dist/helpers/objects.cjs +1 -1
  39. package/dist/helpers/objects.js +6 -22
  40. package/dist/hooks/useComposeRefs.cjs +1 -0
  41. package/dist/hooks/useComposeRefs.js +14 -0
  42. package/dist/hooks/useIntersection.cjs +1 -1
  43. package/dist/hooks/useIntersection.js +7 -7
  44. package/dist/index.cjs +1 -1
  45. package/dist/index.js +143 -138
  46. package/dist/themes/extendTheme.cjs +4 -4
  47. package/dist/themes/extendTheme.js +21 -13
  48. package/dist/themes/utils.cjs +6 -6
  49. package/dist/themes/utils.js +7 -6
  50. package/dist/v2/Link/Link.cjs +13 -11
  51. package/dist/v2/Link/Link.js +52 -37
  52. package/dist/v2/SimpleMenu/Menu.cjs +65 -0
  53. package/dist/v2/SimpleMenu/Menu.js +229 -0
  54. package/dist/v2/SimpleMenu/SimpleMenu.cjs +1 -33
  55. package/dist/v2/SimpleMenu/SimpleMenu.js +37 -176
  56. package/dist/v2/SimpleMenu/index.cjs +1 -1
  57. package/dist/v2/SimpleMenu/index.js +5 -3
  58. package/dist/v2/index.cjs +1 -1
  59. package/dist/v2/index.js +53 -51
  60. package/package.json +6 -19
  61. package/dist/Combobox/components.cjs +0 -53
  62. package/dist/Combobox/components.js +0 -64
  63. package/dist/Combobox/utils.cjs +0 -1
  64. package/dist/Combobox/utils.js +0 -78
  65. package/dist/Select/SelectButton.cjs +0 -19
  66. package/dist/Select/SelectButton.js +0 -69
  67. package/dist/Select/SelectTags.cjs +0 -6
  68. package/dist/Select/SelectTags.js +0 -38
  69. package/dist/Select/components.cjs +0 -39
  70. package/dist/Select/components.js +0 -48
  71. package/dist/Select/constants.cjs +0 -1
  72. package/dist/Select/constants.js +0 -8
  73. package/dist/Select/hooks/useButtonRef.cjs +0 -1
  74. package/dist/Select/hooks/useButtonRef.js +0 -13
  75. package/dist/Select/hooks/useListRef.cjs +0 -1
  76. package/dist/Select/hooks/useListRef.js +0 -18
  77. package/dist/Select/utils.cjs +0 -1
  78. package/dist/Select/utils.js +0 -17
  79. package/dist/helpers/arrays.cjs +0 -1
  80. package/dist/helpers/arrays.js +0 -6
  81. package/dist/v2/SimpleMenu/utils.cjs +0 -12
  82. package/dist/v2/SimpleMenu/utils.js +0 -15
package/dist/v2/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("./Breadcrumbs/Breadcrumbs.cjs"),u=require("./Breadcrumbs/Crumb.cjs"),r=require("./Breadcrumbs/CrumbLink.cjs"),s=require("./Breadcrumbs/CrumbSimpleMenu.cjs"),t=require("./Link/Link.cjs"),o=require("./LinkButton/LinkButton.cjs"),c=require("./MainNav/MainNav.cjs"),v=require("./MainNav/NavBrand.cjs"),N=require("./MainNav/NavCondense.cjs"),S=require("./MainNav/NavFooter.cjs"),b=require("./MainNav/NavLink.cjs"),m=require("./MainNav/NavSection.cjs"),k=require("./MainNav/NavSections.cjs"),L=require("./MainNav/NavUser.cjs"),d=require("./Pagination/Pagination.cjs"),e=require("./Pagination/components.cjs"),n=require("./SimpleMenu/SimpleMenu.cjs"),a=require("./SubNav/SubNav.cjs"),M=require("./SubNav/SubNavHeader.cjs"),j=require("./SubNav/SubNavLink.cjs"),q=require("./SubNav/SubNavLinkSection.cjs"),B=require("./SubNav/SubNavSection.cjs"),C=require("./SubNav/SubNavSections.cjs");exports.Breadcrumbs=i.Breadcrumbs;exports.Crumb=u.Crumb;exports.CrumbLink=r.CrumbLink;exports.CrumbSimpleMenu=s.CrumbSimpleMenu;exports.Link=t.Link;exports.LinkButton=o.LinkButton;exports.MainNav=c.MainNav;exports.NavBrand=v.NavBrand;exports.NavCondense=N.NavCondense;exports.NavFooter=S.NavFooter;exports.NavLink=b.NavLink;exports.NavSection=m.NavSection;exports.NavSections=k.NavSections;exports.NavUser=L.NavUser;exports.Pagination=d.Pagination;exports.Dots=e.Dots;exports.NextLink=e.NextLink;exports.PageLink=e.PageLink;exports.PreviousLink=e.PreviousLink;exports.MenuItem=n.MenuItem;exports.SimpleMenu=n.SimpleMenu;exports.SubNav=a.SubNav;exports.subNavWidth=a.subNavWidth;exports.SubNavHeader=M.SubNavHeader;exports.SubNavLink=j.SubNavLink;exports.SubNavLinkSection=q.SubNavLinkSection;exports.SubNavSection=B.SubNavSection;exports.SubNavSections=C.SubNavSections;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./Breadcrumbs/Breadcrumbs.cjs"),u=require("./Breadcrumbs/Crumb.cjs"),r=require("./Breadcrumbs/CrumbLink.cjs"),s=require("./Breadcrumbs/CrumbSimpleMenu.cjs"),t=require("./Link/Link.cjs"),c=require("./LinkButton/LinkButton.cjs"),o=require("./MainNav/MainNav.cjs"),v=require("./MainNav/NavBrand.cjs"),N=require("./MainNav/NavCondense.cjs"),S=require("./MainNav/NavFooter.cjs"),b=require("./MainNav/NavLink.cjs"),m=require("./MainNav/NavSection.cjs"),k=require("./MainNav/NavSections.cjs"),L=require("./MainNav/NavUser.cjs"),M=require("./Pagination/Pagination.cjs"),e=require("./Pagination/components.cjs"),n=require("./SimpleMenu/SimpleMenu.cjs"),i=require("./SubNav/SubNav.cjs"),d=require("./SubNav/SubNavHeader.cjs"),j=require("./SubNav/SubNavLink.cjs"),q=require("./SubNav/SubNavLinkSection.cjs"),B=require("./SubNav/SubNavSection.cjs"),C=require("./SubNav/SubNavSections.cjs"),l=require("./SimpleMenu/Menu.cjs");exports.Breadcrumbs=a.Breadcrumbs;exports.Crumb=u.Crumb;exports.CrumbLink=r.CrumbLink;exports.CrumbSimpleMenu=s.CrumbSimpleMenu;exports.Link=t.Link;exports.LinkButton=c.LinkButton;exports.MainNav=o.MainNav;exports.NavBrand=v.NavBrand;exports.NavCondense=N.NavCondense;exports.NavFooter=S.NavFooter;exports.NavLink=b.NavLink;exports.NavSection=m.NavSection;exports.NavSections=k.NavSections;exports.NavUser=L.NavUser;exports.Pagination=M.Pagination;exports.Dots=e.Dots;exports.NextLink=e.NextLink;exports.PageLink=e.PageLink;exports.PreviousLink=e.PreviousLink;exports.MenuItem=n.MenuItem;exports.SimpleMenu=n.SimpleMenu;exports.SubNav=i.SubNav;exports.subNavWidth=i.subNavWidth;exports.SubNavHeader=d.SubNavHeader;exports.SubNavLink=j.SubNavLink;exports.SubNavLinkSection=q.SubNavLinkSection;exports.SubNavSection=B.SubNavSection;exports.SubNavSections=C.SubNavSections;exports.Menu=l;
package/dist/v2/index.js CHANGED
@@ -1,53 +1,55 @@
1
- import { Breadcrumbs as e } from "./Breadcrumbs/Breadcrumbs.js";
2
- import { Crumb as m } from "./Breadcrumbs/Crumb.js";
3
- import { CrumbLink as n } from "./Breadcrumbs/CrumbLink.js";
4
- import { CrumbSimpleMenu as f } from "./Breadcrumbs/CrumbSimpleMenu.js";
5
- import { Link as i } from "./Link/Link.js";
6
- import { LinkButton as v } from "./LinkButton/LinkButton.js";
7
- import { MainNav as S } from "./MainNav/MainNav.js";
8
- import { NavBrand as k } from "./MainNav/NavBrand.js";
9
- import { NavCondense as s } from "./MainNav/NavCondense.js";
10
- import { NavFooter as d } from "./MainNav/NavFooter.js";
11
- import { NavLink as M } from "./MainNav/NavLink.js";
12
- import { NavSection as P } from "./MainNav/NavSection.js";
13
- import { NavSections as l } from "./MainNav/NavSections.js";
14
- import { NavUser as D } from "./MainNav/NavUser.js";
15
- import { Pagination as H } from "./Pagination/Pagination.js";
16
- import { Dots as U, NextLink as W, PageLink as j, PreviousLink as q } from "./Pagination/components.js";
17
- import { MenuItem as y, SimpleMenu as z } from "./SimpleMenu/SimpleMenu.js";
18
- import { SubNav as E, subNavWidth as G } from "./SubNav/SubNav.js";
19
- import { SubNavHeader as K } from "./SubNav/SubNavHeader.js";
20
- import { SubNavLink as Q } from "./SubNav/SubNavLink.js";
21
- import { SubNavLinkSection as T } from "./SubNav/SubNavLinkSection.js";
22
- import { SubNavSection as X } from "./SubNav/SubNavSection.js";
23
- import { SubNavSections as Z } from "./SubNav/SubNavSections.js";
1
+ import { Breadcrumbs as t } from "./Breadcrumbs/Breadcrumbs.js";
2
+ import { Crumb as p } from "./Breadcrumbs/Crumb.js";
3
+ import { CrumbLink as x } from "./Breadcrumbs/CrumbLink.js";
4
+ import { CrumbSimpleMenu as a } from "./Breadcrumbs/CrumbSimpleMenu.js";
5
+ import { Link as u } from "./Link/Link.js";
6
+ import { LinkButton as N } from "./LinkButton/LinkButton.js";
7
+ import { MainNav as b } from "./MainNav/MainNav.js";
8
+ import { NavBrand as s } from "./MainNav/NavBrand.js";
9
+ import { NavCondense as c } from "./MainNav/NavCondense.js";
10
+ import { NavFooter as M } from "./MainNav/NavFooter.js";
11
+ import { NavLink as B } from "./MainNav/NavLink.js";
12
+ import { NavSection as g } from "./MainNav/NavSection.js";
13
+ import { NavSections as h } from "./MainNav/NavSections.js";
14
+ import { NavUser as F } from "./MainNav/NavUser.js";
15
+ import { Pagination as I } from "./Pagination/Pagination.js";
16
+ import { Dots as W, NextLink as j, PageLink as q, PreviousLink as w } from "./Pagination/components.js";
17
+ import { MenuItem as z, SimpleMenu as A } from "./SimpleMenu/SimpleMenu.js";
18
+ import { SubNav as G, subNavWidth as J } from "./SubNav/SubNav.js";
19
+ import { SubNavHeader as O } from "./SubNav/SubNavHeader.js";
20
+ import { SubNavLink as R } from "./SubNav/SubNavLink.js";
21
+ import { SubNavLinkSection as V } from "./SubNav/SubNavLinkSection.js";
22
+ import { SubNavSection as Y } from "./SubNav/SubNavSection.js";
23
+ import { SubNavSections as _ } from "./SubNav/SubNavSections.js";
24
+ import * as o from "./SimpleMenu/Menu.js";
24
25
  export {
25
- e as Breadcrumbs,
26
- m as Crumb,
27
- n as CrumbLink,
28
- f as CrumbSimpleMenu,
29
- U as Dots,
30
- i as Link,
31
- v as LinkButton,
32
- S as MainNav,
33
- y as MenuItem,
34
- k as NavBrand,
35
- s as NavCondense,
36
- d as NavFooter,
37
- M as NavLink,
38
- P as NavSection,
39
- l as NavSections,
40
- D as NavUser,
41
- W as NextLink,
42
- j as PageLink,
43
- H as Pagination,
44
- q as PreviousLink,
45
- z as SimpleMenu,
46
- E as SubNav,
47
- K as SubNavHeader,
48
- Q as SubNavLink,
49
- T as SubNavLinkSection,
50
- X as SubNavSection,
51
- Z as SubNavSections,
52
- G as subNavWidth
26
+ t as Breadcrumbs,
27
+ p as Crumb,
28
+ x as CrumbLink,
29
+ a as CrumbSimpleMenu,
30
+ W as Dots,
31
+ u as Link,
32
+ N as LinkButton,
33
+ b as MainNav,
34
+ o as Menu,
35
+ z as MenuItem,
36
+ s as NavBrand,
37
+ c as NavCondense,
38
+ M as NavFooter,
39
+ B as NavLink,
40
+ g as NavSection,
41
+ h as NavSections,
42
+ F as NavUser,
43
+ j as NextLink,
44
+ q as PageLink,
45
+ I as Pagination,
46
+ w as PreviousLink,
47
+ A as SimpleMenu,
48
+ G as SubNav,
49
+ O as SubNavHeader,
50
+ R as SubNavLink,
51
+ V as SubNavLinkSection,
52
+ Y as SubNavSection,
53
+ _ as SubNavSections,
54
+ J as subNavWidth
53
55
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/design-system",
3
- "version": "1.6.6",
3
+ "version": "1.7.0-alpha.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -20,34 +20,21 @@
20
20
  "dependencies": {
21
21
  "@codemirror/lang-json": "^6.0.1",
22
22
  "@floating-ui/react-dom": "^1.0.0",
23
- "@internationalized/number": "^3.1.1",
23
+ "@internationalized/number": "^3.2.0",
24
+ "@radix-ui/react-dropdown-menu": "^2.0.4",
24
25
  "@radix-ui/react-use-callback-ref": "^1.0.0",
26
+ "@strapi/ui-primitives": "^1.7.0-alpha.1",
25
27
  "@uiw/react-codemirror": "^4.19.7",
26
28
  "compute-scroll-into-view": "^1.0.17",
27
29
  "prop-types": "^15.7.2"
28
30
  },
29
31
  "devDependencies": {
30
- "@juggle/resize-observer": "^3.4.0",
31
32
  "@playwright/test": "1.27.1",
32
- "@strapi/icons": "^1.6.6",
33
- "@swc/core": "^1.3.11",
34
- "@swc/jest": "^0.2.23",
35
- "@testing-library/jest-dom": "5.16.5",
36
- "@testing-library/react": "12.1.4",
37
- "@testing-library/user-event": "^14.4.3",
38
- "@types/jest": "^29.2.6",
39
- "@types/react": "17.0.2",
40
- "@types/react-dom": "17.0.2",
33
+ "@strapi/icons": "^1.7.0-alpha.1",
41
34
  "@types/react-router-dom": "^5.3.3",
42
35
  "@types/styled-components": "^5.1.26",
43
36
  "axe-playwright": "^1.1.11",
44
37
  "cross-env": "^7.0.3",
45
- "intl": "^1.2.5",
46
- "jest": "^29.2.2",
47
- "jest-environment-jsdom": "^29.2.2",
48
- "jest-styled-components": "^7.1.1",
49
- "react": "^17.0.1",
50
- "react-dom": "^17.0.1",
51
38
  "react-router-dom": "^5.2.0",
52
39
  "styled-components": "^5.2.1"
53
40
  },
@@ -78,5 +65,5 @@
78
65
  "@types/react": "17.0.2",
79
66
  "@types/react-dom": "17.0.2"
80
67
  },
81
- "gitHead": "be5ac8aa421db6f7c845c29a8df3c9528882d856"
68
+ "gitHead": "21f60f82a4581a81497f5c4ef1de3cf99df6e2ba"
82
69
  }
@@ -1,53 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("styled-components"),i=require("../Box/Box.cjs"),n=require("../Flex/Flex.cjs"),l=require("../themes/utils.cjs"),a=o=>o&&typeof o=="object"&&"default"in o?o:{default:o},t=a(r),s=t.default(n.Flex)`
2
- position: relative;
3
- border: 1px solid ${({theme:o,hasError:e})=>e?o.colors.danger600:o.colors.neutral200};
4
- padding-right: ${({theme:o})=>o.spaces[3]};
5
- padding-left: ${({theme:o})=>o.spaces[3]};
6
- border-radius: ${({theme:o})=>o.borderRadius};
7
- background: ${({theme:o})=>o.colors.neutral0};
8
-
9
- ${({theme:o,$disabled:e})=>e?`
10
- color: ${o.colors.neutral600};
11
- background: ${o.colors.neutral150};
12
- `:void 0}
13
-
14
- ${l.inputFocusStyle()}
15
- `,u=t.default.div`
16
- padding: 1px 2px;
17
- grid-area: 1 / 1 / 2 / 3;
18
- `,d=t.default(n.Flex)`
19
- display: grid;
20
- flex: 1 1 0%;
21
- position: relative;
22
- `,c=t.default.input`
23
- display: inline-grid;
24
- grid-area: 1 / 1 / 2 / 3;
25
- grid-template-columns: 0px min-content;
26
- background: transparent;
27
- min-height: ${40/16}rem;
28
- border: none;
29
- flex: 1;
30
- font-size: ${14/16}rem;
31
- color: ${({theme:o})=>o.colors.neutral800};
32
- outline: none;
33
- &:focus-visible {
34
- outline: none;
35
- box-shadow: none;
36
- outline-offset: 0;
37
- }
38
- &[aria-disabled='true'] {
39
- background: inherit;
40
- color: inherit;
41
- cursor: not-allowed;
42
- }
43
- `,p=t.default(i.Box)`
44
- width: 100%;
45
- border: none;
46
- text-align: left;
47
- outline-offset: -3px;
48
- ${({isSelected:o,theme:e})=>o&&`background: ${e.colors.primary100};`}
49
-
50
- &:hover {
51
- background: ${({theme:o})=>o.colors.primary100};
52
- }
53
- `;exports.Input=c;exports.InputContainer=d;exports.MainRow=s;exports.OptionBox=p;exports.ValueContainer=u;
@@ -1,64 +0,0 @@
1
- import n from "styled-components";
2
- import { Box as i } from "../Box/Box.js";
3
- import { Flex as e } from "../Flex/Flex.js";
4
- import { inputFocusStyle as t } from "../themes/utils.js";
5
- const c = n(e)`
6
- position: relative;
7
- border: 1px solid ${({ theme: o, hasError: r }) => r ? o.colors.danger600 : o.colors.neutral200};
8
- padding-right: ${({ theme: o }) => o.spaces[3]};
9
- padding-left: ${({ theme: o }) => o.spaces[3]};
10
- border-radius: ${({ theme: o }) => o.borderRadius};
11
- background: ${({ theme: o }) => o.colors.neutral0};
12
-
13
- ${({ theme: o, $disabled: r }) => r ? `
14
- color: ${o.colors.neutral600};
15
- background: ${o.colors.neutral150};
16
- ` : void 0}
17
-
18
- ${t()}
19
- `, p = n.div`
20
- padding: 1px 2px;
21
- grid-area: 1 / 1 / 2 / 3;
22
- `, u = n(e)`
23
- display: grid;
24
- flex: 1 1 0%;
25
- position: relative;
26
- `, g = n.input`
27
- display: inline-grid;
28
- grid-area: 1 / 1 / 2 / 3;
29
- grid-template-columns: 0px min-content;
30
- background: transparent;
31
- min-height: ${40 / 16}rem;
32
- border: none;
33
- flex: 1;
34
- font-size: ${14 / 16}rem;
35
- color: ${({ theme: o }) => o.colors.neutral800};
36
- outline: none;
37
- &:focus-visible {
38
- outline: none;
39
- box-shadow: none;
40
- outline-offset: 0;
41
- }
42
- &[aria-disabled='true'] {
43
- background: inherit;
44
- color: inherit;
45
- cursor: not-allowed;
46
- }
47
- `, $ = n(i)`
48
- width: 100%;
49
- border: none;
50
- text-align: left;
51
- outline-offset: -3px;
52
- ${({ isSelected: o, theme: r }) => o && `background: ${r.colors.primary100};`}
53
-
54
- &:hover {
55
- background: ${({ theme: o }) => o.colors.primary100};
56
- }
57
- `;
58
- export {
59
- g as Input,
60
- u as InputContainer,
61
- c as MainRow,
62
- $ as OptionBox,
63
- p as ValueContainer
64
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("compute-scroll-into-view"),r=require("../helpers/keyboardKeys.cjs"),a=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},c=a(l),t={Close:"Close",CloseSelect:"CloseSelect",First:"First",Last:"Last",Next:"Next",Open:"Open",PageDown:"PageDown",PageUp:"PageUp",Previous:"Previous",Select:"Select",Space:"Space",Type:"Type"},u={Close:"Close",First:"First",Last:"Last",Next:"Next",Open:"Open",Previous:"Previous",Select:"Select",UpLevel:"UpLevel"};function d(e=[],o=null,s=[]){const n=String(o??"").toLowerCase();return n?e.filter(i=>i.props.children.toString().toLowerCase().includes(n)&&s.indexOf(i)<0):e}function p(e,o){if(!o&&e===r.KeyboardKeys.DOWN)return t.Open;if(e===r.KeyboardKeys.DOWN)return t.Next;if(e===r.KeyboardKeys.UP)return t.Previous;if(e===r.KeyboardKeys.HOME)return t.First;if(e===r.KeyboardKeys.END)return t.Last;if(e===r.KeyboardKeys.ESCAPE)return t.Close;if(e===r.KeyboardKeys.ENTER)return t.CloseSelect;if(e===r.KeyboardKeys.BACKSPACE||e===r.KeyboardKeys.CLEAR||e.length===1)return t.Type}function f(e,o,s){switch(s){case t.First:return 0;case t.Last:return o;case t.Previous:return Math.max(0,e-1);case t.Next:return Math.min(o,e+1);default:return e}}function y(e){c.default(e,{scrollMode:"if-needed",block:"nearest",inline:"nearest"}).forEach(({el:s,top:n,left:i})=>{s.scrollTop=n,s.scrollLeft=i})}exports.MenuActions=t;exports.TreeActions=u;exports.filterOptions=d;exports.getActionFromKey=p;exports.getUpdatedIndex=f;exports.maintainScrollVisibility=y;
@@ -1,78 +0,0 @@
1
- import l from "compute-scroll-into-view";
2
- import { KeyboardKeys as r } from "../helpers/keyboardKeys.js";
3
- const t = {
4
- Close: "Close",
5
- CloseSelect: "CloseSelect",
6
- First: "First",
7
- Last: "Last",
8
- Next: "Next",
9
- Open: "Open",
10
- PageDown: "PageDown",
11
- PageUp: "PageUp",
12
- Previous: "Previous",
13
- Select: "Select",
14
- Space: "Space",
15
- Type: "Type"
16
- }, f = {
17
- Close: "Close",
18
- First: "First",
19
- Last: "Last",
20
- Next: "Next",
21
- Open: "Open",
22
- Previous: "Previous",
23
- Select: "Select",
24
- UpLevel: "UpLevel"
25
- };
26
- function d(e = [], n = null, i = []) {
27
- const o = String(n ?? "").toLowerCase();
28
- return o ? e.filter((s) => s.props.children.toString().toLowerCase().includes(o) && i.indexOf(s) < 0) : e;
29
- }
30
- function C(e, n) {
31
- if (!n && e === r.DOWN)
32
- return t.Open;
33
- if (e === r.DOWN)
34
- return t.Next;
35
- if (e === r.UP)
36
- return t.Previous;
37
- if (e === r.HOME)
38
- return t.First;
39
- if (e === r.END)
40
- return t.Last;
41
- if (e === r.ESCAPE)
42
- return t.Close;
43
- if (e === r.ENTER)
44
- return t.CloseSelect;
45
- if (e === r.BACKSPACE || e === r.CLEAR || e.length === 1)
46
- return t.Type;
47
- }
48
- function S(e, n, i) {
49
- switch (i) {
50
- case t.First:
51
- return 0;
52
- case t.Last:
53
- return n;
54
- case t.Previous:
55
- return Math.max(0, e - 1);
56
- case t.Next:
57
- return Math.min(n, e + 1);
58
- default:
59
- return e;
60
- }
61
- }
62
- function P(e) {
63
- l(e, {
64
- scrollMode: "if-needed",
65
- block: "nearest",
66
- inline: "nearest"
67
- }).forEach(({ el: i, top: o, left: s }) => {
68
- i.scrollTop = o, i.scrollLeft = s;
69
- });
70
- }
71
- export {
72
- t as MenuActions,
73
- f as TreeActions,
74
- d as filterOptions,
75
- C as getActionFromKey,
76
- S as getUpdatedIndex,
77
- P as maintainScrollVisibility
78
- };
@@ -1,19 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),b=require("prop-types"),f=require("styled-components"),l=require("./constants.cjs"),t=require("../helpers/keyboardKeys.cjs"),n=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},K=n(u),o=n(b),h=n(f),S=h.default.button`
2
- position: absolute;
3
- left: 0;
4
- right: 0;
5
- bottom: 0;
6
- top: 0;
7
- width: 100%;
8
- background: transparent;
9
- border: none;
10
-
11
- // The focus state is moved to the parent thanks to :focus-within
12
- &:focus {
13
- outline: none;
14
- }
15
-
16
- &[data-disabled] {
17
- cursor: not-allowed;
18
- }
19
- `,a=u.forwardRef(({labelledBy:e,expanded:c,onTrigger:d,disabled:s,...i},y)=>{const p=r=>{if(!s)switch(r.key){case t.KeyboardKeys.DOWN:case t.KeyboardKeys.SPACE:case t.KeyboardKeys.ENTER:{r.preventDefault(),d(l.DownState.Keyboard);break}case t.KeyboardKeys.UP:{r.preventDefault(),d(l.UpState.Keyboard);break}}};return K.default.createElement(S,{ref:y,role:"combobox","aria-labelledby":e,"aria-haspopup":"listbox","aria-expanded":c,onKeyDown:p,disabled:s,"data-disabled":s?"":void 0,type:"button",...i})});a.displayName="SelectButton";a.defaultProps={expanded:!1,disabled:!1};a.propTypes={disabled:o.default.bool,expanded:o.default.bool,labelledBy:o.default.string.isRequired,onTrigger:o.default.func.isRequired};exports.SelectButton=a;
@@ -1,69 +0,0 @@
1
- import u, { forwardRef as b } from "react";
2
- import e from "prop-types";
3
- import c from "styled-components";
4
- import { UpState as f, DownState as m } from "./constants.js";
5
- import { KeyboardKeys as t } from "../helpers/keyboardKeys.js";
6
- const y = c.button`
7
- position: absolute;
8
- left: 0;
9
- right: 0;
10
- bottom: 0;
11
- top: 0;
12
- width: 100%;
13
- background: transparent;
14
- border: none;
15
-
16
- // The focus state is moved to the parent thanks to :focus-within
17
- &:focus {
18
- outline: none;
19
- }
20
-
21
- &[data-disabled] {
22
- cursor: not-allowed;
23
- }
24
- `, r = b(({ labelledBy: s, expanded: d, onTrigger: n, disabled: o, ...l }, i) => {
25
- const p = (a) => {
26
- if (!o)
27
- switch (a.key) {
28
- case t.DOWN:
29
- case t.SPACE:
30
- case t.ENTER: {
31
- a.preventDefault(), n(m.Keyboard);
32
- break;
33
- }
34
- case t.UP: {
35
- a.preventDefault(), n(f.Keyboard);
36
- break;
37
- }
38
- }
39
- };
40
- return /* @__PURE__ */ u.createElement(
41
- y,
42
- {
43
- ref: i,
44
- role: "combobox",
45
- "aria-labelledby": s,
46
- "aria-haspopup": "listbox",
47
- "aria-expanded": d,
48
- onKeyDown: p,
49
- disabled: o,
50
- "data-disabled": o ? "" : void 0,
51
- type: "button",
52
- ...l
53
- }
54
- );
55
- });
56
- r.displayName = "SelectButton";
57
- r.defaultProps = {
58
- expanded: !1,
59
- disabled: !1
60
- };
61
- r.propTypes = {
62
- disabled: e.bool,
63
- expanded: e.bool,
64
- labelledBy: e.string.isRequired,
65
- onTrigger: e.func.isRequired
66
- };
67
- export {
68
- r as SelectButton
69
- };
@@ -1,6 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react"),d=require("@strapi/icons"),i=require("prop-types"),f=require("styled-components"),p=require("../Flex/Flex.cjs"),g=require("../Tag/Tag.cjs"),s=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=s(c),t=s(i),o=s(f),T=o.default.div`
2
- margin-bottom: ${({theme:e})=>e.spaces[1]};
3
- `,m=o.default(g.Tag)`
4
- margin-left: ${({theme:e})=>e.spaces[1]};
5
- margin-top: ${({theme:e})=>e.spaces[1]};
6
- `,r=({tags:e,onRemoveTag:n,disabled:u})=>a.default.createElement(T,null,a.default.createElement(p.Flex,{wrap:"wrap"},e.map(l=>a.default.createElement(m,{disabled:u,key:`tag-${l.value}`,icon:a.default.createElement(d.Cross,null),onClick:()=>n(l.value),position:"relative",tabIndex:-1,zIndex:1},l.label))));r.defaultProps={disabled:!1,tags:[]};r.propTypes={disabled:t.default.bool,onRemoveTag:t.default.func.isRequired,tags:t.default.arrayOf(t.default.shape({label:t.default.string,value:t.default.oneOfType([t.default.string,t.default.number])}))};exports.SelectTags=r;
@@ -1,38 +0,0 @@
1
- import a from "react";
2
- import { Cross as n } from "@strapi/icons";
3
- import e from "prop-types";
4
- import o from "styled-components";
5
- import { Flex as m } from "../Flex/Flex.js";
6
- import { Tag as i } from "../Tag/Tag.js";
7
- const c = o.div`
8
- margin-bottom: ${({ theme: r }) => r.spaces[1]};
9
- `, f = o(i)`
10
- margin-left: ${({ theme: r }) => r.spaces[1]};
11
- margin-top: ${({ theme: r }) => r.spaces[1]};
12
- `, l = ({ tags: r, onRemoveTag: s, disabled: p }) => /* @__PURE__ */ a.createElement(c, null, /* @__PURE__ */ a.createElement(m, { wrap: "wrap" }, r.map((t) => /* @__PURE__ */ a.createElement(
13
- f,
14
- {
15
- disabled: p,
16
- key: `tag-${t.value}`,
17
- icon: /* @__PURE__ */ a.createElement(n, null),
18
- onClick: () => s(t.value),
19
- position: "relative",
20
- tabIndex: -1,
21
- zIndex: 1
22
- },
23
- t.label
24
- ))));
25
- l.defaultProps = {
26
- disabled: !1,
27
- tags: []
28
- };
29
- l.propTypes = {
30
- disabled: e.bool,
31
- onRemoveTag: e.func.isRequired,
32
- tags: e.arrayOf(
33
- e.shape({ label: e.string, value: e.oneOfType([e.string, e.number]) })
34
- )
35
- };
36
- export {
37
- l as SelectTags
38
- };
@@ -1,39 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("styled-components"),s=require("../Box/Box.cjs"),i=require("../Flex/Flex.cjs"),r=require("../themes/utils.cjs"),a=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},t=a(n),d=t.default(i.Flex)`
2
- position: relative;
3
- border: 1px solid ${({theme:e,hasError:o})=>o?e.colors.danger600:e.colors.neutral200};
4
- padding-right: ${({theme:e})=>e.spaces[3]};
5
- border-radius: ${({theme:e})=>e.borderRadius};
6
- background: ${({theme:e})=>e.colors.neutral0};
7
- overflow: hidden;
8
- min-height: ${r.getThemeSize("input")};
9
-
10
- ${({theme:e,disabled:o})=>o?`
11
- color: ${e.colors.neutral600};
12
- background: ${e.colors.neutral150};
13
- `:void 0}
14
-
15
- ${r.inputFocusStyle()}
16
- `,l=t.default(s.Box)`
17
- background: transparent;
18
- border: none;
19
- position: relative;
20
- z-index: 1;
21
-
22
- svg {
23
- height: ${11/16}rem;
24
- width: ${11/16}rem;
25
- }
26
-
27
- svg path {
28
- fill: ${({theme:e})=>e.colors.neutral600};
29
- }
30
- `,u=t.default(l)`
31
- display: flex;
32
- background: none;
33
- border: none;
34
- cursor: ${({disabled:e})=>e?"not-allowed":void 0};
35
-
36
- svg {
37
- width: ${6/16}rem;
38
- }
39
- `;exports.CaretBox=u;exports.IconBox=l;exports.SelectButtonWrapper=d;
@@ -1,48 +0,0 @@
1
- import e from "styled-components";
2
- import { Box as t } from "../Box/Box.js";
3
- import { Flex as n } from "../Flex/Flex.js";
4
- import { getThemeSize as i, inputFocusStyle as l } from "../themes/utils.js";
5
- const u = e(n)`
6
- position: relative;
7
- border: 1px solid ${({ theme: o, hasError: r }) => r ? o.colors.danger600 : o.colors.neutral200};
8
- padding-right: ${({ theme: o }) => o.spaces[3]};
9
- border-radius: ${({ theme: o }) => o.borderRadius};
10
- background: ${({ theme: o }) => o.colors.neutral0};
11
- overflow: hidden;
12
- min-height: ${i("input")};
13
-
14
- ${({ theme: o, disabled: r }) => r ? `
15
- color: ${o.colors.neutral600};
16
- background: ${o.colors.neutral150};
17
- ` : void 0}
18
-
19
- ${l()}
20
- `, d = e(t)`
21
- background: transparent;
22
- border: none;
23
- position: relative;
24
- z-index: 1;
25
-
26
- svg {
27
- height: ${11 / 16}rem;
28
- width: ${11 / 16}rem;
29
- }
30
-
31
- svg path {
32
- fill: ${({ theme: o }) => o.colors.neutral600};
33
- }
34
- `, $ = e(d)`
35
- display: flex;
36
- background: none;
37
- border: none;
38
- cursor: ${({ disabled: o }) => o ? "not-allowed" : void 0};
39
-
40
- svg {
41
- width: ${6 / 16}rem;
42
- }
43
- `;
44
- export {
45
- $ as CaretBox,
46
- d as IconBox,
47
- u as SelectButtonWrapper
48
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={Keyboard:"down:keyboard",Mouse:"down:mouse"},o={Keyboard:"up:keyboard",Mouse:"up:mouse"};exports.DownState=e;exports.UpState=o;
@@ -1,8 +0,0 @@
1
- const o = {
2
- Keyboard: "down:keyboard",
3
- Mouse: "down:mouse"
4
- }, e = { Keyboard: "up:keyboard", Mouse: "up:mouse" };
5
- export {
6
- o as DownState,
7
- e as UpState
8
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react"),s=require("../constants.cjs"),c=t=>{const r=e.useRef(null),n=e.useRef(null),u=e.useRef();return t&&(u.current=t),e.useEffect(()=>{!n.current||t||(u.current===s.DownState.Keyboard||u.current===s.UpState.Keyboard)&&r.current.focus()},[t]),e.useEffect(()=>{n.current=!0},[]),r};exports.useButtonRef=c;
@@ -1,13 +0,0 @@
1
- import { useRef as e, useEffect as n } from "react";
2
- import { DownState as f, UpState as c } from "../constants.js";
3
- const m = (t) => {
4
- const u = e(null), o = e(null), r = e();
5
- return t && (r.current = t), n(() => {
6
- !o.current || t || (r.current === f.Keyboard || r.current === c.Keyboard) && u.current.focus();
7
- }, [t]), n(() => {
8
- o.current = !0;
9
- }, []), u;
10
- };
11
- export {
12
- m as useButtonRef
13
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),s=require("../constants.cjs"),u=require("../utils.cjs"),i=r=>{const e=o.useRef(null);return o.useEffect(()=>{e.current.focus()},[]),o.useEffect(()=>{if(!e.current)return;const n=e.current.querySelector('[aria-selected="true"]'),c=e.current.querySelectorAll('[role="option"]');let t;n?t=n:r===s.UpState.Keyboard?t=c[c.length-1]:r===s.DownState.Keyboard&&(t=c[0]),t&&(r===s.UpState.Keyboard||r===s.DownState.Keyboard)&&u.changeDescendant(e.current,t)},[]),e};exports.useListRef=i;
@@ -1,18 +0,0 @@
1
- import { useRef as i, useEffect as c } from "react";
2
- import { UpState as s, DownState as f } from "../constants.js";
3
- import { changeDescendant as l } from "../utils.js";
4
- const y = (r) => {
5
- const e = i(null);
6
- return c(() => {
7
- e.current.focus();
8
- }, []), c(() => {
9
- if (!e.current)
10
- return;
11
- const n = e.current.querySelector('[aria-selected="true"]'), o = e.current.querySelectorAll('[role="option"]');
12
- let t;
13
- n ? t = n : r === s.Keyboard ? t = o[o.length - 1] : r === f.Keyboard && (t = o[0]), t && (r === s.Keyboard || r === f.Keyboard) && l(e.current, t);
14
- }, []), e;
15
- };
16
- export {
17
- y as useListRef
18
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("compute-scroll-into-view"),a=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},r=a(s),i=(e,t)=>{e.setAttribute("aria-activedescendant",t.getAttribute("id")),e.querySelectorAll('[role="option"]').forEach(c=>c.classList.remove("is-focused")),t.classList.add("is-focused"),r.default(t,{scrollMode:"if-needed",block:"nearest",inline:"nearest"}).forEach(({el:c,top:o,left:n})=>{c.scrollTop=o,c.scrollLeft=n})},l=e=>{const t=e.getAttribute("aria-activedescendant");return e.querySelector(`#${t}`)};exports.changeDescendant=i;exports.getActiveDescendant=l;