@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.
Files changed (86) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/internal/components/control-group/styles.scss +27 -10
  3. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  4. package/lib/internal/scss/internal/styles/forms/mixins.scss +37 -22
  5. package/lib/internal/scss/modal/styles.scss +6 -0
  6. package/lib/internal/scss/prompt-input/styles.scss +4 -0
  7. package/lib/internal/scss/segmented-control/segment.scss +5 -0
  8. package/lib/internal/scss/segmented-control/styles.scss +12 -2
  9. package/lib/internal/scss/steps/styles.scss +1 -1
  10. package/lib/internal/template/input/internal.d.ts.map +1 -1
  11. package/lib/internal/template/input/internal.js +3 -4
  12. package/lib/internal/template/input/internal.js.map +1 -1
  13. package/lib/internal/template/input/styles.css.js +36 -34
  14. package/lib/internal/template/input/styles.scoped.css +89 -79
  15. package/lib/internal/template/input/styles.selectors.js +36 -34
  16. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  17. package/lib/internal/template/internal/components/button-trigger/index.d.ts +2 -2
  18. package/lib/internal/template/internal/components/button-trigger/index.d.ts.map +1 -1
  19. package/lib/internal/template/internal/components/button-trigger/index.js +3 -2
  20. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  21. package/lib/internal/template/internal/components/button-trigger/styles.css.js +21 -19
  22. package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +49 -39
  23. package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +21 -19
  24. package/lib/internal/template/internal/components/control-group/grouped-control-styles.d.ts +10 -0
  25. package/lib/internal/template/internal/components/control-group/grouped-control-styles.d.ts.map +1 -0
  26. package/lib/internal/template/internal/components/control-group/grouped-control-styles.js +14 -0
  27. package/lib/internal/template/internal/components/control-group/grouped-control-styles.js.map +1 -0
  28. package/lib/internal/template/internal/components/control-group/index.d.ts +3 -1
  29. package/lib/internal/template/internal/components/control-group/index.d.ts.map +1 -1
  30. package/lib/internal/template/internal/components/control-group/index.js +5 -5
  31. package/lib/internal/template/internal/components/control-group/index.js.map +1 -1
  32. package/lib/internal/template/internal/components/control-group/styles.css.js +8 -4
  33. package/lib/internal/template/internal/components/control-group/styles.scoped.css +13 -4
  34. package/lib/internal/template/internal/components/control-group/styles.selectors.js +8 -4
  35. package/lib/internal/template/internal/components/focus-lock/index.d.ts +6 -0
  36. package/lib/internal/template/internal/components/focus-lock/index.d.ts.map +1 -1
  37. package/lib/internal/template/internal/components/focus-lock/index.js +8 -3
  38. package/lib/internal/template/internal/components/focus-lock/index.js.map +1 -1
  39. package/lib/internal/template/internal/context/control-group-context.d.ts +6 -0
  40. package/lib/internal/template/internal/context/control-group-context.d.ts.map +1 -1
  41. package/lib/internal/template/internal/context/control-group-context.js +3 -1
  42. package/lib/internal/template/internal/context/control-group-context.js.map +1 -1
  43. package/lib/internal/template/internal/environment.js +2 -2
  44. package/lib/internal/template/internal/environment.json +2 -2
  45. package/lib/internal/template/modal/index.d.ts +1 -1
  46. package/lib/internal/template/modal/index.d.ts.map +1 -1
  47. package/lib/internal/template/modal/index.js +6 -5
  48. package/lib/internal/template/modal/index.js.map +1 -1
  49. package/lib/internal/template/modal/interfaces.d.ts +7 -0
  50. package/lib/internal/template/modal/interfaces.d.ts.map +1 -1
  51. package/lib/internal/template/modal/interfaces.js.map +1 -1
  52. package/lib/internal/template/modal/internal.js +23 -6
  53. package/lib/internal/template/modal/internal.js.map +1 -1
  54. package/lib/internal/template/modal/styles.css.js +32 -31
  55. package/lib/internal/template/modal/styles.scoped.css +49 -46
  56. package/lib/internal/template/modal/styles.selectors.js +32 -31
  57. package/lib/internal/template/multiselect/internal.d.ts.map +1 -1
  58. package/lib/internal/template/multiselect/internal.js +7 -3
  59. package/lib/internal/template/multiselect/internal.js.map +1 -1
  60. package/lib/internal/template/prompt-input/styles.css.js +26 -26
  61. package/lib/internal/template/prompt-input/styles.scoped.css +57 -53
  62. package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
  63. package/lib/internal/template/segmented-control/internal-segmented-control.d.ts +3 -3
  64. package/lib/internal/template/segmented-control/internal-segmented-control.d.ts.map +1 -1
  65. package/lib/internal/template/segmented-control/internal-segmented-control.js +8 -5
  66. package/lib/internal/template/segmented-control/internal-segmented-control.js.map +1 -1
  67. package/lib/internal/template/segmented-control/internal.d.ts.map +1 -1
  68. package/lib/internal/template/segmented-control/internal.js +4 -6
  69. package/lib/internal/template/segmented-control/internal.js.map +1 -1
  70. package/lib/internal/template/segmented-control/segment.d.ts +1 -0
  71. package/lib/internal/template/segmented-control/segment.d.ts.map +1 -1
  72. package/lib/internal/template/segmented-control/segment.js +2 -2
  73. package/lib/internal/template/segmented-control/segment.js.map +1 -1
  74. package/lib/internal/template/segmented-control/styles.css.js +26 -21
  75. package/lib/internal/template/segmented-control/styles.scoped.css +75 -43
  76. package/lib/internal/template/segmented-control/styles.selectors.js +26 -21
  77. package/lib/internal/template/select/internal.js +2 -2
  78. package/lib/internal/template/select/internal.js.map +1 -1
  79. package/lib/internal/template/select/parts/trigger.d.ts +2 -2
  80. package/lib/internal/template/select/parts/trigger.d.ts.map +1 -1
  81. package/lib/internal/template/select/parts/trigger.js +2 -2
  82. package/lib/internal/template/select/parts/trigger.js.map +1 -1
  83. package/lib/internal/template/steps/styles.css.js +17 -17
  84. package/lib/internal/template/steps/styles.scoped.css +35 -35
  85. package/lib/internal/template/steps/styles.selectors.js +17 -17
  86. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "3bc1f014bf14ee2c1f230a5b2adf595a7a52aab3"
