jvetrau-ds 0.2.25 → 0.2.27

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 (156) hide show
  1. package/components/form-message/form-message.cjs +10 -10
  2. package/components/form-message/form-message.cjs.map +1 -1
  3. package/components/form-message/form-message.css +21 -18
  4. package/components/form-message/form-message.d.ts +2 -2
  5. package/components/form-message/form-message.js +10 -10
  6. package/components/form-message/form-message.js.map +1 -1
  7. package/components/logo/assets/brandcopilot-favicon.svg +4 -0
  8. package/components/logo/assets/dmpatterns-favicon.svg +20 -0
  9. package/components/logo/logo.cjs +16 -6
  10. package/components/logo/logo.cjs.map +1 -1
  11. package/components/logo/logo.css +72 -1
  12. package/components/logo/logo.d.ts +1 -1
  13. package/components/logo/logo.js +14 -6
  14. package/components/logo/logo.js.map +1 -1
  15. package/components/surface/surface-presentation.cjs +1 -0
  16. package/components/surface/surface-presentation.cjs.map +1 -1
  17. package/components/surface/surface-presentation.js +1 -0
  18. package/components/surface/surface-presentation.js.map +1 -1
  19. package/components/surface/surface.css +48 -0
  20. package/package.json +1 -1
  21. package/styles.css +140 -18
  22. package/themes/base/desktop.css +2 -2
  23. package/themes/base/desktop.md +4 -4
  24. package/themes/base/desktop.scoped.css +2 -2
  25. package/themes/base/diagram.css +2 -2
  26. package/themes/base/diagram.md +4 -4
  27. package/themes/base/diagram.scoped.css +2 -2
  28. package/themes/base/mobile.css +2 -2
  29. package/themes/base/mobile.md +4 -4
  30. package/themes/base/mobile.scoped.css +2 -2
  31. package/themes/brandcopilot/desktop.css +2 -2
  32. package/themes/brandcopilot/desktop.md +4 -4
  33. package/themes/brandcopilot/desktop.scoped.css +2 -2
  34. package/themes/brandcopilot/diagram.css +2 -2
  35. package/themes/brandcopilot/diagram.md +4 -4
  36. package/themes/brandcopilot/diagram.scoped.css +2 -2
  37. package/themes/brandcopilot/mobile.css +2 -2
  38. package/themes/brandcopilot/mobile.md +4 -4
  39. package/themes/brandcopilot/mobile.scoped.css +2 -2
  40. package/themes/dmpatterns/desktop.css +2 -2
  41. package/themes/dmpatterns/desktop.md +4 -4
  42. package/themes/dmpatterns/desktop.scoped.css +2 -2
  43. package/themes/dmpatterns/diagram.css +2 -2
  44. package/themes/dmpatterns/diagram.md +4 -4
  45. package/themes/dmpatterns/diagram.scoped.css +2 -2
  46. package/themes/dmpatterns/mobile.css +2 -2
  47. package/themes/dmpatterns/mobile.md +4 -4
  48. package/themes/dmpatterns/mobile.scoped.css +2 -2
  49. package/themes/pdigest/desktop.css +2 -2
  50. package/themes/pdigest/desktop.md +4 -4
  51. package/themes/pdigest/desktop.scoped.css +2 -2
  52. package/themes/pdigest/diagram.css +2 -2
  53. package/themes/pdigest/diagram.md +4 -4
  54. package/themes/pdigest/diagram.scoped.css +2 -2
  55. package/themes/pdigest/mobile.css +2 -2
  56. package/themes/pdigest/mobile.md +4 -4
  57. package/themes/pdigest/mobile.scoped.css +2 -2
  58. package/themes/retrack/desktop.css +2 -2
  59. package/themes/retrack/desktop.md +4 -4
  60. package/themes/retrack/desktop.scoped.css +2 -2
  61. package/themes/retrack/diagram.css +2 -2
  62. package/themes/retrack/diagram.md +4 -4
  63. package/themes/retrack/diagram.scoped.css +2 -2
  64. package/themes/retrack/mobile.css +2 -2
  65. package/themes/retrack/mobile.md +4 -4
  66. package/themes/retrack/mobile.scoped.css +2 -2
  67. package/tokens/runtime/tokens.base.desktop.runtime.cjs +2 -2
  68. package/tokens/runtime/tokens.base.desktop.runtime.cjs.map +1 -1
  69. package/tokens/runtime/tokens.base.desktop.runtime.d.ts +2 -2
  70. package/tokens/runtime/tokens.base.desktop.runtime.js +2 -2
  71. package/tokens/runtime/tokens.base.desktop.runtime.js.map +1 -1
  72. package/tokens/runtime/tokens.base.diagram.runtime.cjs +2 -2
  73. package/tokens/runtime/tokens.base.diagram.runtime.cjs.map +1 -1
  74. package/tokens/runtime/tokens.base.diagram.runtime.d.ts +2 -2
  75. package/tokens/runtime/tokens.base.diagram.runtime.js +2 -2
  76. package/tokens/runtime/tokens.base.diagram.runtime.js.map +1 -1
  77. package/tokens/runtime/tokens.base.mobile.runtime.cjs +2 -2
  78. package/tokens/runtime/tokens.base.mobile.runtime.cjs.map +1 -1
  79. package/tokens/runtime/tokens.base.mobile.runtime.d.ts +2 -2
  80. package/tokens/runtime/tokens.base.mobile.runtime.js +2 -2
  81. package/tokens/runtime/tokens.base.mobile.runtime.js.map +1 -1
  82. package/tokens/runtime/tokens.brandcopilot.desktop.runtime.cjs +2 -2
  83. package/tokens/runtime/tokens.brandcopilot.desktop.runtime.cjs.map +1 -1
  84. package/tokens/runtime/tokens.brandcopilot.desktop.runtime.d.ts +2 -2
  85. package/tokens/runtime/tokens.brandcopilot.desktop.runtime.js +2 -2
  86. package/tokens/runtime/tokens.brandcopilot.desktop.runtime.js.map +1 -1
  87. package/tokens/runtime/tokens.brandcopilot.diagram.runtime.cjs +2 -2
  88. package/tokens/runtime/tokens.brandcopilot.diagram.runtime.cjs.map +1 -1
  89. package/tokens/runtime/tokens.brandcopilot.diagram.runtime.d.ts +2 -2
  90. package/tokens/runtime/tokens.brandcopilot.diagram.runtime.js +2 -2
  91. package/tokens/runtime/tokens.brandcopilot.diagram.runtime.js.map +1 -1
  92. package/tokens/runtime/tokens.brandcopilot.mobile.runtime.cjs +2 -2
  93. package/tokens/runtime/tokens.brandcopilot.mobile.runtime.cjs.map +1 -1
  94. package/tokens/runtime/tokens.brandcopilot.mobile.runtime.d.ts +2 -2
  95. package/tokens/runtime/tokens.brandcopilot.mobile.runtime.js +2 -2
  96. package/tokens/runtime/tokens.brandcopilot.mobile.runtime.js.map +1 -1
  97. package/tokens/runtime/tokens.dmpatterns.desktop.runtime.cjs +2 -2
  98. package/tokens/runtime/tokens.dmpatterns.desktop.runtime.cjs.map +1 -1
  99. package/tokens/runtime/tokens.dmpatterns.desktop.runtime.d.ts +2 -2
  100. package/tokens/runtime/tokens.dmpatterns.desktop.runtime.js +2 -2
  101. package/tokens/runtime/tokens.dmpatterns.desktop.runtime.js.map +1 -1
  102. package/tokens/runtime/tokens.dmpatterns.diagram.runtime.cjs +2 -2
  103. package/tokens/runtime/tokens.dmpatterns.diagram.runtime.cjs.map +1 -1
  104. package/tokens/runtime/tokens.dmpatterns.diagram.runtime.d.ts +2 -2
  105. package/tokens/runtime/tokens.dmpatterns.diagram.runtime.js +2 -2
  106. package/tokens/runtime/tokens.dmpatterns.diagram.runtime.js.map +1 -1
  107. package/tokens/runtime/tokens.dmpatterns.mobile.runtime.cjs +2 -2
  108. package/tokens/runtime/tokens.dmpatterns.mobile.runtime.cjs.map +1 -1
  109. package/tokens/runtime/tokens.dmpatterns.mobile.runtime.d.ts +2 -2
  110. package/tokens/runtime/tokens.dmpatterns.mobile.runtime.js +2 -2
  111. package/tokens/runtime/tokens.dmpatterns.mobile.runtime.js.map +1 -1
  112. package/tokens/runtime/tokens.pdigest.desktop.runtime.cjs +2 -2
  113. package/tokens/runtime/tokens.pdigest.desktop.runtime.cjs.map +1 -1
  114. package/tokens/runtime/tokens.pdigest.desktop.runtime.d.ts +2 -2
  115. package/tokens/runtime/tokens.pdigest.desktop.runtime.js +2 -2
  116. package/tokens/runtime/tokens.pdigest.desktop.runtime.js.map +1 -1
  117. package/tokens/runtime/tokens.pdigest.diagram.runtime.cjs +2 -2
  118. package/tokens/runtime/tokens.pdigest.diagram.runtime.cjs.map +1 -1
  119. package/tokens/runtime/tokens.pdigest.diagram.runtime.d.ts +2 -2
  120. package/tokens/runtime/tokens.pdigest.diagram.runtime.js +2 -2
  121. package/tokens/runtime/tokens.pdigest.diagram.runtime.js.map +1 -1
  122. package/tokens/runtime/tokens.pdigest.mobile.runtime.cjs +2 -2
  123. package/tokens/runtime/tokens.pdigest.mobile.runtime.cjs.map +1 -1
  124. package/tokens/runtime/tokens.pdigest.mobile.runtime.d.ts +2 -2
  125. package/tokens/runtime/tokens.pdigest.mobile.runtime.js +2 -2
  126. package/tokens/runtime/tokens.pdigest.mobile.runtime.js.map +1 -1
  127. package/tokens/runtime/tokens.retrack.desktop.runtime.cjs +2 -2
  128. package/tokens/runtime/tokens.retrack.desktop.runtime.cjs.map +1 -1
  129. package/tokens/runtime/tokens.retrack.desktop.runtime.d.ts +2 -2
  130. package/tokens/runtime/tokens.retrack.desktop.runtime.js +2 -2
  131. package/tokens/runtime/tokens.retrack.desktop.runtime.js.map +1 -1
  132. package/tokens/runtime/tokens.retrack.diagram.runtime.cjs +2 -2
  133. package/tokens/runtime/tokens.retrack.diagram.runtime.cjs.map +1 -1
  134. package/tokens/runtime/tokens.retrack.diagram.runtime.d.ts +2 -2
  135. package/tokens/runtime/tokens.retrack.diagram.runtime.js +2 -2
  136. package/tokens/runtime/tokens.retrack.diagram.runtime.js.map +1 -1
  137. package/tokens/runtime/tokens.retrack.mobile.runtime.cjs +2 -2
  138. package/tokens/runtime/tokens.retrack.mobile.runtime.cjs.map +1 -1
  139. package/tokens/runtime/tokens.retrack.mobile.runtime.d.ts +2 -2
  140. package/tokens/runtime/tokens.retrack.mobile.runtime.js +2 -2
  141. package/tokens/runtime/tokens.retrack.mobile.runtime.js.map +1 -1
  142. package/tokens/themes/base/dist/desktop.json +4 -4
  143. package/tokens/themes/base/dist/diagram.json +4 -4
  144. package/tokens/themes/base/dist/mobile.json +4 -4
  145. package/tokens/themes/brandcopilot/dist/desktop.json +4 -4
  146. package/tokens/themes/brandcopilot/dist/diagram.json +4 -4
  147. package/tokens/themes/brandcopilot/dist/mobile.json +4 -4
  148. package/tokens/themes/dmpatterns/dist/desktop.json +4 -4
  149. package/tokens/themes/dmpatterns/dist/diagram.json +4 -4
  150. package/tokens/themes/dmpatterns/dist/mobile.json +4 -4
  151. package/tokens/themes/pdigest/dist/desktop.json +4 -4
  152. package/tokens/themes/pdigest/dist/diagram.json +4 -4
  153. package/tokens/themes/pdigest/dist/mobile.json +4 -4
  154. package/tokens/themes/retrack/dist/desktop.json +4 -4
  155. package/tokens/themes/retrack/dist/diagram.json +4 -4
  156. package/tokens/themes/retrack/dist/mobile.json +4 -4
