skillgrid 0.0.89 → 0.0.91

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 (41) hide show
  1. package/dist/assets/components/FileUpload/FileUpload.module-CL_LDrLs.css +1 -0
  2. package/dist/assets/components/Modal/Modal.module-x_YFLlra.css +1 -0
  3. package/dist/assets/icons/development/code-browser-outlined.svg.js +1 -1
  4. package/dist/assets/icons/development/code-close-outlined.svg.js +1 -1
  5. package/dist/assets/icons/development/code-outlined.svg.js +1 -1
  6. package/dist/assets/icons/development/cube-outlined.svg.js +1 -1
  7. package/dist/assets/icons/development/dataflow-outlined.svg.js +1 -1
  8. package/dist/assets/icons/development/terminal-square-outlined.svg.js +2 -2
  9. package/dist/assets/icons/general/award-outlined.svg.js +1 -1
  10. package/dist/assets/icons/general/compass-outlined.svg.js +1 -1
  11. package/dist/assets/icons/general/ellipsis-horizontal-outlined.svg.js +1 -1
  12. package/dist/assets/icons/general/ellipsis-vertical-outlined.svg.js +2 -2
  13. package/dist/assets/icons/general/eye-crossed-outlined.svg.js +2 -2
  14. package/dist/assets/icons/general/medal-outlined.svg.js +1 -1
  15. package/dist/assets/icons/general/megaphone-outlined.svg.js +1 -1
  16. package/dist/assets/icons/general/rating-outlined.svg.js +1 -1
  17. package/dist/assets/icons/general/send-ios-outlined.svg.js +1 -1
  18. package/dist/assets/icons/general/shop-outlined.svg.js +1 -1
  19. package/dist/assets/icons/general/teacher-outlined.svg.js +1 -1
  20. package/dist/assets/styles/{button.module-DjunAbRS.css → button.module-BG9KYkTN.css} +1 -1
  21. package/dist/components/Avatar/AvatarGroup/AvatarGroupRoot.js +5 -5
  22. package/dist/components/ConfigProvider/ConfigProvider.js +1 -1
  23. package/dist/components/FileUpload/FileUpload.js +1 -1
  24. package/dist/components/FileUpload/FileUpload.module.css.js +62 -62
  25. package/dist/components/InputBase/Input.js +6 -6
  26. package/dist/components/Modal/Modal.module.css.js +18 -18
  27. package/dist/components/Popover/lib/use-popover.js +1 -1
  28. package/dist/components/Tabs/ScrollWrapper.js +1 -1
  29. package/dist/components/Tabs/Tabs.js +1 -1
  30. package/dist/index.cjs.js +25 -3
  31. package/dist/index.css +1 -1
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.es.js +91 -89
  34. package/dist/styles/brand.module.css.js +24 -2
  35. package/dist/styles/brand.module.css2.js +4 -0
  36. package/dist/styles/button.module.css.js +1 -1
  37. package/dist/utils/generate-brand-primary-palette.d.ts +36 -0
  38. package/dist/utils/generate-brand-primary-palette.js +101 -0
  39. package/package.json +2 -1
  40. package/dist/assets/components/FileUpload/FileUpload.module-CldF1EqE.css +0 -1
  41. package/dist/assets/components/Modal/Modal.module-BXeSeTs2.css +0 -1
package/dist/index.d.ts CHANGED
@@ -29,3 +29,4 @@ export * from './components/Progress';
29
29
  export * from './components/Switch';
30
30
  export * from './components/FileUpload';
31
31
  export * from './components/Popover';
32
+ export * from './utils/generate-brand-primary-palette';
package/dist/index.es.js CHANGED
@@ -1,95 +1,97 @@
1
1
  import { Avatar as e } from "./components/Avatar/index.js";
2
2
  import { Radio as p } from "./components/Radio/index.js";
