@homecode/ui 4.18.15 → 4.18.16
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 -83
- 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/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 -66
- 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/Checkbox/Checkbox.js +2 -48
- 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/Container/Container.js +2 -12
- 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 -31
- 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 -20
- 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/Draggable/Draggable.js +2 -136
- 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/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/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 -286
- 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 -180
- 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 -27
- 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/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/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/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/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/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/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/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/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/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/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 -20
- package/dist/esm/src/components/Icon/icons/gear.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/index.js +2 -46
- 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/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/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/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/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/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/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/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/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/undo.svg.js +2 -15
- package/dist/esm/src/components/Icon/icons/undo.svg.js.map +1 -0
- package/dist/esm/src/components/Input/Input.js +2 -343
- 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 -295
- 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/Lazy/Lazy.js +2 -65
- 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/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 -62
- 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 -31
- package/dist/esm/src/components/Popup/Popup.helpers.js.map +1 -0
- package/dist/esm/src/components/Popup/Popup.js +2 -397
- 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 -19
- package/dist/esm/src/components/Portal/Portal.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 -61
- 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 -4
- 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 -68
- 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 -55
- package/dist/esm/src/components/Router/store.js.map +1 -0
- package/dist/esm/src/components/Scroll/Scroll.js +2 -274
- 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 -585
- 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/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 -43
- 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 -50
- 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 -13
- package/dist/esm/src/components/Theme/Theme.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 -124
- 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 -21
- 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 -200
- 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/services/i18n.js +2 -68
- 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 -46
- 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 -20
- 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/Icon/Icon.d.ts +9 -3
- package/dist/esm/types/src/components/Icon/Icon.example.d.ts +0 -1
- package/package.json +1 -1
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const Redirect = (props) => {
|
|
5
|
-
useEffect(() => {
|
|
6
|
-
STORE.replaceState(props.to, { replace: true });
|
|
7
|
-
}, []);
|
|
8
|
-
return null;
|
|
9
|
-
};
|
|
10
|
-
Redirect.displayName = 'Redirect';
|
|
11
|
-
|
|
12
|
-
export { Redirect };
|
|
1
|
+
import{useEffect}from"react";import STORE from"./store.js";const Redirect=e=>(useEffect(()=>{STORE.replaceState(e.to,{replace:!0})},[]),null);Redirect.displayName="Redirect";export{Redirect};
|
|
2
|
+
//# sourceMappingURL=Redirect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Redirect.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Route.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,33 +1,2 @@
|
|
|
1
|
-
const replaceParamsInPath
|
|
2
|
-
|
|
3
|
-
return '';
|
|
4
|
-
return Object.keys(params).reduce((updatedPath, paramKey) => {
|
|
5
|
-
return updatedPath.replace(`:${paramKey}`, params[paramKey]);
|
|
6
|
-
}, path);
|
|
7
|
-
};
|
|
8
|
-
function parsePath(currPath, routePath, exact = false) {
|
|
9
|
-
const pathParts = currPath.split('/');
|
|
10
|
-
const routePathParts = routePath.split('/');
|
|
11
|
-
let matched = true;
|
|
12
|
-
if (exact && routePathParts.length !== pathParts.length) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
const params = {};
|
|
16
|
-
for (let i = 0; i < routePathParts.length; i++) {
|
|
17
|
-
const routeToken = routePathParts[i];
|
|
18
|
-
const currentPathToken = pathParts[i];
|
|
19
|
-
if (currentPathToken && routeToken.startsWith(':')) {
|
|
20
|
-
const paramName = routeToken.slice(1);
|
|
21
|
-
params[paramName] = currentPathToken;
|
|
22
|
-
}
|
|
23
|
-
else if (routeToken !== currentPathToken) {
|
|
24
|
-
matched = false;
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
if (!matched)
|
|
29
|
-
return null;
|
|
30
|
-
return params;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export { parsePath, replaceParamsInPath };
|
|
1
|
+
const replaceParamsInPath=(e,r)=>"/"===e?"":Object.keys(r).reduce((e,t)=>e.replace(":"+t,r[t]),e);function parsePath(e,t,r=!1){var a=e.split("/"),l=t.split("/");let n=!0;if(r&&l.length!==a.length)return null;var s={};for(let e=0;e<l.length;e++){var c=l[e],h=a[e];if(h&&c.startsWith(":"))s[c.slice(1)]=h;else if(c!==h){n=!1;break}}return n?s:null}export{parsePath,replaceParamsInPath};
|
|
2
|
+
//# sourceMappingURL=Router.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Router.helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,68 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { withStore } from 'justorm/react';
|
|
4
|
-
import STORE from './store.js';
|
|
5
|
-
import Context from './context.js';
|
|
6
|
-
import { parsePath, replaceParamsInPath } from './Router.helpers.js';
|
|
7
|
-
export { Route } from './Route.js';
|
|
8
|
-
export { Redirect } from './Redirect.js';
|
|
9
|
-
export { Link } from './Link/Link.js';
|
|
10
|
-
|
|
11
|
-
const Router = withStore({
|
|
12
|
-
router: ['path'],
|
|
13
|
-
})((props) => {
|
|
14
|
-
const { children, single, basePath = '', store: { router }, } = props;
|
|
15
|
-
const ctx = useContext(Context);
|
|
16
|
-
const fullPath = ctx.basePath + basePath;
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
const onPopState = () => {
|
|
19
|
-
STORE.go(window.location.pathname, { replace: true });
|
|
20
|
-
};
|
|
21
|
-
window.addEventListener('popstate', onPopState);
|
|
22
|
-
return () => window.removeEventListener('popstate', onPopState);
|
|
23
|
-
}, []);
|
|
24
|
-
const matchedRoutes = useMemo(() => {
|
|
25
|
-
const childs = [];
|
|
26
|
-
let noMatchRoute;
|
|
27
|
-
let isRouteMatched = false;
|
|
28
|
-
for (const child of React.Children.toArray(children)) {
|
|
29
|
-
if (!React.isValidElement(child)) {
|
|
30
|
-
childs.push(child);
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
// @ts-ignore
|
|
34
|
-
const isRouteComponent = child.type.displayName === 'Route';
|
|
35
|
-
const { path, exact, component: Component, ...rest } = child.props;
|
|
36
|
-
if (!path) {
|
|
37
|
-
if (isRouteComponent && Component) {
|
|
38
|
-
noMatchRoute = jsx(Component, { ...rest });
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
childs.push(child);
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
if (single && isRouteMatched) {
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
const tailPath = fullPath && path === '/' ? '' : path;
|
|
48
|
-
const routePath = fullPath + tailPath;
|
|
49
|
-
const params = parsePath(router.path, routePath, exact);
|
|
50
|
-
if (params) {
|
|
51
|
-
const routeBasePath = fullPath + replaceParamsInPath(path, params);
|
|
52
|
-
const matchedRoute = (jsx(Context.Provider, { value: { basePath: routeBasePath }, children: jsx(Component, { ...rest, pathParams: params }) }, path));
|
|
53
|
-
isRouteMatched = true;
|
|
54
|
-
childs.push(matchedRoute);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (childs.length === 0 && noMatchRoute) {
|
|
58
|
-
return noMatchRoute;
|
|
59
|
-
}
|
|
60
|
-
return childs;
|
|
61
|
-
}, [children, router.path, fullPath, single]);
|
|
62
|
-
return jsx(Fragment, { children: matchedRoutes });
|
|
63
|
-
});
|
|
64
|
-
Router.displayName = 'Router';
|
|
65
|
-
const RouterStore = STORE;
|
|
66
|
-
const RouterContext = Context;
|
|
67
|
-
|
|
68
|
-
export { Router, RouterContext, RouterStore };
|
|
1
|
+
import{jsx,Fragment}from"react/jsx-runtime";import{useContext,useEffect,useMemo}from"react";import{withStore}from"justorm/react";import STORE from"./store.js";import Context from"./context.js";import{parsePath,replaceParamsInPath}from"./Router.helpers.js";export{Route}from"./Route.js";export{Redirect}from"./Redirect.js";export{Link}from"./Link/Link.js";const Router=withStore({router:["path"]})(t=>{const{children:c,single:h,basePath:e="",store:{router:x}}=t;const R=useContext(Context).basePath+e;useEffect(()=>{const t=()=>{STORE.go(window.location.pathname,{replace:!0})};return window.addEventListener("popstate",t),()=>window.removeEventListener("popstate",t)},[]);t=useMemo(()=>{var t=[];let e,r=!1;for(const n of React.Children.toArray(c))if(React.isValidElement(n)){var o,a,s="Route"===n.type.displayName;const{path:p,exact:i,component:m,...u}=n.props;p?h&&r||(o=R&&"/"===p?"":p,o=R+o,(o=parsePath(x.path,o,i))&&(a=R+replaceParamsInPath(p,o),a=jsx(Context.Provider,{value:{basePath:a},children:jsx(m,{...u,pathParams:o})},p),r=!0,t.push(a))):s&&m?e=jsx(m,{...u}):t.push(n)}else t.push(n);return 0===t.length&&e?e:t},[c,x.path,R,h]);return jsx(Fragment,{children:t})}),RouterStore=(Router.displayName="Router",STORE),RouterContext=Context;export{Router,RouterContext,RouterStore};
|
|
2
|
+
//# sourceMappingURL=Router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Router.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,55 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { parseQueryParams } from '../../tools/queryParams.js';
|
|
4
|
-
import { isBrowser } from '../../tools/env.js';
|
|
5
|
-
import 'nanoid';
|
|
6
|
-
import '../../tools/dom.js';
|
|
7
|
-
import 'timen';
|
|
8
|
-
import 'compareq';
|
|
9
|
-
import 'lodash.pick';
|
|
10
|
-
|
|
11
|
-
const LISTENERS = [];
|
|
12
|
-
const STORE = createStore('router', {
|
|
13
|
-
path: isBrowser && location.pathname,
|
|
14
|
-
params: {},
|
|
15
|
-
query: parseQueryParams(),
|
|
16
|
-
queryString: isBrowser && location.search,
|
|
17
|
-
on(cb) {
|
|
18
|
-
addUniq(LISTENERS, cb);
|
|
19
|
-
},
|
|
20
|
-
un(cb) {
|
|
21
|
-
spliceWhere(LISTENERS, cb);
|
|
22
|
-
},
|
|
23
|
-
go(href, { replace } = {}) {
|
|
24
|
-
if (href === this.path)
|
|
25
|
-
return;
|
|
26
|
-
history[replace ? 'replaceState' : 'pushState']({}, '', href);
|
|
27
|
-
onRouteChange(href);
|
|
28
|
-
},
|
|
29
|
-
back() {
|
|
30
|
-
history.back();
|
|
31
|
-
onRouteChange();
|
|
32
|
-
},
|
|
33
|
-
replaceState(href, { quiet } = {}) {
|
|
34
|
-
history.replaceState({}, '', href);
|
|
35
|
-
if (!quiet)
|
|
36
|
-
onRouteChange(href);
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
function onRouteChange(href = window.location.pathname) {
|
|
40
|
-
STORE.queryString = location.search;
|
|
41
|
-
STORE.query = parseQueryParams();
|
|
42
|
-
STORE.path = href.replace(/\?.+/, '') || '/';
|
|
43
|
-
LISTENERS.forEach(cb => cb(STORE.path));
|
|
44
|
-
}
|
|
45
|
-
function updateRouteState() {
|
|
46
|
-
if (STORE.path !== window.location.pathname ||
|
|
47
|
-
STORE.queryString !== location.search)
|
|
48
|
-
onRouteChange();
|
|
49
|
-
}
|
|
50
|
-
if (isBrowser) {
|
|
51
|
-
window.addEventListener('popstate', updateRouteState);
|
|
52
|
-
window.addEventListener('pushstate', updateRouteState);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export { STORE as default };
|
|
1
|
+
import{createStore}from"justorm/react";import{addUniq,spliceWhere}from"../../tools/array.js";import{parseQueryParams}from"../../tools/queryParams.js";import{isBrowser}from"../../tools/env.js";import"nanoid";import"../../tools/dom.js";import"timen";import"compareq";import"lodash.pick";const LISTENERS=[],STORE=createStore("router",{path:isBrowser&&location.pathname,params:{},query:parseQueryParams(),queryString:isBrowser&&location.search,on(e){addUniq(LISTENERS,e)},un(e){spliceWhere(LISTENERS,e)},go(e,{replace:t}={}){e!==this.path&&(history[t?"replaceState":"pushState"]({},"",e),onRouteChange(e))},back(){history.back(),onRouteChange()},replaceState(e,{quiet:t}={}){history.replaceState({},"",e),t||onRouteChange(e)}});function onRouteChange(e=window.location.pathname){STORE.queryString=location.search,STORE.query=parseQueryParams(),STORE.path=e.replace(/\?.+/,"")||"/",LISTENERS.forEach(e=>e(STORE.path))}function updateRouteState(){STORE.path===window.location.pathname&&STORE.queryString===location.search||onRouteChange()}isBrowser&&(window.addEventListener("popstate",updateRouteState),window.addEventListener("pushstate",updateRouteState));export{STORE as default};
|
|
2
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,274 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import cn from 'classnames';
|
|
4
|
-
import { createStore } from 'justorm/react';
|
|
5
|
-
import omit from 'lodash.omit';
|
|
6
|
-
import Time from 'timen';
|
|
7
|
-
import { isTouch } from '../../tools/dom.js';
|
|
8
|
-
import { unobserve, observe } from '../../tools/resizeObserver.js';
|
|
9
|
-
import S from './Scroll.styl.js';
|
|
10
|
-
import debounce from '../../tools/debounce.js';
|
|
11
|
-
|
|
12
|
-
const getEventCoords = e => ({
|
|
13
|
-
x: e.clientX,
|
|
14
|
-
y: e.clientY,
|
|
15
|
-
});
|
|
16
|
-
const AXES = ['x', 'y'];
|
|
17
|
-
const BY_AXIS = {
|
|
18
|
-
x: {
|
|
19
|
-
scrollPos: 'scrollLeft',
|
|
20
|
-
scrollSize: 'scrollWidth',
|
|
21
|
-
size: 'width',
|
|
22
|
-
offsetSize: 'offsetWidth',
|
|
23
|
-
innerSize: 'clientWidth',
|
|
24
|
-
posField: 'left',
|
|
25
|
-
},
|
|
26
|
-
y: {
|
|
27
|
-
scrollPos: 'scrollTop',
|
|
28
|
-
scrollSize: 'scrollHeight',
|
|
29
|
-
size: 'height',
|
|
30
|
-
offsetSize: 'offsetHeight',
|
|
31
|
-
innerSize: 'clientHeight',
|
|
32
|
-
posField: 'top',
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
class Scroll extends Component {
|
|
36
|
-
innerElem;
|
|
37
|
-
onInnerRef = elem => {
|
|
38
|
-
if (this.innerElem) {
|
|
39
|
-
unobserve(this.innerElem, this.updateAll);
|
|
40
|
-
}
|
|
41
|
-
this.innerElem = elem;
|
|
42
|
-
this.props.onInnerRef?.(elem);
|
|
43
|
-
if (elem) {
|
|
44
|
-
this.updateAll();
|
|
45
|
-
observe(elem, this.updateAll);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
thumbELem = {
|
|
49
|
-
x: createRef(),
|
|
50
|
-
y: createRef(),
|
|
51
|
-
};
|
|
52
|
-
store;
|
|
53
|
-
isTouch;
|
|
54
|
-
timers = Time.create();
|
|
55
|
-
currAxis;
|
|
56
|
-
pos = { x: 0, y: 0 };
|
|
57
|
-
prevCoords = { x: 0, y: 0 };
|
|
58
|
-
prevScrolls = { x: 0, y: 0 };
|
|
59
|
-
prevBoundings = { x: 0, y: 0 };
|
|
60
|
-
unsubscribeScrollHeightObserver;
|
|
61
|
-
static defaultProps = { size: 'm' };
|
|
62
|
-
constructor(props) {
|
|
63
|
-
super(props);
|
|
64
|
-
this.isTouch = isTouch();
|
|
65
|
-
this.store = createStore(this, {
|
|
66
|
-
isScrolling: false,
|
|
67
|
-
activeAxis: null,
|
|
68
|
-
coeff: { x: 0, y: 0 },
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
componentDidMount() {
|
|
72
|
-
this.updateAll();
|
|
73
|
-
this.unsubscribeScrollHeightObserver = Time.every(100, this.observeScrollHeight);
|
|
74
|
-
document.addEventListener('scroll', this.onDocScroll);
|
|
75
|
-
}
|
|
76
|
-
componentWillUnmount() {
|
|
77
|
-
this.unsubscribeScrollHeightObserver?.();
|
|
78
|
-
this.unsubscribePointerMoveUp();
|
|
79
|
-
document.removeEventListener('scroll', this.onDocScroll);
|
|
80
|
-
}
|
|
81
|
-
eachAxis = fn => AXES.map(axis => this.props[axis] && fn(axis));
|
|
82
|
-
observeScrollHeight = () => {
|
|
83
|
-
this.eachAxis(axis => {
|
|
84
|
-
if ((this.props[axis] && this.isScrollChanged(axis)) ||
|
|
85
|
-
this.isBoudingsChanged(axis)) {
|
|
86
|
-
this.update(axis);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
};
|
|
90
|
-
isScrollChanged(axis) {
|
|
91
|
-
const currScrolls = this.getScrollSize(axis);
|
|
92
|
-
const isChanged = this.prevScrolls[axis] !== currScrolls[axis];
|
|
93
|
-
if (isChanged)
|
|
94
|
-
this.prevScrolls[axis] = currScrolls;
|
|
95
|
-
return isChanged;
|
|
96
|
-
}
|
|
97
|
-
isBoudingsChanged(axis) {
|
|
98
|
-
const curroffsetSize = this.getoffsetSize(axis);
|
|
99
|
-
const isChanged = this.prevBoundings[axis] !== curroffsetSize[axis];
|
|
100
|
-
if (isChanged)
|
|
101
|
-
this.prevBoundings[axis] = curroffsetSize[axis];
|
|
102
|
-
return isChanged;
|
|
103
|
-
}
|
|
104
|
-
getoffsetSize = axis => this.innerElem[BY_AXIS[axis].offsetSize];
|
|
105
|
-
getInnerSize = axis => this.innerElem[BY_AXIS[axis].innerSize];
|
|
106
|
-
getScrollSize = axis => this.innerElem[BY_AXIS[axis].scrollSize];
|
|
107
|
-
getScrollPos = axis => this.innerElem[BY_AXIS[axis].scrollPos];
|
|
108
|
-
getThumbSize = axis => this.thumbELem[axis].current[BY_AXIS[axis].offsetSize];
|
|
109
|
-
getOffset(axis) {
|
|
110
|
-
const offset = this.props.offset?.[axis];
|
|
111
|
-
const isVertical = axis === 'y';
|
|
112
|
-
const before = isVertical ? 'top' : 'left';
|
|
113
|
-
const after = isVertical ? 'bottom' : 'right';
|
|
114
|
-
return {
|
|
115
|
-
[before]: offset?.before || 0,
|
|
116
|
-
[after]: offset?.after || 0,
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
getCoeffStyle = axis => `${this.store.coeff[axis] * 100}%`;
|
|
120
|
-
getPosStyle = axis => `${this.pos[axis]}px`;
|
|
121
|
-
updateAll = () => {
|
|
122
|
-
this.eachAxis(this.update);
|
|
123
|
-
};
|
|
124
|
-
update = axis => {
|
|
125
|
-
this.updateCoeff(axis);
|
|
126
|
-
this.updatePos(axis);
|
|
127
|
-
};
|
|
128
|
-
updateCoeff(axis) {
|
|
129
|
-
const thumb = this.thumbELem[axis].current;
|
|
130
|
-
if (!this.innerElem)
|
|
131
|
-
return;
|
|
132
|
-
const sizeField = BY_AXIS[axis].size;
|
|
133
|
-
this.store.coeff[axis] = this.getInnerSize(axis) / this.getScrollSize(axis);
|
|
134
|
-
if (thumb)
|
|
135
|
-
thumb.style[sizeField] = this.getCoeffStyle(axis);
|
|
136
|
-
}
|
|
137
|
-
updatePos = axis => {
|
|
138
|
-
const thumb = this.thumbELem[axis].current;
|
|
139
|
-
if (!this.innerElem || !thumb)
|
|
140
|
-
return;
|
|
141
|
-
const { offset } = this.props;
|
|
142
|
-
const offsetBefore = offset?.[axis]?.before || 0;
|
|
143
|
-
const offsetAfter = offset?.[axis]?.after || 0;
|
|
144
|
-
const innerSize = this.getInnerSize(axis);
|
|
145
|
-
const thumbSize = this.getThumbSize(axis);
|
|
146
|
-
const scrollSize = this.getScrollSize(axis);
|
|
147
|
-
const scrollPos = this.getScrollPos(axis);
|
|
148
|
-
const posField = BY_AXIS[axis].posField;
|
|
149
|
-
// const AXIS = axis.toUpperCase();
|
|
150
|
-
const pos = thumbSize
|
|
151
|
-
? (innerSize - thumbSize - offsetBefore - offsetAfter) *
|
|
152
|
-
(scrollPos / (scrollSize - innerSize))
|
|
153
|
-
: 0;
|
|
154
|
-
this.pos[axis] = pos;
|
|
155
|
-
// thumb.style.transform = `translate${AXIS}(${pos}px)`;
|
|
156
|
-
thumb.style[posField] = this.getPosStyle(axis);
|
|
157
|
-
};
|
|
158
|
-
updateScroll = (axis, e) => {
|
|
159
|
-
const coords = getEventCoords(e);
|
|
160
|
-
const scrollPos = BY_AXIS[axis].scrollPos;
|
|
161
|
-
const pos = coords[axis] - this.prevCoords[axis];
|
|
162
|
-
this.prevCoords = coords;
|
|
163
|
-
this.innerElem[scrollPos] += pos / this.store.coeff[axis];
|
|
164
|
-
};
|
|
165
|
-
dropScrollingState = debounce(() => (this.store.isScrolling = false), 2000);
|
|
166
|
-
subscribePointerMoveUp = () => {
|
|
167
|
-
document.addEventListener('pointermove', this.onPointerMove, {
|
|
168
|
-
passive: false, // do not generate passive event warning
|
|
169
|
-
});
|
|
170
|
-
document.addEventListener('pointerup', this.onPointerUp);
|
|
171
|
-
};
|
|
172
|
-
unsubscribePointerMoveUp = () => {
|
|
173
|
-
document.removeEventListener('pointermove', this.onPointerMove);
|
|
174
|
-
document.removeEventListener('pointerup', this.onPointerUp);
|
|
175
|
-
};
|
|
176
|
-
onDocScroll = e => {
|
|
177
|
-
const { activeAxis } = this.store;
|
|
178
|
-
// if dragging thumb - prevent any other scrolls
|
|
179
|
-
if (activeAxis && this.innerElem !== e.target) {
|
|
180
|
-
e.preventDefault();
|
|
181
|
-
e.stopPropagation();
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
onInnerScroll = e => {
|
|
185
|
-
if (this.innerElem !== e.target)
|
|
186
|
-
return;
|
|
187
|
-
const { onScroll } = this.props;
|
|
188
|
-
const { activeAxis, isScrolling } = this.store;
|
|
189
|
-
onScroll?.(e);
|
|
190
|
-
if (!activeAxis) {
|
|
191
|
-
this.eachAxis(axis => {
|
|
192
|
-
if (this.isScrollChanged(axis))
|
|
193
|
-
this.update(axis);
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
if (!isScrolling)
|
|
197
|
-
this.store.isScrolling = true;
|
|
198
|
-
this.dropScrollingState();
|
|
199
|
-
};
|
|
200
|
-
onPointerDown = (axis, e) => {
|
|
201
|
-
e.preventDefault();
|
|
202
|
-
e.stopPropagation();
|
|
203
|
-
// TOOD: if target is bar(not thumb) - move thumb to target coords
|
|
204
|
-
this.prevCoords = getEventCoords(e);
|
|
205
|
-
this.store.activeAxis = axis;
|
|
206
|
-
this.subscribePointerMoveUp();
|
|
207
|
-
};
|
|
208
|
-
onPointerMove = e => {
|
|
209
|
-
const { activeAxis: axis } = this.store;
|
|
210
|
-
if (!axis)
|
|
211
|
-
return;
|
|
212
|
-
e.preventDefault();
|
|
213
|
-
e.stopPropagation();
|
|
214
|
-
this.updateScroll(axis, e);
|
|
215
|
-
this.updatePos(axis);
|
|
216
|
-
};
|
|
217
|
-
onPointerUp = e => {
|
|
218
|
-
e.stopPropagation();
|
|
219
|
-
this.store.activeAxis = null;
|
|
220
|
-
this.dropScrollingState();
|
|
221
|
-
this.unsubscribePointerMoveUp();
|
|
222
|
-
};
|
|
223
|
-
renderBar = axis => {
|
|
224
|
-
const { thumbClassName } = this.props;
|
|
225
|
-
const { activeAxis, coeff } = this.store;
|
|
226
|
-
if (coeff[axis] === 1)
|
|
227
|
-
return null;
|
|
228
|
-
const sizeField = BY_AXIS[axis].size;
|
|
229
|
-
const posField = BY_AXIS[axis].posField;
|
|
230
|
-
const thumbStyle = {
|
|
231
|
-
[sizeField]: this.getCoeffStyle(axis),
|
|
232
|
-
[posField]: this.getPosStyle(axis),
|
|
233
|
-
};
|
|
234
|
-
const barProps = {
|
|
235
|
-
className: cn(S.bar, S[axis], activeAxis === axis && S.isActive),
|
|
236
|
-
style: this.getOffset(axis),
|
|
237
|
-
onPointerDown: this.onPointerDown.bind(this, axis),
|
|
238
|
-
};
|
|
239
|
-
return (createElement("div", { ...barProps, key: `bar-${axis}` },
|
|
240
|
-
jsx("div", { className: cn(S.thumb, thumbClassName), style: thumbStyle, ref: this.thumbELem[axis] })));
|
|
241
|
-
};
|
|
242
|
-
renderInner() {
|
|
243
|
-
const { innerClassName, innerProps, children, smooth } = this.props;
|
|
244
|
-
const { activeAxis } = this.store;
|
|
245
|
-
const innerClasses = cn(S.inner, innerProps?.className, innerClassName, !activeAxis && smooth && S.smooth);
|
|
246
|
-
const props = { ...innerProps };
|
|
247
|
-
props.onScrollCapture = this.onInnerScroll;
|
|
248
|
-
return (createElement("div", { ...props, className: innerClasses, ref: this.onInnerRef, key: "inner" }, children));
|
|
249
|
-
}
|
|
250
|
-
render() {
|
|
251
|
-
const { y, x, size, fadeSize, extraWide, autoHide, className } = this.props;
|
|
252
|
-
const { isScrolling, activeAxis } = this.store;
|
|
253
|
-
const classes = cn(S.root, y && S.y, x && S.x, S[`size-${size}`], fadeSize && S[`fadeSize-${fadeSize}`], autoHide && S.autoHide, extraWide && S.extraWide, (isScrolling || activeAxis) && S.isScrolling, this.isTouch && S.isTouch, className);
|
|
254
|
-
const props = omit(this.props, [
|
|
255
|
-
'x',
|
|
256
|
-
'y',
|
|
257
|
-
'offset',
|
|
258
|
-
'size',
|
|
259
|
-
'fadeSize',
|
|
260
|
-
'smooth',
|
|
261
|
-
'className',
|
|
262
|
-
'innerClassName',
|
|
263
|
-
'innerProps',
|
|
264
|
-
'onInnerRef',
|
|
265
|
-
'thumbClassName',
|
|
266
|
-
'autoHide',
|
|
267
|
-
'children',
|
|
268
|
-
'extraWide',
|
|
269
|
-
]);
|
|
270
|
-
return (jsxs("div", { className: classes, ...props, children: [this.renderInner(), this.eachAxis(this.renderBar)] }));
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
export { Scroll };
|
|
1
|
+
import{jsx,jsxs}from"react/jsx-runtime";import{Component,createRef,createElement}from"react";import cn from"classnames";import{createStore}from"justorm/react";import omit from"lodash.omit";import Time from"timen";import{isTouch}from"../../tools/dom.js";import{unobserve,observe}from"../../tools/resizeObserver.js";import S from"./Scroll.styl.js";import debounce from"../../tools/debounce.js";const getEventCoords=e=>({x:e.clientX,y:e.clientY}),AXES=["x","y"],BY_AXIS={x:{scrollPos:"scrollLeft",scrollSize:"scrollWidth",size:"width",offsetSize:"offsetWidth",innerSize:"clientWidth",posField:"left"},y:{scrollPos:"scrollTop",scrollSize:"scrollHeight",size:"height",offsetSize:"offsetHeight",innerSize:"clientHeight",posField:"top"}};class Scroll extends Component{innerElem;onInnerRef=e=>{this.innerElem&&unobserve(this.innerElem,this.updateAll),this.innerElem=e,this.props.onInnerRef?.(e),e&&(this.updateAll(),observe(e,this.updateAll))};thumbELem={x:createRef(),y:createRef()};store;isTouch;timers=Time.create();currAxis;pos={x:0,y:0};prevCoords={x:0,y:0};prevScrolls={x:0,y:0};prevBoundings={x:0,y:0};unsubscribeScrollHeightObserver;static defaultProps={size:"m"};constructor(e){super(e),this.isTouch=isTouch(),this.store=createStore(this,{isScrolling:!1,activeAxis:null,coeff:{x:0,y:0}})}componentDidMount(){this.updateAll(),this.unsubscribeScrollHeightObserver=Time.every(100,this.observeScrollHeight),document.addEventListener("scroll",this.onDocScroll)}componentWillUnmount(){this.unsubscribeScrollHeightObserver?.(),this.unsubscribePointerMoveUp(),document.removeEventListener("scroll",this.onDocScroll)}eachAxis=t=>AXES.map(e=>this.props[e]&&t(e));observeScrollHeight=()=>{this.eachAxis(e=>{(this.props[e]&&this.isScrollChanged(e)||this.isBoudingsChanged(e))&&this.update(e)})};isScrollChanged(e){var t=this.getScrollSize(e),s=this.prevScrolls[e]!==t[e];return s&&(this.prevScrolls[e]=t),s}isBoudingsChanged(e){var t=this.getoffsetSize(e),s=this.prevBoundings[e]!==t[e];return s&&(this.prevBoundings[e]=t[e]),s}getoffsetSize=e=>this.innerElem[BY_AXIS[e].offsetSize];getInnerSize=e=>this.innerElem[BY_AXIS[e].innerSize];getScrollSize=e=>this.innerElem[BY_AXIS[e].scrollSize];getScrollPos=e=>this.innerElem[BY_AXIS[e].scrollPos];getThumbSize=e=>this.thumbELem[e].current[BY_AXIS[e].offsetSize];getOffset(e){var t=this.props.offset?.[e],e="y"===e;return{[e?"top":"left"]:t?.before||0,[e?"bottom":"right"]:t?.after||0}}getCoeffStyle=e=>100*this.store.coeff[e]+"%";getPosStyle=e=>this.pos[e]+"px";updateAll=()=>{this.eachAxis(this.update)};update=e=>{this.updateCoeff(e),this.updatePos(e)};updateCoeff(e){var t,s=this.thumbELem[e].current;this.innerElem&&(t=BY_AXIS[e].size,this.store.coeff[e]=this.getInnerSize(e)/this.getScrollSize(e),s)&&(s.style[t]=this.getCoeffStyle(e))}updatePos=e=>{var t,s,i,o,r,n,l,h=this.thumbELem[e].current;this.innerElem&&h&&(s=this.props["offset"],t=s?.[e]?.before||0,s=s?.[e]?.after||0,i=this.getInnerSize(e),o=this.getThumbSize(e),r=this.getScrollSize(e),n=this.getScrollPos(e),l=BY_AXIS[e].posField,this.pos[e]=o?n/(r-i)*(i-o-t-s):0,h.style[l]=this.getPosStyle(e))};updateScroll=(e,t)=>{var t=getEventCoords(t),s=BY_AXIS[e].scrollPos,i=t[e]-this.prevCoords[e];this.prevCoords=t,this.innerElem[s]+=i/this.store.coeff[e]};dropScrollingState=debounce(()=>this.store.isScrolling=!1,2e3);subscribePointerMoveUp=()=>{document.addEventListener("pointermove",this.onPointerMove,{passive:!1}),document.addEventListener("pointerup",this.onPointerUp)};unsubscribePointerMoveUp=()=>{document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp)};onDocScroll=e=>{var t=this.store["activeAxis"];t&&this.innerElem!==e.target&&(e.preventDefault(),e.stopPropagation())};onInnerScroll=e=>{var t,s,i;this.innerElem===e.target&&(t=this.props["onScroll"],{activeAxis:s,isScrolling:i}=this.store,t?.(e),s||this.eachAxis(e=>{this.isScrollChanged(e)&&this.update(e)}),i||(this.store.isScrolling=!0),this.dropScrollingState())};onPointerDown=(e,t)=>{t.preventDefault(),t.stopPropagation(),this.prevCoords=getEventCoords(t),this.store.activeAxis=e,this.subscribePointerMoveUp()};onPointerMove=e=>{var t=this.store["activeAxis"];t&&(e.preventDefault(),e.stopPropagation(),this.updateScroll(t,e),this.updatePos(t))};onPointerUp=e=>{e.stopPropagation(),this.store.activeAxis=null,this.dropScrollingState(),this.unsubscribePointerMoveUp()};renderBar=e=>{var t,s=this.props["thumbClassName"],{activeAxis:i,coeff:o}=this.store;return 1===o[e]?null:(o=BY_AXIS[e].size,t=BY_AXIS[e].posField,o={[o]:this.getCoeffStyle(e),[t]:this.getPosStyle(e)},t={className:cn(S.bar,S[e],i===e&&S.isActive),style:this.getOffset(e),onPointerDown:this.onPointerDown.bind(this,e)},createElement("div",{...t,key:"bar-"+e},jsx("div",{className:cn(S.thumb,s),style:o,ref:this.thumbELem[e]})))};renderInner(){var{innerClassName:e,innerProps:t,children:s,smooth:i}=this.props,o=this.store["activeAxis"],e=cn(S.inner,t?.className,e,!o&&i&&S.smooth),o={...t};return o.onScrollCapture=this.onInnerScroll,createElement("div",{...o,className:e,ref:this.onInnerRef,key:"inner"},s)}render(){var{y:e,x:t,size:s,fadeSize:i,extraWide:o,autoHide:r,className:n}=this.props,{isScrolling:l,activeAxis:h}=this.store,e=cn(S.root,e&&S.y,t&&S.x,S["size-"+s],i&&S["fadeSize-"+i],r&&S.autoHide,o&&S.extraWide,(l||h)&&S.isScrolling,this.isTouch&&S.isTouch,n),t=omit(this.props,["x","y","offset","size","fadeSize","smooth","className","innerClassName","innerProps","onInnerRef","thumbClassName","autoHide","children","extraWide"]);return jsxs("div",{className:e,...t,children:[this.renderInner(),this.eachAxis(this.renderBar)]})}}export{Scroll};
|
|
2
|
+
//# sourceMappingURL=Scroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scroll.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import styleInject from
|
|
2
|
-
|
|
3
|
-
var css_248z = ".Scroll_root__NNx5K{display:flex;overflow:hidden;position:relative}.Scroll_inner__DmxTb{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;overflow:hidden;position:relative;scrollbar-width:none;width:100%}.Scroll_inner__DmxTb.Scroll_smooth__2vqKe{scroll-behavior:smooth}.Scroll_inner__DmxTb::-webkit-scrollbar{display:none}.Scroll_y__2xWol .Scroll_inner__DmxTb{max-height:100%;overflow-y:auto}.Scroll_x__--Ycm .Scroll_inner__DmxTb{max-width:100%;overflow-x:auto}.Scroll_y__2xWol.Scroll_fadeSize-s__WeI0f .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(180deg,transparent 2px,#000 10px,#000 calc(100% - 10px),transparent);mask-image:linear-gradient(180deg,transparent 2px,#000 10px,#000 calc(100% - 10px),transparent)}.Scroll_x__--Ycm.Scroll_fadeSize-s__WeI0f .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(90deg,transparent 2px,#000 10px,#000 calc(100% - 10px),transparent);mask-image:linear-gradient(90deg,transparent 2px,#000 10px,#000 calc(100% - 10px),transparent)}.Scroll_y__2xWol.Scroll_fadeSize-m__Hb-1p .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(180deg,transparent 2px,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(180deg,transparent 2px,#000 16px,#000 calc(100% - 16px),transparent)}.Scroll_x__--Ycm.Scroll_fadeSize-m__Hb-1p .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(90deg,transparent 2px,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,transparent 2px,#000 16px,#000 calc(100% - 16px),transparent)}.Scroll_y__2xWol.Scroll_fadeSize-l__E0CbA .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(180deg,transparent 2px,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(180deg,transparent 2px,#000 20px,#000 calc(100% - 20px),transparent)}.Scroll_x__--Ycm.Scroll_fadeSize-l__E0CbA .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(90deg,transparent 2px,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent 2px,#000 20px,#000 calc(100% - 20px),transparent)}.Scroll_y__2xWol.Scroll_fadeSize-xl__jcYk0 .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(180deg,transparent 2px,#000 30px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(180deg,transparent 2px,#000 30px,#000 calc(100% - 30px),transparent)}.Scroll_x__--Ycm.Scroll_fadeSize-xl__jcYk0 .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(90deg,transparent 2px,#000 30px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,transparent 2px,#000 30px,#000 calc(100% - 30px),transparent)}.Scroll_autoHide__URLqx>.Scroll_bar__6CL7R{opacity:0}.Scroll_isScrolling__yV2Pj.Scroll_autoHide__URLqx>.Scroll_bar__6CL7R{opacity:1;transition:none}.Scroll_thumb__ccEPj{background-color:var(--accent-color-alpha-200);border-radius:1px;position:absolute;transform-origin:center;transition:background-color .1s ease-out}.Scroll_y__2xWol>.Scroll_thumb__ccEPj{min-height:30px;top:0;width:100%}.Scroll_x__--Ycm>.Scroll_thumb__ccEPj{height:100%;left:0;min-width:30px}.Scroll_bar__6CL7R{cursor:pointer;overflow:hidden;position:absolute;touch-action:none;transition:opacity .3s ease-out .1s;z-index:2}.Scroll_bar__6CL7R:before{background-color:var(--accent-color-alpha-100);border-radius:2px;content:\"\";opacity:0;position:absolute;transition:opacity .2s ease-out .3s}.Scroll_bar__6CL7R.Scroll_isActive__Nkkmi,.Scroll_bar__6CL7R:hover{z-index:1}.Scroll_bar__6CL7R.Scroll_isActive__Nkkmi:before,.Scroll_bar__6CL7R:hover:before{opacity:1;transition-delay:0s}.Scroll_bar__6CL7R.Scroll_isActive__Nkkmi .Scroll_thumb__ccEPj,.Scroll_bar__6CL7R:hover .Scroll_thumb__ccEPj{background-color:var(--active-color)}.Scroll_bar__6CL7R.Scroll_y__2xWol{bottom:8px;right:0;top:8px;width:16px}.Scroll_isTouch__Vb2mT .Scroll_bar__6CL7R.Scroll_y__2xWol{width:32px}.Scroll_bar__6CL7R.Scroll_y__2xWol .Scroll_thumb__ccEPj,.Scroll_bar__6CL7R.Scroll_y__2xWol:before{right:30%}.Scroll_bar__6CL7R.Scroll_y__2xWol:before{height:100%}.Scroll_bar__6CL7R.Scroll_x__--Ycm{bottom:0;height:16px;left:8px;right:8px}.Scroll_isTouch__Vb2mT .Scroll_bar__6CL7R.Scroll_x__--Ycm{height:32px}.Scroll_bar__6CL7R.Scroll_x__--Ycm .Scroll_thumb__ccEPj,.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{bottom:30%}.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{width:100%}.Scroll_bar__6CL7R.Scroll_x__--Ycm{height:32px}.Scroll_size-s__px8sG>.Scroll_bar__6CL7R.Scroll_x__--Ycm .Scroll_thumb__ccEPj,.Scroll_size-s__px8sG>.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{height:1px}.Scroll_size-m__gfTwB>.Scroll_bar__6CL7R.Scroll_x__--Ycm .Scroll_thumb__ccEPj,.Scroll_size-m__gfTwB>.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{border-radius:2.5px;height:5px}.Scroll_size-l__Pe4z7>.Scroll_bar__6CL7R.Scroll_x__--Ycm .Scroll_thumb__ccEPj,.Scroll_size-l__Pe4z7>.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{border-radius:4.5px;height:9px}.Scroll_bar__6CL7R.Scroll_y__2xWol{width:32px}.Scroll_size-s__px8sG>.Scroll_bar__6CL7R.Scroll_y__2xWol .Scroll_thumb__ccEPj,.Scroll_size-s__px8sG>.Scroll_bar__6CL7R.Scroll_y__2xWol:before{width:1px}.Scroll_size-m__gfTwB>.Scroll_bar__6CL7R.Scroll_y__2xWol .Scroll_thumb__ccEPj,.Scroll_size-m__gfTwB>.Scroll_bar__6CL7R.Scroll_y__2xWol:before{border-radius:2.5px;width:5px}.Scroll_size-l__Pe4z7>.Scroll_bar__6CL7R.Scroll_y__2xWol .Scroll_thumb__ccEPj,.Scroll_size-l__Pe4z7>.Scroll_bar__6CL7R.Scroll_y__2xWol:before{border-radius:4.5px;width:9px}.Scroll_extraWide__IL5ZI .Scroll_bar__6CL7R.Scroll_x__--Ycm{height:52px}.Scroll_extraWide__IL5ZI .Scroll_bar__6CL7R.Scroll_y__2xWol{width:52px}";
|
|
4
|
-
var S = {"root":"Scroll_root__NNx5K","inner":"Scroll_inner__DmxTb","smooth":"Scroll_smooth__2vqKe","y":"Scroll_y__2xWol","x":"Scroll_x__--Ycm","fadeSize-s":"Scroll_fadeSize-s__WeI0f","fadeSize-m":"Scroll_fadeSize-m__Hb-1p","fadeSize-l":"Scroll_fadeSize-l__E0CbA","fadeSize-xl":"Scroll_fadeSize-xl__jcYk0","autoHide":"Scroll_autoHide__URLqx","bar":"Scroll_bar__6CL7R","isScrolling":"Scroll_isScrolling__yV2Pj","thumb":"Scroll_thumb__ccEPj","isActive":"Scroll_isActive__Nkkmi","isTouch":"Scroll_isTouch__Vb2mT","size-s":"Scroll_size-s__px8sG","size-m":"Scroll_size-m__gfTwB","size-l":"Scroll_size-l__Pe4z7","extraWide":"Scroll_extraWide__IL5ZI"};
|
|
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='.Scroll_root__NNx5K{display:flex;overflow:hidden;position:relative}.Scroll_inner__DmxTb{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;overflow:hidden;position:relative;scrollbar-width:none;width:100%}.Scroll_inner__DmxTb.Scroll_smooth__2vqKe{scroll-behavior:smooth}.Scroll_inner__DmxTb::-webkit-scrollbar{display:none}.Scroll_y__2xWol .Scroll_inner__DmxTb{max-height:100%;overflow-y:auto}.Scroll_x__--Ycm .Scroll_inner__DmxTb{max-width:100%;overflow-x:auto}.Scroll_y__2xWol.Scroll_fadeSize-s__WeI0f .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(180deg,transparent 2px,#000 10px,#000 calc(100% - 10px),transparent);mask-image:linear-gradient(180deg,transparent 2px,#000 10px,#000 calc(100% - 10px),transparent)}.Scroll_x__--Ycm.Scroll_fadeSize-s__WeI0f .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(90deg,transparent 2px,#000 10px,#000 calc(100% - 10px),transparent);mask-image:linear-gradient(90deg,transparent 2px,#000 10px,#000 calc(100% - 10px),transparent)}.Scroll_y__2xWol.Scroll_fadeSize-m__Hb-1p .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(180deg,transparent 2px,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(180deg,transparent 2px,#000 16px,#000 calc(100% - 16px),transparent)}.Scroll_x__--Ycm.Scroll_fadeSize-m__Hb-1p .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(90deg,transparent 2px,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,transparent 2px,#000 16px,#000 calc(100% - 16px),transparent)}.Scroll_y__2xWol.Scroll_fadeSize-l__E0CbA .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(180deg,transparent 2px,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(180deg,transparent 2px,#000 20px,#000 calc(100% - 20px),transparent)}.Scroll_x__--Ycm.Scroll_fadeSize-l__E0CbA .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(90deg,transparent 2px,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent 2px,#000 20px,#000 calc(100% - 20px),transparent)}.Scroll_y__2xWol.Scroll_fadeSize-xl__jcYk0 .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(180deg,transparent 2px,#000 30px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(180deg,transparent 2px,#000 30px,#000 calc(100% - 30px),transparent)}.Scroll_x__--Ycm.Scroll_fadeSize-xl__jcYk0 .Scroll_inner__DmxTb{-webkit-mask-image:linear-gradient(90deg,transparent 2px,#000 30px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,transparent 2px,#000 30px,#000 calc(100% - 30px),transparent)}.Scroll_autoHide__URLqx>.Scroll_bar__6CL7R{opacity:0}.Scroll_isScrolling__yV2Pj.Scroll_autoHide__URLqx>.Scroll_bar__6CL7R{opacity:1;transition:none}.Scroll_thumb__ccEPj{background-color:var(--accent-color-alpha-200);border-radius:1px;position:absolute;transform-origin:center;transition:background-color .1s ease-out}.Scroll_y__2xWol>.Scroll_thumb__ccEPj{min-height:30px;top:0;width:100%}.Scroll_x__--Ycm>.Scroll_thumb__ccEPj{height:100%;left:0;min-width:30px}.Scroll_bar__6CL7R{cursor:pointer;overflow:hidden;position:absolute;touch-action:none;transition:opacity .3s ease-out .1s;z-index:2}.Scroll_bar__6CL7R:before{background-color:var(--accent-color-alpha-100);border-radius:2px;content:"";opacity:0;position:absolute;transition:opacity .2s ease-out .3s}.Scroll_bar__6CL7R.Scroll_isActive__Nkkmi,.Scroll_bar__6CL7R:hover{z-index:1}.Scroll_bar__6CL7R.Scroll_isActive__Nkkmi:before,.Scroll_bar__6CL7R:hover:before{opacity:1;transition-delay:0s}.Scroll_bar__6CL7R.Scroll_isActive__Nkkmi .Scroll_thumb__ccEPj,.Scroll_bar__6CL7R:hover .Scroll_thumb__ccEPj{background-color:var(--active-color)}.Scroll_bar__6CL7R.Scroll_y__2xWol{bottom:8px;right:0;top:8px;width:16px}.Scroll_isTouch__Vb2mT .Scroll_bar__6CL7R.Scroll_y__2xWol{width:32px}.Scroll_bar__6CL7R.Scroll_y__2xWol .Scroll_thumb__ccEPj,.Scroll_bar__6CL7R.Scroll_y__2xWol:before{right:30%}.Scroll_bar__6CL7R.Scroll_y__2xWol:before{height:100%}.Scroll_bar__6CL7R.Scroll_x__--Ycm{bottom:0;height:16px;left:8px;right:8px}.Scroll_isTouch__Vb2mT .Scroll_bar__6CL7R.Scroll_x__--Ycm{height:32px}.Scroll_bar__6CL7R.Scroll_x__--Ycm .Scroll_thumb__ccEPj,.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{bottom:30%}.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{width:100%}.Scroll_bar__6CL7R.Scroll_x__--Ycm{height:32px}.Scroll_size-s__px8sG>.Scroll_bar__6CL7R.Scroll_x__--Ycm .Scroll_thumb__ccEPj,.Scroll_size-s__px8sG>.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{height:1px}.Scroll_size-m__gfTwB>.Scroll_bar__6CL7R.Scroll_x__--Ycm .Scroll_thumb__ccEPj,.Scroll_size-m__gfTwB>.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{border-radius:2.5px;height:5px}.Scroll_size-l__Pe4z7>.Scroll_bar__6CL7R.Scroll_x__--Ycm .Scroll_thumb__ccEPj,.Scroll_size-l__Pe4z7>.Scroll_bar__6CL7R.Scroll_x__--Ycm:before{border-radius:4.5px;height:9px}.Scroll_bar__6CL7R.Scroll_y__2xWol{width:32px}.Scroll_size-s__px8sG>.Scroll_bar__6CL7R.Scroll_y__2xWol .Scroll_thumb__ccEPj,.Scroll_size-s__px8sG>.Scroll_bar__6CL7R.Scroll_y__2xWol:before{width:1px}.Scroll_size-m__gfTwB>.Scroll_bar__6CL7R.Scroll_y__2xWol .Scroll_thumb__ccEPj,.Scroll_size-m__gfTwB>.Scroll_bar__6CL7R.Scroll_y__2xWol:before{border-radius:2.5px;width:5px}.Scroll_size-l__Pe4z7>.Scroll_bar__6CL7R.Scroll_y__2xWol .Scroll_thumb__ccEPj,.Scroll_size-l__Pe4z7>.Scroll_bar__6CL7R.Scroll_y__2xWol:before{border-radius:4.5px;width:9px}.Scroll_extraWide__IL5ZI .Scroll_bar__6CL7R.Scroll_x__--Ycm{height:52px}.Scroll_extraWide__IL5ZI .Scroll_bar__6CL7R.Scroll_y__2xWol{width:52px}',S={root:"Scroll_root__NNx5K",inner:"Scroll_inner__DmxTb",smooth:"Scroll_smooth__2vqKe",y:"Scroll_y__2xWol",x:"Scroll_x__--Ycm","fadeSize-s":"Scroll_fadeSize-s__WeI0f","fadeSize-m":"Scroll_fadeSize-m__Hb-1p","fadeSize-l":"Scroll_fadeSize-l__E0CbA","fadeSize-xl":"Scroll_fadeSize-xl__jcYk0",autoHide:"Scroll_autoHide__URLqx",bar:"Scroll_bar__6CL7R",isScrolling:"Scroll_isScrolling__yV2Pj",thumb:"Scroll_thumb__ccEPj",isActive:"Scroll_isActive__Nkkmi",isTouch:"Scroll_isTouch__Vb2mT","size-s":"Scroll_size-s__px8sG","size-m":"Scroll_size-m__gfTwB","size-l":"Scroll_size-l__Pe4z7",extraWide:"Scroll_extraWide__IL5ZI"};styleInject(css_248z);export{S as default};
|
|
2
|
+
//# sourceMappingURL=Scroll.styl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scroll.styl.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,37 +1,2 @@
|
|
|
1
|
-
function isMultiple(
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
function renderLabel({ label, render }) {
|
|
5
|
-
if (render)
|
|
6
|
-
return render(label);
|
|
7
|
-
return label;
|
|
8
|
-
}
|
|
9
|
-
function buildOptionsTree(options, idsMap) {
|
|
10
|
-
function buildOption(id) {
|
|
11
|
-
const { items, childIds } = idsMap;
|
|
12
|
-
const data = { ...items[id] };
|
|
13
|
-
const childs = childIds[id];
|
|
14
|
-
if (childs)
|
|
15
|
-
data.children = childs.map(buildOption);
|
|
16
|
-
return data;
|
|
17
|
-
}
|
|
18
|
-
return options.reduce((acc, { id, parentId }) => (parentId ? acc : [...acc, buildOption(id)]), []);
|
|
19
|
-
}
|
|
20
|
-
function mapById(options) {
|
|
21
|
-
return options.reduce((acc, item) => {
|
|
22
|
-
const { items, childIds } = acc;
|
|
23
|
-
const { id, parentId } = item;
|
|
24
|
-
items[id] = item;
|
|
25
|
-
if (parentId) {
|
|
26
|
-
if (!childIds[parentId])
|
|
27
|
-
childIds[parentId] = [];
|
|
28
|
-
childIds[parentId].push(id);
|
|
29
|
-
}
|
|
30
|
-
return acc;
|
|
31
|
-
}, {
|
|
32
|
-
items: {},
|
|
33
|
-
childIds: {},
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export { buildOptionsTree, isMultiple, mapById, renderLabel };
|
|
1
|
+
function isMultiple(e){return Array.isArray(e)}function renderLabel({label:e,render:r}){return r?r(e):e}function buildOptionsTree(e,i){function t(e){var{items:r,childIds:n}=i,r={...r[e]},n=n[e];return n&&(r.children=n.map(t)),r}return e.reduce((e,{id:r,parentId:n})=>n?e:[...e,t(r)],[])}function mapById(e){return e.reduce((e,r)=>{var{items:n,childIds:i}=e,{id:t,parentId:d}=r;return n[t]=r,d&&(i[d]||(i[d]=[]),i[d].push(t)),e},{items:{},childIds:{}})}export{buildOptionsTree,isMultiple,mapById,renderLabel};
|
|
2
|
+
//# sourceMappingURL=Select.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|