@cloudscape-design/components-themeable 3.0.28 → 3.0.29

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 (124) hide show
  1. package/lib/internal/scss/popover/body.scss +4 -0
  2. package/lib/internal/template/breadcrumb-group/internal.d.ts.map +1 -1
  3. package/lib/internal/template/breadcrumb-group/internal.js +4 -4
  4. package/lib/internal/template/breadcrumb-group/internal.js.map +1 -1
  5. package/lib/internal/template/button-dropdown/interfaces.d.ts +1 -1
  6. package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
  7. package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
  8. package/lib/internal/template/button-dropdown/internal.js +1 -1
  9. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  10. package/lib/internal/template/date-picker/calendar/index.d.ts.map +1 -1
  11. package/lib/internal/template/date-picker/calendar/index.js +2 -1
  12. package/lib/internal/template/date-picker/calendar/index.js.map +1 -1
  13. package/lib/internal/template/date-picker/calendar/utils/memoized-date.d.ts +2 -0
  14. package/lib/internal/template/date-picker/calendar/utils/memoized-date.d.ts.map +1 -0
  15. package/lib/internal/template/date-picker/calendar/utils/memoized-date.js +13 -0
  16. package/lib/internal/template/date-picker/calendar/utils/memoized-date.js.map +1 -0
  17. package/lib/internal/template/date-picker/embedded.js +1 -1
  18. package/lib/internal/template/date-picker/embedded.js.map +1 -1
  19. package/lib/internal/template/date-picker/index.js +1 -1
  20. package/lib/internal/template/date-picker/index.js.map +1 -1
  21. package/lib/internal/template/date-picker/use-date-picker.d.ts.map +1 -1
  22. package/lib/internal/template/date-picker/use-date-picker.js +1 -1
  23. package/lib/internal/template/date-picker/use-date-picker.js.map +1 -1
  24. package/lib/internal/template/date-range-picker/calendar/grids/day/index.js +1 -1
  25. package/lib/internal/template/date-range-picker/calendar/grids/day/index.js.map +1 -1
  26. package/lib/internal/template/date-range-picker/calendar/index.d.ts.map +1 -1
  27. package/lib/internal/template/date-range-picker/calendar/index.js +3 -3
  28. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  29. package/lib/internal/template/date-range-picker/index.d.ts.map +1 -1
  30. package/lib/internal/template/date-range-picker/index.js +4 -4
  31. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  32. package/lib/internal/template/date-range-picker/time-offset.d.ts +0 -7
  33. package/lib/internal/template/date-range-picker/time-offset.d.ts.map +1 -1
  34. package/lib/internal/template/date-range-picker/time-offset.js +4 -60
  35. package/lib/internal/template/date-range-picker/time-offset.js.map +1 -1
  36. package/lib/internal/template/icon/icons.js +1 -1
  37. package/lib/internal/template/icon/interfaces.d.ts +1 -1
  38. package/lib/internal/template/icon/interfaces.d.ts.map +1 -1
  39. package/lib/internal/template/icon/interfaces.js.map +1 -1
  40. package/lib/internal/template/internal/components/date-input/index.d.ts.map +1 -1
  41. package/lib/internal/template/internal/components/date-input/index.js +3 -2
  42. package/lib/internal/template/internal/components/date-input/index.js.map +1 -1
  43. package/lib/internal/template/internal/components/masked-input/utils/mask-format.d.ts.map +1 -1
  44. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js +2 -1
  45. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js.map +1 -1
  46. package/lib/internal/template/internal/components/masked-input/utils/strings.d.ts +0 -1
  47. package/lib/internal/template/internal/components/masked-input/utils/strings.d.ts.map +1 -1
  48. package/lib/internal/template/internal/components/masked-input/utils/strings.js +0 -6
  49. package/lib/internal/template/internal/components/masked-input/utils/strings.js.map +1 -1
  50. package/lib/internal/template/internal/environment.js +1 -1
  51. package/lib/internal/template/internal/utils/date-time/display-format.d.ts +9 -0
  52. package/lib/internal/template/internal/utils/date-time/display-format.d.ts.map +1 -0
  53. package/lib/internal/template/internal/utils/date-time/display-format.js +15 -0
  54. package/lib/internal/template/internal/utils/date-time/display-format.js.map +1 -0
  55. package/lib/internal/template/internal/utils/date-time/format-date.d.ts +7 -0
  56. package/lib/internal/template/internal/utils/date-time/format-date.d.ts.map +1 -0
  57. package/lib/internal/template/internal/utils/date-time/format-date.js +15 -0
  58. package/lib/internal/template/internal/utils/date-time/format-date.js.map +1 -0
  59. package/lib/internal/template/internal/utils/date-time/format-time.d.ts +5 -0
  60. package/lib/internal/template/internal/utils/date-time/format-time.d.ts.map +1 -0
  61. package/lib/internal/template/internal/utils/date-time/format-time.js +13 -0
  62. package/lib/internal/template/internal/utils/date-time/format-time.js.map +1 -0
  63. package/lib/internal/template/internal/utils/date-time/format-timezone-offset.d.ts +2 -0
  64. package/lib/internal/template/internal/utils/date-time/format-timezone-offset.d.ts.map +1 -0
  65. package/lib/internal/template/internal/utils/date-time/format-timezone-offset.js +11 -0
  66. package/lib/internal/template/internal/utils/date-time/format-timezone-offset.js.map +1 -0
  67. package/lib/internal/template/internal/utils/date-time/get-browser-timezone-offset.d.ts +7 -0
  68. package/lib/internal/template/internal/utils/date-time/get-browser-timezone-offset.d.ts.map +1 -0
  69. package/lib/internal/template/internal/utils/date-time/get-browser-timezone-offset.js +11 -0
  70. package/lib/internal/template/internal/utils/date-time/get-browser-timezone-offset.js.map +1 -0
  71. package/lib/internal/template/internal/utils/date-time/index.d.ts +11 -0
  72. package/lib/internal/template/internal/utils/date-time/index.d.ts.map +1 -0
  73. package/lib/internal/template/internal/utils/date-time/index.js +13 -0
  74. package/lib/internal/template/internal/utils/date-time/index.js.map +1 -0
  75. package/lib/internal/template/internal/utils/date-time/is-iso-date-only.d.ts +5 -0
  76. package/lib/internal/template/internal/utils/date-time/is-iso-date-only.d.ts.map +1 -0
  77. package/lib/internal/template/internal/utils/date-time/is-iso-date-only.js +10 -0
  78. package/lib/internal/template/internal/utils/date-time/is-iso-date-only.js.map +1 -0
  79. package/lib/internal/template/internal/utils/date-time/join-date-time.d.ts +2 -0
  80. package/lib/internal/template/internal/utils/date-time/join-date-time.d.ts.map +1 -0
  81. package/lib/internal/template/internal/utils/date-time/join-date-time.js +6 -0
  82. package/lib/internal/template/internal/utils/date-time/join-date-time.js.map +1 -0
  83. package/lib/internal/template/internal/utils/date-time/parse-date.d.ts +8 -0
  84. package/lib/internal/template/internal/utils/date-time/parse-date.d.ts.map +1 -0
  85. package/lib/internal/template/internal/utils/date-time/parse-date.js +16 -0
  86. package/lib/internal/template/internal/utils/date-time/parse-date.js.map +1 -0
  87. package/lib/internal/template/internal/utils/date-time/parse-timezone-offset.d.ts +5 -0
  88. package/lib/internal/template/internal/utils/date-time/parse-timezone-offset.d.ts.map +1 -0
  89. package/lib/internal/template/internal/utils/date-time/parse-timezone-offset.js +20 -0
  90. package/lib/internal/template/internal/utils/date-time/parse-timezone-offset.js.map +1 -0
  91. package/lib/internal/template/internal/utils/date-time/shift-timezone-offset.d.ts +12 -0
  92. package/lib/internal/template/internal/utils/date-time/shift-timezone-offset.d.ts.map +1 -0
  93. package/lib/internal/template/internal/utils/date-time/shift-timezone-offset.js +27 -0
  94. package/lib/internal/template/internal/utils/date-time/shift-timezone-offset.js.map +1 -0
  95. package/lib/internal/template/internal/utils/strings/index.d.ts +3 -0
  96. package/lib/internal/template/internal/utils/strings/index.d.ts.map +1 -0
  97. package/lib/internal/template/internal/utils/strings/index.js +5 -0
  98. package/lib/internal/template/internal/utils/strings/index.js.map +1 -0
  99. package/lib/internal/template/internal/utils/strings/join-strings.d.ts +5 -0
  100. package/lib/internal/template/internal/utils/strings/join-strings.d.ts.map +1 -0
  101. package/lib/internal/template/internal/utils/{strings.js → strings/join-strings.js} +7 -6
  102. package/lib/internal/template/internal/utils/strings/join-strings.js.map +1 -0
  103. package/lib/internal/template/internal/utils/strings/pad-left-zeros.d.ts +5 -0
  104. package/lib/internal/template/internal/utils/strings/pad-left-zeros.d.ts.map +1 -0
  105. package/lib/internal/template/internal/utils/strings/pad-left-zeros.js +12 -0
  106. package/lib/internal/template/internal/utils/strings/pad-left-zeros.js.map +1 -0
  107. package/lib/internal/template/popover/styles.css.js +48 -48
  108. package/lib/internal/template/popover/styles.scoped.css +65 -60
  109. package/lib/internal/template/popover/styles.selectors.js +48 -48
  110. package/lib/internal/template/split-panel/index.d.ts.map +1 -1
  111. package/lib/internal/template/split-panel/index.js +2 -2
  112. package/lib/internal/template/split-panel/index.js.map +1 -1
  113. package/package.json +1 -1
  114. package/lib/internal/template/date-picker/calendar/utils/date.d.ts +0 -10
  115. package/lib/internal/template/date-picker/calendar/utils/date.d.ts.map +0 -1
  116. package/lib/internal/template/date-picker/calendar/utils/date.js +0 -50
  117. package/lib/internal/template/date-picker/calendar/utils/date.js.map +0 -1
  118. package/lib/internal/template/internal/components/date-input/utils/date.d.ts +0 -5
  119. package/lib/internal/template/internal/components/date-input/utils/date.d.ts.map +0 -1
  120. package/lib/internal/template/internal/components/date-input/utils/date.js +0 -11
  121. package/lib/internal/template/internal/components/date-input/utils/date.js.map +0 -1
  122. package/lib/internal/template/internal/utils/strings.d.ts +0 -2
  123. package/lib/internal/template/internal/utils/strings.d.ts.map +0 -1
  124. package/lib/internal/template/internal/utils/strings.js.map +0 -1
