@cloudscape-design/components-themeable 3.0.698 → 3.0.700
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/alert/styles.scss +1 -1
- package/lib/internal/scss/anchor-navigation/styles.scss +1 -1
- package/lib/internal/scss/annotation-context/annotation/styles.scss +1 -1
- package/lib/internal/scss/app-layout/drawer/styles.scss +1 -1
- package/lib/internal/scss/app-layout/toggles/styles.scss +1 -1
- package/lib/internal/scss/app-layout/visual-refresh/trigger-button.scss +1 -1
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/skeleton/styles.scss +4 -0
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scss +1 -1
- package/lib/internal/scss/breadcrumb-group/item/styles.scss +1 -1
- package/lib/internal/scss/button/styles.scss +1 -1
- package/lib/internal/scss/calendar/styles.scss +1 -1
- package/lib/internal/scss/checkbox/styles.scss +1 -1
- package/lib/internal/scss/code-editor/ace-editor.scss +1 -1
- package/lib/internal/scss/code-editor/pane.scss +1 -1
- package/lib/internal/scss/code-editor/styles.scss +1 -1
- package/lib/internal/scss/collection-preferences/content-display/content-display-option.scss +2 -8
- package/lib/internal/scss/date-picker/styles.scss +1 -1
- package/lib/internal/scss/date-range-picker/calendar/grids/styles.scss +1 -1
- package/lib/internal/scss/date-range-picker/styles.scss +1 -1
- package/lib/internal/scss/expandable-section/styles.scss +1 -1
- package/lib/internal/scss/file-upload/file-input/styles.scss +5 -3
- package/lib/internal/scss/flashbar/collapsible.scss +1 -1
- package/lib/internal/scss/flashbar/styles.scss +1 -1
- package/lib/internal/scss/form-field/styles.scss +1 -1
- package/lib/internal/scss/internal/components/abstract-switch/styles.scss +1 -1
- package/lib/internal/scss/internal/components/button-trigger/styles.scss +1 -1
- package/lib/internal/scss/internal/components/chart-legend/styles.scss +1 -1
- package/lib/internal/scss/internal/components/handle/styles.scss +1 -1
- package/lib/internal/scss/internal/components/menu-dropdown/styles.scss +1 -1
- package/lib/internal/scss/internal/components/panel-resize-handle/styles.scss +1 -1
- package/lib/internal/scss/internal/components/token-list/styles.scss +1 -1
- package/lib/internal/scss/internal/styles/links.scss +1 -1
- package/lib/internal/scss/link/styles.scss +1 -1
- package/lib/internal/scss/pagination/styles.scss +1 -1
- package/lib/internal/scss/popover/styles.scss +1 -1
- package/lib/internal/scss/{internal/components → property-filter}/filtering-token/styles.scss +4 -4
- package/lib/internal/scss/property-filter/test-classes/styles.scss +33 -0
- package/lib/internal/scss/radio-group/styles.scss +1 -1
- package/lib/internal/scss/segmented-control/segment.scss +1 -1
- package/lib/internal/scss/select/parts/styles.scss +1 -1
- package/lib/internal/scss/side-navigation/styles.scss +1 -1
- package/lib/internal/scss/slider/mixins.scss +2 -0
- package/lib/internal/scss/slider/styles.scss +1 -6
- package/lib/internal/scss/split-panel/styles.scss +1 -1
- package/lib/internal/scss/table/body-cell/styles.scss +23 -8
- package/lib/internal/scss/table/expandable-rows/styles.scss +1 -1
- package/lib/internal/scss/table/header-cell/styles.scss +5 -4
- package/lib/internal/scss/table/resizer/styles.scss +6 -4
- package/lib/internal/scss/table/styles.scss +1 -1
- package/lib/internal/scss/tabs/styles.scss +1 -1
- package/lib/internal/scss/tabs/tab-header-bar.scss +4 -3
- package/lib/internal/scss/tag-editor/styles.scss +1 -1
- package/lib/internal/scss/toggle/styles.scss +1 -1
- package/lib/internal/scss/token-group/styles.scss +1 -1
- package/lib/internal/scss/top-navigation/1.0-beta/styles.scss +1 -1
- package/lib/internal/scss/top-navigation/styles.scss +1 -1
- package/lib/internal/scss/tutorial-panel/components/tutorial-list/styles.scss +1 -1
- package/lib/internal/scss/wizard/styles.scss +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +16 -15
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +30 -26
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +16 -15
- package/lib/internal/template/area-chart/model/use-chart-model.d.ts.map +1 -1
- package/lib/internal/template/area-chart/model/use-chart-model.js +2 -1
- package/lib/internal/template/area-chart/model/use-chart-model.js.map +1 -1
- package/lib/internal/template/area-chart/model/utils.d.ts +0 -1
- package/lib/internal/template/area-chart/model/utils.d.ts.map +1 -1
- package/lib/internal/template/area-chart/model/utils.js +0 -10
- package/lib/internal/template/area-chart/model/utils.js.map +1 -1
- package/lib/internal/template/copy-to-clipboard/index.d.ts +1 -1
- package/lib/internal/template/copy-to-clipboard/index.d.ts.map +1 -1
- package/lib/internal/template/copy-to-clipboard/index.js +2 -2
- package/lib/internal/template/copy-to-clipboard/index.js.map +1 -1
- package/lib/internal/template/copy-to-clipboard/interfaces.d.ts +8 -0
- package/lib/internal/template/copy-to-clipboard/interfaces.d.ts.map +1 -1
- package/lib/internal/template/copy-to-clipboard/interfaces.js.map +1 -1
- package/lib/internal/template/copy-to-clipboard/internal.d.ts +1 -1
- package/lib/internal/template/copy-to-clipboard/internal.d.ts.map +1 -1
- package/lib/internal/template/copy-to-clipboard/internal.js +2 -2
- package/lib/internal/template/copy-to-clipboard/internal.js.map +1 -1
- package/lib/internal/template/i18n/dynamic.js +2 -0
- package/lib/internal/template/i18n/messages/all.all.js +1 -1
- package/lib/internal/template/i18n/messages/all.all.json +1 -1
- package/lib/internal/template/i18n/messages/all.ar.d.ts +3 -0
- package/lib/internal/template/i18n/messages/all.ar.js +1 -0
- package/lib/internal/template/i18n/messages/all.ar.json +1 -0
- package/lib/internal/template/i18n/messages/all.de.js +1 -1
- package/lib/internal/template/i18n/messages/all.de.json +1 -1
- package/lib/internal/template/i18n/messages/all.en-GB.js +1 -1
- package/lib/internal/template/i18n/messages/all.en-GB.json +1 -1
- package/lib/internal/template/i18n/messages/all.en.js +1 -1
- package/lib/internal/template/i18n/messages/all.en.json +1 -1
- package/lib/internal/template/i18n/messages/all.es.js +1 -1
- package/lib/internal/template/i18n/messages/all.es.json +1 -1
- package/lib/internal/template/i18n/messages/all.fr.js +1 -1
- package/lib/internal/template/i18n/messages/all.fr.json +1 -1
- package/lib/internal/template/i18n/messages/all.id.js +1 -1
- package/lib/internal/template/i18n/messages/all.id.json +1 -1
- package/lib/internal/template/i18n/messages/all.it.js +1 -1
- package/lib/internal/template/i18n/messages/all.it.json +1 -1
- package/lib/internal/template/i18n/messages/all.ja.js +1 -1
- package/lib/internal/template/i18n/messages/all.ja.json +1 -1
- package/lib/internal/template/i18n/messages/all.ko.js +1 -1
- package/lib/internal/template/i18n/messages/all.ko.json +1 -1
- package/lib/internal/template/i18n/messages/all.pt-BR.js +1 -1
- package/lib/internal/template/i18n/messages/all.pt-BR.json +1 -1
- package/lib/internal/template/i18n/messages/all.tr.js +1 -1
- package/lib/internal/template/i18n/messages/all.tr.json +1 -1
- package/lib/internal/template/i18n/messages/all.zh-CN.js +1 -1
- package/lib/internal/template/i18n/messages/all.zh-CN.json +1 -1
- package/lib/internal/template/i18n/messages/all.zh-TW.js +1 -1
- package/lib/internal/template/i18n/messages/all.zh-TW.json +1 -1
- package/lib/internal/template/i18n/messages-types.d.ts +12 -0
- package/lib/internal/template/i18n/messages-types.d.ts.map +1 -1
- package/lib/internal/template/i18n/messages-types.js.map +1 -1
- package/lib/internal/template/internal/components/chart-plot/focus-outline.js +1 -1
- package/lib/internal/template/internal/components/chart-plot/focus-outline.js.map +1 -1
- package/lib/internal/template/internal/environment.js +1 -1
- package/lib/internal/template/internal/environment.json +1 -1
- package/lib/internal/template/internal/hooks/use-base-component/index.d.ts.map +1 -1
- package/lib/internal/template/internal/hooks/use-base-component/index.js +1 -2
- package/lib/internal/template/internal/hooks/use-base-component/index.js.map +1 -1
- package/lib/internal/template/internal/utils/circle-index.d.ts +2 -0
- package/lib/internal/template/internal/utils/circle-index.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/circle-index.js +13 -0
- package/lib/internal/template/internal/utils/circle-index.js.map +1 -0
- package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.d.ts.map +1 -1
- package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js +1 -10
- package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
- package/lib/internal/template/package.json +2 -0
- package/lib/internal/template/property-filter/filtering-token/index.d.ts.map +1 -0
- package/lib/internal/template/{internal/components → property-filter}/filtering-token/index.js +7 -6
- package/lib/internal/template/property-filter/filtering-token/index.js.map +1 -0
- package/lib/internal/template/property-filter/filtering-token/styles.css.js +12 -0
- package/lib/internal/template/{internal/components → property-filter}/filtering-token/styles.scoped.css +15 -15
- package/lib/internal/template/property-filter/filtering-token/styles.selectors.js +13 -0
- package/lib/internal/template/property-filter/test-classes/styles.css.js +14 -0
- package/lib/internal/template/property-filter/test-classes/styles.scoped.css +39 -0
- package/lib/internal/template/property-filter/test-classes/styles.selectors.js +15 -0
- package/lib/internal/template/property-filter/token-editor.d.ts.map +1 -1
- package/lib/internal/template/property-filter/token-editor.js +7 -5
- package/lib/internal/template/property-filter/token-editor.js.map +1 -1
- package/lib/internal/template/property-filter/token.js +1 -1
- package/lib/internal/template/property-filter/token.js.map +1 -1
- package/lib/internal/template/select/parts/filter.d.ts +1 -1
- package/lib/internal/template/slider/styles.css.js +26 -27
- package/lib/internal/template/slider/styles.scoped.css +80 -80
- package/lib/internal/template/slider/styles.selectors.js +26 -27
- package/lib/internal/template/table/body-cell/styles.css.js +46 -46
- package/lib/internal/template/table/body-cell/styles.scoped.css +525 -274
- package/lib/internal/template/table/body-cell/styles.selectors.js +46 -46
- package/lib/internal/template/table/body-cell/td-element.d.ts.map +1 -1
- package/lib/internal/template/table/body-cell/td-element.js +3 -4
- package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
- package/lib/internal/template/tabs/styles.css.js +28 -28
- package/lib/internal/template/tabs/styles.scoped.css +53 -53
- package/lib/internal/template/tabs/styles.selectors.js +28 -28
- package/lib/internal/template/tabs/tab-header-bar.d.ts.map +1 -1
- package/lib/internal/template/tabs/tab-header-bar.js +1 -9
- package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
- package/lib/internal/template/test-utils/dom/copy-to-clipboard/index.d.ts +3 -1
- package/lib/internal/template/test-utils/dom/copy-to-clipboard/index.js +2 -2
- package/lib/internal/template/test-utils/dom/copy-to-clipboard/index.js.map +1 -1
- package/lib/internal/template/test-utils/dom/property-filter/index.d.ts +25 -2
- package/lib/internal/template/test-utils/dom/property-filter/index.js +59 -6
- package/lib/internal/template/test-utils/dom/property-filter/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/copy-to-clipboard/index.d.ts +3 -1
- package/lib/internal/template/test-utils/selectors/copy-to-clipboard/index.js +4 -2
- package/lib/internal/template/test-utils/selectors/copy-to-clipboard/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/property-filter/index.d.ts +25 -2
- package/lib/internal/template/test-utils/selectors/property-filter/index.js +61 -6
- package/lib/internal/template/test-utils/selectors/property-filter/index.js.map +1 -1
- package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/lib/internal/scss/internal/hooks/focus-visible/index.scss +0 -13
- package/lib/internal/template/internal/components/filtering-token/index.d.ts.map +0 -1
- package/lib/internal/template/internal/components/filtering-token/index.js.map +0 -1
- package/lib/internal/template/internal/components/filtering-token/styles.css.js +0 -12
- package/lib/internal/template/internal/components/filtering-token/styles.selectors.js +0 -13
- package/lib/internal/template/internal/hooks/focus-visible/index.d.ts +0 -3
- package/lib/internal/template/internal/hooks/focus-visible/index.d.ts.map +0 -1
- package/lib/internal/template/internal/hooks/focus-visible/index.js +0 -49
- package/lib/internal/template/internal/hooks/focus-visible/index.js.map +0 -1
- package/lib/internal/template/test-utils/dom/internal/filtering-token.d.ts +0 -8
- package/lib/internal/template/test-utils/dom/internal/filtering-token.js +0 -21
- package/lib/internal/template/test-utils/dom/internal/filtering-token.js.map +0 -1
- package/lib/internal/template/test-utils/selectors/internal/filtering-token.d.ts +0 -8
- package/lib/internal/template/test-utils/selectors/internal/filtering-token.js +0 -21
- package/lib/internal/template/test-utils/selectors/internal/filtering-token.js.map +0 -1
- /package/lib/internal/template/{internal/components → property-filter}/filtering-token/index.d.ts +0 -0
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../../internal/styles/index' as styles;
|
|
7
7
|
@use '../../internal/styles/tokens' as awsui;
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
8
9
|
|
|
9
10
|
//stylelint-disable-next-line selector-combinator-disallowed-list,selector-max-universal
|
|
10
11
|
.resize-active:not(.resize-active-with-focus) * {
|
|
@@ -65,10 +66,11 @@ th:not(:last-child) > .divider {
|
|
|
65
66
|
&:hover + .divider {
|
|
66
67
|
border-inline-start: $active-separator-width solid awsui.$color-border-divider-active;
|
|
67
68
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
&.has-focus {
|
|
70
|
+
@include focus-visible.when-visible-unfocused {
|
|
71
|
+
@include styles.focus-highlight(calc(#{awsui.$space-table-header-focus-outline-gutter} - 2px));
|
|
72
|
+
position: absolute;
|
|
73
|
+
}
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../internal/styles/index' as styles;
|
|
7
7
|
@use '../internal/styles/tokens' as awsui;
|
|
8
|
-
@use '
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
9
|
@use '../container/shared' as container;
|
|
10
10
|
|
|
11
11
|
.root {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../internal/styles' as styles;
|
|
7
7
|
@use '../internal/styles/tokens' as awsui;
|
|
8
|
-
@use '
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
9
|
|
|
10
10
|
@import './tab-header-bar';
|
|
11
11
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/* stylelint-disable selector-max-type */
|
|
7
7
|
@use '../internal/styles' as styles;
|
|
8
8
|
@use '../internal/styles/tokens' as awsui;
|
|
9
|
-
@use '
|
|
9
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
10
10
|
|
|
11
11
|
$separator-color: awsui.$color-border-tabs-divider;
|
|
12
12
|
$label-horizontal-spacing: awsui.$space-xs;
|
|
@@ -147,16 +147,17 @@ $label-horizontal-spacing: awsui.$space-xs;
|
|
|
147
147
|
.tabs-tab:not(:last-child) {
|
|
148
148
|
& > .tabs-tab-header-container {
|
|
149
149
|
margin-inline-end: calc(-1 * #{awsui.$border-divider-section-width});
|
|
150
|
+
// This is the divider for the tab
|
|
150
151
|
&:before {
|
|
151
152
|
content: '';
|
|
152
153
|
position: absolute;
|
|
153
154
|
border-inline-end: awsui.$border-divider-section-width solid $separator-color;
|
|
154
|
-
inset:
|
|
155
|
+
inset: awsui.$space-scaled-s 0;
|
|
155
156
|
opacity: 1;
|
|
156
157
|
}
|
|
157
158
|
|
|
158
159
|
&.refresh:before {
|
|
159
|
-
inset: calc(#{awsui.$space-
|
|
160
|
+
inset: calc(#{awsui.$space-static-s} - #{awsui.$border-active-width}) 0;
|
|
160
161
|
}
|
|
161
162
|
}
|
|
162
163
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../internal/styles' as styles;
|
|
7
7
|
@use '../internal/styles/tokens' as awsui;
|
|
8
|
-
@use '
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
9
|
|
|
10
10
|
.root {
|
|
11
11
|
/* used in test utils */
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../internal/styles' as styles;
|
|
7
7
|
@use '../internal/styles/tokens' as awsui;
|
|
8
|
-
@use '
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
9
|
|
|
10
10
|
$toggle-width: 2.4 * styles.$base-size;
|
|
11
11
|
$toggle-height: 1.6 * styles.$base-size;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../internal/styles' as styles;
|
|
7
7
|
@use '../internal/styles/tokens' as awsui;
|
|
8
|
-
@use '
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
9
|
@use './constants' as constants;
|
|
10
10
|
|
|
11
11
|
.root {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../../internal/styles' as styles;
|
|
7
7
|
@use '../../internal/styles/tokens' as awsui;
|
|
8
|
-
@use '
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
9
|
|
|
10
10
|
.top-navigation {
|
|
11
11
|
@include styles.styles-reset;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../../../internal/styles/tokens' as awsui;
|
|
7
7
|
@use '../../../internal/styles' as styles;
|
|
8
|
-
@use '
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
9
|
|
|
10
10
|
@use './motion';
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../internal/styles' as styles;
|
|
7
7
|
@use '../internal/styles/tokens' as awsui;
|
|
8
|
-
@use '
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
9
|
@use '../internal/generated/custom-css-properties/index.scss' as custom-props;
|
|
10
10
|
|
|
11
11
|
.root {
|
|
@@ -24,7 +24,7 @@ export function SkeletonLayout({ style, notifications, contentHeader, content, n
|
|
|
24
24
|
notifications,
|
|
25
25
|
React.createElement("div", { className: clsx(styles.main, { [styles['main-disable-paddings']]: disableContentPaddings }), style: style },
|
|
26
26
|
contentHeader && React.createElement("div", { className: styles['content-header'] }, contentHeader),
|
|
27
|
-
React.createElement("div", { className: testutilStyles.content }, content)),
|
|
27
|
+
React.createElement("div", { className: clsx(styles.content, testutilStyles.content) }, content)),
|
|
28
28
|
bottomSplitPanel && (React.createElement("div", { className: clsx(styles['split-panel-bottom'], !splitPanelOpen && styles['split-panel-hidden']), style: { insetBlockEnd: placement.insetBlockEnd } }, bottomSplitPanel))),
|
|
29
29
|
sideSplitPanel && (React.createElement("div", { className: clsx(styles['split-panel-side'], !splitPanelOpen && styles['panel-hidden']) }, sideSplitPanel)),
|
|
30
30
|
tools && React.createElement("div", { className: clsx(styles.tools, !toolsOpen && styles['panel-hidden']) }, tools)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/skeleton/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,uBAAuB,GAA8B,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AA0B3F,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,aAAa,EACb,aAAa,EACb,OAAO,EACP,UAAU,EACV,cAAc,EACd,eAAe,EACf,KAAK,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,WAAW,EACX,eAAe,EACf,sBAAsB,GACF;IACpB,MAAM,UAAU,GAAG,eAAe,KAAK,MAAM,CAAC,SAAS,IAAI,eAAe,KAAK,MAAM,CAAC,gBAAgB,CAAC;IACvG,MAAM,YAAY,GAAG,cAAc,IAAI,SAAS,CAAC;IACjD,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE;YAChD,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,WAAW,CAAC;YACvF,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,EAAE,WAAW,KAAK,WAAW;SACvE,CAAC,EACF,KAAK,EAAE;YACL,YAAY,EAAE,gBAAgB,SAAS,CAAC,eAAe,QAAQ,SAAS,CAAC,aAAa,KAAK;YAC3F,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC,CAAC,EAAE;YACrG,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,GAAG,eAAe,IAAI;YACxD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,GAAG,UAAU,IAAI;SAC/C;QAEA,UAAU,IAAI,CACb,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,UAAU,EACjB,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,EACzC,SAAS,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAC1C,IAEA,UAAU,CACP,CACP;QACA,OAAO;QACR,8BAAM,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,YAAY,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACzF,aAAa;YACd,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK;gBAC3G,aAAa,IAAI,6BAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAG,aAAa,CAAO;gBACjF,6BAAK,SAAS,EAAE,cAAc,CAAC,OAAO,IAAG,OAAO,CAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/skeleton/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 from 'react';\nimport clsx from 'clsx';\nimport { AppLayoutPropsWithDefaults } from '../../interfaces';\nimport customCssProps from '../../../internal/generated/custom-css-properties';\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nconst contentTypeCustomWidths: Array<string | undefined> = ['dashboard', 'cards', 'table'];\n\ninterface SkeletonLayoutProps\n extends Pick<\n AppLayoutPropsWithDefaults,\n | 'notifications'\n | 'contentHeader'\n | 'content'\n | 'contentType'\n | 'maxContentWidth'\n | 'disableContentPaddings'\n | 'navigation'\n | 'navigationOpen'\n | 'navigationWidth'\n | 'tools'\n | 'toolsOpen'\n | 'toolsWidth'\n | 'placement'\n > {\n style?: React.CSSProperties;\n toolbar?: React.ReactNode;\n splitPanelOpen?: boolean;\n sideSplitPanel?: React.ReactNode;\n bottomSplitPanel?: React.ReactNode;\n}\n\nexport function SkeletonLayout({\n style,\n notifications,\n contentHeader,\n content,\n navigation,\n navigationOpen,\n navigationWidth,\n tools,\n toolsOpen,\n toolsWidth,\n toolbar,\n sideSplitPanel,\n bottomSplitPanel,\n splitPanelOpen,\n placement,\n contentType,\n maxContentWidth,\n disableContentPaddings,\n}: SkeletonLayoutProps) {\n const isMaxWidth = maxContentWidth === Number.MAX_VALUE || maxContentWidth === Number.MAX_SAFE_INTEGER;\n const anyPanelOpen = navigationOpen || toolsOpen;\n return (\n <div\n className={clsx(styles.root, testutilStyles.root, {\n [styles['has-adaptive-widths-default']]: !contentTypeCustomWidths.includes(contentType),\n [styles['has-adaptive-widths-dashboard']]: contentType === 'dashboard',\n })}\n style={{\n minBlockSize: `calc(100vh - ${placement.insetBlockStart}px - ${placement.insetBlockEnd}px)`,\n [customCssProps.maxContentWidth]: isMaxWidth ? '100%' : maxContentWidth ? `${maxContentWidth}px` : '',\n [customCssProps.navigationWidth]: `${navigationWidth}px`,\n [customCssProps.toolsWidth]: `${toolsWidth}px`,\n }}\n >\n {navigation && (\n <div\n className={clsx(\n styles.navigation,\n !navigationOpen && styles['panel-hidden'],\n toolsOpen && styles['unfocusable-mobile']\n )}\n >\n {navigation}\n </div>\n )}\n {toolbar}\n <main className={clsx(styles['main-landmark'], anyPanelOpen && styles['unfocusable-mobile'])}>\n {notifications}\n <div className={clsx(styles.main, { [styles['main-disable-paddings']]: disableContentPaddings })} style={style}>\n {contentHeader && <div className={styles['content-header']}>{contentHeader}</div>}\n <div className={clsx(styles.content, testutilStyles.content)}>{content}</div>\n </div>\n {bottomSplitPanel && (\n <div\n className={clsx(styles['split-panel-bottom'], !splitPanelOpen && styles['split-panel-hidden'])}\n style={{ insetBlockEnd: placement.insetBlockEnd }}\n >\n {bottomSplitPanel}\n </div>\n )}\n </main>\n {sideSplitPanel && (\n <div className={clsx(styles['split-panel-side'], !splitPanelOpen && styles['panel-hidden'])}>\n {sideSplitPanel}\n </div>\n )}\n {tools && <div className={clsx(styles.tools, !toolsOpen && styles['panel-hidden'])}>{tools}</div>}\n </div>\n );\n}\n"]}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"has-adaptive-widths-default": "awsui_has-adaptive-widths-
|
|
6
|
-
"has-adaptive-widths-dashboard": "awsui_has-adaptive-widths-
|
|
7
|
-
"navigation": "
|
|
8
|
-
"tools": "
|
|
9
|
-
"split-panel-side": "awsui_split-panel-
|
|
10
|
-
"split-panel-bottom": "awsui_split-panel-
|
|
11
|
-
"panel-hidden": "awsui_panel-
|
|
12
|
-
"toolbar-container": "awsui_toolbar-
|
|
13
|
-
"notifications-container": "awsui_notifications-
|
|
14
|
-
"main-landmark": "awsui_main-
|
|
15
|
-
"main": "
|
|
16
|
-
"main-disable-paddings": "awsui_main-disable-
|
|
17
|
-
"content-header": "awsui_content-
|
|
18
|
-
"
|
|
4
|
+
"root": "awsui_root_7nfqu_ly301_101",
|
|
5
|
+
"has-adaptive-widths-default": "awsui_has-adaptive-widths-default_7nfqu_ly301_150",
|
|
6
|
+
"has-adaptive-widths-dashboard": "awsui_has-adaptive-widths-dashboard_7nfqu_ly301_165",
|
|
7
|
+
"navigation": "awsui_navigation_7nfqu_ly301_180",
|
|
8
|
+
"tools": "awsui_tools_7nfqu_ly301_181",
|
|
9
|
+
"split-panel-side": "awsui_split-panel-side_7nfqu_ly301_205",
|
|
10
|
+
"split-panel-bottom": "awsui_split-panel-bottom_7nfqu_ly301_211",
|
|
11
|
+
"panel-hidden": "awsui_panel-hidden_7nfqu_ly301_224",
|
|
12
|
+
"toolbar-container": "awsui_toolbar-container_7nfqu_ly301_228",
|
|
13
|
+
"notifications-container": "awsui_notifications-container_7nfqu_ly301_234",
|
|
14
|
+
"main-landmark": "awsui_main-landmark_7nfqu_ly301_241",
|
|
15
|
+
"main": "awsui_main_7nfqu_ly301_241",
|
|
16
|
+
"main-disable-paddings": "awsui_main-disable-paddings_7nfqu_ly301_250",
|
|
17
|
+
"content-header": "awsui_content-header_7nfqu_ly301_260",
|
|
18
|
+
"content": "awsui_content_7nfqu_ly301_260",
|
|
19
|
+
"unfocusable-mobile": "awsui_unfocusable-mobile_7nfqu_ly301_269"
|
|
19
20
|
};
|
|
20
21
|
|
|
@@ -98,7 +98,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
98
98
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
99
99
|
SPDX-License-Identifier: Apache-2.0
|
|
100
100
|
*/
|
|
101
|
-
.
|
|
101
|
+
.awsui_root_7nfqu_ly301_101:not(#\9) {
|
|
102
102
|
border-collapse: separate;
|
|
103
103
|
border-spacing: 0;
|
|
104
104
|
box-sizing: border-box;
|
|
@@ -141,45 +141,45 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
141
141
|
grid-template-rows: min-content min-content 1fr;
|
|
142
142
|
}
|
|
143
143
|
@media (min-width: 689px) {
|
|
144
|
-
.
|
|
144
|
+
.awsui_root_7nfqu_ly301_101:not(#\9) {
|
|
145
145
|
grid-template-areas: "navigation toolbar toolbar toolbar toolbar tools" "navigation . notifications . sideSplitPanel tools" "navigation . main . sideSplitPanel tools";
|
|
146
146
|
grid-template-columns: min-content minmax(var(--space-layout-content-horizontal-sin989, 40px), 1fr) minmax(0, var(--awsui-max-content-width-9rhwr5)) minmax(var(--space-layout-content-horizontal-sin989, 40px), 1fr) min-content min-content;
|
|
147
147
|
grid-template-rows: min-content min-content 1fr min-content;
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
@media (min-width: 689px) and (min-width: 1401px) {
|
|
151
|
-
.
|
|
151
|
+
.awsui_root_7nfqu_ly301_101.awsui_has-adaptive-widths-default_7nfqu_ly301_150:not(#\9) {
|
|
152
152
|
--awsui-max-content-width-9rhwr5: 1280px;
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
@media (min-width: 689px) and (min-width: 1921px) {
|
|
156
|
-
.
|
|
156
|
+
.awsui_root_7nfqu_ly301_101.awsui_has-adaptive-widths-default_7nfqu_ly301_150:not(#\9) {
|
|
157
157
|
--awsui-max-content-width-9rhwr5: 1440px;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
@media (min-width: 689px) and (min-width: 2541px) {
|
|
161
|
-
.
|
|
161
|
+
.awsui_root_7nfqu_ly301_101.awsui_has-adaptive-widths-default_7nfqu_ly301_150:not(#\9) {
|
|
162
162
|
--awsui-max-content-width-9rhwr5: 1620px;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
@media (min-width: 689px) and (min-width: 1401px) {
|
|
166
|
-
.
|
|
166
|
+
.awsui_root_7nfqu_ly301_101.awsui_has-adaptive-widths-dashboard_7nfqu_ly301_165:not(#\9) {
|
|
167
167
|
--awsui-max-content-width-9rhwr5: 1280px;
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
@media (min-width: 689px) and (min-width: 1921px) {
|
|
171
|
-
.
|
|
171
|
+
.awsui_root_7nfqu_ly301_101.awsui_has-adaptive-widths-dashboard_7nfqu_ly301_165:not(#\9) {
|
|
172
172
|
--awsui-max-content-width-9rhwr5: 1620px;
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
@media (min-width: 689px) and (min-width: 2541px) {
|
|
176
|
-
.
|
|
176
|
+
.awsui_root_7nfqu_ly301_101.awsui_has-adaptive-widths-dashboard_7nfqu_ly301_165:not(#\9) {
|
|
177
177
|
--awsui-max-content-width-9rhwr5: 2160px;
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
.
|
|
182
|
-
.
|
|
181
|
+
.awsui_navigation_7nfqu_ly301_180:not(#\9),
|
|
182
|
+
.awsui_tools_7nfqu_ly301_181:not(#\9) {
|
|
183
183
|
grid-row: 1/-1;
|
|
184
184
|
grid-column: 1/-1;
|
|
185
185
|
background: var(--color-background-container-content-il2pe5, #ffffff);
|
|
@@ -187,7 +187,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
@media (min-width: 689px) {
|
|
190
|
-
.
|
|
190
|
+
.awsui_navigation_7nfqu_ly301_180:not(#\9) {
|
|
191
191
|
grid-area: navigation;
|
|
192
192
|
inline-size: var(--awsui-navigation-width-9rhwr5);
|
|
193
193
|
border-inline-end: 1px solid var(--color-border-divider-panel-side-btgups, transparent);
|
|
@@ -195,7 +195,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
@media (min-width: 689px) {
|
|
198
|
-
.
|
|
198
|
+
.awsui_tools_7nfqu_ly301_181:not(#\9) {
|
|
199
199
|
grid-area: tools;
|
|
200
200
|
inline-size: var(--awsui-tools-width-9rhwr5);
|
|
201
201
|
border-inline-start: 1px solid var(--color-border-divider-panel-side-btgups, transparent);
|
|
@@ -203,13 +203,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
@media (min-width: 689px) {
|
|
206
|
-
.awsui_split-panel-
|
|
206
|
+
.awsui_split-panel-side_7nfqu_ly301_205:not(#\9) {
|
|
207
207
|
grid-area: sideSplitPanel;
|
|
208
208
|
border-inline-start: 1px solid var(--color-border-divider-panel-side-btgups, transparent);
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
-
.awsui_split-panel-
|
|
212
|
+
.awsui_split-panel-bottom_7nfqu_ly301_211:not(#\9) {
|
|
213
213
|
position: sticky;
|
|
214
214
|
z-index: 840;
|
|
215
215
|
align-self: end;
|
|
@@ -217,57 +217,61 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
217
217
|
grid-column: 1/-1;
|
|
218
218
|
}
|
|
219
219
|
@media (min-width: 689px) {
|
|
220
|
-
.awsui_split-panel-
|
|
220
|
+
.awsui_split-panel-bottom_7nfqu_ly301_211:not(#\9) {
|
|
221
221
|
grid-column: 2/span 3;
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
.awsui_panel-
|
|
225
|
+
.awsui_panel-hidden_7nfqu_ly301_224:not(#\9) {
|
|
226
226
|
display: none;
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
-
.awsui_toolbar-
|
|
229
|
+
.awsui_toolbar-container_7nfqu_ly301_228:not(#\9) {
|
|
230
230
|
grid-area: toolbar;
|
|
231
231
|
block-size: 48px;
|
|
232
232
|
border-block-end: 1px solid var(--color-border-divider-panel-bottom-sc2k0v, rgba(0, 28, 36, 0.15));
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
-
.awsui_notifications-
|
|
235
|
+
.awsui_notifications-container_7nfqu_ly301_234:not(#\9) {
|
|
236
236
|
grid-area: notifications;
|
|
237
237
|
}
|
|
238
|
-
.awsui_notifications-
|
|
238
|
+
.awsui_notifications-container_7nfqu_ly301_234:not(#\9):not(:empty) {
|
|
239
239
|
padding-block-start: var(--space-scaled-xs-x91h81, 8px);
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
-
.awsui_main-
|
|
242
|
+
.awsui_main-landmark_7nfqu_ly301_241:not(#\9) {
|
|
243
243
|
display: contents;
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
-
.
|
|
246
|
+
.awsui_main_7nfqu_ly301_241:not(#\9) {
|
|
247
247
|
grid-area: main;
|
|
248
248
|
margin-block-start: var(--space-scaled-s-9q8n2q, 12px);
|
|
249
249
|
margin-block-end: var(--space-layout-content-bottom-ve4osc, 20px);
|
|
250
250
|
}
|
|
251
|
-
.awsui_main-disable-
|
|
251
|
+
.awsui_main-disable-paddings_7nfqu_ly301_250:not(#\9) {
|
|
252
252
|
grid-column: 1/-1;
|
|
253
253
|
margin-block: 0;
|
|
254
254
|
}
|
|
255
255
|
@media (min-width: 689px) {
|
|
256
|
-
.awsui_main-disable-
|
|
256
|
+
.awsui_main-disable-paddings_7nfqu_ly301_250:not(#\9) {
|
|
257
257
|
grid-column: 2/span 3;
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
-
.awsui_content-
|
|
261
|
+
.awsui_content-header_7nfqu_ly301_260:not(#\9) {
|
|
262
262
|
margin-block-end: var(--space-content-header-padding-bottom-d3iv03, 16px);
|
|
263
263
|
}
|
|
264
264
|
|
|
265
|
+
.awsui_content_7nfqu_ly301_260:not(#\9) {
|
|
266
|
+
display: contents;
|
|
267
|
+
}
|
|
268
|
+
|
|
265
269
|
/* stylelint-disable-next-line selector-combinator-disallowed-list, selector-max-universal */
|
|
266
|
-
.awsui_unfocusable-
|
|
270
|
+
.awsui_unfocusable-mobile_7nfqu_ly301_269 *:not(#\9) {
|
|
267
271
|
visibility: hidden;
|
|
268
272
|
}
|
|
269
273
|
@media (min-width: 689px) {
|
|
270
|
-
.awsui_unfocusable-
|
|
274
|
+
.awsui_unfocusable-mobile_7nfqu_ly301_269 *:not(#\9) {
|
|
271
275
|
visibility: visible;
|
|
272
276
|
}
|
|
273
277
|
}
|
package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js
CHANGED
|
@@ -2,20 +2,21 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"root": "
|
|
6
|
-
"has-adaptive-widths-default": "awsui_has-adaptive-widths-
|
|
7
|
-
"has-adaptive-widths-dashboard": "awsui_has-adaptive-widths-
|
|
8
|
-
"navigation": "
|
|
9
|
-
"tools": "
|
|
10
|
-
"split-panel-side": "awsui_split-panel-
|
|
11
|
-
"split-panel-bottom": "awsui_split-panel-
|
|
12
|
-
"panel-hidden": "awsui_panel-
|
|
13
|
-
"toolbar-container": "awsui_toolbar-
|
|
14
|
-
"notifications-container": "awsui_notifications-
|
|
15
|
-
"main-landmark": "awsui_main-
|
|
16
|
-
"main": "
|
|
17
|
-
"main-disable-paddings": "awsui_main-disable-
|
|
18
|
-
"content-header": "awsui_content-
|
|
19
|
-
"
|
|
5
|
+
"root": "awsui_root_7nfqu_ly301_101",
|
|
6
|
+
"has-adaptive-widths-default": "awsui_has-adaptive-widths-default_7nfqu_ly301_150",
|
|
7
|
+
"has-adaptive-widths-dashboard": "awsui_has-adaptive-widths-dashboard_7nfqu_ly301_165",
|
|
8
|
+
"navigation": "awsui_navigation_7nfqu_ly301_180",
|
|
9
|
+
"tools": "awsui_tools_7nfqu_ly301_181",
|
|
10
|
+
"split-panel-side": "awsui_split-panel-side_7nfqu_ly301_205",
|
|
11
|
+
"split-panel-bottom": "awsui_split-panel-bottom_7nfqu_ly301_211",
|
|
12
|
+
"panel-hidden": "awsui_panel-hidden_7nfqu_ly301_224",
|
|
13
|
+
"toolbar-container": "awsui_toolbar-container_7nfqu_ly301_228",
|
|
14
|
+
"notifications-container": "awsui_notifications-container_7nfqu_ly301_234",
|
|
15
|
+
"main-landmark": "awsui_main-landmark_7nfqu_ly301_241",
|
|
16
|
+
"main": "awsui_main_7nfqu_ly301_241",
|
|
17
|
+
"main-disable-paddings": "awsui_main-disable-paddings_7nfqu_ly301_250",
|
|
18
|
+
"content-header": "awsui_content-header_7nfqu_ly301_260",
|
|
19
|
+
"content": "awsui_content_7nfqu_ly301_260",
|
|
20
|
+
"unfocusable-mobile": "awsui_unfocusable-mobile_7nfqu_ly301_269"
|
|
20
21
|
};
|
|
21
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-chart-model.d.ts","sourceRoot":"","sources":["../../../../src/area-chart/model/use-chart-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAc,EAA8B,SAAS,EAAc,MAAM,OAAO,CAAC;AAKjF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AAIhH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"use-chart-model.d.ts","sourceRoot":"","sources":["../../../../src/area-chart/model/use-chart-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAc,EAA8B,SAAS,EAAc,MAAM,OAAO,CAAC;AAKjF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AAIhH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAcrC,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,cAAc,CAAC,SAAS;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,aAAa,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,gBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;IACxE,iBAAiB,EAAE,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD,oBAAoB,EAAE,CAAC,MAAM,EAAE,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;CACpC;AAGD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,cAAc,CAAC,SAAS,EAAE,EACxE,KAAK,EACL,SAAS,EACT,cAAc,EAAE,SAAS,EACzB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EAAE,cAAc,EACtB,KAAK,EACL,UAAU,GACX,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAmUvC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useMemo, useRef } from 'react';
|
|
2
2
|
import { nodeContains } from '@cloudscape-design/component-toolkit/dom';
|
|
3
|
-
import { findClosest
|
|
3
|
+
import { findClosest } from './utils';
|
|
4
4
|
import { KeyCode } from '../../internal/keycode';
|
|
5
5
|
import computeChartProps from './compute-chart-props';
|
|
6
6
|
import createSeriesDecorator from './create-series-decorator';
|
|
@@ -11,6 +11,7 @@ import { useHeightMeasure } from '../../internal/hooks/container-queries/use-hei
|
|
|
11
11
|
import { useStableCallback } from '@cloudscape-design/component-toolkit/internal';
|
|
12
12
|
import { nodeBelongs } from '../../internal/utils/node-belongs';
|
|
13
13
|
import handleKey from '../../internal/utils/handle-key';
|
|
14
|
+
import { circleIndex } from '../../internal/utils/circle-index';
|
|
14
15
|
const MAX_HOVER_MARGIN = 6;
|
|
15
16
|
const SVG_HOVER_THROTTLE = 25;
|
|
16
17
|
const POPOVER_DEADZONE = 12;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-chart-model.js","sourceRoot":"","sources":["../../../../src/area-chart/model/use-chart-model.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\nimport { AreaChartProps } from '../interfaces';\nimport React, { useEffect, useMemo, useRef, RefObject, MouseEvent } from 'react';\nimport { nodeContains } from '@cloudscape-design/component-toolkit/dom';\nimport { findClosest, circleIndex } from './utils';\n\nimport { KeyCode } from '../../internal/keycode';\nimport { XDomain, XScaleType, YDomain, YScaleType } from '../../internal/components/cartesian-chart/interfaces';\nimport computeChartProps from './compute-chart-props';\nimport createSeriesDecorator from './create-series-decorator';\nimport InteractionsStore from './interactions-store';\nimport { ChartModel } from './index';\nimport { ChartPlotRef } from '../../internal/components/chart-plot';\nimport { throttle } from '../../internal/utils/throttle';\nimport { useReaction } from '../async-store';\nimport { useHeightMeasure } from '../../internal/hooks/container-queries/use-height-measure';\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\nimport { nodeBelongs } from '../../internal/utils/node-belongs';\nimport handleKey from '../../internal/utils/handle-key';\n\nconst MAX_HOVER_MARGIN = 6;\nconst SVG_HOVER_THROTTLE = 25;\nconst POPOVER_DEADZONE = 12;\n\nexport interface UseChartModelProps<T extends AreaChartProps.DataTypes> {\n isRtl?: boolean;\n fitHeight?: boolean;\n externalSeries: readonly AreaChartProps.Series<T>[];\n visibleSeries: readonly AreaChartProps.Series<T>[];\n setVisibleSeries: (series: readonly AreaChartProps.Series<T>[]) => void;\n highlightedSeries: null | AreaChartProps.Series<T>;\n setHighlightedSeries: (series: null | AreaChartProps.Series<T>) => void;\n xDomain?: XDomain<T>;\n yDomain?: YDomain;\n xScaleType: XScaleType;\n yScaleType: YScaleType;\n height: number;\n width: number;\n popoverRef: RefObject<HTMLElement>;\n}\n\n// Represents the core the chart logic, including the model of all allowed user interactions.\nexport default function useChartModel<T extends AreaChartProps.DataTypes>({\n isRtl,\n fitHeight,\n externalSeries: allSeries,\n visibleSeries: series,\n setVisibleSeries,\n highlightedSeries,\n setHighlightedSeries,\n xDomain,\n yDomain,\n xScaleType,\n yScaleType,\n height: explicitHeight,\n width,\n popoverRef,\n}: UseChartModelProps<T>): ChartModel<T> {\n // Chart elements refs used in handlers.\n const plotRef = useRef<ChartPlotRef>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const verticalMarkerRef = useRef<SVGLineElement>(null);\n\n const plotMeasureRef = useRef<SVGLineElement>(null);\n const hasVisibleSeries = series.length > 0;\n const height = useHeightMeasure(() => plotMeasureRef.current, !fitHeight, [hasVisibleSeries]) ?? explicitHeight;\n\n const stableSetVisibleSeries = useStableCallback(setVisibleSeries);\n\n const model = useMemo(() => {\n // Compute scales, ticks and two-dimensional plots.\n const computed = computeChartProps({\n isRtl,\n series,\n xDomain,\n yDomain,\n xScaleType,\n yScaleType,\n height,\n width,\n });\n\n // A store for chart interactions that don't require plot recomputation.\n const interactions = new InteractionsStore(series, computed.plot);\n\n const containsMultipleSeries = interactions.series.length > 1;\n\n // A series decorator to provide extra props such as color and marker type.\n const getInternalSeries = createSeriesDecorator(allSeries);\n\n const isMouseOverPopover = (clientX: number, clientY: number) => {\n if (popoverRef.current?.firstChild) {\n const popoverPosition = (popoverRef.current.firstChild as HTMLElement).getBoundingClientRect();\n if (\n clientX > popoverPosition.x - POPOVER_DEADZONE &&\n clientX < popoverPosition.x + popoverPosition.width + POPOVER_DEADZONE &&\n clientY > popoverPosition.y - POPOVER_DEADZONE &&\n clientY < popoverPosition.y + popoverPosition.height + POPOVER_DEADZONE\n ) {\n return true;\n }\n }\n return false;\n };\n\n // A Callback for svg mouseover to hover the plot points.\n // Throttling is necessary for a substantially smoother customer experience.\n const onSVGMouseMoveThrottled = throttle((clientX: number, clientY: number) => {\n // No hover logic when the popover is pinned or no data available.\n if (\n interactions.get().isPopoverPinned ||\n !plotRef.current ||\n interactions.plot.xy.length === 0 ||\n isMouseOverPopover(clientX, clientY)\n ) {\n return;\n }\n\n const svgRect = plotRef.current.svg.getBoundingClientRect();\n const offsetX = clientX - svgRect.left;\n const offsetY = clientY - svgRect.top;\n\n const closestX = findClosest(interactions.plot.xy, offsetX, xPoints => xPoints[0].scaled.x);\n const closestPoint = findClosest(closestX, offsetY, point => point.scaled.y1);\n\n // If close enough to the point - highlight the point and its column.\n // If not - only highlight the closest column.\n if (\n Math.abs(offsetX - closestPoint.scaled.x) < MAX_HOVER_MARGIN &&\n Math.abs(offsetY - closestPoint.scaled.y1) < MAX_HOVER_MARGIN\n ) {\n interactions.highlightPoint(closestPoint);\n } else {\n interactions.highlightX(closestX);\n }\n }, SVG_HOVER_THROTTLE);\n\n const onSVGMouseMove = ({ clientX, clientY }: React.MouseEvent<SVGElement>) =>\n onSVGMouseMoveThrottled(clientX, clientY);\n\n // A callback for svg mouseout to clear all highlights.\n const onSVGMouseOut = (event: React.MouseEvent<SVGElement>) => {\n // Because the mouseover is throttled, in can occur slightly after the mouseout,\n // neglecting its effect; cancelling the throttled function prevents that.\n onSVGMouseMoveThrottled.cancel();\n\n // No hover logic when the popover is pinned or mouse is over popover\n if (interactions.get().isPopoverPinned || isMouseOverPopover(event.clientX, event.clientY)) {\n return;\n }\n\n // Check if the target is contained within svg to allow hovering on the popover body.\n if (!nodeContains(plotRef.current!.svg, event.relatedTarget as Element)) {\n interactions.clearHighlightedLegend();\n interactions.clearHighlight();\n }\n };\n\n // A callback for svg click to pin/unpin the popover.\n const onSVGMouseDown = (event: React.MouseEvent<SVGSVGElement>) => {\n interactions.togglePopoverPin();\n event.preventDefault();\n };\n\n const moveWithinXAxis = (direction: -1 | 1) => {\n if (interactions.get().highlightedPoint) {\n return moveWithinSeries(direction);\n } else if (containsMultipleSeries) {\n const { highlightedX } = interactions.get();\n if (highlightedX) {\n const currentXIndex = highlightedX[0].index.x;\n const nextXIndex = circleIndex(currentXIndex + direction, [0, interactions.plot.xy.length - 1]);\n interactions.highlightX(interactions.plot.xy[nextXIndex]);\n }\n }\n };\n\n // A helper function to highlight the next or previous point within selected series.\n const moveWithinSeries = (direction: -1 | 1) => {\n // Can only use motion when a particular point is highlighted.\n const point = interactions.get().highlightedPoint;\n if (!point) {\n return;\n }\n\n // Take the index of the currently highlighted series.\n const sIndex = point.index.s;\n // Take the incremented(circularly) x-index of the currently highlighted point.\n const xIndex = circleIndex(point.index.x + direction, [0, interactions.plot.xs.length - 1]);\n // Highlight the next point using x:s grouped data.\n interactions.highlightPoint(interactions.plot.xs[xIndex][sIndex]);\n };\n\n // A helper function to highlight the next or previous point within the selected column.\n const moveBetweenSeries = (direction: -1 | 1) => {\n const point = interactions.get().highlightedPoint;\n if (!point) {\n const { highlightedX } = interactions.get();\n if (highlightedX) {\n const xIndex = highlightedX[0].index.x;\n const points = interactions.plot.xy[xIndex];\n const yIndex = direction === 1 ? 0 : points.length - 1;\n interactions.highlightPoint(points[yIndex]);\n }\n return;\n }\n\n // Take the index of the currently highlighted column.\n const xIndex = point.index.x;\n const currentYIndex = point.index.y;\n\n if (\n containsMultipleSeries &&\n ((currentYIndex === 0 && direction === -1) ||\n (currentYIndex === interactions.plot.xy[xIndex].length - 1 && direction === 1))\n ) {\n interactions.highlightX(interactions.plot.xy[xIndex]);\n } else {\n // Take the incremented(circularly) y-index of the currently highlighted point.\n const nextYIndex = circleIndex(currentYIndex + direction, [0, interactions.plot.xy[xIndex].length - 1]);\n // Highlight the next point using x:y grouped data.\n interactions.highlightPoint(interactions.plot.xy[xIndex][nextYIndex]);\n }\n };\n\n // A callback for svg keydown to enable motions and popover pin with the keyboard.\n const onSVGKeyDown = (event: React.KeyboardEvent<HTMLElement | SVGElement>) => {\n const keyCode = event.keyCode;\n if (\n keyCode !== KeyCode.up &&\n keyCode !== KeyCode.right &&\n keyCode !== KeyCode.down &&\n keyCode !== KeyCode.left &&\n keyCode !== KeyCode.space &&\n keyCode !== KeyCode.enter\n ) {\n return;\n }\n\n // Preventing default fixes an issue in Safari+VO when VO additionally interprets arrow keys as its commands.\n event.preventDefault();\n\n // No keydown logic when the popover is pinned.\n if (interactions.get().isPopoverPinned) {\n return;\n }\n\n handleKey(event, {\n onBlockEnd: () => moveBetweenSeries(-1),\n onBlockStart: () => moveBetweenSeries(1),\n onInlineStart: () => moveWithinXAxis(-1),\n onInlineEnd: () => moveWithinXAxis(1),\n onActivate: () => interactions.pinPopover(),\n });\n };\n\n const highlightFirstX = () => {\n interactions.highlightX(interactions.plot.xy[0]);\n };\n\n // A callback for application focus to highlight series.\n const onApplicationFocus = (_event: React.FocusEvent, trigger: 'mouse' | 'keyboard') => {\n // When focus is caused by a click event nothing is expected as clicks are handled separately.\n if (trigger === 'keyboard') {\n const { highlightedX, highlightedPoint, highlightedSeries, legendSeries } = interactions.get();\n if (containsMultipleSeries && !highlightedX && !highlightedPoint && !highlightedSeries && !legendSeries) {\n highlightFirstX();\n } else if (!highlightedX) {\n interactions.highlightFirstPoint();\n }\n }\n };\n\n // A callback for application blur to clear all highlights unless the popover is pinned.\n const onApplicationBlur = (event: React.FocusEvent<Element>) => {\n // Pinned popover stays pinned even if the focus is lost.\n // If blur is not caused by the popover, forget the previously highlighted point.\n if (!nodeBelongs(containerRef.current, event.relatedTarget) && !interactions.get().isPopoverPinned) {\n interactions.clearHighlight();\n }\n };\n\n const onFilterSeries = (series: readonly AreaChartProps.Series<T>[]) => {\n stableSetVisibleSeries(series);\n };\n\n const onLegendHighlight = (series: null | AreaChartProps.Series<T>) => {\n interactions.highlightSeries(series);\n };\n\n const onPopoverDismiss = (outsideClick?: boolean) => {\n interactions.unpinPopover();\n\n // Return focus back to the application or plot (when no point is highlighted).\n if (!outsideClick) {\n // The delay is needed to bypass focus events caused by click or keypress needed to unpin the popover.\n setTimeout(() => {\n if (interactions.get().highlightedPoint || interactions.get().highlightedX) {\n plotRef.current!.focusApplication();\n } else {\n interactions.clearHighlight();\n plotRef.current!.focusPlot();\n }\n }, 0);\n }\n };\n\n const onContainerBlur = () => {\n interactions.clearState();\n };\n\n const onDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n interactions.clearHighlight();\n interactions.clearHighlightedLegend();\n }\n };\n\n const onPopoverLeave = (event: MouseEvent) => {\n if (nodeContains(plotRef.current!.svg, event.relatedTarget as Element) || interactions.get().isPopoverPinned) {\n return;\n }\n interactions.clearHighlight();\n interactions.clearHighlightedLegend();\n };\n return {\n width,\n height,\n series,\n allSeries,\n getInternalSeries,\n computed,\n interactions,\n handlers: {\n onSVGMouseMove,\n onSVGMouseOut,\n onSVGMouseDown,\n onSVGKeyDown,\n onApplicationFocus,\n onApplicationBlur,\n onFilterSeries,\n onLegendHighlight,\n onPopoverDismiss,\n onContainerBlur,\n onDocumentKeyDown,\n onPopoverLeave,\n },\n refs: {\n plot: plotRef,\n plotMeasure: plotMeasureRef,\n container: containerRef,\n verticalMarker: verticalMarkerRef,\n popoverRef,\n },\n };\n }, [\n allSeries,\n series,\n xDomain,\n yDomain,\n xScaleType,\n yScaleType,\n height,\n width,\n stableSetVisibleSeries,\n popoverRef,\n isRtl,\n ]);\n\n // Notify client when series highlight change.\n useReaction(model.interactions, state => state.highlightedSeries, setHighlightedSeries);\n\n // Update interactions store when series highlight in a controlled way.\n useEffect(() => {\n if (highlightedSeries !== model.interactions.get().highlightedSeries) {\n model.interactions.highlightSeries(highlightedSeries);\n }\n }, [model, highlightedSeries]);\n\n return model;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-chart-model.js","sourceRoot":"","sources":["../../../../src/area-chart/model/use-chart-model.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\nimport { AreaChartProps } from '../interfaces';\nimport React, { useEffect, useMemo, useRef, RefObject, MouseEvent } from 'react';\nimport { nodeContains } from '@cloudscape-design/component-toolkit/dom';\nimport { findClosest } from './utils';\n\nimport { KeyCode } from '../../internal/keycode';\nimport { XDomain, XScaleType, YDomain, YScaleType } from '../../internal/components/cartesian-chart/interfaces';\nimport computeChartProps from './compute-chart-props';\nimport createSeriesDecorator from './create-series-decorator';\nimport InteractionsStore from './interactions-store';\nimport { ChartModel } from './index';\nimport { ChartPlotRef } from '../../internal/components/chart-plot';\nimport { throttle } from '../../internal/utils/throttle';\nimport { useReaction } from '../async-store';\nimport { useHeightMeasure } from '../../internal/hooks/container-queries/use-height-measure';\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\nimport { nodeBelongs } from '../../internal/utils/node-belongs';\nimport handleKey from '../../internal/utils/handle-key';\nimport { circleIndex } from '../../internal/utils/circle-index';\n\nconst MAX_HOVER_MARGIN = 6;\nconst SVG_HOVER_THROTTLE = 25;\nconst POPOVER_DEADZONE = 12;\n\nexport interface UseChartModelProps<T extends AreaChartProps.DataTypes> {\n isRtl?: boolean;\n fitHeight?: boolean;\n externalSeries: readonly AreaChartProps.Series<T>[];\n visibleSeries: readonly AreaChartProps.Series<T>[];\n setVisibleSeries: (series: readonly AreaChartProps.Series<T>[]) => void;\n highlightedSeries: null | AreaChartProps.Series<T>;\n setHighlightedSeries: (series: null | AreaChartProps.Series<T>) => void;\n xDomain?: XDomain<T>;\n yDomain?: YDomain;\n xScaleType: XScaleType;\n yScaleType: YScaleType;\n height: number;\n width: number;\n popoverRef: RefObject<HTMLElement>;\n}\n\n// Represents the core the chart logic, including the model of all allowed user interactions.\nexport default function useChartModel<T extends AreaChartProps.DataTypes>({\n isRtl,\n fitHeight,\n externalSeries: allSeries,\n visibleSeries: series,\n setVisibleSeries,\n highlightedSeries,\n setHighlightedSeries,\n xDomain,\n yDomain,\n xScaleType,\n yScaleType,\n height: explicitHeight,\n width,\n popoverRef,\n}: UseChartModelProps<T>): ChartModel<T> {\n // Chart elements refs used in handlers.\n const plotRef = useRef<ChartPlotRef>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const verticalMarkerRef = useRef<SVGLineElement>(null);\n\n const plotMeasureRef = useRef<SVGLineElement>(null);\n const hasVisibleSeries = series.length > 0;\n const height = useHeightMeasure(() => plotMeasureRef.current, !fitHeight, [hasVisibleSeries]) ?? explicitHeight;\n\n const stableSetVisibleSeries = useStableCallback(setVisibleSeries);\n\n const model = useMemo(() => {\n // Compute scales, ticks and two-dimensional plots.\n const computed = computeChartProps({\n isRtl,\n series,\n xDomain,\n yDomain,\n xScaleType,\n yScaleType,\n height,\n width,\n });\n\n // A store for chart interactions that don't require plot recomputation.\n const interactions = new InteractionsStore(series, computed.plot);\n\n const containsMultipleSeries = interactions.series.length > 1;\n\n // A series decorator to provide extra props such as color and marker type.\n const getInternalSeries = createSeriesDecorator(allSeries);\n\n const isMouseOverPopover = (clientX: number, clientY: number) => {\n if (popoverRef.current?.firstChild) {\n const popoverPosition = (popoverRef.current.firstChild as HTMLElement).getBoundingClientRect();\n if (\n clientX > popoverPosition.x - POPOVER_DEADZONE &&\n clientX < popoverPosition.x + popoverPosition.width + POPOVER_DEADZONE &&\n clientY > popoverPosition.y - POPOVER_DEADZONE &&\n clientY < popoverPosition.y + popoverPosition.height + POPOVER_DEADZONE\n ) {\n return true;\n }\n }\n return false;\n };\n\n // A Callback for svg mouseover to hover the plot points.\n // Throttling is necessary for a substantially smoother customer experience.\n const onSVGMouseMoveThrottled = throttle((clientX: number, clientY: number) => {\n // No hover logic when the popover is pinned or no data available.\n if (\n interactions.get().isPopoverPinned ||\n !plotRef.current ||\n interactions.plot.xy.length === 0 ||\n isMouseOverPopover(clientX, clientY)\n ) {\n return;\n }\n\n const svgRect = plotRef.current.svg.getBoundingClientRect();\n const offsetX = clientX - svgRect.left;\n const offsetY = clientY - svgRect.top;\n\n const closestX = findClosest(interactions.plot.xy, offsetX, xPoints => xPoints[0].scaled.x);\n const closestPoint = findClosest(closestX, offsetY, point => point.scaled.y1);\n\n // If close enough to the point - highlight the point and its column.\n // If not - only highlight the closest column.\n if (\n Math.abs(offsetX - closestPoint.scaled.x) < MAX_HOVER_MARGIN &&\n Math.abs(offsetY - closestPoint.scaled.y1) < MAX_HOVER_MARGIN\n ) {\n interactions.highlightPoint(closestPoint);\n } else {\n interactions.highlightX(closestX);\n }\n }, SVG_HOVER_THROTTLE);\n\n const onSVGMouseMove = ({ clientX, clientY }: React.MouseEvent<SVGElement>) =>\n onSVGMouseMoveThrottled(clientX, clientY);\n\n // A callback for svg mouseout to clear all highlights.\n const onSVGMouseOut = (event: React.MouseEvent<SVGElement>) => {\n // Because the mouseover is throttled, in can occur slightly after the mouseout,\n // neglecting its effect; cancelling the throttled function prevents that.\n onSVGMouseMoveThrottled.cancel();\n\n // No hover logic when the popover is pinned or mouse is over popover\n if (interactions.get().isPopoverPinned || isMouseOverPopover(event.clientX, event.clientY)) {\n return;\n }\n\n // Check if the target is contained within svg to allow hovering on the popover body.\n if (!nodeContains(plotRef.current!.svg, event.relatedTarget as Element)) {\n interactions.clearHighlightedLegend();\n interactions.clearHighlight();\n }\n };\n\n // A callback for svg click to pin/unpin the popover.\n const onSVGMouseDown = (event: React.MouseEvent<SVGSVGElement>) => {\n interactions.togglePopoverPin();\n event.preventDefault();\n };\n\n const moveWithinXAxis = (direction: -1 | 1) => {\n if (interactions.get().highlightedPoint) {\n return moveWithinSeries(direction);\n } else if (containsMultipleSeries) {\n const { highlightedX } = interactions.get();\n if (highlightedX) {\n const currentXIndex = highlightedX[0].index.x;\n const nextXIndex = circleIndex(currentXIndex + direction, [0, interactions.plot.xy.length - 1]);\n interactions.highlightX(interactions.plot.xy[nextXIndex]);\n }\n }\n };\n\n // A helper function to highlight the next or previous point within selected series.\n const moveWithinSeries = (direction: -1 | 1) => {\n // Can only use motion when a particular point is highlighted.\n const point = interactions.get().highlightedPoint;\n if (!point) {\n return;\n }\n\n // Take the index of the currently highlighted series.\n const sIndex = point.index.s;\n // Take the incremented(circularly) x-index of the currently highlighted point.\n const xIndex = circleIndex(point.index.x + direction, [0, interactions.plot.xs.length - 1]);\n // Highlight the next point using x:s grouped data.\n interactions.highlightPoint(interactions.plot.xs[xIndex][sIndex]);\n };\n\n // A helper function to highlight the next or previous point within the selected column.\n const moveBetweenSeries = (direction: -1 | 1) => {\n const point = interactions.get().highlightedPoint;\n if (!point) {\n const { highlightedX } = interactions.get();\n if (highlightedX) {\n const xIndex = highlightedX[0].index.x;\n const points = interactions.plot.xy[xIndex];\n const yIndex = direction === 1 ? 0 : points.length - 1;\n interactions.highlightPoint(points[yIndex]);\n }\n return;\n }\n\n // Take the index of the currently highlighted column.\n const xIndex = point.index.x;\n const currentYIndex = point.index.y;\n\n if (\n containsMultipleSeries &&\n ((currentYIndex === 0 && direction === -1) ||\n (currentYIndex === interactions.plot.xy[xIndex].length - 1 && direction === 1))\n ) {\n interactions.highlightX(interactions.plot.xy[xIndex]);\n } else {\n // Take the incremented(circularly) y-index of the currently highlighted point.\n const nextYIndex = circleIndex(currentYIndex + direction, [0, interactions.plot.xy[xIndex].length - 1]);\n // Highlight the next point using x:y grouped data.\n interactions.highlightPoint(interactions.plot.xy[xIndex][nextYIndex]);\n }\n };\n\n // A callback for svg keydown to enable motions and popover pin with the keyboard.\n const onSVGKeyDown = (event: React.KeyboardEvent<HTMLElement | SVGElement>) => {\n const keyCode = event.keyCode;\n if (\n keyCode !== KeyCode.up &&\n keyCode !== KeyCode.right &&\n keyCode !== KeyCode.down &&\n keyCode !== KeyCode.left &&\n keyCode !== KeyCode.space &&\n keyCode !== KeyCode.enter\n ) {\n return;\n }\n\n // Preventing default fixes an issue in Safari+VO when VO additionally interprets arrow keys as its commands.\n event.preventDefault();\n\n // No keydown logic when the popover is pinned.\n if (interactions.get().isPopoverPinned) {\n return;\n }\n\n handleKey(event, {\n onBlockEnd: () => moveBetweenSeries(-1),\n onBlockStart: () => moveBetweenSeries(1),\n onInlineStart: () => moveWithinXAxis(-1),\n onInlineEnd: () => moveWithinXAxis(1),\n onActivate: () => interactions.pinPopover(),\n });\n };\n\n const highlightFirstX = () => {\n interactions.highlightX(interactions.plot.xy[0]);\n };\n\n // A callback for application focus to highlight series.\n const onApplicationFocus = (_event: React.FocusEvent, trigger: 'mouse' | 'keyboard') => {\n // When focus is caused by a click event nothing is expected as clicks are handled separately.\n if (trigger === 'keyboard') {\n const { highlightedX, highlightedPoint, highlightedSeries, legendSeries } = interactions.get();\n if (containsMultipleSeries && !highlightedX && !highlightedPoint && !highlightedSeries && !legendSeries) {\n highlightFirstX();\n } else if (!highlightedX) {\n interactions.highlightFirstPoint();\n }\n }\n };\n\n // A callback for application blur to clear all highlights unless the popover is pinned.\n const onApplicationBlur = (event: React.FocusEvent<Element>) => {\n // Pinned popover stays pinned even if the focus is lost.\n // If blur is not caused by the popover, forget the previously highlighted point.\n if (!nodeBelongs(containerRef.current, event.relatedTarget) && !interactions.get().isPopoverPinned) {\n interactions.clearHighlight();\n }\n };\n\n const onFilterSeries = (series: readonly AreaChartProps.Series<T>[]) => {\n stableSetVisibleSeries(series);\n };\n\n const onLegendHighlight = (series: null | AreaChartProps.Series<T>) => {\n interactions.highlightSeries(series);\n };\n\n const onPopoverDismiss = (outsideClick?: boolean) => {\n interactions.unpinPopover();\n\n // Return focus back to the application or plot (when no point is highlighted).\n if (!outsideClick) {\n // The delay is needed to bypass focus events caused by click or keypress needed to unpin the popover.\n setTimeout(() => {\n if (interactions.get().highlightedPoint || interactions.get().highlightedX) {\n plotRef.current!.focusApplication();\n } else {\n interactions.clearHighlight();\n plotRef.current!.focusPlot();\n }\n }, 0);\n }\n };\n\n const onContainerBlur = () => {\n interactions.clearState();\n };\n\n const onDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n interactions.clearHighlight();\n interactions.clearHighlightedLegend();\n }\n };\n\n const onPopoverLeave = (event: MouseEvent) => {\n if (nodeContains(plotRef.current!.svg, event.relatedTarget as Element) || interactions.get().isPopoverPinned) {\n return;\n }\n interactions.clearHighlight();\n interactions.clearHighlightedLegend();\n };\n return {\n width,\n height,\n series,\n allSeries,\n getInternalSeries,\n computed,\n interactions,\n handlers: {\n onSVGMouseMove,\n onSVGMouseOut,\n onSVGMouseDown,\n onSVGKeyDown,\n onApplicationFocus,\n onApplicationBlur,\n onFilterSeries,\n onLegendHighlight,\n onPopoverDismiss,\n onContainerBlur,\n onDocumentKeyDown,\n onPopoverLeave,\n },\n refs: {\n plot: plotRef,\n plotMeasure: plotMeasureRef,\n container: containerRef,\n verticalMarker: verticalMarkerRef,\n popoverRef,\n },\n };\n }, [\n allSeries,\n series,\n xDomain,\n yDomain,\n xScaleType,\n yScaleType,\n height,\n width,\n stableSetVisibleSeries,\n popoverRef,\n isRtl,\n ]);\n\n // Notify client when series highlight change.\n useReaction(model.interactions, state => state.highlightedSeries, setHighlightedSeries);\n\n // Update interactions store when series highlight in a controlled way.\n useEffect(() => {\n if (highlightedSeries !== model.interactions.get().highlightedSeries) {\n model.interactions.highlightSeries(highlightedSeries);\n }\n }, [model, highlightedSeries]);\n\n return model;\n}\n"]}
|
|
@@ -10,6 +10,5 @@ export declare function computePlotPoints<T>(series: readonly AreaChartProps.Ser
|
|
|
10
10
|
sx: ChartModel.PlotPoint<T>[][];
|
|
11
11
|
};
|
|
12
12
|
export declare function findClosest<T>(sortedArray: readonly T[], target: number, getter: (item: T) => number): T;
|
|
13
|
-
export declare function circleIndex(index: number, [from, to]: [number, number]): number;
|
|
14
13
|
export declare function isSeriesValid<T>(series: readonly AreaChartProps.Series<T>[]): boolean;
|
|
15
14
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/area-chart/model/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQrC,wBAAgB,cAAc,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAkBhH;AAGD,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAqC7G;AAID,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC3C,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,iBAAiB,GACxB;IACD,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;CACjC,CA6DA;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,CAsBxG;AAGD,wBAAgB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/area-chart/model/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQrC,wBAAgB,cAAc,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAkBhH;AAGD,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAqC7G;AAID,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC3C,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,iBAAiB,GACxB;IACD,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;CACjC,CA6DA;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,CAsBxG;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAc3E"}
|
|
@@ -131,16 +131,6 @@ export function findClosest(sortedArray, target, getter) {
|
|
|
131
131
|
}
|
|
132
132
|
return delta(sortedArray[lo]) < delta(sortedArray[hi]) ? sortedArray[lo] : sortedArray[hi];
|
|
133
133
|
}
|
|
134
|
-
// Returns given index if it is in range or the opposite range boundary otherwise.
|
|
135
|
-
export function circleIndex(index, [from, to]) {
|
|
136
|
-
if (index < from) {
|
|
137
|
-
return to;
|
|
138
|
-
}
|
|
139
|
-
if (index > to) {
|
|
140
|
-
return from;
|
|
141
|
-
}
|
|
142
|
-
return index;
|
|
143
|
-
}
|
|
144
134
|
// Compares all x-values between series to ensure they are consistent.
|
|
145
135
|
export function isSeriesValid(series) {
|
|
146
136
|
var _a;
|