@doist/reactist 28.7.3 → 29.0.0
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/CHANGELOG.md +1437 -0
- package/CODE_OF_CONDUCT.md +83 -0
- package/CONTRIBUTING.md +46 -0
- package/README.md +3 -5
- package/dist/reactist.cjs.development.js +460 -447
- 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 +4 -4
- package/es/avatar/avatar.js.map +1 -1
- package/es/avatar/utils.js.map +1 -1
- package/es/banner/banner.js +3 -3
- package/es/banner/banner.js.map +1 -1
- package/es/base-field/base-field.js +15 -18
- package/es/base-field/base-field.js.map +1 -1
- package/es/box/box.js +3 -3
- package/es/box/box.js.map +1 -1
- package/es/button/button.js +1 -1
- package/es/button/button.js.map +1 -1
- package/es/checkbox-field/checkbox-field.js +1 -1
- package/es/checkbox-field/checkbox-field.js.map +1 -1
- package/es/checkbox-field/checkbox-icon.js +1 -1
- package/es/checkbox-field/checkbox-icon.js.map +1 -1
- package/es/checkbox-field/use-fork-ref.js.map +1 -1
- package/es/columns/columns.js +1 -1
- package/es/columns/columns.js.map +1 -1
- package/es/components/color-picker/color-picker.js +2 -2
- package/es/components/color-picker/color-picker.js.map +1 -1
- package/es/components/deprecated-button/deprecated-button.js +1 -1
- package/es/components/deprecated-button/deprecated-button.js.map +1 -1
- package/es/components/deprecated-dropdown/dropdown.js +4 -4
- package/es/components/deprecated-dropdown/dropdown.js.map +1 -1
- package/es/components/deprecated-input/input.js.map +1 -1
- package/es/components/deprecated-select/select.js +1 -1
- package/es/components/deprecated-select/select.js.map +1 -1
- package/es/components/key-capturer/key-capturer.js +46 -36
- package/es/components/key-capturer/key-capturer.js.map +1 -1
- package/es/components/keyboard-shortcut/keyboard-shortcut.js +1 -1
- package/es/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/es/components/progress-bar/progress-bar.js +1 -1
- package/es/components/progress-bar/progress-bar.js.map +1 -1
- package/es/components/time/time-utils.js +1 -1
- package/es/components/time/time-utils.js.map +1 -1
- package/es/components/time/time.js +4 -4
- package/es/components/time/time.js.map +1 -1
- package/es/divider/divider.js +1 -1
- package/es/divider/divider.js.map +1 -1
- package/es/heading/heading.js +1 -1
- package/es/heading/heading.js.map +1 -1
- package/es/hidden/hidden.js +2 -2
- package/es/hidden/hidden.js.map +1 -1
- package/es/hidden-visually/hidden-visually.js +1 -1
- package/es/hidden-visually/hidden-visually.js.map +1 -1
- package/es/icons/alert-icon.js +1 -1
- package/es/icons/alert-icon.js.map +1 -1
- package/es/icons/banner-icon.js +1 -1
- package/es/icons/banner-icon.js.map +1 -1
- package/es/index.js +5 -5
- package/es/inline/inline.js +1 -1
- package/es/inline/inline.js.map +1 -1
- package/es/loading/loading.js +1 -1
- package/es/loading/loading.js.map +1 -1
- package/es/menu/menu.js +2 -2
- package/es/menu/menu.js.map +1 -1
- package/es/modal/modal.js +22 -22
- package/es/modal/modal.js.map +1 -1
- package/es/modal/modal.module.css.js +1 -1
- package/es/notice/notice.js +1 -1
- package/es/notice/notice.js.map +1 -1
- package/es/password-field/password-field.js +2 -2
- package/es/prose/prose.js.map +1 -1
- package/es/select-field/select-field.js.map +1 -1
- package/es/select-field/select-field.module.css.js +1 -1
- package/es/spinner/spinner.js.map +1 -1
- package/es/stack/stack.js +2 -2
- package/es/stack/stack.js.map +1 -1
- package/es/switch-field/switch-field.js +2 -2
- package/es/switch-field/switch-field.js.map +1 -1
- package/es/tabs/tabs.js +4 -4
- package/es/tabs/tabs.js.map +1 -1
- package/es/text/text.js +1 -1
- package/es/text/text.js.map +1 -1
- package/es/text-area/text-area.js.map +1 -1
- package/es/text-field/text-field.js +1 -1
- package/es/text-field/text-field.js.map +1 -1
- package/es/text-field/text-field.module.css.js +1 -1
- package/es/text-link/text-link.js.map +1 -1
- package/es/toast/static-toast.js +1 -1
- package/es/toast/toast-animation.js +4 -4
- package/es/toast/toast-animation.js.map +1 -1
- package/es/toast/use-toasts.js +2 -2
- package/es/toast/use-toasts.js.map +1 -1
- package/es/tooltip/tooltip.js +2 -2
- package/es/tooltip/tooltip.js.map +1 -1
- package/es/utils/common-helpers.js +5 -0
- package/es/utils/common-helpers.js.map +1 -1
- package/es/utils/responsive-props.js +1 -1
- package/es/utils/responsive-props.js.map +1 -1
- package/lib/avatar/avatar.d.ts +1 -1
- package/lib/avatar/avatar.js +4 -4
- package/lib/avatar/avatar.js.map +1 -1
- package/lib/avatar/utils.d.ts +1 -1
- package/lib/avatar/utils.js.map +1 -1
- package/lib/banner/banner.d.ts +1 -1
- package/lib/banner/banner.js +3 -3
- package/lib/banner/banner.js.map +1 -1
- package/lib/banner/index.d.ts +1 -1
- package/lib/base-field/base-field.d.ts +1 -1
- package/lib/base-field/base-field.js +15 -18
- package/lib/base-field/base-field.js.map +1 -1
- package/lib/box/box.d.ts +2 -2
- package/lib/box/box.js +3 -3
- package/lib/box/box.js.map +1 -1
- package/lib/button/button.d.ts +3 -3
- package/lib/button/button.js +1 -1
- package/lib/button/button.js.map +1 -1
- package/lib/checkbox-field/checkbox-field.js +1 -1
- package/lib/checkbox-field/checkbox-field.js.map +1 -1
- package/lib/checkbox-field/checkbox-icon.js +1 -1
- package/lib/checkbox-field/checkbox-icon.js.map +1 -1
- package/lib/checkbox-field/use-fork-ref.d.ts +0 -1
- package/lib/checkbox-field/use-fork-ref.js.map +1 -1
- package/lib/columns/columns.d.ts +3 -3
- package/lib/columns/columns.js +1 -1
- package/lib/columns/columns.js.map +1 -1
- package/lib/components/color-picker/color-picker.d.ts +2 -2
- package/lib/components/color-picker/color-picker.js +2 -2
- package/lib/components/color-picker/color-picker.js.map +1 -1
- package/lib/components/color-picker/index.d.ts +1 -1
- package/lib/components/deprecated-button/deprecated-button.d.ts +4 -4
- package/lib/components/deprecated-button/deprecated-button.js +1 -1
- package/lib/components/deprecated-button/deprecated-button.js.map +1 -1
- package/lib/components/deprecated-dropdown/dropdown.d.ts +1 -1
- package/lib/components/deprecated-dropdown/dropdown.js +4 -4
- package/lib/components/deprecated-dropdown/dropdown.js.map +1 -1
- package/lib/components/deprecated-input/input.d.ts +1 -1
- package/lib/components/deprecated-input/input.js.map +1 -1
- package/lib/components/deprecated-select/select.d.ts +1 -1
- package/lib/components/deprecated-select/select.js +1 -1
- package/lib/components/deprecated-select/select.js.map +1 -1
- package/lib/components/key-capturer/key-capturer.d.ts +1 -1
- package/lib/components/key-capturer/key-capturer.js +46 -36
- package/lib/components/key-capturer/key-capturer.js.map +1 -1
- package/lib/components/keyboard-shortcut/keyboard-shortcut.d.ts +1 -1
- package/lib/components/keyboard-shortcut/keyboard-shortcut.js +1 -1
- package/lib/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/lib/components/progress-bar/progress-bar.js +1 -1
- package/lib/components/progress-bar/progress-bar.js.map +1 -1
- package/lib/components/time/time-utils.d.ts +2 -1
- package/lib/components/time/time-utils.js +1 -1
- package/lib/components/time/time-utils.js.map +1 -1
- package/lib/components/time/time.d.ts +2 -2
- package/lib/components/time/time.js +4 -4
- package/lib/components/time/time.js.map +1 -1
- package/lib/divider/divider.js +1 -1
- package/lib/divider/divider.js.map +1 -1
- package/lib/heading/heading.d.ts +7 -7
- package/lib/heading/heading.js +1 -1
- package/lib/heading/heading.js.map +1 -1
- package/lib/hidden/hidden.js +2 -2
- package/lib/hidden/hidden.js.map +1 -1
- package/lib/hidden-visually/hidden-visually.js +1 -1
- package/lib/hidden-visually/hidden-visually.js.map +1 -1
- package/lib/icons/alert-icon.js +1 -1
- package/lib/icons/alert-icon.js.map +1 -1
- package/lib/icons/banner-icon.js +1 -1
- package/lib/icons/banner-icon.js.map +1 -1
- package/lib/index.d.ts +5 -5
- package/lib/index.js +16 -16
- package/lib/inline/inline.d.ts +3 -3
- package/lib/inline/inline.js +1 -1
- package/lib/inline/inline.js.map +1 -1
- package/lib/loading/loading.js +1 -1
- package/lib/loading/loading.js.map +1 -1
- package/lib/menu/index.d.ts +2 -2
- package/lib/menu/menu.d.ts +4 -4
- package/lib/menu/menu.js +2 -2
- package/lib/menu/menu.js.map +1 -1
- package/lib/modal/modal-stories-components.d.ts +3 -3
- package/lib/modal/modal.d.ts +4 -4
- package/lib/modal/modal.js +23 -23
- package/lib/modal/modal.js.map +1 -1
- package/lib/modal/modal.module.css.js +1 -1
- package/lib/notice/notice.js +1 -1
- package/lib/notice/notice.js.map +1 -1
- package/lib/password-field/password-field.d.ts +1 -1
- package/lib/password-field/password-field.js +2 -2
- package/lib/prose/index.d.ts +1 -1
- package/lib/prose/prose.js.map +1 -1
- package/lib/select-field/select-field.d.ts +1 -1
- package/lib/select-field/select-field.js.map +1 -1
- package/lib/select-field/select-field.module.css.js +1 -1
- package/lib/spinner/spinner.js.map +1 -1
- package/lib/stack/stack.d.ts +2 -2
- package/lib/stack/stack.js +2 -2
- package/lib/stack/stack.js.map +1 -1
- package/lib/switch-field/switch-field.d.ts +1 -1
- package/lib/switch-field/switch-field.js +2 -2
- package/lib/switch-field/switch-field.js.map +1 -1
- package/lib/tabs/tabs.d.ts +2 -2
- package/lib/tabs/tabs.js +4 -4
- package/lib/tabs/tabs.js.map +1 -1
- package/lib/text/text.d.ts +1 -1
- package/lib/text/text.js +1 -1
- package/lib/text/text.js.map +1 -1
- package/lib/text-area/text-area.d.ts +1 -1
- package/lib/text-area/text-area.js.map +1 -1
- package/lib/text-field/text-field.d.ts +1 -2
- package/lib/text-field/text-field.js +1 -1
- package/lib/text-field/text-field.js.map +1 -1
- package/lib/text-field/text-field.module.css.js +1 -1
- package/lib/text-link/text-link.js.map +1 -1
- package/lib/toast/index.d.ts +2 -2
- package/lib/toast/static-toast.d.ts +1 -1
- package/lib/toast/static-toast.js +1 -1
- package/lib/toast/toast-animation.js +4 -4
- package/lib/toast/toast-animation.js.map +1 -1
- package/lib/toast/use-toasts.d.ts +1 -1
- package/lib/toast/use-toasts.js +2 -2
- package/lib/toast/use-toasts.js.map +1 -1
- package/lib/tooltip/index.d.ts +1 -1
- package/lib/tooltip/tooltip.d.ts +1 -1
- package/lib/tooltip/tooltip.js +2 -2
- package/lib/tooltip/tooltip.js.map +1 -1
- package/lib/utils/common-helpers.d.ts +3 -0
- package/lib/utils/common-helpers.js +5 -0
- package/lib/utils/common-helpers.js.map +1 -1
- package/lib/utils/responsive-props.d.ts +1 -1
- package/lib/utils/responsive-props.js +1 -1
- package/lib/utils/responsive-props.js.map +1 -1
- package/lib/utils/storybook-helper.d.ts +2 -2
- package/lib/utils/test-helpers.d.ts +3 -3
- package/package.json +37 -22
- package/styles/avatar.css +3 -3
- package/styles/badge.css +2 -2
- package/styles/banner.css +4 -4
- package/styles/base-field.css +6 -6
- package/styles/box.css +3 -3
- package/styles/button.css +2 -2
- package/styles/checkbox-field.css +2 -2
- package/styles/columns.css +2 -2
- package/styles/divider.css +2 -2
- package/styles/heading.css +2 -2
- package/styles/hidden-visually.css +2 -2
- package/styles/hidden.css +2 -2
- package/styles/index.css +5 -5
- package/styles/loading.css +2 -2
- package/styles/modal.css +5 -5
- package/styles/modal.module.css.css +1 -1
- package/styles/notice.css +2 -2
- package/styles/password-field.css +8 -8
- package/styles/prose.css +2 -2
- package/styles/reactist.css +8 -8
- package/styles/select-field.css +6 -6
- package/styles/select-field.module.css.css +1 -1
- package/styles/static-toast.css +2 -2
- package/styles/switch-field.css +6 -6
- package/styles/tabs.css +2 -2
- package/styles/text-area.css +5 -5
- package/styles/text-field.css +6 -6
- package/styles/text-field.module.css.css +1 -1
- package/styles/text-link.css +2 -2
- package/styles/text.css +2 -2
- package/styles/tooltip.css +2 -2
- package/styles/use-toasts.css +2 -2
|
@@ -115,19 +115,19 @@ function mapResponsiveProp(fromValue, mapper) {
|
|
|
115
115
|
return {
|
|
116
116
|
mobile: fromValue.mobile ? mapper(fromValue.mobile) : undefined,
|
|
117
117
|
tablet: fromValue.tablet ? mapper(fromValue.tablet) : undefined,
|
|
118
|
-
desktop: fromValue.desktop ? mapper(fromValue.desktop) : undefined
|
|
118
|
+
desktop: fromValue.desktop ? mapper(fromValue.desktop) : undefined,
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
var modules_54d944f2 = {"box":"_19abae45","position-absolute":"c77f2a47","position-fixed":"_2fe771e3","position-relative":"_7fb159a0","position-sticky":"_1b0c2c53","tablet-position-absolute":"fbfd01f5","tablet-position-fixed":"_718d00e5","tablet-position-relative":"ce0fef03","tablet-position-sticky":"_8ede9d51","desktop-position-absolute":"_5037d59d","desktop-position-fixed":"_2cf38f34","desktop-position-relative":"bf2d89a9","desktop-position-sticky":"_0a00a995","display-block":"_5e944bac","display-flex":"a7c6de33","display-inline":"_8ed03dfe","display-inlineBlock":"d7c72ae2","display-inlineFlex":"baf095bf","display-none":"fdecf61b","tablet-display-block":"e67bff4d","tablet-display-flex":"cd8908ce","tablet-display-inline":"_859da319","tablet-display-inlineBlock":"_9cfe10c7","tablet-display-inlineFlex":"bdc812ae","tablet-display-none":"_21f0dae7","desktop-display-block":"d94bf997","desktop-display-flex":"e6925ae5","desktop-display-inline":"_57151837","desktop-display-inlineBlock":"_7721cd07","desktop-display-inlineFlex":"_0e197a41","desktop-display-none":"dc1fe7a5","flexDirection-column":"_1e47f652","flexDirection-row":"_194d8611","tablet-flexDirection-column":"_11ca3004","tablet-flexDirection-row":"_7e4f2f2b","desktop-flexDirection-column":"fbca1929","desktop-flexDirection-row":"_50dd05a2","flexWrap-wrap":"afd15909","flexWrap-nowrap":"_7682c7ed","flexShrink-0":"b834b77e","flexGrow-0":"_89d517e2","flexGrow-1":"bfa58fdf","alignItems-flexStart":"_4e2075e2","alignItems-center":"_8ad6a17c","alignItems-flexEnd":"a6235493","alignItems-baseline":"_1e964f8a","tablet-alignItems-flexStart":"_87c0c7f8","tablet-alignItems-center":"_812a2195","tablet-alignItems-flexEnd":"_207fa4f7","tablet-alignItems-baseline":"_6415fbe8","desktop-alignItems-flexStart":"_84ec8c58","desktop-alignItems-center":"afdff695","desktop-alignItems-flexEnd":"_78607c32","desktop-alignItems-baseline":"_57428c98","justifyContent-flexStart":"_9e8363f8","justifyContent-center":"f88bdaf1","justifyContent-flexEnd":"_0315ed60","justifyContent-spaceAround":"_81fc01b2","justifyContent-spaceBetween":"_54d85bfe","justifyContent-spaceEvenly":"b09b6390","tablet-justifyContent-flexStart":"bea77b61","tablet-justifyContent-center":"_2f6925fc","tablet-justifyContent-flexEnd":"_462a9e07","tablet-justifyContent-spaceAround":"_1c555ae4","tablet-justifyContent-spaceBetween":"_7a9768a8","tablet-justifyContent-spaceEvenly":"_859b8158","desktop-justifyContent-flexStart":"c190fc20","desktop-justifyContent-center":"_73777561","desktop-justifyContent-flexEnd":"d2151eb8","desktop-justifyContent-spaceBetween":"b8ec7870","alignSelf-stretch":"d607c41c","alignSelf-flexStart":"_30b9c3a2","alignSelf-center":"f1f37bf1","alignSelf-flexEnd":"_341847ab","alignSelf-baseline":"_2c7dfaf8","tablet-alignSelf-stretch":"_8be172b1","tablet-alignSelf-flexStart":"_84af0ad2","tablet-alignSelf-center":"_2fb0b3f1","tablet-alignSelf-flexEnd":"d8b98da0","tablet-alignSelf-baseline":"_096c96ed","desktop-alignSelf-stretch":"_217cc45f","desktop-alignSelf-flexStart":"_29964d59","desktop-alignSelf-center":"e76ee627","desktop-alignSelf-flexEnd":"_7435c694","desktop-alignSelf-baseline":"_84758309","overflow-hidden":"_47471e4e","overflow-auto":"_37460640","overflow-visible":"_73d1ede9","overflow-scroll":"a39c32d7","height-full":"_5cede05a","bg-default":"b50b47ee","bg-aside":"_5912d165","bg-highlight":"c4b77c63","bg-selected":"_7ab4d8a9","bg-toast":"_9ce2e0c1","borderRadius-standard":"f6a2af5a","borderRadius-full":"_7e67e1f6","border-primary":"f5b8570f","border-secondary":"_5dd76b5f","border-tertiary":"_7c14c801","textAlign-start":"_57086b20","textAlign-center":"b7f35b86","textAlign-end":"_6596dbcd","textAlign-justify":"d5210e4f","tablet-textAlign-start":"_97da11d5","tablet-textAlign-center":"_9add5f3d","tablet-textAlign-end":"f8b12189","tablet-textAlign-justify":"d5acd111","desktop-textAlign-start":"b33bdab7","desktop-textAlign-center":"_0fc7972b","desktop-textAlign-end":"a0f648ae","desktop-textAlign-justify":"a0bdba20","overlayScroll":"d19e99ad"};
|
|
123
123
|
|
|
124
|
-
var
|
|
124
|
+
var modules_8b5c09cb = {"gap-none":"_64ed24f4","gap-xsmall":"_2580a74b","gap-small":"c68f8bf6","gap-medium":"_43e5f8e9","gap-large":"_966b120f","gap-xlarge":"f957894c","gap-xxlarge":"_8cca104b","tablet-gap-none":"_5797cee2","tablet-gap-xsmall":"_9015672f","tablet-gap-small":"_7ec86eec","tablet-gap-medium":"_714d7179","tablet-gap-large":"ae1deb59","tablet-gap-xlarge":"e1cfce55","tablet-gap-xxlarge":"_168a8ff8","desktop-gap-none":"_43e2b619","desktop-gap-xsmall":"_0ea9bf88","desktop-gap-small":"d451307a","desktop-gap-medium":"bf93cf66","desktop-gap-large":"_1430cddf","desktop-gap-xlarge":"fa00c93e","desktop-gap-xxlarge":"_6f3aee54"};
|
|
125
125
|
|
|
126
126
|
var modules_131405ac = {"marginTop-xsmall":"c7813d79","marginTop-small":"d3449da6","marginTop-medium":"_4ea254c1","marginTop-large":"c0844f64","marginTop-xlarge":"_213145b4","marginTop-xxlarge":"df61c84c","marginTop--xsmall":"efe72b13","marginTop--small":"_870c2768","marginTop--medium":"_0b927c57","marginTop--large":"_461db014","marginTop--xlarge":"_2a3a8cb8","marginTop--xxlarge":"_9bcda921","tablet-marginTop-xsmall":"_6add01e4","tablet-marginTop-small":"_735ef86b","tablet-marginTop-medium":"_0477d068","tablet-marginTop-large":"_2c90af97","tablet-marginTop-xlarge":"_63a82db6","tablet-marginTop-xxlarge":"_03cd7726","tablet-marginTop--xsmall":"c986a62a","tablet-marginTop--small":"be2bdcdd","tablet-marginTop--medium":"_47d2686b","tablet-marginTop--large":"_25e5af9d","tablet-marginTop--xlarge":"ee82f441","tablet-marginTop--xxlarge":"a6f9d404","desktop-marginTop-xsmall":"_4d8d9a36","desktop-marginTop-small":"e813cee7","desktop-marginTop-medium":"_56975b7d","desktop-marginTop-large":"_53b367f6","desktop-marginTop-xlarge":"d69e7311","desktop-marginTop-xxlarge":"_92f57c7e","desktop-marginTop--xsmall":"_96880d3e","desktop-marginTop--small":"dc3f3555","desktop-marginTop--medium":"_86dd06bb","desktop-marginTop--large":"c93ef12e","desktop-marginTop--xlarge":"bc8fd4a2","desktop-marginTop--xxlarge":"b12a9124","marginRight-xsmall":"_6016f4fb","marginRight-small":"b85e3dfa","marginRight-medium":"_297575f4","marginRight-large":"b401ac6c","marginRight-xlarge":"dc3ec387","marginRight-xxlarge":"_24694604","marginRight--xsmall":"_8e9bf2ee","marginRight--small":"ae9d1115","marginRight--medium":"_14e46fc3","marginRight--large":"_3370631b","marginRight--xlarge":"_3f0e9b50","marginRight--xxlarge":"bc13e010","tablet-marginRight-xsmall":"_6fa1aae3","tablet-marginRight-small":"_2976c5cb","tablet-marginRight-medium":"_38d94802","tablet-marginRight-large":"db9569b5","tablet-marginRight-xlarge":"_4a52f06d","tablet-marginRight-xxlarge":"_8a0f0410","tablet-marginRight--xsmall":"e7d40e9d","tablet-marginRight--small":"_680fde91","tablet-marginRight--medium":"_021010ca","tablet-marginRight--large":"_9e52c87c","tablet-marginRight--xlarge":"_4d602613","tablet-marginRight--xxlarge":"_21b1b65a","desktop-marginRight-xsmall":"_7321bc07","desktop-marginRight-small":"fa1721f4","desktop-marginRight-medium":"_3fd7b4b8","desktop-marginRight-large":"_4fdc2f74","desktop-marginRight-xlarge":"c0254761","desktop-marginRight-xxlarge":"_710a5f09","desktop-marginRight--xsmall":"e08bee7f","desktop-marginRight--small":"e5ab73d2","desktop-marginRight--medium":"_5e731477","desktop-marginRight--large":"_0f57a22e","desktop-marginRight--xlarge":"_25f26ed3","desktop-marginRight--xxlarge":"_11a3b4e0","marginBottom-xsmall":"_6a4f69f7","marginBottom-small":"db26b033","marginBottom-medium":"c7313022","marginBottom-large":"a5885889","marginBottom-xlarge":"_33dfbd8e","marginBottom-xxlarge":"_795ad2de","marginBottom--xsmall":"a329dbd3","marginBottom--small":"_85e739fb","marginBottom--medium":"_681f65ff","marginBottom--large":"caf50d8f","marginBottom--xlarge":"_1e084cbf","marginBottom--xxlarge":"_3dfb1c7e","tablet-marginBottom-xsmall":"ef4735be","tablet-marginBottom-small":"de55afba","tablet-marginBottom-medium":"_0e33ce88","tablet-marginBottom-large":"_8ca391fc","tablet-marginBottom-xlarge":"_3a609d23","tablet-marginBottom-xxlarge":"_3e1177e4","tablet-marginBottom--xsmall":"d384884d","tablet-marginBottom--small":"_75254cec","tablet-marginBottom--medium":"_5d9f127d","tablet-marginBottom--large":"_835f1089","tablet-marginBottom--xlarge":"dad52a72","tablet-marginBottom--xxlarge":"_8703a4bf","desktop-marginBottom-xsmall":"_90fd20e9","desktop-marginBottom-small":"f3769191","desktop-marginBottom-medium":"_156410f8","desktop-marginBottom-large":"_7fed74d0","desktop-marginBottom-xlarge":"_477dc10e","desktop-marginBottom-xxlarge":"_85c82d89","desktop-marginBottom--xsmall":"_4f09c1e0","desktop-marginBottom--small":"_9523e048","desktop-marginBottom--medium":"efe10240","desktop-marginBottom--large":"c43971e6","desktop-marginBottom--xlarge":"f9b4da15","desktop-marginBottom--xxlarge":"a10fdf70","marginLeft-xsmall":"f9be90b4","marginLeft-small":"f53218d5","marginLeft-medium":"c4a9b3ab","marginLeft-large":"_5755e2c3","marginLeft-xlarge":"_33fc9354","marginLeft-xxlarge":"_4749a3bf","marginLeft--xsmall":"c76cb3c7","marginLeft--small":"_96003c07","marginLeft--medium":"_09988d07","marginLeft--large":"b4a486f6","marginLeft--xlarge":"f396e75e","marginLeft--xxlarge":"_81d1f26d","tablet-marginLeft-xsmall":"_0a46e8f1","tablet-marginLeft-small":"_57c970af","tablet-marginLeft-medium":"_4b6099d3","tablet-marginLeft-large":"_378fcff5","tablet-marginLeft-xlarge":"f8785663","tablet-marginLeft-xxlarge":"_72f957ee","tablet-marginLeft--xsmall":"_2288c7e1","tablet-marginLeft--small":"b27c1c05","tablet-marginLeft--medium":"_702cbb13","tablet-marginLeft--large":"_1a2748b4","tablet-marginLeft--xlarge":"b8c043a5","tablet-marginLeft--xxlarge":"_8dc8ff63","desktop-marginLeft-xsmall":"c2af646d","desktop-marginLeft-small":"c03d07be","desktop-marginLeft-medium":"_915fb1d3","desktop-marginLeft-large":"_64214ee1","desktop-marginLeft-xlarge":"_7be4a22c","desktop-marginLeft-xxlarge":"_5ec0a401","desktop-marginLeft--xsmall":"ea29f1ee","desktop-marginLeft--small":"c26652c7","desktop-marginLeft--medium":"c24f6af9","desktop-marginLeft--large":"c2671f27","desktop-marginLeft--xlarge":"cc51a04e","desktop-marginLeft--xxlarge":"fd581f54"};
|
|
127
127
|
|
|
128
|
-
var
|
|
128
|
+
var modules_b537a8ee = {"paddingTop-xsmall":"c4803194","paddingTop-small":"_4e9ab24b","paddingTop-medium":"_1d226e27","paddingTop-large":"eb6097f1","paddingTop-xlarge":"d3229ba4","paddingTop-xxlarge":"_47978ba4","tablet-paddingTop-xsmall":"f987719c","tablet-paddingTop-small":"_8dbc4b4d","tablet-paddingTop-medium":"ae44fe07","tablet-paddingTop-large":"ffe9548d","tablet-paddingTop-xlarge":"f2b76a44","tablet-paddingTop-xxlarge":"c6eb8f43","desktop-paddingTop-xsmall":"_8699b560","desktop-paddingTop-small":"_02c374b7","desktop-paddingTop-medium":"_0dd0332f","desktop-paddingTop-large":"da55f1f6","desktop-paddingTop-xlarge":"_8ef2a278","desktop-paddingTop-xxlarge":"_8b493b28","paddingRight-xsmall":"_211eebc7","paddingRight-small":"ad0ccf15","paddingRight-medium":"a03e39af","paddingRight-large":"f0941ead","paddingRight-xlarge":"e47c5a43","paddingRight-xxlarge":"e849a5cf","tablet-paddingRight-xsmall":"_85374228","tablet-paddingRight-small":"_89df37b9","tablet-paddingRight-medium":"_1cc50ebe","tablet-paddingRight-large":"_1060982b","tablet-paddingRight-xlarge":"be58847d","tablet-paddingRight-xxlarge":"_45093484","desktop-paddingRight-xsmall":"f8d99d6a","desktop-paddingRight-small":"efa076d9","desktop-paddingRight-medium":"e59caa64","desktop-paddingRight-large":"da42f46a","desktop-paddingRight-xlarge":"b3ee2580","desktop-paddingRight-xxlarge":"_3ef94658","paddingBottom-xsmall":"b0e6eab4","paddingBottom-small":"_9510d053","paddingBottom-medium":"d7af60c9","paddingBottom-large":"b75f86cd","paddingBottom-xlarge":"fbd4ce29","paddingBottom-xxlarge":"_33e3ad63","tablet-paddingBottom-xsmall":"f0302da7","tablet-paddingBottom-small":"_4f9b8012","tablet-paddingBottom-medium":"_4333e20e","tablet-paddingBottom-large":"_30bbc76c","tablet-paddingBottom-xlarge":"ba5a4008","tablet-paddingBottom-xxlarge":"_423a3b1a","desktop-paddingBottom-xsmall":"b40139b7","desktop-paddingBottom-small":"f96071fa","desktop-paddingBottom-medium":"fe803c9a","desktop-paddingBottom-large":"_01686eb9","desktop-paddingBottom-xlarge":"afa763d8","desktop-paddingBottom-xxlarge":"a95785f1","paddingLeft-xsmall":"cad4e2ec","paddingLeft-small":"d70b3c17","paddingLeft-medium":"_8c851bd6","paddingLeft-large":"_078feb3c","paddingLeft-xlarge":"_76ab968c","paddingLeft-xxlarge":"aaca85d7","tablet-paddingLeft-xsmall":"_5eb0e5aa","tablet-paddingLeft-small":"_0384fb4f","tablet-paddingLeft-medium":"edffff6f","tablet-paddingLeft-large":"_873b9a46","tablet-paddingLeft-xlarge":"_89105db5","tablet-paddingLeft-xxlarge":"db1966fe","desktop-paddingLeft-xsmall":"b17f826b","desktop-paddingLeft-small":"_6dc83610","desktop-paddingLeft-medium":"_3421b8b2","desktop-paddingLeft-large":"_68cec7a6","desktop-paddingLeft-xlarge":"_94bde020","desktop-paddingLeft-xxlarge":"b94ee579"};
|
|
129
129
|
|
|
130
|
-
var
|
|
130
|
+
var modules_89b7671c = {"minWidth-0":"_68ab48ca","minWidth-xsmall":"_6fa2b565","minWidth-small":"dd50fabd","minWidth-medium":"e7e2c808","minWidth-large":"_6abbe25e","minWidth-xlarge":"_54f479ac","maxWidth-xsmall":"_148492bc","maxWidth-small":"bd023b96","maxWidth-medium":"e102903f","maxWidth-large":"_0e8d76d7","maxWidth-xlarge":"_47a031d0","maxWidth-full":"cd4c8183","width-0":"_5f5959e8","width-full":"_8c75067a","width-auto":"_56a651f6","width-maxContent":"_26f87bb8","width-minContent":"_07a6ab44","width-fitContent":"a87016fa","width-xsmall":"_1a972e50","width-small":"c96d8261","width-medium":"f3829d42","width-large":"_2caef228","width-xlarge":"_069e1491"};
|
|
131
131
|
|
|
132
132
|
function getBoxClassNames(_a) {
|
|
133
133
|
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
@@ -188,7 +188,7 @@ var Box$1 = polymorphicComponent(function Box(_a, ref) {
|
|
|
188
188
|
marginBottom: marginBottom,
|
|
189
189
|
marginLeft: marginLeft,
|
|
190
190
|
overlayScroll: overlayScroll,
|
|
191
|
-
className: className
|
|
191
|
+
className: className,
|
|
192
192
|
}), ref: ref }), children);
|
|
193
193
|
});
|
|
194
194
|
|
|
@@ -225,31 +225,6 @@ function Divider(_a) {
|
|
|
225
225
|
return React__namespace.createElement(Box$1, tslib.__assign({ as: "hr", className: getClassNames(modules_c742c4d7, 'weight', weight) }, props));
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
-
var Inline = polymorphicComponent(function Inline(_a, ref) {
|
|
229
|
-
var as = _a.as, space = _a.space, _b = _a.align, align = _b === void 0 ? 'left' : _b, _c = _a.alignY, alignY = _c === void 0 ? 'center' : _c, children = _a.children, exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["as", "space", "align", "alignY", "children", "exceptionallySetClassName"]);
|
|
230
|
-
return (React__namespace.createElement(Box$1, tslib.__assign({}, props, { as: as, display: "flex", flexWrap: "wrap", gap: space, className: exceptionallySetClassName, ref: ref, alignItems: mapResponsiveProp(alignY, function (alignY) {
|
|
231
|
-
return alignY === 'top' ? 'flexStart' : alignY === 'bottom' ? 'flexEnd' : 'center';
|
|
232
|
-
}), justifyContent: mapResponsiveProp(align, function (align) {
|
|
233
|
-
return align === 'left' ? 'flexStart' : align === 'right' ? 'flexEnd' : 'center';
|
|
234
|
-
}) }), children));
|
|
235
|
-
});
|
|
236
|
-
|
|
237
|
-
var Stack = polymorphicComponent(function Stack(_a, ref) {
|
|
238
|
-
var as = _a.as, space = _a.space, align = _a.align, _b = _a.dividers, dividers = _b === void 0 ? 'none' : _b, _c = _a.width, width = _c === void 0 ? 'full' : _c, children = _a.children, exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["as", "space", "align", "dividers", "width", "children", "exceptionallySetClassName"]);
|
|
239
|
-
var alignItems = align === undefined
|
|
240
|
-
? undefined
|
|
241
|
-
: mapResponsiveProp(align, function (align) {
|
|
242
|
-
return align === 'start' ? 'flexStart' : align === 'end' ? 'flexEnd' : 'center';
|
|
243
|
-
});
|
|
244
|
-
return (React__namespace.createElement(Box$1, tslib.__assign({}, props, { display: "flex", flexDirection: "column", width: width, alignItems: alignItems, gap: space, as: as, className: exceptionallySetClassName, ref: ref }), dividers !== 'none'
|
|
245
|
-
? React__namespace.Children.map(flattenChildren__default["default"](children), function (child, index) {
|
|
246
|
-
return index > 0 ? (React__namespace.createElement(React__namespace.Fragment, null,
|
|
247
|
-
React__namespace.createElement(Divider, { weight: dividers }),
|
|
248
|
-
child)) : (child);
|
|
249
|
-
})
|
|
250
|
-
: children));
|
|
251
|
-
});
|
|
252
|
-
|
|
253
228
|
var modules_4689e97e = {"hiddenOnPrint":"_0e595dea"};
|
|
254
229
|
|
|
255
230
|
/**
|
|
@@ -287,7 +262,7 @@ var Hidden = polymorphicComponent(function Hidden(_a, ref) {
|
|
|
287
262
|
: {
|
|
288
263
|
mobile: hiddenOnMobile ? 'none' : display,
|
|
289
264
|
tablet: hiddenOnTablet ? 'none' : display,
|
|
290
|
-
desktop: hiddenOnDesktop ? 'none' : display
|
|
265
|
+
desktop: hiddenOnDesktop ? 'none' : display,
|
|
291
266
|
} }), children));
|
|
292
267
|
});
|
|
293
268
|
|
|
@@ -302,23 +277,30 @@ var HiddenVisually = polymorphicComponent(function HiddenVisually(props, ref) {
|
|
|
302
277
|
return (React__namespace.createElement(Box$1, tslib.__assign({}, props, { ref: ref, position: "absolute", overflow: "hidden", className: modules_61c16c43.hiddenVisually })));
|
|
303
278
|
});
|
|
304
279
|
|
|
305
|
-
var
|
|
306
|
-
|
|
307
|
-
return
|
|
308
|
-
|
|
309
|
-
function
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
}
|
|
313
|
-
function useId(providedId) {
|
|
314
|
-
var ref = React__namespace.useRef(providedId !== null && providedId !== void 0 ? providedId : null);
|
|
315
|
-
if (!ref.current) {
|
|
316
|
-
ref.current = generateElementId('element');
|
|
317
|
-
}
|
|
318
|
-
return ref.current;
|
|
319
|
-
}
|
|
280
|
+
var Inline = polymorphicComponent(function Inline(_a, ref) {
|
|
281
|
+
var as = _a.as, space = _a.space, _b = _a.align, align = _b === void 0 ? 'left' : _b, _c = _a.alignY, alignY = _c === void 0 ? 'center' : _c, children = _a.children, exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["as", "space", "align", "alignY", "children", "exceptionallySetClassName"]);
|
|
282
|
+
return (React__namespace.createElement(Box$1, tslib.__assign({}, props, { as: as, display: "flex", flexWrap: "wrap", gap: space, className: exceptionallySetClassName, ref: ref, alignItems: mapResponsiveProp(alignY, function (alignY) {
|
|
283
|
+
return alignY === 'top' ? 'flexStart' : alignY === 'bottom' ? 'flexEnd' : 'center';
|
|
284
|
+
}), justifyContent: mapResponsiveProp(align, function (align) {
|
|
285
|
+
return align === 'left' ? 'flexStart' : align === 'right' ? 'flexEnd' : 'center';
|
|
286
|
+
}) }), children));
|
|
287
|
+
});
|
|
320
288
|
|
|
321
|
-
var
|
|
289
|
+
var Stack = polymorphicComponent(function Stack(_a, ref) {
|
|
290
|
+
var as = _a.as, space = _a.space, align = _a.align, _b = _a.dividers, dividers = _b === void 0 ? 'none' : _b, _c = _a.width, width = _c === void 0 ? 'full' : _c, children = _a.children, exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["as", "space", "align", "dividers", "width", "children", "exceptionallySetClassName"]);
|
|
291
|
+
var alignItems = align === undefined
|
|
292
|
+
? undefined
|
|
293
|
+
: mapResponsiveProp(align, function (align) {
|
|
294
|
+
return align === 'start' ? 'flexStart' : align === 'end' ? 'flexEnd' : 'center';
|
|
295
|
+
});
|
|
296
|
+
return (React__namespace.createElement(Box$1, tslib.__assign({}, props, { display: "flex", flexDirection: "column", width: width, alignItems: alignItems, gap: space, as: as, className: exceptionallySetClassName, ref: ref }), dividers !== 'none'
|
|
297
|
+
? React__namespace.Children.map(flattenChildren__default["default"](children), function (child, index) {
|
|
298
|
+
return index > 0 ? (React__namespace.createElement(React__namespace.Fragment, null,
|
|
299
|
+
React__namespace.createElement(Divider, { weight: dividers }),
|
|
300
|
+
child)) : (child);
|
|
301
|
+
})
|
|
302
|
+
: children));
|
|
303
|
+
});
|
|
322
304
|
|
|
323
305
|
var modules_c7f5018f = {"svg":"_51539197","spinner":"_54fbe2b3","tint":"a0c466ed","fill":"_745b73d3"};
|
|
324
306
|
|
|
@@ -336,7 +318,7 @@ var defaultShowTimeout = 500;
|
|
|
336
318
|
var defaultHideTimeout = 100;
|
|
337
319
|
var TooltipContext = React__namespace.createContext({
|
|
338
320
|
showTimeout: defaultShowTimeout,
|
|
339
|
-
hideTimeout: defaultHideTimeout
|
|
321
|
+
hideTimeout: defaultHideTimeout,
|
|
340
322
|
});
|
|
341
323
|
function TooltipProvider(_a) {
|
|
342
324
|
var _b = _a.showTimeout, showTimeout = _b === void 0 ? defaultShowTimeout : _b, _c = _a.hideTimeout, hideTimeout = _c === void 0 ? defaultHideTimeout : _c, children = _a.children;
|
|
@@ -349,7 +331,7 @@ var Tooltip = React__namespace.forwardRef(function (_a, ref) {
|
|
|
349
331
|
var tooltip = react.useTooltipStore({
|
|
350
332
|
placement: position,
|
|
351
333
|
showTimeout: showTimeout !== null && showTimeout !== void 0 ? showTimeout : globalShowTimeout,
|
|
352
|
-
hideTimeout: hideTimeout !== null && hideTimeout !== void 0 ? hideTimeout : globalHideTimeout
|
|
334
|
+
hideTimeout: hideTimeout !== null && hideTimeout !== void 0 ? hideTimeout : globalHideTimeout,
|
|
353
335
|
});
|
|
354
336
|
React__namespace.useImperativeHandle(ref, function () { return tooltip; }, [tooltip]);
|
|
355
337
|
var isOpen = tooltip.useState('open');
|
|
@@ -418,11 +400,6 @@ var IconButton = React__namespace.forwardRef(function IconButton(_a, ref) {
|
|
|
418
400
|
return tooltipContent ? (React__namespace.createElement(Tooltip, { content: tooltipContent }, buttonElement)) : (buttonElement);
|
|
419
401
|
});
|
|
420
402
|
|
|
421
|
-
function CloseIcon(props) {
|
|
422
|
-
return (React__namespace.createElement("svg", tslib.__assign({ xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24" }, props),
|
|
423
|
-
React__namespace.createElement("path", { fill: "currentColor", d: "M5.146 5.146a.5.5 0 0 1 .708 0L12 11.293l6.146-6.147a.5.5 0 0 1 .638-.057l.07.057a.5.5 0 0 1 0 .708L12.707 12l6.147 6.146a.5.5 0 0 1 .057.638l-.057.07a.5.5 0 0 1-.708 0L12 12.707l-6.146 6.147a.5.5 0 0 1-.638.057l-.07-.057a.5.5 0 0 1 0-.708L11.293 12 5.146 5.854a.5.5 0 0 1-.057-.638z" })));
|
|
424
|
-
}
|
|
425
|
-
|
|
426
403
|
var modules_de8ae2e5 = {"info":"_447f8e53","upgrade":"cdb7a2b8","experiment":"_210efb55","warning":"cd91167f","error":"a52763ee","success":"c6229331"};
|
|
427
404
|
|
|
428
405
|
var bannerIconForType = {
|
|
@@ -431,7 +408,7 @@ var bannerIconForType = {
|
|
|
431
408
|
experiment: BannerExperimentIcon,
|
|
432
409
|
warning: BannerWarningIcon,
|
|
433
410
|
error: BannerErrorIcon,
|
|
434
|
-
success: BannerSuccessIcon
|
|
411
|
+
success: BannerSuccessIcon,
|
|
435
412
|
};
|
|
436
413
|
function BannerIcon(_a) {
|
|
437
414
|
var type = _a.type, props = tslib.__rest(_a, ["type"]);
|
|
@@ -464,6 +441,11 @@ function BannerSuccessIcon(props) {
|
|
|
464
441
|
React__namespace.createElement("path", { fill: "currentColor", fillRule: "evenodd", d: "M21 12.25a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-5.555-2.99a.75.75 0 0 1 1.06 1.06l-5.303 5.303a.748.748 0 0 1-1.061 0L7.666 13.15a.75.75 0 1 1 1.06-1.06l1.945 1.944 4.774-4.773Z", clipRule: "evenodd" })));
|
|
465
442
|
}
|
|
466
443
|
|
|
444
|
+
function CloseIcon(props) {
|
|
445
|
+
return (React__namespace.createElement("svg", tslib.__assign({ xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24" }, props),
|
|
446
|
+
React__namespace.createElement("path", { fill: "currentColor", d: "M5.146 5.146a.5.5 0 0 1 .708 0L12 11.293l6.146-6.147a.5.5 0 0 1 .638-.057l.07.057a.5.5 0 0 1 0 .708L12.707 12l6.147 6.146a.5.5 0 0 1 .057.638l-.057.07a.5.5 0 0 1-.708 0L12 12.707l-6.146 6.147a.5.5 0 0 1-.638.057l-.07-.057a.5.5 0 0 1 0-.708L11.293 12 5.146 5.854a.5.5 0 0 1-.057-.638z" })));
|
|
447
|
+
}
|
|
448
|
+
|
|
467
449
|
var modules_3d05deee = {"default":"_468ce45c","inherit":"_54f92a1e","underline":"cdc8b08c","no-underline":"_06995bac","container":"d77fcdc6"};
|
|
468
450
|
|
|
469
451
|
var TextLink = polymorphicComponent(function TextLink(_a, ref) {
|
|
@@ -476,6 +458,29 @@ var TextLink = polymorphicComponent(function TextLink(_a, ref) {
|
|
|
476
458
|
], ref: ref, target: openInNewTab ? '_blank' : undefined, rel: openInNewTab ? 'noopener noreferrer' : undefined })));
|
|
477
459
|
});
|
|
478
460
|
|
|
461
|
+
var uid = 0;
|
|
462
|
+
function uniqueId() {
|
|
463
|
+
return uid++;
|
|
464
|
+
}
|
|
465
|
+
function generateElementId(prefix) {
|
|
466
|
+
var num = uniqueId();
|
|
467
|
+
return "".concat(prefix, "-").concat(num);
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* @deprecated Use `useId` available from React 18 or above instead.
|
|
471
|
+
*/
|
|
472
|
+
function useId(providedId) {
|
|
473
|
+
var ref = React__namespace.useRef(providedId !== null && providedId !== void 0 ? providedId : null);
|
|
474
|
+
// eslint-disable-next-line react-hooks/refs
|
|
475
|
+
if (!ref.current) {
|
|
476
|
+
ref.current = generateElementId('element');
|
|
477
|
+
}
|
|
478
|
+
// eslint-disable-next-line react-hooks/refs
|
|
479
|
+
return ref.current;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
var modules_afa80466 = {"banner":"e1b2ef74","image":"_8d3ff024","title":"_9ad57971","description":"_99daf106","secondary":"_59ea31f7","icon":"b1ae548b","closeButton":"c2e4ec08","copy":"cd270dad","inlineLink":"cbbd2929","staticContent":"d3bd2674","actions":"_1a63a5e1","content":"_1705b6ee"};
|
|
483
|
+
|
|
479
484
|
/**
|
|
480
485
|
* Type guard to check if the action is an Action object (button or link)
|
|
481
486
|
*/
|
|
@@ -524,7 +529,7 @@ var sizeMapping = {
|
|
|
524
529
|
xsmall: 16,
|
|
525
530
|
small: 24,
|
|
526
531
|
medium: 36,
|
|
527
|
-
large: 48
|
|
532
|
+
large: 48,
|
|
528
533
|
};
|
|
529
534
|
function Loading(_a) {
|
|
530
535
|
var _b;
|
|
@@ -543,7 +548,7 @@ var alertIconForTone = {
|
|
|
543
548
|
info: AlertInfoIcon,
|
|
544
549
|
positive: AlertPositiveIcon,
|
|
545
550
|
caution: AlertCautionIcon,
|
|
546
|
-
critical: AlertCriticalIcon
|
|
551
|
+
critical: AlertCriticalIcon,
|
|
547
552
|
};
|
|
548
553
|
function AlertIcon(_a) {
|
|
549
554
|
var tone = _a.tone, props = tslib.__rest(_a, ["tone"]);
|
|
@@ -724,7 +729,7 @@ function useToastsAnimation() {
|
|
|
724
729
|
Array.from(refs.entries()).forEach(function (_a) {
|
|
725
730
|
var id = _a[0], element = _a[1];
|
|
726
731
|
if (!element) {
|
|
727
|
-
refs
|
|
732
|
+
refs.delete(id);
|
|
728
733
|
return;
|
|
729
734
|
}
|
|
730
735
|
var prevTop = positions.get(id);
|
|
@@ -734,7 +739,7 @@ function useToastsAnimation() {
|
|
|
734
739
|
animations.push({
|
|
735
740
|
element: element,
|
|
736
741
|
transition: ENTRANCE_TRANSITION,
|
|
737
|
-
transforms: [{ property: 'transform', from: "translateY(".concat(prevTop - top, "px)") }]
|
|
742
|
+
transforms: [{ property: 'transform', from: "translateY(".concat(prevTop - top, "px)") }],
|
|
738
743
|
});
|
|
739
744
|
}
|
|
740
745
|
else if (typeof prevTop !== 'number') {
|
|
@@ -745,7 +750,7 @@ function useToastsAnimation() {
|
|
|
745
750
|
transforms: [
|
|
746
751
|
{ property: 'transform', from: "translateY(".concat(height, "px)") },
|
|
747
752
|
{ property: 'opacity', from: '0' },
|
|
748
|
-
]
|
|
753
|
+
],
|
|
749
754
|
});
|
|
750
755
|
}
|
|
751
756
|
positions.set(id, element.getBoundingClientRect().top);
|
|
@@ -763,7 +768,7 @@ function useToastsAnimation() {
|
|
|
763
768
|
element: element,
|
|
764
769
|
transforms: [{ property: 'opacity', to: '0' }],
|
|
765
770
|
transition: EXIT_TRANSITION,
|
|
766
|
-
done: onAnimationDone
|
|
771
|
+
done: onAnimationDone,
|
|
767
772
|
});
|
|
768
773
|
}
|
|
769
774
|
}, [refs]);
|
|
@@ -958,7 +963,7 @@ var svgPath = {
|
|
|
958
963
|
checked: 'M18 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h12zm-2.457 4.293l-5.293 5.293-1.793-1.793a1 1 0 1 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l6-6a1 1 0 1 0-1.414-1.414z',
|
|
959
964
|
unchecked: 'M18 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h12zm0 1H6a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1z',
|
|
960
965
|
mixed: 'M18 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h12zm-2 7H8a1 1 0 0 0 0 2h8a1 1 0 0 0 0-2z',
|
|
961
|
-
filled: 'M6 4H18C19.1046 4 20 4.89543 20 6V18C20 19.1046 19.1046 20 18 20H6C4.89543 20 4 19.1046 4 18V6C4 4.89543 4.89543 4 6 4Z'
|
|
966
|
+
filled: 'M6 4H18C19.1046 4 20 4.89543 20 6V18C20 19.1046 19.1046 20 18 20H6C4.89543 20 4 19.1046 4 18V6C4 4.89543 4.89543 4 6 4Z',
|
|
962
967
|
};
|
|
963
968
|
function getPathKey(_a) {
|
|
964
969
|
var checked = _a.checked, indeterminate = _a.indeterminate, disabled = _a.disabled;
|
|
@@ -985,8 +990,6 @@ function CheckboxIcon(_a) {
|
|
|
985
990
|
React__namespace.createElement("path", { fill: "currentColor", fillRule: "nonzero", d: svgPath[pathKey] })));
|
|
986
991
|
}
|
|
987
992
|
|
|
988
|
-
var modules_664a6a80 = {"disabled":"_131a2ca4","checked":"_95b1556d","keyFocused":"_49de7ebd","icon":"_6b4b1851","label":"_9047f3bd","container":"_84dfdb83"};
|
|
989
|
-
|
|
990
993
|
/**
|
|
991
994
|
* Sets both a function and object React ref.
|
|
992
995
|
*/
|
|
@@ -1022,6 +1025,8 @@ function useForkRef() {
|
|
|
1022
1025
|
refs);
|
|
1023
1026
|
}
|
|
1024
1027
|
|
|
1028
|
+
var modules_664a6a80 = {"disabled":"_131a2ca4","checked":"_95b1556d","keyFocused":"_49de7ebd","icon":"_6b4b1851","label":"_9047f3bd","container":"_84dfdb83"};
|
|
1029
|
+
|
|
1025
1030
|
var CheckboxField = React__namespace.forwardRef(function CheckboxField(_a, ref) {
|
|
1026
1031
|
var _b, _c, _d;
|
|
1027
1032
|
var label = _a.label, icon = _a.icon, disabled = _a.disabled, indeterminate = _a.indeterminate, defaultChecked = _a.defaultChecked, onChange = _a.onChange, props = tslib.__rest(_a, ["label", "icon", "disabled", "indeterminate", "defaultChecked", "onChange"]);
|
|
@@ -1071,13 +1076,6 @@ var CheckboxField = React__namespace.forwardRef(function CheckboxField(_a, ref)
|
|
|
1071
1076
|
React__namespace.createElement(Text, null, label))) : null));
|
|
1072
1077
|
});
|
|
1073
1078
|
|
|
1074
|
-
function PasswordVisibleIcon(props) {
|
|
1075
|
-
return (React__namespace.createElement("svg", tslib.__assign({ xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24" }, props),
|
|
1076
|
-
React__namespace.createElement("g", { fill: "none", fillRule: "evenodd", stroke: "gray" },
|
|
1077
|
-
React__namespace.createElement("path", { d: "M21.358 12C17.825 7.65 14.692 5.5 12 5.5c-2.624 0-5.67 2.043-9.097 6.181a.5.5 0 0 0 0 .638C6.331 16.457 9.376 18.5 12 18.5c2.692 0 5.825-2.15 9.358-6.5z" }),
|
|
1078
|
-
React__namespace.createElement("circle", { cx: "12", cy: "12", r: "3.5" }))));
|
|
1079
|
-
}
|
|
1080
|
-
|
|
1081
1079
|
function PasswordHiddenIcon(props) {
|
|
1082
1080
|
return (React__namespace.createElement("svg", tslib.__assign({ xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24" }, props),
|
|
1083
1081
|
React__namespace.createElement("g", { fill: "gray", fillRule: "evenodd", transform: "translate(2 4)" },
|
|
@@ -1086,6 +1084,13 @@ function PasswordHiddenIcon(props) {
|
|
|
1086
1084
|
React__namespace.createElement("rect", { width: "21", height: "1", x: "-.722", y: "7.778", rx: ".5", transform: "rotate(-45 9.778 8.278)" }))));
|
|
1087
1085
|
}
|
|
1088
1086
|
|
|
1087
|
+
function PasswordVisibleIcon(props) {
|
|
1088
|
+
return (React__namespace.createElement("svg", tslib.__assign({ xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24" }, props),
|
|
1089
|
+
React__namespace.createElement("g", { fill: "none", fillRule: "evenodd", stroke: "gray" },
|
|
1090
|
+
React__namespace.createElement("path", { d: "M21.358 12C17.825 7.65 14.692 5.5 12 5.5c-2.624 0-5.67 2.043-9.097 6.181a.5.5 0 0 0 0 .638C6.331 16.457 9.376 18.5 12 18.5c2.692 0 5.825-2.15 9.358-6.5z" }),
|
|
1091
|
+
React__namespace.createElement("circle", { cx: "12", cy: "12", r: "3.5" }))));
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1089
1094
|
var modules_540a88ff = {"auxiliaryLabel":"bfa9e249","bordered":"e8d81883","error":"_656b054e","primaryLabel":"_0eded49a","loadingIcon":"fbf1bee1","container":"d6795f2d"};
|
|
1090
1095
|
|
|
1091
1096
|
// Define the remaining characters before the character count turns red
|
|
@@ -1110,14 +1115,14 @@ function validateInputLength(_a) {
|
|
|
1110
1115
|
if (!maxLength) {
|
|
1111
1116
|
return {
|
|
1112
1117
|
count: null,
|
|
1113
|
-
tone: 'neutral'
|
|
1118
|
+
tone: 'neutral',
|
|
1114
1119
|
};
|
|
1115
1120
|
}
|
|
1116
1121
|
var currentLength = String(value || '').length;
|
|
1117
1122
|
var isNearMaxLength = maxLength - currentLength <= MAX_LENGTH_THRESHOLD;
|
|
1118
1123
|
return {
|
|
1119
1124
|
count: "".concat(currentLength, "/").concat(maxLength),
|
|
1120
|
-
tone: isNearMaxLength ? 'error' : 'neutral'
|
|
1125
|
+
tone: isNearMaxLength ? 'error' : 'neutral',
|
|
1121
1126
|
};
|
|
1122
1127
|
}
|
|
1123
1128
|
/**
|
|
@@ -1128,8 +1133,10 @@ function BaseField(_a) {
|
|
|
1128
1133
|
var id = useId(originalId);
|
|
1129
1134
|
var messageId = useId();
|
|
1130
1135
|
var inputLength = validateInputLength({ value: value, maxLength: maxLength });
|
|
1131
|
-
var _f = React__namespace.useState(
|
|
1132
|
-
var _g = React__namespace.useState(
|
|
1136
|
+
var _f = React__namespace.useState(value), previousValue = _f[0], setPreviousValue = _f[1];
|
|
1137
|
+
var _g = React__namespace.useState(maxLength), previousMaxLength = _g[0], setPreviousMaxLength = _g[1];
|
|
1138
|
+
var _h = React__namespace.useState(inputLength.count), characterCount = _h[0], setCharacterCount = _h[1];
|
|
1139
|
+
var _j = React__namespace.useState(inputLength.tone), characterCountTone = _j[0], setCharacterCountTone = _j[1];
|
|
1133
1140
|
var ariaDescribedBy = originalAriaDescribedBy !== null && originalAriaDescribedBy !== void 0 ? originalAriaDescribedBy : (message ? messageId : null);
|
|
1134
1141
|
var renderCharacterCountBelow = characterCountPosition === 'below' && characterCount !== null;
|
|
1135
1142
|
var renderCharacterCountInline = characterCountPosition === 'inline' && characterCount !== null;
|
|
@@ -1142,24 +1149,19 @@ function BaseField(_a) {
|
|
|
1142
1149
|
}
|
|
1143
1150
|
var inputLength = validateInputLength({
|
|
1144
1151
|
value: event.currentTarget.value,
|
|
1145
|
-
maxLength: maxLength
|
|
1152
|
+
maxLength: maxLength,
|
|
1146
1153
|
});
|
|
1147
1154
|
setCharacterCount(inputLength.count);
|
|
1148
1155
|
setCharacterCountTone(inputLength.tone);
|
|
1149
1156
|
},
|
|
1150
1157
|
// If the character count is inline, we pass it as a prop to the children element so it can be rendered inline
|
|
1151
1158
|
characterCountElement: renderCharacterCountInline ? renderCharacterCount() : null });
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
}
|
|
1156
|
-
var inputLength = validateInputLength({
|
|
1157
|
-
value: value,
|
|
1158
|
-
maxLength: maxLength
|
|
1159
|
-
});
|
|
1159
|
+
if (value !== previousValue || maxLength !== previousMaxLength) {
|
|
1160
|
+
setPreviousValue(value);
|
|
1161
|
+
setPreviousMaxLength(maxLength);
|
|
1160
1162
|
setCharacterCount(inputLength.count);
|
|
1161
1163
|
setCharacterCountTone(inputLength.tone);
|
|
1162
|
-
}
|
|
1164
|
+
}
|
|
1163
1165
|
return (React__namespace.createElement(Stack, { space: "xsmall", hidden: hidden },
|
|
1164
1166
|
React__namespace.createElement(Box$1, { display: "flex", flexDirection: "row", className: [
|
|
1165
1167
|
className,
|
|
@@ -1179,7 +1181,7 @@ function BaseField(_a) {
|
|
|
1179
1181
|
characterCountPosition === 'below' ? (React__namespace.createElement(Column, { width: "content" }, renderCharacterCount())) : null)) : null));
|
|
1180
1182
|
}
|
|
1181
1183
|
|
|
1182
|
-
var modules_aaf25250 = {"inputWrapper":"
|
|
1184
|
+
var modules_aaf25250 = {"inputWrapper":"b1fcd7d9","readOnly":"_2075eb4a","bordered":"_2134b64f","error":"_097b28b0","slot":"_7c4f9584"};
|
|
1183
1185
|
|
|
1184
1186
|
var TextField = React__namespace.forwardRef(function TextField(_a, ref) {
|
|
1185
1187
|
var _b = _a.variant, variant = _b === void 0 ? 'default' : _b, id = _a.id, label = _a.label, value = _a.value, auxiliaryLabel = _a.auxiliaryLabel, message = _a.message, tone = _a.tone, _c = _a.type, type = _c === void 0 ? 'text' : _c, maxWidth = _a.maxWidth, maxLength = _a.maxLength, hidden = _a.hidden, ariaDescribedBy = _a["aria-describedby"], startSlot = _a.startSlot, endSlot = _a.endSlot, originalOnChange = _a.onChange, _d = _a.characterCountPosition, characterCountPosition = _d === void 0 ? 'below' : _d, _e = _a.endSlotPosition, endSlotPosition = _e === void 0 ? 'bottom' : _e, props = tslib.__rest(_a, ["variant", "id", "label", "value", "auxiliaryLabel", "message", "tone", "type", "maxWidth", "maxLength", "hidden", 'aria-describedby', "startSlot", "endSlot", "onChange", "characterCountPosition", "endSlotPosition"]);
|
|
@@ -1223,7 +1225,7 @@ var PasswordField = React__namespace.forwardRef(function PasswordField(_a, ref)
|
|
|
1223
1225
|
React__namespace.createElement(IconButton, { variant: "quaternary", icon: React__namespace.createElement(Icon, { "aria-hidden": true }), "aria-label": togglePasswordLabel, onClick: function () { return setPasswordVisible(function (v) { return !v; }); } })) })));
|
|
1224
1226
|
});
|
|
1225
1227
|
|
|
1226
|
-
var modules_1fa9b208 = {"selectWrapper":"
|
|
1228
|
+
var modules_1fa9b208 = {"selectWrapper":"_7f5f473c","bordered":"_63e2fa62","error":"_3a255678"};
|
|
1227
1229
|
|
|
1228
1230
|
var SelectField = React__namespace.forwardRef(function SelectField(_a, ref) {
|
|
1229
1231
|
var _b = _a.variant, variant = _b === void 0 ? 'default' : _b, id = _a.id, label = _a.label, value = _a.value, auxiliaryLabel = _a.auxiliaryLabel, message = _a.message, tone = _a.tone, maxWidth = _a.maxWidth, children = _a.children, hidden = _a.hidden, ariaDescribedBy = _a["aria-describedby"], originalOnChange = _a.onChange, props = tslib.__rest(_a, ["variant", "id", "label", "value", "auxiliaryLabel", "message", "tone", "maxWidth", "children", "hidden", 'aria-describedby', "onChange"]);
|
|
@@ -1394,10 +1396,10 @@ function Avatar(_a) {
|
|
|
1394
1396
|
var style = avatarUrl
|
|
1395
1397
|
? {
|
|
1396
1398
|
backgroundImage: "url(".concat(avatarUrl, ")"),
|
|
1397
|
-
textIndent: '-9999px'
|
|
1399
|
+
textIndent: '-9999px', // hide the initials
|
|
1398
1400
|
}
|
|
1399
1401
|
: {
|
|
1400
|
-
backgroundColor: colorList[emailToIndex(user.email, colorList.length)]
|
|
1402
|
+
backgroundColor: colorList[emailToIndex(user.email, colorList.length)],
|
|
1401
1403
|
};
|
|
1402
1404
|
var sizeClassName = getClassNames(modules_08f3eeac, 'size', avatarSize);
|
|
1403
1405
|
return (React__namespace.createElement(Box$1, tslib.__assign({ className: [className, modules_08f3eeac.avatar, sizeClassName, exceptionallySetClassName], style: style }, props), userInitials));
|
|
@@ -1412,120 +1414,260 @@ function Badge(_a) {
|
|
|
1412
1414
|
, display: "inline", className: [modules_33c7c985.badge, modules_33c7c985["badge-".concat(tone)]] }), label));
|
|
1413
1415
|
}
|
|
1414
1416
|
|
|
1415
|
-
var
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
dividers: undefined
|
|
1417
|
+
var MenuContext = React__namespace.createContext({
|
|
1418
|
+
menuStore: null,
|
|
1419
|
+
handleItemSelect: function () { return undefined; },
|
|
1420
|
+
getAnchorRect: null,
|
|
1421
|
+
setAnchorRect: function () { return undefined; },
|
|
1421
1422
|
});
|
|
1422
|
-
|
|
1423
|
-
return !(element.ownerDocument === document && element.tagName.toLowerCase() === 'iframe');
|
|
1424
|
-
}
|
|
1423
|
+
var SubMenuContext = React__namespace.createContext({ isSubMenu: false });
|
|
1425
1424
|
/**
|
|
1426
|
-
*
|
|
1427
|
-
*
|
|
1428
|
-
* Follows the WAI-ARIA Dialog (Modal) Pattern.
|
|
1429
|
-
*
|
|
1430
|
-
* @see ModalHeader
|
|
1431
|
-
* @see ModalFooter
|
|
1432
|
-
* @see ModalBody
|
|
1425
|
+
* Wrapper component to control a menu. It does not render anything, only providing the state
|
|
1426
|
+
* management for the menu components inside it.
|
|
1433
1427
|
*/
|
|
1434
|
-
function
|
|
1435
|
-
var
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
var
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
}
|
|
1442
|
-
}, [onDismiss]);
|
|
1443
|
-
var store = react.useDialogStore({ open: isOpen, setOpen: setOpen });
|
|
1444
|
-
var contextValue = React__namespace.useMemo(function () { return ({ onDismiss: onDismiss, height: height, dividers: dividers }); }, [
|
|
1445
|
-
onDismiss,
|
|
1446
|
-
height,
|
|
1447
|
-
dividers,
|
|
1448
|
-
]);
|
|
1449
|
-
var portalRef = React__namespace.useRef(null);
|
|
1450
|
-
var dialogRef = React__namespace.useRef(null);
|
|
1451
|
-
var backdropRef = React__namespace.useRef(null);
|
|
1452
|
-
var handleBackdropClick = React__namespace.useCallback(function (event) {
|
|
1453
|
-
var _a, _b;
|
|
1454
|
-
if (
|
|
1455
|
-
// The focus lock element takes up the same space as the backdrop and is where the event bubbles up from,
|
|
1456
|
-
// so instead of checking the backdrop as the event target, we need to make sure it's just above the dialog
|
|
1457
|
-
!((_a = dialogRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target)) &&
|
|
1458
|
-
(
|
|
1459
|
-
// Events fired from other portals will bubble up to the backdrop, even if it isn't a child in the DOM
|
|
1460
|
-
(_b = backdropRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target))) {
|
|
1461
|
-
event.stopPropagation();
|
|
1462
|
-
onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
|
|
1463
|
-
}
|
|
1464
|
-
}, [onDismiss]);
|
|
1465
|
-
React__namespace.useLayoutEffect(function disableAccessibilityTreeOutside() {
|
|
1466
|
-
if (!isOpen || !portalRef.current) {
|
|
1467
|
-
return;
|
|
1468
|
-
}
|
|
1469
|
-
return ariaHidden.hideOthers(portalRef.current);
|
|
1470
|
-
}, [isOpen]);
|
|
1471
|
-
var handleKeyDown = React__namespace.useCallback(function handleKeyDown(event) {
|
|
1472
|
-
if (hideOnEscape &&
|
|
1473
|
-
onDismiss != null &&
|
|
1474
|
-
event.key === 'Escape' &&
|
|
1475
|
-
!event.defaultPrevented) {
|
|
1476
|
-
event.stopPropagation();
|
|
1477
|
-
onDismiss();
|
|
1478
|
-
}
|
|
1479
|
-
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
|
|
1480
|
-
}, [onDismiss, hideOnEscape, onKeyDown]);
|
|
1481
|
-
if (!isOpen) {
|
|
1482
|
-
return null;
|
|
1483
|
-
}
|
|
1484
|
-
return (React__namespace.createElement(react.Portal, { portalRef: portalRef, portalElement: portalElement },
|
|
1485
|
-
React__namespace.createElement(Box$1, { "data-testid": "modal-overlay", "data-overlay": true, className: classNames__default["default"](modules_8f59d13b.overlay, modules_8f59d13b[height], modules_8f59d13b[width], exceptionallySetOverlayClassName),
|
|
1486
|
-
/**
|
|
1487
|
-
* We're using `onPointerDown` instead of `onClick` to prevent the modal from
|
|
1488
|
-
* closing when the click starts inside the modal and ends on the backdrop.
|
|
1489
|
-
*/
|
|
1490
|
-
onPointerDown: hideOnInteractOutside ? handleBackdropClick : undefined, ref: backdropRef },
|
|
1491
|
-
React__namespace.createElement(FocusLock__default["default"], { autoFocus: autoFocus, whiteList: isNotInternalFrame, returnFocus: true, crossFrame: false },
|
|
1492
|
-
React__namespace.createElement(react.Dialog, tslib.__assign({}, props, { ref: dialogRef, render: React__namespace.createElement(Box$1, { borderRadius: "full", background: "default", display: "flex", flexDirection: "column", overflow: "hidden", height: height === 'expand' ? 'full' : undefined, flexGrow: height === 'expand' ? 1 : 0 }), className: classNames__default["default"](exceptionallySetClassName, modules_8f59d13b.container), store: store, preventBodyScroll: true,
|
|
1493
|
-
// Disable focus lock as we set up our own using ReactFocusLock
|
|
1494
|
-
modal: false, autoFocus: false, autoFocusOnShow: false, autoFocusOnHide: false,
|
|
1495
|
-
// Disable portal and backdrop as we control their markup
|
|
1496
|
-
portal: false, backdrop: false, hideOnInteractOutside: false, hideOnEscape: false, onKeyDown: handleKeyDown }),
|
|
1497
|
-
React__namespace.createElement(ModalContext.Provider, { value: contextValue }, children))))));
|
|
1428
|
+
function Menu(_a) {
|
|
1429
|
+
var children = _a.children, onItemSelect = _a.onItemSelect, props = tslib.__rest(_a, ["children", "onItemSelect"]);
|
|
1430
|
+
var _b = React__namespace.useState(null), anchorRect = _b[0], setAnchorRect = _b[1];
|
|
1431
|
+
var getAnchorRect = React__namespace.useMemo(function () { return (anchorRect ? function () { return anchorRect; } : null); }, [anchorRect]);
|
|
1432
|
+
var menuStore = react.useMenuStore(tslib.__assign({ focusLoop: true }, props));
|
|
1433
|
+
var value = React__namespace.useMemo(function () { return ({ menuStore: menuStore, handleItemSelect: onItemSelect, getAnchorRect: getAnchorRect, setAnchorRect: setAnchorRect }); }, [menuStore, onItemSelect, getAnchorRect, setAnchorRect]);
|
|
1434
|
+
return React__namespace.createElement(MenuContext.Provider, { value: value }, children);
|
|
1498
1435
|
}
|
|
1499
1436
|
/**
|
|
1500
|
-
*
|
|
1501
|
-
* the button's label.
|
|
1502
|
-
*
|
|
1503
|
-
* @see ModalHeader
|
|
1437
|
+
* A button to toggle a dropdown menu open or closed.
|
|
1504
1438
|
*/
|
|
1505
|
-
function
|
|
1506
|
-
var
|
|
1507
|
-
var
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
}
|
|
1439
|
+
var MenuButton = React__namespace.forwardRef(function MenuButton(_a, ref) {
|
|
1440
|
+
var exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["exceptionallySetClassName"]);
|
|
1441
|
+
var menuStore = React__namespace.useContext(MenuContext).menuStore;
|
|
1442
|
+
if (!menuStore) {
|
|
1443
|
+
throw new Error('MenuButton must be wrapped in <Menu/>');
|
|
1444
|
+
}
|
|
1445
|
+
return (React__namespace.createElement(react.MenuButton, tslib.__assign({}, props, { store: menuStore, ref: ref, className: classNames__default["default"]('reactist_menubutton', exceptionallySetClassName) })));
|
|
1446
|
+
});
|
|
1447
|
+
var ContextMenuTrigger = React__namespace.forwardRef(function ContextMenuTrigger(_a, ref) {
|
|
1448
|
+
var render = _a.render, props = tslib.__rest(_a, ["render"]);
|
|
1449
|
+
var _b = React__namespace.useContext(MenuContext), setAnchorRect = _b.setAnchorRect, menuStore = _b.menuStore;
|
|
1450
|
+
if (!menuStore) {
|
|
1451
|
+
throw new Error('ContextMenuTrigger must be wrapped in <Menu/>');
|
|
1452
|
+
}
|
|
1453
|
+
var handleContextMenu = React__namespace.useCallback(function handleContextMenu(event) {
|
|
1454
|
+
event.preventDefault();
|
|
1455
|
+
setAnchorRect({ x: event.clientX, y: event.clientY });
|
|
1456
|
+
menuStore.show();
|
|
1457
|
+
}, [setAnchorRect, menuStore]);
|
|
1458
|
+
var isOpen = menuStore.useState('open');
|
|
1459
|
+
React__namespace.useEffect(function () {
|
|
1460
|
+
if (!isOpen)
|
|
1461
|
+
setAnchorRect(null);
|
|
1462
|
+
}, [isOpen, setAnchorRect]);
|
|
1463
|
+
return React__namespace.createElement(react.Role.div, tslib.__assign({}, props, { onContextMenu: handleContextMenu, ref: ref, render: render }));
|
|
1464
|
+
});
|
|
1519
1465
|
/**
|
|
1520
|
-
*
|
|
1521
|
-
*
|
|
1522
|
-
* @see Modal
|
|
1523
|
-
* @see ModalFooter
|
|
1524
|
-
* @see ModalBody
|
|
1466
|
+
* The dropdown menu itself, containing a list of menu items.
|
|
1525
1467
|
*/
|
|
1526
|
-
function
|
|
1527
|
-
var
|
|
1528
|
-
var
|
|
1468
|
+
var MenuList = React__namespace.forwardRef(function MenuList(_a, ref) {
|
|
1469
|
+
var exceptionallySetClassName = _a.exceptionallySetClassName, _b = _a.modal, modal = _b === void 0 ? true : _b, flip = _a.flip, props = tslib.__rest(_a, ["exceptionallySetClassName", "modal", "flip"]);
|
|
1470
|
+
var _c = React__namespace.useContext(MenuContext), menuStore = _c.menuStore, getAnchorRect = _c.getAnchorRect;
|
|
1471
|
+
if (!menuStore) {
|
|
1472
|
+
throw new Error('MenuList must be wrapped in <Menu/>');
|
|
1473
|
+
}
|
|
1474
|
+
var isSubMenu = React__namespace.useContext(SubMenuContext).isSubMenu;
|
|
1475
|
+
var isOpen = menuStore.useState('open');
|
|
1476
|
+
return isOpen ? (React__namespace.createElement(react.Portal, { preserveTabOrder: true },
|
|
1477
|
+
React__namespace.createElement(react.Menu, tslib.__assign({}, props, { store: menuStore, gutter: 8, shift: 4, ref: ref, className: classNames__default["default"]('reactist_menulist', exceptionallySetClassName), getAnchorRect: getAnchorRect !== null && getAnchorRect !== void 0 ? getAnchorRect : undefined, modal: modal, flip: flip !== null && flip !== void 0 ? flip : (isSubMenu ? 'left bottom' : undefined) })))) : null;
|
|
1478
|
+
});
|
|
1479
|
+
/**
|
|
1480
|
+
* A menu item inside a menu list. It can be selected by the user, triggering the `onSelect`
|
|
1481
|
+
* callback.
|
|
1482
|
+
*/
|
|
1483
|
+
var MenuItem = React__namespace.forwardRef(function MenuItem(_a, ref) {
|
|
1484
|
+
var value = _a.value, children = _a.children, onSelect = _a.onSelect, _b = _a.hideOnSelect, hideOnSelect = _b === void 0 ? true : _b, onClick = _a.onClick, exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["value", "children", "onSelect", "hideOnSelect", "onClick", "exceptionallySetClassName"]);
|
|
1485
|
+
var _c = React__namespace.useContext(MenuContext), handleItemSelect = _c.handleItemSelect, menuStore = _c.menuStore;
|
|
1486
|
+
if (!menuStore) {
|
|
1487
|
+
throw new Error('MenuItem must be wrapped in <Menu/>');
|
|
1488
|
+
}
|
|
1489
|
+
var hide = menuStore.hide;
|
|
1490
|
+
var handleClick = React__namespace.useCallback(function handleClick(event) {
|
|
1491
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
1492
|
+
var onSelectResult = onSelect && !event.defaultPrevented ? onSelect() : undefined;
|
|
1493
|
+
var shouldClose = onSelectResult !== false && hideOnSelect;
|
|
1494
|
+
handleItemSelect === null || handleItemSelect === void 0 ? void 0 : handleItemSelect(value);
|
|
1495
|
+
if (shouldClose)
|
|
1496
|
+
hide();
|
|
1497
|
+
}, [onSelect, onClick, handleItemSelect, hideOnSelect, hide, value]);
|
|
1498
|
+
return (React__namespace.createElement(react.MenuItem, tslib.__assign({}, props, { store: menuStore, ref: ref, onClick: handleClick, className: exceptionallySetClassName, hideOnClick: false }), children));
|
|
1499
|
+
});
|
|
1500
|
+
/**
|
|
1501
|
+
* This component can be rendered alongside other `MenuItem` inside a `MenuList` in order to have
|
|
1502
|
+
* a sub-menu.
|
|
1503
|
+
*
|
|
1504
|
+
* Its children are expected to have the structure of a first level menu (a `MenuButton` and a
|
|
1505
|
+
* `MenuList`).
|
|
1506
|
+
*
|
|
1507
|
+
* ```jsx
|
|
1508
|
+
* <MenuItem label="Edit profile" />
|
|
1509
|
+
* <SubMenu>
|
|
1510
|
+
* <MenuButton>More options</MenuButton>
|
|
1511
|
+
* <MenuList>
|
|
1512
|
+
* <MenuItem label="Preferences" />
|
|
1513
|
+
* <MenuItem label="Sign out" />
|
|
1514
|
+
* </MenuList>
|
|
1515
|
+
* </SubMenu>
|
|
1516
|
+
* ```
|
|
1517
|
+
*
|
|
1518
|
+
* The `MenuButton` will become a menu item in the current menu items list, and it will lead to
|
|
1519
|
+
* opening a sub-menu with the menu items list below it.
|
|
1520
|
+
*/
|
|
1521
|
+
var SubMenu = React__namespace.forwardRef(function SubMenu(_a, ref) {
|
|
1522
|
+
var children = _a.children, onItemSelect = _a.onItemSelect;
|
|
1523
|
+
var _b = React__namespace.useContext(MenuContext), parentMenuItemSelect = _b.handleItemSelect, menuStore = _b.menuStore;
|
|
1524
|
+
if (!menuStore) {
|
|
1525
|
+
throw new Error('SubMenu must be wrapped in <Menu/>');
|
|
1526
|
+
}
|
|
1527
|
+
var parentMenuHide = menuStore.hide;
|
|
1528
|
+
var handleSubItemSelect = React__namespace.useCallback(function handleSubItemSelect(value) {
|
|
1529
|
+
onItemSelect === null || onItemSelect === void 0 ? void 0 : onItemSelect(value);
|
|
1530
|
+
parentMenuItemSelect === null || parentMenuItemSelect === void 0 ? void 0 : parentMenuItemSelect(value);
|
|
1531
|
+
parentMenuHide();
|
|
1532
|
+
}, [parentMenuHide, parentMenuItemSelect, onItemSelect]);
|
|
1533
|
+
var _c = React__namespace.Children.toArray(children), button = _c[0], list = _c[1];
|
|
1534
|
+
var buttonElement = button;
|
|
1535
|
+
var subMenuContextValue = React__namespace.useMemo(function () { return ({ isSubMenu: true }); }, []);
|
|
1536
|
+
return (React__namespace.createElement(Menu, { onItemSelect: handleSubItemSelect },
|
|
1537
|
+
React__namespace.createElement(react.MenuItem, { store: menuStore, ref: ref, hideOnClick: false, render: buttonElement }, buttonElement.props.children),
|
|
1538
|
+
React__namespace.createElement(SubMenuContext.Provider, { value: subMenuContextValue }, list)));
|
|
1539
|
+
});
|
|
1540
|
+
/**
|
|
1541
|
+
* A way to semantically group some menu items.
|
|
1542
|
+
*
|
|
1543
|
+
* This group does not add any visual separator. You can do that yourself adding `<hr />` elements
|
|
1544
|
+
* before and/or after the group if you so wish.
|
|
1545
|
+
*/
|
|
1546
|
+
var MenuGroup = React__namespace.forwardRef(function MenuGroup(_a, ref) {
|
|
1547
|
+
var label = _a.label, children = _a.children, exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["label", "children", "exceptionallySetClassName"]);
|
|
1548
|
+
var menuStore = React__namespace.useContext(MenuContext).menuStore;
|
|
1549
|
+
if (!menuStore) {
|
|
1550
|
+
throw new Error('MenuGroup must be wrapped in <Menu/>');
|
|
1551
|
+
}
|
|
1552
|
+
return (React__namespace.createElement(react.MenuGroup, tslib.__assign({}, props, { ref: ref, store: menuStore, className: exceptionallySetClassName }),
|
|
1553
|
+
label ? (React__namespace.createElement("div", { role: "presentation", className: "reactist_menugroup__label" }, label)) : null,
|
|
1554
|
+
children));
|
|
1555
|
+
});
|
|
1556
|
+
|
|
1557
|
+
var modules_8f59d13b = {"overlay":"_05da64fc","fadein":"_54ef8301","fitContent":"a191ee44","full":"b15ec657","large":"e1dec24f","medium":"_9346579f","small":"_33e2ba14","xsmall":"_13b3dd02","xlarge":"_1b7c26ab","expand":"_2e29ea19","buttonContainer":"_309f02f2","headerContent":"_094bb706","container":"_6910d6c2"};
|
|
1558
|
+
|
|
1559
|
+
var ModalContext = React__namespace.createContext({
|
|
1560
|
+
onDismiss: undefined,
|
|
1561
|
+
height: 'fitContent',
|
|
1562
|
+
dividers: undefined,
|
|
1563
|
+
});
|
|
1564
|
+
function isNotInternalFrame(element) {
|
|
1565
|
+
return !(element.ownerDocument === document && element.tagName.toLowerCase() === 'iframe');
|
|
1566
|
+
}
|
|
1567
|
+
/**
|
|
1568
|
+
* Renders a modal that sits on top of the rest of the content in the entire page.
|
|
1569
|
+
*
|
|
1570
|
+
* Follows the WAI-ARIA Dialog (Modal) Pattern.
|
|
1571
|
+
*
|
|
1572
|
+
* @see ModalHeader
|
|
1573
|
+
* @see ModalFooter
|
|
1574
|
+
* @see ModalBody
|
|
1575
|
+
*/
|
|
1576
|
+
function Modal(_a) {
|
|
1577
|
+
var isOpen = _a.isOpen, onDismiss = _a.onDismiss, _b = _a.height, height = _b === void 0 ? 'fitContent' : _b, dividers = _a.dividers, _c = _a.width, width = _c === void 0 ? 'medium' : _c, exceptionallySetClassName = _a.exceptionallySetClassName, exceptionallySetOverlayClassName = _a.exceptionallySetOverlayClassName, _d = _a.autoFocus, autoFocus = _d === void 0 ? true : _d, _e = _a.hideOnEscape, hideOnEscape = _e === void 0 ? true : _e, _f = _a.hideOnInteractOutside, hideOnInteractOutside = _f === void 0 ? true : _f, children = _a.children, portalElement = _a.portalElement, onKeyDown = _a.onKeyDown;
|
|
1578
|
+
// @ts-expect-error we want to make sure to not pass it to the Dialog component
|
|
1579
|
+
_a.className; var props = tslib.__rest(_a, ["isOpen", "onDismiss", "height", "dividers", "width", "exceptionallySetClassName", "exceptionallySetOverlayClassName", "autoFocus", "hideOnEscape", "hideOnInteractOutside", "children", "portalElement", "onKeyDown", "className"]);
|
|
1580
|
+
var setOpen = React__namespace.useCallback(function (visible) {
|
|
1581
|
+
if (!visible) {
|
|
1582
|
+
onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
|
|
1583
|
+
}
|
|
1584
|
+
}, [onDismiss]);
|
|
1585
|
+
var store = react.useDialogStore({ open: isOpen, setOpen: setOpen });
|
|
1586
|
+
var contextValue = React__namespace.useMemo(function () { return ({ onDismiss: onDismiss, height: height, dividers: dividers }); }, [onDismiss, height, dividers]);
|
|
1587
|
+
var portalRef = React__namespace.useRef(null);
|
|
1588
|
+
var dialogRef = React__namespace.useRef(null);
|
|
1589
|
+
var backdropRef = React__namespace.useRef(null);
|
|
1590
|
+
var handleBackdropClick = React__namespace.useCallback(function (event) {
|
|
1591
|
+
var _a, _b;
|
|
1592
|
+
if (
|
|
1593
|
+
// The focus lock element takes up the same space as the backdrop and is where the event bubbles up from,
|
|
1594
|
+
// so instead of checking the backdrop as the event target, we need to make sure it's just above the dialog
|
|
1595
|
+
!((_a = dialogRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target)) &&
|
|
1596
|
+
(
|
|
1597
|
+
// Events fired from other portals will bubble up to the backdrop, even if it isn't a child in the DOM
|
|
1598
|
+
(_b = backdropRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target))) {
|
|
1599
|
+
event.stopPropagation();
|
|
1600
|
+
onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
|
|
1601
|
+
}
|
|
1602
|
+
}, [onDismiss]);
|
|
1603
|
+
React__namespace.useLayoutEffect(function disableAccessibilityTreeOutside() {
|
|
1604
|
+
if (!isOpen || !portalRef.current) {
|
|
1605
|
+
return;
|
|
1606
|
+
}
|
|
1607
|
+
return ariaHidden.hideOthers(portalRef.current);
|
|
1608
|
+
}, [isOpen]);
|
|
1609
|
+
var handleKeyDown = React__namespace.useCallback(function handleKeyDown(event) {
|
|
1610
|
+
if (hideOnEscape &&
|
|
1611
|
+
onDismiss != null &&
|
|
1612
|
+
event.key === 'Escape' &&
|
|
1613
|
+
!event.defaultPrevented) {
|
|
1614
|
+
event.stopPropagation();
|
|
1615
|
+
onDismiss();
|
|
1616
|
+
}
|
|
1617
|
+
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
|
|
1618
|
+
}, [onDismiss, hideOnEscape, onKeyDown]);
|
|
1619
|
+
if (!isOpen) {
|
|
1620
|
+
return null;
|
|
1621
|
+
}
|
|
1622
|
+
return (React__namespace.createElement(react.Portal, { portalRef: portalRef, portalElement: portalElement },
|
|
1623
|
+
React__namespace.createElement(Box$1, { "data-testid": "modal-overlay", "data-overlay": true, className: classNames__default["default"](modules_8f59d13b.overlay, modules_8f59d13b[height], modules_8f59d13b[width], exceptionallySetOverlayClassName),
|
|
1624
|
+
/**
|
|
1625
|
+
* We're using `onPointerDown` instead of `onClick` to prevent the modal from
|
|
1626
|
+
* closing when the click starts inside the modal and ends on the backdrop.
|
|
1627
|
+
*/
|
|
1628
|
+
onPointerDown: hideOnInteractOutside ? handleBackdropClick : undefined, ref: backdropRef },
|
|
1629
|
+
React__namespace.createElement(FocusLock__default["default"], { autoFocus: autoFocus, whiteList: isNotInternalFrame, returnFocus: true, crossFrame: false },
|
|
1630
|
+
React__namespace.createElement(react.Dialog, tslib.__assign({}, props, { ref: dialogRef, render: React__namespace.createElement(Box$1, { borderRadius: "full", background: "default", display: "flex", flexDirection: "column", overflow: "hidden", height: height === 'expand' ? 'full' : undefined, flexGrow: height === 'expand' ? 1 : 0 }), className: classNames__default["default"](exceptionallySetClassName, modules_8f59d13b.container), store: store, preventBodyScroll: true,
|
|
1631
|
+
// Disable focus lock as we set up our own using ReactFocusLock
|
|
1632
|
+
modal: false, autoFocus: false, autoFocusOnShow: false, autoFocusOnHide: false,
|
|
1633
|
+
// Disable portal and backdrop as we control their markup
|
|
1634
|
+
portal: false, backdrop: false, hideOnInteractOutside: false, hideOnEscape: false, onKeyDown: handleKeyDown }),
|
|
1635
|
+
React__namespace.createElement(ModalContext.Provider, { value: contextValue }, children))))));
|
|
1636
|
+
}
|
|
1637
|
+
/**
|
|
1638
|
+
* The close button rendered by ModalHeader. Provided independently so that consumers can customize
|
|
1639
|
+
* the button's label.
|
|
1640
|
+
*
|
|
1641
|
+
* @see ModalHeader
|
|
1642
|
+
*/
|
|
1643
|
+
function ModalCloseButton(props) {
|
|
1644
|
+
var onDismiss = React__namespace.useContext(ModalContext).onDismiss;
|
|
1645
|
+
var buttonRef = React__namespace.useRef(null);
|
|
1646
|
+
React__namespace.useLayoutEffect(function skipAutoFocus() {
|
|
1647
|
+
var button = buttonRef.current;
|
|
1648
|
+
if (!button) {
|
|
1649
|
+
return;
|
|
1650
|
+
}
|
|
1651
|
+
button.tabIndex = -1;
|
|
1652
|
+
var rafId = requestAnimationFrame(function () {
|
|
1653
|
+
button.tabIndex = 0;
|
|
1654
|
+
});
|
|
1655
|
+
return function () {
|
|
1656
|
+
cancelAnimationFrame(rafId);
|
|
1657
|
+
};
|
|
1658
|
+
}, []);
|
|
1659
|
+
return (React__namespace.createElement(IconButton, tslib.__assign({}, props, { ref: buttonRef, variant: "quaternary", onClick: onDismiss, icon: React__namespace.createElement(CloseIcon, null) })));
|
|
1660
|
+
}
|
|
1661
|
+
/**
|
|
1662
|
+
* Renders a standard modal header area with an optional close button.
|
|
1663
|
+
*
|
|
1664
|
+
* @see Modal
|
|
1665
|
+
* @see ModalFooter
|
|
1666
|
+
* @see ModalBody
|
|
1667
|
+
*/
|
|
1668
|
+
function ModalHeader(_a) {
|
|
1669
|
+
var children = _a.children, _b = _a.button, button = _b === void 0 ? true : _b, _c = _a.withDivider, withDivider = _c === void 0 ? false : _c, exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["children", "button", "withDivider", "exceptionallySetClassName"]);
|
|
1670
|
+
var dividers = React__namespace.useContext(ModalContext).dividers;
|
|
1529
1671
|
return (React__namespace.createElement(React__namespace.Fragment, null,
|
|
1530
1672
|
React__namespace.createElement(Box$1, tslib.__assign({}, props, { as: "header", paddingLeft: "large", paddingRight: button === false || button === null ? 'large' : 'small', paddingY: "small", className: exceptionallySetClassName }),
|
|
1531
1673
|
React__namespace.createElement(Columns, { space: "large", alignY: "center" },
|
|
@@ -1586,7 +1728,7 @@ function Tabs(_a) {
|
|
|
1586
1728
|
var tabStore = react.useTabStore({
|
|
1587
1729
|
defaultSelectedId: defaultSelectedId,
|
|
1588
1730
|
selectedId: selectedId,
|
|
1589
|
-
setSelectedId: onSelectedIdChange
|
|
1731
|
+
setSelectedId: onSelectedIdChange,
|
|
1590
1732
|
});
|
|
1591
1733
|
var actualSelectedId = tabStore.useState('selectedId');
|
|
1592
1734
|
var memoizedTabState = React__namespace.useMemo(function () { var _a; return ({ tabStore: tabStore, variant: variant, selectedId: (_a = selectedId !== null && selectedId !== void 0 ? selectedId : actualSelectedId) !== null && _a !== void 0 ? _a : null }); }, [variant, tabStore, selectedId, actualSelectedId]);
|
|
@@ -1625,7 +1767,7 @@ function TabList(_a) {
|
|
|
1625
1767
|
setSelectedTabElement(selectedTab);
|
|
1626
1768
|
setSelectedTabStyle({
|
|
1627
1769
|
left: "".concat(selectedTab.offsetLeft, "px"),
|
|
1628
|
-
width: "".concat(selectedTab.offsetWidth, "px")
|
|
1770
|
+
width: "".concat(selectedTab.offsetWidth, "px"),
|
|
1629
1771
|
});
|
|
1630
1772
|
}
|
|
1631
1773
|
}, [selectedId]);
|
|
@@ -1667,7 +1809,7 @@ function TabList(_a) {
|
|
|
1667
1809
|
var justifyContentAlignMap = {
|
|
1668
1810
|
start: 'flexStart',
|
|
1669
1811
|
end: 'flexEnd',
|
|
1670
|
-
center: 'center'
|
|
1812
|
+
center: 'center',
|
|
1671
1813
|
};
|
|
1672
1814
|
return (
|
|
1673
1815
|
// This extra <Box> not only provides alignment for the tabs, but also prevents <Inline>'s
|
|
@@ -1714,146 +1856,6 @@ function TabAwareSlot(_a) {
|
|
|
1714
1856
|
return tabContextValue ? children({ selectedId: selectedId }) : null;
|
|
1715
1857
|
}
|
|
1716
1858
|
|
|
1717
|
-
var MenuContext = React__namespace.createContext({
|
|
1718
|
-
menuStore: null,
|
|
1719
|
-
handleItemSelect: function () { return undefined; },
|
|
1720
|
-
getAnchorRect: null,
|
|
1721
|
-
setAnchorRect: function () { return undefined; }
|
|
1722
|
-
});
|
|
1723
|
-
var SubMenuContext = React__namespace.createContext({ isSubMenu: false });
|
|
1724
|
-
/**
|
|
1725
|
-
* Wrapper component to control a menu. It does not render anything, only providing the state
|
|
1726
|
-
* management for the menu components inside it.
|
|
1727
|
-
*/
|
|
1728
|
-
function Menu(_a) {
|
|
1729
|
-
var children = _a.children, onItemSelect = _a.onItemSelect, props = tslib.__rest(_a, ["children", "onItemSelect"]);
|
|
1730
|
-
var _b = React__namespace.useState(null), anchorRect = _b[0], setAnchorRect = _b[1];
|
|
1731
|
-
var getAnchorRect = React__namespace.useMemo(function () { return (anchorRect ? function () { return anchorRect; } : null); }, [anchorRect]);
|
|
1732
|
-
var menuStore = react.useMenuStore(tslib.__assign({ focusLoop: true }, props));
|
|
1733
|
-
var value = React__namespace.useMemo(function () { return ({ menuStore: menuStore, handleItemSelect: onItemSelect, getAnchorRect: getAnchorRect, setAnchorRect: setAnchorRect }); }, [menuStore, onItemSelect, getAnchorRect, setAnchorRect]);
|
|
1734
|
-
return React__namespace.createElement(MenuContext.Provider, { value: value }, children);
|
|
1735
|
-
}
|
|
1736
|
-
/**
|
|
1737
|
-
* A button to toggle a dropdown menu open or closed.
|
|
1738
|
-
*/
|
|
1739
|
-
var MenuButton = React__namespace.forwardRef(function MenuButton(_a, ref) {
|
|
1740
|
-
var exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["exceptionallySetClassName"]);
|
|
1741
|
-
var menuStore = React__namespace.useContext(MenuContext).menuStore;
|
|
1742
|
-
if (!menuStore) {
|
|
1743
|
-
throw new Error('MenuButton must be wrapped in <Menu/>');
|
|
1744
|
-
}
|
|
1745
|
-
return (React__namespace.createElement(react.MenuButton, tslib.__assign({}, props, { store: menuStore, ref: ref, className: classNames__default["default"]('reactist_menubutton', exceptionallySetClassName) })));
|
|
1746
|
-
});
|
|
1747
|
-
var ContextMenuTrigger = React__namespace.forwardRef(function ContextMenuTrigger(_a, ref) {
|
|
1748
|
-
var render = _a.render, props = tslib.__rest(_a, ["render"]);
|
|
1749
|
-
var _b = React__namespace.useContext(MenuContext), setAnchorRect = _b.setAnchorRect, menuStore = _b.menuStore;
|
|
1750
|
-
if (!menuStore) {
|
|
1751
|
-
throw new Error('ContextMenuTrigger must be wrapped in <Menu/>');
|
|
1752
|
-
}
|
|
1753
|
-
var handleContextMenu = React__namespace.useCallback(function handleContextMenu(event) {
|
|
1754
|
-
event.preventDefault();
|
|
1755
|
-
setAnchorRect({ x: event.clientX, y: event.clientY });
|
|
1756
|
-
menuStore.show();
|
|
1757
|
-
}, [setAnchorRect, menuStore]);
|
|
1758
|
-
var isOpen = menuStore.useState('open');
|
|
1759
|
-
React__namespace.useEffect(function () {
|
|
1760
|
-
if (!isOpen)
|
|
1761
|
-
setAnchorRect(null);
|
|
1762
|
-
}, [isOpen, setAnchorRect]);
|
|
1763
|
-
return React__namespace.createElement(react.Role.div, tslib.__assign({}, props, { onContextMenu: handleContextMenu, ref: ref, render: render }));
|
|
1764
|
-
});
|
|
1765
|
-
/**
|
|
1766
|
-
* The dropdown menu itself, containing a list of menu items.
|
|
1767
|
-
*/
|
|
1768
|
-
var MenuList = React__namespace.forwardRef(function MenuList(_a, ref) {
|
|
1769
|
-
var exceptionallySetClassName = _a.exceptionallySetClassName, _b = _a.modal, modal = _b === void 0 ? true : _b, flip = _a.flip, props = tslib.__rest(_a, ["exceptionallySetClassName", "modal", "flip"]);
|
|
1770
|
-
var _c = React__namespace.useContext(MenuContext), menuStore = _c.menuStore, getAnchorRect = _c.getAnchorRect;
|
|
1771
|
-
if (!menuStore) {
|
|
1772
|
-
throw new Error('MenuList must be wrapped in <Menu/>');
|
|
1773
|
-
}
|
|
1774
|
-
var isSubMenu = React__namespace.useContext(SubMenuContext).isSubMenu;
|
|
1775
|
-
var isOpen = menuStore.useState('open');
|
|
1776
|
-
return isOpen ? (React__namespace.createElement(react.Portal, { preserveTabOrder: true },
|
|
1777
|
-
React__namespace.createElement(react.Menu, tslib.__assign({}, props, { store: menuStore, gutter: 8, shift: 4, ref: ref, className: classNames__default["default"]('reactist_menulist', exceptionallySetClassName), getAnchorRect: getAnchorRect !== null && getAnchorRect !== void 0 ? getAnchorRect : undefined, modal: modal, flip: flip !== null && flip !== void 0 ? flip : (isSubMenu ? 'left bottom' : undefined) })))) : null;
|
|
1778
|
-
});
|
|
1779
|
-
/**
|
|
1780
|
-
* A menu item inside a menu list. It can be selected by the user, triggering the `onSelect`
|
|
1781
|
-
* callback.
|
|
1782
|
-
*/
|
|
1783
|
-
var MenuItem = React__namespace.forwardRef(function MenuItem(_a, ref) {
|
|
1784
|
-
var value = _a.value, children = _a.children, onSelect = _a.onSelect, _b = _a.hideOnSelect, hideOnSelect = _b === void 0 ? true : _b, onClick = _a.onClick, exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["value", "children", "onSelect", "hideOnSelect", "onClick", "exceptionallySetClassName"]);
|
|
1785
|
-
var _c = React__namespace.useContext(MenuContext), handleItemSelect = _c.handleItemSelect, menuStore = _c.menuStore;
|
|
1786
|
-
if (!menuStore) {
|
|
1787
|
-
throw new Error('MenuItem must be wrapped in <Menu/>');
|
|
1788
|
-
}
|
|
1789
|
-
var hide = menuStore.hide;
|
|
1790
|
-
var handleClick = React__namespace.useCallback(function handleClick(event) {
|
|
1791
|
-
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
1792
|
-
var onSelectResult = onSelect && !event.defaultPrevented ? onSelect() : undefined;
|
|
1793
|
-
var shouldClose = onSelectResult !== false && hideOnSelect;
|
|
1794
|
-
handleItemSelect === null || handleItemSelect === void 0 ? void 0 : handleItemSelect(value);
|
|
1795
|
-
if (shouldClose)
|
|
1796
|
-
hide();
|
|
1797
|
-
}, [onSelect, onClick, handleItemSelect, hideOnSelect, hide, value]);
|
|
1798
|
-
return (React__namespace.createElement(react.MenuItem, tslib.__assign({}, props, { store: menuStore, ref: ref, onClick: handleClick, className: exceptionallySetClassName, hideOnClick: false }), children));
|
|
1799
|
-
});
|
|
1800
|
-
/**
|
|
1801
|
-
* This component can be rendered alongside other `MenuItem` inside a `MenuList` in order to have
|
|
1802
|
-
* a sub-menu.
|
|
1803
|
-
*
|
|
1804
|
-
* Its children are expected to have the structure of a first level menu (a `MenuButton` and a
|
|
1805
|
-
* `MenuList`).
|
|
1806
|
-
*
|
|
1807
|
-
* ```jsx
|
|
1808
|
-
* <MenuItem label="Edit profile" />
|
|
1809
|
-
* <SubMenu>
|
|
1810
|
-
* <MenuButton>More options</MenuButton>
|
|
1811
|
-
* <MenuList>
|
|
1812
|
-
* <MenuItem label="Preferences" />
|
|
1813
|
-
* <MenuItem label="Sign out" />
|
|
1814
|
-
* </MenuList>
|
|
1815
|
-
* </SubMenu>
|
|
1816
|
-
* ```
|
|
1817
|
-
*
|
|
1818
|
-
* The `MenuButton` will become a menu item in the current menu items list, and it will lead to
|
|
1819
|
-
* opening a sub-menu with the menu items list below it.
|
|
1820
|
-
*/
|
|
1821
|
-
var SubMenu = React__namespace.forwardRef(function SubMenu(_a, ref) {
|
|
1822
|
-
var children = _a.children, onItemSelect = _a.onItemSelect;
|
|
1823
|
-
var _b = React__namespace.useContext(MenuContext), parentMenuItemSelect = _b.handleItemSelect, menuStore = _b.menuStore;
|
|
1824
|
-
if (!menuStore) {
|
|
1825
|
-
throw new Error('SubMenu must be wrapped in <Menu/>');
|
|
1826
|
-
}
|
|
1827
|
-
var parentMenuHide = menuStore.hide;
|
|
1828
|
-
var handleSubItemSelect = React__namespace.useCallback(function handleSubItemSelect(value) {
|
|
1829
|
-
onItemSelect === null || onItemSelect === void 0 ? void 0 : onItemSelect(value);
|
|
1830
|
-
parentMenuItemSelect === null || parentMenuItemSelect === void 0 ? void 0 : parentMenuItemSelect(value);
|
|
1831
|
-
parentMenuHide();
|
|
1832
|
-
}, [parentMenuHide, parentMenuItemSelect, onItemSelect]);
|
|
1833
|
-
var _c = React__namespace.Children.toArray(children), button = _c[0], list = _c[1];
|
|
1834
|
-
var buttonElement = button;
|
|
1835
|
-
var subMenuContextValue = React__namespace.useMemo(function () { return ({ isSubMenu: true }); }, []);
|
|
1836
|
-
return (React__namespace.createElement(Menu, { onItemSelect: handleSubItemSelect },
|
|
1837
|
-
React__namespace.createElement(react.MenuItem, { store: menuStore, ref: ref, hideOnClick: false, render: buttonElement }, buttonElement.props.children),
|
|
1838
|
-
React__namespace.createElement(SubMenuContext.Provider, { value: subMenuContextValue }, list)));
|
|
1839
|
-
});
|
|
1840
|
-
/**
|
|
1841
|
-
* A way to semantically group some menu items.
|
|
1842
|
-
*
|
|
1843
|
-
* This group does not add any visual separator. You can do that yourself adding `<hr />` elements
|
|
1844
|
-
* before and/or after the group if you so wish.
|
|
1845
|
-
*/
|
|
1846
|
-
var MenuGroup = React__namespace.forwardRef(function MenuGroup(_a, ref) {
|
|
1847
|
-
var label = _a.label, children = _a.children, exceptionallySetClassName = _a.exceptionallySetClassName, props = tslib.__rest(_a, ["label", "children", "exceptionallySetClassName"]);
|
|
1848
|
-
var menuStore = React__namespace.useContext(MenuContext).menuStore;
|
|
1849
|
-
if (!menuStore) {
|
|
1850
|
-
throw new Error('MenuGroup must be wrapped in <Menu/>');
|
|
1851
|
-
}
|
|
1852
|
-
return (React__namespace.createElement(react.MenuGroup, tslib.__assign({}, props, { ref: ref, store: menuStore, className: exceptionallySetClassName }),
|
|
1853
|
-
label ? (React__namespace.createElement("div", { role: "presentation", className: "reactist_menugroup__label" }, label)) : null,
|
|
1854
|
-
children));
|
|
1855
|
-
});
|
|
1856
|
-
|
|
1857
1859
|
/**
|
|
1858
1860
|
* @deprecated
|
|
1859
1861
|
*/
|
|
@@ -1867,7 +1869,7 @@ Button.displayName = 'Button';
|
|
|
1867
1869
|
Button.defaultProps = {
|
|
1868
1870
|
size: 'default',
|
|
1869
1871
|
loading: false,
|
|
1870
|
-
disabled: false
|
|
1872
|
+
disabled: false,
|
|
1871
1873
|
};
|
|
1872
1874
|
|
|
1873
1875
|
var Box = /** @class */ (function (_super) {
|
|
@@ -1901,7 +1903,7 @@ var Box = /** @class */ (function (_super) {
|
|
|
1901
1903
|
document.removeEventListener('click', _this._handleClickOutside, true);
|
|
1902
1904
|
}
|
|
1903
1905
|
_this.setState({
|
|
1904
|
-
showBody: !_this.state.showBody
|
|
1906
|
+
showBody: !_this.state.showBody,
|
|
1905
1907
|
});
|
|
1906
1908
|
};
|
|
1907
1909
|
// https://facebook.github.io/react/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components
|
|
@@ -1936,7 +1938,7 @@ var Box = /** @class */ (function (_super) {
|
|
|
1936
1938
|
};
|
|
1937
1939
|
_this.state = {
|
|
1938
1940
|
showBody: false,
|
|
1939
|
-
top: props.top || false
|
|
1941
|
+
top: props.top || false,
|
|
1940
1942
|
};
|
|
1941
1943
|
_this._timeout = undefined;
|
|
1942
1944
|
return _this;
|
|
@@ -1965,7 +1967,7 @@ var Box = /** @class */ (function (_super) {
|
|
|
1965
1967
|
body_wrapper: true,
|
|
1966
1968
|
with_arrow: true,
|
|
1967
1969
|
top: top,
|
|
1968
|
-
bottom: !top
|
|
1970
|
+
bottom: !top,
|
|
1969
1971
|
});
|
|
1970
1972
|
var body = children === null || children === void 0 ? void 0 : children[1];
|
|
1971
1973
|
var contentMarkup = typeof body === 'function'
|
|
@@ -2014,7 +2016,7 @@ Body.displayName = 'Dropdown.Body';
|
|
|
2014
2016
|
var Dropdown = {
|
|
2015
2017
|
Box: Box,
|
|
2016
2018
|
Trigger: Trigger,
|
|
2017
|
-
Body: Body
|
|
2019
|
+
Body: Body,
|
|
2018
2020
|
};
|
|
2019
2021
|
|
|
2020
2022
|
var COLORS = [
|
|
@@ -2047,7 +2049,7 @@ function ColorPicker(_a) {
|
|
|
2047
2049
|
return (React__namespace.createElement("span", { className: classNames__default["default"]('color_trigger', { small: small }), style: {
|
|
2048
2050
|
backgroundColor: _isNamedColor(backgroundColor)
|
|
2049
2051
|
? backgroundColor.color
|
|
2050
|
-
: backgroundColor
|
|
2052
|
+
: backgroundColor,
|
|
2051
2053
|
} },
|
|
2052
2054
|
React__namespace.createElement("span", { className: "color_trigger--inner_ring" })));
|
|
2053
2055
|
})()),
|
|
@@ -2068,71 +2070,6 @@ function ColorItem(_a) {
|
|
|
2068
2070
|
}
|
|
2069
2071
|
ColorItem.displayName = 'ColorItem';
|
|
2070
2072
|
|
|
2071
|
-
//
|
|
2072
|
-
// Support for setting up how to translate modifiers globally.
|
|
2073
|
-
//
|
|
2074
|
-
var globalTranslateKey = function (key) { return key; };
|
|
2075
|
-
KeyboardShortcut.setTranslateKey = function (tr) {
|
|
2076
|
-
globalTranslateKey = tr;
|
|
2077
|
-
};
|
|
2078
|
-
function translateKeyMac(key) {
|
|
2079
|
-
switch (key.toLowerCase()) {
|
|
2080
|
-
case 'cmd':
|
|
2081
|
-
case 'mod':
|
|
2082
|
-
return '⌘';
|
|
2083
|
-
case 'control':
|
|
2084
|
-
case 'ctrl':
|
|
2085
|
-
return '⌃';
|
|
2086
|
-
case 'alt':
|
|
2087
|
-
return '⌥';
|
|
2088
|
-
case 'shift':
|
|
2089
|
-
return '⇧';
|
|
2090
|
-
case 'space':
|
|
2091
|
-
return '␣';
|
|
2092
|
-
default:
|
|
2093
|
-
return key;
|
|
2094
|
-
}
|
|
2095
|
-
}
|
|
2096
|
-
//
|
|
2097
|
-
// Some helpers
|
|
2098
|
-
//
|
|
2099
|
-
function capitalize(str) {
|
|
2100
|
-
return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
|
|
2101
|
-
}
|
|
2102
|
-
function hasModifiers(str) {
|
|
2103
|
-
return /\b(mod|cmd|ctrl|control|alt|shift)\b/i.test(str);
|
|
2104
|
-
}
|
|
2105
|
-
function isSpecialKey(str) {
|
|
2106
|
-
return /^(mod|cmd|ctrl|control|alt|shift|space|super)$/i.test(str);
|
|
2107
|
-
}
|
|
2108
|
-
function parseKeys(shortcut, isMac, translateKey) {
|
|
2109
|
-
var t = isMac ? translateKeyMac : translateKey;
|
|
2110
|
-
var _hasModifiers = hasModifiers(shortcut);
|
|
2111
|
-
function mapIndividualKey(str) {
|
|
2112
|
-
if (isSpecialKey(str)) {
|
|
2113
|
-
return capitalize(t(str));
|
|
2114
|
-
}
|
|
2115
|
-
if (_hasModifiers && str.length === 1) {
|
|
2116
|
-
return str.toUpperCase();
|
|
2117
|
-
}
|
|
2118
|
-
return str;
|
|
2119
|
-
}
|
|
2120
|
-
if (!isMac) {
|
|
2121
|
-
shortcut = shortcut.replace(/\b(mod|cmd)\b/i, 'ctrl');
|
|
2122
|
-
}
|
|
2123
|
-
return shortcut.split(/\s*\+\s*/).map(mapIndividualKey);
|
|
2124
|
-
}
|
|
2125
|
-
function KeyboardShortcut(_a) {
|
|
2126
|
-
var _b, _c;
|
|
2127
|
-
var children = _a.children, className = _a.className, _d = _a.translateKey, translateKey = _d === void 0 ? globalTranslateKey : _d, _e = _a.isMac, isMac = _e === void 0 ? (_c = (_b = navigator.platform) === null || _b === void 0 ? void 0 : _b.toUpperCase().includes('MAC')) !== null && _c !== void 0 ? _c : false : _e, props = tslib.__rest(_a, ["children", "className", "translateKey", "isMac"]);
|
|
2128
|
-
var shortcuts = typeof children === 'string' ? [children] : children;
|
|
2129
|
-
return (React__namespace.createElement("span", tslib.__assign({ className: classNames__default["default"]('reactist_keyboard_shortcut', className, {
|
|
2130
|
-
'reactist_keyboard_shortcut--macos': isMac
|
|
2131
|
-
}) }, props), shortcuts.map(function (shortcut, i) { return (React__namespace.createElement(React__namespace.Fragment, { key: i },
|
|
2132
|
-
i === 0 ? null : ', ',
|
|
2133
|
-
React__namespace.createElement("kbd", null, parseKeys(shortcut, isMac, translateKey).map(function (key, j) { return (React__namespace.createElement("kbd", { key: j }, key)); })))); })));
|
|
2134
|
-
}
|
|
2135
|
-
|
|
2136
2073
|
var SUPPORTED_KEYS = {
|
|
2137
2074
|
ARROW_UP: 'ArrowUp',
|
|
2138
2075
|
ARROW_RIGHT: 'ArrowRight',
|
|
@@ -2140,7 +2077,7 @@ var SUPPORTED_KEYS = {
|
|
|
2140
2077
|
ARROW_LEFT: 'ArrowLeft',
|
|
2141
2078
|
ENTER: 'Enter',
|
|
2142
2079
|
BACKSPACE: 'Backspace',
|
|
2143
|
-
ESCAPE: 'Escape'
|
|
2080
|
+
ESCAPE: 'Escape',
|
|
2144
2081
|
};
|
|
2145
2082
|
var KeyCapturerResolver = {
|
|
2146
2083
|
resolveByKey: function (eventKey) {
|
|
@@ -2203,7 +2140,7 @@ var KeyCapturerResolver = {
|
|
|
2203
2140
|
return null;
|
|
2204
2141
|
}
|
|
2205
2142
|
}
|
|
2206
|
-
}
|
|
2143
|
+
},
|
|
2207
2144
|
};
|
|
2208
2145
|
var keyEventHandlerMapping = {
|
|
2209
2146
|
ArrowUp: 'onArrowUp',
|
|
@@ -2212,7 +2149,7 @@ var keyEventHandlerMapping = {
|
|
|
2212
2149
|
ArrowRight: 'onArrowRight',
|
|
2213
2150
|
Enter: 'onEnter',
|
|
2214
2151
|
Backspace: 'onBackspace',
|
|
2215
|
-
Escape: 'onEscape'
|
|
2152
|
+
Escape: 'onEscape',
|
|
2216
2153
|
};
|
|
2217
2154
|
var keyPropagatePropMapping = {
|
|
2218
2155
|
ArrowUp: 'propagateArrowUp',
|
|
@@ -2221,7 +2158,7 @@ var keyPropagatePropMapping = {
|
|
|
2221
2158
|
ArrowRight: 'propagateArrowRight',
|
|
2222
2159
|
Enter: 'propagateEnter',
|
|
2223
2160
|
Backspace: 'propagateBackspace',
|
|
2224
|
-
Escape: 'propagateEscape'
|
|
2161
|
+
Escape: 'propagateEscape',
|
|
2225
2162
|
};
|
|
2226
2163
|
/**
|
|
2227
2164
|
* Use this component to wrap anything you want to handle key events for (e.g. an input).
|
|
@@ -2234,44 +2171,120 @@ var keyPropagatePropMapping = {
|
|
|
2234
2171
|
function KeyCapturer(props) {
|
|
2235
2172
|
var _a;
|
|
2236
2173
|
var children = props.children, _b = props.eventName, eventName = _b === void 0 ? 'onKeyDown' : _b;
|
|
2237
|
-
var
|
|
2238
|
-
var
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
},
|
|
2243
|
-
onCompositionEnd: function () {
|
|
2244
|
-
composingRef.current = false;
|
|
2174
|
+
var _c = React__namespace.useState(false), isComposing = _c[0], setIsComposing = _c[1];
|
|
2175
|
+
var onCompositionStart = React__namespace.useMemo(function () {
|
|
2176
|
+
return props.onEnter
|
|
2177
|
+
? function () {
|
|
2178
|
+
setIsComposing(true);
|
|
2245
2179
|
}
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
function
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2180
|
+
: undefined;
|
|
2181
|
+
}, [props.onEnter]);
|
|
2182
|
+
var onCompositionEnd = React__namespace.useMemo(function () {
|
|
2183
|
+
return props.onEnter
|
|
2184
|
+
? function () {
|
|
2185
|
+
setIsComposing(false);
|
|
2186
|
+
}
|
|
2187
|
+
: undefined;
|
|
2188
|
+
}, [props.onEnter]);
|
|
2189
|
+
var handleKeyEvent = React__namespace.useMemo(function () {
|
|
2190
|
+
return function handleKeyEvent(event) {
|
|
2191
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
|
|
2192
|
+
var key = event.key !== undefined
|
|
2193
|
+
? KeyCapturerResolver.resolveByKey(event.key)
|
|
2194
|
+
: KeyCapturerResolver.resolveByKeyCode(event.keyCode);
|
|
2195
|
+
if (!key)
|
|
2196
|
+
return;
|
|
2197
|
+
var propagateEvent = props[keyPropagatePropMapping[key]] || false;
|
|
2198
|
+
var eventHandler = props[keyEventHandlerMapping[key]];
|
|
2199
|
+
if (!eventHandler) {
|
|
2263
2200
|
return;
|
|
2264
2201
|
}
|
|
2265
|
-
|
|
2266
|
-
|
|
2202
|
+
if (key === 'Enter') {
|
|
2203
|
+
if (isComposing ||
|
|
2204
|
+
// Safari fires the onCompositionEnd event before the keydown event, so we
|
|
2205
|
+
// have to rely on the 229 keycode, which is Enter when fired from an IME
|
|
2206
|
+
// https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode
|
|
2207
|
+
(event.keyCode || event.which) === 229) {
|
|
2208
|
+
return;
|
|
2209
|
+
}
|
|
2210
|
+
}
|
|
2267
2211
|
eventHandler(event);
|
|
2268
2212
|
if (!propagateEvent) {
|
|
2269
2213
|
event.preventDefault();
|
|
2270
2214
|
event.stopPropagation();
|
|
2271
2215
|
}
|
|
2216
|
+
};
|
|
2217
|
+
}, [props, isComposing]);
|
|
2218
|
+
return React__namespace.cloneElement(children, (_a = {},
|
|
2219
|
+
_a[eventName] = handleKeyEvent,
|
|
2220
|
+
_a.onCompositionStart = onCompositionStart,
|
|
2221
|
+
_a.onCompositionEnd = onCompositionEnd,
|
|
2222
|
+
_a));
|
|
2223
|
+
}
|
|
2224
|
+
|
|
2225
|
+
//
|
|
2226
|
+
// Support for setting up how to translate modifiers globally.
|
|
2227
|
+
//
|
|
2228
|
+
var globalTranslateKey = function (key) { return key; };
|
|
2229
|
+
KeyboardShortcut.setTranslateKey = function (tr) {
|
|
2230
|
+
globalTranslateKey = tr;
|
|
2231
|
+
};
|
|
2232
|
+
function translateKeyMac(key) {
|
|
2233
|
+
switch (key.toLowerCase()) {
|
|
2234
|
+
case 'cmd':
|
|
2235
|
+
case 'mod':
|
|
2236
|
+
return '⌘';
|
|
2237
|
+
case 'control':
|
|
2238
|
+
case 'ctrl':
|
|
2239
|
+
return '⌃';
|
|
2240
|
+
case 'alt':
|
|
2241
|
+
return '⌥';
|
|
2242
|
+
case 'shift':
|
|
2243
|
+
return '⇧';
|
|
2244
|
+
case 'space':
|
|
2245
|
+
return '␣';
|
|
2246
|
+
default:
|
|
2247
|
+
return key;
|
|
2248
|
+
}
|
|
2249
|
+
}
|
|
2250
|
+
//
|
|
2251
|
+
// Some helpers
|
|
2252
|
+
//
|
|
2253
|
+
function capitalize(str) {
|
|
2254
|
+
return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
|
|
2255
|
+
}
|
|
2256
|
+
function hasModifiers(str) {
|
|
2257
|
+
return /\b(mod|cmd|ctrl|control|alt|shift)\b/i.test(str);
|
|
2258
|
+
}
|
|
2259
|
+
function isSpecialKey(str) {
|
|
2260
|
+
return /^(mod|cmd|ctrl|control|alt|shift|space|super)$/i.test(str);
|
|
2261
|
+
}
|
|
2262
|
+
function parseKeys(shortcut, isMac, translateKey) {
|
|
2263
|
+
var t = isMac ? translateKeyMac : translateKey;
|
|
2264
|
+
var _hasModifiers = hasModifiers(shortcut);
|
|
2265
|
+
function mapIndividualKey(str) {
|
|
2266
|
+
if (isSpecialKey(str)) {
|
|
2267
|
+
return capitalize(t(str));
|
|
2272
2268
|
}
|
|
2269
|
+
if (_hasModifiers && str.length === 1) {
|
|
2270
|
+
return str.toUpperCase();
|
|
2271
|
+
}
|
|
2272
|
+
return str;
|
|
2273
|
+
}
|
|
2274
|
+
if (!isMac) {
|
|
2275
|
+
shortcut = shortcut.replace(/\b(mod|cmd)\b/i, 'ctrl');
|
|
2273
2276
|
}
|
|
2274
|
-
return
|
|
2277
|
+
return shortcut.split(/\s*\+\s*/).map(mapIndividualKey);
|
|
2278
|
+
}
|
|
2279
|
+
function KeyboardShortcut(_a) {
|
|
2280
|
+
var _b, _c;
|
|
2281
|
+
var children = _a.children, className = _a.className, _d = _a.translateKey, translateKey = _d === void 0 ? globalTranslateKey : _d, _e = _a.isMac, isMac = _e === void 0 ? (_c = (_b = navigator.platform) === null || _b === void 0 ? void 0 : _b.toUpperCase().includes('MAC')) !== null && _c !== void 0 ? _c : false : _e, props = tslib.__rest(_a, ["children", "className", "translateKey", "isMac"]);
|
|
2282
|
+
var shortcuts = typeof children === 'string' ? [children] : children;
|
|
2283
|
+
return (React__namespace.createElement("span", tslib.__assign({ className: classNames__default["default"]('reactist_keyboard_shortcut', className, {
|
|
2284
|
+
'reactist_keyboard_shortcut--macos': isMac,
|
|
2285
|
+
}) }, props), shortcuts.map(function (shortcut, i) { return (React__namespace.createElement(React__namespace.Fragment, { key: i },
|
|
2286
|
+
i === 0 ? null : ', ',
|
|
2287
|
+
React__namespace.createElement("kbd", null, parseKeys(shortcut, isMac, translateKey).map(function (key, j) { return (React__namespace.createElement("kbd", { key: j }, key)); })))); })));
|
|
2275
2288
|
}
|
|
2276
2289
|
|
|
2277
2290
|
var modules_a0e70af1 = {"progressBar":"_2661b3dc","inner":"_0ca877fd"};
|
|
@@ -2340,7 +2353,7 @@ var TimeUtils = {
|
|
|
2340
2353
|
var date = dayjs__default["default"](timestamp * 1000);
|
|
2341
2354
|
date.locale(locale);
|
|
2342
2355
|
return date.format(longFormat);
|
|
2343
|
-
}
|
|
2356
|
+
},
|
|
2344
2357
|
};
|
|
2345
2358
|
|
|
2346
2359
|
var DELAY = 60000;
|
|
@@ -2352,7 +2365,7 @@ var Time = /** @class */ (function (_super) {
|
|
|
2352
2365
|
_this.state = {
|
|
2353
2366
|
hovered: false,
|
|
2354
2367
|
mouseX: undefined,
|
|
2355
|
-
mouseY: undefined
|
|
2368
|
+
mouseY: undefined,
|
|
2356
2369
|
};
|
|
2357
2370
|
return _this;
|
|
2358
2371
|
}
|
|
@@ -2384,7 +2397,7 @@ var Time = /** @class */ (function (_super) {
|
|
|
2384
2397
|
this.setState(function () { return ({
|
|
2385
2398
|
hovered: hovered,
|
|
2386
2399
|
mouseX: clientX,
|
|
2387
|
-
mouseY: clientY
|
|
2400
|
+
mouseY: clientY,
|
|
2388
2401
|
}); });
|
|
2389
2402
|
}
|
|
2390
2403
|
};
|
|
@@ -2433,8 +2446,8 @@ Time.defaultProps = {
|
|
|
2433
2446
|
daysSuffix: 'd',
|
|
2434
2447
|
hoursSuffix: 'h',
|
|
2435
2448
|
minutesSuffix: 'm',
|
|
2436
|
-
momentsAgo: 'moments ago'
|
|
2437
|
-
}
|
|
2449
|
+
momentsAgo: 'moments ago',
|
|
2450
|
+
},
|
|
2438
2451
|
};
|
|
2439
2452
|
|
|
2440
2453
|
/**
|
|
@@ -2454,7 +2467,7 @@ function Select(_a) {
|
|
|
2454
2467
|
Select.displayName = 'Select';
|
|
2455
2468
|
Select.defaultProps = {
|
|
2456
2469
|
options: [],
|
|
2457
|
-
disabled: false
|
|
2470
|
+
disabled: false,
|
|
2458
2471
|
};
|
|
2459
2472
|
|
|
2460
2473
|
exports.Avatar = Avatar;
|