@cloudscape-design/components-themeable 3.0.1383 → 3.0.1385

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 (97) 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/key-value-pairs/styles.scss +9 -2
  6. package/lib/internal/scss/modal/styles.scss +6 -0
  7. package/lib/internal/scss/prompt-input/styles.scss +4 -0
  8. package/lib/internal/scss/segmented-control/segment.scss +5 -0
  9. package/lib/internal/scss/segmented-control/styles.scss +12 -2
  10. package/lib/internal/scss/space-between/styles.scss +8 -0
  11. package/lib/internal/scss/steps/styles.scss +1 -1
  12. package/lib/internal/template/input/internal.d.ts.map +1 -1
  13. package/lib/internal/template/input/internal.js +3 -4
  14. package/lib/internal/template/input/internal.js.map +1 -1
  15. package/lib/internal/template/input/styles.css.js +36 -34
  16. package/lib/internal/template/input/styles.scoped.css +89 -79
  17. package/lib/internal/template/input/styles.selectors.js +36 -34
  18. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  19. package/lib/internal/template/internal/components/button-trigger/index.d.ts +2 -2
  20. package/lib/internal/template/internal/components/button-trigger/index.d.ts.map +1 -1
  21. package/lib/internal/template/internal/components/button-trigger/index.js +3 -2
  22. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  23. package/lib/internal/template/internal/components/button-trigger/styles.css.js +21 -19
  24. package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +49 -39
  25. package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +21 -19
  26. package/lib/internal/template/internal/components/control-group/grouped-control-styles.d.ts +10 -0
  27. package/lib/internal/template/internal/components/control-group/grouped-control-styles.d.ts.map +1 -0
  28. package/lib/internal/template/internal/components/control-group/grouped-control-styles.js +14 -0
  29. package/lib/internal/template/internal/components/control-group/grouped-control-styles.js.map +1 -0
  30. package/lib/internal/template/internal/components/control-group/index.d.ts +3 -1
  31. package/lib/internal/template/internal/components/control-group/index.d.ts.map +1 -1
  32. package/lib/internal/template/internal/components/control-group/index.js +5 -5
  33. package/lib/internal/template/internal/components/control-group/index.js.map +1 -1
  34. package/lib/internal/template/internal/components/control-group/styles.css.js +8 -4
  35. package/lib/internal/template/internal/components/control-group/styles.scoped.css +13 -4
  36. package/lib/internal/template/internal/components/control-group/styles.selectors.js +8 -4
  37. package/lib/internal/template/internal/components/focus-lock/index.d.ts +6 -0
  38. package/lib/internal/template/internal/components/focus-lock/index.d.ts.map +1 -1
  39. package/lib/internal/template/internal/components/focus-lock/index.js +8 -3
  40. package/lib/internal/template/internal/components/focus-lock/index.js.map +1 -1
  41. package/lib/internal/template/internal/context/control-group-context.d.ts +6 -0
  42. package/lib/internal/template/internal/context/control-group-context.d.ts.map +1 -1
  43. package/lib/internal/template/internal/context/control-group-context.js +3 -1
  44. package/lib/internal/template/internal/context/control-group-context.js.map +1 -1
  45. package/lib/internal/template/internal/environment.js +2 -2
  46. package/lib/internal/template/internal/environment.json +2 -2
  47. package/lib/internal/template/key-value-pairs/styles.css.js +8 -8
  48. package/lib/internal/template/key-value-pairs/styles.scoped.css +16 -11
  49. package/lib/internal/template/key-value-pairs/styles.selectors.js +8 -8
  50. package/lib/internal/template/modal/index.d.ts +1 -1
  51. package/lib/internal/template/modal/index.d.ts.map +1 -1
  52. package/lib/internal/template/modal/index.js +6 -5
  53. package/lib/internal/template/modal/index.js.map +1 -1
  54. package/lib/internal/template/modal/interfaces.d.ts +7 -0
  55. package/lib/internal/template/modal/interfaces.d.ts.map +1 -1
  56. package/lib/internal/template/modal/interfaces.js.map +1 -1
  57. package/lib/internal/template/modal/internal.js +23 -6
  58. package/lib/internal/template/modal/internal.js.map +1 -1
  59. package/lib/internal/template/modal/styles.css.js +32 -31
  60. package/lib/internal/template/modal/styles.scoped.css +49 -46
  61. package/lib/internal/template/modal/styles.selectors.js +32 -31
  62. package/lib/internal/template/multiselect/internal.d.ts.map +1 -1
  63. package/lib/internal/template/multiselect/internal.js +7 -3
  64. package/lib/internal/template/multiselect/internal.js.map +1 -1
  65. package/lib/internal/template/prompt-input/styles.css.js +26 -26
  66. package/lib/internal/template/prompt-input/styles.scoped.css +57 -53
  67. package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
  68. package/lib/internal/template/segmented-control/internal-segmented-control.d.ts +3 -3
  69. package/lib/internal/template/segmented-control/internal-segmented-control.d.ts.map +1 -1
  70. package/lib/internal/template/segmented-control/internal-segmented-control.js +8 -5
  71. package/lib/internal/template/segmented-control/internal-segmented-control.js.map +1 -1
  72. package/lib/internal/template/segmented-control/internal.d.ts.map +1 -1
  73. package/lib/internal/template/segmented-control/internal.js +4 -6
  74. package/lib/internal/template/segmented-control/internal.js.map +1 -1
  75. package/lib/internal/template/segmented-control/segment.d.ts +1 -0
  76. package/lib/internal/template/segmented-control/segment.d.ts.map +1 -1
  77. package/lib/internal/template/segmented-control/segment.js +2 -2
  78. package/lib/internal/template/segmented-control/segment.js.map +1 -1
  79. package/lib/internal/template/segmented-control/styles.css.js +26 -21
  80. package/lib/internal/template/segmented-control/styles.scoped.css +75 -43
  81. package/lib/internal/template/segmented-control/styles.selectors.js +26 -21
  82. package/lib/internal/template/select/internal.js +2 -2
  83. package/lib/internal/template/select/internal.js.map +1 -1
  84. package/lib/internal/template/select/parts/trigger.d.ts +2 -2
  85. package/lib/internal/template/select/parts/trigger.d.ts.map +1 -1
  86. package/lib/internal/template/select/parts/trigger.js +2 -2
  87. package/lib/internal/template/select/parts/trigger.js.map +1 -1
  88. package/lib/internal/template/space-between/internal.d.ts.map +1 -1
  89. package/lib/internal/template/space-between/internal.js +2 -1
  90. package/lib/internal/template/space-between/internal.js.map +1 -1
  91. package/lib/internal/template/space-between/styles.css.js +24 -23
  92. package/lib/internal/template/space-between/styles.scoped.css +29 -24
  93. package/lib/internal/template/space-between/styles.selectors.js +24 -23
  94. package/lib/internal/template/steps/styles.css.js +17 -17
  95. package/lib/internal/template/steps/styles.scoped.css +35 -35
  96. package/lib/internal/template/steps/styles.selectors.js +17 -17
  97. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "3bc1f014bf14ee2c1f230a5b2adf595a7a52aab3"