3
- import { default as x } from "./locale/en_US.js";
4
- import { default as a } from "./locale/ru_RU.js";
5
- import { Button as s } from "./components/Button/Button.js";
6
- import { Modal as i } from "./components/Modal/Modal.js";
7
- import { Alert as l } from "./components/Alert/Alert.js";
8
- import { Placeholder as u } from "./components/Placeholder/Placeholder.js";
9
- import { Badge as v } from "./components/Badge/Badge.js";
10
- import { Image as P } from "./components/Image/Image.js";
11
- import { Loader as S } from "./components/Loader/Loader.js";
12
- import { ConfigProvider as L } from "./components/ConfigProvider/ConfigProvider.js";
13
- import { useConfig as y, useLocale as A } from "./components/ConfigProvider/ConfigProvider.hook.js";
14
- import { Icon as k } from "./components/Icon/IconWithCategories.js";
15
- import { CountryIcons as w } from "./components/Icon/categories/country.js";
16
- import { EditorIcons as R } from "./components/Icon/categories/editor.js";
17
- import { LayoutIcons as F } from "./components/Icon/categories/layout.js";
18
- import { UsersIcons as H } from "./components/Icon/categories/users.js";
19
- import { GeneralIcons as j } from "./components/Icon/categories/general.js";
20
- import { ArrowsIcons as z } from "./components/Icon/categories/arrows.js";
21
- import { ChartsIcons as K } from "./components/Icon/categories/charts.js";
22
- import { PrivateIcons as O } from "./components/Icon/categories/private.js";
23
- import { DevelopmentIcons as V } from "./components/Icon/categories/development.js";
24
- import { ProductIcons as X } from "./components/Icon/categories/product.js";
25
- import { ServiceIcons as Z } from "./components/Icon/categories/service.js";
26
- import { extendLocale as $ } from "./locale/extendLocale.js";
27
- import { Tag as ro } from "./components/Tag/Tag.js";
28
- import { Checkbox as to } from "./components/Checkbox/Checkbox.js";
29
- import { Typography as fo } from "./components/Typography/Typography.js";
30
- import { TextInput as mo } from "./components/TextInput/TextInput.js";
31
- import { TextArea as no } from "./components/TextArea/TextArea.js";
32
- import { Helper as co } from "./components/Helper/Helper.js";
33
- import { List as lo } from "./components/List/List.js";
34
- import { Tabs as uo } from "./components/Tabs/Tabs.js";
35
- import { Tooltip as vo } from "./components/Tooltip/Tooltip.js";
36
- import { SegmentedControl as Po } from "./components/SegmentedControl/SegmentedControl.js";
37
- import { Trigger as So } from "./components/Trigger/Trigger.js";
38
- import { useSnackbar as Lo } from "./components/Snackbar/lib/useSnackbar.js";
39
- import { SnackbarProvider as yo } from "./components/Snackbar/Provider/SnackbarProvider.js";
40
- import { Divider as Uo } from "./components/Divider/Divider.js";
41
- import { Drop as Do } from "./components/Drop/Drop.js";
42
- import { Container as Bo } from "./components/Container/Container.js";
43
- import { Progress as Eo } from "./components/Progress/Progress.js";
44
- import { Switch as Go } from "./components/Switch/Switch.js";
45
- import { FileUpload as Mo } from "./components/FileUpload/FileUpload.js";
46
- import { Popover as qo } from "./components/Popover/Popover.js";
3
+ import { generateBrandPrimaryPalette as m } from "./utils/generate-brand-primary-palette.js";
4
+ import { default as a } from "./locale/en_US.js";
5
+ import { default as s } from "./locale/ru_RU.js";
6
+ import { Button as i } from "./components/Button/Button.js";
7
+ import { Modal as l } from "./components/Modal/Modal.js";
8
+ import { Alert as g } from "./components/Alert/Alert.js";
9
+ import { Placeholder as P } from "./components/Placeholder/Placeholder.js";
10
+ import { Badge as C } from "./components/Badge/Badge.js";
11
+ import { Image as S } from "./components/Image/Image.js";
12
+ import { Loader as y } from "./components/Loader/Loader.js";
13
+ import { ConfigProvider as b } from "./components/ConfigProvider/ConfigProvider.js";
14
+ import { useConfig as U, useLocale as k } from "./components/ConfigProvider/ConfigProvider.hook.js";
15
+ import { Icon as D } from "./components/Icon/IconWithCategories.js";
16
+ import { CountryIcons as R } from "./components/Icon/categories/country.js";
17
+ import { EditorIcons as F } from "./components/Icon/categories/editor.js";
18
+ import { LayoutIcons as H } from "./components/Icon/categories/layout.js";
19
+ import { UsersIcons as j } from "./components/Icon/categories/users.js";
20
+ import { GeneralIcons as z } from "./components/Icon/categories/general.js";
21
+ import { ArrowsIcons as K } from "./components/Icon/categories/arrows.js";
22
+ import { ChartsIcons as O } from "./components/Icon/categories/charts.js";
23
+ import { PrivateIcons as V } from "./components/Icon/categories/private.js";
24
+ import { DevelopmentIcons as X } from "./components/Icon/categories/development.js";
25
+ import { ProductIcons as Z } from "./components/Icon/categories/product.js";
26
+ import { ServiceIcons as $ } from "./components/Icon/categories/service.js";
27
+ import { extendLocale as ro } from "./locale/extendLocale.js";
28
+ import { Tag as to } from "./components/Tag/Tag.js";
29
+ import { Checkbox as fo } from "./components/Checkbox/Checkbox.js";
30
+ import { Typography as xo } from "./components/Typography/Typography.js";
31
+ import { TextInput as no } from "./components/TextInput/TextInput.js";
32
+ import { TextArea as co } from "./components/TextArea/TextArea.js";
33
+ import { Helper as lo } from "./components/Helper/Helper.js";
34
+ import { List as go } from "./components/List/List.js";
35
+ import { Tabs as Po } from "./components/Tabs/Tabs.js";
36
+ import { Tooltip as Co } from "./components/Tooltip/Tooltip.js";
37
+ import { SegmentedControl as So } from "./components/SegmentedControl/SegmentedControl.js";
38
+ import { Trigger as yo } from "./components/Trigger/Trigger.js";
39
+ import { useSnackbar as bo } from "./components/Snackbar/lib/useSnackbar.js";
40
+ import { SnackbarProvider as Uo } from "./components/Snackbar/Provider/SnackbarProvider.js";
41
+ import { Divider as Bo } from "./components/Divider/Divider.js";
42
+ import { Drop as wo } from "./components/Drop/Drop.js";
43
+ import { Container as Eo } from "./components/Container/Container.js";
44
+ import { Progress as Go } from "./components/Progress/Progress.js";
45
+ import { Switch as Mo } from "./components/Switch/Switch.js";
46
+ import { FileUpload as qo } from "./components/FileUpload/FileUpload.js";
47
+ import { Popover as Jo } from "./components/Popover/Popover.js";
47
48
  export {
48
- l as Alert,
49
- z as ArrowsIcons,
49
+ g as Alert,
50
+ K as ArrowsIcons,
50
51
  e as Avatar,
51
- v as Badge,
52
- s as Button,
53
- K as ChartsIcons,
54
- to as Checkbox,
55
- L as ConfigProvider,
56
- Bo as Container,
57
- w as CountryIcons,
58
- V as DevelopmentIcons,
59
- Uo as Divider,
60
- Do as Drop,
61
- R as EditorIcons,
62
- Mo as FileUpload,
63
- j as GeneralIcons,
64
- co as Helper,
65
- k as Icon,
66
- P as Image,
67
- F as LayoutIcons,
68
- lo as List,
69
- S as Loader,
70
- i as Modal,
71
- u as Placeholder,
72
- qo as Popover,
73
- O as PrivateIcons,
74
- X as ProductIcons,
75
- Eo as Progress,
52
+ C as Badge,
53
+ i as Button,
54
+ O as ChartsIcons,
55
+ fo as Checkbox,
56
+ b as ConfigProvider,
57
+ Eo as Container,
58
+ R as CountryIcons,
59
+ X as DevelopmentIcons,
60
+ Bo as Divider,
61
+ wo as Drop,
62
+ F as EditorIcons,
63
+ qo as FileUpload,
64
+ z as GeneralIcons,
65
+ lo as Helper,
66
+ D as Icon,
67
+ S as Image,
68
+ H as LayoutIcons,
69
+ go as List,
70
+ y as Loader,
71
+ l as Modal,
72
+ P as Placeholder,
73
+ Jo as Popover,
74
+ V as PrivateIcons,
75
+ Z as ProductIcons,
76
+ Go as Progress,
76
77
  p as Radio,
77
- Po as SegmentedControl,
78
- Z as ServiceIcons,
79
- yo as SnackbarProvider,
80
- Go as Switch,
81
- uo as Tabs,
82
- ro as Tag,
83
- no as TextArea,
84
- mo as TextInput,
85
- vo as Tooltip,
86
- So as Trigger,
87
- fo as Typography,
88
- H as UsersIcons,
89
- x as enUS,
90
- $ as extendLocale,
91
- a as ruRU,
92
- y as useConfig,
93
- A as useLocale,
94
- Lo as useSnackbar
78
+ So as SegmentedControl,
79
+ $ as ServiceIcons,
80
+ Uo as SnackbarProvider,
81
+ Mo as Switch,
82
+ Po as Tabs,
83
+ to as Tag,
84
+ co as TextArea,
85
+ no as TextInput,
86
+ Co as Tooltip,
87
+ yo as Trigger,
88
+ xo as Typography,
89
+ j as UsersIcons,
90
+ a as enUS,
91
+ ro as extendLocale,
92
+ m as generateBrandPrimaryPalette,
93
+ s as ruRU,
94
+ U as useConfig,
95
+ k as useLocale,
96
+ bo as useSnackbar
95
97
  };
