@homecode/ui 5.1.8 → 5.1.9
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/dist/esm/index.js +2 -108
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/node_modules/style-inject/dist/style-inject.es.js +2 -28
- package/dist/esm/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
- package/dist/esm/src/components/AssistiveText/AssistiveText.js +2 -10
- package/dist/esm/src/components/AssistiveText/AssistiveText.js.map +1 -0
- package/dist/esm/src/components/AssistiveText/AssistiveText.styl.js +2 -7
- package/dist/esm/src/components/AssistiveText/AssistiveText.styl.js.map +1 -0
- package/dist/esm/src/components/Autocomplete/Autocomplete.js +2 -428
- package/dist/esm/src/components/Autocomplete/Autocomplete.js.map +1 -0
- package/dist/esm/src/components/Autocomplete/Autocomplete.styl.js +2 -7
- package/dist/esm/src/components/Autocomplete/Autocomplete.styl.js.map +1 -0
- package/dist/esm/src/components/Button/Button.helpers.js +2 -12
- package/dist/esm/src/components/Button/Button.helpers.js.map +1 -0
- package/dist/esm/src/components/Button/Button.js +2 -38
- package/dist/esm/src/components/Button/Button.js.map +1 -0
- package/dist/esm/src/components/Button/Button.styl.js +2 -7
- package/dist/esm/src/components/Button/Button.styl.js.map +1 -0
- package/dist/esm/src/components/ButtonGroup/ButtonGroup.js +2 -10
- package/dist/esm/src/components/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/esm/src/components/ButtonGroup/ButtonGroup.styl.js +2 -7
- package/dist/esm/src/components/ButtonGroup/ButtonGroup.styl.js.map +1 -0
- package/dist/esm/src/components/Calendar/Calendar.helpers.js +2 -65
- package/dist/esm/src/components/Calendar/Calendar.helpers.js.map +1 -0
- package/dist/esm/src/components/Calendar/Calendar.js +2 -136
- package/dist/esm/src/components/Calendar/Calendar.js.map +1 -0
- package/dist/esm/src/components/Calendar/Calendar.styl.js +2 -7
- package/dist/esm/src/components/Calendar/Calendar.styl.js.map +1 -0
- package/dist/esm/src/components/Card/Card.js +2 -55
- package/dist/esm/src/components/Card/Card.js.map +1 -0
- package/dist/esm/src/components/Card/Card.styl.js +2 -7
- package/dist/esm/src/components/Card/Card.styl.js.map +1 -0
- package/dist/esm/src/components/Checkbox/Checkbox.js +2 -19
- package/dist/esm/src/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/esm/src/components/Checkbox/Checkbox.styl.js +2 -7
- package/dist/esm/src/components/Checkbox/Checkbox.styl.js.map +1 -0
- package/dist/esm/src/components/Chip/Chip.js +2 -16
- package/dist/esm/src/components/Chip/Chip.js.map +1 -0
- package/dist/esm/src/components/Chip/Chip.styl.js +2 -7
- package/dist/esm/src/components/Chip/Chip.styl.js.map +1 -0
- package/dist/esm/src/components/Container/Container.js +2 -13
- package/dist/esm/src/components/Container/Container.js.map +1 -0
- package/dist/esm/src/components/Container/Container.styl.js +2 -7
- package/dist/esm/src/components/Container/Container.styl.js.map +1 -0
- package/dist/esm/src/components/DatePicker/DatePicker.helpers.js +2 -33
- package/dist/esm/src/components/DatePicker/DatePicker.helpers.js.map +1 -0
- package/dist/esm/src/components/DatePicker/DatePicker.js +2 -47
- package/dist/esm/src/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/esm/src/components/DatePicker/DatePicker.styl.js +2 -7
- package/dist/esm/src/components/DatePicker/DatePicker.styl.js.map +1 -0
- package/dist/esm/src/components/DatePickerInput/DatePickerInput.js +2 -44
- package/dist/esm/src/components/DatePickerInput/DatePickerInput.js.map +1 -0
- package/dist/esm/src/components/DatePickerInput/DatePickerInput.styl.js +2 -7
- package/dist/esm/src/components/DatePickerInput/DatePickerInput.styl.js.map +1 -0
- package/dist/esm/src/components/DateTime/DateTime.js +2 -17
- package/dist/esm/src/components/DateTime/DateTime.js.map +1 -0
- package/dist/esm/src/components/Dialogue/Dialogue.js +2 -107
- package/dist/esm/src/components/Dialogue/Dialogue.js.map +1 -0
- package/dist/esm/src/components/Dialogue/Dialogue.styl.js +2 -7
- package/dist/esm/src/components/Dialogue/Dialogue.styl.js.map +1 -0
- package/dist/esm/src/components/Draggable/Draggable.js +2 -147
- package/dist/esm/src/components/Draggable/Draggable.js.map +1 -0
- package/dist/esm/src/components/Draggable/Draggable.styl.js +2 -7
- package/dist/esm/src/components/Draggable/Draggable.styl.js.map +1 -0
- package/dist/esm/src/components/DropZone/DropZone.js +2 -112
- package/dist/esm/src/components/DropZone/DropZone.js.map +1 -0
- package/dist/esm/src/components/DropZone/DropZone.styl.js +2 -7
- package/dist/esm/src/components/DropZone/DropZone.styl.js.map +1 -0
- package/dist/esm/src/components/Expand/Expand.js +2 -24
- package/dist/esm/src/components/Expand/Expand.js.map +1 -0
- package/dist/esm/src/components/Expand/Expand.styl.js +2 -7
- package/dist/esm/src/components/Expand/Expand.styl.js.map +1 -0
- package/dist/esm/src/components/Flex/Flex.js +2 -24
- package/dist/esm/src/components/Flex/Flex.js.map +1 -0
- package/dist/esm/src/components/Flex/Flex.styl.js +2 -7
- package/dist/esm/src/components/Flex/Flex.styl.js.map +1 -0
- package/dist/esm/src/components/Form/Form.helpers.js +2 -42
- package/dist/esm/src/components/Form/Form.helpers.js.map +1 -0
- package/dist/esm/src/components/Form/Form.js +2 -272
- package/dist/esm/src/components/Form/Form.js.map +1 -0
- package/dist/esm/src/components/Form/Form.styl.js +2 -7
- package/dist/esm/src/components/Form/Form.styl.js.map +1 -0
- package/dist/esm/src/components/Form/Form.types.js +1 -0
- package/dist/esm/src/components/Form/Form.types.js.map +1 -0
- package/dist/esm/src/components/Form/SubmitButtons/SubmitButtons.js +2 -8
- package/dist/esm/src/components/Form/SubmitButtons/SubmitButtons.js.map +1 -0
- package/dist/esm/src/components/Form/SubmitButtons/SubmitButtons.styl.js +2 -7
- package/dist/esm/src/components/Form/SubmitButtons/SubmitButtons.styl.js.map +1 -0
- package/dist/esm/src/components/Form/Validator.js +6 -24
- package/dist/esm/src/components/Form/Validator.js.map +1 -0
- package/dist/esm/src/components/Gallery/Dots/Dots.js +2 -9
- package/dist/esm/src/components/Gallery/Dots/Dots.js.map +1 -0
- package/dist/esm/src/components/Gallery/Dots/Dots.styl.js +2 -7
- package/dist/esm/src/components/Gallery/Dots/Dots.styl.js.map +1 -0
- package/dist/esm/src/components/Gallery/Gallery.js +2 -222
- package/dist/esm/src/components/Gallery/Gallery.js.map +1 -0
- package/dist/esm/src/components/Gallery/Gallery.styl.js +2 -7
- package/dist/esm/src/components/Gallery/Gallery.styl.js.map +1 -0
- package/dist/esm/src/components/Heading/Heading.js +2 -37
- package/dist/esm/src/components/Heading/Heading.js.map +1 -0
- package/dist/esm/src/components/Heading/Heading.styl.js +2 -7
- package/dist/esm/src/components/Heading/Heading.styl.js.map +1 -0
- package/dist/esm/src/components/Icon/Icon.js +2 -21
- package/dist/esm/src/components/Icon/Icon.js.map +1 -0
- package/dist/esm/src/components/Icon/Icon.styl.js +2 -7
- package/dist/esm/src/components/Icon/Icon.styl.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/apple.svg.js +2 -16
- package/dist/esm/src/components/Icon/icons/apple.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/arrowDown.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/arrowDown.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/arrowLeft.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/arrowLeft.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/arrowRight.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/arrowRight.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/arrowUp.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/arrowUp.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/attach.svg.js +2 -19
- package/dist/esm/src/components/Icon/icons/attach.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/avatar.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/avatar.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/bookmark.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/bookmark.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/bookmarkAdd.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/bookmarkAdd.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/brain.svg.js +2 -22
- package/dist/esm/src/components/Icon/icons/brain.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/brokenImage.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/brokenImage.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/call.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/call.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/camera.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/camera.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/chat.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/chat.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/check.svg.js +2 -19
- package/dist/esm/src/components/Icon/icons/check.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/checkers.svg.js +2 -18
- package/dist/esm/src/components/Icon/icons/checkers.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/chevronDown.svg.js +2 -20
- package/dist/esm/src/components/Icon/icons/chevronDown.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/chevronLeft.svg.js +2 -20
- package/dist/esm/src/components/Icon/icons/chevronLeft.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/chevronRight.svg.js +2 -20
- package/dist/esm/src/components/Icon/icons/chevronRight.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/chevronUp.svg.js +2 -20
- package/dist/esm/src/components/Icon/icons/chevronUp.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/clearAll.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/clearAll.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/close.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/close.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/colors.svg.js +2 -60
- package/dist/esm/src/components/Icon/icons/colors.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/compass.svg.js +2 -56
- package/dist/esm/src/components/Icon/icons/compass.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/copy.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/copy.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/cubes.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/cubes.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/delete.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/delete.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/discord.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/discord.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/draft.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/draft.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/dragHandlerHorizontal.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/dragHandlerHorizontal.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/dragHandlerVertical.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/dragHandlerVertical.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/edit.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/edit.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/email.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/email.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/externalLink.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/externalLink.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/eye.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/eye.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/flyover.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/flyover.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/folder.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/folder.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/folderOpen.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/folderOpen.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/forward.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/forward.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/fullscreen.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/fullscreen.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/fullscreenExit.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/fullscreenExit.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/function.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/function.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/gear.svg.js +2 -21
- package/dist/esm/src/components/Icon/icons/gear.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/geolocation.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/geolocation.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/github.svg.js +2 -18
- package/dist/esm/src/components/Icon/icons/github.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/globe.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/globe.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/google.svg.js +2 -42
- package/dist/esm/src/components/Icon/icons/google.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/group.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/group.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/history.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/history.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/home.svg.js +2 -19
- package/dist/esm/src/components/Icon/icons/home.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/image.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/image.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/index.js +2 -95
- package/dist/esm/src/components/Icon/icons/index.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/instagram.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/instagram.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/layers.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/layers.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/link.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/link.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/linkedin.svg.js +2 -20
- package/dist/esm/src/components/Icon/icons/linkedin.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/loader.svg.js +2 -45
- package/dist/esm/src/components/Icon/icons/loader.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/lock.svg.js +2 -19
- package/dist/esm/src/components/Icon/icons/lock.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/lockOpen.svg.js +2 -19
- package/dist/esm/src/components/Icon/icons/lockOpen.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/map.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/map.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/menu.svg.js +2 -18
- package/dist/esm/src/components/Icon/icons/menu.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/mic.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/mic.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/micMuted.svg.js +2 -27
- package/dist/esm/src/components/Icon/icons/micMuted.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/minus.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/minus.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/moreHorizontal.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/moreHorizontal.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/moreVertical.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/moreVertical.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/output.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/output.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/pause.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/pause.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/play.svg.js +2 -20
- package/dist/esm/src/components/Icon/icons/play.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/plus.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/plus.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/redo.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/redo.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/requiredStar.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/requiredStar.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/rewind.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/rewind.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/rocket.svg.js +2 -22
- package/dist/esm/src/components/Icon/icons/rocket.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/route.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/route.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/routeFrom.svg.js +2 -31
- package/dist/esm/src/components/Icon/icons/routeFrom.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/routeTo.svg.js +2 -31
- package/dist/esm/src/components/Icon/icons/routeTo.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/save.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/save.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/search.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/search.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/send.svg.js +2 -16
- package/dist/esm/src/components/Icon/icons/send.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/settings.svg.js +2 -52
- package/dist/esm/src/components/Icon/icons/settings.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/shoppingBag.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/shoppingBag.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/smile.svg.js +2 -30
- package/dist/esm/src/components/Icon/icons/smile.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/soundWave.svg.js +2 -66
- package/dist/esm/src/components/Icon/icons/soundWave.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/sparks.svg.js +2 -21
- package/dist/esm/src/components/Icon/icons/sparks.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/star.svg.js +2 -18
- package/dist/esm/src/components/Icon/icons/star.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/stop.svg.js +2 -22
- package/dist/esm/src/components/Icon/icons/stop.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/stopInCircle.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/stopInCircle.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/syncArrows.svg.js +2 -22
- package/dist/esm/src/components/Icon/icons/syncArrows.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/table.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/table.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/telegram.svg.js +2 -19
- package/dist/esm/src/components/Icon/icons/telegram.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/tool.svg.js +2 -17
- package/dist/esm/src/components/Icon/icons/tool.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/trafficLight.svg.js +2 -49
- package/dist/esm/src/components/Icon/icons/trafficLight.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/undo.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/undo.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/usage.svg.js +2 -25
- package/dist/esm/src/components/Icon/icons/usage.svg.js.map +1 -0
- package/dist/esm/src/components/Icon/icons/youtube.svg.js +2 -20
- package/dist/esm/src/components/Icon/icons/youtube.svg.js.map +1 -0
- package/dist/esm/src/components/Input/Input.js +2 -281
- package/dist/esm/src/components/Input/Input.js.map +1 -0
- package/dist/esm/src/components/Input/Input.styl.js +2 -7
- package/dist/esm/src/components/Input/Input.styl.js.map +1 -0
- package/dist/esm/src/components/InputFile/InputFile.js +2 -313
- package/dist/esm/src/components/InputFile/InputFile.js.map +1 -0
- package/dist/esm/src/components/InputFile/InputFile.styl.js +2 -7
- package/dist/esm/src/components/InputFile/InputFile.styl.js.map +1 -0
- package/dist/esm/src/components/InputFile/InputFile.types.js +1 -0
- package/dist/esm/src/components/InputFile/InputFile.types.js.map +1 -0
- package/dist/esm/src/components/InputFile/Item/Item.js +2 -18
- package/dist/esm/src/components/InputFile/Item/Item.js.map +1 -0
- package/dist/esm/src/components/InputFile/Item/Item.styl.js +2 -7
- package/dist/esm/src/components/InputFile/Item/Item.styl.js.map +1 -0
- package/dist/esm/src/components/Label/Label.constants.json.js +2 -8
- package/dist/esm/src/components/Label/Label.constants.json.js.map +1 -0
- package/dist/esm/src/components/Label/Label.helpers.js +2 -35
- package/dist/esm/src/components/Label/Label.helpers.js.map +1 -0
- package/dist/esm/src/components/Label/Label.js +2 -58
- package/dist/esm/src/components/Label/Label.js.map +1 -0
- package/dist/esm/src/components/Label/Label.styl.js +2 -7
- package/dist/esm/src/components/Label/Label.styl.js.map +1 -0
- package/dist/esm/src/components/LangSelector/LangSelector.js +2 -10
- package/dist/esm/src/components/LangSelector/LangSelector.js.map +1 -0
- package/dist/esm/src/components/Lazy/Lazy.js +2 -74
- package/dist/esm/src/components/Lazy/Lazy.js.map +1 -0
- package/dist/esm/src/components/LightBox/LightBox.js +2 -28
- package/dist/esm/src/components/LightBox/LightBox.js.map +1 -0
- package/dist/esm/src/components/LightBox/LightBox.styl.js +2 -7
- package/dist/esm/src/components/LightBox/LightBox.styl.js.map +1 -0
- package/dist/esm/src/components/Menu/Menu.js +2 -27
- package/dist/esm/src/components/Menu/Menu.js.map +1 -0
- package/dist/esm/src/components/Menu/Menu.styl.js +2 -7
- package/dist/esm/src/components/Menu/Menu.styl.js.map +1 -0
- package/dist/esm/src/components/Notifications/Notifications.constants.json.js +2 -6
- package/dist/esm/src/components/Notifications/Notifications.constants.json.js.map +1 -0
- package/dist/esm/src/components/Notifications/Notifications.js +2 -67
- package/dist/esm/src/components/Notifications/Notifications.js.map +1 -0
- package/dist/esm/src/components/Notifications/Notifications.styl.js +2 -7
- package/dist/esm/src/components/Notifications/Notifications.styl.js.map +1 -0
- package/dist/esm/src/components/Notifications/store.js +2 -61
- package/dist/esm/src/components/Notifications/store.js.map +1 -0
- package/dist/esm/src/components/Paranja/Paranja.js +2 -14
- package/dist/esm/src/components/Paranja/Paranja.js.map +1 -0
- package/dist/esm/src/components/Paranja/Paranja.styl.js +2 -7
- package/dist/esm/src/components/Paranja/Paranja.styl.js.map +1 -0
- package/dist/esm/src/components/Popup/Popup.helpers.js +2 -130
- package/dist/esm/src/components/Popup/Popup.helpers.js.map +1 -0
- package/dist/esm/src/components/Popup/Popup.js +2 -484
- package/dist/esm/src/components/Popup/Popup.js.map +1 -0
- package/dist/esm/src/components/Popup/Popup.styl.js +2 -7
- package/dist/esm/src/components/Popup/Popup.styl.js.map +1 -0
- package/dist/esm/src/components/PopupMenu/PopupMenu.js +2 -15
- package/dist/esm/src/components/PopupMenu/PopupMenu.js.map +1 -0
- package/dist/esm/src/components/PopupMenu/PopupMenu.styl.js +2 -7
- package/dist/esm/src/components/PopupMenu/PopupMenu.styl.js.map +1 -0
- package/dist/esm/src/components/Portal/Portal.js +2 -33
- package/dist/esm/src/components/Portal/Portal.js.map +1 -0
- package/dist/esm/src/components/Progress/Progress.helpers.js +2 -5
- package/dist/esm/src/components/Progress/Progress.helpers.js.map +1 -0
- package/dist/esm/src/components/Progress/Progress.js +2 -12
- package/dist/esm/src/components/Progress/Progress.js.map +1 -0
- package/dist/esm/src/components/Progress/Progress.styl.js +2 -7
- package/dist/esm/src/components/Progress/Progress.styl.js.map +1 -0
- package/dist/esm/src/components/ProgressCircular/ProgressCircular.js +2 -23
- package/dist/esm/src/components/ProgressCircular/ProgressCircular.js.map +1 -0
- package/dist/esm/src/components/ProgressCircular/ProgressCircular.styl.js +2 -7
- package/dist/esm/src/components/ProgressCircular/ProgressCircular.styl.js.map +1 -0
- package/dist/esm/src/components/RadioButton/RadioButton.js +2 -33
- package/dist/esm/src/components/RadioButton/RadioButton.js.map +1 -0
- package/dist/esm/src/components/RadioButton/RadioButton.styl.js +2 -7
- package/dist/esm/src/components/RadioButton/RadioButton.styl.js.map +1 -0
- package/dist/esm/src/components/RadioGroup/RadioGroup.js +2 -31
- package/dist/esm/src/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/esm/src/components/RadioGroup/RadioGroup.styl.js +2 -7
- package/dist/esm/src/components/RadioGroup/RadioGroup.styl.js.map +1 -0
- package/dist/esm/src/components/RadioGroup/RadioGroupContext.js +2 -8
- package/dist/esm/src/components/RadioGroup/RadioGroupContext.js.map +1 -0
- package/dist/esm/src/components/RequiredStar/RequiredStar.js +2 -12
- package/dist/esm/src/components/RequiredStar/RequiredStar.js.map +1 -0
- package/dist/esm/src/components/RequiredStar/RequiredStar.styl.js +2 -7
- package/dist/esm/src/components/RequiredStar/RequiredStar.styl.js.map +1 -0
- package/dist/esm/src/components/Router/Link/Link.js +2 -62
- package/dist/esm/src/components/Router/Link/Link.js.map +1 -0
- package/dist/esm/src/components/Router/Link/Link.styl.js +2 -7
- package/dist/esm/src/components/Router/Link/Link.styl.js.map +1 -0
- package/dist/esm/src/components/Router/Redirect.js +2 -12
- package/dist/esm/src/components/Router/Redirect.js.map +1 -0
- package/dist/esm/src/components/Router/Route.js +2 -6
- package/dist/esm/src/components/Router/Route.js.map +1 -0
- package/dist/esm/src/components/Router/Router.helpers.js +2 -33
- package/dist/esm/src/components/Router/Router.helpers.js.map +1 -0
- package/dist/esm/src/components/Router/Router.js +2 -72
- package/dist/esm/src/components/Router/Router.js.map +1 -0
- package/dist/esm/src/components/Router/context.js +2 -5
- package/dist/esm/src/components/Router/context.js.map +1 -0
- package/dist/esm/src/components/Router/store.js +2 -75
- package/dist/esm/src/components/Router/store.js.map +1 -0
- package/dist/esm/src/components/Scroll/Scroll.js +2 -308
- package/dist/esm/src/components/Scroll/Scroll.js.map +1 -0
- package/dist/esm/src/components/Scroll/Scroll.styl.js +2 -7
- package/dist/esm/src/components/Scroll/Scroll.styl.js.map +1 -0
- package/dist/esm/src/components/Select/Select.helpers.js +2 -37
- package/dist/esm/src/components/Select/Select.helpers.js.map +1 -0
- package/dist/esm/src/components/Select/Select.js +2 -601
- package/dist/esm/src/components/Select/Select.js.map +1 -0
- package/dist/esm/src/components/Select/Select.styl.js +2 -7
- package/dist/esm/src/components/Select/Select.styl.js.map +1 -0
- package/dist/esm/src/components/Select/Select2.js +2 -334
- package/dist/esm/src/components/Select/Select2.js.map +1 -0
- package/dist/esm/src/components/Shimmer/Shimmer.js +2 -7
- package/dist/esm/src/components/Shimmer/Shimmer.js.map +1 -0
- package/dist/esm/src/components/Shimmer/Shimmer.styl.js +2 -7
- package/dist/esm/src/components/Shimmer/Shimmer.styl.js.map +1 -0
- package/dist/esm/src/components/Spinner/Spinner.js +2 -11
- package/dist/esm/src/components/Spinner/Spinner.js.map +1 -0
- package/dist/esm/src/components/Spinner/Spinner.styl.js +2 -7
- package/dist/esm/src/components/Spinner/Spinner.styl.js.map +1 -0
- package/dist/esm/src/components/Spinner/spinner.svg.js +2 -24
- package/dist/esm/src/components/Spinner/spinner.svg.js.map +1 -0
- package/dist/esm/src/components/Table/Table.js +2 -24
- package/dist/esm/src/components/Table/Table.js.map +1 -0
- package/dist/esm/src/components/Table/Table.styl.js +2 -7
- package/dist/esm/src/components/Table/Table.styl.js.map +1 -0
- package/dist/esm/src/components/Tabs/Tabs.js +2 -48
- package/dist/esm/src/components/Tabs/Tabs.js.map +1 -0
- package/dist/esm/src/components/Tabs/Tabs.styl.js +2 -7
- package/dist/esm/src/components/Tabs/Tabs.styl.js.map +1 -0
- package/dist/esm/src/components/Text/Text.js +2 -44
- package/dist/esm/src/components/Text/Text.js.map +1 -0
- package/dist/esm/src/components/Text/Text.styl.js +2 -7
- package/dist/esm/src/components/Text/Text.styl.js.map +1 -0
- package/dist/esm/src/components/Theme/Theme.defaults.js +2 -53
- package/dist/esm/src/components/Theme/Theme.defaults.js.map +1 -0
- package/dist/esm/src/components/Theme/Theme.helpers.js +2 -67
- package/dist/esm/src/components/Theme/Theme.helpers.js.map +1 -0
- package/dist/esm/src/components/Theme/Theme.js +2 -15
- package/dist/esm/src/components/Theme/Theme.js.map +1 -0
- package/dist/esm/src/components/Theme/ThemeProvider.js +2 -50
- package/dist/esm/src/components/Theme/ThemeProvider.js.map +1 -0
- package/dist/esm/src/components/Toggle/Toggle.js +2 -18
- package/dist/esm/src/components/Toggle/Toggle.js.map +1 -0
- package/dist/esm/src/components/Toggle/Toggle.styl.js +2 -7
- package/dist/esm/src/components/Toggle/Toggle.styl.js.map +1 -0
- package/dist/esm/src/components/Tooltip/Tooltip.js +2 -86
- package/dist/esm/src/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/esm/src/components/Tooltip/Tooltip.styl.js +2 -7
- package/dist/esm/src/components/Tooltip/Tooltip.styl.js.map +1 -0
- package/dist/esm/src/components/VH/VH.js +2 -33
- package/dist/esm/src/components/VH/VH.js.map +1 -0
- package/dist/esm/src/components/Virtualized/List/List.js +2 -136
- package/dist/esm/src/components/Virtualized/List/List.js.map +1 -0
- package/dist/esm/src/components/Virtualized/List/List.styl.js +2 -7
- package/dist/esm/src/components/Virtualized/List/List.styl.js.map +1 -0
- package/dist/esm/src/components/Virtualized/List/ListScroll.js +2 -22
- package/dist/esm/src/components/Virtualized/List/ListScroll.js.map +1 -0
- package/dist/esm/src/components/Virtualized/List/ListScroll.styl.js +2 -7
- package/dist/esm/src/components/Virtualized/List/ListScroll.styl.js.map +1 -0
- package/dist/esm/src/components/Virtualized/Virtualized.helpers.js +2 -14
- package/dist/esm/src/components/Virtualized/Virtualized.helpers.js.map +1 -0
- package/dist/esm/src/components/Virtualized/Virtualized.js +2 -218
- package/dist/esm/src/components/Virtualized/Virtualized.js.map +1 -0
- package/dist/esm/src/components/Virtualized/Virtualized.styl.js +2 -7
- package/dist/esm/src/components/Virtualized/Virtualized.styl.js.map +1 -0
- package/dist/esm/src/components/Virtualized/Virtualized.types.js +1 -0
- package/dist/esm/src/components/Virtualized/Virtualized.types.js.map +1 -0
- package/dist/esm/src/hooks/useDebounce.js +2 -11
- package/dist/esm/src/hooks/useDebounce.js.map +1 -0
- package/dist/esm/src/hooks/useEvent.js +2 -27
- package/dist/esm/src/hooks/useEvent.js.map +1 -0
- package/dist/esm/src/hooks/useIsMounted.js +2 -11
- package/dist/esm/src/hooks/useIsMounted.js.map +1 -0
- package/dist/esm/src/hooks/useListKeyboardControl.js +2 -50
- package/dist/esm/src/hooks/useListKeyboardControl.js.map +1 -0
- package/dist/esm/src/hooks/useResizeObserver.js +2 -15
- package/dist/esm/src/hooks/useResizeObserver.js.map +1 -0
- package/dist/esm/src/hooks/useThrottle.js +2 -31
- package/dist/esm/src/hooks/useThrottle.js.map +1 -0
- package/dist/esm/src/hooks/useToggleState.js +2 -35
- package/dist/esm/src/hooks/useToggleState.js.map +1 -0
- package/dist/esm/src/services/i18n.js +2 -112
- package/dist/esm/src/services/i18n.js.map +1 -0
- package/dist/esm/src/tools/array.js +2 -60
- package/dist/esm/src/tools/array.js.map +1 -0
- package/dist/esm/src/tools/config.js +2 -9
- package/dist/esm/src/tools/config.js.map +1 -0
- package/dist/esm/src/tools/date.js +2 -11
- package/dist/esm/src/tools/date.js.map +1 -0
- package/dist/esm/src/tools/debounce.js +2 -11
- package/dist/esm/src/tools/debounce.js.map +1 -0
- package/dist/esm/src/tools/dom.js +2 -57
- package/dist/esm/src/tools/dom.js.map +1 -0
- package/dist/esm/src/tools/env.js +2 -3
- package/dist/esm/src/tools/env.js.map +1 -0
- package/dist/esm/src/tools/file.js +2 -11
- package/dist/esm/src/tools/file.js.map +1 -0
- package/dist/esm/src/tools/localStorage.js +2 -31
- package/dist/esm/src/tools/localStorage.js.map +1 -0
- package/dist/esm/src/tools/number.js +2 -27
- package/dist/esm/src/tools/number.js.map +1 -0
- package/dist/esm/src/tools/object.js +2 -5
- package/dist/esm/src/tools/object.js.map +1 -0
- package/dist/esm/src/tools/queryParams.js +2 -40
- package/dist/esm/src/tools/queryParams.js.map +1 -0
- package/dist/esm/src/tools/rangeMap.js +2 -3
- package/dist/esm/src/tools/rangeMap.js.map +1 -0
- package/dist/esm/src/tools/resizeObserver.js +2 -68
- package/dist/esm/src/tools/resizeObserver.js.map +1 -0
- package/dist/esm/src/tools/scroll.js +2 -41
- package/dist/esm/src/tools/scroll.js.map +1 -0
- package/dist/esm/src/tools/string.js +2 -7
- package/dist/esm/src/tools/string.js.map +1 -0
- package/dist/esm/src/tools/throttle.js +2 -30
- package/dist/esm/src/tools/throttle.js.map +1 -0
- package/dist/esm/src/tools/uid.js +2 -7
- package/dist/esm/src/tools/uid.js.map +1 -0
- package/dist/esm/types/src/components/Select/Select.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,484 +1,2 @@
|
|
|
1
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
import { observe, unobserve } from '../../tools/resizeObserver.js';
|
|
4
|
-
import { Component, createRef } from 'react';
|
|
5
|
-
import { Paranja } from '../Paranja/Paranja.js';
|
|
6
|
-
import { Portal } from '../Portal/Portal.js';
|
|
7
|
-
import { config } from '../../tools/config.js';
|
|
8
|
-
import S from './Popup.styl.js';
|
|
9
|
-
import Time from 'timen';
|
|
10
|
-
import cn from 'classnames';
|
|
11
|
-
import debounce from '../../tools/debounce.js';
|
|
12
|
-
import { getCoords } from '../../tools/dom.js';
|
|
13
|
-
import { isBrowser } from '../../tools/env.js';
|
|
14
|
-
import throttle from '../../tools/throttle.js';
|
|
15
|
-
|
|
16
|
-
const ANIMATION_DURATION = 100;
|
|
17
|
-
const OFFSET_GAP = 10;
|
|
18
|
-
const BOUNDARY_FIT_EPSILON = 1;
|
|
19
|
-
class Popup extends Component {
|
|
20
|
-
rootElem = createRef();
|
|
21
|
-
triggerElem = createRef();
|
|
22
|
-
containerElem = null;
|
|
23
|
-
onContainerElemRef = elem => {
|
|
24
|
-
this.containerElem = elem;
|
|
25
|
-
// TODO: useElemResize(elem, callback)
|
|
26
|
-
if (elem) {
|
|
27
|
-
this.unsubscribeSizeChange();
|
|
28
|
-
this.subscribeSizeChange();
|
|
29
|
-
if (this.state.isOpen) {
|
|
30
|
-
this.updateBounds();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
focused = false;
|
|
35
|
-
pointerPressed = false;
|
|
36
|
-
subscribedHoverControl = false;
|
|
37
|
-
subscribedSizeChange = false;
|
|
38
|
-
pointerDownTarget = null;
|
|
39
|
-
isPointerPressedInside = false;
|
|
40
|
-
id;
|
|
41
|
-
parentPopupContent;
|
|
42
|
-
timers = Time.create();
|
|
43
|
-
scrollParent;
|
|
44
|
-
shiftOuterRafId = 0;
|
|
45
|
-
shiftInnerRafId = 0;
|
|
46
|
-
static defaultProps = {
|
|
47
|
-
size: 'm',
|
|
48
|
-
direction: '',
|
|
49
|
-
animated: true,
|
|
50
|
-
};
|
|
51
|
-
state = {
|
|
52
|
-
rootPopupId: null,
|
|
53
|
-
isOpen: Boolean(this.props.isOpen),
|
|
54
|
-
isContentVisible: Boolean(this.props.isOpen),
|
|
55
|
-
animating: false,
|
|
56
|
-
direction: this.props.direction,
|
|
57
|
-
triggerBounds: null,
|
|
58
|
-
boundaryFit: ZERO_BOUNDARY_FIT,
|
|
59
|
-
};
|
|
60
|
-
constructor(props) {
|
|
61
|
-
super(props);
|
|
62
|
-
this.id = getId();
|
|
63
|
-
}
|
|
64
|
-
componentDidMount() {
|
|
65
|
-
const { hoverControl, focusControl } = this.props;
|
|
66
|
-
const vv = isBrowser ? window.visualViewport : null;
|
|
67
|
-
if (vv) {
|
|
68
|
-
vv.addEventListener('resize', this.onBoundaryGeometryChange);
|
|
69
|
-
vv.addEventListener('scroll', this.onBoundaryGeometryChange);
|
|
70
|
-
}
|
|
71
|
-
const parentPopupContent = this.triggerElem.current.closest(`.${S.content}`);
|
|
72
|
-
document.addEventListener('pointerdown', this.onDocPointerDown, true);
|
|
73
|
-
document.addEventListener('pointerup', this.onDocPointerUp, true);
|
|
74
|
-
if (parentPopupContent) {
|
|
75
|
-
const rootPopupId = getPopupId(parentPopupContent, 'data-root-popup-id') ||
|
|
76
|
-
getPopupId(parentPopupContent, 'data-popup-id');
|
|
77
|
-
this.setState({ rootPopupId });
|
|
78
|
-
}
|
|
79
|
-
if (focusControl) {
|
|
80
|
-
document.addEventListener('keydown', this.onDocKeyDown, true);
|
|
81
|
-
document.addEventListener('keyup', this.onDocKeyUp);
|
|
82
|
-
}
|
|
83
|
-
if (hoverControl)
|
|
84
|
-
this.subscribeHoverControl();
|
|
85
|
-
this.subscribeScroll();
|
|
86
|
-
if (this.state.isOpen &&
|
|
87
|
-
this.state.isContentVisible &&
|
|
88
|
-
this.containerElem) {
|
|
89
|
-
this.scheduleComputeShift();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
onBoundaryGeometryChange = throttle(() => {
|
|
93
|
-
if (this.state.isOpen)
|
|
94
|
-
this.scheduleComputeShift();
|
|
95
|
-
}, 100);
|
|
96
|
-
componentDidUpdate(prevProps, prevState) {
|
|
97
|
-
const { isOpen, disabled, hoverControl } = this.props;
|
|
98
|
-
if (disabled !== prevProps.disabled) {
|
|
99
|
-
this.setState({ isOpen: false }); // close when receive disabled=true
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
if (!prevProps.hoverControl && hoverControl)
|
|
103
|
-
this.subscribeHoverControl();
|
|
104
|
-
if (prevProps.hoverControl && !hoverControl)
|
|
105
|
-
this.unsubscribeHoverControl();
|
|
106
|
-
if (typeof isOpen === 'boolean' && isOpen !== prevProps.isOpen) {
|
|
107
|
-
isOpen ? this.open() : this.close();
|
|
108
|
-
}
|
|
109
|
-
const justOpened = !prevState.isOpen &&
|
|
110
|
-
this.state.isOpen &&
|
|
111
|
-
this.state.isContentVisible &&
|
|
112
|
-
Boolean(this.containerElem);
|
|
113
|
-
const triggerBoundsCommitted = this.state.isOpen &&
|
|
114
|
-
this.state.isContentVisible &&
|
|
115
|
-
Boolean(this.containerElem) &&
|
|
116
|
-
prevState.triggerBounds === null &&
|
|
117
|
-
this.state.triggerBounds !== null;
|
|
118
|
-
if (justOpened || triggerBoundsCommitted) {
|
|
119
|
-
this.scheduleComputeShift();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
componentWillUnmount() {
|
|
123
|
-
this.timers.clear();
|
|
124
|
-
cancelAnimationFrame(this.shiftOuterRafId);
|
|
125
|
-
cancelAnimationFrame(this.shiftInnerRafId);
|
|
126
|
-
const vv = isBrowser ? window.visualViewport : null;
|
|
127
|
-
if (vv) {
|
|
128
|
-
vv.removeEventListener('resize', this.onBoundaryGeometryChange);
|
|
129
|
-
vv.removeEventListener('scroll', this.onBoundaryGeometryChange);
|
|
130
|
-
}
|
|
131
|
-
document.removeEventListener('keyup', this.onDocKeyUp);
|
|
132
|
-
if (this.scrollParent) {
|
|
133
|
-
this.scrollParent.removeEventListener('scroll', this.close);
|
|
134
|
-
}
|
|
135
|
-
this.unsubscribeHoverControl();
|
|
136
|
-
this.unsubscribeSizeChange();
|
|
137
|
-
this.unsubscribeScroll();
|
|
138
|
-
}
|
|
139
|
-
subscribeSizeChange() {
|
|
140
|
-
if (this.subscribedSizeChange)
|
|
141
|
-
return;
|
|
142
|
-
this.subscribedSizeChange = true;
|
|
143
|
-
observe(this.triggerElem.current, this.onTriggerResize);
|
|
144
|
-
observe(this.containerElem, this.onContainerResize);
|
|
145
|
-
}
|
|
146
|
-
subscribeScroll() {
|
|
147
|
-
if (isBrowser && !this.props.inline) {
|
|
148
|
-
document.addEventListener('scroll', this.onScroll, true);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
unsubscribeScroll() {
|
|
152
|
-
document.removeEventListener('scroll', this.onScroll, true);
|
|
153
|
-
}
|
|
154
|
-
unsubscribeSizeChange() {
|
|
155
|
-
this.subscribedSizeChange = false;
|
|
156
|
-
unobserve(this.triggerElem.current);
|
|
157
|
-
unobserve(this.containerElem);
|
|
158
|
-
}
|
|
159
|
-
subscribeHoverControl() {
|
|
160
|
-
if (this.subscribedHoverControl)
|
|
161
|
-
return;
|
|
162
|
-
this.subscribedHoverControl = true;
|
|
163
|
-
document.addEventListener('pointermove', this.checkHover);
|
|
164
|
-
document.addEventListener('pointerup', this.checkHover);
|
|
165
|
-
}
|
|
166
|
-
unsubscribeHoverControl() {
|
|
167
|
-
if (!this.subscribedHoverControl)
|
|
168
|
-
return;
|
|
169
|
-
this.subscribedHoverControl = false;
|
|
170
|
-
document.removeEventListener('pointermove', this.checkHover);
|
|
171
|
-
document.removeEventListener('pointerup', this.checkHover);
|
|
172
|
-
}
|
|
173
|
-
updateBounds() {
|
|
174
|
-
if (!this.containerElem)
|
|
175
|
-
return;
|
|
176
|
-
if (!this.triggerElem.current)
|
|
177
|
-
return;
|
|
178
|
-
this.updateBoundsThrottled();
|
|
179
|
-
}
|
|
180
|
-
updateBoundsThrottled = throttle(() => {
|
|
181
|
-
const trigger = this.triggerElem.current;
|
|
182
|
-
const offset = this.props.offset || {};
|
|
183
|
-
const n = (num) => num || 0;
|
|
184
|
-
const bounds = {
|
|
185
|
-
minHeight: trigger.offsetHeight - n(offset.top) - n(offset.bottom),
|
|
186
|
-
minWidth: trigger.offsetWidth - n(offset.left) - n(offset.right),
|
|
187
|
-
...getCoords(trigger, this.props.direction, this.props.offset),
|
|
188
|
-
};
|
|
189
|
-
Object.entries(bounds).forEach(([key, value]) => {
|
|
190
|
-
this.triggerElem.current.style[key] = value;
|
|
191
|
-
});
|
|
192
|
-
this.setState({ triggerBounds: bounds });
|
|
193
|
-
this.scheduleComputeShift();
|
|
194
|
-
}, 200, { trailing: true });
|
|
195
|
-
scheduleComputeShift() {
|
|
196
|
-
if (!isBrowser)
|
|
197
|
-
return;
|
|
198
|
-
cancelAnimationFrame(this.shiftOuterRafId);
|
|
199
|
-
cancelAnimationFrame(this.shiftInnerRafId);
|
|
200
|
-
this.shiftOuterRafId = window.requestAnimationFrame(() => {
|
|
201
|
-
this.shiftOuterRafId = 0;
|
|
202
|
-
this.shiftInnerRafId = window.requestAnimationFrame(() => {
|
|
203
|
-
this.shiftInnerRafId = 0;
|
|
204
|
-
this.computeBoundaryShift();
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
computeBoundaryShift = () => {
|
|
209
|
-
if (!this.containerElem ||
|
|
210
|
-
!this.state.isOpen ||
|
|
211
|
-
!this.state.isContentVisible) {
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
214
|
-
const el = this.containerElem;
|
|
215
|
-
const wrapper = el.parentElement;
|
|
216
|
-
if (!(wrapper instanceof HTMLElement)) {
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
const { boundary, boundaryMountSelector, inline, shiftPadding, offset } = this.props;
|
|
220
|
-
const bounds = popupBoundaryEdges({
|
|
221
|
-
boundary,
|
|
222
|
-
boundaryMountSelector: boundaryMountSelector ?? `#${config.appOverlayId}`,
|
|
223
|
-
inline,
|
|
224
|
-
padding: popupBoundaryPadding(OFFSET_GAP + (shiftPadding ?? 0), offset),
|
|
225
|
-
});
|
|
226
|
-
const availWidth = edgesWidth(bounds);
|
|
227
|
-
const fitWidth = availWidth >= BOUNDARY_FIT_EPSILON ? Math.floor(availWidth) : null;
|
|
228
|
-
const measured = this.measureBoundaryRect(el, wrapper, fitWidth, bounds);
|
|
229
|
-
this.setBoundaryFit(fitRectToBoundary(measured.rect, bounds, measured.maxWidth));
|
|
230
|
-
};
|
|
231
|
-
measureBoundaryRect(el, wrapper, fitWidth, bounds) {
|
|
232
|
-
const transform = wrapper.style.transform;
|
|
233
|
-
const maxWidth = el.style.maxWidth;
|
|
234
|
-
const overflowX = el.style.overflowX;
|
|
235
|
-
const overflowY = el.style.overflowY;
|
|
236
|
-
wrapper.style.transform = '';
|
|
237
|
-
el.style.maxWidth = '';
|
|
238
|
-
el.style.overflowX = '';
|
|
239
|
-
el.style.overflowY = '';
|
|
240
|
-
void wrapper.offsetHeight;
|
|
241
|
-
let rect = el.getBoundingClientRect();
|
|
242
|
-
const shouldClamp = fitWidth !== null &&
|
|
243
|
-
rect.width > edgesWidth(bounds) + BOUNDARY_FIT_EPSILON;
|
|
244
|
-
if (shouldClamp) {
|
|
245
|
-
el.style.maxWidth = `${fitWidth}px`;
|
|
246
|
-
el.style.overflowX = 'auto';
|
|
247
|
-
el.style.overflowY = 'hidden';
|
|
248
|
-
void el.offsetHeight;
|
|
249
|
-
rect = el.getBoundingClientRect();
|
|
250
|
-
}
|
|
251
|
-
wrapper.style.transform = transform;
|
|
252
|
-
el.style.maxWidth = maxWidth;
|
|
253
|
-
el.style.overflowX = overflowX;
|
|
254
|
-
el.style.overflowY = overflowY;
|
|
255
|
-
return { rect, maxWidth: shouldClamp ? fitWidth : null };
|
|
256
|
-
}
|
|
257
|
-
setBoundaryFit(boundaryFit) {
|
|
258
|
-
const prev = this.state.boundaryFit;
|
|
259
|
-
if (prev.left !== boundaryFit.left ||
|
|
260
|
-
prev.top !== boundaryFit.top ||
|
|
261
|
-
prev.maxWidth !== boundaryFit.maxWidth) {
|
|
262
|
-
this.setState({ boundaryFit });
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
checkHover = debounce((e) => {
|
|
266
|
-
if (this.isPointerPressedInside)
|
|
267
|
-
return;
|
|
268
|
-
const { isOpen, rootPopupId } = this.state;
|
|
269
|
-
const overTrigger = this.isPointerOver(e.target, S.trigger);
|
|
270
|
-
const overContent = this.isPointerOver(e.target, S.content);
|
|
271
|
-
if (!isOpen) {
|
|
272
|
-
if (overTrigger)
|
|
273
|
-
this.open();
|
|
274
|
-
return;
|
|
275
|
-
}
|
|
276
|
-
// isOpen
|
|
277
|
-
if (overTrigger || overContent)
|
|
278
|
-
return;
|
|
279
|
-
if (typeof rootPopupId === 'number') {
|
|
280
|
-
if (isLastChild(rootPopupId, this.id)) {
|
|
281
|
-
this.close();
|
|
282
|
-
unsetChild(rootPopupId, this.id);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
const isOverAnyPopupContent = e.target.closest(`.${S.content}`);
|
|
287
|
-
if (!isOverAnyPopupContent || !childs[this.id]?.length) {
|
|
288
|
-
this.close();
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
}, 100);
|
|
292
|
-
isControllable = () => typeof this.props.isOpen === 'boolean';
|
|
293
|
-
isLastClickInside = () => this.pointerDownTarget &&
|
|
294
|
-
(this.pointerDownTarget.closest(`.${S.trigger}`) ||
|
|
295
|
-
this.pointerDownTarget.closest(`.${S.content}`));
|
|
296
|
-
onDocPointerDown = (e) => {
|
|
297
|
-
this.pointerDownTarget = e.target;
|
|
298
|
-
this.isPointerPressedInside = this.isLastClickInside();
|
|
299
|
-
this.timers.after(100, () => (this.pointerDownTarget = null));
|
|
300
|
-
};
|
|
301
|
-
onDocPointerUp = (e) => {
|
|
302
|
-
if (!this.isPointerPressedInside)
|
|
303
|
-
this.close();
|
|
304
|
-
this.isPointerPressedInside = false;
|
|
305
|
-
};
|
|
306
|
-
isPointerOver(target, elem) {
|
|
307
|
-
return target.closest(`.${elem}[data-popup-id="${this.id}"]`);
|
|
308
|
-
}
|
|
309
|
-
onScroll = throttle(e => {
|
|
310
|
-
if (!this.state.isOpen) {
|
|
311
|
-
const { top, left, maxWidth } = this.state.boundaryFit;
|
|
312
|
-
if (left || top || maxWidth !== null) {
|
|
313
|
-
this.setState({ boundaryFit: ZERO_BOUNDARY_FIT });
|
|
314
|
-
}
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
317
|
-
// if scrolling outside this popup - close it
|
|
318
|
-
if (!this.isPointerOver(e.target, S.content) &&
|
|
319
|
-
!childs[this.id]?.length) {
|
|
320
|
-
this.close();
|
|
321
|
-
}
|
|
322
|
-
}, 200);
|
|
323
|
-
onDocKeyDown = (e) => {
|
|
324
|
-
this.pointerDownTarget = null;
|
|
325
|
-
};
|
|
326
|
-
onDocKeyUp = (e) => {
|
|
327
|
-
if (this.state.isOpen && e.key === 'Escape') {
|
|
328
|
-
e.stopPropagation();
|
|
329
|
-
this.close();
|
|
330
|
-
return;
|
|
331
|
-
}
|
|
332
|
-
if (this.focused && /Enter| /.test(e.key)) {
|
|
333
|
-
e.stopPropagation();
|
|
334
|
-
this.toggle();
|
|
335
|
-
}
|
|
336
|
-
};
|
|
337
|
-
onTriggerPointerDown = e => {
|
|
338
|
-
this.pointerDownTarget = e.target;
|
|
339
|
-
this.pointerPressed = true;
|
|
340
|
-
};
|
|
341
|
-
onTriggerPointerUp = e => {
|
|
342
|
-
this.pointerPressed = false;
|
|
343
|
-
if (e.traget === this.pointerDownTarget)
|
|
344
|
-
this.toggle();
|
|
345
|
-
};
|
|
346
|
-
onFocus = e => {
|
|
347
|
-
this.focused = true;
|
|
348
|
-
this.props.triggerProps?.onFocus?.(e);
|
|
349
|
-
if (!this.pointerPressed && !this.state.isOpen)
|
|
350
|
-
this.open();
|
|
351
|
-
};
|
|
352
|
-
onBlur = e => {
|
|
353
|
-
this.focused = false;
|
|
354
|
-
this.props.triggerProps?.onBlur?.(e);
|
|
355
|
-
if (this.isControllable() && this.props.isOpen)
|
|
356
|
-
return;
|
|
357
|
-
// give time to fire clicks inside popup
|
|
358
|
-
this.timers.after(60, () => {
|
|
359
|
-
if (!this.isLastClickInside())
|
|
360
|
-
this.close();
|
|
361
|
-
});
|
|
362
|
-
};
|
|
363
|
-
onTriggerResize = () => {
|
|
364
|
-
this.updateBounds();
|
|
365
|
-
};
|
|
366
|
-
onContainerResize = () => {
|
|
367
|
-
this.updateBounds();
|
|
368
|
-
};
|
|
369
|
-
open = throttle(() => {
|
|
370
|
-
const { rootPopupId } = this.state;
|
|
371
|
-
if (this.state.isOpen)
|
|
372
|
-
return;
|
|
373
|
-
this.updateBounds();
|
|
374
|
-
this.subscribeSizeChange();
|
|
375
|
-
this.subscribeScroll();
|
|
376
|
-
this.setState({
|
|
377
|
-
isContentVisible: true,
|
|
378
|
-
boundaryFit: ZERO_BOUNDARY_FIT,
|
|
379
|
-
});
|
|
380
|
-
this.changeState(true, this.afterOpen);
|
|
381
|
-
if (rootPopupId)
|
|
382
|
-
setChild(rootPopupId, this.id);
|
|
383
|
-
}, 100);
|
|
384
|
-
close = () => {
|
|
385
|
-
if (!this.state.isOpen)
|
|
386
|
-
return;
|
|
387
|
-
this.unsubscribeSizeChange();
|
|
388
|
-
this.changeState(false, this.afterClose);
|
|
389
|
-
};
|
|
390
|
-
changeState(isOpen, callback) {
|
|
391
|
-
const { animated, onOpen, onClose } = this.props;
|
|
392
|
-
this.timers.clear();
|
|
393
|
-
this.setState({ isOpen });
|
|
394
|
-
isOpen ? onOpen?.() : onClose?.();
|
|
395
|
-
if (animated) {
|
|
396
|
-
this.setState({ animating: true });
|
|
397
|
-
this.timers.after(ANIMATION_DURATION + 500, () => {
|
|
398
|
-
this.setState({ animating: false });
|
|
399
|
-
callback();
|
|
400
|
-
});
|
|
401
|
-
}
|
|
402
|
-
else {
|
|
403
|
-
callback();
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
afterOpen = () => {
|
|
407
|
-
this.props.onAfterOpen?.();
|
|
408
|
-
};
|
|
409
|
-
afterClose = () => {
|
|
410
|
-
this.setState({
|
|
411
|
-
isContentVisible: false,
|
|
412
|
-
boundaryFit: ZERO_BOUNDARY_FIT,
|
|
413
|
-
});
|
|
414
|
-
this.props.onAfterClose?.();
|
|
415
|
-
};
|
|
416
|
-
toggle = throttle(() => {
|
|
417
|
-
this.state.isOpen ? this.close() : this.open();
|
|
418
|
-
}, 100);
|
|
419
|
-
renderTrigger() {
|
|
420
|
-
const { trigger, content, disabled, focusControl, hoverControl, ...rest } = this.props;
|
|
421
|
-
const triggerProps = { ...rest.triggerProps };
|
|
422
|
-
const { isOpen } = this.state;
|
|
423
|
-
if (!trigger)
|
|
424
|
-
return null;
|
|
425
|
-
const disableTrigger = disabled || !trigger;
|
|
426
|
-
const classesTrigger = cn(S.trigger, isOpen && S.isOpen, disableTrigger && S.disabled, triggerProps.className);
|
|
427
|
-
if (!disableTrigger) {
|
|
428
|
-
triggerProps.role = 'button';
|
|
429
|
-
if (hoverControl) {
|
|
430
|
-
Object.assign(triggerProps, {
|
|
431
|
-
onPointerDown: this.onTriggerPointerDown,
|
|
432
|
-
onPointerUp: this.onTriggerPointerUp,
|
|
433
|
-
});
|
|
434
|
-
}
|
|
435
|
-
if (focusControl) {
|
|
436
|
-
Object.assign(triggerProps, {
|
|
437
|
-
onFocus: this.onFocus,
|
|
438
|
-
onBlur: this.onBlur,
|
|
439
|
-
});
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
return (jsx("div", { className: classesTrigger, ...triggerProps, suppressHydrationWarning: true, "data-popup-id": this.id, ref: this.triggerElem, children: trigger }));
|
|
443
|
-
}
|
|
444
|
-
renderContent() {
|
|
445
|
-
const { content, contentProps = {}, wrapperProps = {}, size, disabled, inline, outlined, animated, paranja, blur, round, elevation, } = this.props;
|
|
446
|
-
const { isOpen, isContentVisible, animating, direction, triggerBounds, rootPopupId, boundaryFit, } = this.state;
|
|
447
|
-
if (disabled)
|
|
448
|
-
return null;
|
|
449
|
-
const wrapperClasses = cn(S.contentWrapper, inline && S.inline, isOpen && S.isOpen, animating && S.animating, wrapperProps.className);
|
|
450
|
-
const trigger = this.triggerElem.current;
|
|
451
|
-
const [axis, float] = direction.split('-');
|
|
452
|
-
const classes = cn(S.content, outlined && S.outlined, animated && animating && S.animating, elevation && S[`elevation-${elevation}`], S[`size-${size}`], S[`axis-${axis}`], S[`float-${float || 'middle'}`], blur && S.blur, round && S.round, contentProps.className);
|
|
453
|
-
if (trigger && !inline && triggerBounds) {
|
|
454
|
-
const shiftTf = boundaryFit.left !== 0 || boundaryFit.top !== 0
|
|
455
|
-
? `translate3d(${boundaryFit.left}px, ${boundaryFit.top}px, 0)`
|
|
456
|
-
: undefined;
|
|
457
|
-
wrapperProps.style = {
|
|
458
|
-
...triggerBounds,
|
|
459
|
-
...wrapperProps.style,
|
|
460
|
-
...(shiftTf ? { transform: shiftTf } : {}),
|
|
461
|
-
};
|
|
462
|
-
}
|
|
463
|
-
const contentNode = (jsx("div", { ...wrapperProps, className: wrapperClasses, children: jsxs("div", { ...contentProps, ref: this.onContainerElemRef, className: classes, suppressHydrationWarning: true, "data-popup-id": this.id, "data-root-popup-id": rootPopupId, style: {
|
|
464
|
-
...(contentProps.style ?? {}),
|
|
465
|
-
...(boundaryFit.maxWidth !== null && boundaryFit.maxWidth > 0
|
|
466
|
-
? {
|
|
467
|
-
maxWidth: boundaryFit.maxWidth,
|
|
468
|
-
overflowX: 'auto',
|
|
469
|
-
overflowY: 'hidden',
|
|
470
|
-
}
|
|
471
|
-
: {}),
|
|
472
|
-
}, children: [paranja && !rootPopupId && (jsx(Paranja, { visible: isContentVisible, blur: blur })), isContentVisible && jsx(Fragment, { children: content })] }) }));
|
|
473
|
-
if (inline)
|
|
474
|
-
return contentNode;
|
|
475
|
-
return jsx(Portal, { children: contentNode });
|
|
476
|
-
}
|
|
477
|
-
render() {
|
|
478
|
-
const { className } = this.props;
|
|
479
|
-
const classes = cn(S.root, className);
|
|
480
|
-
return (jsxs("div", { className: classes, ref: this.rootElem, children: [this.renderTrigger(), this.renderContent()] }));
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
export { ANIMATION_DURATION, Popup };
|
|
1
|
+
import{jsx,jsxs,Fragment}from"react/jsx-runtime";import{ZERO_BOUNDARY_FIT,getId,getPopupId,popupBoundaryEdges,popupBoundaryPadding,edgesWidth,fitRectToBoundary,isLastChild,unsetChild,childs,setChild}from"./Popup.helpers.js";import{observe,unobserve}from"../../tools/resizeObserver.js";import{Component,createRef}from"react";import{Paranja}from"../Paranja/Paranja.js";import{Portal}from"../Portal/Portal.js";import{config}from"../../tools/config.js";import S from"./Popup.styl.js";import Time from"timen";import cn from"classnames";import debounce from"../../tools/debounce.js";import{getCoords}from"../../tools/dom.js";import{isBrowser}from"../../tools/env.js";import throttle from"../../tools/throttle.js";const ANIMATION_DURATION=100,OFFSET_GAP=10,BOUNDARY_FIT_EPSILON=1;class Popup extends Component{rootElem=createRef();triggerElem=createRef();containerElem=null;onContainerElemRef=t=>{(this.containerElem=t)&&(this.unsubscribeSizeChange(),this.subscribeSizeChange(),this.state.isOpen)&&this.updateBounds()};focused=!1;pointerPressed=!1;subscribedHoverControl=!1;subscribedSizeChange=!1;pointerDownTarget=null;isPointerPressedInside=!1;id;parentPopupContent;timers=Time.create();scrollParent;shiftOuterRafId=0;shiftInnerRafId=0;static defaultProps={size:"m",direction:"",animated:!0};state={rootPopupId:null,isOpen:Boolean(this.props.isOpen),isContentVisible:Boolean(this.props.isOpen),animating:!1,direction:this.props.direction,triggerBounds:null,boundaryFit:ZERO_BOUNDARY_FIT};constructor(t){super(t),this.id=getId()}componentDidMount(){var{hoverControl:t,focusControl:e}=this.props,s=isBrowser?window.visualViewport:null,s=(s&&(s.addEventListener("resize",this.onBoundaryGeometryChange),s.addEventListener("scroll",this.onBoundaryGeometryChange)),this.triggerElem.current.closest("."+S.content));document.addEventListener("pointerdown",this.onDocPointerDown,!0),document.addEventListener("pointerup",this.onDocPointerUp,!0),s&&(s=getPopupId(s,"data-root-popup-id")||getPopupId(s,"data-popup-id"),this.setState({rootPopupId:s})),e&&(document.addEventListener("keydown",this.onDocKeyDown,!0),document.addEventListener("keyup",this.onDocKeyUp)),t&&this.subscribeHoverControl(),this.subscribeScroll(),this.state.isOpen&&this.state.isContentVisible&&this.containerElem&&this.scheduleComputeShift()}onBoundaryGeometryChange=throttle(()=>{this.state.isOpen&&this.scheduleComputeShift()},100);componentDidUpdate(t,e){var{isOpen:s,disabled:i,hoverControl:o}=this.props;i!==t.disabled?this.setState({isOpen:!1}):(!t.hoverControl&&o&&this.subscribeHoverControl(),t.hoverControl&&!o&&this.unsubscribeHoverControl(),"boolean"==typeof s&&s!==t.isOpen&&(s?this.open():this.close()),i=!e.isOpen&&this.state.isOpen&&this.state.isContentVisible&&Boolean(this.containerElem),o=this.state.isOpen&&this.state.isContentVisible&&Boolean(this.containerElem)&&null===e.triggerBounds&&null!==this.state.triggerBounds,(i||o)&&this.scheduleComputeShift())}componentWillUnmount(){this.timers.clear(),cancelAnimationFrame(this.shiftOuterRafId),cancelAnimationFrame(this.shiftInnerRafId);var t=isBrowser?window.visualViewport:null;t&&(t.removeEventListener("resize",this.onBoundaryGeometryChange),t.removeEventListener("scroll",this.onBoundaryGeometryChange)),document.removeEventListener("keyup",this.onDocKeyUp),this.scrollParent&&this.scrollParent.removeEventListener("scroll",this.close),this.unsubscribeHoverControl(),this.unsubscribeSizeChange(),this.unsubscribeScroll()}subscribeSizeChange(){this.subscribedSizeChange||(this.subscribedSizeChange=!0,observe(this.triggerElem.current,this.onTriggerResize),observe(this.containerElem,this.onContainerResize))}subscribeScroll(){isBrowser&&!this.props.inline&&document.addEventListener("scroll",this.onScroll,!0)}unsubscribeScroll(){document.removeEventListener("scroll",this.onScroll,!0)}unsubscribeSizeChange(){this.subscribedSizeChange=!1,unobserve(this.triggerElem.current),unobserve(this.containerElem)}subscribeHoverControl(){this.subscribedHoverControl||(this.subscribedHoverControl=!0,document.addEventListener("pointermove",this.checkHover),document.addEventListener("pointerup",this.checkHover))}unsubscribeHoverControl(){this.subscribedHoverControl&&(this.subscribedHoverControl=!1,document.removeEventListener("pointermove",this.checkHover),document.removeEventListener("pointerup",this.checkHover))}updateBounds(){this.containerElem&&this.triggerElem.current&&this.updateBoundsThrottled()}updateBoundsThrottled=throttle(()=>{var t=this.triggerElem.current,e=this.props.offset||{},s=t=>t||0,s={minHeight:t.offsetHeight-s(e.top)-s(e.bottom),minWidth:t.offsetWidth-s(e.left)-s(e.right),...getCoords(t,this.props.direction,this.props.offset)};Object.entries(s).forEach(([t,e])=>{this.triggerElem.current.style[t]=e}),this.setState({triggerBounds:s}),this.scheduleComputeShift()},200,{trailing:!0});scheduleComputeShift(){isBrowser&&(cancelAnimationFrame(this.shiftOuterRafId),cancelAnimationFrame(this.shiftInnerRafId),this.shiftOuterRafId=window.requestAnimationFrame(()=>{this.shiftOuterRafId=0,this.shiftInnerRafId=window.requestAnimationFrame(()=>{this.shiftInnerRafId=0,this.computeBoundaryShift()})}))}computeBoundaryShift=()=>{var t,e,s,i,o,r,n;this.containerElem&&this.state.isOpen&&this.state.isContentVisible&&(e=(t=this.containerElem).parentElement)instanceof HTMLElement&&({boundary:i,boundaryMountSelector:o,inline:r,shiftPadding:n,offset:s}=this.props,i=popupBoundaryEdges({boundary:i,boundaryMountSelector:o??"#"+config.appOverlayId,inline:r,padding:popupBoundaryPadding(OFFSET_GAP+(n??0),s)}),r=(o=edgesWidth(i))>=BOUNDARY_FIT_EPSILON?Math.floor(o):null,n=this.measureBoundaryRect(t,e,r,i),this.setBoundaryFit(fitRectToBoundary(n.rect,i,n.maxWidth)))};measureBoundaryRect(t,e,s,i){var o=e.style.transform,r=t.style.maxWidth,n=t.style.overflowX,a=t.style.overflowY;e.style.transform="",t.style.maxWidth="",t.style.overflowX="",t.style.overflowY="",e.offsetHeight;let h=t.getBoundingClientRect();i=null!==s&&h.width>edgesWidth(i)+BOUNDARY_FIT_EPSILON;return i&&(t.style.maxWidth=s+"px",t.style.overflowX="auto",t.style.overflowY="hidden",t.offsetHeight,h=t.getBoundingClientRect()),e.style.transform=o,t.style.maxWidth=r,t.style.overflowX=n,t.style.overflowY=a,{rect:h,maxWidth:i?s:null}}setBoundaryFit(t){var e=this.state.boundaryFit;e.left===t.left&&e.top===t.top&&e.maxWidth===t.maxWidth||this.setState({boundaryFit:t})}checkHover=debounce(t=>{var e,s,i,o;this.isPointerPressedInside||({isOpen:e,rootPopupId:s}=this.state,i=this.isPointerOver(t.target,S.trigger),o=this.isPointerOver(t.target,S.content),e?i||o||("number"==typeof s?isLastChild(s,this.id)&&(this.close(),unsetChild(s,this.id)):t.target.closest("."+S.content)&&childs[this.id]?.length||this.close()):i&&this.open())},100);isControllable=()=>"boolean"==typeof this.props.isOpen;isLastClickInside=()=>this.pointerDownTarget&&(this.pointerDownTarget.closest("."+S.trigger)||this.pointerDownTarget.closest("."+S.content));onDocPointerDown=t=>{this.pointerDownTarget=t.target,this.isPointerPressedInside=this.isLastClickInside(),this.timers.after(100,()=>this.pointerDownTarget=null)};onDocPointerUp=t=>{this.isPointerPressedInside||this.close(),this.isPointerPressedInside=!1};isPointerOver(t,e){return t.closest(`.${e}[data-popup-id="${this.id}"]`)}onScroll=throttle(t=>{var e,s;this.state.isOpen?this.isPointerOver(t.target,S.content)||childs[this.id]?.length||this.close():({top:t,left:e,maxWidth:s}=this.state.boundaryFit,(e||t||null!==s)&&this.setState({boundaryFit:ZERO_BOUNDARY_FIT}))},200);onDocKeyDown=t=>{this.pointerDownTarget=null};onDocKeyUp=t=>{this.state.isOpen&&"Escape"===t.key?(t.stopPropagation(),this.close()):this.focused&&/Enter| /.test(t.key)&&(t.stopPropagation(),this.toggle())};onTriggerPointerDown=t=>{this.pointerDownTarget=t.target,this.pointerPressed=!0};onTriggerPointerUp=t=>{this.pointerPressed=!1,t.traget===this.pointerDownTarget&&this.toggle()};onFocus=t=>{this.focused=!0,this.props.triggerProps?.onFocus?.(t),this.pointerPressed||this.state.isOpen||this.open()};onBlur=t=>{this.focused=!1,this.props.triggerProps?.onBlur?.(t),this.isControllable()&&this.props.isOpen||this.timers.after(60,()=>{this.isLastClickInside()||this.close()})};onTriggerResize=()=>{this.updateBounds()};onContainerResize=()=>{this.updateBounds()};open=throttle(()=>{var t=this.state["rootPopupId"];this.state.isOpen||(this.updateBounds(),this.subscribeSizeChange(),this.subscribeScroll(),this.setState({isContentVisible:!0,boundaryFit:ZERO_BOUNDARY_FIT}),this.changeState(!0,this.afterOpen),t&&setChild(t,this.id))},100);close=()=>{this.state.isOpen&&(this.unsubscribeSizeChange(),this.changeState(!1,this.afterClose))};changeState(t,e){var{animated:s,onOpen:i,onClose:o}=this.props;this.timers.clear(),this.setState({isOpen:t}),(t?i:o)?.(),s?(this.setState({animating:!0}),this.timers.after(ANIMATION_DURATION+500,()=>{this.setState({animating:!1}),e()})):e()}afterOpen=()=>{this.props.onAfterOpen?.()};afterClose=()=>{this.setState({isContentVisible:!1,boundaryFit:ZERO_BOUNDARY_FIT}),this.props.onAfterClose?.()};toggle=throttle(()=>{this.state.isOpen?this.close():this.open()},100);renderTrigger(){const{trigger:t,content:e,disabled:s,focusControl:i,hoverControl:o,...r}=this.props;var n,a={...r.triggerProps},h=this.state["isOpen"];return t?(n=cn(S.trigger,h&&S.isOpen,(h=s||!t)&&S.disabled,a.className),h||(a.role="button",o&&Object.assign(a,{onPointerDown:this.onTriggerPointerDown,onPointerUp:this.onTriggerPointerUp}),i&&Object.assign(a,{onFocus:this.onFocus,onBlur:this.onBlur})),jsx("div",{className:n,...a,suppressHydrationWarning:!0,"data-popup-id":this.id,ref:this.triggerElem,children:t})):null}renderContent(){var t,{content:e,contentProps:s={},wrapperProps:i={},size:o,disabled:r,inline:n,outlined:a,animated:h,paranja:l,blur:d,round:p,elevation:u}=this.props,{isOpen:c,isContentVisible:m,animating:g,direction:f,triggerBounds:b,rootPopupId:v,boundaryFit:C}=this.state;return r?null:(r=cn(S.contentWrapper,n&&S.inline,c&&S.isOpen,g&&S.animating,i.className),c=this.triggerElem.current,[f,t]=f.split("-"),a=cn(S.content,a&&S.outlined,h&&g&&S.animating,u&&S["elevation-"+u],S["size-"+o],S["axis-"+f],S["float-"+(t||"middle")],d&&S.blur,p&&S.round,s.className),c&&!n&&b&&(h=0!==C.left||0!==C.top?`translate3d(${C.left}px, ${C.top}px, 0)`:void 0,i.style={...b,...i.style,...h?{transform:h}:{}}),g=jsx("div",{...i,className:r,children:jsxs("div",{...s,ref:this.onContainerElemRef,className:a,suppressHydrationWarning:!0,"data-popup-id":this.id,"data-root-popup-id":v,style:{...s.style??{},...null!==C.maxWidth&&0<C.maxWidth?{maxWidth:C.maxWidth,overflowX:"auto",overflowY:"hidden"}:{}},children:[l&&!v&&jsx(Paranja,{visible:m,blur:d}),m&&jsx(Fragment,{children:e})]})}),n?g:jsx(Portal,{children:g}))}render(){var t=this.props["className"],t=cn(S.root,t);return jsxs("div",{className:t,ref:this.rootElem,children:[this.renderTrigger(),this.renderContent()]})}}export{ANIMATION_DURATION,Popup};
|
|
2
|
+
//# sourceMappingURL=Popup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popup.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import styleInject from
|
|
2
|
-
|
|
3
|
-
var css_248z = ".Popup_root__uQ-fP{display:inline-block;position:relative}.Popup_contentWrapper__2yi-2{opacity:0;pointer-events:none;position:absolute}.Popup_contentWrapper__2yi-2.Popup_animating__kR0qF{transition:opacity .1s ease-out}.Popup_contentWrapper__2yi-2.Popup_isOpen__BRIdP{opacity:1;pointer-events:all}.Popup_contentWrapper__2yi-2.Popup_inline__1-l1S.Popup_isOpen__BRIdP{position:relative}.Popup_contentWrapper__2yi-2:not(.Popup_inline__1-l1S),.Popup_contentWrapper__2yi-2:not(.Popup_inline__1-l1S)>.Popup_content__e8Qyu{position:absolute}.Popup_trigger__jQNaQ{cursor:pointer}.Popup_trigger__jQNaQ.Popup_isOpen__BRIdP{position:relative;z-index:11}.Popup_trigger__jQNaQ.Popup_disabled__DlE9y{opacity:.4;pointer-events:none}.Popup_content__e8Qyu{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--decent-color);box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50);box-sizing:border-box;max-width:min(min(560px,70vw),calc(100svw - 16px));min-width:100%;overflow:hidden;position:relative;transform-origin:top center;z-index:11}.Popup_content__e8Qyu:before{background-color:var(--accent-color-alpha-50);bottom:0;content:\"\";left:0;pointer-events:none;position:absolute;right:0;top:0}.Popup_content__e8Qyu.Popup_blur__1hfU8{-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);background-color:var(--decent-color-alpha-500)}.Popup_content__e8Qyu.Popup_size-xs__7QR-d{border-radius:4px}.Popup_content__e8Qyu.Popup_size-xs__7QR-d.Popup_round__7rD1m{border-radius:12px}.Popup_content__e8Qyu.Popup_size-s__UmixP{border-radius:4px}.Popup_content__e8Qyu.Popup_size-s__UmixP.Popup_round__7rD1m{border-radius:16px}.Popup_content__e8Qyu.Popup_size-m__FYpTL{border-radius:6px}.Popup_content__e8Qyu.Popup_size-m__FYpTL.Popup_round__7rD1m{border-radius:20px}.Popup_content__e8Qyu.Popup_size-l__BTS57{border-radius:8px}.Popup_content__e8Qyu.Popup_size-l__BTS57.Popup_round__7rD1m{border-radius:24px}.Popup_content__e8Qyu.Popup_size-xl__fSfCc{border-radius:10px}.Popup_content__e8Qyu.Popup_size-xl__fSfCc.Popup_round__7rD1m{border-radius:28px}.Popup_content__e8Qyu.Popup_elevation-1__vmP3e{box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50),0 0 var(--p-3) 2px var(--decent-color-alpha-500)}.Popup_content__e8Qyu.Popup_elevation-2__Ci4sI{box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50),0 0 var(--p-5) 2px var(--decent-color-alpha-500)}.Popup_content__e8Qyu.Popup_outlined__g3cJV:after{border-radius:inherit;bottom:0;content:\"\";left:0;pointer-events:none;position:absolute;right:0;top:0}.Popup_isOpen__BRIdP .Popup_content__e8Qyu{opacity:1;pointer-events:all;transform:scaleX(1)}.Popup_animating__kR0qF{transition:70ms ease-out;transition-property:transform,opacity,margin}.Popup_axis-top__BaLgG{bottom:100%}.Popup_axis-bottom__hZwwr{top:100%}.Popup_axis-right__LMYVy{left:100%}.Popup_axis-left__SFKm-{right:100%}.Popup_float-top__8SQAu{bottom:0}.Popup_float-right__mdm-3{left:0}.Popup_float-bottom__7flve{top:0}.Popup_float-left__tz7fX{right:0}.Popup_axis-bottom__hZwwr,.Popup_axis-top__BaLgG{transform:scaleY(.5)}.Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1,.Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{left:50%;transform:translateX(-50%) scaleY(.5)}.Popup_isOpen__BRIdP .Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1,.Popup_isOpen__BRIdP .Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{transform:translateX(-50%) scaleX(1)}.Popup_axis-left__SFKm-,.Popup_axis-right__LMYVy{transform:scaleX(.5)}.Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1,.Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{top:50%;transform:translateY(-50%) scaleX(.5)}.Popup_isOpen__BRIdP .Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1,.Popup_isOpen__BRIdP .Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{transform:translateY(-50%) scaleX(1)}.Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{transform-origin:bottom center}.Popup_axis-top__BaLgG.Popup_float-right__mdm-3{transform-origin:bottom left}.Popup_axis-top__BaLgG.Popup_float-left__tz7fX{transform-origin:bottom right}.Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1{transform-origin:top center}.Popup_axis-bottom__hZwwr.Popup_float-right__mdm-3{transform-origin:top left}.Popup_axis-bottom__hZwwr.Popup_float-left__tz7fX{transform-origin:top right}.Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{transform-origin:center left}.Popup_axis-right__LMYVy.Popup_float-top__8SQAu{transform-origin:bottom left}.Popup_axis-right__LMYVy.Popup_float-bottom__7flve{transform-origin:top left}.Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1{transform-origin:center right}.Popup_axis-left__SFKm-.Popup_float-top__8SQAu{transform-origin:bottom right}.Popup_axis-left__SFKm-.Popup_float-bottom__7flve{transform-origin:top right}";
|
|
4
|
-
var S = {"root":"Popup_root__uQ-fP","contentWrapper":"Popup_contentWrapper__2yi-2","animating":"Popup_animating__kR0qF","isOpen":"Popup_isOpen__BRIdP","inline":"Popup_inline__1-l1S","content":"Popup_content__e8Qyu","trigger":"Popup_trigger__jQNaQ","disabled":"Popup_disabled__DlE9y","blur":"Popup_blur__1hfU8","size-xs":"Popup_size-xs__7QR-d","round":"Popup_round__7rD1m","size-s":"Popup_size-s__UmixP","size-m":"Popup_size-m__FYpTL","size-l":"Popup_size-l__BTS57","size-xl":"Popup_size-xl__fSfCc","elevation-1":"Popup_elevation-1__vmP3e","elevation-2":"Popup_elevation-2__Ci4sI","outlined":"Popup_outlined__g3cJV","axis-top":"Popup_axis-top__BaLgG","axis-bottom":"Popup_axis-bottom__hZwwr","axis-right":"Popup_axis-right__LMYVy","axis-left":"Popup_axis-left__SFKm-","float-top":"Popup_float-top__8SQAu","float-right":"Popup_float-right__mdm-3","float-bottom":"Popup_float-bottom__7flve","float-left":"Popup_float-left__tz7fX","float-middle":"Popup_float-middle__Dmnn1"};
|
|
5
|
-
styleInject(css_248z);
|
|
6
|
-
|
|
7
|
-
export { S as default };
|
|
1
|
+
import styleInject from"../../../node_modules/style-inject/dist/style-inject.es.js";var css_248z='.Popup_root__uQ-fP{display:inline-block;position:relative}.Popup_contentWrapper__2yi-2{opacity:0;pointer-events:none;position:absolute}.Popup_contentWrapper__2yi-2.Popup_animating__kR0qF{transition:opacity .1s ease-out}.Popup_contentWrapper__2yi-2.Popup_isOpen__BRIdP{opacity:1;pointer-events:all}.Popup_contentWrapper__2yi-2.Popup_inline__1-l1S.Popup_isOpen__BRIdP{position:relative}.Popup_contentWrapper__2yi-2:not(.Popup_inline__1-l1S),.Popup_contentWrapper__2yi-2:not(.Popup_inline__1-l1S)>.Popup_content__e8Qyu{position:absolute}.Popup_trigger__jQNaQ{cursor:pointer}.Popup_trigger__jQNaQ.Popup_isOpen__BRIdP{position:relative;z-index:11}.Popup_trigger__jQNaQ.Popup_disabled__DlE9y{opacity:.4;pointer-events:none}.Popup_content__e8Qyu{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--decent-color);box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50);box-sizing:border-box;max-width:min(min(560px,70vw),calc(100svw - 16px));min-width:100%;overflow:hidden;position:relative;transform-origin:top center;z-index:11}.Popup_content__e8Qyu:before{background-color:var(--accent-color-alpha-50);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.Popup_content__e8Qyu.Popup_blur__1hfU8{-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);background-color:var(--decent-color-alpha-500)}.Popup_content__e8Qyu.Popup_size-xs__7QR-d{border-radius:4px}.Popup_content__e8Qyu.Popup_size-xs__7QR-d.Popup_round__7rD1m{border-radius:12px}.Popup_content__e8Qyu.Popup_size-s__UmixP{border-radius:4px}.Popup_content__e8Qyu.Popup_size-s__UmixP.Popup_round__7rD1m{border-radius:16px}.Popup_content__e8Qyu.Popup_size-m__FYpTL{border-radius:6px}.Popup_content__e8Qyu.Popup_size-m__FYpTL.Popup_round__7rD1m{border-radius:20px}.Popup_content__e8Qyu.Popup_size-l__BTS57{border-radius:8px}.Popup_content__e8Qyu.Popup_size-l__BTS57.Popup_round__7rD1m{border-radius:24px}.Popup_content__e8Qyu.Popup_size-xl__fSfCc{border-radius:10px}.Popup_content__e8Qyu.Popup_size-xl__fSfCc.Popup_round__7rD1m{border-radius:28px}.Popup_content__e8Qyu.Popup_elevation-1__vmP3e{box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50),0 0 var(--p-3) 2px var(--decent-color-alpha-500)}.Popup_content__e8Qyu.Popup_elevation-2__Ci4sI{box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50),0 0 var(--p-5) 2px var(--decent-color-alpha-500)}.Popup_content__e8Qyu.Popup_outlined__g3cJV:after{border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.Popup_isOpen__BRIdP .Popup_content__e8Qyu{opacity:1;pointer-events:all;transform:scaleX(1)}.Popup_animating__kR0qF{transition:70ms ease-out;transition-property:transform,opacity,margin}.Popup_axis-top__BaLgG{bottom:100%}.Popup_axis-bottom__hZwwr{top:100%}.Popup_axis-right__LMYVy{left:100%}.Popup_axis-left__SFKm-{right:100%}.Popup_float-top__8SQAu{bottom:0}.Popup_float-right__mdm-3{left:0}.Popup_float-bottom__7flve{top:0}.Popup_float-left__tz7fX{right:0}.Popup_axis-bottom__hZwwr,.Popup_axis-top__BaLgG{transform:scaleY(.5)}.Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1,.Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{left:50%;transform:translateX(-50%) scaleY(.5)}.Popup_isOpen__BRIdP .Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1,.Popup_isOpen__BRIdP .Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{transform:translateX(-50%) scaleX(1)}.Popup_axis-left__SFKm-,.Popup_axis-right__LMYVy{transform:scaleX(.5)}.Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1,.Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{top:50%;transform:translateY(-50%) scaleX(.5)}.Popup_isOpen__BRIdP .Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1,.Popup_isOpen__BRIdP .Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{transform:translateY(-50%) scaleX(1)}.Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{transform-origin:bottom center}.Popup_axis-top__BaLgG.Popup_float-right__mdm-3{transform-origin:bottom left}.Popup_axis-top__BaLgG.Popup_float-left__tz7fX{transform-origin:bottom right}.Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1{transform-origin:top center}.Popup_axis-bottom__hZwwr.Popup_float-right__mdm-3{transform-origin:top left}.Popup_axis-bottom__hZwwr.Popup_float-left__tz7fX{transform-origin:top right}.Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{transform-origin:center left}.Popup_axis-right__LMYVy.Popup_float-top__8SQAu{transform-origin:bottom left}.Popup_axis-right__LMYVy.Popup_float-bottom__7flve{transform-origin:top left}.Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1{transform-origin:center right}.Popup_axis-left__SFKm-.Popup_float-top__8SQAu{transform-origin:bottom right}.Popup_axis-left__SFKm-.Popup_float-bottom__7flve{transform-origin:top right}',S={root:"Popup_root__uQ-fP",contentWrapper:"Popup_contentWrapper__2yi-2",animating:"Popup_animating__kR0qF",isOpen:"Popup_isOpen__BRIdP",inline:"Popup_inline__1-l1S",content:"Popup_content__e8Qyu",trigger:"Popup_trigger__jQNaQ",disabled:"Popup_disabled__DlE9y",blur:"Popup_blur__1hfU8","size-xs":"Popup_size-xs__7QR-d",round:"Popup_round__7rD1m","size-s":"Popup_size-s__UmixP","size-m":"Popup_size-m__FYpTL","size-l":"Popup_size-l__BTS57","size-xl":"Popup_size-xl__fSfCc","elevation-1":"Popup_elevation-1__vmP3e","elevation-2":"Popup_elevation-2__Ci4sI",outlined:"Popup_outlined__g3cJV","axis-top":"Popup_axis-top__BaLgG","axis-bottom":"Popup_axis-bottom__hZwwr","axis-right":"Popup_axis-right__LMYVy","axis-left":"Popup_axis-left__SFKm-","float-top":"Popup_float-top__8SQAu","float-right":"Popup_float-right__mdm-3","float-bottom":"Popup_float-bottom__7flve","float-left":"Popup_float-left__tz7fX","float-middle":"Popup_float-middle__Dmnn1"};styleInject(css_248z);export{S as default};
|
|
2
|
+
//# sourceMappingURL=Popup.styl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popup.styl.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import cn from 'classnames';
|
|
4
|
-
import { Button } from '../Button/Button.js';
|
|
5
|
-
import { Popup } from '../Popup/Popup.js';
|
|
6
|
-
import S from './PopupMenu.styl.js';
|
|
7
|
-
|
|
8
|
-
function PopupMenu({ items, onClose, ...props }) {
|
|
9
|
-
if (items.length === 0)
|
|
10
|
-
return null;
|
|
11
|
-
const { size } = props;
|
|
12
|
-
return (jsx(Popup, { ...props, content: jsx("div", { className: S.list, children: items.map(({ id, title, className, ...rest }) => (createElement(Button, { variant: "clear", size: size, ...rest, className: cn(S.item, className), key: id }, title))) }) }));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { PopupMenu };
|
|
1
|
+
import{jsx}from"react/jsx-runtime";import{createElement}from"react";import cn from"classnames";import{Button}from"../Button/Button.js";import{Popup}from"../Popup/Popup.js";import S from"./PopupMenu.styl.js";function PopupMenu({items:t,onClose:e,...o}){if(0===t.length)return null;const r=o["size"];return jsx(Popup,{...o,content:jsx("div",{className:S.list,children:t.map(({id:t,title:e,className:o,...n})=>createElement(Button,{variant:"clear",size:r,...n,className:cn(S.item,o),key:t},e))})})}export{PopupMenu};
|
|
2
|
+
//# sourceMappingURL=PopupMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopupMenu.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import styleInject from
|
|
2
|
-
|
|
3
|
-
var css_248z = ".PopupMenu_list__G7xP3{align-items:stretch;border-radius:inherit;display:flex;flex-direction:column;padding:2px}.PopupMenu_item__wxay-+.PopupMenu_item__wxay-{margin-top:2px}.PopupMenu_item__wxay-:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.PopupMenu_item__wxay-:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}";
|
|
4
|
-
var S = {"list":"PopupMenu_list__G7xP3","item":"PopupMenu_item__wxay-"};
|
|
5
|
-
styleInject(css_248z);
|
|
6
|
-
|
|
7
|
-
export { S as default };
|
|
1
|
+
import styleInject from"../../../node_modules/style-inject/dist/style-inject.es.js";var css_248z=".PopupMenu_list__G7xP3{align-items:stretch;border-radius:inherit;display:flex;flex-direction:column;padding:2px}.PopupMenu_item__wxay-+.PopupMenu_item__wxay-{margin-top:2px}.PopupMenu_item__wxay-:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.PopupMenu_item__wxay-:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}",S={list:"PopupMenu_list__G7xP3",item:"PopupMenu_item__wxay-"};styleInject(css_248z);export{S as default};
|
|
2
|
+
//# sourceMappingURL=PopupMenu.styl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopupMenu.styl.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,33 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { createPortal } from 'react-dom';
|
|
4
|
-
import { config } from '../../tools/config.js';
|
|
5
|
-
import { isBrowser } from '../../tools/env.js';
|
|
6
|
-
|
|
7
|
-
const DEFAULT_SELECTOR = `#${config.appOverlayId}`;
|
|
8
|
-
function Portal(props) {
|
|
9
|
-
const { selector = DEFAULT_SELECTOR, children } = props;
|
|
10
|
-
// Start with immediate rendering if we're in browser
|
|
11
|
-
const [isMounted, setMounted] = useState(isBrowser);
|
|
12
|
-
useLayoutEffect(() => {
|
|
13
|
-
// Ensure we're mounted on client side (handles SSR edge cases)
|
|
14
|
-
setMounted(true);
|
|
15
|
-
}, []);
|
|
16
|
-
// Cache target element to avoid DOM queries on every render
|
|
17
|
-
const targetElement = useMemo(() => {
|
|
18
|
-
if (!isMounted)
|
|
19
|
-
return null;
|
|
20
|
-
return document.querySelector(selector);
|
|
21
|
-
}, [selector, isMounted]);
|
|
22
|
-
// Don't render if not mounted (prevents SSR hydration mismatch)
|
|
23
|
-
if (!isMounted)
|
|
24
|
-
return null;
|
|
25
|
-
// Check if target element exists before rendering
|
|
26
|
-
if (!targetElement) {
|
|
27
|
-
console.warn(`Portal target element not found: ${selector}`);
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
return createPortal(jsx(Fragment, { children: children }), targetElement);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export { Portal };
|
|
1
|
+
import{jsx,Fragment}from"react/jsx-runtime";import{useState,useLayoutEffect,useMemo}from"react";import{createPortal}from"react-dom";import{config}from"../../tools/config.js";import{isBrowser}from"../../tools/env.js";const DEFAULT_SELECTOR="#"+config.appOverlayId;function Portal(e){const{selector:o=DEFAULT_SELECTOR,children:t}=e,[r,n]=useState(isBrowser);useLayoutEffect(()=>{n(!0)},[]);e=useMemo(()=>r?document.querySelector(o):null,[o,r]);return r?e?createPortal(jsx(Fragment,{children:t}),e):(console.warn("Portal target element not found: "+o),null):null}export{Portal};
|
|
2
|
+
//# sourceMappingURL=Portal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Portal.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Progress.helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { calculateProgress } from './Progress.helpers.js';
|
|
4
|
-
import S from './Progress.styl.js';
|
|
5
|
-
|
|
6
|
-
function Progress({ value, showPercentage, size = 'm', alignText = 'center', className, }) {
|
|
7
|
-
const progress = calculateProgress(value);
|
|
8
|
-
const classes = cn(S.root, S[`size-${size}`], S[`align-${alignText}`], value > 0 && S.animated, className);
|
|
9
|
-
return (jsxs("div", { className: classes, children: [jsx("div", { className: S.bar, style: { width: `${progress}%` } }), showPercentage && jsxs("div", { className: S.label, children: [Math.round(progress), "%"] })] }));
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { Progress };
|
|
1
|
+
import{jsxs,jsx}from"react/jsx-runtime";import cn from"classnames";import{calculateProgress}from"./Progress.helpers.js";import S from"./Progress.styl.js";function Progress({value:s,showPercentage:r,size:e="m",alignText:a="center",className:o}){var t=calculateProgress(s),e=cn(S.root,S["size-"+e],S["align-"+a],0<s&&S.animated,o);return jsxs("div",{className:e,children:[jsx("div",{className:S.bar,style:{width:t+"%"}}),r&&jsxs("div",{className:S.label,children:[Math.round(t),"%"]})]})}export{Progress};
|
|
2
|
+
//# sourceMappingURL=Progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Progress.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|