2
+ "commit": "708448a8dd8fcd371362391f23b3355850ead7a8"
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: "708448a8";
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
  }
@@ -26,13 +26,20 @@
26
26
  }
27
27
 
28
28
  .term {
29
+ color: awsui.$color-text-label;
30
+ margin-block-end: awsui.$space-key-value-gap;
31
+ // Prevent inline elements in the label from adding extra space below the term.
32
+ // The internal label and info elements reset the line height to the desired value.
33
+ line-height: 0;
34
+ }
35
+
36
+ .key-label,
37
+ .info {
29
38
  @include styles.font-label(
30
39
  awsui.$font-size-key-value-pairs-label,
31
40
  awsui.$line-height-key-value-pairs-label,
32
41
  awsui.$font-weight-key-value-pairs-label
33
42
  );
34
- color: awsui.$color-text-label;
35
- margin-block-end: awsui.$space-key-value-gap;
36
43
  }
37
44
 
38
45
  .key-label {
@@ -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
 
@@ -80,3 +80,11 @@ $sizes-vertical: (
80
80
  .align-end {
81
81
  align-items: end;
82
82
  }
83
+
84
+ // Propagate `align-items` to the internal wrapper element to prevent possible misalignments.
85
+ // When the consumer-provided content is an inline element shorter than the line height,
86
+ // this component-rendered child can be taller than it, giving room for misalignment.
87
+ .child-aligned {
88
+ display: flex;
89
+ align-items: inherit;
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