dashboard-shell-shell 3.0.5-test.4 → 3.0.5-test.6

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 (198) hide show
  1. package/assets/brand/harvester/favicon.png +0 -0
  2. package/assets/brand/suse/favicon.png +0 -0
  3. package/assets/images/pl/half-logo.svg +23 -2
  4. package/assets/images/pl/harvester.png +0 -0
  5. package/assets/styles/app.scss +0 -4
  6. package/assets/styles/base/_basic.scss +2 -2
  7. package/assets/styles/base/_mixins.scss +1 -1
  8. package/assets/styles/base/_typography.scss +1 -2
  9. package/assets/styles/base/_variables.scss +4 -11
  10. package/assets/styles/global/_button.scss +27 -45
  11. package/assets/styles/global/_columns.scss +1 -3
  12. package/assets/styles/global/_form.scss +13 -45
  13. package/assets/styles/global/_labeled-input.scss +26 -54
  14. package/assets/styles/global/_layout.scss +3 -8
  15. package/assets/styles/global/_select.scss +17 -25
  16. package/assets/styles/global/_table.scss +1 -7
  17. package/assets/styles/global/_tooltip.scss +6 -54
  18. package/assets/styles/themes/_dark.scss +0 -3
  19. package/assets/styles/themes/_light.scss +42 -63
  20. package/assets/styles/vendor/vue-select.scss +9 -22
  21. package/assets/translations/en-us.yaml +4 -28
  22. package/assets/translations/zh-hans.yaml +189 -376
  23. package/components/ActionDropdown.vue +1 -2
  24. package/components/ActionMenu.vue +2 -2
  25. package/components/ActionMenuShell.vue +0 -2
  26. package/components/AppModal.vue +5 -46
  27. package/components/BrandImage.vue +0 -1
  28. package/components/ButtonDropdown.vue +4 -26
  29. package/components/ButtonMultiAction.vue +0 -1
  30. package/components/ClusterIconMenu.vue +1 -1
  31. package/components/CodeMirror.vue +6 -20
  32. package/components/ConsumptionGauge.vue +5 -24
  33. package/components/CruResource.vue +8 -9
  34. package/components/CruResourceFooter.vue +2 -2
  35. package/components/DashboardOptions.vue +17 -29
  36. package/components/ExplorerProjectsNamespaces.vue +5 -19
  37. package/components/GlobalRoleBindings.vue +48 -112
  38. package/components/GrafanaDashboard.vue +4 -4
  39. package/components/GrowlManager.vue +1 -3
  40. package/components/HardwareResourceGauge.vue +3 -39
  41. package/components/IndentedPanel.vue +10 -4
  42. package/components/InfoBox.vue +3 -3
  43. package/components/InputOrDisplay.vue +2 -28
  44. package/components/LabelValue.vue +1 -20
  45. package/components/ModalWithCard.vue +3 -12
  46. package/components/PodSecurityAdmission.vue +1 -1
  47. package/components/PromptModal.vue +1 -1
  48. package/components/PromptRemove.vue +11 -30
  49. package/components/ResourceDetail/Masthead/legacy.vue +38 -181
  50. package/components/ResourceDetail/legacy.vue +13 -29
  51. package/components/ResourceList/Masthead.vue +54 -226
  52. package/components/ResourceList/ResourceLoadingIndicator.vue +2 -5
  53. package/components/ResourceTable.vue +2 -24
  54. package/components/SideNav.vue +20 -74
  55. package/components/SortableTable/THead.vue +3 -33
  56. package/components/SortableTable/index.vue +464 -1017
  57. package/components/SortableTable/paging.js +16 -26
  58. package/components/SortableTable/selection.js +2 -2
  59. package/components/Tabbed/Tab.vue +3 -3
  60. package/components/Tabbed/index.vue +29 -47
  61. package/components/YamlEditor.vue +1 -0
  62. package/components/auth/Principal.vue +12 -36
  63. package/components/auth/RoleDetailEdit.vue +7 -58
  64. package/components/auth/SelectPrincipal.vue +0 -1
  65. package/components/form/ArrayList.vue +33 -41
  66. package/components/form/ArrayListGrouped.vue +2 -10
  67. package/components/form/ArrayListSelect.vue +1 -1
  68. package/components/form/BannerSettings.vue +59 -64
  69. package/components/form/ChangePassword.vue +4 -4
  70. package/components/form/ColorInput.vue +8 -32
  71. package/components/form/Footer.vue +8 -11
  72. package/components/form/InputWithSelect.vue +5 -8
  73. package/components/form/KeyValue.vue +7 -47
  74. package/components/form/LabeledSelect.vue +241 -212
  75. package/components/form/Labels.vue +3 -3
  76. package/components/form/MatchExpressions.vue +7 -24
  77. package/components/form/Members/ClusterPermissionsEditor.vue +2 -1
  78. package/components/form/Members/MembershipEditor.vue +1 -1
  79. package/components/form/NameNsDescription.vue +20 -59
  80. package/components/form/Password.vue +7 -16
  81. package/components/form/PodAffinity.vue +5 -4
  82. package/components/form/ResourceQuota/Namespace.vue +4 -4
  83. package/components/form/ResourceQuota/NamespaceRow.vue +17 -18
  84. package/components/form/ResourceQuota/Project.vue +4 -4
  85. package/components/form/ResourceQuota/ProjectRow.vue +6 -3
  86. package/components/form/Select.vue +2 -5
  87. package/components/form/SimpleSecretSelector.vue +9 -29
  88. package/components/form/UnitInput.vue +3 -8
  89. package/components/formatter/BadgeStateFormatter.vue +5 -8
  90. package/components/formatter/LiveDate.vue +3 -3
  91. package/components/nav/Favorite.vue +1 -5
  92. package/components/nav/Group.vue +99 -132
  93. package/components/nav/Header.vue +27 -124
  94. package/components/nav/HeaderPageActionMenu.vue +0 -1
  95. package/components/nav/NamespaceFilter.vue +15 -19
  96. package/components/nav/TopLevelMenu.vue +119 -182
  97. package/components/nav/Type.vue +41 -63
  98. package/composables/useClickOutside.ts +1 -1
  99. package/config/private-label.js +11 -15
  100. package/config/product/auth.js +7 -17
  101. package/config/product/settings.js +9 -19
  102. package/config/settings.ts +0 -28
  103. package/config/table-headers.js +2 -3
  104. package/dialog/ForceMachineRemoveDialog.vue +2 -2
  105. package/dialog/ScalePoolDownDialog.vue +2 -2
  106. package/edit/management.cattle.io.user.vue +4 -17
  107. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
  108. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
  109. package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +12 -36
  110. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
  111. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
  112. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
  113. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
  114. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
  115. package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
  116. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
  117. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
  118. package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
  119. package/edit/namespace.vue +2 -1
  120. package/edit/token.vue +12 -31
  121. package/edit/workload/index.vue +1 -1
  122. package/list/management.cattle.io.setting.vue +13 -22
  123. package/list/management.cattle.io.user.vue +3 -7
  124. package/list/namespace.vue +0 -3
  125. package/list/provisioning.cattle.io.cluster.vue +7 -6
  126. package/mixins/brand.js +0 -17
  127. package/package.json +1 -1
  128. package/pages/account/index.vue +12 -74
  129. package/pages/auth/login.vue +51 -214
  130. package/pages/auth/setup.vue +19 -142
  131. package/pages/c/_cluster/_product/namespaces.vue +4 -4
  132. package/pages/c/_cluster/auth/roles/index.vue +1 -19
  133. package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
  134. package/pages/c/_cluster/settings/banners.vue +102 -174
  135. package/pages/c/_cluster/settings/brand.vue +302 -350
  136. package/pages/c/_cluster/settings/performance.vue +38 -61
  137. package/pages/home.vue +30 -70
  138. package/pages/prefs.vue +25 -27
  139. package/promptRemove/mixin/roleDeletionCheck.js +2 -2
  140. package/public/index.html +4 -4
  141. package/rancher-components/BadgeState/BadgeState.vue +4 -6
  142. package/rancher-components/Banner/Banner.vue +8 -12
  143. package/rancher-components/Card/Card.vue +8 -7
  144. package/rancher-components/Form/Checkbox/Checkbox.vue +0 -4
  145. package/rancher-components/Form/LabeledInput/LabeledInput.vue +3 -42
  146. package/rancher-components/Form/Radio/RadioButton.vue +11 -35
  147. package/rancher-components/Form/Radio/RadioGroup.vue +5 -13
  148. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
  149. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +0 -1
  150. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +4 -12
  151. package/rancher-components/RcDropdown/RcDropdown.vue +7 -35
  152. package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
  153. package/rancher-components/RcDropdown/RcDropdownMenu.vue +4 -9
  154. package/rancher-components/RcDropdown/types.ts +0 -1
  155. package/rancher-components/StringList/StringList.vue +1 -1
  156. package/static/favicon.ico +0 -0
  157. package/static/favicon.png +0 -0
  158. package/static/loading-indicator.html +3 -3
  159. package/store/i18n.js +2 -2
  160. package/store/modal.ts +3 -3
  161. package/store/prefs.js +4 -11
  162. package/store/type-map.js +2 -32
  163. package/types/shell/index.d.ts +67 -74
  164. package/utils/error.js +8 -87
  165. package/utils/router.js +0 -21
  166. package/utils/select.js +3 -26
  167. package/utils/string.js +5 -8
  168. package/utils/title.ts +1 -1
  169. package/assets/icons/demo.css +0 -539
  170. package/assets/icons/demo.css:Zone.Identifier +0 -0
  171. package/assets/icons/demo_index.html +0 -1131
  172. package/assets/icons/demo_index.html:Zone.Identifier +0 -0
  173. package/assets/icons/iconfont.css +0 -216
  174. package/assets/icons/iconfont.css:Zone.Identifier +0 -0
  175. package/assets/icons/iconfont.js +0 -1
  176. package/assets/icons/iconfont.js:Zone.Identifier +0 -0
  177. package/assets/icons/iconfont.json +0 -324
  178. package/assets/icons/iconfont.json:Zone.Identifier +0 -0
  179. package/assets/icons/iconfont.ttf +0 -0
  180. package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
  181. package/assets/icons/iconfont.woff +0 -0
  182. package/assets/icons/iconfont.woff2 +0 -0
  183. package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
  184. package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
  185. package/assets/images/API.svg +0 -3
  186. package/assets/images/action.svg +0 -6
  187. package/assets/images/login/password.svg +0 -20
  188. package/assets/images/login/user.svg +0 -6
  189. package/assets/images/login-bg.png +0 -0
  190. package/assets/images/login-left.png +0 -0
  191. package/assets/images/login-logo.svg +0 -19
  192. package/assets/images/logo.png +0 -0
  193. package/assets/images/pl/logo.png +0 -0
  194. package/assets/images/promp-yellow.svg +0 -5
  195. package/assets/images/user.png +0 -0
  196. package/assets/styles/all.scss +0 -63
  197. package/components/DotState.vue +0 -84
  198. package/utils/errorTranslate.json +0 -1336
