@sinequa/atomic-angular 0.0.146
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/assets/tailwind.css +334 -0
- package/esm2022/lib/assistant/index.mjs +2 -0
- package/esm2022/lib/assistant/signalR.web.service.mjs +81 -0
- package/esm2022/lib/components/dropdown-input.mjs +97 -0
- package/esm2022/lib/components/dropdown-list.mjs +35 -0
- package/esm2022/lib/components/dropdown.mjs +127 -0
- package/esm2022/lib/components/index.mjs +7 -0
- package/esm2022/lib/components/menu/index.mjs +3 -0
- package/esm2022/lib/components/menu/menu-item.mjs +22 -0
- package/esm2022/lib/components/menu/menu.mjs +99 -0
- package/esm2022/lib/components/metadata/index.mjs +2 -0
- package/esm2022/lib/components/metadata/metadata.component.mjs +65 -0
- package/esm2022/lib/components/theme/index.mjs +3 -0
- package/esm2022/lib/components/theme/theme-selector.component.mjs +67 -0
- package/esm2022/lib/components/theme/theme-toggle.component.mjs +67 -0
- package/esm2022/lib/directives/index.mjs +5 -0
- package/esm2022/lib/directives/infinite-scroll.directive.mjs +47 -0
- package/esm2022/lib/directives/select-article-on-click.directive.mjs +39 -0
- package/esm2022/lib/directives/show-bookmark.directive.mjs +55 -0
- package/esm2022/lib/directives/theme-provider.directive.mjs +31 -0
- package/esm2022/lib/guards/auth.guard.mjs +27 -0
- package/esm2022/lib/guards/index.mjs +3 -0
- package/esm2022/lib/guards/initialization.guard.mjs +41 -0
- package/esm2022/lib/interceptors/audit.interceptor.mjs +23 -0
- package/esm2022/lib/interceptors/auth.interceptor.mjs +49 -0
- package/esm2022/lib/interceptors/body.interceptor.mjs +24 -0
- package/esm2022/lib/interceptors/error.interceptor.mjs +35 -0
- package/esm2022/lib/interceptors/index.mjs +7 -0
- package/esm2022/lib/interceptors/toast.interceptor.mjs +27 -0
- package/esm2022/lib/models/aggregation.mjs +2 -0
- package/esm2022/lib/models/article-metadata.mjs +2 -0
- package/esm2022/lib/models/autocomplete.mjs +2 -0
- package/esm2022/lib/models/custom-json.mjs +2 -0
- package/esm2022/lib/models/filter-dropdown.mjs +2 -0
- package/esm2022/lib/models/index.mjs +7 -0
- package/esm2022/lib/models/user-settings.mjs +2 -0
- package/esm2022/lib/pipes/highlight-word.pipe.mjs +33 -0
- package/esm2022/lib/pipes/index.mjs +3 -0
- package/esm2022/lib/pipes/source-icon.pipe.mjs +43 -0
- package/esm2022/lib/public-api.mjs +18 -0
- package/esm2022/lib/resolvers/index.mjs +2 -0
- package/esm2022/lib/resolvers/query-name-resolver.mjs +14 -0
- package/esm2022/lib/resources/index.mjs +2 -0
- package/esm2022/lib/resources/themes.mjs +53 -0
- package/esm2022/lib/services/application.service.mjs +245 -0
- package/esm2022/lib/services/autocomplete.service.mjs +85 -0
- package/esm2022/lib/services/drawer/backdrop.service.mjs +23 -0
- package/esm2022/lib/services/drawer/drawer-stack.service.mjs +152 -0
- package/esm2022/lib/services/drawer/drawer.service.mjs +38 -0
- package/esm2022/lib/services/index.mjs +12 -0
- package/esm2022/lib/services/label.service.mjs +161 -0
- package/esm2022/lib/services/navigation.service.mjs +59 -0
- package/esm2022/lib/services/saved-searches.service.mjs +75 -0
- package/esm2022/lib/services/search.service.mjs +89 -0
- package/esm2022/lib/services/selection-history.service.mjs +92 -0
- package/esm2022/lib/services/selection.service.mjs +87 -0
- package/esm2022/lib/stores/aggregations.store.mjs +59 -0
- package/esm2022/lib/stores/app.store.mjs +270 -0
- package/esm2022/lib/stores/application.store.mjs +87 -0
- package/esm2022/lib/stores/index.mjs +9 -0
- package/esm2022/lib/stores/principal.store.mjs +47 -0
- package/esm2022/lib/stores/query-params.store.mjs +207 -0
- package/esm2022/lib/stores/selection.store.mjs +45 -0
- package/esm2022/lib/stores/theme.store.mjs +116 -0
- package/esm2022/lib/stores/user-settings.store.mjs +391 -0
- package/esm2022/lib/tokens/highlights.mjs +32 -0
- package/esm2022/lib/tokens/index.mjs +2 -0
- package/esm2022/lib/utils/debounced-signal.mjs +38 -0
- package/esm2022/lib/utils/index.mjs +8 -0
- package/esm2022/lib/utils/inline-worker.mjs +40 -0
- package/esm2022/lib/utils/query.mjs +58 -0
- package/esm2022/lib/utils/routes.mjs +28 -0
- package/esm2022/lib/utils/tailwind-utils.mjs +6 -0
- package/esm2022/lib/utils/theme-body-hook.mjs +18 -0
- package/esm2022/lib/utils/theme-registry.mjs +6 -0
- package/esm2022/lib/web-services/aggregations.service.mjs +104 -0
- package/esm2022/lib/web-services/app.service.mjs +48 -0
- package/esm2022/lib/web-services/audit.service.mjs +122 -0
- package/esm2022/lib/web-services/index.mjs +10 -0
- package/esm2022/lib/web-services/json-method-plugin.service.mjs +54 -0
- package/esm2022/lib/web-services/preview.service.mjs +327 -0
- package/esm2022/lib/web-services/principal.service.mjs +46 -0
- package/esm2022/lib/web-services/query.service.mjs +123 -0
- package/esm2022/lib/web-services/text-chunck.service.mjs +46 -0
- package/esm2022/public-api.mjs +5 -0
- package/esm2022/sinequa-atomic-angular.mjs +5 -0
- package/fesm2022/sinequa-atomic-angular.mjs +4420 -0
- package/fesm2022/sinequa-atomic-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/assistant/index.d.ts +1 -0
- package/lib/assistant/signalR.web.service.d.ts +46 -0
- package/lib/components/dropdown-input.d.ts +18 -0
- package/lib/components/dropdown-list.d.ts +8 -0
- package/lib/components/dropdown.d.ts +50 -0
- package/lib/components/index.d.ts +6 -0
- package/lib/components/menu/index.d.ts +2 -0
- package/lib/components/menu/menu-item.d.ts +8 -0
- package/lib/components/menu/menu.d.ts +24 -0
- package/lib/components/metadata/index.d.ts +1 -0
- package/lib/components/metadata/metadata.component.d.ts +24 -0
- package/lib/components/theme/index.d.ts +2 -0
- package/lib/components/theme/theme-selector.component.d.ts +70 -0
- package/lib/components/theme/theme-toggle.component.d.ts +10 -0
- package/lib/directives/index.d.ts +4 -0
- package/lib/directives/infinite-scroll.directive.d.ts +30 -0
- package/lib/directives/select-article-on-click.directive.d.ts +14 -0
- package/lib/directives/show-bookmark.directive.d.ts +60 -0
- package/lib/directives/theme-provider.directive.d.ts +20 -0
- package/lib/guards/auth.guard.d.ts +7 -0
- package/lib/guards/index.d.ts +2 -0
- package/lib/guards/initialization.guard.d.ts +20 -0
- package/lib/interceptors/audit.interceptor.d.ts +13 -0
- package/lib/interceptors/auth.interceptor.d.ts +14 -0
- package/lib/interceptors/body.interceptor.d.ts +11 -0
- package/lib/interceptors/error.interceptor.d.ts +9 -0
- package/lib/interceptors/index.d.ts +5 -0
- package/lib/interceptors/toast.interceptor.d.ts +13 -0
- package/lib/models/aggregation.d.ts +12 -0
- package/lib/models/article-metadata.d.ts +5 -0
- package/lib/models/autocomplete.d.ts +5 -0
- package/lib/models/custom-json.d.ts +69 -0
- package/lib/models/filter-dropdown.d.ts +10 -0
- package/lib/models/index.d.ts +6 -0
- package/lib/models/user-settings.d.ts +38 -0
- package/lib/pipes/highlight-word.pipe.d.ts +22 -0
- package/lib/pipes/index.d.ts +2 -0
- package/lib/pipes/source-icon.pipe.d.ts +51 -0
- package/lib/public-api.d.ts +14 -0
- package/lib/resolvers/index.d.ts +1 -0
- package/lib/resolvers/query-name-resolver.d.ts +9 -0
- package/lib/resources/index.d.ts +1 -0
- package/lib/resources/themes.d.ts +51 -0
- package/lib/services/application.service.d.ts +183 -0
- package/lib/services/autocomplete.service.d.ts +96 -0
- package/lib/services/drawer/backdrop.service.d.ts +9 -0
- package/lib/services/drawer/drawer-stack.service.d.ts +70 -0
- package/lib/services/drawer/drawer.service.d.ts +15 -0
- package/lib/services/index.d.ts +11 -0
- package/lib/services/label.service.d.ts +114 -0
- package/lib/services/navigation.service.d.ts +33 -0
- package/lib/services/saved-searches.service.d.ts +149 -0
- package/lib/services/search.service.d.ts +159 -0
- package/lib/services/selection-history.service.d.ts +50 -0
- package/lib/services/selection.service.d.ts +123 -0
- package/lib/stores/aggregations.store.d.ts +25 -0
- package/lib/stores/app.store.d.ts +110 -0
- package/lib/stores/application.store.d.ts +83 -0
- package/lib/stores/index.d.ts +8 -0
- package/lib/stores/principal.store.d.ts +47 -0
- package/lib/stores/query-params.store.d.ts +128 -0
- package/lib/stores/selection.store.d.ts +52 -0
- package/lib/stores/theme.store.d.ts +66 -0
- package/lib/stores/user-settings.store.d.ts +111 -0
- package/lib/tokens/highlights.d.ts +8 -0
- package/lib/tokens/index.d.ts +1 -0
- package/lib/utils/debounced-signal.d.ts +25 -0
- package/lib/utils/index.d.ts +7 -0
- package/lib/utils/inline-worker.d.ts +11 -0
- package/lib/utils/query.d.ts +26 -0
- package/lib/utils/routes.d.ts +16 -0
- package/lib/utils/tailwind-utils.d.ts +2 -0
- package/lib/utils/theme-body-hook.d.ts +6 -0
- package/lib/utils/theme-registry.d.ts +3 -0
- package/lib/web-services/aggregations.service.d.ts +57 -0
- package/lib/web-services/app.service.d.ts +30 -0
- package/lib/web-services/audit.service.d.ts +72 -0
- package/lib/web-services/index.d.ts +9 -0
- package/lib/web-services/json-method-plugin.service.d.ts +41 -0
- package/lib/web-services/preview.service.d.ts +283 -0
- package/lib/web-services/principal.service.d.ts +28 -0
- package/lib/web-services/query.service.d.ts +29 -0
- package/lib/web-services/text-chunck.service.d.ts +22 -0
- package/package.json +28 -0
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
*, ::before, ::after {
|
|
2
|
+
--tw-border-spacing-x: 0;
|
|
3
|
+
--tw-border-spacing-y: 0;
|
|
4
|
+
--tw-translate-x: 0;
|
|
5
|
+
--tw-translate-y: 0;
|
|
6
|
+
--tw-rotate: 0;
|
|
7
|
+
--tw-skew-x: 0;
|
|
8
|
+
--tw-skew-y: 0;
|
|
9
|
+
--tw-scale-x: 1;
|
|
10
|
+
--tw-scale-y: 1;
|
|
11
|
+
--tw-pan-x: ;
|
|
12
|
+
--tw-pan-y: ;
|
|
13
|
+
--tw-pinch-zoom: ;
|
|
14
|
+
--tw-scroll-snap-strictness: proximity;
|
|
15
|
+
--tw-gradient-from-position: ;
|
|
16
|
+
--tw-gradient-via-position: ;
|
|
17
|
+
--tw-gradient-to-position: ;
|
|
18
|
+
--tw-ordinal: ;
|
|
19
|
+
--tw-slashed-zero: ;
|
|
20
|
+
--tw-numeric-figure: ;
|
|
21
|
+
--tw-numeric-spacing: ;
|
|
22
|
+
--tw-numeric-fraction: ;
|
|
23
|
+
--tw-ring-inset: ;
|
|
24
|
+
--tw-ring-offset-width: 0px;
|
|
25
|
+
--tw-ring-offset-color: #fff;
|
|
26
|
+
--tw-ring-color: rgb(59 130 246 / 0.5);
|
|
27
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
28
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
29
|
+
--tw-shadow: 0 0 #0000;
|
|
30
|
+
--tw-shadow-colored: 0 0 #0000;
|
|
31
|
+
--tw-blur: ;
|
|
32
|
+
--tw-brightness: ;
|
|
33
|
+
--tw-contrast: ;
|
|
34
|
+
--tw-grayscale: ;
|
|
35
|
+
--tw-hue-rotate: ;
|
|
36
|
+
--tw-invert: ;
|
|
37
|
+
--tw-saturate: ;
|
|
38
|
+
--tw-sepia: ;
|
|
39
|
+
--tw-drop-shadow: ;
|
|
40
|
+
--tw-backdrop-blur: ;
|
|
41
|
+
--tw-backdrop-brightness: ;
|
|
42
|
+
--tw-backdrop-contrast: ;
|
|
43
|
+
--tw-backdrop-grayscale: ;
|
|
44
|
+
--tw-backdrop-hue-rotate: ;
|
|
45
|
+
--tw-backdrop-invert: ;
|
|
46
|
+
--tw-backdrop-opacity: ;
|
|
47
|
+
--tw-backdrop-saturate: ;
|
|
48
|
+
--tw-backdrop-sepia: ;
|
|
49
|
+
--tw-contain-size: ;
|
|
50
|
+
--tw-contain-layout: ;
|
|
51
|
+
--tw-contain-paint: ;
|
|
52
|
+
--tw-contain-style:
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
::backdrop {
|
|
56
|
+
--tw-border-spacing-x: 0;
|
|
57
|
+
--tw-border-spacing-y: 0;
|
|
58
|
+
--tw-translate-x: 0;
|
|
59
|
+
--tw-translate-y: 0;
|
|
60
|
+
--tw-rotate: 0;
|
|
61
|
+
--tw-skew-x: 0;
|
|
62
|
+
--tw-skew-y: 0;
|
|
63
|
+
--tw-scale-x: 1;
|
|
64
|
+
--tw-scale-y: 1;
|
|
65
|
+
--tw-pan-x: ;
|
|
66
|
+
--tw-pan-y: ;
|
|
67
|
+
--tw-pinch-zoom: ;
|
|
68
|
+
--tw-scroll-snap-strictness: proximity;
|
|
69
|
+
--tw-gradient-from-position: ;
|
|
70
|
+
--tw-gradient-via-position: ;
|
|
71
|
+
--tw-gradient-to-position: ;
|
|
72
|
+
--tw-ordinal: ;
|
|
73
|
+
--tw-slashed-zero: ;
|
|
74
|
+
--tw-numeric-figure: ;
|
|
75
|
+
--tw-numeric-spacing: ;
|
|
76
|
+
--tw-numeric-fraction: ;
|
|
77
|
+
--tw-ring-inset: ;
|
|
78
|
+
--tw-ring-offset-width: 0px;
|
|
79
|
+
--tw-ring-offset-color: #fff;
|
|
80
|
+
--tw-ring-color: rgb(59 130 246 / 0.5);
|
|
81
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
82
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
83
|
+
--tw-shadow: 0 0 #0000;
|
|
84
|
+
--tw-shadow-colored: 0 0 #0000;
|
|
85
|
+
--tw-blur: ;
|
|
86
|
+
--tw-brightness: ;
|
|
87
|
+
--tw-contrast: ;
|
|
88
|
+
--tw-grayscale: ;
|
|
89
|
+
--tw-hue-rotate: ;
|
|
90
|
+
--tw-invert: ;
|
|
91
|
+
--tw-saturate: ;
|
|
92
|
+
--tw-sepia: ;
|
|
93
|
+
--tw-drop-shadow: ;
|
|
94
|
+
--tw-backdrop-blur: ;
|
|
95
|
+
--tw-backdrop-brightness: ;
|
|
96
|
+
--tw-backdrop-contrast: ;
|
|
97
|
+
--tw-backdrop-grayscale: ;
|
|
98
|
+
--tw-backdrop-hue-rotate: ;
|
|
99
|
+
--tw-backdrop-invert: ;
|
|
100
|
+
--tw-backdrop-opacity: ;
|
|
101
|
+
--tw-backdrop-saturate: ;
|
|
102
|
+
--tw-backdrop-sepia: ;
|
|
103
|
+
--tw-contain-size: ;
|
|
104
|
+
--tw-contain-layout: ;
|
|
105
|
+
--tw-contain-paint: ;
|
|
106
|
+
--tw-contain-style:
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.absolute {
|
|
110
|
+
position: absolute
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.relative {
|
|
114
|
+
position: relative
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.z-10 {
|
|
118
|
+
z-index: 10
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.float-left {
|
|
122
|
+
float: left
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.m-1 {
|
|
126
|
+
margin: 0.25rem
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.my-2 {
|
|
130
|
+
margin-top: 0.5rem;
|
|
131
|
+
margin-bottom: 0.5rem
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.mb-4 {
|
|
135
|
+
margin-bottom: 1rem
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.ms-1 {
|
|
139
|
+
margin-inline-start: 0.25rem
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.mt-\[-1\.5rem\] {
|
|
143
|
+
margin-top: -1.5rem
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.block {
|
|
147
|
+
display: block
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.flex {
|
|
151
|
+
display: flex
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.hidden {
|
|
155
|
+
display: none
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.size-3 {
|
|
159
|
+
width: 0.75rem;
|
|
160
|
+
height: 0.75rem
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.max-h-44 {
|
|
164
|
+
max-height: 11rem
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.w-1\/2 {
|
|
168
|
+
width: 50%
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.w-full {
|
|
172
|
+
width: 100%
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.w-max {
|
|
176
|
+
width: -moz-max-content;
|
|
177
|
+
width: max-content
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.min-w-fit {
|
|
181
|
+
min-width: -moz-fit-content;
|
|
182
|
+
min-width: fit-content
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.flex-grow {
|
|
186
|
+
flex-grow: 1
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.grow {
|
|
190
|
+
flex-grow: 1
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.cursor-default {
|
|
194
|
+
cursor: default
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.cursor-pointer {
|
|
198
|
+
cursor: pointer
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.select-none {
|
|
202
|
+
-webkit-user-select: none;
|
|
203
|
+
-moz-user-select: none;
|
|
204
|
+
user-select: none
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.flex-col {
|
|
208
|
+
flex-direction: column
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.place-content-center {
|
|
212
|
+
place-content: center
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.items-center {
|
|
216
|
+
align-items: center
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.items-baseline {
|
|
220
|
+
align-items: baseline
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.justify-start {
|
|
224
|
+
justify-content: flex-start
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.gap-1 {
|
|
228
|
+
gap: 0.25rem
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.gap-2 {
|
|
232
|
+
gap: 0.5rem
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.divide-y > :not([hidden]) ~ :not([hidden]) {
|
|
236
|
+
--tw-divide-y-reverse: 0;
|
|
237
|
+
border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
|
|
238
|
+
border-bottom-width: calc(1px * var(--tw-divide-y-reverse))
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.overflow-auto {
|
|
242
|
+
overflow: auto
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.text-ellipsis {
|
|
246
|
+
text-overflow: ellipsis
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.rounded {
|
|
250
|
+
border-radius: 0.25rem
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.rounded-full {
|
|
254
|
+
border-radius: 9999px
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.rounded-md {
|
|
258
|
+
border-radius: 0.375rem
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.border {
|
|
262
|
+
border-width: 1px
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
.border-gray-300 {
|
|
266
|
+
--tw-border-opacity: 1;
|
|
267
|
+
border-color: rgb(209 213 219 / var(--tw-border-opacity))
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.border-neutral-200 {
|
|
271
|
+
--tw-border-opacity: 1;
|
|
272
|
+
border-color: rgb(229 229 229 / var(--tw-border-opacity))
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.bg-white {
|
|
276
|
+
--tw-bg-opacity: 1;
|
|
277
|
+
background-color: rgb(255 255 255 / var(--tw-bg-opacity))
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.p-2 {
|
|
281
|
+
padding: 0.5rem
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
.px-4 {
|
|
285
|
+
padding-left: 1rem;
|
|
286
|
+
padding-right: 1rem
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.py-2 {
|
|
290
|
+
padding-top: 0.5rem;
|
|
291
|
+
padding-bottom: 0.5rem
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.text-sm {
|
|
295
|
+
font-size: 0.875rem;
|
|
296
|
+
line-height: 1.25rem
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.font-semibold {
|
|
300
|
+
font-weight: 600
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.text-white {
|
|
304
|
+
--tw-text-opacity: 1;
|
|
305
|
+
color: rgb(255 255 255 / var(--tw-text-opacity))
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.opacity-50 {
|
|
309
|
+
opacity: 0.5
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.shadow {
|
|
313
|
+
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
314
|
+
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
|
|
315
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.filter {
|
|
319
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.hover\:bg-transparent:hover {
|
|
323
|
+
background-color: transparent
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.focus\:outline-none:focus {
|
|
327
|
+
outline: 2px solid transparent;
|
|
328
|
+
outline-offset: 2px
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.group:hover .group-hover\:bg-white {
|
|
332
|
+
--tw-bg-opacity: 1;
|
|
333
|
+
background-color: rgb(255 255 255 / var(--tw-bg-opacity))
|
|
334
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './signalR.web.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG9taWMtYW5ndWxhci9zcmMvbGliL2Fzc2lzdGFudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaWduYWxSLndlYi5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Injectable, InjectionToken } from "@angular/core";
|
|
2
|
+
import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
|
|
3
|
+
import { globalConfig } from "@sinequa/atomic";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/** A token that is used to inject the transports allowed to use by hub connection.
|
|
6
|
+
*
|
|
7
|
+
* Expects a {@link HttpTransportType} value.
|
|
8
|
+
*/
|
|
9
|
+
export const SIGNAL_R_TRANSPORTS = new InjectionToken('SIGNAL_R_TRANSPORTS');
|
|
10
|
+
/** A token that is used to inject the log level for the hub connection.
|
|
11
|
+
*
|
|
12
|
+
* Expects a {@link LogLevel} value.
|
|
13
|
+
*/
|
|
14
|
+
export const SIGNAL_R_LOG_LEVEL = new InjectionToken('SIGNAL_R_LOG_LEVEL');
|
|
15
|
+
/**
|
|
16
|
+
* A service to connect the Sinequa server to the client via SignalR
|
|
17
|
+
*/
|
|
18
|
+
export class SignalRWebService {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.endpoints = `${globalConfig.backendUrl}/endpoints/v1`;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Builds a SignalR connection to the given endpoint
|
|
24
|
+
* @param endpointName Name of the endpoint to connect to
|
|
25
|
+
* @param options Options for the connection. It must overrides the default options
|
|
26
|
+
* @param logLevel The log level for the connection
|
|
27
|
+
* @param automaticReconnect Whether the connection should automatically attempt to reconnect
|
|
28
|
+
* @returns A SignalR connection
|
|
29
|
+
*/
|
|
30
|
+
buildConnection(endpointName, options, logLevel = LogLevel.Information, automaticReconnect = false) {
|
|
31
|
+
const url = `${this.endpoints}/${endpointName}`;
|
|
32
|
+
const connectionBuilder = new HubConnectionBuilder()
|
|
33
|
+
.withUrl(url, options)
|
|
34
|
+
.configureLogging(logLevel);
|
|
35
|
+
if (automaticReconnect) {
|
|
36
|
+
connectionBuilder.withAutomaticReconnect();
|
|
37
|
+
}
|
|
38
|
+
return connectionBuilder.build();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Starts a SignalR connection.
|
|
42
|
+
* @param connection A SignalR connection
|
|
43
|
+
*/
|
|
44
|
+
async startConnection(connection) {
|
|
45
|
+
if (!connection) {
|
|
46
|
+
throw new Error("Please provide a valid connection to start");
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
await connection.start();
|
|
50
|
+
console.log(`The SignalR connection has been successfully established! \n url: ${connection.baseUrl} \n connectionId: ${connection.connectionId}`);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Stops a SignalR connection.
|
|
58
|
+
* @param connection A SignalR connection
|
|
59
|
+
*/
|
|
60
|
+
async stopConnection(connection) {
|
|
61
|
+
if (!connection) {
|
|
62
|
+
throw new Error("Please provide a valid connection to stop");
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
await connection.stop();
|
|
66
|
+
console.log(`The SignalR connection has been successfully stopped! \n url: ${connection.baseUrl} \n connectionId: ${connection.connectionId}`);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SignalRWebService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
73
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SignalRWebService, providedIn: "root" }); }
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SignalRWebService, decorators: [{
|
|
76
|
+
type: Injectable,
|
|
77
|
+
args: [{
|
|
78
|
+
providedIn: "root"
|
|
79
|
+
}]
|
|
80
|
+
}] });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsUi53ZWIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F0b21pYy1hbmd1bGFyL3NyYy9saWIvYXNzaXN0YW50L3NpZ25hbFIud2ViLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBZ0UsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUy9DOzs7RUFHRTtBQUNGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFvQixxQkFBcUIsQ0FBQyxDQUFDO0FBRWhHOzs7RUFHRTtBQUNGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFXLG9CQUFvQixDQUFDLENBQUM7QUFFckY7O0dBRUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSXFCLGNBQVMsR0FBRyxHQUFHLFlBQVksQ0FBQyxVQUFVLGVBQWUsQ0FBQztLQXdEMUU7SUFyREM7Ozs7Ozs7T0FPRztJQUNILGVBQWUsQ0FBQyxZQUFvQixFQUFFLE9BQTBCLEVBQUUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLEdBQUcsS0FBSztRQUMzSCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLG9CQUFvQixFQUFFO2FBQ2pELE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO2FBQ3JCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzdDLENBQUM7UUFFRCxPQUFPLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQXFDO1FBQ3pELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUVBQXFFLFVBQVUsQ0FBQyxPQUFPLHFCQUFxQixVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNySixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLFVBQXFDO1FBQ3hELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUVBQWlFLFVBQVUsQ0FBQyxPQUFPLHFCQUFxQixVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNqSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7OEdBeERVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBIdWJDb25uZWN0aW9uQnVpbGRlciwgTG9nTGV2ZWwsIEh1YkNvbm5lY3Rpb24sIE1lc3NhZ2VIZWFkZXJzLCBIdHRwVHJhbnNwb3J0VHlwZSwgSVRyYW5zcG9ydCB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XG5pbXBvcnQgeyBnbG9iYWxDb25maWcgfSBmcm9tIFwiQHNpbmVxdWEvYXRvbWljXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGlvbk9wdGlvbnMge1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuOyAvLyBpZiB0cnVlLCB0aGUgYnJvd3NlciBhdXRvbWF0aWNhbGx5IGluY2x1ZGVzIHRoZSBhdXRoZW50aWNhdGlvbiBjb29raWUgaW4gdGhlIHJlcXVlc3QgaGVhZGVycyB3aGVuIGVzdGFibGlzaGluZyB0aGUgU2lnbmFsUiBjb25uZWN0aW9uXG4gIGhlYWRlcnM/OiBNZXNzYWdlSGVhZGVycztcbiAgdHJhbnNwb3J0PzogSHR0cFRyYW5zcG9ydFR5cGUgfCBJVHJhbnNwb3J0OyAvLyBJZiB0cmFuc3BvcnRzIGFyZSBwcm92aWRlZCwgdXNlIHRoZW07IG90aGVyd2lzZSwgbGV0IFNpZ25hbFIgbmVnb3RpYXRlXG4gIGFjY2Vzc1Rva2VuRmFjdG9yeT86ICgpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPjtcbn1cblxuLyoqIEEgdG9rZW4gdGhhdCBpcyB1c2VkIHRvIGluamVjdCB0aGUgdHJhbnNwb3J0cyBhbGxvd2VkIHRvIHVzZSBieSBodWIgY29ubmVjdGlvbi5cbiAqXG4gKiBFeHBlY3RzIGEge0BsaW5rIEh0dHBUcmFuc3BvcnRUeXBlfSB2YWx1ZS5cbiovXG5leHBvcnQgY29uc3QgU0lHTkFMX1JfVFJBTlNQT1JUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxIdHRwVHJhbnNwb3J0VHlwZT4oJ1NJR05BTF9SX1RSQU5TUE9SVFMnKTtcblxuLyoqIEEgdG9rZW4gdGhhdCBpcyB1c2VkIHRvIGluamVjdCB0aGUgbG9nIGxldmVsIGZvciB0aGUgaHViIGNvbm5lY3Rpb24uXG4gKlxuICogRXhwZWN0cyBhIHtAbGluayBMb2dMZXZlbH0gdmFsdWUuXG4qL1xuZXhwb3J0IGNvbnN0IFNJR05BTF9SX0xPR19MRVZFTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2dMZXZlbD4oJ1NJR05BTF9SX0xPR19MRVZFTCcpO1xuXG4vKipcbiAqIEEgc2VydmljZSB0byBjb25uZWN0IHRoZSBTaW5lcXVhIHNlcnZlciB0byB0aGUgY2xpZW50IHZpYSBTaWduYWxSXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgU2lnbmFsUldlYlNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW5kcG9pbnRzID0gYCR7Z2xvYmFsQ29uZmlnLmJhY2tlbmRVcmx9L2VuZHBvaW50cy92MWA7XG5cblxuICAvKipcbiAgICogQnVpbGRzIGEgU2lnbmFsUiBjb25uZWN0aW9uIHRvIHRoZSBnaXZlbiBlbmRwb2ludFxuICAgKiBAcGFyYW0gZW5kcG9pbnROYW1lIE5hbWUgb2YgdGhlIGVuZHBvaW50IHRvIGNvbm5lY3QgdG9cbiAgICogQHBhcmFtIG9wdGlvbnMgIE9wdGlvbnMgZm9yIHRoZSBjb25uZWN0aW9uLiBJdCBtdXN0IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBvcHRpb25zXG4gICAqIEBwYXJhbSBsb2dMZXZlbCAgVGhlIGxvZyBsZXZlbCBmb3IgdGhlIGNvbm5lY3Rpb25cbiAgICogQHBhcmFtIGF1dG9tYXRpY1JlY29ubmVjdCAgV2hldGhlciB0aGUgY29ubmVjdGlvbiBzaG91bGQgYXV0b21hdGljYWxseSBhdHRlbXB0IHRvIHJlY29ubmVjdFxuICAgKiBAcmV0dXJucyAgQSBTaWduYWxSIGNvbm5lY3Rpb25cbiAgICovXG4gIGJ1aWxkQ29ubmVjdGlvbihlbmRwb2ludE5hbWU6IHN0cmluZywgb3B0aW9uczogQ29ubmVjdGlvbk9wdGlvbnMsIGxvZ0xldmVsID0gTG9nTGV2ZWwuSW5mb3JtYXRpb24sIGF1dG9tYXRpY1JlY29ubmVjdCA9IGZhbHNlKTogSHViQ29ubmVjdGlvbiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5lbmRwb2ludHN9LyR7ZW5kcG9pbnROYW1lfWA7XG5cbiAgICBjb25zdCBjb25uZWN0aW9uQnVpbGRlciA9IG5ldyBIdWJDb25uZWN0aW9uQnVpbGRlcigpXG4gICAgICAud2l0aFVybCh1cmwsIG9wdGlvbnMpXG4gICAgICAuY29uZmlndXJlTG9nZ2luZyhsb2dMZXZlbCk7XG5cbiAgICBpZiAoYXV0b21hdGljUmVjb25uZWN0KSB7XG4gICAgICBjb25uZWN0aW9uQnVpbGRlci53aXRoQXV0b21hdGljUmVjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbm5lY3Rpb25CdWlsZGVyLmJ1aWxkKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnRzIGEgU2lnbmFsUiBjb25uZWN0aW9uLlxuICAgKiBAcGFyYW0gY29ubmVjdGlvbiAgQSBTaWduYWxSIGNvbm5lY3Rpb25cbiAgICovXG4gIGFzeW5jIHN0YXJ0Q29ubmVjdGlvbihjb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uIHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFjb25uZWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIGNvbm5lY3Rpb24gdG8gc3RhcnRcIik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjb25uZWN0aW9uLnN0YXJ0KCk7XG4gICAgICBjb25zb2xlLmxvZyhgVGhlIFNpZ25hbFIgY29ubmVjdGlvbiBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgZXN0YWJsaXNoZWQhIFxcbiB1cmw6ICR7Y29ubmVjdGlvbi5iYXNlVXJsfSBcXG4gY29ubmVjdGlvbklkOiAke2Nvbm5lY3Rpb24uY29ubmVjdGlvbklkfWApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RvcHMgYSBTaWduYWxSIGNvbm5lY3Rpb24uXG4gICAqIEBwYXJhbSBjb25uZWN0aW9uIEEgU2lnbmFsUiBjb25uZWN0aW9uXG4gICAqL1xuICBhc3luYyBzdG9wQ29ubmVjdGlvbihjb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uIHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFjb25uZWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIGNvbm5lY3Rpb24gdG8gc3RvcFwiKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvbm5lY3Rpb24uc3RvcCgpO1xuICAgICAgY29uc29sZS5sb2coYFRoZSBTaWduYWxSIGNvbm5lY3Rpb24gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHN0b3BwZWQhIFxcbiB1cmw6ICR7Y29ubmVjdGlvbi5iYXNlVXJsfSBcXG4gY29ubmVjdGlvbklkOiAke2Nvbm5lY3Rpb24uY29ubmVjdGlvbklkfWApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Component, input, output } from '@angular/core';
|
|
2
|
+
import { DropdownComponent } from './dropdown';
|
|
3
|
+
import { DropdownListComponent } from './dropdown-list';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DropdownInputComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.label = input();
|
|
8
|
+
this.placeholder = input('Start typing to search...');
|
|
9
|
+
this.noResultLabel = input('No results to be displayed...');
|
|
10
|
+
this.suggestions = input([]);
|
|
11
|
+
this.selected = input.required();
|
|
12
|
+
this.onFocus = output(); // emits the input value
|
|
13
|
+
this.onKeyUp = output(); // emits the input value
|
|
14
|
+
this.removeItem = output();
|
|
15
|
+
this.addItem = output();
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DropdownInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: DropdownInputComponent, isStandalone: true, selector: "sq-dropdown-input, DropdownInput", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, noResultLabel: { classPropertyName: "noResultLabel", publicName: "noResultLabel", isSignal: true, isRequired: false, transformFunction: null }, suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onFocus: "onFocus", onKeyUp: "onKeyUp", removeItem: "removeItem", addItem: "addItem" }, ngImport: i0, template: `
|
|
19
|
+
@if (label()) {
|
|
20
|
+
<p class="font-semibold">{{ label() }}</p>
|
|
21
|
+
}
|
|
22
|
+
<Dropdown class="w-full block">
|
|
23
|
+
<input
|
|
24
|
+
#searchInput
|
|
25
|
+
class="w-1/2 grow focus:outline-none rounded border border-neutral-200 group-hover:bg-white p-2"
|
|
26
|
+
type="text"
|
|
27
|
+
autocomplete="off"
|
|
28
|
+
spellcheck="false"
|
|
29
|
+
[attr.aria-label]="placeholder()"
|
|
30
|
+
[attr.placeholder]="placeholder()"
|
|
31
|
+
(focus)="onFocus.emit(searchInput.value)"
|
|
32
|
+
(keyup)="onKeyUp.emit(searchInput.value)"
|
|
33
|
+
/>
|
|
34
|
+
|
|
35
|
+
<DropdownList class="mb-4" [items]="selected()" (onClick)="removeItem.emit($event)" />
|
|
36
|
+
|
|
37
|
+
<div dropdown-content class="dropdown-content w-max mt-[-1.5rem]">
|
|
38
|
+
@if (!suggestions().length) {
|
|
39
|
+
{{ noResultLabel() }}
|
|
40
|
+
} @else {
|
|
41
|
+
<ul class="data-list-xs flex-grow overflow-auto max-h-44 my-2">
|
|
42
|
+
@for (suggestion of suggestions(); track $index) {
|
|
43
|
+
<li class="p-2 flex data-list-item items-baseline gap-2 cursor-pointer"
|
|
44
|
+
(click)="addItem.emit(suggestion)">
|
|
45
|
+
{{ suggestion.display || suggestion.value }}
|
|
46
|
+
</li>
|
|
47
|
+
}
|
|
48
|
+
</ul>
|
|
49
|
+
}
|
|
50
|
+
</div>
|
|
51
|
+
</Dropdown>
|
|
52
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DropdownComponent, selector: "sq-dropdown, Dropdown", inputs: ["position", "autoClose", "disabled"] }, { kind: "component", type: DropdownListComponent, selector: "sq-dropdown-list, DropdownList", inputs: ["items"], outputs: ["onClick"] }] }); }
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DropdownInputComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{
|
|
57
|
+
selector: 'sq-dropdown-input, DropdownInput',
|
|
58
|
+
standalone: true,
|
|
59
|
+
imports: [DropdownComponent, DropdownListComponent],
|
|
60
|
+
template: `
|
|
61
|
+
@if (label()) {
|
|
62
|
+
<p class="font-semibold">{{ label() }}</p>
|
|
63
|
+
}
|
|
64
|
+
<Dropdown class="w-full block">
|
|
65
|
+
<input
|
|
66
|
+
#searchInput
|
|
67
|
+
class="w-1/2 grow focus:outline-none rounded border border-neutral-200 group-hover:bg-white p-2"
|
|
68
|
+
type="text"
|
|
69
|
+
autocomplete="off"
|
|
70
|
+
spellcheck="false"
|
|
71
|
+
[attr.aria-label]="placeholder()"
|
|
72
|
+
[attr.placeholder]="placeholder()"
|
|
73
|
+
(focus)="onFocus.emit(searchInput.value)"
|
|
74
|
+
(keyup)="onKeyUp.emit(searchInput.value)"
|
|
75
|
+
/>
|
|
76
|
+
|
|
77
|
+
<DropdownList class="mb-4" [items]="selected()" (onClick)="removeItem.emit($event)" />
|
|
78
|
+
|
|
79
|
+
<div dropdown-content class="dropdown-content w-max mt-[-1.5rem]">
|
|
80
|
+
@if (!suggestions().length) {
|
|
81
|
+
{{ noResultLabel() }}
|
|
82
|
+
} @else {
|
|
83
|
+
<ul class="data-list-xs flex-grow overflow-auto max-h-44 my-2">
|
|
84
|
+
@for (suggestion of suggestions(); track $index) {
|
|
85
|
+
<li class="p-2 flex data-list-item items-baseline gap-2 cursor-pointer"
|
|
86
|
+
(click)="addItem.emit(suggestion)">
|
|
87
|
+
{{ suggestion.display || suggestion.value }}
|
|
88
|
+
</li>
|
|
89
|
+
}
|
|
90
|
+
</ul>
|
|
91
|
+
}
|
|
92
|
+
</div>
|
|
93
|
+
</Dropdown>
|
|
94
|
+
`
|
|
95
|
+
}]
|
|
96
|
+
}] });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG9taWMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24taW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUErQ3hELE1BQU0sT0FBTyxzQkFBc0I7SUF4Q25DO1FBeUNFLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4QixnQkFBVyxHQUFHLEtBQUssQ0FBUywyQkFBMkIsQ0FBQyxDQUFDO1FBQ3pELGtCQUFhLEdBQUcsS0FBSyxDQUFTLCtCQUErQixDQUFDLENBQUM7UUFDL0QsZ0JBQVcsR0FBRyxLQUFLLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFrQixDQUFDO1FBRTVDLFlBQU8sR0FBRyxNQUFNLEVBQWlCLENBQUMsQ0FBQyx3QkFBd0I7UUFDM0QsWUFBTyxHQUFHLE1BQU0sRUFBaUIsQ0FBQyxDQUFDLHdCQUF3QjtRQUMzRCxlQUFVLEdBQUcsTUFBTSxFQUFnQixDQUFDO1FBQ3BDLFlBQU8sR0FBRyxNQUFNLEVBQWdCLENBQUM7S0FDbEM7OEdBWFksc0JBQXNCO2tHQUF0QixzQkFBc0IsdTJCQXBDdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QsNERBbkNTLGlCQUFpQixpSEFBRSxxQkFBcUI7OzJGQXFDdkMsc0JBQXNCO2tCQXhDbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLENBQUM7b0JBQ25ELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duJztcbmltcG9ydCB7IERyb3Bkb3duTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tbGlzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JdGVtIHtcbiAgZGlzcGxheT86IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3EtZHJvcGRvd24taW5wdXQsIERyb3Bkb3duSW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRHJvcGRvd25Db21wb25lbnQsIERyb3Bkb3duTGlzdENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChsYWJlbCgpKSB7XG4gICAgICA8cCBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIj57eyBsYWJlbCgpIH19PC9wPlxuICAgIH1cbiAgICA8RHJvcGRvd24gY2xhc3M9XCJ3LWZ1bGwgYmxvY2tcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjc2VhcmNoSW5wdXRcbiAgICAgICAgY2xhc3M9XCJ3LTEvMiBncm93IGZvY3VzOm91dGxpbmUtbm9uZSByb3VuZGVkIGJvcmRlciBib3JkZXItbmV1dHJhbC0yMDAgZ3JvdXAtaG92ZXI6Ymctd2hpdGUgcC0yXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMuZW1pdChzZWFyY2hJbnB1dC52YWx1ZSlcIlxuICAgICAgICAoa2V5dXApPVwib25LZXlVcC5lbWl0KHNlYXJjaElucHV0LnZhbHVlKVwiXG4gICAgICAgIC8+XG5cbiAgICAgIDxEcm9wZG93bkxpc3QgY2xhc3M9XCJtYi00XCIgW2l0ZW1zXT1cInNlbGVjdGVkKClcIiAob25DbGljayk9XCJyZW1vdmVJdGVtLmVtaXQoJGV2ZW50KVwiIC8+XG4gICAgICAgIFxuICAgICAgPGRpdiBkcm9wZG93bi1jb250ZW50IGNsYXNzPVwiZHJvcGRvd24tY29udGVudCB3LW1heCBtdC1bLTEuNXJlbV1cIj5cbiAgICAgICAgQGlmICghc3VnZ2VzdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgICB7eyBub1Jlc3VsdExhYmVsKCkgfX1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHVsIGNsYXNzPVwiZGF0YS1saXN0LXhzIGZsZXgtZ3JvdyBvdmVyZmxvdy1hdXRvIG1heC1oLTQ0IG15LTJcIj5cbiAgICAgICAgICAgIEBmb3IgKHN1Z2dlc3Rpb24gb2Ygc3VnZ2VzdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cInAtMiBmbGV4IGRhdGEtbGlzdC1pdGVtIGl0ZW1zLWJhc2VsaW5lIGdhcC0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkSXRlbS5lbWl0KHN1Z2dlc3Rpb24pXCI+XG4gICAgICAgICAgICAgICAge3sgc3VnZ2VzdGlvbi5kaXNwbGF5IHx8IHN1Z2dlc3Rpb24udmFsdWUgfX1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L0Ryb3Bkb3duPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duSW5wdXRDb21wb25lbnQge1xuICBsYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCdTdGFydCB0eXBpbmcgdG8gc2VhcmNoLi4uJyk7XG4gIG5vUmVzdWx0TGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdObyByZXN1bHRzIHRvIGJlIGRpc3BsYXllZC4uLicpO1xuICBzdWdnZXN0aW9ucyA9IGlucHV0PERyb3Bkb3duSXRlbVtdPihbXSk7XG4gIHNlbGVjdGVkID0gaW5wdXQucmVxdWlyZWQ8RHJvcGRvd25JdGVtW10+KCk7XG5cbiAgb25Gb2N1cyA9IG91dHB1dDxzdHJpbmcgfCBudWxsPigpOyAvLyBlbWl0cyB0aGUgaW5wdXQgdmFsdWVcbiAgb25LZXlVcCA9IG91dHB1dDxzdHJpbmcgfCBudWxsPigpOyAvLyBlbWl0cyB0aGUgaW5wdXQgdmFsdWVcbiAgcmVtb3ZlSXRlbSA9IG91dHB1dDxEcm9wZG93bkl0ZW0+KCk7XG4gIGFkZEl0ZW0gPSBvdXRwdXQ8RHJvcGRvd25JdGVtPigpO1xufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, input, output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DropdownListComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.items = input.required();
|
|
6
|
+
this.onClick = output();
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DropdownListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: DropdownListComponent, isStandalone: true, selector: "sq-dropdown-list, DropdownList", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
10
|
+
@for (item of items(); track $index) {
|
|
11
|
+
<span class="pill pill-sm pill-ghost bg-primary flex place-content-center items-center font-semibold text-white float-left m-1 select-none"
|
|
12
|
+
role="button">
|
|
13
|
+
{{ item.display || item.value }}
|
|
14
|
+
<i class="ms-1 fa-fw far fa-circle-xmark cursor-pointer" (click)="onClick.emit(item)"></i>
|
|
15
|
+
</span>
|
|
16
|
+
}
|
|
17
|
+
`, isInline: true }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DropdownListComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{
|
|
22
|
+
selector: 'sq-dropdown-list, DropdownList',
|
|
23
|
+
standalone: true,
|
|
24
|
+
template: `
|
|
25
|
+
@for (item of items(); track $index) {
|
|
26
|
+
<span class="pill pill-sm pill-ghost bg-primary flex place-content-center items-center font-semibold text-white float-left m-1 select-none"
|
|
27
|
+
role="button">
|
|
28
|
+
{{ item.display || item.value }}
|
|
29
|
+
<i class="ms-1 fa-fw far fa-circle-xmark cursor-pointer" (click)="onClick.emit(item)"></i>
|
|
30
|
+
</span>
|
|
31
|
+
}
|
|
32
|
+
`
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F0b21pYy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnQnpELE1BQU0sT0FBTyxxQkFBcUI7SUFibEM7UUFjRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0IsQ0FBQztRQUV6QyxZQUFPLEdBQUcsTUFBTSxFQUFnQixDQUFDO0tBQ2xDOzhHQUpZLHFCQUFxQjtrR0FBckIscUJBQXFCLDhQQVZ0Qjs7Ozs7Ozs7R0FRVDs7MkZBRVUscUJBQXFCO2tCQWJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7O0dBUVQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3Bkb3duSXRlbSB9IGZyb20gJy4vZHJvcGRvd24taW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcS1kcm9wZG93bi1saXN0LCBEcm9wZG93bkxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYFxuQGZvciAoaXRlbSBvZiBpdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgPHNwYW4gY2xhc3M9XCJwaWxsIHBpbGwtc20gcGlsbC1naG9zdCBiZy1wcmltYXJ5IGZsZXggcGxhY2UtY29udGVudC1jZW50ZXIgaXRlbXMtY2VudGVyIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBmbG9hdC1sZWZ0IG0tMSBzZWxlY3Qtbm9uZVwiXG4gICAgcm9sZT1cImJ1dHRvblwiPlxuICAgIHt7IGl0ZW0uZGlzcGxheSB8fCBpdGVtLnZhbHVlIH19XG4gICAgPGkgY2xhc3M9XCJtcy0xIGZhLWZ3IGZhciBmYS1jaXJjbGUteG1hcmsgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25DbGljay5lbWl0KGl0ZW0pXCI+PC9pPlxuICA8L3NwYW4+XG59XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25MaXN0Q29tcG9uZW50IHtcbiAgaXRlbXMgPSBpbnB1dC5yZXF1aXJlZDxEcm9wZG93bkl0ZW1bXT4oKTtcblxuICBvbkNsaWNrID0gb3V0cHV0PERyb3Bkb3duSXRlbT4oKTtcbn1cbiJdfQ==
|