@evergis/uilib-gl 1.0.77 → 1.0.78

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.
@@ -1,4 +1,4 @@
1
- import { memo, Children, cloneElement, Component, isValidElement, useCallback, useRef, useState, useEffect, useMemo, useLayoutEffect, Fragment } from 'react';
1
+ import { memo, Children, cloneElement, Component, isValidElement, useRef, useEffect, useState, useMemo, useCallback, useLayoutEffect, Fragment } from 'react';
2
2
  import styled, { ThemeProvider as ThemeProvider$1, css, useTheme as useTheme$1, keyframes, createGlobalStyle } from 'styled-components';
3
3
  import merge from 'deepmerge';
4
4
  import { rgb, hsl, hsla, opacify, ellipsis, rem, normalize } from 'polished';
@@ -11,13 +11,13 @@ import de from 'date-fns/locale/de';
11
11
  import Locale from 'date-fns/locale/ru';
12
12
  import AutosuggestHighlightMatch from 'autosuggest-highlight/match';
13
13
  import AutosuggestHighlightParse from 'autosuggest-highlight/parse';
14
- import { IMaskMixin } from 'react-imask';
15
14
  import { debounce as debounce$1, throttle, isEqual, isNil, unescape, defaults, keyBy } from 'lodash-es';
16
15
  import { CSSTransition as CSSTransition$1, TransitionGroup } from 'react-transition-group';
17
16
  import Transition from 'react-transition-group/Transition';
18
17
  import { background, border, color, flexbox, fontSize, fontWeight, fontStyle, space, layout, textAlign, position, lineHeight, padding } from 'styled-system';
19
18
  import Bowser from 'bowser';
20
19
  import { Color } from '@evergis/color';
20
+ import { IMaskMixin } from 'react-imask';
21
21
  import Cleave from 'cleave.js';
22
22
  import Cleave$1 from 'cleave.js/react';
23
23
  import Autosuggest from 'react-autosuggest';
@@ -11152,638 +11152,161 @@ const Help = styled.span`
11152
11152
  }
11153
11153
  `;
11154
11154
 
11155
- const IconBefore = styled.span`
11156
- position: absolute;
11157
- left: 0;
11158
- top: 50%;
11159
- transform: translateY(-50%);
11160
- display: flex;
11161
- align-items: center;
11162
- justify-content: center;
11163
- min-height: 2rem;
11164
- min-width: 2rem;
11165
- height: 2rem;
11166
- width: 2rem;
11167
- `;
11168
- const IconAfter = styled.span`
11169
- position: absolute;
11170
- right: ${_ref => {
11171
- let {
11172
- indent
11173
- } = _ref;
11174
- return indent;
11175
- }}rem;
11176
- top: 50%;
11177
- transform: translateY(-50%);
11178
- display: flex;
11179
- align-items: center;
11180
- justify-content: center;
11181
- min-height: 2rem;
11182
- min-width: 2rem;
11183
- height: 2rem;
11184
- width: 2rem;
11185
-
11186
- button {
11187
- width: auto;
11188
- }
11189
- `;
11190
-
11191
- const inputMixin = css`
11192
- display: flex;
11193
- height: ${props => props.height || "auto"};
11194
- padding: 0.34375rem ${_ref => {
11195
- let {
11196
- paddingRight
11197
- } = _ref;
11198
- return `${paddingRight || 0}px`;
11199
- }} 0.34375rem
11200
- ${_ref2 => {
11201
- let {
11202
- extraLeftPaddingWidth
11203
- } = _ref2;
11204
- return extraLeftPaddingWidth ? `${(extraLeftPaddingWidth ?? 0) + 8}px` : "0.5rem";
11205
- }};
11206
- width: 100%;
11207
- background: transparent;
11208
- border: 0.0625rem solid ${_ref3 => {
11155
+ const InputLabel = styled.label`
11156
+ display: inline-block;
11157
+ padding: 0 0 0.25rem 0.5rem;
11158
+ color: ${_ref => {
11209
11159
  let {
11210
- error,
11211
11160
  theme: {
11212
11161
  input
11213
- }
11214
- } = _ref3;
11215
- return error ? input.error : input.borderColor;
11162
+ },
11163
+ error,
11164
+ active
11165
+ } = _ref;
11166
+ return error ? input.error : active ? input.active : input.labelColor;
11216
11167
  }};
