@doist/reactist 28.7.0 → 28.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/reactist.cjs.development.js +2093 -3829
- package/dist/reactist.cjs.development.js.map +1 -1
- package/dist/reactist.cjs.production.min.js +1 -1
- package/dist/reactist.cjs.production.min.js.map +1 -1
- package/es/avatar/avatar.js +35 -30
- package/es/avatar/avatar.js.map +1 -1
- package/es/avatar/utils.js +19 -22
- package/es/avatar/utils.js.map +1 -1
- package/es/badge/badge.js +5 -16
- package/es/badge/badge.js.map +1 -1
- package/es/banner/banner.js +39 -115
- package/es/banner/banner.js.map +1 -1
- package/es/banner/banner.module.css.js +1 -1
- package/es/base-field/base-field.js +80 -162
- package/es/base-field/base-field.js.map +1 -1
- package/es/base-field/base-field.module.css.js +1 -1
- package/es/box/box.js +61 -139
- package/es/box/box.js.map +1 -1
- package/es/button/button.js +42 -95
- package/es/button/button.js.map +1 -1
- package/es/checkbox-field/checkbox-field.js +46 -75
- package/es/checkbox-field/checkbox-field.js.map +1 -1
- package/es/checkbox-field/checkbox-field.module.css.js +1 -1
- package/es/checkbox-field/checkbox-icon.js +28 -55
- package/es/checkbox-field/checkbox-icon.js.map +1 -1
- package/es/checkbox-field/use-fork-ref.js +29 -25
- package/es/checkbox-field/use-fork-ref.js.map +1 -1
- package/es/columns/columns.js +22 -46
- package/es/columns/columns.js.map +1 -1
- package/es/columns/columns.module.css.js +1 -1
- package/es/components/color-picker/color-picker.js +45 -66
- package/es/components/color-picker/color-picker.js.map +1 -1
- package/es/components/deprecated-button/deprecated-button.js +11 -34
- package/es/components/deprecated-button/deprecated-button.js.map +1 -1
- package/es/components/deprecated-dropdown/dropdown.js +136 -197
- package/es/components/deprecated-dropdown/dropdown.js.map +1 -1
- package/es/components/deprecated-input/input.js +6 -10
- package/es/components/deprecated-input/input.js.map +1 -1
- package/es/components/deprecated-select/select.js +7 -31
- package/es/components/deprecated-select/select.js.map +1 -1
- package/es/components/key-capturer/key-capturer.js +130 -171
- package/es/components/key-capturer/key-capturer.js.map +1 -1
- package/es/components/keyboard-shortcut/keyboard-shortcut.js +48 -79
- package/es/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/es/components/progress-bar/progress-bar.js +8 -20
- package/es/components/progress-bar/progress-bar.js.map +1 -1
- package/es/components/time/time-utils.js +52 -64
- package/es/components/time/time-utils.js.map +1 -1
- package/es/components/time/time.js +90 -114
- package/es/components/time/time.js.map +1 -1
- package/es/divider/divider.js +4 -13
- package/es/divider/divider.js.map +1 -1
- package/es/heading/heading.js +19 -28
- package/es/heading/heading.js.map +1 -1
- package/es/hidden/hidden.js +36 -45
- package/es/hidden/hidden.js.map +1 -1
- package/es/hidden-visually/hidden-visually.js +7 -13
- package/es/hidden-visually/hidden-visually.js.map +1 -1
- package/es/icons/alert-icon.js +18 -64
- package/es/icons/alert-icon.js.map +1 -1
- package/es/icons/banner-icon.js +25 -97
- package/es/icons/banner-icon.js.map +1 -1
- package/es/icons/close-icon.js +3 -9
- package/es/icons/close-icon.js.map +1 -1
- package/es/icons/password-hidden-icon.js +6 -23
- package/es/icons/password-hidden-icon.js.map +1 -1
- package/es/icons/password-visible-icon.js +5 -16
- package/es/icons/password-visible-icon.js.map +1 -1
- package/es/inline/inline.js +8 -23
- package/es/inline/inline.js.map +1 -1
- package/es/loading/loading.js +17 -30
- package/es/loading/loading.js.map +1 -1
- package/es/menu/menu.js +127 -260
- package/es/menu/menu.js.map +1 -1
- package/es/modal/modal.js +143 -272
- package/es/modal/modal.js.map +1 -1
- package/es/modal/modal.module.css.js +1 -1
- package/es/notice/notice.js +8 -21
- package/es/notice/notice.js.map +1 -1
- package/es/notice/notice.module.css.js +1 -1
- package/es/password-field/password-field.js +10 -24
- package/es/password-field/password-field.js.map +1 -1
- package/es/prose/prose.js +10 -15
- package/es/prose/prose.js.map +1 -1
- package/es/select-field/select-field.js +14 -51
- package/es/select-field/select-field.js.map +1 -1
- package/es/spinner/spinner.js +6 -20
- package/es/spinner/spinner.js.map +1 -1
- package/es/stack/stack.js +15 -27
- package/es/stack/stack.js.map +1 -1
- package/es/switch-field/switch-field.js +38 -75
- package/es/switch-field/switch-field.js.map +1 -1
- package/es/switch-field/switch-field.module.css.js +1 -1
- package/es/tabs/tabs.js +120 -211
- package/es/tabs/tabs.js.map +1 -1
- package/es/text/text.js +16 -25
- package/es/text/text.js.map +1 -1
- package/es/text-area/text-area.js +54 -111
- package/es/text-area/text-area.js.map +1 -1
- package/es/text-field/text-field.js +30 -84
- package/es/text-field/text-field.js.map +1 -1
- package/es/text-link/text-link.js +9 -20
- package/es/text-link/text-link.js.map +1 -1
- package/es/text-link/text-link.module.css.js +1 -1
- package/es/toast/static-toast.js +35 -70
- package/es/toast/static-toast.js.map +1 -1
- package/es/toast/toast-animation.js +121 -159
- package/es/toast/toast-animation.js.map +1 -1
- package/es/toast/use-toasts.js +134 -201
- package/es/toast/use-toasts.js.map +1 -1
- package/es/tooltip/tooltip.js +31 -69
- package/es/tooltip/tooltip.js.map +1 -1
- package/es/utils/common-helpers.js +9 -13
- package/es/utils/common-helpers.js.map +1 -1
- package/es/utils/polymorphism.js +7 -8
- package/es/utils/polymorphism.js.map +1 -1
- package/es/utils/responsive-props.js +57 -66
- package/es/utils/responsive-props.js.map +1 -1
- package/lib/avatar/avatar.d.ts +21 -21
- package/lib/avatar/avatar.js +69 -1
- package/lib/avatar/avatar.js.map +1 -1
- package/lib/avatar/avatar.module.css.js +7 -1
- package/lib/avatar/avatar.module.css.js.map +1 -1
- package/lib/avatar/index.d.ts +1 -1
- package/lib/avatar/utils.d.ts +3 -3
- package/lib/avatar/utils.js +30 -1
- package/lib/avatar/utils.js.map +1 -1
- package/lib/badge/badge.d.ts +15 -15
- package/lib/badge/badge.js +36 -1
- package/lib/badge/badge.js.map +1 -1
- package/lib/badge/badge.module.css.js +7 -1
- package/lib/badge/badge.module.css.js.map +1 -1
- package/lib/badge/index.d.ts +1 -1
- package/lib/banner/banner.d.ts +87 -87
- package/lib/banner/banner.js +79 -1
- package/lib/banner/banner.js.map +1 -1
- package/lib/banner/banner.module.css.js +7 -1
- package/lib/banner/banner.module.css.js.map +1 -1
- package/lib/banner/index.d.ts +2 -2
- package/lib/banner/story-promo-image.d.ts +4 -4
- package/lib/base-field/base-field.d.ts +139 -139
- package/lib/base-field/base-field.js +127 -1
- package/lib/base-field/base-field.js.map +1 -1
- package/lib/base-field/base-field.module.css.js +7 -1
- package/lib/base-field/base-field.module.css.js.map +1 -1
- package/lib/base-field/index.d.ts +1 -1
- package/lib/box/box.d.ts +73 -73
- package/lib/box/box.js +103 -1
- package/lib/box/box.js.map +1 -1
- package/lib/box/box.module.css.js +7 -1
- package/lib/box/box.module.css.js.map +1 -1
- package/lib/box/gap.module.css.js +7 -1
- package/lib/box/gap.module.css.js.map +1 -1
- package/lib/box/index.d.ts +1 -1
- package/lib/box/margin.module.css.js +7 -1
- package/lib/box/margin.module.css.js.map +1 -1
- package/lib/box/padding.module.css.js +7 -1
- package/lib/box/padding.module.css.js.map +1 -1
- package/lib/box/width.module.css.js +7 -1
- package/lib/box/width.module.css.js.map +1 -1
- package/lib/button/button.d.ts +127 -127
- package/lib/button/button.js +86 -1
- package/lib/button/button.js.map +1 -1
- package/lib/button/button.module.css.js +7 -1
- package/lib/button/button.module.css.js.map +1 -1
- package/lib/button/index.d.ts +1 -1
- package/lib/checkbox-field/checkbox-field.d.ts +40 -40
- package/lib/checkbox-field/checkbox-field.js +82 -1
- package/lib/checkbox-field/checkbox-field.js.map +1 -1
- package/lib/checkbox-field/checkbox-field.module.css.js +7 -1
- package/lib/checkbox-field/checkbox-field.module.css.js.map +1 -1
- package/lib/checkbox-field/checkbox-icon.d.ts +8 -8
- package/lib/checkbox-field/checkbox-icon.js +59 -1
- package/lib/checkbox-field/checkbox-icon.js.map +1 -1
- package/lib/checkbox-field/index.d.ts +1 -1
- package/lib/checkbox-field/use-fork-ref.d.ts +11 -11
- package/lib/checkbox-field/use-fork-ref.js +42 -1
- package/lib/checkbox-field/use-fork-ref.js.map +1 -1
- package/lib/columns/columns.d.ts +20 -20
- package/lib/columns/columns.js +57 -1
- package/lib/columns/columns.js.map +1 -1
- package/lib/columns/columns.module.css.js +7 -1
- package/lib/columns/columns.module.css.js.map +1 -1
- package/lib/columns/index.d.ts +1 -1
- package/lib/components/color-picker/color-picker.d.ts +29 -29
- package/lib/components/color-picker/color-picker.js +86 -1
- package/lib/components/color-picker/color-picker.js.map +1 -1
- package/lib/components/color-picker/index.d.ts +3 -3
- package/lib/components/color-picker/index.js +11 -1
- package/lib/components/color-picker/index.js.map +1 -1
- package/lib/components/deprecated-button/deprecated-button.d.ts +54 -54
- package/lib/components/deprecated-button/deprecated-button.js +49 -1
- package/lib/components/deprecated-button/deprecated-button.js.map +1 -1
- package/lib/components/deprecated-button/index.d.ts +4 -4
- package/lib/components/deprecated-button/index.js +9 -1
- package/lib/components/deprecated-button/index.js.map +1 -1
- package/lib/components/deprecated-dropdown/dropdown.d.ts +55 -55
- package/lib/components/deprecated-dropdown/dropdown.js +182 -1
- package/lib/components/deprecated-dropdown/dropdown.js.map +1 -1
- package/lib/components/deprecated-dropdown/index.d.ts +2 -2
- package/lib/components/deprecated-dropdown/index.js +9 -1
- package/lib/components/deprecated-dropdown/index.js.map +1 -1
- package/lib/components/deprecated-input/index.d.ts +2 -2
- package/lib/components/deprecated-input/index.js +9 -1
- package/lib/components/deprecated-input/index.js.map +1 -1
- package/lib/components/deprecated-input/input.d.ts +10 -10
- package/lib/components/deprecated-input/input.js +41 -1
- package/lib/components/deprecated-input/input.js.map +1 -1
- package/lib/components/deprecated-select/index.d.ts +2 -2
- package/lib/components/deprecated-select/index.js +9 -1
- package/lib/components/deprecated-select/index.js.map +1 -1
- package/lib/components/deprecated-select/select.d.ts +33 -33
- package/lib/components/deprecated-select/select.js +43 -1
- package/lib/components/deprecated-select/select.js.map +1 -1
- package/lib/components/icons/CloseIcon.svg.d.ts +3 -3
- package/lib/components/icons/ThinQuestionMarkIcon.svg.d.ts +3 -3
- package/lib/components/icons/ThreeDotsIcon.svg.d.ts +12 -12
- package/lib/components/key-capturer/index.d.ts +3 -3
- package/lib/components/key-capturer/index.js +11 -1
- package/lib/components/key-capturer/index.js.map +1 -1
- package/lib/components/key-capturer/key-capturer.d.ts +40 -40
- package/lib/components/key-capturer/key-capturer.js +171 -1
- package/lib/components/key-capturer/key-capturer.js.map +1 -1
- package/lib/components/keyboard-shortcut/index.d.ts +2 -2
- package/lib/components/keyboard-shortcut/index.js +9 -1
- package/lib/components/keyboard-shortcut/index.js.map +1 -1
- package/lib/components/keyboard-shortcut/keyboard-shortcut.d.ts +44 -44
- package/lib/components/keyboard-shortcut/keyboard-shortcut.js +97 -1
- package/lib/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/lib/components/progress-bar/index.d.ts +2 -2
- package/lib/components/progress-bar/index.js +9 -1
- package/lib/components/progress-bar/index.js.map +1 -1
- package/lib/components/progress-bar/progress-bar.d.ts +14 -14
- package/lib/components/progress-bar/progress-bar.js +44 -1
- package/lib/components/progress-bar/progress-bar.js.map +1 -1
- package/lib/components/progress-bar/progress-bar.module.css.js +7 -1
- package/lib/components/progress-bar/progress-bar.module.css.js.map +1 -1
- package/lib/components/time/index.d.ts +2 -2
- package/lib/components/time/index.js +9 -1
- package/lib/components/time/index.js.map +1 -1
- package/lib/components/time/time-utils.d.ts +19 -19
- package/lib/components/time/time-utils.js +69 -1
- package/lib/components/time/time-utils.js.map +1 -1
- package/lib/components/time/time.d.ts +39 -39
- package/lib/components/time/time.js +124 -1
- package/lib/components/time/time.js.map +1 -1
- package/lib/divider/divider.d.ts +8 -8
- package/lib/divider/divider.js +36 -1
- package/lib/divider/divider.js.map +1 -1
- package/lib/divider/divider.module.css.js +7 -1
- package/lib/divider/divider.module.css.js.map +1 -1
- package/lib/divider/index.d.ts +1 -1
- package/lib/heading/heading.d.ts +112 -112
- package/lib/heading/heading.js +51 -1
- package/lib/heading/heading.js.map +1 -1
- package/lib/heading/heading.module.css.js +7 -1
- package/lib/heading/heading.module.css.js.map +1 -1
- package/lib/heading/index.d.ts +1 -1
- package/lib/hidden/hidden.d.ts +49 -49
- package/lib/hidden/hidden.js +70 -1
- package/lib/hidden/hidden.js.map +1 -1
- package/lib/hidden/hidden.module.css.js +7 -1
- package/lib/hidden/hidden.module.css.js.map +1 -1
- package/lib/hidden/index.d.ts +1 -1
- package/lib/hidden-visually/hidden-visually.d.ts +11 -11
- package/lib/hidden-visually/hidden-visually.js +40 -1
- package/lib/hidden-visually/hidden-visually.js.map +1 -1
- package/lib/hidden-visually/hidden-visually.module.css.js +7 -1
- package/lib/hidden-visually/hidden-visually.module.css.js.map +1 -1
- package/lib/hidden-visually/index.d.ts +1 -1
- package/lib/hooks/use-previous/index.d.ts +1 -1
- package/lib/hooks/use-previous/use-previous.d.ts +15 -15
- package/lib/icons/alert-icon.d.ts +6 -6
- package/lib/icons/alert-icon.js +56 -1
- package/lib/icons/alert-icon.js.map +1 -1
- package/lib/icons/banner-icon.d.ts +6 -6
- package/lib/icons/banner-icon.js +68 -1
- package/lib/icons/banner-icon.js.map +1 -1
- package/lib/icons/banner-icon.module.css.js +7 -1
- package/lib/icons/banner-icon.module.css.js.map +1 -1
- package/lib/icons/close-icon.d.ts +3 -3
- package/lib/icons/close-icon.js +33 -1
- package/lib/icons/close-icon.js.map +1 -1
- package/lib/icons/password-hidden-icon.d.ts +3 -3
- package/lib/icons/password-hidden-icon.js +36 -1
- package/lib/icons/password-hidden-icon.js.map +1 -1
- package/lib/icons/password-visible-icon.d.ts +3 -3
- package/lib/icons/password-visible-icon.js +35 -1
- package/lib/icons/password-visible-icon.js.map +1 -1
- package/lib/index.d.ts +38 -38
- package/lib/index.js +106 -1
- package/lib/index.js.map +1 -1
- package/lib/inline/index.d.ts +1 -1
- package/lib/inline/inline.d.ts +12 -12
- package/lib/inline/inline.js +40 -1
- package/lib/inline/inline.js.map +1 -1
- package/lib/loading/index.d.ts +1 -1
- package/lib/loading/loading.d.ts +26 -26
- package/lib/loading/loading.js +49 -1
- package/lib/loading/loading.js.map +1 -1
- package/lib/menu/index.d.ts +2 -2
- package/lib/menu/menu.d.ts +128 -128
- package/lib/menu/menu.js +179 -1
- package/lib/menu/menu.js.map +1 -1
- package/lib/modal/index.d.ts +1 -1
- package/lib/modal/modal-stories-components.d.ts +47 -47
- package/lib/modal/modal.d.ts +185 -185
- package/lib/modal/modal.js +209 -1
- package/lib/modal/modal.js.map +1 -1
- package/lib/modal/modal.module.css.js +7 -1
- package/lib/modal/modal.module.css.js.map +1 -1
- package/lib/notice/index.d.ts +1 -1
- package/lib/notice/notice.d.ts +10 -10
- package/lib/notice/notice.js +42 -1
- package/lib/notice/notice.js.map +1 -1
- package/lib/notice/notice.module.css.js +7 -1
- package/lib/notice/notice.module.css.js.map +1 -1
- package/lib/password-field/index.d.ts +1 -1
- package/lib/password-field/password-field.d.ts +10 -10
- package/lib/password-field/password-field.js +43 -1
- package/lib/password-field/password-field.js.map +1 -1
- package/lib/prose/index.d.ts +2 -2
- package/lib/prose/prose-example.d.ts +1 -1
- package/lib/prose/prose.d.ts +44 -44
- package/lib/prose/prose.js +42 -1
- package/lib/prose/prose.js.map +1 -1
- package/lib/prose/prose.module.css.js +7 -1
- package/lib/prose/prose.module.css.js.map +1 -1
- package/lib/select-field/index.d.ts +1 -1
- package/lib/select-field/select-field.d.ts +7 -7
- package/lib/select-field/select-field.js +48 -1
- package/lib/select-field/select-field.js.map +1 -1
- package/lib/select-field/select-field.module.css.js +7 -1
- package/lib/select-field/select-field.module.css.js.map +1 -1
- package/lib/spinner/index.d.ts +1 -1
- package/lib/spinner/spinner.d.ts +5 -5
- package/lib/spinner/spinner.js +36 -1
- package/lib/spinner/spinner.js.map +1 -1
- package/lib/spinner/spinner.module.css.js +7 -1
- package/lib/spinner/spinner.module.css.js.map +1 -1
- package/lib/stack/index.d.ts +1 -1
- package/lib/stack/stack.d.ts +15 -15
- package/lib/stack/stack.js +52 -1
- package/lib/stack/stack.js.map +1 -1
- package/lib/switch-field/index.d.ts +1 -1
- package/lib/switch-field/switch-field.d.ts +19 -19
- package/lib/switch-field/switch-field.js +74 -1
- package/lib/switch-field/switch-field.js.map +1 -1
- package/lib/switch-field/switch-field.module.css.js +7 -1
- package/lib/switch-field/switch-field.module.css.js.map +1 -1
- package/lib/tabs/index.d.ts +1 -1
- package/lib/tabs/tabs.d.ts +125 -125
- package/lib/tabs/tabs.js +177 -1
- package/lib/tabs/tabs.js.map +1 -1
- package/lib/tabs/tabs.module.css.js +7 -1
- package/lib/tabs/tabs.module.css.js.map +1 -1
- package/lib/text/index.d.ts +1 -1
- package/lib/text/text.d.ts +47 -47
- package/lib/text/text.js +49 -1
- package/lib/text/text.js.map +1 -1
- package/lib/text/text.module.css.js +7 -1
- package/lib/text/text.module.css.js.map +1 -1
- package/lib/text-area/index.d.ts +1 -1
- package/lib/text-area/text-area.d.ts +39 -39
- package/lib/text-area/text-area.js +92 -1
- package/lib/text-area/text-area.js.map +1 -1
- package/lib/text-area/text-area.module.css.js +7 -1
- package/lib/text-area/text-area.module.css.js.map +1 -1
- package/lib/text-field/index.d.ts +1 -1
- package/lib/text-field/text-field.d.ts +18 -18
- package/lib/text-field/text-field.js +63 -1
- package/lib/text-field/text-field.js.map +1 -1
- package/lib/text-field/text-field.module.css.js +7 -1
- package/lib/text-field/text-field.module.css.js.map +1 -1
- package/lib/text-link/index.d.ts +1 -1
- package/lib/text-link/text-link.d.ts +9 -9
- package/lib/text-link/text-link.js +41 -1
- package/lib/text-link/text-link.js.map +1 -1
- package/lib/text-link/text-link.module.css.js +7 -1
- package/lib/text-link/text-link.module.css.js.map +1 -1
- package/lib/toast/index.d.ts +4 -4
- package/lib/toast/static-toast.d.ts +63 -63
- package/lib/toast/static-toast.js +59 -1
- package/lib/toast/static-toast.js.map +1 -1
- package/lib/toast/toast-animation.d.ts +50 -50
- package/lib/toast/toast-animation.js +141 -1
- package/lib/toast/toast-animation.js.map +1 -1
- package/lib/toast/toast.module.css.js +7 -1
- package/lib/toast/toast.module.css.js.map +1 -1
- package/lib/toast/use-toasts.d.ts +132 -132
- package/lib/toast/use-toasts.js +166 -1
- package/lib/toast/use-toasts.js.map +1 -1
- package/lib/tooltip/index.d.ts +2 -2
- package/lib/tooltip/tooltip.d.ts +72 -72
- package/lib/tooltip/tooltip.js +67 -1
- package/lib/tooltip/tooltip.js.map +1 -1
- package/lib/tooltip/tooltip.module.css.js +7 -1
- package/lib/tooltip/tooltip.module.css.js.map +1 -1
- package/lib/utils/common-helpers.d.ts +2 -2
- package/lib/utils/common-helpers.js +44 -1
- package/lib/utils/common-helpers.js.map +1 -1
- package/lib/utils/common-types.d.ts +42 -42
- package/lib/utils/polymorphism.d.ts +135 -135
- package/lib/utils/polymorphism.js +39 -1
- package/lib/utils/polymorphism.js.map +1 -1
- package/lib/utils/responsive-props.d.ts +44 -44
- package/lib/utils/responsive-props.js +70 -1
- package/lib/utils/responsive-props.js.map +1 -1
- package/lib/utils/storybook-helper.d.ts +55 -0
- package/lib/utils/test-helpers.d.ts +22 -22
- package/package.json +16 -23
- package/styles/avatar.css +3 -3
- package/styles/avatar.module.css.css +1 -1
- package/styles/badge.css +3 -3
- package/styles/badge.module.css.css +1 -1
- package/styles/banner.css +7 -7
- package/styles/banner.module.css.css +1 -1
- package/styles/base-field.css +5 -5
- package/styles/base-field.module.css.css +1 -1
- package/styles/box.css +2 -2
- package/styles/box.module.css.css +1 -1
- package/styles/button.css +5 -5
- package/styles/button.module.css.css +1 -1
- package/styles/checkbox-field.css +4 -4
- package/styles/checkbox-field.module.css.css +1 -1
- package/styles/columns.css +2 -2
- package/styles/divider.css +2 -2
- package/styles/heading.css +3 -3
- package/styles/heading.module.css.css +1 -1
- package/styles/hidden-visually.css +3 -3
- package/styles/hidden-visually.module.css.css +1 -1
- package/styles/hidden.css +2 -2
- package/styles/index.css +5 -5
- package/styles/loading.css +3 -3
- package/styles/menu.css +1 -1
- package/styles/modal.css +6 -6
- package/styles/modal.module.css.css +1 -1
- package/styles/notice.css +2 -2
- package/styles/password-field.css +8 -8
- package/styles/progress-bar.module.css.css +1 -1
- package/styles/prose.css +3 -3
- package/styles/prose.module.css.css +1 -1
- package/styles/reactist.css +31 -31
- package/styles/select-field.css +6 -6
- package/styles/select-field.module.css.css +1 -1
- package/styles/spinner.css +1 -1
- package/styles/static-toast.css +7 -7
- package/styles/switch-field.css +7 -7
- package/styles/switch-field.module.css.css +1 -1
- package/styles/tabs.css +3 -3
- package/styles/tabs.module.css.css +1 -1
- package/styles/text-area.css +6 -6
- package/styles/text-area.module.css.css +1 -1
- package/styles/text-field.css +6 -6
- package/styles/text-field.module.css.css +1 -1
- package/styles/text-link.css +3 -3
- package/styles/text-link.module.css.css +1 -1
- package/styles/text.css +3 -3
- package/styles/text.module.css.css +1 -1
- package/styles/toast.module.css.css +1 -1
- package/styles/tooltip.css +3 -3
- package/styles/tooltip.module.css.css +1 -1
- package/styles/use-toasts.css +7 -7
- package/styles/width.module.css.css +1 -1
- package/es/_virtual/_rollupPluginBabelHelpers.js +0 -91
- package/es/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -2
- package/lib/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-toast.js","sources":["../../src/toast/static-toast.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"static-toast.js","sources":["../../src/toast/static-toast.tsx"],"sourcesContent":[null],"names":["React","styles"],"mappings":"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"}
|
|
@@ -1,174 +1,136 @@
|
|
|
1
1
|
import { useMemo, useLayoutEffect, useCallback } from 'react';
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* Adapted with minor changes from https://github.com/seek-oss/braid-design-system/blob/7a5ebccb/packages/braid-design-system/lib/components/useToast/useFlipList.ts
|
|
5
|
-
*
|
|
6
|
-
* MIT License
|
|
7
|
-
*
|
|
8
|
-
* Copyright (c) 2018 SEEK
|
|
9
|
-
*
|
|
10
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
12
|
-
* in the Software without restriction, including without limitation the rights
|
|
13
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
15
|
-
* furnished to do so, subject to the following conditions:
|
|
16
|
-
*
|
|
17
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
18
|
-
* copies or substantial portions of the Software.
|
|
19
|
-
*
|
|
20
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
-
* SOFTWARE.
|
|
3
|
+
/**
|
|
4
|
+
* Adapted with minor changes from https://github.com/seek-oss/braid-design-system/blob/7a5ebccb/packages/braid-design-system/lib/components/useToast/useFlipList.ts
|
|
5
|
+
*
|
|
6
|
+
* MIT License
|
|
7
|
+
*
|
|
8
|
+
* Copyright (c) 2018 SEEK
|
|
9
|
+
*
|
|
10
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
* in the Software without restriction, including without limitation the rights
|
|
13
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
* furnished to do so, subject to the following conditions:
|
|
16
|
+
*
|
|
17
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
* copies or substantial portions of the Software.
|
|
19
|
+
*
|
|
20
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
* SOFTWARE.
|
|
27
27
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Applies the "from" value of given CSS properties, and also sets a transition CSS property. Then
|
|
33
|
-
* it waits an animation frame before setting the same CSS properties to the target "to" value. This
|
|
34
|
-
* triggers the browser to perform the CSS transition on them.
|
|
35
|
-
*
|
|
36
|
-
* At the end of the animation, it cleans up, unsetting all the CSS properties (including the
|
|
37
|
-
* transition), and calls the "done" callback, if given.
|
|
28
|
+
var ANIMATION_TIMEOUT = 400;
|
|
29
|
+
var ENTRANCE_TRANSITION = 'transform 0.3s ease, opacity 0.3s ease';
|
|
30
|
+
var EXIT_TRANSITION = 'opacity 0.2s ease';
|
|
31
|
+
/**
|
|
32
|
+
* Applies the "from" value of given CSS properties, and also sets a transition CSS property. Then
|
|
33
|
+
* it waits an animation frame before setting the same CSS properties to the target "to" value. This
|
|
34
|
+
* triggers the browser to perform the CSS transition on them.
|
|
35
|
+
*
|
|
36
|
+
* At the end of the animation, it cleans up, unsetting all the CSS properties (including the
|
|
37
|
+
* transition), and calls the "done" callback, if given.
|
|
38
38
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}, ANIMATION_TIMEOUT);
|
|
49
|
-
transforms.forEach(({
|
|
50
|
-
property,
|
|
51
|
-
from = ''
|
|
52
|
-
}) => {
|
|
53
|
-
element.style.setProperty(property, from);
|
|
54
|
-
});
|
|
55
|
-
element.style.setProperty('transition', '');
|
|
56
|
-
|
|
57
|
-
function transitionEndHandler(event) {
|
|
58
|
-
if (event.target !== element) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
|
|
39
|
+
function animate(_a) {
|
|
40
|
+
var element = _a.element, transforms = _a.transforms, transition = _a.transition, done = _a.done;
|
|
41
|
+
var fallbackTimeout = setTimeout(function () {
|
|
42
|
+
done === null || done === void 0 ? void 0 : done();
|
|
43
|
+
}, ANIMATION_TIMEOUT);
|
|
44
|
+
transforms.forEach(function (_a) {
|
|
45
|
+
var property = _a.property, _b = _a.from, from = _b === void 0 ? '' : _b;
|
|
46
|
+
element.style.setProperty(property, from);
|
|
47
|
+
});
|
|
62
48
|
element.style.setProperty('transition', '');
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
49
|
+
function transitionEndHandler(event) {
|
|
50
|
+
if (event.target !== element) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
element.style.setProperty('transition', '');
|
|
54
|
+
done === null || done === void 0 ? void 0 : done();
|
|
55
|
+
element.removeEventListener('transitionend', transitionEndHandler);
|
|
56
|
+
clearTimeout(fallbackTimeout);
|
|
57
|
+
}
|
|
58
|
+
element.addEventListener('transitionend', transitionEndHandler);
|
|
59
|
+
// Call requestAnimationFrame twice to make sure we have a full animation frame at our disposal
|
|
60
|
+
window.requestAnimationFrame(function () {
|
|
61
|
+
window.requestAnimationFrame(function () {
|
|
62
|
+
element.style.setProperty('transition', transition);
|
|
63
|
+
transforms.forEach(function (_a) {
|
|
64
|
+
var property = _a.property, _b = _a.to, to = _b === void 0 ? '' : _b;
|
|
65
|
+
element.style.setProperty(property, to);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
79
68
|
});
|
|
80
|
-
});
|
|
81
69
|
}
|
|
82
|
-
/**
|
|
83
|
-
* Provides the functionality of animating the stacked toasts when they appear and before they
|
|
84
|
-
* disappear.
|
|
85
|
-
*
|
|
86
|
-
* It works by keeping a mapping from toast IDs to the toast elements, and keeping a mapping from
|
|
87
|
-
* toast IDs to their top position. Then, on every single re-render, it compares the new DOM
|
|
88
|
-
* situation with the previously stored one in these mappings. With this information, it applies
|
|
89
|
-
* animations that smoothly transitions between both states.
|
|
70
|
+
/**
|
|
71
|
+
* Provides the functionality of animating the stacked toasts when they appear and before they
|
|
72
|
+
* disappear.
|
|
73
|
+
*
|
|
74
|
+
* It works by keeping a mapping from toast IDs to the toast elements, and keeping a mapping from
|
|
75
|
+
* toast IDs to their top position. Then, on every single re-render, it compares the new DOM
|
|
76
|
+
* situation with the previously stored one in these mappings. With this information, it applies
|
|
77
|
+
* animations that smoothly transitions between both states.
|
|
90
78
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
93
79
|
function useToastsAnimation() {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
80
|
+
var refs = useMemo(function () { return new Map(); }, []);
|
|
81
|
+
var positions = useMemo(function () { return new Map(); }, []);
|
|
82
|
+
useLayoutEffect(function () {
|
|
83
|
+
var animations = [];
|
|
84
|
+
Array.from(refs.entries()).forEach(function (_a) {
|
|
85
|
+
var id = _a[0], element = _a[1];
|
|
86
|
+
if (!element) {
|
|
87
|
+
refs["delete"](id);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
var prevTop = positions.get(id);
|
|
91
|
+
var _b = element.getBoundingClientRect(), top = _b.top, height = _b.height;
|
|
92
|
+
if (typeof prevTop === 'number' && prevTop !== top) {
|
|
93
|
+
// Move animation
|
|
94
|
+
animations.push({
|
|
95
|
+
element: element,
|
|
96
|
+
transition: ENTRANCE_TRANSITION,
|
|
97
|
+
transforms: [{ property: 'transform', from: "translateY(".concat(prevTop - top, "px)") }]
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
else if (typeof prevTop !== 'number') {
|
|
101
|
+
// Enter animation
|
|
102
|
+
animations.push({
|
|
103
|
+
element: element,
|
|
104
|
+
transition: ENTRANCE_TRANSITION,
|
|
105
|
+
transforms: [
|
|
106
|
+
{ property: 'transform', from: "translateY(".concat(height, "px)") },
|
|
107
|
+
{ property: 'opacity', from: '0' },
|
|
108
|
+
]
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
positions.set(id, element.getBoundingClientRect().top);
|
|
119
112
|
});
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
element,
|
|
124
|
-
transition: ENTRANCE_TRANSITION,
|
|
125
|
-
transforms: [{
|
|
126
|
-
property: 'transform',
|
|
127
|
-
from: "translateY(" + height + "px)"
|
|
128
|
-
}, {
|
|
129
|
-
property: 'opacity',
|
|
130
|
-
from: '0'
|
|
131
|
-
}]
|
|
113
|
+
animations.forEach(function (_a) {
|
|
114
|
+
var element = _a.element, transforms = _a.transforms, transition = _a.transition;
|
|
115
|
+
animate({ element: element, transforms: transforms, transition: transition });
|
|
132
116
|
});
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
positions.set(id, element.getBoundingClientRect().top);
|
|
136
|
-
});
|
|
137
|
-
animations.forEach(({
|
|
138
|
-
element,
|
|
139
|
-
transforms,
|
|
140
|
-
transition
|
|
141
|
-
}) => {
|
|
142
|
-
animate({
|
|
143
|
-
element,
|
|
144
|
-
transforms,
|
|
145
|
-
transition
|
|
146
|
-
});
|
|
147
117
|
});
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
}, [refs]);
|
|
165
|
-
const mappedRef = useCallback(id => ref => {
|
|
166
|
-
refs.set(id, ref);
|
|
167
|
-
}, [refs]);
|
|
168
|
-
return {
|
|
169
|
-
mappedRef,
|
|
170
|
-
animateRemove
|
|
171
|
-
};
|
|
118
|
+
var animateRemove = useCallback(function animateRemove(id, onAnimationDone) {
|
|
119
|
+
var element = refs.get(id);
|
|
120
|
+
if (element) {
|
|
121
|
+
// Removal animation
|
|
122
|
+
animate({
|
|
123
|
+
element: element,
|
|
124
|
+
transforms: [{ property: 'opacity', to: '0' }],
|
|
125
|
+
transition: EXIT_TRANSITION,
|
|
126
|
+
done: onAnimationDone
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}, [refs]);
|
|
130
|
+
var mappedRef = useCallback(function (id) { return function (ref) {
|
|
131
|
+
refs.set(id, ref);
|
|
132
|
+
}; }, [refs]);
|
|
133
|
+
return { mappedRef: mappedRef, animateRemove: animateRemove };
|
|
172
134
|
}
|
|
173
135
|
|
|
174
136
|
export { ANIMATION_TIMEOUT, useToastsAnimation };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-animation.js","sources":["../../src/toast/toast-animation.ts"],"sourcesContent":["/**\n * Adapted with minor changes from https://github.com/seek-oss/braid-design-system/blob/7a5ebccb/packages/braid-design-system/lib/components/useToast/useFlipList.ts\n *\n * MIT License\n *\n * Copyright (c) 2018 SEEK\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport { useMemo, useCallback, useLayoutEffect } from 'react'\n\nconst ANIMATION_TIMEOUT = 400\nconst ENTRANCE_TRANSITION = 'transform 0.3s ease, opacity 0.3s ease'\nconst EXIT_TRANSITION = 'opacity 0.2s ease'\n\ntype Transform = {\n property: 'opacity' | 'transform' | 'scale'\n from?: string\n to?: string\n}\n\n/**\n * Applies the \"from\" value of given CSS properties, and also sets a transition CSS property. Then\n * it waits an animation frame before setting the same CSS properties to the target \"to\" value. This\n * triggers the browser to perform the CSS transition on them.\n *\n * At the end of the animation, it cleans up, unsetting all the CSS properties (including the\n * transition), and calls the \"done\" callback, if given.\n */\nfunction animate({\n element,\n transforms,\n transition,\n done,\n}: {\n element: HTMLElement\n transforms: Transform[]\n transition: string\n done?: () => void\n}) {\n const fallbackTimeout = setTimeout(() => {\n done?.()\n }, ANIMATION_TIMEOUT)\n\n transforms.forEach(({ property, from = '' }) => {\n element.style.setProperty(property, from)\n })\n element.style.setProperty('transition', '')\n\n function transitionEndHandler(event: TransitionEvent) {\n if (event.target !== element) {\n return\n }\n element.style.setProperty('transition', '')\n done?.()\n element.removeEventListener('transitionend', transitionEndHandler)\n clearTimeout(fallbackTimeout)\n }\n\n element.addEventListener('transitionend', transitionEndHandler)\n\n // Call requestAnimationFrame twice to make sure we have a full animation frame at our disposal\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n element.style.setProperty('transition', transition)\n transforms.forEach(({ property, to = '' }) => {\n element.style.setProperty(property, to)\n })\n })\n })\n}\n\ntype ToastsAnimationToolkit = {\n /**\n * Used for gathering all the active stacked toast elements. Should be used by passing\n * `ref={mappedRef(toastId)}` to the stacked toasts.\n */\n mappedRef: (toastId: string) => (ref: HTMLElement | null) => void\n\n /**\n * The stacked toasts view should use this callback when it needs to remove a toast, instead of\n * removing it right away. The actual removal from the state (and consequently, from the DOM)\n * should happen in the `onAnimationDone` instead.\n */\n animateRemove: (toastId: string, onAnimationDone: () => void) => void\n}\n\n/**\n * Provides the functionality of animating the stacked toasts when they appear and before they\n * disappear.\n *\n * It works by keeping a mapping from toast IDs to the toast elements, and keeping a mapping from\n * toast IDs to their top position. Then, on every single re-render, it compares the new DOM\n * situation with the previously stored one in these mappings. With this information, it applies\n * animations that smoothly transitions between both states.\n */\nfunction useToastsAnimation(): ToastsAnimationToolkit {\n const refs = useMemo(() => new Map<string, HTMLElement | null>(), [])\n const positions = useMemo(() => new Map<string, number>(), [])\n\n useLayoutEffect(() => {\n const animations: Array<{\n element: HTMLElement\n transforms: Transform[]\n transition: string\n }> = []\n\n Array.from(refs.entries()).forEach(([id, element]) => {\n if (!element) {\n refs.delete(id)\n return\n }\n\n const prevTop = positions.get(id)\n const { top, height } = element.getBoundingClientRect()\n\n if (typeof prevTop === 'number' && prevTop !== top) {\n // Move animation\n animations.push({\n element,\n transition: ENTRANCE_TRANSITION,\n transforms: [{ property: 'transform', from: `translateY(${prevTop - top}px)` }],\n })\n } else if (typeof prevTop !== 'number') {\n // Enter animation\n animations.push({\n element,\n transition: ENTRANCE_TRANSITION,\n transforms: [\n { property: 'transform', from: `translateY(${height}px)` },\n { property: 'opacity', from: '0' },\n ],\n })\n }\n\n positions.set(id, element.getBoundingClientRect().top)\n })\n\n animations.forEach(({ element, transforms, transition }) => {\n animate({ element, transforms, transition })\n })\n })\n\n const animateRemove = useCallback(\n function animateRemove(id: string, onAnimationDone: () => void) {\n const element = refs.get(id)\n if (element) {\n // Removal animation\n animate({\n element,\n transforms: [{ property: 'opacity', to: '0' }],\n transition: EXIT_TRANSITION,\n done: onAnimationDone,\n })\n }\n },\n [refs],\n )\n\n const mappedRef = useCallback(\n (id: string) => (ref: HTMLElement | null) => {\n refs.set(id, ref)\n },\n [refs],\n )\n\n return { mappedRef, animateRemove }\n}\n\nexport { ANIMATION_TIMEOUT, useToastsAnimation }\n"],"names":["ANIMATION_TIMEOUT","ENTRANCE_TRANSITION","EXIT_TRANSITION","animate","element","transforms","transition","done","fallbackTimeout","setTimeout","forEach","property","from","style","setProperty","transitionEndHandler","event","target","removeEventListener","clearTimeout","addEventListener","window","requestAnimationFrame","to","useToastsAnimation","refs","useMemo","Map","positions","useLayoutEffect","animations","Array","entries","id","delete","prevTop","get","top","height","getBoundingClientRect","push","set","animateRemove","useCallback","onAnimationDone","mappedRef","ref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toast-animation.js","sources":["../../src/toast/toast-animation.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AAIG,IAAA,iBAAiB,GAAG,IAAG;AAC7B,IAAM,mBAAmB,GAAG,wCAAwC,CAAA;AACpE,IAAM,eAAe,GAAG,mBAAmB,CAAA;AAQ3C;;;;;;;AAOG;AACH,SAAS,OAAO,CAAC,EAUhB,EAAA;QATG,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA;IAOJ,IAAM,eAAe,GAAG,UAAU,CAAC,YAAA;AAC/B,QAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,EAAI,CAAA;KACX,EAAE,iBAAiB,CAAC,CAAA;AAErB,IAAA,UAAU,CAAC,OAAO,CAAC,UAAC,EAAuB,EAAA;AAArB,QAAA,IAAA,QAAQ,cAAA,EAAE,EAAA,GAAA,EAAA,CAAA,IAAS,EAAT,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,CAAA;QACrC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAC7C,KAAC,CAAC,CAAA;IACF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IAE3C,SAAS,oBAAoB,CAAC,KAAsB,EAAA;AAChD,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE;YAC1B,OAAM;AACT,SAAA;QACD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;AAC3C,QAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,EAAI,CAAA;AACR,QAAA,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;QAClE,YAAY,CAAC,eAAe,CAAC,CAAA;KAChC;AAED,IAAA,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;;IAG/D,MAAM,CAAC,qBAAqB,CAAC,YAAA;QACzB,MAAM,CAAC,qBAAqB,CAAC,YAAA;YACzB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;AACnD,YAAA,UAAU,CAAC,OAAO,CAAC,UAAC,EAAqB,EAAA;AAAnB,gBAAA,IAAA,QAAQ,cAAA,EAAE,EAAA,GAAA,EAAA,CAAA,EAAO,EAAP,EAAE,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,CAAA;gBACnC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAC3C,aAAC,CAAC,CAAA;AACN,SAAC,CAAC,CAAA;AACN,KAAC,CAAC,CAAA;AACN,CAAC;AAiBD;;;;;;;;AAQG;AACH,SAAS,kBAAkB,GAAA;AACvB,IAAA,IAAM,IAAI,GAAG,OAAO,CAAC,cAAM,OAAA,IAAI,GAAG,EAA8B,CAArC,EAAqC,EAAE,EAAE,CAAC,CAAA;AACrE,IAAA,IAAM,SAAS,GAAG,OAAO,CAAC,cAAM,OAAA,IAAI,GAAG,EAAkB,CAAzB,EAAyB,EAAE,EAAE,CAAC,CAAA;AAE9D,IAAA,eAAe,CAAC,YAAA;QACZ,IAAM,UAAU,GAIX,EAAE,CAAA;AAEP,QAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,EAAa,EAAA;gBAAZ,EAAE,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;YAC5C,IAAI,CAAC,OAAO,EAAE;AACV,gBAAA,IAAI,CAAC,QAAM,CAAA,CAAC,EAAE,CAAC,CAAA;gBACf,OAAM;AACT,aAAA;YAED,IAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC3B,IAAA,EAAA,GAAkB,OAAO,CAAC,qBAAqB,EAAE,EAA/C,GAAG,GAAA,EAAA,CAAA,GAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAoC,CAAA;YAEvD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,GAAG,EAAE;;gBAEhD,UAAU,CAAC,IAAI,CAAC;AACZ,oBAAA,OAAO,EAAA,OAAA;AACP,oBAAA,UAAU,EAAE,mBAAmB;AAC/B,oBAAA,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAc,OAAO,GAAG,GAAG,EAAA,KAAA,CAAK,EAAE,CAAC;AAClF,iBAAA,CAAC,CAAA;AACL,aAAA;AAAM,iBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;;gBAEpC,UAAU,CAAC,IAAI,CAAC;AACZ,oBAAA,OAAO,EAAA,OAAA;AACP,oBAAA,UAAU,EAAE,mBAAmB;AAC/B,oBAAA,UAAU,EAAE;wBACR,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,aAAA,CAAA,MAAA,CAAc,MAAM,EAAA,KAAA,CAAK,EAAE;AAC1D,wBAAA,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE;AACrC,qBAAA;AACJ,iBAAA,CAAC,CAAA;AACL,aAAA;AAED,YAAA,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAA;AAC1D,SAAC,CAAC,CAAA;AAEF,QAAA,UAAU,CAAC,OAAO,CAAC,UAAC,EAAmC,EAAA;AAAjC,YAAA,IAAA,OAAO,aAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA,CAAA;AACjD,YAAA,OAAO,CAAC,EAAE,OAAO,EAAA,OAAA,EAAE,UAAU,EAAA,UAAA,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC,CAAA;AAChD,SAAC,CAAC,CAAA;AACN,KAAC,CAAC,CAAA;IAEF,IAAM,aAAa,GAAG,WAAW,CAC7B,SAAS,aAAa,CAAC,EAAU,EAAE,eAA2B,EAAA;QAC1D,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC5B,QAAA,IAAI,OAAO,EAAE;;AAET,YAAA,OAAO,CAAC;AACJ,gBAAA,OAAO,EAAA,OAAA;gBACP,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;AAC9C,gBAAA,UAAU,EAAE,eAAe;AAC3B,gBAAA,IAAI,EAAE,eAAe;AACxB,aAAA,CAAC,CAAA;AACL,SAAA;AACL,KAAC,EACD,CAAC,IAAI,CAAC,CACT,CAAA;IAED,IAAM,SAAS,GAAG,WAAW,CACzB,UAAC,EAAU,EAAA,EAAK,OAAA,UAAC,GAAuB,EAAA;AACpC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;AACrB,KAAC,GAAA,EACD,CAAC,IAAI,CAAC,CACT,CAAA;AAED,IAAA,OAAO,EAAE,SAAS,EAAA,SAAA,EAAE,aAAa,EAAA,aAAA,EAAE,CAAA;AACvC;;;;"}
|