@cloudscape-design/components-themeable 3.0.28 → 3.0.31
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/lib/internal/scss/app-layout/visual-refresh/app-bar.scss +1 -1
- package/lib/internal/scss/button-dropdown/category-elements/styles.scss +4 -0
- package/lib/internal/scss/button-dropdown/item-element/styles.scss +5 -0
- package/lib/internal/scss/checkbox/styles.scss +1 -1
- package/lib/internal/scss/internal/components/abstract-switch/styles.scss +7 -0
- package/lib/internal/scss/internal/components/selectable-item/styles.scss +3 -4
- package/lib/internal/scss/internal/styles/utils/theming.scss +0 -3
- package/lib/internal/scss/popover/body.scss +4 -0
- package/lib/internal/scss/radio-group/styles.scss +1 -1
- package/lib/internal/scss/select/parts/styles.scss +5 -0
- package/lib/internal/scss/toggle/styles.scss +2 -1
- package/lib/internal/template/app-layout/visual-refresh/styles.css.js +59 -59
- package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +146 -146
- package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +59 -59
- package/lib/internal/template/autosuggest/autosuggest-option.d.ts +1 -0
- package/lib/internal/template/autosuggest/autosuggest-option.d.ts.map +1 -1
- package/lib/internal/template/autosuggest/autosuggest-option.js +2 -2
- package/lib/internal/template/autosuggest/autosuggest-option.js.map +1 -1
- package/lib/internal/template/autosuggest/controller.d.ts +2 -5
- package/lib/internal/template/autosuggest/controller.d.ts.map +1 -1
- package/lib/internal/template/autosuggest/controller.js +5 -49
- package/lib/internal/template/autosuggest/controller.js.map +1 -1
- package/lib/internal/template/autosuggest/internal.d.ts.map +1 -1
- package/lib/internal/template/autosuggest/internal.js +19 -25
- package/lib/internal/template/autosuggest/internal.js.map +1 -1
- package/lib/internal/template/autosuggest/options-controller.d.ts +25 -0
- package/lib/internal/template/autosuggest/options-controller.d.ts.map +1 -0
- package/lib/internal/template/autosuggest/options-controller.js +64 -0
- package/lib/internal/template/autosuggest/options-controller.js.map +1 -0
- package/lib/internal/template/autosuggest/options-list.d.ts +3 -2
- package/lib/internal/template/autosuggest/options-list.d.ts.map +1 -1
- package/lib/internal/template/autosuggest/options-list.js +8 -7
- package/lib/internal/template/autosuggest/options-list.js.map +1 -1
- package/lib/internal/template/autosuggest/plain-list.d.ts +2 -2
- package/lib/internal/template/autosuggest/plain-list.d.ts.map +1 -1
- package/lib/internal/template/autosuggest/plain-list.js +4 -4
- package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
- package/lib/internal/template/autosuggest/virtual-list.d.ts +1 -1
- package/lib/internal/template/autosuggest/virtual-list.d.ts.map +1 -1
- package/lib/internal/template/autosuggest/virtual-list.js +4 -4
- package/lib/internal/template/autosuggest/virtual-list.js.map +1 -1
- package/lib/internal/template/breadcrumb-group/internal.d.ts.map +1 -1
- package/lib/internal/template/breadcrumb-group/internal.js +4 -4
- package/lib/internal/template/breadcrumb-group/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/category-element.d.ts +1 -1
- package/lib/internal/template/button-dropdown/category-elements/category-element.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/category-element.js +2 -2
- package/lib/internal/template/button-dropdown/category-elements/category-element.js.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.d.ts +1 -1
- package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +4 -2
- package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.d.ts +1 -1
- package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +4 -2
- package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/styles.css.js +13 -12
- package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +26 -22
- package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +13 -12
- package/lib/internal/template/button-dropdown/interfaces.d.ts +3 -1
- package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
- package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal.js +6 -11
- package/lib/internal/template/button-dropdown/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/item-element/index.d.ts +1 -1
- package/lib/internal/template/button-dropdown/item-element/index.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/item-element/index.js +2 -1
- package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
- package/lib/internal/template/button-dropdown/item-element/styles.css.js +14 -13
- package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +21 -17
- package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +14 -13
- package/lib/internal/template/button-dropdown/items-list.d.ts +1 -1
- package/lib/internal/template/button-dropdown/items-list.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/items-list.js +4 -4
- package/lib/internal/template/button-dropdown/items-list.js.map +1 -1
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts +2 -2
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +7 -5
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
- package/lib/internal/template/button-dropdown/utils/use-highlighted-menu.d.ts +1 -0
- package/lib/internal/template/button-dropdown/utils/use-highlighted-menu.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/utils/use-highlighted-menu.js +11 -3
- package/lib/internal/template/button-dropdown/utils/use-highlighted-menu.js.map +1 -1
- package/lib/internal/template/checkbox/styles.css.js +3 -3
- package/lib/internal/template/checkbox/styles.scoped.css +6 -6
- package/lib/internal/template/checkbox/styles.selectors.js +3 -3
- package/lib/internal/template/date-picker/calendar/index.d.ts.map +1 -1
- package/lib/internal/template/date-picker/calendar/index.js +2 -1
- package/lib/internal/template/date-picker/calendar/index.js.map +1 -1
- package/lib/internal/template/date-picker/calendar/utils/memoized-date.d.ts +2 -0
- package/lib/internal/template/date-picker/calendar/utils/memoized-date.d.ts.map +1 -0
- package/lib/internal/template/date-picker/calendar/utils/memoized-date.js +13 -0
- package/lib/internal/template/date-picker/calendar/utils/memoized-date.js.map +1 -0
- package/lib/internal/template/date-picker/embedded.js +1 -1
- package/lib/internal/template/date-picker/embedded.js.map +1 -1
- package/lib/internal/template/date-picker/index.js +1 -1
- package/lib/internal/template/date-picker/index.js.map +1 -1
- package/lib/internal/template/date-picker/use-date-picker.d.ts.map +1 -1
- package/lib/internal/template/date-picker/use-date-picker.js +1 -1
- package/lib/internal/template/date-picker/use-date-picker.js.map +1 -1
- package/lib/internal/template/date-range-picker/calendar/grids/day/index.js +1 -1
- package/lib/internal/template/date-range-picker/calendar/grids/day/index.js.map +1 -1
- package/lib/internal/template/date-range-picker/calendar/index.d.ts.map +1 -1
- package/lib/internal/template/date-range-picker/calendar/index.js +3 -3
- package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
- package/lib/internal/template/date-range-picker/dropdown.d.ts +1 -0
- package/lib/internal/template/date-range-picker/dropdown.d.ts.map +1 -1
- package/lib/internal/template/date-range-picker/dropdown.js +18 -30
- package/lib/internal/template/date-range-picker/dropdown.js.map +1 -1
- package/lib/internal/template/date-range-picker/embedded.d.ts +7 -0
- package/lib/internal/template/date-range-picker/embedded.d.ts.map +1 -0
- package/lib/internal/template/date-range-picker/embedded.js +46 -0
- package/lib/internal/template/date-range-picker/embedded.js.map +1 -0
- package/lib/internal/template/date-range-picker/index.d.ts.map +1 -1
- package/lib/internal/template/date-range-picker/index.js +5 -18
- package/lib/internal/template/date-range-picker/index.js.map +1 -1
- package/lib/internal/template/date-range-picker/interfaces.d.ts +46 -44
- package/lib/internal/template/date-range-picker/interfaces.d.ts.map +1 -1
- package/lib/internal/template/date-range-picker/interfaces.js.map +1 -1
- package/lib/internal/template/date-range-picker/time-offset.d.ts +0 -7
- package/lib/internal/template/date-range-picker/time-offset.d.ts.map +1 -1
- package/lib/internal/template/date-range-picker/time-offset.js +4 -60
- package/lib/internal/template/date-range-picker/time-offset.js.map +1 -1
- package/lib/internal/template/date-range-picker/use-date-range-picker.d.ts +29 -0
- package/lib/internal/template/date-range-picker/use-date-range-picker.d.ts.map +1 -0
- package/lib/internal/template/date-range-picker/use-date-range-picker.js +58 -0
- package/lib/internal/template/date-range-picker/use-date-range-picker.js.map +1 -0
- package/lib/internal/template/icon/icons.js +1 -1
- package/lib/internal/template/icon/interfaces.d.ts +1 -1
- package/lib/internal/template/icon/interfaces.d.ts.map +1 -1
- package/lib/internal/template/icon/interfaces.js.map +1 -1
- package/lib/internal/template/internal/components/abstract-switch/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/abstract-switch/index.js +5 -5
- package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
- package/lib/internal/template/internal/components/abstract-switch/styles.css.js +11 -11
- package/lib/internal/template/internal/components/abstract-switch/styles.scoped.css +20 -13
- package/lib/internal/template/internal/components/abstract-switch/styles.selectors.js +11 -11
- package/lib/internal/template/internal/components/date-input/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/date-input/index.js +3 -2
- package/lib/internal/template/internal/components/date-input/index.js.map +1 -1
- package/lib/internal/template/internal/components/masked-input/utils/mask-format.d.ts.map +1 -1
- package/lib/internal/template/internal/components/masked-input/utils/mask-format.js +2 -1
- package/lib/internal/template/internal/components/masked-input/utils/mask-format.js.map +1 -1
- package/lib/internal/template/internal/components/masked-input/utils/strings.d.ts +0 -1
- package/lib/internal/template/internal/components/masked-input/utils/strings.d.ts.map +1 -1
- package/lib/internal/template/internal/components/masked-input/utils/strings.js +0 -6
- package/lib/internal/template/internal/components/masked-input/utils/strings.js.map +1 -1
- package/lib/internal/template/internal/components/options-list/utils/use-highlight-option.d.ts +7 -2
- package/lib/internal/template/internal/components/options-list/utils/use-highlight-option.d.ts.map +1 -1
- package/lib/internal/template/internal/components/options-list/utils/use-highlight-option.js +10 -3
- package/lib/internal/template/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
- package/lib/internal/template/internal/components/selectable-item/index.d.ts +1 -1
- package/lib/internal/template/internal/components/selectable-item/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/selectable-item/index.js +2 -2
- package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
- package/lib/internal/template/internal/components/selectable-item/styles.css.js +16 -16
- package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +29 -30
- package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +16 -16
- package/lib/internal/template/internal/environment.js +1 -1
- package/lib/internal/template/internal/utils/date-time/display-format.d.ts +9 -0
- package/lib/internal/template/internal/utils/date-time/display-format.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/display-format.js +15 -0
- package/lib/internal/template/internal/utils/date-time/display-format.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/format-date.d.ts +7 -0
- package/lib/internal/template/internal/utils/date-time/format-date.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/format-date.js +15 -0
- package/lib/internal/template/internal/utils/date-time/format-date.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/format-time.d.ts +5 -0
- package/lib/internal/template/internal/utils/date-time/format-time.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/format-time.js +13 -0
- package/lib/internal/template/internal/utils/date-time/format-time.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/format-timezone-offset.d.ts +2 -0
- package/lib/internal/template/internal/utils/date-time/format-timezone-offset.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/format-timezone-offset.js +11 -0
- package/lib/internal/template/internal/utils/date-time/format-timezone-offset.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/get-browser-timezone-offset.d.ts +7 -0
- package/lib/internal/template/internal/utils/date-time/get-browser-timezone-offset.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/get-browser-timezone-offset.js +11 -0
- package/lib/internal/template/internal/utils/date-time/get-browser-timezone-offset.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/index.d.ts +11 -0
- package/lib/internal/template/internal/utils/date-time/index.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/index.js +13 -0
- package/lib/internal/template/internal/utils/date-time/index.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/is-iso-date-only.d.ts +5 -0
- package/lib/internal/template/internal/utils/date-time/is-iso-date-only.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/is-iso-date-only.js +10 -0
- package/lib/internal/template/internal/utils/date-time/is-iso-date-only.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/join-date-time.d.ts +2 -0
- package/lib/internal/template/internal/utils/date-time/join-date-time.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/join-date-time.js +6 -0
- package/lib/internal/template/internal/utils/date-time/join-date-time.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/parse-date.d.ts +8 -0
- package/lib/internal/template/internal/utils/date-time/parse-date.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/parse-date.js +16 -0
- package/lib/internal/template/internal/utils/date-time/parse-date.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/parse-timezone-offset.d.ts +5 -0
- package/lib/internal/template/internal/utils/date-time/parse-timezone-offset.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/parse-timezone-offset.js +20 -0
- package/lib/internal/template/internal/utils/date-time/parse-timezone-offset.js.map +1 -0
- package/lib/internal/template/internal/utils/date-time/shift-timezone-offset.d.ts +12 -0
- package/lib/internal/template/internal/utils/date-time/shift-timezone-offset.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/date-time/shift-timezone-offset.js +27 -0
- package/lib/internal/template/internal/utils/date-time/shift-timezone-offset.js.map +1 -0
- package/lib/internal/template/internal/utils/strings/index.d.ts +3 -0
- package/lib/internal/template/internal/utils/strings/index.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/strings/index.js +5 -0
- package/lib/internal/template/internal/utils/strings/index.js.map +1 -0
- package/lib/internal/template/internal/utils/strings/join-strings.d.ts +5 -0
- package/lib/internal/template/internal/utils/strings/join-strings.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/{strings.js → strings/join-strings.js} +7 -6
- package/lib/internal/template/internal/utils/strings/join-strings.js.map +1 -0
- package/lib/internal/template/internal/utils/strings/pad-left-zeros.d.ts +5 -0
- package/lib/internal/template/internal/utils/strings/pad-left-zeros.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/strings/pad-left-zeros.js +12 -0
- package/lib/internal/template/internal/utils/strings/pad-left-zeros.js.map +1 -0
- package/lib/internal/template/multiselect/internal.d.ts.map +1 -1
- package/lib/internal/template/multiselect/internal.js +2 -2
- package/lib/internal/template/multiselect/internal.js.map +1 -1
- package/lib/internal/template/popover/styles.css.js +48 -48
- package/lib/internal/template/popover/styles.scoped.css +65 -60
- package/lib/internal/template/popover/styles.selectors.js +48 -48
- package/lib/internal/template/radio-group/styles.css.js +9 -9
- package/lib/internal/template/radio-group/styles.scoped.css +16 -16
- package/lib/internal/template/radio-group/styles.selectors.js +9 -9
- package/lib/internal/template/select/internal.d.ts.map +1 -1
- package/lib/internal/template/select/internal.js +2 -2
- package/lib/internal/template/select/internal.js.map +1 -1
- package/lib/internal/template/select/parts/item.d.ts +1 -1
- package/lib/internal/template/select/parts/item.d.ts.map +1 -1
- package/lib/internal/template/select/parts/item.js +6 -3
- package/lib/internal/template/select/parts/item.js.map +1 -1
- package/lib/internal/template/select/parts/multiselect-item.d.ts +1 -1
- package/lib/internal/template/select/parts/multiselect-item.d.ts.map +1 -1
- package/lib/internal/template/select/parts/multiselect-item.js +2 -2
- package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
- package/lib/internal/template/select/parts/plain-list.d.ts +1 -1
- package/lib/internal/template/select/parts/plain-list.d.ts.map +1 -1
- package/lib/internal/template/select/parts/plain-list.js +4 -4
- package/lib/internal/template/select/parts/plain-list.js.map +1 -1
- package/lib/internal/template/select/parts/styles.css.js +8 -7
- package/lib/internal/template/select/parts/styles.scoped.css +12 -7
- package/lib/internal/template/select/parts/styles.selectors.js +8 -7
- package/lib/internal/template/select/parts/virtual-list.js +4 -4
- package/lib/internal/template/select/parts/virtual-list.js.map +1 -1
- package/lib/internal/template/select/utils/get-item-props.d.ts +1 -2
- package/lib/internal/template/select/utils/get-item-props.d.ts.map +1 -1
- package/lib/internal/template/select/utils/get-item-props.js +3 -3
- package/lib/internal/template/select/utils/get-item-props.js.map +1 -1
- package/lib/internal/template/select/utils/render-options.d.ts +2 -2
- package/lib/internal/template/select/utils/render-options.d.ts.map +1 -1
- package/lib/internal/template/select/utils/render-options.js +2 -3
- package/lib/internal/template/select/utils/render-options.js.map +1 -1
- package/lib/internal/template/select/utils/use-select.d.ts +1 -0
- package/lib/internal/template/select/utils/use-select.d.ts.map +1 -1
- package/lib/internal/template/select/utils/use-select.js +2 -1
- package/lib/internal/template/select/utils/use-select.js.map +1 -1
- package/lib/internal/template/split-panel/index.d.ts.map +1 -1
- package/lib/internal/template/split-panel/index.js +2 -2
- package/lib/internal/template/split-panel/index.js.map +1 -1
- package/lib/internal/template/toggle/internal.d.ts.map +1 -1
- package/lib/internal/template/toggle/internal.js +3 -1
- package/lib/internal/template/toggle/internal.js.map +1 -1
- package/lib/internal/template/toggle/styles.css.js +8 -8
- package/lib/internal/template/toggle/styles.scoped.css +15 -14
- package/lib/internal/template/toggle/styles.selectors.js +8 -8
- package/package.json +1 -1
- package/lib/internal/template/date-picker/calendar/utils/date.d.ts +0 -10
- package/lib/internal/template/date-picker/calendar/utils/date.d.ts.map +0 -1
- package/lib/internal/template/date-picker/calendar/utils/date.js +0 -50
- package/lib/internal/template/date-picker/calendar/utils/date.js.map +0 -1
- package/lib/internal/template/internal/components/date-input/utils/date.d.ts +0 -5
- package/lib/internal/template/internal/components/date-input/utils/date.d.ts.map +0 -1
- package/lib/internal/template/internal/components/date-input/utils/date.js +0 -11
- package/lib/internal/template/internal/components/date-input/utils/date.js.map +0 -1
- package/lib/internal/template/internal/utils/strings.d.ts +0 -2
- package/lib/internal/template/internal/utils/strings.d.ts.map +0 -1
- package/lib/internal/template/internal/utils/strings.js.map +0 -1
|
@@ -4,9 +4,8 @@ interface ItemProps {
|
|
|
4
4
|
index: number;
|
|
5
5
|
getOptionProps: any;
|
|
6
6
|
filteringValue: string;
|
|
7
|
-
isKeyboard: boolean;
|
|
8
7
|
checkboxes: boolean;
|
|
9
8
|
}
|
|
10
|
-
export declare const getItemProps: ({ option, index, getOptionProps, filteringValue,
|
|
9
|
+
export declare const getItemProps: ({ option, index, getOptionProps, filteringValue, checkboxes }: ItemProps) => any;
|
|
11
10
|
export {};
|
|
12
11
|
//# sourceMappingURL=get-item-props.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-item-props.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/get-item-props.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAG7E,UAAU,SAAS;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"get-item-props.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/get-item-props.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAG7E,UAAU,SAAS;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,kEAA2E,SAAS,QAW5G,CAAC"}
|
|
@@ -2,10 +2,10 @@ import { __assign } from "tslib";
|
|
|
2
2
|
import { getTestOptionIndexes } from '../../internal/components/options-list/utils/test-indexes';
|
|
3
3
|
export var getItemProps = function (_a) {
|
|
4
4
|
var _b;
|
|
5
|
-
var option = _a.option, index = _a.index, getOptionProps = _a.getOptionProps, filteringValue = _a.filteringValue, _c = _a.
|
|
5
|
+
var option = _a.option, index = _a.index, getOptionProps = _a.getOptionProps, filteringValue = _a.filteringValue, _c = _a.checkboxes, checkboxes = _c === void 0 ? false : _c;
|
|
6
6
|
var optionProps = getOptionProps(option, index);
|
|
7
7
|
optionProps.filteringValue = filteringValue;
|
|
8
|
-
var
|
|
9
|
-
return __assign(__assign({}, optionProps), (_b = {
|
|
8
|
+
var _d = getTestOptionIndexes(option) || {}, inGroupIndex = _d.inGroupIndex, groupIndex = _d.groupIndex, throughIndex = _d.throughIndex;
|
|
9
|
+
return __assign(__assign({}, optionProps), (_b = { hasCheckbox: checkboxes }, _b['data-group-index'] = groupIndex, _b['data-child-index'] = inGroupIndex, _b['data-test-index'] = throughIndex, _b));
|
|
10
10
|
};
|
|
11
11
|
//# sourceMappingURL=get-item-props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-item-props.js","sourceRoot":"","sources":["../../../../src/select/utils/get-item-props.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;
|
|
1
|
+
{"version":3,"file":"get-item-props.js","sourceRoot":"","sources":["../../../../src/select/utils/get-item-props.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AAUjG,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,EAAgF;;QAA9E,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,cAAc,oBAAA,EAAE,cAAc,oBAAA,EAAE,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA;IAC9F,IAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,WAAW,CAAC,cAAc,GAAG,cAAc,CAAC;IACtC,IAAA,KAA6C,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,EAA7E,YAAY,kBAAA,EAAE,UAAU,gBAAA,EAAE,YAAY,kBAAuC,CAAC;IACtF,6BACK,WAAW,WACd,WAAW,EAAE,UAAU,OACtB,kBAAkB,IAAG,UAAU,KAC/B,kBAAkB,IAAG,YAAY,KACjC,iBAAiB,IAAG,YAAY,OACjC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { DropdownOption } from '../../internal/components/option/interfaces';\nimport { getTestOptionIndexes } from '../../internal/components/options-list/utils/test-indexes';\n\ninterface ItemProps {\n option: DropdownOption;\n index: number;\n getOptionProps: any;\n filteringValue: string;\n checkboxes: boolean;\n}\n\nexport const getItemProps = ({ option, index, getOptionProps, filteringValue, checkboxes = false }: ItemProps) => {\n const optionProps = getOptionProps(option, index);\n optionProps.filteringValue = filteringValue;\n const { inGroupIndex, groupIndex, throughIndex } = getTestOptionIndexes(option) || {};\n return {\n ...optionProps,\n hasCheckbox: checkboxes,\n ['data-group-index']: groupIndex,\n ['data-child-index']: inGroupIndex,\n ['data-test-index']: throughIndex,\n };\n};\n"]}
|
|
@@ -4,7 +4,7 @@ export interface RenderOptionProps {
|
|
|
4
4
|
options: ReadonlyArray<DropdownOption>;
|
|
5
5
|
getOptionProps: any;
|
|
6
6
|
filteringValue: string;
|
|
7
|
-
|
|
7
|
+
highlightedType: 'mouse' | 'keyboard';
|
|
8
8
|
checkboxes?: boolean;
|
|
9
9
|
hasDropdownStatus?: boolean;
|
|
10
10
|
virtualItems?: VirtualItem[];
|
|
@@ -12,5 +12,5 @@ export interface RenderOptionProps {
|
|
|
12
12
|
screenReaderContent?: string;
|
|
13
13
|
ariaSetsize?: number;
|
|
14
14
|
}
|
|
15
|
-
export declare const renderOptions: ({ options, getOptionProps, filteringValue,
|
|
15
|
+
export declare const renderOptions: ({ options, getOptionProps, filteringValue, highlightedType, checkboxes, hasDropdownStatus, virtualItems, useInteractiveGroups, screenReaderContent, ariaSetsize, }: RenderOptionProps) => JSX.Element[];
|
|
16
16
|
//# sourceMappingURL=render-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/render-options.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAG7E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/render-options.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAG7E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,GAAG,UAAU,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,uKAWvB,iBAAiB,kBA8BnB,CAAC"}
|
|
@@ -6,7 +6,7 @@ import Item from '../parts/item';
|
|
|
6
6
|
import MutliselectItem from '../parts/multiselect-item';
|
|
7
7
|
import { getItemProps } from './get-item-props';
|
|
8
8
|
export var renderOptions = function (_a) {
|
|
9
|
-
var options = _a.options, getOptionProps = _a.getOptionProps, filteringValue = _a.filteringValue,
|
|
9
|
+
var options = _a.options, getOptionProps = _a.getOptionProps, filteringValue = _a.filteringValue, highlightedType = _a.highlightedType, _b = _a.checkboxes, checkboxes = _b === void 0 ? false : _b, hasDropdownStatus = _a.hasDropdownStatus, virtualItems = _a.virtualItems, useInteractiveGroups = _a.useInteractiveGroups, screenReaderContent = _a.screenReaderContent, ariaSetsize = _a.ariaSetsize;
|
|
10
10
|
return options.map(function (option, index) {
|
|
11
11
|
var virtualItem = virtualItems && virtualItems[index];
|
|
12
12
|
var globalIndex = virtualItem ? virtualItem.index : index;
|
|
@@ -15,13 +15,12 @@ export var renderOptions = function (_a) {
|
|
|
15
15
|
index: globalIndex,
|
|
16
16
|
getOptionProps: getOptionProps,
|
|
17
17
|
filteringValue: filteringValue,
|
|
18
|
-
isKeyboard: isKeyboard,
|
|
19
18
|
checkboxes: checkboxes
|
|
20
19
|
});
|
|
21
20
|
var isLastItem = index === options.length - 1;
|
|
22
21
|
var padBottom = !hasDropdownStatus && isLastItem;
|
|
23
22
|
var ListItem = useInteractiveGroups ? MutliselectItem : Item;
|
|
24
|
-
return (React.createElement(ListItem, __assign({ key: globalIndex }, props, { virtualPosition: virtualItem && virtualItem.start, ref: virtualItem && virtualItem.measureRef, padBottom: padBottom, screenReaderContent: screenReaderContent, ariaPosinset: globalIndex + 1, ariaSetsize: ariaSetsize })));
|
|
23
|
+
return (React.createElement(ListItem, __assign({ key: globalIndex }, props, { virtualPosition: virtualItem && virtualItem.start, ref: virtualItem && virtualItem.measureRef, padBottom: padBottom, screenReaderContent: screenReaderContent, ariaPosinset: globalIndex + 1, ariaSetsize: ariaSetsize, highlightedType: highlightedType })));
|
|
25
24
|
});
|
|
26
25
|
};
|
|
27
26
|
//# sourceMappingURL=render-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-options.js","sourceRoot":"","sources":["../../../../src/select/utils/render-options.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAehD,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,EAWV;QAVlB,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,cAAc,oBAAA,EACd,
|
|
1
|
+
{"version":3,"file":"render-options.js","sourceRoot":"","sources":["../../../../src/select/utils/render-options.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAehD,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,EAWV;QAVlB,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,cAAc,oBAAA,EACd,eAAe,qBAAA,EACf,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,iBAAiB,uBAAA,EACjB,YAAY,kBAAA,EACZ,oBAAoB,0BAAA,EACpB,mBAAmB,yBAAA,EACnB,WAAW,iBAAA;IAEX,OAAO,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK;QAC/B,IAAM,WAAW,GAAG,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;QACxD,IAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5D,IAAM,KAAK,GAAG,YAAY,CAAC;YACzB,MAAM,QAAA;YACN,KAAK,EAAE,WAAW;YAClB,cAAc,gBAAA;YACd,cAAc,gBAAA;YACd,UAAU,YAAA;SACX,CAAC,CAAC;QAEH,IAAM,UAAU,GAAG,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,IAAM,SAAS,GAAG,CAAC,iBAAiB,IAAI,UAAU,CAAC;QACnD,IAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QAE/D,OAAO,CACL,oBAAC,QAAQ,aACP,GAAG,EAAE,WAAW,IACZ,KAAK,IACT,eAAe,EAAE,WAAW,IAAI,WAAW,CAAC,KAAK,EACjD,GAAG,EAAE,WAAW,IAAI,WAAW,CAAC,UAAU,EAC1C,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,WAAW,GAAG,CAAC,EAC7B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,IAChC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { VirtualItem } from 'react-virtual';\nimport Item from '../parts/item';\nimport MutliselectItem from '../parts/multiselect-item';\nimport { DropdownOption } from '../../internal/components/option/interfaces';\nimport { getItemProps } from './get-item-props';\n\nexport interface RenderOptionProps {\n options: ReadonlyArray<DropdownOption>;\n getOptionProps: any;\n filteringValue: string;\n highlightedType: 'mouse' | 'keyboard';\n checkboxes?: boolean;\n hasDropdownStatus?: boolean;\n virtualItems?: VirtualItem[];\n useInteractiveGroups?: boolean;\n screenReaderContent?: string;\n ariaSetsize?: number;\n}\n\nexport const renderOptions = ({\n options,\n getOptionProps,\n filteringValue,\n highlightedType,\n checkboxes = false,\n hasDropdownStatus,\n virtualItems,\n useInteractiveGroups,\n screenReaderContent,\n ariaSetsize,\n}: RenderOptionProps) => {\n return options.map((option, index) => {\n const virtualItem = virtualItems && virtualItems[index];\n const globalIndex = virtualItem ? virtualItem.index : index;\n const props = getItemProps({\n option,\n index: globalIndex,\n getOptionProps,\n filteringValue,\n checkboxes,\n });\n\n const isLastItem = index === options.length - 1;\n const padBottom = !hasDropdownStatus && isLastItem;\n const ListItem = useInteractiveGroups ? MutliselectItem : Item;\n\n return (\n <ListItem\n key={globalIndex}\n {...props}\n virtualPosition={virtualItem && virtualItem.start}\n ref={virtualItem && virtualItem.measureRef}\n padBottom={padBottom}\n screenReaderContent={screenReaderContent}\n ariaPosinset={globalIndex + 1}\n ariaSetsize={ariaSetsize}\n highlightedType={highlightedType}\n />\n );\n });\n};\n"]}
|
|
@@ -36,6 +36,7 @@ export declare function useSelect({ selectedOptions, updateSelectedOption, optio
|
|
|
36
36
|
isOpen: boolean;
|
|
37
37
|
highlightedOption: DropdownOption | undefined;
|
|
38
38
|
highlightedIndex: number;
|
|
39
|
+
highlightedType: "mouse" | "keyboard";
|
|
39
40
|
getTriggerProps: (disabled?: boolean) => SelectTriggerProps;
|
|
40
41
|
getMenuProps: () => MenuProps;
|
|
41
42
|
getFilterProps: () => Partial<FilterProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,6CAA6C,CAAC;AAS5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAuB,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGrH,oBAAY,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;CAAE,CAAC;AACxG,oBAAY,cAAc,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;AAElF,UAAU,cAAc;IACtB,eAAe,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACjD,oBAAoB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,yBAAyB,CAAC;IACnC,MAAM,EAAE,yBAAyB,CAAC;QAAE,aAAa,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACnE;AAED,wBAAgB,SAAS,CAAC,EACxB,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,MAAM,EACN,OAAO,EACP,WAAW,EACX,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,oBAA4B,GAC7B,EAAE,cAAc
|
|
1
|
+
{"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,6CAA6C,CAAC;AAS5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAuB,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGrH,oBAAY,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;CAAE,CAAC;AACxG,oBAAY,cAAc,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;AAElF,UAAU,cAAc;IACtB,eAAe,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACjD,oBAAoB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,yBAAyB,CAAC;IACnC,MAAM,EAAE,yBAAyB,CAAC;QAAE,aAAa,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACnE;AAED,wBAAgB,SAAS,CAAC,EACxB,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,MAAM,EACN,OAAO,EACP,WAAW,EACX,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,oBAA4B,GAC7B,EAAE,cAAc;;;;;;;0BAwHY,QAAQ,WAAW,CAAC;6BAiEf,cAAc,SAAS,MAAM;;;;;EA6D9D"}
|
|
@@ -28,7 +28,7 @@ export function useSelect(_a) {
|
|
|
28
28
|
}
|
|
29
29
|
return selectedValuesSet;
|
|
30
30
|
}, new Set());
|
|
31
|
-
var _c = useHighlightedOption(options), highlightedOption = _c.highlightedOption, highlightedIndex = _c.highlightedIndex, moveHighlight = _c.moveHighlight, resetHighlight = _c.resetHighlight, setHighlightedIndex = _c.setHighlightedIndex, highlightOption = _c.highlightOption, goHome = _c.goHome, goEnd = _c.goEnd;
|
|
31
|
+
var _c = useHighlightedOption({ options: options, isKeyboard: isKeyboard }), highlightedOption = _c.highlightedOption, highlightedIndex = _c.highlightedIndex, highlightedType = _c.highlightedType, moveHighlight = _c.moveHighlight, resetHighlight = _c.resetHighlight, setHighlightedIndex = _c.setHighlightedIndex, highlightOption = _c.highlightOption, goHome = _c.goHome, goEnd = _c.goEnd;
|
|
32
32
|
var _d = useOpenState({
|
|
33
33
|
onOpen: function () { return fireLoadItems(''); },
|
|
34
34
|
onClose: function () {
|
|
@@ -224,6 +224,7 @@ export function useSelect(_a) {
|
|
|
224
224
|
isOpen: isOpen,
|
|
225
225
|
highlightedOption: highlightedOption,
|
|
226
226
|
highlightedIndex: highlightedIndex,
|
|
227
|
+
highlightedType: highlightedType,
|
|
227
228
|
getTriggerProps: getTriggerProps,
|
|
228
229
|
getMenuProps: getMenuProps,
|
|
229
230
|
getFilterProps: getFilterProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-select.js","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,uDAAuD,CAAC;AACnH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAoB,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAChH,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAChH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,eAAe,MAAM,oCAAoC,CAAC;AAIjE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAA0B,mBAAmB,EAA6B,MAAM,6BAA6B,CAAC;AACrH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA4B3D,MAAM,UAAU,SAAS,CAAC,EAYT;QAXf,eAAe,qBAAA,EACf,oBAAoB,0BAAA,EACpB,OAAO,aAAA,EACP,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,iBAAiB,uBAAA,EACjB,4BAA4B,EAA5B,oBAAoB,mBAAG,KAAK,KAAA;IAE5B,IAAM,kBAAkB,GAAG,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC;IAErF,IAAM,eAAe,GAAG,UAAC,MAAuB,IAAK,OAAA,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,EAA9D,CAA8D,CAAC;IACpH,IAAM,oBAAoB,GAAG,2BAA2B,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,CAAC;IAE/F,IAAM,SAAS,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACjD,IAAM,UAAU,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC/C,IAAM,SAAS,GAAG,aAAa,KAAK,MAAM,CAAC;IAC3C,IAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAClD,IAAM,UAAU,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAC1C,IAAM,qBAAqB,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IACrD,IAAM,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC1E,IAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,UAAC,iBAA8B,EAAE,IAAsB;QACxG,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;IAChB,IAAA,KASF,oBAAoB,CAAC,OAAO,CAAC,EAR/B,iBAAiB,uBAAA,EACjB,gBAAgB,sBAAA,EAChB,aAAa,mBAAA,EACb,cAAc,oBAAA,EACd,mBAAmB,yBAAA,EACnB,eAAe,qBAAA,EACf,MAAM,YAAA,EACN,KAAK,WAC0B,CAAC;IAE5B,IAAA,KAA0D,YAAY,CAAC;QAC3E,MAAM,EAAE,cAAM,OAAA,aAAa,CAAC,EAAE,CAAC,EAAjB,CAAiB;QAC/B,OAAO,EAAE;YACP,cAAc,EAAE,CAAC;YACjB,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;KACF,CAAC,EANM,MAAM,YAAA,EAAE,YAAY,kBAAA,EAAE,aAAa,mBAAA,EAAE,cAAc,oBAMzD,CAAC;IAEH,IAAM,OAAO,GAA8B,MAAM,CAAU,KAAK,CAAC,CAAC;IAClE,IAAM,WAAW,GAAG;QAClB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;SACxB;IACH,CAAC,CAAC;IACF,IAAM,UAAU,GAAG,UAAC,EAAsD;YAApD,MAAM,YAAA;QAClB,IAAA,aAAa,GAAK,MAAM,cAAX,CAAY;QACjC,IAAM,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxG,IAAM,yBAAyB,GAAG,aAAa;YAC7C,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;YACtG,CAAC,CAAC,KAAK,CAAC;QACV,IAAM,0BAA0B,GAAG,oBAAoB,IAAI,yBAAyB,CAAC;QACrF,IAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,0BAA0B,CAAC;QAEnE,IAAI,oBAAoB,IAAI,WAAW,EAAE;YACvC,aAAa,EAAE,CAAC;SACjB;QACD,IAAI,WAAW,EAAE;YACf,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;SACzB;IACH,CAAC,CAAC;IAEF,IAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,IAAA,KAA+B,MAAM,CAAC,EAAE,iBAAiB,mBAAA,EAAE,CAAC,EAA1D,gBAAgB,sBAAA,EAAE,MAAM,YAAkC,CAAC;IACnE,IAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAElE,IAAM,YAAY,GAAG,UAAC,MAAuB;;QAC3C,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAC;QACtC,IAAM,cAAc,GAAG,MAAM,IAAI,iBAAiB,CAAC;QACnD,IAAI,CAAC,cAAc,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE;YAC1D,OAAO;SACR;QACD,oBAAoB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE;YACb,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC5B,aAAa,EAAE,CAAC;SACjB;IACH,CAAC,CAAC;IAEF,IAAM,oBAAoB,GAAG,eAAe,CAAC;QAC3C,aAAa,eAAA;QACb,YAAY,cAAA;QACZ,MAAM,QAAA;QACN,KAAK,OAAA;QACL,aAAa,EAAE;;YACb,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC5B,aAAa,EAAE,CAAC;QAClB,CAAC;QACD,UAAU,YAAA;QACV,qBAAqB,uBAAA;QACrB,kBAAkB,EAAE,CAAC,SAAS;KAC/B,CAAC,CAAC;IAEH,IAAM,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,YAAY,cAAA,EAAE,MAAM,QAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;IAEvF,IAAM,eAAe,GAAG,UAAC,QAAgB;QAAhB,yBAAA,EAAA,gBAAgB;QACvC,IAAM,YAAY,GAAuB;YACvC,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,UAAU;SACnB,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE;YACb,YAAY,CAAC,WAAW,GAAG,UAAC,KAAkB;;gBAC5C,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,4EAA4E;gBACpG,IAAI,MAAM,EAAE;oBACV,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;iBAC7B;gBACD,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC;YACF,YAAY,CAAC,SAAS,GAAG,qBAAqB,CAAC;SAChD;QACD,IAAI,iBAAiB,EAAE;YACrB,YAAY,CAAC,cAAc,GAAG,gBAAgB,CAAC;SAChD;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG;;QACrB,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,EAAE,CAAC;SACX;QAED,OAAO;YACL,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,oBAAoB;YAC/B,kBAAkB,EAAE,UAAU;YAC9B,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,UAAA,KAAK;gBACb,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtC,cAAc,EAAE,CAAC;YACnB,CAAC;YACD,gBAAgB,EAAE,UAAA,KAAK;gBACrB,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YACD,kBAAkB;oBAChB,uBAAuB,EAAE,mBAAmB;;gBAC5C,GAAC,WAAW,IAAG,MAAM;gBACrB,GAAC,eAAe,IAAG,MAAM;mBAC1B;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,YAAY,GAAG;QACnB,IAAM,SAAS,GAAc;YAC3B,EAAE,EAAE,MAAM;YACV,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,UAAA,SAAS;gBAClB,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC3B,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;oBAClB,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;iBAClC;YACH,CAAC;YACD,WAAW,EAAE,UAAA,SAAS;gBACpB,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC3B,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;oBAClB,mBAAmB,CAAC,SAAS,CAAC,CAAC;iBAChC;YACH,CAAC;SACF,CAAC;QACF,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,CAAC,SAAS,GAAG,oBAAoB,CAAC;YAC3C,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC;YAC9B,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC;YAChC,SAAS,CAAC,gBAAgB,GAAG;gBAC3B,uBAAuB,EAAE,mBAAmB;aAC7C,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,IAAM,aAAa,GAAG,UAAC,MAAmB;QACxC,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAnD,CAAmD,CAAC,CAAC,MAAM,CAAC;QAChH,IAAM,WAAW,GAAG,aAAa,GAAG,CAAC,CAAC;QACtC,IAAM,WAAW,GAAG,aAAa,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5D,OAAO;YACL,QAAQ,EAAE,WAAW,IAAI,WAAW;YACpC,aAAa,EAAE,WAAW,IAAI,CAAC,WAAW;SAC3C,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG,UAAC,MAAsB,EAAE,KAAa;;;QAC3D,IAAM,WAAW,GAAG,MAAM,KAAK,iBAAiB,CAAC;QACjD,IAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,IAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAA,CAAC;QAClF,IAAM,UAAU,GAAG,MAAA,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,0CAAE,MAAM,CAAC;QAC9C,IAAM,cAAc,GAClB,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;YACjC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ;YACpC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzD,IAAM,WAAW;gBACf,GAAG,EAAE,KAAK;gBACV,MAAM,QAAA;gBACN,WAAW,aAAA;gBACX,QAAQ,UAAA;gBACR,cAAc,gBAAA;gBACd,aAAa,EAAE,CAAC,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAA;;YAC1C,GAAC,mBAAmB,IAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,KAAE,GAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;eAC/B,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,IAAM,QAAQ,GAAG,WAAW,CAAU,MAAM,CAAC,CAAC;IAC9C,SAAS,CAAC;QACR,yEAAyE;QACzE,IAAI,MAAM,IAAI,CAAC,QAAQ,IAAI,iBAAiB,EAAE;YAC5C,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3F,SAAS,CAAC;;QACR,IAAI,MAAM,EAAE;YACV,iFAAiF;YACjF,+EAA+E;YAC/E,yCAAyC;YACzC,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;SACnD;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAExB,eAAe,CAAC,WAAW,EAAE,UAA0C,CAAC,CAAC;IACzE,IAAM,wBAAwB,GAC5B,CAAC,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAC/G,IAAM,gBAAgB,GACpB,CAAC,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,wBAAwB,CAAC,CAAC;IAEzG,OAAO;QACL,MAAM,QAAA;QACN,iBAAiB,mBAAA;QACjB,gBAAgB,kBAAA;QAChB,eAAe,iBAAA;QACf,YAAY,cAAA;QACZ,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,UAAU,YAAA;QACV,eAAe,iBAAA;QACf,YAAY,cAAA;QACZ,gBAAgB,kBAAA;KACjB,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { RefObject } from 'react';\nimport { DropdownOption, OptionDefinition, OptionGroup } from '../../internal/components/option/interfaces';\nimport { isInteractive, isGroupInteractive, isGroup } from '../../internal/components/option/utils/filter-options';\nimport { useEffect, useRef, MutableRefObject } from 'react';\nimport { createHighlightedOptionHook } from '../../internal/components/options-list/utils/use-highlight-option';\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { useMenuKeyboard, useTriggerKeyboard } from '../../internal/components/options-list/utils/use-keyboard';\nimport { useIds, getOptionId } from '../../internal/components/options-list/utils/use-ids';\nimport { connectOptionsByValue } from './connect-options';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { OptionsListProps } from '../../internal/components/options-list';\nimport { FilterProps } from '../parts/filter';\nimport { ItemProps } from '../parts/item';\nimport { usePrevious } from '../../internal/hooks/use-previous';\nimport { BaseKeyDetail } from '../../internal/events';\nimport { CancelableEventHandler, fireCancelableEvent, NonCancelableEventHandler } from '../../internal/events/index';\nimport { containsOrEqual } from '../../internal/utils/dom';\n\nexport type MenuProps = Omit<OptionsListProps, 'children'> & { ref: React.RefObject<HTMLUListElement> };\nexport type GetOptionProps = (option: DropdownOption, index: number) => ItemProps;\n\ninterface UseSelectProps {\n selectedOptions: ReadonlyArray<OptionDefinition>;\n updateSelectedOption: (option: OptionDefinition) => void;\n options: ReadonlyArray<DropdownOption>;\n filteringType: string;\n keepOpen?: boolean;\n onBlur?: CancelableEventHandler;\n onFocus?: CancelableEventHandler;\n externalRef: React.Ref<any>;\n fireLoadItems: (filteringText: string) => void;\n setFilteringValue: (filteringText: string) => void;\n useInteractiveGroups?: boolean;\n}\n\nexport interface SelectTriggerProps {\n ref: RefObject<HTMLButtonElement>;\n onMouseDown?: (event: CustomEvent) => void;\n onKeyDown?: (event: CustomEvent<BaseKeyDetail>) => void;\n ariaLabelledby?: string;\n onFocus: NonCancelableEventHandler;\n onBlur: NonCancelableEventHandler<{ relatedTarget: Node | null }>;\n}\n\nexport function useSelect({\n selectedOptions,\n updateSelectedOption,\n options,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n keepOpen,\n fireLoadItems,\n setFilteringValue,\n useInteractiveGroups = false,\n}: UseSelectProps) {\n const interactivityCheck = useInteractiveGroups ? isGroupInteractive : isInteractive;\n\n const isHighlightable = (option?: DropdownOption) => !!option && (useInteractiveGroups || option.type !== 'parent');\n const useHighlightedOption = createHighlightedOptionHook({ isHighlightable: isHighlightable });\n\n const filterRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const menuRef = useRef<HTMLUListElement>(null);\n const hasFilter = filteringType !== 'none';\n const activeRef = hasFilter ? filterRef : menuRef;\n const isKeyboard = useRef<boolean>(false);\n const isSelectingUsingSpace = useRef<boolean>(false);\n const __selectedOptions = connectOptionsByValue(options, selectedOptions);\n const __selectedValuesSet = selectedOptions.reduce((selectedValuesSet: Set<string>, item: OptionDefinition) => {\n if (item.value) {\n selectedValuesSet.add(item.value);\n }\n return selectedValuesSet;\n }, new Set<string>());\n const {\n highlightedOption,\n highlightedIndex,\n moveHighlight,\n resetHighlight,\n setHighlightedIndex,\n highlightOption,\n goHome,\n goEnd,\n } = useHighlightedOption(options);\n\n const { isOpen, openDropdown, closeDropdown, toggleDropdown } = useOpenState({\n onOpen: () => fireLoadItems(''),\n onClose: () => {\n resetHighlight();\n setFilteringValue('');\n },\n });\n\n const focused: MutableRefObject<boolean> = useRef<boolean>(false);\n const handleFocus = () => {\n if (!focused.current) {\n fireCancelableEvent(onFocus, {});\n focused.current = true;\n }\n };\n const handleBlur = ({ detail }: { detail: { relatedTarget: Node | null } }) => {\n const { relatedTarget } = detail;\n const nextFocusedIsTrigger = relatedTarget ? containsOrEqual(triggerRef.current, relatedTarget) : false;\n const nextFocusedInsideDropdown = relatedTarget\n ? containsOrEqual(menuRef.current, relatedTarget) || containsOrEqual(filterRef.current, relatedTarget)\n : false;\n const nextFocusedInsideComponent = nextFocusedIsTrigger || nextFocusedInsideDropdown;\n const focusingOut = focused.current && !nextFocusedInsideComponent;\n\n if (nextFocusedIsTrigger || focusingOut) {\n closeDropdown();\n }\n if (focusingOut) {\n fireCancelableEvent(onBlur, {});\n focused.current = false;\n }\n };\n\n const hasSelectedOption = __selectedOptions.length > 0;\n const { selectedOptionId, menuId } = useIds({ hasSelectedOption });\n const highlightedOptionId = getOptionId(menuId, highlightedIndex);\n\n const selectOption = (option?: DropdownOption) => {\n isSelectingUsingSpace.current = false;\n const optionToSelect = option || highlightedOption;\n if (!optionToSelect || !interactivityCheck(optionToSelect)) {\n return;\n }\n updateSelectedOption(optionToSelect.option);\n if (!keepOpen) {\n triggerRef.current?.focus();\n closeDropdown();\n }\n };\n\n const activeKeyDownHandler = useMenuKeyboard({\n moveHighlight,\n selectOption,\n goHome,\n goEnd,\n closeDropdown: () => {\n triggerRef.current?.focus();\n closeDropdown();\n },\n isKeyboard,\n isSelectingUsingSpace,\n preventNativeSpace: !hasFilter,\n });\n\n const triggerKeyDownHandler = useTriggerKeyboard({ openDropdown, goHome, isKeyboard });\n\n const getTriggerProps = (disabled = false) => {\n const triggerProps: SelectTriggerProps = {\n ref: triggerRef,\n onFocus: handleFocus,\n onBlur: handleBlur,\n };\n if (!disabled) {\n triggerProps.onMouseDown = (event: CustomEvent) => {\n event.preventDefault(); // prevent current focus from blurring as it immediately closes the dropdown\n if (isOpen) {\n triggerRef.current?.focus();\n }\n toggleDropdown();\n };\n triggerProps.onKeyDown = triggerKeyDownHandler;\n }\n if (hasSelectedOption) {\n triggerProps.ariaLabelledby = selectedOptionId;\n }\n return triggerProps;\n };\n\n const getFilterProps = (): Partial<FilterProps> => {\n if (!hasFilter) {\n return {};\n }\n\n return {\n ref: filterRef,\n onKeyDown: activeKeyDownHandler,\n __onBlurWithDetail: handleBlur,\n onFocus: handleFocus,\n onChange: event => {\n setFilteringValue(event.detail.value);\n resetHighlight();\n },\n __onDelayedInput: event => {\n fireLoadItems(event.detail.value);\n },\n __nativeAttributes: {\n 'aria-activedescendant': highlightedOptionId,\n ['aria-owns']: menuId,\n ['aria-controls']: menuId,\n },\n };\n };\n\n const getMenuProps = () => {\n const menuProps: MenuProps = {\n id: menuId,\n ref: menuRef,\n open: isOpen,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseUp: itemIndex => {\n isKeyboard.current = false;\n if (itemIndex > -1) {\n selectOption(options[itemIndex]);\n }\n },\n onMouseMove: itemIndex => {\n isKeyboard.current = false;\n if (itemIndex > -1) {\n setHighlightedIndex(itemIndex);\n }\n },\n };\n if (!hasFilter) {\n menuProps.onKeyDown = activeKeyDownHandler;\n menuProps.onBlur = handleBlur;\n menuProps.onFocus = handleFocus;\n menuProps.nativeAttributes = {\n 'aria-activedescendant': highlightedOptionId,\n };\n }\n return menuProps;\n };\n const getGroupState = (option: OptionGroup) => {\n const totalSelected = option.options.filter(item => !!item.value && __selectedValuesSet.has(item.value)).length;\n const hasSelected = totalSelected > 0;\n const allSelected = totalSelected === option.options.length;\n return {\n selected: hasSelected && allSelected,\n indeterminate: hasSelected && !allSelected,\n };\n };\n\n const getOptionProps = (option: DropdownOption, index: number) => {\n const highlighted = option === highlightedOption;\n const groupState = isGroup(option.option) ? getGroupState(option.option) : undefined;\n const selected = __selectedOptions.indexOf(option) > -1 || !!groupState?.selected;\n const nextOption = options[index + 1]?.option;\n const isNextSelected =\n !!nextOption && isGroup(nextOption)\n ? getGroupState(nextOption).selected\n : __selectedOptions.indexOf(options[index + 1]) > -1;\n\n const optionProps: any = {\n key: index,\n option,\n highlighted,\n selected,\n isNextSelected,\n indeterminate: !!groupState?.indeterminate,\n ['data-mouse-target']: isHighlightable(option) ? index : -1,\n id: getOptionId(menuId, index),\n };\n\n return optionProps;\n };\n\n const prevOpen = usePrevious<boolean>(isOpen);\n useEffect(() => {\n // highlight the first selected option, when opening the Select component\n if (isOpen && !prevOpen && hasSelectedOption) {\n setHighlightedIndex(options.indexOf(__selectedOptions[0]));\n }\n }, [isOpen, __selectedOptions, hasSelectedOption, setHighlightedIndex, options, prevOpen]);\n\n useEffect(() => {\n if (isOpen) {\n // dropdown-fit calculations ensure that the dropdown will fit inside the current\n // viewport, so prevent the browser from trying to scroll it into view (e.g. if\n // scroll-padding-top is set on a parent)\n activeRef.current?.focus({ preventScroll: true });\n }\n }, [isOpen, activeRef]);\n\n useForwardFocus(externalRef, triggerRef as React.RefObject<HTMLElement>);\n const highlightedGroupSelected =\n !!highlightedOption && isGroup(highlightedOption.option) && getGroupState(highlightedOption.option).selected;\n const announceSelected =\n !!highlightedOption && (__selectedOptions.indexOf(highlightedOption) > -1 || highlightedGroupSelected);\n\n return {\n isOpen,\n highlightedOption,\n highlightedIndex,\n getTriggerProps,\n getMenuProps,\n getFilterProps,\n getOptionProps,\n isKeyboard,\n highlightOption,\n selectOption,\n announceSelected,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-select.js","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { RefObject } from 'react';\nimport { DropdownOption, OptionDefinition, OptionGroup } from '../../internal/components/option/interfaces';\nimport { isInteractive, isGroupInteractive, isGroup } from '../../internal/components/option/utils/filter-options';\nimport { useEffect, useRef, MutableRefObject } from 'react';\nimport { createHighlightedOptionHook } from '../../internal/components/options-list/utils/use-highlight-option';\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { useMenuKeyboard, useTriggerKeyboard } from '../../internal/components/options-list/utils/use-keyboard';\nimport { useIds, getOptionId } from '../../internal/components/options-list/utils/use-ids';\nimport { connectOptionsByValue } from './connect-options';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { OptionsListProps } from '../../internal/components/options-list';\nimport { FilterProps } from '../parts/filter';\nimport { ItemProps } from '../parts/item';\nimport { usePrevious } from '../../internal/hooks/use-previous';\nimport { BaseKeyDetail } from '../../internal/events';\nimport { CancelableEventHandler, fireCancelableEvent, NonCancelableEventHandler } from '../../internal/events/index';\nimport { containsOrEqual } from '../../internal/utils/dom';\n\nexport type MenuProps = Omit<OptionsListProps, 'children'> & { ref: React.RefObject<HTMLUListElement> };\nexport type GetOptionProps = (option: DropdownOption, index: number) => ItemProps;\n\ninterface UseSelectProps {\n selectedOptions: ReadonlyArray<OptionDefinition>;\n updateSelectedOption: (option: OptionDefinition) => void;\n options: ReadonlyArray<DropdownOption>;\n filteringType: string;\n keepOpen?: boolean;\n onBlur?: CancelableEventHandler;\n onFocus?: CancelableEventHandler;\n externalRef: React.Ref<any>;\n fireLoadItems: (filteringText: string) => void;\n setFilteringValue: (filteringText: string) => void;\n useInteractiveGroups?: boolean;\n}\n\nexport interface SelectTriggerProps {\n ref: RefObject<HTMLButtonElement>;\n onMouseDown?: (event: CustomEvent) => void;\n onKeyDown?: (event: CustomEvent<BaseKeyDetail>) => void;\n ariaLabelledby?: string;\n onFocus: NonCancelableEventHandler;\n onBlur: NonCancelableEventHandler<{ relatedTarget: Node | null }>;\n}\n\nexport function useSelect({\n selectedOptions,\n updateSelectedOption,\n options,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n keepOpen,\n fireLoadItems,\n setFilteringValue,\n useInteractiveGroups = false,\n}: UseSelectProps) {\n const interactivityCheck = useInteractiveGroups ? isGroupInteractive : isInteractive;\n\n const isHighlightable = (option?: DropdownOption) => !!option && (useInteractiveGroups || option.type !== 'parent');\n const useHighlightedOption = createHighlightedOptionHook({ isHighlightable: isHighlightable });\n\n const filterRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const menuRef = useRef<HTMLUListElement>(null);\n const hasFilter = filteringType !== 'none';\n const activeRef = hasFilter ? filterRef : menuRef;\n const isKeyboard = useRef<boolean>(false);\n const isSelectingUsingSpace = useRef<boolean>(false);\n const __selectedOptions = connectOptionsByValue(options, selectedOptions);\n const __selectedValuesSet = selectedOptions.reduce((selectedValuesSet: Set<string>, item: OptionDefinition) => {\n if (item.value) {\n selectedValuesSet.add(item.value);\n }\n return selectedValuesSet;\n }, new Set<string>());\n const {\n highlightedOption,\n highlightedIndex,\n highlightedType,\n moveHighlight,\n resetHighlight,\n setHighlightedIndex,\n highlightOption,\n goHome,\n goEnd,\n } = useHighlightedOption({ options, isKeyboard });\n\n const { isOpen, openDropdown, closeDropdown, toggleDropdown } = useOpenState({\n onOpen: () => fireLoadItems(''),\n onClose: () => {\n resetHighlight();\n setFilteringValue('');\n },\n });\n\n const focused: MutableRefObject<boolean> = useRef<boolean>(false);\n const handleFocus = () => {\n if (!focused.current) {\n fireCancelableEvent(onFocus, {});\n focused.current = true;\n }\n };\n const handleBlur = ({ detail }: { detail: { relatedTarget: Node | null } }) => {\n const { relatedTarget } = detail;\n const nextFocusedIsTrigger = relatedTarget ? containsOrEqual(triggerRef.current, relatedTarget) : false;\n const nextFocusedInsideDropdown = relatedTarget\n ? containsOrEqual(menuRef.current, relatedTarget) || containsOrEqual(filterRef.current, relatedTarget)\n : false;\n const nextFocusedInsideComponent = nextFocusedIsTrigger || nextFocusedInsideDropdown;\n const focusingOut = focused.current && !nextFocusedInsideComponent;\n\n if (nextFocusedIsTrigger || focusingOut) {\n closeDropdown();\n }\n if (focusingOut) {\n fireCancelableEvent(onBlur, {});\n focused.current = false;\n }\n };\n\n const hasSelectedOption = __selectedOptions.length > 0;\n const { selectedOptionId, menuId } = useIds({ hasSelectedOption });\n const highlightedOptionId = getOptionId(menuId, highlightedIndex);\n\n const selectOption = (option?: DropdownOption) => {\n isSelectingUsingSpace.current = false;\n const optionToSelect = option || highlightedOption;\n if (!optionToSelect || !interactivityCheck(optionToSelect)) {\n return;\n }\n updateSelectedOption(optionToSelect.option);\n if (!keepOpen) {\n triggerRef.current?.focus();\n closeDropdown();\n }\n };\n\n const activeKeyDownHandler = useMenuKeyboard({\n moveHighlight,\n selectOption,\n goHome,\n goEnd,\n closeDropdown: () => {\n triggerRef.current?.focus();\n closeDropdown();\n },\n isKeyboard,\n isSelectingUsingSpace,\n preventNativeSpace: !hasFilter,\n });\n\n const triggerKeyDownHandler = useTriggerKeyboard({ openDropdown, goHome, isKeyboard });\n\n const getTriggerProps = (disabled = false) => {\n const triggerProps: SelectTriggerProps = {\n ref: triggerRef,\n onFocus: handleFocus,\n onBlur: handleBlur,\n };\n if (!disabled) {\n triggerProps.onMouseDown = (event: CustomEvent) => {\n event.preventDefault(); // prevent current focus from blurring as it immediately closes the dropdown\n if (isOpen) {\n triggerRef.current?.focus();\n }\n toggleDropdown();\n };\n triggerProps.onKeyDown = triggerKeyDownHandler;\n }\n if (hasSelectedOption) {\n triggerProps.ariaLabelledby = selectedOptionId;\n }\n return triggerProps;\n };\n\n const getFilterProps = (): Partial<FilterProps> => {\n if (!hasFilter) {\n return {};\n }\n\n return {\n ref: filterRef,\n onKeyDown: activeKeyDownHandler,\n __onBlurWithDetail: handleBlur,\n onFocus: handleFocus,\n onChange: event => {\n setFilteringValue(event.detail.value);\n resetHighlight();\n },\n __onDelayedInput: event => {\n fireLoadItems(event.detail.value);\n },\n __nativeAttributes: {\n 'aria-activedescendant': highlightedOptionId,\n ['aria-owns']: menuId,\n ['aria-controls']: menuId,\n },\n };\n };\n\n const getMenuProps = () => {\n const menuProps: MenuProps = {\n id: menuId,\n ref: menuRef,\n open: isOpen,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseUp: itemIndex => {\n isKeyboard.current = false;\n if (itemIndex > -1) {\n selectOption(options[itemIndex]);\n }\n },\n onMouseMove: itemIndex => {\n isKeyboard.current = false;\n if (itemIndex > -1) {\n setHighlightedIndex(itemIndex);\n }\n },\n };\n if (!hasFilter) {\n menuProps.onKeyDown = activeKeyDownHandler;\n menuProps.onBlur = handleBlur;\n menuProps.onFocus = handleFocus;\n menuProps.nativeAttributes = {\n 'aria-activedescendant': highlightedOptionId,\n };\n }\n return menuProps;\n };\n const getGroupState = (option: OptionGroup) => {\n const totalSelected = option.options.filter(item => !!item.value && __selectedValuesSet.has(item.value)).length;\n const hasSelected = totalSelected > 0;\n const allSelected = totalSelected === option.options.length;\n return {\n selected: hasSelected && allSelected,\n indeterminate: hasSelected && !allSelected,\n };\n };\n\n const getOptionProps = (option: DropdownOption, index: number) => {\n const highlighted = option === highlightedOption;\n const groupState = isGroup(option.option) ? getGroupState(option.option) : undefined;\n const selected = __selectedOptions.indexOf(option) > -1 || !!groupState?.selected;\n const nextOption = options[index + 1]?.option;\n const isNextSelected =\n !!nextOption && isGroup(nextOption)\n ? getGroupState(nextOption).selected\n : __selectedOptions.indexOf(options[index + 1]) > -1;\n\n const optionProps: any = {\n key: index,\n option,\n highlighted,\n selected,\n isNextSelected,\n indeterminate: !!groupState?.indeterminate,\n ['data-mouse-target']: isHighlightable(option) ? index : -1,\n id: getOptionId(menuId, index),\n };\n\n return optionProps;\n };\n\n const prevOpen = usePrevious<boolean>(isOpen);\n useEffect(() => {\n // highlight the first selected option, when opening the Select component\n if (isOpen && !prevOpen && hasSelectedOption) {\n setHighlightedIndex(options.indexOf(__selectedOptions[0]));\n }\n }, [isOpen, __selectedOptions, hasSelectedOption, setHighlightedIndex, options, prevOpen]);\n\n useEffect(() => {\n if (isOpen) {\n // dropdown-fit calculations ensure that the dropdown will fit inside the current\n // viewport, so prevent the browser from trying to scroll it into view (e.g. if\n // scroll-padding-top is set on a parent)\n activeRef.current?.focus({ preventScroll: true });\n }\n }, [isOpen, activeRef]);\n\n useForwardFocus(externalRef, triggerRef as React.RefObject<HTMLElement>);\n const highlightedGroupSelected =\n !!highlightedOption && isGroup(highlightedOption.option) && getGroupState(highlightedOption.option).selected;\n const announceSelected =\n !!highlightedOption && (__selectedOptions.indexOf(highlightedOption) > -1 || highlightedGroupSelected);\n\n return {\n isOpen,\n highlightedOption,\n highlightedIndex,\n highlightedType,\n getTriggerProps,\n getMenuProps,\n getFilterProps,\n getOptionProps,\n isKeyboard,\n highlightOption,\n selectOption,\n announceSelected,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAoB,MAAM,cAAc,CAAC;AAejE,OAAO,EAAE,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAoB,MAAM,cAAc,CAAC;AAejE,OAAO,EAAE,eAAe,EAAE,CAAC;AA+L3B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,qBAA6B,EAC7B,WAAW,EACX,GAAG,SAAS,EACb,EAAE,eAAe,eA8RjB"}
|
|
@@ -37,7 +37,7 @@ var TransitionContentSide = function (_a) {
|
|
|
37
37
|
_c)), onClick: function () { return !isOpen && onToggle(); } },
|
|
38
38
|
isOpen ? (React.createElement("div", { className: styles['slider-wrapper-side'] },
|
|
39
39
|
React.createElement("div", __assign({ role: "slider", tabIndex: 0, "aria-label": i18nStrings.resizeHandleAriaLabel, "aria-valuemax": 100, "aria-valuemin": 0, "aria-valuenow": relativeSize, className: clsx(styles.slider, styles['slider-side']), onKeyDown: onKeyDown, onMouseDown: onSliderMouseDown }, focusVisible),
|
|
40
|
-
React.createElement(ResizeHandler, { className: clsx(styles['slider-icon'], styles['slider-icon-side']) })))) : (React.createElement(InternalButton, { className: clsx(styles['open-button'], styles['open-button-side']), iconName: "angle-left", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ref: isRefresh ? null : toggleRef })),
|
|
40
|
+
React.createElement(ResizeHandler, { className: clsx(styles['slider-icon'], styles['slider-icon-side']) })))) : (React.createElement(InternalButton, { className: clsx(styles['open-button'], styles['open-button-side']), iconName: "angle-left", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ariaExpanded: isOpen, ref: isRefresh ? null : toggleRef })),
|
|
41
41
|
React.createElement("div", { className: styles['content-side'], "aria-hidden": !isOpen },
|
|
42
42
|
React.createElement("div", { className: clsx(styles['pane-header-wrapper-side']) }, paneHeader),
|
|
43
43
|
React.createElement("hr", { className: styles['header-divider'] }),
|
|
@@ -150,7 +150,7 @@ export default function SplitPanel(_a) {
|
|
|
150
150
|
!hidePreferencesButton && isOpen && (React.createElement(React.Fragment, null,
|
|
151
151
|
React.createElement(InternalButton, { className: styles['preferences-button'], iconName: "settings", variant: "icon", onClick: function () { return setPreferencesOpen(true); }, formAction: "none", ariaLabel: i18nStrings.preferencesTitle, ref: preferencesRef }),
|
|
152
152
|
React.createElement("span", { className: styles.divider }))),
|
|
153
|
-
isOpen ? (React.createElement(InternalButton, { className: styles['close-button'], iconName: isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close', variant: "icon", onClick: onToggle, formAction: "none", ariaLabel: i18nStrings.closeButtonAriaLabel, ref: closeRef })) : position === 'side' ? null : (React.createElement(InternalButton, { className: styles['open-button'], iconName: "angle-up", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ref: toggleRef })))));
|
|
153
|
+
isOpen ? (React.createElement(InternalButton, { className: styles['close-button'], iconName: isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close', variant: "icon", onClick: onToggle, formAction: "none", ariaLabel: i18nStrings.closeButtonAriaLabel, ref: closeRef, ariaExpanded: isOpen })) : position === 'side' ? null : (React.createElement(InternalButton, { className: styles['open-button'], iconName: "angle-up", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ref: toggleRef, ariaExpanded: isOpen })))));
|
|
154
154
|
/*
|
|
155
155
|
This effect forces the browser to recalculate the layout
|
|
156
156
|
whenever the split panel might have moved.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState, useEffect, useLayoutEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { InternalButton } from '../button/internal';\nimport { getBaseProps, BaseComponentProps } from '../internal/base-component';\nimport { useSplitPanelContext } from '../internal/context/split-panel-context';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\n\nimport { SplitPanelProps, SizeControlProps } from './interfaces';\nimport ResizeHandler from './icons/resize-handler';\nimport PreferencesModal from './preferences-modal';\nimport { useMouseEvents } from './utils/use-mouse-events';\nimport { useKeyboardEvents } from './utils/use-keyboard-events';\n\nimport styles from './styles.css.js';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { AppLayoutContext } from '../internal/context/app-layout-context';\nimport { getLimitedValue } from './utils/size-utils';\nimport { Transition, TransitionStatus } from '../internal/components/transition';\nimport { ButtonProps } from '../button/interfaces';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\n\nexport { SplitPanelProps };\n\nconst MIN_HEIGHT = 160;\nconst MIN_WIDTH = 280;\ninterface TransitionContentProps {\n baseProps: BaseComponentProps;\n isOpen?: boolean;\n splitPanelRef?: React.Ref<any>;\n bottomOffset: number;\n cappedSize: number;\n isRefresh: boolean;\n onToggle: () => void;\n i18nStrings: SplitPanelProps.I18nStrings;\n relativeSize: number;\n onKeyDown: (event: React.KeyboardEvent<Element>) => void;\n onSliderMouseDown: () => void;\n focusVisible: { 'data-awsui-focus-visible': true } | { 'data-awsui-focus-visible'?: undefined };\n paneHeader: JSX.Element;\n wrappedChildren: JSX.Element;\n}\n\ninterface TransitionContentSideProps extends TransitionContentProps {\n topOffset: number;\n toggleRef: React.RefObject<ButtonProps.Ref>;\n}\n\nconst TransitionContentSide = ({\n baseProps,\n isOpen,\n splitPanelRef,\n topOffset,\n bottomOffset,\n cappedSize,\n isRefresh,\n onToggle,\n i18nStrings,\n relativeSize,\n onKeyDown,\n onSliderMouseDown,\n focusVisible,\n toggleRef,\n paneHeader,\n wrappedChildren,\n}: TransitionContentSideProps) => {\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.drawer, styles.root, styles['position-side'], {\n [styles['drawer-closed']]: !isOpen,\n })}\n ref={splitPanelRef}\n >\n <aside\n style={{\n top: topOffset,\n bottom: bottomOffset,\n width: isOpen ? cappedSize : undefined,\n maxWidth: isRefresh ? '100%' : undefined,\n }}\n className={clsx(styles['drawer-content-side'], {\n [styles.refresh]: isRefresh,\n })}\n onClick={() => !isOpen && onToggle()}\n >\n {isOpen ? (\n <div className={styles['slider-wrapper-side']}>\n <div\n role=\"slider\"\n tabIndex={0}\n aria-label={i18nStrings.resizeHandleAriaLabel}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(styles.slider, styles['slider-side'])}\n onKeyDown={onKeyDown}\n onMouseDown={onSliderMouseDown}\n {...focusVisible}\n >\n <ResizeHandler className={clsx(styles['slider-icon'], styles['slider-icon-side'])} />\n </div>\n </div>\n ) : (\n <InternalButton\n className={clsx(styles['open-button'], styles['open-button-side'])}\n iconName=\"angle-left\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={i18nStrings.openButtonAriaLabel}\n ref={isRefresh ? null : toggleRef}\n />\n )}\n <div className={styles['content-side']} aria-hidden={!isOpen}>\n <div className={clsx(styles['pane-header-wrapper-side'])}>{paneHeader}</div>\n <hr className={styles['header-divider']} />\n <div className={clsx(styles['pane-content-wrapper-side'])}>{wrappedChildren}</div>\n </div>\n </aside>\n </div>\n );\n};\n\ninterface TransitionContentBottomProps extends TransitionContentProps {\n isMobile: boolean;\n disableContentPaddings?: boolean;\n state: TransitionStatus;\n leftOffset: number;\n rightOffset: number;\n transitioningElementRef: React.Ref<any>;\n centeredMaxWidthClasses: string;\n splitPanelHeaderRef?: React.Ref<any>;\n appLayoutMaxWidth: React.CSSProperties | undefined;\n}\n\nconst TransitionContentBottom = ({\n baseProps,\n isOpen,\n splitPanelRef,\n bottomOffset,\n cappedSize,\n isRefresh,\n onToggle,\n i18nStrings,\n relativeSize,\n onKeyDown,\n onSliderMouseDown,\n focusVisible,\n paneHeader,\n wrappedChildren,\n isMobile,\n disableContentPaddings,\n state,\n leftOffset,\n rightOffset,\n transitioningElementRef,\n centeredMaxWidthClasses,\n splitPanelHeaderRef,\n appLayoutMaxWidth,\n}: TransitionContentBottomProps) => {\n const transitionContentBottomRef = useMergeRefs(splitPanelRef || null, transitioningElementRef);\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.root, styles.drawer, styles['position-bottom'], {\n [styles['drawer-closed']]: !isOpen,\n [styles['drawer-mobile']]: isMobile,\n [styles['drawer-disable-content-paddings']]: disableContentPaddings,\n [styles.animating]: isRefresh && (state === 'entering' || state === 'exiting'),\n [styles.refresh]: isRefresh,\n })}\n onClick={() => !isOpen && onToggle()}\n style={{\n bottom: bottomOffset,\n left: leftOffset,\n right: rightOffset,\n height: isOpen ? cappedSize : undefined,\n }}\n ref={transitionContentBottomRef}\n >\n {isOpen && (\n <div className={styles['slider-wrapper-bottom']}>\n <div\n role=\"slider\"\n tabIndex={0}\n aria-label={i18nStrings.resizeHandleAriaLabel}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(styles.slider, styles['slider-bottom'])}\n onKeyDown={onKeyDown}\n onMouseDown={onSliderMouseDown}\n {...focusVisible}\n >\n <ResizeHandler className={clsx(styles['slider-icon'], styles['slider-icon-bottom'])} />\n </div>\n </div>\n )}\n <div className={styles['drawer-content-bottom']}>\n <div className={clsx(styles['pane-header-wrapper-bottom'], centeredMaxWidthClasses)} ref={splitPanelHeaderRef}>\n {paneHeader}\n </div>\n <div className={clsx(styles['content-bottom'], centeredMaxWidthClasses)} aria-hidden={!isOpen}>\n <div className={clsx({ [styles['content-bottom-max-width']]: isRefresh })} style={appLayoutMaxWidth}>\n {wrappedChildren}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default function SplitPanel({\n header,\n children,\n hidePreferencesButton = false,\n i18nStrings,\n ...restProps\n}: SplitPanelProps) {\n const { __internalRootRef } = useBaseComponent('SplitPanel');\n const {\n size,\n getMaxWidth,\n getMaxHeight,\n position,\n topOffset,\n bottomOffset,\n leftOffset,\n rightOffset,\n disableContentPaddings,\n contentWidthStyles,\n contentWrapperPaddings,\n isCopy,\n isOpen,\n isMobile,\n isRefresh,\n isForcedPosition,\n splitPanelRef,\n splitPanelHeaderRef,\n lastInteraction,\n onPreferencesChange,\n onResize,\n onToggle,\n reportSize,\n setOpenButtonAriaLabel,\n } = useSplitPanelContext();\n const baseProps = getBaseProps(restProps);\n const focusVisible = useFocusVisible();\n const [isPreferencesOpen, setPreferencesOpen] = useState<boolean>(false);\n const [relativeSize, setRelativeSize] = useState(0);\n const [maxSize, setMaxSize] = useState(size);\n const minSize = position === 'bottom' ? MIN_HEIGHT : MIN_WIDTH;\n const cappedSize = getLimitedValue(minSize, size, maxSize);\n const appLayoutMaxWidth = isRefresh && position === 'bottom' ? contentWidthStyles : undefined;\n\n useEffect(() => {\n setOpenButtonAriaLabel?.(i18nStrings.openButtonAriaLabel);\n }, [setOpenButtonAriaLabel, i18nStrings.openButtonAriaLabel]);\n\n useEffect(() => {\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => {\n const maxSize = position === 'bottom' ? getMaxHeight() : getMaxWidth();\n setRelativeSize((size / maxSize) * 100);\n setMaxSize(maxSize);\n });\n return () => cancelAnimationFrame(handle);\n }, [size, position, getMaxHeight, getMaxWidth]);\n\n useEffect(() => {\n reportSize(cappedSize);\n }, [reportSize, cappedSize]);\n\n useEffect(() => {\n const handler = () => setMaxSize(position === 'bottom' ? getMaxHeight() : getMaxWidth());\n window.addEventListener('resize', handler);\n return () => window.removeEventListener('resize', handler);\n }, [position, getMaxWidth, getMaxHeight]);\n\n const setSidePanelWidth = (width: number) => {\n const maxWidth = getMaxWidth();\n const size = getLimitedValue(MIN_WIDTH, width, maxWidth);\n\n if (isOpen && maxWidth >= MIN_WIDTH) {\n onResize({ size });\n }\n };\n\n const setBottomPanelHeight = (height: number) => {\n const maxHeight = getMaxHeight();\n const size = getLimitedValue(MIN_HEIGHT, height, maxHeight);\n\n if (isOpen && maxHeight >= MIN_HEIGHT) {\n onResize({ size });\n }\n };\n\n const splitPanelRefObject = useRef(null);\n const sizeControlProps: SizeControlProps = {\n position,\n splitPanelRef: splitPanelRefObject,\n setSidePanelWidth,\n setBottomPanelHeight,\n };\n const onSliderMouseDown = useMouseEvents(sizeControlProps);\n const onKeyDown = useKeyboardEvents(sizeControlProps);\n\n const toggleRef = useRef<ButtonProps.Ref>(null);\n const closeRef = useRef<ButtonProps.Ref>(null);\n const preferencesRef = useRef<ButtonProps.Ref>(null);\n\n useEffectOnUpdate(() => {\n switch (lastInteraction?.type) {\n case 'open':\n return closeRef.current?.focus();\n case 'close':\n return toggleRef.current?.focus();\n case 'position':\n return preferencesRef.current?.focus();\n default:\n return;\n }\n }, [lastInteraction]);\n\n const wrappedChildren = (\n <AppLayoutContext.Provider\n value={{\n stickyOffsetTop: topOffset,\n stickyOffsetBottom: bottomOffset,\n }}\n >\n {children}\n </AppLayoutContext.Provider>\n );\n\n const paneHeader = (\n <div className={styles.header} style={appLayoutMaxWidth}>\n <h2 className={styles['header-text']}>{header}</h2>\n <div className={styles['header-actions']}>\n {!hidePreferencesButton && isOpen && (\n <>\n <InternalButton\n className={styles['preferences-button']}\n iconName=\"settings\"\n variant=\"icon\"\n onClick={() => setPreferencesOpen(true)}\n formAction=\"none\"\n ariaLabel={i18nStrings.preferencesTitle}\n ref={preferencesRef}\n />\n <span className={styles.divider} />\n </>\n )}\n\n {isOpen ? (\n <InternalButton\n className={styles['close-button']}\n iconName={isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close'}\n variant=\"icon\"\n onClick={onToggle}\n formAction=\"none\"\n ariaLabel={i18nStrings.closeButtonAriaLabel}\n ref={closeRef}\n />\n ) : position === 'side' ? null : (\n <InternalButton\n className={styles['open-button']}\n iconName=\"angle-up\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={i18nStrings.openButtonAriaLabel}\n ref={toggleRef}\n />\n )}\n </div>\n </div>\n );\n\n /*\n This effect forces the browser to recalculate the layout\n whenever the split panel might have moved.\n\n This is needed as a workaround for a bug in Safari, which does\n not automatically calculate the new position of the split panel\n _content_ when the split panel moves.\n */\n useLayoutEffect(() => {\n const root = __internalRootRef.current;\n\n if (root) {\n const property = 'transform';\n const temporaryValue = 'translateZ(0)';\n\n const valueBefore = root.style[property];\n root.style[property] = temporaryValue;\n\n // This line forces the browser to recalculate the layout\n void root.offsetHeight;\n\n root.style[property] = valueBefore;\n }\n }, [rightOffset, __internalRootRef]);\n\n const mergedRef = useMergeRefs(splitPanelRef, splitPanelRefObject, __internalRootRef);\n\n /**\n * The AppLayout factor moved the circular buttons out of the\n * SplitPanel and into the Tools component. This conditional\n * is still needed for the early return to prevent execution\n * of the following code.\n */\n if (isRefresh && (!isOpen || isCopy) && position === 'side') {\n return <></>;\n }\n\n const centeredMaxWidthClasses = clsx({\n [styles['pane-bottom-center-align']]: isRefresh,\n [styles['pane-bottom-content-nav-padding']]: contentWrapperPaddings?.closedNav,\n [styles['pane-bottom-content-tools-padding']]: contentWrapperPaddings?.closedTools,\n });\n\n return (\n <Transition in={isOpen ?? false}>\n {(state, transitioningElementRef) => (\n <>\n {position === 'side' && (\n <TransitionContentSide\n baseProps={baseProps}\n isOpen={isOpen}\n splitPanelRef={mergedRef}\n topOffset={topOffset}\n bottomOffset={bottomOffset}\n cappedSize={cappedSize}\n isRefresh={isRefresh}\n onToggle={onToggle}\n i18nStrings={i18nStrings}\n relativeSize={relativeSize}\n onKeyDown={onKeyDown}\n onSliderMouseDown={onSliderMouseDown}\n focusVisible={focusVisible}\n toggleRef={toggleRef}\n paneHeader={paneHeader}\n wrappedChildren={wrappedChildren}\n ></TransitionContentSide>\n )}\n\n {position === 'bottom' && (\n <TransitionContentBottom\n baseProps={baseProps}\n isOpen={isOpen}\n splitPanelRef={mergedRef}\n bottomOffset={bottomOffset}\n cappedSize={cappedSize}\n isRefresh={isRefresh}\n onToggle={onToggle}\n i18nStrings={i18nStrings}\n relativeSize={relativeSize}\n onKeyDown={onKeyDown}\n onSliderMouseDown={onSliderMouseDown}\n focusVisible={focusVisible}\n paneHeader={paneHeader}\n wrappedChildren={wrappedChildren}\n isMobile={isMobile}\n disableContentPaddings={disableContentPaddings}\n state={state}\n leftOffset={leftOffset}\n rightOffset={rightOffset}\n transitioningElementRef={transitioningElementRef}\n centeredMaxWidthClasses={centeredMaxWidthClasses}\n splitPanelHeaderRef={splitPanelHeaderRef}\n appLayoutMaxWidth={appLayoutMaxWidth}\n ></TransitionContentBottom>\n )}\n {isPreferencesOpen && (\n <PreferencesModal\n visible={true}\n preferences={{ position }}\n disabledSidePosition={position === 'bottom' && isForcedPosition}\n isRefresh={isRefresh}\n i18nStrings={{\n header: i18nStrings.preferencesTitle,\n confirm: i18nStrings.preferencesConfirm,\n cancel: i18nStrings.preferencesCancel,\n positionLabel: i18nStrings.preferencesPositionLabel,\n positionDescription: i18nStrings.preferencesPositionDescription,\n positionBottom: i18nStrings.preferencesPositionBottom,\n positionSide: i18nStrings.preferencesPositionSide,\n }}\n onConfirm={preferences => {\n onPreferencesChange({ ...preferences });\n setPreferencesOpen(false);\n }}\n onDismiss={() => {\n setPreferencesOpen(false);\n }}\n />\n )}\n </>\n )}\n </Transition>\n );\n}\n\napplyDisplayName(SplitPanel, 'SplitPanel');\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState, useEffect, useLayoutEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { InternalButton } from '../button/internal';\nimport { getBaseProps, BaseComponentProps } from '../internal/base-component';\nimport { useSplitPanelContext } from '../internal/context/split-panel-context';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\n\nimport { SplitPanelProps, SizeControlProps } from './interfaces';\nimport ResizeHandler from './icons/resize-handler';\nimport PreferencesModal from './preferences-modal';\nimport { useMouseEvents } from './utils/use-mouse-events';\nimport { useKeyboardEvents } from './utils/use-keyboard-events';\n\nimport styles from './styles.css.js';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { AppLayoutContext } from '../internal/context/app-layout-context';\nimport { getLimitedValue } from './utils/size-utils';\nimport { Transition, TransitionStatus } from '../internal/components/transition';\nimport { ButtonProps } from '../button/interfaces';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\n\nexport { SplitPanelProps };\n\nconst MIN_HEIGHT = 160;\nconst MIN_WIDTH = 280;\ninterface TransitionContentProps {\n baseProps: BaseComponentProps;\n isOpen?: boolean;\n splitPanelRef?: React.Ref<any>;\n bottomOffset: number;\n cappedSize: number;\n isRefresh: boolean;\n onToggle: () => void;\n i18nStrings: SplitPanelProps.I18nStrings;\n relativeSize: number;\n onKeyDown: (event: React.KeyboardEvent<Element>) => void;\n onSliderMouseDown: () => void;\n focusVisible: { 'data-awsui-focus-visible': true } | { 'data-awsui-focus-visible'?: undefined };\n paneHeader: JSX.Element;\n wrappedChildren: JSX.Element;\n}\n\ninterface TransitionContentSideProps extends TransitionContentProps {\n topOffset: number;\n toggleRef: React.RefObject<ButtonProps.Ref>;\n}\n\nconst TransitionContentSide = ({\n baseProps,\n isOpen,\n splitPanelRef,\n topOffset,\n bottomOffset,\n cappedSize,\n isRefresh,\n onToggle,\n i18nStrings,\n relativeSize,\n onKeyDown,\n onSliderMouseDown,\n focusVisible,\n toggleRef,\n paneHeader,\n wrappedChildren,\n}: TransitionContentSideProps) => {\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.drawer, styles.root, styles['position-side'], {\n [styles['drawer-closed']]: !isOpen,\n })}\n ref={splitPanelRef}\n >\n <aside\n style={{\n top: topOffset,\n bottom: bottomOffset,\n width: isOpen ? cappedSize : undefined,\n maxWidth: isRefresh ? '100%' : undefined,\n }}\n className={clsx(styles['drawer-content-side'], {\n [styles.refresh]: isRefresh,\n })}\n onClick={() => !isOpen && onToggle()}\n >\n {isOpen ? (\n <div className={styles['slider-wrapper-side']}>\n <div\n role=\"slider\"\n tabIndex={0}\n aria-label={i18nStrings.resizeHandleAriaLabel}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(styles.slider, styles['slider-side'])}\n onKeyDown={onKeyDown}\n onMouseDown={onSliderMouseDown}\n {...focusVisible}\n >\n <ResizeHandler className={clsx(styles['slider-icon'], styles['slider-icon-side'])} />\n </div>\n </div>\n ) : (\n <InternalButton\n className={clsx(styles['open-button'], styles['open-button-side'])}\n iconName=\"angle-left\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={i18nStrings.openButtonAriaLabel}\n ariaExpanded={isOpen}\n ref={isRefresh ? null : toggleRef}\n />\n )}\n <div className={styles['content-side']} aria-hidden={!isOpen}>\n <div className={clsx(styles['pane-header-wrapper-side'])}>{paneHeader}</div>\n <hr className={styles['header-divider']} />\n <div className={clsx(styles['pane-content-wrapper-side'])}>{wrappedChildren}</div>\n </div>\n </aside>\n </div>\n );\n};\n\ninterface TransitionContentBottomProps extends TransitionContentProps {\n isMobile: boolean;\n disableContentPaddings?: boolean;\n state: TransitionStatus;\n leftOffset: number;\n rightOffset: number;\n transitioningElementRef: React.Ref<any>;\n centeredMaxWidthClasses: string;\n splitPanelHeaderRef?: React.Ref<any>;\n appLayoutMaxWidth: React.CSSProperties | undefined;\n}\n\nconst TransitionContentBottom = ({\n baseProps,\n isOpen,\n splitPanelRef,\n bottomOffset,\n cappedSize,\n isRefresh,\n onToggle,\n i18nStrings,\n relativeSize,\n onKeyDown,\n onSliderMouseDown,\n focusVisible,\n paneHeader,\n wrappedChildren,\n isMobile,\n disableContentPaddings,\n state,\n leftOffset,\n rightOffset,\n transitioningElementRef,\n centeredMaxWidthClasses,\n splitPanelHeaderRef,\n appLayoutMaxWidth,\n}: TransitionContentBottomProps) => {\n const transitionContentBottomRef = useMergeRefs(splitPanelRef || null, transitioningElementRef);\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.root, styles.drawer, styles['position-bottom'], {\n [styles['drawer-closed']]: !isOpen,\n [styles['drawer-mobile']]: isMobile,\n [styles['drawer-disable-content-paddings']]: disableContentPaddings,\n [styles.animating]: isRefresh && (state === 'entering' || state === 'exiting'),\n [styles.refresh]: isRefresh,\n })}\n onClick={() => !isOpen && onToggle()}\n style={{\n bottom: bottomOffset,\n left: leftOffset,\n right: rightOffset,\n height: isOpen ? cappedSize : undefined,\n }}\n ref={transitionContentBottomRef}\n >\n {isOpen && (\n <div className={styles['slider-wrapper-bottom']}>\n <div\n role=\"slider\"\n tabIndex={0}\n aria-label={i18nStrings.resizeHandleAriaLabel}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(styles.slider, styles['slider-bottom'])}\n onKeyDown={onKeyDown}\n onMouseDown={onSliderMouseDown}\n {...focusVisible}\n >\n <ResizeHandler className={clsx(styles['slider-icon'], styles['slider-icon-bottom'])} />\n </div>\n </div>\n )}\n <div className={styles['drawer-content-bottom']}>\n <div className={clsx(styles['pane-header-wrapper-bottom'], centeredMaxWidthClasses)} ref={splitPanelHeaderRef}>\n {paneHeader}\n </div>\n <div className={clsx(styles['content-bottom'], centeredMaxWidthClasses)} aria-hidden={!isOpen}>\n <div className={clsx({ [styles['content-bottom-max-width']]: isRefresh })} style={appLayoutMaxWidth}>\n {wrappedChildren}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default function SplitPanel({\n header,\n children,\n hidePreferencesButton = false,\n i18nStrings,\n ...restProps\n}: SplitPanelProps) {\n const { __internalRootRef } = useBaseComponent('SplitPanel');\n const {\n size,\n getMaxWidth,\n getMaxHeight,\n position,\n topOffset,\n bottomOffset,\n leftOffset,\n rightOffset,\n disableContentPaddings,\n contentWidthStyles,\n contentWrapperPaddings,\n isCopy,\n isOpen,\n isMobile,\n isRefresh,\n isForcedPosition,\n splitPanelRef,\n splitPanelHeaderRef,\n lastInteraction,\n onPreferencesChange,\n onResize,\n onToggle,\n reportSize,\n setOpenButtonAriaLabel,\n } = useSplitPanelContext();\n const baseProps = getBaseProps(restProps);\n const focusVisible = useFocusVisible();\n const [isPreferencesOpen, setPreferencesOpen] = useState<boolean>(false);\n const [relativeSize, setRelativeSize] = useState(0);\n const [maxSize, setMaxSize] = useState(size);\n const minSize = position === 'bottom' ? MIN_HEIGHT : MIN_WIDTH;\n const cappedSize = getLimitedValue(minSize, size, maxSize);\n const appLayoutMaxWidth = isRefresh && position === 'bottom' ? contentWidthStyles : undefined;\n\n useEffect(() => {\n setOpenButtonAriaLabel?.(i18nStrings.openButtonAriaLabel);\n }, [setOpenButtonAriaLabel, i18nStrings.openButtonAriaLabel]);\n\n useEffect(() => {\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => {\n const maxSize = position === 'bottom' ? getMaxHeight() : getMaxWidth();\n setRelativeSize((size / maxSize) * 100);\n setMaxSize(maxSize);\n });\n return () => cancelAnimationFrame(handle);\n }, [size, position, getMaxHeight, getMaxWidth]);\n\n useEffect(() => {\n reportSize(cappedSize);\n }, [reportSize, cappedSize]);\n\n useEffect(() => {\n const handler = () => setMaxSize(position === 'bottom' ? getMaxHeight() : getMaxWidth());\n window.addEventListener('resize', handler);\n return () => window.removeEventListener('resize', handler);\n }, [position, getMaxWidth, getMaxHeight]);\n\n const setSidePanelWidth = (width: number) => {\n const maxWidth = getMaxWidth();\n const size = getLimitedValue(MIN_WIDTH, width, maxWidth);\n\n if (isOpen && maxWidth >= MIN_WIDTH) {\n onResize({ size });\n }\n };\n\n const setBottomPanelHeight = (height: number) => {\n const maxHeight = getMaxHeight();\n const size = getLimitedValue(MIN_HEIGHT, height, maxHeight);\n\n if (isOpen && maxHeight >= MIN_HEIGHT) {\n onResize({ size });\n }\n };\n\n const splitPanelRefObject = useRef(null);\n const sizeControlProps: SizeControlProps = {\n position,\n splitPanelRef: splitPanelRefObject,\n setSidePanelWidth,\n setBottomPanelHeight,\n };\n const onSliderMouseDown = useMouseEvents(sizeControlProps);\n const onKeyDown = useKeyboardEvents(sizeControlProps);\n\n const toggleRef = useRef<ButtonProps.Ref>(null);\n const closeRef = useRef<ButtonProps.Ref>(null);\n const preferencesRef = useRef<ButtonProps.Ref>(null);\n\n useEffectOnUpdate(() => {\n switch (lastInteraction?.type) {\n case 'open':\n return closeRef.current?.focus();\n case 'close':\n return toggleRef.current?.focus();\n case 'position':\n return preferencesRef.current?.focus();\n default:\n return;\n }\n }, [lastInteraction]);\n\n const wrappedChildren = (\n <AppLayoutContext.Provider\n value={{\n stickyOffsetTop: topOffset,\n stickyOffsetBottom: bottomOffset,\n }}\n >\n {children}\n </AppLayoutContext.Provider>\n );\n\n const paneHeader = (\n <div className={styles.header} style={appLayoutMaxWidth}>\n <h2 className={styles['header-text']}>{header}</h2>\n <div className={styles['header-actions']}>\n {!hidePreferencesButton && isOpen && (\n <>\n <InternalButton\n className={styles['preferences-button']}\n iconName=\"settings\"\n variant=\"icon\"\n onClick={() => setPreferencesOpen(true)}\n formAction=\"none\"\n ariaLabel={i18nStrings.preferencesTitle}\n ref={preferencesRef}\n />\n <span className={styles.divider} />\n </>\n )}\n\n {isOpen ? (\n <InternalButton\n className={styles['close-button']}\n iconName={isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close'}\n variant=\"icon\"\n onClick={onToggle}\n formAction=\"none\"\n ariaLabel={i18nStrings.closeButtonAriaLabel}\n ref={closeRef}\n ariaExpanded={isOpen}\n />\n ) : position === 'side' ? null : (\n <InternalButton\n className={styles['open-button']}\n iconName=\"angle-up\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={i18nStrings.openButtonAriaLabel}\n ref={toggleRef}\n ariaExpanded={isOpen}\n />\n )}\n </div>\n </div>\n );\n\n /*\n This effect forces the browser to recalculate the layout\n whenever the split panel might have moved.\n\n This is needed as a workaround for a bug in Safari, which does\n not automatically calculate the new position of the split panel\n _content_ when the split panel moves.\n */\n useLayoutEffect(() => {\n const root = __internalRootRef.current;\n\n if (root) {\n const property = 'transform';\n const temporaryValue = 'translateZ(0)';\n\n const valueBefore = root.style[property];\n root.style[property] = temporaryValue;\n\n // This line forces the browser to recalculate the layout\n void root.offsetHeight;\n\n root.style[property] = valueBefore;\n }\n }, [rightOffset, __internalRootRef]);\n\n const mergedRef = useMergeRefs(splitPanelRef, splitPanelRefObject, __internalRootRef);\n\n /**\n * The AppLayout factor moved the circular buttons out of the\n * SplitPanel and into the Tools component. This conditional\n * is still needed for the early return to prevent execution\n * of the following code.\n */\n if (isRefresh && (!isOpen || isCopy) && position === 'side') {\n return <></>;\n }\n\n const centeredMaxWidthClasses = clsx({\n [styles['pane-bottom-center-align']]: isRefresh,\n [styles['pane-bottom-content-nav-padding']]: contentWrapperPaddings?.closedNav,\n [styles['pane-bottom-content-tools-padding']]: contentWrapperPaddings?.closedTools,\n });\n\n return (\n <Transition in={isOpen ?? false}>\n {(state, transitioningElementRef) => (\n <>\n {position === 'side' && (\n <TransitionContentSide\n baseProps={baseProps}\n isOpen={isOpen}\n splitPanelRef={mergedRef}\n topOffset={topOffset}\n bottomOffset={bottomOffset}\n cappedSize={cappedSize}\n isRefresh={isRefresh}\n onToggle={onToggle}\n i18nStrings={i18nStrings}\n relativeSize={relativeSize}\n onKeyDown={onKeyDown}\n onSliderMouseDown={onSliderMouseDown}\n focusVisible={focusVisible}\n toggleRef={toggleRef}\n paneHeader={paneHeader}\n wrappedChildren={wrappedChildren}\n ></TransitionContentSide>\n )}\n\n {position === 'bottom' && (\n <TransitionContentBottom\n baseProps={baseProps}\n isOpen={isOpen}\n splitPanelRef={mergedRef}\n bottomOffset={bottomOffset}\n cappedSize={cappedSize}\n isRefresh={isRefresh}\n onToggle={onToggle}\n i18nStrings={i18nStrings}\n relativeSize={relativeSize}\n onKeyDown={onKeyDown}\n onSliderMouseDown={onSliderMouseDown}\n focusVisible={focusVisible}\n paneHeader={paneHeader}\n wrappedChildren={wrappedChildren}\n isMobile={isMobile}\n disableContentPaddings={disableContentPaddings}\n state={state}\n leftOffset={leftOffset}\n rightOffset={rightOffset}\n transitioningElementRef={transitioningElementRef}\n centeredMaxWidthClasses={centeredMaxWidthClasses}\n splitPanelHeaderRef={splitPanelHeaderRef}\n appLayoutMaxWidth={appLayoutMaxWidth}\n ></TransitionContentBottom>\n )}\n {isPreferencesOpen && (\n <PreferencesModal\n visible={true}\n preferences={{ position }}\n disabledSidePosition={position === 'bottom' && isForcedPosition}\n isRefresh={isRefresh}\n i18nStrings={{\n header: i18nStrings.preferencesTitle,\n confirm: i18nStrings.preferencesConfirm,\n cancel: i18nStrings.preferencesCancel,\n positionLabel: i18nStrings.preferencesPositionLabel,\n positionDescription: i18nStrings.preferencesPositionDescription,\n positionBottom: i18nStrings.preferencesPositionBottom,\n positionSide: i18nStrings.preferencesPositionSide,\n }}\n onConfirm={preferences => {\n onPreferencesChange({ ...preferences });\n setPreferencesOpen(false);\n }}\n onDismiss={() => {\n setPreferencesOpen(false);\n }}\n />\n )}\n </>\n )}\n </Transition>\n );\n}\n\napplyDisplayName(SplitPanel, 'SplitPanel');\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/toggle/internal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,QAAA,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/toggle/internal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,QAAA,MAAM,cAAc,kHAiEnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -17,7 +17,9 @@ var InternalToggle = React.forwardRef(function (_a, ref) {
|
|
|
17
17
|
return (React.createElement(AbstractSwitch, __assign({}, baseProps, { className: clsx(styles.root, baseProps.className), controlClassName: clsx(styles['toggle-control'], (_b = {},
|
|
18
18
|
_b[styles['toggle-control-checked']] = checked,
|
|
19
19
|
_b[styles['toggle-control-disabled']] = disabled,
|
|
20
|
-
_b)), controlId: controlId, disabled: disabled, label: children, description: description, descriptionBottomPadding: true, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, ariaDescribedby: ariaDescribedby, nativeControl: function (nativeControlProps) { return (React.createElement("input", __assign({}, nativeControlProps, { ref: checkboxRef, className: styles.input, type: "checkbox", checked: checked, name: name, onFocus: onFocus && (function () { return fireNonCancelableEvent(onFocus); }), onBlur: onBlur && (function () { return fireNonCancelableEvent(onBlur); }), onChange: onChange && (function (event) { return fireNonCancelableEvent(onChange, { checked: event.target.checked }); }) }))); }, styledControl:
|
|
20
|
+
_b)), controlId: controlId, disabled: disabled, label: children, description: description, descriptionBottomPadding: true, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, ariaDescribedby: ariaDescribedby, nativeControl: function (nativeControlProps) { return (React.createElement("input", __assign({}, nativeControlProps, { ref: checkboxRef, className: styles.input, type: "checkbox", checked: checked, name: name, onFocus: onFocus && (function () { return fireNonCancelableEvent(onFocus); }), onBlur: onBlur && (function () { return fireNonCancelableEvent(onBlur); }), onChange: onChange && (function (event) { return fireNonCancelableEvent(onChange, { checked: event.target.checked }); }) }))); }, styledControl:
|
|
21
|
+
/*Using span, not div for HTML validity*/
|
|
22
|
+
React.createElement("span", { className: clsx(styles['toggle-handle'], (_c = {},
|
|
21
23
|
_c[styles['toggle-handle-checked']] = checked,
|
|
22
24
|
_c[styles['toggle-handle-disabled']] = disabled,
|
|
23
25
|
_c)) }), __internalRootRef: __internalRootRef })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/toggle/internal.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAMrC,IAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,UACE,EAeC,EACD,GAAG;;IAfD,IAAA,SAAS,eAAA,EACT,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,OAAO,aAAA,EACP,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,yBAAwB,EAAxB,iBAAiB,mBAAG,IAAI,KAAA,EACrB,IAAI,cAdT,+KAeC,CADQ;IAIT,IAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,IAAM,WAAW,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACnD,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAClC,OAAO,CACL,oBAAC,cAAc,eACT,SAAS,IACb,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,EACjD,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC7C,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAG,OAAO;YAC3C,GAAC,MAAM,CAAC,yBAAyB,CAAC,IAAG,QAAQ;gBAC7C,EACF,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,WAAW,EACxB,wBAAwB,EAAE,IAAI,EAC9B,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,UAAA,kBAAkB,IAAI,OAAA,CACnC,0CACM,kBAAkB,IACtB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,IAAI,CAAC,cAAM,OAAA,sBAAsB,CAAC,OAAO,CAAC,EAA/B,CAA+B,CAAC,EAC3D,MAAM,EAAE,MAAM,IAAI,CAAC,cAAM,OAAA,sBAAsB,CAAC,MAAM,CAAC,EAA9B,CAA8B,CAAC,EACxD,QAAQ,EAAE,QAAQ,IAAI,CAAC,UAAA,KAAK,IAAI,OAAA,sBAAsB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAnE,CAAmE,CAAC,IACpG,CACH,EAZoC,CAYpC,EACD,aAAa,
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/toggle/internal.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAMrC,IAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,UACE,EAeC,EACD,GAAG;;IAfD,IAAA,SAAS,eAAA,EACT,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,OAAO,aAAA,EACP,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,yBAAwB,EAAxB,iBAAiB,mBAAG,IAAI,KAAA,EACrB,IAAI,cAdT,+KAeC,CADQ;IAIT,IAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,IAAM,WAAW,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACnD,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAClC,OAAO,CACL,oBAAC,cAAc,eACT,SAAS,IACb,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,EACjD,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC7C,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAG,OAAO;YAC3C,GAAC,MAAM,CAAC,yBAAyB,CAAC,IAAG,QAAQ;gBAC7C,EACF,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,WAAW,EACxB,wBAAwB,EAAE,IAAI,EAC9B,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,UAAA,kBAAkB,IAAI,OAAA,CACnC,0CACM,kBAAkB,IACtB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,IAAI,CAAC,cAAM,OAAA,sBAAsB,CAAC,OAAO,CAAC,EAA/B,CAA+B,CAAC,EAC3D,MAAM,EAAE,MAAM,IAAI,CAAC,cAAM,OAAA,sBAAsB,CAAC,MAAM,CAAC,EAA9B,CAA8B,CAAC,EACxD,QAAQ,EAAE,QAAQ,IAAI,CAAC,UAAA,KAAK,IAAI,OAAA,sBAAsB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAnE,CAAmE,CAAC,IACpG,CACH,EAZoC,CAYpC,EACD,aAAa;QACX,yCAAyC;QACzC,8BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;gBACrC,GAAC,MAAM,CAAC,uBAAuB,CAAC,IAAG,OAAO;gBAC1C,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAG,QAAQ;oBAC5C,GACF,EAEJ,iBAAiB,EAAE,iBAAiB,IACpC,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef } from 'react';\nimport AbstractSwitch from '../internal/components/abstract-switch';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { getBaseProps } from '../internal/base-component';\nimport styles from './styles.css.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { ToggleProps } from './interfaces';\n\ntype InternalToggleProps = ToggleProps & InternalBaseComponentProps;\n\nconst InternalToggle = React.forwardRef<ToggleProps.Ref, InternalToggleProps>(\n (\n {\n controlId,\n checked,\n name,\n disabled,\n children,\n description,\n ariaLabel,\n ariaDescribedby,\n ariaLabelledby,\n onFocus,\n onBlur,\n onChange,\n __internalRootRef = null,\n ...rest\n },\n ref\n ) => {\n const baseProps = getBaseProps(rest);\n const checkboxRef = useRef<HTMLInputElement>(null);\n useForwardFocus(ref, checkboxRef);\n return (\n <AbstractSwitch\n {...baseProps}\n className={clsx(styles.root, baseProps.className)}\n controlClassName={clsx(styles['toggle-control'], {\n [styles['toggle-control-checked']]: checked,\n [styles['toggle-control-disabled']]: disabled,\n })}\n controlId={controlId}\n disabled={disabled}\n label={children}\n description={description}\n descriptionBottomPadding={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n ariaDescribedby={ariaDescribedby}\n nativeControl={nativeControlProps => (\n <input\n {...nativeControlProps}\n ref={checkboxRef}\n className={styles.input}\n type=\"checkbox\"\n checked={checked}\n name={name}\n onFocus={onFocus && (() => fireNonCancelableEvent(onFocus))}\n onBlur={onBlur && (() => fireNonCancelableEvent(onBlur))}\n onChange={onChange && (event => fireNonCancelableEvent(onChange, { checked: event.target.checked }))}\n />\n )}\n styledControl={\n /*Using span, not div for HTML validity*/\n <span\n className={clsx(styles['toggle-handle'], {\n [styles['toggle-handle-checked']]: checked,\n [styles['toggle-handle-disabled']]: disabled,\n })}\n />\n }\n __internalRootRef={__internalRootRef}\n />\n );\n }\n);\n\nexport default InternalToggle;\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"input": "
|
|
6
|
-
"toggle-control": "awsui_toggle-
|
|
7
|
-
"toggle-control-checked": "awsui_toggle-control-
|
|
8
|
-
"toggle-control-disabled": "awsui_toggle-control-
|
|
9
|
-
"toggle-handle": "awsui_toggle-
|
|
10
|
-
"toggle-handle-checked": "awsui_toggle-handle-
|
|
11
|
-
"toggle-handle-disabled": "awsui_toggle-handle-
|
|
4
|
+
"root": "awsui_root_4yi2u_1avv0_93",
|
|
5
|
+
"input": "awsui_input_4yi2u_1avv0_105",
|
|
6
|
+
"toggle-control": "awsui_toggle-control_4yi2u_1avv0_127",
|
|
7
|
+
"toggle-control-checked": "awsui_toggle-control-checked_4yi2u_1avv0_136",
|
|
8
|
+
"toggle-control-disabled": "awsui_toggle-control-disabled_4yi2u_1avv0_139",
|
|
9
|
+
"toggle-handle": "awsui_toggle-handle_4yi2u_1avv0_146",
|
|
10
|
+
"toggle-handle-checked": "awsui_toggle-handle-checked_4yi2u_1avv0_158",
|
|
11
|
+
"toggle-handle-disabled": "awsui_toggle-handle-disabled_4yi2u_1avv0_161"
|
|
12
12
|
};
|
|
13
13
|
|
|
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
90
90
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
91
91
|
SPDX-License-Identifier: Apache-2.0
|
|
92
92
|
*/
|
|
93
|
-
.
|
|
93
|
+
.awsui_root_4yi2u_1avv0_93:not(#\9) {
|
|
94
94
|
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
95
95
|
border-collapse: separate;
|
|
96
96
|
border-spacing: 0;
|
|
@@ -128,17 +128,17 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
128
128
|
display: flex;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
.
|
|
131
|
+
.awsui_input_4yi2u_1avv0_105[data-awsui-focus-visible=true]:not(#\9):focus {
|
|
132
132
|
/* stylelint-disable-next-line selector-max-type, @cloudscape-design/no-implicit-descendant */
|
|
133
133
|
}
|
|
134
|
-
.
|
|
134
|
+
.awsui_input_4yi2u_1avv0_105[data-awsui-focus-visible=true]:not(#\9):focus + span {
|
|
135
135
|
position: relative;
|
|
136
136
|
}
|
|
137
|
-
.
|
|
137
|
+
.awsui_input_4yi2u_1avv0_105[data-awsui-focus-visible=true]:not(#\9):focus + span {
|
|
138
138
|
outline: 2px dotted transparent;
|
|
139
139
|
outline-offset: calc(2px - 1px);
|
|
140
140
|
}
|
|
141
|
-
.
|
|
141
|
+
.awsui_input_4yi2u_1avv0_105[data-awsui-focus-visible=true]:not(#\9):focus + span::before {
|
|
142
142
|
content: " ";
|
|
143
143
|
display: block;
|
|
144
144
|
position: absolute;
|
|
@@ -150,7 +150,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
150
150
|
box-shadow: 0 0 0 2px var(--color-border-item-focused-n5kd8g, #0073bb);
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
.awsui_toggle-
|
|
153
|
+
.awsui_toggle-control_4yi2u_1avv0_127:not(#\9) {
|
|
154
154
|
margin-top: calc((var(--font-body-m-line-height-i7xxvv, 22px) - 16px) / 2);
|
|
155
155
|
min-height: 16px;
|
|
156
156
|
min-width: 24px;
|
|
@@ -159,17 +159,18 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
159
159
|
background: var(--color-background-toggle-default-0jqm1q, #545b64);
|
|
160
160
|
border-radius: 8px;
|
|
161
161
|
}
|
|
162
|
-
.awsui_toggle-control-
|
|
162
|
+
.awsui_toggle-control-checked_4yi2u_1avv0_136:not(#\9) {
|
|
163
163
|
background: var(--color-background-control-checked-dyuc53, #0073bb);
|
|
164
164
|
}
|
|
165
|
-
.awsui_toggle-control-
|
|
165
|
+
.awsui_toggle-control-disabled_4yi2u_1avv0_139:not(#\9) {
|
|
166
166
|
background: var(--color-background-control-disabled-0y91m8, #d5dbdb);
|
|
167
167
|
}
|
|
168
|
-
.awsui_toggle-control-
|
|
168
|
+
.awsui_toggle-control-disabled_4yi2u_1avv0_139.awsui_toggle-control-checked_4yi2u_1avv0_136:not(#\9) {
|
|
169
169
|
background: var(--color-background-toggle-checked-disabled-8l29jd, #99cbe4);
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
.awsui_toggle-
|
|
172
|
+
.awsui_toggle-handle_4yi2u_1avv0_146:not(#\9) {
|
|
173
|
+
display: block;
|
|
173
174
|
position: absolute;
|
|
174
175
|
border-radius: 6px;
|
|
175
176
|
background: var(--color-foreground-control-default-i2wjwi, #ffffff);
|
|
@@ -180,20 +181,20 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
180
181
|
left: 2px;
|
|
181
182
|
transition: transform var(--motion-duration-fast-nk2ap0, 90ms) var(--motion-easing-ease-out-quart-z687ml, cubic-bezier(0.165, 0.84, 0.44, 1)), background-color var(--motion-duration-fast-nk2ap0, 90ms) var(--motion-easing-ease-out-quart-z687ml, cubic-bezier(0.165, 0.84, 0.44, 1));
|
|
182
183
|
}
|
|
183
|
-
.awsui_toggle-handle-
|
|
184
|
+
.awsui_toggle-handle-checked_4yi2u_1avv0_158:not(#\9) {
|
|
184
185
|
transform: translateX(8px);
|
|
185
186
|
}
|
|
186
|
-
.awsui_toggle-handle-
|
|
187
|
+
.awsui_toggle-handle-disabled_4yi2u_1avv0_161:not(#\9) {
|
|
187
188
|
background: var(--color-foreground-control-disabled-84rf4t, #ffffff);
|
|
188
189
|
box-shadow: none;
|
|
189
190
|
}
|
|
190
191
|
@media (prefers-reduced-motion: reduce) {
|
|
191
|
-
.awsui_toggle-
|
|
192
|
+
.awsui_toggle-handle_4yi2u_1avv0_146:not(#\9) {
|
|
192
193
|
animation: none;
|
|
193
194
|
transition: none;
|
|
194
195
|
}
|
|
195
196
|
}
|
|
196
|
-
.awsui-motion-disabled .awsui_toggle-
|
|
197
|
+
.awsui-motion-disabled .awsui_toggle-handle_4yi2u_1avv0_146:not(#\9), .awsui-mode-entering .awsui_toggle-handle_4yi2u_1avv0_146:not(#\9) {
|
|
197
198
|
animation: none;
|
|
198
199
|
transition: none;
|
|
199
200
|
}
|