package/utils/select.js CHANGED
@@ -26,19 +26,8 @@ export function onClickOption(option, e) {
26
26
  // This is a simpler positionner for the dropdown for a select control
27
27
  // We used to use popper for these, but it does not suppotr fractional pixel placements which
28
28
  // means the dropdown does not appear aligned to the control when placed in a column-based layout
29
- export function calculatePosition(dropdownList, component, width, placement, type, isLabel,leftWidth) {
29
+ export function calculatePosition(dropdownList, component, width, placement) {
30
30
  const selectEl = component.$parent.$el;
31
-
32
- const labeledContainer = selectEl.querySelector('.labeled-container');
33
- let labelWidth=0
34
- if (labeledContainer) {
35
- labelWidth= labeledContainer.offsetWidth;
36
- } else {
37
- console.warn("未找到类名为 labeled-container 的元素");
38
- }
39
-
40
-
41
-
42
31
  const r = selectEl.getBoundingClientRect();
43
32
  const p = placement || 'bottom-start';
44
33
  const docHeight = document.body.offsetHeight;
@@ -70,19 +59,7 @@ export function calculatePosition(dropdownList, component, width, placement, typ
70
59
  selectEl.classList.remove('vs__dropdown-up');
71
60
  }
72
61
 
73
- // dropdownList.style.left = `${ r.x }px`;
62
+ dropdownList.style.left = `${ r.x }px`;
74
63
  dropdownList.style.width = 'min-content';
75
- // const s = type === 'label'? `${ r.x }px` :`${ r.x + Number(type.split("px")[0]) }px`
76
- dropdownList.style.left = ((type === 'label') && (!isLabel)) ? `${ (r.x) + labelWidth }px` : `${ r.x + (typeof type === 'string' ? parseFloat(type) : 0) }px`;
77
- // dropdownList.style.minWidth = type === 'label' ? `${ (r.width) - 160 }px` : `${ r.width }px`;
78
- console.log(type);
79
- console.log( r.width);
80
- if(leftWidth!=='') {
81
- dropdownList.style.left = leftWidth
82
- }
83
- const SelectContainer = selectEl.querySelector('.labeled-select');
84
-
85
-
86
- // dropdownList.style.width = type === 'label' ? '400px' : `${ r.width }px`;
87
- dropdownList.style.width = type === 'label' ? `${SelectContainer.offsetWidth}px` : `${ r.width- (typeof type === 'string' ? parseFloat(type) : 0) }px`;
64
+ dropdownList.style.minWidth = `${ r.width }px`;
88
65
  }
package/utils/string.js CHANGED
@@ -1,5 +1,3 @@
1
- import { translateError } from "@shell/utils/error";
2
-
3
1
  export function camelToTitle(str) {
4
2
  return dasherize((str || '')).split('-').map((str) => {
5
3
  return ucFirst(str);
@@ -163,19 +161,19 @@ export function resourceNames(names, plusMore, t, endString) {
163
161
 
164
162
  // endString default value
165
163
  if (!endString) {
166
- endString = endString === false ? ' ' : '';
164
+ endString = endString === false ? ' ' : '.';
167
165
  }
168
166
 
169
167
  return names.reduce((res, name, i) => {
170
168
  if (i < MAX_NAMES_COUNT) {
171
- res += `<span>${ escapeHtml( name ) }</span>`;
169
+ res += `<b>${ escapeHtml( name ) }</b>`;
172
170
 
173
171
  if (i === names.length - 1) {
174
172
  res += endString;
175
173
  } else if (i === names.length - 2) {
176
- res += names.length <= 5 ? '' : '';
174
+ res += names.length <= 5 ? t('generic.and') : '';
177
175
  } else {
178
- res += i < MAX_NAMES_COUNT - 1 ? ' , ' : '';
176
+ res += i < MAX_NAMES_COUNT - 1 ? t('generic.comma') : '';
179
177
  }
180
178
  }
181
179
 
@@ -284,8 +282,7 @@ export function ensureRegex(strOrRegex, exact = true) {
284
282
  }
285
283
 
286
284
  export function nlToBr(value) {
287
-
288
- return translateError(escapeHtml(value || '').replace(/(\r\n|\r|\n)/g, '<br/>\n'));
285
+ return escapeHtml(value || '').replace(/(\r\n|\r|\n)/g, '<br/>\n');
289
286
  }
290
287
 
291
288
  const quotedMatch = /[^."']+|"([^"]*)"|'([^']*)'/g;
package/utils/title.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export function updatePageTitle(...breadcrumb: (string | null | undefined | false)[]): void {
2
- document.title = breadcrumb.filter((s) => s).join(' - ').replace(/<i[^>]*>|<\/i>/g, '').replace('Harvester', 'HCI');
2
+ document.title = breadcrumb.filter((s) => s).join(' - ');
3
3
  }
@@ -1,539 +0,0 @@
1
- /* Logo 字体 */
2
- @font-face {
3
- font-family: "iconfont logo";
4
- src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
5
- src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
6
- url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
7
- url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
8
- url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
9
- }
10
-
11
- .logo {
12
- font-family: "iconfont logo";
13
- font-size: 160px;
14
- font-style: normal;
15
- -webkit-font-smoothing: antialiased;
16
- -moz-osx-font-smoothing: grayscale;
17
- }
18
-
19
- /* tabs */
20
- .nav-tabs {
21
- position: relative;
22
- }
23
-
24
- .nav-tabs .nav-more {
25
- position: absolute;
26
- right: 0;
27
- bottom: 0;
28
- height: 42px;
29
- line-height: 42px;
30
- color: #666;
31
- }
32
-
33
- #tabs {
34
- border-bottom: 1px solid #eee;
35
- }
36
-
37
- #tabs li {
38
- cursor: pointer;
39
- width: 100px;
40
- height: 40px;
41
- line-height: 40px;
42
- text-align: center;
43
- font-size: 16px;
44
- border-bottom: 2px solid transparent;
45
- position: relative;
46
- z-index: 1;
47
- margin-bottom: -1px;
48
- color: #666;
49
- }
50
-
51
-
52
- #tabs .active {
53
- border-bottom-color: #f00;
54
- color: #222;
55
- }
56
-
57
- .tab-container .content {
58
- display: none;
59
- }
60
-
61
- /* 页面布局 */
62
- .main {
63
- padding: 30px 100px;
64
- width: 960px;
65
- margin: 0 auto;
66
- }
67
-
68
- .main .logo {
69
- color: #333;
70
- text-align: left;
71
- margin-bottom: 30px;
72
- line-height: 1;
73
- height: 110px;
74
- margin-top: -50px;
75
- overflow: hidden;
76
- *zoom: 1;
77
- }
78
-
79
- .main .logo a {
80
- font-size: 160px;
81
- color: #333;
82
- }
83
-
84
- .helps {
85
- margin-top: 40px;
86
- }
87
-
88
- .helps pre {
89
- padding: 20px;
90
- margin: 10px 0;
91
- border: solid 1px #e7e1cd;
92
- background-color: #fffdef;
93
- overflow: auto;
94
- }
95
-
96
- .icon_lists {
97
- width: 100% !important;
98
- overflow: hidden;
99
- *zoom: 1;
100
- }
101
-
102
- .icon_lists li {
103
- width: 100px;
104
- margin-bottom: 10px;
105
- margin-right: 20px;
106
- text-align: center;
107
- list-style: none !important;
108
- cursor: default;
109
- }
110
-
111
- .icon_lists li .code-name {
112
- line-height: 1.2;
113
- }
114
-
115
- .icon_lists .icon {
116
- display: block;
117
- height: 100px;
118
- line-height: 100px;
119
- font-size: 42px;
120
- margin: 10px auto;
121
- color: #333;
122
- -webkit-transition: font-size 0.25s linear, width 0.25s linear;
123
- -moz-transition: font-size 0.25s linear, width 0.25s linear;
124
- transition: font-size 0.25s linear, width 0.25s linear;
125
- }
126
-
127
- .icon_lists .icon:hover {
128
- font-size: 100px;
129
- }
130
-
131
- .icon_lists .svg-icon {
132
- /* 通过设置 font-size 来改变图标大小 */
133
- width: 1em;
134
- /* 图标和文字相邻时,垂直对齐 */
135
- vertical-align: -0.15em;
136
- /* 通过设置 color 来改变 SVG 的颜色/fill */
137
- fill: currentColor;
138
- /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
139
- normalize.css 中也包含这行 */
140
- overflow: hidden;
141
- }
142
-
143
- .icon_lists li .name,
144
- .icon_lists li .code-name {
145
- color: #666;
146
- }
147
-
148
- /* markdown 样式 */
149
- .markdown {
150
- color: #666;
151
- font-size: 14px;
152
- line-height: 1.8;
153
- }
154
-
155
- .highlight {
156
- line-height: 1.5;
157
- }
158
-
159
- .markdown img {
160
- vertical-align: middle;
161
- max-width: 100%;
162
- }
163
-
164
- .markdown h1 {
165
- color: #404040;
166
- font-weight: 500;
167
- line-height: 40px;
168
- margin-bottom: 24px;
169
- }
170
-
171
- .markdown h2,
172
- .markdown h3,
173
- .markdown h4,
174
- .markdown h5,
175
- .markdown h6 {
176
- color: #404040;
177
- margin: 1.6em 0 0.6em 0;
178
- font-weight: 500;
179
- clear: both;
180
- }
181
-
182
- .markdown h1 {
183
- font-size: 28px;
184
- }
185
-
186
- .markdown h2 {
187
- font-size: 22px;
188
- }
189
-
190
- .markdown h3 {
191
- font-size: 16px;
192
- }
193
-
194
- .markdown h4 {
195
- font-size: 14px;
196
- }
197
-
198
- .markdown h5 {
199
- font-size: 12px;
200
- }
201
-
202
- .markdown h6 {
203
- font-size: 12px;
204
- }
205
-
206
- .markdown hr {
207
- height: 1px;
208
- border: 0;
209
- background: #e9e9e9;
210
- margin: 16px 0;
211
- clear: both;
212
- }
213
-
214
- .markdown p {
215
- margin: 1em 0;
216
- }
217
-
218
- .markdown>p,
219
- .markdown>blockquote,
220
- .markdown>.highlight,
221
- .markdown>ol,
222
- .markdown>ul {
223
- width: 80%;
224
- }
225
-
226
- .markdown ul>li {
227
- list-style: circle;
228
- }
229
-
230
- .markdown>ul li,
231
- .markdown blockquote ul>li {
232
- margin-left: 20px;
233
- padding-left: 4px;
234
- }
235
-
236
- .markdown>ul li p,
237
- .markdown>ol li p {
238
- margin: 0.6em 0;
239
- }
240
-
241
- .markdown ol>li {
242
- list-style: decimal;
243
- }
244
-
245
- .markdown>ol li,
246
- .markdown blockquote ol>li {
247
- margin-left: 20px;
248
- padding-left: 4px;
249
- }
250
-
251
- .markdown code {
252
- margin: 0 3px;
253
- padding: 0 5px;
254
- background: #eee;
255
- border-radius: 3px;
256
- }
257
-
258
- .markdown strong,
259
- .markdown b {
260
- font-weight: 600;
261
- }
262
-
263
- .markdown>table {
264
- border-collapse: collapse;
265
- border-spacing: 0px;
266
- empty-cells: show;
267
- border: 1px solid #e9e9e9;
268
- width: 95%;
269
- margin-bottom: 24px;
270
- }
271
-
272
- .markdown>table th {
273
- white-space: nowrap;
274
- color: #333;
275
- font-weight: 600;
276
- }
277
-
278
- .markdown>table th,
279
- .markdown>table td {
280
- border: 1px solid #e9e9e9;
281
- padding: 8px 16px;
282
- text-align: left;
283
- }
284
-
285
- .markdown>table th {
286
- background: #F7F7F7;
287
- }
288
-
289
- .markdown blockquote {
290
- font-size: 90%;
291
- color: #999;
292
- border-left: 4px solid #e9e9e9;
293
- padding-left: 0.8em;
294
- margin: 1em 0;
295
- }
296
-
297
- .markdown blockquote p {
298
- margin: 0;
299
- }
300
-
301
- .markdown .anchor {
302
- opacity: 0;
303
- transition: opacity 0.3s ease;
304
- margin-left: 8px;
305
- }
306
-
307
- .markdown .waiting {
308
- color: #ccc;
309
- }
310
-
311
- .markdown h1:hover .anchor,
312
- .markdown h2:hover .anchor,
313
- .markdown h3:hover .anchor,
314
- .markdown h4:hover .anchor,
315
- .markdown h5:hover .anchor,
316
- .markdown h6:hover .anchor {
317
- opacity: 1;
318
- display: inline-block;
319
- }
320
-
321
- .markdown>br,
322
- .markdown>p>br {
323
- clear: both;
324
- }
325
-
326
-
327
- .hljs {
328
- display: block;
329
- background: white;
330
- padding: 0.5em;
331
- color: #333333;
332
- overflow-x: auto;
333
- }
334
-
335
- .hljs-comment,
336
- .hljs-meta {
337
- color: #969896;
338
- }
339
-
340
- .hljs-string,
341
- .hljs-variable,
342
- .hljs-template-variable,
343
- .hljs-strong,
344
- .hljs-emphasis,
345
- .hljs-quote {
346
- color: #df5000;
347
- }
348
-
349
- .hljs-keyword,
350
- .hljs-selector-tag,
351
- .hljs-type {
352
- color: #a71d5d;
353
- }
354
-
355
- .hljs-literal,
356
- .hljs-symbol,
357
- .hljs-bullet,
358
- .hljs-attribute {
359
- color: #0086b3;
360
- }
361
-
362
- .hljs-section,
363
- .hljs-name {
364
- color: #63a35c;
365
- }
366
-
367
- .hljs-tag {
368
- color: #333333;
369
- }
370
-
371
- .hljs-title,
372
- .hljs-attr,
373
- .hljs-selector-id,
374
- .hljs-selector-class,
375
- .hljs-selector-attr,
376
- .hljs-selector-pseudo {
377
- color: #795da3;
378
- }
379
-
380
- .hljs-addition {
381
- color: #55a532;
382
- background-color: #eaffea;
383
- }
384
-
385
- .hljs-deletion {
386
- color: #bd2c00;
387
- background-color: #ffecec;
388
- }
389
-
390
- .hljs-link {
391
- text-decoration: underline;
392
- }
393
-
394
- /* 代码高亮 */
395
- /* PrismJS 1.15.0
396
- https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
397
- /**
398
- * prism.js default theme for JavaScript, CSS and HTML
399
- * Based on dabblet (http://dabblet.com)
400
- * @author Lea Verou
401
- */
402
- code[class*="language-"],
403
- pre[class*="language-"] {
404
- color: black;
405
- background: none;
406
- text-shadow: 0 1px white;
407
- font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
408
- text-align: left;
409
- white-space: pre;
410
- word-spacing: normal;
411
- word-break: normal;
412
- word-wrap: normal;
413
- line-height: 1.5;
414
-
415
- -moz-tab-size: 4;
416
- -o-tab-size: 4;
417
- tab-size: 4;
418
-
419
- -webkit-hyphens: none;
420
- -moz-hyphens: none;
421
- -ms-hyphens: none;
422
- hyphens: none;
423
- }
424
-
425
- pre[class*="language-"]::-moz-selection,
426
- pre[class*="language-"] ::-moz-selection,
427
- code[class*="language-"]::-moz-selection,
428
- code[class*="language-"] ::-moz-selection {
429
- text-shadow: none;
430
- background: #b3d4fc;
431
- }
432
-
433
- pre[class*="language-"]::selection,
434
- pre[class*="language-"] ::selection,
435
- code[class*="language-"]::selection,
436
- code[class*="language-"] ::selection {
437
- text-shadow: none;
438
- background: #b3d4fc;
439
- }
440
-
441
- @media print {
442
-
443
- code[class*="language-"],
444
- pre[class*="language-"] {
445
- text-shadow: none;
446
- }
447
- }
448
-
449
- /* Code blocks */
450
- pre[class*="language-"] {
451
- padding: 1em;
452
- margin: .5em 0;
453
- overflow: auto;
454
- }
455
-
456
- :not(pre)>code[class*="language-"],
457
- pre[class*="language-"] {
458
- background: #f5f2f0;
459
- }
460
-
461
- /* Inline code */
462
- :not(pre)>code[class*="language-"] {
463
- padding: .1em;
464
- border-radius: .3em;
465
- white-space: normal;
466
- }
467
-
468
- .token.comment,
469
- .token.prolog,
470
- .token.doctype,
471
- .token.cdata {
472
- color: slategray;
473
- }
474
-
475
- .token.punctuation {
476
- color: #999;
477
- }
478
-
479
- .namespace {
480
- opacity: .7;
481
- }
482
-
483
- .token.property,
484
- .token.tag,
485
- .token.boolean,
486
- .token.number,
487
- .token.constant,
488
- .token.symbol,
489
- .token.deleted {
490
- color: #905;
491
- }
492
-
493
- .token.selector,
494
- .token.attr-name,
495
- .token.string,
496
- .token.char,
497
- .token.builtin,
498
- .token.inserted {
499
- color: #690;
500
- }
501
-
502
- .token.operator,
503
- .token.entity,
504
- .token.url,
505
- .language-css .token.string,
506
- .style .token.string {
507
- color: #9a6e3a;
508
- background: hsla(0, 0%, 100%, .5);
509
- }
510
-
511
- .token.atrule,
512
- .token.attr-value,
513
- .token.keyword {
514
- color: #07a;
515
- }
516
-
517
- .token.function,
518
- .token.class-name {
519
- color: #DD4A68;
520
- }
521
-
522
- .token.regex,
523
- .token.important,
524
- .token.variable {
525
- color: #e90;
526
- }
527
-
528
- .token.important,
529
- .token.bold {
530
- font-weight: bold;
531
- }
532
-
533
- .token.italic {
534
- font-style: italic;
535
- }
536
-
537
- .token.entity {
538
- cursor: help;
539
- }
File without changes