11217
- border-radius: ${_ref4 => {
11168
+ cursor: pointer;
11169
+ font: ${_ref2 => {
11218
11170
  let {
11219
11171
  theme: {
11220
- borderRadius
11172
+ fonts
11221
11173
  }
11222
- } = _ref4;
11223
- return borderRadius.medium;
11174
+ } = _ref2;
11175
+ return fonts.description;
11224
11176
  }};
11225
- box-sizing: border-box;
11226
- color: ${_ref5 => {
11177
+
11178
+ &[disabled] {
11179
+ pointer-events: none;
11180
+ color: ${_ref3 => {
11227
11181
  let {
11228
11182
  theme: {
11229
11183
  input
11230
11184
  }
11231
- } = _ref5;
11232
- return input.color;
11185
+ } = _ref3;
11186
+ return input.disabledLabelColor;
11233
11187
  }};
11234
- font: ${_ref6 => {
11188
+ }
11189
+ `;
11190
+
11191
+ const DATE_FORMAT = "dd.MM.yyyy";
11192
+ const TIME_FORMAT = "HH:mm:ss";
11193
+ const SEPARATED_TIME_FORMAT = "HH : mm : ss";
11194
+ const DATE_TIME_FORMAT = /*#__PURE__*/[DATE_FORMAT, TIME_FORMAT].join(" ");
11195
+ const dateFormat = (value, withTime) => withTime ? format(value, DATE_TIME_FORMAT) : format(value, DATE_FORMAT);
11196
+ const rangeValueFormat = _ref => {
11235
11197
  let {
11236
- theme: {
11237
- fonts
11238
- }
11239
- } = _ref6;
11240
- return fonts.standard;
11241
- }};
11198
+ value,
11199
+ endValue,
11200
+ withTime
11201
+ } = _ref;
11202
+ if (!value) return "";
11203
+ const formattedValue = dateFormat(value, withTime);
11204
+ const formattedEndValue = !endValue ? "" : dateFormat(endValue, withTime);
11205
+ return endValue ? `${formattedValue} - ${formattedEndValue}` : formattedValue;
11206
+ };
11207
+ const getLocale = value => {
11208
+ switch (value) {
11209
+ case "en":
11210
+ return en;
11242
11211
 
11243
- ${IconBefore} + & {
11244
- padding-left: 2rem;
11212
+ case "it":
11213
+ return it;
11214
+
11215
+ case "de":
11216
+ return de;
11217
+
11218
+ default:
11219
+ return Locale;
11245
11220
  }
11221
+ };
11246
11222
 
11247
- &:focus {
11248
- outline: none;
11249
- border-color: ${_ref7 => {
11223
+ const isTouchDevice = () => "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
11224
+
11225
+ const preventDefault = e => {
11226
+ e.preventDefault();
11227
+ };
11228
+
11229
+ function randomInteger(min, max) {
11230
+ const random = min - 0.5 + Math.random() * (max - min + 1);
11231
+ return Math.round(random);
11232
+ }
11233
+ const toNumber = value => Number((value || 0).toString().replace(/\s/g, ""));
11234
+ const clamp = (value, max, min) => Math.max(Math.min(value, toNumber(max)), toNumber(min));
11235
+
11236
+ const getRealChildren = array => {
11237
+ return Children.toArray(array).filter(child => !!child);
11238
+ };
11239
+
11240
+ const Link = styled.a`
11241
+ text-decoration: none;
11242
+ font: ${_ref => {
11250
11243
  let {
11251
- error,
11252
11244
  theme: {
11253
- input
11254
- }
11255
- } = _ref7;
11256
- return error ? input.error : input.active;
11245
+ fonts
11246
+ },
11247
+ description
11248
+ } = _ref;
11249
+ return description ? fonts.description : fonts.standard;
11257
11250
  }};
11258
- }
11259
-
11260
- &::placeholder {
11261
- color: ${_ref8 => {
11251
+ color: ${_ref2 => {
11262
11252
  let {
11263
11253
  theme: {
11264
- input
11265
- }
11266
- } = _ref8;
11267
- return input.placeholderColor;
11254
+ link
11255
+ },
11256
+ ...props
11257
+ } = _ref2;
11258
+ return link.color[getLinkColors(props)];
11268
11259
  }};
11269
- }
11260
+ cursor: pointer;
11270
11261
 
11271
- &[disabled] {
11272
- pointer-events: none;
11273
- color: ${_ref9 => {
11262
+ &:hover {
11263
+ color: ${_ref3 => {
11274
11264
  let {
11275
11265
  theme: {
11276
- input
11277
- }
11278
- } = _ref9;
11279
- return input.disabledColor;
11266
+ link
11267
+ },
11268
+ ...props
11269
+ } = _ref3;
11270
+ return link.hoverColor[getLinkColors(props)];
11280
11271
  }};
11281
- border: 0.0635rem dashed ${_ref10 => {
11272
+ }
11273
+
11274
+ &:active {
11275
+ color: ${_ref4 => {
11282
11276
  let {
11283
11277
  theme: {
11284
- input
11285
- }
11286
- } = _ref10;
11287
- return input.disabledBorderColor;
11278
+ link
11279
+ },
11280
+ ...props
11281
+ } = _ref4;
11282
+ return link.activeColor[getLinkColors(props)];
11288
11283
  }};
11284
+ }
11289
11285
 
11290
- &::placeholder {
11291
- color: ${_ref11 => {
11286
+ &:visited {
11287
+ color: ${_ref5 => {
11292
11288
  let {
11293
11289
  theme: {
11294
- input
11290
+ link
11295
11291
  }
11296
- } = _ref11;
11297
- return input.disabledPlaceholderColor;
11292
+ } = _ref5;
11293
+ return link.visitedColor;
11298
11294
  }};
11299
- }
11300
11295
  }
11301
11296
  `;
11302
- const StyledInput = /*#__PURE__*/styled.input.attrs(props => ({
11303
- width: "14rem",
11304
- height: "auto",
11305
- paddingRight: 0.5,
11306
- paddingLeft: false,
11307
- ...props
11308
- }))`
11309
- ${inputMixin};
11310
- `;
11311
- const ChipInputHolder = styled.div`
11312
- ${inputMixin};
11313
- height: 2rem;
11314
- align-items: center;
11315
- padding: 0 ${_ref12 => {
11297
+ const ValueLink = styled.a`
11298
+ color: ${_ref6 => {
11316
11299
  let {
11317
- paddingRight
11318
- } = _ref12;
11319
- return `${paddingRight || 0}rem`;
11320
- }} 0 0.5rem;
11300
+ theme: {
11301
+ link
11302
+ }
11303
+ } = _ref6;
11304
+ return link.color.primary;
11305
+ }};
11306
+ text-decoration: none;
11321
11307
  `;
11322
- const ValuePrefix = styled.div`
11323
- position: absolute;
11324
- left: 0.5rem;
11325
- top: 50%;
11326
- transform: translateY(-50%);
11327
- font-size: 1rem;
11328
- opacity: 0.28;
11329
11308
 
11330
- ${IconBefore} + & {
11331
- padding-left: 1.5rem;
11332
- }
11333
- `;
11334
-
11335
- const InputContainer = styled.span`
11336
- display: flex;
11337
- align-items: center;
11338
- position: relative;
11339
- width: ${_ref => {
11340
- let {
11341
- width
11342
- } = _ref;
11343
- return width;
11344
- }};
11345
-
11346
- ${_ref2 => {
11347
- let {
11348
- active,
11349
- theme: {
11350
- input
11351
- }
11352
- } = _ref2;
11353
- return active && `
11354
- &:hover {
11355
- input {
11356
- outline: none;
11357
- border-color: ${input.active};
11358
- }
11359
- }
11360
-
11361
- input {
11362
- outline: none;
11363
- border-color: ${input.active};
11364
- }
11365
- `;
11366
- }}
11367
-
11368
- &:hover {
11369
- input {
11370
- border-color: ${_ref3 => {
11371
- let {
11372
- active,
11373
- theme: {
11374
- input
11375
- },
11376
- error
11377
- } = _ref3;
11378
- return !active && (error ? input.error : input.hoverBorderColor);
11379
- }};
11380
-
11381
- &:focus {
11382
- outline: none;
11383
- border-color: ${_ref4 => {
11384
- let {
11385
- theme: {
11386
- input
11387
- },
11388
- error
11389
- } = _ref4;
11390
- return error ? input.error : input.active;
11391
- }};
11392
- }
11393
- }
11394
- }
11395
-
11396
- &[disabled] {
11397
- pointer-events: none;
11398
- }
11399
-
11400
- ${ChipInputHolder} {
11401
- border-color: ${_ref5 => {
11402
- let {
11403
- active,
11404
- theme: {
11405
- input
11406
- }
11407
- } = _ref5;
11408
- return active && input.active;
11409
- }};
11410
- }
11411
- `;
11412
-
11413
- const IconButtonInnerChild = styled.span``;
11414
- const buttonActiveMixin = css`
11415
- background: ${_ref => {
11416
- let {
11417
- theme: {
11418
- palette
11419
- }
11420
- } = _ref;
11421
- return palette.element;
11422
- }};
11423
-
11424
- span[kind]:after,
11425
- :hover ${IconButtonInnerChild}, ${IconButtonInnerChild} {
11426
- color: ${_ref2 => {
11427
- let {
11428
- theme: {
11429
- palette
11430
- }
11431
- } = _ref2;
11432
- return palette.background;
11433
- }};
11434
- }
11435
- `;
11436
- const buttonHoverMixin = css`
11437
- &:hover {
11438
- background: ${_ref3 => {
11439
- let {
11440
- hasBg,
11441
- theme: {
11442
- palette
11443
- }
11444
- } = _ref3;
11445
- return hasBg ? palette.elementDark : "none";
11446
- }};
11447
- transition: background ${transition.hover};
11448
-
11449
- > ${Icon}, ${IconButtonInnerChild} {
11450
- transition: all ${transition.hover};
11451
- }
11452
- }
11453
- `;
11454
- const buttonMixin = css`
11455
- user-select: none;
11456
- position: relative;
11457
- display: flex;
11458
- align-items: center;
11459
- justify-content: center;
11460
- flex-direction: ${_ref4 => {
11461
- let {
11462
- iconRight
11463
- } = _ref4;
11464
- return iconRight ? "row-reverse" : "row";
11465
- }};
11466
- padding: 0 1rem;
11467
- height: 2.25rem;
11468
- width: ${props => props.notFixedWidth ? "auto" : "3rem"};
11469
- background: none;
11470
- border: none;
11471
- border-radius: 1.25rem;
11472
- outline: none;
11473
- cursor: pointer;
11474
- backface-visibility: hidden;
11475
- transform: translateZ(0) scale(1, 1);
11476
-
11477
- ${_ref5 => {
11478
- let {
11479
- active
11480
- } = _ref5;
11481
- return active ? buttonActiveMixin : buttonHoverMixin;
11482
- }};
11483
-
11484
- &:active > ${Icon} {
11485
- transform: scale(1.125, 1.125);
11486
- transition: all ${transition.press};
11487
- }
11488
-
11489
- ${Icon}, ${IconButtonInnerChild} {
11490
- display: block;
11491
- position: relative;
11492
- transition: color ${transition.release};
11493
-
11494
- &:after {
11495
- display: block;
11496
- position: absolute;
11497
- left: 0;
11498
- z-index: 2;
11499
- }
11500
- }
11501
-
11502
- &[disabled],
11503
- ${InputContainer}[disabled] & {
11504
- ${Icon}, ${IconButtonInnerChild} {
11505
- color: ${_ref6 => {
11506
- let {
11507
- theme: {
11508
- iconButton
11509
- }
11510
- } = _ref6;
11511
- return iconButton.disabledColor;
11512
- }};
11513
- }
11514
- pointer-events: none;
11515
- }
11516
- `;
11517
- const IconButtonButton = /*#__PURE__*/styled.button.attrs(props => ({
11518
- tabIndex: -1,
11519
- ...props
11520
- }))`
11521
- flex-shrink: 0;
11522
-
11523
- &:hover > ${Icon}, &:hover > ${IconButtonInnerChild} {
11524
- color: ${_ref7 => {
11525
- let {
11526
- theme: {
11527
- iconButton
11528
- },
11529
- ...props
11530
- } = _ref7;
11531
- return iconButton.hoverColor[getIconColors(props)];
11532
- }};
11533
- }
11534
-
11535
- &:active > ${Icon}, &:active > ${IconButtonInnerChild} {
11536
- color: ${_ref8 => {
11537
- let {
11538
- theme: {
11539
- iconButton
11540
- },
11541
- ...props
11542
- } = _ref8;
11543
- return iconButton.activeColor[getIconColors(props)];
11544
- }};
11545
- }
11546
-
11547
- ${Icon}, ${IconButtonInnerChild} {
11548
- color: ${_ref9 => {
11549
- let {
11550
- theme: {
11551
- iconButton
11552
- },
11553
- ...props
11554
- } = _ref9;
11555
- return iconButton.color[getIconColors(props)];
11556
- }};
11557
- }
11558
-
11559
- ${IconButtonInnerChild} {
11560
- margin: ${_ref10 => {
11561
- let {
11562
- iconRight
11563
- } = _ref10;
11564
- return iconRight ? "0 0.5rem 0 0" : "0 0 0 0.5rem";
11565
- }};
11566
- }
11567
-
11568
- ${buttonMixin};
11569
- `;
11570
-
11571
- const IconButtonComponent = _ref => {
11572
- let {
11573
- kind,
11574
- children,
11575
- innerRef,
11576
- icon,
11577
- tabIndex = -1,
11578
- ...props
11579
- } = _ref;
11580
- return React.createElement(IconButtonButton, Object.assign({
11581
- ref: innerRef,
11582
- notFixedWidth: !!children,
11583
- tabIndex: tabIndex
11584
- }, props), icon || React.createElement(Icon, {
11585
- kind: kind
11586
- }), children && React.createElement(IconButtonInnerChild, null, children));
11587
- };
11588
-
11589
- const IconButton = /*#__PURE__*/memo(IconButtonComponent);
11590
-
11591
- const ChipContainer = styled.span`
11592
- display: inline-flex;
11593
- align-items: center;
11594
- padding: 0.3125rem 0.6875rem;
11595
- background-color: ${_ref => {
11596
- let {
11597
- theme: {
11598
- chip
11599
- },
11600
- ...props
11601
- } = _ref;
11602
- return chip.backgroundColor[getVariant(props)];
11603
- }};
11604
- border-radius: ${_ref2 => {
11605
- let {
11606
- theme: {
11607
- borderRadius
11608
- }
11609
- } = _ref2;
11610
- return borderRadius.large;
11611
- }};
11612
- `;
11613
- const Text = styled.span`
11614
- font: ${_ref3 => {
11615
- let {
11616
- theme: {
11617
- fonts
11618
- }
11619
- } = _ref3;
11620
- return fonts.description;
11621
- }};
11622
- color: ${_ref4 => {
11623
- let {
11624
- theme: {
11625
- palette
11626
- },
11627
- isStandard,
11628
- disabled
11629
- } = _ref4;
11630
- return disabled ? palette.textDisabled : isStandard ? palette.textPrimary : "#fff";
11631
- }};
11632
- `;
11633
- const iconButtonMixin = css`
11634
- && {
11635
- height: 0.875rem;
11636
- width: 0.875rem;
11637
- margin-left: 0.875rem;
11638
- cursor: pointer;
11639
-
11640
- ${Icon} {
11641
- height: 10px;
11642
- width: 11px;
11643
-
11644
- &:after {
11645
- font-size: 0.6875rem;
11646
- color: ${_ref5 => {
11647
- let {
11648
- theme: {
11649
- palette
11650
- }
11651
- } = _ref5;
11652
- return palette.textSecondary;
11653
- }};
11654
- }
11655
- }
11656
- }
11657
- `;
11658
- const ActionButton = /*#__PURE__*/styled(IconButton)`
11659
- ${iconButtonMixin};
11660
- `;
11661
- const RegularIconButton = /*#__PURE__*/styled(IconButton)`
11662
- ${iconButtonMixin};
11663
- `;
11664
- const TooltipContent = styled.div`
11665
- max-width: 15rem;
11666
- `;
11667
-
11668
- const DATE_FORMAT = "dd.MM.yyyy";
11669
- const TIME_FORMAT = "HH:mm:ss";
11670
- const SEPARATED_TIME_FORMAT = "HH : mm : ss";
11671
- const DATE_TIME_FORMAT = /*#__PURE__*/[DATE_FORMAT, TIME_FORMAT].join(" ");
11672
- const dateFormat = (value, withTime) => withTime ? format(value, DATE_TIME_FORMAT) : format(value, DATE_FORMAT);
11673
- const rangeValueFormat = _ref => {
11674
- let {
11675
- value,
11676
- endValue,
11677
- withTime
11678
- } = _ref;
11679
- if (!value) return "";
11680
- const formattedValue = dateFormat(value, withTime);
11681
- const formattedEndValue = !endValue ? "" : dateFormat(endValue, withTime);
11682
- return endValue ? `${formattedValue} - ${formattedEndValue}` : formattedValue;
11683
- };
11684
- const getLocale = value => {
11685
- switch (value) {
11686
- case "en":
11687
- return en;
11688
-
11689
- case "it":
11690
- return it;
11691
-
11692
- case "de":
11693
- return de;
11694
-
11695
- default:
11696
- return Locale;
11697
- }
11698
- };
11699
-
11700
- const isTouchDevice = () => "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
11701
-
11702
- const preventDefault = e => {
11703
- e.preventDefault();
11704
- };
11705
-
11706
- function randomInteger(min, max) {
11707
- const random = min - 0.5 + Math.random() * (max - min + 1);
11708
- return Math.round(random);
11709
- }
11710
- const toNumber = value => Number((value || 0).toString().replace(/\s/g, ""));
11711
- const clamp = (value, max, min) => Math.max(Math.min(value, toNumber(max)), toNumber(min));
11712
-
11713
- const getRealChildren = array => {
11714
- return Children.toArray(array).filter(child => !!child);
11715
- };
11716
-
11717
- const Link = styled.a`
11718
- text-decoration: none;
11719
- font: ${_ref => {
11720
- let {
11721
- theme: {
11722
- fonts
11723
- },
11724
- description
11725
- } = _ref;
11726
- return description ? fonts.description : fonts.standard;
11727
- }};
11728
- color: ${_ref2 => {
11729
- let {
11730
- theme: {
11731
- link
11732
- },
11733
- ...props
11734
- } = _ref2;
11735
- return link.color[getLinkColors(props)];
11736
- }};
11737
- cursor: pointer;
11738
-
11739
- &:hover {
11740
- color: ${_ref3 => {
11741
- let {
11742
- theme: {
11743
- link
11744
- },
11745
- ...props
11746
- } = _ref3;
11747
- return link.hoverColor[getLinkColors(props)];
11748
- }};
11749
- }
11750
-
11751
- &:active {
11752
- color: ${_ref4 => {
11753
- let {
11754
- theme: {
11755
- link
11756
- },
11757
- ...props
11758
- } = _ref4;
11759
- return link.activeColor[getLinkColors(props)];
11760
- }};
11761
- }
11762
-
11763
- &:visited {
11764
- color: ${_ref5 => {
11765
- let {
11766
- theme: {
11767
- link
11768
- }
11769
- } = _ref5;
11770
- return link.visitedColor;
11771
- }};
11772
- }
11773
- `;
11774
- const ValueLink = styled.a`
11775
- color: ${_ref6 => {
11776
- let {
11777
- theme: {
11778
- link
11779
- }
11780
- } = _ref6;
11781
- return link.color.primary;
11782
- }};
11783
- text-decoration: none;
11784
- `;
11785
-
11786
- const isReactDomElement = Element => typeof Element === "object" && Element !== null && typeof Element.type === "string"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
11309
+ const isReactDomElement = Element => typeof Element === "object" && Element !== null && typeof Element.type === "string"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
11787
11310
 
11788
11311
  const isReactElement = Element => typeof Element === "object" && Element !== null && !!Element.$$typeof; // eslint-disable-next-line @typescript-eslint/no-explicit-any
11789
11312
 
@@ -12245,249 +11768,31 @@ const tippyMixin = css`
12245
11768
  &[data-state="visible"] {
12246
11769
  transform: ${`translateX(-${cornerSize}) scale(1)`};
12247
11770
  }
12248
-
12249
- &[data-state="hidden"] {
12250
- transform: translateX(0) scale(0);
12251
- }
12252
-
12253
- .tippy-arrow {
12254
- right: 0;
12255
- transform: translate(100%, 50%) !important;
12256
- border-top: ${cornerSize} solid transparent;
12257
- border-bottom: ${cornerSize} solid transparent;
12258
- border-left: ${`${cornerSize} solid ${darkBg}`};
12259
- }
12260
-
12261
- &[data-theme="light"] .tippy-arrow {
12262
- border-left: ${`${cornerSize} solid ${lightBg}`};
12263
- }
12264
- }
12265
- `;
12266
-
12267
- const Tooltip = /*#__PURE__*/styled(Tippy).attrs(props => ({
12268
- dark: true,
12269
- ...props
12270
- }))`
12271
- ${tippyMixin}
12272
- `;
12273
-
12274
- const ChipComponent = _ref => {
12275
- let {
12276
- text,
12277
- primary,
12278
- secondary,
12279
- error,
12280
- additionalButton,
12281
- additionalAction,
12282
- onRemove,
12283
- additionalButtonTooltip,
12284
- removeButtonTooltip,
12285
- disabled,
12286
- tooltipDelay = 300,
12287
- onMouseDown,
12288
- children,
12289
- ...props
12290
- } = _ref;
12291
- const remove = useCallback(e => {
12292
- onRemove && onRemove(text, e);
12293
- }, [onRemove, text]);
12294
- const isStandard = !primary && !secondary && !error;
12295
- return React.createElement(ChipContainer, Object.assign({
12296
- primary: primary,
12297
- secondary: secondary,
12298
- error: error
12299
- }, props), children, React.createElement(Text, {
12300
- isStandard: isStandard,
12301
- disabled: disabled
12302
- }, text), React.createElement(ThemeProvider, {
12303
- theme: isStandard ? theme : theme$1
12304
- }, React.createElement(React.Fragment, null, additionalButton && (additionalButtonTooltip ? React.createElement(Tooltip, {
12305
- arrow: true,
12306
- placement: "top",
12307
- content: React.createElement(TooltipContent, null, additionalButtonTooltip),
12308
- delay: tooltipDelay ? [tooltipDelay, tooltipDelay] : undefined
12309
- }, ref => React.createElement(ActionButton, {
12310
- kind: additionalButton,
12311
- onClick: additionalAction,
12312
- innerRef: ref
12313
- })) : React.createElement(RegularIconButton, {
12314
- kind: additionalButton,
12315
- onClick: additionalAction
12316
- })), !!onRemove && (removeButtonTooltip ? React.createElement(Tooltip, {
12317
- arrow: true,
12318
- placement: "top",
12319
- content: React.createElement(TooltipContent, null, removeButtonTooltip),
12320
- delay: tooltipDelay ? [tooltipDelay, tooltipDelay] : undefined
12321
- }, ref => React.createElement(ActionButton, {
12322
- kind: "close",
12323
- innerRef: ref,
12324
- onClick: e => {
12325
- e.stopPropagation();
12326
- remove(e);
12327
- }
12328
- })) : React.createElement(RegularIconButton, {
12329
- kind: "close",
12330
- onMouseDown: e => e.stopPropagation(),
12331
- onClick: e => {
12332
- e.stopPropagation();
12333
- remove(e);
12334
- }
12335
- })))));
12336
- };
12337
-
12338
- const Chip = /*#__PURE__*/memo(ChipComponent);
12339
-
12340
- const WideChip = /*#__PURE__*/styled(_ref => {
12341
- let { ...props
12342
- } = _ref;
12343
- return React.createElement(Chip, Object.assign({}, props));
12344
- })`
12345
- height: 1rem;
12346
- cursor: default;
12347
-
12348
- ${ChipContainer} {
12349
- width: 100%;
12350
- justify-content: space-between;
12351
- }
12352
- `;
12353
-
12354
- const CheckMark = /*#__PURE__*/styled(Icon)`
12355
- position: absolute;
12356
- right: -1.5rem;
12357
- color: ${_ref => {
12358
- let {
12359
- theme: {
12360
- palette
12361
- }
12362
- } = _ref;
12363
- return palette.primary;
12364
- }};
12365
- `;
12366
-
12367
- const InputComponent = _ref => {
12368
- var _valuePrefixRef$curre, _valuePrefixRef$curre2;
12369
-
12370
- let {
12371
- width = "14rem",
12372
- iconAfter,
12373
- iconBefore,
12374
- valuePrefix,
12375
- children,
12376
- disabled,
12377
- success,
12378
- innerRef,
12379
- disableInputOnly,
12380
- asChip,
12381
- onRemove,
12382
- active,
12383
- onMouseDown,
12384
- ...props
12385
- } = _ref;
12386
- const valuePrefixRef = useRef(null);
12387
- const [, setRefVisible] = useState(false);
12388
- const realChildren = getRealChildren(children);
12389
- const childrenCount = realChildren.length;
12390
- const paddingRight = childrenCount * 2 + (iconAfter ? 32 : 0);
12391
- return React.createElement(InputContainer, {
12392
- disabled: disabled,
12393
- error: props.error,
12394
- width: width,
12395
- active: active
12396
- }, iconBefore && React.createElement(IconBefore, {
12397
- onMouseDown: preventDefault
12398
- }, iconBefore), valuePrefix && React.createElement(ValuePrefix, {
12399
- onMouseDown: preventDefault,
12400
- ref: el => {
12401
- valuePrefixRef.current = el;
12402
- setRefVisible(!!el);
12403
- }
12404
- }, valuePrefix), props.value && asChip ? React.createElement(ChipInputHolder, {
12405
- paddingLeft: !!iconBefore,
12406
- paddingRight: paddingRight,
12407
- extraLeftPaddingWidth: ((_valuePrefixRef$curre = valuePrefixRef.current) == null ? void 0 : _valuePrefixRef$curre.getBoundingClientRect().width) ?? undefined,
12408
- ref: innerRef,
12409
- onMouseDown: onMouseDown
12410
- }, React.createElement(WideChip, {
12411
- text: `${props.value}`,
12412
- onRemove: onRemove,
12413
- onMouseDown: e => {
12414
- e.stopPropagation(); // @ts-ignore
12415
-
12416
- onMouseDown && onMouseDown(e);
12417
- },
12418
- primary: true
12419
- })) : React.createElement(StyledInput, Object.assign({
12420
- ref: innerRef,
12421
- width: width,
12422
- disabled: disabled || disableInputOnly,
12423
- paddingLeft: !!iconBefore,
12424
- extraLeftPaddingWidth: ((_valuePrefixRef$curre2 = valuePrefixRef.current) == null ? void 0 : _valuePrefixRef$curre2.getBoundingClientRect().width) ?? undefined,
12425
- paddingRight: paddingRight,
12426
- onMouseDown: onMouseDown
12427
- }, props)), iconAfter ? React.createElement(IconAfter, {
12428
- indent: 0
12429
- }, iconAfter) : React.createElement(React.Fragment, null, realChildren.map((child, index) => React.createElement(IconAfter, {
12430
- onMouseDown: preventDefault,
12431
- indent: 2 * index,
12432
- key: index
12433
- }, child))), success && React.createElement(CheckMark, {
12434
- kind: "success"
12435
- }));
12436
- };
12437
-
12438
- const Input = /*#__PURE__*/withLabel( /*#__PURE__*/memo(InputComponent));
12439
-
12440
- const InputLabel = styled.label`
12441
- display: inline-block;
12442
- padding: 0 0 0.25rem 0.5rem;
12443
- color: ${_ref => {
12444
- let {
12445
- theme: {
12446
- input
12447
- },
12448
- error,
12449
- active
12450
- } = _ref;
12451
- return error ? input.error : active ? input.active : input.labelColor;
12452
- }};
12453
- cursor: pointer;
12454
- font: ${_ref2 => {
12455
- let {
12456
- theme: {
12457
- fonts
11771
+
11772
+ &[data-state="hidden"] {
11773
+ transform: translateX(0) scale(0);
12458
11774
  }
12459
- } = _ref2;
12460
- return fonts.description;
12461
- }};
12462
11775
 
12463
- &[disabled] {
12464
- pointer-events: none;
12465
- color: ${_ref3 => {
12466
- let {
12467
- theme: {
12468
- input
11776
+ .tippy-arrow {
11777
+ right: 0;
11778
+ transform: translate(100%, 50%) !important;
11779
+ border-top: ${cornerSize} solid transparent;
11780
+ border-bottom: ${cornerSize} solid transparent;
11781
+ border-left: ${`${cornerSize} solid ${darkBg}`};
11782
+ }
11783
+
11784
+ &[data-theme="light"] .tippy-arrow {
11785
+ border-left: ${`${cornerSize} solid ${lightBg}`};
12469
11786
  }
12470
- } = _ref3;
12471
- return input.disabledLabelColor;
12472
- }};
12473
11787
  }
12474
11788
  `;
12475
11789
 
12476
- /* eslint-disable @typescript-eslint/no-explicit-any */
12477
- const MaskedComponent = /*#__PURE__*/IMaskMixin(_ref => {
12478
- let {
12479
- innerRef,
12480
- inputRef,
12481
- ...props
12482
- } = _ref;
12483
- const attachRef = useCallback(ref => {
12484
- sendRefSafety(inputRef, ref);
12485
- sendRefSafety(innerRef, ref);
12486
- }, [innerRef, inputRef]);
12487
- return React.createElement(Input, Object.assign({}, props, {
12488
- innerRef: attachRef
12489
- }));
12490
- });
11790
+ const Tooltip = /*#__PURE__*/styled(Tippy).attrs(props => ({
11791
+ dark: true,
11792
+ ...props
11793
+ }))`
11794
+ ${tippyMixin}
11795
+ `;
12491
11796
 
12492
11797
  const WithLabelContainer = styled.div`
12493
11798
  width: ${_ref => {
@@ -12511,6 +11816,7 @@ const Asterisk = styled.span`
12511
11816
  } = _ref2;
12512
11817
  return palette.error;
12513
11818
  }};
11819
+
12514
11820
  :before {
12515
11821
  content: "*";
12516
11822
  }
@@ -13683,179 +12989,615 @@ const Image = /*#__PURE__*/memo(_ref => {
13683
12989
  }, restProps));
13684
12990
  });
