@cloudscape-design/components-themeable 3.0.165 → 3.0.167

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 (148) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/code-editor/resizable-box/styles.scss +37 -0
  3. package/lib/internal/scss/code-editor/styles.scss +1 -29
  4. package/lib/internal/scss/select/parts/styles.scss +9 -0
  5. package/lib/internal/scss/table/body-cell/styles.scss +131 -29
  6. package/lib/internal/scss/table/header-cell/styles.scss +15 -7
  7. package/lib/internal/template/button/internal.d.ts +1 -0
  8. package/lib/internal/template/button/internal.d.ts.map +1 -1
  9. package/lib/internal/template/button/internal.js +2 -2
  10. package/lib/internal/template/button/internal.js.map +1 -1
  11. package/lib/internal/template/code-editor/index.d.ts.map +1 -1
  12. package/lib/internal/template/code-editor/index.js +5 -8
  13. package/lib/internal/template/code-editor/index.js.map +1 -1
  14. package/lib/internal/template/code-editor/pane.d.ts.map +1 -1
  15. package/lib/internal/template/code-editor/pane.js +4 -4
  16. package/lib/internal/template/code-editor/pane.js.map +1 -1
  17. package/lib/internal/template/code-editor/resizable-box/index.d.ts +9 -0
  18. package/lib/internal/template/code-editor/resizable-box/index.d.ts.map +1 -0
  19. package/lib/internal/template/code-editor/resizable-box/index.js +44 -0
  20. package/lib/internal/template/code-editor/resizable-box/index.js.map +1 -0
  21. package/lib/internal/template/code-editor/resizable-box/styles.css.js +8 -0
  22. package/lib/internal/template/code-editor/resizable-box/styles.scoped.css +62 -0
  23. package/lib/internal/template/code-editor/resizable-box/styles.selectors.js +9 -0
  24. package/lib/internal/template/code-editor/styles.css.js +32 -33
  25. package/lib/internal/template/code-editor/styles.scoped.css +157 -199
  26. package/lib/internal/template/code-editor/styles.selectors.js +32 -33
  27. package/lib/internal/template/form-field/interfaces.d.ts +10 -0
  28. package/lib/internal/template/form-field/interfaces.d.ts.map +1 -1
  29. package/lib/internal/template/form-field/interfaces.js.map +1 -1
  30. package/lib/internal/template/form-field/internal.d.ts +1 -1
  31. package/lib/internal/template/form-field/internal.d.ts.map +1 -1
  32. package/lib/internal/template/form-field/internal.js +5 -4
  33. package/lib/internal/template/form-field/internal.js.map +1 -1
  34. package/lib/internal/template/input/internal.d.ts.map +1 -1
  35. package/lib/internal/template/input/internal.js +16 -4
  36. package/lib/internal/template/input/internal.js.map +1 -1
  37. package/lib/internal/template/internal/components/live-region/index.d.ts +1 -1
  38. package/lib/internal/template/internal/components/live-region/index.d.ts.map +1 -1
  39. package/lib/internal/template/internal/components/live-region/index.js +29 -6
  40. package/lib/internal/template/internal/components/live-region/index.js.map +1 -1
  41. package/lib/internal/template/internal/context/form-field-context.d.ts +6 -2
  42. package/lib/internal/template/internal/context/form-field-context.d.ts.map +1 -1
  43. package/lib/internal/template/internal/context/form-field-context.js +7 -1
  44. package/lib/internal/template/internal/context/form-field-context.js.map +1 -1
  45. package/lib/internal/template/internal/environment.js +1 -1
  46. package/lib/internal/template/internal/hooks/use-telemetry/index.d.ts.map +1 -1
  47. package/lib/internal/template/internal/hooks/use-telemetry/index.js +4 -0
  48. package/lib/internal/template/internal/hooks/use-telemetry/index.js.map +1 -1
  49. package/lib/internal/template/internal/metrics.d.ts +2 -2
  50. package/lib/internal/template/internal/metrics.d.ts.map +1 -1
  51. package/lib/internal/template/internal/metrics.js +20 -17
  52. package/lib/internal/template/internal/metrics.js.map +1 -1
  53. package/lib/internal/template/internal/types.d.ts +9 -0
  54. package/lib/internal/template/internal/types.d.ts.map +1 -1
  55. package/lib/internal/template/internal/types.js +0 -2
  56. package/lib/internal/template/internal/types.js.map +1 -1
  57. package/lib/internal/template/internal/vendor/d3-scale.js +8 -8
  58. package/lib/internal/template/package.json +0 -1
  59. package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
  60. package/lib/internal/template/progress-bar/index.js +14 -3
  61. package/lib/internal/template/progress-bar/index.js.map +1 -1
  62. package/lib/internal/template/select/parts/styles.css.js +9 -9
  63. package/lib/internal/template/select/parts/styles.scoped.css +27 -9
  64. package/lib/internal/template/select/parts/styles.selectors.js +9 -9
  65. package/lib/internal/template/side-navigation/internal.d.ts.map +1 -1
  66. package/lib/internal/template/side-navigation/internal.js +2 -2
  67. package/lib/internal/template/side-navigation/internal.js.map +1 -1
  68. package/lib/internal/template/table/body-cell/click-away.d.ts +9 -0
  69. package/lib/internal/template/table/body-cell/click-away.d.ts.map +1 -0
  70. package/lib/internal/template/table/body-cell/click-away.js +38 -0
  71. package/lib/internal/template/table/body-cell/click-away.js.map +1 -0
  72. package/lib/internal/template/table/body-cell/index.d.ts +10 -19
  73. package/lib/internal/template/table/body-cell/index.d.ts.map +1 -1
  74. package/lib/internal/template/table/body-cell/index.js +49 -9
  75. package/lib/internal/template/table/body-cell/index.js.map +1 -1
  76. package/lib/internal/template/table/body-cell/inline-editor.d.ts +12 -0
  77. package/lib/internal/template/table/body-cell/inline-editor.d.ts.map +1 -0
  78. package/lib/internal/template/table/body-cell/inline-editor.js +88 -0
  79. package/lib/internal/template/table/body-cell/inline-editor.js.map +1 -0
  80. package/lib/internal/template/table/body-cell/styles.css.js +18 -12
  81. package/lib/internal/template/table/body-cell/styles.scoped.css +229 -46
  82. package/lib/internal/template/table/body-cell/styles.selectors.js +18 -12
  83. package/lib/internal/template/table/body-cell/td-element.d.ts +21 -0
  84. package/lib/internal/template/table/body-cell/td-element.d.ts.map +1 -0
  85. package/lib/internal/template/table/body-cell/td-element.js +11 -0
  86. package/lib/internal/template/table/body-cell/td-element.js.map +1 -0
  87. package/lib/internal/template/table/body-cell/use-stable-scroll-position.d.ts +17 -0
  88. package/lib/internal/template/table/body-cell/use-stable-scroll-position.d.ts.map +1 -0
  89. package/lib/internal/template/table/body-cell/use-stable-scroll-position.js +48 -0
  90. package/lib/internal/template/table/body-cell/use-stable-scroll-position.js.map +1 -0
  91. package/lib/internal/template/table/header-cell/index.d.ts +8 -7
  92. package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
  93. package/lib/internal/template/table/header-cell/index.js +6 -2
  94. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  95. package/lib/internal/template/table/header-cell/styles.css.js +19 -18
  96. package/lib/internal/template/table/header-cell/styles.scoped.css +40 -35
  97. package/lib/internal/template/table/header-cell/styles.selectors.js +19 -18
  98. package/lib/internal/template/table/interfaces.d.ts +73 -6
  99. package/lib/internal/template/table/interfaces.d.ts.map +1 -1
  100. package/lib/internal/template/table/interfaces.js.map +1 -1
  101. package/lib/internal/template/table/internal.d.ts.map +1 -1
  102. package/lib/internal/template/table/internal.js +68 -18
  103. package/lib/internal/template/table/internal.js.map +1 -1
  104. package/lib/internal/template/table/thead.d.ts.map +1 -1
  105. package/lib/internal/template/table/thead.js +1 -1
  106. package/lib/internal/template/table/thead.js.map +1 -1
  107. package/lib/internal/template/table/use-table-focus-navigation.d.ts +16 -0
  108. package/lib/internal/template/table/use-table-focus-navigation.d.ts.map +1 -0
  109. package/lib/internal/template/table/use-table-focus-navigation.js +131 -0
  110. package/lib/internal/template/table/use-table-focus-navigation.js.map +1 -0
  111. package/lib/internal/template/tabs/index.d.ts +1 -1
  112. package/lib/internal/template/tabs/index.d.ts.map +1 -1
  113. package/lib/internal/template/tabs/index.js +2 -2
  114. package/lib/internal/template/tabs/index.js.map +1 -1
  115. package/lib/internal/template/tabs/interfaces.d.ts +14 -0
  116. package/lib/internal/template/tabs/interfaces.d.ts.map +1 -1
  117. package/lib/internal/template/tabs/interfaces.js.map +1 -1
  118. package/lib/internal/template/tabs/tab-header-bar.d.ts +2 -1
  119. package/lib/internal/template/tabs/tab-header-bar.d.ts.map +1 -1
  120. package/lib/internal/template/tabs/tab-header-bar.js +3 -7
  121. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  122. package/lib/internal/template/test-utils/dom/table/index.d.ts +4 -0
  123. package/lib/internal/template/test-utils/dom/table/index.js +21 -5
  124. package/lib/internal/template/test-utils/dom/table/index.js.map +1 -1
  125. package/lib/internal/template/test-utils/selectors/table/index.d.ts +4 -0
  126. package/lib/internal/template/test-utils/selectors/table/index.js +21 -5
  127. package/lib/internal/template/test-utils/selectors/table/index.js.map +1 -1
  128. package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
  129. package/lib/internal/template/wizard/internal/analytics.js +3 -3
  130. package/lib/internal/template/wizard/internal/analytics.js.map +1 -1
  131. package/package.json +1 -1
  132. package/lib/internal/template/code-editor/resize-handler.d.ts +0 -3
  133. package/lib/internal/template/code-editor/resize-handler.d.ts.map +0 -1
  134. package/lib/internal/template/code-editor/resize-handler.js +0 -7
  135. package/lib/internal/template/code-editor/resize-handler.js.map +0 -1
  136. package/lib/internal/template/internal/components/dynamic-aria-live/index.d.ts +0 -28
  137. package/lib/internal/template/internal/components/dynamic-aria-live/index.d.ts.map +0 -1
  138. package/lib/internal/template/internal/components/dynamic-aria-live/index.js +0 -38
  139. package/lib/internal/template/internal/components/dynamic-aria-live/index.js.map +0 -1
  140. package/lib/internal/template/internal/components/live-region/aria-liva-tag.d.ts +0 -13
  141. package/lib/internal/template/internal/components/live-region/aria-liva-tag.d.ts.map +0 -1
  142. package/lib/internal/template/internal/components/live-region/aria-liva-tag.js +0 -18
  143. package/lib/internal/template/internal/components/live-region/aria-liva-tag.js.map +0 -1
  144. package/lib/internal/template/internal/components/live-region/utils.d.ts +0 -8
  145. package/lib/internal/template/internal/components/live-region/utils.d.ts.map +0 -1
  146. package/lib/internal/template/internal/components/live-region/utils.js +0 -24
  147. package/lib/internal/template/internal/components/live-region/utils.js.map +0 -1
  148. package/lib/internal/template/package-lock.json +0 -15689