@@ -5,6 +5,7 @@ require('./form-message.css');
5
5
  var classnames = require('../helpers/classnames');
6
6
 
7
7
  const FormMessageItem = ({
8
+ status = "default",
8
9
  children,
9
10
  className = "",
10
11
  ...props
@@ -12,19 +13,25 @@ const FormMessageItem = ({
12
13
  const classes = classnames.classnames(
13
14
  "form-message__item",
14
15
  className,
15
- {}
16
+ {
17
+ "form-message__item--default": status === "default",
18
+ "form-message__item--success": status === "success",
19
+ "form-message__item--warning": status === "warning",
20
+ "form-message__item--error": status === "error"
21
+ }
16
22
  );
23
+ const role = status === "error" ? "alert" : status === "success" || status === "warning" ? "status" : void 0;
17
24
  return /* @__PURE__ */ jsxRuntime.jsx(
18
25
  "p",
19
26
  {
20
27
  ...props,
21
28
  className: classes,
29
+ role,
22
30
  children
23
31
  }
24
32
  );
25
33
  };
26
34
  const FormMessage = ({
27
- status,
28
35
  children,
29
36
  className = "",
30
37
  ...props
@@ -32,20 +39,13 @@ const FormMessage = ({
32
39
  const classes = classnames.classnames(
33
40
  "form-message",
34
41
  className,
35
- {
36
- "form-message--info": status === "info",
37
- "form-message--success": status === "success",
38
- "form-message--warning": status === "warning",
39
- "form-message--error": status === "error"
40
- }
42
+ {}
41
43
  );
42
- const role = status === "error" ? "alert" : "status";
43
44
  return /* @__PURE__ */ jsxRuntime.jsx(
44
45
  "div",
45
46
  {
46
47
  ...props,
47
48
  className: classes,
48
- role,
49
49
  children
50
50
  }
51
51
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/form-message/form-message.tsx"],"names":["classnames","jsx"],"mappings":";;;;;;AA4BA,MAAM,kBAEF,CAAC;AAAA,EACH,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAUA,qBAAA;AAAA,IACd,oBAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,uBACEC,cAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,OAAA;AAAA,MAEV;AAAA;AAAA,GACH;AAEJ,CAAA;AAOA,MAAM,cAAoC,CAAC;AAAA,EACzC,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAUD,qBAAA;AAAA,IACd,cAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,sBACE,MAAA,KAAW,MAAA;AAAA,MACb,yBACE,MAAA,KAAW,SAAA;AAAA,MACb,yBACE,MAAA,KAAW,SAAA;AAAA,MACb,uBACE,MAAA,KAAW;AAAA;AACf,GACF;AAEA,EAAA,MAAM,IAAA,GACJ,MAAA,KAAW,OAAA,GACP,OAAA,GACA,QAAA;AAEN,EAAA,uBACEC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,OAAA;AAAA,MACX,IAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAA;AAEA,WAAA,CAAY,IAAA,GAAO,eAAA;AAEnB,IAAO,oBAAA,GAAQ","file":"form-message.cjs","sourcesContent":["import React from 'react';\n\nimport './form-message.css';\nimport { classnames } from '../helpers/classnames';\n\nexport type FormMessageStatus =\n | 'info'\n | 'success'\n | 'warning'\n | 'error';\n\nexport interface FormMessageProps\n extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'children'\n > {\n status: FormMessageStatus;\n children: React.ReactNode;\n}\n\nexport interface FormMessageItemProps\n extends Omit<\n React.HTMLAttributes<HTMLParagraphElement>,\n 'children'\n > {\n children: React.ReactNode;\n}\n\nconst FormMessageItem: React.FC<\n FormMessageItemProps\n> = ({\n children,\n className = '',\n ...props\n}) => {\n const classes = classnames(\n 'form-message__item',\n className,\n {},\n );\n\n return (\n <p\n {...props}\n className={classes}\n >\n {children}\n </p>\n );\n};\n\ninterface FormMessageComponent\n extends React.FC<FormMessageProps> {\n Item: React.FC<FormMessageItemProps>;\n}\n\nconst FormMessage: FormMessageComponent = ({\n status,\n children,\n className = '',\n ...props\n}) => {\n const classes = classnames(\n 'form-message',\n className,\n {\n 'form-message--info':\n status === 'info',\n 'form-message--success':\n status === 'success',\n 'form-message--warning':\n status === 'warning',\n 'form-message--error':\n status === 'error',\n },\n );\n\n const role =\n status === 'error'\n ? 'alert'\n : 'status';\n\n return (\n <div\n {...props}\n className={classes}\n role={role}\n >\n {children}\n </div>\n );\n};\n\nFormMessage.Item = FormMessageItem;\n\nexport default FormMessage;\n"]}
1
+ {"version":3,"sources":["../../../src/components/form-message/form-message.tsx"],"names":["classnames","jsx"],"mappings":";;;;;;AA4BA,MAAM,kBAEF,CAAC;AAAA,EACH,MAAA,GAAS,SAAA;AAAA,EACT,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAUA,qBAAA;AAAA,IACd,oBAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,+BACE,MAAA,KAAW,SAAA;AAAA,MACb,+BACE,MAAA,KAAW,SAAA;AAAA,MACb,+BACE,MAAA,KAAW,SAAA;AAAA,MACb,6BACE,MAAA,KAAW;AAAA;AACf,GACF;AAEA,EAAA,MAAM,IAAA,GACJ,WAAW,OAAA,GACP,OAAA,GACA,WAAW,SAAA,IACT,MAAA,KAAW,YACX,QAAA,GACA,MAAA;AAER,EAAA,uBACEC,cAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,OAAA;AAAA,MACX,IAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAA;AAOA,MAAM,cAAoC,CAAC;AAAA,EACzC,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAUD,qBAAA;AAAA,IACd,cAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,uBACEC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,OAAA;AAAA,MAEV;AAAA;AAAA,GACH;AAEJ,CAAA;AAEA,WAAA,CAAY,IAAA,GAAO,eAAA;AAEnB,IAAO,oBAAA,GAAQ","file":"form-message.cjs","sourcesContent":["import React from 'react';\n\nimport './form-message.css';\nimport { classnames } from '../helpers/classnames';\n\nexport type FormMessageStatus =\n | 'default'\n | 'success'\n | 'warning'\n | 'error';\n\nexport interface FormMessageProps\n extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'children'\n > {\n children: React.ReactNode;\n}\n\nexport interface FormMessageItemProps\n extends Omit<\n React.HTMLAttributes<HTMLParagraphElement>,\n 'children'\n > {\n status?: FormMessageStatus;\n children: React.ReactNode;\n}\n\nconst FormMessageItem: React.FC<\n FormMessageItemProps\n> = ({\n status = 'default',\n children,\n className = '',\n ...props\n}) => {\n const classes = classnames(\n 'form-message__item',\n className,\n {\n 'form-message__item--default':\n status === 'default',\n 'form-message__item--success':\n status === 'success',\n 'form-message__item--warning':\n status === 'warning',\n 'form-message__item--error':\n status === 'error',\n },\n );\n\n const role =\n status === 'error'\n ? 'alert'\n : status === 'success' ||\n status === 'warning'\n ? 'status'\n : undefined;\n\n return (\n <p\n {...props}\n className={classes}\n role={role}\n >\n {children}\n </p>\n );\n};\n\ninterface FormMessageComponent\n extends React.FC<FormMessageProps> {\n Item: React.FC<FormMessageItemProps>;\n}\n\nconst FormMessage: FormMessageComponent = ({\n children,\n className = '',\n ...props\n}) => {\n const classes = classnames(\n 'form-message',\n className,\n {},\n );\n\n return (\n <div\n {...props}\n className={classes}\n >\n {children}\n </div>\n );\n};\n\nFormMessage.Item = FormMessageItem;\n\nexport default FormMessage;\n"]}
@@ -38,14 +38,19 @@
38
38
  /* motion */
39
39
  }
40
40
 
41
- .form-message--info {
41
+ .form-message__item {
42
42
  /* color */
43
- --form-message-color:
44
- var(--color-text);
43
+ --form-message-item-color:
44
+ var(--form-message-color);
45
+
46
+ color: var(--form-message-item-color);
45
47
 
46
48
  /* typography */
49
+ font: inherit;
50
+ letter-spacing: inherit;
47
51
 
48
52
  /* size */
53
+ margin: 0;
49
54
 
50
55
  /* border */
51
56
 
@@ -54,10 +59,10 @@
54
59
  /* motion */
55
60
  }
56
61
 
57
- .form-message--success {
62
+ .form-message__item--default {
58
63
  /* color */
59
- --form-message-color:
60
- var(--color-text-good);
64
+ --form-message-item-color:
65
+ var(--form-message-color);
61
66
 
62
67
  /* typography */
63
68
 
@@ -70,10 +75,10 @@
70
75
  /* motion */
71
76
  }
72
77
 
73
- .form-message--warning {
78
+ .form-message__item--success {
74
79
  /* color */
75
- --form-message-color:
76
- var(--color-text-med);
80
+ --form-message-item-color:
81
+ var(--color-text-good);
77
82
 
78
83
  /* typography */
79
84
 
@@ -86,10 +91,10 @@
86
91
  /* motion */
87
92
  }
88
93
 
89
- .form-message--error {
94
+ .form-message__item--warning {
90
95
  /* color */
91
- --form-message-color:
92
- var(--color-text-bad);
96
+ --form-message-item-color:
97
+ var(--color-text-med);
93
98
 
94
99
  /* typography */
95
100
 
@@ -102,16 +107,14 @@
102
107
  /* motion */
103
108
  }
104
109
 
105
- .form-message__item {
110
+ .form-message__item--error {
106
111
  /* color */
107
- color: inherit;
112
+ --form-message-item-color:
113
+ var(--color-text-bad);
108
114
 
109
115
  /* typography */
110
- font: inherit;
111
- letter-spacing: inherit;
112
116
 
113
117
  /* size */
114
- margin: 0;
115
118
 
116
119
  /* border */
117
120
 
@@ -133,4 +136,4 @@
133
136
  /* depth */
134
137
 
135
138
  /* motion */
136
- }
139
+ }
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import './form-message.css';
3
- export type FormMessageStatus = 'info' | 'success' | 'warning' | 'error';
3
+ export type FormMessageStatus = 'default' | 'success' | 'warning' | 'error';
4
4
  export interface FormMessageProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
5
- status: FormMessageStatus;
6
5
  children: React.ReactNode;
7
6
  }
8
7
  export interface FormMessageItemProps extends Omit<React.HTMLAttributes<HTMLParagraphElement>, 'children'> {
8
+ status?: FormMessageStatus;
9
9
  children: React.ReactNode;
10
10
  }
11
11
  interface FormMessageComponent extends React.FC<FormMessageProps> {
@@ -3,6 +3,7 @@ import './form-message.css';
3
3
  import { classnames } from '../helpers/classnames';
4
4
 
5
5
  const FormMessageItem = ({
6
+ status = "default",
6
7
  children,
7
8
  className = "",
8
9
  ...props
@@ -10,19 +11,25 @@ const FormMessageItem = ({
10
11
  const classes = classnames(
11
12
  "form-message__item",
12
13
  className,
13
- {}
14
+ {
15
+ "form-message__item--default": status === "default",
16
+ "form-message__item--success": status === "success",
17
+ "form-message__item--warning": status === "warning",
18
+ "form-message__item--error": status === "error"
19
+ }
14
20
  );
21
+ const role = status === "error" ? "alert" : status === "success" || status === "warning" ? "status" : void 0;
15
22
  return /* @__PURE__ */ jsx(
16
23
  "p",
17
24
  {
18
25
  ...props,
19
26
  className: classes,
27
+ role,
20
28
  children
21
29
  }
22
30
  );
23
31
  };
24
32
  const FormMessage = ({
25
- status,
26
33
  children,
27
34
  className = "",
28
35
  ...props
@@ -30,20 +37,13 @@ const FormMessage = ({
30
37
  const classes = classnames(
31
38
  "form-message",
32
39
  className,
33
- {
34
- "form-message--info": status === "info",
35
- "form-message--success": status === "success",
36
- "form-message--warning": status === "warning",
37
- "form-message--error": status === "error"
38
- }
40
+ {}
39
41
  );
40
- const role = status === "error" ? "alert" : "status";
41
42
  return /* @__PURE__ */ jsx(
42
43
  "div",
43
44
  {
44
45
  ...props,
45
46
  className: classes,
46
- role,
47
47
  children
48
48
  }
49
49
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/form-message/form-message.tsx"],"names":[],"mappings":";;;;AA4BA,MAAM,kBAEF,CAAC;AAAA,EACH,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,oBAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,OAAA;AAAA,MAEV;AAAA;AAAA,GACH;AAEJ,CAAA;AAOA,MAAM,cAAoC,CAAC;AAAA,EACzC,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,cAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,sBACE,MAAA,KAAW,MAAA;AAAA,MACb,yBACE,MAAA,KAAW,SAAA;AAAA,MACb,yBACE,MAAA,KAAW,SAAA;AAAA,MACb,uBACE,MAAA,KAAW;AAAA;AACf,GACF;AAEA,EAAA,MAAM,IAAA,GACJ,MAAA,KAAW,OAAA,GACP,OAAA,GACA,QAAA;AAEN,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,OAAA;AAAA,MACX,IAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAA;AAEA,WAAA,CAAY,IAAA,GAAO,eAAA;AAEnB,IAAO,oBAAA,GAAQ","file":"form-message.js","sourcesContent":["import React from 'react';\n\nimport './form-message.css';\nimport { classnames } from '../helpers/classnames';\n\nexport type FormMessageStatus =\n | 'info'\n | 'success'\n | 'warning'\n | 'error';\n\nexport interface FormMessageProps\n extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'children'\n > {\n status: FormMessageStatus;\n children: React.ReactNode;\n}\n\nexport interface FormMessageItemProps\n extends Omit<\n React.HTMLAttributes<HTMLParagraphElement>,\n 'children'\n > {\n children: React.ReactNode;\n}\n\nconst FormMessageItem: React.FC<\n FormMessageItemProps\n> = ({\n children,\n className = '',\n ...props\n}) => {\n const classes = classnames(\n 'form-message__item',\n className,\n {},\n );\n\n return (\n <p\n {...props}\n className={classes}\n >\n {children}\n </p>\n );\n};\n\ninterface FormMessageComponent\n extends React.FC<FormMessageProps> {\n Item: React.FC<FormMessageItemProps>;\n}\n\nconst FormMessage: FormMessageComponent = ({\n status,\n children,\n className = '',\n ...props\n}) => {\n const classes = classnames(\n 'form-message',\n className,\n {\n 'form-message--info':\n status === 'info',\n 'form-message--success':\n status === 'success',\n 'form-message--warning':\n status === 'warning',\n 'form-message--error':\n status === 'error',\n },\n );\n\n const role =\n status === 'error'\n ? 'alert'\n : 'status';\n\n return (\n <div\n {...props}\n className={classes}\n role={role}\n >\n {children}\n </div>\n );\n};\n\nFormMessage.Item = FormMessageItem;\n\nexport default FormMessage;\n"]}
1
+ {"version":3,"sources":["../../../src/components/form-message/form-message.tsx"],"names":[],"mappings":";;;;AA4BA,MAAM,kBAEF,CAAC;AAAA,EACH,MAAA,GAAS,SAAA;AAAA,EACT,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,oBAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,+BACE,MAAA,KAAW,SAAA;AAAA,MACb,+BACE,MAAA,KAAW,SAAA;AAAA,MACb,+BACE,MAAA,KAAW,SAAA;AAAA,MACb,6BACE,MAAA,KAAW;AAAA;AACf,GACF;AAEA,EAAA,MAAM,IAAA,GACJ,WAAW,OAAA,GACP,OAAA,GACA,WAAW,SAAA,IACT,MAAA,KAAW,YACX,QAAA,GACA,MAAA;AAER,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,OAAA;AAAA,MACX,IAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAA;AAOA,MAAM,cAAoC,CAAC;AAAA,EACzC,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,cAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,OAAA;AAAA,MAEV;AAAA;AAAA,GACH;AAEJ,CAAA;AAEA,WAAA,CAAY,IAAA,GAAO,eAAA;AAEnB,IAAO,oBAAA,GAAQ","file":"form-message.js","sourcesContent":["import React from 'react';\n\nimport './form-message.css';\nimport { classnames } from '../helpers/classnames';\n\nexport type FormMessageStatus =\n | 'default'\n | 'success'\n | 'warning'\n | 'error';\n\nexport interface FormMessageProps\n extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'children'\n > {\n children: React.ReactNode;\n}\n\nexport interface FormMessageItemProps\n extends Omit<\n React.HTMLAttributes<HTMLParagraphElement>,\n 'children'\n > {\n status?: FormMessageStatus;\n children: React.ReactNode;\n}\n\nconst FormMessageItem: React.FC<\n FormMessageItemProps\n> = ({\n status = 'default',\n children,\n className = '',\n ...props\n}) => {\n const classes = classnames(\n 'form-message__item',\n className,\n {\n 'form-message__item--default':\n status === 'default',\n 'form-message__item--success':\n status === 'success',\n 'form-message__item--warning':\n status === 'warning',\n 'form-message__item--error':\n status === 'error',\n },\n );\n\n const role =\n status === 'error'\n ? 'alert'\n : status === 'success' ||\n status === 'warning'\n ? 'status'\n : undefined;\n\n return (\n <p\n {...props}\n className={classes}\n role={role}\n >\n {children}\n </p>\n );\n};\n\ninterface FormMessageComponent\n extends React.FC<FormMessageProps> {\n Item: React.FC<FormMessageItemProps>;\n}\n\nconst FormMessage: FormMessageComponent = ({\n children,\n className = '',\n ...props\n}) => {\n const classes = classnames(\n 'form-message',\n className,\n {},\n );\n\n return (\n <div\n {...props}\n className={classes}\n >\n {children}\n </div>\n );\n};\n\nFormMessage.Item = FormMessageItem;\n\nexport default FormMessage;\n"]}
@@ -0,0 +1,4 @@
1
+ <svg width="53" height="45" viewBox="0 0 53 45" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M52.7979 45H0.689453L7.20312 33.75H8.93652L3.29102 43.5H50.1953L26.7432 2.99414L18.1172 17.8916C17.6637 17.6737 17.1924 17.4867 16.7051 17.3359L26.7432 0L52.7979 45Z" fill="#C0E200"/>
3
+ <path d="M13.6406 18.2812C17.3332 18.2812 20.5026 20.5191 21.8613 23.7109C22.5064 23.4479 23.2123 23.3027 23.9521 23.3027C27.0078 23.3027 29.4852 25.7763 29.4854 28.8271C29.4854 30.1625 29.0106 31.3877 28.2207 32.3428H1.22754C0.885188 31.7518 0.688477 31.0658 0.688477 30.334C0.688566 28.1151 2.4906 26.3164 4.71289 26.3164C4.72718 26.3164 4.74161 26.3163 4.75586 26.3164C5.19796 21.8058 9.00695 18.2814 13.6406 18.2812ZM40.8086 9.84375C44.3329 9.84379 47.1895 12.697 47.1895 16.2158C47.1895 16.2238 47.1895 16.2322 47.1895 16.2402C48.7634 16.4362 49.9814 17.7768 49.9814 19.4014C49.9814 20.023 49.8035 20.6035 49.4951 21.0938H40.583L35.6152 12.5137C36.7727 10.8978 38.6673 9.8438 40.8086 9.84375Z" fill="#F34BCC"/>
4
+ </svg>
@@ -0,0 +1,20 @@
1
+ <svg width="41" height="41" viewBox="0 0 41 41" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <mask id="mask0_206_111" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="41" height="41">
3
+ <circle cx="20.5" cy="20.5" r="20.5" fill="#C4C4C4"/>
4
+ </mask>
5
+ <g mask="url(#mask0_206_111)">
6
+ <rect x="-8.84375" y="-4.01953" width="49.8431" height="65.1176" fill="#F9EC0E"/>
7
+ </g>
8
+ <g clip-path="url(#clip0_206_111)">
9
+ <path d="M9.45752 20.996L27.8217 15.2792C28.816 14.9697 29.9125 15.5144 29.9125 16.3179V25.6741C29.9125 26.4776 28.816 27.0223 27.8217 26.7127L9.45752 20.996Z" fill="white" fill-opacity="0.06"/>
10
+ <path d="M17.1362 15.9835C18.1138 17.5253 18.6423 19.2392 18.6787 20.9851C18.715 22.731 18.2581 24.4594 17.3453 26.0288L16.1593 25.5437C16.9809 24.1312 17.3921 22.5757 17.3594 21.0044C17.3267 19.4331 16.851 17.8906 15.9711 16.503L17.1362 15.9835Z" fill="#1F1F1F"/>
11
+ <path d="M22.0635 13.7859C23.4547 15.9799 24.2068 18.4188 24.2585 20.9033C24.3102 23.3878 23.66 25.8472 22.3611 28.0806L21.1797 27.5974C22.3878 25.5204 22.9925 23.2331 22.9444 20.9225C22.8963 18.612 22.1968 16.3437 20.903 14.3033L22.0635 13.7859Z" fill="#1F1F1F"/>
12
+ <path d="M27.5903 11.3217C29.4451 14.2471 30.448 17.499 30.517 20.8116C30.5859 24.1243 29.719 27.4036 27.987 30.3814L26.862 29.9212C28.5073 27.0923 29.3309 23.977 29.2654 20.83C29.1999 17.6829 28.2471 14.5936 26.4851 11.8145L27.5903 11.3217Z" fill="#1F1F1F"/>
13
+ <path d="M13.3274 20.9965C13.3274 22.0651 12.4611 22.9314 11.3925 22.9314C10.3238 22.9314 9.45752 22.0651 9.45752 20.9965C9.45752 19.9278 10.3238 19.0615 11.3925 19.0615C12.4611 19.0615 13.3274 19.9278 13.3274 20.9965Z" fill="#1F1F1F"/>
14
+ </g>
15
+ <defs>
16
+ <clipPath id="clip0_206_111">
17
+ <rect width="22.4045" height="19.3493" fill="white" transform="translate(9.45752 11.3213)"/>
18
+ </clipPath>
19
+ </defs>
20
+ </svg>
@@ -3,15 +3,19 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  require('./logo.css');
5
5
  var classnames = require('../helpers/classnames');
6
+ var brandcopilotFavicon = require('./assets/brandcopilot-favicon.svg');
6
7
  var brandcopilotSymbol = require('./assets/brandcopilot-symbol.svg');
7
8
  var brandcopilotWordmark = require('./assets/brandcopilot-wordmark.svg');
9
+ var dmpatternsFavicon = require('./assets/dmpatterns-favicon.svg');
8
10
  var dmpatternsSymbol = require('./assets/dmpatterns-symbol.svg');
9
11
  var dmpatternsWordmark = require('./assets/dmpatterns-wordmark.svg');
10
12
 
11
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
14
 
15
+ var brandcopilotFavicon__default = /*#__PURE__*/_interopDefault(brandcopilotFavicon);
13
16
  var brandcopilotSymbol__default = /*#__PURE__*/_interopDefault(brandcopilotSymbol);
14
17
  var brandcopilotWordmark__default = /*#__PURE__*/_interopDefault(brandcopilotWordmark);
18
+ var dmpatternsFavicon__default = /*#__PURE__*/_interopDefault(dmpatternsFavicon);
15
19
  var dmpatternsSymbol__default = /*#__PURE__*/_interopDefault(dmpatternsSymbol);
16
20
  var dmpatternsWordmark__default = /*#__PURE__*/_interopDefault(dmpatternsWordmark);
17
21
 
@@ -19,22 +23,26 @@ const logoBrands = {
19
23
  dmpatterns: {
20
24
  label: "\u041F\u0430\u0442\u0442\u0435\u0440\u043D\u044B \u0434\u0438\u0437\u0430\u0439\u043D-\u043C\u0435\u043D\u0435\u0434\u0436\u043C\u0435\u043D\u0442\u0430",
21
25
  symbol: dmpatternsSymbol__default.default,
22
- wordmark: dmpatternsWordmark__default.default
26
+ wordmark: dmpatternsWordmark__default.default,
27
+ favicon: dmpatternsFavicon__default.default
23
28
  },
24
29
  brandcopilot: {
25
30
  label: "Brandcopilot",
26
31
  symbol: brandcopilotSymbol__default.default,
27
- wordmark: brandcopilotWordmark__default.default
32
+ wordmark: brandcopilotWordmark__default.default,
33
+ favicon: brandcopilotFavicon__default.default
28
34
  },
29
35
  pdigest: {
30
36
  label: "PDigest",
31
37
  symbol: dmpatternsSymbol__default.default,
32
- wordmark: dmpatternsWordmark__default.default
38
+ wordmark: dmpatternsWordmark__default.default,
39
+ favicon: dmpatternsFavicon__default.default
33
40
  },
34
41
  retrack: {
35
42
  label: "Retrack",
36
43
  symbol: dmpatternsSymbol__default.default,
37
- wordmark: dmpatternsWordmark__default.default
44
+ wordmark: dmpatternsWordmark__default.default,
45
+ favicon: dmpatternsFavicon__default.default
38
46
  }
39
47
  };
40
48
  const Logo = ({
@@ -46,12 +54,14 @@ const Logo = ({
46
54
  }) => {
47
55
  const logo = logoBrands[brand];
48
56
  const accessibleLabel = label ?? logo.label;
57
+ const artwork = mode === "favicon" ? logo.favicon : logo.symbol;
49
58
  const classes = classnames.classnames(
50
59
  "logo",
51
60
  `logo--${brand}`,
52
61
  className,
53
62
  {
54
- "logo--symbol": mode === "symbol"
63
+ "logo--symbol": mode === "symbol",
64
+ "logo--favicon": mode === "favicon"
55
65
  }
56
66
  );
57
67
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -65,7 +75,7 @@ const Logo = ({
65
75
  "img",
66
76
  {
67
77
  className: "logo__symbol",
68
- src: logo.symbol,
78
+ src: artwork,
69
79
  alt: "",
70
80
  "aria-hidden": "true"
71
81
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/logo/logo.tsx"],"names":["dmpatternsSymbol","dmpatternsWordmark","brandcopilotSymbol","brandcopilotWordmark","classnames","jsxs","jsx"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,MAAM,UAAA,GAGF;AAAA,EACF,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,0JAAA;AAAA,IACP,MAAA,EAAQA,iCAAA;AAAA,IACR,QAAA,EAAUC;AAAA,GACZ;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQC,mCAAA;AAAA,IACR,QAAA,EAAUC;AAAA,GACZ;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQH,iCAAA;AAAA,IACR,QAAA,EAAUC;AAAA,GACZ;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQD,iCAAA;AAAA,IACR,QAAA,EAAUC;AAAA;AAEd,CAAA;AASA,MAAM,OAA4B,CAAC;AAAA,EACjC,KAAA,GAAQ,YAAA;AAAA,EACR,IAAA,GAAO,MAAA;AAAA,EACP,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,IAAA,GAAO,WAAW,KAAK,CAAA;AAC7B,EAAA,MAAM,eAAA,GAAkB,SAAS,IAAA,CAAK,KAAA;AAEtC,EAAA,MAAM,OAAA,GAAUG,qBAAA;AAAA,IACd,MAAA;AAAA,IACA,SAAS,KAAK,CAAA,CAAA;AAAA,IACd,SAAA;AAAA,IACA;AAAA,MACE,gBAAgB,IAAA,KAAS;AAAA;AAC3B,GACF;AAEA,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAY,eAAA;AAAA,MACX,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,cAAA;AAAA,YACV,KAAK,IAAA,CAAK,MAAA;AAAA,YACV,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA,SACd;AAAA,QAEC,IAAA,KAAS,MAAA,KACP,KAAA,KAAU,cAAA,mBACTA,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,qCAAA;AAAA,YACV,aAAA,EAAY,MAAA;AAAA,YACZ,KAAA,EAAO;AAAA,cACL,eAAA,EAAiB,CAAA,KAAA,EAAQ,IAAA,CAAK,QAAQ,CAAA,EAAA,CAAA;AAAA,cACtC,SAAA,EAAW,CAAA,KAAA,EAAQ,IAAA,CAAK,QAAQ,CAAA,EAAA;AAAA;AAClC;AAAA,SACF,mBAEAA,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,gBAAA;AAAA,YACV,KAAK,IAAA,CAAK,QAAA;AAAA,YACV,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA,SACd;AAAA;AAAA;AAAA,GAEN;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ","file":"logo.cjs","sourcesContent":["import React from 'react';\nimport './logo.css';\nimport { classnames } from '../helpers/classnames';\n\nimport brandcopilotSymbol from './assets/brandcopilot-symbol.svg';\nimport brandcopilotWordmark from './assets/brandcopilot-wordmark.svg';\nimport dmpatternsSymbol from './assets/dmpatterns-symbol.svg';\nimport dmpatternsWordmark from './assets/dmpatterns-wordmark.svg';\n\nexport type LogoBrand =\n | 'dmpatterns'\n | 'brandcopilot'\n | 'pdigest'\n | 'retrack';\n\nexport type LogoMode = 'full' | 'symbol';\n\ninterface LogoBrandDefinition {\n label: string;\n symbol: string;\n wordmark: string;\n}\n\nconst logoBrands: Record<\n LogoBrand,\n LogoBrandDefinition\n> = {\n dmpatterns: {\n label: 'Паттерны дизайн-менеджмента',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n },\n brandcopilot: {\n label: 'Brandcopilot',\n symbol: brandcopilotSymbol,\n wordmark: brandcopilotWordmark,\n },\n pdigest: {\n label: 'PDigest',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n },\n retrack: {\n label: 'Retrack',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n },\n};\n\nexport interface LogoProps\n extends React.HTMLAttributes<HTMLDivElement> {\n brand?: LogoBrand;\n mode?: LogoMode;\n label?: string;\n}\n\nconst Logo: React.FC<LogoProps> = ({\n brand = 'dmpatterns',\n mode = 'full',\n label,\n className = '',\n ...props\n}) => {\n const logo = logoBrands[brand];\n const accessibleLabel = label ?? logo.label;\n\n const classes = classnames(\n 'logo',\n `logo--${brand}`,\n className,\n {\n 'logo--symbol': mode === 'symbol',\n },\n );\n\n return (\n <div\n className={classes}\n aria-label={accessibleLabel}\n {...props}\n >\n <img\n className=\"logo__symbol\"\n src={logo.symbol}\n alt=\"\"\n aria-hidden=\"true\"\n />\n\n {mode === 'full' &&\n (brand === 'brandcopilot' ? (\n <span\n className=\"logo__wordmark logo__wordmark--mask\"\n aria-hidden=\"true\"\n style={{\n WebkitMaskImage: `url(\"${logo.wordmark}\")`,\n maskImage: `url(\"${logo.wordmark}\")`,\n }}\n />\n ) : (\n <img\n className=\"logo__wordmark\"\n src={logo.wordmark}\n alt=\"\"\n aria-hidden=\"true\"\n />\n ))}\n </div>\n );\n};\n\nexport default Logo;\n"]}
1
+ {"version":3,"sources":["../../../src/components/logo/logo.tsx"],"names":["dmpatternsSymbol","dmpatternsWordmark","dmpatternsFavicon","brandcopilotSymbol","brandcopilotWordmark","brandcopilotFavicon","classnames","jsxs","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA6BA,MAAM,UAAA,GAGF;AAAA,EACF,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,0JAAA;AAAA,IACP,MAAA,EAAQA,iCAAA;AAAA,IACR,QAAA,EAAUC,mCAAA;AAAA,IACV,OAAA,EAASC;AAAA,GACX;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQC,mCAAA;AAAA,IACR,QAAA,EAAUC,qCAAA;AAAA,IACV,OAAA,EAASC;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQL,iCAAA;AAAA,IACR,QAAA,EAAUC,mCAAA;AAAA,IACV,OAAA,EAASC;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQF,iCAAA;AAAA,IACR,QAAA,EAAUC,mCAAA;AAAA,IACV,OAAA,EAASC;AAAA;AAEb,CAAA;AASA,MAAM,OAA4B,CAAC;AAAA,EACjC,KAAA,GAAQ,YAAA;AAAA,EACR,IAAA,GAAO,MAAA;AAAA,EACP,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,IAAA,GAAO,WAAW,KAAK,CAAA;AAC7B,EAAA,MAAM,eAAA,GAAkB,SAAS,IAAA,CAAK,KAAA;AACtC,EAAA,MAAM,OAAA,GACJ,IAAA,KAAS,SAAA,GACL,IAAA,CAAK,UACL,IAAA,CAAK,MAAA;AAEX,EAAA,MAAM,OAAA,GAAUI,qBAAA;AAAA,IACd,MAAA;AAAA,IACA,SAAS,KAAK,CAAA,CAAA;AAAA,IACd,SAAA;AAAA,IACA;AAAA,MACE,gBAAgB,IAAA,KAAS,QAAA;AAAA,MACzB,iBAAiB,IAAA,KAAS;AAAA;AAC5B,GACF;AAEA,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAY,eAAA;AAAA,MACX,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,cAAA;AAAA,YACV,GAAA,EAAK,OAAA;AAAA,YACL,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA,SACd;AAAA,QAEC,IAAA,KAAS,MAAA,KACP,KAAA,KAAU,cAAA,mBACTA,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,qCAAA;AAAA,YACV,aAAA,EAAY,MAAA;AAAA,YACZ,KAAA,EAAO;AAAA,cACL,eAAA,EAAiB,CAAA,KAAA,EAAQ,IAAA,CAAK,QAAQ,CAAA,EAAA,CAAA;AAAA,cACtC,SAAA,EAAW,CAAA,KAAA,EAAQ,IAAA,CAAK,QAAQ,CAAA,EAAA;AAAA;AAClC;AAAA,SACF,mBAEAA,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,gBAAA;AAAA,YACV,KAAK,IAAA,CAAK,QAAA;AAAA,YACV,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA,SACd;AAAA;AAAA;AAAA,GAEN;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ","file":"logo.cjs","sourcesContent":["import React from 'react';\nimport './logo.css';\nimport { classnames } from '../helpers/classnames';\n\nimport brandcopilotFavicon from './assets/brandcopilot-favicon.svg';\nimport brandcopilotSymbol from './assets/brandcopilot-symbol.svg';\nimport brandcopilotWordmark from './assets/brandcopilot-wordmark.svg';\nimport dmpatternsFavicon from './assets/dmpatterns-favicon.svg';\nimport dmpatternsSymbol from './assets/dmpatterns-symbol.svg';\nimport dmpatternsWordmark from './assets/dmpatterns-wordmark.svg';\n\nexport type LogoBrand =\n | 'dmpatterns'\n | 'brandcopilot'\n | 'pdigest'\n | 'retrack';\n\nexport type LogoMode =\n | 'full'\n | 'symbol'\n | 'favicon';\n\ninterface LogoBrandDefinition {\n label: string;\n symbol: string;\n wordmark: string;\n favicon: string;\n}\n\nconst logoBrands: Record<\n LogoBrand,\n LogoBrandDefinition\n> = {\n dmpatterns: {\n label: 'Паттерны дизайн-менеджмента',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n favicon: dmpatternsFavicon,\n },\n brandcopilot: {\n label: 'Brandcopilot',\n symbol: brandcopilotSymbol,\n wordmark: brandcopilotWordmark,\n favicon: brandcopilotFavicon,\n },\n pdigest: {\n label: 'PDigest',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n favicon: dmpatternsFavicon,\n },\n retrack: {\n label: 'Retrack',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n favicon: dmpatternsFavicon,\n },\n};\n\nexport interface LogoProps\n extends React.HTMLAttributes<HTMLDivElement> {\n brand?: LogoBrand;\n mode?: LogoMode;\n label?: string;\n}\n\nconst Logo: React.FC<LogoProps> = ({\n brand = 'dmpatterns',\n mode = 'full',\n label,\n className = '',\n ...props\n}) => {\n const logo = logoBrands[brand];\n const accessibleLabel = label ?? logo.label;\n const artwork =\n mode === 'favicon'\n ? logo.favicon\n : logo.symbol;\n\n const classes = classnames(\n 'logo',\n `logo--${brand}`,\n className,\n {\n 'logo--symbol': mode === 'symbol',\n 'logo--favicon': mode === 'favicon',\n },\n );\n\n return (\n <div\n className={classes}\n aria-label={accessibleLabel}\n {...props}\n >\n <img\n className=\"logo__symbol\"\n src={artwork}\n alt=\"\"\n aria-hidden=\"true\"\n />\n\n {mode === 'full' &&\n (brand === 'brandcopilot' ? (\n <span\n className=\"logo__wordmark logo__wordmark--mask\"\n aria-hidden=\"true\"\n style={{\n WebkitMaskImage: `url(\"${logo.wordmark}\")`,\n maskImage: `url(\"${logo.wordmark}\")`,\n }}\n />\n ) : (\n <img\n className=\"logo__wordmark\"\n src={logo.wordmark}\n alt=\"\"\n aria-hidden=\"true\"\n />\n ))}\n </div>\n );\n};\n\nexport default Logo;\n"]}
@@ -19,50 +19,121 @@
19
19
  /* motion */
20
20
  }
21
21
 
22
- .logo--symbol {
22
+ .logo--symbol,
23
+ .logo--favicon {
24
+ /* color */
25
+
26
+ /* typography */
27
+
23
28
  /* size */
24
29
  gap: 0;
30
+
31
+ /* border */
32
+
33
+ /* depth */
34
+
35
+ /* motion */
25
36
  }
26
37
 
27
38
  .logo--brandcopilot {
39
+ /* color */
40
+
41
+ /* typography */
42
+
28
43
  /* size */
29
44
  --logo-brandcopilot-height: 45px;
30
45
  --logo-brandcopilot-wordmark-width: 79px;
31
46
 
32
47
  align-items: center;
48
+
49
+ /* border */
50
+
51
+ /* depth */
52
+
53
+ /* motion */
33
54
  }
34
55
 
35
56
  :where(a, button) .logo {
57
+ /* color */
58
+
59
+ /* typography */
60
+
61
+ /* size */
62
+
63
+ /* border */
64
+
65
+ /* depth */
66
+
36
67
  /* motion */
37
68
  cursor: pointer;
38
69
  }
39
70
 
40
71
  .logo__symbol {
72
+ /* color */
73
+
74
+ /* typography */
75
+
41
76
  /* size */
42
77
  display: block;
43
78
  width: var(--logo-symbol-size);
44
79
  height: var(--logo-symbol-size);
45
80
  flex-shrink: 0;
81
+
82
+ /* border */
83
+
84
+ /* depth */
85
+
86
+ /* motion */
46
87
  }
47
88
 
48
89
  .logo__wordmark {
90
+ /* color */
91
+
92
+ /* typography */
93
+
49
94
  /* size */
50
95
  display: block;
51
96
  width: var(--logo-wordmark-width);
52
97
  height: auto;
53
98
  flex-shrink: 0;
99
+
100
+ /* border */
101
+
102
+ /* depth */
103
+
104
+ /* motion */
54
105
  }
55
106
 
56
107
  .logo--brandcopilot .logo__symbol {
108
+ /* color */
109
+
110
+ /* typography */
111
+
57
112
  /* size */
58
113
  width: auto;
59
114
  height: var(--logo-brandcopilot-height);
115
+
116
+ /* border */
117
+
118
+ /* depth */
119
+
120
+ /* motion */
60
121
  }
61
122
 
62
123
  .logo--brandcopilot .logo__wordmark {
124
+ /* color */
125
+
126
+ /* typography */
127
+
63
128
  /* size */
64
129
  width: var(--logo-brandcopilot-wordmark-width);
65
130
  height: var(--logo-brandcopilot-height);
131
+
132
+ /* border */
133
+
134
+ /* depth */
135
+
136
+ /* motion */
66
137
  }
67
138
 
68
139
  .logo__wordmark--mask {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import './logo.css';
3
3
  export type LogoBrand = 'dmpatterns' | 'brandcopilot' | 'pdigest' | 'retrack';
4
- export type LogoMode = 'full' | 'symbol';
4
+ export type LogoMode = 'full' | 'symbol' | 'favicon';
5
5
  export interface LogoProps extends React.HTMLAttributes<HTMLDivElement> {
6
6
  brand?: LogoBrand;
7
7
  mode?: LogoMode;
@@ -1,8 +1,10 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import './logo.css';
3
3
  import { classnames } from '../helpers/classnames';
4
+ import brandcopilotFavicon from './assets/brandcopilot-favicon.svg';
4
5
  import brandcopilotSymbol from './assets/brandcopilot-symbol.svg';
5
6
  import brandcopilotWordmark from './assets/brandcopilot-wordmark.svg';
7
+ import dmpatternsFavicon from './assets/dmpatterns-favicon.svg';
6
8
  import dmpatternsSymbol from './assets/dmpatterns-symbol.svg';
7
9
  import dmpatternsWordmark from './assets/dmpatterns-wordmark.svg';
8
10
 
@@ -10,22 +12,26 @@ const logoBrands = {
10
12
  dmpatterns: {
11
13
  label: "\u041F\u0430\u0442\u0442\u0435\u0440\u043D\u044B \u0434\u0438\u0437\u0430\u0439\u043D-\u043C\u0435\u043D\u0435\u0434\u0436\u043C\u0435\u043D\u0442\u0430",
12
14
  symbol: dmpatternsSymbol,
13
- wordmark: dmpatternsWordmark
15
+ wordmark: dmpatternsWordmark,
16
+ favicon: dmpatternsFavicon
14
17
  },
15
18
  brandcopilot: {
16
19
  label: "Brandcopilot",
17
20
  symbol: brandcopilotSymbol,
18
- wordmark: brandcopilotWordmark
21
+ wordmark: brandcopilotWordmark,
22
+ favicon: brandcopilotFavicon
19
23
  },
20
24
  pdigest: {
21
25
  label: "PDigest",
22
26
  symbol: dmpatternsSymbol,
23
- wordmark: dmpatternsWordmark
27
+ wordmark: dmpatternsWordmark,
28
+ favicon: dmpatternsFavicon
24
29
  },
25
30
  retrack: {
26
31
  label: "Retrack",
27
32
  symbol: dmpatternsSymbol,
28
- wordmark: dmpatternsWordmark
33
+ wordmark: dmpatternsWordmark,
34
+ favicon: dmpatternsFavicon
29
35
  }
30
36
  };
31
37
  const Logo = ({
@@ -37,12 +43,14 @@ const Logo = ({
37
43
  }) => {
38
44
  const logo = logoBrands[brand];
39
45
  const accessibleLabel = label ?? logo.label;
46
+ const artwork = mode === "favicon" ? logo.favicon : logo.symbol;
40
47
  const classes = classnames(
41
48
  "logo",
42
49
  `logo--${brand}`,
43
50
  className,
44
51
  {
45
- "logo--symbol": mode === "symbol"
52
+ "logo--symbol": mode === "symbol",
53
+ "logo--favicon": mode === "favicon"
46
54
  }
47
55
  );
48
56
  return /* @__PURE__ */ jsxs(
@@ -56,7 +64,7 @@ const Logo = ({
56
64
  "img",
57
65
  {
58
66
  className: "logo__symbol",
59
- src: logo.symbol,
67
+ src: artwork,
60
68
  alt: "",
61
69
  "aria-hidden": "true"
62
70
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/logo/logo.tsx"],"names":[],"mappings":";;;;;;;;AAuBA,MAAM,UAAA,GAGF;AAAA,EACF,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,0JAAA;AAAA,IACP,MAAA,EAAQ,gBAAA;AAAA,IACR,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,kBAAA;AAAA,IACR,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,gBAAA;AAAA,IACR,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,gBAAA;AAAA,IACR,QAAA,EAAU;AAAA;AAEd,CAAA;AASA,MAAM,OAA4B,CAAC;AAAA,EACjC,KAAA,GAAQ,YAAA;AAAA,EACR,IAAA,GAAO,MAAA;AAAA,EACP,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,IAAA,GAAO,WAAW,KAAK,CAAA;AAC7B,EAAA,MAAM,eAAA,GAAkB,SAAS,IAAA,CAAK,KAAA;AAEtC,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,MAAA;AAAA,IACA,SAAS,KAAK,CAAA,CAAA;AAAA,IACd,SAAA;AAAA,IACA;AAAA,MACE,gBAAgB,IAAA,KAAS;AAAA;AAC3B,GACF;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAY,eAAA;AAAA,MACX,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,cAAA;AAAA,YACV,KAAK,IAAA,CAAK,MAAA;AAAA,YACV,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA,SACd;AAAA,QAEC,IAAA,KAAS,MAAA,KACP,KAAA,KAAU,cAAA,mBACT,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,qCAAA;AAAA,YACV,aAAA,EAAY,MAAA;AAAA,YACZ,KAAA,EAAO;AAAA,cACL,eAAA,EAAiB,CAAA,KAAA,EAAQ,IAAA,CAAK,QAAQ,CAAA,EAAA,CAAA;AAAA,cACtC,SAAA,EAAW,CAAA,KAAA,EAAQ,IAAA,CAAK,QAAQ,CAAA,EAAA;AAAA;AAClC;AAAA,SACF,mBAEA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,gBAAA;AAAA,YACV,KAAK,IAAA,CAAK,QAAA;AAAA,YACV,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA,SACd;AAAA;AAAA;AAAA,GAEN;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ","file":"logo.js","sourcesContent":["import React from 'react';\nimport './logo.css';\nimport { classnames } from '../helpers/classnames';\n\nimport brandcopilotSymbol from './assets/brandcopilot-symbol.svg';\nimport brandcopilotWordmark from './assets/brandcopilot-wordmark.svg';\nimport dmpatternsSymbol from './assets/dmpatterns-symbol.svg';\nimport dmpatternsWordmark from './assets/dmpatterns-wordmark.svg';\n\nexport type LogoBrand =\n | 'dmpatterns'\n | 'brandcopilot'\n | 'pdigest'\n | 'retrack';\n\nexport type LogoMode = 'full' | 'symbol';\n\ninterface LogoBrandDefinition {\n label: string;\n symbol: string;\n wordmark: string;\n}\n\nconst logoBrands: Record<\n LogoBrand,\n LogoBrandDefinition\n> = {\n dmpatterns: {\n label: 'Паттерны дизайн-менеджмента',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n },\n brandcopilot: {\n label: 'Brandcopilot',\n symbol: brandcopilotSymbol,\n wordmark: brandcopilotWordmark,\n },\n pdigest: {\n label: 'PDigest',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n },\n retrack: {\n label: 'Retrack',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n },\n};\n\nexport interface LogoProps\n extends React.HTMLAttributes<HTMLDivElement> {\n brand?: LogoBrand;\n mode?: LogoMode;\n label?: string;\n}\n\nconst Logo: React.FC<LogoProps> = ({\n brand = 'dmpatterns',\n mode = 'full',\n label,\n className = '',\n ...props\n}) => {\n const logo = logoBrands[brand];\n const accessibleLabel = label ?? logo.label;\n\n const classes = classnames(\n 'logo',\n `logo--${brand}`,\n className,\n {\n 'logo--symbol': mode === 'symbol',\n },\n );\n\n return (\n <div\n className={classes}\n aria-label={accessibleLabel}\n {...props}\n >\n <img\n className=\"logo__symbol\"\n src={logo.symbol}\n alt=\"\"\n aria-hidden=\"true\"\n />\n\n {mode === 'full' &&\n (brand === 'brandcopilot' ? (\n <span\n className=\"logo__wordmark logo__wordmark--mask\"\n aria-hidden=\"true\"\n style={{\n WebkitMaskImage: `url(\"${logo.wordmark}\")`,\n maskImage: `url(\"${logo.wordmark}\")`,\n }}\n />\n ) : (\n <img\n className=\"logo__wordmark\"\n src={logo.wordmark}\n alt=\"\"\n aria-hidden=\"true\"\n />\n ))}\n </div>\n );\n};\n\nexport default Logo;\n"]}
1
+ {"version":3,"sources":["../../../src/components/logo/logo.tsx"],"names":[],"mappings":";;;;;;;;;;AA6BA,MAAM,UAAA,GAGF;AAAA,EACF,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,0JAAA;AAAA,IACP,MAAA,EAAQ,gBAAA;AAAA,IACR,QAAA,EAAU,kBAAA;AAAA,IACV,OAAA,EAAS;AAAA,GACX;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,kBAAA;AAAA,IACR,QAAA,EAAU,oBAAA;AAAA,IACV,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,gBAAA;AAAA,IACR,QAAA,EAAU,kBAAA;AAAA,IACV,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,gBAAA;AAAA,IACR,QAAA,EAAU,kBAAA;AAAA,IACV,OAAA,EAAS;AAAA;AAEb,CAAA;AASA,MAAM,OAA4B,CAAC;AAAA,EACjC,KAAA,GAAQ,YAAA;AAAA,EACR,IAAA,GAAO,MAAA;AAAA,EACP,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,IAAA,GAAO,WAAW,KAAK,CAAA;AAC7B,EAAA,MAAM,eAAA,GAAkB,SAAS,IAAA,CAAK,KAAA;AACtC,EAAA,MAAM,OAAA,GACJ,IAAA,KAAS,SAAA,GACL,IAAA,CAAK,UACL,IAAA,CAAK,MAAA;AAEX,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,MAAA;AAAA,IACA,SAAS,KAAK,CAAA,CAAA;AAAA,IACd,SAAA;AAAA,IACA;AAAA,MACE,gBAAgB,IAAA,KAAS,QAAA;AAAA,MACzB,iBAAiB,IAAA,KAAS;AAAA;AAC5B,GACF;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAY,eAAA;AAAA,MACX,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,cAAA;AAAA,YACV,GAAA,EAAK,OAAA;AAAA,YACL,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA,SACd;AAAA,QAEC,IAAA,KAAS,MAAA,KACP,KAAA,KAAU,cAAA,mBACT,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,qCAAA;AAAA,YACV,aAAA,EAAY,MAAA;AAAA,YACZ,KAAA,EAAO;AAAA,cACL,eAAA,EAAiB,CAAA,KAAA,EAAQ,IAAA,CAAK,QAAQ,CAAA,EAAA,CAAA;AAAA,cACtC,SAAA,EAAW,CAAA,KAAA,EAAQ,IAAA,CAAK,QAAQ,CAAA,EAAA;AAAA;AAClC;AAAA,SACF,mBAEA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,gBAAA;AAAA,YACV,KAAK,IAAA,CAAK,QAAA;AAAA,YACV,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA,SACd;AAAA;AAAA;AAAA,GAEN;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ","file":"logo.js","sourcesContent":["import React from 'react';\nimport './logo.css';\nimport { classnames } from '../helpers/classnames';\n\nimport brandcopilotFavicon from './assets/brandcopilot-favicon.svg';\nimport brandcopilotSymbol from './assets/brandcopilot-symbol.svg';\nimport brandcopilotWordmark from './assets/brandcopilot-wordmark.svg';\nimport dmpatternsFavicon from './assets/dmpatterns-favicon.svg';\nimport dmpatternsSymbol from './assets/dmpatterns-symbol.svg';\nimport dmpatternsWordmark from './assets/dmpatterns-wordmark.svg';\n\nexport type LogoBrand =\n | 'dmpatterns'\n | 'brandcopilot'\n | 'pdigest'\n | 'retrack';\n\nexport type LogoMode =\n | 'full'\n | 'symbol'\n | 'favicon';\n\ninterface LogoBrandDefinition {\n label: string;\n symbol: string;\n wordmark: string;\n favicon: string;\n}\n\nconst logoBrands: Record<\n LogoBrand,\n LogoBrandDefinition\n> = {\n dmpatterns: {\n label: 'Паттерны дизайн-менеджмента',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n favicon: dmpatternsFavicon,\n },\n brandcopilot: {\n label: 'Brandcopilot',\n symbol: brandcopilotSymbol,\n wordmark: brandcopilotWordmark,\n favicon: brandcopilotFavicon,\n },\n pdigest: {\n label: 'PDigest',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n favicon: dmpatternsFavicon,\n },\n retrack: {\n label: 'Retrack',\n symbol: dmpatternsSymbol,\n wordmark: dmpatternsWordmark,\n favicon: dmpatternsFavicon,\n },\n};\n\nexport interface LogoProps\n extends React.HTMLAttributes<HTMLDivElement> {\n brand?: LogoBrand;\n mode?: LogoMode;\n label?: string;\n}\n\nconst Logo: React.FC<LogoProps> = ({\n brand = 'dmpatterns',\n mode = 'full',\n label,\n className = '',\n ...props\n}) => {\n const logo = logoBrands[brand];\n const accessibleLabel = label ?? logo.label;\n const artwork =\n mode === 'favicon'\n ? logo.favicon\n : logo.symbol;\n\n const classes = classnames(\n 'logo',\n `logo--${brand}`,\n className,\n {\n 'logo--symbol': mode === 'symbol',\n 'logo--favicon': mode === 'favicon',\n },\n );\n\n return (\n <div\n className={classes}\n aria-label={accessibleLabel}\n {...props}\n >\n <img\n className=\"logo__symbol\"\n src={artwork}\n alt=\"\"\n aria-hidden=\"true\"\n />\n\n {mode === 'full' &&\n (brand === 'brandcopilot' ? (\n <span\n className=\"logo__wordmark logo__wordmark--mask\"\n aria-hidden=\"true\"\n style={{\n WebkitMaskImage: `url(\"${logo.wordmark}\")`,\n maskImage: `url(\"${logo.wordmark}\")`,\n }}\n />\n ) : (\n <img\n className=\"logo__wordmark\"\n src={logo.wordmark}\n alt=\"\"\n aria-hidden=\"true\"\n />\n ))}\n </div>\n );\n};\n\nexport default Logo;\n"]}
@@ -5,6 +5,7 @@ require('./surface.css');
5
5
  function surfacePresentation(rank) {
6
6
  return {
7
7
  surface: true,
8
+ "surface--primary": rank === "primary",
8
9
  "surface--secondary": rank === "secondary",
9
10
  "surface--tertiary": rank === "tertiary",
10
11
  "surface--outline": rank === "outline"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/surface/surface-presentation.ts"],"names":[],"mappings":";;;;AAQO,SAAS,oBACd,IAAA,EACyB;AACzB,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,IAAA;AAAA,IACT,sBACE,IAAA,KAAS,WAAA;AAAA,IACX,qBACE,IAAA,KAAS,UAAA;AAAA,IACX,oBACE,IAAA,KAAS;AAAA,GACb;AACF","file":"surface-presentation.cjs","sourcesContent":["import './surface.css';\n\nexport type SurfaceRank =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'outline';\n\nexport function surfacePresentation(\n rank: SurfaceRank,\n): Record<string, boolean> {\n return {\n surface: true,\n 'surface--secondary':\n rank === 'secondary',\n 'surface--tertiary':\n rank === 'tertiary',\n 'surface--outline':\n rank === 'outline',\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/surface/surface-presentation.ts"],"names":[],"mappings":";;;;AAQO,SAAS,oBACd,IAAA,EACyB;AACzB,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,IAAA;AAAA,IACT,oBACE,IAAA,KAAS,SAAA;AAAA,IACX,sBACE,IAAA,KAAS,WAAA;AAAA,IACX,qBACE,IAAA,KAAS,UAAA;AAAA,IACX,oBACE,IAAA,KAAS;AAAA,GACb;AACF","file":"surface-presentation.cjs","sourcesContent":["import './surface.css';\n\nexport type SurfaceRank =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'outline';\n\nexport function surfacePresentation(\n rank: SurfaceRank,\n): Record<string, boolean> {\n return {\n surface: true,\n 'surface--primary':\n rank === 'primary',\n 'surface--secondary':\n rank === 'secondary',\n 'surface--tertiary':\n rank === 'tertiary',\n 'surface--outline':\n rank === 'outline',\n };\n}\n"]}
@@ -3,6 +3,7 @@ import './surface.css';
3
3
  function surfacePresentation(rank) {
4
4
  return {
5
5
  surface: true,
6
+ "surface--primary": rank === "primary",
6
7
  "surface--secondary": rank === "secondary",
7
8
  "surface--tertiary": rank === "tertiary",
8
9
  "surface--outline": rank === "outline"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/surface/surface-presentation.ts"],"names":[],"mappings":";;AAQO,SAAS,oBACd,IAAA,EACyB;AACzB,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,IAAA;AAAA,IACT,sBACE,IAAA,KAAS,WAAA;AAAA,IACX,qBACE,IAAA,KAAS,UAAA;AAAA,IACX,oBACE,IAAA,KAAS;AAAA,GACb;AACF","file":"surface-presentation.js","sourcesContent":["import './surface.css';\n\nexport type SurfaceRank =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'outline';\n\nexport function surfacePresentation(\n rank: SurfaceRank,\n): Record<string, boolean> {\n return {\n surface: true,\n 'surface--secondary':\n rank === 'secondary',\n 'surface--tertiary':\n rank === 'tertiary',\n 'surface--outline':\n rank === 'outline',\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/surface/surface-presentation.ts"],"names":[],"mappings":";;AAQO,SAAS,oBACd,IAAA,EACyB;AACzB,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,IAAA;AAAA,IACT,oBACE,IAAA,KAAS,SAAA;AAAA,IACX,sBACE,IAAA,KAAS,WAAA;AAAA,IACX,qBACE,IAAA,KAAS,UAAA;AAAA,IACX,oBACE,IAAA,KAAS;AAAA,GACb;AACF","file":"surface-presentation.js","sourcesContent":["import './surface.css';\n\nexport type SurfaceRank =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'outline';\n\nexport function surfacePresentation(\n rank: SurfaceRank,\n): Record<string, boolean> {\n return {\n surface: true,\n 'surface--primary':\n rank === 'primary',\n 'surface--secondary':\n rank === 'secondary',\n 'surface--tertiary':\n rank === 'tertiary',\n 'surface--outline':\n rank === 'outline',\n };\n}\n"]}