@salutejs/plasma-new-hope 0.67.1-dev.0 → 0.67.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. package/cjs/components/Dropdown/Dropdown.js +1 -2
  2. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  3. package/cjs/components/Pagination/Pagination.js +14 -12
  4. package/cjs/components/Pagination/Pagination.js.map +1 -1
  5. package/cjs/components/Popover/Popover.js +31 -46
  6. package/cjs/components/Popover/Popover.js.map +1 -1
  7. package/es/components/Dropdown/Dropdown.js +1 -2
  8. package/es/components/Dropdown/Dropdown.js.map +1 -1
  9. package/es/components/Pagination/Pagination.js +15 -13
  10. package/es/components/Pagination/Pagination.js.map +1 -1
  11. package/es/components/Popover/Popover.js +31 -46
  12. package/es/components/Popover/Popover.js.map +1 -1
  13. package/package.json +2 -2
  14. package/styled-components/cjs/components/Dropdown/Dropdown.js +1 -2
  15. package/styled-components/cjs/components/Pagination/Pagination.js +14 -12
  16. package/styled-components/cjs/components/Popover/Popover.js +31 -46
  17. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +1 -1
  18. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +1 -1
  19. package/styled-components/cjs/examples/plasma_b2c/components/Pagination/Pagination.config.js +4 -4
  20. package/styled-components/cjs/examples/plasma_b2c/components/Pagination/Pagination.stories.tsx +13 -6
  21. package/styled-components/cjs/examples/plasma_b2c/components/Popover/Popover.stories.tsx +0 -7
  22. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +1 -1
  23. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +1 -1
  24. package/styled-components/cjs/examples/plasma_web/components/Pagination/Pagination.config.js +4 -4
  25. package/styled-components/cjs/examples/plasma_web/components/Pagination/Pagination.stories.tsx +13 -6
  26. package/styled-components/es/components/Dropdown/Dropdown.js +1 -2
  27. package/styled-components/es/components/Pagination/Pagination.js +14 -12
  28. package/styled-components/es/components/Popover/Popover.js +31 -46
  29. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +1 -1
  30. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +1 -1
  31. package/styled-components/es/examples/plasma_b2c/components/Pagination/Pagination.config.js +4 -4
  32. package/styled-components/es/examples/plasma_b2c/components/Pagination/Pagination.stories.tsx +13 -6
  33. package/styled-components/es/examples/plasma_b2c/components/Popover/Popover.stories.tsx +0 -7
  34. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +1 -1
  35. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +1 -1
  36. package/styled-components/es/examples/plasma_web/components/Pagination/Pagination.config.js +4 -4
  37. package/styled-components/es/examples/plasma_web/components/Pagination/Pagination.stories.tsx +13 -6
  38. package/types/components/Combobox/Combobox.styles.d.ts +2 -8
  39. package/types/components/Combobox/Combobox.styles.d.ts.map +1 -1
  40. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  41. package/types/components/Dropdown/Dropdown.styles.d.ts +1 -7
  42. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  43. package/types/components/Pagination/Pagination.d.ts.map +1 -1
  44. package/types/components/Popover/Popover.d.ts +2 -2
  45. package/types/components/Popover/Popover.d.ts.map +1 -1
  46. package/types/components/Popover/Popover.types.d.ts +14 -19
  47. package/types/components/Popover/Popover.types.d.ts.map +1 -1
  48. package/types/components/Select/Select.styles.d.ts +2 -8
  49. package/types/components/Select/Select.styles.d.ts.map +1 -1
  50. package/types/examples/plasma_b2c/components/Popover/Popover.d.ts +1 -7
  51. package/types/examples/plasma_b2c/components/Popover/Popover.d.ts.map +1 -1
  52. package/types/examples/plasma_web/components/Popover/Popover.d.ts +1 -7
  53. package/types/examples/plasma_web/components/Popover/Popover.d.ts.map +1 -1
  54. package/types/examples/sds_engineer/components/Popover/Popover.d.ts +1 -7
  55. package/types/examples/sds_engineer/components/Popover/Popover.d.ts.map +1 -1
@@ -65,7 +65,6 @@ var dropdownRoot = function dropdownRoot(Root) {
65
65
  placement: index.getPlacements(placement),
66
66
  trigger: trigger,
67
67
  closeOnOverlayClick: closeOnOverlayClick,
68
- closeOnBeyondTargetHover: false,
69
68
  closeOnEsc: closeOnEsc,
70
69
  isFocusTrapped: isFocusTrapped,
71
70
  frame: frame
@@ -90,7 +89,7 @@ var dropdownConfig = {
90
89
  }
91
90
  },
92
91
  defaults: {
93
- view: 'default',
92
+ view: 'primary',
94
93
  size: 'm'
95
94
  }