13685
12991
 
13686
- const Message = styled.div`
13687
- padding: 1em;
13688
- background-color: ${_ref => {
12992
+ const Message = styled.div`
12993
+ padding: 1em;
12994
+ background-color: ${_ref => {
12995
+ let {
12996
+ theme: {
12997
+ message
12998
+ },
12999
+ ...props
13000
+ } = _ref;
13001
+ return message.backgroundColor[getMessageColors(props)];
13002
+ }};
13003
+ border: 0.0625rem solid ${_ref2 => {
13004
+ let {
13005
+ theme: {
13006
+ message
13007
+ },
13008
+ ...props
13009
+ } = _ref2;
13010
+ return message.borderColor[getMessageColors(props)];
13011
+ }};
13012
+ border-radius: ${_ref3 => {
13013
+ let {
13014
+ theme: {
13015
+ borderRadius
13016
+ }
13017
+ } = _ref3;
13018
+ return borderRadius.medium;
13019
+ }};
13020
+ font: ${_ref4 => {
13021
+ let {
13022
+ theme: {
13023
+ fonts
13024
+ }
13025
+ } = _ref4;
13026
+ return fonts.standard;
13027
+ }};
13028
+ color: ${_ref5 => {
13029
+ let {
13030
+ theme: {
13031
+ message
13032
+ },
13033
+ ...props
13034
+ } = _ref5;
13035
+ return message.color[getMessageColors(props)];
13036
+ }};
13037
+ text-align: ${_ref6 => {
13038
+ let {
13039
+ textRight,
13040
+ textCenter
13041
+ } = _ref6;
13042
+ return textRight ? "right" : textCenter ? "center" : "left";
13043
+ }};
13044
+
13045
+ > * {
13046
+ color: inherit;
13047
+ }
13048
+ `;
13049
+
13050
+ const Paragraph = styled.p`
13051
+ margin: 0 0 0.5rem;
13052
+ font: ${_ref => {
13053
+ let {
13054
+ theme: {
13055
+ fonts
13056
+ }
13057
+ } = _ref;
13058
+ return fonts.standard;
13059
+ }};
13060
+ color: ${_ref2 => {
13061
+ let {
13062
+ theme: {
13063
+ palette
13064
+ }
13065
+ } = _ref2;
13066
+ return palette.textPrimary;
13067
+ }};
13068
+ `;
13069
+
13070
+ const H4 = styled.h4`
13071
+ font: ${_ref => {
13072
+ let {
13073
+ theme: {
13074
+ fonts
13075
+ }
13076
+ } = _ref;
13077
+ return fonts.standard;
13078
+ }};
13079
+ color: ${_ref2 => {
13080
+ let {
13081
+ theme: {
13082
+ palette
13083
+ }
13084
+ } = _ref2;
13085
+ return palette.textPrimary;
13086
+ }};
13087
+ `;
13088
+ const H3 = styled.h3`
13089
+ font: ${_ref3 => {
13090
+ let {
13091
+ theme: {
13092
+ fonts
13093
+ }
13094
+ } = _ref3;
13095
+ return fonts.subtitle;
13096
+ }};
13097
+ color: ${_ref4 => {
13098
+ let {
13099
+ theme: {
13100
+ palette
13101
+ }
13102
+ } = _ref4;
13103
+ return palette.textPrimary;
13104
+ }};
13105
+ `;
13106
+ const H2 = styled.h2`
13107
+ font: ${_ref5 => {
13108
+ let {
13109
+ theme: {
13110
+ fonts
13111
+ }
13112
+ } = _ref5;
13113
+ return fonts.h2;
13114
+ }};
13115
+ color: ${_ref6 => {
13116
+ let {
13117
+ theme: {
13118
+ palette
13119
+ }
13120
+ } = _ref6;
13121
+ return palette.textPrimary;
13122
+ }};
13123
+ `;
13124
+ const H1 = styled.h1`
13125
+ font: ${_ref7 => {
13126
+ let {
13127
+ theme: {
13128
+ fonts
13129
+ }
13130
+ } = _ref7;
13131
+ return fonts.h1;
13132
+ }};
13133
+ color: ${_ref8 => {
13134
+ let {
13135
+ theme: {
13136
+ palette
13137
+ }
13138
+ } = _ref8;
13139
+ return palette.textPrimary;
13140
+ }};
13141
+ `;
13142
+ const Description = styled.div`
13143
+ font: ${_ref9 => {
13144
+ let {
13145
+ theme: {
13146
+ fonts
13147
+ }
13148
+ } = _ref9;
13149
+ return fonts.description;
13150
+ }};
13151
+ color: ${_ref10 => {
13152
+ let {
13153
+ theme: {
13154
+ palette
13155
+ }
13156
+ } = _ref10;
13157
+ return palette.textSecondary;
13158
+ }};
13159
+ `;
13160
+ const textOverflowEllipsisMixin = `
13161
+ overflow: hidden;
13162
+ text-overflow: ellipsis;
13163
+ white-space: nowrap;
13164
+ `;
13165
+
13166
+ const IconBefore = styled.span`
13167
+ position: absolute;
13168
+ left: 0;
13169
+ top: 50%;
13170
+ transform: translateY(-50%);
13171
+ display: flex;
13172
+ align-items: center;
13173
+ justify-content: center;
13174
+ min-height: 2rem;
13175
+ min-width: 2rem;
13176
+ height: 2rem;
13177
+ width: 2rem;
13178
+ `;
13179
+ const IconAfter = styled.span`
13180
+ position: absolute;
13181
+ right: ${_ref => {
13182
+ let {
13183
+ indent
13184
+ } = _ref;
13185
+ return indent;
13186
+ }}rem;
13187
+ top: 50%;
13188
+ transform: translateY(-50%);
13189
+ display: flex;
13190
+ align-items: center;
13191
+ justify-content: center;
13192
+ min-height: 2rem;
13193
+ min-width: 2rem;
13194
+ height: 2rem;
13195
+ width: 2rem;
13196
+
13197
+ button {
13198
+ width: auto;
13199
+ }
13200
+ `;
13201
+
13202
+ const inputMixin = css`
13203
+ display: flex;
13204
+ height: ${props => props.height || "auto"};
13205
+ padding: 0.34375rem ${_ref => {
13689
13206
  let {
13690
- theme: {
13691
- message
13692
- },
13693
- ...props
13207
+ paddingRight
13694
13208
  } = _ref;
13695
- return message.backgroundColor[getMessageColors(props)];
13696
- }};
13697
- border: 0.0625rem solid ${_ref2 => {
13209
+ return `${paddingRight || 0}px`;
13210
+ }} 0.34375rem
13211
+ ${_ref2 => {
13698
13212
  let {
13699
- theme: {
13700
- message
13701
- },
13702
- ...props
13213
+ extraLeftPaddingWidth
13703
13214
  } = _ref2;
13704
- return message.borderColor[getMessageColors(props)];
13215
+ return extraLeftPaddingWidth ? `${(extraLeftPaddingWidth ?? 0) + 8}px` : "0.5rem";
13705
13216
  }};
