@cloudscape-design/components-themeable 3.0.1383 → 3.0.1384
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/internal/components/control-group/styles.scss +27 -10
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
- package/lib/internal/scss/internal/styles/forms/mixins.scss +37 -22
- package/lib/internal/scss/modal/styles.scss +6 -0
- package/lib/internal/scss/prompt-input/styles.scss +4 -0
- package/lib/internal/scss/segmented-control/segment.scss +5 -0
- package/lib/internal/scss/segmented-control/styles.scss +12 -2
- package/lib/internal/scss/steps/styles.scss +1 -1
- package/lib/internal/template/input/internal.d.ts.map +1 -1
- package/lib/internal/template/input/internal.js +3 -4
- package/lib/internal/template/input/internal.js.map +1 -1
- package/lib/internal/template/input/styles.css.js +36 -34
- package/lib/internal/template/input/styles.scoped.css +89 -79
- package/lib/internal/template/input/styles.selectors.js +36 -34
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/components/button-trigger/index.d.ts +2 -2
- package/lib/internal/template/internal/components/button-trigger/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/button-trigger/index.js +3 -2
- package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
- package/lib/internal/template/internal/components/button-trigger/styles.css.js +21 -19
- package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +49 -39
- package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +21 -19
- package/lib/internal/template/internal/components/control-group/grouped-control-styles.d.ts +10 -0
- package/lib/internal/template/internal/components/control-group/grouped-control-styles.d.ts.map +1 -0
- package/lib/internal/template/internal/components/control-group/grouped-control-styles.js +14 -0
- package/lib/internal/template/internal/components/control-group/grouped-control-styles.js.map +1 -0
- package/lib/internal/template/internal/components/control-group/index.d.ts +3 -1
- package/lib/internal/template/internal/components/control-group/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/control-group/index.js +5 -5
- package/lib/internal/template/internal/components/control-group/index.js.map +1 -1
- package/lib/internal/template/internal/components/control-group/styles.css.js +8 -4
- package/lib/internal/template/internal/components/control-group/styles.scoped.css +13 -4
- package/lib/internal/template/internal/components/control-group/styles.selectors.js +8 -4
- package/lib/internal/template/internal/components/focus-lock/index.d.ts +6 -0
- package/lib/internal/template/internal/components/focus-lock/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/focus-lock/index.js +8 -3
- package/lib/internal/template/internal/components/focus-lock/index.js.map +1 -1
- package/lib/internal/template/internal/context/control-group-context.d.ts +6 -0
- package/lib/internal/template/internal/context/control-group-context.d.ts.map +1 -1
- package/lib/internal/template/internal/context/control-group-context.js +3 -1
- package/lib/internal/template/internal/context/control-group-context.js.map +1 -1
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/modal/index.d.ts +1 -1
- package/lib/internal/template/modal/index.d.ts.map +1 -1
- package/lib/internal/template/modal/index.js +6 -5
- package/lib/internal/template/modal/index.js.map +1 -1
- package/lib/internal/template/modal/interfaces.d.ts +7 -0
- package/lib/internal/template/modal/interfaces.d.ts.map +1 -1
- package/lib/internal/template/modal/interfaces.js.map +1 -1
- package/lib/internal/template/modal/internal.js +23 -6
- package/lib/internal/template/modal/internal.js.map +1 -1
- package/lib/internal/template/modal/styles.css.js +32 -31
- package/lib/internal/template/modal/styles.scoped.css +49 -46
- package/lib/internal/template/modal/styles.selectors.js +32 -31
- package/lib/internal/template/multiselect/internal.d.ts.map +1 -1
- package/lib/internal/template/multiselect/internal.js +7 -3
- package/lib/internal/template/multiselect/internal.js.map +1 -1
- package/lib/internal/template/prompt-input/styles.css.js +26 -26
- package/lib/internal/template/prompt-input/styles.scoped.css +57 -53
- package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
- package/lib/internal/template/segmented-control/internal-segmented-control.d.ts +3 -3
- package/lib/internal/template/segmented-control/internal-segmented-control.d.ts.map +1 -1
- package/lib/internal/template/segmented-control/internal-segmented-control.js +8 -5
- package/lib/internal/template/segmented-control/internal-segmented-control.js.map +1 -1
- package/lib/internal/template/segmented-control/internal.d.ts.map +1 -1
- package/lib/internal/template/segmented-control/internal.js +4 -6
- package/lib/internal/template/segmented-control/internal.js.map +1 -1
- package/lib/internal/template/segmented-control/segment.d.ts +1 -0
- package/lib/internal/template/segmented-control/segment.d.ts.map +1 -1
- package/lib/internal/template/segmented-control/segment.js +2 -2
- package/lib/internal/template/segmented-control/segment.js.map +1 -1
- package/lib/internal/template/segmented-control/styles.css.js +26 -21
- package/lib/internal/template/segmented-control/styles.scoped.css +75 -43
- package/lib/internal/template/segmented-control/styles.selectors.js +26 -21
- package/lib/internal/template/select/internal.js +2 -2
- package/lib/internal/template/select/internal.js.map +1 -1
- package/lib/internal/template/select/parts/trigger.d.ts +2 -2
- package/lib/internal/template/select/parts/trigger.d.ts.map +1 -1
- package/lib/internal/template/select/parts/trigger.js +2 -2
- package/lib/internal/template/select/parts/trigger.js.map +1 -1
- package/lib/internal/template/steps/styles.css.js +17 -17
- package/lib/internal/template/steps/styles.scoped.css +35 -35
- package/lib/internal/template/steps/styles.selectors.js +17 -17
- package/package.json +1 -1
|
@@ -9,11 +9,21 @@
|
|
|
9
9
|
.root {
|
|
10
10
|
@include styles.styles-reset;
|
|
11
11
|
display: flex;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
|
|
13
|
+
&-horizontal {
|
|
14
|
+
flex-direction: row;
|
|
15
|
+
flex-wrap: nowrap;
|
|
16
|
+
// Align controls along their bottom edge so their field boxes line up
|
|
17
|
+
// even when one control is taller than another.
|
|
18
|
+
align-items: flex-end;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&-vertical {
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
// Stretch stacked controls to share the group's inline size so their
|
|
24
|
+
// fused block edges line up across the full width.
|
|
25
|
+
align-items: stretch;
|
|
26
|
+
}
|
|
17
27
|
}
|
|
18
28
|
|
|
19
29
|
.control {
|
|
@@ -27,10 +37,17 @@
|
|
|
27
37
|
&:focus-within {
|
|
28
38
|
z-index: 1;
|
|
29
39
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
40
|
+
|
|
41
|
+
&-middle,
|
|
42
|
+
&-last {
|
|
43
|
+
// Overlap each non-first slot onto its predecessor by one border width,
|
|
44
|
+
// so the two adjacent borders coincide into a single seam.
|
|
45
|
+
$margin: calc(-1 * #{awsui.$border-width-field});
|
|
46
|
+
&-horizontal {
|
|
47
|
+
margin-inline-start: $margin;
|
|
48
|
+
}
|
|
49
|
+
&-vertical {
|
|
50
|
+
margin-block-start: $margin;
|
|
51
|
+
}
|
|
35
52
|
}
|
|
36
53
|
}
|
|
@@ -363,28 +363,43 @@ $inline-label-border-radius: 2px;
|
|
|
363
363
|
|
|
364
364
|
@mixin grouped-control {
|
|
365
365
|
$radius: constants.$control-border-radius;
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
366
|
+
|
|
367
|
+
border-start-start-radius: $radius;
|
|
368
|
+
border-start-end-radius: $radius;
|
|
369
|
+
border-end-start-radius: $radius;
|
|
370
|
+
border-end-end-radius: $radius;
|
|
371
|
+
|
|
372
|
+
&-horizontal {
|
|
373
|
+
&-first {
|
|
374
|
+
border-start-end-radius: 0;
|
|
375
|
+
border-end-end-radius: 0;
|
|
376
|
+
}
|
|
377
|
+
&-middle {
|
|
378
|
+
border-start-start-radius: 0;
|
|
379
|
+
border-start-end-radius: 0;
|
|
380
|
+
border-end-start-radius: 0;
|
|
381
|
+
border-end-end-radius: 0;
|
|
382
|
+
}
|
|
383
|
+
&-last {
|
|
384
|
+
border-start-start-radius: 0;
|
|
385
|
+
border-end-start-radius: 0;
|
|
386
|
+
}
|
|
383
387
|
}
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
388
|
+
|
|
389
|
+
&-vertical {
|
|
390
|
+
&-first {
|
|
391
|
+
border-end-start-radius: 0;
|
|
392
|
+
border-end-end-radius: 0;
|
|
393
|
+
}
|
|
394
|
+
&-middle {
|
|
395
|
+
border-start-start-radius: 0;
|
|
396
|
+
border-start-end-radius: 0;
|
|
397
|
+
border-end-start-radius: 0;
|
|
398
|
+
border-end-end-radius: 0;
|
|
399
|
+
}
|
|
400
|
+
&-last {
|
|
401
|
+
border-start-start-radius: 0;
|
|
402
|
+
border-start-end-radius: 0;
|
|
403
|
+
}
|
|
389
404
|
}
|
|
390
405
|
}
|
|
@@ -27,6 +27,12 @@ $modal-z-index: 5000;
|
|
|
27
27
|
|
|
28
28
|
cursor: pointer;
|
|
29
29
|
|
|
30
|
+
// Without a dismiss button the modal is asking the user to choose one of the footer actions,
|
|
31
|
+
// so the overlay shouldn't suggest that clicking it will close the modal.
|
|
32
|
+
&.hide-dismiss-button {
|
|
33
|
+
cursor: default;
|
|
34
|
+
}
|
|
35
|
+
|
|
30
36
|
&.hidden {
|
|
31
37
|
display: none;
|
|
32
38
|
}
|
|
@@ -156,6 +156,8 @@ $invalid-border-offset: constants.$invalid-control-left-padding;
|
|
|
156
156
|
@include styles.styles-reset;
|
|
157
157
|
@include styles.control-border-radius-full();
|
|
158
158
|
@include styles.font-body-m;
|
|
159
|
+
font-size: inherit;
|
|
160
|
+
font-weight: inherit;
|
|
159
161
|
// Restore browsers' default resize values
|
|
160
162
|
resize: none;
|
|
161
163
|
// Restore default text cursor
|
|
@@ -394,4 +396,6 @@ $invalid-border-offset: constants.$invalid-control-left-padding;
|
|
|
394
396
|
white-space: pre-wrap;
|
|
395
397
|
// Inherit color from parent (textarea) for disabled/readonly states
|
|
396
398
|
color: inherit;
|
|
399
|
+
font-size: inherit;
|
|
400
|
+
font-weight: inherit;
|
|
397
401
|
}
|
|
@@ -46,6 +46,11 @@ $segment-radius: calc(awsui.$border-radius-button - (#{awsui.$border-width-field
|
|
|
46
46
|
border-inline: none;
|
|
47
47
|
border-block: none;
|
|
48
48
|
|
|
49
|
+
// Center the text when the segment stretches to full width
|
|
50
|
+
&.full-width {
|
|
51
|
+
justify-content: center;
|
|
52
|
+
}
|
|
53
|
+
|
|
49
54
|
&:not(.refresh) {
|
|
50
55
|
block-size: calc(100% - $segment-gap - (2 * awsui.$border-width-field));
|
|
51
56
|
}
|
|
@@ -49,13 +49,18 @@
|
|
|
49
49
|
display: none;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
&.grouped.grouped-vertical {
|
|
54
|
+
inline-size: 100%;
|
|
55
|
+
box-sizing: border-box;
|
|
56
|
+
}
|
|
52
57
|
}
|
|
53
58
|
|
|
54
59
|
.grouped {
|
|
55
60
|
@include styles.grouped-control;
|
|
56
61
|
|
|
57
|
-
&.grouped-middle,
|
|
58
|
-
&.grouped-last {
|
|
62
|
+
&.grouped-horizontal-middle,
|
|
63
|
+
&.grouped-horizontal-last {
|
|
59
64
|
border-inline-start: none;
|
|
60
65
|
}
|
|
61
66
|
}
|
|
@@ -75,6 +80,11 @@
|
|
|
75
80
|
.segment-count-#{$i} {
|
|
76
81
|
// The repeat syntax is not used since it is broken when using with SASS together
|
|
77
82
|
grid-template-columns: repeat(#{$i}, auto);
|
|
83
|
+
|
|
84
|
+
// Distribute segments evenly across the stretched vertical-group width.
|
|
85
|
+
&.grouped.grouped-vertical {
|
|
86
|
+
grid-template-columns: repeat(#{$i}, 1fr);
|
|
87
|
+
}
|
|
78
88
|
}
|
|
79
89
|
}
|
|
80
90
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/input/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAW3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/input/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAW3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAO/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF,OAA6B,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAKtE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM9F,MAAM,WAAW,kBACf,SAAQ,kBAAkB,EACxB,cAAc,EACd,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EACxB,gBAAgB,EAChB,+BAA+B,EAC/B,0BAA0B;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;IAC3C,WAAW,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEhC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC/D,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;QAAE,aAAa,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAE/E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,8BAA8B,CAAC,EAAE,YAAY,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;;AAgUD,wBAA+C"}
|
|
@@ -8,6 +8,7 @@ import InternalButton from '../button/internal';
|
|
|
8
8
|
import { useInternalI18n } from '../i18n/context';
|
|
9
9
|
import InternalIcon from '../icon/internal';
|
|
10
10
|
import { getBaseProps } from '../internal/base-component';
|
|
11
|
+
import { getGroupedControlClassNames } from '../internal/components/control-group/grouped-control-styles';
|
|
11
12
|
import { ResetGroupedControlContext, useGroupedControlContext } from '../internal/context/control-group-context';
|
|
12
13
|
import { useFormFieldContext } from '../internal/context/form-field-context';
|
|
13
14
|
import { fireKeyboardEvent, fireNonCancelableEvent } from '../internal/events';
|
|
@@ -20,7 +21,7 @@ import styles from './styles.css.js';
|
|
|
20
21
|
function InternalInput({ type = 'text', step, inputMode, autoComplete = true, ariaLabel, clearAriaLabel: clearAriaLabelOverride, name, value, placeholder, autoFocus, disabled, readOnly, disableBrowserAutocorrect, spellcheck, __noBorderRadius, __startIcon, __startIconVariant = 'subtle', __onStartIconClick, ariaRequired, __endIcon, __onEndIconClick, onKeyDown, onKeyUp, onChange, __onDelayedInput, __onBlurWithDetail, onBlur, onFocus, nativeInputAttributes, __internalRootRef, __inheritFormFieldProps, __injectAnalyticsComponentMetadata, __skipNativeAttributesWarnings, __fullWidth, style, prefix, suffix, inlineLabelText, ...rest }, ref) {
|
|
21
22
|
var _a;
|
|
22
23
|
const baseProps = getBaseProps(rest);
|
|
23
|
-
const
|
|
24
|
+
const groupedControlProps = useGroupedControlContext();
|
|
24
25
|
const i18n = useInternalI18n('input');
|
|
25
26
|
const fireDelayedInput = useDebounceCallback((value) => fireNonCancelableEvent(__onDelayedInput, { value }));
|
|
26
27
|
const handleChange = (value) => {
|
|
@@ -52,9 +53,7 @@ function InternalInput({ type = 'text', step, inputMode, autoComplete = true, ar
|
|
|
52
53
|
const hasPrefix = !!prefix;
|
|
53
54
|
const hasSuffix = !!suffix;
|
|
54
55
|
const hasPrefixOrSuffix = hasPrefix || hasSuffix;
|
|
55
|
-
const groupedControlClasses =
|
|
56
|
-
? [styles.grouped, styles[`grouped-${groupedControlPosition}`]]
|
|
57
|
-
: [];
|
|
56
|
+
const groupedControlClasses = getGroupedControlClassNames(styles, groupedControlProps);
|
|
58
57
|
const inputStyles = getInputStyles(style);
|
|
59
58
|
const nativeInputStyles = hasPrefixOrSuffix && inputStyles
|
|
60
59
|
? { ...inputStyles, borderRadius: undefined, borderWidth: undefined }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/input/internal.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, { Ref, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport {\n copyAnalyticsMetadataAttribute,\n getAnalyticsMetadataAttribute,\n} from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalButton from '../button/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { IconProps } from '../icon/interfaces';\nimport InternalIcon from '../icon/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport { ResetGroupedControlContext, useGroupedControlContext } from '../internal/context/control-group-context';\nimport { useFormFieldContext } from '../internal/context/form-field-context';\nimport { fireKeyboardEvent, fireNonCancelableEvent } from '../internal/events';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useDebounceCallback } from '../internal/hooks/use-debounce-callback';\nimport { isDevelopment } from '../internal/is-development';\nimport WithNativeAttributes, { SkipWarnings } from '../internal/utils/with-native-attributes';\nimport { BaseComponentProps } from '../types/base-component';\nimport { NonCancelableEventHandler } from '../types/events';\nimport { FormFieldValidationControlProps } from '../types/form-field';\nimport {\n GeneratedAnalyticsMetadataInputClearInput,\n GeneratedAnalyticsMetadataInputComponent,\n} from './analytics-metadata/interfaces';\nimport { BaseChangeDetail, BaseInputProps, InputAutoCorrect, InputProps } from './interfaces';\nimport { getInputStyles } from './styles';\nimport { convertAutoComplete, useSearchProps } from './utils';\n\nimport styles from './styles.css.js';\n\nexport interface InternalInputProps\n extends BaseComponentProps,\n BaseInputProps,\n Omit<InputProps, 'type'>,\n InputAutoCorrect,\n FormFieldValidationControlProps,\n InternalBaseComponentProps {\n type?: InputProps['type'] | 'visualSearch';\n __startIcon?: IconProps['name'];\n __startIconVariant?: IconProps['variant'];\n __onStartIconClick?: () => void;\n\n __endIcon?: IconProps['name'];\n __onEndIconClick?: () => void;\n\n __noBorderRadius?: boolean;\n\n __onDelayedInput?: NonCancelableEventHandler<BaseChangeDetail>;\n __onBlurWithDetail?: NonCancelableEventHandler<{ relatedTarget: Node | null }>;\n\n __inheritFormFieldProps?: boolean;\n __injectAnalyticsComponentMetadata?: boolean;\n __skipNativeAttributesWarnings?: SkipWarnings;\n __fullWidth?: boolean;\n}\n\nfunction InternalInput(\n {\n type = 'text',\n step,\n inputMode,\n autoComplete = true,\n ariaLabel,\n clearAriaLabel: clearAriaLabelOverride,\n name,\n value,\n placeholder,\n autoFocus,\n disabled,\n readOnly,\n disableBrowserAutocorrect,\n spellcheck,\n __noBorderRadius,\n\n __startIcon,\n __startIconVariant = 'subtle',\n __onStartIconClick,\n\n ariaRequired,\n\n __endIcon,\n __onEndIconClick,\n\n onKeyDown,\n onKeyUp,\n onChange,\n __onDelayedInput,\n __onBlurWithDetail,\n onBlur,\n onFocus,\n nativeInputAttributes,\n __internalRootRef,\n __inheritFormFieldProps,\n __injectAnalyticsComponentMetadata,\n __skipNativeAttributesWarnings,\n __fullWidth,\n style,\n prefix,\n suffix,\n inlineLabelText,\n ...rest\n }: InternalInputProps,\n ref: Ref<HTMLInputElement>\n) {\n const baseProps = getBaseProps(rest);\n const { position: groupedControlPosition } = useGroupedControlContext();\n const i18n = useInternalI18n('input');\n const fireDelayedInput = useDebounceCallback((value: string) => fireNonCancelableEvent(__onDelayedInput, { value }));\n\n const handleChange = (value: string) => {\n fireDelayedInput(value);\n fireNonCancelableEvent(onChange, { value });\n };\n\n const inputRef = useRef<HTMLInputElement>(null);\n const searchProps = useSearchProps(type, disabled, readOnly, value, inputRef, handleChange);\n __startIcon = __startIcon ?? searchProps.__startIcon;\n __endIcon = __endIcon ?? searchProps.__endIcon;\n __onEndIconClick = __onEndIconClick ?? searchProps.__onEndIconClick;\n\n // Search inputs use built-in search and clear icons that would overlap adornments.\n const isSearch = type === 'search' || type === 'visualSearch';\n if (isDevelopment) {\n if (isSearch && (prefix !== undefined || suffix !== undefined)) {\n warnOnce('Input', 'prefix and suffix are ignored when type is search.');\n }\n }\n if (isSearch) {\n prefix = undefined;\n suffix = undefined;\n }\n\n const formFieldContext = useFormFieldContext(rest);\n const {\n ariaLabelledby,\n ariaDescribedby,\n controlId: controlIdFromFormFieldContext,\n invalid,\n warning,\n } = __inheritFormFieldProps ? formFieldContext : rest;\n\n // When an inline label is rendered, the native input must have an id so the\n // label's htmlFor can reference it. Fall back to a generated id if none was provided.\n const generatedControlId = useUniqueId('input');\n const controlId = controlIdFromFormFieldContext ?? (inlineLabelText ? generatedControlId : undefined);\n\n const hasPrefix = !!prefix;\n const hasSuffix = !!suffix;\n const hasPrefixOrSuffix = hasPrefix || hasSuffix;\n\n const groupedControlClasses = groupedControlPosition\n ? [styles.grouped, styles[`grouped-${groupedControlPosition}`]]\n : [];\n\n const inputStyles = getInputStyles(style);\n const nativeInputStyles =\n hasPrefixOrSuffix && inputStyles\n ? { ...inputStyles, borderRadius: undefined, borderWidth: undefined }\n : inputStyles;\n const adornedContainerStyles =\n hasPrefixOrSuffix && inputStyles\n ? { ...inputStyles, paddingBlock: undefined, paddingInline: undefined }\n : undefined;\n\n const attributes: React.InputHTMLAttributes<HTMLInputElement> = {\n 'aria-label': ariaLabel,\n // aria-labelledby has precedence over aria-label in accessible name calculation.\n // When aria-label is provided for Input, it should override aria-labelledBy from form-field context.\n // If both aria-label and aria-labelledby come from Input props, aria-labelledby will be used in accessible name\n 'aria-labelledby': ariaLabel && !rest.ariaLabelledby ? undefined : ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n name,\n placeholder,\n autoFocus,\n id: controlId,\n className: clsx(\n styles.input,\n type && styles[`input-type-${type}`],\n __endIcon && styles['input-has-icon-end'],\n __startIcon && styles['input-has-icon-start'],\n __noBorderRadius && styles['input-has-no-border-radius'],\n !hasPrefixOrSuffix && groupedControlClasses,\n hasPrefixOrSuffix && styles['input-adorned'],\n {\n [styles['input-readonly']]: readOnly,\n [styles['input-invalid']]: invalid && !hasPrefixOrSuffix,\n [styles['input-warning']]: warning && !invalid && !hasPrefixOrSuffix,\n }\n ),\n autoComplete: convertAutoComplete(autoComplete),\n disabled,\n readOnly,\n type,\n step,\n inputMode,\n spellCheck: spellcheck,\n onKeyDown: onKeyDown && (event => fireKeyboardEvent(onKeyDown, event)),\n onKeyUp: onKeyUp && (event => fireKeyboardEvent(onKeyUp, event)),\n // We set a default value on the component in order to force it into the controlled mode.\n value: value ?? '',\n onChange: onChange && (event => handleChange(event.target.value)),\n onBlur: e => {\n fireNonCancelableEvent(onBlur);\n fireNonCancelableEvent(__onBlurWithDetail, { relatedTarget: e.relatedTarget });\n },\n onFocus: onFocus && (() => fireNonCancelableEvent(onFocus)),\n };\n\n if (type === 'number') {\n // Chrome and Safari have a weird built-in behavior of letting focused\n // number inputs be controlled by scrolling on them. However, they don't\n // lock the browser's scroll, so it's very easy to accidentally increment\n // the input while scrolling down the page.\n attributes.onWheel = event => event.currentTarget.blur();\n }\n\n if (disableBrowserAutocorrect) {\n attributes.autoCorrect = 'off';\n attributes.autoCapitalize = 'off';\n }\n\n // ensure aria properties are string literal \"true\"\n if (ariaRequired) {\n attributes['aria-required'] = 'true';\n }\n if (invalid) {\n attributes['aria-invalid'] = 'true';\n }\n\n const mergedRef = useMergeRefs(ref, inputRef);\n\n // type = \"visualSearch\" renders a type=\"text' input\n if (attributes.type === 'visualSearch') {\n attributes.type = 'text';\n }\n\n const componentAnalyticsMetadata: GeneratedAnalyticsMetadataInputComponent = {\n name: 'awsui.Input',\n label: 'input',\n properties: {\n value: value || '',\n },\n };\n\n const mainInput = (\n <WithNativeAttributes\n {...attributes}\n tag=\"input\"\n componentName=\"Input\"\n nativeAttributes={nativeInputAttributes}\n skipWarnings={__skipNativeAttributesWarnings}\n ref={mergedRef}\n style={nativeInputStyles}\n />\n );\n\n const renderedId = nativeInputAttributes?.id ?? controlId;\n\n const endIcon = __endIcon ? (\n <span\n className={styles['input-icon-end']}\n {...(__endIcon === 'close'\n ? getAnalyticsMetadataAttribute({\n action: 'clearInput',\n } as Partial<GeneratedAnalyticsMetadataInputClearInput>)\n : {})}\n >\n <InternalButton\n // Used for test utils\n className={styles['input-button-right']}\n variant=\"inline-icon-pointer-target\"\n formAction=\"none\"\n iconName={__endIcon}\n onClick={__onEndIconClick}\n ariaLabel={i18n('clearAriaLabel', clearAriaLabelOverride)}\n disabled={disabled}\n />\n </span>\n ) : null;\n\n // Root-level props (base component props, root class/ref, and analytics metadata)\n // are applied to the outermost rendered element so the component root always\n // contains the whole component, including the inline label when present.\n const rootProps = {\n ...baseProps,\n className: baseProps.className,\n ref: __internalRootRef,\n ...(__injectAnalyticsComponentMetadata\n ? getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata })\n : copyAnalyticsMetadataAttribute(rest)),\n };\n\n const renderInputWithPrefixSuffix = (\n extraProps: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> } = {}\n ) => (\n <div\n {...extraProps}\n className={clsx(extraProps.className, styles['input-container'])}\n dir={type === 'email' ? 'ltr' : undefined}\n >\n {__startIcon && (\n <span onClick={__onStartIconClick} className={styles['input-icon-start']}>\n <InternalIcon name={__startIcon} variant={disabled ? 'disabled' : readOnly ? 'subtle' : __startIconVariant} />\n </span>\n )}\n {hasPrefixOrSuffix ? (\n // [prefix][divider][input][divider][suffix] - one flex bar owns the border and focus ring.\n <div\n className={clsx(\n styles['input-adorned-container'],\n invalid && styles['input-adorned-container-invalid'],\n warning && !invalid && styles['input-adorned-container-warning'],\n disabled && styles['input-adorned-container-disabled'],\n readOnly && !disabled && styles['input-adorned-container-readonly'],\n groupedControlClasses\n )}\n aria-disabled={disabled || undefined}\n style={adornedContainerStyles}\n >\n {hasPrefix && (\n <>\n <span className={styles['input-prefix']} aria-hidden=\"true\">\n <span className={styles['input-adornment-content']}>\n <ResetGroupedControlContext>{prefix}</ResetGroupedControlContext>\n </span>\n </span>\n <span className={styles['input-adornment-divider']} />\n </>\n )}\n {mainInput}\n {hasSuffix && (\n <>\n <span className={styles['input-adornment-divider']} />\n <span className={styles['input-suffix']} aria-hidden=\"true\">\n <span className={styles['input-adornment-content']}>\n <ResetGroupedControlContext>{suffix}</ResetGroupedControlContext>\n </span>\n </span>\n </>\n )}\n {endIcon}\n </div>\n ) : (\n mainInput\n )}\n {!hasPrefixOrSuffix && endIcon}\n </div>\n );\n\n const inputWithLabel = inlineLabelText ? (\n <div\n {...rootProps}\n className={clsx(\n rootProps.className,\n styles['inline-label-wrapper'],\n __fullWidth && styles['inline-label-wrapper-full-width']\n )}\n >\n <label htmlFor={renderedId} className={clsx(styles['inline-label'], disabled && styles['inline-label-disabled'])}>\n {inlineLabelText}\n </label>\n <div\n className={clsx(\n styles['inline-label-trigger-wrapper'],\n __fullWidth && styles['inline-label-trigger-wrapper-full-width']\n )}\n >\n {renderInputWithPrefixSuffix()}\n </div>\n </div>\n ) : (\n renderInputWithPrefixSuffix(rootProps)\n );\n return inputWithLabel;\n}\n\nexport default React.forwardRef(InternalInput);\n"]}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/input/internal.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, { Ref, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport {\n copyAnalyticsMetadataAttribute,\n getAnalyticsMetadataAttribute,\n} from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalButton from '../button/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { IconProps } from '../icon/interfaces';\nimport InternalIcon from '../icon/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport { getGroupedControlClassNames } from '../internal/components/control-group/grouped-control-styles';\nimport { ResetGroupedControlContext, useGroupedControlContext } from '../internal/context/control-group-context';\nimport { useFormFieldContext } from '../internal/context/form-field-context';\nimport { fireKeyboardEvent, fireNonCancelableEvent } from '../internal/events';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useDebounceCallback } from '../internal/hooks/use-debounce-callback';\nimport { isDevelopment } from '../internal/is-development';\nimport WithNativeAttributes, { SkipWarnings } from '../internal/utils/with-native-attributes';\nimport { BaseComponentProps } from '../types/base-component';\nimport { NonCancelableEventHandler } from '../types/events';\nimport { FormFieldValidationControlProps } from '../types/form-field';\nimport {\n GeneratedAnalyticsMetadataInputClearInput,\n GeneratedAnalyticsMetadataInputComponent,\n} from './analytics-metadata/interfaces';\nimport { BaseChangeDetail, BaseInputProps, InputAutoCorrect, InputProps } from './interfaces';\nimport { getInputStyles } from './styles';\nimport { convertAutoComplete, useSearchProps } from './utils';\n\nimport styles from './styles.css.js';\n\nexport interface InternalInputProps\n extends BaseComponentProps,\n BaseInputProps,\n Omit<InputProps, 'type'>,\n InputAutoCorrect,\n FormFieldValidationControlProps,\n InternalBaseComponentProps {\n type?: InputProps['type'] | 'visualSearch';\n __startIcon?: IconProps['name'];\n __startIconVariant?: IconProps['variant'];\n __onStartIconClick?: () => void;\n\n __endIcon?: IconProps['name'];\n __onEndIconClick?: () => void;\n\n __noBorderRadius?: boolean;\n\n __onDelayedInput?: NonCancelableEventHandler<BaseChangeDetail>;\n __onBlurWithDetail?: NonCancelableEventHandler<{ relatedTarget: Node | null }>;\n\n __inheritFormFieldProps?: boolean;\n __injectAnalyticsComponentMetadata?: boolean;\n __skipNativeAttributesWarnings?: SkipWarnings;\n __fullWidth?: boolean;\n}\n\nfunction InternalInput(\n {\n type = 'text',\n step,\n inputMode,\n autoComplete = true,\n ariaLabel,\n clearAriaLabel: clearAriaLabelOverride,\n name,\n value,\n placeholder,\n autoFocus,\n disabled,\n readOnly,\n disableBrowserAutocorrect,\n spellcheck,\n __noBorderRadius,\n\n __startIcon,\n __startIconVariant = 'subtle',\n __onStartIconClick,\n\n ariaRequired,\n\n __endIcon,\n __onEndIconClick,\n\n onKeyDown,\n onKeyUp,\n onChange,\n __onDelayedInput,\n __onBlurWithDetail,\n onBlur,\n onFocus,\n nativeInputAttributes,\n __internalRootRef,\n __inheritFormFieldProps,\n __injectAnalyticsComponentMetadata,\n __skipNativeAttributesWarnings,\n __fullWidth,\n style,\n prefix,\n suffix,\n inlineLabelText,\n ...rest\n }: InternalInputProps,\n ref: Ref<HTMLInputElement>\n) {\n const baseProps = getBaseProps(rest);\n const groupedControlProps = useGroupedControlContext();\n const i18n = useInternalI18n('input');\n const fireDelayedInput = useDebounceCallback((value: string) => fireNonCancelableEvent(__onDelayedInput, { value }));\n\n const handleChange = (value: string) => {\n fireDelayedInput(value);\n fireNonCancelableEvent(onChange, { value });\n };\n\n const inputRef = useRef<HTMLInputElement>(null);\n const searchProps = useSearchProps(type, disabled, readOnly, value, inputRef, handleChange);\n __startIcon = __startIcon ?? searchProps.__startIcon;\n __endIcon = __endIcon ?? searchProps.__endIcon;\n __onEndIconClick = __onEndIconClick ?? searchProps.__onEndIconClick;\n\n // Search inputs use built-in search and clear icons that would overlap adornments.\n const isSearch = type === 'search' || type === 'visualSearch';\n if (isDevelopment) {\n if (isSearch && (prefix !== undefined || suffix !== undefined)) {\n warnOnce('Input', 'prefix and suffix are ignored when type is search.');\n }\n }\n if (isSearch) {\n prefix = undefined;\n suffix = undefined;\n }\n\n const formFieldContext = useFormFieldContext(rest);\n const {\n ariaLabelledby,\n ariaDescribedby,\n controlId: controlIdFromFormFieldContext,\n invalid,\n warning,\n } = __inheritFormFieldProps ? formFieldContext : rest;\n\n // When an inline label is rendered, the native input must have an id so the\n // label's htmlFor can reference it. Fall back to a generated id if none was provided.\n const generatedControlId = useUniqueId('input');\n const controlId = controlIdFromFormFieldContext ?? (inlineLabelText ? generatedControlId : undefined);\n\n const hasPrefix = !!prefix;\n const hasSuffix = !!suffix;\n const hasPrefixOrSuffix = hasPrefix || hasSuffix;\n\n const groupedControlClasses = getGroupedControlClassNames(styles, groupedControlProps);\n\n const inputStyles = getInputStyles(style);\n const nativeInputStyles =\n hasPrefixOrSuffix && inputStyles\n ? { ...inputStyles, borderRadius: undefined, borderWidth: undefined }\n : inputStyles;\n const adornedContainerStyles =\n hasPrefixOrSuffix && inputStyles\n ? { ...inputStyles, paddingBlock: undefined, paddingInline: undefined }\n : undefined;\n\n const attributes: React.InputHTMLAttributes<HTMLInputElement> = {\n 'aria-label': ariaLabel,\n // aria-labelledby has precedence over aria-label in accessible name calculation.\n // When aria-label is provided for Input, it should override aria-labelledBy from form-field context.\n // If both aria-label and aria-labelledby come from Input props, aria-labelledby will be used in accessible name\n 'aria-labelledby': ariaLabel && !rest.ariaLabelledby ? undefined : ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n name,\n placeholder,\n autoFocus,\n id: controlId,\n className: clsx(\n styles.input,\n type && styles[`input-type-${type}`],\n __endIcon && styles['input-has-icon-end'],\n __startIcon && styles['input-has-icon-start'],\n __noBorderRadius && styles['input-has-no-border-radius'],\n !hasPrefixOrSuffix && groupedControlClasses,\n hasPrefixOrSuffix && styles['input-adorned'],\n {\n [styles['input-readonly']]: readOnly,\n [styles['input-invalid']]: invalid && !hasPrefixOrSuffix,\n [styles['input-warning']]: warning && !invalid && !hasPrefixOrSuffix,\n }\n ),\n autoComplete: convertAutoComplete(autoComplete),\n disabled,\n readOnly,\n type,\n step,\n inputMode,\n spellCheck: spellcheck,\n onKeyDown: onKeyDown && (event => fireKeyboardEvent(onKeyDown, event)),\n onKeyUp: onKeyUp && (event => fireKeyboardEvent(onKeyUp, event)),\n // We set a default value on the component in order to force it into the controlled mode.\n value: value ?? '',\n onChange: onChange && (event => handleChange(event.target.value)),\n onBlur: e => {\n fireNonCancelableEvent(onBlur);\n fireNonCancelableEvent(__onBlurWithDetail, { relatedTarget: e.relatedTarget });\n },\n onFocus: onFocus && (() => fireNonCancelableEvent(onFocus)),\n };\n\n if (type === 'number') {\n // Chrome and Safari have a weird built-in behavior of letting focused\n // number inputs be controlled by scrolling on them. However, they don't\n // lock the browser's scroll, so it's very easy to accidentally increment\n // the input while scrolling down the page.\n attributes.onWheel = event => event.currentTarget.blur();\n }\n\n if (disableBrowserAutocorrect) {\n attributes.autoCorrect = 'off';\n attributes.autoCapitalize = 'off';\n }\n\n // ensure aria properties are string literal \"true\"\n if (ariaRequired) {\n attributes['aria-required'] = 'true';\n }\n if (invalid) {\n attributes['aria-invalid'] = 'true';\n }\n\n const mergedRef = useMergeRefs(ref, inputRef);\n\n // type = \"visualSearch\" renders a type=\"text' input\n if (attributes.type === 'visualSearch') {\n attributes.type = 'text';\n }\n\n const componentAnalyticsMetadata: GeneratedAnalyticsMetadataInputComponent = {\n name: 'awsui.Input',\n label: 'input',\n properties: {\n value: value || '',\n },\n };\n\n const mainInput = (\n <WithNativeAttributes\n {...attributes}\n tag=\"input\"\n componentName=\"Input\"\n nativeAttributes={nativeInputAttributes}\n skipWarnings={__skipNativeAttributesWarnings}\n ref={mergedRef}\n style={nativeInputStyles}\n />\n );\n\n const renderedId = nativeInputAttributes?.id ?? controlId;\n\n const endIcon = __endIcon ? (\n <span\n className={styles['input-icon-end']}\n {...(__endIcon === 'close'\n ? getAnalyticsMetadataAttribute({\n action: 'clearInput',\n } as Partial<GeneratedAnalyticsMetadataInputClearInput>)\n : {})}\n >\n <InternalButton\n // Used for test utils\n className={styles['input-button-right']}\n variant=\"inline-icon-pointer-target\"\n formAction=\"none\"\n iconName={__endIcon}\n onClick={__onEndIconClick}\n ariaLabel={i18n('clearAriaLabel', clearAriaLabelOverride)}\n disabled={disabled}\n />\n </span>\n ) : null;\n\n // Root-level props (base component props, root class/ref, and analytics metadata)\n // are applied to the outermost rendered element so the component root always\n // contains the whole component, including the inline label when present.\n const rootProps = {\n ...baseProps,\n className: baseProps.className,\n ref: __internalRootRef,\n ...(__injectAnalyticsComponentMetadata\n ? getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata })\n : copyAnalyticsMetadataAttribute(rest)),\n };\n\n const renderInputWithPrefixSuffix = (\n extraProps: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> } = {}\n ) => (\n <div\n {...extraProps}\n className={clsx(extraProps.className, styles['input-container'])}\n dir={type === 'email' ? 'ltr' : undefined}\n >\n {__startIcon && (\n <span onClick={__onStartIconClick} className={styles['input-icon-start']}>\n <InternalIcon name={__startIcon} variant={disabled ? 'disabled' : readOnly ? 'subtle' : __startIconVariant} />\n </span>\n )}\n {hasPrefixOrSuffix ? (\n // [prefix][divider][input][divider][suffix] - one flex bar owns the border and focus ring.\n <div\n className={clsx(\n styles['input-adorned-container'],\n invalid && styles['input-adorned-container-invalid'],\n warning && !invalid && styles['input-adorned-container-warning'],\n disabled && styles['input-adorned-container-disabled'],\n readOnly && !disabled && styles['input-adorned-container-readonly'],\n groupedControlClasses\n )}\n aria-disabled={disabled || undefined}\n style={adornedContainerStyles}\n >\n {hasPrefix && (\n <>\n <span className={styles['input-prefix']} aria-hidden=\"true\">\n <span className={styles['input-adornment-content']}>\n <ResetGroupedControlContext>{prefix}</ResetGroupedControlContext>\n </span>\n </span>\n <span className={styles['input-adornment-divider']} />\n </>\n )}\n {mainInput}\n {hasSuffix && (\n <>\n <span className={styles['input-adornment-divider']} />\n <span className={styles['input-suffix']} aria-hidden=\"true\">\n <span className={styles['input-adornment-content']}>\n <ResetGroupedControlContext>{suffix}</ResetGroupedControlContext>\n </span>\n </span>\n </>\n )}\n {endIcon}\n </div>\n ) : (\n mainInput\n )}\n {!hasPrefixOrSuffix && endIcon}\n </div>\n );\n\n const inputWithLabel = inlineLabelText ? (\n <div\n {...rootProps}\n className={clsx(\n rootProps.className,\n styles['inline-label-wrapper'],\n __fullWidth && styles['inline-label-wrapper-full-width']\n )}\n >\n <label htmlFor={renderedId} className={clsx(styles['inline-label'], disabled && styles['inline-label-disabled'])}>\n {inlineLabelText}\n </label>\n <div\n className={clsx(\n styles['inline-label-trigger-wrapper'],\n __fullWidth && styles['inline-label-trigger-wrapper-full-width']\n )}\n >\n {renderInputWithPrefixSuffix()}\n </div>\n </div>\n ) : (\n renderInputWithPrefixSuffix(rootProps)\n );\n return inputWithLabel;\n}\n\nexport default React.forwardRef(InternalInput);\n"]}
|
|
@@ -1,39 +1,41 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"input-adorned-container": "awsui_input-adorned-
|
|
5
|
-
"input": "
|
|
6
|
-
"input-adorned-container-readonly": "awsui_input-adorned-container-
|
|
7
|
-
"input-readonly": "awsui_input-
|
|
8
|
-
"root": "
|
|
9
|
-
"input-invalid": "awsui_input-
|
|
10
|
-
"input-has-icon-start": "awsui_input-has-icon-
|
|
11
|
-
"input-warning": "awsui_input-
|
|
12
|
-
"input-type-search": "awsui_input-type-
|
|
13
|
-
"input-has-icon-end": "awsui_input-has-icon-
|
|
14
|
-
"input-has-no-border-radius": "awsui_input-has-no-border-
|
|
15
|
-
"grouped": "
|
|
16
|
-
"grouped-first": "awsui_grouped-
|
|
17
|
-
"grouped-middle": "awsui_grouped-
|
|
18
|
-
"grouped-last": "awsui_grouped-
|
|
19
|
-
"grouped-
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"input-
|
|
23
|
-
"input-
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"inline-label-wrapper": "awsui_inline-label-
|
|
27
|
-
"inline-label-wrapper-full-width": "awsui_inline-label-wrapper-full-
|
|
28
|
-
"inline-label": "awsui_inline-
|
|
29
|
-
"inline-label-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"input-adorned-container-
|
|
33
|
-
"input-
|
|
34
|
-
"input-
|
|
35
|
-
"input-
|
|
36
|
-
"input-
|
|
37
|
-
"input-
|
|
4
|
+
"input-adorned-container": "awsui_input-adorned-container_2rhyz_32ma4_9",
|
|
5
|
+
"input": "awsui_input_2rhyz_32ma4_9",
|
|
6
|
+
"input-adorned-container-readonly": "awsui_input-adorned-container-readonly_2rhyz_32ma4_22",
|
|
7
|
+
"input-readonly": "awsui_input-readonly_2rhyz_32ma4_22",
|
|
8
|
+
"root": "awsui_root_2rhyz_32ma4_35",
|
|
9
|
+
"input-invalid": "awsui_input-invalid_2rhyz_32ma4_138",
|
|
10
|
+
"input-has-icon-start": "awsui_input-has-icon-start_2rhyz_32ma4_147",
|
|
11
|
+
"input-warning": "awsui_input-warning_2rhyz_32ma4_150",
|
|
12
|
+
"input-type-search": "awsui_input-type-search_2rhyz_32ma4_162",
|
|
13
|
+
"input-has-icon-end": "awsui_input-has-icon-end_2rhyz_32ma4_175",
|
|
14
|
+
"input-has-no-border-radius": "awsui_input-has-no-border-radius_2rhyz_32ma4_178",
|
|
15
|
+
"grouped": "awsui_grouped_2rhyz_32ma4_185",
|
|
16
|
+
"grouped-horizontal-first": "awsui_grouped-horizontal-first_2rhyz_32ma4_191",
|
|
17
|
+
"grouped-horizontal-middle": "awsui_grouped-horizontal-middle_2rhyz_32ma4_195",
|
|
18
|
+
"grouped-horizontal-last": "awsui_grouped-horizontal-last_2rhyz_32ma4_201",
|
|
19
|
+
"grouped-vertical-first": "awsui_grouped-vertical-first_2rhyz_32ma4_205",
|
|
20
|
+
"grouped-vertical-middle": "awsui_grouped-vertical-middle_2rhyz_32ma4_209",
|
|
21
|
+
"grouped-vertical-last": "awsui_grouped-vertical-last_2rhyz_32ma4_215",
|
|
22
|
+
"input-container": "awsui_input-container_2rhyz_32ma4_220",
|
|
23
|
+
"input-icon-start": "awsui_input-icon-start_2rhyz_32ma4_225",
|
|
24
|
+
"input-icon-end": "awsui_input-icon-end_2rhyz_32ma4_232",
|
|
25
|
+
"input-button-right": "awsui_input-button-right_2rhyz_32ma4_238",
|
|
26
|
+
"inline-label-trigger-wrapper": "awsui_inline-label-trigger-wrapper_2rhyz_32ma4_242",
|
|
27
|
+
"inline-label-trigger-wrapper-full-width": "awsui_inline-label-trigger-wrapper-full-width_2rhyz_32ma4_245",
|
|
28
|
+
"inline-label-wrapper": "awsui_inline-label-wrapper_2rhyz_32ma4_249",
|
|
29
|
+
"inline-label-wrapper-full-width": "awsui_inline-label-wrapper-full-width_2rhyz_32ma4_252",
|
|
30
|
+
"inline-label": "awsui_inline-label_2rhyz_32ma4_242",
|
|
31
|
+
"inline-label-disabled": "awsui_inline-label-disabled_2rhyz_32ma4_277",
|
|
32
|
+
"input-adorned-container-disabled": "awsui_input-adorned-container-disabled_2rhyz_32ma4_302",
|
|
33
|
+
"input-adorned-container-invalid": "awsui_input-adorned-container-invalid_2rhyz_32ma4_310",
|
|
34
|
+
"input-adorned-container-warning": "awsui_input-adorned-container-warning_2rhyz_32ma4_323",
|
|
35
|
+
"input-prefix": "awsui_input-prefix_2rhyz_32ma4_337",
|
|
36
|
+
"input-suffix": "awsui_input-suffix_2rhyz_32ma4_338",
|
|
37
|
+
"input-adornment-content": "awsui_input-adornment-content_2rhyz_32ma4_351",
|
|
38
|
+
"input-adornment-divider": "awsui_input-adornment-divider_2rhyz_32ma4_360",
|
|
39
|
+
"input-adorned": "awsui_input-adorned_2rhyz_32ma4_9"
|
|
38
40
|
};
|
|
39
41
|
|