@sima-land/ui-nucleons 45.0.0-alpha.10 → 45.0.0-alpha.11
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/README.md +103 -0
- package/_internal/custom-scrollbar/custom-scrollbar.d.ts +13 -0
- package/_internal/custom-scrollbar/custom-scrollbar.js +78 -0
- package/_internal/custom-scrollbar/custom-scrollbar.js.map +1 -0
- package/_internal/custom-scrollbar/custom-scrollbar.module.scss +38 -43
- package/_internal/custom-scrollbar/index.d.ts +2 -42
- package/_internal/custom-scrollbar/index.js +3 -54
- package/_internal/custom-scrollbar/index.js.map +1 -1
- package/_internal/custom-scrollbar/types.d.ts +18 -0
- package/_internal/custom-scrollbar/types.js.map +1 -0
- package/_internal/lifecycle/index.d.ts +11 -0
- package/_internal/lifecycle/index.js +23 -0
- package/_internal/lifecycle/index.js.map +1 -0
- package/_internal/page-scroll-lock/adapters/body-scroll-lock.d.ts +2 -2
- package/_internal/page-scroll-lock/adapters/body-scroll-lock.js +3 -3
- package/_internal/page-scroll-lock/adapters/body-scroll-lock.js.map +1 -1
- package/_internal/page-scroll-lock/adapters/ui-nucleons.d.ts +30 -5
- package/_internal/page-scroll-lock/adapters/ui-nucleons.js +4 -3
- package/_internal/page-scroll-lock/adapters/ui-nucleons.js.map +1 -1
- package/_internal/page-scroll-lock/context.d.ts +3 -12
- package/_internal/page-scroll-lock/context.js +4 -28
- package/_internal/page-scroll-lock/context.js.map +1 -1
- package/_internal/page-scroll-lock/hook.d.ts +1 -1
- package/_internal/page-scroll-lock/hook.js +7 -5
- package/_internal/page-scroll-lock/hook.js.map +1 -1
- package/_internal/page-scroll-lock/index.d.ts +4 -3
- package/_internal/page-scroll-lock/index.js +7 -4
- package/_internal/page-scroll-lock/index.js.map +1 -1
- package/alert/alert-body.d.ts +7 -0
- package/alert/alert-body.js +25 -0
- package/alert/alert-body.js.map +1 -0
- package/alert/alert-body.module.scss +3 -0
- package/alert/alert.d.ts +8 -0
- package/alert/alert.js +34 -0
- package/alert/alert.js.map +1 -0
- package/alert/index.d.ts +3 -21
- package/alert/index.js +4 -42
- package/alert/index.js.map +1 -1
- package/alert/types.d.ts +10 -0
- package/alert/types.js +3 -0
- package/{hooks/breakpoint → alert}/types.js.map +1 -1
- package/arrow-button/arrow-button.d.ts +7 -0
- package/arrow-button/arrow-button.js +43 -0
- package/arrow-button/arrow-button.js.map +1 -0
- package/arrow-button/index.d.ts +2 -17
- package/arrow-button/index.js +2 -39
- package/arrow-button/index.js.map +1 -1
- package/arrow-button/types.d.ts +10 -0
- package/arrow-button/types.js +3 -0
- package/arrow-button/types.js.map +1 -0
- package/autocomplete/autocomplete.d.ts +1 -1
- package/autocomplete/autocomplete.js +85 -21
- package/autocomplete/autocomplete.js.map +1 -1
- package/autocomplete/types.d.ts +14 -4
- package/autocomplete/utils.d.ts +36 -0
- package/autocomplete/utils.js +55 -0
- package/autocomplete/utils.js.map +1 -0
- package/avatar/avatar.d.ts +3 -3
- package/avatar/avatar.js +2 -2
- package/avatar/avatar.js.map +1 -1
- package/base-input/base-input.d.ts +1 -1
- package/base-input/base-input.js +1 -1
- package/base-input/types.d.ts +4 -5
- package/bottom-bar/bottom-bar.d.ts +2 -2
- package/bottom-bar/bottom-bar.js +5 -6
- package/bottom-bar/bottom-bar.js.map +1 -1
- package/bottom-bar/bottom-bar.module.scss +11 -0
- package/bottom-bar/index.d.ts +1 -1
- package/bottom-bar/types.d.ts +10 -4
- package/box/box.d.ts +8 -0
- package/box/box.js +159 -0
- package/box/box.js.map +1 -0
- package/box/index.d.ts +2 -67
- package/box/index.js +2 -155
- package/box/index.js.map +1 -1
- package/box/types.d.ts +60 -0
- package/box/types.js +3 -0
- package/box/types.js.map +1 -0
- package/breakpoints.scss +6 -2
- package/button/button.d.ts +8 -0
- package/button/button.js +35 -0
- package/button/button.js.map +1 -0
- package/button/index.d.ts +2 -50
- package/button/index.js +2 -31
- package/button/index.js.map +1 -1
- package/button/types.d.ts +43 -0
- package/button/types.js +3 -0
- package/button/types.js.map +1 -0
- package/carousel/carousel.d.ts +262 -0
- package/carousel/carousel.js +616 -0
- package/carousel/carousel.js.map +1 -0
- package/carousel/draggable.d.ts +5 -9
- package/carousel/draggable.js +3 -7
- package/carousel/draggable.js.map +1 -1
- package/carousel/helpers/draggable-event.d.ts +1 -4
- package/carousel/helpers/draggable-event.js +0 -4
- package/carousel/helpers/draggable-event.js.map +1 -1
- package/carousel/index.d.ts +2 -311
- package/carousel/index.js +2 -606
- package/carousel/index.js.map +1 -1
- package/carousel/types.d.ts +51 -0
- package/carousel/types.js +3 -0
- package/carousel/types.js.map +1 -0
- package/checkbox/checkbox.d.ts +5 -0
- package/checkbox/checkbox.js +19 -0
- package/checkbox/checkbox.js.map +1 -0
- package/checkbox/index.d.ts +2 -7
- package/checkbox/index.js +2 -15
- package/checkbox/index.js.map +1 -1
- package/checkbox/types.d.ts +2 -0
- package/checkbox/types.js +3 -0
- package/checkbox/types.js.map +1 -0
- package/chip/chip.d.ts +1 -1
- package/chip/chip.js +1 -1
- package/clean-buttons/clean-button.d.ts +7 -0
- package/clean-buttons/clean-button.js +26 -0
- package/clean-buttons/clean-button.js.map +1 -0
- package/clean-buttons/{clean-buttons.module.scss → clean-button.module.scss} +0 -16
- package/clean-buttons/clean-group.d.ts +8 -0
- package/clean-buttons/clean-group.js +26 -0
- package/clean-buttons/clean-group.js.map +1 -0
- package/clean-buttons/clean-group.module.scss +16 -0
- package/clean-buttons/index.d.ts +3 -34
- package/clean-buttons/index.js +5 -38
- package/clean-buttons/index.js.map +1 -1
- package/clean-buttons/types.d.ts +13 -0
- package/clean-buttons/utils.d.ts +2 -2
- package/clean-buttons/utils.js +2 -2
- package/clean-buttons/utils.js.map +1 -1
- package/context/index.d.ts +10 -0
- package/context/index.js +23 -0
- package/context/index.js.map +1 -0
- package/dot-nav/dot-nav.d.ts +7 -0
- package/dot-nav/dot-nav.js +62 -0
- package/dot-nav/dot-nav.js.map +1 -0
- package/dot-nav/dot-nav.module.scss +3 -1
- package/dot-nav/index.d.ts +2 -17
- package/dot-nav/index.js +2 -57
- package/dot-nav/index.js.map +1 -1
- package/dot-nav/types.d.ts +11 -0
- package/dot-nav/types.js +3 -0
- package/dot-nav/types.js.map +1 -0
- package/dropdown/dropdown-loading.d.ts +7 -0
- package/{_internal/dropdown-loading/index.js → dropdown/dropdown-loading.js} +7 -5
- package/dropdown/dropdown-loading.js.map +1 -0
- package/dropdown/dropdown.d.ts +7 -0
- package/dropdown/dropdown.js +21 -0
- package/dropdown/dropdown.js.map +1 -0
- package/dropdown/dropdown.module.scss +4 -0
- package/dropdown/index.d.ts +4 -18
- package/dropdown/index.js +8 -18
- package/dropdown/index.js.map +1 -1
- package/dropdown/types.d.ts +16 -0
- package/dropdown/types.js +3 -0
- package/dropdown/types.js.map +1 -0
- package/dropdown/utils.d.ts +7 -2
- package/dropdown/utils.js +40 -16
- package/dropdown/utils.js.map +1 -1
- package/dropdown-item/dropdown-item.d.ts +8 -0
- package/dropdown-item/dropdown-item.js +24 -0
- package/dropdown-item/dropdown-item.js.map +1 -0
- package/dropdown-item/index.d.ts +2 -34
- package/dropdown-item/index.js +2 -19
- package/dropdown-item/index.js.map +1 -1
- package/dropdown-item/types.d.ts +28 -3
- package/dropdown-item/utils.js +2 -2
- package/dropdown-item/utils.js.map +1 -1
- package/expandable/expandable-group.d.ts +13 -0
- package/expandable/expandable-group.js +114 -0
- package/expandable/expandable-group.js.map +1 -0
- package/expandable/index.d.ts +2 -12
- package/expandable/index.js +5 -111
- package/expandable/index.js.map +1 -1
- package/field-block/field-block.d.ts +11 -0
- package/field-block/field-block.js +37 -0
- package/field-block/field-block.js.map +1 -0
- package/field-block/field-block.module.scss +4 -1
- package/field-block/index.d.ts +2 -63
- package/field-block/index.js +5 -34
- package/field-block/index.js.map +1 -1
- package/field-block/types.d.ts +52 -0
- package/field-block/types.js +3 -0
- package/field-block/types.js.map +1 -0
- package/file-icon/file-icon.d.ts +7 -0
- package/file-icon/file-icon.js +36 -0
- package/file-icon/file-icon.js.map +1 -0
- package/file-icon/file-icon.module.scss +32 -12
- package/file-icon/index.d.ts +2 -18
- package/file-icon/index.js +2 -17
- package/file-icon/index.js.map +1 -1
- package/file-icon/types.d.ts +12 -0
- package/file-icon/types.js +3 -0
- package/file-icon/types.js.map +1 -0
- package/group-overflow/group-overflow.d.ts +7 -0
- package/group-overflow/group-overflow.js +28 -0
- package/group-overflow/group-overflow.js.map +1 -0
- package/group-overflow/index.d.ts +2 -16
- package/group-overflow/index.js +2 -24
- package/group-overflow/index.js.map +1 -1
- package/group-overflow/types.d.ts +10 -0
- package/group-overflow/types.js +3 -0
- package/group-overflow/types.js.map +1 -0
- package/helpers/bounds-of.d.ts +0 -4
- package/helpers/bounds-of.js +0 -4
- package/helpers/bounds-of.js.map +1 -1
- package/helpers/center-of.d.ts +0 -4
- package/helpers/center-of.js +0 -4
- package/helpers/center-of.js.map +1 -1
- package/helpers/create-container.d.ts +1 -4
- package/helpers/create-container.js +0 -4
- package/helpers/create-container.js.map +1 -1
- package/helpers/define-slots.d.ts +4 -4
- package/helpers/define-slots.js.map +1 -1
- package/helpers/events.d.ts +3 -3
- package/helpers/events.js.map +1 -1
- package/helpers/{find-child-element.d.ts → find-child-index.d.ts} +0 -4
- package/helpers/{find-child-element.js → find-child-index.js} +1 -5
- package/helpers/find-child-index.js.map +1 -0
- package/helpers/find-sibling-index.d.ts +3 -7
- package/helpers/find-sibling-index.js +5 -10
- package/helpers/find-sibling-index.js.map +1 -1
- package/helpers/format-date.js +1 -2
- package/helpers/format-date.js.map +1 -1
- package/helpers/get-date-interval-data.d.ts +0 -4
- package/helpers/get-date-interval-data.js +0 -4
- package/helpers/get-date-interval-data.js.map +1 -1
- package/helpers/get-declination.d.ts +0 -4
- package/helpers/get-declination.js +0 -4
- package/helpers/get-declination.js.map +1 -1
- package/helpers/get-positioned-parent-offset.d.ts +15 -0
- package/helpers/get-positioned-parent-offset.js +41 -0
- package/helpers/get-positioned-parent-offset.js.map +1 -0
- package/helpers/get-relative-pos.d.ts +0 -4
- package/helpers/get-relative-pos.js +0 -4
- package/helpers/get-relative-pos.js.map +1 -1
- package/helpers/index.d.ts +13 -0
- package/helpers/index.js +33 -0
- package/helpers/index.js.map +1 -0
- package/helpers/is-browser.d.ts +0 -4
- package/helpers/is-browser.js +0 -4
- package/helpers/is-browser.js.map +1 -1
- package/helpers/max-index-of.d.ts +0 -4
- package/helpers/max-index-of.js +0 -4
- package/helpers/max-index-of.js.map +1 -1
- package/helpers/on.d.ts +2 -6
- package/helpers/on.js +0 -4
- package/helpers/on.js.map +1 -1
- package/helpers/point.d.ts +0 -4
- package/helpers/point.js +1 -4
- package/helpers/point.js.map +1 -1
- package/helpers/scroll-to-child.js +2 -6
- package/helpers/scroll-to-child.js.map +1 -1
- package/helpers/styles.d.ts +2 -6
- package/helpers/styles.js +3 -12
- package/helpers/styles.js.map +1 -1
- package/hint/utils.js +9 -6
- package/hint/utils.js.map +1 -1
- package/hooks/index.d.ts +9 -29
- package/hooks/index.js +19 -76
- package/hooks/index.js.map +1 -1
- package/hooks/{breakpoint → use-breakpoint}/index.js +6 -6
- package/hooks/use-breakpoint/index.js.map +1 -0
- package/hooks/use-breakpoint/types.js +3 -0
- package/hooks/use-breakpoint/types.js.map +1 -0
- package/hooks/{breakpoint → use-breakpoint}/utils.d.ts +3 -1
- package/hooks/{breakpoint → use-breakpoint}/utils.js +4 -5
- package/hooks/use-breakpoint/utils.js.map +1 -0
- package/hooks/{identity.d.ts → use-identity-ref/index.d.ts} +1 -1
- package/hooks/{identity.js → use-identity-ref/index.js} +3 -3
- package/hooks/use-identity-ref/index.js.map +1 -0
- package/hooks/use-infinite-scroll/index.d.ts +13 -0
- package/hooks/use-infinite-scroll/index.js +31 -0
- package/hooks/use-infinite-scroll/index.js.map +1 -0
- package/hooks/{intersection/readme.md → use-intersection/README.md} +5 -5
- package/hooks/{intersection → use-intersection}/index.js +6 -4
- package/hooks/use-intersection/index.js.map +1 -0
- package/hooks/use-intersection/test-utils.js.map +1 -0
- package/hooks/use-is-touch-device/index.d.ts +5 -0
- package/hooks/use-is-touch-device/index.js +18 -0
- package/hooks/use-is-touch-device/index.js.map +1 -0
- package/hooks/use-isomorphic-layout-effect/index.d.ts +6 -0
- package/hooks/use-isomorphic-layout-effect/index.js +10 -0
- package/hooks/use-isomorphic-layout-effect/index.js.map +1 -0
- package/hooks/{keydown.js → use-keydown/index.js} +4 -4
- package/hooks/use-keydown/index.js.map +1 -0
- package/hooks/{media.d.ts → use-media/index.d.ts} +1 -1
- package/hooks/{media.js → use-media/index.js} +10 -7
- package/hooks/use-media/index.js.map +1 -0
- package/hooks/use-outside-click/index.d.ts +7 -0
- package/hooks/use-outside-click/index.js +37 -0
- package/hooks/use-outside-click/index.js.map +1 -0
- package/info-text/index.d.ts +2 -23
- package/info-text/index.js +2 -30
- package/info-text/index.js.map +1 -1
- package/info-text/info-text.d.ts +8 -0
- package/info-text/info-text.js +34 -0
- package/info-text/info-text.js.map +1 -0
- package/info-text/types.d.ts +16 -0
- package/info-text/types.js +3 -0
- package/info-text/types.js.map +1 -0
- package/input/index.d.ts +2 -32
- package/input/index.js +2 -68
- package/input/index.js.map +1 -1
- package/input/input.d.ts +7 -0
- package/input/input.js +73 -0
- package/input/input.js.map +1 -0
- package/input/types.d.ts +26 -0
- package/input/types.js +3 -0
- package/input/types.js.map +1 -0
- package/layout/layout.d.ts +2 -5
- package/layout/layout.js +1 -1
- package/layout/layout.js.map +1 -1
- package/layout/layout.module.scss +70 -39
- package/layout/legacy.d.ts +2 -2
- package/layout/types.d.ts +4 -2
- package/link/index.d.ts +2 -27
- package/link/index.js +2 -31
- package/link/index.js.map +1 -1
- package/link/link.d.ts +9 -0
- package/link/link.js +27 -0
- package/link/link.js.map +1 -0
- package/link/types.d.ts +14 -0
- package/link/types.js +3 -0
- package/link/types.js.map +1 -0
- package/masked-input/index.d.ts +3 -5
- package/masked-input/index.js +3 -3
- package/masked-input/index.js.map +1 -1
- package/masked-input/masked-input.d.ts +1 -1
- package/masked-input/masked-input.js +32 -11
- package/masked-input/masked-input.js.map +1 -1
- package/masked-input/types.d.ts +6 -5
- package/masked-input/use-input-mask.d.ts +9 -0
- package/masked-input/use-input-mask.js +65 -0
- package/masked-input/use-input-mask.js.map +1 -0
- package/masked-input/utils.js +2 -4
- package/masked-input/utils.js.map +1 -1
- package/modal/index.d.ts +4 -32
- package/modal/index.js +9 -45
- package/modal/index.js.map +1 -1
- package/modal/modal-util.scss +45 -0
- package/modal/modal.d.ts +7 -0
- package/modal/modal.js +31 -0
- package/modal/modal.js.map +1 -0
- package/modal/modal.module.scss +45 -100
- package/modal/slots.d.ts +7 -24
- package/modal/slots.js +16 -34
- package/modal/slots.js.map +1 -1
- package/modal/types.d.ts +37 -0
- package/modal/types.js +3 -0
- package/modal/types.js.map +1 -0
- package/modal/utils.d.ts +9 -8
- package/modal/utils.js +27 -3
- package/modal/utils.js.map +1 -1
- package/modal/utils.module.scss +45 -0
- package/modal-overlay/index.d.ts +3 -13
- package/modal-overlay/index.js +6 -26
- package/modal-overlay/index.js.map +1 -1
- package/modal-overlay/modal-overlay.d.ts +7 -0
- package/modal-overlay/modal-overlay.js +30 -0
- package/modal-overlay/modal-overlay.js.map +1 -0
- package/modal-overlay/types.d.ts +7 -0
- package/modal-overlay/types.js +3 -0
- package/modal-overlay/types.js.map +1 -0
- package/modal-overlay/utils.d.ts +9 -1
- package/modal-overlay/utils.js +49 -3
- package/modal-overlay/utils.js.map +1 -1
- package/no-index/index.d.ts +4 -11
- package/no-index/index.js +8 -12
- package/no-index/index.js.map +1 -1
- package/{no-index-mark/index.d.ts → no-index/no-index-mark.d.ts} +1 -4
- package/{no-index-mark/index.js → no-index/no-index-mark.js} +1 -1
- package/no-index/no-index-mark.js.map +1 -0
- package/no-index/no-index.d.ts +7 -0
- package/no-index/no-index.js +15 -0
- package/no-index/no-index.js.map +1 -0
- package/no-index/types.d.ts +9 -0
- package/no-index/types.js +3 -0
- package/no-index/types.js.map +1 -0
- package/no-index/utils.d.ts +13 -0
- package/no-index/utils.js +29 -0
- package/no-index/utils.js.map +1 -0
- package/package.json +20 -22
- package/pagination/pagination.js +1 -1
- package/pagination/pagination.js.map +1 -1
- package/panel/index.d.ts +2 -38
- package/panel/index.js +5 -53
- package/panel/index.js.map +1 -1
- package/panel/panel.d.ts +20 -0
- package/panel/panel.js +57 -0
- package/panel/panel.js.map +1 -0
- package/panel/types.d.ts +17 -0
- package/panel/types.js +3 -0
- package/panel/types.js.map +1 -0
- package/phone-input/index.js.map +1 -1
- package/phone-input/phone-input.d.ts +1 -1
- package/phone-input/phone-input.js +66 -39
- package/phone-input/phone-input.js.map +1 -1
- package/phone-input/phone-input.module.scss +7 -1
- package/phone-input/types.d.ts +9 -2
- package/plate/index.d.ts +2 -15
- package/plate/index.js +2 -16
- package/plate/index.js.map +1 -1
- package/plate/plate.d.ts +7 -0
- package/plate/plate.js +21 -0
- package/plate/plate.js.map +1 -0
- package/plate/types.d.ts +9 -0
- package/plate/types.js +3 -0
- package/plate/types.js.map +1 -0
- package/popup/index.js.map +1 -1
- package/popup/popup-view.d.ts +1 -1
- package/popup/popup-view.js +1 -1
- package/popup/popup.js +2 -2
- package/popup/popup.js.map +1 -1
- package/popup/utils.js +2 -2
- package/popup/utils.js.map +1 -1
- package/portal/index.d.ts +2 -13
- package/portal/index.js +2 -23
- package/portal/index.js.map +1 -1
- package/portal/portal.d.ts +8 -0
- package/portal/portal.js +27 -0
- package/portal/portal.js.map +1 -0
- package/portal/types.d.ts +7 -0
- package/portal/types.js +3 -0
- package/portal/types.js.map +1 -0
- package/price/index.d.ts +2 -20
- package/price/index.js +2 -20
- package/price/index.js.map +1 -1
- package/price/price.d.ts +7 -0
- package/price/price.js +24 -0
- package/price/price.js.map +1 -0
- package/price/types.d.ts +13 -0
- package/price/types.js +3 -0
- package/price/types.js.map +1 -0
- package/radio-button/index.d.ts +2 -10
- package/radio-button/index.js +2 -16
- package/radio-button/index.js.map +1 -1
- package/radio-button/radio-button.d.ts +7 -0
- package/radio-button/radio-button.js +20 -0
- package/radio-button/radio-button.js.map +1 -0
- package/radio-button/types.d.ts +4 -0
- package/radio-button/types.js +3 -0
- package/radio-button/types.js.map +1 -0
- package/range/index.d.ts +2 -108
- package/range/index.js +2 -258
- package/range/index.js.map +1 -1
- package/range/range.d.ts +84 -0
- package/range/range.js +261 -0
- package/range/range.js.map +1 -0
- package/range/types.d.ts +26 -0
- package/range/types.js +3 -0
- package/range/types.js.map +1 -0
- package/rating/index.d.ts +2 -16
- package/rating/index.js +2 -22
- package/rating/index.js.map +1 -1
- package/rating/rating.d.ts +7 -0
- package/rating/rating.js +26 -0
- package/rating/rating.js.map +1 -0
- package/rating/types.d.ts +9 -0
- package/select/parts/block.d.ts +1 -1
- package/select/parts/block.js +1 -1
- package/select/parts/button.d.ts +1 -1
- package/select/parts/button.js +1 -1
- package/select/parts/menu.d.ts +1 -1
- package/select/parts/menu.js +10 -13
- package/select/parts/menu.js.map +1 -1
- package/select/select.d.ts +1 -1
- package/select/select.js +20 -5
- package/select/select.js.map +1 -1
- package/select/types.d.ts +6 -2
- package/shadows.scss +40 -4
- package/side-page/index.d.ts +3 -39
- package/side-page/index.js +7 -55
- package/side-page/index.js.map +1 -1
- package/side-page/side-page.d.ts +13 -0
- package/side-page/side-page.js +58 -0
- package/side-page/side-page.js.map +1 -0
- package/side-page/types.d.ts +27 -0
- package/side-page/types.js +3 -0
- package/side-page/types.js.map +1 -0
- package/spinner/index.d.ts +2 -34
- package/spinner/index.js +5 -43
- package/spinner/index.js.map +1 -1
- package/spinner/spinner.d.ts +15 -0
- package/spinner/spinner.js +41 -0
- package/spinner/spinner.js.map +1 -0
- package/spinner/spinner.module.scss +12 -4
- package/spinner/types.d.ts +15 -0
- package/spinner/types.js +3 -0
- package/spinner/types.js.map +1 -0
- package/stepper/index.d.ts +2 -38
- package/stepper/index.js +2 -34
- package/stepper/index.js.map +1 -1
- package/stepper/stepper.d.ts +8 -0
- package/stepper/stepper.js +38 -0
- package/stepper/stepper.js.map +1 -0
- package/stepper/types.d.ts +31 -0
- package/stepper/types.js +3 -0
- package/stepper/types.js.map +1 -0
- package/stroked-svg/index.d.ts +2 -17
- package/stroked-svg/index.js +2 -15
- package/stroked-svg/index.js.map +1 -1
- package/stroked-svg/stroked-svg.d.ts +8 -0
- package/stroked-svg/stroked-svg.js +19 -0
- package/stroked-svg/stroked-svg.js.map +1 -0
- package/stroked-svg/types.d.ts +12 -0
- package/stroked-svg/types.js +3 -0
- package/stroked-svg/types.js.map +1 -0
- package/styling/borders.module.scss +3 -1
- package/styling/index.d.ts +6 -0
- package/styling/index.js +31 -0
- package/styling/index.js.map +1 -0
- package/styling/shadows.module.scss +12 -4
- package/styling/utils.d.ts +1 -1
- package/styling/utils.js +1 -1
- package/super-ellipse-clip-path/index.d.ts +2 -10
- package/super-ellipse-clip-path/index.js +2 -8
- package/super-ellipse-clip-path/index.js.map +1 -1
- package/super-ellipse-clip-path/super-ellipse-clip-path.d.ts +7 -0
- package/super-ellipse-clip-path/super-ellipse-clip-path.js +14 -0
- package/super-ellipse-clip-path/super-ellipse-clip-path.js.map +1 -0
- package/super-ellipse-clip-path/types.d.ts +4 -0
- package/super-ellipse-clip-path/types.js +3 -0
- package/super-ellipse-clip-path/types.js.map +1 -0
- package/switcher-row/index.d.ts +2 -42
- package/switcher-row/index.js +2 -52
- package/switcher-row/index.js.map +1 -1
- package/switcher-row/switcher-row.d.ts +29 -0
- package/switcher-row/switcher-row.js +56 -0
- package/switcher-row/switcher-row.js.map +1 -0
- package/switcher-row/types.d.ts +14 -0
- package/switcher-row/types.js +3 -0
- package/switcher-row/types.js.map +1 -0
- package/tabs/index.d.ts +2 -50
- package/tabs/index.js +4 -27
- package/tabs/index.js.map +1 -1
- package/tabs/tabs.d.ts +16 -0
- package/tabs/tabs.js +31 -0
- package/tabs/tabs.js.map +1 -0
- package/tabs/tabs.module.scss +1 -0
- package/tabs/types.d.ts +35 -0
- package/tabs/types.js +3 -0
- package/tabs/types.js.map +1 -0
- package/text/index.d.ts +2 -38
- package/text/index.js +5 -47
- package/text/index.js.map +1 -1
- package/text/text.d.ts +12 -0
- package/text/text.js +50 -0
- package/text/text.js.map +1 -0
- package/text/types.d.ts +28 -0
- package/text/types.js +3 -0
- package/text/types.js.map +1 -0
- package/text-button/index.d.ts +2 -42
- package/text-button/index.js +2 -28
- package/text-button/index.js.map +1 -1
- package/text-button/text-button.d.ts +8 -0
- package/text-button/text-button.js +38 -0
- package/text-button/text-button.js.map +1 -0
- package/text-button/types.d.ts +40 -0
- package/text-button/types.js +3 -0
- package/text-button/types.js.map +1 -0
- package/textarea/index.d.ts +2 -21
- package/textarea/index.js +2 -57
- package/textarea/index.js.map +1 -1
- package/textarea/textarea.d.ts +7 -0
- package/textarea/textarea.js +61 -0
- package/textarea/textarea.js.map +1 -0
- package/textarea/types.d.ts +15 -0
- package/textarea/types.js +3 -0
- package/textarea/types.js.map +1 -0
- package/timer/index.d.ts +2 -16
- package/timer/index.js +2 -20
- package/timer/index.js.map +1 -1
- package/timer/timer.d.ts +7 -0
- package/timer/timer.js +24 -0
- package/timer/timer.js.map +1 -0
- package/timer/types.d.ts +10 -1
- package/timer/utils.d.ts +3 -3
- package/timer/utils.js +5 -3
- package/timer/utils.js.map +1 -1
- package/toggle/index.d.ts +2 -7
- package/toggle/index.js +2 -15
- package/toggle/index.js.map +1 -1
- package/toggle/toggle.d.ts +5 -0
- package/toggle/toggle.js +21 -0
- package/toggle/toggle.js.map +1 -0
- package/toggle/types.d.ts +2 -0
- package/toggle/types.js +3 -0
- package/toggle/types.js.map +1 -0
- package/top-bar/top-bar.d.ts +2 -2
- package/top-bar/top-bar.js +6 -6
- package/top-bar/top-bar.js.map +1 -1
- package/top-bar/top-bar.module.scss +24 -10
- package/top-bar/types.d.ts +19 -8
- package/touch-slider/index.d.ts +2 -13
- package/touch-slider/index.js +2 -16
- package/touch-slider/index.js.map +1 -1
- package/touch-slider/touch-slider.d.ts +9 -0
- package/touch-slider/touch-slider.js +22 -0
- package/touch-slider/touch-slider.js.map +1 -0
- package/touch-slider/types.d.ts +5 -0
- package/touch-slider/types.js +3 -0
- package/touch-slider/types.js.map +1 -0
- package/types.d.ts +1 -1
- package/unknown-content/index.d.ts +2 -13
- package/unknown-content/index.js +2 -21
- package/unknown-content/index.js.map +1 -1
- package/unknown-content/types.d.ts +7 -0
- package/unknown-content/types.js +3 -0
- package/unknown-content/types.js.map +1 -0
- package/unknown-content/unknown-content.d.ts +8 -0
- package/unknown-content/unknown-content.js +26 -0
- package/unknown-content/unknown-content.js.map +1 -0
- package/upload-area/types.d.ts +2 -3
- package/upload-area/utils.js +2 -2
- package/upload-area/utils.js.map +1 -1
- package/_internal/dropdown-loading/index.d.ts +0 -9
- package/_internal/dropdown-loading/index.js.map +0 -1
- package/_internal/utils/dropdown.d.ts +0 -12
- package/_internal/utils/dropdown.js +0 -17
- package/_internal/utils/dropdown.js.map +0 -1
- package/autocomplete-deprecated/autocomplete.module.scss +0 -20
- package/autocomplete-deprecated/index.d.ts +0 -28
- package/autocomplete-deprecated/index.js +0 -95
- package/autocomplete-deprecated/index.js.map +0 -1
- package/base-input-deprecated/base-input.module.scss +0 -66
- package/base-input-deprecated/index.d.ts +0 -24
- package/base-input-deprecated/index.js +0 -43
- package/base-input-deprecated/index.js.map +0 -1
- package/bordered-layout/bordered-layout.module.scss +0 -7
- package/bordered-layout/index.d.ts +0 -16
- package/bordered-layout/index.js +0 -33
- package/bordered-layout/index.js.map +0 -1
- package/card/card.module.scss +0 -8
- package/card/index.d.ts +0 -17
- package/card/index.js +0 -46
- package/card/index.js.map +0 -1
- package/card/slots.d.ts +0 -41
- package/card/slots.js +0 -52
- package/card/slots.js.map +0 -1
- package/card/utils.d.ts +0 -3
- package/card/utils.js +0 -6
- package/card/utils.js.map +0 -1
- package/checkbox-field/checkbox-field.module.scss +0 -56
- package/checkbox-field/index.d.ts +0 -20
- package/checkbox-field/index.js +0 -23
- package/checkbox-field/index.js.map +0 -1
- package/chips/chips-item.d.ts +0 -16
- package/chips/chips-item.js +0 -22
- package/chips/chips-item.js.map +0 -1
- package/chips/chips-item.module.scss +0 -67
- package/chips/chips.d.ts +0 -18
- package/chips/chips.js +0 -26
- package/chips/chips.js.map +0 -1
- package/chips/chips.module.scss +0 -7
- package/chips/index.d.ts +0 -2
- package/chips/index.js +0 -8
- package/chips/index.js.map +0 -1
- package/field-grid/field-grid.module.scss +0 -30
- package/field-grid/index.d.ts +0 -65
- package/field-grid/index.js +0 -122
- package/field-grid/index.js.map +0 -1
- package/helpers/find-child-element.js.map +0 -1
- package/helpers/format-number.d.ts +0 -8
- package/helpers/format-number.js +0 -31
- package/helpers/format-number.js.map +0 -1
- package/helpers/get-no-index.d.ts +0 -8
- package/helpers/get-no-index.js +0 -14
- package/helpers/get-no-index.js.map +0 -1
- package/helpers/rename.d.ts +0 -13
- package/helpers/rename.js +0 -15
- package/helpers/rename.js.map +0 -1
- package/helpers/with-prevent.d.ts +0 -12
- package/helpers/with-prevent.js +0 -22
- package/helpers/with-prevent.js.map +0 -1
- package/hint-deprecated/hint.module.scss +0 -61
- package/hint-deprecated/index.d.ts +0 -11
- package/hint-deprecated/index.js +0 -17
- package/hint-deprecated/index.js.map +0 -1
- package/hooks/breakpoint/index.js.map +0 -1
- package/hooks/breakpoint/utils.js.map +0 -1
- package/hooks/identity.js.map +0 -1
- package/hooks/intersection/index.js.map +0 -1
- package/hooks/intersection/test-utils.js.map +0 -1
- package/hooks/keydown.js.map +0 -1
- package/hooks/media.js.map +0 -1
- package/hooks/styles.d.ts +0 -6
- package/hooks/styles.js +0 -27
- package/hooks/styles.js.map +0 -1
- package/loading-overlay/index.d.ts +0 -19
- package/loading-overlay/index.js +0 -20
- package/loading-overlay/index.js.map +0 -1
- package/loading-overlay/loading-overlay.module.scss +0 -14
- package/masked-field/index.d.ts +0 -23
- package/masked-field/index.js +0 -42
- package/masked-field/index.js.map +0 -1
- package/masked-input/hook.d.ts +0 -8
- package/masked-input/hook.js +0 -73
- package/masked-input/hook.js.map +0 -1
- package/no-index-mark/index.js.map +0 -1
- package/pagination-deprecated/base-pagination.d.ts +0 -56
- package/pagination-deprecated/base-pagination.js +0 -92
- package/pagination-deprecated/base-pagination.js.map +0 -1
- package/pagination-deprecated/index.d.ts +0 -22
- package/pagination-deprecated/index.js +0 -16
- package/pagination-deprecated/index.js.map +0 -1
- package/pagination-deprecated/page-button.d.ts +0 -16
- package/pagination-deprecated/page-button.js +0 -17
- package/pagination-deprecated/page-button.js.map +0 -1
- package/pagination-deprecated/pagination.module.scss +0 -76
- package/pagination-deprecated/utils.d.ts +0 -58
- package/pagination-deprecated/utils.js +0 -125
- package/pagination-deprecated/utils.js.map +0 -1
- package/phone-input-deprecated/index.d.ts +0 -29
- package/phone-input-deprecated/index.js +0 -96
- package/phone-input-deprecated/index.js.map +0 -1
- package/phone-input-deprecated/phone-input.module.scss +0 -41
- package/screen/index.d.ts +0 -27
- package/screen/index.js +0 -49
- package/screen/index.js.map +0 -1
- package/screen/screen.module.scss +0 -31
- package/screen/slots.d.ts +0 -28
- package/screen/slots.js +0 -70
- package/screen/slots.js.map +0 -1
- package/screen/utils.d.ts +0 -14
- package/screen/utils.js +0 -6
- package/screen/utils.js.map +0 -1
- package/select-deprecated/index.d.ts +0 -34
- package/select-deprecated/index.js +0 -77
- package/select-deprecated/index.js.map +0 -1
- package/select-deprecated/select.module.scss +0 -26
- package/text-field/index.d.ts +0 -69
- package/text-field/index.js +0 -79
- package/text-field/index.js.map +0 -1
- package/text-field/text-field.module.scss +0 -205
- package/tooltip/index.d.ts +0 -18
- package/tooltip/index.js +0 -20
- package/tooltip/index.js.map +0 -1
- package/tooltip/tooltip.module.scss +0 -49
- package/with-hint/index.d.ts +0 -31
- package/with-hint/index.js +0 -49
- package/with-hint/index.js.map +0 -1
- package/with-hint/positioning-hint.d.ts +0 -12
- package/with-hint/positioning-hint.js +0 -32
- package/with-hint/positioning-hint.js.map +0 -1
- package/with-hint/positioning-hint.module.scss +0 -10
- package/with-hint/utils.d.ts +0 -17
- package/with-hint/utils.js +0 -51
- package/with-hint/utils.js.map +0 -1
- package/with-tooltip/index.d.ts +0 -18
- package/with-tooltip/index.js +0 -24
- package/with-tooltip/index.js.map +0 -1
- package/with-tooltip/positioning-tooltip.d.ts +0 -15
- package/with-tooltip/positioning-tooltip.js +0 -59
- package/with-tooltip/positioning-tooltip.js.map +0 -1
- package/with-tooltip/utils.d.ts +0 -38
- package/with-tooltip/utils.js +0 -163
- package/with-tooltip/utils.js.map +0 -1
- /package/_internal/{readme.md → README.md} +0 -0
- /package/{hooks/breakpoint → _internal/custom-scrollbar}/types.js +0 -0
- /package/{_internal/dropdown-loading/index.module.scss → dropdown/dropdown-loading.module.scss} +0 -0
- /package/hooks/{breakpoint → use-breakpoint}/index.d.ts +0 -0
- /package/hooks/{breakpoint → use-breakpoint}/types.d.ts +0 -0
- /package/hooks/{intersection → use-intersection}/index.d.ts +0 -0
- /package/hooks/{intersection → use-intersection}/test-utils.d.ts +0 -0
- /package/hooks/{intersection → use-intersection}/test-utils.js +0 -0
- /package/hooks/{keydown.d.ts → use-keydown/index.d.ts} +0 -0
- /package/stroked-svg/{index.module.scss → stroked-svg.module.scss} +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# UI-nucleons
|
|
2
|
+
|
|
3
|
+
В этом проекте собраны UI-компоненты, реализующие правила дизайн-системы, а также компоненты и утилиты, которые помогают решать распространенные задачи разработки UI.
|
|
4
|
+
|
|
5
|
+
## Использование
|
|
6
|
+
|
|
7
|
+
### Установка
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
# с помощью npm
|
|
11
|
+
npm i -S @sima-land/ui-nucleons
|
|
12
|
+
|
|
13
|
+
# или с помощью yarn
|
|
14
|
+
yarn add @sima-land/ui-nucleons
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Настройка среды
|
|
18
|
+
|
|
19
|
+
В библиотеке используются:
|
|
20
|
+
|
|
21
|
+
- импорты изображений (jpg, png...) как url/base64
|
|
22
|
+
- импорты стилей
|
|
23
|
+
- импорты стилей как css-модулей (каждый такой файл промаркирован в виде `%filename%.module.scss`)
|
|
24
|
+
|
|
25
|
+
#### Для работы с Webpack
|
|
26
|
+
|
|
27
|
+
Необходимо сконфигурировать сборку подобным образом:
|
|
28
|
+
|
|
29
|
+
```js
|
|
30
|
+
// webpack.config.js
|
|
31
|
+
module.exports = {
|
|
32
|
+
module: {
|
|
33
|
+
rules: [
|
|
34
|
+
// стили
|
|
35
|
+
{
|
|
36
|
+
test: /\.(css|scss)$/,
|
|
37
|
+
use: [
|
|
38
|
+
'style-loader',
|
|
39
|
+
{
|
|
40
|
+
loader: 'css-loader',
|
|
41
|
+
options: {
|
|
42
|
+
modules: {
|
|
43
|
+
auto: /\.module\.(css|scss)$/,
|
|
44
|
+
localIdentName: '[name]__[local]--[hash:hex:3]',
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
'sass-loader',
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
// картинки
|
|
53
|
+
{
|
|
54
|
+
test: /\.(apng|avif|gif|jpg|jpeg|png|webp)$/,
|
|
55
|
+
type: 'asset/resource',
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
#### Для работы с Jest
|
|
63
|
+
|
|
64
|
+
Необходимо сконфигурировать среду Jest подобно тому как это сделано в данном репозитории (`jest.config.ts`).
|
|
65
|
+
|
|
66
|
+
#### Декларации типов для TypeScript
|
|
67
|
+
|
|
68
|
+
в `src/custom.d.ts` необходимо указать:
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
// css-модули
|
|
72
|
+
declare module '*.module.css' {
|
|
73
|
+
const classes: { [key: string]: string };
|
|
74
|
+
export default classes;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// css-модули с синтаксисом SCSS
|
|
78
|
+
declare module '*.module.scss' {
|
|
79
|
+
const classes: { [key: string]: string };
|
|
80
|
+
export default classes;
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Разработка и поддержка
|
|
85
|
+
|
|
86
|
+
### Принципы библиотеки
|
|
87
|
+
|
|
88
|
+
- в библиотеке не должно быть HOC (компонентов высшего порядка - функций, возвращающих компонент)
|
|
89
|
+
- компонент интерфейса не должен иметь внешних отступов по умолчанию
|
|
90
|
+
|
|
91
|
+
### Структура библиотеки
|
|
92
|
+
|
|
93
|
+
`src/` - директория со всеми компонентами библиотеки
|
|
94
|
+
|
|
95
|
+
- `something/` - директория с компонентом
|
|
96
|
+
- `__stories__/`
|
|
97
|
+
- `index.stories.tsx` - описание компонента для storybook
|
|
98
|
+
- `__test__/`
|
|
99
|
+
- `index.test.tsx` - unit-тесты
|
|
100
|
+
- `index.tsx` - файл, с именованными экспортами компонента и интерфейса
|
|
101
|
+
- `helpers/` - общие вспомогательные функции (для использования вне библиотеки)
|
|
102
|
+
- `hooks/` - общие react-хуки (для использования вне библиотеки)
|
|
103
|
+
- `_internal/` - внутренние скрипты для использования только в рамках данной библиотеки
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { UseOverlayScrollbarsInitialization, UseOverlayScrollbarsInstance } from 'overlayscrollbars-react';
|
|
3
|
+
import type { CustomScrollbarProps } from './types';
|
|
4
|
+
import 'overlayscrollbars/overlayscrollbars.css';
|
|
5
|
+
/**
|
|
6
|
+
* Блок с кастомными полосами прокрутки.
|
|
7
|
+
* @param props Свойства.
|
|
8
|
+
* @return Элемент.
|
|
9
|
+
* @todo Переименовать в StyledScrollbars и вынести из _internal?
|
|
10
|
+
*/
|
|
11
|
+
export declare function CustomScrollbar({ children, style, className, overflow, rootRef, viewportRef, viewportProps, ...restProps }: CustomScrollbarProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
export declare function useOverlayScrollbarsInit(initialize: UseOverlayScrollbarsInitialization, getInstance: UseOverlayScrollbarsInstance, rootRef: RefObject<HTMLDivElement>, viewportRef: RefObject<HTMLDivElement>): void;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useOverlayScrollbarsInit = exports.CustomScrollbar = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const overlayscrollbars_react_1 = require("overlayscrollbars-react");
|
|
10
|
+
const hooks_1 = require("../../hooks");
|
|
11
|
+
const bind_1 = __importDefault(require("classnames/bind"));
|
|
12
|
+
// ВАЖНО: сначала стили overlayscrollbars затем местные для правильной специфичности
|
|
13
|
+
require("overlayscrollbars/overlayscrollbars.css");
|
|
14
|
+
const custom_scrollbar_module_scss_1 = __importDefault(require("./custom-scrollbar.module.scss"));
|
|
15
|
+
const cx = bind_1.default.bind(custom_scrollbar_module_scss_1.default);
|
|
16
|
+
/**
|
|
17
|
+
* Блок с кастомными полосами прокрутки.
|
|
18
|
+
* @param props Свойства.
|
|
19
|
+
* @return Элемент.
|
|
20
|
+
* @todo Переименовать в StyledScrollbars и вынести из _internal?
|
|
21
|
+
*/
|
|
22
|
+
function CustomScrollbar({ children, style, className, overflow, rootRef, viewportRef, viewportProps, ...restProps }) {
|
|
23
|
+
const ref = (0, react_1.useRef)(null);
|
|
24
|
+
(0, react_1.useImperativeHandle)(rootRef, () => { var _a; return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.getElement(); });
|
|
25
|
+
(0, react_1.useImperativeHandle)(viewportRef, () => { var _a, _b; return (_b = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.osInstance()) === null || _b === void 0 ? void 0 : _b.elements().viewport; });
|
|
26
|
+
return ((0, jsx_runtime_1.jsx)(OverlayScrollbarsComponent, { ...restProps, ref: ref, defer: false, style: style, className: cx('root', className), viewportProps: viewportProps, options: {
|
|
27
|
+
// костыль из-за https://github.com/KingSora/OverlayScrollbars/issues/586
|
|
28
|
+
...(overflow && { overflow }),
|
|
29
|
+
scrollbars: {
|
|
30
|
+
theme: cx('theme'),
|
|
31
|
+
},
|
|
32
|
+
}, children: children }));
|
|
33
|
+
}
|
|
34
|
+
exports.CustomScrollbar = CustomScrollbar;
|
|
35
|
+
/**
|
|
36
|
+
* Аналог OverlayScrollbarsComponent из пакета 'overlayscrollbars-react'.
|
|
37
|
+
* Использует useIsomorphicLayoutEffect вместо useEffect.
|
|
38
|
+
*/
|
|
39
|
+
const OverlayScrollbarsComponent = (0, react_1.forwardRef)((props, ref) => {
|
|
40
|
+
const { options, events, defer, children, viewportProps, ...rootProps } = props;
|
|
41
|
+
const rootRef = (0, react_1.useRef)(null);
|
|
42
|
+
const viewportRef = (0, react_1.useRef)(null);
|
|
43
|
+
const [initialize, getInstance] = (0, overlayscrollbars_react_1.useOverlayScrollbars)({ options, events, defer });
|
|
44
|
+
(0, react_1.useImperativeHandle)(ref, () => ({
|
|
45
|
+
/** @inheritdoc */
|
|
46
|
+
osInstance() {
|
|
47
|
+
return getInstance();
|
|
48
|
+
},
|
|
49
|
+
/** @inheritdoc */
|
|
50
|
+
getElement() {
|
|
51
|
+
return rootRef.current;
|
|
52
|
+
},
|
|
53
|
+
}), [initialize, getInstance]);
|
|
54
|
+
useOverlayScrollbarsInit(initialize, getInstance, rootRef, viewportRef);
|
|
55
|
+
return ((0, jsx_runtime_1.jsx)("div", { ...rootProps, ref: rootRef, children: (0, jsx_runtime_1.jsx)("div", { ...viewportProps, ref: viewportRef, children: children }) }));
|
|
56
|
+
});
|
|
57
|
+
/** @inheritdoc */
|
|
58
|
+
function useOverlayScrollbarsInit(initialize, getInstance, rootRef, viewportRef) {
|
|
59
|
+
(0, hooks_1.useIsomorphicLayoutEffect)(() => {
|
|
60
|
+
const { current: root } = rootRef;
|
|
61
|
+
const { current: viewport } = viewportRef;
|
|
62
|
+
if (root && viewport) {
|
|
63
|
+
initialize({
|
|
64
|
+
target: root,
|
|
65
|
+
elements: {
|
|
66
|
+
viewport,
|
|
67
|
+
content: viewport,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return () => {
|
|
72
|
+
var _a;
|
|
73
|
+
(_a = getInstance()) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
74
|
+
};
|
|
75
|
+
}, [initialize, getInstance]);
|
|
76
|
+
}
|
|
77
|
+
exports.useOverlayScrollbarsInit = useOverlayScrollbarsInit;
|
|
78
|
+
//# sourceMappingURL=custom-scrollbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-scrollbar.js","sourceRoot":"","sources":["../../../src/_internal/custom-scrollbar/custom-scrollbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,54 +1,49 @@
|
|
|
1
1
|
@use '../../colors';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
$track-bound: 16px;
|
|
5
|
-
|
|
6
|
-
.custom-scrollbar {
|
|
3
|
+
.root {
|
|
7
4
|
max-width: 100%;
|
|
8
5
|
max-height: 100%;
|
|
9
6
|
}
|
|
10
7
|
|
|
11
|
-
.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
.theme:global(.os-scrollbar) {
|
|
9
|
+
--os-size: 12px;
|
|
10
|
+
--os-padding-axis: 4px;
|
|
11
|
+
--os-padding-perpendicular: 0;
|
|
12
|
+
|
|
13
|
+
--os-track-border: none;
|
|
14
|
+
--os-track-border-hover: none;
|
|
15
|
+
--os-track-border-active: none;
|
|
16
|
+
--os-track-border-radius: 0;
|
|
17
|
+
--os-track-bg: none;
|
|
18
|
+
--os-track-bg-hover: none;
|
|
19
|
+
--os-track-bg-active: none;
|
|
20
|
+
|
|
21
|
+
--os-handle-border-radius: 2px;
|
|
22
|
+
--os-handle-bg: #{colors.$basic-gray12};
|
|
23
|
+
--os-handle-bg-hover: #{colors.$basic-gray24};
|
|
24
|
+
--os-handle-bg-active: #{colors.$basic-gray24};
|
|
25
|
+
--os-handle-border: none;
|
|
26
|
+
--os-handle-border-hover: none;
|
|
27
|
+
--os-handle-border-active: none;
|
|
28
|
+
--os-handle-min-size: 33px;
|
|
29
|
+
--os-handle-max-size: none;
|
|
30
|
+
--os-handle-perpendicular-size: 4px;
|
|
31
|
+
--os-handle-perpendicular-size-hover: 4px;
|
|
32
|
+
--os-handle-perpendicular-size-active: 4px;
|
|
33
|
+
--os-handle-interactive-area-offset: 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.theme :global(.os-scrollbar-handle) {
|
|
37
|
+
transition:
|
|
38
|
+
opacity 0.15s,
|
|
39
|
+
background-color 0.15s,
|
|
40
|
+
border-color 0.15s;
|
|
18
41
|
}
|
|
19
42
|
|
|
20
|
-
.
|
|
21
|
-
|
|
22
|
-
> :global(.os-scrollbar-vertical) {
|
|
23
|
-
width: 12px !important;
|
|
24
|
-
padding: 0 !important;
|
|
25
|
-
top: $track-bound !important;
|
|
26
|
-
bottom: $track-bound !important;
|
|
27
|
-
:global(.os-scrollbar-handle) {
|
|
28
|
-
left: 4px !important;
|
|
29
|
-
width: 4px !important;
|
|
30
|
-
&::before {
|
|
31
|
-
left: -4px !important;
|
|
32
|
-
right: -4px !important;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
43
|
+
.theme:global(.os-scrollbar-horizontal) :global(.os-scrollbar-handle) {
|
|
44
|
+
margin-bottom: 4px;
|
|
36
45
|
}
|
|
37
46
|
|
|
38
|
-
.
|
|
39
|
-
|
|
40
|
-
> :global(.os-scrollbar-horizontal) {
|
|
41
|
-
height: 12px !important;
|
|
42
|
-
padding: 0 !important;
|
|
43
|
-
left: $track-bound !important;
|
|
44
|
-
right: $track-bound !important;
|
|
45
|
-
:global(.os-scrollbar-handle) {
|
|
46
|
-
top: 4px !important;
|
|
47
|
-
bottom: 4px !important;
|
|
48
|
-
&::before {
|
|
49
|
-
top: -4px !important;
|
|
50
|
-
bottom: -4px !important;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
47
|
+
.theme:global(.os-scrollbar-vertical) :global(.os-scrollbar-handle) {
|
|
48
|
+
margin-right: 4px;
|
|
54
49
|
}
|
|
@@ -1,42 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import 'overlayscrollbars/css/OverlayScrollbars.css';
|
|
4
|
-
type Options = NonNullable<OverlayScrollbarsComponentProps['options']>;
|
|
5
|
-
export interface CustomScrollbarProps {
|
|
6
|
-
/** Стили. */
|
|
7
|
-
style?: CSSProperties;
|
|
8
|
-
/** Класс. */
|
|
9
|
-
className?: string;
|
|
10
|
-
/** Содержимое. */
|
|
11
|
-
children?: ReactNode;
|
|
12
|
-
/** Опции переполнения. */
|
|
13
|
-
overflow?: Options['overflowBehavior'];
|
|
14
|
-
/** Необходимо поставить true если нужно использовать внутри flexbox-родителя. */
|
|
15
|
-
inFlexBox?: boolean;
|
|
16
|
-
/** Сработает при полной прокрутке. */
|
|
17
|
-
onFullScroll?: () => void;
|
|
18
|
-
/** Запас для определения полной прокрутки. */
|
|
19
|
-
fullScrollThreshold?: number;
|
|
20
|
-
/** Реф для экземпляра компонента OverlayScrollbarsComponent. */
|
|
21
|
-
osComponentRef?: Ref<OverlayScrollbarsComponent>;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Компонент блока с кастомными полосами прокрутки по гайдам.
|
|
25
|
-
* @param props Свойства.
|
|
26
|
-
* @return Элемент.
|
|
27
|
-
*/
|
|
28
|
-
export declare function CustomScrollbar({ osComponentRef, style, className, children, overflow, inFlexBox, onFullScroll, fullScrollThreshold, }: CustomScrollbarProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
-
/**
|
|
30
|
-
* Возвращает обработчик прокрутки, который вызовет callback при полной прокрутке.
|
|
31
|
-
* @param callback Callback.
|
|
32
|
-
* @param threshold Запас.
|
|
33
|
-
* @return Обработчик.
|
|
34
|
-
*/
|
|
35
|
-
export declare function useFullScroll(callback: VoidFunction | undefined, threshold?: number): (event: UIEvent | ReactUIEvent | undefined) => void;
|
|
36
|
-
/**
|
|
37
|
-
* Получив OverlayScrollbarsComponent вернет элемент-viewport или null.
|
|
38
|
-
* @param component Экземпляр OverlayScrollbarsComponent.
|
|
39
|
-
* @return Элемент или null.
|
|
40
|
-
*/
|
|
41
|
-
export declare function getViewport(component: OverlayScrollbarsComponent | undefined | null): HTMLElement | null;
|
|
42
|
-
export {};
|
|
1
|
+
export type { CustomScrollbarProps } from './types';
|
|
2
|
+
export { CustomScrollbar } from './custom-scrollbar';
|
|
@@ -1,57 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const overlayscrollbars_react_1 = require("overlayscrollbars-react");
|
|
10
|
-
const bind_1 = __importDefault(require("classnames/bind"));
|
|
11
|
-
const custom_scrollbar_module_scss_1 = __importDefault(require("./custom-scrollbar.module.scss"));
|
|
12
|
-
const identity_1 = require("../../hooks/identity");
|
|
13
|
-
require("overlayscrollbars/css/OverlayScrollbars.css");
|
|
14
|
-
const cx = bind_1.default.bind(custom_scrollbar_module_scss_1.default);
|
|
15
|
-
/**
|
|
16
|
-
* Компонент блока с кастомными полосами прокрутки по гайдам.
|
|
17
|
-
* @param props Свойства.
|
|
18
|
-
* @return Элемент.
|
|
19
|
-
*/
|
|
20
|
-
function CustomScrollbar({ osComponentRef, style, className, children, overflow, inFlexBox = false, onFullScroll, fullScrollThreshold, }) {
|
|
21
|
-
const onScrollStop = useFullScroll(onFullScroll, fullScrollThreshold);
|
|
22
|
-
return ((0, jsx_runtime_1.jsx)(overlayscrollbars_react_1.OverlayScrollbarsComponent, { ref: osComponentRef, style: style, className: cx('custom-scrollbar', className, { 'os-host-flexbox': inFlexBox }), options: {
|
|
23
|
-
overflowBehavior: overflow,
|
|
24
|
-
callbacks: { onScrollStop },
|
|
25
|
-
}, children: children }));
|
|
26
|
-
}
|
|
27
|
-
exports.CustomScrollbar = CustomScrollbar;
|
|
28
|
-
/**
|
|
29
|
-
* Возвращает обработчик прокрутки, который вызовет callback при полной прокрутке.
|
|
30
|
-
* @param callback Callback.
|
|
31
|
-
* @param threshold Запас.
|
|
32
|
-
* @return Обработчик.
|
|
33
|
-
*/
|
|
34
|
-
function useFullScroll(callback, threshold = 16) {
|
|
35
|
-
const callbackRef = (0, identity_1.useIdentityRef)(callback);
|
|
36
|
-
// ВАЖНО: overlayscrollbars не реагирует на замену callback'а onScrollStop на undefined поэтому проверяем сами
|
|
37
|
-
const handleScrollStop = (0, react_1.useMemo)(() => (event) => {
|
|
38
|
-
var _a;
|
|
39
|
-
const el = event === null || event === void 0 ? void 0 : event.target;
|
|
40
|
-
el instanceof Element &&
|
|
41
|
-
el.scrollTop >= el.scrollHeight - el.clientHeight - threshold &&
|
|
42
|
-
((_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef));
|
|
43
|
-
}, []);
|
|
44
|
-
return handleScrollStop;
|
|
45
|
-
}
|
|
46
|
-
exports.useFullScroll = useFullScroll;
|
|
47
|
-
/**
|
|
48
|
-
* Получив OverlayScrollbarsComponent вернет элемент-viewport или null.
|
|
49
|
-
* @param component Экземпляр OverlayScrollbarsComponent.
|
|
50
|
-
* @return Элемент или null.
|
|
51
|
-
*/
|
|
52
|
-
function getViewport(component) {
|
|
53
|
-
var _a;
|
|
54
|
-
return ((_a = component === null || component === void 0 ? void 0 : component.osInstance()) === null || _a === void 0 ? void 0 : _a.getElements().viewport) || null;
|
|
55
|
-
}
|
|
56
|
-
exports.getViewport = getViewport;
|
|
3
|
+
exports.CustomScrollbar = void 0;
|
|
4
|
+
var custom_scrollbar_1 = require("./custom-scrollbar");
|
|
5
|
+
Object.defineProperty(exports, "CustomScrollbar", { enumerable: true, get: function () { return custom_scrollbar_1.CustomScrollbar; } });
|
|
57
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_internal/custom-scrollbar/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_internal/custom-scrollbar/index.ts"],"names":[],"mappings":";;;AACA,uDAAqD;AAA5C,mHAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CSSProperties, HTMLAttributes, ReactNode, Ref } from 'react';
|
|
2
|
+
import type { PartialOptions } from 'overlayscrollbars';
|
|
3
|
+
export interface CustomScrollbarProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
/** Стили. */
|
|
5
|
+
style?: CSSProperties;
|
|
6
|
+
/** Класс. */
|
|
7
|
+
className?: string;
|
|
8
|
+
/** Содержимое. */
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
/** Опции переполнения. */
|
|
11
|
+
overflow?: PartialOptions['overflow'];
|
|
12
|
+
/** Реф корневого элемента. */
|
|
13
|
+
rootRef?: Ref<HTMLDivElement>;
|
|
14
|
+
/** Реф внутреннего элемента с прокруткой. */
|
|
15
|
+
viewportRef?: Ref<HTMLDivElement>;
|
|
16
|
+
/** Свойства внутреннего элемента с прокруткой. */
|
|
17
|
+
viewportProps?: HTMLAttributes<HTMLDivElement>;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/_internal/custom-scrollbar/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Обертка, позволяющая следить за жизненным циклом компонента.
|
|
4
|
+
* @param props Свойства.
|
|
5
|
+
* @return Элемент.
|
|
6
|
+
*/
|
|
7
|
+
export declare function Lifecycle({ children, onMount, onUnmount, }: {
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
onMount?: VoidFunction;
|
|
10
|
+
onUnmount?: VoidFunction;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Lifecycle = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
/**
|
|
7
|
+
* Обертка, позволяющая следить за жизненным циклом компонента.
|
|
8
|
+
* @param props Свойства.
|
|
9
|
+
* @return Элемент.
|
|
10
|
+
*/
|
|
11
|
+
function Lifecycle({
|
|
12
|
+
// @todo onMountSync (useLayoutEffect)
|
|
13
|
+
children, onMount, onUnmount, }) {
|
|
14
|
+
(0, react_1.useEffect)(() => {
|
|
15
|
+
onMount === null || onMount === void 0 ? void 0 : onMount();
|
|
16
|
+
return () => {
|
|
17
|
+
onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
|
|
18
|
+
};
|
|
19
|
+
}, []);
|
|
20
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
|
|
21
|
+
}
|
|
22
|
+
exports.Lifecycle = Lifecycle;
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_internal/lifecycle/index.tsx"],"names":[],"mappings":";;;;AAAA,iCAA6C;AAE7C;;;;GAIG;AACH,SAAgB,SAAS,CAAC;AACxB,sCAAsC;AACtC,QAAQ,EACR,OAAO,EACP,SAAS,GAKV;IACC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;QAEZ,OAAO,GAAG,EAAE;YACV,SAAS,aAAT,SAAS,uBAAT,SAAS,EAAI,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,2DAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAnBD,8BAmBC"}
|
|
@@ -7,7 +7,7 @@ import { disableBodyScroll, enableBodyScroll, BodyScrollOptions } from 'body-scr
|
|
|
7
7
|
*/
|
|
8
8
|
export declare const BSL_IGNORE_ATTR = "data-bsl-ignore";
|
|
9
9
|
/** Адаптер блокировки прокрутки использующий BSL. */
|
|
10
|
-
export declare class
|
|
10
|
+
export declare class PageScrollLockAdapterBSL implements PageScrollLockAdapter {
|
|
11
11
|
private element;
|
|
12
12
|
private options?;
|
|
13
13
|
lib: {
|
|
@@ -25,7 +25,7 @@ export declare class PageScrollLock implements PageScrollLockAdapter {
|
|
|
25
25
|
* Полезен для использования версии BSL, отличной от той что используется в библиотеке.
|
|
26
26
|
* @param lib Библиотека body-scroll-lock.
|
|
27
27
|
*/
|
|
28
|
-
replaceLib(lib:
|
|
28
|
+
replaceLib(lib: PageScrollLockAdapterBSL['lib']): void;
|
|
29
29
|
/** @inheritdoc */
|
|
30
30
|
lock(): void;
|
|
31
31
|
/** @inheritdoc */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.allowTouchMove = exports.
|
|
3
|
+
exports.allowTouchMove = exports.PageScrollLockAdapterBSL = exports.BSL_IGNORE_ATTR = void 0;
|
|
4
4
|
const body_scroll_lock_1 = require("body-scroll-lock");
|
|
5
5
|
/**
|
|
6
6
|
* Имя атрибута, устанавливаемого на элемент, имеющий прокрутку.
|
|
@@ -9,7 +9,7 @@ const body_scroll_lock_1 = require("body-scroll-lock");
|
|
|
9
9
|
*/
|
|
10
10
|
exports.BSL_IGNORE_ATTR = 'data-bsl-ignore';
|
|
11
11
|
/** Адаптер блокировки прокрутки использующий BSL. */
|
|
12
|
-
class
|
|
12
|
+
class PageScrollLockAdapterBSL {
|
|
13
13
|
/**
|
|
14
14
|
* Конструктор.
|
|
15
15
|
* @param element Целевой элемент для которого надо сохранить прокрутку.
|
|
@@ -43,7 +43,7 @@ class PageScrollLock {
|
|
|
43
43
|
this.lib.enableBodyScroll(this.element);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
exports.
|
|
46
|
+
exports.PageScrollLockAdapterBSL = PageScrollLockAdapterBSL;
|
|
47
47
|
/**
|
|
48
48
|
* Проверяет необходимость блокировки дочерних элементов в прокручиваемом элементе.
|
|
49
49
|
* Необходима для того, чтобы в прокручиваемых контейнерах вложенные прокручиваемые элементы,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body-scroll-lock.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/body-scroll-lock.ts"],"names":[],"mappings":";;;AACA,uDAA0F;AAE1F;;;;GAIG;AACU,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAEjD,qDAAqD;AACrD,MAAa,
|
|
1
|
+
{"version":3,"file":"body-scroll-lock.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/body-scroll-lock.ts"],"names":[],"mappings":";;;AACA,uDAA0F;AAE1F;;;;GAIG;AACU,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAEjD,qDAAqD;AACrD,MAAa,wBAAwB;IASnC;;;;OAIG;IACH,YAAY,OAAgB,EAAE,OAA2B;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG;YACT,iBAAiB,EAAjB,oCAAiB;YACjB,gBAAgB,EAAhB,mCAAgB;SACjB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAAoC;QAC7C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,IAAI;QACF,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;YACvC,GAAG,IAAI,CAAC,OAAO;YACf,cAAc,EAAd,sBAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM;QACJ,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AA5CD,4DA4CC;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAkD,CAAC,OAAO,EAAW,EAAE;IAChG,IAAI,EAAE,GAAiC,OAAO,CAAC;IAE/C,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE;QACjC,IAAI,EAAE,CAAC,YAAY,CAAC,uBAAe,CAAC,KAAK,IAAI,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QAED,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;KACvB;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { PageScrollLockAdapter, PageScrollLockOptions } from '../types';
|
|
2
2
|
/** Адаптер блокировки прокрутки использующий внутреннее решение ui-nucleons. */
|
|
3
|
-
export declare class
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export declare class PageScrollLockAdapterNucleons implements PageScrollLockAdapter {
|
|
4
|
+
protected options?: PageScrollLockOptions;
|
|
5
|
+
protected bodyStyle?: StyleAffect;
|
|
6
6
|
/**
|
|
7
7
|
* Конструктор.
|
|
8
8
|
* @param options Опции.
|
|
@@ -16,10 +16,35 @@ export declare class PageScrollLock implements PageScrollLockAdapter {
|
|
|
16
16
|
* Определяет заблокирована ли прокрутка.
|
|
17
17
|
* @return True если прокрутка заблокирована.
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
protected isLocked(): boolean;
|
|
20
20
|
/**
|
|
21
21
|
* Определяет ширину полосы прокрутки.
|
|
22
22
|
* @return Ширина в пикселях.
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
protected getScrollbarWidth(): number;
|
|
25
|
+
}
|
|
26
|
+
/** Промежуточный слой для установки стилей на элемент с возможностью восстановления состояния. */
|
|
27
|
+
export declare class StyleAffect {
|
|
28
|
+
protected element: HTMLElement;
|
|
29
|
+
protected changes: Map<string, {
|
|
30
|
+
oldValue: string;
|
|
31
|
+
oldPriority: string | undefined;
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* @param element Целевой элемент.
|
|
35
|
+
*/
|
|
36
|
+
constructor(element: HTMLElement);
|
|
37
|
+
/**
|
|
38
|
+
* Устанавливает стили на элемент и запоминает предыдущее значение.
|
|
39
|
+
* @param prop Имя свойства.
|
|
40
|
+
* @param value Значение.
|
|
41
|
+
* @param priority Приоритет.
|
|
42
|
+
* @return Экземпляр.
|
|
43
|
+
*/
|
|
44
|
+
set(prop: string, value: string | null, priority?: string): this;
|
|
45
|
+
/**
|
|
46
|
+
* Откатывает стили.
|
|
47
|
+
* @return Экземпляр.
|
|
48
|
+
*/
|
|
49
|
+
restore(): this;
|
|
25
50
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.StyleAffect = exports.PageScrollLockAdapterNucleons = void 0;
|
|
4
4
|
const MARK_ATTR = 'data-scroll-locked';
|
|
5
5
|
/** Адаптер блокировки прокрутки использующий внутреннее решение ui-nucleons. */
|
|
6
|
-
class
|
|
6
|
+
class PageScrollLockAdapterNucleons {
|
|
7
7
|
/**
|
|
8
8
|
* Конструктор.
|
|
9
9
|
* @param options Опции.
|
|
@@ -62,7 +62,7 @@ class PageScrollLock {
|
|
|
62
62
|
return scrollBarWidth;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
exports.
|
|
65
|
+
exports.PageScrollLockAdapterNucleons = PageScrollLockAdapterNucleons;
|
|
66
66
|
/** Промежуточный слой для установки стилей на элемент с возможностью восстановления состояния. */
|
|
67
67
|
class StyleAffect {
|
|
68
68
|
/**
|
|
@@ -101,4 +101,5 @@ class StyleAffect {
|
|
|
101
101
|
return this;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
+
exports.StyleAffect = StyleAffect;
|
|
104
105
|
//# sourceMappingURL=ui-nucleons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-nucleons.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/ui-nucleons.ts"],"names":[],"mappings":";;;AAEA,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,gFAAgF;AAChF,MAAa,
|
|
1
|
+
{"version":3,"file":"ui-nucleons.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/ui-nucleons.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* @param props Свойства.
|
|
5
|
-
* @return Элемент.
|
|
6
|
-
*/
|
|
7
|
-
export declare function PageScrollProvider({ children, adapter }: PageScrollLockProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
/**
|
|
9
|
-
* Хук использования реализации блокировки прокрутки.
|
|
10
|
-
* @return Реализация.
|
|
11
|
-
*/
|
|
12
|
-
export declare function usePageScrollContext(): PageScrollLockContextValue;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { PageScrollLockContextValue } from './types';
|
|
3
|
+
export declare const PageScrollLockContext: import("react").Context<PageScrollLockContextValue>;
|