@sima-land/ui-nucleons 45.0.0-alpha.10 → 45.0.0-alpha.12
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 +138 -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.m.scss +49 -0
- 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.m.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 +87 -23
- 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 +5 -5
- package/avatar/avatar.js.map +1 -1
- package/avatar/utils.js +5 -5
- package/avatar/utils.js.map +1 -1
- package/base-input/base-input.d.ts +1 -1
- package/base-input/base-input.js +3 -3
- package/base-input/base-input.js.map +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 +7 -8
- package/bottom-bar/bottom-bar.js.map +1 -1
- package/bottom-bar/{bottom-bar.module.scss → bottom-bar.m.scss} +12 -1
- 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 +5 -9
- 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 +3 -3
- package/chip/chip.js.map +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.m.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.m.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 +25 -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 → dot-nav.m.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 → dropdown.m.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/expandable/utils.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 → field-block.m.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 → file-icon.m.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/group-overflow/utils.js.map +1 -1
- 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-offset-parent.js.map +1 -1
- 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.d.ts +2 -7
- package/helpers/format-date.js +10 -14
- 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 +16 -23
- 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/get-scroll-parent.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/is-fully-scrolled.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/media-query-list.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/hint-view.js +2 -2
- package/hint/hint-view.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 +20 -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/{intersection → use-intersection}/test-utils.d.ts +6 -0
- package/hooks/{intersection → use-intersection}/test-utils.js +3 -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/input/utils.js.map +1 -1
- package/layout/layout.d.ts +2 -5
- package/layout/layout.js +3 -3
- package/layout/layout.js.map +1 -1
- package/layout/layout.m.scss +87 -0
- package/layout/legacy.d.ts +2 -2
- package/layout/legacy.js +2 -2
- package/layout/legacy.js.map +1 -1
- 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.m.scss +79 -0
- package/modal/slots.d.ts +7 -24
- package/modal/slots.js +18 -36
- 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.m.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 +32 -32
- package/pagination/pagination-item.js +2 -2
- package/pagination/pagination-item.js.map +1 -1
- package/pagination/pagination.js +3 -3
- package/pagination/pagination.js.map +1 -1
- package/pagination/utils.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 +68 -41
- package/phone-input/phone-input.js.map +1 -1
- package/phone-input/{phone-input.module.scss → phone-input.m.scss} +7 -1
- package/phone-input/types.d.ts +9 -2
- package/phone-input/utils.js.map +1 -1
- 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 +3 -3
- package/popup/popup-view.js.map +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 +3 -20
- package/price/index.js +5 -21
- 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/price/utils.js.map +1 -1
- 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/rating/utils.js.map +1 -1
- package/select/parts/block.d.ts +1 -1
- package/select/parts/block.js +4 -4
- package/select/parts/block.js.map +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 +11 -14
- 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/slots.js +3 -3
- package/side-page/slots.js.map +1 -1
- 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 → spinner.m.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.js +2 -2
- package/styling/borders.js.map +1 -1
- package/styling/{borders.module.scss → borders.m.scss} +3 -1
- package/styling/colors.js +6 -6
- package/styling/colors.js.map +1 -1
- package/styling/fonts.js +4 -4
- package/styling/fonts.js.map +1 -1
- package/styling/index.d.ts +6 -0
- package/styling/index.js +31 -0
- package/styling/index.js.map +1 -0
- package/styling/shadows.js +6 -6
- package/styling/shadows.js.map +1 -1
- package/styling/shadows.m.scss +27 -0
- package/styling/shapes.js +19 -19
- package/styling/shapes.js.map +1 -1
- package/styling/sizes.js +9 -9
- package/styling/sizes.js.map +1 -1
- 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 → tabs.m.scss} +1 -0
- package/tabs/types.d.ts +35 -0
- package/tabs/types.js +3 -0
- package/tabs/types.js.map +1 -0
- package/test-utils/dom-rect-read-only-mock.d.ts +23 -0
- package/test-utils/dom-rect-read-only-mock.js +33 -0
- package/test-utils/dom-rect-read-only-mock.js.map +1 -0
- package/test-utils/index.d.ts +4 -0
- package/test-utils/index.js +12 -0
- package/test-utils/index.js.map +1 -0
- package/test-utils/intersection-observer-mock.d.ts +74 -0
- package/test-utils/intersection-observer-mock.js +142 -0
- package/test-utils/intersection-observer-mock.js.map +1 -0
- package/test-utils/match-media-mock.d.ts +90 -0
- package/test-utils/match-media-mock.js +113 -0
- package/test-utils/match-media-mock.js.map +1 -0
- package/test-utils/resize-observer-mock.d.ts +56 -0
- package/test-utils/resize-observer-mock.js +116 -0
- package/test-utils/resize-observer-mock.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 +12 -13
- 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 +8 -8
- package/top-bar/top-bar.js.map +1 -1
- package/top-bar/{top-bar.module.scss → top-bar.m.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/upload-area.js +2 -2
- package/upload-area/upload-area.js.map +1 -1
- package/upload-area/utils.js +2 -2
- package/upload-area/utils.js.map +1 -1
- package/_internal/custom-scrollbar/custom-scrollbar.module.scss +0 -54
- 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/layout/layout.module.scss +0 -56
- 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/modal/modal.module.scss +0 -134
- 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/styling/shadows.module.scss +0 -19
- 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/alert/{alert.module.scss → alert.m.scss} +0 -0
- /package/arrow-button/{arrow-button.module.scss → arrow-button.m.scss} +0 -0
- /package/autocomplete/{autocomplete.module.scss → autocomplete.m.scss} +0 -0
- /package/avatar/{avatar.module.scss → avatar.m.scss} +0 -0
- /package/avatar/{utils.module.scss → utils.m.scss} +0 -0
- /package/base-input/{base-input.module.scss → base-input.m.scss} +0 -0
- /package/box/{box.module.scss → box.m.scss} +0 -0
- /package/button/{button.module.scss → button.m.scss} +0 -0
- /package/carousel/{carousel.module.scss → carousel.m.scss} +0 -0
- /package/carousel/{draggable.module.scss → draggable.m.scss} +0 -0
- /package/checkbox/{checkbox.module.scss → checkbox.m.scss} +0 -0
- /package/chip/{chip.module.scss → chip.m.scss} +0 -0
- /package/{_internal/dropdown-loading/index.module.scss → dropdown/dropdown-loading.m.scss} +0 -0
- /package/dropdown-item/{dropdown-item.module.scss → dropdown-item.m.scss} +0 -0
- /package/expandable/{expandable-group.module.scss → expandable-group.m.scss} +0 -0
- /package/group-overflow/{group-overflow.module.scss → group-overflow.m.scss} +0 -0
- /package/hint/{hint-view.module.scss → hint-view.m.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/{keydown.d.ts → use-keydown/index.d.ts} +0 -0
- /package/info-text/{info-text.module.scss → info-text.m.scss} +0 -0
- /package/input/{input.module.scss → input.m.scss} +0 -0
- /package/layout/{legacy.module.scss → legacy.m.scss} +0 -0
- /package/link/{link.module.scss → link.m.scss} +0 -0
- /package/modal-overlay/{modal-overlay.module.scss → modal-overlay.m.scss} +0 -0
- /package/pagination/{pagination-item.module.scss → pagination-item.m.scss} +0 -0
- /package/pagination/{pagination.module.scss → pagination.m.scss} +0 -0
- /package/panel/{panel.module.scss → panel.m.scss} +0 -0
- /package/plate/{plate.module.scss → plate.m.scss} +0 -0
- /package/popup/{popup-view.module.scss → popup-view.m.scss} +0 -0
- /package/price/{price.module.scss → price.m.scss} +0 -0
- /package/radio-button/{radio-button.module.scss → radio-button.m.scss} +0 -0
- /package/range/{range.module.scss → range.m.scss} +0 -0
- /package/rating/{rating.module.scss → rating.m.scss} +0 -0
- /package/select/parts/{block.module.scss → block.m.scss} +0 -0
- /package/select/parts/{menu.module.scss → menu.m.scss} +0 -0
- /package/side-page/{side-page.module.scss → side-page.m.scss} +0 -0
- /package/stepper/{stepper.module.scss → stepper.m.scss} +0 -0
- /package/stroked-svg/{index.module.scss → stroked-svg.m.scss} +0 -0
- /package/styling/{colors.module.scss → colors.m.scss} +0 -0
- /package/styling/{fonts.module.scss → fonts.m.scss} +0 -0
- /package/styling/{shapes.module.scss → shapes.m.scss} +0 -0
- /package/styling/{sizes.module.scss → sizes.m.scss} +0 -0
- /package/switcher-row/{switcher-row.module.scss → switcher-row.m.scss} +0 -0
- /package/text/{text.module.scss → text.m.scss} +0 -0
- /package/text-button/{text-button.module.scss → text-button.m.scss} +0 -0
- /package/textarea/{textarea.module.scss → textarea.m.scss} +0 -0
- /package/timer/{timer.module.scss → timer.m.scss} +0 -0
- /package/toggle/{toggle.module.scss → toggle.m.scss} +0 -0
- /package/touch-slider/{touch-slider.module.scss → touch-slider.m.scss} +0 -0
- /package/unknown-content/{unknown-content.module.scss → unknown-content.m.scss} +0 -0
- /package/upload-area/{upload-area.module.scss → upload-area.m.scss} +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
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%.m.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|m)\.(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 подобно тому как это сделано в данном репозитории:
|
|
65
|
+
|
|
66
|
+
```js
|
|
67
|
+
export default {
|
|
68
|
+
// ...прочее
|
|
69
|
+
|
|
70
|
+
transform: {
|
|
71
|
+
// css-модули
|
|
72
|
+
'\\.(module|m)\\.(css|scss)$': 'jest-css-modules-transform',
|
|
73
|
+
|
|
74
|
+
// обычные стили
|
|
75
|
+
'(?<!(.+\\.(module|m)))(\\.css|\\.scss)$': '<rootDir>/.jest/transforms/empty.js',
|
|
76
|
+
|
|
77
|
+
// asset'ы
|
|
78
|
+
'\\.(apng|avif|gif|jpg|jpeg|png|webp)$': '<rootDir>/.jest/transforms/asset.js',
|
|
79
|
+
},
|
|
80
|
+
transformIgnorePatterns: [
|
|
81
|
+
// из некоторых пакетов мы берем стили так что игнорируем только скрипты
|
|
82
|
+
'/node_modules/.+js$',
|
|
83
|
+
],
|
|
84
|
+
};
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
#### Декларации типов для TypeScript
|
|
88
|
+
|
|
89
|
+
в `src/custom.d.ts` необходимо указать:
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
// css-модули
|
|
93
|
+
declare module '*.module.css' {
|
|
94
|
+
const classes: { [key: string]: string };
|
|
95
|
+
export default classes;
|
|
96
|
+
}
|
|
97
|
+
declare module '*.m.css' {
|
|
98
|
+
const classes: { [key: string]: string };
|
|
99
|
+
export default classes;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// css-модули с синтаксисом SCSS
|
|
103
|
+
declare module '*.module.scss' {
|
|
104
|
+
const classes: { [key: string]: string };
|
|
105
|
+
export default classes;
|
|
106
|
+
}
|
|
107
|
+
declare module '*.m.scss' {
|
|
108
|
+
const classes: { [key: string]: string };
|
|
109
|
+
export default classes;
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Разработка и поддержка
|
|
114
|
+
|
|
115
|
+
### Принципы библиотеки
|
|
116
|
+
|
|
117
|
+
- в библиотеке не должно быть HOC (компонентов высшего порядка - функций, возвращающих компонент)
|
|
118
|
+
- компонент интерфейса не должен иметь внешних отступов по умолчанию
|
|
119
|
+
|
|
120
|
+
### Структура библиотеки
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
src
|
|
124
|
+
├── something # директория с компонентом
|
|
125
|
+
│ ├── index.ts # точка входа с публичными экспортами
|
|
126
|
+
│ ├── something.tsx # исходный код компонента
|
|
127
|
+
│ ├── something.m.scss # стили компонента (при наличии)
|
|
128
|
+
│ ├── something-util.scss # scss-утилиты для кастомизации (при наличии)
|
|
129
|
+
│ ├── types.ts # типы (при наличии)
|
|
130
|
+
│ ├── __test__
|
|
131
|
+
│ │ └── something.test.tsx
|
|
132
|
+
│ └── __stories__
|
|
133
|
+
│ └── something.stories.tsx
|
|
134
|
+
├── helpers # общие утилиты (для использования вне библиотеки)
|
|
135
|
+
├── hooks # общие react-хуки (для использования вне библиотеки)
|
|
136
|
+
├── test-utils # утилиты для упрощения unit-тестирования составляющих данной библиотеки
|
|
137
|
+
└── _internal # внутренние скрипты для использования только в рамках данной библиотеки
|
|
138
|
+
```
|
|
@@ -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_m_scss_1 = __importDefault(require("./custom-scrollbar.m.scss"));
|
|
15
|
+
const cx = bind_1.default.bind(custom_scrollbar_m_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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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
@use '../../colors';
|
|
2
|
+
|
|
3
|
+
.root {
|
|
4
|
+
max-width: 100%;
|
|
5
|
+
max-height: 100%;
|
|
6
|
+
}
|
|
7
|
+
|
|
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;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.theme:global(.os-scrollbar-horizontal) :global(.os-scrollbar-handle) {
|
|
44
|
+
margin-bottom: 4px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.theme:global(.os-scrollbar-vertical) :global(.os-scrollbar-handle) {
|
|
48
|
+
margin-right: 4px;
|
|
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,CAAC;QAClC,IAAI,EAAE,CAAC,YAAY,CAAC,uBAAe,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;IACxB,CAAC;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>;
|