ember-freestyle 0.13.0 → 0.13.2

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 (27) hide show
  1. package/.husky/pre-commit +5 -0
  2. package/CHANGELOG.md +14 -0
  3. package/README.md +30 -1
  4. package/addon/components/freestyle/usage/array/index.hbs +1 -0
  5. package/addon/components/freestyle/usage/bool/index.hbs +1 -0
  6. package/addon/components/freestyle/usage/number/index.hbs +1 -0
  7. package/addon/components/freestyle/usage/object/index.hbs +1 -0
  8. package/addon/components/freestyle/usage/string/index.hbs +1 -0
  9. package/{addon → app}/styles/components/freestyle/usage.scss +0 -0
  10. package/{addon → app}/styles/components/freestyle-annotation.scss +0 -0
  11. package/{addon → app}/styles/components/freestyle-collection.scss +0 -0
  12. package/{addon → app}/styles/components/freestyle-dynamic.scss +0 -0
  13. package/{addon → app}/styles/components/freestyle-guide.scss +0 -0
  14. package/{addon → app}/styles/components/freestyle-menu.scss +0 -0
  15. package/{addon → app}/styles/components/freestyle-palette-item.scss +0 -0
  16. package/{addon → app}/styles/components/freestyle-palette.scss +0 -0
  17. package/{addon → app}/styles/components/freestyle-section.scss +0 -0
  18. package/{addon → app}/styles/components/freestyle-source.scss +0 -0
  19. package/{addon → app}/styles/components/freestyle-subsection.scss +0 -0
  20. package/{addon → app}/styles/components/freestyle-typeface.scss +0 -0
  21. package/{addon → app}/styles/components/freestyle-usage-controls.scss +0 -0
  22. package/{addon → app}/styles/components/freestyle-usage.scss +0 -0
  23. package/{addon → app}/styles/components/freestyle-variant.scss +0 -0
  24. package/{addon/styles/addon.scss → app/styles/ember-freestyle.scss} +0 -0
  25. package/index.js +15 -1
  26. package/package.json +13 -10
  27. package/vendor/ember-freestyle.css +523 -0
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+ . "$(dirname "$0")/_/husky.sh"
3
+
4
+ yarn compile-styles
5
+ git add ./vendor/ember-freestyle.css
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.13.2](https://github.com/chrislopresto/ember-freestyle/compare/v0.13.1...v0.13.2) (2021-11-21)
6
+
7
+ ### [0.13.1](https://github.com/chrislopresto/ember-freestyle/compare/v0.13.0...v0.13.1) (2021-11-21)
8
+
9
+
10
+ ### Features
11
+
12
+ * remove dependency on `ember-cli-sass` and `sass` ([5482db1](https://github.com/chrislopresto/ember-freestyle/commit/5482db1b11332526e6916f2147e59216120b5fd2))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * pass down [@hide](https://github.com/hide)Controls argument ([c8eac40](https://github.com/chrislopresto/ember-freestyle/commit/c8eac406cc1e59b99f659b68fed7af5b4722d5d4))
18
+
5
19
  ## [0.13.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.11...v0.13.0) (2021-10-29)
6
20
 
7
21
 
package/README.md CHANGED
@@ -58,12 +58,41 @@ You can even use the constituent components like `freestyle-usage` on their own.
58
58
  Hopefully the installation instructions got you off to a smooth, seamless start.
59
59
  If you have any problems, feel free to chat with us in the [Ember Community Discord](https://discord.gg/emberjs) or [open an issue](https://github.com/chrislopresto/ember-freestyle/issues/new). As always, PRs are welcome!
60
60
 
61
- ## Removing Ember Freestyle from Your Production Build
61
+ ## Excluding Ember Freestyle's Styles
62
+
63
+ If you want to exclude Ember Freestyle's styles, you can set the `includeStyles`
64
+ option to `false` in your `ember-cli-build.js` file:
65
+
66
+ ```js
67
+ // ember-cli-build.js
68
+
69
+ module.exports = function (defaults) {
70
+ const app = new EmberApp(defaults, {
71
+ 'ember-freestyle': {
72
+ includeStyles: false,
73
+ },
74
+ };
75
+ };
76
+ ```
77
+
78
+ This might be useful in case you want to define your own styles _or_ if you are
79
+ using `ember-cli-sass` and want to import Ember Freestyle's styles explicitly:
80
+
81
+ ```scss
82
+ $FreestyleGuide-color--primary: #C70039;
83
+ $FreestyleGuide-color--accent: #DAF7A6;
84
+
85
+ @import 'ember-freestyle';
86
+ ```
87
+
88
+ ## Excluding Ember Freestyle from Your Production Build
62
89
 
63
90
  We recommend excluding Ember Freestyle from production builds using Ember CLI's
64
91
  `addons.blacklist` option.
65
92
 
66
93
  ```js
94
+ // ember-cli-build.js
95
+
67
96
  const environment = process.env.EMBER_ENV;
68
97
  const addonsToExclude = environment === 'production' ? ['ember-freestyle'] : [];
69
98
 
@@ -5,6 +5,7 @@
5
5
  @description={{@description}}
6
6
  @required={{@required}}
7
7
  @defaultValue={{@defaultValue}}
8
+ @hideControls={{@hideControls}}
8
9
  >
9
10
  {{#each @items key=@identity as |item index|}}
10
11
  <div class="FreestyleUsageArray-item">
@@ -4,6 +4,7 @@
4
4
  @description={{@description}}
5
5
  @required={{@required}}
6
6
  @defaultValue={{@defaultValue}}
7
+ @hideControls={{@hideControls}}
7
8
  >
8
9
  <Freestyle::Usage::Bool::Control
9
10
  @value={{@value}}
@@ -4,6 +4,7 @@
4
4
  @description={{@description}}
5
5
  @required={{@required}}
6
6
  @defaultValue={{@defaultValue}}
7
+ @hideControls={{@hideControls}}
7
8
  >
8
9
  <Freestyle::Usage::Number::Control
9
10
  @value={{@value}}
@@ -4,6 +4,7 @@
4
4
  @description={{@description}}
5
5
  @required={{@required}}
6
6
  @defaultValue={{@defaultValue}}
7
+ @hideControls={{@hideControls}}
7
8
  >
8
9
  <Freestyle::Usage::Object::Control
9
10
  @value={{@value}}
@@ -5,6 +5,7 @@
5
5
  @required={{@required}}
6
6
  @array={{@array}}
7
7
  @defaultValue={{@defaultValue}}
8
+ @hideControls={{@hideControls}}
8
9
  >
9
10
  <Freestyle::Usage::String::Control
10
11
  @options={{@options}}
package/index.js CHANGED
@@ -1,5 +1,9 @@
1
1
  'use strict';
2
2
 
3
+ const DEFAULT_OPTIONS = {
4
+ includeStyles: true,
5
+ };
6
+
3
7
  module.exports = {
4
8
  name: require('./package').name,
5
9
 
@@ -11,10 +15,20 @@ module.exports = {
11
15
  this._super.included.apply(this, arguments);
12
16
  // support for nested addon
13
17
  // see: https://github.com/ember-cli/ember-cli/issues/3718
14
- var target = parentAddon || app;
18
+ const target = parentAddon || app;
19
+
15
20
  if (!this.app && target.app) {
16
21
  this.app = target.app;
17
22
  }
23
+
24
+ const options = {
25
+ ...DEFAULT_OPTIONS,
26
+ ...this.app.options[this.name],
27
+ };
28
+
29
+ if (options.includeStyles === true) {
30
+ this.app.import('vendor/ember-freestyle.css');
31
+ }
18
32
  },
19
33
 
20
34
  setupPreprocessorRegistry(type, registry) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-freestyle",
3
- "version": "0.13.0",
3
+ "version": "0.13.2",
4
4
  "description": "Create a living styleguide for your Ember app.",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -14,6 +14,7 @@
14
14
  },
15
15
  "scripts": {
16
16
  "build": "ember build --environment=production",
17
+ "compile-styles": "node ./script/compile-styles.js",
17
18
  "lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"",
18
19
  "lint:css": "stylelint \"./**/*.scss\"",
19
20
  "lint:css:fix": "stylelint \"./**/*.scss\" --fix",
@@ -22,6 +23,7 @@
22
23
  "lint:hbs:fix": "ember-template-lint . --fix",
23
24
  "lint:js": "eslint . --cache",
24
25
  "lint:js:fix": "eslint . --fix",
26
+ "prepare": "husky install",
25
27
  "start": "ember serve",
26
28
  "test": "npm-run-all lint test:*",
27
29
  "test:ember": "ember test",
@@ -39,29 +41,28 @@
39
41
  "ember-auto-import": "^1.11.3",
40
42
  "ember-cli-babel": "^7.26.6",
41
43
  "ember-cli-htmlbars": "^6.0.0",
42
- "ember-cli-sass": "^10.0.0",
43
44
  "ember-modifier": "^2.1.2",
44
45
  "ember-named-blocks-polyfill": "^0.2.4",
45
46
  "ember-truth-helpers": "^3.0.0",
46
47
  "json-formatter-js": "^2.3.4",
47
48
  "macro-decorators": "^0.1.2",
48
- "sass": "^1.43.3",
49
49
  "strip-indent": "^3.0.0"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@ember/optional-features": "^2.0.0",
53
- "@ember/test-helpers": "^2.5.0",
54
- "@embroider/test-setup": "^0.47.0",
53
+ "@ember/test-helpers": "^2.6.0",
54
+ "@embroider/test-setup": "^0.47.2",
55
55
  "all-contributors-cli": "^6.14.1",
56
56
  "babel-eslint": "^10.1.0",
57
57
  "broccoli-asset-rev": "^3.0.0",
58
- "ember-cli": "~3.28.3",
58
+ "ember-cli": "~3.28.4",
59
59
  "ember-cli-autoprefixer": "^1.0.3",
60
60
  "ember-cli-dependency-checker": "^3.2.0",
61
61
  "ember-cli-deploy": "^1.0.2",
62
62
  "ember-cli-deploy-build": "^2.0.0",
63
63
  "ember-cli-deploy-git": "^1.3.4",
64
64
  "ember-cli-inject-live-reload": "^2.1.0",
65
+ "ember-cli-sass": "^10.0.0",
65
66
  "ember-cli-showdown": "^6.0.0",
66
67
  "ember-cli-sri": "^2.1.0",
67
68
  "ember-cli-terser": "^4.0.2",
@@ -69,13 +70,13 @@
69
70
  "ember-export-application-global": "^2.0.1",
70
71
  "ember-load-initializers": "^2.1.2",
71
72
  "ember-maybe-import-regenerator": "^1.0.0",
72
- "ember-page-title": "^6.2.2",
73
+ "ember-page-title": "^7.0.0",
73
74
  "ember-qunit": "^5.1.5",
74
75
  "ember-resolver": "^8.0.3",
75
- "ember-source": "~3.28.4",
76
+ "ember-source": "~3.28.6",
76
77
  "ember-source-channel-url": "^3.0.0",
77
- "ember-template-lint": "^3.10.0",
78
- "ember-try": "^1.4.0",
78
+ "ember-template-lint": "^3.13.0",
79
+ "ember-try": "^2.0.0",
79
80
  "eslint": "^7.32.0",
80
81
  "eslint-config-ember": "0.3.0",
81
82
  "eslint-config-prettier": "^8.3.0",
@@ -83,12 +84,14 @@
83
84
  "eslint-plugin-node": "^11.1.0",
84
85
  "eslint-plugin-prettier": "^4.0.0",
85
86
  "eslint-plugin-qunit": "^7.0.0",
87
+ "husky": "^7.0.4",
86
88
  "loader.js": "^4.7.0",
87
89
  "npm-run-all": "^4.1.5",
88
90
  "prettier": "^2.3.2",
89
91
  "qunit": "^2.16.0",
90
92
  "qunit-dom": "^2.0.0",
91
93
  "remarkable": "^2.0.0",
94
+ "sass": "^1.43.4",
92
95
  "standard-version": "^9.3.2",
93
96
  "stylelint": "^13.13.1",
94
97
  "stylelint-config-prettier": "^9.0.3",
@@ -0,0 +1,523 @@
1
+ .FreestyleGuide {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
5
+ min-height: 100vh;
6
+ min-width: 320px;
7
+ }
8
+ .FreestyleGuide-header, .FreestyleGuide-footer {
9
+ display: flex;
10
+ flex: none;
11
+ }
12
+ .FreestyleGuide-header {
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ border-bottom: solid 1px #b6b6b6;
16
+ padding: 0.5rem 1rem;
17
+ }
18
+ .FreestyleGuide-cta {
19
+ cursor: pointer;
20
+ display: inline-block;
21
+ flex-basis: 20px;
22
+ font-size: 1.4rem;
23
+ text-align: center;
24
+ }
25
+ .FreestyleGuide-ctaIcon:hover {
26
+ fill: #00bcd4;
27
+ }
28
+ .FreestyleGuide-titleContainer {
29
+ padding: 0 1rem;
30
+ text-align: center;
31
+ }
32
+ .FreestyleGuide-title {
33
+ font-size: 1.4rem;
34
+ font-weight: bold;
35
+ }
36
+ @media (min-width: 600px) {
37
+ .FreestyleGuide-title {
38
+ font-size: 1.9rem;
39
+ }
40
+ }
41
+ .FreestyleGuide-subtitle {
42
+ margin: 0 auto;
43
+ }
44
+ .FreestyleGuide-body {
45
+ background-color: #fff;
46
+ display: flex;
47
+ flex: 1 0 auto;
48
+ flex-direction: column;
49
+ }
50
+ @media (min-width: 600px) {
51
+ .FreestyleGuide-body {
52
+ flex-direction: row;
53
+ }
54
+ }
55
+ .FreestyleGuide-content {
56
+ margin-top: 1.5rem;
57
+ overflow: auto;
58
+ }
59
+ @media (min-width: 600px) {
60
+ .FreestyleGuide-content {
61
+ flex: 1;
62
+ margin: 0;
63
+ }
64
+ }
65
+ .FreestyleGuide-nav {
66
+ background-color: #fff;
67
+ order: -1;
68
+ padding: 1rem;
69
+ }
70
+ @media (min-width: 600px) {
71
+ .FreestyleGuide-nav {
72
+ border-right: solid 1px #b6b6b6;
73
+ flex: 0 0 18rem;
74
+ }
75
+ }
76
+ .FreestyleGuide-aside {
77
+ background: #fff;
78
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
79
+ margin-right: 0.5rem;
80
+ order: -2;
81
+ position: fixed;
82
+ right: 0.5rem;
83
+ }
84
+ @media (min-width: 600px) {
85
+ .FreestyleGuide-aside {
86
+ border-left: solid 1px #b6b6b6;
87
+ order: 1;
88
+ }
89
+ }
90
+ .FreestyleGuide-chooseSectionMessage {
91
+ display: flex;
92
+ height: 100%;
93
+ font-size: 1.4rem;
94
+ }
95
+ .FreestyleGuide-chooseSectionMessage > span {
96
+ margin: auto;
97
+ }
98
+
99
+ .FreestyleCollection {
100
+ max-width: 1200px;
101
+ }
102
+ .FreestyleCollection-title {
103
+ font-weight: bold;
104
+ padding: 1rem 1rem 0;
105
+ text-transform: uppercase;
106
+ }
107
+ .FreestyleCollection-variantList {
108
+ background-color: #fff;
109
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
110
+ color: #212121;
111
+ display: flex;
112
+ height: 48px;
113
+ list-style-type: none;
114
+ margin: 1rem;
115
+ overflow-x: auto;
116
+ overflow-y: hidden;
117
+ padding: 0;
118
+ position: relative;
119
+ white-space: nowrap;
120
+ }
121
+ .FreestyleCollection-variantListItem {
122
+ cursor: pointer;
123
+ display: block;
124
+ flex-grow: 1;
125
+ float: left;
126
+ font-size: 14px;
127
+ height: 48px;
128
+ letter-spacing: 0.8px;
129
+ line-height: 48px;
130
+ margin: 0;
131
+ min-width: 120px;
132
+ overflow: hidden;
133
+ padding: 0;
134
+ text-align: center;
135
+ text-overflow: ellipsis;
136
+ text-transform: uppercase;
137
+ width: 15%;
138
+ }
139
+ .FreestyleCollection-variantListItem:hover, .FreestyleCollection-variantListItem--active {
140
+ border-bottom: solid 3px #00bcd4;
141
+ color: #00bcd4;
142
+ }
143
+
144
+ .FreestyleDynamic-input {
145
+ margin-bottom: 10px;
146
+ }
147
+ .FreestyleDynamic-input input[type=text],
148
+ .FreestyleDynamic-input textarea {
149
+ display: block;
150
+ }
151
+ .FreestyleDynamic-inputDescription {
152
+ display: block;
153
+ }
154
+
155
+ .FreestyleVariant--inline {
156
+ display: inline-block;
157
+ }
158
+
159
+ .FreestyleAnnotation {
160
+ font-size: 0.9rem;
161
+ padding: 0 1rem;
162
+ }
163
+
164
+ .FreestyleUsageControls {
165
+ background: #fff;
166
+ font-size: 0.9rem;
167
+ padding: 1rem;
168
+ text-align: left;
169
+ width: 200px;
170
+ }
171
+ .FreestyleUsageControls-header {
172
+ color: #00bcd4;
173
+ font-weight: bold;
174
+ margin-bottom: 0.3rem;
175
+ text-transform: uppercase;
176
+ }
177
+ .FreestyleUsageControls-item {
178
+ align-items: baseline;
179
+ display: flex;
180
+ }
181
+ .FreestyleUsageControls-item--focus {
182
+ padding-top: 0.6rem;
183
+ }
184
+ .FreestyleUsageControls-itemControl {
185
+ cursor: pointer;
186
+ padding-right: 0.1rem;
187
+ }
188
+ .FreestyleUsageControls-itemLabel {
189
+ font-size: 0.8rem;
190
+ }
191
+ .FreestyleUsageControls-input--focus {
192
+ margin-bottom: 0.2rem;
193
+ }
194
+ .FreestyleUsageControls-button {
195
+ background-color: #00bcd4;
196
+ border: 0;
197
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
198
+ color: #fff;
199
+ cursor: pointer;
200
+ font-size: 0.6rem;
201
+ padding: 0.4rem 1rem;
202
+ text-transform: uppercase;
203
+ }
204
+
205
+ .FreestylePalette-title {
206
+ font-size: 1.4rem;
207
+ font-weight: bold;
208
+ padding-bottom: 2px;
209
+ padding-top: 10px;
210
+ }
211
+ .FreestylePalette-description {
212
+ font-size: 0.8rem;
213
+ padding-bottom: 5px;
214
+ }
215
+
216
+ /* BEGIN-FREESTYLE-USAGE fpi--notes
217
+ # Markdown Notes In SCSS!
218
+
219
+ Hey look... these are `markdown` notes:
220
+
221
+ - coming from scss
222
+ - looking nice
223
+
224
+ END-FREESTYLE-USAGE */
225
+ .FreestylePaletteItem {
226
+ border: solid 1px #cecece;
227
+ display: inline-block;
228
+ margin: 0 5px 5px 0;
229
+ }
230
+ .FreestylePaletteItem-color {
231
+ height: 90px;
232
+ width: 160px;
233
+ }
234
+ .FreestylePaletteItem-info {
235
+ background-color: #fff;
236
+ border-top: solid 1px #cecece;
237
+ padding: 5px;
238
+ }
239
+ .FreestylePaletteItem-hex {
240
+ font-size: 12px;
241
+ font-weight: bold;
242
+ margin-bottom: 0;
243
+ }
244
+ .FreestylePaletteItem-name {
245
+ color: #2f4f4f;
246
+ font-size: 11px;
247
+ margin-top: 0;
248
+ }
249
+
250
+ .FreestyleUsage {
251
+ max-width: 1200px;
252
+ }
253
+ .FreestyleUsage-title {
254
+ font-weight: bold;
255
+ padding: 1rem 1rem 0;
256
+ text-transform: uppercase;
257
+ }
258
+ .FreestyleUsage-rendered {
259
+ padding: 1rem;
260
+ }
261
+ .FreestyleUsage-usage {
262
+ padding-bottom: 10px;
263
+ }
264
+ .FreestyleUsage-sourceContainer pre {
265
+ font-size: 0.8rem;
266
+ margin-top: 0;
267
+ }
268
+ .FreestyleUsage-sourceContainer pre.hljs {
269
+ padding: 0.5rem 1rem;
270
+ }
271
+ .FreestyleUsage--inline {
272
+ border-bottom: 0;
273
+ display: inline-block;
274
+ margin-bottom: 0;
275
+ padding-bottom: 0;
276
+ width: 100%;
277
+ }
278
+ @media (min-width: 600px) {
279
+ .FreestyleUsage--inline {
280
+ max-width: inherit;
281
+ width: auto;
282
+ }
283
+ }
284
+ .FreestyleUsage-focusCta {
285
+ cursor: pointer;
286
+ fill: #b6b6b6;
287
+ position: relative;
288
+ top: 1px;
289
+ }
290
+ .FreestyleUsage-focusCta:hover {
291
+ fill: #00bcd4;
292
+ }
293
+
294
+ .FreestyleSection-name {
295
+ border-bottom: solid 1px #ccc;
296
+ font-size: 1.5rem;
297
+ font-weight: bold;
298
+ margin: 0 1rem;
299
+ max-width: calc(1200px - 1rem);
300
+ padding: 1rem 0 0.4rem;
301
+ text-transform: uppercase;
302
+ }
303
+ .FreestyleSection--hidden {
304
+ display: none;
305
+ }
306
+
307
+ .FreestyleSubsection.is-hidden {
308
+ display: none;
309
+ }
310
+ .FreestyleSubsection-name {
311
+ font-size: 1.3rem;
312
+ margin: 0 1rem;
313
+ padding: 0.8rem 0 0.4rem;
314
+ text-transform: uppercase;
315
+ }
316
+
317
+ .FreestyleMenu {
318
+ font-size: 14px;
319
+ list-style: none;
320
+ padding-left: 1rem;
321
+ }
322
+ .FreestyleMenu-item, .FreestyleMenu-submenuItem {
323
+ padding-top: 0.6rem;
324
+ text-transform: uppercase;
325
+ }
326
+ .FreestyleMenu-itemLink, .FreestyleMenu-submenuItemLink {
327
+ color: #212121;
328
+ text-decoration: none;
329
+ }
330
+ .FreestyleMenu-itemLink.active, .FreestyleMenu-submenuItemLink.active {
331
+ color: #00bcd4;
332
+ text-decoration: none;
333
+ }
334
+ .FreestyleMenu-itemLink:hover, .FreestyleMenu-submenuItemLink:hover {
335
+ color: #ffc107;
336
+ text-decoration: none;
337
+ }
338
+ .FreestyleMenu-submenu {
339
+ list-style: none;
340
+ padding-left: 1rem;
341
+ }
342
+
343
+ .FreestyleSource-title {
344
+ font-size: 0.7rem;
345
+ font-weight: bold;
346
+ padding: 0.5rem 1rem 0.2rem;
347
+ text-transform: uppercase;
348
+ }
349
+
350
+ .FreestyleTypeface-previewHero, .FreestyleTypeface-previewSample {
351
+ font-family: inherit;
352
+ }
353
+ .FreestyleTypeface-previewHero {
354
+ font-size: 140px;
355
+ line-height: 1.05;
356
+ }
357
+ .FreestyleTypeface-previewSample {
358
+ font-size: 15px;
359
+ margin: 0;
360
+ }
361
+
362
+ .FreestyleUsage {
363
+ --radius: 4px;
364
+ --border-color: #eee;
365
+ padding: 0 1rem 1rem;
366
+ margin-bottom: 1rem;
367
+ max-width: 1200px;
368
+ }
369
+ .FreestyleUsage:last-child {
370
+ border-bottom: 1px solid #ccc;
371
+ }
372
+ .FreestyleUsage-name {
373
+ color: #333;
374
+ margin-top: 1.5rem;
375
+ }
376
+ .FreestyleUsage-description {
377
+ margin: 0.5rem 0;
378
+ font-size: 1.1rem;
379
+ color: #666;
380
+ }
381
+ .FreestyleUsage-apiTitle {
382
+ font-size: 0.9rem;
383
+ font-weight: bold;
384
+ margin: 0;
385
+ }
386
+ .FreestyleUsage-standaloneFocusCta {
387
+ float: right;
388
+ margin-right: 1rem;
389
+ }
390
+ .FreestyleUsage-preview {
391
+ padding: 1.5rem;
392
+ margin: 1rem 0;
393
+ border: 1px solid var(--border-color);
394
+ border-radius: var(--radius);
395
+ position: relative;
396
+ }
397
+ .FreestyleUsage-preview:after {
398
+ content: "Preview";
399
+ font-size: 0.7rem;
400
+ position: absolute;
401
+ right: 0;
402
+ top: 0;
403
+ background: #eee;
404
+ color: #777;
405
+ padding: 2px 8px;
406
+ display: block;
407
+ border-radius: 0 0 0 var(--radius);
408
+ }
409
+ .FreestyleUsage-sourceContainer, .FreestyleUsage-apiTable {
410
+ margin-left: -1rem;
411
+ margin-right: -1rem;
412
+ }
413
+ .FreestyleUsage-apiTable {
414
+ width: 100%;
415
+ padding: 0.5rem 0 0.2rem;
416
+ border-collapse: collapse;
417
+ }
418
+ .FreestyleUsage-apiTable th {
419
+ text-align: left;
420
+ font-size: 0.8rem;
421
+ font-weight: 600;
422
+ color: #777;
423
+ }
424
+ .FreestyleUsage-apiTable tr {
425
+ border-bottom: 1px solid var(--border-color);
426
+ vertical-align: top;
427
+ }
428
+ .FreestyleUsage-apiTable tr:nth-child(even) {
429
+ background-color: #f9f9f9;
430
+ }
431
+ .FreestyleUsage-apiTable th,
432
+ .FreestyleUsage-apiTable td {
433
+ padding: 0.5rem 1rem;
434
+ }
435
+ .FreestyleUsage-sourceContainer {
436
+ margin-top: 1rem;
437
+ }
438
+
439
+ /*
440
+ FreestyleUsageArgument
441
+ */
442
+ .FreestyleUsageArgument {
443
+ font-size: 0.8rem;
444
+ }
445
+ .FreestyleUsageArgument-name {
446
+ font-weight: bold;
447
+ width: 20%;
448
+ }
449
+ .FreestyleUsageArgument-description {
450
+ width: 40%;
451
+ }
452
+ .FreestyleUsageArgument-required {
453
+ color: #d81c38;
454
+ font-style: oblique;
455
+ }
456
+ .FreestyleUsageArgument-default {
457
+ font-family: monospace;
458
+ }
459
+ .FreestyleUsageArgument-jsonViewer {
460
+ background-color: #222;
461
+ min-width: 300px;
462
+ padding: 1rem;
463
+ }
464
+
465
+ .FreestyleUsageBoolean {
466
+ position: relative;
467
+ display: flex;
468
+ }
469
+ .FreestyleUsageBoolean:after {
470
+ content: "False";
471
+ display: block;
472
+ position: absolute;
473
+ top: 2px;
474
+ left: 27px;
475
+ font-family: monospace;
476
+ color: #999;
477
+ }
478
+ .FreestyleUsageBoolean.is-checked:after {
479
+ content: "True";
480
+ color: #333;
481
+ font-weight: 700;
482
+ }
483
+
484
+ .FreestyleUsageArray-item {
485
+ margin: 0 0 0.5em 0;
486
+ display: flex;
487
+ flex-direction: row;
488
+ justify-content: space-between;
489
+ }
490
+ .FreestyleUsageArray-removeItem, .FreestyleUsageArray-addItem {
491
+ background: transparent;
492
+ border: 0;
493
+ outline: 0;
494
+ cursor: pointer;
495
+ padding: 2px 4px;
496
+ text-transform: uppercase;
497
+ letter-spacing: 0.5px;
498
+ font-size: 0.8em;
499
+ border-radius: 4px;
500
+ }
501
+ .FreestyleUsageArray-removeItem {
502
+ color: #999;
503
+ opacity: 0.5;
504
+ }
505
+ .FreestyleUsageArray-addItem {
506
+ font-weight: 700;
507
+ padding: 3px 8px;
508
+ color: #666;
509
+ background: #ddd;
510
+ }
511
+ .FreestyleUsageArray-item:hover .FreestyleUsageArray-removeItem {
512
+ opacity: 1;
513
+ }
514
+
515
+ .u-codePill {
516
+ background-color: #eee;
517
+ border-radius: 2px;
518
+ color: #777;
519
+ display: inline-block;
520
+ font-family: monospace;
521
+ margin-right: 0.2em;
522
+ padding: 1px 7px;
523
+ }