96
95
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useFocusTrap, useForkRef, useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n isOpen={isOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnBeyondTargetHover={false}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","outerRootRef","id","target","children","hasArrow","role","view","size","frame","onToggle","_ref$isFocusTrapped","isFocusTrapped","_ref$isOpen","isOpen","_ref$placement","placement","_ref$trigger","trigger","_ref$offset","offset","_ref$preventOverflow","preventOverflow","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","closeOnBeyondTargetHover","_extends","StyledDropdown","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;AAWA;AACA;AACA;IACaA,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAA8C,EAAA;AAAA,EAAA,oBACvEC,gBAAU,CACN,UAAAC,IAAA,EAqBIC,YAAY,EACX;AAAA,IAAA,IApBGC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MACFC,MAAM,GAAAH,IAAA,CAANG,MAAM;MACNC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;MACRC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;MACRC,IAAI,GAAAN,IAAA,CAAJM,IAAI;MACJC,IAAI,GAAAP,IAAA,CAAJO,IAAI;MACJC,IAAI,GAAAR,IAAA,CAAJQ,IAAI;MACJC,KAAK,GAAAT,IAAA,CAALS,KAAK;MACLC,SAAQ,GAAAV,IAAA,CAARU,QAAQ;MAAAC,mBAAA,GAAAX,IAAA,CACRY,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;MAAAE,WAAA,GAAAb,IAAA,CACrBc,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;MAAAE,cAAA,GAAAf,IAAA,CACdgB,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,cAAA;MAAAE,YAAA,GAAAjB,IAAA,CAClBkB,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,YAAA;MAAAE,WAAA,GAAAnB,IAAA,CACjBoB,MAAM;MAANA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,CAAC,CAAC,EAAE,CAAC,CAAC,GAAAA,WAAA;MAAAE,oBAAA,GAAArB,IAAA,CACfsB,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;MAAAE,qBAAA,GAAAvB,IAAA,CACvBwB,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,eAAA,GAAAzB,IAAA,CAC3B0B,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;AACfE,MAAAA,IAAI,GAAAC,iDAAA,CAAA5B,IAAA,EAAA6B,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,MAAM,GAAGC,oBAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAG9B,EAAE,IAAI4B,MAAM,CAAA;AAE5B,IAAA,IAAMG,OAAO,GAAGC,YAAM,CAAwB,IAAI,CAAC,CAAA;AACnD,IAAA,IAAMC,WAAW,GAAGD,YAAM,CAAwB,IAAI,CAAC,CAAA;AACvD,IAAA,IAAME,SAAS,GAAGC,qBAAU,CAAiBJ,OAAO,EAAEhC,YAAY,CAAC,CAAA;AAEnE,IAAA,IAAMqC,OAAO,GAAGC,uBAAY,CAACzB,MAAM,IAAIF,cAAc,CAAC,CAAA;AAEtD,IAAA,IAAM4B,eAAe,GAAGH,qBAAU,CAAiBF,WAAW,EAAEG,OAAO,CAAC,CAAA;AAExE,IAAA,oBACIG,KAAA,CAAAC,aAAA,CAACC,6BAAa,EAAA;AACVrC,MAAAA,IAAI,EAAEA,IAAK;AACXQ,MAAAA,MAAM,EAAEA,MAAO;AACf8B,MAAAA,SAAS,EAAE,KAAM;AACjBlC,MAAAA,QAAQ,EAAE,SAAAA,QAACmC,CAAAA,EAAE,EAAEC,KAAK,EAAA;QAAA,OAAKpC,SAAQ,aAARA,SAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,SAAQ,CAAGmC,EAAE,EAAEC,KAAK,CAAC,CAAA;OAAC;AAC/C5C,MAAAA,EAAE,EAAE8B,OAAQ;AACZe,MAAAA,GAAG,EAAEP,eAAgB;AACrBrC,MAAAA,MAAM,EAAEA,MAAO;AACfiB,MAAAA,MAAM,EAAEA,MAAO;AACfE,MAAAA,eAAe,EAAEA,eAAgB;AACjCjB,MAAAA,QAAQ,EAAEA,QAAS;AACnBW,MAAAA,SAAS,EAAEgC,mBAAa,CAAChC,SAAS,CAAE;AACpCE,MAAAA,OAAO,EAAEA,OAAQ;AACjBM,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCyB,MAAAA,wBAAwB,EAAE,KAAM;AAChCvB,MAAAA,UAAU,EAAEA,UAAW;AACvBd,MAAAA,cAAc,EAAEA,cAAe;AAC/BH,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAA,eAEbgC,KAAA,CAAAC,aAAA,CAAC5C,IAAI,EAAAoD,iCAAA,CAAA;AAACH,MAAAA,GAAG,EAAEX,SAAU;AAAC7B,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAAA;KAAUmB,EAAAA,IAAI,CAClDc,eAAAA,KAAA,CAAAC,aAAA,CAACS,8BAAc,EAAE/C,IAAAA,EAAAA,QAAyB,CACxC,CACK,CAAC,CAAA;AAExB,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMgD,cAAc,GAAG;AAC1BC,EAAAA,IAAI,EAAE,UAAU;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE1D,YAAY;AACpB2D,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRlD,IAAAA,IAAI,EAAE;AACFmD,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDnD,IAAAA,IAAI,EAAE;AACFkD,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtD,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useFocusTrap, useForkRef, useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n isOpen={isOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","outerRootRef","id","target","children","hasArrow","role","view","size","frame","onToggle","_ref$isFocusTrapped","isFocusTrapped","_ref$isOpen","isOpen","_ref$placement","placement","_ref$trigger","trigger","_ref$offset","offset","_ref$preventOverflow","preventOverflow","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","_extends","StyledDropdown","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -56,7 +56,7 @@ var paginationRoot = function paginationRoot(Root) {
56
56
  onChangePageValue = _ref.onChangePageValue,
57
57
  onChangePerPageValue = _ref.onChangePerPageValue,
58
58
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
59
- var _useState = React.useState(value !== null && value !== void 0 ? value : index.defaultValues.value),
59
+ var _useState = React.useState(),
60
60
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
61
61
  page = _useState2[0],
62
62
  setPageValue = _useState2[1];
@@ -83,22 +83,21 @@ var paginationRoot = function paginationRoot(Root) {
83
83
  setPagesValue(Math.ceil(count / (newPerPage || (hasPerPage ? index.defaultValues.perPage : 1))));
84
84
  };
85
85
  var handlerSetPage = function handlerSetPage(newPageValue) {
86
- var _newPageValue;
87
- newPageValue = (_newPageValue = newPageValue) !== null && _newPageValue !== void 0 ? _newPageValue : index.defaultValues.value;
88
- if (newPageValue > pages) {
89
- newPageValue = pages;
86
+ var pageValue = newPageValue !== null && newPageValue !== void 0 ? newPageValue : index.defaultValues.value;
87
+ if (pageValue > pages) {
88
+ pageValue = pages;
90
89
  }
91
- if (newPageValue < 1) {
92
- newPageValue = 1;
90
+ if (pageValue < 1) {
91
+ pageValue = 1;
93
92
  }
94
- if (disabled.includes(newPageValue)) {
93
+ if (disabled.includes(pageValue)) {
95
94
  return;
96
95
  }
97
- setPageValue(newPageValue);
98
- onChangePageValue === null || onChangePageValue === void 0 ? void 0 : onChangePageValue(newPageValue);
96
+ setPageValue(pageValue);
97
+ onChangePageValue === null || onChangePageValue === void 0 ? void 0 : onChangePageValue(pageValue);
99
98
  };
100
99
  var handlerSetPerPage = function handlerSetPerPage(newPerPageValue) {
101
- setPageValue(1);
100
+ handlerSetPage(1);
102
101
  setPerPageValue(newPerPageValue);
103
102
  onChangePageValue === null || onChangePageValue === void 0 ? void 0 : onChangePageValue(1);
104
103
  onChangePerPageValue === null || onChangePerPageValue === void 0 ? void 0 : onChangePerPageValue(newPerPageValue);
@@ -109,7 +108,10 @@ var paginationRoot = function paginationRoot(Root) {
109
108
  };
110
109
  React.useEffect(function () {
111
110
  handlerSetPages(perPage);
112
- }, [perPage, handlerSetPages]);
111
+ }, [perPage, count, handlerSetPages]);
112
+ React.useEffect(function () {
113
+ handlerSetPage(value);
114
+ }, [value]);
113
115
  React.useEffect(function () {
114
116
  setSections(index.getSections(page, pages, slots));
115
117
  }, [page, slots, pages, setSections, index.getSections]);
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import React, { useEffect, useState, forwardRef } from 'react';\n\nimport { cx, isNumber } from '../../utils';\nimport { RootProps } from '../../engines';\n\nimport {\n PaginationPages,\n PaginationActions,\n PaginationButton,\n PaginationSection,\n PaginationButtonGroup,\n PaginationRoot,\n PaginationShorter,\n} from './Pagination.styles';\nimport type { PaginationProps } from './Pagination.types';\nimport { getSections, defaultValues } from './utils';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as typeCSS } from './variations/_type/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { classes } from './Pagination.tokens';\nimport { PaginationQuickJumpToPage } from './ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage';\nimport { PaginationSelectPerPage } from './ui/PaginationSelectPerPage/PaginationSelectPerPage';\n\nexport const paginationRoot = (Root: RootProps<HTMLDivElement, PaginationProps>) =>\n forwardRef<HTMLDivElement, PaginationProps>(\n (\n {\n value = defaultValues.value,\n perPage,\n slots = defaultValues.slots,\n\n view,\n viewCurrentPage,\n type = defaultValues.type,\n size,\n pilled = defaultValues.pilled,\n square = defaultValues.square,\n disabledPages = defaultValues.disabledPages,\n\n count = defaultValues.value,\n\n hasQuickJump = defaultValues.hasQuickJump,\n hasPerPage = defaultValues.hasPerPage,\n perPageList = defaultValues.perPageList,\n isCommonButtonStyles = defaultValues.isCommonButtonStyles,\n\n placeholderQuickJump = defaultValues.placeholderQuickJump,\n textQuickJump = defaultValues.textQuickJump,\n textPerPage = defaultValues.textPerPage,\n\n leftContent,\n rightContent,\n\n onChangePageValue,\n onChangePerPageValue,\n ...rest\n },\n ref,\n ) => {\n const [page, setPageValue] = useState<number>(value ?? defaultValues.value);\n const [perPageValue, setPerPageValue] = useState(perPage);\n const [pages, setPagesValue] = useState<number>(value);\n const [sections, setSections] = useState<number[][] | null>(null);\n\n const typeClass = classes[`${type}Type` as keyof typeof classes];\n const roundedClass = pilled ? 'circle-circle' : 'square-square';\n\n const withHasPerPageSelect = hasPerPage ? classes.withHasPerPageSelect : undefined;\n const withHasQuickJump = hasQuickJump ? classes.withHasQuickJump : undefined;\n\n const disabled = disabledPages.map((el) => (isNumber(el) ? Number(el) : null));\n\n const handlerSetPages = (newPerPage?: number) => {\n setPagesValue(Math.ceil(count / (newPerPage || (hasPerPage ? defaultValues.perPage : 1))));\n };\n\n const handlerSetPage = (newPageValue?: number) => {\n newPageValue = newPageValue ?? defaultValues.value;\n if (newPageValue > pages) {\n newPageValue = pages;\n }\n if (newPageValue < 1) {\n newPageValue = 1;\n }\n if (disabled.includes(newPageValue)) {\n return;\n }\n setPageValue(newPageValue);\n onChangePageValue?.(newPageValue);\n };\n\n const handlerSetPerPage = (newPerPageValue?: number) => {\n setPageValue(1);\n setPerPageValue(newPerPageValue);\n onChangePageValue?.(1);\n onChangePerPageValue?.(newPerPageValue);\n\n handlerSetPages(newPerPageValue);\n };\n\n const isActiveButton = (checkPage: number) => {\n return page === checkPage ? classes.paginationPageButtonActive : '';\n };\n\n useEffect(() => {\n handlerSetPages(perPage);\n }, [perPage, handlerSetPages]);\n\n useEffect(() => {\n setSections(getSections(page, pages, slots));\n }, [page, slots, pages, setSections, getSections]);\n\n return (\n <Root\n size={size}\n view={view}\n viewCurrentPage={viewCurrentPage}\n className={cx(classes.wrapper, typeClass)}\n ref={ref}\n {...rest}\n >\n <PaginationRoot className={typeClass}>\n <PaginationPages>\n {leftContent && (\n <PaginationButtonGroup isCommonButtonStyles={isCommonButtonStyles}>\n {leftContent}\n </PaginationButtonGroup>\n )}\n {sections &&\n sections.map((section, indexSection) => (\n <>\n {indexSection !== 0 && (\n <PaginationShorter stretching=\"fixed\" disabled>\n ...\n </PaginationShorter>\n )}\n <PaginationSection key={indexSection}>\n {section.map((pageValue) => (\n <PaginationButton\n square={square}\n pin={roundedClass}\n key={pageValue}\n onClick={() => handlerSetPage(pageValue)}\n disabled={disabled.includes(pageValue)}\n className={cx(\n classes.paginationPageButton,\n isActiveButton(pageValue),\n )}\n >\n {pageValue}\n </PaginationButton>\n ))}\n </PaginationSection>\n </>\n ))}\n {rightContent && (\n <PaginationButtonGroup isCommonButtonStyles={isCommonButtonStyles}>\n {rightContent}\n </PaginationButtonGroup>\n )}\n </PaginationPages>\n <PaginationActions\n className={cx(classes.actions, typeClass, withHasPerPageSelect, withHasQuickJump)}\n >\n {hasQuickJump && (\n <PaginationQuickJumpToPage\n placeholderQuickJump={placeholderQuickJump}\n textQuickJump={textQuickJump}\n onChangeValue={handlerSetPage}\n />\n )}\n {hasPerPage && (\n <PaginationSelectPerPage\n textPerPage={textPerPage}\n value={perPageValue}\n valuesList={perPageList}\n onChangeValue={handlerSetPerPage}\n />\n )}\n </PaginationActions>\n </PaginationRoot>\n </Root>\n );\n },\n );\n\nexport const paginationConfig = {\n name: 'Pagination',\n tag: 'div',\n layout: paginationRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n type: {\n css: typeCSS,\n },\n },\n defaults: {\n view: 'clear',\n size: 'm',\n },\n};\n"],"names":["paginationRoot","Root","forwardRef","_ref","ref","_ref$value","value","defaultValues","perPage","_ref$slots","slots","view","viewCurrentPage","_ref$type","type","size","_ref$pilled","pilled","_ref$square","square","_ref$disabledPages","disabledPages","_ref$count","count","_ref$hasQuickJump","hasQuickJump","_ref$hasPerPage","hasPerPage","_ref$perPageList","perPageList","_ref$isCommonButtonSt","isCommonButtonStyles","_ref$placeholderQuick","placeholderQuickJump","_ref$textQuickJump","textQuickJump","_ref$textPerPage","textPerPage","leftContent","rightContent","onChangePageValue","onChangePerPageValue","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","page","setPageValue","_useState3","_useState4","perPageValue","setPerPageValue","_useState5","_useState6","pages","setPagesValue","_useState7","_useState8","sections","setSections","typeClass","classes","concat","roundedClass","withHasPerPageSelect","undefined","withHasQuickJump","disabled","map","el","isNumber","Number","handlerSetPages","newPerPage","Math","ceil","handlerSetPage","newPageValue","_newPageValue","includes","handlerSetPerPage","newPerPageValue","isActiveButton","checkPage","paginationPageButtonActive","useEffect","getSections","React","createElement","_extends","className","cx","wrapper","PaginationRoot","PaginationPages","PaginationButtonGroup","section","indexSection","Fragment","_PaginationShorter","PaginationShorter","stretching","PaginationSection","key","pageValue","PaginationButton","pin","onClick","paginationPageButton","PaginationActions","actions","PaginationQuickJumpToPage","onChangeValue","PaginationSelectPerPage","valuesList","paginationConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","typeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import React, { useEffect, useState, forwardRef } from 'react';\n\nimport { cx, isNumber } from '../../utils';\nimport { RootProps } from '../../engines';\n\nimport {\n PaginationPages,\n PaginationActions,\n PaginationButton,\n PaginationSection,\n PaginationButtonGroup,\n PaginationRoot,\n PaginationShorter,\n} from './Pagination.styles';\nimport type { PaginationProps } from './Pagination.types';\nimport { getSections, defaultValues } from './utils';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as typeCSS } from './variations/_type/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { classes } from './Pagination.tokens';\nimport { PaginationQuickJumpToPage } from './ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage';\nimport { PaginationSelectPerPage } from './ui/PaginationSelectPerPage/PaginationSelectPerPage';\n\nexport const paginationRoot = (Root: RootProps<HTMLDivElement, PaginationProps>) =>\n forwardRef<HTMLDivElement, PaginationProps>(\n (\n {\n value = defaultValues.value,\n perPage,\n slots = defaultValues.slots,\n\n view,\n viewCurrentPage,\n type = defaultValues.type,\n size,\n pilled = defaultValues.pilled,\n square = defaultValues.square,\n disabledPages = defaultValues.disabledPages,\n\n count = defaultValues.value,\n\n hasQuickJump = defaultValues.hasQuickJump,\n hasPerPage = defaultValues.hasPerPage,\n perPageList = defaultValues.perPageList,\n isCommonButtonStyles = defaultValues.isCommonButtonStyles,\n\n placeholderQuickJump = defaultValues.placeholderQuickJump,\n textQuickJump = defaultValues.textQuickJump,\n textPerPage = defaultValues.textPerPage,\n\n leftContent,\n rightContent,\n\n onChangePageValue,\n onChangePerPageValue,\n ...rest\n },\n ref,\n ) => {\n const [page, setPageValue] = useState<number>();\n const [perPageValue, setPerPageValue] = useState(perPage);\n const [pages, setPagesValue] = useState<number>(value);\n const [sections, setSections] = useState<number[][] | null>(null);\n\n const typeClass = classes[`${type}Type` as keyof typeof classes];\n const roundedClass = pilled ? 'circle-circle' : 'square-square';\n\n const withHasPerPageSelect = hasPerPage ? classes.withHasPerPageSelect : undefined;\n const withHasQuickJump = hasQuickJump ? classes.withHasQuickJump : undefined;\n\n const disabled = disabledPages.map((el) => (isNumber(el) ? Number(el) : null));\n\n const handlerSetPages = (newPerPage?: number) => {\n setPagesValue(Math.ceil(count / (newPerPage || (hasPerPage ? defaultValues.perPage : 1))));\n };\n\n const handlerSetPage = (newPageValue?: number) => {\n let pageValue = newPageValue ?? defaultValues.value;\n if (pageValue > pages) {\n pageValue = pages;\n }\n if (pageValue < 1) {\n pageValue = 1;\n }\n if (disabled.includes(pageValue)) {\n return;\n }\n setPageValue(pageValue);\n onChangePageValue?.(pageValue);\n };\n\n const handlerSetPerPage = (newPerPageValue?: number) => {\n handlerSetPage(1);\n setPerPageValue(newPerPageValue);\n onChangePageValue?.(1);\n onChangePerPageValue?.(newPerPageValue);\n\n handlerSetPages(newPerPageValue);\n };\n\n const isActiveButton = (checkPage: number) => {\n return page === checkPage ? classes.paginationPageButtonActive : '';\n };\n\n useEffect(() => {\n handlerSetPages(perPage);\n }, [perPage, count, handlerSetPages]);\n\n useEffect(() => {\n handlerSetPage(value);\n }, [value]);\n\n useEffect(() => {\n setSections(getSections(page, pages, slots));\n }, [page, slots, pages, setSections, getSections]);\n\n return (\n <Root\n size={size}\n view={view}\n viewCurrentPage={viewCurrentPage}\n className={cx(classes.wrapper, typeClass)}\n ref={ref}\n {...rest}\n >\n <PaginationRoot className={typeClass}>\n <PaginationPages>\n {leftContent && (\n <PaginationButtonGroup isCommonButtonStyles={isCommonButtonStyles}>\n {leftContent}\n </PaginationButtonGroup>\n )}\n {sections &&\n sections.map((section, indexSection) => (\n <>\n {indexSection !== 0 && (\n <PaginationShorter stretching=\"fixed\" disabled>\n ...\n </PaginationShorter>\n )}\n <PaginationSection key={indexSection}>\n {section.map((pageValue) => (\n <PaginationButton\n square={square}\n pin={roundedClass}\n key={pageValue}\n onClick={() => handlerSetPage(pageValue)}\n disabled={disabled.includes(pageValue)}\n className={cx(\n classes.paginationPageButton,\n isActiveButton(pageValue),\n )}\n >\n {pageValue}\n </PaginationButton>\n ))}\n </PaginationSection>\n </>\n ))}\n {rightContent && (\n <PaginationButtonGroup isCommonButtonStyles={isCommonButtonStyles}>\n {rightContent}\n </PaginationButtonGroup>\n )}\n </PaginationPages>\n <PaginationActions\n className={cx(classes.actions, typeClass, withHasPerPageSelect, withHasQuickJump)}\n >\n {hasQuickJump && (\n <PaginationQuickJumpToPage\n placeholderQuickJump={placeholderQuickJump}\n textQuickJump={textQuickJump}\n onChangeValue={handlerSetPage}\n />\n )}\n {hasPerPage && (\n <PaginationSelectPerPage\n textPerPage={textPerPage}\n value={perPageValue}\n valuesList={perPageList}\n onChangeValue={handlerSetPerPage}\n />\n )}\n </PaginationActions>\n </PaginationRoot>\n </Root>\n );\n },\n );\n\nexport const paginationConfig = {\n name: 'Pagination',\n tag: 'div',\n layout: paginationRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n type: {\n css: typeCSS,\n },\n },\n defaults: {\n view: 'clear',\n size: 'm',\n },\n};\n"],"names":["paginationRoot","Root","forwardRef","_ref","ref","_ref$value","value","defaultValues","perPage","_ref$slots","slots","view","viewCurrentPage","_ref$type","type","size","_ref$pilled","pilled","_ref$square","square","_ref$disabledPages","disabledPages","_ref$count","count","_ref$hasQuickJump","hasQuickJump","_ref$hasPerPage","hasPerPage","_ref$perPageList","perPageList","_ref$isCommonButtonSt","isCommonButtonStyles","_ref$placeholderQuick","placeholderQuickJump","_ref$textQuickJump","textQuickJump","_ref$textPerPage","textPerPage","leftContent","rightContent","onChangePageValue","onChangePerPageValue","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","page","setPageValue","_useState3","_useState4","perPageValue","setPerPageValue","_useState5","_useState6","pages","setPagesValue","_useState7","_useState8","sections","setSections","typeClass","classes","concat","roundedClass","withHasPerPageSelect","undefined","withHasQuickJump","disabled","map","el","isNumber","Number","handlerSetPages","newPerPage","Math","ceil","handlerSetPage","newPageValue","pageValue","includes","handlerSetPerPage","newPerPageValue","isActiveButton","checkPage","paginationPageButtonActive","useEffect","getSections","React","createElement","_extends","className","cx","wrapper","PaginationRoot","PaginationPages","PaginationButtonGroup","section","indexSection","Fragment","_PaginationShorter","PaginationShorter","stretching","PaginationSection","key","PaginationButton","pin","onClick","paginationPageButton","PaginationActions","actions","PaginationQuickJumpToPage","onChangeValue","PaginationSelectPerPage","valuesList","paginationConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","typeCSS","defaults"],"mappings":"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"}
@@ -12,7 +12,7 @@ var base = require('./variations/_view/base.js');
12
12
  var Popover_styles = require('./Popover.styles.js');
13
13
  var Popover_tokens = require('./Popover.tokens.js');
14
14
 
15
- var _excluded = ["target", "children", "isOpen", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "closeOnEsc", "preventOverflow", "usePortal", "view", "onToggle"];
15
+ var _excluded = ["target", "children", "isOpen", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "closeOnOverlayClick", "closeOnEsc", "preventOverflow", "usePortal", "view", "onToggle"];
16
16
  var ESCAPE_KEYCODE = 27;
17
17
  var POPOVER_PORTAL_ID = 'plasma-popover-root';
18
18
 
@@ -21,41 +21,33 @@ var POPOVER_PORTAL_ID = 'plasma-popover-root';
21
21
  * и вызова по клику либо ховеру.
22
22
  */
23
23
  var popoverRoot = function popoverRoot(Root) {
24
- return /*#__PURE__*/React.forwardRef(function (props, outerRootRef) {
25
- var _placement$;
26
- var target = props.target,
27
- children = props.children,
28
- isOpen = props.isOpen,
29
- _props$trigger = props.trigger,
30
- trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
31
- hasArrow = props.hasArrow,
32
- _props$frame = props.frame,
33
- frame = _props$frame === void 0 ? 'document' : _props$frame,
34
- className = props.className,
35
- _props$placement = props.placement,
36
- placement = _props$placement === void 0 ? 'auto' : _props$placement,
37
- _props$offset = props.offset,
38
- offset = _props$offset === void 0 ? [0, 0] : _props$offset,
39
- zIndex = props.zIndex,
40
- _props$isFocusTrapped = props.isFocusTrapped,
41
- isFocusTrapped = _props$isFocusTrapped === void 0 ? true : _props$isFocusTrapped,
42
- _props$closeOnEsc = props.closeOnEsc,
43
- closeOnEsc = _props$closeOnEsc === void 0 ? true : _props$closeOnEsc,
44
- _props$preventOverflo = props.preventOverflow,
45
- preventOverflow = _props$preventOverflo === void 0 ? true : _props$preventOverflo,
46
- _props$usePortal = props.usePortal,
47
- usePortal = _props$usePortal === void 0 ? false : _props$usePortal,
48
- view = props.view,
49
- onToggle = props.onToggle,
50
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
51
- var closeOnOverlayClick = true;
52
- var closeOnBeyondTargetHover = true;
53
- if (props.trigger === 'click' && props.closeOnOverlayClick === false) {
54
- closeOnOverlayClick = false;
55
- }
56
- if (props.trigger === 'hover' && props.closeOnBeyondTargetHover === false) {
57
- closeOnBeyondTargetHover = false;
58
- }
24
+ return /*#__PURE__*/React.forwardRef(function (_ref, outerRootRef) {
25
+ var target = _ref.target,
26
+ children = _ref.children,
27
+ isOpen = _ref.isOpen,
28
+ trigger = _ref.trigger,
29
+ hasArrow = _ref.hasArrow,
30
+ _ref$frame = _ref.frame,
31
+ frame = _ref$frame === void 0 ? 'document' : _ref$frame,
32
+ className = _ref.className,
33
+ _ref$placement = _ref.placement,
34
+ placement = _ref$placement === void 0 ? 'auto' : _ref$placement,
35
+ _ref$offset = _ref.offset,
36
+ offset = _ref$offset === void 0 ? [0, 0] : _ref$offset,
37
+ zIndex = _ref.zIndex,
38
+ _ref$isFocusTrapped = _ref.isFocusTrapped,
39
+ isFocusTrapped = _ref$isFocusTrapped === void 0 ? true : _ref$isFocusTrapped,
40
+ _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
41
+ closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
42
+ _ref$closeOnEsc = _ref.closeOnEsc,
43
+ closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
44
+ _ref$preventOverflow = _ref.preventOverflow,
45
+ preventOverflow = _ref$preventOverflow === void 0 ? true : _ref$preventOverflow,
46
+ _ref$usePortal = _ref.usePortal,
47
+ usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
48
+ view = _ref.view,
49
+ onToggle = _ref.onToggle,
50
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
59
51
  var rootRef = React.useRef(null);
60
52
  var popoverRef = React.useRef(null);
61
53
  var handleRef = plasmaCore.useForkRef(rootRef, outerRootRef);
@@ -76,9 +68,7 @@ var popoverRoot = function popoverRoot(Root) {
76
68
  opacity: isOpen ? 1 : 0
77
69
  };
78
70
  var _usePopper = reactPopper.usePopper(rootRef.current, popoverRef.current, {
79
- // TODO: #1121
80
- // eslint-disable-next-line no-nested-ternary
81
- placement: isAutoArray ? (_placement$ = placement[0]) !== null && _placement$ !== void 0 && _placement$.endsWith('start') ? 'auto-start' : 'auto' : placement,
71
+ placement: isAutoArray ? 'auto' : placement,
82
72
  modifiers: [{
83
73
  name: 'preventOverflow',
84
74
  options: {
@@ -214,15 +204,10 @@ var popoverRoot = function popoverRoot(Root) {
214
204
  }, target), children && portalRef.current && /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
215
205
  view: view,
216
206
  className: className
217
- }, rest, {
218
- onMouseEnter: closeOnBeyondTargetHover ? undefined : onMouseEnter,
219
- onMouseLeave: closeOnBeyondTargetHover ? undefined : onMouseEnter
220
- }), /*#__PURE__*/React.createElement(Popover_styles.StyledPopover, _rollupPluginBabelHelpers.extends({}, attributes.popper, {
207
+ }, rest), /*#__PURE__*/React.createElement(Popover_styles.StyledPopover, _rollupPluginBabelHelpers.extends({}, attributes.popper, {
221
208
  className: Popover_tokens.classes.root,
222
209
  ref: popoverForkRef,
223
- style: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, styles.popper), {
224
- display: isOpen ? 'block' : 'none'
225
- }), initialStyles),
210
+ style: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, styles.popper), initialStyles),
226
211
  zIndex: zIndex
227
212
  }), hasArrow && /*#__PURE__*/React.createElement(Popover_styles.StyledArrow, _rollupPluginBabelHelpers.extends({
228
213
  className: Popover_tokens.classes.arrow,
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>((props, outerRootRef) => {\n const {\n target,\n children,\n isOpen,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n ...rest\n } = props;\n\n let closeOnOverlayClick = true;\n let closeOnBeyondTargetHover = true;\n\n if (props.trigger === 'click' && props.closeOnOverlayClick === false) {\n closeOnOverlayClick = false;\n }\n if (props.trigger === 'hover' && props.closeOnBeyondTargetHover === false) {\n closeOnBeyondTargetHover = false;\n }\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [closeOnOverlayClick, isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root\n view={view}\n className={className}\n {...rest}\n onMouseEnter={closeOnBeyondTargetHover ? undefined : onMouseEnter}\n onMouseLeave={closeOnBeyondTargetHover ? undefined : onMouseEnter}\n >\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: isOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n });\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","props","outerRootRef","_placement$","target","children","isOpen","_props$trigger","trigger","hasArrow","_props$frame","frame","className","_props$placement","placement","_props$offset","offset","zIndex","_props$isFocusTrapped","isFocusTrapped","_props$closeOnEsc","closeOnEsc","_props$preventOverflo","preventOverflow","_props$usePortal","usePortal","view","onToggle","rest","_objectWithoutProperties","_excluded","closeOnOverlayClick","closeOnBeyondTargetHover","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","targetIsRoot","rootHasTarget","contains","onClick","_popoverRef$current","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","undefined","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n trigger,\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n ...rest\n },\n outerRootRef,\n ) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n placement: isAutoArray ? 'auto' : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [closeOnOverlayClick, isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{ ...styles.popper, ...initialStyles }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","target","children","isOpen","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","rest","_objectWithoutProperties","_excluded","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","targetIsRoot","rootHasTarget","contains","onClick","_popoverRef$current","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","StyledPopover","popper","root","style","_objectSpread","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
@@ -61,7 +61,6 @@ var dropdownRoot = function dropdownRoot(Root) {
61
61
  placement: getPlacements(placement),
62
62
  trigger: trigger,
63
63
  closeOnOverlayClick: closeOnOverlayClick,
64
- closeOnBeyondTargetHover: false,
65
64
  closeOnEsc: closeOnEsc,
66
65
  isFocusTrapped: isFocusTrapped,
67
66
  frame: frame
@@ -86,7 +85,7 @@ var dropdownConfig = {
86
85
  }
87
86
  },
88
87
  defaults: {
89
- view: 'default',
88
+ view: 'primary',
90
89
  size: 'm'
91
90
  }
92
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useFocusTrap, useForkRef, useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n isOpen={isOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnBeyondTargetHover={false}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","outerRootRef","id","target","children","hasArrow","role","view","size","frame","onToggle","_ref$isFocusTrapped","isFocusTrapped","_ref$isOpen","isOpen","_ref$placement","placement","_ref$trigger","trigger","_ref$offset","offset","_ref$preventOverflow","preventOverflow","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","closeOnBeyondTargetHover","_extends","StyledDropdown","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useFocusTrap, useForkRef, useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n isOpen={isOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","outerRootRef","id","target","children","hasArrow","role","view","size","frame","onToggle","_ref$isFocusTrapped","isFocusTrapped","_ref$isOpen","isOpen","_ref$placement","placement","_ref$trigger","trigger","_ref$offset","offset","_ref$preventOverflow","preventOverflow","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","_extends","StyledDropdown","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _
2
2
  import React, { forwardRef, useState, useEffect } from 'react';
3
3
  import { cx } from '../../utils/index.js';
4
4
  import { PaginationRoot, PaginationPages, PaginationButtonGroup, PaginationShorter, PaginationSection, PaginationButton, PaginationActions } from './Pagination.styles.js';
5
- import { defaultValues, getSections } from './utils/index.js';
5
+ import { getSections, defaultValues } from './utils/index.js';
6
6
  import { base } from './variations/_view/base.js';
7
7
  import { base as base$2 } from './variations/_type/base.js';
8
8
  import { base as base$1 } from './variations/_size/base.js';
@@ -52,7 +52,7 @@ var paginationRoot = function paginationRoot(Root) {
52
52
  onChangePageValue = _ref.onChangePageValue,
53
53
  onChangePerPageValue = _ref.onChangePerPageValue,
54
54
  rest = _objectWithoutProperties(_ref, _excluded);
55
- var _useState = useState(value !== null && value !== void 0 ? value : defaultValues.value),
55
+ var _useState = useState(),
56
56
  _useState2 = _slicedToArray(_useState, 2),
57
57
  page = _useState2[0],
58
58
  setPageValue = _useState2[1];
@@ -79,22 +79,21 @@ var paginationRoot = function paginationRoot(Root) {
79
79
  setPagesValue(Math.ceil(count / (newPerPage || (hasPerPage ? defaultValues.perPage : 1))));
80
80
  };
81
81
  var handlerSetPage = function handlerSetPage(newPageValue) {
82
- var _newPageValue;
83
- newPageValue = (_newPageValue = newPageValue) !== null && _newPageValue !== void 0 ? _newPageValue : defaultValues.value;
84
- if (newPageValue > pages) {
85
- newPageValue = pages;
82
+ var pageValue = newPageValue !== null && newPageValue !== void 0 ? newPageValue : defaultValues.value;
83
+ if (pageValue > pages) {
84
+ pageValue = pages;
86
85
  }
87
- if (newPageValue < 1) {
88
- newPageValue = 1;
86
+ if (pageValue < 1) {
87
+ pageValue = 1;
89
88
  }
90
- if (disabled.includes(newPageValue)) {
89
+ if (disabled.includes(pageValue)) {
91
90
  return;
92
91
  }
93
- setPageValue(newPageValue);
94
- onChangePageValue === null || onChangePageValue === void 0 ? void 0 : onChangePageValue(newPageValue);
92
+ setPageValue(pageValue);
93
+ onChangePageValue === null || onChangePageValue === void 0 ? void 0 : onChangePageValue(pageValue);
95
94
  };
96
95
  var handlerSetPerPage = function handlerSetPerPage(newPerPageValue) {
97
- setPageValue(1);
96
+ handlerSetPage(1);
98
97
  setPerPageValue(newPerPageValue);
99
98
  onChangePageValue === null || onChangePageValue === void 0 ? void 0 : onChangePageValue(1);
100
99
  onChangePerPageValue === null || onChangePerPageValue === void 0 ? void 0 : onChangePerPageValue(newPerPageValue);
@@ -105,7 +104,10 @@ var paginationRoot = function paginationRoot(Root) {
105
104
  };
106
105
  useEffect(function () {
107
106
  handlerSetPages(perPage);
108
- }, [perPage, handlerSetPages]);
107
+ }, [perPage, count, handlerSetPages]);
108
+ useEffect(function () {
109
+ handlerSetPage(value);
110
+ }, [value]);
109
111
  useEffect(function () {
110
112
  setSections(getSections(page, pages, slots));
111
113
  }, [page, slots, pages, setSections, getSections]);