@polymorphism-tech/morph-spec 2.4.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/CLAUDE.md +158 -26
  2. package/LICENSE +72 -72
  3. package/bin/detect-agents.js +225 -225
  4. package/bin/morph-spec.js +8 -0
  5. package/bin/render-template.js +302 -302
  6. package/bin/semantic-detect-agents.js +246 -246
  7. package/bin/validate-agents-skills.js +251 -251
  8. package/bin/validate-agents.js +69 -69
  9. package/bin/validate-phase.js +263 -263
  10. package/content/.azure/README.md +293 -293
  11. package/content/.azure/docs/azure-devops-setup.md +454 -454
  12. package/content/.azure/docs/branch-strategy.md +398 -398
  13. package/content/.azure/docs/local-development.md +515 -515
  14. package/content/.azure/pipelines/pipeline-variables.yml +34 -34
  15. package/content/.azure/pipelines/prod-pipeline.yml +319 -319
  16. package/content/.azure/pipelines/staging-pipeline.yml +234 -234
  17. package/content/.azure/pipelines/templates/build-dotnet.yml +75 -75
  18. package/content/.azure/pipelines/templates/deploy-app-service.yml +94 -94
  19. package/content/.azure/pipelines/templates/deploy-container-app.yml +120 -120
  20. package/content/.azure/pipelines/templates/infra-deploy.yml +90 -90
  21. package/content/.claude/commands/morph-archive.md +79 -79
  22. package/content/.claude/commands/morph-deploy.md +529 -0
  23. package/content/.claude/commands/morph-infra.md +209 -209
  24. package/content/.claude/commands/morph-preflight.md +227 -227
  25. package/content/.claude/commands/morph-troubleshoot.md +122 -122
  26. package/content/.claude/settings.local.json +15 -15
  27. package/content/.claude/skills/infra/azure-deploy-specialist.md +699 -0
  28. package/content/.claude/skills/level-0-meta/README.md +7 -0
  29. package/content/.claude/skills/{checklists → level-0-meta}/morph-checklist.md +117 -117
  30. package/content/.claude/skills/level-1-workflows/README.md +7 -0
  31. package/content/.claude/skills/{workflows → level-1-workflows}/morph-replicate.md +213 -213
  32. package/content/.claude/skills/{workflows → level-1-workflows}/phase-clarify.md +131 -131
  33. package/content/.claude/skills/{workflows → level-1-workflows}/phase-design.md +213 -205
  34. package/content/.claude/skills/{workflows → level-1-workflows}/phase-setup.md +106 -92
  35. package/content/.claude/skills/{workflows → level-1-workflows}/phase-tasks.md +164 -164
  36. package/content/.claude/skills/{workflows → level-1-workflows}/phase-uiux.md +169 -138
  37. package/content/.claude/skills/level-2-domains/README.md +14 -0
  38. package/content/.claude/skills/{specialists → level-2-domains/quality}/testing-specialist.md +126 -126
  39. package/content/.claude/skills/level-3-technologies/README.md +7 -0
  40. package/content/.claude/skills/level-4-patterns/README.md +7 -0
  41. package/content/.claude/skills/specialists/prompt-engineer.md +189 -0
  42. package/content/.claude/skills/specialists/seo-growth-hacker.md +320 -0
  43. package/content/.morph/.morphversion +5 -5
  44. package/content/.morph/archive/.gitkeep +25 -25
  45. package/content/.morph/config/agents.json +742 -358
  46. package/content/.morph/config/config.template.json +33 -0
  47. package/content/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -392
  48. package/content/.morph/docs/workflows/enforcement-pipeline.md +668 -0
  49. package/content/.morph/examples/api-nextjs/README.md +241 -241
  50. package/content/.morph/examples/api-nextjs/contracts.ts +307 -307
  51. package/content/.morph/examples/api-nextjs/spec.md +399 -399
  52. package/content/.morph/examples/api-nextjs/tasks.md +168 -168
  53. package/content/.morph/examples/micro-saas/README.md +125 -125
  54. package/content/.morph/examples/micro-saas/contracts.cs +358 -358
  55. package/content/.morph/examples/micro-saas/decisions.md +246 -246
  56. package/content/.morph/examples/micro-saas/spec.md +236 -236
  57. package/content/.morph/examples/micro-saas/tasks.md +150 -150
  58. package/content/.morph/examples/multi-agent/README.md +309 -309
  59. package/content/.morph/examples/multi-agent/contracts.cs +433 -433
  60. package/content/.morph/examples/multi-agent/spec.md +479 -479
  61. package/content/.morph/examples/multi-agent/tasks.md +185 -185
  62. package/content/.morph/examples/scheduled-reports/decisions.md +158 -158
  63. package/content/.morph/examples/scheduled-reports/proposal.md +95 -95
  64. package/content/.morph/examples/scheduled-reports/spec.md +267 -267
  65. package/content/.morph/examples/state-v3.json +188 -188
  66. package/content/.morph/features/.gitkeep +25 -25
  67. package/content/.morph/hooks/README.md +158 -0
  68. package/content/.morph/hooks/pre-commit-all.sh +48 -48
  69. package/content/.morph/hooks/pre-commit-specs.sh +49 -49
  70. package/content/.morph/hooks/pre-commit-tests.sh +60 -60
  71. package/content/.morph/hooks/task-completed.js +73 -0
  72. package/content/.morph/hooks/teammate-idle.js +68 -0
  73. package/content/.morph/project.md +160 -160
  74. package/content/.morph/schemas/agent.schema.json +296 -296
  75. package/content/.morph/schemas/tasks.schema.json +220 -220
  76. package/content/.morph/specs/.gitkeep +20 -20
  77. package/content/.morph/standards/agent-teams-workflow.md +474 -0
  78. package/content/.morph/standards/coding.md +377 -377
  79. package/content/.morph/standards/fluent-ui-setup.md +590 -590
  80. package/content/.morph/standards/migration-guide.md +514 -514
  81. package/content/.morph/standards/passkeys-auth.md +423 -423
  82. package/content/.morph/standards/vector-search-rag.md +536 -536
  83. package/content/.morph/state.json +17 -17
  84. package/content/.morph/templates/CONTEXT-FEATURE.md +276 -0
  85. package/content/.morph/templates/CONTEXT.md +170 -0
  86. package/content/.morph/templates/FluentDesignTheme.cs +149 -149
  87. package/content/.morph/templates/MudTheme.cs +281 -281
  88. package/content/.morph/templates/clarify-questions.md +159 -159
  89. package/content/.morph/templates/component.razor +239 -239
  90. package/content/.morph/templates/contracts/Commands.cs +74 -74
  91. package/content/.morph/templates/contracts/Entities.cs +25 -25
  92. package/content/.morph/templates/contracts/Queries.cs +74 -74
  93. package/content/.morph/templates/contracts/README.md +74 -74
  94. package/content/.morph/templates/contracts.cs +217 -217
  95. package/content/.morph/templates/design-system.css +226 -226
  96. package/content/.morph/templates/infra/.dockerignore.example +89 -89
  97. package/content/.morph/templates/infra/Dockerfile.example +82 -82
  98. package/content/.morph/templates/infra/README.md +286 -286
  99. package/content/.morph/templates/infra/app-insights.bicep +63 -63
  100. package/content/.morph/templates/infra/app-service.bicep +164 -164
  101. package/content/.morph/templates/infra/azure-pipelines-deploy.yml +480 -0
  102. package/content/.morph/templates/infra/container-app-env.bicep +49 -49
  103. package/content/.morph/templates/infra/container-app.bicep +156 -156
  104. package/content/.morph/templates/infra/deploy-checklist.md +426 -426
  105. package/content/.morph/templates/infra/deploy.ps1 +229 -229
  106. package/content/.morph/templates/infra/deploy.sh +208 -208
  107. package/content/.morph/templates/infra/key-vault.bicep +91 -91
  108. package/content/.morph/templates/infra/main.bicep +189 -189
  109. package/content/.morph/templates/infra/parameters.dev.json +29 -29
  110. package/content/.morph/templates/infra/parameters.prod.json +29 -29
  111. package/content/.morph/templates/infra/parameters.staging.json +29 -29
  112. package/content/.morph/templates/infra/sql-database.bicep +103 -103
  113. package/content/.morph/templates/infra/storage.bicep +106 -106
  114. package/content/.morph/templates/integrations/asaas-client.cs +387 -387
  115. package/content/.morph/templates/integrations/asaas-webhook.cs +351 -351
  116. package/content/.morph/templates/integrations/azure-identity-config.cs +288 -288
  117. package/content/.morph/templates/integrations/clerk-config.cs +258 -258
  118. package/content/.morph/templates/job.cs +171 -171
  119. package/content/.morph/templates/migration.cs +83 -83
  120. package/content/.morph/templates/repository.cs +141 -141
  121. package/content/.morph/templates/saas/subscription.cs +347 -347
  122. package/content/.morph/templates/saas/tenant.cs +338 -338
  123. package/content/.morph/templates/service.cs +139 -139
  124. package/content/.morph/templates/sprint-status.yaml +68 -68
  125. package/content/.morph/templates/story.md +143 -143
  126. package/content/.morph/templates/test.cs +239 -239
  127. package/content/.morph/templates/ui-design-system.md +286 -286
  128. package/content/.morph/templates/ui-flows.md +336 -336
  129. package/content/.morph/templates/ui-mockups.md +133 -133
  130. package/content/.morph/test-infra/example.bicep +59 -59
  131. package/content/README.md +79 -79
  132. package/detectors/config-detector.js +223 -223
  133. package/detectors/conversation-analyzer.js +163 -163
  134. package/detectors/index.js +84 -84
  135. package/detectors/standards-generator.js +275 -275
  136. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +977 -977
  137. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1048 -1048
  138. package/docs/api/scripts/collapse.js +38 -38
  139. package/docs/api/scripts/commonNav.js +28 -28
  140. package/docs/api/scripts/linenumber.js +25 -25
  141. package/docs/api/scripts/nav.js +12 -12
  142. package/docs/api/scripts/polyfill.js +3 -3
  143. package/docs/api/scripts/prettify/Apache-License-2.0.txt +202 -202
  144. package/docs/api/scripts/prettify/lang-css.js +2 -2
  145. package/docs/api/scripts/prettify/prettify.js +28 -28
  146. package/docs/api/scripts/search.js +98 -98
  147. package/docs/api/styles/jsdoc.css +776 -776
  148. package/docs/api/styles/prettify.css +80 -80
  149. package/docs/examples.md +328 -328
  150. package/docs/templates.md +418 -418
  151. package/package.json +1 -1
  152. package/scripts/postinstall.js +132 -132
  153. package/src/commands/advance-phase.js +83 -0
  154. package/src/commands/analyze-blazor-concurrency.js +193 -193
  155. package/src/commands/create-story.js +351 -351
  156. package/src/commands/deploy.js +780 -0
  157. package/src/commands/detect-agents.js +34 -6
  158. package/src/commands/detect.js +104 -104
  159. package/src/commands/generate-context.js +40 -0
  160. package/src/commands/generate.js +149 -149
  161. package/src/commands/lint-fluent.js +352 -352
  162. package/src/commands/rollback-phase.js +185 -185
  163. package/src/commands/session-summary.js +291 -291
  164. package/src/commands/shard-spec.js +224 -224
  165. package/src/commands/sprint-status.js +250 -250
  166. package/src/commands/state.js +333 -333
  167. package/src/commands/sync.js +167 -167
  168. package/src/commands/troubleshoot.js +222 -222
  169. package/src/commands/validate-blazor-state.js +210 -210
  170. package/src/commands/validate-blazor.js +156 -156
  171. package/src/commands/validate-css.js +84 -84
  172. package/src/commands/validate-phase.js +221 -221
  173. package/src/lib/blazor-concurrency-analyzer.js +288 -288
  174. package/src/lib/blazor-state-validator.js +291 -291
  175. package/src/lib/blazor-validator.js +374 -374
  176. package/src/lib/context-generator.js +513 -0
  177. package/src/lib/css-validator.js +352 -352
  178. package/src/lib/design-system-detector.js +187 -0
  179. package/src/lib/design-system-generator.js +298 -298
  180. package/src/lib/design-system-scaffolder.js +299 -0
  181. package/src/lib/hook-executor.js +256 -0
  182. package/src/lib/learning-system.js +520 -520
  183. package/src/lib/mockup-generator.js +366 -366
  184. package/src/lib/spec-validator.js +258 -0
  185. package/src/lib/standards-context-injector.js +287 -0
  186. package/src/lib/team-orchestrator.js +322 -0
  187. package/src/lib/troubleshoot-grep.js +194 -194
  188. package/src/lib/troubleshoot-index.js +144 -144
  189. package/src/lib/ui-detector.js +350 -350
  190. package/src/lib/validation-runner.js +65 -13
  191. package/src/lib/validators/architecture-validator.js +387 -387
  192. package/src/lib/validators/design-system-validator.js +231 -0
  193. package/src/lib/validators/package-validator.js +360 -360
  194. package/src/lib/validators/ui-contrast-validator.js +422 -422
  195. package/src/utils/file-copier.js +9 -1
  196. package/src/utils/logger.js +32 -32
  197. package/src/utils/version-checker.js +175 -175
  198. /package/content/.claude/skills/{checklists → level-0-meta}/code-review.md +0 -0
  199. /package/content/.claude/skills/{checklists → level-0-meta}/simulation-checklist.md +0 -0
  200. /package/content/.claude/skills/{specialists → level-2-domains/ai-agents}/ai-system-architect.md +0 -0
  201. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/po-pm-advisor.md +0 -0
  202. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/standards-architect.md +0 -0
  203. /package/content/.claude/skills/{specialists → level-2-domains/backend}/dotnet-senior.md +0 -0
  204. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ef-modeler.md +0 -0
  205. /package/content/.claude/skills/{specialists → level-2-domains/backend}/hangfire-orchestrator.md +0 -0
  206. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ms-agent-expert.md +0 -0
  207. /package/content/.claude/skills/{stacks/dotnet-blazor.md → level-2-domains/frontend/blazor-builder.md} +0 -0
  208. /package/content/.claude/skills/{stacks/dotnet-nextjs.md → level-2-domains/frontend/nextjs-expert.md} +0 -0
  209. /package/content/.claude/skills/{specialists → level-2-domains/frontend}/ui-ux-designer.md +0 -0
  210. /package/content/.claude/skills/{specialists → level-2-domains/infrastructure}/azure-architect.md +0 -0
  211. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/bicep-architect.md +0 -0
  212. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/container-specialist.md +0 -0
  213. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/devops-engineer.md +0 -0
  214. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/asaas-financial.md +0 -0
  215. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/azure-identity.md +0 -0
  216. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/clerk-auth.md +0 -0
  217. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/resend-email.md +0 -0
  218. /package/content/.claude/skills/{specialists → level-2-domains/quality}/code-analyzer.md +0 -0