2
+ "commit": "ea381b71fcac6b61d0a81b1c96a90ae8419d9943"
3
3
  }
@@ -9,11 +9,21 @@
9
9
  .root {
10
10
  @include styles.styles-reset;
11
11
  display: flex;
12
- flex-direction: row;
13
- flex-wrap: nowrap;
14
- // Align controls along their bottom edge so their field boxes line up
15
- // even when one control is taller than another.
16
- align-items: flex-end;
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
- // Overlap each non-first slot onto its predecessor by one border width,
31
- // so the two adjacent borders coincide into a single seam.
32
- &.control-middle,
33
- &.control-last {
34
- margin-inline-start: calc(-1 * #{awsui.$border-width-field});
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
  }
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Build environment
3
- $awsui-commit-hash: "3bc1f014";
3
+ $awsui-commit-hash: "ea381b71";
4
4
  // Manually managed CSS-variables
5
5
  $maxContentWidth: --awsui-max-content-width-ka4djm;
6
6
  $minContentWidth: --awsui-min-content-width-ka4djm;
@@ -363,28 +363,43 @@ $inline-label-border-radius: 2px;
363
363
 
364
364
  @mixin grouped-control {
365
365
  $radius: constants.$control-border-radius;
366
- &.grouped-first {
367
- border-start-start-radius: $radius;
368
- border-end-start-radius: $radius;
369
- border-start-end-radius: 0;
370
- border-end-end-radius: 0;
371
- }
372
- &.grouped-middle {
373
- border-start-start-radius: 0;
374
- border-start-end-radius: 0;
375
- border-end-start-radius: 0;
376
- border-end-end-radius: 0;
377
- }
378
- &.grouped-last {
379
- border-start-end-radius: $radius;
380
- border-end-end-radius: $radius;
381
- border-start-start-radius: 0;
382
- border-end-start-radius: 0;
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
- &.grouped-only {
385
- border-start-start-radius: $radius;
386
- border-start-end-radius: $radius;
387
- border-end-start-radius: $radius;
388
- border-end-end-radius: $radius;
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
 
@@ -187,7 +187,7 @@
187
187
  block-size: auto;
188
188
  min-block-size: awsui.$space-static-xs;
189
189
  inset-inline-end: 0;
190
- margin-block: awsui.$space-static-xxs 0;
190
+ margin-block: 0;
191
191
  }
192
192
  }
193
193
 
@@ -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;AAM/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;;AAkUD,wBAA+C"}
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 { position: groupedControlPosition } = useGroupedControlContext();
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 = groupedControlPosition
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-container_2rhyz_1q53f_9",
5
- "input": "awsui_input_2rhyz_1q53f_9",
6
- "input-adorned-container-readonly": "awsui_input-adorned-container-readonly_2rhyz_1q53f_22",
7
- "input-readonly": "awsui_input-readonly_2rhyz_1q53f_22",
8
- "root": "awsui_root_2rhyz_1q53f_35",
9
- "input-invalid": "awsui_input-invalid_2rhyz_1q53f_138",
10
- "input-has-icon-start": "awsui_input-has-icon-start_2rhyz_1q53f_147",
11
- "input-warning": "awsui_input-warning_2rhyz_1q53f_150",
12
- "input-type-search": "awsui_input-type-search_2rhyz_1q53f_162",
13
- "input-has-icon-end": "awsui_input-has-icon-end_2rhyz_1q53f_175",
14
- "input-has-no-border-radius": "awsui_input-has-no-border-radius_2rhyz_1q53f_178",
15
- "grouped": "awsui_grouped_2rhyz_1q53f_185",
16
- "grouped-first": "awsui_grouped-first_2rhyz_1q53f_185",
17
- "grouped-middle": "awsui_grouped-middle_2rhyz_1q53f_191",
18
- "grouped-last": "awsui_grouped-last_2rhyz_1q53f_197",
19
- "grouped-only": "awsui_grouped-only_2rhyz_1q53f_203",
20
- "input-container": "awsui_input-container_2rhyz_1q53f_210",
21
- "input-icon-start": "awsui_input-icon-start_2rhyz_1q53f_215",
22
- "input-icon-end": "awsui_input-icon-end_2rhyz_1q53f_222",
23
- "input-button-right": "awsui_input-button-right_2rhyz_1q53f_228",
24
- "inline-label-trigger-wrapper": "awsui_inline-label-trigger-wrapper_2rhyz_1q53f_232",
25
- "inline-label-trigger-wrapper-full-width": "awsui_inline-label-trigger-wrapper-full-width_2rhyz_1q53f_235",
26
- "inline-label-wrapper": "awsui_inline-label-wrapper_2rhyz_1q53f_239",
27
- "inline-label-wrapper-full-width": "awsui_inline-label-wrapper-full-width_2rhyz_1q53f_242",
28
- "inline-label": "awsui_inline-label_2rhyz_1q53f_232",
29
- "inline-label-disabled": "awsui_inline-label-disabled_2rhyz_1q53f_267",
30
- "input-adorned-container-disabled": "awsui_input-adorned-container-disabled_2rhyz_1q53f_292",
31
- "input-adorned-container-invalid": "awsui_input-adorned-container-invalid_2rhyz_1q53f_300",
32
- "input-adorned-container-warning": "awsui_input-adorned-container-warning_2rhyz_1q53f_313",
33
- "input-prefix": "awsui_input-prefix_2rhyz_1q53f_327",
34
- "input-suffix": "awsui_input-suffix_2rhyz_1q53f_328",
35
- "input-adornment-content": "awsui_input-adornment-content_2rhyz_1q53f_341",
36
- "input-adornment-divider": "awsui_input-adornment-divider_2rhyz_1q53f_350",
37
- "input-adorned": "awsui_input-adorned_2rhyz_1q53f_9"
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