@@ -3,19 +3,19 @@
3
3
  import React, { useEffect, useRef, useState } from 'react';
4
4
  import clsx from 'clsx';
5
5
  import FocusLock from 'react-focus-lock';
6
- import { ResizableBox } from 'react-resizable';
7
6
  import { KeyCode } from '../internal/keycode';
8
7
  import { scrollElementIntoView } from '../internal/utils/scrollable-containers';
9
8
  import { InternalButton } from '../button/internal';
10
- import handler from './resize-handler';
9
+ import { ResizableBox } from './resizable-box';
11
10
  import styles from './styles.css.js';
12
11
  var ANNOTATION_ITEM_HEIGHT = 31;
13
12
  var PANE_ANNOTATIONS_PADDING = 12;
14
13
  var MIN_HEIGHT = 3 * ANNOTATION_ITEM_HEIGHT + 2 * PANE_ANNOTATIONS_PADDING;
15
14
  export var Pane = function (_a) {
16
15
  var id = _a.id, visible = _a.visible, annotations = _a.annotations, highlighted = _a.highlighted, onAllowlist = _a.onAllowlist, onClose = _a.onClose, onAnnotationClick = _a.onAnnotationClick, onAnnotationClear = _a.onAnnotationClear, cursorPositionLabel = _a.cursorPositionLabel, closeButtonAriaLabel = _a.closeButtonAriaLabel;
16
+ var _b = useState(MIN_HEIGHT), paneHeight = _b[0], setPaneHeight = _b[1];
17
17
  var listRef = useRef(null);
18
- var _b = useState(false), isFocusTrapActive = _b[0], setFocusTrapActive = _b[1];
18
+ var _c = useState(false), isFocusTrapActive = _c[0], setFocusTrapActive = _c[1];
19
19
  useEffect(function () {
20
20
  var _a;
21
21
  if (!highlighted) {
@@ -54,7 +54,7 @@ export var Pane = function (_a) {
54
54
  return null;
55
55
  }
56
56
  return (React.createElement("div", { id: id, className: styles.pane, onKeyDown: onEscKeyDown, role: "tabpanel" },
57
- React.createElement(ResizableBox, { className: styles['resizable-box'], width: Infinity, height: MIN_HEIGHT, minConstraints: [Infinity, MIN_HEIGHT], axis: "y", handle: handler },
57
+ React.createElement(ResizableBox, { height: paneHeight, minHeight: MIN_HEIGHT, onResize: function (newHeight) { return setPaneHeight(newHeight); } },
58
58
  React.createElement(FocusLock, { disabled: !isFocusTrapActive, className: styles['focus-lock'], autoFocus: false, returnFocus: false, whiteList: onAllowlist },
59
59
  React.createElement("div", { className: styles.pane__list, tabIndex: -1 },
60
60
  React.createElement("table", { className: styles.pane__table, role: "presentation" },
@@ -1 +1 @@
1
- {"version":3,"file":"pane.js","sourceRoot":"","sources":["../../../src/code-editor/pane.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport FocusLock from 'react-focus-lock';\nimport { ResizableBox } from 'react-resizable';\nimport { Ace } from 'ace-builds';\n\nimport { KeyCode } from '../internal/keycode';\nimport { scrollElementIntoView } from '../internal/utils/scrollable-containers';\n\nimport { InternalButton } from '../button/internal';\nimport handler from './resize-handler';\n\nimport styles from './styles.css.js';\n\nconst ANNOTATION_ITEM_HEIGHT = 31;\nconst PANE_ANNOTATIONS_PADDING = 12;\nconst MIN_HEIGHT = 3 * ANNOTATION_ITEM_HEIGHT + 2 * PANE_ANNOTATIONS_PADDING;\n\nexport interface PaneProps {\n id: string;\n\n visible: boolean;\n annotations: Ace.Annotation[];\n highlighted?: Ace.Annotation;\n\n cursorPositionLabel: (row: number, column: number) => string;\n closeButtonAriaLabel: string;\n\n onAllowlist: (activeElement: HTMLElement) => boolean;\n onClose: () => void;\n onAnnotationClick: (annotation: Ace.Annotation) => void;\n onAnnotationClear: () => void;\n}\n\nexport const Pane = ({\n id,\n visible,\n annotations,\n highlighted,\n onAllowlist,\n onClose,\n onAnnotationClick,\n onAnnotationClear,\n cursorPositionLabel,\n closeButtonAriaLabel,\n}: PaneProps) => {\n const listRef = useRef<HTMLTableSectionElement>(null);\n const [isFocusTrapActive, setFocusTrapActive] = useState(false);\n\n useEffect(() => {\n if (!highlighted) {\n return;\n }\n const { row, column } = highlighted;\n const highlightedAnnotationIndex = annotations.indexOf(\n annotations.filter(a => a.row === row && a.column === column)[0]\n );\n\n if (highlightedAnnotationIndex > -1) {\n const errorItem = listRef.current?.children[highlightedAnnotationIndex] as HTMLElement | undefined;\n scrollElementIntoView(errorItem);\n }\n }, [highlighted, annotations]);\n\n const onItemFocus = () => {\n setFocusTrapActive(true);\n onAnnotationClear();\n };\n\n const onItemClick = (annotation: Ace.Annotation) => {\n setFocusTrapActive(false);\n onAnnotationClick(annotation);\n };\n const onItemKeyDown = (annotation: Ace.Annotation, event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) {\n event.preventDefault();\n setFocusTrapActive(false);\n onAnnotationClick(annotation);\n }\n };\n\n const onEscKeyDown = (event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCode.escape) {\n event.preventDefault();\n setFocusTrapActive(false);\n onClose();\n }\n };\n\n if (!visible) {\n return null;\n }\n\n return (\n <div id={id} className={styles.pane} onKeyDown={onEscKeyDown} role=\"tabpanel\">\n <ResizableBox\n className={styles['resizable-box']}\n width={Infinity}\n height={MIN_HEIGHT}\n minConstraints={[Infinity, MIN_HEIGHT]}\n axis=\"y\"\n handle={handler}\n >\n <FocusLock\n disabled={!isFocusTrapActive}\n className={styles['focus-lock']}\n autoFocus={false}\n returnFocus={false}\n whiteList={onAllowlist}\n >\n <div className={styles.pane__list} tabIndex={-1}>\n <table className={styles.pane__table} role=\"presentation\">\n <colgroup>\n <col style={{ width: 1 } /* shrink to fit content */} />\n <col style={{ width: 'auto' }} />\n </colgroup>\n <tbody ref={listRef}>\n {annotations.map((annotation, i) => (\n <tr\n key={i}\n className={clsx(styles.pane__item, {\n [styles['pane__item--highlighted']]: annotation === highlighted,\n })}\n onFocus={onItemFocus}\n onMouseOver={onAnnotationClear}\n onClick={onItemClick.bind(null, annotation)}\n onKeyDown={onItemKeyDown.bind(null, annotation)}\n tabIndex={0}\n role=\"link\"\n >\n <td className={clsx(styles.pane__location, styles.pane__cell)} tabIndex={-1}>\n {cursorPositionLabel((annotation.row || 0) + 1, (annotation.column || 0) + 1)}\n </td>\n <td className={clsx(styles.pane__description, styles.pane__cell)} tabIndex={-1}>\n {annotation.text}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n <div className={styles['pane__close-container']}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"close\"\n onClick={onClose}\n ariaLabel={closeButtonAriaLabel}\n />\n </div>\n </FocusLock>\n </ResizableBox>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"pane.js","sourceRoot":"","sources":["../../../src/code-editor/pane.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport FocusLock from 'react-focus-lock';\nimport { Ace } from 'ace-builds';\n\nimport { KeyCode } from '../internal/keycode';\nimport { scrollElementIntoView } from '../internal/utils/scrollable-containers';\n\nimport { InternalButton } from '../button/internal';\nimport { ResizableBox } from './resizable-box';\n\nimport styles from './styles.css.js';\n\nconst ANNOTATION_ITEM_HEIGHT = 31;\nconst PANE_ANNOTATIONS_PADDING = 12;\nconst MIN_HEIGHT = 3 * ANNOTATION_ITEM_HEIGHT + 2 * PANE_ANNOTATIONS_PADDING;\n\nexport interface PaneProps {\n id: string;\n\n visible: boolean;\n annotations: Ace.Annotation[];\n highlighted?: Ace.Annotation;\n\n cursorPositionLabel: (row: number, column: number) => string;\n closeButtonAriaLabel: string;\n\n onAllowlist: (activeElement: HTMLElement) => boolean;\n onClose: () => void;\n onAnnotationClick: (annotation: Ace.Annotation) => void;\n onAnnotationClear: () => void;\n}\n\nexport const Pane = ({\n id,\n visible,\n annotations,\n highlighted,\n onAllowlist,\n onClose,\n onAnnotationClick,\n onAnnotationClear,\n cursorPositionLabel,\n closeButtonAriaLabel,\n}: PaneProps) => {\n const [paneHeight, setPaneHeight] = useState(MIN_HEIGHT);\n const listRef = useRef<HTMLTableSectionElement>(null);\n const [isFocusTrapActive, setFocusTrapActive] = useState(false);\n\n useEffect(() => {\n if (!highlighted) {\n return;\n }\n const { row, column } = highlighted;\n const highlightedAnnotationIndex = annotations.indexOf(\n annotations.filter(a => a.row === row && a.column === column)[0]\n );\n\n if (highlightedAnnotationIndex > -1) {\n const errorItem = listRef.current?.children[highlightedAnnotationIndex] as HTMLElement | undefined;\n scrollElementIntoView(errorItem);\n }\n }, [highlighted, annotations]);\n\n const onItemFocus = () => {\n setFocusTrapActive(true);\n onAnnotationClear();\n };\n\n const onItemClick = (annotation: Ace.Annotation) => {\n setFocusTrapActive(false);\n onAnnotationClick(annotation);\n };\n const onItemKeyDown = (annotation: Ace.Annotation, event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) {\n event.preventDefault();\n setFocusTrapActive(false);\n onAnnotationClick(annotation);\n }\n };\n\n const onEscKeyDown = (event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCode.escape) {\n event.preventDefault();\n setFocusTrapActive(false);\n onClose();\n }\n };\n\n if (!visible) {\n return null;\n }\n\n return (\n <div id={id} className={styles.pane} onKeyDown={onEscKeyDown} role=\"tabpanel\">\n <ResizableBox height={paneHeight} minHeight={MIN_HEIGHT} onResize={newHeight => setPaneHeight(newHeight)}>\n <FocusLock\n disabled={!isFocusTrapActive}\n className={styles['focus-lock']}\n autoFocus={false}\n returnFocus={false}\n whiteList={onAllowlist}\n >\n <div className={styles.pane__list} tabIndex={-1}>\n <table className={styles.pane__table} role=\"presentation\">\n <colgroup>\n <col style={{ width: 1 } /* shrink to fit content */} />\n <col style={{ width: 'auto' }} />\n </colgroup>\n <tbody ref={listRef}>\n {annotations.map((annotation, i) => (\n <tr\n key={i}\n className={clsx(styles.pane__item, {\n [styles['pane__item--highlighted']]: annotation === highlighted,\n })}\n onFocus={onItemFocus}\n onMouseOver={onAnnotationClear}\n onClick={onItemClick.bind(null, annotation)}\n onKeyDown={onItemKeyDown.bind(null, annotation)}\n tabIndex={0}\n role=\"link\"\n >\n <td className={clsx(styles.pane__location, styles.pane__cell)} tabIndex={-1}>\n {cursorPositionLabel((annotation.row || 0) + 1, (annotation.column || 0) + 1)}\n </td>\n <td className={clsx(styles.pane__description, styles.pane__cell)} tabIndex={-1}>\n {annotation.text}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n <div className={styles['pane__close-container']}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"close\"\n onClick={onClose}\n ariaLabel={closeButtonAriaLabel}\n />\n </div>\n </FocusLock>\n </ResizableBox>\n </div>\n );\n};\n"]}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export interface ResizeBoxProps {
3
+ children: React.ReactNode;
4
+ height: number;
5
+ minHeight: number;
6
+ onResize: (newHeight: number) => void;
7
+ }
8
+ export declare function ResizableBox({ children, height, minHeight, onResize }: ResizeBoxProps): JSX.Element;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/code-editor/resizable-box/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,cAAc,eA2CrF"}
@@ -0,0 +1,44 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import React, { useEffect, useRef, useState } from 'react';
4
+ import { useStableEventHandler } from '../../internal/hooks/use-stable-event-handler';
5
+ import styles from './styles.css.js';
6
+ export function ResizableBox(_a) {
7
+ var children = _a.children, height = _a.height, minHeight = _a.minHeight, onResize = _a.onResize;
8
+ var _b = useState(null), dragOffset = _b[0], setDragOffset = _b[1];
9
+ var onResizeStable = useStableEventHandler(onResize);
10
+ var containerRef = useRef(null);
11
+ var onMouseDown = function (event) {
12
+ if (event.button !== 0 || !containerRef.current) {
13
+ return;
14
+ }
15
+ var containerBottom = containerRef.current.getBoundingClientRect().bottom;
16
+ setDragOffset(containerBottom - event.clientY);
17
+ };
18
+ useEffect(function () {
19
+ if (dragOffset === null || !containerRef.current) {
20
+ return;
21
+ }
22
+ var container = containerRef.current;
23
+ var onMouseMove = function (event) {
24
+ var top = container.getBoundingClientRect().top;
25
+ var cursor = event.clientY;
26
+ onResizeStable(Math.max(cursor + dragOffset - top, minHeight));
27
+ };
28
+ var onMouseUp = function () {
29
+ setDragOffset(null);
30
+ };
31
+ document.body.classList.add(styles['resize-active']);
32
+ document.addEventListener('mousemove', onMouseMove);
33
+ document.addEventListener('mouseup', onMouseUp);
34
+ return function () {
35
+ document.removeEventListener('mousemove', onMouseMove);
36
+ document.removeEventListener('mouseup', onMouseUp);
37
+ document.body.classList.remove(styles['resize-active']);
38
+ };
39
+ }, [dragOffset, minHeight, onResizeStable]);
40
+ return (React.createElement("div", { ref: containerRef, className: styles['resizable-box'], style: { height: height } },
41
+ children,
42
+ React.createElement("span", { className: styles['resizable-box-handle'], onMouseDown: onMouseDown })));
43
+ }
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/code-editor/resizable-box/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,MAAM,MAAM,iBAAiB,CAAC;AASrC,MAAM,UAAU,YAAY,CAAC,EAAyD;QAAvD,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA;IAC5D,IAAA,KAA8B,QAAQ,CAAgB,IAAI,CAAC,EAA1D,UAAU,QAAA,EAAE,aAAa,QAAiC,CAAC;IAClE,IAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAElD,IAAM,WAAW,GAA4B,UAAA,KAAK;QAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC/C,OAAO;SACR;QACD,IAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;QAC5E,aAAa,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,SAAS,CAAC;QACR,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAChD,OAAO;SACR;QACD,IAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QAEvC,IAAM,WAAW,GAAG,UAAC,KAAiB;YAC5B,IAAA,GAAG,GAAK,SAAS,CAAC,qBAAqB,EAAE,IAAtC,CAAuC;YAClD,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU,GAAG,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QACF,IAAM,SAAS,GAAG;YAChB,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO;YACL,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5C,OAAO,CACL,6BAAK,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,QAAA,EAAE;QAC1E,QAAQ;QACT,8BAAM,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EAAE,WAAW,EAAE,WAAW,GAAI,CACzE,CACP,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useStableEventHandler } from '../../internal/hooks/use-stable-event-handler';\nimport styles from './styles.css.js';\n\nexport interface ResizeBoxProps {\n children: React.ReactNode;\n height: number;\n minHeight: number;\n onResize: (newHeight: number) => void;\n}\n\nexport function ResizableBox({ children, height, minHeight, onResize }: ResizeBoxProps) {\n const [dragOffset, setDragOffset] = useState<null | number>(null);\n const onResizeStable = useStableEventHandler(onResize);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const onMouseDown: React.MouseEventHandler = event => {\n if (event.button !== 0 || !containerRef.current) {\n return;\n }\n const containerBottom = containerRef.current.getBoundingClientRect().bottom;\n setDragOffset(containerBottom - event.clientY);\n };\n\n useEffect(() => {\n if (dragOffset === null || !containerRef.current) {\n return;\n }\n const container = containerRef.current;\n\n const onMouseMove = (event: MouseEvent) => {\n const { top } = container.getBoundingClientRect();\n const cursor = event.clientY;\n onResizeStable(Math.max(cursor + dragOffset - top, minHeight));\n };\n const onMouseUp = () => {\n setDragOffset(null);\n };\n document.body.classList.add(styles['resize-active']);\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n document.body.classList.remove(styles['resize-active']);\n };\n }, [dragOffset, minHeight, onResizeStable]);\n\n return (\n <div ref={containerRef} className={styles['resizable-box']} style={{ height }}>\n {children}\n <span className={styles['resizable-box-handle']} onMouseDown={onMouseDown} />\n </div>\n );\n}\n"]}
@@ -0,0 +1,8 @@
1
+
2
+ import './styles.scoped.css';
3
+ export default {
4
+ "resizable-box": "awsui_resizable-box_cufu9_14t5c_17",
5
+ "resizable-box-handle": "awsui_resizable-box-handle_cufu9_14t5c_22",
6
+ "resize-active": "awsui_resize-active_cufu9_14t5c_59"
7
+ };
8
+
@@ -0,0 +1,62 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /*
6
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ /*
10
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
11
+ SPDX-License-Identifier: Apache-2.0
12
+ */
13
+ /*
14
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
15
+ SPDX-License-Identifier: Apache-2.0
16
+ */
17
+ .awsui_resizable-box_cufu9_14t5c_17:not(#\9) {
18
+ position: relative;
19
+ width: 100%;
20
+ }
21
+
22
+ .awsui_resizable-box-handle_cufu9_14t5c_22:not(#\9) {
23
+ position: absolute;
24
+ right: 0;
25
+ bottom: 0;
26
+ z-index: 10;
27
+ width: var(--space-l-4vl6xu, 20px);
28
+ height: var(--space-l-4vl6xu, 20px);
29
+ background-repeat: no-repeat;
30
+ background-origin: content-box;
31
+ box-sizing: border-box;
32
+ background-position: bottom right;
33
+ background-size: var(--space-l-4vl6xu, 20px);
34
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='%23687078' fill-opacity='0' stroke-width='1'%3E %3Cpath d='M 8 13 L 13 8 M 13 11 L 11 13 M 5 13 L 13 5'/%3E %3C/svg%3E");
35
+ /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
36
+ /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
37
+ cursor: ns-resize;
38
+ }
39
+ @supports (--css-variable-support-check: #000) {
40
+ .awsui_resizable-box-handle_cufu9_14t5c_22:not(#\9) {
41
+ /* stylelint-disable selector-combinator-disallowed-list, selector-class-pattern */
42
+ }
43
+ .awsui-polaris-dark-mode .awsui_resizable-box-handle_cufu9_14t5c_22:not(#\9), .awsui-dark-mode .awsui_resizable-box-handle_cufu9_14t5c_22:not(#\9) {
44
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='%23687078' fill-opacity='0' stroke-width='1'%3E %3Cpath d='M 8 13 L 13 8 M 13 11 L 11 13 M 5 13 L 13 5'/%3E %3C/svg%3E");
45
+ }
46
+ }
47
+ @supports (--css-variable-support-check: #000) {
48
+ .awsui_resizable-box-handle_cufu9_14t5c_22:not(#\9) {
49
+ /* stylelint-disable selector-combinator-disallowed-list, selector-class-pattern */
50
+ }
51
+ .awsui-visual-refresh .awsui_resizable-box-handle_cufu9_14t5c_22:not(#\9) {
52
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='%23414d5c' fill-opacity='0' stroke-width='1'%3E %3Cpath d='M 8 13 L 13 8 M 13 11 L 11 13 M 5 13 L 13 5'/%3E %3C/svg%3E");
53
+ }
54
+ .awsui-visual-refresh.awsui-polaris-dark-mode .awsui_resizable-box-handle_cufu9_14t5c_22:not(#\9), .awsui-visual-refresh.awsui-dark-mode .awsui_resizable-box-handle_cufu9_14t5c_22:not(#\9) {
55
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='%23d1d5db' fill-opacity='0' stroke-width='1'%3E %3Cpath d='M 8 13 L 13 8 M 13 11 L 11 13 M 5 13 L 13 5'/%3E %3C/svg%3E");
56
+ }
57
+ }
58
+
59
+ .awsui_resize-active_cufu9_14t5c_59:not(#\9) {
60
+ -webkit-user-select: none;
61
+ user-select: none;
62
+ }
@@ -0,0 +1,9 @@
1
+
2
+ // es-module interop with Babel and Typescript
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ module.exports.default = {
5
+ "resizable-box": "awsui_resizable-box_cufu9_14t5c_17",
6
+ "resizable-box-handle": "awsui_resizable-box-handle_cufu9_14t5c_22",
7
+ "resize-active": "awsui_resize-active_cufu9_14t5c_59"
8
+ };
9
+
@@ -1,38 +1,37 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "code-editor": "awsui_code-editor_1gl9c_12bdt_98",
5
- "code-editor-refresh": "awsui_code-editor-refresh_1gl9c_12bdt_534",
6
- "pane": "awsui_pane_1gl9c_12bdt_546",
7
- "pane__close-container": "awsui_pane__close-container_1gl9c_12bdt_557",
8
- "pane__list": "awsui_pane__list_1gl9c_12bdt_562",
9
- "pane__table": "awsui_pane__table_1gl9c_12bdt_569",
10
- "pane__item": "awsui_pane__item_1gl9c_12bdt_574",
11
- "pane__cell": "awsui_pane__cell_1gl9c_12bdt_574",
12
- "pane__item--highlighted": "awsui_pane__item--highlighted_1gl9c_12bdt_588",
13
- "pane__location": "awsui_pane__location_1gl9c_12bdt_609",
14
- "pane__description": "awsui_pane__description_1gl9c_12bdt_609",
15
- "focus-lock": "awsui_focus-lock_1gl9c_12bdt_624",
16
- "resizable-box": "awsui_resizable-box_1gl9c_12bdt_647",
17
- "resizable-box-handle": "awsui_resizable-box-handle_1gl9c_12bdt_652",
18
- "editor": "awsui_editor_1gl9c_12bdt_689",
19
- "status-bar": "awsui_status-bar_1gl9c_12bdt_722",
20
- "status-bar-with-hidden-pane": "awsui_status-bar-with-hidden-pane_1gl9c_12bdt_731",
21
- "status-bar__left": "awsui_status-bar__left_1gl9c_12bdt_735",
22
- "status-bar__left-virtual": "awsui_status-bar__left-virtual_1gl9c_12bdt_742",
23
- "status-bar__right": "awsui_status-bar__right_1gl9c_12bdt_746",
24
- "status-bar__language-mode": "awsui_status-bar__language-mode_1gl9c_12bdt_750",
25
- "status-bar__cursor-position": "awsui_status-bar__cursor-position_1gl9c_12bdt_750",
26
- "status-bar__cog-button": "awsui_status-bar__cog-button_1gl9c_12bdt_755",
27
- "status-bar-virtual": "awsui_status-bar-virtual_1gl9c_12bdt_759",
28
- "tab-button": "awsui_tab-button_1gl9c_12bdt_765",
29
- "tab-button--refresh": "awsui_tab-button--refresh_1gl9c_12bdt_778",
30
- "tab-button--active": "awsui_tab-button--active_1gl9c_12bdt_792",
31
- "tab-button--disabled": "awsui_tab-button--disabled_1gl9c_12bdt_812",
32
- "tab-button--divider": "awsui_tab-button--divider_1gl9c_12bdt_842",
33
- "tab-button--errors": "awsui_tab-button--errors_1gl9c_12bdt_849",
34
- "tab-button--warnings": "awsui_tab-button--warnings_1gl9c_12bdt_849",
35
- "loading-screen": "awsui_loading-screen_1gl9c_12bdt_853",
36
- "error-screen": "awsui_error-screen_1gl9c_12bdt_854"
4
+ "code-editor": "awsui_code-editor_1gl9c_fk8aj_98",
5
+ "code-editor-refresh": "awsui_code-editor-refresh_1gl9c_fk8aj_534",
6
+ "pane": "awsui_pane_1gl9c_fk8aj_546",
7
+ "pane__close-container": "awsui_pane__close-container_1gl9c_fk8aj_557",
8
+ "pane__list": "awsui_pane__list_1gl9c_fk8aj_562",
9
+ "pane__table": "awsui_pane__table_1gl9c_fk8aj_569",
10
+ "pane__item": "awsui_pane__item_1gl9c_fk8aj_574",
11
+ "pane__cell": "awsui_pane__cell_1gl9c_fk8aj_574",
12
+ "pane__item--highlighted": "awsui_pane__item--highlighted_1gl9c_fk8aj_588",
13
+ "pane__location": "awsui_pane__location_1gl9c_fk8aj_609",
14
+ "pane__description": "awsui_pane__description_1gl9c_fk8aj_609",
15
+ "focus-lock": "awsui_focus-lock_1gl9c_fk8aj_624",
16
+ "editor": "awsui_editor_1gl9c_fk8aj_647",
17
+ "editor-refresh": "awsui_editor-refresh_1gl9c_fk8aj_675",
18
+ "status-bar": "awsui_status-bar_1gl9c_fk8aj_680",
19
+ "status-bar-with-hidden-pane": "awsui_status-bar-with-hidden-pane_1gl9c_fk8aj_689",
20
+ "status-bar__left": "awsui_status-bar__left_1gl9c_fk8aj_693",
21
+ "status-bar__left-virtual": "awsui_status-bar__left-virtual_1gl9c_fk8aj_700",
22
+ "status-bar__right": "awsui_status-bar__right_1gl9c_fk8aj_704",
23
+ "status-bar__language-mode": "awsui_status-bar__language-mode_1gl9c_fk8aj_708",
24
+ "status-bar__cursor-position": "awsui_status-bar__cursor-position_1gl9c_fk8aj_708",
25
+ "status-bar__cog-button": "awsui_status-bar__cog-button_1gl9c_fk8aj_713",
26
+ "status-bar-virtual": "awsui_status-bar-virtual_1gl9c_fk8aj_717",
27
+ "tab-button": "awsui_tab-button_1gl9c_fk8aj_723",
28
+ "tab-button--refresh": "awsui_tab-button--refresh_1gl9c_fk8aj_736",
29
+ "tab-button--active": "awsui_tab-button--active_1gl9c_fk8aj_750",
30
+ "tab-button--disabled": "awsui_tab-button--disabled_1gl9c_fk8aj_770",
31
+ "tab-button--divider": "awsui_tab-button--divider_1gl9c_fk8aj_800",
32
+ "tab-button--errors": "awsui_tab-button--errors_1gl9c_fk8aj_807",
33
+ "tab-button--warnings": "awsui_tab-button--warnings_1gl9c_fk8aj_807",
34
+ "loading-screen": "awsui_loading-screen_1gl9c_fk8aj_811",
35
+ "error-screen": "awsui_error-screen_1gl9c_fk8aj_812"
37
36
  };
38
37