@@ -1,4 +1,26 @@
1
- import '../assets/styles/brand.module-BVg9LAk-.css';const t = {};
1
+ const r = `:root {
2
+ --brand-primary-50: #665414;
3
+ --brand-primary-100: #766013;
4
+ --brand-primary-150: #8E7313;
5
+ --brand-primary-200: #A08112;
6
+ --brand-primary-250: #B48C00;
7
+ --brand-primary-300: #C19700;
8
+ --brand-primary-350: #CDA000;
9
+ --brand-primary-400: #E0AF00;
10
+ --brand-primary-450: #EFBE0D;
11
+ --brand-primary-500: #FFC804;
12
+ --brand-primary-550: #FFD12F;
13
+ --brand-primary-600: #FFD74A;
14
+ --brand-primary-650: #FFDD65;
15
+ --brand-primary-700: #FFE27B;
16
+ --brand-primary-750: #FFE895;
17
+ --brand-primary-800: #FFEDAB;
18
+ --brand-primary-850: #FFF1BF;
19
+ --brand-primary-900: #FFF4CE;
20
+ --brand-primary-950: #FFF8DE;
21
+ --brand-primary-970: #FFFBEC;
22
+ }
23
+ `;
2
24
  export {
3
- t as default
25
+ r as default
4
26
  };