@@ -1,776 +1,776 @@
1
- * {
2
- box-sizing: border-box
3
- }
4
-
5
- html, body {
6
- height: 100%;
7
- width: 100%;
8
- }
9
-
10
- body {
11
- color: #4d4e53;
12
- background-color: white;
13
- margin: 0 auto;
14
- padding: 0 20px;
15
- font-family: 'Helvetica Neue', Helvetica, sans-serif;
16
- font-size: 16px;
17
- }
18
-
19
- img {
20
- max-width: 100%;
21
- }
22
-
23
- a,
24
- a:active {
25
- color: #606;
26
- text-decoration: none;
27
- }
28
-
29
- a:hover {
30
- text-decoration: none;
31
- }
32
-
33
- article a {
34
- border-bottom: 1px solid #ddd;
35
- }
36
-
37
- article a:hover, article a:active {
38
- border-bottom-color: #222;
39
- }
40
-
41
- article .description a {
42
- word-break: break-word;
43
- }
44
-
45
- p, ul, ol, blockquote {
46
- margin-bottom: 1em;
47
- line-height: 160%;
48
- }
49
-
50
- h1, h2, h3, h4, h5, h6 {
51
- font-family: 'Montserrat', sans-serif;
52
- }
53
-
54
- h1, h2, h3, h4, h5, h6 {
55
- color: #000;
56
- font-weight: 400;
57
- margin: 0;
58
- }
59
-
60
- h1 {
61
- font-weight: 300;
62
- font-size: 48px;
63
- margin: 1em 0 .5em;
64
- }
65
-
66
- h1.page-title {
67
- font-size: 48px;
68
- margin: 1em 30px;
69
- line-height: 100%;
70
- word-wrap: break-word;
71
- }
72
-
73
- h2 {
74
- font-size: 24px;
75
- margin: 1.5em 0 .3em;
76
- }
77
-
78
- h3 {
79
- font-size: 24px;
80
- margin: 1.2em 0 .3em;
81
- }
82
-
83
- h4 {
84
- font-size: 18px;
85
- margin: 1em 0 .2em;
86
- color: #4d4e53;
87
- }
88
-
89
- h4.name {
90
- color: #fff;
91
- background: #6d426d;
92
- box-shadow: 0 .25em .5em #d3d3d3;
93
- border-top: 1px solid #d3d3d3;
94
- border-bottom: 1px solid #d3d3d3;
95
- margin: 1.5em 0 0.5em;
96
- padding: .75em 0 .75em 10px;
97
- }
98
-
99
- h4.name a {
100
- color: #fc83ff;
101
- }
102
-
103
- h4.name a:hover {
104
- border-bottom-color: #fc83ff;
105
- }
106
-
107
- h5, .container-overview .subsection-title {
108
- font-size: 120%;
109
- letter-spacing: -0.01em;
110
- margin: 8px 0 3px 0;
111
- }
112
-
113
- h6 {
114
- font-size: 100%;
115
- letter-spacing: -0.01em;
116
- margin: 6px 0 3px 0;
117
- font-style: italic;
118
- }
119
-
120
- .usertext h1 {
121
- font-family: "Source Sans Pro";
122
- font-size: 24px;
123
- margin: 2.5em 0 1em;
124
- font-weight: 400;
125
- }
126
-
127
- .usertext h2 {
128
- font-family: "Source Sans Pro";
129
- font-size: 18px;
130
- margin: 2em 0 0.5em;
131
- font-weight: 400;
132
-
133
- }
134
-
135
- .usertext h3 {
136
- font-family: "Source Sans Pro";
137
- font-size: 15px;
138
- margin: 1.5em 0 0;
139
- font-weight: 400;
140
- }
141
-
142
- .usertext h4 {
143
- font-family: "Source Sans Pro";
144
- font-size: 14px;
145
- margin: 0 0 0;
146
- font-weight: 400;
147
- }
148
-
149
- .usertext h5 {
150
- font-size: 12px;
151
- margin: 1em 0 0;
152
- font-weight: normal;
153
- color: #666;
154
- }
155
-
156
- .usertext h6 {
157
- font-size: 11px;
158
- margin: 1em 0 0;
159
- font-weight: normal;
160
- font-style: normal;
161
- color: #666;
162
- }
163
-
164
-
165
- tt, code, kbd, samp, pre {
166
- font-family: Consolas, Monaco, 'Andale Mono', monospace;
167
- background: #f4f4f4;
168
- }
169
-
170
- tt, code, kbd, samp{
171
- padding: 1px 5px;
172
- }
173
-
174
- pre {
175
- padding-bottom: 1em;
176
- }
177
-
178
- .class-description {
179
- font-size: 130%;
180
- line-height: 140%;
181
- margin-bottom: 1em;
182
- margin-top: 1em;
183
- }
184
-
185
- .class-description:empty {
186
- margin: 0
187
- }
188
-
189
- #main {
190
- float: right;
191
- width: calc(100% - 240px);
192
- }
193
-
194
- header {
195
- display: block
196
- }
197
-
198
- section {
199
- display: block;
200
- background-color: #fff;
201
- padding: 0 0 0 30px;
202
- }
203
-
204
- .variation {
205
- display: none
206
- }
207
-
208
- .signature-attributes {
209
- font-size: 60%;
210
- color: #eee;
211
- font-style: italic;
212
- font-weight: lighter;
213
- }
214
-
215
- nav {
216
- float: left;
217
- display: block;
218
- width: 250px;
219
- background: #fff;
220
- overflow: auto;
221
- position: fixed;
222
- height: 100%;
223
- }
224
-
225
- nav #nav-search{
226
- width: 210px;
227
- height: 30px;
228
- padding: 5px 10px;
229
- font-size: 12px;
230
- line-height: 1.5;
231
- border-radius: 3px;
232
- margin-right: 20px;
233
- margin-top: 20px;
234
- }
235
-
236
- nav.wrap a{
237
- word-wrap: break-word;
238
- }
239
-
240
- nav h3 {
241
- margin-top: 12px;
242
- font-size: 13px;
243
- text-transform: uppercase;
244
- letter-spacing: 1px;
245
- font-weight: 700;
246
- line-height: 24px;
247
- margin: 15px 0 10px;
248
- padding: 0;
249
- color: #000;
250
- }
251
-
252
- nav h3.collapsed_header {
253
- cursor: pointer;
254
- }
255
-
256
- nav ul {
257
- font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif;
258
- font-size: 100%;
259
- line-height: 17px;
260
- padding: 0;
261
- margin: 0;
262
- list-style-type: none;
263
- }
264
-
265
- nav ul a,
266
- nav ul a:active {
267
- font-family: 'Montserrat', sans-serif;
268
- line-height: 18px;
269
- padding: 0;
270
- display: block;
271
- font-size: 12px;
272
- }
273
-
274
- nav a:hover,
275
- nav a:active {
276
- color: #606;
277
- }
278
-
279
- nav > ul {
280
- padding: 0 10px;
281
- }
282
-
283
- nav > ul > li > a {
284
- color: #606;
285
- margin-top: 10px;
286
- }
287
-
288
- nav ul ul a {
289
- color: hsl(207, 1%, 60%);
290
- border-left: 1px solid hsl(207, 10%, 86%);
291
- }
292
-
293
- nav ul ul a,
294
- nav ul ul a:active {
295
- padding-left: 20px
296
- }
297
-
298
- nav h2 {
299
- font-size: 13px;
300
- margin: 10px 0 0 0;
301
- padding: 0;
302
- }
303
-
304
- nav > h2 > a {
305
- margin: 10px 0 -10px;
306
- color: #606 !important;
307
- }
308
-
309
- footer {
310
- color: hsl(0, 0%, 28%);
311
- margin-left: 250px;
312
- display: block;
313
- padding: 15px;
314
- font-style: italic;
315
- font-size: 90%;
316
- }
317
-
318
- .ancestors {
319
- color: #999
320
- }
321
-
322
- .ancestors a {
323
- color: #999 !important;
324
- }
325
-
326
- .clear {
327
- clear: both
328
- }
329
-
330
- .important {
331
- font-weight: bold;
332
- color: #950B02;
333
- }
334
-
335
- .yes-def {
336
- text-indent: -1000px
337
- }
338
-
339
- .type-signature {
340
- color: #CA79CA
341
- }
342
-
343
- .type-signature:last-child {
344
- color: #eee;
345
- }
346
-
347
- .name, .signature {
348
- font-family: Consolas, Monaco, 'Andale Mono', monospace
349
- }
350
-
351
- .signature {
352
- color: #fc83ff;
353
- }
354
-
355
- .details {
356
- margin-top: 6px;
357
- border-left: 2px solid #DDD;
358
- line-height: 20px;
359
- font-size: 14px;
360
- }
361
-
362
- .details dt {
363
- width: auto;
364
- float: left;
365
- padding-left: 10px;
366
- }
367
-
368
- .details dd {
369
- margin-left: 70px;
370
- margin-top: 6px;
371
- margin-bottom: 6px;
372
- }
373
-
374
- .details ul {
375
- margin: 0
376
- }
377
-
378
- .details ul {
379
- list-style-type: none
380
- }
381
-
382
- .details pre.prettyprint {
383
- margin: 0
384
- }
385
-
386
- .details .object-value {
387
- padding-top: 0
388
- }
389
-
390
- .description {
391
- margin-bottom: 1em;
392
- margin-top: 1em;
393
- }
394
-
395
- .code-caption {
396
- font-style: italic;
397
- font-size: 107%;
398
- margin: 0;
399
- }
400
-
401
- .prettyprint {
402
- font-size: 14px;
403
- overflow: auto;
404
- }
405
-
406
- .prettyprint.source {
407
- width: inherit;
408
- line-height: 18px;
409
- display: block;
410
- background-color: #0d152a;
411
- color: #aeaeae;
412
- }
413
-
414
- .prettyprint code {
415
- line-height: 18px;
416
- display: block;
417
- background-color: #0d152a;
418
- color: #4D4E53;
419
- }
420
-
421
- .prettyprint > code {
422
- padding: 15px;
423
- }
424
-
425
- .prettyprint .linenums code {
426
- padding: 0 15px
427
- }
428
-
429
- .prettyprint .linenums li:first-of-type code {
430
- padding-top: 15px
431
- }
432
-
433
- .prettyprint code span.line {
434
- display: inline-block
435
- }
436
-
437
- .prettyprint.linenums {
438
- padding-left: 70px;
439
- -webkit-user-select: none;
440
- -moz-user-select: none;
441
- -ms-user-select: none;
442
- user-select: none;
443
- }
444
-
445
- .prettyprint.linenums ol {
446
- padding-left: 0
447
- }
448
-
449
- .prettyprint.linenums li {
450
- border-left: 3px #34446B solid;
451
- }
452
-
453
- .prettyprint.linenums li.selected, .prettyprint.linenums li.selected * {
454
- background-color: #34446B;
455
- }
456
-
457
- .prettyprint.linenums li * {
458
- -webkit-user-select: text;
459
- -moz-user-select: text;
460
- -ms-user-select: text;
461
- user-select: text;
462
- }
463
-
464
- .prettyprint.linenums li code:empty:after {
465
- content:"";
466
- display:inline-block;
467
- width:0px;
468
- }
469
-
470
- table {
471
- border-spacing: 0;
472
- border: 1px solid #ddd;
473
- border-collapse: collapse;
474
- border-radius: 3px;
475
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
476
- width: 100%;
477
- font-size: 14px;
478
- margin: 1em 0;
479
- }
480
-
481
- td, th {
482
- margin: 0px;
483
- text-align: left;
484
- vertical-align: top;
485
- padding: 10px;
486
- display: table-cell;
487
- }
488
-
489
- thead tr, thead tr {
490
- background-color: #fff;
491
- font-weight: bold;
492
- border-bottom: 1px solid #ddd;
493
- }
494
-
495
- .params .type {
496
- white-space: nowrap;
497
- }
498
-
499
- .params code {
500
- white-space: pre;
501
- }
502
-
503
- .params td, .params .name, .props .name, .name code {
504
- color: #4D4E53;
505
- font-family: Consolas, Monaco, 'Andale Mono', monospace;
506
- font-size: 100%;
507
- }
508
-
509
- .params td {
510
- border-top: 1px solid #eee
511
- }
512
-
513
- .params td.description > p:first-child, .props td.description > p:first-child {
514
- margin-top: 0;
515
- padding-top: 0;
516
- }
517
-
518
- .params td.description > p:last-child, .props td.description > p:last-child {
519
- margin-bottom: 0;
520
- padding-bottom: 0;
521
- }
522
-
523
- span.param-type, .params td .param-type, .param-type dd {
524
- color: #606;
525
- font-family: Consolas, Monaco, 'Andale Mono', monospace
526
- }
527
-
528
- .param-type dt, .param-type dd {
529
- display: inline-block
530
- }
531
-
532
- .param-type {
533
- margin: 14px 0;
534
- }
535
-
536
- .disabled {
537
- color: #454545
538
- }
539
-
540
- /* navicon button */
541
- .navicon-button {
542
- display: none;
543
- position: relative;
544
- padding: 2.0625rem 1.5rem;
545
- transition: 0.25s;
546
- cursor: pointer;
547
- -webkit-user-select: none;
548
- -moz-user-select: none;
549
- -ms-user-select: none;
550
- user-select: none;
551
- opacity: .8;
552
- }
553
- .navicon-button .navicon:before, .navicon-button .navicon:after {
554
- transition: 0.25s;
555
- }
556
- .navicon-button:hover {
557
- transition: 0.5s;
558
- opacity: 1;
559
- }
560
- .navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after {
561
- transition: 0.25s;
562
- }
563
- .navicon-button:hover .navicon:before {
564
- top: .825rem;
565
- }
566
- .navicon-button:hover .navicon:after {
567
- top: -.825rem;
568
- }
569
-
570
- /* navicon */
571
- .navicon {
572
- position: relative;
573
- width: 2.5em;
574
- height: .3125rem;
575
- background: #000;
576
- transition: 0.3s;
577
- border-radius: 2.5rem;
578
- }
579
- .navicon:before, .navicon:after {
580
- display: block;
581
- content: "";
582
- height: .3125rem;
583
- width: 2.5rem;
584
- background: #000;
585
- position: absolute;
586
- z-index: -1;
587
- transition: 0.3s 0.25s;
588
- border-radius: 1rem;
589
- }
590
- .navicon:before {
591
- top: .625rem;
592
- }
593
- .navicon:after {
594
- top: -.625rem;
595
- }
596
-
597
- /* open */
598
- .nav-trigger:checked + label:not(.steps) .navicon:before,
599
- .nav-trigger:checked + label:not(.steps) .navicon:after {
600
- top: 0 !important;
601
- }
602
-
603
- .nav-trigger:checked + label .navicon:before,
604
- .nav-trigger:checked + label .navicon:after {
605
- transition: 0.5s;
606
- }
607
-
608
- /* Minus */
609
- .nav-trigger:checked + label {
610
- -webkit-transform: scale(0.75);
611
- transform: scale(0.75);
612
- }
613
-
614
- /* × and + */
615
- .nav-trigger:checked + label.plus .navicon,
616
- .nav-trigger:checked + label.x .navicon {
617
- background: transparent;
618
- }
619
-
620
- .nav-trigger:checked + label.plus .navicon:before,
621
- .nav-trigger:checked + label.x .navicon:before {
622
- -webkit-transform: rotate(-45deg);
623
- transform: rotate(-45deg);
624
- background: #FFF;
625
- }
626
-
627
- .nav-trigger:checked + label.plus .navicon:after,
628
- .nav-trigger:checked + label.x .navicon:after {
629
- -webkit-transform: rotate(45deg);
630
- transform: rotate(45deg);
631
- background: #FFF;
632
- }
633
-
634
- .nav-trigger:checked + label.plus {
635
- -webkit-transform: scale(0.75) rotate(45deg);
636
- transform: scale(0.75) rotate(45deg);
637
- }
638
-
639
- .nav-trigger:checked ~ nav {
640
- left: 0 !important;
641
- }
642
-
643
- .nav-trigger:checked ~ .overlay {
644
- display: block;
645
- }
646
-
647
- .nav-trigger {
648
- position: fixed;
649
- top: 0;
650
- clip: rect(0, 0, 0, 0);
651
- }
652
-
653
- .overlay {
654
- display: none;
655
- position: fixed;
656
- top: 0;
657
- bottom: 0;
658
- left: 0;
659
- right: 0;
660
- width: 100%;
661
- height: 100%;
662
- background: hsla(0, 0%, 0%, 0.5);
663
- z-index: 1;
664
- }
665
-
666
- /* nav level */
667
- .level-hide {
668
- display: none;
669
- }
670
- html[data-search-mode] .level-hide {
671
- display: block;
672
- }
673
-
674
-
675
- @media only screen and (max-width: 680px) {
676
- body {
677
- overflow-x: hidden;
678
- }
679
-
680
- nav {
681
- background: #FFF;
682
- width: 250px;
683
- height: 100%;
684
- position: fixed;
685
- top: 0;
686
- right: 0;
687
- bottom: 0;
688
- left: -250px;
689
- z-index: 3;
690
- padding: 0 10px;
691
- transition: left 0.2s;
692
- }
693
-
694
- .navicon-button {
695
- display: inline-block;
696
- position: fixed;
697
- top: 1.5em;
698
- right: 0;
699
- z-index: 2;
700
- }
701
-
702
- #main {
703
- width: 100%;
704
- }
705
-
706
- #main h1.page-title {
707
- margin: 1em 0;
708
- }
709
-
710
- #main section {
711
- padding: 0;
712
- }
713
-
714
- footer {
715
- margin-left: 0;
716
- }
717
- }
718
-
719
- /** Add a '#' to static members */
720
- [data-type="member"] a::before {
721
- content: '#';
722
- display: inline-block;
723
- margin-left: -14px;
724
- margin-right: 5px;
725
- }
726
-
727
- #disqus_thread{
728
- margin-left: 30px;
729
- }
730
-
731
- @font-face {
732
- font-family: 'Montserrat';
733
- font-style: normal;
734
- font-weight: 400;
735
- src: url('../fonts/Montserrat/Montserrat-Regular.eot'); /* IE9 Compat Modes */
736
- src: url('../fonts/Montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
737
- url('../fonts/Montserrat/Montserrat-Regular.woff2') format('woff2'), /* Super Modern Browsers */
738
- url('../fonts/Montserrat/Montserrat-Regular.woff') format('woff'), /* Pretty Modern Browsers */
739
- url('../fonts/Montserrat/Montserrat-Regular.ttf') format('truetype'); /* Safari, Android, iOS */
740
- }
741
-
742
- @font-face {
743
- font-family: 'Montserrat';
744
- font-style: normal;
745
- font-weight: 700;
746
- src: url('../fonts/Montserrat/Montserrat-Bold.eot'); /* IE9 Compat Modes */
747
- src: url('../fonts/Montserrat/Montserrat-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
748
- url('../fonts/Montserrat/Montserrat-Bold.woff2') format('woff2'), /* Super Modern Browsers */
749
- url('../fonts/Montserrat/Montserrat-Bold.woff') format('woff'), /* Pretty Modern Browsers */
750
- url('../fonts/Montserrat/Montserrat-Bold.ttf') format('truetype'); /* Safari, Android, iOS */
751
- }
752
-
753
- @font-face {
754
- font-family: 'Source Sans Pro';
755
- src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot');
756
- src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot?#iefix') format('embedded-opentype'),
757
- url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2') format('woff2'),
758
- url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff') format('woff'),
759
- url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf') format('truetype'),
760
- url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg#source_sans_proregular') format('svg');
761
- font-weight: 400;
762
- font-style: normal;
763
- }
764
-
765
- @font-face {
766
- font-family: 'Source Sans Pro';
767
- src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot');
768
- src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot?#iefix') format('embedded-opentype'),
769
- url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2') format('woff2'),
770
- url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff') format('woff'),
771
- url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf') format('truetype'),
772
- url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg#source_sans_prolight') format('svg');
773
- font-weight: 300;
774
- font-style: normal;
775
-
776
- }
1
+ * {
2
+ box-sizing: border-box
3
+ }
4
+
5
+ html, body {
6
+ height: 100%;
7
+ width: 100%;
8
+ }
9
+
10
+ body {
11
+ color: #4d4e53;
12
+ background-color: white;
13
+ margin: 0 auto;
14
+ padding: 0 20px;
15
+ font-family: 'Helvetica Neue', Helvetica, sans-serif;
16
+ font-size: 16px;
17
+ }
18
+
19
+ img {
20
+ max-width: 100%;
21
+ }
22
+
23
+ a,
24
+ a:active {
25
+ color: #606;
26
+ text-decoration: none;
27
+ }
28
+
29
+ a:hover {
30
+ text-decoration: none;
31
+ }
32
+
33
+ article a {
34
+ border-bottom: 1px solid #ddd;
35
+ }
36
+
37
+ article a:hover, article a:active {
38
+ border-bottom-color: #222;
39
+ }
40
+
41
+ article .description a {
42
+ word-break: break-word;
43
+ }
44
+
45
+ p, ul, ol, blockquote {
46
+ margin-bottom: 1em;
47
+ line-height: 160%;
48
+ }
49
+
50
+ h1, h2, h3, h4, h5, h6 {
51
+ font-family: 'Montserrat', sans-serif;
52
+ }
53
+
54
+ h1, h2, h3, h4, h5, h6 {
55
+ color: #000;
56
+ font-weight: 400;
57
+ margin: 0;
58
+ }
59
+
60
+ h1 {
61
+ font-weight: 300;
62
+ font-size: 48px;
63
+ margin: 1em 0 .5em;
64
+ }
65
+
66
+ h1.page-title {
67
+ font-size: 48px;
68
+ margin: 1em 30px;
69
+ line-height: 100%;
70
+ word-wrap: break-word;
71
+ }
72
+
73
+ h2 {
74
+ font-size: 24px;
75
+ margin: 1.5em 0 .3em;
76
+ }
77
+
78
+ h3 {
79
+ font-size: 24px;
80
+ margin: 1.2em 0 .3em;
81
+ }
82
+
83
+ h4 {
84
+ font-size: 18px;
85
+ margin: 1em 0 .2em;
86
+ color: #4d4e53;
87
+ }
88
+
89
+ h4.name {
90
+ color: #fff;
91
+ background: #6d426d;
92
+ box-shadow: 0 .25em .5em #d3d3d3;
93
+ border-top: 1px solid #d3d3d3;
94
+ border-bottom: 1px solid #d3d3d3;
95
+ margin: 1.5em 0 0.5em;
96
+ padding: .75em 0 .75em 10px;
97
+ }
98
+
99
+ h4.name a {
100
+ color: #fc83ff;
101
+ }
102
+
103
+ h4.name a:hover {
104
+ border-bottom-color: #fc83ff;
105
+ }
106
+
107
+ h5, .container-overview .subsection-title {
108
+ font-size: 120%;
109
+ letter-spacing: -0.01em;
110
+ margin: 8px 0 3px 0;
111
+ }
112
+
113
+ h6 {
114
+ font-size: 100%;
115
+ letter-spacing: -0.01em;
116
+ margin: 6px 0 3px 0;
117
+ font-style: italic;
118
+ }
119
+
120
+ .usertext h1 {
121
+ font-family: "Source Sans Pro";
122
+ font-size: 24px;
123
+ margin: 2.5em 0 1em;
124
+ font-weight: 400;
125
+ }
126
+
127
+ .usertext h2 {
128
+ font-family: "Source Sans Pro";
129
+ font-size: 18px;
130
+ margin: 2em 0 0.5em;
131
+ font-weight: 400;
132
+
133
+ }
134
+
135
+ .usertext h3 {
136
+ font-family: "Source Sans Pro";
137
+ font-size: 15px;
138
+ margin: 1.5em 0 0;
139
+ font-weight: 400;
140
+ }
141
+
142
+ .usertext h4 {
143
+ font-family: "Source Sans Pro";
144
+ font-size: 14px;
145
+ margin: 0 0 0;
146
+ font-weight: 400;
147
+ }
148
+
149
+ .usertext h5 {
150
+ font-size: 12px;
151
+ margin: 1em 0 0;
152
+ font-weight: normal;
153
+ color: #666;
154
+ }
155
+
156
+ .usertext h6 {
157
+ font-size: 11px;
158
+ margin: 1em 0 0;
159
+ font-weight: normal;
160
+ font-style: normal;
161
+ color: #666;
162
+ }
163
+
164
+
165
+ tt, code, kbd, samp, pre {
166
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
167
+ background: #f4f4f4;
168
+ }
169
+
170
+ tt, code, kbd, samp{
171
+ padding: 1px 5px;
172
+ }
173
+
174
+ pre {
175
+ padding-bottom: 1em;
176
+ }
177
+
178
+ .class-description {
179
+ font-size: 130%;
180
+ line-height: 140%;
181
+ margin-bottom: 1em;
182
+ margin-top: 1em;
183
+ }
184
+
185
+ .class-description:empty {
186
+ margin: 0
187
+ }
188
+
189
+ #main {
190
+ float: right;
191
+ width: calc(100% - 240px);
192
+ }
193
+
194
+ header {
195
+ display: block
196
+ }
197
+
198
+ section {
199
+ display: block;
200
+ background-color: #fff;
201
+ padding: 0 0 0 30px;
202
+ }
203
+
204
+ .variation {
205
+ display: none
206
+ }
207
+
208
+ .signature-attributes {
209
+ font-size: 60%;
210
+ color: #eee;
211
+ font-style: italic;
212
+ font-weight: lighter;
213
+ }
214
+
215
+ nav {
216
+ float: left;
217
+ display: block;
218
+ width: 250px;
219
+ background: #fff;
220
+ overflow: auto;
221
+ position: fixed;
222
+ height: 100%;
223
+ }
224
+
225
+ nav #nav-search{
226
+ width: 210px;
227
+ height: 30px;
228
+ padding: 5px 10px;
229
+ font-size: 12px;
230
+ line-height: 1.5;
231
+ border-radius: 3px;
232
+ margin-right: 20px;
233
+ margin-top: 20px;
234
+ }
235
+
236
+ nav.wrap a{
237
+ word-wrap: break-word;
238
+ }
239
+
240
+ nav h3 {
241
+ margin-top: 12px;
242
+ font-size: 13px;
243
+ text-transform: uppercase;
244
+ letter-spacing: 1px;
245
+ font-weight: 700;
246
+ line-height: 24px;
247
+ margin: 15px 0 10px;
248
+ padding: 0;
249
+ color: #000;
250
+ }
251
+
252
+ nav h3.collapsed_header {
253
+ cursor: pointer;
254
+ }
255
+
256
+ nav ul {
257
+ font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif;
258
+ font-size: 100%;
259
+ line-height: 17px;
260
+ padding: 0;
261
+ margin: 0;
262
+ list-style-type: none;
263
+ }
264
+
265
+ nav ul a,
266
+ nav ul a:active {
267
+ font-family: 'Montserrat', sans-serif;
268
+ line-height: 18px;
269
+ padding: 0;
270
+ display: block;
271
+ font-size: 12px;
272
+ }
273
+
274
+ nav a:hover,
275
+ nav a:active {
276
+ color: #606;
277
+ }
278
+
279
+ nav > ul {
280
+ padding: 0 10px;
281
+ }
282
+
283
+ nav > ul > li > a {
284
+ color: #606;
285
+ margin-top: 10px;
286
+ }
287
+
288
+ nav ul ul a {
289
+ color: hsl(207, 1%, 60%);
290
+ border-left: 1px solid hsl(207, 10%, 86%);
291
+ }
292
+
293
+ nav ul ul a,
294
+ nav ul ul a:active {
295
+ padding-left: 20px
296
+ }
297
+
298
+ nav h2 {
299
+ font-size: 13px;
300
+ margin: 10px 0 0 0;
301
+ padding: 0;
302
+ }
303
+
304
+ nav > h2 > a {
305
+ margin: 10px 0 -10px;
306
+ color: #606 !important;
307
+ }
308
+
309
+ footer {
310
+ color: hsl(0, 0%, 28%);
311
+ margin-left: 250px;
312
+ display: block;
313
+ padding: 15px;
314
+ font-style: italic;
315
+ font-size: 90%;
316
+ }
317
+
318
+ .ancestors {
319
+ color: #999
320
+ }
321
+
322
+ .ancestors a {
323
+ color: #999 !important;
324
+ }
325
+
326
+ .clear {
327
+ clear: both
328
+ }
329
+
330
+ .important {
331
+ font-weight: bold;
332
+ color: #950B02;
333
+ }
334
+
335
+ .yes-def {
336
+ text-indent: -1000px
337
+ }
338
+
339
+ .type-signature {
340
+ color: #CA79CA
341
+ }
342
+
343
+ .type-signature:last-child {
344
+ color: #eee;
345
+ }
346
+
347
+ .name, .signature {
348
+ font-family: Consolas, Monaco, 'Andale Mono', monospace
349
+ }
350
+
351
+ .signature {
352
+ color: #fc83ff;
353
+ }
354
+
355
+ .details {
356
+ margin-top: 6px;
357
+ border-left: 2px solid #DDD;
358
+ line-height: 20px;
359
+ font-size: 14px;
360
+ }
361
+
362
+ .details dt {
363
+ width: auto;
364
+ float: left;
365
+ padding-left: 10px;
366
+ }
367
+
368
+ .details dd {
369
+ margin-left: 70px;
370
+ margin-top: 6px;
371
+ margin-bottom: 6px;
372
+ }
373
+
374
+ .details ul {
375
+ margin: 0
376
+ }
377
+
378
+ .details ul {
379
+ list-style-type: none
380
+ }
381
+
382
+ .details pre.prettyprint {
383
+ margin: 0
384
+ }
385
+
386
+ .details .object-value {
387
+ padding-top: 0
388
+ }
389
+
390
+ .description {
391
+ margin-bottom: 1em;
392
+ margin-top: 1em;
393
+ }
394
+
395
+ .code-caption {
396
+ font-style: italic;
397
+ font-size: 107%;
398
+ margin: 0;
399
+ }
400
+
401
+ .prettyprint {
402
+ font-size: 14px;
403
+ overflow: auto;
404
+ }
405
+
406
+ .prettyprint.source {
407
+ width: inherit;
408
+ line-height: 18px;
409
+ display: block;
410
+ background-color: #0d152a;
411
+ color: #aeaeae;
412
+ }
413
+
414
+ .prettyprint code {
415
+ line-height: 18px;
416
+ display: block;
417
+ background-color: #0d152a;
418
+ color: #4D4E53;
419
+ }
420
+
421
+ .prettyprint > code {
422
+ padding: 15px;
423
+ }
424
+
425
+ .prettyprint .linenums code {
426
+ padding: 0 15px
427
+ }
428
+
429
+ .prettyprint .linenums li:first-of-type code {
430
+ padding-top: 15px
431
+ }
432
+
433
+ .prettyprint code span.line {
434
+ display: inline-block
435
+ }
436
+
437
+ .prettyprint.linenums {
438
+ padding-left: 70px;
439
+ -webkit-user-select: none;
440
+ -moz-user-select: none;
441
+ -ms-user-select: none;
442
+ user-select: none;
443
+ }
444
+
445
+ .prettyprint.linenums ol {
446
+ padding-left: 0
447
+ }
448
+
449
+ .prettyprint.linenums li {
450
+ border-left: 3px #34446B solid;
451
+ }
452
+
453
+ .prettyprint.linenums li.selected, .prettyprint.linenums li.selected * {
454
+ background-color: #34446B;
455
+ }
456
+
457
+ .prettyprint.linenums li * {
458
+ -webkit-user-select: text;
459
+ -moz-user-select: text;
460
+ -ms-user-select: text;
461
+ user-select: text;
462
+ }
463
+
464
+ .prettyprint.linenums li code:empty:after {
465
+ content:"";
466
+ display:inline-block;
467
+ width:0px;
468
+ }
469
+
470
+ table {
471
+ border-spacing: 0;
472
+ border: 1px solid #ddd;
473
+ border-collapse: collapse;
474
+ border-radius: 3px;
475
+ box-shadow: 0 1px 3px rgba(0,0,0,0.1);
476
+ width: 100%;
477
+ font-size: 14px;
478
+ margin: 1em 0;
479
+ }
480
+
481
+ td, th {
482
+ margin: 0px;
483
+ text-align: left;
484
+ vertical-align: top;
485
+ padding: 10px;
486
+ display: table-cell;
487
+ }
488
+
489
+ thead tr, thead tr {
490
+ background-color: #fff;
491
+ font-weight: bold;
492
+ border-bottom: 1px solid #ddd;
493
+ }
494
+
495
+ .params .type {
496
+ white-space: nowrap;
497
+ }
498
+
499
+ .params code {
500
+ white-space: pre;
501
+ }
502
+
503
+ .params td, .params .name, .props .name, .name code {
504
+ color: #4D4E53;
505
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
506
+ font-size: 100%;
507
+ }
508
+
509
+ .params td {
510
+ border-top: 1px solid #eee
511
+ }
512
+
513
+ .params td.description > p:first-child, .props td.description > p:first-child {
514
+ margin-top: 0;
515
+ padding-top: 0;
516
+ }
517
+
518
+ .params td.description > p:last-child, .props td.description > p:last-child {
519
+ margin-bottom: 0;
520
+ padding-bottom: 0;
521
+ }
522
+
523
+ span.param-type, .params td .param-type, .param-type dd {
524
+ color: #606;
525
+ font-family: Consolas, Monaco, 'Andale Mono', monospace
526
+ }
527
+
528
+ .param-type dt, .param-type dd {
529
+ display: inline-block
530
+ }
531
+
532
+ .param-type {
533
+ margin: 14px 0;
534
+ }
535
+
536
+ .disabled {
537
+ color: #454545
538
+ }
539
+
540
+ /* navicon button */
541
+ .navicon-button {
542
+ display: none;
543
+ position: relative;
544
+ padding: 2.0625rem 1.5rem;
545
+ transition: 0.25s;
546
+ cursor: pointer;
547
+ -webkit-user-select: none;
548
+ -moz-user-select: none;
549
+ -ms-user-select: none;
550
+ user-select: none;
551
+ opacity: .8;
552
+ }
553
+ .navicon-button .navicon:before, .navicon-button .navicon:after {
554
+ transition: 0.25s;
555
+ }
556
+ .navicon-button:hover {
557
+ transition: 0.5s;
558
+ opacity: 1;
559
+ }
560
+ .navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after {
561
+ transition: 0.25s;
562
+ }
563
+ .navicon-button:hover .navicon:before {
564
+ top: .825rem;
565
+ }
566
+ .navicon-button:hover .navicon:after {
567
+ top: -.825rem;
568
+ }
569
+
570
+ /* navicon */
571
+ .navicon {
572
+ position: relative;
573
+ width: 2.5em;
574
+ height: .3125rem;
575
+ background: #000;
576
+ transition: 0.3s;
577
+ border-radius: 2.5rem;
578
+ }
579
+ .navicon:before, .navicon:after {
580
+ display: block;
581
+ content: "";
582
+ height: .3125rem;
583
+ width: 2.5rem;
584
+ background: #000;
585
+ position: absolute;
586
+ z-index: -1;
587
+ transition: 0.3s 0.25s;
588
+ border-radius: 1rem;
589
+ }
590
+ .navicon:before {
591
+ top: .625rem;
592
+ }
593
+ .navicon:after {
594
+ top: -.625rem;
595
+ }
596
+
597
+ /* open */
598
+ .nav-trigger:checked + label:not(.steps) .navicon:before,
599
+ .nav-trigger:checked + label:not(.steps) .navicon:after {
600
+ top: 0 !important;
601
+ }
602
+
603
+ .nav-trigger:checked + label .navicon:before,
604
+ .nav-trigger:checked + label .navicon:after {
605
+ transition: 0.5s;
606
+ }
607
+
608
+ /* Minus */
609
+ .nav-trigger:checked + label {
610
+ -webkit-transform: scale(0.75);
611
+ transform: scale(0.75);
612
+ }
613
+
614
+ /* × and + */
615
+ .nav-trigger:checked + label.plus .navicon,
616
+ .nav-trigger:checked + label.x .navicon {
617
+ background: transparent;
618
+ }
619
+
620
+ .nav-trigger:checked + label.plus .navicon:before,
621
+ .nav-trigger:checked + label.x .navicon:before {
622
+ -webkit-transform: rotate(-45deg);
623
+ transform: rotate(-45deg);
624
+ background: #FFF;
625
+ }
626
+
627
+ .nav-trigger:checked + label.plus .navicon:after,
628
+ .nav-trigger:checked + label.x .navicon:after {
629
+ -webkit-transform: rotate(45deg);
630
+ transform: rotate(45deg);
631
+ background: #FFF;
632
+ }
633
+
634
+ .nav-trigger:checked + label.plus {
635
+ -webkit-transform: scale(0.75) rotate(45deg);
636
+ transform: scale(0.75) rotate(45deg);
637
+ }
638
+
639
+ .nav-trigger:checked ~ nav {
640
+ left: 0 !important;
641
+ }
642
+
643
+ .nav-trigger:checked ~ .overlay {
644
+ display: block;
645
+ }
646
+
647
+ .nav-trigger {
648
+ position: fixed;
649
+ top: 0;
650
+ clip: rect(0, 0, 0, 0);
651
+ }
652
+
653
+ .overlay {
654
+ display: none;
655
+ position: fixed;
656
+ top: 0;
657
+ bottom: 0;
658
+ left: 0;
659
+ right: 0;
660
+ width: 100%;
661
+ height: 100%;
662
+ background: hsla(0, 0%, 0%, 0.5);
663
+ z-index: 1;
664
+ }
665
+
666
+ /* nav level */
667
+ .level-hide {
668
+ display: none;
669
+ }
670
+ html[data-search-mode] .level-hide {
671
+ display: block;
672
+ }
673
+
674
+
675
+ @media only screen and (max-width: 680px) {
676
+ body {
677
+ overflow-x: hidden;
678
+ }
679
+
680
+ nav {
681
+ background: #FFF;
682
+ width: 250px;
683
+ height: 100%;
684
+ position: fixed;
685
+ top: 0;
686
+ right: 0;
687
+ bottom: 0;
688
+ left: -250px;
689
+ z-index: 3;
690
+ padding: 0 10px;
691
+ transition: left 0.2s;
692
+ }
693
+
694
+ .navicon-button {
695
+ display: inline-block;
696
+ position: fixed;
697
+ top: 1.5em;
698
+ right: 0;
699
+ z-index: 2;
700
+ }
701
+
702
+ #main {
703
+ width: 100%;
704
+ }
705
+
706
+ #main h1.page-title {
707
+ margin: 1em 0;
708
+ }
709
+
710
+ #main section {
711
+ padding: 0;
712
+ }
713
+
714
+ footer {
715
+ margin-left: 0;
716
+ }
717
+ }
718
+
719
+ /** Add a '#' to static members */
720
+ [data-type="member"] a::before {
721
+ content: '#';
722
+ display: inline-block;
723
+ margin-left: -14px;
724
+ margin-right: 5px;
725
+ }
726
+
727
+ #disqus_thread{
728
+ margin-left: 30px;
729
+ }
730
+
731
+ @font-face {
732
+ font-family: 'Montserrat';
733
+ font-style: normal;
734
+ font-weight: 400;
735
+ src: url('../fonts/Montserrat/Montserrat-Regular.eot'); /* IE9 Compat Modes */
736
+ src: url('../fonts/Montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
737
+ url('../fonts/Montserrat/Montserrat-Regular.woff2') format('woff2'), /* Super Modern Browsers */
738
+ url('../fonts/Montserrat/Montserrat-Regular.woff') format('woff'), /* Pretty Modern Browsers */
739
+ url('../fonts/Montserrat/Montserrat-Regular.ttf') format('truetype'); /* Safari, Android, iOS */
740
+ }
741
+
742
+ @font-face {
743
+ font-family: 'Montserrat';
744
+ font-style: normal;
745
+ font-weight: 700;
746
+ src: url('../fonts/Montserrat/Montserrat-Bold.eot'); /* IE9 Compat Modes */
747
+ src: url('../fonts/Montserrat/Montserrat-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
748
+ url('../fonts/Montserrat/Montserrat-Bold.woff2') format('woff2'), /* Super Modern Browsers */
749
+ url('../fonts/Montserrat/Montserrat-Bold.woff') format('woff'), /* Pretty Modern Browsers */
750
+ url('../fonts/Montserrat/Montserrat-Bold.ttf') format('truetype'); /* Safari, Android, iOS */
751
+ }
752
+
753
+ @font-face {
754
+ font-family: 'Source Sans Pro';
755
+ src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot');
756
+ src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot?#iefix') format('embedded-opentype'),
757
+ url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2') format('woff2'),
758
+ url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff') format('woff'),
759
+ url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf') format('truetype'),
760
+ url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg#source_sans_proregular') format('svg');
761
+ font-weight: 400;
762
+ font-style: normal;
763
+ }
764
+
765
+ @font-face {
766
+ font-family: 'Source Sans Pro';
767
+ src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot');
768
+ src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot?#iefix') format('embedded-opentype'),
769
+ url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2') format('woff2'),
770
+ url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff') format('woff'),
771
+ url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf') format('truetype'),
772
+ url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg#source_sans_prolight') format('svg');
773
+ font-weight: 300;
774
+ font-style: normal;
775
+
776
+ }