@gooddata/sdk-ui-dashboard 11.60.0-alpha.3 → 11.60.0
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/esm/__version.d.ts +1 -1
- package/esm/__version.d.ts.map +1 -1
- package/esm/__version.js +1 -1
- package/esm/internal.d.ts +3 -0
- package/esm/internal.d.ts.map +1 -1
- package/esm/internal.js +3 -0
- package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.js +4 -8
- package/esm/presentation/automations/shared/automationFilters/utils.d.ts +1 -1
- package/esm/presentation/automations/shared/automationFilters/utils.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/utils.js +6 -1
- package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.js +9 -6
- package/esm/presentation/dashboard/DashboardSidebar/DashboardSidebarChrome.d.ts +31 -0
- package/esm/presentation/dashboard/DashboardSidebar/DashboardSidebarChrome.d.ts.map +1 -0
- package/esm/presentation/dashboard/DashboardSidebar/DashboardSidebarChrome.js +26 -0
- package/esm/presentation/dashboard/DashboardSidebar/SidebarCollapseToggle.d.ts +3 -2
- package/esm/presentation/dashboard/DashboardSidebar/SidebarCollapseToggle.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/SidebarCollapseToggle.js +4 -7
- package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.js +5 -13
- package/esm/presentation/dashboard/DashboardSidebar/SidebarExpandTrigger.d.ts +7 -0
- package/esm/presentation/dashboard/DashboardSidebar/SidebarExpandTrigger.d.ts.map +1 -0
- package/esm/presentation/dashboard/DashboardSidebar/SidebarExpandTrigger.js +15 -0
- package/esm/presentation/dashboard/DashboardSidebar/SidebarHeaderToggle.d.ts +12 -0
- package/esm/presentation/dashboard/DashboardSidebar/SidebarHeaderToggle.d.ts.map +1 -0
- package/esm/presentation/dashboard/DashboardSidebar/SidebarHeaderToggle.js +21 -0
- package/esm/presentation/dashboard/DashboardSidebar/useResizableSidebarState.d.ts +21 -0
- package/esm/presentation/dashboard/DashboardSidebar/useResizableSidebarState.d.ts.map +1 -0
- package/esm/presentation/dashboard/DashboardSidebar/useResizableSidebarState.js +75 -0
- package/esm/presentation/dashboard/components/DashboardInner.d.ts.map +1 -1
- package/esm/presentation/dashboard/components/DashboardInner.js +4 -4
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.d.ts +9 -0
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.js +3 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.js +3 -7
- package/esm/presentation/flexibleLayout/dragAndDrop/DragLayer.d.ts.map +1 -1
- package/esm/presentation/flexibleLayout/dragAndDrop/DragLayer.js +2 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +6 -2
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +8 -4
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +2 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +2 -1
- package/esm/presentation/topBar/topBar/DefaultTopBar.d.ts.map +1 -1
- package/esm/presentation/topBar/topBar/DefaultTopBar.js +2 -1
- package/package.json +21 -21
- package/styles/css/main.css +52 -121
- package/styles/css/main.css.map +1 -1
- package/styles/css/sidebar.css +52 -121
- package/styles/css/sidebar.css.map +1 -1
- package/styles/scss/sidebar.scss +89 -152
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeChrome.d.ts +0 -23
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeChrome.d.ts.map +0 -1
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeChrome.js +0 -95
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.d.ts +0 -42
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.d.ts.map +0 -1
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.js +0 -136
package/styles/css/sidebar.css
CHANGED
|
@@ -18,21 +18,29 @@
|
|
|
18
18
|
transition: width var(--sidebar-slide-duration);
|
|
19
19
|
}
|
|
20
20
|
.gd-sidebar-container--resizable {
|
|
21
|
-
min-width: 230px;
|
|
22
21
|
width: 100%;
|
|
23
22
|
}
|
|
24
23
|
.gd-sidebar-container--collapsed {
|
|
25
|
-
min-width:
|
|
26
|
-
width:
|
|
24
|
+
min-width: 0;
|
|
25
|
+
width: 0;
|
|
27
26
|
}
|
|
28
27
|
.gd-sidebar-container--resizable.gd-sidebar-container--collapsed {
|
|
29
28
|
width: 100%;
|
|
30
29
|
}
|
|
31
30
|
|
|
31
|
+
.gd-dashboards-root > .gd-ui-kit-resizable-sidebar,
|
|
32
|
+
.gd-dashboards-root > .gd-ui-kit-resizable-sidebar__expand-trigger {
|
|
33
|
+
--resizable-sidebar-slide-duration: 0.5s;
|
|
34
|
+
z-index: 6001;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.gd-dashboards-root > .gd-ui-kit-resizable-sidebar--dragging {
|
|
38
|
+
z-index: 9999;
|
|
39
|
+
}
|
|
40
|
+
|
|
32
41
|
.gd-creation-panel-header {
|
|
33
42
|
display: flex;
|
|
34
43
|
align-items: center;
|
|
35
|
-
justify-content: space-between;
|
|
36
44
|
}
|
|
37
45
|
|
|
38
46
|
.gd-sidebar-collapse-toggle {
|
|
@@ -40,6 +48,10 @@
|
|
|
40
48
|
margin: 0 10px;
|
|
41
49
|
}
|
|
42
50
|
|
|
51
|
+
.dash-header-inner .gd-sidebar-collapse-toggle {
|
|
52
|
+
margin: 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
43
55
|
.gd-sidebar-panel {
|
|
44
56
|
height: 100%;
|
|
45
57
|
}
|
|
@@ -50,20 +62,14 @@
|
|
|
50
62
|
box-sizing: border-box;
|
|
51
63
|
height: 32px;
|
|
52
64
|
white-space: nowrap;
|
|
53
|
-
transition: color var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
54
65
|
}
|
|
55
66
|
.gd-sidebar-panel--collapsible .add-item-placeholder svg {
|
|
56
67
|
flex: 0 0 auto;
|
|
57
68
|
width: 18px;
|
|
58
69
|
height: 18px;
|
|
59
|
-
transition: transform var(--sidebar-slide-duration);
|
|
60
70
|
}
|
|
61
71
|
.gd-sidebar-panel--collapsible .add-item-placeholder::before {
|
|
62
72
|
background-size: 18px auto;
|
|
63
|
-
transition: width var(--sidebar-slide-duration);
|
|
64
|
-
}
|
|
65
|
-
.gd-sidebar-panel--collapsible .gd-visualizations-list {
|
|
66
|
-
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
67
73
|
}
|
|
68
74
|
.gd-sidebar-panel--collapsible .configuration-panel {
|
|
69
75
|
padding-top: 0;
|
|
@@ -74,8 +80,8 @@
|
|
|
74
80
|
}
|
|
75
81
|
.gd-sidebar-panel--collapsible .gd-creation-panel-header h2 {
|
|
76
82
|
margin-bottom: 0;
|
|
83
|
+
margin-left: 0;
|
|
77
84
|
color: var(--gd-palette-complementary-8, #464e56);
|
|
78
|
-
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
79
85
|
}
|
|
80
86
|
.gd-sidebar-panel--collapsible .add-item-panel {
|
|
81
87
|
display: flex;
|
|
@@ -83,9 +89,6 @@
|
|
|
83
89
|
gap: 5px;
|
|
84
90
|
padding: 0 8px;
|
|
85
91
|
}
|
|
86
|
-
.gd-sidebar-panel--collapsible .add-item-panel .gd-ui-kit-tooltip__anchor {
|
|
87
|
-
width: auto;
|
|
88
|
-
}
|
|
89
92
|
.gd-sidebar-panel--collapsible .configuration-category {
|
|
90
93
|
margin-bottom: 0;
|
|
91
94
|
padding-top: 10px;
|
|
@@ -93,10 +96,33 @@
|
|
|
93
96
|
.gd-sidebar-panel--collapsible .configuration-category:not(.flex-panel-item-stretch) {
|
|
94
97
|
flex: 0 0 auto;
|
|
95
98
|
}
|
|
96
|
-
.gd-sidebar-panel--collapsible .
|
|
99
|
+
.gd-sidebar-container--hidden .gd-sidebar-panel--collapsible .flex-panel-full-height {
|
|
100
|
+
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
101
|
+
}
|
|
102
|
+
.gd-sidebar-container--hidden.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .flex-panel-full-height {
|
|
103
|
+
opacity: 0;
|
|
104
|
+
transition: opacity var(--sidebar-fade-duration);
|
|
105
|
+
}
|
|
106
|
+
.gd-sidebar-container--rail .gd-sidebar-panel--collapsible .add-item-placeholder {
|
|
107
|
+
transition: color var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
108
|
+
}
|
|
109
|
+
.gd-sidebar-container--rail .gd-sidebar-panel--collapsible .add-item-placeholder svg {
|
|
110
|
+
transition: transform var(--sidebar-slide-duration);
|
|
111
|
+
}
|
|
112
|
+
.gd-sidebar-container--rail .gd-sidebar-panel--collapsible .add-item-placeholder::before {
|
|
113
|
+
transition: width var(--sidebar-slide-duration);
|
|
114
|
+
}
|
|
115
|
+
.gd-sidebar-container--rail .gd-sidebar-panel--collapsible .add-item-panel .gd-ui-kit-tooltip__anchor {
|
|
116
|
+
width: auto;
|
|
117
|
+
}
|
|
118
|
+
.gd-sidebar-container--rail .gd-sidebar-panel--collapsible .gd-creation-panel-header h2,
|
|
119
|
+
.gd-sidebar-container--rail .gd-sidebar-panel--collapsible .gd-visualizations-list {
|
|
120
|
+
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
121
|
+
}
|
|
122
|
+
.gd-sidebar-container--rail .gd-sidebar-panel--collapsible .configuration-category-vis {
|
|
97
123
|
position: relative;
|
|
98
124
|
}
|
|
99
|
-
.gd-sidebar-panel--collapsible .configuration-category-vis::before {
|
|
125
|
+
.gd-sidebar-container--rail .gd-sidebar-panel--collapsible .configuration-category-vis::before {
|
|
100
126
|
content: "";
|
|
101
127
|
position: absolute;
|
|
102
128
|
top: 10px;
|
|
@@ -107,34 +133,33 @@
|
|
|
107
133
|
visibility: hidden;
|
|
108
134
|
transition: opacity var(--sidebar-fade-duration), visibility 0s linear var(--sidebar-fade-duration);
|
|
109
135
|
}
|
|
110
|
-
.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .gd-creation-panel-header h2,
|
|
111
|
-
.gd-sidebar-container--
|
|
112
|
-
.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .gd-visualizations-list {
|
|
136
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .gd-creation-panel-header h2,
|
|
137
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .gd-visualizations-list {
|
|
113
138
|
opacity: 0;
|
|
114
139
|
visibility: hidden;
|
|
115
140
|
transition: opacity var(--sidebar-fade-duration), visibility 0s linear var(--sidebar-fade-duration);
|
|
116
141
|
}
|
|
117
|
-
.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-panel {
|
|
142
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-panel {
|
|
118
143
|
align-items: flex-start;
|
|
119
144
|
}
|
|
120
|
-
.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-placeholder {
|
|
145
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-placeholder {
|
|
121
146
|
width: 32px;
|
|
122
147
|
padding: 0;
|
|
123
148
|
overflow: hidden;
|
|
124
149
|
color: transparent;
|
|
125
150
|
transition: color var(--sidebar-fade-duration), padding 0s linear var(--sidebar-fade-duration);
|
|
126
151
|
}
|
|
127
|
-
.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-placeholder.add-panel-item svg {
|
|
152
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-placeholder.add-panel-item svg {
|
|
128
153
|
transform: translateX(calc(-50% + 1px));
|
|
129
154
|
}
|
|
130
|
-
.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-placeholder::before {
|
|
155
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-placeholder::before {
|
|
131
156
|
width: 32px;
|
|
132
157
|
}
|
|
133
|
-
.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-placeholder.add-panel-item .gd-add-item-placeholder-help-trigger {
|
|
158
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .add-item-placeholder.add-panel-item .gd-add-item-placeholder-help-trigger {
|
|
134
159
|
display: none;
|
|
135
160
|
}
|
|
136
|
-
.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .configuration-category-vis::before,
|
|
137
|
-
.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .gd-sidebar-rail-search {
|
|
161
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .configuration-category-vis::before,
|
|
162
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed .gd-sidebar-panel--collapsible .gd-sidebar-rail-search {
|
|
138
163
|
opacity: 1;
|
|
139
164
|
visibility: visible;
|
|
140
165
|
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
@@ -149,107 +174,13 @@
|
|
|
149
174
|
transition: opacity var(--sidebar-fade-duration), visibility 0s linear var(--sidebar-fade-duration);
|
|
150
175
|
}
|
|
151
176
|
|
|
152
|
-
.gd-sidebar-rail {
|
|
153
|
-
position: absolute;
|
|
154
|
-
top: 0;
|
|
155
|
-
left: 0;
|
|
156
|
-
z-index: 1;
|
|
157
|
-
display: flex;
|
|
158
|
-
flex-direction: column;
|
|
159
|
-
align-items: center;
|
|
160
|
-
width: 48px;
|
|
161
|
-
opacity: 0;
|
|
162
|
-
visibility: hidden;
|
|
163
|
-
transition: opacity var(--sidebar-fade-duration), visibility 0s linear var(--sidebar-fade-duration);
|
|
164
|
-
}
|
|
165
|
-
.gd-sidebar-container--collapsed .gd-sidebar-rail {
|
|
166
|
-
opacity: 1;
|
|
167
|
-
visibility: visible;
|
|
168
|
-
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
169
|
-
}
|
|
170
|
-
.gd-sidebar-rail .gd-sidebar-collapse-toggle {
|
|
171
|
-
align-items: center;
|
|
172
|
-
height: 48px;
|
|
173
|
-
margin: 0;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
177
|
@media (prefers-reduced-motion: reduce) {
|
|
177
|
-
.gd-sidebar-container
|
|
178
|
-
.gd-resizable-sidebar {
|
|
178
|
+
.gd-sidebar-container {
|
|
179
179
|
--sidebar-fade-duration: 0s;
|
|
180
180
|
--sidebar-fade-delay: 0s;
|
|
181
181
|
--sidebar-slide-duration: 0s;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
.gd-resizable-sidebar {
|
|
185
|
-
--sidebar-fade-duration: 0.2s;
|
|
186
|
-
--sidebar-fade-delay: 0.3s;
|
|
187
|
-
--sidebar-slide-duration: 0.5s;
|
|
188
|
-
display: flex;
|
|
189
|
-
flex-direction: column;
|
|
190
|
-
flex: 0 0 auto;
|
|
191
|
-
transition: width var(--sidebar-slide-duration);
|
|
192
|
-
}
|
|
193
|
-
.gd-resizable-sidebar--dragging, .gd-resizable-sidebar:has(.gd-resizable-sidebar__handle:focus) {
|
|
194
|
-
z-index: 9999;
|
|
195
|
-
transition: none;
|
|
196
|
-
}
|
|
197
|
-
.gd-resizable-sidebar__handle {
|
|
198
|
-
opacity: 0;
|
|
199
|
-
position: absolute;
|
|
200
|
-
top: 0;
|
|
201
|
-
bottom: 0;
|
|
202
|
-
transform: translateX(calc(var(--drag-x, 0) - 50%));
|
|
203
|
-
z-index: 2;
|
|
204
|
-
display: flex;
|
|
205
|
-
align-items: center;
|
|
206
|
-
justify-content: center;
|
|
207
|
-
width: 6px;
|
|
208
|
-
background: transparent;
|
|
209
|
-
border: 0;
|
|
210
|
-
cursor: col-resize;
|
|
211
|
-
touch-action: none;
|
|
212
|
-
}
|
|
213
|
-
.gd-resizable-sidebar__handle:focus {
|
|
214
|
-
outline: none;
|
|
215
|
-
}
|
|
216
|
-
.gd-resizable-sidebar__handle:disabled {
|
|
217
|
-
cursor: initial;
|
|
218
|
-
}
|
|
219
|
-
.gd-resizable-sidebar__handle--dragging {
|
|
220
|
-
opacity: 1;
|
|
221
|
-
}
|
|
222
|
-
.gd-resizable-sidebar--resizable:hover .gd-resizable-sidebar__handle, .gd-resizable-sidebar--resizable:focus-within .gd-resizable-sidebar__handle {
|
|
223
|
-
opacity: 1;
|
|
224
|
-
}
|
|
225
|
-
.gd-resizable-sidebar__handle-grip {
|
|
226
|
-
display: flex;
|
|
227
|
-
align-items: center;
|
|
228
|
-
justify-content: center;
|
|
229
|
-
gap: 10px;
|
|
230
|
-
height: 25px;
|
|
231
|
-
padding: 5px 3px;
|
|
232
|
-
background: var(--gd-palette-complementary-0);
|
|
233
|
-
border: 1px solid var(--gd-palette-complementary-5);
|
|
234
|
-
border-radius: 2px;
|
|
235
|
-
}
|
|
236
|
-
.gd-resizable-sidebar--dragging .gd-resizable-sidebar__handle-grip, .gd-resizable-sidebar__handle:focus .gd-resizable-sidebar__handle-grip {
|
|
237
|
-
border: 2px solid #14b2e2;
|
|
238
|
-
border-radius: 3px;
|
|
239
|
-
}
|
|
240
|
-
.gd-resizable-sidebar--dragging .gd-resizable-sidebar__handle-grip::after, .gd-resizable-sidebar__handle:focus .gd-resizable-sidebar__handle-grip::after {
|
|
241
|
-
content: "";
|
|
242
|
-
position: absolute;
|
|
243
|
-
top: 0;
|
|
244
|
-
bottom: 0;
|
|
245
|
-
left: 50%;
|
|
246
|
-
transform: translateX(-50%);
|
|
247
|
-
z-index: -1;
|
|
248
|
-
width: 2px;
|
|
249
|
-
background: #14b2e2;
|
|
250
|
-
box-shadow: 0 0 0 4px var(--gd-palette-primary-base-t85, rgba(20, 178, 226, 0.15));
|
|
251
|
-
}
|
|
252
|
-
|
|
253
184
|
.add-item-panel {
|
|
254
185
|
padding: 0 7px;
|
|
255
186
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Bubble/_variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Button/_variables.scss","../scss/sidebar.scss","../scss/_variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AA0HA;AA4DA;ACjLA;AAAA;AAAA;ACDA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Bubble/_variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Button/_variables.scss","../scss/sidebar.scss","../scss/_variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AA0HA;AA4DA;ACjLA;AAAA;AAAA;ACDA;AAAA;AAAA;ACiBA;EACI;EACA;EACA;EAEA;EACA;EACA;EACA;EACA,cCmDS;EDlDT;;AAIA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;;;AAQR;AAAA;EAEI;EAEA;;;AAKJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;;;AAIJ;EACI;;;AAGJ;EACI;;AAEA;EACI;;AAEA;EACI;EACA,QA7EQ;EA8ER;;AAGJ;EACI;EACA,OArFQ;EAsFR,QAtFQ;;AAyFZ;EACI;;AAGJ;EACI;;AAGJ;EACI,QAjGY;EAkGZ,eC5BC;;AD+BD;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAOJ;EACI;;AAGJ;EACI;EACA;;AAMA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;AAAA;EAEI;;AAGJ;EACI;;AAEA;EACI;EACA;EACA,KApKU;EAqKV;EACA;EACA,YCpGP;EDqGO;EACA;EACA,YACI;;AAOZ;AAAA;EAEI;EACA;EACA,YACI;;AAIR;EACI;;AAGJ;EACI,OAlMI;EAmMJ;EACA;EACA;EACA,YACI;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;AAAA;EAEI;EACA;EACA;;;AAOhB;EACI;EACA,KAhOyB;EAiOzB,MApOiB;EAqOjB;EACA;EACA,YACI;;;AAIR;EACI;IACI;IACA;IACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OE1OY;EF2OZ;;AAEA;EACI,OEvPY;EFwPZ;EACA;;AAGJ;EACI;EAIA,YACI;EAEJ;;AAMJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAIA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OE1UmB;;;AF6UvB;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA","file":"sidebar.css"}
|
package/styles/scss/sidebar.scss
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
// (C) 2024-
|
|
1
|
+
// (C) 2024-2026 GoodData Corporation
|
|
2
2
|
|
|
3
3
|
@use "sass:color";
|
|
4
4
|
@use "variables";
|
|
5
|
+
@use "zIndexes";
|
|
5
6
|
@use "@gooddata/sdk-ui-kit/styles/scss/Button/variables" as button-variables;
|
|
6
7
|
@use "@gooddata/sdk-ui-kit/styles/scss/variables" as kit-variables;
|
|
7
8
|
|
|
9
|
+
// Fixed rail width owned by the kit (UI_RESIZABLE_SIDEBAR_RAIL_WIDTH in sdk-ui-kit).
|
|
8
10
|
$sidebar-collapsed-width: 48px;
|
|
9
11
|
$sidebar-icon-size: 18px;
|
|
10
12
|
$sidebar-header-height: 48px;
|
|
11
13
|
$sidebar-item-size: 32px;
|
|
14
|
+
$sidebar-item-inset: ($sidebar-collapsed-width - $sidebar-item-size) * 0.5;
|
|
12
15
|
$sidebar-rail-divider-offset: 10px;
|
|
13
16
|
$sidebar-rail-search-gap: 10px;
|
|
14
17
|
$sidebar-rail-search-offset: $sidebar-rail-divider-offset + variables.$nav-border-size +
|
|
@@ -28,14 +31,15 @@ $sidebar-fade-delay: 0.3s;
|
|
|
28
31
|
border-right: variables.$nav-border;
|
|
29
32
|
transition: width var(--sidebar-slide-duration);
|
|
30
33
|
|
|
34
|
+
// Follows the kit wrapper, which owns the width and its slide; a min-width here would snap the
|
|
35
|
+
// container open before the wrapper has slid.
|
|
31
36
|
&--resizable {
|
|
32
|
-
min-width: 230px;
|
|
33
37
|
width: 100%;
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
&--collapsed {
|
|
37
|
-
min-width:
|
|
38
|
-
width:
|
|
41
|
+
min-width: 0;
|
|
42
|
+
width: 0;
|
|
39
43
|
}
|
|
40
44
|
|
|
41
45
|
&--resizable#{&}--collapsed {
|
|
@@ -43,10 +47,26 @@ $sidebar-fade-delay: 0.3s;
|
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
49
|
|
|
50
|
+
// Keeps the kit sidebar's width transition in step with the container and content transitions, and
|
|
51
|
+
// paints the sidebar and its expand trigger above the sticky dashboard header so neither is cut off at
|
|
52
|
+
// the top. The drag layer sits one level higher still (see DragLayer.tsx). The parent selector
|
|
53
|
+
// out-specifies the kit's own z-index on the trigger.
|
|
54
|
+
.gd-dashboards-root > .gd-ui-kit-resizable-sidebar,
|
|
55
|
+
.gd-dashboards-root > .gd-ui-kit-resizable-sidebar__expand-trigger {
|
|
56
|
+
--resizable-sidebar-slide-duration: #{variables.$sidebar-transition-length};
|
|
57
|
+
|
|
58
|
+
z-index: zIndexes.$filterbar-sdk-8-12 + 1;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// The rule above would also beat the kit's drag-time lift, so restate it: dragging and a focused handle
|
|
62
|
+
// then layer the same way.
|
|
63
|
+
.gd-dashboards-root > .gd-ui-kit-resizable-sidebar--dragging {
|
|
64
|
+
z-index: 9999;
|
|
65
|
+
}
|
|
66
|
+
|
|
46
67
|
.gd-creation-panel-header {
|
|
47
68
|
display: flex;
|
|
48
69
|
align-items: center;
|
|
49
|
-
justify-content: space-between;
|
|
50
70
|
}
|
|
51
71
|
|
|
52
72
|
.gd-sidebar-collapse-toggle {
|
|
@@ -54,6 +74,11 @@ $sidebar-fade-delay: 0.3s;
|
|
|
54
74
|
margin: 0 10px;
|
|
55
75
|
}
|
|
56
76
|
|
|
77
|
+
// Restore control in the top bar while the sidebar is hidden, placed right before the title.
|
|
78
|
+
.dash-header-inner .gd-sidebar-collapse-toggle {
|
|
79
|
+
margin: 0;
|
|
80
|
+
}
|
|
81
|
+
|
|
57
82
|
.gd-sidebar-panel {
|
|
58
83
|
height: 100%;
|
|
59
84
|
|
|
@@ -64,23 +89,16 @@ $sidebar-fade-delay: 0.3s;
|
|
|
64
89
|
box-sizing: border-box;
|
|
65
90
|
height: $sidebar-item-size;
|
|
66
91
|
white-space: nowrap;
|
|
67
|
-
transition: color var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
68
92
|
}
|
|
69
93
|
|
|
70
94
|
.add-item-placeholder svg {
|
|
71
95
|
flex: 0 0 auto;
|
|
72
96
|
width: $sidebar-icon-size;
|
|
73
97
|
height: $sidebar-icon-size;
|
|
74
|
-
transition: transform var(--sidebar-slide-duration);
|
|
75
98
|
}
|
|
76
99
|
|
|
77
100
|
.add-item-placeholder::before {
|
|
78
101
|
background-size: $sidebar-icon-size auto;
|
|
79
|
-
transition: width var(--sidebar-slide-duration);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
.gd-visualizations-list {
|
|
83
|
-
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
84
102
|
}
|
|
85
103
|
|
|
86
104
|
.configuration-panel {
|
|
@@ -91,10 +109,11 @@ $sidebar-fade-delay: 0.3s;
|
|
|
91
109
|
height: $sidebar-header-height;
|
|
92
110
|
border-bottom: variables.$nav-border;
|
|
93
111
|
|
|
112
|
+
// The toggle in front of the headline provides the inset.
|
|
94
113
|
h2 {
|
|
95
114
|
margin-bottom: 0;
|
|
115
|
+
margin-left: 0;
|
|
96
116
|
color: var(--gd-palette-complementary-8, #464e56);
|
|
97
|
-
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
98
117
|
}
|
|
99
118
|
}
|
|
100
119
|
|
|
@@ -102,11 +121,7 @@ $sidebar-fade-delay: 0.3s;
|
|
|
102
121
|
display: flex;
|
|
103
122
|
flex-direction: column;
|
|
104
123
|
gap: 5px;
|
|
105
|
-
padding: 0
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.add-item-panel .gd-ui-kit-tooltip__anchor {
|
|
109
|
-
width: auto;
|
|
124
|
+
padding: 0 $sidebar-item-inset;
|
|
110
125
|
}
|
|
111
126
|
|
|
112
127
|
.configuration-category {
|
|
@@ -118,27 +133,64 @@ $sidebar-fade-delay: 0.3s;
|
|
|
118
133
|
flex: 0 0 auto;
|
|
119
134
|
}
|
|
120
135
|
|
|
121
|
-
|
|
122
|
-
|
|
136
|
+
// Hidden mode: the whole content fades out at the start of the collapse and back in once the
|
|
137
|
+
// expand slide has nearly finished, so it never overlaps the dashboard mid-slide. Opacity only:
|
|
138
|
+
// the collapsed wrapper is already inert and clipped, and the toggle must stay focusable for the
|
|
139
|
+
// focus hand-off.
|
|
140
|
+
.gd-sidebar-container--hidden & .flex-panel-full-height {
|
|
141
|
+
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
142
|
+
}
|
|
123
143
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
transition:
|
|
134
|
-
|
|
135
|
-
|
|
144
|
+
.gd-sidebar-container--hidden.gd-sidebar-container--collapsed & .flex-panel-full-height {
|
|
145
|
+
opacity: 0;
|
|
146
|
+
transition: opacity var(--sidebar-fade-duration);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Rail mode: the headline and the list fade out while the palette items shrink to their icons,
|
|
150
|
+
// which stay in place in the 48px rail together with the toggle in front of the headline.
|
|
151
|
+
.gd-sidebar-container--rail & {
|
|
152
|
+
.add-item-placeholder {
|
|
153
|
+
transition: color var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.add-item-placeholder svg {
|
|
157
|
+
transition: transform var(--sidebar-slide-duration);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.add-item-placeholder::before {
|
|
161
|
+
transition: width var(--sidebar-slide-duration);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.add-item-panel .gd-ui-kit-tooltip__anchor {
|
|
165
|
+
width: auto;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.gd-creation-panel-header h2,
|
|
169
|
+
.gd-visualizations-list {
|
|
170
|
+
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.configuration-category-vis {
|
|
174
|
+
position: relative;
|
|
175
|
+
|
|
176
|
+
&::before {
|
|
177
|
+
content: "";
|
|
178
|
+
position: absolute;
|
|
179
|
+
top: $sidebar-rail-divider-offset;
|
|
180
|
+
left: 0;
|
|
181
|
+
right: 0;
|
|
182
|
+
border-top: variables.$nav-border;
|
|
183
|
+
opacity: 0;
|
|
184
|
+
visibility: hidden;
|
|
185
|
+
transition:
|
|
186
|
+
opacity var(--sidebar-fade-duration),
|
|
187
|
+
visibility 0s linear var(--sidebar-fade-duration);
|
|
188
|
+
}
|
|
136
189
|
}
|
|
137
190
|
}
|
|
138
191
|
|
|
139
|
-
.gd-sidebar-container--collapsed & {
|
|
192
|
+
.gd-sidebar-container--rail.gd-sidebar-container--collapsed & {
|
|
140
193
|
.gd-creation-panel-header h2,
|
|
141
|
-
.gd-creation-panel-header .gd-sidebar-collapse-toggle,
|
|
142
194
|
.gd-visualizations-list {
|
|
143
195
|
opacity: 0;
|
|
144
196
|
visibility: hidden;
|
|
@@ -183,141 +235,26 @@ $sidebar-fade-delay: 0.3s;
|
|
|
183
235
|
}
|
|
184
236
|
}
|
|
185
237
|
|
|
238
|
+
// Rail mode: the search shortcut is hidden while expanded and fades in with the rail.
|
|
186
239
|
.gd-sidebar-rail-search {
|
|
187
240
|
position: absolute;
|
|
188
241
|
top: $sidebar-rail-search-offset;
|
|
189
|
-
left:
|
|
190
|
-
opacity: 0;
|
|
191
|
-
visibility: hidden;
|
|
192
|
-
transition:
|
|
193
|
-
opacity var(--sidebar-fade-duration),
|
|
194
|
-
visibility 0s linear var(--sidebar-fade-duration);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
.gd-sidebar-rail {
|
|
198
|
-
position: absolute;
|
|
199
|
-
top: 0;
|
|
200
|
-
left: 0;
|
|
201
|
-
z-index: 1;
|
|
202
|
-
display: flex;
|
|
203
|
-
flex-direction: column;
|
|
204
|
-
align-items: center;
|
|
205
|
-
width: $sidebar-collapsed-width;
|
|
242
|
+
left: $sidebar-item-inset;
|
|
206
243
|
opacity: 0;
|
|
207
244
|
visibility: hidden;
|
|
208
245
|
transition:
|
|
209
246
|
opacity var(--sidebar-fade-duration),
|
|
210
247
|
visibility 0s linear var(--sidebar-fade-duration);
|
|
211
|
-
|
|
212
|
-
.gd-sidebar-container--collapsed & {
|
|
213
|
-
opacity: 1;
|
|
214
|
-
visibility: visible;
|
|
215
|
-
transition: opacity var(--sidebar-fade-duration) var(--sidebar-fade-delay);
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
.gd-sidebar-collapse-toggle {
|
|
219
|
-
align-items: center;
|
|
220
|
-
height: $sidebar-header-height;
|
|
221
|
-
margin: 0;
|
|
222
|
-
}
|
|
223
248
|
}
|
|
224
249
|
|
|
225
250
|
@media (prefers-reduced-motion: reduce) {
|
|
226
|
-
.gd-sidebar-container
|
|
227
|
-
.gd-resizable-sidebar {
|
|
251
|
+
.gd-sidebar-container {
|
|
228
252
|
--sidebar-fade-duration: 0s;
|
|
229
253
|
--sidebar-fade-delay: 0s;
|
|
230
254
|
--sidebar-slide-duration: 0s;
|
|
231
255
|
}
|
|
232
256
|
}
|
|
233
257
|
|
|
234
|
-
.gd-resizable-sidebar {
|
|
235
|
-
--sidebar-fade-duration: #{$sidebar-fade-length};
|
|
236
|
-
--sidebar-fade-delay: #{$sidebar-fade-delay};
|
|
237
|
-
--sidebar-slide-duration: #{variables.$sidebar-transition-length};
|
|
238
|
-
|
|
239
|
-
display: flex;
|
|
240
|
-
flex-direction: column;
|
|
241
|
-
flex: 0 0 auto;
|
|
242
|
-
transition: width var(--sidebar-slide-duration);
|
|
243
|
-
|
|
244
|
-
// Lift the wrapper above sibling main-content during drag so the indicator
|
|
245
|
-
// rail isn't covered by widgets/charts with their own stacking context.
|
|
246
|
-
&--dragging,
|
|
247
|
-
&:has(.gd-resizable-sidebar__handle:focus) {
|
|
248
|
-
z-index: 9999;
|
|
249
|
-
transition: none;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
&__handle {
|
|
253
|
-
opacity: 0;
|
|
254
|
-
position: absolute;
|
|
255
|
-
top: 0;
|
|
256
|
-
bottom: 0;
|
|
257
|
-
transform: translateX(calc(var(--drag-x, 0) - 50%));
|
|
258
|
-
z-index: 2;
|
|
259
|
-
display: flex;
|
|
260
|
-
align-items: center;
|
|
261
|
-
justify-content: center;
|
|
262
|
-
width: 6px;
|
|
263
|
-
background: transparent;
|
|
264
|
-
border: 0;
|
|
265
|
-
cursor: col-resize;
|
|
266
|
-
// Prevent the browser from claiming the first touchmove for panning
|
|
267
|
-
// before pointer capture engages on pointerdown.
|
|
268
|
-
touch-action: none;
|
|
269
|
-
|
|
270
|
-
&:focus {
|
|
271
|
-
outline: none;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
&:disabled {
|
|
275
|
-
cursor: initial;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
&--dragging {
|
|
279
|
-
opacity: 1;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
.gd-resizable-sidebar--resizable:hover &,
|
|
283
|
-
.gd-resizable-sidebar--resizable:focus-within & {
|
|
284
|
-
opacity: 1;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
&__handle-grip {
|
|
289
|
-
display: flex;
|
|
290
|
-
align-items: center;
|
|
291
|
-
justify-content: center;
|
|
292
|
-
gap: 10px;
|
|
293
|
-
height: 25px;
|
|
294
|
-
padding: 5px 3px;
|
|
295
|
-
background: var(--gd-palette-complementary-0);
|
|
296
|
-
border: 1px solid var(--gd-palette-complementary-5);
|
|
297
|
-
border-radius: 2px;
|
|
298
|
-
|
|
299
|
-
.gd-resizable-sidebar--dragging &,
|
|
300
|
-
.gd-resizable-sidebar__handle:focus & {
|
|
301
|
-
border: 2px solid kit-variables.$gd-color-highlight;
|
|
302
|
-
border-radius: 3px;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
.gd-resizable-sidebar--dragging &::after,
|
|
306
|
-
.gd-resizable-sidebar__handle:focus &::after {
|
|
307
|
-
content: "";
|
|
308
|
-
position: absolute;
|
|
309
|
-
top: 0;
|
|
310
|
-
bottom: 0;
|
|
311
|
-
left: 50%;
|
|
312
|
-
transform: translateX(-50%);
|
|
313
|
-
z-index: -1;
|
|
314
|
-
width: 2px;
|
|
315
|
-
background: kit-variables.$gd-color-highlight;
|
|
316
|
-
box-shadow: 0 0 0 4px variables.$gd-palette-primary-base-t85;
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
|
|
321
258
|
.add-item-panel {
|
|
322
259
|
padding: 0 7px;
|
|
323
260
|
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { type ReactElement, type ReactNode } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Internal presentational wrapper that drives the dashboard sidebar drag-to-resize interaction.
|
|
4
|
-
*
|
|
5
|
-
* Owns only the live drag state (drag width — used for the dashed indicator transform — and drag
|
|
6
|
-
* phase). The committed width, min/max, and the editor-canvas constraint live in the shared
|
|
7
|
-
* {@link useResizableSidebar} state, so the same value also feeds the content area's width via the
|
|
8
|
-
* `--gd-dashboard-sidebar-width` custom property.
|
|
9
|
-
*
|
|
10
|
-
* Renders `.gd-sidebar-container` itself so the resize handle can be positioned absolutely inside
|
|
11
|
-
* it — that element is sticky+100vh, so the handle (and the grip centered inside it) tracks the
|
|
12
|
-
* visible viewport rather than the full dashboard-root height.
|
|
13
|
-
*
|
|
14
|
-
* Drag uses `setPointerCapture` on the handle button so pointer events keep flowing to it even
|
|
15
|
-
* when the cursor leaves the 6 px hit area. No DOM overlay or window-level listener is needed.
|
|
16
|
-
*
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
|
-
export declare function SidebarResizeChrome({ onContainerClick, children, }: {
|
|
20
|
-
onContainerClick?: () => void;
|
|
21
|
-
children: ReactNode;
|
|
22
|
-
}): ReactElement;
|
|
23
|
-
//# sourceMappingURL=SidebarResizeChrome.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarResizeChrome.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarResizeChrome.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,SAAS,EAIjB,MAAM,OAAO,CAAC;AAkBf;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,gBAAgB,EAChB,QAAQ,GACX,EAAE;IACC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;CACvB,GAAG,YAAY,CAmHf"}
|