@cloudscape-design/components 3.0.297 → 3.0.298
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/alert/interfaces.d.ts +1 -0
- package/alert/interfaces.d.ts.map +1 -1
- package/alert/interfaces.js.map +1 -1
- package/annotation-context/annotation/styles.css.js +24 -24
- package/annotation-context/annotation/styles.scoped.css +30 -30
- package/annotation-context/annotation/styles.selectors.js +24 -24
- package/app-layout/interfaces.d.ts +1 -0
- package/app-layout/interfaces.d.ts.map +1 -1
- package/app-layout/interfaces.js.map +1 -1
- package/app-layout/notifications/styles.css.js +3 -3
- package/app-layout/notifications/styles.scoped.css +7 -7
- package/app-layout/notifications/styles.selectors.js +3 -3
- package/app-layout/visual-refresh/background.d.ts +1 -5
- package/app-layout/visual-refresh/background.d.ts.map +1 -1
- package/app-layout/visual-refresh/background.js +8 -13
- package/app-layout/visual-refresh/background.js.map +1 -1
- package/app-layout/visual-refresh/breadcrumbs.d.ts +3 -0
- package/app-layout/visual-refresh/breadcrumbs.d.ts.map +1 -0
- package/app-layout/visual-refresh/breadcrumbs.js +17 -0
- package/app-layout/visual-refresh/breadcrumbs.js.map +1 -0
- package/app-layout/visual-refresh/context.js +3 -3
- package/app-layout/visual-refresh/context.js.map +1 -1
- package/app-layout/visual-refresh/header.d.ts +0 -4
- package/app-layout/visual-refresh/header.d.ts.map +1 -1
- package/app-layout/visual-refresh/header.js +0 -4
- package/app-layout/visual-refresh/header.js.map +1 -1
- package/app-layout/visual-refresh/index.d.ts +0 -8
- package/app-layout/visual-refresh/index.d.ts.map +1 -1
- package/app-layout/visual-refresh/index.js +4 -13
- package/app-layout/visual-refresh/index.js.map +1 -1
- package/app-layout/visual-refresh/layout.d.ts.map +1 -1
- package/app-layout/visual-refresh/layout.js +31 -19
- package/app-layout/visual-refresh/layout.js.map +1 -1
- package/app-layout/visual-refresh/main.d.ts.map +1 -1
- package/app-layout/visual-refresh/main.js +2 -6
- package/app-layout/visual-refresh/main.js.map +1 -1
- package/app-layout/visual-refresh/mobile-toolbar.d.ts +3 -0
- package/app-layout/visual-refresh/mobile-toolbar.d.ts.map +1 -0
- package/app-layout/visual-refresh/{app-bar.js → mobile-toolbar.js} +9 -18
- package/app-layout/visual-refresh/mobile-toolbar.js.map +1 -0
- package/app-layout/visual-refresh/navigation.js +1 -1
- package/app-layout/visual-refresh/navigation.js.map +1 -1
- package/app-layout/visual-refresh/notifications.d.ts +0 -4
- package/app-layout/visual-refresh/notifications.d.ts.map +1 -1
- package/app-layout/visual-refresh/notifications.js +4 -9
- package/app-layout/visual-refresh/notifications.js.map +1 -1
- package/app-layout/visual-refresh/split-panel.js +1 -1
- package/app-layout/visual-refresh/split-panel.js.map +1 -1
- package/app-layout/visual-refresh/styles.css.js +68 -72
- package/app-layout/visual-refresh/styles.scoped.css +400 -576
- package/app-layout/visual-refresh/styles.selectors.js +68 -72
- package/attribute-editor/interfaces.d.ts +2 -1
- package/attribute-editor/interfaces.d.ts.map +1 -1
- package/attribute-editor/interfaces.js.map +1 -1
- package/attribute-editor/row.d.ts +1 -1
- package/attribute-editor/row.d.ts.map +1 -1
- package/attribute-editor/row.js +3 -1
- package/attribute-editor/row.js.map +1 -1
- package/autosuggest/autosuggest-option.d.ts +1 -1
- package/autosuggest/autosuggest-option.d.ts.map +1 -1
- package/autosuggest/autosuggest-option.js +3 -1
- package/autosuggest/autosuggest-option.js.map +1 -1
- package/autosuggest/interfaces.d.ts +3 -1
- package/autosuggest/interfaces.d.ts.map +1 -1
- package/autosuggest/interfaces.js.map +1 -1
- package/autosuggest/internal.d.ts.map +1 -1
- package/autosuggest/internal.js +4 -0
- package/autosuggest/internal.js.map +1 -1
- package/autosuggest/plain-list.d.ts +1 -1
- package/autosuggest/plain-list.d.ts.map +1 -1
- package/autosuggest/plain-list.js.map +1 -1
- package/breadcrumb-group/interfaces.d.ts +1 -0
- package/breadcrumb-group/interfaces.d.ts.map +1 -1
- package/breadcrumb-group/interfaces.js.map +1 -1
- package/calendar/interfaces.d.ts +3 -0
- package/calendar/interfaces.d.ts.map +1 -1
- package/calendar/interfaces.js.map +1 -1
- package/cards/interfaces.d.ts +1 -0
- package/cards/interfaces.d.ts.map +1 -1
- package/cards/interfaces.js.map +1 -1
- package/cards/styles.css.js +37 -37
- package/cards/styles.scoped.css +53 -53
- package/cards/styles.selectors.js +37 -37
- package/code-editor/interfaces.d.ts +1 -0
- package/code-editor/interfaces.d.ts.map +1 -1
- package/code-editor/interfaces.js.map +1 -1
- package/collection-preferences/content-display/index.d.ts.map +1 -1
- package/collection-preferences/content-display/index.js +14 -9
- package/collection-preferences/content-display/index.js.map +1 -1
- package/collection-preferences/index.d.ts.map +1 -1
- package/collection-preferences/index.js +6 -4
- package/collection-preferences/index.js.map +1 -1
- package/collection-preferences/interfaces.d.ts +21 -12
- package/collection-preferences/interfaces.d.ts.map +1 -1
- package/collection-preferences/interfaces.js.map +1 -1
- package/collection-preferences/utils.d.ts +1 -1
- package/collection-preferences/utils.d.ts.map +1 -1
- package/collection-preferences/utils.js +19 -6
- package/collection-preferences/utils.js.map +1 -1
- package/content-layout/internal.d.ts.map +1 -1
- package/content-layout/internal.js +1 -3
- package/content-layout/internal.js.map +1 -1
- package/content-layout/styles.css.js +6 -7
- package/content-layout/styles.scoped.css +9 -19
- package/content-layout/styles.selectors.js +6 -7
- package/date-range-picker/calendar/grids/grid.d.ts +1 -1
- package/date-range-picker/calendar/grids/grid.d.ts.map +1 -1
- package/date-range-picker/calendar/grids/grid.js.map +1 -1
- package/date-range-picker/calendar/grids/index.d.ts +1 -1
- package/date-range-picker/calendar/grids/index.d.ts.map +1 -1
- package/date-range-picker/calendar/grids/index.js.map +1 -1
- package/date-range-picker/calendar/header/header-button.d.ts +1 -1
- package/date-range-picker/calendar/header/header-button.d.ts.map +1 -1
- package/date-range-picker/calendar/header/header-button.js.map +1 -1
- package/date-range-picker/calendar/header/index.d.ts +2 -2
- package/date-range-picker/calendar/header/index.d.ts.map +1 -1
- package/date-range-picker/calendar/header/index.js.map +1 -1
- package/date-range-picker/calendar/index.d.ts +1 -1
- package/date-range-picker/calendar/index.d.ts.map +1 -1
- package/date-range-picker/calendar/index.js +11 -8
- package/date-range-picker/calendar/index.js.map +1 -1
- package/date-range-picker/calendar/range-inputs.d.ts +1 -1
- package/date-range-picker/calendar/range-inputs.d.ts.map +1 -1
- package/date-range-picker/calendar/range-inputs.js +7 -5
- package/date-range-picker/calendar/range-inputs.js.map +1 -1
- package/date-range-picker/dropdown.d.ts +2 -1
- package/date-range-picker/dropdown.d.ts.map +1 -1
- package/date-range-picker/dropdown.js +7 -5
- package/date-range-picker/dropdown.js.map +1 -1
- package/date-range-picker/index.d.ts.map +1 -1
- package/date-range-picker/index.js +13 -4
- package/date-range-picker/index.js.map +1 -1
- package/date-range-picker/interfaces.d.ts +22 -21
- package/date-range-picker/interfaces.d.ts.map +1 -1
- package/date-range-picker/interfaces.js.map +1 -1
- package/date-range-picker/mode-switcher.d.ts +1 -1
- package/date-range-picker/mode-switcher.d.ts.map +1 -1
- package/date-range-picker/mode-switcher.js +4 -2
- package/date-range-picker/mode-switcher.js.map +1 -1
- package/date-range-picker/relative-range/index.d.ts +1 -1
- package/date-range-picker/relative-range/index.d.ts.map +1 -1
- package/date-range-picker/relative-range/index.js +14 -10
- package/date-range-picker/relative-range/index.js.map +1 -1
- package/flashbar/interfaces.d.ts +1 -0
- package/flashbar/interfaces.d.ts.map +1 -1
- package/flashbar/interfaces.js.map +1 -1
- package/flashbar/styles.css.js +45 -45
- package/flashbar/styles.scoped.css +169 -169
- package/flashbar/styles.selectors.js +45 -45
- package/form/interfaces.d.ts +1 -0
- package/form/interfaces.d.ts.map +1 -1
- package/form/interfaces.js.map +1 -1
- package/form-field/interfaces.d.ts +1 -0
- package/form-field/interfaces.d.ts.map +1 -1
- package/form-field/interfaces.js.map +1 -1
- package/help-panel/interfaces.d.ts +1 -0
- package/help-panel/interfaces.d.ts.map +1 -1
- package/help-panel/interfaces.js.map +1 -1
- package/i18n/context.d.ts +20 -0
- package/i18n/context.d.ts.map +1 -0
- package/i18n/context.js +17 -0
- package/i18n/context.js.map +1 -0
- package/i18n/index.d.ts +2 -0
- package/i18n/index.d.ts.map +1 -0
- package/i18n/index.js +4 -0
- package/i18n/index.js.map +1 -0
- package/i18n/messages/all.all.d.ts +3 -0
- package/i18n/messages/all.all.js +5473 -0
- package/i18n/messages/all.all.json +5518 -0
- package/i18n/messages/all.de.d.ts +3 -0
- package/i18n/messages/all.de.js +446 -0
- package/i18n/messages/all.de.json +454 -0
- package/i18n/messages/all.en-GB.d.ts +3 -0
- package/i18n/messages/all.en-GB.js +436 -0
- package/i18n/messages/all.en-GB.json +439 -0
- package/i18n/messages/all.en.d.ts +3 -0
- package/i18n/messages/all.en.js +722 -0
- package/i18n/messages/all.en.json +721 -0
- package/i18n/messages/all.es.d.ts +3 -0
- package/i18n/messages/all.es.js +437 -0
- package/i18n/messages/all.es.json +439 -0
- package/i18n/messages/all.fr.d.ts +3 -0
- package/i18n/messages/all.fr.js +451 -0
- package/i18n/messages/all.fr.json +452 -0
- package/i18n/messages/all.id.d.ts +3 -0
- package/i18n/messages/all.id.js +427 -0
- package/i18n/messages/all.id.json +435 -0
- package/i18n/messages/all.it.d.ts +3 -0
- package/i18n/messages/all.it.js +437 -0
- package/i18n/messages/all.it.json +441 -0
- package/i18n/messages/all.ja.d.ts +3 -0
- package/i18n/messages/all.ja.js +441 -0
- package/i18n/messages/all.ja.json +445 -0
- package/i18n/messages/all.ko.d.ts +3 -0
- package/i18n/messages/all.ko.js +419 -0
- package/i18n/messages/all.ko.json +426 -0
- package/i18n/messages/all.pt-BR.d.ts +3 -0
- package/i18n/messages/all.pt-BR.js +444 -0
- package/i18n/messages/all.pt-BR.json +443 -0
- package/i18n/messages/all.zh-CN.d.ts +3 -0
- package/i18n/messages/all.zh-CN.js +429 -0
- package/i18n/messages/all.zh-CN.json +434 -0
- package/i18n/messages/all.zh-TW.d.ts +3 -0
- package/i18n/messages/all.zh-TW.js +428 -0
- package/i18n/messages/all.zh-TW.json +433 -0
- package/i18n/provider.d.ts +20 -0
- package/i18n/provider.d.ts.map +1 -0
- package/i18n/provider.js +105 -0
- package/i18n/provider.js.map +1 -0
- package/i18n/testing.d.ts +8 -0
- package/i18n/testing.d.ts.map +1 -0
- package/i18n/testing.js +8 -0
- package/i18n/testing.js.map +1 -0
- package/input/interfaces.d.ts +1 -0
- package/input/interfaces.d.ts.map +1 -1
- package/input/interfaces.js.map +1 -1
- package/internal/base-component/styles.scoped.css +0 -2
- package/internal/components/dropdown-status/interfaces.d.ts +3 -0
- package/internal/components/dropdown-status/interfaces.d.ts.map +1 -1
- package/internal/components/dropdown-status/interfaces.js.map +1 -1
- package/internal/environment.js +1 -1
- package/internal/generated/custom-css-properties/index.d.ts.map +1 -1
- package/internal/generated/custom-css-properties/index.js +37 -32
- package/internal/generated/custom-css-properties/index.js.map +1 -1
- package/internal/i18n/context.d.ts +1 -19
- package/internal/i18n/context.d.ts.map +1 -1
- package/internal/i18n/context.js +1 -14
- package/internal/i18n/context.js.map +1 -1
- package/internal/i18n/index.d.ts +1 -1
- package/internal/i18n/index.js +1 -1
- package/internal/i18n/index.js.map +1 -1
- package/internal/i18n/messages/all.all.js +3541 -30
- package/internal/i18n/messages/all.all.json +3599 -52
- package/internal/i18n/messages/all.de.js +280 -1
- package/internal/i18n/messages/all.de.json +290 -3
- package/internal/i18n/messages/all.en-GB.js +270 -1
- package/internal/i18n/messages/all.en-GB.json +275 -3
- package/internal/i18n/messages/all.en.js +556 -1
- package/internal/i18n/messages/all.en.json +558 -4
- package/internal/i18n/messages/all.es.js +271 -1
- package/internal/i18n/messages/all.es.json +275 -3
- package/internal/i18n/messages/all.fr.js +289 -5
- package/internal/i18n/messages/all.fr.json +292 -7
- package/internal/i18n/messages/all.id.js +261 -1
- package/internal/i18n/messages/all.id.json +271 -3
- package/internal/i18n/messages/all.it.js +271 -1
- package/internal/i18n/messages/all.it.json +277 -3
- package/internal/i18n/messages/all.ja.js +267 -1
- package/internal/i18n/messages/all.ja.json +273 -3
- package/internal/i18n/messages/all.ko.js +257 -2
- package/internal/i18n/messages/all.ko.json +263 -4
- package/internal/i18n/messages/all.pt-BR.js +280 -3
- package/internal/i18n/messages/all.pt-BR.json +281 -5
- package/internal/i18n/messages/all.zh-CN.js +272 -9
- package/internal/i18n/messages/all.zh-CN.json +276 -11
- package/internal/i18n/messages/all.zh-TW.js +264 -1
- package/internal/i18n/messages/all.zh-TW.json +268 -3
- package/internal/i18n/provider.d.ts +1 -19
- package/internal/i18n/provider.d.ts.map +1 -1
- package/internal/i18n/provider.js +1 -102
- package/internal/i18n/provider.js.map +1 -1
- package/internal/i18n/testing.d.ts +1 -7
- package/internal/i18n/testing.d.ts.map +1 -1
- package/internal/i18n/testing.js +1 -5
- package/internal/i18n/testing.js.map +1 -1
- package/internal/manifest.json +1 -1
- package/link/interfaces.d.ts +1 -0
- package/link/interfaces.d.ts.map +1 -1
- package/link/interfaces.js.map +1 -1
- package/modal/interfaces.d.ts +1 -0
- package/modal/interfaces.d.ts.map +1 -1
- package/modal/interfaces.js.map +1 -1
- package/multiselect/interfaces.d.ts +1 -0
- package/multiselect/interfaces.d.ts.map +1 -1
- package/multiselect/interfaces.js.map +1 -1
- package/package.json +28 -1
- package/pagination/interfaces.d.ts +1 -0
- package/pagination/interfaces.d.ts.map +1 -1
- package/pagination/interfaces.js.map +1 -1
- package/property-filter/interfaces.d.ts +1 -0
- package/property-filter/interfaces.d.ts.map +1 -1
- package/property-filter/interfaces.js.map +1 -1
- package/s3-resource-selector/interfaces.d.ts +48 -47
- package/s3-resource-selector/interfaces.d.ts.map +1 -1
- package/s3-resource-selector/interfaces.js.map +1 -1
- package/s3-resource-selector/s3-in-context/index.d.ts.map +1 -1
- package/s3-resource-selector/s3-in-context/index.js +11 -9
- package/s3-resource-selector/s3-in-context/index.js.map +1 -1
- package/s3-resource-selector/s3-in-context/validation.d.ts +2 -1
- package/s3-resource-selector/s3-in-context/validation.d.ts.map +1 -1
- package/s3-resource-selector/s3-in-context/validation.js +2 -2
- package/s3-resource-selector/s3-in-context/validation.js.map +1 -1
- package/s3-resource-selector/s3-modal/basic-table.d.ts +2 -1
- package/s3-resource-selector/s3-modal/basic-table.d.ts.map +1 -1
- package/s3-resource-selector/s3-modal/basic-table.js +7 -7
- package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
- package/s3-resource-selector/s3-modal/buckets-table.d.ts.map +1 -1
- package/s3-resource-selector/s3-modal/buckets-table.js +10 -7
- package/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
- package/s3-resource-selector/s3-modal/index.d.ts.map +1 -1
- package/s3-resource-selector/s3-modal/index.js +8 -6
- package/s3-resource-selector/s3-modal/index.js.map +1 -1
- package/s3-resource-selector/s3-modal/objects-table.d.ts.map +1 -1
- package/s3-resource-selector/s3-modal/objects-table.js +10 -7
- package/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
- package/s3-resource-selector/s3-modal/table-utils.d.ts +2 -1
- package/s3-resource-selector/s3-modal/table-utils.d.ts.map +1 -1
- package/s3-resource-selector/s3-modal/table-utils.js +5 -9
- package/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
- package/s3-resource-selector/s3-modal/versions-table.d.ts.map +1 -1
- package/s3-resource-selector/s3-modal/versions-table.js +10 -7
- package/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
- package/select/interfaces.d.ts +2 -0
- package/select/interfaces.d.ts.map +1 -1
- package/select/interfaces.js.map +1 -1
- package/split-panel/index.d.ts.map +1 -1
- package/split-panel/index.js +16 -13
- package/split-panel/index.js.map +1 -1
- package/split-panel/interfaces.d.ts +4 -3
- package/split-panel/interfaces.d.ts.map +1 -1
- package/split-panel/interfaces.js.map +1 -1
- package/split-panel/side.d.ts +3 -3
- package/split-panel/side.d.ts.map +1 -1
- package/split-panel/side.js +2 -2
- package/split-panel/side.js.map +1 -1
- package/table/body-cell/index.d.ts.map +1 -1
- package/table/body-cell/index.js +3 -1
- package/table/body-cell/index.js.map +1 -1
- package/table/body-cell/inline-editor.d.ts.map +1 -1
- package/table/body-cell/inline-editor.js +5 -1
- package/table/body-cell/inline-editor.js.map +1 -1
- package/table/header-cell/index.d.ts.map +1 -1
- package/table/header-cell/index.js +3 -1
- package/table/header-cell/index.js.map +1 -1
- package/table/interfaces.d.ts +2 -0
- package/table/interfaces.d.ts.map +1 -1
- package/table/interfaces.js.map +1 -1
- package/table/styles.css.js +36 -35
- package/table/styles.scoped.css +46 -43
- package/table/styles.selectors.js +36 -35
- package/tabs/interfaces.d.ts +1 -0
- package/tabs/interfaces.d.ts.map +1 -1
- package/tabs/interfaces.js.map +1 -1
- package/tag-editor/index.d.ts.map +1 -1
- package/tag-editor/index.js +19 -16
- package/tag-editor/index.js.map +1 -1
- package/tag-editor/interfaces.d.ts +33 -32
- package/tag-editor/interfaces.d.ts.map +1 -1
- package/tag-editor/interfaces.js.map +1 -1
- package/tag-editor/internal.d.ts +6 -6
- package/tag-editor/internal.d.ts.map +1 -1
- package/tag-editor/internal.js.map +1 -1
- package/tag-editor/validation.d.ts +2 -1
- package/tag-editor/validation.d.ts.map +1 -1
- package/tag-editor/validation.js +8 -8
- package/tag-editor/validation.js.map +1 -1
- package/token-group/interfaces.d.ts +1 -0
- package/token-group/interfaces.d.ts.map +1 -1
- package/token-group/interfaces.js.map +1 -1
- package/top-navigation/interfaces.d.ts +4 -3
- package/top-navigation/interfaces.d.ts.map +1 -1
- package/top-navigation/interfaces.js.map +1 -1
- package/top-navigation/internal.d.ts.map +1 -1
- package/top-navigation/internal.js +6 -4
- package/top-navigation/internal.js.map +1 -1
- package/top-navigation/parts/overflow-menu/index.d.ts.map +1 -1
- package/top-navigation/parts/overflow-menu/index.js +6 -2
- package/top-navigation/parts/overflow-menu/index.js.map +1 -1
- package/wizard/interfaces.d.ts +1 -0
- package/wizard/interfaces.d.ts.map +1 -1
- package/wizard/interfaces.js.map +1 -1
- package/wizard/styles.css.js +31 -32
- package/wizard/styles.scoped.css +64 -67
- package/wizard/styles.selectors.js +31 -32
- package/wizard/wizard-form.d.ts.map +1 -1
- package/wizard/wizard-form.js +1 -1
- package/wizard/wizard-form.js.map +1 -1
- package/app-layout/visual-refresh/app-bar.d.ts +0 -7
- package/app-layout/visual-refresh/app-bar.d.ts.map +0 -1
- package/app-layout/visual-refresh/app-bar.js.map +0 -1
|
@@ -100,6 +100,7 @@ export interface S3ResourceSelectorProps extends BaseComponentProps {
|
|
|
100
100
|
resource: S3ResourceSelectorProps.Resource;
|
|
101
101
|
/**
|
|
102
102
|
* An object containing all the necessary localized strings required by the component.
|
|
103
|
+
* @i18n
|
|
103
104
|
*/
|
|
104
105
|
i18nStrings?: S3ResourceSelectorProps.I18nStrings;
|
|
105
106
|
/**
|
|
@@ -161,60 +162,60 @@ export declare namespace S3ResourceSelectorProps {
|
|
|
161
162
|
}
|
|
162
163
|
type SelectableItems = 'buckets' | 'objects' | 'versions';
|
|
163
164
|
interface I18nStrings {
|
|
164
|
-
inContextInputPlaceholder
|
|
165
|
+
inContextInputPlaceholder?: string;
|
|
165
166
|
inContextInputClearAriaLabel?: string;
|
|
166
|
-
inContextSelectPlaceholder
|
|
167
|
-
inContextBrowseButton
|
|
168
|
-
inContextViewButton
|
|
167
|
+
inContextSelectPlaceholder?: string;
|
|
168
|
+
inContextBrowseButton?: string;
|
|
169
|
+
inContextViewButton?: string;
|
|
169
170
|
inContextViewButtonAriaLabel?: string;
|
|
170
|
-
inContextLoadingText
|
|
171
|
-
inContextUriLabel
|
|
172
|
-
inContextVersionSelectLabel
|
|
173
|
-
modalTitle
|
|
174
|
-
modalCancelButton
|
|
175
|
-
modalSubmitButton
|
|
176
|
-
modalBreadcrumbRootItem
|
|
177
|
-
selectionBuckets
|
|
178
|
-
selectionObjects
|
|
179
|
-
selectionVersions
|
|
180
|
-
selectionBucketsSearchPlaceholder
|
|
181
|
-
selectionObjectsSearchPlaceholder
|
|
182
|
-
selectionVersionsSearchPlaceholder
|
|
183
|
-
selectionBucketsLoading
|
|
184
|
-
selectionBucketsNoItems
|
|
185
|
-
selectionObjectsLoading
|
|
186
|
-
selectionObjectsNoItems
|
|
187
|
-
selectionVersionsLoading
|
|
188
|
-
selectionVersionsNoItems
|
|
189
|
-
filteringCounterText
|
|
190
|
-
filteringNoMatches
|
|
191
|
-
filteringCantFindMatch
|
|
192
|
-
clearFilterButtonText
|
|
193
|
-
columnBucketName
|
|
171
|
+
inContextLoadingText?: string;
|
|
172
|
+
inContextUriLabel?: string;
|
|
173
|
+
inContextVersionSelectLabel?: string;
|
|
174
|
+
modalTitle?: string;
|
|
175
|
+
modalCancelButton?: string;
|
|
176
|
+
modalSubmitButton?: string;
|
|
177
|
+
modalBreadcrumbRootItem?: string;
|
|
178
|
+
selectionBuckets?: string;
|
|
179
|
+
selectionObjects?: string;
|
|
180
|
+
selectionVersions?: string;
|
|
181
|
+
selectionBucketsSearchPlaceholder?: string;
|
|
182
|
+
selectionObjectsSearchPlaceholder?: string;
|
|
183
|
+
selectionVersionsSearchPlaceholder?: string;
|
|
184
|
+
selectionBucketsLoading?: string;
|
|
185
|
+
selectionBucketsNoItems?: string;
|
|
186
|
+
selectionObjectsLoading?: string;
|
|
187
|
+
selectionObjectsNoItems?: string;
|
|
188
|
+
selectionVersionsLoading?: string;
|
|
189
|
+
selectionVersionsNoItems?: string;
|
|
190
|
+
filteringCounterText?: (count: number) => string;
|
|
191
|
+
filteringNoMatches?: string;
|
|
192
|
+
filteringCantFindMatch?: string;
|
|
193
|
+
clearFilterButtonText?: string;
|
|
194
|
+
columnBucketName?: string;
|
|
194
195
|
columnBucketCreationDate?: string;
|
|
195
196
|
columnBucketRegion?: string;
|
|
196
|
-
columnObjectKey
|
|
197
|
+
columnObjectKey?: string;
|
|
197
198
|
columnObjectLastModified?: string;
|
|
198
199
|
columnObjectSize?: string;
|
|
199
|
-
columnVersionID
|
|
200
|
-
columnVersionLastModified
|
|
200
|
+
columnVersionID?: string;
|
|
201
|
+
columnVersionLastModified?: string;
|
|
201
202
|
columnVersionSize?: string;
|
|
202
|
-
validationPathMustBegin
|
|
203
|
-
validationBucketLowerCase
|
|
204
|
-
validationBucketMustNotContain
|
|
205
|
-
validationBucketLength
|
|
206
|
-
validationBucketMustComplyDns
|
|
207
|
-
labelSortedDescending
|
|
208
|
-
labelSortedAscending
|
|
209
|
-
labelNotSorted
|
|
210
|
-
labelsPagination
|
|
211
|
-
labelsBucketsSelection
|
|
212
|
-
labelsObjectsSelection
|
|
213
|
-
labelsVersionsSelection
|
|
214
|
-
labelFiltering
|
|
215
|
-
labelRefresh
|
|
216
|
-
labelModalDismiss
|
|
217
|
-
labelBreadcrumbs
|
|
203
|
+
validationPathMustBegin?: string;
|
|
204
|
+
validationBucketLowerCase?: string;
|
|
205
|
+
validationBucketMustNotContain?: string;
|
|
206
|
+
validationBucketLength?: string;
|
|
207
|
+
validationBucketMustComplyDns?: string;
|
|
208
|
+
labelSortedDescending?: SortingColumnContainingString;
|
|
209
|
+
labelSortedAscending?: SortingColumnContainingString;
|
|
210
|
+
labelNotSorted?: SortingColumnContainingString;
|
|
211
|
+
labelsPagination?: PaginationProps.Labels;
|
|
212
|
+
labelsBucketsSelection?: SelectionLabels<Bucket>;
|
|
213
|
+
labelsObjectsSelection?: SelectionLabels<S3ResourceSelectorProps.Object>;
|
|
214
|
+
labelsVersionsSelection?: SelectionLabels<Version>;
|
|
215
|
+
labelFiltering?: (itemsType: string) => string;
|
|
216
|
+
labelRefresh?: string;
|
|
217
|
+
labelModalDismiss?: string;
|
|
218
|
+
labelBreadcrumbs?: string;
|
|
218
219
|
}
|
|
219
220
|
interface ChangeDetail {
|
|
220
221
|
resource: Resource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAE9E;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE/C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC,MAAM,KAAK,OAAO,CAAC;IAE1E;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC,MAAM,KAAK,OAAO,CAAC;IAE1E;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC,OAAO,KAAK,OAAO,CAAC;IAE5E;;;;OAIG;IACH,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,CAAC;IAE3C
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { TableProps } from '../table/interfaces';\nimport { PaginationProps } from '../pagination/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { NonCancelableEventHandler } from '../internal/events';\n\nexport interface S3ResourceSelectorProps extends BaseComponentProps {\n /**\n * Specifies additional information about component status.\n */\n alert?: React.ReactNode;\n\n /**\n * Adds `aria-labelledby` to the component. If you're using this component within a form field,\n * don't set this property because the form field component automatically sets it.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for the element you want to use as label and set the property to that ID.\n */\n ariaLabelledby?: string;\n\n /**\n * Adds `aria-describedby` to the component. If you're using this component within a form field,\n * don't set this property because the form field component automatically sets it.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for each element that you want to use as a description\n * and set the property to a string of each ID separated by spaces (for example, `\"id1 id2 id3\"`).\n */\n ariaDescribedby?: string;\n\n /**\n * Adds `aria-label` to the component.\n */\n ariaLabel?: string;\n\n /**\n * Adds `aria-labelledby` to the S3 URI input. If you're using this component within a form field,\n * you do not need to set this property, as the form field component will set it automatically.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for the element you want to use as label and set the property to that ID.\n */\n inputAriaDescribedby?: string;\n\n /**\n * An array of the item types that are selectable in the table view. The array may contain the following items:\n * 'buckets', 'objects', or 'versions'. Example: ['buckets', 'objects']. By default, no items are selectable.\n * This property determines whether the component operates in Read mode or Write mode:\n * * Read mode - When 'objects' and 'versions' values are provided (folder selection should be disabled by\n * customizing `objectsIsItemDisabled` function).\n * * Write mode - When 'buckets' and 'objects' values are provided (file selection should be disabled by\n * customizing `objectsIsItemDisabled` function).\n */\n selectableItemsTypes?: ReadonlyArray<S3ResourceSelectorProps.SelectableItems>;\n\n /**\n * Href of the selected object that is applied to the View button.\n */\n viewHref?: string;\n\n /**\n * Whether the S3 URI input field is in invalid state.\n */\n invalid?: boolean;\n\n /**\n * Optionally overrides the set of visible columns in the Buckets view. Available columns: 'Name', 'CreationDate',\n * and 'Region'.\n */\n bucketsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides the set of visible columns in the Objects view. Available columns: 'Key', 'LastModified',\n * and 'Size'.\n */\n objectsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides the set of visible columns in the Versions view. Available columns: 'ID', 'CreationDate',\n * and 'Size'.\n */\n versionsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides whether a bucket should be disabled for selection in the Buckets view or not.\n * It has higher priority than `selectableItemsTypes`. Example: if `selectableItemsTypes` has `['buckets']` value and\n * `bucketsIsItemDisabled` returns false for a bucket, then the bucket is disabled for selection.\n */\n bucketsIsItemDisabled?: (item: S3ResourceSelectorProps.Bucket) => boolean;\n\n /**\n * Optionally overrides whether an object should be disabled for selection in the Objects view or not. Similar to\n * `bucketsIsItemDisabled` this property takes precedence over the `selectableItemsTypes` property.\n */\n objectsIsItemDisabled?: (item: S3ResourceSelectorProps.Object) => boolean;\n\n /**\n * Optionally overrides whether a version should be disabled for selection in the Versions view or not. Similar to\n * `bucketsIsItemDisabled` this property takes precedence over the `selectableItemsTypes` property.\n */\n versionsIsItemDisabled?: (item: S3ResourceSelectorProps.Version) => boolean;\n\n /**\n * The current selected resource. Resource has the following properties:\n * - `uri` (string) - URI of the resource.\n * - `versionId` (string) - (Optional) Version ID of the selected resource.\n */\n resource: S3ResourceSelectorProps.Resource;\n\n /**\n * An object containing all the necessary localized strings required by the component.\n */\n i18nStrings?: S3ResourceSelectorProps.I18nStrings;\n\n /**\n * Specifies a function that returns all available buckets. The return type of the function should be a promise\n * that resolves to a list of objects with the following properties:\n * - `Name` (string) - Name of the bucket.\n * - `CreationDate` (string) - (Optional) Creation date of the bucket.\n * - `Region` (string) - (Optional) Region of the bucket.\n */\n fetchBuckets: () => Promise<ReadonlyArray<S3ResourceSelectorProps.Bucket>>;\n\n /**\n * Specifies a function that returns available objects and object prefixes for the given `bucketName` and `pathPrefix`.\n * The return type of the function should be a promise that resolves to a list of objects with the following properties:\n * - `Key` (string) - Name of the object or object prefix.\n * - `LastModified` (string) - (Optional) Date when this object was last modified.\n * - `Size` (number) - (Optional) Size of the object.\n * - `IsFolder` (boolean) - (Optional) Determines whether the entry is an object prefix (folder).\n */\n fetchObjects: (bucketName: string, pathPrefix: string) => Promise<ReadonlyArray<S3ResourceSelectorProps.Object>>;\n\n /**\n * Specifies a function that returns available versions for the given `bucketName` and `pathPrefix`.\n * The return type of the function should be a promise that resolves to a list of versions with the following properties:\n * - `VersionId` (string) - Version ID of an object.\n * - `LastModified` (string) - (Optional) Date when this object was last modified.\n * - `Size` (number) - (Optional) Size of the object version.\n */\n fetchVersions: (bucketName: string, pathPrefix: string) => Promise<ReadonlyArray<S3ResourceSelectorProps.Version>>;\n\n /**\n * Fired when the resource selection is changed. The event detail object contains resource that represents the full\n * path of the selected resource and `errorText` that may contain a validation error.\n */\n onChange?: NonCancelableEventHandler<S3ResourceSelectorProps.ChangeDetail>;\n}\n\n// Does not use TableProps.AriaLabels, because here we do not need \"allItemsSelectionLabel\"\n// it is not applicable to single selection mode\ninterface SelectionLabels<T> {\n itemSelectionLabel: (data: TableProps.SelectionState<T>, row: T) => string;\n selectionGroupLabel: string;\n}\n\ntype SortingColumnContainingString = (columnName: string) => string;\n\nexport namespace S3ResourceSelectorProps {\n export interface Bucket {\n Name?: string;\n CreationDate?: string;\n // artificial field, does not exist on the real s3 response\n Region?: string;\n }\n export interface Object {\n Key?: string;\n LastModified?: string;\n Size?: number;\n // artificial field, does not exist on the real s3 response\n IsFolder?: boolean;\n }\n export interface Version {\n VersionId?: string;\n LastModified?: string;\n Size?: number;\n }\n\n export interface Resource {\n uri: string;\n versionId?: string;\n }\n\n export type SelectableItems = 'buckets' | 'objects' | 'versions';\n\n export interface I18nStrings {\n inContextInputPlaceholder: string;\n inContextInputClearAriaLabel?: string;\n inContextSelectPlaceholder: string;\n inContextBrowseButton: string;\n inContextViewButton: string;\n inContextViewButtonAriaLabel?: string;\n inContextLoadingText: string;\n inContextUriLabel: string;\n inContextVersionSelectLabel: string;\n\n modalTitle: string;\n modalCancelButton: string;\n modalSubmitButton: string;\n modalBreadcrumbRootItem: string;\n\n selectionBuckets: string;\n selectionObjects: string;\n selectionVersions: string;\n selectionBucketsSearchPlaceholder: string;\n selectionObjectsSearchPlaceholder: string;\n selectionVersionsSearchPlaceholder: string;\n selectionBucketsLoading: string;\n selectionBucketsNoItems: string;\n selectionObjectsLoading: string;\n selectionObjectsNoItems: string;\n selectionVersionsLoading: string;\n selectionVersionsNoItems: string;\n\n filteringCounterText: (count: number) => string;\n filteringNoMatches: string;\n filteringCantFindMatch: string;\n clearFilterButtonText: string;\n\n columnBucketName: string;\n columnBucketCreationDate?: string;\n columnBucketRegion?: string;\n columnObjectKey: string;\n columnObjectLastModified?: string;\n columnObjectSize?: string;\n columnVersionID: string;\n columnVersionLastModified: string;\n columnVersionSize?: string;\n\n validationPathMustBegin: string;\n validationBucketLowerCase: string;\n validationBucketMustNotContain: string;\n validationBucketLength: string;\n validationBucketMustComplyDns: string;\n\n labelSortedDescending: SortingColumnContainingString;\n labelSortedAscending: SortingColumnContainingString;\n labelNotSorted: SortingColumnContainingString;\n labelsPagination: PaginationProps.Labels;\n labelsBucketsSelection: SelectionLabels<Bucket>;\n labelsObjectsSelection: SelectionLabels<S3ResourceSelectorProps.Object>;\n labelsVersionsSelection: SelectionLabels<Version>;\n labelFiltering: (itemsType: string) => string;\n labelRefresh: string;\n labelModalDismiss: string;\n labelBreadcrumbs: string;\n }\n\n export interface ChangeDetail {\n resource: Resource;\n errorText?: string;\n }\n\n export interface Ref {\n /**\n * Focuses the S3 URI input field\n */\n focus(): void;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { TableProps } from '../table/interfaces';\nimport { PaginationProps } from '../pagination/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { NonCancelableEventHandler } from '../internal/events';\n\nexport interface S3ResourceSelectorProps extends BaseComponentProps {\n /**\n * Specifies additional information about component status.\n */\n alert?: React.ReactNode;\n\n /**\n * Adds `aria-labelledby` to the component. If you're using this component within a form field,\n * don't set this property because the form field component automatically sets it.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for the element you want to use as label and set the property to that ID.\n */\n ariaLabelledby?: string;\n\n /**\n * Adds `aria-describedby` to the component. If you're using this component within a form field,\n * don't set this property because the form field component automatically sets it.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for each element that you want to use as a description\n * and set the property to a string of each ID separated by spaces (for example, `\"id1 id2 id3\"`).\n */\n ariaDescribedby?: string;\n\n /**\n * Adds `aria-label` to the component.\n */\n ariaLabel?: string;\n\n /**\n * Adds `aria-labelledby` to the S3 URI input. If you're using this component within a form field,\n * you do not need to set this property, as the form field component will set it automatically.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for the element you want to use as label and set the property to that ID.\n */\n inputAriaDescribedby?: string;\n\n /**\n * An array of the item types that are selectable in the table view. The array may contain the following items:\n * 'buckets', 'objects', or 'versions'. Example: ['buckets', 'objects']. By default, no items are selectable.\n * This property determines whether the component operates in Read mode or Write mode:\n * * Read mode - When 'objects' and 'versions' values are provided (folder selection should be disabled by\n * customizing `objectsIsItemDisabled` function).\n * * Write mode - When 'buckets' and 'objects' values are provided (file selection should be disabled by\n * customizing `objectsIsItemDisabled` function).\n */\n selectableItemsTypes?: ReadonlyArray<S3ResourceSelectorProps.SelectableItems>;\n\n /**\n * Href of the selected object that is applied to the View button.\n */\n viewHref?: string;\n\n /**\n * Whether the S3 URI input field is in invalid state.\n */\n invalid?: boolean;\n\n /**\n * Optionally overrides the set of visible columns in the Buckets view. Available columns: 'Name', 'CreationDate',\n * and 'Region'.\n */\n bucketsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides the set of visible columns in the Objects view. Available columns: 'Key', 'LastModified',\n * and 'Size'.\n */\n objectsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides the set of visible columns in the Versions view. Available columns: 'ID', 'CreationDate',\n * and 'Size'.\n */\n versionsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides whether a bucket should be disabled for selection in the Buckets view or not.\n * It has higher priority than `selectableItemsTypes`. Example: if `selectableItemsTypes` has `['buckets']` value and\n * `bucketsIsItemDisabled` returns false for a bucket, then the bucket is disabled for selection.\n */\n bucketsIsItemDisabled?: (item: S3ResourceSelectorProps.Bucket) => boolean;\n\n /**\n * Optionally overrides whether an object should be disabled for selection in the Objects view or not. Similar to\n * `bucketsIsItemDisabled` this property takes precedence over the `selectableItemsTypes` property.\n */\n objectsIsItemDisabled?: (item: S3ResourceSelectorProps.Object) => boolean;\n\n /**\n * Optionally overrides whether a version should be disabled for selection in the Versions view or not. Similar to\n * `bucketsIsItemDisabled` this property takes precedence over the `selectableItemsTypes` property.\n */\n versionsIsItemDisabled?: (item: S3ResourceSelectorProps.Version) => boolean;\n\n /**\n * The current selected resource. Resource has the following properties:\n * - `uri` (string) - URI of the resource.\n * - `versionId` (string) - (Optional) Version ID of the selected resource.\n */\n resource: S3ResourceSelectorProps.Resource;\n\n /**\n * An object containing all the necessary localized strings required by the component.\n * @i18n\n */\n i18nStrings?: S3ResourceSelectorProps.I18nStrings;\n\n /**\n * Specifies a function that returns all available buckets. The return type of the function should be a promise\n * that resolves to a list of objects with the following properties:\n * - `Name` (string) - Name of the bucket.\n * - `CreationDate` (string) - (Optional) Creation date of the bucket.\n * - `Region` (string) - (Optional) Region of the bucket.\n */\n fetchBuckets: () => Promise<ReadonlyArray<S3ResourceSelectorProps.Bucket>>;\n\n /**\n * Specifies a function that returns available objects and object prefixes for the given `bucketName` and `pathPrefix`.\n * The return type of the function should be a promise that resolves to a list of objects with the following properties:\n * - `Key` (string) - Name of the object or object prefix.\n * - `LastModified` (string) - (Optional) Date when this object was last modified.\n * - `Size` (number) - (Optional) Size of the object.\n * - `IsFolder` (boolean) - (Optional) Determines whether the entry is an object prefix (folder).\n */\n fetchObjects: (bucketName: string, pathPrefix: string) => Promise<ReadonlyArray<S3ResourceSelectorProps.Object>>;\n\n /**\n * Specifies a function that returns available versions for the given `bucketName` and `pathPrefix`.\n * The return type of the function should be a promise that resolves to a list of versions with the following properties:\n * - `VersionId` (string) - Version ID of an object.\n * - `LastModified` (string) - (Optional) Date when this object was last modified.\n * - `Size` (number) - (Optional) Size of the object version.\n */\n fetchVersions: (bucketName: string, pathPrefix: string) => Promise<ReadonlyArray<S3ResourceSelectorProps.Version>>;\n\n /**\n * Fired when the resource selection is changed. The event detail object contains resource that represents the full\n * path of the selected resource and `errorText` that may contain a validation error.\n */\n onChange?: NonCancelableEventHandler<S3ResourceSelectorProps.ChangeDetail>;\n}\n\n// Does not use TableProps.AriaLabels, because here we do not need \"allItemsSelectionLabel\"\n// it is not applicable to single selection mode\ninterface SelectionLabels<T> {\n itemSelectionLabel: (data: TableProps.SelectionState<T>, row: T) => string;\n selectionGroupLabel: string;\n}\n\ntype SortingColumnContainingString = (columnName: string) => string;\n\nexport namespace S3ResourceSelectorProps {\n export interface Bucket {\n Name?: string;\n CreationDate?: string;\n // artificial field, does not exist on the real s3 response\n Region?: string;\n }\n export interface Object {\n Key?: string;\n LastModified?: string;\n Size?: number;\n // artificial field, does not exist on the real s3 response\n IsFolder?: boolean;\n }\n export interface Version {\n VersionId?: string;\n LastModified?: string;\n Size?: number;\n }\n\n export interface Resource {\n uri: string;\n versionId?: string;\n }\n\n export type SelectableItems = 'buckets' | 'objects' | 'versions';\n\n export interface I18nStrings {\n inContextInputPlaceholder?: string;\n inContextInputClearAriaLabel?: string;\n inContextSelectPlaceholder?: string;\n inContextBrowseButton?: string;\n inContextViewButton?: string;\n inContextViewButtonAriaLabel?: string;\n inContextLoadingText?: string;\n inContextUriLabel?: string;\n inContextVersionSelectLabel?: string;\n\n modalTitle?: string;\n modalCancelButton?: string;\n modalSubmitButton?: string;\n modalBreadcrumbRootItem?: string;\n\n selectionBuckets?: string;\n selectionObjects?: string;\n selectionVersions?: string;\n selectionBucketsSearchPlaceholder?: string;\n selectionObjectsSearchPlaceholder?: string;\n selectionVersionsSearchPlaceholder?: string;\n selectionBucketsLoading?: string;\n selectionBucketsNoItems?: string;\n selectionObjectsLoading?: string;\n selectionObjectsNoItems?: string;\n selectionVersionsLoading?: string;\n selectionVersionsNoItems?: string;\n\n filteringCounterText?: (count: number) => string;\n filteringNoMatches?: string;\n filteringCantFindMatch?: string;\n clearFilterButtonText?: string;\n\n columnBucketName?: string;\n columnBucketCreationDate?: string;\n columnBucketRegion?: string;\n columnObjectKey?: string;\n columnObjectLastModified?: string;\n columnObjectSize?: string;\n columnVersionID?: string;\n columnVersionLastModified?: string;\n columnVersionSize?: string;\n\n validationPathMustBegin?: string;\n validationBucketLowerCase?: string;\n validationBucketMustNotContain?: string;\n validationBucketLength?: string;\n validationBucketMustComplyDns?: string;\n\n labelSortedDescending?: SortingColumnContainingString;\n labelSortedAscending?: SortingColumnContainingString;\n labelNotSorted?: SortingColumnContainingString;\n labelsPagination?: PaginationProps.Labels;\n labelsBucketsSelection?: SelectionLabels<Bucket>;\n labelsObjectsSelection?: SelectionLabels<S3ResourceSelectorProps.Object>;\n labelsVersionsSelection?: SelectionLabels<Version>;\n labelFiltering?: (itemsType: string) => string;\n labelRefresh?: string;\n labelModalDismiss?: string;\n labelBreadcrumbs?: string;\n }\n\n export interface ChangeDetail {\n resource: Resource;\n errorText?: string;\n }\n\n export interface Ref {\n /**\n * Focuses the S3 URI input field\n */\n focus(): void;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAU3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAU3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAOxD,UAAU,gBAAgB;IACxB,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,CAAC;IAC3C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,oBAAoB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACtE,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAClG;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,eAAO,MAAM,WAAW,yFA4HvB,CAAC"}
|
|
@@ -12,7 +12,9 @@ import { validate, getErrorText } from './validation';
|
|
|
12
12
|
import styles from './styles.css.js';
|
|
13
13
|
import { SearchInput } from './search-input';
|
|
14
14
|
import LiveRegion from '../../internal/components/live-region';
|
|
15
|
+
import { useInternalI18n } from '../../internal/i18n/context';
|
|
15
16
|
export const S3InContext = React.forwardRef(({ i18nStrings, resource, viewHref, invalid, inputAriaDescribedby, selectableItemsTypes, fetchVersions, onChange, onBrowse, }, ref) => {
|
|
17
|
+
const i18n = useInternalI18n('s3-resource-selector');
|
|
16
18
|
const isInputBlurredRef = useRef(true);
|
|
17
19
|
const [isInputTouched, setInputTouched] = useState(false);
|
|
18
20
|
const { versions, loading, loadVersions, resetVersions } = useVersionsFetch(fetchVersions);
|
|
@@ -25,13 +27,13 @@ export const S3InContext = React.forwardRef(({ i18nStrings, resource, viewHref,
|
|
|
25
27
|
const uri = event.detail.value;
|
|
26
28
|
const errorCode = isInputTouched ? validate(uri) : undefined;
|
|
27
29
|
resetVersions();
|
|
28
|
-
onChange({ uri }, getErrorText(i18nStrings, errorCode));
|
|
30
|
+
onChange({ uri }, getErrorText(i18n, i18nStrings, errorCode));
|
|
29
31
|
}
|
|
30
32
|
function handleUriBlur() {
|
|
31
33
|
isInputBlurredRef.current = true;
|
|
32
34
|
setInputTouched(true);
|
|
33
35
|
const errorCode = validate(resource.uri);
|
|
34
|
-
onChange(resource, getErrorText(i18nStrings, errorCode));
|
|
36
|
+
onChange(resource, getErrorText(i18n, i18nStrings, errorCode));
|
|
35
37
|
if (supportsVersions) {
|
|
36
38
|
loadVersions(resource.uri);
|
|
37
39
|
}
|
|
@@ -46,17 +48,17 @@ export const S3InContext = React.forwardRef(({ i18nStrings, resource, viewHref,
|
|
|
46
48
|
}, [uri, supportsVersions, loadVersions]);
|
|
47
49
|
return (React.createElement("div", { className: styles.root },
|
|
48
50
|
React.createElement("div", { className: styles.layout },
|
|
49
|
-
React.createElement(InternalFormField, { className: styles['layout-uri'], label: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextUriLabel, stretch: true },
|
|
50
|
-
React.createElement(SearchInput, { ref: inputRef, value: uri, ariaDescribedby: inputAriaDescribedby, clearAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextInputClearAriaLabel, placeholder: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextInputPlaceholder, onChange: handleUriChange, invalid: invalid, onFocus: () => (isInputBlurredRef.current = false), onBlur: handleUriBlur })),
|
|
51
|
-
supportsVersions && (React.createElement(InternalFormField, { className: styles['layout-version'], label: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextVersionSelectLabel, stretch: true },
|
|
52
|
-
React.createElement(InternalSelect, { selectedOption: selectedVersion, placeholder: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextSelectPlaceholder, disabled: versions.length === 0, options: versions, onChange: event => onChange(Object.assign(Object.assign({}, resource), { versionId: event.detail.selectedOption.value }), undefined), invalid: false }))),
|
|
51
|
+
React.createElement(InternalFormField, { className: styles['layout-uri'], label: i18n('i18nStrings.inContextUriLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextUriLabel), stretch: true },
|
|
52
|
+
React.createElement(SearchInput, { ref: inputRef, value: uri, ariaDescribedby: inputAriaDescribedby, clearAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextInputClearAriaLabel, placeholder: i18n('i18nStrings.inContextInputPlaceholder', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextInputPlaceholder), onChange: handleUriChange, invalid: invalid, onFocus: () => (isInputBlurredRef.current = false), onBlur: handleUriBlur })),
|
|
53
|
+
supportsVersions && (React.createElement(InternalFormField, { className: styles['layout-version'], label: i18n('i18nStrings.inContextVersionSelectLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextVersionSelectLabel), stretch: true },
|
|
54
|
+
React.createElement(InternalSelect, { selectedOption: selectedVersion, placeholder: i18n('i18nStrings.inContextSelectPlaceholder', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextSelectPlaceholder), disabled: versions.length === 0, options: versions, onChange: event => onChange(Object.assign(Object.assign({}, resource), { versionId: event.detail.selectedOption.value }), undefined), invalid: false }))),
|
|
53
55
|
React.createElement("div", null,
|
|
54
|
-
React.createElement(InternalButton, { className: styles['view-button'], disabled: !viewHref, href: viewHref, target: "_blank", iconName: "external", iconAlign: "right", formAction: "none", ariaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextViewButtonAriaLabel }, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextViewButton)),
|
|
56
|
+
React.createElement(InternalButton, { className: styles['view-button'], disabled: !viewHref, href: viewHref, target: "_blank", iconName: "external", iconAlign: "right", formAction: "none", ariaLabel: i18n('i18nStrings.inContextViewButtonAriaLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextViewButtonAriaLabel) }, i18n('i18nStrings.inContextViewButton', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextViewButton))),
|
|
55
57
|
React.createElement("div", { className: styles['layout-divider'] }),
|
|
56
58
|
React.createElement("div", null,
|
|
57
|
-
React.createElement(InternalButton, { className: styles['browse-button'], disabled: loading, formAction: "none", onClick: onBrowse }, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextBrowseButton))),
|
|
59
|
+
React.createElement(InternalButton, { className: styles['browse-button'], disabled: loading, formAction: "none", onClick: onBrowse }, i18n('i18nStrings.inContextBrowseButton', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextBrowseButton)))),
|
|
58
60
|
React.createElement("div", { role: "alert", "aria-live": "assertive", "aria-atomic": "true" }, loading && (React.createElement(InternalBox, { margin: { top: 's' } },
|
|
59
61
|
React.createElement(InternalStatusIndicator, { type: "loading" },
|
|
60
|
-
React.createElement(LiveRegion, { visible: true }, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextLoadingText)))))));
|
|
62
|
+
React.createElement(LiveRegion, { visible: true }, i18n('i18nStrings.inContextLoadingText', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextLoadingText))))))));
|
|
61
63
|
});
|
|
62
64
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/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, useRef } from 'react';\nimport InternalBox from '../../box/internal';\nimport { InternalButton } from '../../button/internal';\nimport InternalFormField from '../../form-field/internal';\nimport { InputProps } from '../../input/interfaces';\nimport InternalSelect from '../../select/internal';\nimport InternalStatusIndicator from '../../status-indicator/internal';\nimport { NonCancelableCustomEvent } from '../../internal/events';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { useVersionsFetch } from './use-versions-fetch';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { validate, getErrorText } from './validation';\nimport styles from './styles.css.js';\nimport { SearchInput } from './search-input';\nimport LiveRegion from '../../internal/components/live-region';\n\ninterface S3InContextProps {\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined;\n resource: S3ResourceSelectorProps.Resource;\n viewHref: string | undefined;\n invalid: boolean | undefined;\n inputAriaDescribedby: string | undefined;\n selectableItemsTypes: S3ResourceSelectorProps['selectableItemsTypes'];\n fetchVersions: S3ResourceSelectorProps['fetchVersions'];\n onBrowse: () => void;\n onChange: (newResource: S3ResourceSelectorProps.Resource, errorText: string | undefined) => void;\n}\n\nexport interface S3InContextRef {\n focus(): void;\n}\n\nexport const S3InContext = React.forwardRef(\n (\n {\n i18nStrings,\n resource,\n viewHref,\n invalid,\n inputAriaDescribedby,\n selectableItemsTypes,\n fetchVersions,\n onChange,\n onBrowse,\n }: S3InContextProps,\n ref: React.Ref<S3InContextRef>\n ) => {\n const isInputBlurredRef = useRef(true);\n const [isInputTouched, setInputTouched] = useState(false);\n const { versions, loading, loadVersions, resetVersions } = useVersionsFetch(fetchVersions);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useForwardFocus(ref, inputRef);\n\n const uri = resource.uri;\n const supportsVersions = selectableItemsTypes && selectableItemsTypes.indexOf('versions') > -1;\n const selectedVersion = versions.filter(version => version.value === resource.versionId)[0] || null;\n\n function handleUriChange(event: NonCancelableCustomEvent<InputProps.ChangeDetail>) {\n const uri = event.detail.value;\n const errorCode = isInputTouched ? validate(uri) : undefined;\n resetVersions();\n onChange({ uri }, getErrorText(i18nStrings, errorCode));\n }\n\n function handleUriBlur() {\n isInputBlurredRef.current = true;\n setInputTouched(true);\n const errorCode = validate(resource.uri);\n onChange(resource, getErrorText(i18nStrings, errorCode));\n if (supportsVersions) {\n loadVersions(resource.uri);\n }\n }\n\n useEffect(() => {\n if (!isInputBlurredRef.current || !supportsVersions) {\n return;\n }\n const { cancel } = loadVersions(uri) ?? {};\n return cancel;\n }, [uri, supportsVersions, loadVersions]);\n\n return (\n <div className={styles.root}>\n <div className={styles.layout}>\n <InternalFormField className={styles['layout-uri']} label={i18nStrings?.inContextUriLabel} stretch={true}>\n <SearchInput\n ref={inputRef}\n value={uri}\n ariaDescribedby={inputAriaDescribedby}\n clearAriaLabel={i18nStrings?.inContextInputClearAriaLabel}\n placeholder={i18nStrings?.inContextInputPlaceholder}\n onChange={handleUriChange}\n invalid={invalid}\n onFocus={() => (isInputBlurredRef.current = false)}\n onBlur={handleUriBlur}\n />\n </InternalFormField>\n {supportsVersions && (\n <InternalFormField\n className={styles['layout-version']}\n label={i18nStrings?.inContextVersionSelectLabel}\n stretch={true}\n >\n <InternalSelect\n selectedOption={selectedVersion}\n placeholder={i18nStrings?.inContextSelectPlaceholder}\n disabled={versions.length === 0}\n options={versions}\n onChange={event => onChange({ ...resource, versionId: event.detail.selectedOption.value }, undefined)}\n invalid={false} // invalid state should not highlight the select, only the text input\n />\n </InternalFormField>\n )}\n <div>\n <InternalButton\n className={styles['view-button']}\n disabled={!viewHref}\n href={viewHref}\n target=\"_blank\"\n iconName=\"external\"\n iconAlign=\"right\"\n formAction=\"none\"\n ariaLabel={i18nStrings?.inContextViewButtonAriaLabel}\n >\n {i18nStrings?.inContextViewButton}\n </InternalButton>\n </div>\n <div className={styles['layout-divider']} />\n <div>\n <InternalButton className={styles['browse-button']} disabled={loading} formAction=\"none\" onClick={onBrowse}>\n {i18nStrings?.inContextBrowseButton}\n </InternalButton>\n </div>\n </div>\n\n <div role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\">\n {loading && (\n <InternalBox margin={{ top: 's' }}>\n <InternalStatusIndicator type=\"loading\">\n <LiveRegion visible={true}>{i18nStrings?.inContextLoadingText}</LiveRegion>\n </InternalStatusIndicator>\n </InternalBox>\n )}\n </div>\n </div>\n );\n }\n);\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/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, useRef } from 'react';\nimport InternalBox from '../../box/internal';\nimport { InternalButton } from '../../button/internal';\nimport InternalFormField from '../../form-field/internal';\nimport { InputProps } from '../../input/interfaces';\nimport InternalSelect from '../../select/internal';\nimport InternalStatusIndicator from '../../status-indicator/internal';\nimport { NonCancelableCustomEvent } from '../../internal/events';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { useVersionsFetch } from './use-versions-fetch';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { validate, getErrorText } from './validation';\nimport styles from './styles.css.js';\nimport { SearchInput } from './search-input';\nimport LiveRegion from '../../internal/components/live-region';\nimport { useInternalI18n } from '../../internal/i18n/context';\n\ninterface S3InContextProps {\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined;\n resource: S3ResourceSelectorProps.Resource;\n viewHref: string | undefined;\n invalid: boolean | undefined;\n inputAriaDescribedby: string | undefined;\n selectableItemsTypes: S3ResourceSelectorProps['selectableItemsTypes'];\n fetchVersions: S3ResourceSelectorProps['fetchVersions'];\n onBrowse: () => void;\n onChange: (newResource: S3ResourceSelectorProps.Resource, errorText: string | undefined) => void;\n}\n\nexport interface S3InContextRef {\n focus(): void;\n}\n\nexport const S3InContext = React.forwardRef(\n (\n {\n i18nStrings,\n resource,\n viewHref,\n invalid,\n inputAriaDescribedby,\n selectableItemsTypes,\n fetchVersions,\n onChange,\n onBrowse,\n }: S3InContextProps,\n ref: React.Ref<S3InContextRef>\n ) => {\n const i18n = useInternalI18n('s3-resource-selector');\n const isInputBlurredRef = useRef(true);\n const [isInputTouched, setInputTouched] = useState(false);\n const { versions, loading, loadVersions, resetVersions } = useVersionsFetch(fetchVersions);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useForwardFocus(ref, inputRef);\n\n const uri = resource.uri;\n const supportsVersions = selectableItemsTypes && selectableItemsTypes.indexOf('versions') > -1;\n const selectedVersion = versions.filter(version => version.value === resource.versionId)[0] || null;\n\n function handleUriChange(event: NonCancelableCustomEvent<InputProps.ChangeDetail>) {\n const uri = event.detail.value;\n const errorCode = isInputTouched ? validate(uri) : undefined;\n resetVersions();\n onChange({ uri }, getErrorText(i18n, i18nStrings, errorCode));\n }\n\n function handleUriBlur() {\n isInputBlurredRef.current = true;\n setInputTouched(true);\n const errorCode = validate(resource.uri);\n onChange(resource, getErrorText(i18n, i18nStrings, errorCode));\n if (supportsVersions) {\n loadVersions(resource.uri);\n }\n }\n\n useEffect(() => {\n if (!isInputBlurredRef.current || !supportsVersions) {\n return;\n }\n const { cancel } = loadVersions(uri) ?? {};\n return cancel;\n }, [uri, supportsVersions, loadVersions]);\n\n return (\n <div className={styles.root}>\n <div className={styles.layout}>\n <InternalFormField\n className={styles['layout-uri']}\n label={i18n('i18nStrings.inContextUriLabel', i18nStrings?.inContextUriLabel)}\n stretch={true}\n >\n <SearchInput\n ref={inputRef}\n value={uri}\n ariaDescribedby={inputAriaDescribedby}\n clearAriaLabel={i18nStrings?.inContextInputClearAriaLabel}\n placeholder={i18n('i18nStrings.inContextInputPlaceholder', i18nStrings?.inContextInputPlaceholder)}\n onChange={handleUriChange}\n invalid={invalid}\n onFocus={() => (isInputBlurredRef.current = false)}\n onBlur={handleUriBlur}\n />\n </InternalFormField>\n {supportsVersions && (\n <InternalFormField\n className={styles['layout-version']}\n label={i18n('i18nStrings.inContextVersionSelectLabel', i18nStrings?.inContextVersionSelectLabel)}\n stretch={true}\n >\n <InternalSelect\n selectedOption={selectedVersion}\n placeholder={i18n('i18nStrings.inContextSelectPlaceholder', i18nStrings?.inContextSelectPlaceholder)}\n disabled={versions.length === 0}\n options={versions}\n onChange={event => onChange({ ...resource, versionId: event.detail.selectedOption.value }, undefined)}\n invalid={false} // invalid state should not highlight the select, only the text input\n />\n </InternalFormField>\n )}\n <div>\n <InternalButton\n className={styles['view-button']}\n disabled={!viewHref}\n href={viewHref}\n target=\"_blank\"\n iconName=\"external\"\n iconAlign=\"right\"\n formAction=\"none\"\n ariaLabel={i18n('i18nStrings.inContextViewButtonAriaLabel', i18nStrings?.inContextViewButtonAriaLabel)}\n >\n {i18n('i18nStrings.inContextViewButton', i18nStrings?.inContextViewButton)}\n </InternalButton>\n </div>\n <div className={styles['layout-divider']} />\n <div>\n <InternalButton className={styles['browse-button']} disabled={loading} formAction=\"none\" onClick={onBrowse}>\n {i18n('i18nStrings.inContextBrowseButton', i18nStrings?.inContextBrowseButton)}\n </InternalButton>\n </div>\n </div>\n\n <div role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\">\n {loading && (\n <InternalBox margin={{ top: 's' }}>\n <InternalStatusIndicator type=\"loading\">\n <LiveRegion visible={true}>\n {i18n('i18nStrings.inContextLoadingText', i18nStrings?.inContextLoadingText)}\n </LiveRegion>\n </InternalStatusIndicator>\n </InternalBox>\n )}\n </div>\n </div>\n );\n }\n);\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ComponentFormatFunction } from '../../internal/i18n/context';
|
|
1
2
|
import { S3ResourceSelectorProps } from '../interfaces';
|
|
2
3
|
export declare function extractBucketName(uri: string): string[];
|
|
3
4
|
export declare function validate(uri: string): "validationPathMustBegin" | "validationBucketLowerCase" | "validationBucketMustNotContain" | "validationBucketLength" | "validationBucketMustComplyDns" | undefined;
|
|
4
|
-
export declare function getErrorText(i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined, errorCode: ReturnType<typeof validate>): string | undefined;
|
|
5
|
+
export declare function getErrorText(i18n: ComponentFormatFunction, i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined, errorCode: ReturnType<typeof validate>): string | undefined;
|
|
5
6
|
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAYxD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,YAG5C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,uKAqBnC;AAED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,EAC5D,SAAS,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,sBAGvC"}
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAYxD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,YAG5C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,uKAqBnC;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,uBAAuB,EAC7B,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,EAC5D,SAAS,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,sBAGvC"}
|
|
@@ -32,7 +32,7 @@ export function validate(uri) {
|
|
|
32
32
|
}
|
|
33
33
|
return undefined;
|
|
34
34
|
}
|
|
35
|
-
export function getErrorText(i18nStrings, errorCode) {
|
|
36
|
-
return errorCode ? i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings[errorCode] : undefined;
|
|
35
|
+
export function getErrorText(i18n, i18nStrings, errorCode) {
|
|
36
|
+
return errorCode ? i18n(`i18nStrings.${errorCode}`, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings[errorCode]) : undefined;
|
|
37
37
|
}
|
|
38
38
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/validation.ts"],"names":[],"mappings":"AAKA,+EAA+E;AAC/E,MAAM,MAAM,GAAG,OAAO,CAAC;AACvB,MAAM,iBAAiB,GAAG,cAAc,CAAC;AACzC,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,QAAQ,GAAG,mFAAmF,CAAC;AAErG,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,IAAI,GAAG,KAAK,EAAE,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE;QAC1C,OAAO,yBAAkC,CAAC;KAC3C;IACD,MAAM,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACvC,OAAO,2BAAoC,CAAC;KAC7C;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACnC,OAAO,gCAAyC,CAAC;KAClD;IACD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE;QACtC,OAAO,wBAAiC,CAAC;KAC1C;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,+BAAwC,CAAC;KACjD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAA6B,EAC7B,WAA4D,EAC5D,SAAsC;IAEtC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5F,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ComponentFormatFunction } from '../../internal/i18n/context';\nimport { S3ResourceSelectorProps } from '../interfaces';\n\n// https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html\nconst SCHEME = 's3://';\nconst BUCKET_FIRST_CHAR = /^[a-z0-9]{1}/;\nconst CAPITAL_LETTER = /[A-Z]/;\nconst DNS_NAME = /^(([a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])$/;\n\nfunction checkBucketNameLength(bucketName: string) {\n return 3 <= bucketName.length && bucketName.length <= 63;\n}\n\nexport function extractBucketName(uri: string) {\n const [bucketName, ...rest] = uri.replace(SCHEME, '').split('/');\n return [bucketName, rest.join('/')];\n}\n\nexport function validate(uri: string) {\n if (uri === '') {\n return undefined;\n }\n if (uri.slice(0, SCHEME.length) !== SCHEME) {\n return 'validationPathMustBegin' as const;\n }\n const [bucketName] = extractBucketName(uri);\n if (!BUCKET_FIRST_CHAR.test(bucketName)) {\n return 'validationBucketLowerCase' as const;\n }\n if (CAPITAL_LETTER.test(bucketName)) {\n return 'validationBucketMustNotContain' as const;\n }\n if (!checkBucketNameLength(bucketName)) {\n return 'validationBucketLength' as const;\n }\n if (!DNS_NAME.test(bucketName)) {\n return 'validationBucketMustComplyDns' as const;\n }\n return undefined;\n}\n\nexport function getErrorText(\n i18n: ComponentFormatFunction,\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined,\n errorCode: ReturnType<typeof validate>\n) {\n return errorCode ? i18n(`i18nStrings.${errorCode}`, i18nStrings?.[errorCode]) : undefined;\n}\n"]}
|
|
@@ -3,6 +3,7 @@ import { PaginationProps } from '../../pagination/interfaces';
|
|
|
3
3
|
import { TableProps } from '../../table/interfaces';
|
|
4
4
|
import { ForwardFocusRef } from '../../internal/hooks/forward-focus';
|
|
5
5
|
import { S3ResourceSelectorProps } from '../interfaces';
|
|
6
|
+
import { ComponentFormatFunction } from '../../internal/i18n/context';
|
|
6
7
|
interface BasicS3TableStrings<T> {
|
|
7
8
|
labelRefresh?: string;
|
|
8
9
|
labelsPagination?: PaginationProps.Labels;
|
|
@@ -28,7 +29,7 @@ interface BasicS3TableProps<T> {
|
|
|
28
29
|
isItemDisabled: TableProps.IsItemDisabled<T> | undefined;
|
|
29
30
|
onSelect: (item: T | undefined) => void;
|
|
30
31
|
}
|
|
31
|
-
export declare function getSharedI18Strings(i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined): {
|
|
32
|
+
export declare function getSharedI18Strings(i18n: ComponentFormatFunction, i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined): {
|
|
32
33
|
filteringCounterText: ((count: number) => string) | undefined;
|
|
33
34
|
labelRefresh: string | undefined;
|
|
34
35
|
labelsPagination: PaginationProps.Labels | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-table.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/basic-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAwB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"basic-table.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/basic-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAwB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,UAAU,mBAAmB,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,uBAAuB,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,UAAU,iBAAiB,CAAC,CAAC;IAG3B,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,EAC7B,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS;;;;;;;EAc7D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,WAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,EACd,QAAQ,GACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,eA4FtB"}
|
|
@@ -10,14 +10,14 @@ import InternalTextFilter from '../../text-filter/internal';
|
|
|
10
10
|
import useForwardFocus from '../../internal/hooks/forward-focus';
|
|
11
11
|
import { useStableEventHandler } from '../../internal/hooks/use-stable-event-handler';
|
|
12
12
|
import { EmptyState } from './empty-state';
|
|
13
|
-
export function getSharedI18Strings(i18nStrings) {
|
|
13
|
+
export function getSharedI18Strings(i18n, i18nStrings) {
|
|
14
14
|
return {
|
|
15
|
-
filteringCounterText: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringCounterText,
|
|
16
|
-
labelRefresh: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelRefresh,
|
|
15
|
+
filteringCounterText: i18n('i18nStrings.filteringCounterText', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringCounterText, format => count => format({ count })),
|
|
16
|
+
labelRefresh: i18n('i18nStrings.labelRefresh', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelRefresh),
|
|
17
17
|
labelsPagination: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelsPagination,
|
|
18
|
-
noMatchTitle: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringNoMatches,
|
|
19
|
-
noMatchSubtitle: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringCantFindMatch,
|
|
20
|
-
clearFilterButtonText: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.clearFilterButtonText,
|
|
18
|
+
noMatchTitle: i18n('i18nStrings.filteringNoMatches', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringNoMatches),
|
|
19
|
+
noMatchSubtitle: i18n('i18nStrings.filteringCantFindMatch', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringCantFindMatch),
|
|
20
|
+
clearFilterButtonText: i18n('i18nStrings.clearFilterButtonText', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.clearFilterButtonText),
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
export function BasicS3Table({ forwardFocusRef, columnDefinitions, fetchData, trackBy, i18nStrings = {}, isVisualRefresh, visibleColumns, isItemDisabled, onSelect, }) {
|
|
@@ -59,6 +59,6 @@ export function BasicS3Table({ forwardFocusRef, columnDefinitions, fetchData, tr
|
|
|
59
59
|
useEffect(() => {
|
|
60
60
|
onSelectLatest(selectedItem);
|
|
61
61
|
}, [selectedItem, onSelectLatest]);
|
|
62
|
-
return (React.createElement(InternalTable, Object.assign({ variant:
|
|
62
|
+
return (React.createElement(InternalTable, Object.assign({ variant: isVisualRefresh ? 'borderless' : 'container' }, collectionProps, { header: React.createElement(InternalHeader, { variant: isVisualRefresh ? 'h3' : 'h2', headingTagOverride: 'h3', actions: React.createElement(InternalButton, { iconName: "refresh", ariaLabel: i18nStrings.labelRefresh, onClick: loadData }), counter: selectedItem ? `(1/${allItems.length})` : `(${allItems.length})` }, i18nStrings.header), trackBy: trackBy, filter: React.createElement(InternalTextFilter, Object.assign({}, filterProps, { ref: textFilterRef, filteringAriaLabel: i18nStrings.filteringAriaLabel, filteringPlaceholder: i18nStrings.filteringPlaceholder, countText: i18nStrings.filteringCounterText ? i18nStrings.filteringCounterText(filteredItemsCount) : '' })), pagination: React.createElement(InternalPagination, Object.assign({}, paginationProps, { ariaLabels: i18nStrings.labelsPagination })), selectionType: "single", ariaLabels: i18nStrings.selectionLabels, loading: loading, loadingText: i18nStrings.loadingText, items: items, visibleColumns: visibleColumns, isItemDisabled: isItemDisabled, columnDefinitions: columnDefinitions })));
|
|
63
63
|
}
|
|
64
64
|
//# sourceMappingURL=basic-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-table.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/basic-table.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,cAAc,MAAM,uBAAuB,CAAC;AAEnD,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAE3D,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAEjD,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,eAAoC,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"basic-table.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/basic-table.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, { useEffect, useState, useRef } from 'react';\nimport { useCollection } from '@cloudscape-design/collection-hooks';\nimport { InternalButton } from '../../button/internal';\nimport InternalHeader from '../../header/internal';\nimport { PaginationProps } from '../../pagination/interfaces';\nimport InternalPagination from '../../pagination/internal';\nimport { TableProps } from '../../table/interfaces';\nimport InternalTable from '../../table/internal';\nimport { TextFilterProps } from '../../text-filter/interfaces';\nimport InternalTextFilter from '../../text-filter/internal';\nimport useForwardFocus, { ForwardFocusRef } from '../../internal/hooks/forward-focus';\nimport { useStableEventHandler } from '../../internal/hooks/use-stable-event-handler';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { EmptyState } from './empty-state';\nimport { ComponentFormatFunction } from '../../internal/i18n/context';\n\ninterface BasicS3TableStrings<T> {\n labelRefresh?: string;\n labelsPagination?: PaginationProps.Labels;\n header?: string;\n loadingText?: string;\n filteringPlaceholder?: string;\n filteringAriaLabel?: string;\n filteringCounterText?: S3ResourceSelectorProps.I18nStrings['filteringCounterText'];\n emptyText?: string;\n noMatchTitle?: string;\n noMatchSubtitle?: string;\n clearFilterButtonText?: string;\n selectionLabels?: TableProps.AriaLabels<T>;\n}\n\ninterface BasicS3TableProps<T> {\n // We do not use idiomatic `ref` prop because it does not allow generics.\n // Option 3 from this solution: https://stackoverflow.com/a/58473012/1297743\n forwardFocusRef: React.Ref<ForwardFocusRef>;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>;\n fetchData: () => Promise<ReadonlyArray<T>>;\n trackBy: TableProps.TrackBy<T>;\n i18nStrings: BasicS3TableStrings<T>;\n isVisualRefresh?: boolean;\n visibleColumns: ReadonlyArray<string>;\n isItemDisabled: TableProps.IsItemDisabled<T> | undefined;\n onSelect: (item: T | undefined) => void;\n}\n\nexport function getSharedI18Strings(\n i18n: ComponentFormatFunction,\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined\n) {\n return {\n filteringCounterText: i18n(\n 'i18nStrings.filteringCounterText',\n i18nStrings?.filteringCounterText,\n format => count => format({ count })\n ),\n labelRefresh: i18n('i18nStrings.labelRefresh', i18nStrings?.labelRefresh),\n labelsPagination: i18nStrings?.labelsPagination,\n noMatchTitle: i18n('i18nStrings.filteringNoMatches', i18nStrings?.filteringNoMatches),\n noMatchSubtitle: i18n('i18nStrings.filteringCantFindMatch', i18nStrings?.filteringCantFindMatch),\n clearFilterButtonText: i18n('i18nStrings.clearFilterButtonText', i18nStrings?.clearFilterButtonText),\n };\n}\n\nexport function BasicS3Table<T>({\n forwardFocusRef,\n columnDefinitions,\n fetchData,\n trackBy,\n i18nStrings = {},\n isVisualRefresh,\n visibleColumns,\n isItemDisabled,\n onSelect,\n}: BasicS3TableProps<T>) {\n const [loading, setLoading] = useState(false);\n const [allItems, setAllItems] = useState<ReadonlyArray<T>>([]);\n const textFilterRef = useRef<TextFilterProps.Ref>(null);\n const onSelectLatest = useStableEventHandler(onSelect);\n\n function loadData() {\n setLoading(true);\n fetchData()\n .then(items => {\n setAllItems(items);\n setLoading(false);\n })\n .catch(() => {\n // error handling should happen on the customer side, outside of this component\n setLoading(false);\n });\n }\n\n useEffect(() => {\n loadData();\n // Data loading is only happening on initial render, or via refresh button\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useForwardFocus(forwardFocusRef, textFilterRef);\n\n const { items, filteredItemsCount, collectionProps, filterProps, paginationProps, actions } = useCollection(\n allItems,\n {\n selection: { trackBy },\n filtering: {\n empty: i18nStrings.emptyText,\n noMatch: (\n <EmptyState\n title={i18nStrings.noMatchTitle}\n subtitle={i18nStrings.noMatchSubtitle}\n action={\n <InternalButton onClick={() => actions.setFiltering('')}>\n {i18nStrings.clearFilterButtonText}\n </InternalButton>\n }\n />\n ),\n },\n pagination: {},\n sorting: {},\n }\n );\n const selectedItem = collectionProps.selectedItems?.[0];\n\n // selectedItem can change internally inside the hook after pagination or filtering\n // useEffect will capture all possible changes\n useEffect(() => {\n onSelectLatest(selectedItem);\n }, [selectedItem, onSelectLatest]);\n\n return (\n <InternalTable<T>\n variant={isVisualRefresh ? 'borderless' : 'container'}\n {...collectionProps}\n header={\n <InternalHeader\n variant={isVisualRefresh ? 'h3' : 'h2'}\n headingTagOverride={'h3'}\n actions={<InternalButton iconName=\"refresh\" ariaLabel={i18nStrings.labelRefresh} onClick={loadData} />}\n counter={selectedItem ? `(1/${allItems.length})` : `(${allItems.length})`}\n >\n {i18nStrings.header}\n </InternalHeader>\n }\n trackBy={trackBy}\n filter={\n <InternalTextFilter\n {...filterProps}\n ref={textFilterRef}\n filteringAriaLabel={i18nStrings.filteringAriaLabel}\n filteringPlaceholder={i18nStrings.filteringPlaceholder}\n countText={i18nStrings.filteringCounterText ? i18nStrings.filteringCounterText(filteredItemsCount!) : ''}\n />\n }\n pagination={<InternalPagination {...paginationProps} ariaLabels={i18nStrings.labelsPagination} />}\n selectionType=\"single\"\n ariaLabels={i18nStrings.selectionLabels}\n loading={loading}\n loadingText={i18nStrings.loadingText}\n items={items}\n visibleColumns={visibleColumns}\n isItemDisabled={isItemDisabled}\n columnDefinitions={columnDefinitions}\n />\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buckets-table.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/buckets-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"buckets-table.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/buckets-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAMxD,UAAU,iBAAiB;IACzB,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACtF,oBAAoB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACtE,SAAS,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACnD,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,wBAAgB,YAAY,CAAC,EAC3B,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,WAAW,EACX,QAAQ,GACT,EAAE,iBAAiB,eAuFnB"}
|
|
@@ -5,12 +5,15 @@ import InternalLink from '../../link/internal';
|
|
|
5
5
|
import { compareDates, getColumnAriaLabel, includes } from './table-utils';
|
|
6
6
|
import { formatDefault } from './column-formats';
|
|
7
7
|
import { BasicS3Table, getSharedI18Strings } from './basic-table';
|
|
8
|
+
import { useInternalI18n } from '../../internal/i18n/context';
|
|
8
9
|
export function BucketsTable({ forwardFocusRef, i18nStrings, isVisualRefresh, isItemDisabled, selectableItemsTypes, fetchData, visibleColumns, onDrilldown, onSelect, }) {
|
|
9
|
-
|
|
10
|
+
var _a, _b, _c, _d;
|
|
11
|
+
const i18n = useInternalI18n('s3-resource-selector');
|
|
12
|
+
return (React.createElement(BasicS3Table, { forwardFocusRef: forwardFocusRef, trackBy: "Name", fetchData: fetchData, visibleColumns: visibleColumns, isItemDisabled: isItemDisabled || (() => !includes(selectableItemsTypes, 'buckets')), i18nStrings: Object.assign(Object.assign({}, getSharedI18Strings(i18n, i18nStrings)), { header: i18n('i18nStrings.selectionBuckets', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBuckets), loadingText: i18n('i18nStrings.selectionBucketsLoading', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBucketsLoading), filteringAriaLabel: (_a = i18n('i18nStrings.labelFiltering', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelFiltering, format => itemsType => format({ itemsType }))) === null || _a === void 0 ? void 0 : _a((_b = i18n('i18nStrings.selectionBuckets', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBuckets)) !== null && _b !== void 0 ? _b : ''), filteringPlaceholder: i18n('i18nStrings.selectionBucketsSearchPlaceholder', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBucketsSearchPlaceholder), emptyText: i18n('i18nStrings.selectionBucketsNoItems', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBucketsNoItems), selectionLabels: Object.assign(Object.assign({}, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelsBucketsSelection), { selectionGroupLabel: i18n('i18nStrings.labelsBucketsSelection.selectionGroupLabel', (_c = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelsBucketsSelection) === null || _c === void 0 ? void 0 : _c.selectionGroupLabel), itemSelectionLabel: i18n('i18nStrings.labelsBucketsSelection.itemSelectionLabel', (_d = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelsBucketsSelection) === null || _d === void 0 ? void 0 : _d.itemSelectionLabel, format => (data, item) => { var _a; return format({ item__Name: (_a = item.Name) !== null && _a !== void 0 ? _a : '' }); }) }) }), isVisualRefresh: isVisualRefresh, columnDefinitions: [
|
|
10
13
|
{
|
|
11
14
|
id: 'Name',
|
|
12
|
-
header: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketName,
|
|
13
|
-
ariaLabel: getColumnAriaLabel(i18nStrings, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketName),
|
|
15
|
+
header: i18n('i18nStrings.columnBucketName', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketName),
|
|
16
|
+
ariaLabel: getColumnAriaLabel(i18n, i18nStrings, i18n('i18nStrings.columnBucketName', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketName)),
|
|
14
17
|
sortingField: 'Name',
|
|
15
18
|
cell: item => {
|
|
16
19
|
const isClickable = includes(selectableItemsTypes, 'objects') || includes(selectableItemsTypes, 'versions');
|
|
@@ -20,15 +23,15 @@ export function BucketsTable({ forwardFocusRef, i18nStrings, isVisualRefresh, is
|
|
|
20
23
|
},
|
|
21
24
|
{
|
|
22
25
|
id: 'CreationDate',
|
|
23
|
-
header: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketCreationDate,
|
|
24
|
-
ariaLabel: getColumnAriaLabel(i18nStrings, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketCreationDate),
|
|
26
|
+
header: i18n('i18nStrings.columnBucketCreationDate', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketCreationDate),
|
|
27
|
+
ariaLabel: getColumnAriaLabel(i18n, i18nStrings, i18n('i18nStrings.columnBucketCreationDate', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketCreationDate)),
|
|
25
28
|
sortingComparator: (a, b) => compareDates(a.CreationDate, b.CreationDate),
|
|
26
29
|
cell: item => formatDefault(item.CreationDate),
|
|
27
30
|
},
|
|
28
31
|
{
|
|
29
32
|
id: 'Region',
|
|
30
|
-
header: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketRegion,
|
|
31
|
-
ariaLabel: getColumnAriaLabel(i18nStrings, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketRegion),
|
|
33
|
+
header: i18n('i18nStrings.columnBucketRegion', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketRegion),
|
|
34
|
+
ariaLabel: getColumnAriaLabel(i18n, i18nStrings, i18n('i18nStrings.columnBucketRegion', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketRegion)),
|
|
32
35
|
sortingField: 'Region',
|
|
33
36
|
cell: item => formatDefault(item.Region),
|
|
34
37
|
minWidth: '150px',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buckets-table.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/buckets-table.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAI/C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"buckets-table.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/buckets-table.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 from 'react';\nimport InternalLink from '../../link/internal';\nimport { TableProps } from '../../table/interfaces';\nimport { ForwardFocusRef } from '../../internal/hooks/forward-focus';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { compareDates, getColumnAriaLabel, includes } from './table-utils';\nimport { formatDefault } from './column-formats';\nimport { BasicS3Table, getSharedI18Strings } from './basic-table';\nimport { useInternalI18n } from '../../internal/i18n/context';\n\ninterface BucketsTableProps {\n forwardFocusRef: React.Ref<ForwardFocusRef>;\n visibleColumns: ReadonlyArray<string>;\n isItemDisabled: TableProps.IsItemDisabled<S3ResourceSelectorProps.Bucket> | undefined;\n selectableItemsTypes: S3ResourceSelectorProps['selectableItemsTypes'];\n fetchData: S3ResourceSelectorProps['fetchBuckets'];\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined;\n isVisualRefresh?: boolean;\n onDrilldown: (path: string) => void;\n onSelect: (uri: string) => void;\n}\n\nexport function BucketsTable({\n forwardFocusRef,\n i18nStrings,\n isVisualRefresh,\n isItemDisabled,\n selectableItemsTypes,\n fetchData,\n visibleColumns,\n onDrilldown,\n onSelect,\n}: BucketsTableProps) {\n const i18n = useInternalI18n('s3-resource-selector');\n\n return (\n <BasicS3Table<S3ResourceSelectorProps.Bucket>\n forwardFocusRef={forwardFocusRef}\n trackBy=\"Name\"\n fetchData={fetchData}\n visibleColumns={visibleColumns}\n isItemDisabled={isItemDisabled || (() => !includes(selectableItemsTypes, 'buckets'))}\n i18nStrings={{\n ...getSharedI18Strings(i18n, i18nStrings),\n header: i18n('i18nStrings.selectionBuckets', i18nStrings?.selectionBuckets),\n loadingText: i18n('i18nStrings.selectionBucketsLoading', i18nStrings?.selectionBucketsLoading),\n filteringAriaLabel: i18n(\n 'i18nStrings.labelFiltering',\n i18nStrings?.labelFiltering,\n format => itemsType => format({ itemsType })\n )?.(i18n('i18nStrings.selectionBuckets', i18nStrings?.selectionBuckets) ?? ''),\n filteringPlaceholder: i18n(\n 'i18nStrings.selectionBucketsSearchPlaceholder',\n i18nStrings?.selectionBucketsSearchPlaceholder\n ),\n emptyText: i18n('i18nStrings.selectionBucketsNoItems', i18nStrings?.selectionBucketsNoItems),\n selectionLabels: {\n ...i18nStrings?.labelsBucketsSelection,\n selectionGroupLabel: i18n(\n 'i18nStrings.labelsBucketsSelection.selectionGroupLabel',\n i18nStrings?.labelsBucketsSelection?.selectionGroupLabel\n ),\n itemSelectionLabel: i18n(\n 'i18nStrings.labelsBucketsSelection.itemSelectionLabel',\n i18nStrings?.labelsBucketsSelection?.itemSelectionLabel,\n format => (data, item) => format({ item__Name: item.Name ?? '' })\n ),\n },\n }}\n isVisualRefresh={isVisualRefresh}\n columnDefinitions={[\n {\n id: 'Name',\n header: i18n('i18nStrings.columnBucketName', i18nStrings?.columnBucketName),\n ariaLabel: getColumnAriaLabel(\n i18n,\n i18nStrings,\n i18n('i18nStrings.columnBucketName', i18nStrings?.columnBucketName)\n ),\n sortingField: 'Name',\n cell: item => {\n const isClickable = includes(selectableItemsTypes, 'objects') || includes(selectableItemsTypes, 'versions');\n return isClickable ? (\n <InternalLink onFollow={() => item.Name && onDrilldown(item.Name)} variant=\"link\">\n {item.Name}\n </InternalLink>\n ) : (\n item.Name\n );\n },\n minWidth: '250px',\n },\n {\n id: 'CreationDate',\n header: i18n('i18nStrings.columnBucketCreationDate', i18nStrings?.columnBucketCreationDate),\n ariaLabel: getColumnAriaLabel(\n i18n,\n i18nStrings,\n i18n('i18nStrings.columnBucketCreationDate', i18nStrings?.columnBucketCreationDate)\n ),\n sortingComparator: (a, b) => compareDates(a.CreationDate, b.CreationDate),\n cell: item => formatDefault(item.CreationDate),\n },\n {\n id: 'Region',\n header: i18n('i18nStrings.columnBucketRegion', i18nStrings?.columnBucketRegion),\n ariaLabel: getColumnAriaLabel(\n i18n,\n i18nStrings,\n i18n('i18nStrings.columnBucketRegion', i18nStrings?.columnBucketRegion)\n ),\n sortingField: 'Region',\n cell: item => formatDefault(item.Region),\n minWidth: '150px',\n },\n ]}\n onSelect={item => onSelect(item?.Name ?? '')}\n />\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAQlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAQlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAQxD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,oBAAoB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACtE,YAAY,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,qBAAqB,EAAE,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;IACxE,YAAY,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,qBAAqB,EAAE,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;IACxE,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACxD,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,sBAAsB,EAAE,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;IAC1E,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC7D,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,KAAK,IAAI,CAAC;CAChE;AA2DD,wBAAgB,OAAO,CAAC,EACtB,WAAW,EACX,KAAK,EACL,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,SAAS,GACV,EAAE,YAAY,eAqHd"}
|