@skbkontur/react-ui 4.25.2 → 4.26.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.
- package/CHANGELOG.md +19 -0
- package/README.md +41 -13
- package/cjs/components/Autocomplete/Autocomplete.md +76 -3
- package/cjs/components/Button/Button.md +38 -11
- package/cjs/components/Calendar/Calendar.md +40 -0
- package/cjs/components/DropdownMenu/DropdownMenu.md +39 -0
- package/cjs/components/FileUploader/FileUploader.d.ts +2 -0
- package/cjs/components/FileUploader/FileUploader.js +32 -9
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.md +29 -0
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +6 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/hooks/useDrop.d.ts +1 -1
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +16 -3
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +3 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +2 -0
- package/cjs/internal/RenderContainer/RenderContainer.js +6 -3
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +3 -2
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +7 -3
- package/cjs/internal/ZIndex/ZIndex.js +41 -3
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +4 -2
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/components/Autocomplete/Autocomplete.md +76 -3
- package/components/Button/Button.md +38 -11
- package/components/Calendar/Calendar.md +40 -0
- package/components/DropdownMenu/DropdownMenu.md +39 -0
- package/components/FileUploader/FileUploader/FileUploader.js +30 -8
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +2 -0
- package/components/FileUploader/FileUploader.md +29 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/hooks/useDrop.d.ts +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +12 -3
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +2 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +5 -4
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +55 -7
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +7 -3
- package/lib/listenFocusOutside/listenFocusOutside.js +3 -2
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["listenFocusOutside.ts"],"names":["ReactDOM","debounce","globalObject","isInstanceOf","isFirefox","handlers","addHandleEvent","document","body","addEventListener","handleNativeFocus","leading","trailing","capture","readyState","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","nextNode","querySelector","Error","listen","push","remove","index","indexOf","splice"],"mappings":"2BAAA,OAAOA,QAAP,MAAqB,WAArB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,SAASC,YAAT,QAA6B,0BAA7B;;AAEA,SAASC,YAAT,QAA6B,gBAA7B;AACA,SAASC,SAAT,QAA0B,UAA1B;;;;;;;AAOA,IAAMC,QAAoC,GAAG,EAA7C;;AAEA,SAASC,cAAT,GAA0B;AACxB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE,
|
|
1
|
+
{"version":3,"sources":["listenFocusOutside.ts"],"names":["ReactDOM","debounce","globalObject","PORTAL_INLET_ATTR","PORTAL_OUTLET_ATTR","isInstanceOf","isFirefox","handlers","addHandleEvent","document","body","addEventListener","handleNativeFocus","leading","trailing","capture","readyState","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","nextNode","querySelector","Error","listen","push","remove","index","indexOf","splice"],"mappings":"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","sourcesContent":["import ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { PORTAL_INLET_ATTR, PORTAL_OUTLET_ATTR } from '../internal/RenderContainer';\n\nimport { isInstanceOf } from './isInstanceOf';\nimport { isFirefox } from './client';\n\ninterface FocusOutsideEventHandler {\n elements: Element[] | (() => Element[]);\n callback: (event: Event) => void;\n}\n\nconst handlers: FocusOutsideEventHandler[] = [];\n\nfunction addHandleEvent() {\n /**\n * Firefox do not supports 'focusin' event.\n * Focus events bubbles multiple time\n * without possibilty to cancell bubbling.\n * Using debounce to capture only first focus event\n * Mozilla Firefix\n * ¯\\_(ツ)_/¯\n */\n globalObject.document?.body.addEventListener(\n isFirefox ? 'focus' : ('focusin' as 'focus'),\n isFirefox ? debounce(handleNativeFocus, 0, { leading: true, trailing: false }) : handleNativeFocus,\n { capture: true },\n );\n}\n\nif (globalObject.document?.readyState === 'complete') {\n addHandleEvent();\n} else {\n globalObject.addEventListener?.('load', addHandleEvent);\n}\n\nfunction handleNativeFocus(event: UIEvent) {\n // FIXME: not safe casting\n const target: Element = (event.target || event.srcElement) as Element;\n\n handlers.forEach((handler) => {\n let elements = handler.elements;\n if (typeof elements === 'function') {\n elements = elements();\n }\n\n if (elements.some(containsTargetOrRenderContainer(target))) {\n return;\n }\n ReactDOM.unstable_batchedUpdates(() => handler.callback(event));\n });\n}\n\nexport function containsTargetOrRenderContainer(target: Element) {\n return (element: Element) => {\n if (!element) {\n return false;\n }\n if (element.contains(target)) {\n return true;\n }\n const container = findRenderContainer(target, element);\n return !!container && element.contains(container);\n };\n}\n\n/**\n * Searches RenderContainer placed in \"rootNode\" for \"node\"\n */\nexport function findRenderContainer(node: Element, rootNode: Element, container?: Element): Element | null {\n const currentNode = node.parentNode;\n if (\n !currentNode ||\n node === rootNode ||\n currentNode === rootNode ||\n currentNode === globalObject.document?.body ||\n currentNode === globalObject.document?.documentElement ||\n !isInstanceOf(currentNode, globalObject.Element)\n ) {\n return container ? container : null;\n }\n\n const newContainerId = currentNode.getAttribute(PORTAL_OUTLET_ATTR);\n if (newContainerId) {\n const nextNode = globalObject.document?.querySelector(`[${PORTAL_INLET_ATTR}~=\"${newContainerId}\"]`);\n\n if (!nextNode) {\n throw Error(`Origin node for render container was not found`);\n }\n\n return findRenderContainer(nextNode, rootNode, nextNode);\n }\n\n return findRenderContainer(currentNode, rootNode, container);\n}\n\nexport function listen(elements: Element[] | (() => Element[]), callback: (event: Event) => void) {\n const handler = {\n elements,\n callback,\n };\n handlers.push(handler);\n\n return {\n remove() {\n const index = handlers.indexOf(handler);\n if (index > -1) {\n handlers.splice(index, 1);\n }\n },\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skbkontur/react-ui",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.26.0",
|
|
4
4
|
"description": "UI Components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "index.js",
|
|
7
7
|
"sideEffects": false,
|
|
8
|
-
"homepage": "https://tech.skbkontur.ru/react-ui/4.
|
|
8
|
+
"homepage": "https://tech.skbkontur.ru/react-ui/4.26.0/",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "git@github.com:skbkontur/retail-ui.git"
|