@cloud-ru/ds-ai-suggestion 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +201 -0
  3. package/README.md +226 -0
  4. package/dist/cjs/AiSuggestionParent/AiSuggestionParent.d.ts +7 -0
  5. package/dist/cjs/AiSuggestionParent/AiSuggestionParent.js +107 -0
  6. package/dist/cjs/AiSuggestionParent/AiSuggestionParentChip.d.ts +26 -0
  7. package/dist/cjs/AiSuggestionParent/AiSuggestionParentChip.js +24 -0
  8. package/dist/cjs/AiSuggestionParent/animation/AnimatedExpandableItem.d.ts +12 -0
  9. package/dist/cjs/AiSuggestionParent/animation/AnimatedExpandableItem.js +24 -0
  10. package/dist/cjs/AiSuggestionParent/animation/constants.d.ts +33 -0
  11. package/dist/cjs/AiSuggestionParent/animation/constants.js +69 -0
  12. package/dist/cjs/AiSuggestionParent/animation/styles.module.css +23 -0
  13. package/dist/cjs/AiSuggestionParent/constants.d.ts +9 -0
  14. package/dist/cjs/AiSuggestionParent/constants.js +12 -0
  15. package/dist/cjs/AiSuggestionParent/context/AiSuggestionParentGroupContext.d.ts +13 -0
  16. package/dist/cjs/AiSuggestionParent/context/AiSuggestionParentGroupContext.js +25 -0
  17. package/dist/cjs/AiSuggestionParent/index.d.ts +4 -0
  18. package/dist/cjs/AiSuggestionParent/index.js +24 -0
  19. package/dist/cjs/AiSuggestionParent/styles.module.css +156 -0
  20. package/dist/cjs/AiSuggestionParent/types.d.ts +44 -0
  21. package/dist/cjs/AiSuggestionParent/types.js +2 -0
  22. package/dist/cjs/AiSuggestionParent/utils/hasExclusiveParentGroup.d.ts +2 -0
  23. package/dist/cjs/AiSuggestionParent/utils/hasExclusiveParentGroup.js +7 -0
  24. package/dist/cjs/AiSuggestionParent/utils/itemGuards.d.ts +3 -0
  25. package/dist/cjs/AiSuggestionParent/utils/itemGuards.js +11 -0
  26. package/dist/cjs/AiSuggestionSimple/AiSuggestionSimple.d.ts +18 -0
  27. package/dist/cjs/AiSuggestionSimple/AiSuggestionSimple.js +17 -0
  28. package/dist/cjs/AiSuggestionSimple/constants.d.ts +18 -0
  29. package/dist/cjs/AiSuggestionSimple/constants.js +21 -0
  30. package/dist/cjs/AiSuggestionSimple/index.d.ts +3 -0
  31. package/dist/cjs/AiSuggestionSimple/index.js +24 -0
  32. package/dist/cjs/AiSuggestionSimple/styles.module.css +138 -0
  33. package/dist/cjs/AiSuggestionSimple/types.d.ts +5 -0
  34. package/dist/cjs/AiSuggestionSimple/types.js +2 -0
  35. package/dist/cjs/AiSuggestionSimple/utils.d.ts +2 -0
  36. package/dist/cjs/AiSuggestionSimple/utils.js +7 -0
  37. package/dist/cjs/index.d.ts +2 -0
  38. package/dist/cjs/index.js +18 -0
  39. package/dist/cjs/package.json +3 -0
  40. package/dist/cjs/style.css +317 -0
  41. package/dist/esm/AiSuggestionParent/AiSuggestionParent.d.ts +7 -0
  42. package/dist/esm/AiSuggestionParent/AiSuggestionParent.js +101 -0
  43. package/dist/esm/AiSuggestionParent/AiSuggestionParentChip.d.ts +26 -0
  44. package/dist/esm/AiSuggestionParent/AiSuggestionParentChip.js +18 -0
  45. package/dist/esm/AiSuggestionParent/animation/AnimatedExpandableItem.d.ts +12 -0
  46. package/dist/esm/AiSuggestionParent/animation/AnimatedExpandableItem.js +17 -0
  47. package/dist/esm/AiSuggestionParent/animation/constants.d.ts +33 -0
  48. package/dist/esm/AiSuggestionParent/animation/constants.js +63 -0
  49. package/dist/esm/AiSuggestionParent/animation/styles.module.css +23 -0
  50. package/dist/esm/AiSuggestionParent/constants.d.ts +9 -0
  51. package/dist/esm/AiSuggestionParent/constants.js +9 -0
  52. package/dist/esm/AiSuggestionParent/context/AiSuggestionParentGroupContext.d.ts +13 -0
  53. package/dist/esm/AiSuggestionParent/context/AiSuggestionParentGroupContext.js +21 -0
  54. package/dist/esm/AiSuggestionParent/index.d.ts +4 -0
  55. package/dist/esm/AiSuggestionParent/index.js +4 -0
  56. package/dist/esm/AiSuggestionParent/styles.module.css +156 -0
  57. package/dist/esm/AiSuggestionParent/types.d.ts +44 -0
  58. package/dist/esm/AiSuggestionParent/types.js +1 -0
  59. package/dist/esm/AiSuggestionParent/utils/hasExclusiveParentGroup.d.ts +2 -0
  60. package/dist/esm/AiSuggestionParent/utils/hasExclusiveParentGroup.js +4 -0
  61. package/dist/esm/AiSuggestionParent/utils/itemGuards.d.ts +3 -0
  62. package/dist/esm/AiSuggestionParent/utils/itemGuards.js +7 -0
  63. package/dist/esm/AiSuggestionSimple/AiSuggestionSimple.d.ts +18 -0
  64. package/dist/esm/AiSuggestionSimple/AiSuggestionSimple.js +11 -0
  65. package/dist/esm/AiSuggestionSimple/constants.d.ts +18 -0
  66. package/dist/esm/AiSuggestionSimple/constants.js +18 -0
  67. package/dist/esm/AiSuggestionSimple/index.d.ts +3 -0
  68. package/dist/esm/AiSuggestionSimple/index.js +3 -0
  69. package/dist/esm/AiSuggestionSimple/styles.module.css +138 -0
  70. package/dist/esm/AiSuggestionSimple/types.d.ts +5 -0
  71. package/dist/esm/AiSuggestionSimple/types.js +1 -0
  72. package/dist/esm/AiSuggestionSimple/utils.d.ts +2 -0
  73. package/dist/esm/AiSuggestionSimple/utils.js +4 -0
  74. package/dist/esm/index.d.ts +2 -0
  75. package/dist/esm/index.js +2 -0
  76. package/dist/esm/style.css +317 -0
  77. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  78. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  79. package/package.json +45 -0
  80. package/src/AiSuggestionParent/AiSuggestionParent.tsx +257 -0
  81. package/src/AiSuggestionParent/AiSuggestionParentChip.tsx +79 -0
  82. package/src/AiSuggestionParent/animation/AnimatedExpandableItem.tsx +53 -0
  83. package/src/AiSuggestionParent/animation/constants.ts +77 -0
  84. package/src/AiSuggestionParent/animation/styles.module.scss +25 -0
  85. package/src/AiSuggestionParent/constants.ts +10 -0
  86. package/src/AiSuggestionParent/context/AiSuggestionParentGroupContext.tsx +44 -0
  87. package/src/AiSuggestionParent/index.ts +4 -0
  88. package/src/AiSuggestionParent/styles.module.scss +197 -0
  89. package/src/AiSuggestionParent/types.ts +49 -0
  90. package/src/AiSuggestionParent/utils/hasExclusiveParentGroup.ts +6 -0
  91. package/src/AiSuggestionParent/utils/itemGuards.ts +10 -0
  92. package/src/AiSuggestionSimple/AiSuggestionSimple.tsx +72 -0
  93. package/src/AiSuggestionSimple/constants.ts +21 -0
  94. package/src/AiSuggestionSimple/index.ts +3 -0
  95. package/src/AiSuggestionSimple/styles.module.scss +166 -0
  96. package/src/AiSuggestionSimple/types.ts +7 -0
  97. package/src/AiSuggestionSimple/utils.ts +6 -0
  98. package/src/index.ts +2 -0