@@ -2,53 +2,53 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "arrow": "awsui_arrow_xjuzf_rd87b_185",
6
- "arrow-outer": "awsui_arrow-outer_xjuzf_rd87b_189",
7
- "arrow-inner": "awsui_arrow-inner_xjuzf_rd87b_189",
8
- "arrow-position-right-top": "awsui_arrow-position-right-top_xjuzf_rd87b_220",
9
- "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_xjuzf_rd87b_220",
10
- "arrow-position-left-top": "awsui_arrow-position-left-top_xjuzf_rd87b_223",
11
- "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_xjuzf_rd87b_223",
12
- "arrow-position-top-center": "awsui_arrow-position-top-center_xjuzf_rd87b_226",
13
- "arrow-position-top-right": "awsui_arrow-position-top-right_xjuzf_rd87b_226",
14
- "arrow-position-top-left": "awsui_arrow-position-top-left_xjuzf_rd87b_226",
15
- "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_xjuzf_rd87b_226",
16
- "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_xjuzf_rd87b_229",
17
- "arrow-position-bottom-right": "awsui_arrow-position-bottom-right_xjuzf_rd87b_229",
18
- "arrow-position-bottom-left": "awsui_arrow-position-bottom-left_xjuzf_rd87b_229",
19
- "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_xjuzf_rd87b_229",
20
- "body": "awsui_body_xjuzf_rd87b_325",
21
- "body-overflow-visible": "awsui_body-overflow-visible_xjuzf_rd87b_344",
22
- "variant-annotation": "awsui_variant-annotation_xjuzf_rd87b_348",
23
- "body-size-small": "awsui_body-size-small_xjuzf_rd87b_353",
24
- "fixed-width": "awsui_fixed-width_xjuzf_rd87b_356",
25
- "body-size-medium": "awsui_body-size-medium_xjuzf_rd87b_360",
26
- "body-size-large": "awsui_body-size-large_xjuzf_rd87b_367",
27
- "has-dismiss": "awsui_has-dismiss_xjuzf_rd87b_374",
28
- "dismiss": "awsui_dismiss_xjuzf_rd87b_379",
29
- "dismiss-control": "awsui_dismiss-control_xjuzf_rd87b_386",
30
- "header-row": "awsui_header-row_xjuzf_rd87b_390",
31
- "header": "awsui_header_xjuzf_rd87b_390",
32
- "content": "awsui_content_xjuzf_rd87b_412",
33
- "content-overflow-visible": "awsui_content-overflow-visible_xjuzf_rd87b_419",
34
- "container": "awsui_container_xjuzf_rd87b_431",
35
- "container-arrow": "awsui_container-arrow_xjuzf_rd87b_439",
36
- "container-arrow-position-right-top": "awsui_container-arrow-position-right-top_xjuzf_rd87b_443",
37
- "container-arrow-position-right-bottom": "awsui_container-arrow-position-right-bottom_xjuzf_rd87b_443",
38
- "container-arrow-position-left-top": "awsui_container-arrow-position-left-top_xjuzf_rd87b_455",
39
- "container-arrow-position-left-bottom": "awsui_container-arrow-position-left-bottom_xjuzf_rd87b_455",
40
- "container-arrow-position-top-center": "awsui_container-arrow-position-top-center_xjuzf_rd87b_467",
41
- "container-arrow-position-top-right": "awsui_container-arrow-position-top-right_xjuzf_rd87b_467",
42
- "container-arrow-position-top-left": "awsui_container-arrow-position-top-left_xjuzf_rd87b_467",
43
- "container-arrow-position-top-responsive": "awsui_container-arrow-position-top-responsive_xjuzf_rd87b_467",
44
- "container-arrow-position-bottom-center": "awsui_container-arrow-position-bottom-center_xjuzf_rd87b_483",
45
- "container-arrow-position-bottom-right": "awsui_container-arrow-position-bottom-right_xjuzf_rd87b_487",
46
- "container-arrow-position-bottom-left": "awsui_container-arrow-position-bottom-left_xjuzf_rd87b_491",
47
- "awsui-motion-fade-in": "awsui_awsui-motion-fade-in_xjuzf_rd87b_1",
48
- "refresh": "awsui_refresh_xjuzf_rd87b_609",
49
- "root": "awsui_root_xjuzf_rd87b_631",
50
- "trigger": "awsui_trigger_xjuzf_rd87b_643",
51
- "trigger-type-text": "awsui_trigger-type-text_xjuzf_rd87b_650",
52
- "trigger-inner-text": "awsui_trigger-inner-text_xjuzf_rd87b_679"
5
+ "arrow": "awsui_arrow_xjuzf_777hs_185",
6
+ "arrow-outer": "awsui_arrow-outer_xjuzf_777hs_189",
7
+ "arrow-inner": "awsui_arrow-inner_xjuzf_777hs_189",
8
+ "arrow-position-right-top": "awsui_arrow-position-right-top_xjuzf_777hs_220",
9
+ "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_xjuzf_777hs_220",
10
+ "arrow-position-left-top": "awsui_arrow-position-left-top_xjuzf_777hs_223",
11
+ "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_xjuzf_777hs_223",
12
+ "arrow-position-top-center": "awsui_arrow-position-top-center_xjuzf_777hs_226",
13
+ "arrow-position-top-right": "awsui_arrow-position-top-right_xjuzf_777hs_226",
14
+ "arrow-position-top-left": "awsui_arrow-position-top-left_xjuzf_777hs_226",
15
+ "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_xjuzf_777hs_226",
16
+ "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_xjuzf_777hs_229",
17
+ "arrow-position-bottom-right": "awsui_arrow-position-bottom-right_xjuzf_777hs_229",
18
+ "arrow-position-bottom-left": "awsui_arrow-position-bottom-left_xjuzf_777hs_229",
19
+ "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_xjuzf_777hs_229",
20
+ "body": "awsui_body_xjuzf_777hs_325",
21
+ "body-overflow-visible": "awsui_body-overflow-visible_xjuzf_777hs_344",
22
+ "variant-annotation": "awsui_variant-annotation_xjuzf_777hs_348",
23
+ "body-size-small": "awsui_body-size-small_xjuzf_777hs_353",
24
+ "fixed-width": "awsui_fixed-width_xjuzf_777hs_356",
25
+ "body-size-medium": "awsui_body-size-medium_xjuzf_777hs_360",
26
+ "body-size-large": "awsui_body-size-large_xjuzf_777hs_367",
27
+ "has-dismiss": "awsui_has-dismiss_xjuzf_777hs_379",
28
+ "dismiss": "awsui_dismiss_xjuzf_777hs_384",
29
+ "dismiss-control": "awsui_dismiss-control_xjuzf_777hs_391",
30
+ "header-row": "awsui_header-row_xjuzf_777hs_395",
31
+ "header": "awsui_header_xjuzf_777hs_395",
32
+ "content": "awsui_content_xjuzf_777hs_417",
33
+ "content-overflow-visible": "awsui_content-overflow-visible_xjuzf_777hs_424",
34
+ "container": "awsui_container_xjuzf_777hs_436",
35
+ "container-arrow": "awsui_container-arrow_xjuzf_777hs_444",
36
+ "container-arrow-position-right-top": "awsui_container-arrow-position-right-top_xjuzf_777hs_448",
37
+ "container-arrow-position-right-bottom": "awsui_container-arrow-position-right-bottom_xjuzf_777hs_448",
38
+ "container-arrow-position-left-top": "awsui_container-arrow-position-left-top_xjuzf_777hs_460",
39
+ "container-arrow-position-left-bottom": "awsui_container-arrow-position-left-bottom_xjuzf_777hs_460",
40
+ "container-arrow-position-top-center": "awsui_container-arrow-position-top-center_xjuzf_777hs_472",
41
+ "container-arrow-position-top-right": "awsui_container-arrow-position-top-right_xjuzf_777hs_472",
42
+ "container-arrow-position-top-left": "awsui_container-arrow-position-top-left_xjuzf_777hs_472",
43
+ "container-arrow-position-top-responsive": "awsui_container-arrow-position-top-responsive_xjuzf_777hs_472",
44
+ "container-arrow-position-bottom-center": "awsui_container-arrow-position-bottom-center_xjuzf_777hs_488",
45
+ "container-arrow-position-bottom-right": "awsui_container-arrow-position-bottom-right_xjuzf_777hs_492",
46
+ "container-arrow-position-bottom-left": "awsui_container-arrow-position-bottom-left_xjuzf_777hs_496",
47
+ "awsui-motion-fade-in": "awsui_awsui-motion-fade-in_xjuzf_777hs_1",
48
+ "refresh": "awsui_refresh_xjuzf_777hs_614",
49
+ "root": "awsui_root_xjuzf_777hs_636",
50
+ "trigger": "awsui_trigger_xjuzf_777hs_648",
51
+ "trigger-type-text": "awsui_trigger-type-text_xjuzf_777hs_655",
52
+ "trigger-inner-text": "awsui_trigger-inner-text_xjuzf_777hs_684"
53
53
  };
