@salutejs/plasma-new-hope 0.337.1-canary.2276.18280051462.0 → 0.338.0-canary.2254.18336605490.0

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 (94) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  3. package/cjs/components/Modal/Modal.css +2 -2
  4. package/cjs/components/Modal/Modal.js +4 -5
  5. package/cjs/components/Modal/Modal.js.map +1 -1
  6. package/cjs/components/Select/Select.js +1 -1
  7. package/cjs/components/Select/Select.js.map +1 -1
  8. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
  9. package/emotion/cjs/components/Modal/Modal.js +6 -7
  10. package/emotion/cjs/components/Scrollbar/Scrollbar.js +423 -0
  11. package/emotion/cjs/components/Scrollbar/Scrollbar.styles.js +59 -0
  12. package/emotion/cjs/components/Scrollbar/Scrollbar.tokens.js +39 -0
  13. package/emotion/cjs/components/Scrollbar/Scrollbar.types.js +4 -0
  14. package/emotion/cjs/components/Scrollbar/index.js +26 -0
  15. package/emotion/cjs/components/Scrollbar/utils.js +87 -0
  16. package/emotion/cjs/components/Scrollbar/variations/_size/base.js +12 -0
  17. package/emotion/cjs/components/Scrollbar/variations/_view/base.js +12 -0
  18. package/emotion/cjs/components/Select/Select.js +1 -1
  19. package/emotion/cjs/examples/components/Scrollbar/Scrollbar.config.js +27 -0
  20. package/emotion/cjs/examples/components/Scrollbar/Scrollbar.js +15 -0
  21. package/emotion/cjs/mixins/addScrollbar.js +24 -0
  22. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
  23. package/emotion/es/components/Modal/Modal.js +5 -6
  24. package/emotion/es/components/Scrollbar/Scrollbar.js +359 -0
  25. package/emotion/es/components/Scrollbar/Scrollbar.styles.js +24 -0
  26. package/emotion/es/components/Scrollbar/Scrollbar.tokens.js +21 -0
  27. package/emotion/es/components/Scrollbar/Scrollbar.types.js +1 -0
  28. package/emotion/es/components/Scrollbar/index.js +2 -0
  29. package/emotion/es/components/Scrollbar/utils.js +69 -0
  30. package/emotion/es/components/Scrollbar/variations/_size/base.js +2 -0
  31. package/emotion/es/components/Scrollbar/variations/_view/base.js +2 -0
  32. package/emotion/es/components/Select/Select.js +1 -1
  33. package/emotion/es/examples/components/Scrollbar/Scrollbar.config.js +17 -0
  34. package/emotion/es/examples/components/Scrollbar/Scrollbar.js +5 -0
  35. package/emotion/es/mixins/addScrollbar.js +6 -0
  36. package/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
  37. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  38. package/es/components/Modal/Modal.css +2 -2
  39. package/es/components/Modal/Modal.js +4 -5
  40. package/es/components/Modal/Modal.js.map +1 -1
  41. package/es/components/Select/Select.js +1 -1
  42. package/es/components/Select/Select.js.map +1 -1
  43. package/package.json +2 -2
  44. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
  45. package/styled-components/cjs/components/Modal/Modal.js +6 -7
  46. package/styled-components/cjs/components/Scrollbar/Scrollbar.js +423 -0
  47. package/styled-components/cjs/components/Scrollbar/Scrollbar.styles.js +121 -0
  48. package/styled-components/cjs/components/Scrollbar/Scrollbar.tokens.js +39 -0
  49. package/styled-components/cjs/components/Scrollbar/Scrollbar.types.js +4 -0
  50. package/styled-components/cjs/components/Scrollbar/index.js +26 -0
  51. package/styled-components/cjs/components/Scrollbar/utils.js +87 -0
  52. package/styled-components/cjs/components/Scrollbar/variations/_size/base.js +14 -0
  53. package/styled-components/cjs/components/Scrollbar/variations/_view/base.js +14 -0
  54. package/styled-components/cjs/components/Select/Select.js +1 -1
  55. package/styled-components/cjs/examples/components/Scrollbar/Scrollbar.config.js +45 -0
  56. package/styled-components/cjs/examples/components/Scrollbar/Scrollbar.js +15 -0
  57. package/styled-components/cjs/mixins/addScrollbar.js +24 -0
  58. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
  59. package/styled-components/es/components/Modal/Modal.js +5 -6
  60. package/styled-components/es/components/Scrollbar/Scrollbar.js +359 -0
  61. package/styled-components/es/components/Scrollbar/Scrollbar.styles.js +51 -0
  62. package/styled-components/es/components/Scrollbar/Scrollbar.tokens.js +21 -0
  63. package/styled-components/es/components/Scrollbar/Scrollbar.types.js +1 -0
  64. package/styled-components/es/components/Scrollbar/index.js +2 -0
  65. package/styled-components/es/components/Scrollbar/utils.js +69 -0
  66. package/styled-components/es/components/Scrollbar/variations/_size/base.js +4 -0
  67. package/styled-components/es/components/Scrollbar/variations/_view/base.js +4 -0
  68. package/styled-components/es/components/Select/Select.js +1 -1
  69. package/styled-components/es/examples/components/Scrollbar/Scrollbar.config.js +35 -0
  70. package/styled-components/es/examples/components/Scrollbar/Scrollbar.js +5 -0
  71. package/styled-components/es/mixins/addScrollbar.js +6 -0
  72. package/types/components/Modal/Modal.d.ts.map +1 -1
  73. package/types/components/Scrollbar/Scrollbar.d.ts +23 -0
  74. package/types/components/Scrollbar/Scrollbar.d.ts.map +1 -0
  75. package/types/components/Scrollbar/Scrollbar.styles.d.ts +7 -0
  76. package/types/components/Scrollbar/Scrollbar.styles.d.ts.map +1 -0
  77. package/types/components/Scrollbar/Scrollbar.tokens.d.ts +22 -0
  78. package/types/components/Scrollbar/Scrollbar.tokens.d.ts.map +1 -0
  79. package/types/components/Scrollbar/Scrollbar.types.d.ts +52 -0
  80. package/types/components/Scrollbar/Scrollbar.types.d.ts.map +1 -0
  81. package/types/components/Scrollbar/index.d.ts +4 -0
  82. package/types/components/Scrollbar/index.d.ts.map +1 -0
  83. package/types/components/Scrollbar/utils.d.ts +7 -0
  84. package/types/components/Scrollbar/utils.d.ts.map +1 -0
  85. package/types/components/Scrollbar/variations/_size/base.d.ts +2 -0
  86. package/types/components/Scrollbar/variations/_size/base.d.ts.map +1 -0
  87. package/types/components/Scrollbar/variations/_view/base.d.ts +2 -0
  88. package/types/components/Scrollbar/variations/_view/base.d.ts.map +1 -0
  89. package/types/examples/components/Scrollbar/Scrollbar.config.d.ts +16 -0
  90. package/types/examples/components/Scrollbar/Scrollbar.config.d.ts.map +1 -0
  91. package/types/examples/components/Scrollbar/Scrollbar.d.ts +10 -0
  92. package/types/examples/components/Scrollbar/Scrollbar.d.ts.map +1 -0
  93. package/types/mixins/addScrollbar.d.ts +3 -0
  94. package/types/mixins/addScrollbar.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId } from 'src/utils';\nimport { RootProps, component } from 'src/engines';\nimport { useFocusTrap } from 'src/hooks';\nimport { IconClose } from 'src/components/_Icon';\n\nimport { popupConfig, usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\n\nimport { classes, tokens } from './Modal.tokens';\nimport { ModalProps } from './Modal.types';\nimport { useModal } from './hooks';\nimport { base as viewCSS } from './variations/_view/base';\nimport { getIdLastModal } from './ModalContext';\nimport { CloseButton, ModalBody, ModalContent, base } from './Modal.styles';\n\n// issue #823\nconst Popup = component(popupConfig);\n\n/**\n * Modal.\n * Управляет показом/скрытием, подложкой и анимацией визуальной части модального окна.\n */\nexport const modalRoot = (Root: RootProps<HTMLDivElement, ModalProps>) =>\n forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n id,\n withAnimation,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n closeOnEsc = true,\n closeOnOverlayClick = true,\n withBlur,\n isFocusTrapped = true,\n initialFocusRef,\n focusAfterRef,\n zIndex,\n popupInfo,\n children,\n view,\n opened,\n isOpen,\n hasBody,\n hasClose,\n resizable,\n draggable,\n overlay,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n const innerHasClose = (hasClose === undefined && hasBody) || hasClose;\n const trapRef = useFocusTrap(isFocusTrapped, initialFocusRef, focusAfterRef, true, !isFocusTrapped);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRootRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.modalOverlayWithBlurColor})`\n : `var(${tokens.modalOverlayColor})`;\n\n const { modalInfo } = useModal({\n id: innerId,\n isOpen: innerIsOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n });\n\n const transparent = useMemo(() => getIdLastModal(Array.from(popupController.items.values())) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onModalOverlayKeyDown = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n },\n [closeOnOverlayClick, onOverlayClick, onClose],\n );\n\n const overlayNode = (\n <Overlay\n className={classes.overlay}\n zIndex={zIndex || DEFAULT_Z_INDEX}\n backgroundColorProperty={overlayBackgroundToken}\n withBlur={withBlur}\n transparent={transparent}\n isClickable={closeOnOverlayClick}\n onOverlayClick={onModalOverlayKeyDown}\n />\n );\n\n return (\n <Popup\n id={innerId}\n opened={innerIsOpen}\n ref={innerRef}\n popupInfo={modalInfo}\n withAnimation={withAnimation}\n zIndex={zIndex}\n overlay={<Root view={view}>{overlay || overlayNode}</Root>}\n draggable={draggable}\n resizable={resizable}\n {...rest}\n >\n {hasBody ? (\n <Root view={view}>\n <ModalBody>\n <ModalContent>\n {innerHasClose && (\n <CloseButton onClick={onClose} data-test=\"modal-close\">\n <IconClose size=\"s\" color=\"currentColor\" />\n </CloseButton>\n )}\n {children}\n </ModalContent>\n </ModalBody>\n </Root>\n ) : (\n <>{children}</>\n )}\n </Popup>\n );\n },\n );\n\nexport const modalConfig = {\n name: 'Modal',\n tag: 'div',\n layout: modalRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["Popup","component","popupConfig","modalRoot","Root","forwardRef","_ref","outerRootRef","id","withAnimation","onClose","onOverlayClick","onEscKeyDown","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","withBlur","_ref$isFocusTrapped","isFocusTrapped","initialFocusRef","focusAfterRef","zIndex","popupInfo","children","view","opened","isOpen","hasBody","hasClose","resizable","draggable","overlay","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","innerHasClose","undefined","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","modalOverlayWithBlurColor","modalOverlayColor","_useModal","useModal","modalInfo","transparent","useMemo","getIdLastModal","Array","from","items","values","onModalOverlayKeyDown","useCallback","event","overlayNode","React","createElement","Overlay","className","classes","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","_extends","ref","ModalBody","ModalContent","CloseButton","onClick","_IconClose","IconClose","size","color","Fragment","modalConfig","name","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;AAkBA;AACA,IAAMA,KAAK,gBAAGC,SAAS,CAACC,WAAW,CAAC,CAAA;;AAEpC;AACA;AACA;AACA;IACaC,SAAS,GAAG,SAAZA,SAASA,CAAIC,IAA2C,EAAA;AAAA,EAAA,oBACjEC,UAAU,CACN,UAAAC,IAAA,EA0BIC,YAAY,EACX;AAAA,IAAA,IAzBGC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MACFC,aAAa,GAAAH,IAAA,CAAbG,aAAa;MACbC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;MACPC,cAAc,GAAAL,IAAA,CAAdK,cAAc;MACdC,YAAY,GAAAN,IAAA,CAAZM,YAAY;MAAAC,eAAA,GAAAP,IAAA,CACZQ,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MAAAE,qBAAA,GAAAT,IAAA,CACjBU,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAC1BE,QAAQ,GAAAX,IAAA,CAARW,QAAQ;MAAAC,mBAAA,GAAAZ,IAAA,CACRa,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;MACrBE,eAAe,GAAAd,IAAA,CAAfc,eAAe;MACfC,aAAa,GAAAf,IAAA,CAAbe,aAAa;MACbC,MAAM,GAAAhB,IAAA,CAANgB,MAAM;MACNC,SAAS,GAAAjB,IAAA,CAATiB,SAAS;MACTC,QAAQ,GAAAlB,IAAA,CAARkB,QAAQ;MACRC,IAAI,GAAAnB,IAAA,CAAJmB,IAAI;MACJC,MAAM,GAAApB,IAAA,CAANoB,MAAM;MACNC,MAAM,GAAArB,IAAA,CAANqB,MAAM;MACNC,OAAO,GAAAtB,IAAA,CAAPsB,OAAO;MACPC,QAAQ,GAAAvB,IAAA,CAARuB,QAAQ;MACRC,SAAS,GAAAxB,IAAA,CAATwB,SAAS;MACTC,SAAS,GAAAzB,IAAA,CAATyB,SAAS;MACTC,OAAO,GAAA1B,IAAA,CAAP0B,OAAO;AACJC,MAAAA,IAAI,GAAAC,wBAAA,CAAA5B,IAAA,EAAA6B,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,WAAW,GAAGC,OAAO,CAACV,MAAM,IAAID,MAAM,CAAC,CAAA;IAC7C,IAAMY,aAAa,GAAIT,QAAQ,KAAKU,SAAS,IAAIX,OAAO,IAAKC,QAAQ,CAAA;AACrE,IAAA,IAAMW,OAAO,GAAGC,YAAY,CAACtB,cAAc,EAAEC,eAAe,EAAEC,aAAa,EAAE,IAAI,EAAE,CAACF,cAAc,CAAC,CAAA;AACnG,IAAA,IAAMuB,eAAe,GAAGC,eAAe,EAAE,CAAA;AAEzC,IAAA,IAAMC,QAAQ,GAAGC,UAAU,CAAiBL,OAAO,EAAEjC,YAAY,CAAC,CAAA;AAElE,IAAA,IAAMuC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGxC,EAAE,IAAIsC,MAAM,CAAA;AAC5B,IAAA,IAAMG,sBAAsB,GAAGhC,QAAQ,GAAA,MAAA,CAAAiC,MAAA,CAC1BC,MAAM,CAACC,yBAAyB,gBAAAF,MAAA,CAChCC,MAAM,CAACE,iBAAiB,EAAG,GAAA,CAAA,CAAA;IAExC,IAAAC,SAAA,GAAsBC,QAAQ,CAAC;AAC3B/C,QAAAA,EAAE,EAAEwC,OAAO;AACXrB,QAAAA,MAAM,EAAES,WAAW;AACnBtB,QAAAA,UAAU,EAAVA,UAAU;AACVF,QAAAA,YAAY,EAAZA,YAAY;AACZF,QAAAA,OAAO,EAAPA,OAAO;AACPa,QAAAA,SAAS,EAATA,SAAAA;AACJ,OAAC,CAAC;MAPMiC,SAAS,GAAAF,SAAA,CAATE,SAAS,CAAA;IASjB,IAAMC,WAAW,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,cAAc,CAACC,KAAK,CAACC,IAAI,CAACnB,eAAe,CAACoB,KAAK,CAACC,MAAM,EAAE,CAAC,CAAC,KAAKf,OAAO,CAAA;AAAA,KAAA,EAAE,CACtGA,OAAO,EACPN,eAAe,CAACoB,KAAK,CACxB,CAAC,CAAA;AAEF,IAAA,IAAME,qBAAqB,GAAGC,WAAW,CACrC,UAACC,KAAuC,EAAK;AACzC,MAAA,IAAIvD,cAAc,EAAE;QAChBA,cAAc,CAACuD,KAAK,CAAC,CAAA;AACrB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIxD,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;KACH,EACD,CAACM,mBAAmB,EAAEL,cAAc,EAAED,OAAO,CACjD,CAAC,CAAA;AAED,IAAA,IAAMyD,WAAW,gBACbC,KAAA,CAAAC,aAAA,CAACC,OAAO,EAAA;MACJC,SAAS,EAAEC,OAAO,CAACxC,OAAQ;MAC3BV,MAAM,EAAEA,MAAM,IAAImD,eAAgB;AAClCC,MAAAA,uBAAuB,EAAEzB,sBAAuB;AAChDhC,MAAAA,QAAQ,EAAEA,QAAS;AACnBwC,MAAAA,WAAW,EAAEA,WAAY;AACzBkB,MAAAA,WAAW,EAAE3D,mBAAoB;AACjCL,MAAAA,cAAc,EAAEqD,qBAAAA;AAAsB,KACzC,CACJ,CAAA;AAED,IAAA,oBACII,KAAA,CAAAC,aAAA,CAACrE,KAAK,EAAA4E,QAAA,CAAA;AACFpE,MAAAA,EAAE,EAAEwC,OAAQ;AACZtB,MAAAA,MAAM,EAAEU,WAAY;AACpByC,MAAAA,GAAG,EAAEjC,QAAS;AACdrB,MAAAA,SAAS,EAAEiC,SAAU;AACrB/C,MAAAA,aAAa,EAAEA,aAAc;AAC7Ba,MAAAA,MAAM,EAAEA,MAAO;AACfU,MAAAA,OAAO,eAAEoC,KAAA,CAAAC,aAAA,CAACjE,IAAI,EAAA;AAACqB,QAAAA,IAAI,EAAEA,IAAAA;OAAOO,EAAAA,OAAO,IAAImC,WAAkB,CAAE;AAC3DpC,MAAAA,SAAS,EAAEA,SAAU;AACrBD,MAAAA,SAAS,EAAEA,SAAAA;KACPG,EAAAA,IAAI,GAEPL,OAAO,gBACJwC,KAAA,CAAAC,aAAA,CAACjE,IAAI,EAAA;AAACqB,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACb2C,KAAA,CAAAC,aAAA,CAACS,SAAS,EAAA,IAAA,eACNV,KAAA,CAAAC,aAAA,CAACU,YAAY,QACRzC,aAAa,iBACV8B,KAAA,CAAAC,aAAA,CAACW,WAAW,EAAA;AAACC,MAAAA,OAAO,EAAEvE,OAAQ;MAAC,WAAU,EAAA,aAAA;KAAawE,EAAAA,UAAA,KAAAA,UAAA,gBAClDd,KAAA,CAAAC,aAAA,CAACc,SAAS,EAAA;AAACC,MAAAA,IAAI,EAAC,GAAG;AAACC,MAAAA,KAAK,EAAC,cAAA;AAAc,KAAE,CAAC,CAClC,CAChB,EACA7D,QACS,CACP,CACT,CAAC,gBAEP4C,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAkB,QAAA,EAAG9D,IAAAA,EAAAA,QAAW,CAEf,CAAC,CAAA;AAEhB,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAM+D,WAAW,GAAG;AACvBC,EAAAA,IAAI,EAAE,OAAO;AACbC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEvF,SAAS;AACjBwF,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACRnE,IAAAA,IAAI,EAAE;AACFoE,MAAAA,GAAG,EAAEC,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtE,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId } from 'src/utils';\nimport { RootProps, component } from 'src/engines';\nimport { useFocusTrap } from 'src/hooks';\n\nimport { popupConfig, usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { IconClose } from '../_Icon/Icons/IconClose';\n\nimport { classes, tokens } from './Modal.tokens';\nimport { ModalProps } from './Modal.types';\nimport { useModal } from './hooks';\nimport { base as viewCSS } from './variations/_view/base';\nimport { getIdLastModal } from './ModalContext';\nimport { CloseButton, ModalBody, ModalContent, base } from './Modal.styles';\n\n// issue #823\nconst Popup = component(popupConfig);\n\n/**\n * Modal.\n * Управляет показом/скрытием, подложкой и анимацией визуальной части модального окна.\n */\nexport const modalRoot = (Root: RootProps<HTMLDivElement, ModalProps>) =>\n forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n id,\n withAnimation,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n closeOnEsc = true,\n closeOnOverlayClick = true,\n withBlur,\n isFocusTrapped = true,\n initialFocusRef,\n focusAfterRef,\n zIndex,\n popupInfo,\n children,\n view,\n opened,\n isOpen,\n hasBody,\n hasClose,\n resizable,\n draggable,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n const innerHasClose = (hasClose === undefined && hasBody) || hasClose;\n const trapRef = useFocusTrap(isFocusTrapped, initialFocusRef, focusAfterRef, true, !isFocusTrapped);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRootRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.modalOverlayWithBlurColor})`\n : `var(${tokens.modalOverlayColor})`;\n\n const { modalInfo } = useModal({\n id: innerId,\n isOpen: innerIsOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n });\n\n const transparent = useMemo(() => getIdLastModal(Array.from(popupController.items.values())) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onModalOverlayKeyDown = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n },\n [closeOnOverlayClick, onOverlayClick, onClose],\n );\n\n const overlayNode = (\n <Overlay\n className={classes.overlay}\n zIndex={zIndex || DEFAULT_Z_INDEX}\n backgroundColorProperty={overlayBackgroundToken}\n withBlur={withBlur}\n transparent={transparent}\n isClickable={closeOnOverlayClick}\n onOverlayClick={onModalOverlayKeyDown}\n />\n );\n\n return (\n <Popup\n id={innerId}\n opened={innerIsOpen}\n ref={innerRef}\n popupInfo={modalInfo}\n withAnimation={withAnimation}\n zIndex={zIndex}\n overlay={hasBody ? overlayNode : <Root view={view}>{overlayNode}</Root>}\n draggable={draggable}\n resizable={resizable}\n {...rest}\n >\n {hasBody ? (\n <Root view={view}>\n <ModalBody>\n <ModalContent>\n {innerHasClose && (\n <CloseButton onClick={onClose} data-test=\"modal-close\">\n <IconClose size=\"s\" color=\"currentColor\" />\n </CloseButton>\n )}\n {children}\n </ModalContent>\n </ModalBody>\n </Root>\n ) : (\n <>{children}</>\n )}\n </Popup>\n );\n },\n );\n\nexport const modalConfig = {\n name: 'Modal',\n tag: 'div',\n layout: modalRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["Popup","component","popupConfig","modalRoot","Root","forwardRef","_ref","outerRootRef","id","withAnimation","onClose","onOverlayClick","onEscKeyDown","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","withBlur","_ref$isFocusTrapped","isFocusTrapped","initialFocusRef","focusAfterRef","zIndex","popupInfo","children","view","opened","isOpen","hasBody","hasClose","resizable","draggable","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","innerHasClose","undefined","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","modalOverlayWithBlurColor","modalOverlayColor","_useModal","useModal","modalInfo","transparent","useMemo","getIdLastModal","Array","from","items","values","onModalOverlayKeyDown","useCallback","event","overlayNode","React","createElement","Overlay","className","classes","overlay","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","_extends","ref","ModalBody","ModalContent","CloseButton","onClick","_IconClose","IconClose","size","color","Fragment","modalConfig","name","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
@@ -318,7 +318,7 @@ var selectRoot = function selectRoot(Root) {
318
318
  // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.
319
319
  // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.
320
320
  useLayoutEffect(function () {
321
- var checkedCopy = new Map(checked);
321
+ var checkedCopy = new Map(valueToCheckedMap);
322
322
  checkedCopy.forEach(function (_, key) {
323
323
  checkedCopy.set(key, false);
324
324
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n const rootRef = useRef<HTMLInputElement>(null);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiselect && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n ref={rootRef}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","multiselect","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n const rootRef = useRef<HTMLInputElement>(null);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiselect && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(valueToCheckedMap);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n ref={rootRef}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","multiselect","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.337.1-canary.2276.18280051462.0",
3
+ "version": "0.338.0-canary.2254.18336605490.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -137,5 +137,5 @@
137
137
  "sideEffects": [
138
138
  "*.css"
139
139
  ],
140
- "gitHead": "db34992c7ff628a32b8710adf064fa3ff09ffc8e"
140
+ "gitHead": "9a749a6f2d515e524d7c0955f585fdec4a908edb"
141
141
  }
@@ -538,7 +538,7 @@ var comboboxRoot = function(Root) {
538
538
  // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.
539
539
  // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.
540
540
  (0, _react.useLayoutEffect)(function() {
541
- var checkedCopy = new Map(checked);
541
+ var checkedCopy = new Map(valueToCheckedMap);
542
542
  checkedCopy.forEach(function(_, key) {
543
543
  checkedCopy.set(key, false);
544
544
  });
@@ -21,10 +21,10 @@ var _plasmacore = require("@salutejs/plasma-core");
21
21
  var _utils = require("../../utils");
22
22
  var _engines = require("../../engines");
23
23
  var _hooks = require("../../hooks");
24
- var _Icon = require("../_Icon");
25
24
  var _Popup = require("../Popup");
26
25
  var _Overlay = require("../Overlay");
27
26
  var _utils1 = require("../Popup/utils");
27
+ var _IconClose = require("../_Icon/Icons/IconClose");
28
28
  var _Modaltokens = require("./Modal.tokens");
29
29
  var _hooks1 = require("./hooks");
30
30
  var _base = require("./variations/_view/base");
@@ -130,7 +130,7 @@ function _object_without_properties_loose(source, excluded) {
130
130
  var Popup = (0, _engines.component)(_Popup.popupConfig);
131
131
  var modalRoot = function(Root) {
132
132
  return /*#__PURE__*/ (0, _react.forwardRef)(function(_param, outerRootRef) {
133
- var id = _param.id, withAnimation = _param.withAnimation, onClose = _param.onClose, onOverlayClick = _param.onOverlayClick, onEscKeyDown = _param.onEscKeyDown, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, withBlur = _param.withBlur, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, initialFocusRef = _param.initialFocusRef, focusAfterRef = _param.focusAfterRef, zIndex = _param.zIndex, popupInfo = _param.popupInfo, children = _param.children, view = _param.view, opened = _param.opened, isOpen = _param.isOpen, hasBody = _param.hasBody, hasClose = _param.hasClose, resizable = _param.resizable, draggable = _param.draggable, overlay = _param.overlay, rest = _object_without_properties(_param, [
133
+ var id = _param.id, withAnimation = _param.withAnimation, onClose = _param.onClose, onOverlayClick = _param.onOverlayClick, onEscKeyDown = _param.onEscKeyDown, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, withBlur = _param.withBlur, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, initialFocusRef = _param.initialFocusRef, focusAfterRef = _param.focusAfterRef, zIndex = _param.zIndex, popupInfo = _param.popupInfo, children = _param.children, view = _param.view, opened = _param.opened, isOpen = _param.isOpen, hasBody = _param.hasBody, hasClose = _param.hasClose, resizable = _param.resizable, draggable = _param.draggable, rest = _object_without_properties(_param, [
134
134
  "id",
135
135
  "withAnimation",
136
136
  "onClose",
@@ -151,8 +151,7 @@ var modalRoot = function(Root) {
151
151
  "hasBody",
152
152
  "hasClose",
153
153
  "resizable",
154
- "draggable",
155
- "overlay"
154
+ "draggable"
156
155
  ]);
157
156
  var innerIsOpen = Boolean(isOpen || opened);
158
157
  var innerHasClose = hasClose === undefined && hasBody || hasClose;
@@ -205,9 +204,9 @@ var modalRoot = function(Root) {
205
204
  popupInfo: modalInfo,
206
205
  withAnimation: withAnimation,
207
206
  zIndex: zIndex,
208
- overlay: /*#__PURE__*/ _react.default.createElement(Root, {
207
+ overlay: hasBody ? overlayNode : /*#__PURE__*/ _react.default.createElement(Root, {
209
208
  view: view
210
- }, overlay || overlayNode),
209
+ }, overlayNode),
211
210
  draggable: draggable,
212
211
  resizable: resizable
213
212
  }, rest), hasBody ? /*#__PURE__*/ _react.default.createElement(Root, {
@@ -215,7 +214,7 @@ var modalRoot = function(Root) {
215
214
  }, /*#__PURE__*/ _react.default.createElement(_Modalstyles.ModalBody, null, /*#__PURE__*/ _react.default.createElement(_Modalstyles.ModalContent, null, innerHasClose && /*#__PURE__*/ _react.default.createElement(_Modalstyles.CloseButton, {
216
215
  onClick: onClose,
217
216
  "data-test": "modal-close"
218
- }, /*#__PURE__*/ _react.default.createElement(_Icon.IconClose, {
217
+ }, /*#__PURE__*/ _react.default.createElement(_IconClose.IconClose, {
219
218
  size: "s",
220
219
  color: "currentColor"
221
220
  })), children))) : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children));