@@ -0,0 +1,138 @@
1
+ @charset "UTF-8";
2
+ .label{
3
+ overflow:hidden;
4
+ text-overflow:ellipsis;
5
+ white-space:nowrap;
6
+ }
7
+
8
+ .icon{
9
+ color:currentcolor;
10
+ }
11
+
12
+ .chip{
13
+ cursor:pointer;
14
+ position:relative;
15
+ display:inline-flex;
16
+ align-items:center;
17
+ justify-content:center;
18
+ box-sizing:border-box;
19
+ margin:0;
20
+ padding:0;
21
+ border:var(--sn-primitive-strokeWeight-strokeRegular, 1px) solid transparent;
22
+ border-radius:var(--sn-primitive-dimension-full, 10000px);
23
+ font-family:inherit;
24
+ text-decoration:none;
25
+ background-color:transparent;
26
+ outline:0;
27
+ outline-offset:0;
28
+ transition:background-color 120ms ease, border-color 120ms ease, color 120ms ease;
29
+ }
30
+ .chip:disabled, .chip[data-disabled]{
31
+ cursor:not-allowed;
32
+ opacity:var(--sn-theme-effect-opacity-disabled, 0.4);
33
+ }
34
+ .chip:focus-visible{
35
+ background-color:transparent;
36
+ outline:var(--sn-primitive-strokeWeight-strokeSemiBold, 2px) solid var(--sn-theme-color-primary-accent, var(--sn-brand-color-primary-55, var(--sn-brandRole-color-brandA-55, var(--sn-primitive-color-brandA-55, #389f74))));
37
+ outline-offset:var(--sn-primitive-dimension-2, 2px);
38
+ }
39
+ .chip[data-size=s]{
40
+ font-family:var(--sn-regular-label-m-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
41
+ font-weight:var(--sn-regular-label-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-m, var(--sn-brand-font-fontWeight-light-regular-label-m, var(--sn-primitive-font-fontWeightValue-550, 550))));
42
+ line-height:var(--sn-regular-label-m-lineHeight, var(--sn-density-typography-roleLabel-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
43
+ font-size:var(--sn-regular-label-m-fontSize, var(--sn-density-typography-roleLabel-fontSizeM, var(--sn-primitive-font-fontSize-16, 16px)));
44
+ letter-spacing:var(--sn-regular-label-m-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
45
+ paragraph-spacing:var(--sn-regular-label-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize12, 6px));
46
+ height:var(--sn-primitive-dimension-32, 32px);
47
+ padding-inline:var(--sn-primitive-dimension-4, 4px);
48
+ }
49
+ .chip[data-size=s] .icon{
50
+ display:flex;
51
+ flex-shrink:0;
52
+ align-items:center;
53
+ justify-content:center;
54
+ width:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
55
+ height:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
56
+ }
57
+ .chip[data-size=s] .icon > svg{
58
+ max-width:100%;
59
+ max-height:100%;
60
+ }
61
+ .chip[data-size=s] .labelContainer{
62
+ padding-inline:var(--sn-primitive-dimension-4, 4px);
63
+ }
64
+ .chip[data-size=m]{
65
+ font-family:var(--sn-regular-label-l-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
66
+ font-weight:var(--sn-regular-label-l-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-l, var(--sn-brand-font-fontWeight-light-regular-label-l, var(--sn-primitive-font-fontWeightValue-550, 550))));
67
+ line-height:var(--sn-regular-label-l-lineHeight, var(--sn-density-typography-roleLabel-lineHeightL, var(--sn-primitive-font-lineHeight-by20, 28px)));
68
+ font-size:var(--sn-regular-label-l-fontSize, var(--sn-density-typography-roleLabel-fontSizeL, var(--sn-primitive-font-fontSize-20, 20px)));
69
+ letter-spacing:var(--sn-regular-label-l-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
70
+ paragraph-spacing:var(--sn-regular-label-l-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize14, 7px));
71
+ height:var(--sn-primitive-dimension-40, 40px);
72
+ padding-inline:var(--sn-primitive-dimension-8, 8px);
73
+ }
74
+ .chip[data-size=m] .icon{
75
+ display:flex;
76
+ flex-shrink:0;
77
+ align-items:center;
78
+ justify-content:center;
79
+ width:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
80
+ height:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
81
+ }
82
+ .chip[data-size=m] .icon > svg{
83
+ max-width:100%;
84
+ max-height:100%;
85
+ }
86
+ .chip[data-size=m] .labelContainer{
87
+ padding-inline:var(--sn-primitive-dimension-8, 8px);
88
+ }
89
+ .chip:focus-visible{
90
+ background-color:var(--sn-theme-color-primary-background1Level);
91
+ }
92
+ .chip[data-appearance=primary]{
93
+ border-color:var(--sn-theme-color-material-stateLayer-activated-default-filled, var(--sn-brand-color-state-activated-default-background, var(--sn-brandRole-color-brandA-backgroundActivatedDefault, rgba(56, 159, 116, 0.1490196078))));
94
+ }
95
+ .chip[data-appearance=primary] .icon,
96
+ .chip[data-appearance=primary] .label{
97
+ color:var(--sn-theme-color-primary-text, var(--sn-brand-color-primary-45, var(--sn-brandRole-color-brandA-45, var(--sn-primitive-color-brandA-45, #22775b))));
98
+ }
99
+ @media (hover: hover){
100
+ .chip[data-appearance=primary]:hover:not(:disabled, [data-disabled]){
101
+ border-color:var(--sn-theme-color-material-stateLayer-activated-hovered-filled, var(--sn-brand-color-state-activated-hovered-background, var(--sn-brandRole-color-brandA-backgroundActivatedHovered, rgba(56, 159, 116, 0.3490196078))));
102
+ background-color:var(--sn-theme-color-primary-background1Level, var(--sn-brand-color-primary-95, var(--sn-brandRole-color-brandA-95, var(--sn-primitive-color-brandA-95, #f5fdf8))));
103
+ }
104
+ }
105
+ .chip:focus-visible{
106
+ background-color:var(--sn-theme-color-neutral-background1Level);
107
+ }
108
+ .chip[data-appearance=neutral]{
109
+ border-color:var(--sn-theme-color-material-stateLayer-neutral-border-default-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-default-borderColor, rgba(159, 166, 198, 0.3019607843)));
110
+ }
111
+ .chip[data-appearance=neutral] .icon,
112
+ .chip[data-appearance=neutral] .label{
113
+ color:var(--sn-theme-color-neutral-text, var(--sn-brand-color-neutral-45, var(--sn-primitive-color-gray-45, #81869c)));
114
+ }
115
+ @media (hover: hover){
116
+ .chip[data-appearance=neutral]:hover:not(:disabled, [data-disabled]){
117
+ border-color:var(--sn-theme-color-material-stateLayer-neutral-border-hovered-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-hovered-borderColor, rgba(159, 166, 198, 0.6509803922)));
118
+ background-color:var(--sn-theme-color-neutral-background1Level, var(--sn-brand-color-neutral-95, var(--sn-primitive-color-gray-95, #fdfdfd)));
119
+ }
120
+ .chip[data-appearance=neutral]:hover:not(:disabled, [data-disabled]) .icon, .chip[data-appearance=neutral]:hover:not(:disabled, [data-disabled]) .label{
121
+ color:var(--sn-theme-color-available-version-textMain, var(--sn-brand-color-text-version-main, #41424e));
122
+ }
123
+ }
124
+
125
+ .content{
126
+ position:relative;
127
+ z-index:1;
128
+ display:inline-flex;
129
+ align-items:center;
130
+ justify-content:center;
131
+ min-width:0;
132
+ }
133
+
134
+ .labelContainer{
135
+ display:inline-flex;
136
+ align-items:center;
137
+ justify-content:center;
138
+ }
@@ -0,0 +1,5 @@
1
+ import { ValueOf } from '@cloud-ru/ds-utils';
2
+ import { APPEARANCE, LAYER_STATE, SIZE } from './constants.js';
3
+ export type Size = ValueOf<typeof SIZE>;
4
+ export type Appearance = ValueOf<typeof APPEARANCE>;
5
+ export type LayerState = ValueOf<typeof LAYER_STATE>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Appearance, LayerState } from './types.js';
2
+ export declare function getLayerState(appearance: Appearance): LayerState;
@@ -0,0 +1,4 @@
1
+ import { APPEARANCE, LAYER_STATE } from './constants.js';
2
+ export function getLayerState(appearance) {
3
+ return appearance === APPEARANCE.Primary ? LAYER_STATE.ActivatedOnBackground : LAYER_STATE.EmptyNeutralOnBackground;
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from './AiSuggestionParent/index.js';
2
+ export * from './AiSuggestionSimple/index.js';
@@ -0,0 +1,2 @@
1
+ export * from './AiSuggestionParent/index.js';
2
+ export * from './AiSuggestionSimple/index.js';
@@ -0,0 +1,317 @@
1
+ .outerChip{
2
+ contain:layout;
3
+ display:inline-flex;
4
+ flex-shrink:0;
5
+ align-items:center;
6
+ justify-content:center;
7
+ }
8
+
9
+ .innerChip{
10
+ will-change:transform, opacity;
11
+ transform-origin:center;
12
+ display:inline-flex;
13
+ }
14
+
15
+ .innerChipHidden{
16
+ pointer-events:none;
17
+ }
18
+
19
+ .triggerWrap{
20
+ display:inline-flex;
21
+ flex-shrink:0;
22
+ margin-right:var(--sn-primitive-dimension-4, 4px);
23
+ }
24
+ .root{
25
+ display:flex;
26
+ flex-wrap:wrap;
27
+ row-gap:var(--sn-primitive-dimension-4, 4px);
28
+ align-items:center;
29
+ min-width:0;
30
+ max-width:100%;
31
+ }
32
+
33
+ .root[data-flatten]{
34
+ display:contents;
35
+ }
36
+
37
+ .label{
38
+ overflow:hidden;
39
+ text-overflow:ellipsis;
40
+ white-space:nowrap;
41
+ }
42
+
43
+ .icon{
44
+ color:currentcolor;
45
+ }
46
+
47
+ .chevron{
48
+ display:flex;
49
+ flex-shrink:0;
50
+ align-items:center;
51
+ justify-content:center;
52
+ width:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
53
+ height:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
54
+ color:currentcolor;
55
+ }
56
+
57
+ .chip{
58
+ cursor:pointer;
59
+ position:relative;
60
+ display:inline-flex;
61
+ flex-shrink:0;
62
+ align-items:center;
63
+ justify-content:center;
64
+ box-sizing:border-box;
65
+ margin:0;
66
+ padding:0;
67
+ border:var(--sn-primitive-strokeWeight-strokeRegular, 1px) solid var(--sn-theme-color-material-stateLayer-neutral-border-default-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-default-borderColor, rgba(159, 166, 198, 0.3019607843)));
68
+ border-radius:var(--sn-primitive-dimension-full, 10000px);
69
+ font-family:inherit;
70
+ text-decoration:none;
71
+ background-color:var(--sn-theme-color-neutral-background1Level, var(--sn-brand-color-neutral-95, var(--sn-primitive-color-gray-95, #fdfdfd)));
72
+ outline:0;
73
+ outline-offset:0;
74
+ transition:background-color 450ms cubic-bezier(1, 0, 0.26, 0.7), border-color 450ms cubic-bezier(1, 0, 0.26, 0.7), color 450ms cubic-bezier(1, 0, 0.26, 0.7), outline-color 120ms ease;
75
+ }
76
+ .chip .icon,
77
+ .chip .label,
78
+ .chip .chevron{
79
+ color:var(--sn-theme-color-neutral-text, var(--sn-brand-color-neutral-45, var(--sn-primitive-color-gray-45, #81869c)));
80
+ }
81
+ .chip:disabled{
82
+ cursor:not-allowed;
83
+ opacity:var(--sn-theme-effect-opacity-disabled, 0.4);
84
+ }
85
+ .chip:not(:disabled):focus-visible{
86
+ outline:var(--sn-primitive-strokeWeight-strokeSemiBold, 2px) solid var(--sn-theme-color-primary-accent, var(--sn-brand-color-primary-55, var(--sn-brandRole-color-brandA-55, var(--sn-primitive-color-brandA-55, #389f74))));
87
+ outline-offset:0;
88
+ }
89
+ .chip[data-activated]{
90
+ border-color:var(--sn-theme-color-primary-accent, var(--sn-brand-color-primary-55, var(--sn-brandRole-color-brandA-55, var(--sn-primitive-color-brandA-55, #389f74))));
91
+ background-color:var(--sn-theme-color-primary-background1Level, var(--sn-brand-color-primary-95, var(--sn-brandRole-color-brandA-95, var(--sn-primitive-color-brandA-95, #f5fdf8))));
92
+ transition:background-color 450ms cubic-bezier(0.7, 0.26, 0, 1.58), border-color 450ms cubic-bezier(0.7, 0.26, 0, 1.58), color 450ms cubic-bezier(0.7, 0.26, 0, 1.58), outline-color 120ms ease;
93
+ }
94
+ .chip[data-activated] .icon,
95
+ .chip[data-activated] .label,
96
+ .chip[data-activated] .chevron{
97
+ color:var(--sn-theme-color-primary-text, var(--sn-brand-color-primary-45, var(--sn-brandRole-color-brandA-45, var(--sn-primitive-color-brandA-45, #22775b))));
98
+ }
99
+ @media (hover: hover){
100
+ .chip[data-activated]:hover:not(:disabled){
101
+ border-color:color-mix(in srgb, var(--sn-theme-color-primary-accent, var(--sn-brand-color-primary-55, var(--sn-brandRole-color-brandA-55, var(--sn-primitive-color-brandA-55, #389f74)))) 80%, transparent);
102
+ background-color:var(--sn-theme-color-primary-background2Level, var(--sn-brand-color-primary-99, var(--sn-brandRole-color-brandA-99, var(--sn-primitive-color-brandA-99, #fbfffc))));
103
+ }
104
+ }
105
+ @media (hover: hover){
106
+ .chip:not([data-activated], :disabled):hover{
107
+ border-color:var(--sn-theme-color-material-stateLayer-neutral-border-hovered-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-hovered-borderColor, rgba(159, 166, 198, 0.6509803922)));
108
+ }
109
+ }
110
+ .chip[data-size=s]{
111
+ font-family:var(--sn-regular-label-m-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
112
+ font-weight:var(--sn-regular-label-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-m, var(--sn-brand-font-fontWeight-light-regular-label-m, var(--sn-primitive-font-fontWeightValue-550, 550))));
113
+ line-height:var(--sn-regular-label-m-lineHeight, var(--sn-density-typography-roleLabel-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
114
+ font-size:var(--sn-regular-label-m-fontSize, var(--sn-density-typography-roleLabel-fontSizeM, var(--sn-primitive-font-fontSize-16, 16px)));
115
+ letter-spacing:var(--sn-regular-label-m-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
116
+ paragraph-spacing:var(--sn-regular-label-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize12, 6px));
117
+ height:var(--sn-primitive-dimension-32, 32px);
118
+ padding-inline:var(--sn-primitive-dimension-4, 4px);
119
+ }
120
+ .chip[data-size=s] .icon{
121
+ display:flex;
122
+ flex-shrink:0;
123
+ align-items:center;
124
+ justify-content:center;
125
+ width:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
126
+ height:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
127
+ }
128
+ .chip[data-size=s] .icon > svg{
129
+ display:block;
130
+ width:100%;
131
+ height:100%;
132
+ }
133
+ .chip[data-size=s] .labelContainer{
134
+ padding-inline:var(--sn-primitive-dimension-4, 4px) var(--sn-primitive-dimension-0, 0);
135
+ }
136
+ .chip[data-size=m]{
137
+ font-family:var(--sn-regular-label-l-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
138
+ font-weight:var(--sn-regular-label-l-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-l, var(--sn-brand-font-fontWeight-light-regular-label-l, var(--sn-primitive-font-fontWeightValue-550, 550))));
139
+ line-height:var(--sn-regular-label-l-lineHeight, var(--sn-density-typography-roleLabel-lineHeightL, var(--sn-primitive-font-lineHeight-by20, 28px)));
140
+ font-size:var(--sn-regular-label-l-fontSize, var(--sn-density-typography-roleLabel-fontSizeL, var(--sn-primitive-font-fontSize-20, 20px)));
141
+ letter-spacing:var(--sn-regular-label-l-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
142
+ paragraph-spacing:var(--sn-regular-label-l-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize14, 7px));
143
+ height:var(--sn-primitive-dimension-40, 40px);
144
+ padding-inline:var(--sn-primitive-dimension-8, 8px);
145
+ }
146
+ .chip[data-size=m] .icon{
147
+ display:flex;
148
+ flex-shrink:0;
149
+ align-items:center;
150
+ justify-content:center;
151
+ width:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
152
+ height:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
153
+ }
154
+ .chip[data-size=m] .icon > svg{
155
+ display:block;
156
+ width:100%;
157
+ height:100%;
158
+ }
159
+ .chip[data-size=m] .labelContainer{
160
+ padding-inline:var(--sn-primitive-dimension-8, 8px) var(--sn-primitive-dimension-2, 2px);
161
+ }
162
+
163
+ .labelContainer{
164
+ display:inline-flex;
165
+ align-items:center;
166
+ justify-content:center;
167
+ }
168
+
169
+ .chevronIcon{
170
+ display:block;
171
+ max-width:100%;
172
+ max-height:100%;
173
+ transition:transform 450ms cubic-bezier(1, 0, 0.26, 0.7);
174
+ }
175
+
176
+ .chip[data-activated] .chevronIcon{
177
+ transform:rotate(90deg);
178
+ transition:transform 450ms cubic-bezier(0.7, 0.26, 0, 1.58);
179
+ }
180
+ @charset "UTF-8";
181
+ .label{
182
+ overflow:hidden;
183
+ text-overflow:ellipsis;
184
+ white-space:nowrap;
185
+ }
186
+
187
+ .icon{
188
+ color:currentcolor;
189
+ }
190
+
191
+ .chip{
192
+ cursor:pointer;
193
+ position:relative;
194
+ display:inline-flex;
195
+ align-items:center;
196
+ justify-content:center;
197
+ box-sizing:border-box;
198
+ margin:0;
199
+ padding:0;
200
+ border:var(--sn-primitive-strokeWeight-strokeRegular, 1px) solid transparent;
201
+ border-radius:var(--sn-primitive-dimension-full, 10000px);
202
+ font-family:inherit;
203
+ text-decoration:none;
204
+ background-color:transparent;
205
+ outline:0;
206
+ outline-offset:0;
207
+ transition:background-color 120ms ease, border-color 120ms ease, color 120ms ease;
208
+ }
209
+ .chip:disabled, .chip[data-disabled]{
210
+ cursor:not-allowed;
211
+ opacity:var(--sn-theme-effect-opacity-disabled, 0.4);
212
+ }
213
+ .chip:focus-visible{
214
+ background-color:transparent;
215
+ outline:var(--sn-primitive-strokeWeight-strokeSemiBold, 2px) solid var(--sn-theme-color-primary-accent, var(--sn-brand-color-primary-55, var(--sn-brandRole-color-brandA-55, var(--sn-primitive-color-brandA-55, #389f74))));
216
+ outline-offset:var(--sn-primitive-dimension-2, 2px);
217
+ }
218
+ .chip[data-size=s]{
219
+ font-family:var(--sn-regular-label-m-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
220
+ font-weight:var(--sn-regular-label-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-m, var(--sn-brand-font-fontWeight-light-regular-label-m, var(--sn-primitive-font-fontWeightValue-550, 550))));
221
+ line-height:var(--sn-regular-label-m-lineHeight, var(--sn-density-typography-roleLabel-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
222
+ font-size:var(--sn-regular-label-m-fontSize, var(--sn-density-typography-roleLabel-fontSizeM, var(--sn-primitive-font-fontSize-16, 16px)));
223
+ letter-spacing:var(--sn-regular-label-m-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
224
+ paragraph-spacing:var(--sn-regular-label-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize12, 6px));
225
+ height:var(--sn-primitive-dimension-32, 32px);
226
+ padding-inline:var(--sn-primitive-dimension-4, 4px);
227
+ }
228
+ .chip[data-size=s] .icon{
229
+ display:flex;
230
+ flex-shrink:0;
231
+ align-items:center;
232
+ justify-content:center;
233
+ width:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
234
+ height:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
235
+ }
236
+ .chip[data-size=s] .icon > svg{
237
+ max-width:100%;
238
+ max-height:100%;
239
+ }
240
+ .chip[data-size=s] .labelContainer{
241
+ padding-inline:var(--sn-primitive-dimension-4, 4px);
242
+ }
243
+ .chip[data-size=m]{
244
+ font-family:var(--sn-regular-label-l-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
245
+ font-weight:var(--sn-regular-label-l-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-l, var(--sn-brand-font-fontWeight-light-regular-label-l, var(--sn-primitive-font-fontWeightValue-550, 550))));
246
+ line-height:var(--sn-regular-label-l-lineHeight, var(--sn-density-typography-roleLabel-lineHeightL, var(--sn-primitive-font-lineHeight-by20, 28px)));
247
+ font-size:var(--sn-regular-label-l-fontSize, var(--sn-density-typography-roleLabel-fontSizeL, var(--sn-primitive-font-fontSize-20, 20px)));
248
+ letter-spacing:var(--sn-regular-label-l-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
249
+ paragraph-spacing:var(--sn-regular-label-l-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize14, 7px));
250
+ height:var(--sn-primitive-dimension-40, 40px);
251
+ padding-inline:var(--sn-primitive-dimension-8, 8px);
252
+ }
253
+ .chip[data-size=m] .icon{
254
+ display:flex;
255
+ flex-shrink:0;
256
+ align-items:center;
257
+ justify-content:center;
258
+ width:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
259
+ height:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
260
+ }
261
+ .chip[data-size=m] .icon > svg{
262
+ max-width:100%;
263
+ max-height:100%;
264
+ }
265
+ .chip[data-size=m] .labelContainer{
266
+ padding-inline:var(--sn-primitive-dimension-8, 8px);
267
+ }
268
+ .chip:focus-visible{
269
+ background-color:var(--sn-theme-color-primary-background1Level);
270
+ }
271
+ .chip[data-appearance=primary]{
272
+ border-color:var(--sn-theme-color-material-stateLayer-activated-default-filled, var(--sn-brand-color-state-activated-default-background, var(--sn-brandRole-color-brandA-backgroundActivatedDefault, rgba(56, 159, 116, 0.1490196078))));
273
+ }
274
+ .chip[data-appearance=primary] .icon,
275
+ .chip[data-appearance=primary] .label{
276
+ color:var(--sn-theme-color-primary-text, var(--sn-brand-color-primary-45, var(--sn-brandRole-color-brandA-45, var(--sn-primitive-color-brandA-45, #22775b))));
277
+ }
278
+ @media (hover: hover){
279
+ .chip[data-appearance=primary]:hover:not(:disabled, [data-disabled]){
280
+ border-color:var(--sn-theme-color-material-stateLayer-activated-hovered-filled, var(--sn-brand-color-state-activated-hovered-background, var(--sn-brandRole-color-brandA-backgroundActivatedHovered, rgba(56, 159, 116, 0.3490196078))));
281
+ background-color:var(--sn-theme-color-primary-background1Level, var(--sn-brand-color-primary-95, var(--sn-brandRole-color-brandA-95, var(--sn-primitive-color-brandA-95, #f5fdf8))));
282
+ }
283
+ }
284
+ .chip:focus-visible{
285
+ background-color:var(--sn-theme-color-neutral-background1Level);
286
+ }
287
+ .chip[data-appearance=neutral]{
288
+ border-color:var(--sn-theme-color-material-stateLayer-neutral-border-default-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-default-borderColor, rgba(159, 166, 198, 0.3019607843)));
289
+ }
290
+ .chip[data-appearance=neutral] .icon,
291
+ .chip[data-appearance=neutral] .label{
292
+ color:var(--sn-theme-color-neutral-text, var(--sn-brand-color-neutral-45, var(--sn-primitive-color-gray-45, #81869c)));
293
+ }
294
+ @media (hover: hover){
295
+ .chip[data-appearance=neutral]:hover:not(:disabled, [data-disabled]){
296
+ border-color:var(--sn-theme-color-material-stateLayer-neutral-border-hovered-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-hovered-borderColor, rgba(159, 166, 198, 0.6509803922)));
297
+ background-color:var(--sn-theme-color-neutral-background1Level, var(--sn-brand-color-neutral-95, var(--sn-primitive-color-gray-95, #fdfdfd)));
298
+ }
299
+ .chip[data-appearance=neutral]:hover:not(:disabled, [data-disabled]) .icon, .chip[data-appearance=neutral]:hover:not(:disabled, [data-disabled]) .label{
300
+ color:var(--sn-theme-color-available-version-textMain, var(--sn-brand-color-text-version-main, #41424e));
301
+ }
302
+ }
303
+
304
+ .content{
305
+ position:relative;
306
+ z-index:1;
307
+ display:inline-flex;
308
+ align-items:center;
309
+ justify-content:center;
310
+ min-width:0;
311
+ }
312
+
313
+ .labelContainer{
314
+ display:inline-flex;
315
+ align-items:center;
316
+ justify-content:center;
317
+ }