13706
- border-radius: ${_ref3 => {
13217
+ width: 100%;
13218
+ background: transparent;
13219
+ border: 0.0625rem solid ${_ref3 => {
13707
13220
  let {
13221
+ error,
13708
13222
  theme: {
13709
- borderRadius
13223
+ input
13710
13224
  }
13711
13225
  } = _ref3;
13712
- return borderRadius.medium;
13226
+ return error ? input.error : input.borderColor;
13713
13227
  }};
13714
- font: ${_ref4 => {
13228
+ border-radius: ${_ref4 => {
13715
13229
  let {
13716
13230
  theme: {
13717
- fonts
13231
+ borderRadius
13718
13232
  }
13719
13233
  } = _ref4;
13720
- return fonts.standard;
13234
+ return borderRadius.medium;
13721
13235
  }};
13236
+ box-sizing: border-box;
13722
13237
  color: ${_ref5 => {
13723
13238
  let {
13724
13239
  theme: {
13725
- message
13726
- },
13727
- ...props
13240
+ input
13241
+ }
13728
13242
  } = _ref5;
13729
- return message.color[getMessageColors(props)];
13243
+ return input.color;
13730
13244
  }};
13731
- text-align: ${_ref6 => {
13245
+ font: ${_ref6 => {
13732
13246
  let {
13733
- textRight,
13734
- textCenter
13247
+ theme: {
13248
+ fonts
13249
+ }
13735
13250
  } = _ref6;
13736
- return textRight ? "right" : textCenter ? "center" : "left";
13251
+ return fonts.standard;
13737
13252
  }};
13738
13253
 
13739
- > * {
13740
- color: inherit;
13254
+ ${IconBefore} + & {
13255
+ padding-left: 2rem;
13741
13256
  }
13742
- `;
13743
13257
 
13744
- const Paragraph = styled.p`
13745
- margin: 0 0 0.5rem;
13746
- font: ${_ref => {
13258
+ &:focus {
13259
+ outline: none;
13260
+ border-color: ${_ref7 => {
13747
13261
  let {
13262
+ error,
13748
13263
  theme: {
13749
- fonts
13264
+ input
13265
+ }
13266
+ } = _ref7;
13267
+ return error ? input.error : input.active;
13268
+ }};
13269
+ }
13270
+
13271
+ &::placeholder {
13272
+ color: ${_ref8 => {
13273
+ let {
13274
+ theme: {
13275
+ input
13276
+ }
13277
+ } = _ref8;
13278
+ return input.placeholderColor;
13279
+ }};
13280
+ }
13281
+
13282
+ &[disabled] {
13283
+ pointer-events: none;
13284
+ color: ${_ref9 => {
13285
+ let {
13286
+ theme: {
13287
+ input
13288
+ }
13289
+ } = _ref9;
13290
+ return input.disabledColor;
13291
+ }};
13292
+ border: 0.0635rem dashed ${_ref10 => {
13293
+ let {
13294
+ theme: {
13295
+ input
13296
+ }
13297
+ } = _ref10;
13298
+ return input.disabledBorderColor;
13299
+ }};
13300
+
13301
+ &::placeholder {
13302
+ color: ${_ref11 => {
13303
+ let {
13304
+ theme: {
13305
+ input
13750
13306
  }
13307
+ } = _ref11;
13308
+ return input.disabledPlaceholderColor;
13309
+ }};
13310
+ }
13311
+ }
13312
+ `;
13313
+ const StyledInput = /*#__PURE__*/styled.input.attrs(props => ({
13314
+ width: "14rem",
13315
+ height: "auto",
13316
+ paddingRight: 0.5,
13317
+ paddingLeft: false,
13318
+ ...props
13319
+ }))`
13320
+ ${inputMixin};
13321
+ `;
13322
+ const ChipInputHolder = styled.div`
13323
+ ${inputMixin};
13324
+ height: 2rem;
13325
+ align-items: center;
13326
+ padding: 0 ${_ref12 => {
13327
+ let {
13328
+ paddingRight
13329
+ } = _ref12;
13330
+ return `${paddingRight || 0}rem`;
13331
+ }} 0 0.5rem;
13332
+ `;
13333
+ const ValuePrefix = styled.div`
13334
+ position: absolute;
13335
+ left: 0.5rem;
13336
+ top: 50%;
13337
+ transform: translateY(-50%);
13338
+ font-size: 1rem;
13339
+ opacity: 0.28;
13340
+
13341
+ ${IconBefore} + & {
13342
+ padding-left: 1.5rem;
13343
+ }
13344
+ `;
13345
+
13346
+ const InputContainer = styled.span`
13347
+ display: flex;
13348
+ align-items: center;
13349
+ position: relative;
13350
+ width: ${_ref => {
13351
+ let {
13352
+ width
13751
13353
  } = _ref;
13752
- return fonts.standard;
13354
+ return width;
13753
13355
  }};
13754
- color: ${_ref2 => {
13356
+
13357
+ ${_ref2 => {
13755
13358
  let {
13359
+ active,
13756
13360
  theme: {
13757
- palette
13361
+ input
13758
13362
  }
13759
13363
  } = _ref2;
13760
- return palette.textPrimary;
13364
+ return active && `
13365
+ &:hover {
13366
+ input {
13367
+ outline: none;
13368
+ border-color: ${input.active};
13369
+ }
13370
+ }
13371
+
13372
+ input {
13373
+ outline: none;
13374
+ border-color: ${input.active};
13375
+ }
13376
+ `;
13377
+ }}
13378
+
13379
+ &:hover {
13380
+ input {
13381
+ border-color: ${_ref3 => {
13382
+ let {
13383
+ active,
13384
+ theme: {
13385
+ input
13386
+ },
13387
+ error
13388
+ } = _ref3;
13389
+ return !active && (error ? input.error : input.hoverBorderColor);
13390
+ }};
13391
+
13392
+ &:focus {
13393
+ outline: none;
13394
+ border-color: ${_ref4 => {
13395
+ let {
13396
+ theme: {
13397
+ input
13398
+ },
13399
+ error
13400
+ } = _ref4;
13401
+ return error ? input.error : input.active;
13402
+ }};
13403
+ }
13404
+ }
13405
+ }
13406
+
13407
+ &[disabled] {
13408
+ pointer-events: none;
13409
+ }
13410
+
13411
+ ${ChipInputHolder} {
13412
+ border-color: ${_ref5 => {
13413
+ let {
13414
+ active,
13415
+ theme: {
13416
+ input
13417
+ }
13418
+ } = _ref5;
13419
+ return active && input.active;
13761
13420
  }};
13421
+ }
13762
13422
  `;
13763
13423
 
13764
- const H4 = styled.h4`
13765
- font: ${_ref => {
13424
+ const IconButtonInnerChild = styled.span``;
13425
+ const buttonActiveMixin = css`
13426
+ background: ${_ref => {
13766
13427
  let {
13767
13428
  theme: {
13768
- fonts
13429
+ palette
13769
13430
  }
13770
13431
  } = _ref;
13771
- return fonts.standard;
13432
+ return palette.element;
13772
13433
  }};
13773
- color: ${_ref2 => {
13434
+
13435
+ span[kind]:after,
13436
+ :hover ${IconButtonInnerChild}, ${IconButtonInnerChild} {
13437
+ color: ${_ref2 => {
13774
13438
  let {
13775
13439
  theme: {
13776
13440
  palette
13777
13441
  }
13778
13442
  } = _ref2;
13779
- return palette.textPrimary;
13443
+ return palette.background;
13780
13444
  }};
13445
+ }
13781
13446
  `;
13782
- const H3 = styled.h3`
13783
- font: ${_ref3 => {
13447
+ const buttonHoverMixin = css`
13448
+ &:hover {
13449
+ background: ${_ref3 => {
13784
13450
  let {
13451
+ hasBg,
13785
13452
  theme: {
13786
- fonts
13453
+ palette
13787
13454
  }
13788
13455
  } = _ref3;
13789
- return fonts.subtitle;
13790
- }};
13791
- color: ${_ref4 => {
13792
- let {
13793
- theme: {
13794
- palette
13456
+ return hasBg ? palette.elementDark : "none";
13457
+ }};
13458
+ transition: background ${transition.hover};
13459
+
13460
+ > ${Icon}, ${IconButtonInnerChild} {
13461
+ transition: all ${transition.hover};
13795
13462
  }
13463
+ }
13464
+ `;
13465
+ const buttonMixin = css`
13466
+ user-select: none;
13467
+ position: relative;
13468
+ display: flex;
13469
+ align-items: center;
13470
+ justify-content: center;
13471
+ flex-direction: ${_ref4 => {
13472
+ let {
13473
+ iconRight
13796
13474
  } = _ref4;
13797
- return palette.textPrimary;
13475
+ return iconRight ? "row-reverse" : "row";
13798
13476
  }};
13799
- `;
13800
- const H2 = styled.h2`
13801
- font: ${_ref5 => {
13477
+ padding: 0 1rem;
13478
+ height: 2.25rem;
13479
+ width: ${props => props.notFixedWidth ? "auto" : "3rem"};
13480
+ background: none;
13481
+ border: none;
13482
+ border-radius: 1.25rem;
13483
+ outline: none;
13484
+ cursor: pointer;
13485
+ backface-visibility: hidden;
13486
+ transform: translateZ(0) scale(1, 1);
13487
+
13488
+ ${_ref5 => {
13802
13489
  let {
13803
- theme: {
13804
- fonts
13805
- }
13490
+ active
13806
13491
  } = _ref5;
13807
- return fonts.h2;
13492
+ return active ? buttonActiveMixin : buttonHoverMixin;
13808
13493
  }};
13809
- color: ${_ref6 => {
13494
+
13495
+ &:active > ${Icon} {
13496
+ transform: scale(1.125, 1.125);
13497
+ transition: all ${transition.press};
13498
+ }
13499
+
13500
+ ${Icon}, ${IconButtonInnerChild} {
13501
+ display: block;
13502
+ position: relative;
13503
+ transition: color ${transition.release};
13504
+
13505
+ &:after {
13506
+ display: block;
13507
+ position: absolute;
13508
+ left: 0;
13509
+ z-index: 2;
13510
+ }
13511
+ }
13512
+
13513
+ &[disabled],
13514
+ ${InputContainer}[disabled] & {
13515
+ ${Icon}, ${IconButtonInnerChild} {
13516
+ color: ${_ref6 => {
13810
13517
  let {
13811
13518
  theme: {
13812
- palette
13519
+ iconButton
13813
13520
  }
13814
13521
  } = _ref6;
13815
- return palette.textPrimary;
13522
+ return iconButton.disabledColor;
13816
13523
  }};
13524
+ }
13525
+ pointer-events: none;
13526
+ }
13817
13527
  `;
13818
- const H1 = styled.h1`
13819
- font: ${_ref7 => {
13528
+ const IconButtonButton = /*#__PURE__*/styled.button.attrs(props => ({
13529
+ tabIndex: -1,
13530
+ ...props
13531
+ }))`
13532
+ flex-shrink: 0;
13533
+
13534
+ &:hover > ${Icon}, &:hover > ${IconButtonInnerChild} {
13535
+ color: ${_ref7 => {
13820
13536
  let {
13821
13537
  theme: {
13822
- fonts
13823
- }
13538
+ iconButton
13539
+ },
13540
+ ...props
13824
13541
  } = _ref7;
13825
- return fonts.h1;
13542
+ return iconButton.hoverColor[getIconColors(props)];
13826
13543
  }};
13827
- color: ${_ref8 => {
13544
+ }
13545
+
13546
+ &:active > ${Icon}, &:active > ${IconButtonInnerChild} {
13547
+ color: ${_ref8 => {
13828
13548
  let {
13829
13549
  theme: {
13830
- palette
13831
- }
13550
+ iconButton
13551
+ },
13552
+ ...props
13832
13553
  } = _ref8;
13833
- return palette.textPrimary;
13554
+ return iconButton.activeColor[getIconColors(props)];
13834
13555
  }};
13835
- `;
13836
- const Description = styled.div`
13837
- font: ${_ref9 => {
13556
+ }
13557
+
13558
+ ${Icon}, ${IconButtonInnerChild} {
13559
+ color: ${_ref9 => {
13838
13560
  let {
13839
13561
  theme: {
13840
- fonts
13841
- }
13562
+ iconButton
13563
+ },
13564
+ ...props
13842
13565
  } = _ref9;
13843
- return fonts.description;
13566
+ return iconButton.color[getIconColors(props)];
13844
13567
  }};
13845
- color: ${_ref10 => {
13568
+ }
13569
+
13570
+ ${IconButtonInnerChild} {
13571
+ margin: ${_ref10 => {
13846
13572
  let {
13847
- theme: {
13848
- palette
13849
- }
13573
+ iconRight
13850
13574
  } = _ref10;
13851
- return palette.textSecondary;
13575
+ return iconRight ? "0 0.5rem 0 0" : "0 0 0 0.5rem";
13852
13576
  }};
13577
+ }
13578
+
13579
+ ${buttonMixin};
13853
13580
  `;
13854
- const textOverflowEllipsisMixin = `
13855
- overflow: hidden;
13856
- text-overflow: ellipsis;
13857
- white-space: nowrap;
13858
- `;
13581
+
13582
+ const IconButtonComponent = _ref => {
13583
+ let {
13584
+ kind,
13585
+ children,
13586
+ innerRef,
13587
+ icon,
13588
+ tabIndex = -1,
13589
+ ...props
13590
+ } = _ref;
13591
+ return React.createElement(IconButtonButton, Object.assign({
13592
+ ref: innerRef,
13593
+ notFixedWidth: !!children,
13594
+ tabIndex: tabIndex
13595
+ }, props), icon || React.createElement(Icon, {
13596
+ kind: kind
13597
+ }), children && React.createElement(IconButtonInnerChild, null, children));
13598
+ };
13599
+
13600
+ const IconButton = /*#__PURE__*/memo(IconButtonComponent);
13859
13601
 
13860
13602
  const LegendToggler = /*#__PURE__*/styled(IconButton).attrs(props => ({
13861
13603
  kind: "expand",
@@ -13936,7 +13678,7 @@ const LegendToggler = /*#__PURE__*/styled(IconButton).attrs(props => ({
13936
13678
  }
13937
13679
  `;
13938
13680
 
13939
- const Input$1 = /*#__PURE__*/styled.input.attrs(() => ({
13681
+ const Input = /*#__PURE__*/styled.input.attrs(() => ({
13940
13682
  type: "checkbox",
13941
13683
  hidden: true
13942
13684
  }))``;
@@ -14092,7 +13834,7 @@ const Label = styled.label`
14092
13834
  pointer-events: none;
14093
13835
  }
14094
13836
 
14095
- ${Input$1}:checked + ${Box} ${Border} {
13837
+ ${Input}:checked + ${Box} ${Border} {
14096
13838
  fill: ${_ref5 => {
14097
13839
  let {
14098
13840
  theme: {
@@ -14104,7 +13846,7 @@ const Label = styled.label`
14104
13846
  transition: fill ${transition.press}; // appear
14105
13847
  }
14106
13848
 
14107
- &:hover > ${Input$1}:checked + ${Box} ${Border} {
13849
+ &:hover > ${Input}:checked + ${Box} ${Border} {
14108
13850
  fill: ${_ref6 => {
14109
13851
  let {
14110
13852
  theme: {
@@ -14115,7 +13857,7 @@ const Label = styled.label`
14115
13857
  }};
14116
13858
  }
14117
13859
 
14118
- ${Input$1}[disabled] + ${Box} ${Border} {
13860
+ ${Input}[disabled] + ${Box} ${Border} {
14119
13861
  fill: ${_ref7 => {
14120
13862
  let {
14121
13863
  theme: {
@@ -14126,7 +13868,7 @@ const Label = styled.label`
14126
13868
  }};
14127
13869
  }
14128
13870
 
14129
- ${Input$1}:checked[disabled] + ${Box} ${Border} {
13871
+ ${Input}:checked[disabled] + ${Box} ${Border} {
14130
13872
  fill: transparent;
14131
13873
  }
14132
13874
 
@@ -14141,7 +13883,7 @@ const Label = styled.label`
14141
13883
  }};
14142
13884
  }
14143
13885
 
14144
- &:hover > ${Input$1}:checked + ${Box} ${BoxFill} {
13886
+ &:hover > ${Input}:checked + ${Box} ${BoxFill} {
14145
13887
  fill: ${_ref9 => {
14146
13888
  let {
14147
13889
  theme: {
@@ -14152,7 +13894,7 @@ const Label = styled.label`
14152
13894
  }};
14153
13895
  }
14154
13896
 
14155
- ${Input$1}:checked + ${Box} ${BoxFill} {
13897
+ ${Input}:checked + ${Box} ${BoxFill} {
14156
13898
  fill: ${_ref10 => {
14157
13899
  let {
14158
13900
  theme: {
@@ -14170,7 +13912,7 @@ const Label = styled.label`
14170
13912
  transition: all ${transition.press}; // appear
14171
13913
  }
14172
13914
 
14173
- ${Input$1}:checked[disabled] + ${Box} ${BoxFill} {
13915
+ ${Input}:checked[disabled] + ${Box} ${BoxFill} {
14174
13916
  fill: ${_ref11 => {
14175
13917
  let {
14176
13918
  theme: {
@@ -14181,7 +13923,7 @@ const Label = styled.label`
14181
13923
  }};
14182
13924
  }
14183
13925
 
14184
- ${Input$1}:checked + ${Box} ${Check} {
13926
+ ${Input}:checked + ${Box} ${Check} {
14185
13927
  opacity: ${_ref12 => {
14186
13928
  let {
14187
13929
  indeterminate
@@ -14196,7 +13938,7 @@ const Label = styled.label`
14196
13938
  }}; // appear
14197
13939
  }
14198
13940
 
14199
- ${Input$1}:checked + ${Box} ${Square} {
13941
+ ${Input}:checked + ${Box} ${Square} {
14200
13942
  opacity: ${_ref14 => {
14201
13943
  let {
14202
13944
  indeterminate
@@ -14239,32 +13981,175 @@ const Svg = /*#__PURE__*/styled.svg.attrs(() => ({
14239
13981
 
14240
13982
  const CheckboxComponent = _ref => {
14241
13983
  let {
14242
- label,
14243
- indeterminate,
14244
- labelLeft,
14245
- onClick,
14246
- className,
14247
- title,
13984
+ label,
13985
+ indeterminate,
13986
+ labelLeft,
13987
+ onClick,
13988
+ className,
13989
+ title,
13990
+ ...props
13991
+ } = _ref;
13992
+ return React.createElement(Label, {
13993
+ disabled: props.disabled,
13994
+ labelLeft: labelLeft,
13995
+ onClick: onClick,
13996
+ className: className,
13997
+ indeterminate: indeterminate,
13998
+ title: title
13999
+ }, label && labelLeft && React.createElement(LabelText, {
14000
+ labelLeft: true
14001
+ }, label), React.createElement(Input, Object.assign({}, props)), React.createElement(Box, {
14002
+ labelLeft: labelLeft
14003
+ }, React.createElement(Svg, null, React.createElement(Border, null), React.createElement(BoxFill, null), React.createElement(Check, {
14004
+ indeterminate: indeterminate
14005
+ }), React.createElement(Square, {
14006
+ indeterminate: indeterminate
14007
+ }))), label && !labelLeft && React.createElement(LabelText, null, label));
14008
+ };
14009
+ const Checkbox = /*#__PURE__*/memo(CheckboxComponent);
14010
+
14011
+ const ChipContainer = styled.span`
14012
+ display: inline-flex;
14013
+ align-items: center;
14014
+ padding: 0.3125rem 0.6875rem;
14015
+ background-color: ${_ref => {
14016
+ let {
14017
+ theme: {
14018
+ chip
14019
+ },
14020
+ ...props
14021
+ } = _ref;
14022
+ return chip.backgroundColor[getVariant(props)];
14023
+ }};
14024
+ border-radius: ${_ref2 => {
14025
+ let {
14026
+ theme: {
14027
+ borderRadius
14028
+ }
14029
+ } = _ref2;
14030
+ return borderRadius.large;
14031
+ }};
14032
+ `;
14033
+ const Text = styled.span`
14034
+ font: ${_ref3 => {
14035
+ let {
14036
+ theme: {
14037
+ fonts
14038
+ }
14039
+ } = _ref3;
14040
+ return fonts.description;
14041
+ }};
14042
+ color: ${_ref4 => {
14043
+ let {
14044
+ theme: {
14045
+ palette
14046
+ },
14047
+ isStandard,
14048
+ disabled
14049
+ } = _ref4;
14050
+ return disabled ? palette.textDisabled : isStandard ? palette.textPrimary : "#fff";
14051
+ }};
14052
+ `;
14053
+ const iconButtonMixin = css`
14054
+ && {
14055
+ height: 0.875rem;
14056
+ width: 0.875rem;
14057
+ margin-left: 0.875rem;
14058
+ cursor: pointer;
14059
+
14060
+ ${Icon} {
14061
+ height: 10px;
14062
+ width: 11px;
14063
+
14064
+ &:after {
14065
+ font-size: 0.6875rem;
14066
+ color: ${_ref5 => {
14067
+ let {
14068
+ theme: {
14069
+ palette
14070
+ }
14071
+ } = _ref5;
14072
+ return palette.textSecondary;
14073
+ }};
14074
+ }
14075
+ }
14076
+ }
14077
+ `;
14078
+ const ActionButton = /*#__PURE__*/styled(IconButton)`
14079
+ ${iconButtonMixin};
14080
+ `;
14081
+ const RegularIconButton = /*#__PURE__*/styled(IconButton)`
14082
+ ${iconButtonMixin};
14083
+ `;
14084
+ const TooltipContent = styled.div`
14085
+ max-width: 15rem;
14086
+ `;
14087
+
14088
+ const ChipComponent = _ref => {
14089
+ let {
14090
+ text,
14091
+ primary,
14092
+ secondary,
14093
+ error,
14094
+ additionalButton,
14095
+ additionalAction,
14096
+ onRemove,
14097
+ additionalButtonTooltip,
14098
+ removeButtonTooltip,
14099
+ disabled,
14100
+ tooltipDelay = 300,
14101
+ onMouseDown,
14102
+ children,
14248
14103
  ...props
14249
14104
  } = _ref;
14250
- return React.createElement(Label, {
14251
- disabled: props.disabled,
14252
- labelLeft: labelLeft,
14253
- onClick: onClick,
14254
- className: className,
14255
- indeterminate: indeterminate,
14256
- title: title
14257
- }, label && labelLeft && React.createElement(LabelText, {
14258
- labelLeft: true
14259
- }, label), React.createElement(Input$1, Object.assign({}, props)), React.createElement(Box, {
14260
- labelLeft: labelLeft
14261
- }, React.createElement(Svg, null, React.createElement(Border, null), React.createElement(BoxFill, null), React.createElement(Check, {
14262
- indeterminate: indeterminate
14263
- }), React.createElement(Square, {
14264
- indeterminate: indeterminate
14265
- }))), label && !labelLeft && React.createElement(LabelText, null, label));
14105
+ const remove = useCallback(e => {
14106
+ onRemove && onRemove(text, e);
14107
+ }, [onRemove, text]);
14108
+ const isStandard = !primary && !secondary && !error;
14109
+ return React.createElement(ChipContainer, Object.assign({
14110
+ primary: primary,
14111
+ secondary: secondary,
14112
+ error: error
14113
+ }, props), children, React.createElement(Text, {
14114
+ isStandard: isStandard,
14115
+ disabled: disabled
14116
+ }, text), React.createElement(ThemeProvider, {
14117
+ theme: isStandard ? theme : theme$1
14118
+ }, React.createElement(React.Fragment, null, additionalButton && (additionalButtonTooltip ? React.createElement(Tooltip, {
14119
+ arrow: true,
14120
+ placement: "top",
14121
+ content: React.createElement(TooltipContent, null, additionalButtonTooltip),
14122
+ delay: tooltipDelay ? [tooltipDelay, tooltipDelay] : undefined
14123
+ }, ref => React.createElement(ActionButton, {
14124
+ kind: additionalButton,
14125
+ onClick: additionalAction,
14126
+ innerRef: ref
14127
+ })) : React.createElement(RegularIconButton, {
14128
+ kind: additionalButton,
14129
+ onClick: additionalAction
14130
+ })), !!onRemove && (removeButtonTooltip ? React.createElement(Tooltip, {
14131
+ arrow: true,
14132
+ placement: "top",
14133
+ content: React.createElement(TooltipContent, null, removeButtonTooltip),
14134
+ delay: tooltipDelay ? [tooltipDelay, tooltipDelay] : undefined
14135
+ }, ref => React.createElement(ActionButton, {
14136
+ kind: "close",
14137
+ innerRef: ref,
14138
+ onClick: e => {
14139
+ e.stopPropagation();
14140
+ remove(e);
14141
+ }
14142
+ })) : React.createElement(RegularIconButton, {
14143
+ kind: "close",
14144
+ onMouseDown: e => e.stopPropagation(),
14145
+ onClick: e => {
14146
+ e.stopPropagation();
14147
+ remove(e);
14148
+ }
14149
+ })))));
14266
14150
  };
14267
- const Checkbox = /*#__PURE__*/memo(CheckboxComponent);
14151
+
14152
+ const Chip = /*#__PURE__*/memo(ChipComponent);
14268
14153
 
14269
14154
  const scale = 32;
14270
14155
 
@@ -14515,6 +14400,122 @@ const ColorButton = _ref7 => {
14515
14400
  }));
14516
14401
  };
14517
14402
 
14403
+ const WideChip = /*#__PURE__*/styled(_ref => {
14404
+ let { ...props
14405
+ } = _ref;
14406
+ return React.createElement(Chip, Object.assign({}, props));
14407
+ })`
14408
+ height: 1rem;
14409
+ cursor: default;
14410
+
14411
+ ${ChipContainer} {
14412
+ width: 100%;
14413
+ justify-content: space-between;
14414
+ }
14415
+ `;
14416
+
14417
+ const CheckMark = /*#__PURE__*/styled(Icon)`
14418
+ position: absolute;
14419
+ right: -1.5rem;
14420
+ color: ${_ref => {
14421
+ let {
14422
+ theme: {
14423
+ palette
14424
+ }
14425
+ } = _ref;
14426
+ return palette.primary;
14427
+ }};
14428
+ `;
14429
+
14430
+ const InputComponent = _ref => {
14431
+ var _valuePrefixRef$curre, _valuePrefixRef$curre2;
14432
+
14433
+ let {
14434
+ width = "14rem",
14435
+ iconAfter,
14436
+ iconBefore,
14437
+ valuePrefix,
14438
+ children,
14439
+ disabled,
14440
+ success,
14441
+ innerRef,
14442
+ disableInputOnly,
14443
+ asChip,
14444
+ onRemove,
14445
+ active,
14446
+ onMouseDown,
14447
+ ...props
14448
+ } = _ref;
14449
+ const valuePrefixRef = useRef(null);
14450
+ const [, setRefVisible] = useState(false);
14451
+ const realChildren = getRealChildren(children);
14452
+ const childrenCount = realChildren.length;
14453
+ const paddingRight = childrenCount * 2 + (iconAfter ? 32 : 0);
14454
+ return React.createElement(InputContainer, {
14455
+ disabled: disabled,
14456
+ error: props.error,
14457
+ width: width,
14458
+ active: active
14459
+ }, iconBefore && React.createElement(IconBefore, {
14460
+ onMouseDown: preventDefault
14461
+ }, iconBefore), valuePrefix && React.createElement(ValuePrefix, {
14462
+ onMouseDown: preventDefault,
14463
+ ref: el => {
14464
+ valuePrefixRef.current = el;
14465
+ setRefVisible(!!el);
14466
+ }
14467
+ }, valuePrefix), props.value && asChip ? React.createElement(ChipInputHolder, {
14468
+ paddingLeft: !!iconBefore,
14469
+ paddingRight: paddingRight,
14470
+ extraLeftPaddingWidth: ((_valuePrefixRef$curre = valuePrefixRef.current) == null ? void 0 : _valuePrefixRef$curre.getBoundingClientRect().width) ?? undefined,
14471
+ ref: innerRef,
14472
+ onMouseDown: onMouseDown
14473
+ }, React.createElement(WideChip, {
14474
+ text: `${props.value}`,
14475
+ onRemove: onRemove,
14476
+ onMouseDown: e => {
14477
+ e.stopPropagation(); // @ts-ignore
14478
+
14479
+ onMouseDown && onMouseDown(e);
14480
+ },
14481
+ primary: true
14482
+ })) : React.createElement(StyledInput, Object.assign({
14483
+ ref: innerRef,
14484
+ width: width,
14485
+ disabled: disabled || disableInputOnly,
14486
+ paddingLeft: !!iconBefore,
14487
+ extraLeftPaddingWidth: ((_valuePrefixRef$curre2 = valuePrefixRef.current) == null ? void 0 : _valuePrefixRef$curre2.getBoundingClientRect().width) ?? undefined,
14488
+ paddingRight: paddingRight,
14489
+ onMouseDown: onMouseDown
14490
+ }, props)), iconAfter ? React.createElement(IconAfter, {
14491
+ indent: 0
14492
+ }, iconAfter) : React.createElement(React.Fragment, null, realChildren.map((child, index) => React.createElement(IconAfter, {
14493
+ onMouseDown: preventDefault,
14494
+ indent: 2 * index,
14495
+ key: index
14496
+ }, child))), success && React.createElement(CheckMark, {
14497
+ kind: "success"
14498
+ }));
14499
+ };
14500
+
14501
+ const Input$1 = /*#__PURE__*/withLabel( /*#__PURE__*/memo(InputComponent));
14502
+
14503
+ /* eslint-disable @typescript-eslint/no-explicit-any */
14504
+ const MaskedComponent = /*#__PURE__*/IMaskMixin(_ref => {
14505
+ let {
14506
+ innerRef,
14507
+ inputRef,
14508
+ ...props
14509
+ } = _ref;
14510
+ const attachRef = useCallback(ref => {
14511
+ sendRefSafety(inputRef, ref);
14512
+ sendRefSafety(innerRef, ref);
14513
+ }, [innerRef, inputRef]);
14514
+ return React.createElement(Input$1, Object.assign({}, props, {
14515
+ innerRef: attachRef
14516
+ }));
14517
+ });
14518
+
14518
14519
  const Container = styled.div`
14519
14520
  position: relative;
14520
14521
  width: 12.625rem;
@@ -18780,7 +18781,7 @@ const ColorPicker = /*#__PURE__*/memo(ColorPickerComponent);
18780
18781
  const OptionContainer = styled.div`
18781
18782
  display: flex;
18782
18783
  justify-content: flex-start;
18783
- align-items: flex-start;
18784
+ align-items: center;
18784
18785
  min-height: 1.25em;
18785
18786
  padding: 0.75rem 1rem;
18786
18787
  color: ${_ref => {
@@ -18879,6 +18880,44 @@ const OptionValueContainer = styled.span`
18879
18880
  display: flex;
18880
18881
  flex-direction: column;
18881
18882
  `;
18883
+ const OptionToggler = /*#__PURE__*/styled(LegendToggler)`
18884
+ padding: 1rem 1rem 0.25rem 1rem;
18885
+
18886
+ ${Icon} + span {
18887
+ font: ${_ref7 => {
18888
+ let {
18889
+ theme: {
18890
+ fonts
18891
+ }
18892
+ } = _ref7;
18893
+ return fonts.description;
18894
+ }};
18895
+ }
18896
+
18897
+ ${Icon}, ${Icon} + span {
18898
+ color: ${_ref8 => {
18899
+ let {
18900
+ theme: {
18901
+ palette
18902
+ }
18903
+ } = _ref8;
18904
+ return palette.textDisabled;
18905
+ }};
18906
+ }
18907
+
18908
+ :hover {
18909
+ ${Icon}, ${Icon} + span {
18910
+ color: ${_ref9 => {
18911
+ let {
18912
+ theme: {
18913
+ palette
18914
+ }
18915
+ } = _ref9;
18916
+ return palette.textPrimary;
18917
+ }};
18918
+ }
18919
+ }
18920
+ `;
18882
18921
 
18883
18922
  const isSelected = (item, selectedOptions) => {
18884
18923
  if (selectedOptions && selectedOptions.length > 0) {
@@ -18911,6 +18950,7 @@ const OptionComponent = _ref => {
18911
18950
  value,
18912
18951
  text,
18913
18952
  icon,
18953
+ prefix,
18914
18954
  disabled,
18915
18955
  description,
18916
18956
  primary,
@@ -18955,7 +18995,7 @@ const OptionComponent = _ref => {
18955
18995
  name: value,
18956
18996
  value: value,
18957
18997
  disabled: disabled
18958
- }), !!icon && React.createElement(OptionIcon, null, React.createElement(Icon, {
18998
+ }), prefix, !!icon && React.createElement(OptionIcon, null, React.createElement(Icon, {
18959
18999
  kind: icon,
18960
19000
  disabled: disabled
18961
19001
  })), React.createElement(OptionValueWrapper, null, React.createElement(OptionValueContainer, null, React.createElement(OptionText, {
@@ -18974,7 +19014,7 @@ function removeItem(array, index) {
18974
19014
  }
18975
19015
  function addItem(array, newItem) {
18976
19016
  return array.concat([newItem]);
18977
- }
19017
+ } // eslint-disable-next-line max-lines-per-function
18978
19018
 
18979
19019
  const MenuComponent = _ref => {
18980
19020
  let {
@@ -19009,47 +19049,64 @@ const MenuComponent = _ref => {
19009
19049
 
19010
19050
  selectOption && selectOption(newOptions, item);
19011
19051
  }, [children, loading, multiple, options, selectOption, selectedOptions, setFocusedOption]);
19052
+ const formatOptions = useCallback(() => {
19053
+ return options == null ? void 0 : options.reduce((result, current, index) => ({ ...result,
19054
+ [index]: current.opened ?? true
19055
+ }), {});
19056
+ }, [options]);
19057
+ const [visibleGroups, setVisibleGroups] = useState(formatOptions());
19058
+ const toggleVisibleGroup = useCallback(index => {
19059
+ setVisibleGroups({ ...visibleGroups,
19060
+ [index]: !(visibleGroups != null && visibleGroups[index])
19061
+ });
19062
+ }, [visibleGroups]);
19063
+ const getOptionsArray = useCallback((currentOptions, i) => {
19064
+ const result = [];
19065
+ const titleOption = currentOptions[0].title ? currentOptions[0] : null;
19066
+
19067
+ if (titleOption) {
19068
+ result.push(React.createElement(OptionToggler, {
19069
+ toggled: visibleGroups == null ? void 0 : visibleGroups[i || 0],
19070
+ onClick: () => toggleVisibleGroup(i || 0)
19071
+ }, titleOption.text));
19072
+ }
19073
+
19074
+ result.push(...currentOptions.filter(_ref2 => {
19075
+ let {
19076
+ title
19077
+ } = _ref2;
19078
+ return !title && (visibleGroups == null ? void 0 : visibleGroups[i || 0]);
19079
+ }).map(item => {
19080
+ return React.createElement(Option, {
19081
+ key: `opt-${item.value}`,
19082
+ item: item,
19083
+ selectedOptions: selectedOptions,
19084
+ multiple: multiple,
19085
+ heading: item.heading || loading,
19086
+ select: select
19087
+ });
19088
+ }));
19089
+
19090
+ if (!titleOption && i !== undefined && i > 0) {
19091
+ result.push(React.createElement(DividerLine, null));
19092
+ }
19093
+
19094
+ return result;
19095
+ }, [visibleGroups, toggleVisibleGroup, multiple, loading, select, selectedOptions]);
19012
19096
  const renderOptions = useMemo(() => {
19013
19097
  if (!(options != null && options.length)) return null;
19014
- let newElements = [];
19015
-
19016
- for (let i = 0; i < options.length; i++) {
19017
- let newArr = [];
19018
-
19019
- if (Array.isArray(options[i])) {
19020
- const curOption = options[i];
19021
- newArr = curOption.map(item => {
19022
- return React.createElement(Option, {
19023
- key: `arr-${item.value}` || "null-child-value",
19024
- item: item,
19025
- select: select,
19026
- selectedOptions: selectedOptions,
19027
- multiple: multiple
19028
- });
19029
- });
19098
+ const result = [];
19030
19099
 
19031
- if (i > 0) {
19032
- newElements = newElements.concat(React.createElement(DividerLine, {
19033
- key: `divider${i}`
19034
- }));
19035
- }
19036
- } else {
19037
- const curOption = options[i];
19038
- newArr.push(React.createElement(Option, {
19039
- key: `opt-${curOption.text}-${i}`,
19040
- heading: curOption.heading || loading,
19041
- item: curOption,
19042
- selectedOptions: selectedOptions,
19043
- multiple: multiple,
19044
- select: select
19045
- }));
19100
+ if (Array.isArray(options[0])) {
19101
+ for (let i = 0; i < options.length; i++) {
19102
+ result.push(...getOptionsArray(options[i], i));
19046
19103
  }
19047
-
19048
- newElements = newElements.concat(newArr);
19104
+ } else {
19105
+ result.push(...getOptionsArray(options));
19049
19106
  }
19050
19107
 
19051
- return newElements;
19052
- }, [loading, multiple, options, select, selectedOptions]);
19108
+ return result;
19109
+ }, [options, getOptionsArray]);
19053
19110
  const renderChildren = useMemo(() => {
19054
19111
  if (!children || multiple) return null; // options passed as children
19055
19112
 
@@ -19058,6 +19115,7 @@ const MenuComponent = _ref => {
19058
19115
  text,
19059
19116
  value,
19060
19117
  icon,
19118
+ prefix,
19061
19119
  onClick,
19062
19120
  synthKey,
19063
19121
  disabled
@@ -19069,12 +19127,15 @@ const MenuComponent = _ref => {
19069
19127
  onClick: onClick,
19070
19128
  disabled: disabled,
19071
19129
  heading: loading
19072
- }, icon && React.createElement(OptionIcon, null, React.createElement(Icon, {
19130
+ }, prefix, icon && React.createElement(OptionIcon, null, React.createElement(Icon, {
19073
19131
  kind: icon,
19074
19132
  disabled: disabled
19075
19133
  })), text || item);
19076
19134
  });
19077
19135
  }, [children, className, loading, multiple]);
19136
+ useEffect(() => {
19137
+ setVisibleGroups(formatOptions()); // eslint-disable-next-line react-hooks/exhaustive-deps
19138
+ }, [options]);
19078
19139
  return React.createElement(React.Fragment, null, title, title && React.createElement(DividerLine, {
19079
19140
  style: {
19080
19141
  marginTop: 0
@@ -19642,7 +19703,7 @@ const DropdownComponent = _ref => {
19642
19703
  }, searchable && React.createElement(SearchInputContainer, {
19643
19704
  width: menuWidth ?? width,
19644
19705
  minWidth: menuMinWidth ?? width
19645
- }, React.createElement(Input, {
19706
+ }, React.createElement(Input$1, {
19646
19707
  value: search,
19647
19708
  onChange: e => setSearch(e.target.value),
19648
19709
  placeholder: searchPlaceholder ?? "Найти",
@@ -20132,7 +20193,7 @@ const SearchFieldComponent = _ref => {
20132
20193
  onSearchRequest();
20133
20194
  }
20134
20195
  }, [onSearchRequest]);
20135
- return React.createElement(Input, Object.assign({
20196
+ return React.createElement(Input$1, Object.assign({
20136
20197
  type: "text",
20137
20198
  placeholder: placeholder
20138
20199
  }, props, {
@@ -21143,7 +21204,7 @@ const InputComponent$1 = _ref => {
21143
21204
  marginLeft: "0.5rem"
21144
21205
  }
21145
21206
  }, selectedSuggestion == null ? void 0 : selectedSuggestion.prefix) : null;
21146
- return React.createElement(Input, Object.assign({
21207
+ return React.createElement(Input$1, Object.assign({
21147
21208
  iconBefore: icon || prefix
21148
21209
  }, props));
21149
21210
  };
@@ -22349,7 +22410,7 @@ const ChipInputComponent = _ref => {
22349
22410
  }
22350
22411
  }, [changeChips, chipsProp, onChangeChips]);
22351
22412
  const chipOptions = createChipOptions();
22352
- return React.createElement(Container$3, null, React.createElement(RowFlex, null, React.createElement(Input, Object.assign({
22413
+ return React.createElement(Container$3, null, React.createElement(RowFlex, null, React.createElement(Input$1, Object.assign({
22353
22414
  value: value,
22354
22415
  onChange: onChangeInput,
22355
22416
  onKeyPress: handleKeyPress,
@@ -22516,7 +22577,7 @@ const useWindowResize = (callback, delay) => {
22516
22577
  }, [debounceCallback]);
22517
22578
  };
22518
22579
 
22519
- if(typeof document!=="undefined")document.head.appendChild(document.createElement("style")).textContent="/*!\n * SlickGrid Alpine Theme\n * (c) 2009-2016 Michael Leibman\n * michael{dot}leibman{at}gmail{dot}com\n * original project: https://github.com/mleibman/slickgrid\n * project forked as: https://github.com/6pac/slickgrid\n *\n * Distributed under MIT license.\n * All rights reserved.\n */@keyframes fade{0%,to{background:none}50%{background:var(--alpine-row-highlight-fade-animation,1s linear)}}#myGrid,.slick-container{background-color:var(--alpine-grid-bgcolor,#fff);border-color:var(--alpine-border-color,#dae1e7);border-radius:var(--alpine-border-radius,0);border-style:solid;border-width:var(--alpine-border-width,1px);box-sizing:border-box;color:var(--alpine-font-color,#181d1f);font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-font-size,13px)}#myGrid.bottom-rounded,.slick-container.bottom-rounded{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}#myGrid .text-center,.slick-container .text-center{text-align:center}.slick-viewport{background-color:var(--alpine-bg-color,#fff)}.slick-viewport .grid-canvas{outline:0;position:relative}.slick-range-decorator{border:var(--alpine-range-border,3px solid #000);cursor:cell;z-index:9999}.slick-row.slick-state-active,.slick-row.ui-widget-content{border:0;position:absolute;width:100%}.slick-row.slick-state-active{background:var(--alpine-cell-selected-bg-color,#d4ebfd)}.slick-row .selected{background-color:var(--alpine-cell-selected-bg-color,#d4ebfd);color:var(--alpine-cell-selected-color,#181d1f);z-index:10}.slick-row.odd{background-color:var(--alpine-odd-row-color,#fbfbfb)}.slick-row:hover{background-color:var(--alpine-row-mouse-hover-color,#e8f4fe)}.slick-row.highlight-animate{animation:fade var(--alpine-row-highlight-fade-animation,1s linear);background:var(--alpine-row-highlight-background-color,#d9edfd)!important}.slick-groupby-remove{padding-right:10px}.slick-group{background-color:var(--alpine-header-bg-color,#f8f8f8);border-bottom:2px solid var(--alpine-border-color,#dae1e7)}.slick-group .slick-cell{padding-left:4px;padding-right:4px;text-align:left!important}.slick-group-toggle{background-color:currentColor;color:inherit;cursor:pointer;display:inline-block;font-size:18px;height:1em;margin-right:5px;opacity:var(--alpine-group-icon-opacity,.8);width:1em}.slick-group-toggle.expanded{--alpine-group-expanded-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M17,11V13H7V11H17Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-group-expanded-icon-svg) no-repeat;mask:var(--alpine-group-expanded-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.slick-group-toggle.collapsed{--alpine-group-collapsed-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M11,7H13V11H17V13H13V17H11V13H7V11H11V7Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-group-collapsed-icon-svg) no-repeat;mask:var(--alpine-group-collapsed-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.slick-group-totals{background:var(--alpine-bg-color,#fff);color:var(--alpine-font-color,#181d1f)}.slick-group-toggle-all{background-color:currentColor;color:inherit;cursor:pointer;display:inline-block;font-size:18px;height:1em;margin-right:5px;opacity:var(--alpine-group-icon-opacity,.8);width:1em}.slick-group-toggle-all.collapsed{--alpine-group-collapsed-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M11,7H13V11H17V13H13V17H11V13H7V11H11V7Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-group-collapsed-icon-svg) no-repeat;mask:var(--alpine-group-collapsed-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.slick-group-toggle-all.expanded{--alpine-group-expanded-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M17,11V13H7V11H17Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-group-expanded-icon-svg) no-repeat;mask:var(--alpine-group-expanded-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.slick-cell{align-items:var(--alpine-cell-align-items,center);border-color:var(--alpine-cell-border-color,#dae1e7);border-radius:var(--alpine-cell-border-radius,0);border-style:solid;border-width:var(--alpine-cell-border-width,0 0 1px 0);cursor:default;display:var(--alpine-cell-display,block);justify-content:var(--alpine-cell-justify-content,flex-start);margin:0;min-width:0;overflow:hidden;padding:var(--alpine-cell-padding,2px 4px);position:absolute;text-overflow:var(--alpine-cell-text-overflow,ellipsis);vertical-align:middle;white-space:nowrap;z-index:1}.slick-cell.selected{background-color:var(--alpine-cell-selected-bg-color,#d4ebfd);color:var(--alpine-cell-selected-color,#181d1f)}.slick-cell.selected span a{color:#fff}.slick-cell.active{box-shadow:var(--alpine-cell-active-box-shadow,inset 0 0 0 1px #5da6e3)}.slick-cell.highlighted{background:#87cefa;background:rgba(0,0,255,.2);transition:all .5s}.slick-cell.flashing{border:1px solid red}.slick-cell.editable{border-style:solid;overflow:visible;z-index:11}.slick-cell:focus{outline:none}.slick-selection{border:2px dashed #000;position:absolute;z-index:10}.slick-header{background-color:var(--alpine-header-bg-color,#f8f8f8);border-bottom:1px solid var(--alpine-border-color,#dae1e7);color:var(--alpine-header-color,#181d1f);font-weight:var(--alpine-header-font-weight,bold)}.slick-header.slick-state-default{border-left:0;overflow:hidden;width:100%}.grid-header{background-color:var(--alpine-header-bg-color,#f8f8f8);border-color:var(--alpine-top-header-border-color,#dae1e7);border-style:solid;border-width:var(--alpine-top-header-border-width,1px 1px 0 1px);box-sizing:border-box;font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-top-header-font-size,15px);font-weight:var(--alpine-top-header-font-weight,bold);height:35px;padding:var(--alpine-top-header-padding,8px 6px 0 8px)}.slick-resizable-handle{border:0;box-shadow:var(--alpine-header-resizable-handle-box-shadow,inset 0 0 0 1px #dde2eb);cursor:col-resize;display:block;font-size:.1px;height:var(--alpine-header-resizable-handle-height,50%);position:absolute;right:0;top:var(--alpine-header-resizable-handle-top,25%);width:2px}.slick-reorder-guide,.slick-reorder-proxy{background:blue;display:inline-block}.slick-reorder-proxy{cursor:move;filter:alpha(opacity=15);opacity:.15}.slick-reorder-guide{filter:alpha(opacity=70);height:2px;opacity:.7}.slick-preheader-panel .slick-header-column,.slick-topheader-panel .slick-header-column{border-color:var(--alpine-preheader-border-color,#dae1e7);border-style:solid;border-width:var(--alpine-preheader-border-width,0)}.slick-header-column-active .slick-header-menubutton,.slick-header-column:hover>.slick-header-menubutton{display:inline-block}.slick-header-column{align-items:var(--alpine-header-align-items,flex-start);border-color:var(--alpine-header-border-color,#dae1e7);border-style:solid;border-width:var(--alpine-header-border-width,0);display:var(--alpine-header-display,inline-flex);height:var(--alpine-header-column-height,calc(23px*var(--alpine-header-name-row-count, 1)));justify-content:var(--alpine-header-justify-content,flex-start);line-height:var(--alpine-header-column-line-height,23px);margin:0;overflow:hidden;padding:4px;position:relative;vertical-align:var(--alpine-header-vertical-align,top);white-space:pre-wrap}.slick-header-column .slick-header-menubutton{background-color:var(--alpine-header-bg-color,#f8f8f8);background-image:none;bottom:0;cursor:pointer;display:none;position:absolute;right:0;top:0;width:var(--alpine-header-menubutton-width,18px)}.slick-header-column .slick-header-menubutton .caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;display:inline-block;height:0;margin-left:4px;margin-top:7px;vertical-align:middle;width:0}.slick-header-column .slick-header-menubutton.filtered{color:var(--alpine-header-menubutton-filtered-color,#3490dc)}.slick-header-column .slick-sort-indicator,.slick-header-column .slick-sort-indicator-numbered{color:var(--alpine-sort-indicator-color,#3490dc);-webkit-user-select:none;-moz-user-select:none;user-select:none}.slick-header-column .slick-sort-indicator{background-image:none;border-left:4px solid transparent;border-right:4px solid transparent;display:inline-block;height:0;margin:var(--alpine-sort-indicator-margin,5px 0 0 3px);vertical-align:middle;width:0}.slick-header-column .slick-sort-indicator-asc{border-bottom:4px dashed}.slick-header-column .slick-sort-indicator-desc{border-top:4px dashed}.slick-header-column .slick-sort-indicator-numbered{font-size:var(--alpine-sort-numbered-font-size,10px)}.slick-header-column.unorderable{background-color:var(--alpine-header-unorderable-bg-color,#f0f0f0)}.slick-header-columns{cursor:default;margin:0;overflow:hidden;padding:0;position:relative;white-space:nowrap}.slick-header-columns .slick-state-hover{background:var(--alpine-header-name-hover-bg-color,hsla(0,0%,74%,.267))}.slick-column-name,.slick-sort-indicator{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.slick-column-name{display:var(--alpine-header-name-display,block);flex-grow:var(--alpine-header-name-flex-grow,0);overflow:var(--alpine-header-name-overflow,hidden);text-overflow:var(--alpine-header-name-text-overflow,ellipsis);white-space:nowrap}.slick-footerrow,.slick-headerrow{background-color:var(--alpine-header-footer-bg-color,#fff);position:relative}.slick-footerrow.slick-state-default,.slick-headerrow.slick-state-default{border-left:0;overflow:hidden;width:100%}.slick-footerrow-columns,.slick-headerrow-columns{cursor:default;overflow:hidden;position:relative;white-space:nowrap}.slick-headerrow-columns{background-color:var(--alpine-headerrow-bg-color,#f8fafc);border-bottom:1px solid var(--alpine-border-color,#dae1e7);text-align:center}.slick-footerrow-column,.slick-headerrow-column{cursor:default;padding:4px;position:absolute;vertical-align:middle;white-space:nowrap;z-index:1}.slick-footerrow-column{border-color:var(--alpine-footerrow-border-color,#dae1e7);border-radius:var(--alpine-footerrow-border-radius,0);border-style:solid;border-width:var(--alpine-footerrow-border-width,1px 1px 1px 0);float:left;font-size:var(--alpine-footerrow-font-size,12px);line-height:20px;margin:0;overflow:ellipsis}.slick-headerrow-column{box-sizing:border-box;height:100%;overflow:hidden}.slick-headerrow-column input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;box-sizing:border-box;color:var(--alpine-font-color,#181d1f);height:100%;width:100%}.slick-header-menu{background:var(--alpine-header-bg-color,#f8f8f8);border:1px solid var(--alpine-border-color,#dae1e7);border-bottom-left-radius:var(--alpine-border-radius,0);border-bottom-right-radius:var(--alpine-border-radius,0);box-shadow:0 2px 4px 0 rgba(0,0,0,.1);color:var(--alpine-font-color,#181d1f);cursor:default;display:inline-block;font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-font-size,13px);margin:0;min-width:175px;padding:4px!important;position:absolute;z-index:100000}.slick-header-menu label{font-weight:400}.slick-header-menu button{border:1px solid transparent;border-radius:.25rem;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:var(--alpine-font-size,13px);font-weight:400;line-height:1.428571429;margin:2px;outline:0;overflow:visible;padding:6px 14px;text-align:center;text-transform:none;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.slick-header-menu button,.slick-header-menu button:hover{background-color:transparent;color:var(--alpine-font-color,#181d1f)}.slick-header-menu button:hover{border-color:var(--alpine-border-color,#dae1e7)}.slick-header-menu button.active.focus,.slick-header-menu button.active:focus,.slick-header-menu button.active:hover,.slick-header-menu button:active.focus,.slick-header-menu button:active:focus,.slick-header-menu button:active:hover{background-color:transparent;border-color:var(--alpine-border-color,#dae1e7);color:var(--alpine-font-color,#181d1f)}.slick-header-menu input.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;color:var(--alpine-font-color,#181d1f);padding:.5rem .75rem;width:100%}.slick-header-menu .filter,.slick-header-menu input.input{border:1px solid var(--alpine-border-color,#dae1e7);border-radius:.25rem}.slick-header-menu .filter{background:var(--alpine-bg-color,#fff);height:200px;margin-bottom:5px;margin-top:5px;max-height:200px;max-width:300px;overflow:scroll;padding:4px;white-space:nowrap}.slick-header-menu .filter label{display:block;font-size:var(--alpine-font-size,13px)}.slick-header-menuitem-disabled{color:silver}.slick-header-menuitem{align-items:center;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:flex;justify-content:space-between;list-style:none;margin:0;padding:0}.slick-header-menuitem .slick-header-menuicon{background-position:50%;background-repeat:no-repeat;display:inline-block;height:16px;margin-right:4px;vertical-align:middle;width:16px}.slick-header-menuitem .slick-header-menuicon.sort-asc,.slick-header-menuitem .slick-header-menuicon.sort-desc{border-left:4px solid transparent;border-right:4px solid transparent;display:inline-block;height:0;margin-left:8px;margin-top:0;vertical-align:middle;width:0}.slick-header-menuitem .slick-header-menuicon.sort-asc{border-bottom:4px dashed}.slick-header-menuitem .slick-header-menuicon.sort-desc{border-top:4px dashed}.slick-header-menuitem .slick-header-menucontent{display:inline-block;flex-grow:1;font-size:var(--alpine-font-size,13px);margin:var(--alpine-menu-content-margin,2px 4px);vertical-align:middle}.slick-header-menuitem:hover{border-color:var(--alpine-border-color,#dae1e7)}.slick-pane{box-sizing:border-box;outline:0;overflow:hidden;position:absolute;width:100%}.slick-pane-header{display:block}.slick-pager{align-items:center;background-color:var(--alpine-pager-bg-color,#f8f8f8);border-color:var(--alpine-pager-border-color,#dae1e7);border-radius:var(--alpine-pager-border-radius,0);border-style:solid;border-width:var(--alpine-pager-border-width,0 1px 1px 1px);box-sizing:border-box;color:var(--alpine-font-color,#181d1f);display:inline-flex;font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-font-size,13px);height:var(--alpine-pager-height,40px);padding:4px;vertical-align:middle;width:100%}.slick-pager .sgi{cursor:pointer}.slick-pager .sgi.sgi-state-disabled,.slick-pager .slick-icon-state-disabled{cursor:var(--alpine-pager-button-cursor-disabled,default)}.slick-pager .slick-pager-nav{height:100%}.slick-pager .slick-pager-nav .slick-icon-container{margin:var(--alpine-pager-button-margin,0 2px)}.slick-pager .slick-pager-nav .sgi-container{align-items:center;display:inline-flex;height:100%}.slick-pager .slick-pager-settings,.slick-pager .slick-pager-status{display:inline-block;font-size:var(--alpine-font-size,13px);padding:var(--alpine-pager-padding,6px)}.slick-pager .slick-pager-settings{align-items:center;-moz-column-gap:1px;column-gap:1px;display:flex;float:right;margin-left:auto}.slick-pager .slick-pager-settings a{cursor:pointer;padding:0 2px 2px;text-decoration:underline}.percent-complete-bar{border-radius:3px;display:inline-block;height:6px}.slick-cell-menu,.slick-columnpicker,.slick-context-menu,.slick-gridmenu,.slick-header-menu{background-color:var(--alpine-menu-bg-color,#fbfbfb);border:var(--alpine-menu-border,1px solid #babfc7);border-radius:var(--alpine-menu-border-radius,2px);box-shadow:var(--alpine-menu-box-shadow,none);color:var(--alpine-menu-color,#181d1f);font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-font-size,13px)}.slick-cell-menu button.close,.slick-columnpicker button.close,.slick-context-menu button.close,.slick-gridmenu button.close,.slick-header-menu button.close{background:var(--alpine-menu-close-btn-background,transparent);border:var(--alpine-menu-close-btn-border,1px solid #babfc7);cursor:pointer}.slick-cell-menu,.slick-context-menu{box-sizing:content-box}.slick-cell.selected.editable{background-color:#fff;border-radius:var(--alpine-cell-editable-border-radius,3px)}.slick-cell.editable{box-shadow:var(--alpine-cell-editable-box-shadow,inset 0 0 0 2px #3490dc)}.slick-cell.hidden{display:none}input.editor-checkbox,input.editor-percentcomplete,input.editor-text{border:0;height:100%;margin:0;outline:0;padding:0}input.editor-percentcomplete,input.editor-text{width:100%}input.editor-text{background:#fff}input.editor-percentcomplete{background:transparent;float:left}.editor-percentcomplete-picker{cursor:pointer;display:inline-block;overflow:visible;position:relative;z-index:1000}.editor-percentcomplete-picker .editor-percentcomplete-picker-icon{background-color:currentColor;color:inherit;display:inline-block;font-size:18px;height:1em;width:1em;--alpine-percent-complete-picker-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-percent-complete-picker-icon-svg) no-repeat;mask:var(--alpine-percent-complete-picker-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.editor-percentcomplete-picker:hover .editor-percentcomplete-helper{display:block}input[type=range].editor-percentcomplete-slider{background-color:#ccc;left:15px;position:absolute;top:125px;transform:rotate(270deg);transform-origin:left}.editor-percentcomplete-helper{display:none;height:140px;left:-9px;overflow:visible;padding-left:9px;position:absolute;top:-3px;width:120px}.editor-percentcomplete-wrapper{background:#f9f9f9;border:1px solid gray;height:98px;padding:20px 8px;position:relative;width:100%;width:120px}.editor-percentcomplete-buttons{float:right}.editor-percentcomplete-buttons button{margin-bottom:4px;width:80px}.editor-percentcomplete-slider{float:left}.editor-percentcomplete-helper:hover{display:block}select.editor-yesno{margin:0;vertical-align:middle;width:100%}.slick-composite-editor-modal,.slick-composite-editor-modal input,.slick-composite-editor-modal textarea{font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif)}.slick-large-editor-text{background:var(--alpine-large-editor-bg-color,#fff);border:var(--alpine-large-editor-border,2px solid #b0b0b0);border-radius:var(--alpine-large-editor-border-radius,8px);padding:5px;z-index:10000}.slick-large-editor-text button{margin-left:2px}.slick-large-editor-text button,.slick-large-editor-text textarea{color:var(--alpine-large-editor-color,#181d1f);font-family:var(--alpine-large-editor-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-large-editor-font-size,13px)}button.slick-btn{border:var(--alpine-button-border,1px solid #ccc);border-radius:var(--alpine-button-radius,2px);cursor:pointer;padding:var(--alpine-button-padding,2px 4px)}button.slick-btn.slick-btn-default{background-color:var(--alpine-button-bg-color,#fff)}button.slick-btn.slick-btn-default:hover{background-color:var(--alpine-button-default-hover-color,rgba(68,68,68,.1));border:var(--alpine-button-default-hover-border,1px solid #9c9c9c)}button.slick-btn.slick-btn-primary{background-color:var(--alpine-button-primary-bg-color,#fff);border-color:var(--alpine-button-primary-border-color,#2196f3);color:var(--alpine-button-primary-color,#2196f3)}button.slick-btn.slick-btn-primary:active{background-color:var(--alpine-button-primary-active-color,#2196f3)}button.slick-btn.slick-btn-primary:hover{background-color:var(--alpine-button-primary-hover-color,rgba(33,150,243,.1))}\n";
22580
+ if(typeof document!=="undefined")document.head.appendChild(document.createElement("style")).textContent="/*!\r\n * SlickGrid Alpine Theme\r\n * (c) 2009-2016 Michael Leibman\r\n * michael{dot}leibman{at}gmail{dot}com\r\n * original project: https://github.com/mleibman/slickgrid\r\n * project forked as: https://github.com/6pac/slickgrid\r\n *\r\n * Distributed under MIT license.\r\n * All rights reserved.\r\n */@keyframes fade{0%,to{background:none}50%{background:var(--alpine-row-highlight-fade-animation,1s linear)}}#myGrid,.slick-container{background-color:var(--alpine-grid-bgcolor,#fff);border-color:var(--alpine-border-color,#dae1e7);border-radius:var(--alpine-border-radius,0);border-style:solid;border-width:var(--alpine-border-width,1px);box-sizing:border-box;color:var(--alpine-font-color,#181d1f);font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-font-size,13px)}#myGrid.bottom-rounded,.slick-container.bottom-rounded{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}#myGrid .text-center,.slick-container .text-center{text-align:center}.slick-viewport{background-color:var(--alpine-bg-color,#fff)}.slick-viewport .grid-canvas{outline:0;position:relative}.slick-range-decorator{border:var(--alpine-range-border,3px solid #000);cursor:cell;z-index:9999}.slick-row.slick-state-active,.slick-row.ui-widget-content{border:0;position:absolute;width:100%}.slick-row.slick-state-active{background:var(--alpine-cell-selected-bg-color,#d4ebfd)}.slick-row .selected{background-color:var(--alpine-cell-selected-bg-color,#d4ebfd);color:var(--alpine-cell-selected-color,#181d1f);z-index:10}.slick-row.odd{background-color:var(--alpine-odd-row-color,#fbfbfb)}.slick-row:hover{background-color:var(--alpine-row-mouse-hover-color,#e8f4fe)}.slick-row.highlight-animate{animation:fade var(--alpine-row-highlight-fade-animation,1s linear);background:var(--alpine-row-highlight-background-color,#d9edfd)!important}.slick-groupby-remove{padding-right:10px}.slick-group{background-color:var(--alpine-header-bg-color,#f8f8f8);border-bottom:2px solid var(--alpine-border-color,#dae1e7)}.slick-group .slick-cell{padding-left:4px;padding-right:4px;text-align:left!important}.slick-group-toggle{background-color:currentColor;color:inherit;cursor:pointer;display:inline-block;font-size:18px;height:1em;margin-right:5px;opacity:var(--alpine-group-icon-opacity,.8);width:1em}.slick-group-toggle.expanded{--alpine-group-expanded-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M17,11V13H7V11H17Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-group-expanded-icon-svg) no-repeat;mask:var(--alpine-group-expanded-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.slick-group-toggle.collapsed{--alpine-group-collapsed-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M11,7H13V11H17V13H13V17H11V13H7V11H11V7Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-group-collapsed-icon-svg) no-repeat;mask:var(--alpine-group-collapsed-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.slick-group-totals{background:var(--alpine-bg-color,#fff);color:var(--alpine-font-color,#181d1f)}.slick-group-toggle-all{background-color:currentColor;color:inherit;cursor:pointer;display:inline-block;font-size:18px;height:1em;margin-right:5px;opacity:var(--alpine-group-icon-opacity,.8);width:1em}.slick-group-toggle-all.collapsed{--alpine-group-collapsed-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M11,7H13V11H17V13H13V17H11V13H7V11H11V7Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-group-collapsed-icon-svg) no-repeat;mask:var(--alpine-group-collapsed-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.slick-group-toggle-all.expanded{--alpine-group-expanded-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M17,11V13H7V11H17Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-group-expanded-icon-svg) no-repeat;mask:var(--alpine-group-expanded-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.slick-cell{align-items:var(--alpine-cell-align-items,center);border-color:var(--alpine-cell-border-color,#dae1e7);border-radius:var(--alpine-cell-border-radius,0);border-style:solid;border-width:var(--alpine-cell-border-width,0 0 1px 0);cursor:default;display:var(--alpine-cell-display,block);justify-content:var(--alpine-cell-justify-content,flex-start);margin:0;min-width:0;overflow:hidden;padding:var(--alpine-cell-padding,2px 4px);position:absolute;text-overflow:var(--alpine-cell-text-overflow,ellipsis);vertical-align:middle;white-space:nowrap;z-index:1}.slick-cell.selected{background-color:var(--alpine-cell-selected-bg-color,#d4ebfd);color:var(--alpine-cell-selected-color,#181d1f)}.slick-cell.selected span a{color:#fff}.slick-cell.active{box-shadow:var(--alpine-cell-active-box-shadow,inset 0 0 0 1px #5da6e3)}.slick-cell.highlighted{background:#87cefa;background:rgba(0,0,255,.2);transition:all .5s}.slick-cell.flashing{border:1px solid red}.slick-cell.editable{border-style:solid;overflow:visible;z-index:11}.slick-cell:focus{outline:none}.slick-selection{border:2px dashed #000;position:absolute;z-index:10}.slick-header{background-color:var(--alpine-header-bg-color,#f8f8f8);border-bottom:1px solid var(--alpine-border-color,#dae1e7);color:var(--alpine-header-color,#181d1f);font-weight:var(--alpine-header-font-weight,bold)}.slick-header.slick-state-default{border-left:0;overflow:hidden;width:100%}.grid-header{background-color:var(--alpine-header-bg-color,#f8f8f8);border-color:var(--alpine-top-header-border-color,#dae1e7);border-style:solid;border-width:var(--alpine-top-header-border-width,1px 1px 0 1px);box-sizing:border-box;font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-top-header-font-size,15px);font-weight:var(--alpine-top-header-font-weight,bold);height:35px;padding:var(--alpine-top-header-padding,8px 6px 0 8px)}.slick-resizable-handle{border:0;box-shadow:var(--alpine-header-resizable-handle-box-shadow,inset 0 0 0 1px #dde2eb);cursor:col-resize;display:block;font-size:.1px;height:var(--alpine-header-resizable-handle-height,50%);position:absolute;right:0;top:var(--alpine-header-resizable-handle-top,25%);width:2px}.slick-reorder-guide,.slick-reorder-proxy{background:blue;display:inline-block}.slick-reorder-proxy{cursor:move;filter:alpha(opacity=15);opacity:.15}.slick-reorder-guide{filter:alpha(opacity=70);height:2px;opacity:.7}.slick-preheader-panel .slick-header-column,.slick-topheader-panel .slick-header-column{border-color:var(--alpine-preheader-border-color,#dae1e7);border-style:solid;border-width:var(--alpine-preheader-border-width,0)}.slick-header-column-active .slick-header-menubutton,.slick-header-column:hover>.slick-header-menubutton{display:inline-block}.slick-header-column{align-items:var(--alpine-header-align-items,flex-start);border-color:var(--alpine-header-border-color,#dae1e7);border-style:solid;border-width:var(--alpine-header-border-width,0);display:var(--alpine-header-display,inline-flex);height:var(--alpine-header-column-height,calc(23px*var(--alpine-header-name-row-count, 1)));justify-content:var(--alpine-header-justify-content,flex-start);line-height:var(--alpine-header-column-line-height,23px);margin:0;overflow:hidden;padding:4px;position:relative;vertical-align:var(--alpine-header-vertical-align,top);white-space:pre-wrap}.slick-header-column .slick-header-menubutton{background-color:var(--alpine-header-bg-color,#f8f8f8);background-image:none;bottom:0;cursor:pointer;display:none;position:absolute;right:0;top:0;width:var(--alpine-header-menubutton-width,18px)}.slick-header-column .slick-header-menubutton .caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;display:inline-block;height:0;margin-left:4px;margin-top:7px;vertical-align:middle;width:0}.slick-header-column .slick-header-menubutton.filtered{color:var(--alpine-header-menubutton-filtered-color,#3490dc)}.slick-header-column .slick-sort-indicator,.slick-header-column .slick-sort-indicator-numbered{color:var(--alpine-sort-indicator-color,#3490dc);-webkit-user-select:none;-moz-user-select:none;user-select:none}.slick-header-column .slick-sort-indicator{background-image:none;border-left:4px solid transparent;border-right:4px solid transparent;display:inline-block;height:0;margin:var(--alpine-sort-indicator-margin,5px 0 0 3px);vertical-align:middle;width:0}.slick-header-column .slick-sort-indicator-asc{border-bottom:4px dashed}.slick-header-column .slick-sort-indicator-desc{border-top:4px dashed}.slick-header-column .slick-sort-indicator-numbered{font-size:var(--alpine-sort-numbered-font-size,10px)}.slick-header-column.unorderable{background-color:var(--alpine-header-unorderable-bg-color,#f0f0f0)}.slick-header-columns{cursor:default;margin:0;overflow:hidden;padding:0;position:relative;white-space:nowrap}.slick-header-columns .slick-state-hover{background:var(--alpine-header-name-hover-bg-color,hsla(0,0%,74%,.267))}.slick-column-name,.slick-sort-indicator{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.slick-column-name{display:var(--alpine-header-name-display,block);flex-grow:var(--alpine-header-name-flex-grow,0);overflow:var(--alpine-header-name-overflow,hidden);text-overflow:var(--alpine-header-name-text-overflow,ellipsis);white-space:nowrap}.slick-footerrow,.slick-headerrow{background-color:var(--alpine-header-footer-bg-color,#fff);position:relative}.slick-footerrow.slick-state-default,.slick-headerrow.slick-state-default{border-left:0;overflow:hidden;width:100%}.slick-footerrow-columns,.slick-headerrow-columns{cursor:default;overflow:hidden;position:relative;white-space:nowrap}.slick-headerrow-columns{background-color:var(--alpine-headerrow-bg-color,#f8fafc);border-bottom:1px solid var(--alpine-border-color,#dae1e7);text-align:center}.slick-footerrow-column,.slick-headerrow-column{cursor:default;padding:4px;position:absolute;vertical-align:middle;white-space:nowrap;z-index:1}.slick-footerrow-column{border-color:var(--alpine-footerrow-border-color,#dae1e7);border-radius:var(--alpine-footerrow-border-radius,0);border-style:solid;border-width:var(--alpine-footerrow-border-width,1px 1px 1px 0);float:left;font-size:var(--alpine-footerrow-font-size,12px);line-height:20px;margin:0;overflow:ellipsis}.slick-headerrow-column{box-sizing:border-box;height:100%;overflow:hidden}.slick-headerrow-column input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;box-sizing:border-box;color:var(--alpine-font-color,#181d1f);height:100%;width:100%}.slick-header-menu{background:var(--alpine-header-bg-color,#f8f8f8);border:1px solid var(--alpine-border-color,#dae1e7);border-bottom-left-radius:var(--alpine-border-radius,0);border-bottom-right-radius:var(--alpine-border-radius,0);box-shadow:0 2px 4px 0 rgba(0,0,0,.1);color:var(--alpine-font-color,#181d1f);cursor:default;display:inline-block;font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-font-size,13px);margin:0;min-width:175px;padding:4px!important;position:absolute;z-index:100000}.slick-header-menu label{font-weight:400}.slick-header-menu button{border:1px solid transparent;border-radius:.25rem;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:var(--alpine-font-size,13px);font-weight:400;line-height:1.428571429;margin:2px;outline:0;overflow:visible;padding:6px 14px;text-align:center;text-transform:none;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.slick-header-menu button,.slick-header-menu button:hover{background-color:transparent;color:var(--alpine-font-color,#181d1f)}.slick-header-menu button:hover{border-color:var(--alpine-border-color,#dae1e7)}.slick-header-menu button.active.focus,.slick-header-menu button.active:focus,.slick-header-menu button.active:hover,.slick-header-menu button:active.focus,.slick-header-menu button:active:focus,.slick-header-menu button:active:hover{background-color:transparent;border-color:var(--alpine-border-color,#dae1e7);color:var(--alpine-font-color,#181d1f)}.slick-header-menu input.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;color:var(--alpine-font-color,#181d1f);padding:.5rem .75rem;width:100%}.slick-header-menu .filter,.slick-header-menu input.input{border:1px solid var(--alpine-border-color,#dae1e7);border-radius:.25rem}.slick-header-menu .filter{background:var(--alpine-bg-color,#fff);height:200px;margin-bottom:5px;margin-top:5px;max-height:200px;max-width:300px;overflow:scroll;padding:4px;white-space:nowrap}.slick-header-menu .filter label{display:block;font-size:var(--alpine-font-size,13px)}.slick-header-menuitem-disabled{color:silver}.slick-header-menuitem{align-items:center;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:flex;justify-content:space-between;list-style:none;margin:0;padding:0}.slick-header-menuitem .slick-header-menuicon{background-position:50%;background-repeat:no-repeat;display:inline-block;height:16px;margin-right:4px;vertical-align:middle;width:16px}.slick-header-menuitem .slick-header-menuicon.sort-asc,.slick-header-menuitem .slick-header-menuicon.sort-desc{border-left:4px solid transparent;border-right:4px solid transparent;display:inline-block;height:0;margin-left:8px;margin-top:0;vertical-align:middle;width:0}.slick-header-menuitem .slick-header-menuicon.sort-asc{border-bottom:4px dashed}.slick-header-menuitem .slick-header-menuicon.sort-desc{border-top:4px dashed}.slick-header-menuitem .slick-header-menucontent{display:inline-block;flex-grow:1;font-size:var(--alpine-font-size,13px);margin:var(--alpine-menu-content-margin,2px 4px);vertical-align:middle}.slick-header-menuitem:hover{border-color:var(--alpine-border-color,#dae1e7)}.slick-pane{box-sizing:border-box;outline:0;overflow:hidden;position:absolute;width:100%}.slick-pane-header{display:block}.slick-pager{align-items:center;background-color:var(--alpine-pager-bg-color,#f8f8f8);border-color:var(--alpine-pager-border-color,#dae1e7);border-radius:var(--alpine-pager-border-radius,0);border-style:solid;border-width:var(--alpine-pager-border-width,0 1px 1px 1px);box-sizing:border-box;color:var(--alpine-font-color,#181d1f);display:inline-flex;font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-font-size,13px);height:var(--alpine-pager-height,40px);padding:4px;vertical-align:middle;width:100%}.slick-pager .sgi{cursor:pointer}.slick-pager .sgi.sgi-state-disabled,.slick-pager .slick-icon-state-disabled{cursor:var(--alpine-pager-button-cursor-disabled,default)}.slick-pager .slick-pager-nav{height:100%}.slick-pager .slick-pager-nav .slick-icon-container{margin:var(--alpine-pager-button-margin,0 2px)}.slick-pager .slick-pager-nav .sgi-container{align-items:center;display:inline-flex;height:100%}.slick-pager .slick-pager-settings,.slick-pager .slick-pager-status{display:inline-block;font-size:var(--alpine-font-size,13px);padding:var(--alpine-pager-padding,6px)}.slick-pager .slick-pager-settings{align-items:center;-moz-column-gap:1px;column-gap:1px;display:flex;float:right;margin-left:auto}.slick-pager .slick-pager-settings a{cursor:pointer;padding:0 2px 2px;text-decoration:underline}.percent-complete-bar{border-radius:3px;display:inline-block;height:6px}.slick-cell-menu,.slick-columnpicker,.slick-context-menu,.slick-gridmenu,.slick-header-menu{background-color:var(--alpine-menu-bg-color,#fbfbfb);border:var(--alpine-menu-border,1px solid #babfc7);border-radius:var(--alpine-menu-border-radius,2px);box-shadow:var(--alpine-menu-box-shadow,none);color:var(--alpine-menu-color,#181d1f);font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-font-size,13px)}.slick-cell-menu button.close,.slick-columnpicker button.close,.slick-context-menu button.close,.slick-gridmenu button.close,.slick-header-menu button.close{background:var(--alpine-menu-close-btn-background,transparent);border:var(--alpine-menu-close-btn-border,1px solid #babfc7);cursor:pointer}.slick-cell-menu,.slick-context-menu{box-sizing:content-box}.slick-cell.selected.editable{background-color:#fff;border-radius:var(--alpine-cell-editable-border-radius,3px)}.slick-cell.editable{box-shadow:var(--alpine-cell-editable-box-shadow,inset 0 0 0 2px #3490dc)}.slick-cell.hidden{display:none}input.editor-checkbox,input.editor-percentcomplete,input.editor-text{border:0;height:100%;margin:0;outline:0;padding:0}input.editor-percentcomplete,input.editor-text{width:100%}input.editor-text{background:#fff}input.editor-percentcomplete{background:transparent;float:left}.editor-percentcomplete-picker{cursor:pointer;display:inline-block;overflow:visible;position:relative;z-index:1000}.editor-percentcomplete-picker .editor-percentcomplete-picker-icon{background-color:currentColor;color:inherit;display:inline-block;font-size:18px;height:1em;width:1em;--alpine-percent-complete-picker-icon-svg:url('data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z\"/%3E%3C/svg%3E');-webkit-mask:var(--alpine-percent-complete-picker-icon-svg) no-repeat;mask:var(--alpine-percent-complete-picker-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.editor-percentcomplete-picker:hover .editor-percentcomplete-helper{display:block}input[type=range].editor-percentcomplete-slider{background-color:#ccc;left:15px;position:absolute;top:125px;transform:rotate(270deg);transform-origin:left}.editor-percentcomplete-helper{display:none;height:140px;left:-9px;overflow:visible;padding-left:9px;position:absolute;top:-3px;width:120px}.editor-percentcomplete-wrapper{background:#f9f9f9;border:1px solid gray;height:98px;padding:20px 8px;position:relative;width:100%;width:120px}.editor-percentcomplete-buttons{float:right}.editor-percentcomplete-buttons button{margin-bottom:4px;width:80px}.editor-percentcomplete-slider{float:left}.editor-percentcomplete-helper:hover{display:block}select.editor-yesno{margin:0;vertical-align:middle;width:100%}.slick-composite-editor-modal,.slick-composite-editor-modal input,.slick-composite-editor-modal textarea{font-family:var(--alpine-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif)}.slick-large-editor-text{background:var(--alpine-large-editor-bg-color,#fff);border:var(--alpine-large-editor-border,2px solid #b0b0b0);border-radius:var(--alpine-large-editor-border-radius,8px);padding:5px;z-index:10000}.slick-large-editor-text button{margin-left:2px}.slick-large-editor-text button,.slick-large-editor-text textarea{color:var(--alpine-large-editor-color,#181d1f);font-family:var(--alpine-large-editor-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif);font-size:var(--alpine-large-editor-font-size,13px)}button.slick-btn{border:var(--alpine-button-border,1px solid #ccc);border-radius:var(--alpine-button-radius,2px);cursor:pointer;padding:var(--alpine-button-padding,2px 4px)}button.slick-btn.slick-btn-default{background-color:var(--alpine-button-bg-color,#fff)}button.slick-btn.slick-btn-default:hover{background-color:var(--alpine-button-default-hover-color,rgba(68,68,68,.1));border:var(--alpine-button-default-hover-border,1px solid #9c9c9c)}button.slick-btn.slick-btn-primary{background-color:var(--alpine-button-primary-bg-color,#fff);border-color:var(--alpine-button-primary-border-color,#2196f3);color:var(--alpine-button-primary-color,#2196f3)}button.slick-btn.slick-btn-primary:active{background-color:var(--alpine-button-primary-active-color,#2196f3)}button.slick-btn.slick-btn-primary:hover{background-color:var(--alpine-button-primary-hover-color,rgba(33,150,243,.1))}\r\n";
22520
22581
 
22521
22582
  const DataGrid = _ref => {
22522
22583
  let {
@@ -23259,7 +23320,7 @@ const TimeComponent = _ref => {
23259
23320
  const hasSeparator = index !== array.length - 1;
23260
23321
  return React.createElement(InputsGroup, {
23261
23322
  key: `time-input-${index}`
23262
- }, React.createElement(Input, {
23323
+ }, React.createElement(Input$1, {
23263
23324
  width: "2.6rem",
23264
23325
  label: !hasLabel ? "" : hasSeparator ? `${(timeLabelText || timeLabel)[key]} :` : (timeLabelText || timeLabel)[key],
23265
23326
  id: key,
@@ -25047,7 +25108,7 @@ const RangeNumberInputComponent = _ref => {
25047
25108
  anchor: ref => React.createElement(Anchor, {
25048
25109
  width: "100%",
25049
25110
  className: className
25050
- }, React.createElement(Input, {
25111
+ }, React.createElement(Input$1, {
25051
25112
  innerRef: ref,
25052
25113
  label: label,
25053
25114
  width: "100%",
@@ -25257,7 +25318,7 @@ _ref => {
25257
25318
  case "int64":
25258
25319
  case "int32":
25259
25320
  if (fromTable && selectedOption != null && selectedOption.range) {
25260
- return React.createElement(Input, {
25321
+ return React.createElement(Input$1, {
25261
25322
  label: label,
25262
25323
  width: "100%",
25263
25324
  iconBefore: prefix ?? renderMenu(options),
@@ -25301,7 +25362,7 @@ _ref => {
25301
25362
 
25302
25363
  case "string":
25303
25364
  if (fromTable && selectedOption != null && selectedOption.checkboxes) {
25304
- return React.createElement(Input, {
25365
+ return React.createElement(Input$1, {
25305
25366
  label: label,
25306
25367
  width: "100%",
25307
25368
  iconBefore: prefix ?? renderMenu(options),
@@ -25339,7 +25400,7 @@ _ref => {
25339
25400
  },
25340
25401
  onBlur: () => onFilterChange(selectedOption, filterValue !== "" ? filterValue : null),
25341
25402
  active: active
25342
- }, !isDisabled ? renderClearButton : undefined) : React.createElement(Input, {
25403
+ }, !isDisabled ? renderClearButton : undefined) : React.createElement(Input$1, {
25343
25404
  label: label,
25344
25405
  width: "100%",
25345
25406
  iconBefore: prefix ?? renderMenu(options),
@@ -28157,7 +28218,7 @@ const useObserveRect = () => {
28157
28218
 
28158
28219
  return () => rectObserver.current && rectObserver.current.unobserve();
28159
28220
  }, [node]);
28160
- const ref = useCallback(onSetNode, []);
28221
+ const ref = useCallback(onSetNode, [onSetNode]);
28161
28222
  return [ref, rect];
28162
28223
  };
28163
28224
 
@@ -31240,5 +31301,5 @@ const JSONEditorBase = _ref => {
31240
31301
 
31241
31302
  const JSONEditor = /*#__PURE__*/memo(JSONEditorBase);
31242
31303
 
31243
- export { ActionButton, Actions, ActionsGroup, AdditionalInfo, AnchorContainer, AutoComplete, BaseButton, Blank, Box, ButtonsGroup, ButtonsGroupComponent, CSSTransition, Card, CardBodyContainer, Header$1 as CardHeader, ImageGradientOverlay as CardImageGradientOverlay, ImageOverlay as CardImageOverlay, CardLoader, Checkbox, CheckboxComponent, Chip, ChipAutoCompleDivider, ChipAutoCompleSlider, ChipAutoComplete, ChipAutoCompleteControlFlex, ChipAutoCompleteImagePlaceholder, ChipAutoCompleteItem, ChipAutoCompleteItemIcon, ChipAutoCompleteItemImage, ChipAutoCompleteMode, ChipAutoCompleteTags, ChipContainer, ChipInput, Circle, CircularProgress, Collapse, CollapseWrapper, ColorButton, ColorInput, ColorPicker, ComparisonOperator, Container$5 as Container, CustomButton, CustomToggle, DATE_FORMAT, DATE_TIME_FORMAT, DataGrid, DatePicker, Description, Dialog, DialogActions, DialogComponent, DialogContent, DialogOverlay, DialogTitle, Divider, DividerLine, DragAreaWrapper, DraggableTree, DraggableTreeContainer, DraggableTreeItem, DropHereTitle, Dropdown, DropdownContainer, DropdownField, ElementsArea, Expander, FILE_SIZE_STEP, FadingIcon, FieldValue, FileExt, FileInfoComment, FileInfoName, FileInfoProgress, FileInfoTitle, FileSymbolContainer, FilterInput, FlatButton, Flex, FlexSpan, FocusTrap, GlobalsContainer, H1, H2, H3, H4, Handlers, HueMap, HueSlider, selection as IcoMoonSelection, Icon, IconButton, IconButtonButton, IconButtonInnerChild, IconMenu, IconToggle, IconToggleButton, IconToggleText, Image, ImageLoader, InjectGlobalStyles, Input, InputLabel, InputsGroup, InputsGroupContainer, InputsGroupELement, InputsGroupElements, InputsGroupLabel, ItemContainer, JSONEditor, JSONEditorContainer, JSONEditorLinearProgress, JSONEditorWrapper, Label$2 as Label, LabeledTextarea, LeftSide, LegendToggler, LinearLoader, LinearProgress, Link, ListTransition, LoadMoreButton, LoadingContainer, MAX_NUMBER, MB_FILE_SIZE, MIN_NUMBER, MaskedComponent, Menu, MenuContainer, Message, MultiSelectContainer, Notifications, NumberInput, NumberRangeContainer, NumberRangeInputContainer, NumberRangeSlider, NumberRangeSliderContainer, NumberRangeSliderLabel, OpacitySlider, Option, OptionContainer, OptionDescription, OptionIcon, OptionText, OptionValueContainer, OptionValueWrapper, PaginationFull, PaginationSimple, Paragraph, PasswordToggle, Placeholder, Popover, PopoverTransition, Popup$1 as Popup, Portal, Preview, Radio$1 as Radio, RadioGroup, RaisedButton, RangeDateInput, RangeDatePicker, RangeNumberInput, RangeSliderButtons, RangeSliderContainer, RatioLine, RegularIconButton, SEPARATED_TIME_FORMAT, SearchField, SearchInputContainer, SelectFromComputerTitle, SimpleInput, Slider, SliderContainer$2 as SliderContainer, HandleContainer as SliderHandle, Label$1 as SliderLabel, LowerTrackBackground as SliderLowerTrackBackground, SliderPopover, Track as SliderTrack, SortToggle, Spinner, Stepper, Switch, SwitchArea, SwitchContainer, SwitchTitle, Switcher, SymbolLibrary, SymbolPreview, THROTTLING_DELAY, TIME_FORMAT, TabBlock, TabContainer, TabContainerLine, Tabs, Text, TextTrim, Textarea, ThemeProvider, Tippy, TitleText, Tooltip, TooltipContent, Tree, TreeContainer, TreeContent, TreeDescription, TreeExpand, TreeItem, TreeItemWrapper, TreeItems, TreeRow, TreeText, UnicodeBig, UnicodeSmall, Uploader, UploaderItemArea, UploaderItemsContainer, UploaderTitle, UploaderTitleContainer, UploaderTitleImage, UploaderTitleWrapper, ValueLink, WaitingButton, WaitingButtonComponent, WithLabelContainer, Wizard, addItem, borderRadius, buttonMixin, clamp, cloneWithRefs, collapseDuration, combineRefs, createColorOrMono, createIconColors, createLinkStates, createMessageColors, createTheme, createToggleStates, createVariants, cropLeftBorderRadius, cropRightBorderRadius, theme$1 as darkTheme, dateFormat, defaultOptions, defaultStub, theme as defaultTheme, fileSizeFormat, findTreeItemById, fonts, getChipColor, getColorOrMono, getHighlightParts, getIconColors, getLinkColors, getLocale, getMessageColors, getNumberFromPixels, getRealChildren, getTagColor, getTextWidth, getTheme, getToggleStates, getUnicodeFromString, getVariant, horizontalDivider, iconTypes, injectIcon, isDefined, isDescendant, isDomNode, isNumeric, isOutside, isReactDomElement, isReactElement, isSimpleStyledComponent, isTextFitElementWidth, isTouchDevice, isValidUrl, mapToSimpleOption, palette, photo, preventDefault, randomInteger, randomRgba, rangeValueFormat, removeItem, replaceTreeItemById, sendRefSafety, shadows, sortNumbers, stub, textOverflowEllipsisMixin, toNumber, toSimpleOption, transition, transparencyDark2, transparencyDark4, Transparency_dark8 as transparencyDark8, transparencyLight2, transparencyLight4, Transparency_light8 as transparencyLight8, typeId, urlify, useAsyncAutocomplete, useDelayedStyleLoader, useDialogShadow, useDragAndDropEffect, useEventListener, useForceUpdate, useMounted, useMutationObserver, usePrevValue, useStyleLoader, useTheme, useThrottling, useToggle, useUndraggableEffect, useUnselectableEffect, verticalDivider, withLabel };
31304
+ export { ActionButton, Actions, ActionsGroup, AdditionalInfo, AnchorContainer, AutoComplete, BaseButton, Blank, Box, ButtonsGroup, ButtonsGroupComponent, CSSTransition, Card, CardBodyContainer, Header$1 as CardHeader, ImageGradientOverlay as CardImageGradientOverlay, ImageOverlay as CardImageOverlay, CardLoader, Checkbox, CheckboxComponent, Chip, ChipAutoCompleDivider, ChipAutoCompleSlider, ChipAutoComplete, ChipAutoCompleteControlFlex, ChipAutoCompleteImagePlaceholder, ChipAutoCompleteItem, ChipAutoCompleteItemIcon, ChipAutoCompleteItemImage, ChipAutoCompleteMode, ChipAutoCompleteTags, ChipContainer, ChipInput, Circle, CircularProgress, Collapse, CollapseWrapper, ColorButton, ColorInput, ColorPicker, ComparisonOperator, Container$5 as Container, CustomButton, CustomToggle, DATE_FORMAT, DATE_TIME_FORMAT, DataGrid, DatePicker, Description, Dialog, DialogActions, DialogComponent, DialogContent, DialogOverlay, DialogTitle, Divider, DividerLine, DragAreaWrapper, DraggableTree, DraggableTreeContainer, DraggableTreeItem, DropHereTitle, Dropdown, DropdownContainer, DropdownField, ElementsArea, Expander, FILE_SIZE_STEP, FadingIcon, FieldValue, FileExt, FileInfoComment, FileInfoName, FileInfoProgress, FileInfoTitle, FileSymbolContainer, FilterInput, FlatButton, Flex, FlexSpan, FocusTrap, GlobalsContainer, H1, H2, H3, H4, Handlers, HueMap, HueSlider, selection as IcoMoonSelection, Icon, IconButton, IconButtonButton, IconButtonInnerChild, IconMenu, IconToggle, IconToggleButton, IconToggleText, Image, ImageLoader, InjectGlobalStyles, Input$1 as Input, InputsGroup, InputsGroupContainer, InputsGroupELement, InputsGroupElements, InputsGroupLabel, ItemContainer, JSONEditor, JSONEditorContainer, JSONEditorLinearProgress, JSONEditorWrapper, Label$2 as Label, LabeledTextarea, LeftSide, LegendToggler, LinearLoader, LinearProgress, Link, ListTransition, LoadMoreButton, LoadingContainer, MAX_NUMBER, MB_FILE_SIZE, MIN_NUMBER, MaskedComponent, Menu, MenuContainer, Message, MultiSelectContainer, Notifications, NumberInput, NumberRangeContainer, NumberRangeInputContainer, NumberRangeSlider, NumberRangeSliderContainer, NumberRangeSliderLabel, OpacitySlider, Option, OptionContainer, OptionDescription, OptionIcon, OptionText, OptionToggler, OptionValueContainer, OptionValueWrapper, PaginationFull, PaginationSimple, Paragraph, PasswordToggle, Placeholder, Popover, PopoverTransition, Popup$1 as Popup, Portal, Preview, Radio$1 as Radio, RadioGroup, RaisedButton, RangeDateInput, RangeDatePicker, RangeNumberInput, RatioLine, RegularIconButton, SEPARATED_TIME_FORMAT, SearchField, SearchInputContainer, SelectFromComputerTitle, SimpleInput, Slider, SliderContainer$2 as SliderContainer, HandleContainer as SliderHandle, Label$1 as SliderLabel, LowerTrackBackground as SliderLowerTrackBackground, SliderPopover, Track as SliderTrack, SortToggle, Spinner, Stepper, Switch, SwitchArea, SwitchContainer, SwitchTitle, Switcher, SymbolLibrary, SymbolPreview, THROTTLING_DELAY, TIME_FORMAT, TabBlock, TabContainer, TabContainerLine, Tabs, Text, TextTrim, Textarea, ThemeProvider, Tippy, TitleText, Tooltip, TooltipContent, Tree, TreeContainer, TreeContent, TreeDescription, TreeExpand, TreeItem, TreeItemWrapper, TreeItems, TreeRow, TreeText, UnicodeBig, UnicodeSmall, Uploader, UploaderItemArea, UploaderItemsContainer, UploaderTitle, UploaderTitleContainer, UploaderTitleImage, UploaderTitleWrapper, ValueLink, WaitingButton, WaitingButtonComponent, WithLabelContainer, Wizard, addItem, borderRadius, buttonMixin, clamp, cloneWithRefs, collapseDuration, combineRefs, createColorOrMono, createIconColors, createLinkStates, createMessageColors, createTheme, createToggleStates, createVariants, cropLeftBorderRadius, cropRightBorderRadius, theme$1 as darkTheme, dateFormat, defaultOptions, defaultStub, theme as defaultTheme, fileSizeFormat, findTreeItemById, fonts, getChipColor, getColorOrMono, getHighlightParts, getIconColors, getLinkColors, getLocale, getMessageColors, getNumberFromPixels, getRealChildren, getTagColor, getTextWidth, getTheme, getToggleStates, getUnicodeFromString, getVariant, horizontalDivider, iconTypes, injectIcon, isDefined, isDescendant, isDomNode, isNumeric, isOutside, isReactDomElement, isReactElement, isSimpleStyledComponent, isTextFitElementWidth, isTouchDevice, isValidUrl, mapToSimpleOption, palette, photo, preventDefault, randomInteger, randomRgba, rangeValueFormat, removeItem, replaceTreeItemById, sendRefSafety, shadows, sortNumbers, stub, textOverflowEllipsisMixin, toNumber, toSimpleOption, transition, transparencyDark2, transparencyDark4, Transparency_dark8 as transparencyDark8, transparencyLight2, transparencyLight4, Transparency_light8 as transparencyLight8, typeId, urlify, useAsyncAutocomplete, useDelayedStyleLoader, useDialogShadow, useDragAndDropEffect, useEventListener, useForceUpdate, useMounted, useMutationObserver, usePrevValue, useStyleLoader, useTheme, useThrottling, useToggle, useUndraggableEffect, useUnselectableEffect, verticalDivider, withLabel };
31244
31305
  //# sourceMappingURL=uilib-gl.esm.js.map