@cloud-ru/ds-site-card-vacancy 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.
- package/CHANGELOG.md +8 -0
- package/LICENSE +201 -0
- package/README.md +170 -0
- package/dist/cjs/CardVacancy.d.ts +3 -0
- package/dist/cjs/CardVacancy.js +21 -0
- package/dist/cjs/constants.d.ts +9 -0
- package/dist/cjs/constants.js +13 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +19 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/style.css +177 -0
- package/dist/cjs/styles.module.css +177 -0
- package/dist/cjs/types.d.ts +29 -0
- package/dist/cjs/types.js +2 -0
- package/dist/esm/CardVacancy.d.ts +3 -0
- package/dist/esm/CardVacancy.js +15 -0
- package/dist/esm/constants.d.ts +9 -0
- package/dist/esm/constants.js +10 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/style.css +177 -0
- package/dist/esm/styles.module.css +177 -0
- package/dist/esm/types.d.ts +29 -0
- package/dist/esm/types.js +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +44 -0
- package/src/CardVacancy.tsx +62 -0
- package/src/constants.ts +12 -0
- package/src/index.ts +3 -0
- package/src/styles.module.scss +129 -0
- package/src/types.ts +35 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
.background{
|
|
3
|
+
pointer-events:none;
|
|
4
|
+
position:absolute;
|
|
5
|
+
inset:0;
|
|
6
|
+
overflow:hidden;
|
|
7
|
+
border-radius:inherit;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.stateLayer{
|
|
11
|
+
pointer-events:none;
|
|
12
|
+
position:absolute;
|
|
13
|
+
inset:0;
|
|
14
|
+
border-radius:inherit;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.content{
|
|
18
|
+
position:relative;
|
|
19
|
+
z-index:1;
|
|
20
|
+
display:flex;
|
|
21
|
+
flex:1 0 0;
|
|
22
|
+
flex-direction:column;
|
|
23
|
+
align-items:flex-start;
|
|
24
|
+
justify-content:space-between;
|
|
25
|
+
min-width:0;
|
|
26
|
+
overflow-wrap:break-word;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.title{
|
|
30
|
+
overflow:hidden;
|
|
31
|
+
display:-webkit-box;
|
|
32
|
+
-webkit-box-orient:vertical;
|
|
33
|
+
-webkit-line-clamp:2;
|
|
34
|
+
width:100%;
|
|
35
|
+
min-width:0;
|
|
36
|
+
text-overflow:ellipsis;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.description{
|
|
40
|
+
overflow:hidden;
|
|
41
|
+
width:100%;
|
|
42
|
+
min-width:0;
|
|
43
|
+
text-overflow:ellipsis;
|
|
44
|
+
white-space:nowrap;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.cardVacancy{
|
|
48
|
+
cursor:pointer;
|
|
49
|
+
position:relative;
|
|
50
|
+
display:flex;
|
|
51
|
+
box-sizing:border-box;
|
|
52
|
+
width:100%;
|
|
53
|
+
min-height:160px;
|
|
54
|
+
margin:0;
|
|
55
|
+
padding:var(--sn-primitive-dimension-24, 24px);
|
|
56
|
+
border:none;
|
|
57
|
+
font-family:inherit;
|
|
58
|
+
text-align:left;
|
|
59
|
+
text-decoration:none;
|
|
60
|
+
background:transparent;
|
|
61
|
+
outline:0;
|
|
62
|
+
outline-offset:0;
|
|
63
|
+
}
|
|
64
|
+
.cardVacancy[data-mobile]{
|
|
65
|
+
min-height:120px;
|
|
66
|
+
}
|
|
67
|
+
.cardVacancy:focus-visible{
|
|
68
|
+
outline:var(--sn-primitive-strokeWeight-strokeSemiBold, 2px) solid var(--sn-theme-color-available-complementary, #000000);
|
|
69
|
+
outline-offset:calc(var(--sn-primitive-strokeWeight-strokeSemiBold, 2px) * -1);
|
|
70
|
+
}
|
|
71
|
+
.cardVacancy:active{
|
|
72
|
+
outline:none;
|
|
73
|
+
}
|
|
74
|
+
.cardVacancy[data-appearance=neutral]{
|
|
75
|
+
color:var(--sn-theme-color-available-version-textMain, var(--sn-brand-color-text-version-main, #41424e));
|
|
76
|
+
}
|
|
77
|
+
.cardVacancy[data-appearance=neutral] .background{
|
|
78
|
+
background-color:var(--sn-theme-color-neutral-decorTransparent, var(--sn-brand-color-neutral-transparent-forLightMode, rgba(124, 131, 182, 0.0784313725)));
|
|
79
|
+
}
|
|
80
|
+
.cardVacancy[data-appearance=neutral] .description{
|
|
81
|
+
color:var(--sn-theme-color-available-version-textDisabled, var(--sn-brand-color-text-version-disabled, rgba(65, 66, 78, 0.3490196078)));
|
|
82
|
+
}
|
|
83
|
+
.cardVacancy[data-appearance=primary]{
|
|
84
|
+
color:var(--sn-theme-color-primary-onAccent, var(--sn-brand-color-primary-onAccentLight, var(--sn-brandRole-color-brandA-onAccentLight, var(--sn-primitive-color-brandA-99, #fbfffc))));
|
|
85
|
+
}
|
|
86
|
+
.cardVacancy[data-appearance=primary] .background{
|
|
87
|
+
background-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))));
|
|
88
|
+
}
|
|
89
|
+
.cardVacancy[data-appearance=primary] .background::after{
|
|
90
|
+
content:"";
|
|
91
|
+
position:absolute;
|
|
92
|
+
inset:0;
|
|
93
|
+
background-image:repeating-radial-gradient(circle at 0% calc(100% + var(--sn-primitive-dimension-24, 24px)), transparent 0, transparent calc(var(--sn-primitive-dimension-32, 32px) - var(--sn-primitive-strokeWeight-strokeBold, 3px)), 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)))) calc(var(--sn-primitive-dimension-32, 32px) - var(--sn-primitive-strokeWeight-strokeBold, 3px)), 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)))) var(--sn-primitive-dimension-32, 32px));
|
|
94
|
+
}
|
|
95
|
+
.cardVacancy .stateLayer{
|
|
96
|
+
position:absolute;
|
|
97
|
+
inset:0;
|
|
98
|
+
border-radius:inherit;
|
|
99
|
+
}
|
|
100
|
+
.cardVacancy .stateLayer[data-state=borderOnBackground]{
|
|
101
|
+
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)));
|
|
102
|
+
border-style:solid;
|
|
103
|
+
border-width:var(--sn-primitive-strokeWeight-strokeRegular, 1px);
|
|
104
|
+
}
|
|
105
|
+
.cardVacancy .stateLayer[data-state=emptyNeutralOnBackground]{
|
|
106
|
+
background:var(--sn-theme-color-material-stateLayer-neutral-onBackground-defaultEmpty-filled, var(--sn-brand-color-state-neutral-forLightMode-default-background, rgba(120, 123, 138, 0)));
|
|
107
|
+
}
|
|
108
|
+
.cardVacancy .stateLayer[data-state=activatedOnBackground]{
|
|
109
|
+
background: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))));
|
|
110
|
+
}
|
|
111
|
+
.cardVacancy .stateLayer[data-state=versionOnColor]{
|
|
112
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-default-filled, rgba(0, 0, 0, 0.0509803922));
|
|
113
|
+
}
|
|
114
|
+
.cardVacancy .stateLayer[data-state=emptyVersionOnColor]{
|
|
115
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-defaultEmpty-filled, rgba(0, 0, 0, 0));
|
|
116
|
+
}
|
|
117
|
+
.cardVacancy .stateLayer[data-state=inversionOnColor]{
|
|
118
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-default-filled, rgba(255, 255, 255, 0.1019607843));
|
|
119
|
+
}
|
|
120
|
+
.cardVacancy .stateLayer[data-state=emptyInversionOnColor]{
|
|
121
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-defaultEmpty-filled, rgba(255, 255, 255, 0));
|
|
122
|
+
}
|
|
123
|
+
.cardVacancy .stateLayer[data-state=emptyDarkOnAccent]{
|
|
124
|
+
background:var(--sn-theme-color-material-stateLayer-darkOnAccent-defaultEmpty-filled, rgba(0, 0, 0, 0));
|
|
125
|
+
}
|
|
126
|
+
@media (hover: hover){
|
|
127
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=borderOnBackground]{
|
|
128
|
+
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)));
|
|
129
|
+
}
|
|
130
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyNeutralOnBackground]{
|
|
131
|
+
background:var(--sn-theme-color-material-stateLayer-neutral-onBackground-hovered-filled, var(--sn-brand-color-state-neutral-forLightMode-hovered-background, rgba(188, 195, 220, 0.1490196078)));
|
|
132
|
+
}
|
|
133
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=activatedOnBackground]{
|
|
134
|
+
background: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))));
|
|
135
|
+
}
|
|
136
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=versionOnColor]{
|
|
137
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-hovered-filled, rgba(0, 0, 0, 0.1019607843));
|
|
138
|
+
}
|
|
139
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyVersionOnColor]{
|
|
140
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-hovered-filled, rgba(0, 0, 0, 0.1019607843));
|
|
141
|
+
}
|
|
142
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=inversionOnColor]{
|
|
143
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-hovered-filled, rgba(255, 255, 255, 0.1490196078));
|
|
144
|
+
}
|
|
145
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyInversionOnColor]{
|
|
146
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-hovered-filled, rgba(255, 255, 255, 0.1490196078));
|
|
147
|
+
}
|
|
148
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent]{
|
|
149
|
+
background:var(--sn-theme-color-material-stateLayer-darkOnAccent-hovered-filled, rgba(0, 0, 0, 0.0588235294));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
.cardVacancy{
|
|
153
|
+
}
|
|
154
|
+
.cardVacancy[data-loading] .stateLayer[data-state=borderOnBackground], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=borderOnBackground], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=borderOnBackground]{
|
|
155
|
+
border-color:var(--sn-theme-color-material-stateLayer-neutral-border-pressed-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-pressed-borderColor, rgba(159, 166, 198, 0.8)));
|
|
156
|
+
}
|
|
157
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyNeutralOnBackground], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyNeutralOnBackground], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyNeutralOnBackground]{
|
|
158
|
+
background:var(--sn-theme-color-material-stateLayer-neutral-onBackground-pressed-filled, var(--sn-brand-color-state-neutral-forLightMode-pressed-background, rgba(188, 195, 220, 0.3019607843)));
|
|
159
|
+
}
|
|
160
|
+
.cardVacancy[data-loading] .stateLayer[data-state=activatedOnBackground], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=activatedOnBackground], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=activatedOnBackground]{
|
|
161
|
+
background:var(--sn-theme-color-material-stateLayer-activated-pressed-filled, var(--sn-brand-color-state-activated-pressed-background, var(--sn-brandRole-color-brandA-backgroundActivatedPressed, rgba(56, 159, 116, 0.4509803922))));
|
|
162
|
+
}
|
|
163
|
+
.cardVacancy[data-loading] .stateLayer[data-state=versionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=versionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=versionOnColor]{
|
|
164
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-pressed-filled, rgba(0, 0, 0, 0.1490196078));
|
|
165
|
+
}
|
|
166
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyVersionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyVersionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyVersionOnColor]{
|
|
167
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-pressed-filled, rgba(0, 0, 0, 0.1490196078));
|
|
168
|
+
}
|
|
169
|
+
.cardVacancy[data-loading] .stateLayer[data-state=inversionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=inversionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=inversionOnColor]{
|
|
170
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-pressed-filled, rgba(255, 255, 255, 0.0509803922));
|
|
171
|
+
}
|
|
172
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyInversionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyInversionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyInversionOnColor]{
|
|
173
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-pressed-filled, rgba(255, 255, 255, 0.0509803922));
|
|
174
|
+
}
|
|
175
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyDarkOnAccent], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent]{
|
|
176
|
+
background:var(--sn-theme-color-material-stateLayer-darkOnAccent-pressed-filled, rgba(0, 0, 0, 0.1215686275));
|
|
177
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ValueOf, WithSupportProps } from '@cloud-ru/ds-utils';
|
|
2
|
+
import { ComponentPropsWithoutRef, ComponentPropsWithRef, ElementType } from 'react';
|
|
3
|
+
import { APPEARANCE } from './constants';
|
|
4
|
+
export type PolymorphicRef<T extends ElementType> = ComponentPropsWithRef<T>['ref'];
|
|
5
|
+
export type Appearance = ValueOf<typeof APPEARANCE>;
|
|
6
|
+
type BaseCardVacancyProps = {
|
|
7
|
+
/** Заголовок вакансии. Обрезается многоточием, если не помещается в одну строку. */
|
|
8
|
+
title?: string;
|
|
9
|
+
/** Описание под заголовком. Обрезается многоточием, если не помещается в одну строку. */
|
|
10
|
+
description?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Визуальный вид карточки:
|
|
13
|
+
*
|
|
14
|
+
* - `neutral` — нейтральный полупрозрачный фон, тёмный заголовок.
|
|
15
|
+
* - `primary` — акцентный фон `primary` с декоративным паттерном, текст `onAccent`.
|
|
16
|
+
*/
|
|
17
|
+
appearance?: Appearance;
|
|
18
|
+
/** Компактная мобильная версия — меньшая высота и более мелкая типографика. */
|
|
19
|
+
mobile?: boolean;
|
|
20
|
+
/** CSS-класс корневого элемента. */
|
|
21
|
+
className?: string;
|
|
22
|
+
};
|
|
23
|
+
export type CardVacancyProps<T extends ElementType = 'a'> = WithSupportProps<BaseCardVacancyProps & {
|
|
24
|
+
/** Полиморфный тег корня — `'a'` по умолчанию (карточка-ссылка), либо роутерный `Link` / `'button'` / `'div'`. */
|
|
25
|
+
as?: T;
|
|
26
|
+
/** Ref на корневой элемент. */
|
|
27
|
+
innerRef?: PolymorphicRef<T>;
|
|
28
|
+
} & Omit<ComponentPropsWithoutRef<T>, keyof BaseCardVacancyProps | 'as' | 'ref'>>;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
2
|
+
import { CardVacancyProps } from './types.js';
|
|
3
|
+
export declare function CardVacancy<T extends ElementType = 'a'>({ as: asProp, innerRef, className, appearance, mobile, title, description, ...rest }: CardVacancyProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Typography } from '@cloud-ru/ds-typography';
|
|
3
|
+
import { withInnerRefSupport } from '@cloud-ru/ds-utils';
|
|
4
|
+
import cn from 'classnames';
|
|
5
|
+
import { APPEARANCE, TEST_IDS } from './constants.js';
|
|
6
|
+
import styles from './styles.module.css';
|
|
7
|
+
export function CardVacancy({ as: asProp, innerRef, className, appearance = APPEARANCE.Neutral, mobile = false, title, description, ...rest }) {
|
|
8
|
+
const Tag = asProp ?? 'a';
|
|
9
|
+
const restProps = rest;
|
|
10
|
+
const isAnchor = !asProp || asProp === 'a';
|
|
11
|
+
const isExternal = isAnchor && restProps.target === '_blank';
|
|
12
|
+
const rel = isExternal ? 'noopener noreferrer' : restProps.rel;
|
|
13
|
+
return (_jsxs(Tag, { ...restProps, rel: rel, ref: innerRef, className: cn(styles.cardVacancy, className), "data-test-id": restProps['data-test-id'] ?? TEST_IDS.root, "data-appearance": appearance, "data-mobile": mobile || undefined, children: [_jsx("span", { className: styles.background, "aria-hidden": true }), _jsx("span", { className: styles.stateLayer, "data-state": 'emptyNeutralOnBackground', "aria-hidden": true }), _jsxs("span", { className: styles.content, children: [_jsx(Typography, { as: 'span', className: styles.title, variant: 'title', size: mobile ? 'm' : 'l', "data-test-id": TEST_IDS.title, children: title }), _jsx(Typography, { as: 'span', className: styles.description, variant: 'body', size: mobile ? 's' : 'm', "data-test-id": TEST_IDS.description, children: description })] })] }));
|
|
14
|
+
}
|
|
15
|
+
withInnerRefSupport(CardVacancy);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const APPEARANCE: {
|
|
2
|
+
readonly Neutral: "neutral";
|
|
3
|
+
readonly Primary: "primary";
|
|
4
|
+
};
|
|
5
|
+
export declare const TEST_IDS: {
|
|
6
|
+
readonly root: "card-vacancy";
|
|
7
|
+
readonly title: "card-vacancy__title";
|
|
8
|
+
readonly description: "card-vacancy__description";
|
|
9
|
+
};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
.background{
|
|
3
|
+
pointer-events:none;
|
|
4
|
+
position:absolute;
|
|
5
|
+
inset:0;
|
|
6
|
+
overflow:hidden;
|
|
7
|
+
border-radius:inherit;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.stateLayer{
|
|
11
|
+
pointer-events:none;
|
|
12
|
+
position:absolute;
|
|
13
|
+
inset:0;
|
|
14
|
+
border-radius:inherit;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.content{
|
|
18
|
+
position:relative;
|
|
19
|
+
z-index:1;
|
|
20
|
+
display:flex;
|
|
21
|
+
flex:1 0 0;
|
|
22
|
+
flex-direction:column;
|
|
23
|
+
align-items:flex-start;
|
|
24
|
+
justify-content:space-between;
|
|
25
|
+
min-width:0;
|
|
26
|
+
overflow-wrap:break-word;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.title{
|
|
30
|
+
overflow:hidden;
|
|
31
|
+
display:-webkit-box;
|
|
32
|
+
-webkit-box-orient:vertical;
|
|
33
|
+
-webkit-line-clamp:2;
|
|
34
|
+
width:100%;
|
|
35
|
+
min-width:0;
|
|
36
|
+
text-overflow:ellipsis;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.description{
|
|
40
|
+
overflow:hidden;
|
|
41
|
+
width:100%;
|
|
42
|
+
min-width:0;
|
|
43
|
+
text-overflow:ellipsis;
|
|
44
|
+
white-space:nowrap;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.cardVacancy{
|
|
48
|
+
cursor:pointer;
|
|
49
|
+
position:relative;
|
|
50
|
+
display:flex;
|
|
51
|
+
box-sizing:border-box;
|
|
52
|
+
width:100%;
|
|
53
|
+
min-height:160px;
|
|
54
|
+
margin:0;
|
|
55
|
+
padding:var(--sn-primitive-dimension-24, 24px);
|
|
56
|
+
border:none;
|
|
57
|
+
font-family:inherit;
|
|
58
|
+
text-align:left;
|
|
59
|
+
text-decoration:none;
|
|
60
|
+
background:transparent;
|
|
61
|
+
outline:0;
|
|
62
|
+
outline-offset:0;
|
|
63
|
+
}
|
|
64
|
+
.cardVacancy[data-mobile]{
|
|
65
|
+
min-height:120px;
|
|
66
|
+
}
|
|
67
|
+
.cardVacancy:focus-visible{
|
|
68
|
+
outline:var(--sn-primitive-strokeWeight-strokeSemiBold, 2px) solid var(--sn-theme-color-available-complementary, #000000);
|
|
69
|
+
outline-offset:calc(var(--sn-primitive-strokeWeight-strokeSemiBold, 2px) * -1);
|
|
70
|
+
}
|
|
71
|
+
.cardVacancy:active{
|
|
72
|
+
outline:none;
|
|
73
|
+
}
|
|
74
|
+
.cardVacancy[data-appearance=neutral]{
|
|
75
|
+
color:var(--sn-theme-color-available-version-textMain, var(--sn-brand-color-text-version-main, #41424e));
|
|
76
|
+
}
|
|
77
|
+
.cardVacancy[data-appearance=neutral] .background{
|
|
78
|
+
background-color:var(--sn-theme-color-neutral-decorTransparent, var(--sn-brand-color-neutral-transparent-forLightMode, rgba(124, 131, 182, 0.0784313725)));
|
|
79
|
+
}
|
|
80
|
+
.cardVacancy[data-appearance=neutral] .description{
|
|
81
|
+
color:var(--sn-theme-color-available-version-textDisabled, var(--sn-brand-color-text-version-disabled, rgba(65, 66, 78, 0.3490196078)));
|
|
82
|
+
}
|
|
83
|
+
.cardVacancy[data-appearance=primary]{
|
|
84
|
+
color:var(--sn-theme-color-primary-onAccent, var(--sn-brand-color-primary-onAccentLight, var(--sn-brandRole-color-brandA-onAccentLight, var(--sn-primitive-color-brandA-99, #fbfffc))));
|
|
85
|
+
}
|
|
86
|
+
.cardVacancy[data-appearance=primary] .background{
|
|
87
|
+
background-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))));
|
|
88
|
+
}
|
|
89
|
+
.cardVacancy[data-appearance=primary] .background::after{
|
|
90
|
+
content:"";
|
|
91
|
+
position:absolute;
|
|
92
|
+
inset:0;
|
|
93
|
+
background-image:repeating-radial-gradient(circle at 0% calc(100% + var(--sn-primitive-dimension-24, 24px)), transparent 0, transparent calc(var(--sn-primitive-dimension-32, 32px) - var(--sn-primitive-strokeWeight-strokeBold, 3px)), 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)))) calc(var(--sn-primitive-dimension-32, 32px) - var(--sn-primitive-strokeWeight-strokeBold, 3px)), 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)))) var(--sn-primitive-dimension-32, 32px));
|
|
94
|
+
}
|
|
95
|
+
.cardVacancy .stateLayer{
|
|
96
|
+
position:absolute;
|
|
97
|
+
inset:0;
|
|
98
|
+
border-radius:inherit;
|
|
99
|
+
}
|
|
100
|
+
.cardVacancy .stateLayer[data-state=borderOnBackground]{
|
|
101
|
+
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)));
|
|
102
|
+
border-style:solid;
|
|
103
|
+
border-width:var(--sn-primitive-strokeWeight-strokeRegular, 1px);
|
|
104
|
+
}
|
|
105
|
+
.cardVacancy .stateLayer[data-state=emptyNeutralOnBackground]{
|
|
106
|
+
background:var(--sn-theme-color-material-stateLayer-neutral-onBackground-defaultEmpty-filled, var(--sn-brand-color-state-neutral-forLightMode-default-background, rgba(120, 123, 138, 0)));
|
|
107
|
+
}
|
|
108
|
+
.cardVacancy .stateLayer[data-state=activatedOnBackground]{
|
|
109
|
+
background: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))));
|
|
110
|
+
}
|
|
111
|
+
.cardVacancy .stateLayer[data-state=versionOnColor]{
|
|
112
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-default-filled, rgba(0, 0, 0, 0.0509803922));
|
|
113
|
+
}
|
|
114
|
+
.cardVacancy .stateLayer[data-state=emptyVersionOnColor]{
|
|
115
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-defaultEmpty-filled, rgba(0, 0, 0, 0));
|
|
116
|
+
}
|
|
117
|
+
.cardVacancy .stateLayer[data-state=inversionOnColor]{
|
|
118
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-default-filled, rgba(255, 255, 255, 0.1019607843));
|
|
119
|
+
}
|
|
120
|
+
.cardVacancy .stateLayer[data-state=emptyInversionOnColor]{
|
|
121
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-defaultEmpty-filled, rgba(255, 255, 255, 0));
|
|
122
|
+
}
|
|
123
|
+
.cardVacancy .stateLayer[data-state=emptyDarkOnAccent]{
|
|
124
|
+
background:var(--sn-theme-color-material-stateLayer-darkOnAccent-defaultEmpty-filled, rgba(0, 0, 0, 0));
|
|
125
|
+
}
|
|
126
|
+
@media (hover: hover){
|
|
127
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=borderOnBackground]{
|
|
128
|
+
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)));
|
|
129
|
+
}
|
|
130
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyNeutralOnBackground]{
|
|
131
|
+
background:var(--sn-theme-color-material-stateLayer-neutral-onBackground-hovered-filled, var(--sn-brand-color-state-neutral-forLightMode-hovered-background, rgba(188, 195, 220, 0.1490196078)));
|
|
132
|
+
}
|
|
133
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=activatedOnBackground]{
|
|
134
|
+
background: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))));
|
|
135
|
+
}
|
|
136
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=versionOnColor]{
|
|
137
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-hovered-filled, rgba(0, 0, 0, 0.1019607843));
|
|
138
|
+
}
|
|
139
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyVersionOnColor]{
|
|
140
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-hovered-filled, rgba(0, 0, 0, 0.1019607843));
|
|
141
|
+
}
|
|
142
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=inversionOnColor]{
|
|
143
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-hovered-filled, rgba(255, 255, 255, 0.1490196078));
|
|
144
|
+
}
|
|
145
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyInversionOnColor]{
|
|
146
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-hovered-filled, rgba(255, 255, 255, 0.1490196078));
|
|
147
|
+
}
|
|
148
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent]{
|
|
149
|
+
background:var(--sn-theme-color-material-stateLayer-darkOnAccent-hovered-filled, rgba(0, 0, 0, 0.0588235294));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
.cardVacancy{
|
|
153
|
+
}
|
|
154
|
+
.cardVacancy[data-loading] .stateLayer[data-state=borderOnBackground], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=borderOnBackground], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=borderOnBackground]{
|
|
155
|
+
border-color:var(--sn-theme-color-material-stateLayer-neutral-border-pressed-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-pressed-borderColor, rgba(159, 166, 198, 0.8)));
|
|
156
|
+
}
|
|
157
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyNeutralOnBackground], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyNeutralOnBackground], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyNeutralOnBackground]{
|
|
158
|
+
background:var(--sn-theme-color-material-stateLayer-neutral-onBackground-pressed-filled, var(--sn-brand-color-state-neutral-forLightMode-pressed-background, rgba(188, 195, 220, 0.3019607843)));
|
|
159
|
+
}
|
|
160
|
+
.cardVacancy[data-loading] .stateLayer[data-state=activatedOnBackground], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=activatedOnBackground], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=activatedOnBackground]{
|
|
161
|
+
background:var(--sn-theme-color-material-stateLayer-activated-pressed-filled, var(--sn-brand-color-state-activated-pressed-background, var(--sn-brandRole-color-brandA-backgroundActivatedPressed, rgba(56, 159, 116, 0.4509803922))));
|
|
162
|
+
}
|
|
163
|
+
.cardVacancy[data-loading] .stateLayer[data-state=versionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=versionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=versionOnColor]{
|
|
164
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-pressed-filled, rgba(0, 0, 0, 0.1490196078));
|
|
165
|
+
}
|
|
166
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyVersionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyVersionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyVersionOnColor]{
|
|
167
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-pressed-filled, rgba(0, 0, 0, 0.1490196078));
|
|
168
|
+
}
|
|
169
|
+
.cardVacancy[data-loading] .stateLayer[data-state=inversionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=inversionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=inversionOnColor]{
|
|
170
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-pressed-filled, rgba(255, 255, 255, 0.0509803922));
|
|
171
|
+
}
|
|
172
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyInversionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyInversionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyInversionOnColor]{
|
|
173
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-pressed-filled, rgba(255, 255, 255, 0.0509803922));
|
|
174
|
+
}
|
|
175
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyDarkOnAccent], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent]{
|
|
176
|
+
background:var(--sn-theme-color-material-stateLayer-darkOnAccent-pressed-filled, rgba(0, 0, 0, 0.1215686275));
|
|
177
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
.background{
|
|
3
|
+
pointer-events:none;
|
|
4
|
+
position:absolute;
|
|
5
|
+
inset:0;
|
|
6
|
+
overflow:hidden;
|
|
7
|
+
border-radius:inherit;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.stateLayer{
|
|
11
|
+
pointer-events:none;
|
|
12
|
+
position:absolute;
|
|
13
|
+
inset:0;
|
|
14
|
+
border-radius:inherit;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.content{
|
|
18
|
+
position:relative;
|
|
19
|
+
z-index:1;
|
|
20
|
+
display:flex;
|
|
21
|
+
flex:1 0 0;
|
|
22
|
+
flex-direction:column;
|
|
23
|
+
align-items:flex-start;
|
|
24
|
+
justify-content:space-between;
|
|
25
|
+
min-width:0;
|
|
26
|
+
overflow-wrap:break-word;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.title{
|
|
30
|
+
overflow:hidden;
|
|
31
|
+
display:-webkit-box;
|
|
32
|
+
-webkit-box-orient:vertical;
|
|
33
|
+
-webkit-line-clamp:2;
|
|
34
|
+
width:100%;
|
|
35
|
+
min-width:0;
|
|
36
|
+
text-overflow:ellipsis;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.description{
|
|
40
|
+
overflow:hidden;
|
|
41
|
+
width:100%;
|
|
42
|
+
min-width:0;
|
|
43
|
+
text-overflow:ellipsis;
|
|
44
|
+
white-space:nowrap;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.cardVacancy{
|
|
48
|
+
cursor:pointer;
|
|
49
|
+
position:relative;
|
|
50
|
+
display:flex;
|
|
51
|
+
box-sizing:border-box;
|
|
52
|
+
width:100%;
|
|
53
|
+
min-height:160px;
|
|
54
|
+
margin:0;
|
|
55
|
+
padding:var(--sn-primitive-dimension-24, 24px);
|
|
56
|
+
border:none;
|
|
57
|
+
font-family:inherit;
|
|
58
|
+
text-align:left;
|
|
59
|
+
text-decoration:none;
|
|
60
|
+
background:transparent;
|
|
61
|
+
outline:0;
|
|
62
|
+
outline-offset:0;
|
|
63
|
+
}
|
|
64
|
+
.cardVacancy[data-mobile]{
|
|
65
|
+
min-height:120px;
|
|
66
|
+
}
|
|
67
|
+
.cardVacancy:focus-visible{
|
|
68
|
+
outline:var(--sn-primitive-strokeWeight-strokeSemiBold, 2px) solid var(--sn-theme-color-available-complementary, #000000);
|
|
69
|
+
outline-offset:calc(var(--sn-primitive-strokeWeight-strokeSemiBold, 2px) * -1);
|
|
70
|
+
}
|
|
71
|
+
.cardVacancy:active{
|
|
72
|
+
outline:none;
|
|
73
|
+
}
|
|
74
|
+
.cardVacancy[data-appearance=neutral]{
|
|
75
|
+
color:var(--sn-theme-color-available-version-textMain, var(--sn-brand-color-text-version-main, #41424e));
|
|
76
|
+
}
|
|
77
|
+
.cardVacancy[data-appearance=neutral] .background{
|
|
78
|
+
background-color:var(--sn-theme-color-neutral-decorTransparent, var(--sn-brand-color-neutral-transparent-forLightMode, rgba(124, 131, 182, 0.0784313725)));
|
|
79
|
+
}
|
|
80
|
+
.cardVacancy[data-appearance=neutral] .description{
|
|
81
|
+
color:var(--sn-theme-color-available-version-textDisabled, var(--sn-brand-color-text-version-disabled, rgba(65, 66, 78, 0.3490196078)));
|
|
82
|
+
}
|
|
83
|
+
.cardVacancy[data-appearance=primary]{
|
|
84
|
+
color:var(--sn-theme-color-primary-onAccent, var(--sn-brand-color-primary-onAccentLight, var(--sn-brandRole-color-brandA-onAccentLight, var(--sn-primitive-color-brandA-99, #fbfffc))));
|
|
85
|
+
}
|
|
86
|
+
.cardVacancy[data-appearance=primary] .background{
|
|
87
|
+
background-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))));
|
|
88
|
+
}
|
|
89
|
+
.cardVacancy[data-appearance=primary] .background::after{
|
|
90
|
+
content:"";
|
|
91
|
+
position:absolute;
|
|
92
|
+
inset:0;
|
|
93
|
+
background-image:repeating-radial-gradient(circle at 0% calc(100% + var(--sn-primitive-dimension-24, 24px)), transparent 0, transparent calc(var(--sn-primitive-dimension-32, 32px) - var(--sn-primitive-strokeWeight-strokeBold, 3px)), 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)))) calc(var(--sn-primitive-dimension-32, 32px) - var(--sn-primitive-strokeWeight-strokeBold, 3px)), 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)))) var(--sn-primitive-dimension-32, 32px));
|
|
94
|
+
}
|
|
95
|
+
.cardVacancy .stateLayer{
|
|
96
|
+
position:absolute;
|
|
97
|
+
inset:0;
|
|
98
|
+
border-radius:inherit;
|
|
99
|
+
}
|
|
100
|
+
.cardVacancy .stateLayer[data-state=borderOnBackground]{
|
|
101
|
+
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)));
|
|
102
|
+
border-style:solid;
|
|
103
|
+
border-width:var(--sn-primitive-strokeWeight-strokeRegular, 1px);
|
|
104
|
+
}
|
|
105
|
+
.cardVacancy .stateLayer[data-state=emptyNeutralOnBackground]{
|
|
106
|
+
background:var(--sn-theme-color-material-stateLayer-neutral-onBackground-defaultEmpty-filled, var(--sn-brand-color-state-neutral-forLightMode-default-background, rgba(120, 123, 138, 0)));
|
|
107
|
+
}
|
|
108
|
+
.cardVacancy .stateLayer[data-state=activatedOnBackground]{
|
|
109
|
+
background: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))));
|
|
110
|
+
}
|
|
111
|
+
.cardVacancy .stateLayer[data-state=versionOnColor]{
|
|
112
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-default-filled, rgba(0, 0, 0, 0.0509803922));
|
|
113
|
+
}
|
|
114
|
+
.cardVacancy .stateLayer[data-state=emptyVersionOnColor]{
|
|
115
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-defaultEmpty-filled, rgba(0, 0, 0, 0));
|
|
116
|
+
}
|
|
117
|
+
.cardVacancy .stateLayer[data-state=inversionOnColor]{
|
|
118
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-default-filled, rgba(255, 255, 255, 0.1019607843));
|
|
119
|
+
}
|
|
120
|
+
.cardVacancy .stateLayer[data-state=emptyInversionOnColor]{
|
|
121
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-defaultEmpty-filled, rgba(255, 255, 255, 0));
|
|
122
|
+
}
|
|
123
|
+
.cardVacancy .stateLayer[data-state=emptyDarkOnAccent]{
|
|
124
|
+
background:var(--sn-theme-color-material-stateLayer-darkOnAccent-defaultEmpty-filled, rgba(0, 0, 0, 0));
|
|
125
|
+
}
|
|
126
|
+
@media (hover: hover){
|
|
127
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=borderOnBackground]{
|
|
128
|
+
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)));
|
|
129
|
+
}
|
|
130
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyNeutralOnBackground]{
|
|
131
|
+
background:var(--sn-theme-color-material-stateLayer-neutral-onBackground-hovered-filled, var(--sn-brand-color-state-neutral-forLightMode-hovered-background, rgba(188, 195, 220, 0.1490196078)));
|
|
132
|
+
}
|
|
133
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=activatedOnBackground]{
|
|
134
|
+
background: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))));
|
|
135
|
+
}
|
|
136
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=versionOnColor]{
|
|
137
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-hovered-filled, rgba(0, 0, 0, 0.1019607843));
|
|
138
|
+
}
|
|
139
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyVersionOnColor]{
|
|
140
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-hovered-filled, rgba(0, 0, 0, 0.1019607843));
|
|
141
|
+
}
|
|
142
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=inversionOnColor]{
|
|
143
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-hovered-filled, rgba(255, 255, 255, 0.1490196078));
|
|
144
|
+
}
|
|
145
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyInversionOnColor]{
|
|
146
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-hovered-filled, rgba(255, 255, 255, 0.1490196078));
|
|
147
|
+
}
|
|
148
|
+
.cardVacancy:hover:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent]{
|
|
149
|
+
background:var(--sn-theme-color-material-stateLayer-darkOnAccent-hovered-filled, rgba(0, 0, 0, 0.0588235294));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
.cardVacancy{
|
|
153
|
+
}
|
|
154
|
+
.cardVacancy[data-loading] .stateLayer[data-state=borderOnBackground], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=borderOnBackground], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=borderOnBackground]{
|
|
155
|
+
border-color:var(--sn-theme-color-material-stateLayer-neutral-border-pressed-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-pressed-borderColor, rgba(159, 166, 198, 0.8)));
|
|
156
|
+
}
|
|
157
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyNeutralOnBackground], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyNeutralOnBackground], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyNeutralOnBackground]{
|
|
158
|
+
background:var(--sn-theme-color-material-stateLayer-neutral-onBackground-pressed-filled, var(--sn-brand-color-state-neutral-forLightMode-pressed-background, rgba(188, 195, 220, 0.3019607843)));
|
|
159
|
+
}
|
|
160
|
+
.cardVacancy[data-loading] .stateLayer[data-state=activatedOnBackground], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=activatedOnBackground], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=activatedOnBackground]{
|
|
161
|
+
background:var(--sn-theme-color-material-stateLayer-activated-pressed-filled, var(--sn-brand-color-state-activated-pressed-background, var(--sn-brandRole-color-brandA-backgroundActivatedPressed, rgba(56, 159, 116, 0.4509803922))));
|
|
162
|
+
}
|
|
163
|
+
.cardVacancy[data-loading] .stateLayer[data-state=versionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=versionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=versionOnColor]{
|
|
164
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-pressed-filled, rgba(0, 0, 0, 0.1490196078));
|
|
165
|
+
}
|
|
166
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyVersionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyVersionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyVersionOnColor]{
|
|
167
|
+
background:var(--sn-theme-color-material-stateLayer-versionOnColor-pressed-filled, rgba(0, 0, 0, 0.1490196078));
|
|
168
|
+
}
|
|
169
|
+
.cardVacancy[data-loading] .stateLayer[data-state=inversionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=inversionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=inversionOnColor]{
|
|
170
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-pressed-filled, rgba(255, 255, 255, 0.0509803922));
|
|
171
|
+
}
|
|
172
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyInversionOnColor], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyInversionOnColor], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyInversionOnColor]{
|
|
173
|
+
background:var(--sn-theme-color-material-stateLayer-inversionOnColor-pressed-filled, rgba(255, 255, 255, 0.0509803922));
|
|
174
|
+
}
|
|
175
|
+
.cardVacancy[data-loading] .stateLayer[data-state=emptyDarkOnAccent], .cardVacancy:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent], .cardVacancy[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent]{
|
|
176
|
+
background:var(--sn-theme-color-material-stateLayer-darkOnAccent-pressed-filled, rgba(0, 0, 0, 0.1215686275));
|
|
177
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ValueOf, WithSupportProps } from '@cloud-ru/ds-utils';
|
|
2
|
+
import { ComponentPropsWithoutRef, ComponentPropsWithRef, ElementType } from 'react';
|
|
3
|
+
import { APPEARANCE } from './constants.js';
|
|
4
|
+
export type PolymorphicRef<T extends ElementType> = ComponentPropsWithRef<T>['ref'];
|
|
5
|
+
export type Appearance = ValueOf<typeof APPEARANCE>;
|
|
6
|
+
type BaseCardVacancyProps = {
|
|
7
|
+
/** Заголовок вакансии. Обрезается многоточием, если не помещается в одну строку. */
|
|
8
|
+
title?: string;
|
|
9
|
+
/** Описание под заголовком. Обрезается многоточием, если не помещается в одну строку. */
|
|
10
|
+
description?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Визуальный вид карточки:
|
|
13
|
+
*
|
|
14
|
+
* - `neutral` — нейтральный полупрозрачный фон, тёмный заголовок.
|
|
15
|
+
* - `primary` — акцентный фон `primary` с декоративным паттерном, текст `onAccent`.
|
|
16
|
+
*/
|
|
17
|
+
appearance?: Appearance;
|
|
18
|
+
/** Компактная мобильная версия — меньшая высота и более мелкая типографика. */
|
|
19
|
+
mobile?: boolean;
|
|
20
|
+
/** CSS-класс корневого элемента. */
|
|
21
|
+
className?: string;
|
|
22
|
+
};
|
|
23
|
+
export type CardVacancyProps<T extends ElementType = 'a'> = WithSupportProps<BaseCardVacancyProps & {
|
|
24
|
+
/** Полиморфный тег корня — `'a'` по умолчанию (карточка-ссылка), либо роутерный `Link` / `'button'` / `'div'`. */
|
|
25
|
+
as?: T;
|
|
26
|
+
/** Ref на корневой элемент. */
|
|
27
|
+
innerRef?: PolymorphicRef<T>;
|
|
28
|
+
} & Omit<ComponentPropsWithoutRef<T>, keyof BaseCardVacancyProps | 'as' | 'ref'>>;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|