54
54
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAoB,MAAM,cAAc,CAAC;AAejE,OAAO,EAAE,eAAe,EAAE,CAAC;AA8L3B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,qBAA6B,EAC7B,WAAW,EACX,GAAG,SAAS,EACb,EAAE,eAAe,eA4RjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAoB,MAAM,cAAc,CAAC;AAejE,OAAO,EAAE,eAAe,EAAE,CAAC;AA+L3B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,qBAA6B,EAC7B,WAAW,EACX,GAAG,SAAS,EACb,EAAE,eAAe,eA8RjB"}
@@ -37,7 +37,7 @@ var TransitionContentSide = function (_a) {
37
37
  _c)), onClick: function () { return !isOpen && onToggle(); } },
38
38
  isOpen ? (React.createElement("div", { className: styles['slider-wrapper-side'] },
39
39
  React.createElement("div", __assign({ role: "slider", tabIndex: 0, "aria-label": i18nStrings.resizeHandleAriaLabel, "aria-valuemax": 100, "aria-valuemin": 0, "aria-valuenow": relativeSize, className: clsx(styles.slider, styles['slider-side']), onKeyDown: onKeyDown, onMouseDown: onSliderMouseDown }, focusVisible),
40
- React.createElement(ResizeHandler, { className: clsx(styles['slider-icon'], styles['slider-icon-side']) })))) : (React.createElement(InternalButton, { className: clsx(styles['open-button'], styles['open-button-side']), iconName: "angle-left", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ref: isRefresh ? null : toggleRef })),
40
+ React.createElement(ResizeHandler, { className: clsx(styles['slider-icon'], styles['slider-icon-side']) })))) : (React.createElement(InternalButton, { className: clsx(styles['open-button'], styles['open-button-side']), iconName: "angle-left", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ariaExpanded: isOpen, ref: isRefresh ? null : toggleRef })),
41
41
  React.createElement("div", { className: styles['content-side'], "aria-hidden": !isOpen },
42
42
  React.createElement("div", { className: clsx(styles['pane-header-wrapper-side']) }, paneHeader),
43
43
  React.createElement("hr", { className: styles['header-divider'] }),
@@ -150,7 +150,7 @@ export default function SplitPanel(_a) {
150
150
  !hidePreferencesButton && isOpen && (React.createElement(React.Fragment, null,
151
151
  React.createElement(InternalButton, { className: styles['preferences-button'], iconName: "settings", variant: "icon", onClick: function () { return setPreferencesOpen(true); }, formAction: "none", ariaLabel: i18nStrings.preferencesTitle, ref: preferencesRef }),
152
152
  React.createElement("span", { className: styles.divider }))),
153
- isOpen ? (React.createElement(InternalButton, { className: styles['close-button'], iconName: isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close', variant: "icon", onClick: onToggle, formAction: "none", ariaLabel: i18nStrings.closeButtonAriaLabel, ref: closeRef })) : position === 'side' ? null : (React.createElement(InternalButton, { className: styles['open-button'], iconName: "angle-up", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ref: toggleRef })))));
153
+ isOpen ? (React.createElement(InternalButton, { className: styles['close-button'], iconName: isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close', variant: "icon", onClick: onToggle, formAction: "none", ariaLabel: i18nStrings.closeButtonAriaLabel, ref: closeRef, ariaExpanded: isOpen })) : position === 'side' ? null : (React.createElement(InternalButton, { className: styles['open-button'], iconName: "angle-up", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ref: toggleRef, ariaExpanded: isOpen })))));
154
154
  /*
155
155
  This effect forces the browser to recalculate the layout
156
156
  whenever the split panel might have moved.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState, useEffect, useLayoutEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { InternalButton } from '../button/internal';\nimport { getBaseProps, BaseComponentProps } from '../internal/base-component';\nimport { useSplitPanelContext } from '../internal/context/split-panel-context';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\n\nimport { SplitPanelProps, SizeControlProps } from './interfaces';\nimport ResizeHandler from './icons/resize-handler';\nimport PreferencesModal from './preferences-modal';\nimport { useMouseEvents } from './utils/use-mouse-events';\nimport { useKeyboardEvents } from './utils/use-keyboard-events';\n\nimport styles from './styles.css.js';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { AppLayoutContext } from '../internal/context/app-layout-context';\nimport { getLimitedValue } from './utils/size-utils';\nimport { Transition, TransitionStatus } from '../internal/components/transition';\nimport { ButtonProps } from '../button/interfaces';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\n\nexport { SplitPanelProps };\n\nconst MIN_HEIGHT = 160;\nconst MIN_WIDTH = 280;\ninterface TransitionContentProps {\n baseProps: BaseComponentProps;\n isOpen?: boolean;\n splitPanelRef?: React.Ref<any>;\n bottomOffset: number;\n cappedSize: number;\n isRefresh: boolean;\n onToggle: () => void;\n i18nStrings: SplitPanelProps.I18nStrings;\n relativeSize: number;\n onKeyDown: (event: React.KeyboardEvent<Element>) => void;\n onSliderMouseDown: () => void;\n focusVisible: { 'data-awsui-focus-visible': true } | { 'data-awsui-focus-visible'?: undefined };\n paneHeader: JSX.Element;\n wrappedChildren: JSX.Element;\n}\n\ninterface TransitionContentSideProps extends TransitionContentProps {\n topOffset: number;\n toggleRef: React.RefObject<ButtonProps.Ref>;\n}\n\nconst TransitionContentSide = ({\n baseProps,\n isOpen,\n splitPanelRef,\n topOffset,\n bottomOffset,\n cappedSize,\n isRefresh,\n onToggle,\n i18nStrings,\n relativeSize,\n onKeyDown,\n onSliderMouseDown,\n focusVisible,\n toggleRef,\n paneHeader,\n wrappedChildren,\n}: TransitionContentSideProps) => {\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.drawer, styles.root, styles['position-side'], {\n [styles['drawer-closed']]: !isOpen,\n })}\n ref={splitPanelRef}\n >\n <aside\n style={{\n top: topOffset,\n bottom: bottomOffset,\n width: isOpen ? cappedSize : undefined,\n maxWidth: isRefresh ? '100%' : undefined,\n }}\n className={clsx(styles['drawer-content-side'], {\n [styles.refresh]: isRefresh,\n })}\n onClick={() => !isOpen && onToggle()}\n >\n {isOpen ? (\n <div className={styles['slider-wrapper-side']}>\n <div\n role=\"slider\"\n tabIndex={0}\n aria-label={i18nStrings.resizeHandleAriaLabel}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(styles.slider, styles['slider-side'])}\n onKeyDown={onKeyDown}\n onMouseDown={onSliderMouseDown}\n {...focusVisible}\n >\n <ResizeHandler className={clsx(styles['slider-icon'], styles['slider-icon-side'])} />\n </div>\n </div>\n ) : (\n <InternalButton\n className={clsx(styles['open-button'], styles['open-button-side'])}\n iconName=\"angle-left\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={i18nStrings.openButtonAriaLabel}\n ref={isRefresh ? null : toggleRef}\n />\n )}\n <div className={styles['content-side']} aria-hidden={!isOpen}>\n <div className={clsx(styles['pane-header-wrapper-side'])}>{paneHeader}</div>\n <hr className={styles['header-divider']} />\n <div className={clsx(styles['pane-content-wrapper-side'])}>{wrappedChildren}</div>\n </div>\n </aside>\n </div>\n );\n};\n\ninterface TransitionContentBottomProps extends TransitionContentProps {\n isMobile: boolean;\n disableContentPaddings?: boolean;\n state: TransitionStatus;\n leftOffset: number;\n rightOffset: number;\n transitioningElementRef: React.Ref<any>;\n centeredMaxWidthClasses: string;\n splitPanelHeaderRef?: React.Ref<any>;\n appLayoutMaxWidth: React.CSSProperties | undefined;\n}\n\nconst TransitionContentBottom = ({\n baseProps,\n isOpen,\n splitPanelRef,\n bottomOffset,\n cappedSize,\n isRefresh,\n onToggle,\n i18nStrings,\n relativeSize,\n onKeyDown,\n onSliderMouseDown,\n focusVisible,\n paneHeader,\n wrappedChildren,\n isMobile,\n disableContentPaddings,\n state,\n leftOffset,\n rightOffset,\n transitioningElementRef,\n centeredMaxWidthClasses,\n splitPanelHeaderRef,\n appLayoutMaxWidth,\n}: TransitionContentBottomProps) => {\n const transitionContentBottomRef = useMergeRefs(splitPanelRef || null, transitioningElementRef);\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.root, styles.drawer, styles['position-bottom'], {\n [styles['drawer-closed']]: !isOpen,\n [styles['drawer-mobile']]: isMobile,\n [styles['drawer-disable-content-paddings']]: disableContentPaddings,\n [styles.animating]: isRefresh && (state === 'entering' || state === 'exiting'),\n [styles.refresh]: isRefresh,\n })}\n onClick={() => !isOpen && onToggle()}\n style={{\n bottom: bottomOffset,\n left: leftOffset,\n right: rightOffset,\n height: isOpen ? cappedSize : undefined,\n }}\n ref={transitionContentBottomRef}\n >\n {isOpen && (\n <div className={styles['slider-wrapper-bottom']}>\n <div\n role=\"slider\"\n tabIndex={0}\n aria-label={i18nStrings.resizeHandleAriaLabel}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(styles.slider, styles['slider-bottom'])}\n onKeyDown={onKeyDown}\n onMouseDown={onSliderMouseDown}\n {...focusVisible}\n >\n <ResizeHandler className={clsx(styles['slider-icon'], styles['slider-icon-bottom'])} />\n </div>\n </div>\n )}\n <div className={styles['drawer-content-bottom']}>\n <div className={clsx(styles['pane-header-wrapper-bottom'], centeredMaxWidthClasses)} ref={splitPanelHeaderRef}>\n {paneHeader}\n </div>\n <div className={clsx(styles['content-bottom'], centeredMaxWidthClasses)} aria-hidden={!isOpen}>\n <div className={clsx({ [styles['content-bottom-max-width']]: isRefresh })} style={appLayoutMaxWidth}>\n {wrappedChildren}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default function SplitPanel({\n header,\n children,\n hidePreferencesButton = false,\n i18nStrings,\n ...restProps\n}: SplitPanelProps) {\n const { __internalRootRef } = useBaseComponent('SplitPanel');\n const {\n size,\n getMaxWidth,\n getMaxHeight,\n position,\n topOffset,\n bottomOffset,\n leftOffset,\n rightOffset,\n disableContentPaddings,\n contentWidthStyles,\n contentWrapperPaddings,\n isCopy,\n isOpen,\n isMobile,\n isRefresh,\n isForcedPosition,\n splitPanelRef,\n splitPanelHeaderRef,\n lastInteraction,\n onPreferencesChange,\n onResize,\n onToggle,\n reportSize,\n setOpenButtonAriaLabel,\n } = useSplitPanelContext();\n const baseProps = getBaseProps(restProps);\n const focusVisible = useFocusVisible();\n const [isPreferencesOpen, setPreferencesOpen] = useState<boolean>(false);\n const [relativeSize, setRelativeSize] = useState(0);\n const [maxSize, setMaxSize] = useState(size);\n const minSize = position === 'bottom' ? MIN_HEIGHT : MIN_WIDTH;\n const cappedSize = getLimitedValue(minSize, size, maxSize);\n const appLayoutMaxWidth = isRefresh && position === 'bottom' ? contentWidthStyles : undefined;\n\n useEffect(() => {\n setOpenButtonAriaLabel?.(i18nStrings.openButtonAriaLabel);\n }, [setOpenButtonAriaLabel, i18nStrings.openButtonAriaLabel]);\n\n useEffect(() => {\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => {\n const maxSize = position === 'bottom' ? getMaxHeight() : getMaxWidth();\n setRelativeSize((size / maxSize) * 100);\n setMaxSize(maxSize);\n });\n return () => cancelAnimationFrame(handle);\n }, [size, position, getMaxHeight, getMaxWidth]);\n\n useEffect(() => {\n reportSize(cappedSize);\n }, [reportSize, cappedSize]);\n\n useEffect(() => {\n const handler = () => setMaxSize(position === 'bottom' ? getMaxHeight() : getMaxWidth());\n window.addEventListener('resize', handler);\n return () => window.removeEventListener('resize', handler);\n }, [position, getMaxWidth, getMaxHeight]);\n\n const setSidePanelWidth = (width: number) => {\n const maxWidth = getMaxWidth();\n const size = getLimitedValue(MIN_WIDTH, width, maxWidth);\n\n if (isOpen && maxWidth >= MIN_WIDTH) {\n onResize({ size });\n }\n };\n\n const setBottomPanelHeight = (height: number) => {\n const maxHeight = getMaxHeight();\n const size = getLimitedValue(MIN_HEIGHT, height, maxHeight);\n\n if (isOpen && maxHeight >= MIN_HEIGHT) {\n onResize({ size });\n }\n };\n\n const splitPanelRefObject = useRef(null);\n const sizeControlProps: SizeControlProps = {\n position,\n splitPanelRef: splitPanelRefObject,\n setSidePanelWidth,\n setBottomPanelHeight,\n };\n const onSliderMouseDown = useMouseEvents(sizeControlProps);\n const onKeyDown = useKeyboardEvents(sizeControlProps);\n\n const toggleRef = useRef<ButtonProps.Ref>(null);\n const closeRef = useRef<ButtonProps.Ref>(null);\n const preferencesRef = useRef<ButtonProps.Ref>(null);\n\n useEffectOnUpdate(() => {\n switch (lastInteraction?.type) {\n case 'open':\n return closeRef.current?.focus();\n case 'close':\n return toggleRef.current?.focus();\n case 'position':\n return preferencesRef.current?.focus();\n default:\n return;\n }\n }, [lastInteraction]);\n\n const wrappedChildren = (\n <AppLayoutContext.Provider\n value={{\n stickyOffsetTop: topOffset,\n stickyOffsetBottom: bottomOffset,\n }}\n >\n {children}\n </AppLayoutContext.Provider>\n );\n\n const paneHeader = (\n <div className={styles.header} style={appLayoutMaxWidth}>\n <h2 className={styles['header-text']}>{header}</h2>\n <div className={styles['header-actions']}>\n {!hidePreferencesButton && isOpen && (\n <>\n <InternalButton\n className={styles['preferences-button']}\n iconName=\"settings\"\n variant=\"icon\"\n onClick={() => setPreferencesOpen(true)}\n formAction=\"none\"\n ariaLabel={i18nStrings.preferencesTitle}\n ref={preferencesRef}\n />\n <span className={styles.divider} />\n </>\n )}\n\n {isOpen ? (\n <InternalButton\n className={styles['close-button']}\n iconName={isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close'}\n variant=\"icon\"\n onClick={onToggle}\n formAction=\"none\"\n ariaLabel={i18nStrings.closeButtonAriaLabel}\n ref={closeRef}\n />\n ) : position === 'side' ? null : (\n <InternalButton\n className={styles['open-button']}\n iconName=\"angle-up\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={i18nStrings.openButtonAriaLabel}\n ref={toggleRef}\n />\n )}\n </div>\n </div>\n );\n\n /*\n This effect forces the browser to recalculate the layout\n whenever the split panel might have moved.\n\n This is needed as a workaround for a bug in Safari, which does\n not automatically calculate the new position of the split panel\n _content_ when the split panel moves.\n */\n useLayoutEffect(() => {\n const root = __internalRootRef.current;\n\n if (root) {\n const property = 'transform';\n const temporaryValue = 'translateZ(0)';\n\n const valueBefore = root.style[property];\n root.style[property] = temporaryValue;\n\n // This line forces the browser to recalculate the layout\n void root.offsetHeight;\n\n root.style[property] = valueBefore;\n }\n }, [rightOffset, __internalRootRef]);\n\n const mergedRef = useMergeRefs(splitPanelRef, splitPanelRefObject, __internalRootRef);\n\n /**\n * The AppLayout factor moved the circular buttons out of the\n * SplitPanel and into the Tools component. This conditional\n * is still needed for the early return to prevent execution\n * of the following code.\n */\n if (isRefresh && (!isOpen || isCopy) && position === 'side') {\n return <></>;\n }\n\n const centeredMaxWidthClasses = clsx({\n [styles['pane-bottom-center-align']]: isRefresh,\n [styles['pane-bottom-content-nav-padding']]: contentWrapperPaddings?.closedNav,\n [styles['pane-bottom-content-tools-padding']]: contentWrapperPaddings?.closedTools,\n });\n\n return (\n <Transition in={isOpen ?? false}>\n {(state, transitioningElementRef) => (\n <>\n {position === 'side' && (\n <TransitionContentSide\n baseProps={baseProps}\n isOpen={isOpen}\n splitPanelRef={mergedRef}\n topOffset={topOffset}\n bottomOffset={bottomOffset}\n cappedSize={cappedSize}\n isRefresh={isRefresh}\n onToggle={onToggle}\n i18nStrings={i18nStrings}\n relativeSize={relativeSize}\n onKeyDown={onKeyDown}\n onSliderMouseDown={onSliderMouseDown}\n focusVisible={focusVisible}\n toggleRef={toggleRef}\n paneHeader={paneHeader}\n wrappedChildren={wrappedChildren}\n ></TransitionContentSide>\n )}\n\n {position === 'bottom' && (\n <TransitionContentBottom\n baseProps={baseProps}\n isOpen={isOpen}\n splitPanelRef={mergedRef}\n bottomOffset={bottomOffset}\n cappedSize={cappedSize}\n isRefresh={isRefresh}\n onToggle={onToggle}\n i18nStrings={i18nStrings}\n relativeSize={relativeSize}\n onKeyDown={onKeyDown}\n onSliderMouseDown={onSliderMouseDown}\n focusVisible={focusVisible}\n paneHeader={paneHeader}\n wrappedChildren={wrappedChildren}\n isMobile={isMobile}\n disableContentPaddings={disableContentPaddings}\n state={state}\n leftOffset={leftOffset}\n rightOffset={rightOffset}\n transitioningElementRef={transitioningElementRef}\n centeredMaxWidthClasses={centeredMaxWidthClasses}\n splitPanelHeaderRef={splitPanelHeaderRef}\n appLayoutMaxWidth={appLayoutMaxWidth}\n ></TransitionContentBottom>\n )}\n {isPreferencesOpen && (\n <PreferencesModal\n visible={true}\n preferences={{ position }}\n disabledSidePosition={position === 'bottom' && isForcedPosition}\n isRefresh={isRefresh}\n i18nStrings={{\n header: i18nStrings.preferencesTitle,\n confirm: i18nStrings.preferencesConfirm,\n cancel: i18nStrings.preferencesCancel,\n positionLabel: i18nStrings.preferencesPositionLabel,\n positionDescription: i18nStrings.preferencesPositionDescription,\n positionBottom: i18nStrings.preferencesPositionBottom,\n positionSide: i18nStrings.preferencesPositionSide,\n }}\n onConfirm={preferences => {\n onPreferencesChange({ ...preferences });\n setPreferencesOpen(false);\n }}\n onDismiss={() => {\n setPreferencesOpen(false);\n }}\n />\n )}\n </>\n )}\n </Transition>\n );\n}\n\napplyDisplayName(SplitPanel, 'SplitPanel');\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState, useEffect, useLayoutEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { InternalButton } from '../button/internal';\nimport { getBaseProps, BaseComponentProps } from '../internal/base-component';\nimport { useSplitPanelContext } from '../internal/context/split-panel-context';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\n\nimport { SplitPanelProps, SizeControlProps } from './interfaces';\nimport ResizeHandler from './icons/resize-handler';\nimport PreferencesModal from './preferences-modal';\nimport { useMouseEvents } from './utils/use-mouse-events';\nimport { useKeyboardEvents } from './utils/use-keyboard-events';\n\nimport styles from './styles.css.js';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { AppLayoutContext } from '../internal/context/app-layout-context';\nimport { getLimitedValue } from './utils/size-utils';\nimport { Transition, TransitionStatus } from '../internal/components/transition';\nimport { ButtonProps } from '../button/interfaces';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\n\nexport { SplitPanelProps };\n\nconst MIN_HEIGHT = 160;\nconst MIN_WIDTH = 280;\ninterface TransitionContentProps {\n baseProps: BaseComponentProps;\n isOpen?: boolean;\n splitPanelRef?: React.Ref<any>;\n bottomOffset: number;\n cappedSize: number;\n isRefresh: boolean;\n onToggle: () => void;\n i18nStrings: SplitPanelProps.I18nStrings;\n relativeSize: number;\n onKeyDown: (event: React.KeyboardEvent<Element>) => void;\n onSliderMouseDown: () => void;\n focusVisible: { 'data-awsui-focus-visible': true } | { 'data-awsui-focus-visible'?: undefined };\n paneHeader: JSX.Element;\n wrappedChildren: JSX.Element;\n}\n\ninterface TransitionContentSideProps extends TransitionContentProps {\n topOffset: number;\n toggleRef: React.RefObject<ButtonProps.Ref>;\n}\n\nconst TransitionContentSide = ({\n baseProps,\n isOpen,\n splitPanelRef,\n topOffset,\n bottomOffset,\n cappedSize,\n isRefresh,\n onToggle,\n i18nStrings,\n relativeSize,\n onKeyDown,\n onSliderMouseDown,\n focusVisible,\n toggleRef,\n paneHeader,\n wrappedChildren,\n}: TransitionContentSideProps) => {\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.drawer, styles.root, styles['position-side'], {\n [styles['drawer-closed']]: !isOpen,\n })}\n ref={splitPanelRef}\n >\n <aside\n style={{\n top: topOffset,\n bottom: bottomOffset,\n width: isOpen ? cappedSize : undefined,\n maxWidth: isRefresh ? '100%' : undefined,\n }}\n className={clsx(styles['drawer-content-side'], {\n [styles.refresh]: isRefresh,\n })}\n onClick={() => !isOpen && onToggle()}\n >\n {isOpen ? (\n <div className={styles['slider-wrapper-side']}>\n <div\n role=\"slider\"\n tabIndex={0}\n aria-label={i18nStrings.resizeHandleAriaLabel}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(styles.slider, styles['slider-side'])}\n onKeyDown={onKeyDown}\n onMouseDown={onSliderMouseDown}\n {...focusVisible}\n >\n <ResizeHandler className={clsx(styles['slider-icon'], styles['slider-icon-side'])} />\n </div>\n </div>\n ) : (\n <InternalButton\n className={clsx(styles['open-button'], styles['open-button-side'])}\n iconName=\"angle-left\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={i18nStrings.openButtonAriaLabel}\n ariaExpanded={isOpen}\n ref={isRefresh ? null : toggleRef}\n />\n )}\n <div className={styles['content-side']} aria-hidden={!isOpen}>\n <div className={clsx(styles['pane-header-wrapper-side'])}>{paneHeader}</div>\n <hr className={styles['header-divider']} />\n <div className={clsx(styles['pane-content-wrapper-side'])}>{wrappedChildren}</div>\n </div>\n </aside>\n </div>\n );\n};\n\ninterface TransitionContentBottomProps extends TransitionContentProps {\n isMobile: boolean;\n disableContentPaddings?: boolean;\n state: TransitionStatus;\n leftOffset: number;\n rightOffset: number;\n transitioningElementRef: React.Ref<any>;\n centeredMaxWidthClasses: string;\n splitPanelHeaderRef?: React.Ref<any>;\n appLayoutMaxWidth: React.CSSProperties | undefined;\n}\n\nconst TransitionContentBottom = ({\n baseProps,\n isOpen,\n splitPanelRef,\n bottomOffset,\n cappedSize,\n isRefresh,\n onToggle,\n i18nStrings,\n relativeSize,\n onKeyDown,\n onSliderMouseDown,\n focusVisible,\n paneHeader,\n wrappedChildren,\n isMobile,\n disableContentPaddings,\n state,\n leftOffset,\n rightOffset,\n transitioningElementRef,\n centeredMaxWidthClasses,\n splitPanelHeaderRef,\n appLayoutMaxWidth,\n}: TransitionContentBottomProps) => {\n const transitionContentBottomRef = useMergeRefs(splitPanelRef || null, transitioningElementRef);\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.root, styles.drawer, styles['position-bottom'], {\n [styles['drawer-closed']]: !isOpen,\n [styles['drawer-mobile']]: isMobile,\n [styles['drawer-disable-content-paddings']]: disableContentPaddings,\n [styles.animating]: isRefresh && (state === 'entering' || state === 'exiting'),\n [styles.refresh]: isRefresh,\n })}\n onClick={() => !isOpen && onToggle()}\n style={{\n bottom: bottomOffset,\n left: leftOffset,\n right: rightOffset,\n height: isOpen ? cappedSize : undefined,\n }}\n ref={transitionContentBottomRef}\n >\n {isOpen && (\n <div className={styles['slider-wrapper-bottom']}>\n <div\n role=\"slider\"\n tabIndex={0}\n aria-label={i18nStrings.resizeHandleAriaLabel}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(styles.slider, styles['slider-bottom'])}\n onKeyDown={onKeyDown}\n onMouseDown={onSliderMouseDown}\n {...focusVisible}\n >\n <ResizeHandler className={clsx(styles['slider-icon'], styles['slider-icon-bottom'])} />\n </div>\n </div>\n )}\n <div className={styles['drawer-content-bottom']}>\n <div className={clsx(styles['pane-header-wrapper-bottom'], centeredMaxWidthClasses)} ref={splitPanelHeaderRef}>\n {paneHeader}\n </div>\n <div className={clsx(styles['content-bottom'], centeredMaxWidthClasses)} aria-hidden={!isOpen}>\n <div className={clsx({ [styles['content-bottom-max-width']]: isRefresh })} style={appLayoutMaxWidth}>\n {wrappedChildren}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default function SplitPanel({\n header,\n children,\n hidePreferencesButton = false,\n i18nStrings,\n ...restProps\n}: SplitPanelProps) {\n const { __internalRootRef } = useBaseComponent('SplitPanel');\n const {\n size,\n getMaxWidth,\n getMaxHeight,\n position,\n topOffset,\n bottomOffset,\n leftOffset,\n rightOffset,\n disableContentPaddings,\n contentWidthStyles,\n contentWrapperPaddings,\n isCopy,\n isOpen,\n isMobile,\n isRefresh,\n isForcedPosition,\n splitPanelRef,\n splitPanelHeaderRef,\n lastInteraction,\n onPreferencesChange,\n onResize,\n onToggle,\n reportSize,\n setOpenButtonAriaLabel,\n } = useSplitPanelContext();\n const baseProps = getBaseProps(restProps);\n const focusVisible = useFocusVisible();\n const [isPreferencesOpen, setPreferencesOpen] = useState<boolean>(false);\n const [relativeSize, setRelativeSize] = useState(0);\n const [maxSize, setMaxSize] = useState(size);\n const minSize = position === 'bottom' ? MIN_HEIGHT : MIN_WIDTH;\n const cappedSize = getLimitedValue(minSize, size, maxSize);\n const appLayoutMaxWidth = isRefresh && position === 'bottom' ? contentWidthStyles : undefined;\n\n useEffect(() => {\n setOpenButtonAriaLabel?.(i18nStrings.openButtonAriaLabel);\n }, [setOpenButtonAriaLabel, i18nStrings.openButtonAriaLabel]);\n\n useEffect(() => {\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => {\n const maxSize = position === 'bottom' ? getMaxHeight() : getMaxWidth();\n setRelativeSize((size / maxSize) * 100);\n setMaxSize(maxSize);\n });\n return () => cancelAnimationFrame(handle);\n }, [size, position, getMaxHeight, getMaxWidth]);\n\n useEffect(() => {\n reportSize(cappedSize);\n }, [reportSize, cappedSize]);\n\n useEffect(() => {\n const handler = () => setMaxSize(position === 'bottom' ? getMaxHeight() : getMaxWidth());\n window.addEventListener('resize', handler);\n return () => window.removeEventListener('resize', handler);\n }, [position, getMaxWidth, getMaxHeight]);\n\n const setSidePanelWidth = (width: number) => {\n const maxWidth = getMaxWidth();\n const size = getLimitedValue(MIN_WIDTH, width, maxWidth);\n\n if (isOpen && maxWidth >= MIN_WIDTH) {\n onResize({ size });\n }\n };\n\n const setBottomPanelHeight = (height: number) => {\n const maxHeight = getMaxHeight();\n const size = getLimitedValue(MIN_HEIGHT, height, maxHeight);\n\n if (isOpen && maxHeight >= MIN_HEIGHT) {\n onResize({ size });\n }\n };\n\n const splitPanelRefObject = useRef(null);\n const sizeControlProps: SizeControlProps = {\n position,\n splitPanelRef: splitPanelRefObject,\n setSidePanelWidth,\n setBottomPanelHeight,\n };\n const onSliderMouseDown = useMouseEvents(sizeControlProps);\n const onKeyDown = useKeyboardEvents(sizeControlProps);\n\n const toggleRef = useRef<ButtonProps.Ref>(null);\n const closeRef = useRef<ButtonProps.Ref>(null);\n const preferencesRef = useRef<ButtonProps.Ref>(null);\n\n useEffectOnUpdate(() => {\n switch (lastInteraction?.type) {\n case 'open':\n return closeRef.current?.focus();\n case 'close':\n return toggleRef.current?.focus();\n case 'position':\n return preferencesRef.current?.focus();\n default:\n return;\n }\n }, [lastInteraction]);\n\n const wrappedChildren = (\n <AppLayoutContext.Provider\n value={{\n stickyOffsetTop: topOffset,\n stickyOffsetBottom: bottomOffset,\n }}\n >\n {children}\n </AppLayoutContext.Provider>\n );\n\n const paneHeader = (\n <div className={styles.header} style={appLayoutMaxWidth}>\n <h2 className={styles['header-text']}>{header}</h2>\n <div className={styles['header-actions']}>\n {!hidePreferencesButton && isOpen && (\n <>\n <InternalButton\n className={styles['preferences-button']}\n iconName=\"settings\"\n variant=\"icon\"\n onClick={() => setPreferencesOpen(true)}\n formAction=\"none\"\n ariaLabel={i18nStrings.preferencesTitle}\n ref={preferencesRef}\n />\n <span className={styles.divider} />\n </>\n )}\n\n {isOpen ? (\n <InternalButton\n className={styles['close-button']}\n iconName={isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close'}\n variant=\"icon\"\n onClick={onToggle}\n formAction=\"none\"\n ariaLabel={i18nStrings.closeButtonAriaLabel}\n ref={closeRef}\n ariaExpanded={isOpen}\n />\n ) : position === 'side' ? null : (\n <InternalButton\n className={styles['open-button']}\n iconName=\"angle-up\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={i18nStrings.openButtonAriaLabel}\n ref={toggleRef}\n ariaExpanded={isOpen}\n />\n )}\n </div>\n </div>\n );\n\n /*\n This effect forces the browser to recalculate the layout\n whenever the split panel might have moved.\n\n This is needed as a workaround for a bug in Safari, which does\n not automatically calculate the new position of the split panel\n _content_ when the split panel moves.\n */\n useLayoutEffect(() => {\n const root = __internalRootRef.current;\n\n if (root) {\n const property = 'transform';\n const temporaryValue = 'translateZ(0)';\n\n const valueBefore = root.style[property];\n root.style[property] = temporaryValue;\n\n // This line forces the browser to recalculate the layout\n void root.offsetHeight;\n\n root.style[property] = valueBefore;\n }\n }, [rightOffset, __internalRootRef]);\n\n const mergedRef = useMergeRefs(splitPanelRef, splitPanelRefObject, __internalRootRef);\n\n /**\n * The AppLayout factor moved the circular buttons out of the\n * SplitPanel and into the Tools component. This conditional\n * is still needed for the early return to prevent execution\n * of the following code.\n */\n if (isRefresh && (!isOpen || isCopy) && position === 'side') {\n return <></>;\n }\n\n const centeredMaxWidthClasses = clsx({\n [styles['pane-bottom-center-align']]: isRefresh,\n [styles['pane-bottom-content-nav-padding']]: contentWrapperPaddings?.closedNav,\n [styles['pane-bottom-content-tools-padding']]: contentWrapperPaddings?.closedTools,\n });\n\n return (\n <Transition in={isOpen ?? false}>\n {(state, transitioningElementRef) => (\n <>\n {position === 'side' && (\n <TransitionContentSide\n baseProps={baseProps}\n isOpen={isOpen}\n splitPanelRef={mergedRef}\n topOffset={topOffset}\n bottomOffset={bottomOffset}\n cappedSize={cappedSize}\n isRefresh={isRefresh}\n onToggle={onToggle}\n i18nStrings={i18nStrings}\n relativeSize={relativeSize}\n onKeyDown={onKeyDown}\n onSliderMouseDown={onSliderMouseDown}\n focusVisible={focusVisible}\n toggleRef={toggleRef}\n paneHeader={paneHeader}\n wrappedChildren={wrappedChildren}\n ></TransitionContentSide>\n )}\n\n {position === 'bottom' && (\n <TransitionContentBottom\n baseProps={baseProps}\n isOpen={isOpen}\n splitPanelRef={mergedRef}\n bottomOffset={bottomOffset}\n cappedSize={cappedSize}\n isRefresh={isRefresh}\n onToggle={onToggle}\n i18nStrings={i18nStrings}\n relativeSize={relativeSize}\n onKeyDown={onKeyDown}\n onSliderMouseDown={onSliderMouseDown}\n focusVisible={focusVisible}\n paneHeader={paneHeader}\n wrappedChildren={wrappedChildren}\n isMobile={isMobile}\n disableContentPaddings={disableContentPaddings}\n state={state}\n leftOffset={leftOffset}\n rightOffset={rightOffset}\n transitioningElementRef={transitioningElementRef}\n centeredMaxWidthClasses={centeredMaxWidthClasses}\n splitPanelHeaderRef={splitPanelHeaderRef}\n appLayoutMaxWidth={appLayoutMaxWidth}\n ></TransitionContentBottom>\n )}\n {isPreferencesOpen && (\n <PreferencesModal\n visible={true}\n preferences={{ position }}\n disabledSidePosition={position === 'bottom' && isForcedPosition}\n isRefresh={isRefresh}\n i18nStrings={{\n header: i18nStrings.preferencesTitle,\n confirm: i18nStrings.preferencesConfirm,\n cancel: i18nStrings.preferencesCancel,\n positionLabel: i18nStrings.preferencesPositionLabel,\n positionDescription: i18nStrings.preferencesPositionDescription,\n positionBottom: i18nStrings.preferencesPositionBottom,\n positionSide: i18nStrings.preferencesPositionSide,\n }}\n onConfirm={preferences => {\n onPreferencesChange({ ...preferences });\n setPreferencesOpen(false);\n }}\n onDismiss={() => {\n setPreferencesOpen(false);\n }}\n />\n )}\n </>\n )}\n </Transition>\n );\n}\n\napplyDisplayName(SplitPanel, 'SplitPanel');\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudscape-design/components-themeable",
3
- "version": "3.0.28",
3
+ "version": "3.0.29",
4
4
  "files": [
5
5
  "lib",
6
6
  "package.json",
@@ -1,10 +0,0 @@
1
- export declare const isoToDisplay: (value: string) => string;
2
- export declare const displayToIso: (value: string) => string;
3
- export declare const daysInMonth: (date: Date) => number;
4
- export declare function parseDate(value: string): Date;
5
- export declare function parseDate(value: string, strict: boolean): Date | null;
6
- export declare const formatDate: (value: Date) => string;
7
- export declare const formatTime: (value: Date) => string;
8
- export declare function formatISOStringWithoutTimezone(dateString: string, timeString: string): string;
9
- export declare const memoizedDate: (key: string, date: string | null) => Date;
10
- //# sourceMappingURL=date.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../../src/date-picker/calendar/utils/date.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,UAAW,MAAM,WAA6B,CAAC;AACxE,eAAO,MAAM,YAAY,UAAW,MAAM,WAA8B,CAAC;AAEzE,eAAO,MAAM,WAAW,SAAU,IAAI,WAAmE,CAAC;AAU1G,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;AAC/C,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAkBvE,eAAO,MAAM,UAAU,UAAW,IAAI,KAAG,MAKxC,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,IAAI,KAAG,MAKxC,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAEpF;AAID,eAAO,MAAM,YAAY,QAAS,MAAM,QAAQ,MAAM,GAAG,IAAI,SAM5D,CAAC"}
@@ -1,50 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- export var isoToDisplay = function (value) { return value.replace(/-/g, '/'); };
4
- export var displayToIso = function (value) { return value.replace(/\//g, '-'); };
5
- export var daysInMonth = function (date) { return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(); };
6
- var padLeftZeros = function (value, length) {
7
- while (value.length < length) {
8
- value = "0".concat(value);
9
- }
10
- return value;
11
- };
12
- export function parseDate(value, strict) {
13
- if (strict === void 0) { strict = false; }
14
- var _a = value.split('-'), year = _a[0], month = _a[1], day = _a[2];
15
- var y = Number(year);
16
- var m = Number(month);
17
- var d = Number(day);
18
- if (strict) {
19
- if (isNaN(y) || isNaN(m) || isNaN(d)) {
20
- return null;
21
- }
22
- }
23
- return new Date(y, (m || 1) - 1, d || 1);
24
- }
25
- // we cannot use Date.toISOString because it produces GMT time where the date can be different than local
26
- export var formatDate = function (value) {
27
- var year = value.getFullYear();
28
- var month = padLeftZeros("".concat(value.getMonth() + 1), 2);
29
- var date = padLeftZeros("".concat(value.getDate()), 2);
30
- return "".concat(year, "-").concat(month, "-").concat(date);
31
- };
32
- export var formatTime = function (value) {
33
- var hours = padLeftZeros("".concat(value.getHours()), 2);
34
- var minutes = padLeftZeros("".concat(value.getMinutes()), 2);
35
- var seconds = padLeftZeros("".concat(value.getSeconds()), 2);
36
- return "".concat(hours, ":").concat(minutes, ":").concat(seconds);
37
- };
38
- export function formatISOStringWithoutTimezone(dateString, timeString) {
39
- return "".concat(dateString, "T").concat(timeString);
40
- }
41
- // reuse date instances, to allow shallow equality checking
42
- var memoCache = {};
43
- export var memoizedDate = function (key, date) {
44
- var parsed = date && date.length >= 4 && parseDate(date);
45
- if (!(memoCache[key] && parsed && memoCache[key].getTime() === parsed.getTime())) {
46
- memoCache[key] = parsed;
47
- }
48
- return memoCache[key];
49
- };
50
- //# sourceMappingURL=date.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../../src/date-picker/calendar/utils/date.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const isoToDisplay = (value: string) => value.replace(/-/g, '/');\nexport const displayToIso = (value: string) => value.replace(/\\//g, '-');\n\nexport const daysInMonth = (date: Date) => new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\n\nconst padLeftZeros = (value: string, length: number) => {\n while (value.length < length) {\n value = `0${value}`;\n }\n return value;\n};\n\n// we cannot use new Date(string) constructor, because it produces GMT time that may have different date than the local\nexport function parseDate(value: string): Date;\nexport function parseDate(value: string, strict: boolean): Date | null;\nexport function parseDate(value: string, strict = false): Date | null {\n const [year, month, day] = value.split('-');\n\n const y = Number(year);\n const m = Number(month);\n const d = Number(day);\n\n if (strict) {\n if (isNaN(y) || isNaN(m) || isNaN(d)) {\n return null;\n }\n }\n\n return new Date(y, (m || 1) - 1, d || 1);\n}\n\n// we cannot use Date.toISOString because it produces GMT time where the date can be different than local\nexport const formatDate = (value: Date): string => {\n const year = value.getFullYear();\n const month = padLeftZeros(`${value.getMonth() + 1}`, 2);\n const date = padLeftZeros(`${value.getDate()}`, 2);\n return `${year}-${month}-${date}`;\n};\n\nexport const formatTime = (value: Date): string => {\n const hours = padLeftZeros(`${value.getHours()}`, 2);\n const minutes = padLeftZeros(`${value.getMinutes()}`, 2);\n const seconds = padLeftZeros(`${value.getSeconds()}`, 2);\n return `${hours}:${minutes}:${seconds}`;\n};\n\nexport function formatISOStringWithoutTimezone(dateString: string, timeString: string) {\n return `${dateString}T${timeString}`;\n}\n\n// reuse date instances, to allow shallow equality checking\nconst memoCache: Record<string, Date> = {};\nexport const memoizedDate = (key: string, date: string | null) => {\n const parsed = date && date.length >= 4 && parseDate(date);\n if (!(memoCache[key] && parsed && memoCache[key].getTime() === parsed.getTime())) {\n memoCache[key] = parsed as Date;\n }\n return memoCache[key];\n};\n"]}
@@ -1,5 +0,0 @@
1
- export declare const isoToDisplay: (value: string) => string;
2
- export declare const displayToIso: (value: string) => string;
3
- export declare const daysInMonth: (date: Date) => number;
4
- export declare const parseDate: (value: string) => Date;
5
- //# sourceMappingURL=date.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/date-input/utils/date.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,UAAW,MAAM,WAA6B,CAAC;AACxE,eAAO,MAAM,YAAY,UAAW,MAAM,WAA8B,CAAC;AACzE,eAAO,MAAM,WAAW,SAAU,IAAI,WAAmE,CAAC;AAG1G,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,IAGzC,CAAC"}
@@ -1,11 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- export var isoToDisplay = function (value) { return value.replace(/-/g, '/'); };
4
- export var displayToIso = function (value) { return value.replace(/\//g, '-'); };
5
- export var daysInMonth = function (date) { return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(); };
6
- // we cannot use new Date(string) constructor, because it produces GMT time that may have different date than the local
7
- export var parseDate = function (value) {
8
- var _a = value.split('-'), year = _a[0], month = _a[1], day = _a[2];
9
- return new Date(Number(year), (Number(month) || 1) - 1, Number(day) || 1);
10
- };
11
- //# sourceMappingURL=date.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../../../src/internal/components/date-input/utils/date.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,KAAa,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAxB,CAAwB,CAAC;AACxE,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,KAAa,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAzB,CAAyB,CAAC;AACzE,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,IAAU,IAAK,OAAA,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAA9D,CAA8D,CAAC;AAE1G,uHAAuH;AACvH,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,KAAa;IAC/B,IAAA,KAAqB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAApC,IAAI,QAAA,EAAE,KAAK,QAAA,EAAE,GAAG,QAAoB,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const isoToDisplay = (value: string) => value.replace(/-/g, '/');\nexport const displayToIso = (value: string) => value.replace(/\\//g, '-');\nexport const daysInMonth = (date: Date) => new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\n\n// we cannot use new Date(string) constructor, because it produces GMT time that may have different date than the local\nexport const parseDate = (value: string): Date => {\n const [year, month, day] = value.split('-');\n return new Date(Number(year), (Number(month) || 1) - 1, Number(day) || 1);\n};\n"]}
@@ -1,2 +0,0 @@
1
- export declare const joinStrings: (...strings: Array<string | undefined>) => string | undefined;
2
- //# sourceMappingURL=strings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/strings.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,eAAgB,MAAM,MAAM,GAAG,SAAS,CAAC,uBAGhE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../../src/internal/utils/strings.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,qGAAqG;AACrG,MAAM,CAAC,IAAM,WAAW,GAAG;IAAC,iBAAqC;SAArC,UAAqC,EAArC,qBAAqC,EAArC,IAAqC;QAArC,4BAAqC;;IAC/D,IAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,EAAH,CAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,OAAO,MAAM,IAAI,SAAS,CAAC;AAC7B,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// Joins strings with a whitespace, discarding empty strings. Useful to combine multiple aria-labels.\nexport const joinStrings = (...strings: Array<string | undefined>) => {\n const result = strings.filter(val => val).join(' ');\n return result || undefined;\n};\n"]}