@@ -0,0 +1,4 @@
1
+ import '../assets/styles/brand.module-BVg9LAk-.css';const t = {};
2
+ export {
3
+ t as default
4
+ };
@@ -1,4 +1,4 @@
1
- import '../assets/styles/button.module-DjunAbRS.css';const t = {};
1
+ import '../assets/styles/button.module-BG9KYkTN.css';const t = {};
2
2
  export {
3
3
  t as default
4
4
  };
@@ -0,0 +1,36 @@
1
+ declare const ACCENT_REFERENCE: {
2
+ readonly 50: "#000f31";
3
+ readonly 100: "#001947";
4
+ readonly 150: "#00235a";
5
+ readonly 200: "#012d6e";
6
+ readonly 250: "#003786";
7
+ readonly 300: "#00429b";
8
+ readonly 350: "#034cb4";
9
+ readonly 400: "#0058cc";
10
+ readonly 450: "#0d63e3";
11
+ readonly 500: "#0070ff";
12
+ readonly 550: "#2b7fff";
13
+ readonly 600: "#468ffd";
14
+ readonly 650: "#5e9eff";
15
+ readonly 700: "#76adfe";
16
+ readonly 750: "#8cbbff";
17
+ readonly 800: "#a4c9fe";
18
+ readonly 850: "#b9d7ff";
19
+ readonly 900: "#d1e4fe";
20
+ readonly 950: "#e7f2ff";
21
+ readonly 970: "#f3f9ff";
22
+ };
23
+ export type BrandPrimaryStep = keyof typeof ACCENT_REFERENCE;
24
+ export type BrandPrimaryPalette = Record<`--brand-primary-${BrandPrimaryStep}`, string>;
25
+ /**
26
+ * Генерирует CSS-переменные brand-primary из непрозрачного цвета #RGB или #RRGGBB.
27
+ * Шаг 500 точно сохраняет исходный цвет в формате шестизначного HEX.
28
+ *
29
+ * @param hex Исходный непрозрачный цвет в формате #RGB или #RRGGBB.
30
+ * @returns Объект CSS-переменных для ConfigProvider.theme.
31
+ * @example
32
+ * const theme = generateBrandPrimaryPalette('#FFC804');
33
+ * // <ConfigProvider theme={theme}>...</ConfigProvider>
34
+ */
35
+ export declare function generateBrandPrimaryPalette(hex: string): BrandPrimaryPalette;
36
+ export {};
@@ -0,0 +1,101 @@
1
+ import { colordx as s, inGamutSrgb as S, extend as A } from "@colordx/core";
2
+ import N from "@colordx/core/plugins/a11y";
3
+ import j from "@colordx/core/plugins/mix";
4
+ import G from "../styles/brand.module.css.js";
5
+ A([N, j]);
6
+ const h = {
7
+ 50: "#000f31",
8
+ 100: "#001947",
9
+ 150: "#00235a",
10
+ 200: "#012d6e",
11
+ 250: "#003786",
12
+ 300: "#00429b",
13
+ 350: "#034cb4",
14
+ 400: "#0058cc",
15
+ 450: "#0d63e3",
16
+ 500: "#0070ff",
17
+ 550: "#2b7fff",
18
+ 600: "#468ffd",
19
+ 650: "#5e9eff",
20
+ 700: "#76adfe",
21
+ 750: "#8cbbff",
22
+ 800: "#a4c9fe",
23
+ 850: "#b9d7ff",
24
+ 900: "#d1e4fe",
25
+ 950: "#e7f2ff",
26
+ 970: "#f3f9ff"
27
+ }, y = Object.fromEntries(
28
+ [...G.matchAll(/(--brand-primary-\d+):\s*(#[\da-f]{6})\s*;/gi)].map(([, t, e]) => [
29
+ t,
30
+ e
31
+ ])
32
+ );
33
+ function c(t) {
34
+ const e = s(t);
35
+ return e.apcaContrast("#ffffff", { precision: 6 }) + e.apcaContrast("#000000", { precision: 6 });
36
+ }
37
+ const M = s(h[500]).toOklch().c, v = c(h[500]), P = c("#000000"), $ = c("#ffffff"), B = Object.entries(h).map(([t, e]) => {
38
+ const r = c(e), f = s(e).toOklch().c;
39
+ return {
40
+ step: Number(t),
41
+ token: `--brand-primary-${t}`,
42
+ score: r,
43
+ chromaRatio: f / M
44
+ };
45
+ });
46
+ function F(t, e, r) {
47
+ if (S({ l: t, c: e, h: r })) return s({ l: t, c: e, h: r }).toHex();
48
+ let f = 0, a = e;
49
+ for (let m = 0; m < 24; m++) {
50
+ const n = (f + a) / 2;
51
+ S({ l: t, c: n, h: r }) ? f = n : a = n;
52
+ }
53
+ return s({ l: t, c: f, h: r }).toHex();
54
+ }
55
+ function J(t) {
56
+ if (typeof t != "string" || !/^#(?:[\da-f]{3}|[\da-f]{6})$/i.test(t))
57
+ return { ...y };
58
+ try {
59
+ return T(t);
60
+ } catch {
61
+ return { ...y };
62
+ }
63
+ }
64
+ function T(t) {
65
+ const e = s(t), r = e.toHex(), f = c(r), { c: a, h: m } = e.toOklch(), n = {};
66
+ let d = "#000000", u = P;
67
+ for (const o of B) {
68
+ if (o.step === 970) {
69
+ n[o.token] = e.mix("#ffffff", 0.925).toHex();
70
+ continue;
71
+ }
72
+ if (o.step === 950) {
73
+ n[o.token] = e.mix("#ffffff", 0.875).toHex();
74
+ continue;
75
+ }
76
+ if (o.step === 900) {
77
+ n[o.token] = e.mix("#ffffff", 0.825).toHex();
78
+ continue;
79
+ }
80
+ if (o.step === 500) {
81
+ n[o.token] = r, d = r, u = f;
82
+ continue;
83
+ }
84
+ const x = o.step < 500 ? P : $, R = (o.score - v) / (x - v), l = f + R * (x - f);
85
+ if (l === f) {
86
+ n[o.token] = r;
87
+ continue;
88
+ }
89
+ let k = 0, g = 1, i = o.step < 500 ? r : d, H = Math.abs(c(i) - l);
90
+ const w = a * o.chromaRatio;
91
+ for (let C = 0; C < 28; C++) {
92
+ const b = (k + g) / 2, E = F(b, w, m), p = c(E), O = Math.abs(p - l);
93
+ p <= u && (o.step > 500 || p >= f) && O < H && (i = E, H = O), p > l ? k = b : g = b;
94
+ }
95
+ n[o.token] = i, d = i, u = c(i);
96
+ }
97
+ return n;
98
+ }
99
+ export {
100
+ J as generateBrandPrimaryPalette
101
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillgrid",
3
- "version": "0.0.89",
3
+ "version": "0.0.91",
4
4
  "description": "Skillgrid Components Library",
5
5
  "keywords": [
6
6
  "react",
@@ -126,6 +126,7 @@
126
126
  },
127
127
  "packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447",
128
128
  "dependencies": {
129
+ "@colordx/core": "^7.2.0",
129
130
  "@floating-ui/react": "^0.27.16",
130
131
  "@testing-library/react": "^16.3.0",
131
132
  "antd": "^5.25.1",
@@ -1 +0,0 @@
1
- ._root_f98he_1{--file-upload-vertical-frame-height: 198px;display:flex;flex-direction:column;align-items:stretch;width:100%}._rootVertical_f98he_10{gap:12px}._rootHorizontal_f98he_14{gap:8px}._rootButton_f98he_18{gap:16px;align-items:flex-start}._dropzoneWrapper_f98he_23{width:100%}._uploader_f98he_27{display:block;width:100%}._buttonTrigger_f98he_32{display:inline-flex;max-width:100%}._attachButton_f98he_37{max-width:100%}._dropzone_f98he_23{--file-upload-dropzone-border-color: var(--stroke-neutral);position:relative;display:flex;box-sizing:border-box;width:100%;background:var(--bg-primary);border:2px dashed var(--file-upload-dropzone-border-color);border-radius:16px;transition:background-color .2s ease,box-shadow .2s ease}._dropzoneVertical_f98he_60{flex-direction:column;gap:16px;align-items:center;justify-content:center;min-height:var(--file-upload-vertical-frame-height);padding:24px}._dropzoneHorizontal_f98he_70{flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;min-height:72px;padding:16px}._dropzoneMeasuredBorder_f98he_80{border-color:transparent}._dropzoneBorder_f98he_84{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;color:var(--file-upload-dropzone-border-color);transition:color .2s ease}._dropzone_f98he_23>:not(._dropzoneBorder_f98he_84){position:relative}._dropzoneInteractive_f98he_102{cursor:pointer}._dropzoneInteractive_f98he_102:hover{--file-upload-dropzone-border-color: var(--stroke-blue);background:var(--base-blue-98)}._dropzoneInteractive_f98he_102:focus-within{box-shadow:0 0 0 4px var(--stroke-accent-disabled)}._dropzoneDragActive_f98he_116{--file-upload-dropzone-border-color: var(--stroke-blue);background:var(--base-blue-98)}._dropzoneDisabled_f98he_122{--file-upload-dropzone-border-color: var(--stroke-neutral-disabled);cursor:not-allowed;background:var(--bg-disabled)}._dropzoneDisabled_f98he_122 ._dropzoneIcon_f98he_129,._dropzoneDisabled_f98he_122 ._dropzoneIconTile_f98he_130{color:var(--icon-disabled)}._dropzoneDisabled_f98he_122 ._dropzoneIconTile_f98he_130{background:var(--bg-disabled);border-color:var(--stroke-neutral-disabled)}._dropzoneDisabled_f98he_122 ._dropzoneTitle_f98he_139{color:var(--text-state-primary-disabled)}._dropzoneDisabled_f98he_122 ._dropzoneDescription_f98he_143{color:var(--text-state-secondary-disabled)}._dropzoneIcon_f98he_129{color:var(--icon-secondary)}._dropzoneIconTile_f98he_130{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;color:var(--icon-secondary);background:var(--bg-secondary);border:1px solid var(--stroke-neutral);border-radius:16px}._dropzoneContent_f98he_167{display:flex;flex-direction:column;gap:6px;align-items:center;width:100%;max-width:372px}._dropzoneContentHorizontal_f98he_177{flex:1;align-items:flex-start;min-width:0;max-width:none}._dropzoneTitle_f98he_139{width:100%;text-align:center}._dropzoneTitleHorizontal_f98he_189{text-align:left}._dropzoneDescription_f98he_143{width:100%;color:var(--text-secondary);text-align:center}._dropzoneDescriptionHorizontal_f98he_199{text-align:left}._triggerButton_f98he_203{flex-shrink:0}._previewCard_f98he_207{isolation:isolate;position:relative;overflow:hidden;width:100%;height:var(--file-upload-vertical-frame-height);background:var(--bg-secondary);border:1px solid var(--stroke-neutral);border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff29}._previewCard_f98he_207:focus-within{box-shadow:0 0 0 4px var(--stroke-accent-disabled),inset 0 0 0 1px #ffffff29}._previewCardError_f98he_228{border-color:var(--stroke-negative)}._previewCardError_f98he_228:focus-within{box-shadow:0 0 0 4px var(--stroke-negative-disabled),inset 0 0 0 1px #ffffff29}._previewCardDisabled_f98he_238{background:var(--bg-disabled);border-color:var(--stroke-neutral-disabled)}._previewMediaImage_f98he_243,._previewMediaPlaceholder_f98he_244{width:100%;height:100%}._previewMediaImage_f98he_243{object-fit:cover}._previewMediaPlaceholder_f98he_244{display:flex;align-items:center;justify-content:center;color:var(--icon-secondary);background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}._previewCardDisabled_f98he_238 ._previewMediaPlaceholder_f98he_244{color:var(--icon-disabled);background:var(--bg-disabled)}._previewOverlay_f98he_268{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#11111105,#1111113d)}._previewCardUploading_f98he_275 ._previewOverlay_f98he_268,._previewCardError_f98he_228 ._previewOverlay_f98he_268{background:linear-gradient(180deg,#11111129,#1111116b)}._previewCardDisabled_f98he_238 ._previewOverlay_f98he_268{background:linear-gradient(180deg,#ffffff52,#fff6)}._previewStatus_f98he_284{position:absolute;z-index:2;bottom:16px;left:16px;display:flex;gap:8px;align-items:center;max-width:calc(100% - 32px);padding:8px 12px;color:var(--text-contrast);background:#111111a3;border-radius:12px}._previewStatusError_f98he_303{color:var(--text-negative);background:#ffffffe0;border:1px solid var(--stroke-negative-disabled)}._previewStatusText_f98he_309{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}._previewActions_f98he_316{position:absolute;z-index:2;right:16px;bottom:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;max-width:calc(100% - 32px)}._previewReplaceButton_f98he_331,._previewRemoveButton_f98he_332,._previewActionButton_f98he_333{flex-shrink:0}._fileList_f98he_337{display:flex;flex-direction:column;gap:8px;width:100%}._fileListHorizontal_f98he_344{gap:8px}._fileTileList_f98he_348{display:flex;flex-wrap:wrap;gap:8px;width:100%}._fileTile_f98he_348{display:flex;gap:12px;align-items:center;box-sizing:border-box;width:240px;min-height:64px;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--stroke-neutral);border-radius:16px}._fileTileDisabled_f98he_370{background:var(--bg-disabled);border-color:var(--stroke-neutral-disabled)}._fileTileDisabled_f98he_370 ._fileName_f98he_375{color:var(--text-state-primary-disabled)}._fileTileDisabled_f98he_370 ._fileMeta_f98he_379{color:var(--text-state-secondary-disabled)}._fileTileDisabled_f98he_370 ._filePreviewDocument_f98he_383,._fileTileDisabled_f98he_370 ._filePreviewImage_f98he_384,._fileTileDisabled_f98he_370 ._filePreviewPlaceholder_f98he_385{color:var(--icon-disabled);background:var(--bg-disabled);border-color:var(--stroke-neutral-disabled)}._fileTileBody_f98he_391{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}._fileItem_f98he_400{display:flex;align-items:stretch;box-sizing:border-box;width:100%;min-height:64px;padding-left:12px;background:var(--bg-primary);border:1px solid var(--stroke-neutral);border-radius:16px}._fileItemError_f98he_414{border-color:var(--stroke-negative)}._fileItemDisabled_f98he_418{background:var(--bg-disabled);border-color:var(--stroke-neutral-disabled)}._fileItemDisabled_f98he_418 ._fileName_f98he_375{color:var(--text-state-primary-disabled)}._fileItemDisabled_f98he_418 ._fileMeta_f98he_379,._fileItemDisabled_f98he_418 ._fileMetaText_f98he_428{color:var(--text-state-secondary-disabled)}._fileItemDisabled_f98he_418 ._filePreviewDocument_f98he_383,._fileItemDisabled_f98he_418 ._filePreviewImage_f98he_384,._fileItemDisabled_f98he_418 ._filePreviewPlaceholder_f98he_385{color:var(--icon-disabled);background:var(--bg-disabled);border-color:var(--stroke-neutral-disabled)}._fileItemDisabled_f98he_418 ._filePreviewMedia_f98he_440{opacity:.56}._fileMain_f98he_444{display:flex;flex:1;gap:12px;align-items:center;min-width:0;padding:12px 0}._filePreview_f98he_383{overflow:hidden;flex-shrink:0;width:40px;height:40px;border-radius:12px}._filePreviewDocument_f98he_383{display:flex;align-items:center;justify-content:center;color:var(--icon-blue);background:var(--bg-blue-secondary);border:1px solid var(--stroke-neutral)}._filePreviewImage_f98he_384,._filePreviewPlaceholder_f98he_385{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid rgb(0 0 0 / .04)}._filePreviewPlaceholder_f98he_385{color:var(--icon-secondary)}._filePreviewMedia_f98he_440{width:40px;height:40px;object-fit:cover}._fileBody_f98he_495{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}._fileName_f98he_375{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._fileMeta_f98he_379{overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}._fileMetaInline_f98he_517{display:flex;gap:6px;align-items:center;min-width:0}._fileMetaText_f98he_428{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}._fileMetaLoader_f98he_531{flex-shrink:0}._actions_f98he_535,._inlineActions_f98he_536{display:flex;gap:8px;align-items:center;padding:16px 12px 16px 8px}._actions_f98he_535{pointer-events:none;opacity:0;transition:opacity .2s ease}._actionsVisible_f98he_549{pointer-events:auto;opacity:1}._actionToggleOpen_f98he_554{background:var(--button-background-gray)}._actionMenu_f98he_558{display:flex;flex-direction:column;gap:2px;box-sizing:border-box;width:100%;padding:8px;background:transparent}._actionMenuButton_f98he_570{justify-content:flex-start;min-height:40px;text-align:left;border-radius:8px}._actionMenuBottomSheet_f98he_577{gap:4px;padding:0 0 calc(16px + env(safe-area-inset-bottom,0px))}._actionIcon_f98he_582{display:flex;flex-shrink:0;align-items:center;justify-content:center}@media (hover: none){._actions_f98he_535{pointer-events:auto;opacity:1}}@media (width <= 767px){._dropzoneVertical_f98he_60{min-height:198px;padding:20px}._dropzoneHorizontal_f98he_70{flex-wrap:wrap}._dropzoneContentHorizontal_f98he_177,._triggerButton_f98he_203{width:100%}._previewStatus_f98he_284{right:16px;max-width:calc(100% - 32px)}._previewActions_f98he_316{right:12px;bottom:12px;left:12px;max-width:none}._fileItem_f98he_400{padding-left:8px}._fileMain_f98he_444{gap:10px}._actions_f98he_535,._inlineActions_f98he_536{padding-right:8px;padding-left:4px}._fileTile_f98he_348{width:100%}}
@@ -1 +0,0 @@
1
- ._container_1d51n_1{position:relative;display:flex;flex-direction:column;width:100%;height:100%;max-height:inherit;background-color:inherit}._container_1d51n_1 hr{display:block;height:1px;padding:0;border:0}._header_1d51n_21{position:sticky;z-index:2;top:0;right:0;left:0;display:grid;grid-template-areas:"title leftActionsStack rightActionsStack" "subtitle subtitle subtitle";grid-template-columns:auto 1fr auto;align-items:center;justify-content:start;padding:16px 24px;background-color:inherit}._header_1d51n_21._title-actions-actions_1d51n_40{grid-template-areas:"title leftActionsStack rightActionsStack" "subtitle subtitle subtitle";grid-template-columns:auto 1fr auto;justify-content:center}._header_1d51n_21._actions-title-actions_1d51n_48{grid-template-areas:"leftActionsStack title rightActionsStack" "subtitle subtitle subtitle";grid-template-columns:1fr auto 1fr;justify-content:center}._header_1d51n_21._withBorder_1d51n_56{border-bottom:1px solid var(--stroke-neutral)}._header_1d51n_21._drawerHeader_1d51n_60{padding:12px 24px}._title_1d51n_40{overflow:hidden;display:-webkit-box;grid-area:title;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1}._subTitle_1d51n_76{overflow:hidden;display:-webkit-box;grid-area:subtitle;-webkit-box-orient:vertical;margin-top:8px;-webkit-line-clamp:3;line-clamp:3}._leftActionsStack_1d51n_88{display:flex;grid-area:leftActionsStack;gap:4px;align-items:center;justify-content:flex-start}._rightActionsStack_1d51n_96{position:relative;display:flex;grid-area:rightActionsStack;gap:4px;align-items:center;justify-content:flex-end;min-width:36px}._header_1d51n_21 ._rightActionsStack_1d51n_96:has(._closeButton_1d51n_111){padding-right:40px}._content_1d51n_116{position:relative;z-index:0;overflow:auto;flex:1;padding:16px 24px}._footer_1d51n_127{position:sticky;z-index:2;right:0;bottom:0;left:0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;background-color:inherit}._footer_1d51n_127._withBorder_1d51n_56{border-top:1px solid var(--stroke-neutral)}._header_1d51n_21 ._rightActionsStack_1d51n_96 ._closeButton_1d51n_111{position:absolute;top:50%!important;right:0;transform:translateY(-50%)!important;padding:10px}._header_1d51n_21 ._rightActionsStack_1d51n_96 ._closeButton_1d51n_111:hover svg{color:var(--base-gray-0)}