@gooddata/sdk-ui-semantic-search 10.10.0-alpha.9 → 10.10.0
Sign up to get free protection for your applications and to get access to all the features.
- package/esm/ResultsItem.d.ts.map +1 -1
- package/esm/ResultsItem.js +5 -13
- package/esm/ResultsItem.js.map +1 -1
- package/esm/SearchListItem.d.ts +14 -0
- package/esm/SearchListItem.d.ts.map +1 -0
- package/esm/SearchListItem.js +28 -0
- package/esm/SearchListItem.js.map +1 -0
- package/esm/SearchResultsDropdownList.d.ts.map +1 -1
- package/esm/SearchResultsDropdownList.js +2 -1
- package/esm/SearchResultsDropdownList.js.map +1 -1
- package/esm/SemanticSearch.d.ts.map +1 -1
- package/esm/SemanticSearch.js +1 -2
- package/esm/SemanticSearch.js.map +1 -1
- package/esm/hooks/useSearchMetrics.d.ts +43 -0
- package/esm/hooks/useSearchMetrics.d.ts.map +1 -0
- package/esm/hooks/useSearchMetrics.js +75 -0
- package/esm/hooks/useSearchMetrics.js.map +1 -0
- package/esm/internal/AnnotatedResultsItem.d.ts +4 -0
- package/esm/internal/AnnotatedResultsItem.d.ts.map +1 -1
- package/esm/internal/AnnotatedResultsItem.js +14 -22
- package/esm/internal/AnnotatedResultsItem.js.map +1 -1
- package/esm/internal/HistoryItem.d.ts +1 -1
- package/esm/internal/HistoryItem.d.ts.map +1 -1
- package/esm/internal/HistoryItem.js +7 -13
- package/esm/internal/HistoryItem.js.map +1 -1
- package/esm/internal/SearchList.d.ts.map +1 -1
- package/esm/internal/SearchList.js +2 -1
- package/esm/internal/SearchList.js.map +1 -1
- package/esm/internal/SearchOverlay.d.ts +24 -3
- package/esm/internal/SearchOverlay.d.ts.map +1 -1
- package/esm/internal/SearchOverlay.js +72 -29
- package/esm/internal/SearchOverlay.js.map +1 -1
- package/esm/internal.d.ts +2 -2
- package/esm/internal.d.ts.map +1 -1
- package/esm/internal.js +2 -2
- package/esm/internal.js.map +1 -1
- package/esm/utils/renderDetails.js +1 -1
- package/esm/utils/renderDetails.js.map +1 -1
- package/esm/utils/renderItemIcon.d.ts +2 -3
- package/esm/utils/renderItemIcon.d.ts.map +1 -1
- package/esm/utils/renderItemIcon.js +2 -1
- package/esm/utils/renderItemIcon.js.map +1 -1
- package/esm/utils/{renderLoack.d.ts → renderLock.d.ts} +1 -1
- package/esm/utils/renderLock.d.ts.map +1 -0
- package/esm/utils/{renderLoack.js → renderLock.js} +1 -1
- package/esm/utils/renderLock.js.map +1 -0
- package/package.json +7 -7
- package/styles/css/internal.css +38 -108
- package/styles/css/internal.css.map +1 -1
- package/styles/css/main.css +21 -51
- package/styles/css/main.css.map +1 -1
- package/styles/scss/internal.scss +21 -66
- package/styles/scss/main.scss +26 -46
- package/esm/internal/HeaderMobileSearch.d.ts +0 -8
- package/esm/internal/HeaderMobileSearch.d.ts.map +0 -1
- package/esm/internal/HeaderMobileSearch.js +0 -18
- package/esm/internal/HeaderMobileSearch.js.map +0 -1
- package/esm/internal/HeaderSearchButton.d.ts +0 -31
- package/esm/internal/HeaderSearchButton.d.ts.map +0 -1
- package/esm/internal/HeaderSearchButton.js +0 -50
- package/esm/internal/HeaderSearchButton.js.map +0 -1
- package/esm/utils/renderLoack.d.ts.map +0 -1
- package/esm/utils/renderLoack.js.map +0 -1
package/styles/css/main.css
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
@charset "UTF-8";
|
2
1
|
.gd-semantic-search__results-item {
|
3
2
|
display: flex;
|
4
3
|
flex-direction: row;
|
@@ -9,7 +8,7 @@
|
|
9
8
|
height: 50px;
|
10
9
|
text-decoration: none;
|
11
10
|
}
|
12
|
-
.gd-semantic-search__results-item:hover {
|
11
|
+
.gd-semantic-search__results-item:hover, .gd-semantic-search__results-item:focus, .gd-semantic-search__results-item:active, .gd-semantic-search__results-item:visited {
|
13
12
|
text-decoration: none;
|
14
13
|
}
|
15
14
|
.gd-semantic-search__results-item--active {
|
@@ -17,63 +16,38 @@
|
|
17
16
|
background: var(--gd-palette-complementary-2, #ebeff4);
|
18
17
|
}
|
19
18
|
.gd-semantic-search__results-item__icon {
|
20
|
-
width:
|
21
|
-
height:
|
19
|
+
width: 26px;
|
20
|
+
height: 26px;
|
22
21
|
display: flex;
|
23
22
|
align-items: center;
|
24
23
|
}
|
25
24
|
.gd-semantic-search__results-item__icon > svg {
|
26
|
-
width:
|
27
|
-
height:
|
28
|
-
}
|
29
|
-
.gd-semantic-search__results-item__icon--history {
|
30
|
-
width: 17px;
|
31
|
-
height: 17px;
|
32
|
-
display: flex;
|
33
|
-
align-items: center;
|
34
|
-
}
|
35
|
-
.gd-semantic-search__results-item__icon--history > svg {
|
36
|
-
width: 17px;
|
37
|
-
height: 17px;
|
25
|
+
width: 26px;
|
26
|
+
height: 26px;
|
38
27
|
}
|
39
28
|
.gd-semantic-search__results-item__text {
|
40
|
-
flex
|
41
|
-
font-weight: 400;
|
42
|
-
color: var(--gd-palette-complementary-8, #464e56);
|
43
|
-
font-size: 14px;
|
44
|
-
}
|
45
|
-
.gd-semantic-search__results-item__text--history {
|
29
|
+
flex: 1;
|
46
30
|
min-width: 0;
|
47
|
-
line-height: 1.4rem;
|
48
|
-
overflow: hidden;
|
49
|
-
text-overflow: ellipsis;
|
50
|
-
white-space: nowrap;
|
51
|
-
}
|
52
|
-
.gd-semantic-search__results-item__text--result {
|
53
31
|
display: flex;
|
54
32
|
flex-direction: column;
|
33
|
+
font-weight: 400;
|
34
|
+
color: var(--gd-palette-complementary-8, #464e56);
|
35
|
+
font-size: 14px;
|
36
|
+
line-height: 20px;
|
55
37
|
}
|
56
|
-
.gd-semantic-search__results-
|
38
|
+
.gd-semantic-search__results-item__text__row {
|
57
39
|
display: flex;
|
58
40
|
flex-direction: row;
|
59
|
-
|
60
|
-
gap: 0.3em;
|
61
|
-
min-width: 0;
|
62
|
-
line-height: 20px;
|
63
|
-
overflow: hidden;
|
64
|
-
text-overflow: ellipsis;
|
65
|
-
white-space: nowrap;
|
41
|
+
gap: 5px;
|
66
42
|
}
|
67
|
-
.gd-semantic-search__results-
|
68
|
-
min-width: 0;
|
69
|
-
line-height: 20px;
|
70
|
-
overflow: hidden;
|
71
|
-
text-overflow: ellipsis;
|
72
|
-
white-space: nowrap;
|
43
|
+
.gd-semantic-search__results-item__text__row:not(:first-child) {
|
73
44
|
color: var(--gd-palette-complementary-6, #94a1ad);
|
74
45
|
}
|
75
|
-
.gd-semantic-search__results-
|
76
|
-
|
46
|
+
.gd-semantic-search__results-item__text__ellipsis {
|
47
|
+
white-space: nowrap;
|
48
|
+
overflow: hidden;
|
49
|
+
text-overflow: ellipsis;
|
50
|
+
flex-shrink: 1;
|
77
51
|
}
|
78
52
|
.gd-semantic-search__results-item__details {
|
79
53
|
width: 16px;
|
@@ -113,15 +87,11 @@
|
|
113
87
|
text-transform: none;
|
114
88
|
font-size: 12px;
|
115
89
|
}
|
116
|
-
.gd-semantic-search__results-item__annotation:after {
|
117
|
-
content: " • ";
|
118
|
-
}
|
119
|
-
.gd-semantic-search__results-item__annotation:last-child:after {
|
120
|
-
content: "";
|
121
|
-
}
|
122
|
-
|
123
90
|
.gd-semantic-search__bubble.bubble.bubble-light {
|
124
91
|
background: var(--gd-palette-complementary-0, #fff);
|
125
92
|
}
|
93
|
+
.gd-semantic-search__bubble_trigger {
|
94
|
+
display: flex;
|
95
|
+
}
|
126
96
|
|
127
97
|
/*# sourceMappingURL=main.css.map */
|
package/styles/css/main.css.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../scss/main.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":";
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../scss/main.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AAoBI;EAGI;EACA;EACA;EACA;EACA;EACA;EACA,QARc;EASd;;AAEA;EAII;;AAGJ;EACI,OCJI;EDKJ,YCoEY;;ADjEhB;EArCJ,OAsCsB;EArCtB,QAqCsB;EApCtB;EACA;;AAEA;EAEI,OA+BkB;EA9BlB,QA8BkB;;AAGlB;EACI;EACA;EACA;EACA;EACA;EACA,OCxBI;EDyBJ;EACA;;AAEA;EACI;EACA;EACA;;AAEA;EACI,OCzCG;;AD6CX;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA,OCnFG;;ADsFP;EACI;EACA;EACA;;AAIA;EACI;EACA;;AAOpB;EACI,YC7GS;;ADgHb;EACI","file":"main.css"}
|
@@ -4,18 +4,20 @@
|
|
4
4
|
@use "sass:meta";
|
5
5
|
@use "@gooddata/sdk-ui-kit/styles/scss/variables" as kit-variables;
|
6
6
|
@use "@gooddata/sdk-ui-kit/styles/scss/mixins" as kit-mixins;
|
7
|
-
@use "./main.scss";
|
7
|
+
@use "./main.scss" as main;
|
8
8
|
|
9
9
|
.gd-semantic-search {
|
10
10
|
&__overlay {
|
11
11
|
background: kit-variables.$gd-color-white;
|
12
12
|
margin: 10px 0;
|
13
13
|
|
14
|
-
|
14
|
+
// Desktop view
|
15
|
+
.gd-header-search-dropdown & {
|
15
16
|
width: 440px;
|
16
17
|
}
|
17
18
|
|
18
|
-
|
19
|
+
// Mobile view
|
20
|
+
.gd-header-menu-search & {
|
19
21
|
.gd-semantic-search__overlay-input {
|
20
22
|
margin-bottom: 10px;
|
21
23
|
}
|
@@ -41,74 +43,27 @@
|
|
41
43
|
&__overlay-no-results {
|
42
44
|
height: 100px;
|
43
45
|
}
|
44
|
-
}
|
45
|
-
|
46
|
-
.gd-header-search {
|
47
|
-
height: 100%;
|
48
|
-
margin: 0;
|
49
|
-
line-height: 42px;
|
50
|
-
opacity: 0.8;
|
51
|
-
cursor: pointer;
|
52
|
-
transition: all 0.2s;
|
53
|
-
font-size: 14px;
|
54
|
-
font-weight: 400;
|
55
|
-
position: relative;
|
56
|
-
box-sizing: border-box;
|
57
|
-
padding: 0 34px 2px 13px;
|
58
|
-
|
59
|
-
@include kit-mixins.text-overflow;
|
60
|
-
|
61
|
-
&:hover,
|
62
|
-
&.is-open {
|
63
|
-
opacity: 1;
|
64
|
-
}
|
65
|
-
|
66
|
-
&::after {
|
67
|
-
content: "\e612";
|
68
|
-
position: absolute;
|
69
|
-
top: 0;
|
70
|
-
right: 11px;
|
71
|
-
margin-left: 11px;
|
72
|
-
width: 12px;
|
73
|
-
opacity: 0.5;
|
74
|
-
text-align: center;
|
75
|
-
font-family: kit-variables.$gd-font-indigo;
|
76
|
-
font-size: 18px;
|
77
|
-
font-weight: 700;
|
78
|
-
}
|
79
|
-
|
80
|
-
&.is-open::after {
|
81
|
-
content: "\e613";
|
82
|
-
}
|
83
46
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
&.is-open {
|
89
|
-
background-color: rgba(255, 255, 255, 0.3);
|
90
|
-
}
|
47
|
+
&__results-item {
|
48
|
+
&--history &__icon {
|
49
|
+
@include main.icon(17px);
|
50
|
+
}
|
91
51
|
|
92
|
-
|
93
|
-
|
52
|
+
&__text {
|
53
|
+
&__lock-icon {
|
54
|
+
width: 14px;
|
94
55
|
|
95
|
-
|
96
|
-
|
56
|
+
& svg {
|
57
|
+
width: 14px;
|
58
|
+
height: 14px;
|
59
|
+
}
|
60
|
+
}
|
97
61
|
|
98
|
-
|
99
|
-
|
100
|
-
|
62
|
+
&__row:not(:first-child) {
|
63
|
+
:not(:first-child):before {
|
64
|
+
content: "•\0000a0";
|
65
|
+
}
|
101
66
|
}
|
102
67
|
}
|
103
68
|
}
|
104
69
|
}
|
105
|
-
|
106
|
-
.gd-icon-header-search-button {
|
107
|
-
vertical-align: middle;
|
108
|
-
opacity: 0.8;
|
109
|
-
margin-right: 6px;
|
110
|
-
|
111
|
-
&::before {
|
112
|
-
content: "\e62b";
|
113
|
-
}
|
114
|
-
}
|
package/styles/scss/main.scss
CHANGED
@@ -17,14 +17,6 @@
|
|
17
17
|
}
|
18
18
|
}
|
19
19
|
|
20
|
-
@mixin ellipsis($line-height) {
|
21
|
-
min-width: 0; // A hack to make ellipsis work in flexbox
|
22
|
-
line-height: $line-height;
|
23
|
-
overflow: hidden;
|
24
|
-
text-overflow: ellipsis;
|
25
|
-
white-space: nowrap;
|
26
|
-
}
|
27
|
-
|
28
20
|
.gd-semantic-search {
|
29
21
|
&__results-item {
|
30
22
|
$line-height: 50px;
|
@@ -38,7 +30,10 @@
|
|
38
30
|
height: $line-height;
|
39
31
|
text-decoration: none;
|
40
32
|
|
41
|
-
&:hover
|
33
|
+
&:hover,
|
34
|
+
&:focus,
|
35
|
+
&:active,
|
36
|
+
&:visited {
|
42
37
|
text-decoration: none;
|
43
38
|
}
|
44
39
|
|
@@ -48,43 +43,34 @@
|
|
48
43
|
}
|
49
44
|
|
50
45
|
&__icon {
|
51
|
-
@include icon(
|
52
|
-
|
53
|
-
&--history {
|
54
|
-
@include icon(17px);
|
55
|
-
}
|
46
|
+
@include icon(26px);
|
56
47
|
}
|
57
48
|
|
58
49
|
&__text {
|
59
|
-
flex
|
50
|
+
flex: 1;
|
51
|
+
min-width: 0; // A hack to make ellipsis work in flexbox
|
52
|
+
display: flex;
|
53
|
+
flex-direction: column;
|
60
54
|
font-weight: 400;
|
61
55
|
color: kit-variables.$gd-color-text;
|
62
56
|
font-size: 14px;
|
57
|
+
line-height: 20px;
|
63
58
|
|
64
|
-
|
65
|
-
@include ellipsis(1.4rem);
|
66
|
-
}
|
67
|
-
|
68
|
-
&--result {
|
69
|
-
display: flex;
|
70
|
-
flex-direction: column;
|
71
|
-
}
|
72
|
-
|
73
|
-
&__1 {
|
59
|
+
&__row {
|
74
60
|
display: flex;
|
75
61
|
flex-direction: row;
|
76
|
-
|
77
|
-
gap: 0.3em;
|
78
|
-
@include ellipsis(20px);
|
79
|
-
}
|
62
|
+
gap: 5px;
|
80
63
|
|
81
|
-
|
82
|
-
|
83
|
-
|
64
|
+
&:not(:first-child) {
|
65
|
+
color: kit-variables.$gd-color-state-blank;
|
66
|
+
}
|
84
67
|
}
|
85
68
|
|
86
|
-
&
|
87
|
-
|
69
|
+
&__ellipsis {
|
70
|
+
white-space: nowrap;
|
71
|
+
overflow: hidden;
|
72
|
+
text-overflow: ellipsis;
|
73
|
+
flex-shrink: 1;
|
88
74
|
}
|
89
75
|
}
|
90
76
|
|
@@ -135,19 +121,13 @@
|
|
135
121
|
}
|
136
122
|
}
|
137
123
|
}
|
124
|
+
}
|
138
125
|
|
139
|
-
|
140
|
-
|
141
|
-
content: "\0000a0•\0000a0";
|
142
|
-
}
|
143
|
-
|
144
|
-
&:last-child:after {
|
145
|
-
content: "";
|
146
|
-
}
|
147
|
-
}
|
126
|
+
&__bubble.bubble.bubble-light {
|
127
|
+
background: kit-variables.$gd-color-white;
|
148
128
|
}
|
149
|
-
}
|
150
129
|
|
151
|
-
|
152
|
-
|
130
|
+
&__bubble_trigger {
|
131
|
+
display: flex;
|
132
|
+
}
|
153
133
|
}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import * as React from "react";
|
2
|
-
import { HeaderSearchButtonProps } from "./HeaderSearchButton.js";
|
3
|
-
/**
|
4
|
-
* A version of the search overlay that is optimized for mobile devices.
|
5
|
-
* @internal
|
6
|
-
*/
|
7
|
-
export declare const HeaderMobileSearch: ({ locale, ...props }: HeaderSearchButtonProps) => React.JSX.Element;
|
8
|
-
//# sourceMappingURL=HeaderMobileSearch.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"HeaderMobileSearch.d.ts","sourceRoot":"","sources":["../../src/internal/HeaderMobileSearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA+B,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAwB/F;;;GAGG;AACH,eAAO,MAAM,kBAAkB,yBAA0B,uBAAuB,sBAI/E,CAAC"}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
// (C) 2007-2024 GoodData Corporation
|
2
|
-
import * as React from "react";
|
3
|
-
import { SearchOverlay } from "./SearchOverlay.js";
|
4
|
-
import { MetadataTimezoneProvider } from "./metadataTimezoneContext.js";
|
5
|
-
import { injectIntl } from "react-intl";
|
6
|
-
import { IntlWrapper } from "@gooddata/sdk-ui";
|
7
|
-
const HeaderMobileSearchCore = ({ onSelect, metadataTimezone, ...overlayProps }) => {
|
8
|
-
return (React.createElement(MetadataTimezoneProvider, { value: metadataTimezone },
|
9
|
-
React.createElement(SearchOverlay, { onSelect: onSelect, className: "gd-semantic-search__overlay--mobile", ...overlayProps })));
|
10
|
-
};
|
11
|
-
const HeaderMobileSearchWithIntl = injectIntl(HeaderMobileSearchCore);
|
12
|
-
/**
|
13
|
-
* A version of the search overlay that is optimized for mobile devices.
|
14
|
-
* @internal
|
15
|
-
*/
|
16
|
-
export const HeaderMobileSearch = ({ locale, ...props }) => (React.createElement(IntlWrapper, { locale: locale },
|
17
|
-
React.createElement(HeaderMobileSearchWithIntl, { ...props })));
|
18
|
-
//# sourceMappingURL=HeaderMobileSearch.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"HeaderMobileSearch.js","sourceRoot":"","sources":["../../src/internal/HeaderMobileSearch.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,sBAAsB,GAA0C,CAAC,EACnE,QAAQ,EACR,gBAAgB,EAChB,GAAG,YAAY,EAClB,EAAE,EAAE;IACD,OAAO,CACH,oBAAC,wBAAwB,IAAC,KAAK,EAAE,gBAAgB;QAC7C,oBAAC,aAAa,IACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,qCAAqC,KAC3C,YAAY,GAClB,CACqB,CAC9B,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAA2B,EAAE,EAAE,CAAC,CACjF,oBAAC,WAAW,IAAC,MAAM,EAAE,MAAM;IACvB,oBAAC,0BAA0B,OAAK,KAAK,GAAI,CAC/B,CACjB,CAAC"}
|
@@ -1,31 +0,0 @@
|
|
1
|
-
import React from "react";
|
2
|
-
import { SearchOverlayProps } from "./SearchOverlay.js";
|
3
|
-
import { ISemanticSearchResultItem } from "@gooddata/sdk-model";
|
4
|
-
import { IIntlWrapperProps } from "@gooddata/sdk-ui";
|
5
|
-
/**
|
6
|
-
* Props for the HeaderSearchButton component.
|
7
|
-
* @internal
|
8
|
-
*/
|
9
|
-
export type HeaderSearchButtonCoreProps = SearchOverlayProps & {
|
10
|
-
/**
|
11
|
-
* Callback to be called when an item is selected.
|
12
|
-
* @param item - the selected item
|
13
|
-
* @param e - the event that triggered the selection
|
14
|
-
* @param itemUrl - the URL of the selected item, if available
|
15
|
-
*/
|
16
|
-
onSelect: (item: ISemanticSearchResultItem, e: MouseEvent | KeyboardEvent, itemUrl?: string) => void;
|
17
|
-
/**
|
18
|
-
* Timezone in which metadata created and updated dates are saved.
|
19
|
-
* It's used to convert the date to the user's local timezone for display.
|
20
|
-
*/
|
21
|
-
metadataTimezone?: string;
|
22
|
-
};
|
23
|
-
export type HeaderSearchButtonProps = Omit<HeaderSearchButtonCoreProps, "intl"> & Pick<IIntlWrapperProps, "locale">;
|
24
|
-
/**
|
25
|
-
* A search button / drop down trigger for the Header menu
|
26
|
-
* @internal
|
27
|
-
*/
|
28
|
-
export declare const HeaderSearchButton: ({ locale, ...props }: Omit<HeaderSearchButtonProps, "intl"> & {
|
29
|
-
locale?: string | undefined;
|
30
|
-
}) => React.JSX.Element;
|
31
|
-
//# sourceMappingURL=HeaderSearchButton.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"HeaderSearchButton.d.ts","sourceRoot":"","sources":["../../src/internal/HeaderSearchButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAiB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAe,MAAM,kBAAkB,CAAC;AAIlE;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,GAAG;IAC3D;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,yBAAyB,EAAE,CAAC,EAAE,UAAU,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrG;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AA2EF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,GAC3E,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;uBAS9B,CAAC"}
|
@@ -1,50 +0,0 @@
|
|
1
|
-
// (C) 2007-2024 GoodData Corporation
|
2
|
-
import React from "react";
|
3
|
-
import cx from "classnames";
|
4
|
-
import { FormattedMessage, injectIntl } from "react-intl";
|
5
|
-
import { Button, Overlay } from "@gooddata/sdk-ui-kit";
|
6
|
-
import { SearchOverlay } from "./SearchOverlay.js";
|
7
|
-
import { MetadataTimezoneProvider } from "./metadataTimezoneContext.js";
|
8
|
-
import { IntlWrapper } from "@gooddata/sdk-ui";
|
9
|
-
const ALIGN_POINTS = [{ align: "br tr" }];
|
10
|
-
const HeaderSearchButtonCore = ({ onSelect, metadataTimezone, ...overlayProps }) => {
|
11
|
-
const [isOpen, setIsOpen] = React.useState(false);
|
12
|
-
const classNames = cx("gd-header-measure", "gd-header-button", "gd-header-search", { "is-open": isOpen });
|
13
|
-
// Handle Cmd+K and Ctrl+K shortcuts
|
14
|
-
React.useEffect(() => {
|
15
|
-
const shortcutHandler = (event) => {
|
16
|
-
if (event.key === "k" && (event.ctrlKey || event.metaKey)) {
|
17
|
-
setIsOpen(true);
|
18
|
-
}
|
19
|
-
};
|
20
|
-
if (!isOpen) {
|
21
|
-
document.addEventListener("keydown", shortcutHandler);
|
22
|
-
}
|
23
|
-
return () => {
|
24
|
-
document.removeEventListener("keydown", shortcutHandler);
|
25
|
-
};
|
26
|
-
}, [isOpen]);
|
27
|
-
// Inject dialog closing into a callback
|
28
|
-
const handleSelect = React.useCallback((item, e, url) => {
|
29
|
-
setIsOpen(false);
|
30
|
-
return onSelect(item, e, url);
|
31
|
-
}, [onSelect, setIsOpen]);
|
32
|
-
return (React.createElement(Button, { title: overlayProps.intl.formatMessage({ id: "gs.header.search" }), className: classNames, onClick: () => setIsOpen(true) },
|
33
|
-
React.createElement("span", { className: "gd-icon-header-search-button" }),
|
34
|
-
React.createElement("span", { className: "gd-header-search-label" },
|
35
|
-
React.createElement(FormattedMessage, { id: "gs.header.search" })),
|
36
|
-
isOpen ? (React.createElement(Overlay, { isModal: false, alignTo: ".gd-header-search", alignPoints: ALIGN_POINTS, closeOnEscape: true, closeOnOutsideClick: true, closeOnParentScroll: false, closeOnMouseDrag: false, onClose: () => setIsOpen(false), ignoreClicksOnByClass: [".gd-bubble", ".gd-semantic-search__results-item"] },
|
37
|
-
React.createElement(MetadataTimezoneProvider, { value: metadataTimezone },
|
38
|
-
React.createElement("div", { className: "gd-dialog gd-dropdown overlay gd-header-search-dropdown" },
|
39
|
-
React.createElement(SearchOverlay, { onSelect: handleSelect, className: "gd-semantic-search__overlay--fixed", ...overlayProps }))))) : null));
|
40
|
-
};
|
41
|
-
const HeaderSearchButtonWithIntl = injectIntl(HeaderSearchButtonCore);
|
42
|
-
/**
|
43
|
-
* A search button / drop down trigger for the Header menu
|
44
|
-
* @internal
|
45
|
-
*/
|
46
|
-
export const HeaderSearchButton = ({ locale, ...props }) => {
|
47
|
-
return (React.createElement(IntlWrapper, { locale: locale },
|
48
|
-
React.createElement(HeaderSearchButtonWithIntl, { ...props })));
|
49
|
-
};
|
50
|
-
//# sourceMappingURL=HeaderSearchButton.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"HeaderSearchButton.js","sourceRoot":"","sources":["../../src/internal/HeaderSearchButton.tsx"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"renderLoack.d.ts","sourceRoot":"","sources":["../../src/utils/renderLoack.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,eAAO,MAAM,UAAU,aAAc,SAAS,yBAAyB,CAAC,6BAIvE,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"renderLoack.js","sourceRoot":"","sources":["../../src/utils/renderLoack.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAA6C,EAAE,EAAE;IACxE,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,oBAAC,IAAI,CAAC,IAAI,IAAC,SAAS,EAAC,mDAAmD,GAAG,CAAC;AACvF,CAAC,CAAC"}
|