@czi-sds/mcp 0.2.1 → 0.3.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 (50) hide show
  1. package/data/zeroheight-cache.json +5195 -0
  2. package/data/zeroheight-exports/Accordion.md +675 -0
  3. package/data/zeroheight-exports/Banner.md +576 -0
  4. package/data/zeroheight-exports/Borders.md +118 -0
  5. package/data/zeroheight-exports/Buttons.md +2260 -0
  6. package/data/zeroheight-exports/Callout.md +756 -0
  7. package/data/zeroheight-exports/Colors.md +633 -0
  8. package/data/zeroheight-exports/Content-Card.md +162 -0
  9. package/data/zeroheight-exports/Contributing-to-SDS.md +99 -0
  10. package/data/zeroheight-exports/Control-Inputs.md +2066 -0
  11. package/data/zeroheight-exports/Corners.md +112 -0
  12. package/data/zeroheight-exports/Cover-page.md +4 -0
  13. package/data/zeroheight-exports/Dialog.md +1133 -0
  14. package/data/zeroheight-exports/Downloads.md +121 -0
  15. package/data/zeroheight-exports/Drop-Shadows.md +80 -0
  16. package/data/zeroheight-exports/Dropdown-Input.md +1149 -0
  17. package/data/zeroheight-exports/Dropdown-Menu.md +3787 -0
  18. package/data/zeroheight-exports/Element-Status-Tracker.md +268 -0
  19. package/data/zeroheight-exports/Field-Inputs.md +965 -0
  20. package/data/zeroheight-exports/Filters.md +868 -0
  21. package/data/zeroheight-exports/Getting-Started.md +1296 -0
  22. package/data/zeroheight-exports/Hero.md +256 -0
  23. package/data/zeroheight-exports/Icons.md +432 -0
  24. package/data/zeroheight-exports/Intent.md +47 -0
  25. package/data/zeroheight-exports/Introduction-to-Bases.md +36 -0
  26. package/data/zeroheight-exports/Introduction-to-Cells.md +36 -0
  27. package/data/zeroheight-exports/Introduction-to-DNA.md +36 -0
  28. package/data/zeroheight-exports/Introduction-to-Genes.md +36 -0
  29. package/data/zeroheight-exports/Introduction.md +116 -0
  30. package/data/zeroheight-exports/Link.md +373 -0
  31. package/data/zeroheight-exports/Lists.md +617 -0
  32. package/data/zeroheight-exports/Loading-Indicator.md +38 -0
  33. package/data/zeroheight-exports/Navigation.md +853 -0
  34. package/data/zeroheight-exports/Notification.md +858 -0
  35. package/data/zeroheight-exports/Panel.md +862 -0
  36. package/data/zeroheight-exports/README.md +124 -0
  37. package/data/zeroheight-exports/Responsive-Design.md +275 -0
  38. package/data/zeroheight-exports/Search-Input.md +54 -0
  39. package/data/zeroheight-exports/Search.md +609 -0
  40. package/data/zeroheight-exports/Segmented-Control.md +561 -0
  41. package/data/zeroheight-exports/Spacing.md +298 -0
  42. package/data/zeroheight-exports/Table.md +4832 -0
  43. package/data/zeroheight-exports/Tabs.md +773 -0
  44. package/data/zeroheight-exports/Tags.md +1025 -0
  45. package/data/zeroheight-exports/Text-Link.md +185 -0
  46. package/data/zeroheight-exports/Theming.md +313 -0
  47. package/data/zeroheight-exports/Tooltips.md +1564 -0
  48. package/data/zeroheight-exports/Typography.md +769 -0
  49. package/dist/stdio.js +515 -12
  50. package/package.json +4 -3
@@ -0,0 +1,576 @@
1
+ # Banners
2
+
3
+ Banners are used to communicate product status updates to users, allowing the product teams to provide important information to their users.
4
+
5
+ ## Overview
6
+
7
+ ## Banner Variants
8
+
9
+ | Banners are meant to communicate product status updates to users such as system maintenance, new features, known product bugs or issues. etc. and are not meant to be used in response to an action the user has taken within the product. Use a Callout or Notification for these purposes. There are two Banner variants meant to be used in an alternating manner, allowing multiple Banners to be stacked together while maintaining the ability to differentiate between them. Both Banner variants can optionally be set to be manually dismissible by the user, allowing them to hide the Banner from view once it has been read. Banners span the full width of the page. Follow the usage criteria accompanying each variant as a guide for selecting the correct Banner for any given use case. | | **Jump to variant:** Primary Secondary |
10
+ | --- | --- | --- |
11
+
12
+ ---
13
+
14
+ ## Banner
15
+
16
+ | | In Figma | | | Meets Accessibility | | | In CZ ID Codebase |
17
+ | --- | --- | --- | --- | --- | --- | --- | --- |
18
+
19
+ ### Primary Banner
20
+
21
+ Use this variant in instances where only one Banner will be used on the page. If using multiple, this should be the first or top Banner used, followed by the secondary variant. Continue alternating variants for as many Banners as are needed. This ensures the Banners can be differentiated without the need for space or divider lines between them.
22
+
23
+ If additional context or information is needed beyond the space available on the Banner, it is recommended that a Link to an additional page with this information is included.
24
+
25
+ When the information being communicated on the Banner is intended to remain persistent on the screen and is not manually dismissible by the user, use a persistent Banner. To allow the user to manually dismiss the Banner, use a dismissible Banner.
26
+
27
+  
28
+
29
+ ---
30
+
31
+ ---
32
+
33
+ ### Secondary Banner
34
+
35
+ Use only when accompanied by the primary variant. If using multiple, this should be the second Banner used, followed by the primary variant. Continue alternating variants for as many Banners as are needed. This ensures the Banners can be differentiated without the need for space or divider lines between them.
36
+
37
+ If additional context or information is needed beyond the space available on the Banner, it is recommended that a Link to an additional page with this information is included.
38
+
39
+ When the information being communicated on the Banner is intended to remain persistent on the screen and is not manually dismissible by the user, use a persistent Banner. To allow the user to manually dismiss the Banner, use a dismissible Banner.
40
+
41
+ ---
42
+
43
+ ---
44
+
45
+ ---
46
+
47
+ ### Banner Spacing
48
+
49
+ These rules establish how much margin should exist between and around elements.
50
+
51
+ ## Code
52
+
53
+ ## Banner Component
54
+
55
+ | Below you will find an interactive Storybook iframe for Banners. Tabs within each iframe provide a different set of tools: The Controls tab allows you to see and adjust all available props. The Actions tab shows you data displayed by event handler arguments. | | **Jump to component:** Banner |
56
+ | --- | --- | --- |
57
+
58
+ ---
59
+
60
+ ### Banner
61
+
62
+ Storybook
63
+
64
+ ---
65
+
66
+ Banners are used to communicate product status updates to users, allowing the product teams to provide important information to their users.
67
+
68
+ ## Guidelines
69
+
70
+ ## Overview
71
+
72
+ | | In Figma | | | Meets Accessibility | | | In Code |
73
+ | --- | --- | --- | --- | --- | --- | --- | --- |
74
+
75
+ ### Banner Variants
76
+
77
+ Banners communicate product status updates such as system maintenance, new features, known product bugs or issues. etc. and should not be used to respond to actions the user has taken within the product; use a Callout or Notification for these purposes.
78
+
79
+ There are two Banner variants: a primary Banner if only one Banner is needed and a secondary Banner if two or more Banners need to be shown at one time. This allows multiple Banners to be stacked together while maintaining the ability to differentiate between them.
80
+
81
+ Both Banner variants can optionally be set to be manually dismissible by the user, allowing them to hide the Banner from view once it has been read.
82
+
83
+ Banners span the full width of the page.
84
+
85
+ ---
86
+
87
+ ### Live Instance
88
+
89
+ Interact with the live instance below and adjust the available props to better conceptualize how it will appear in product:
90
+
91
+ Default
92
+
93
+ ---
94
+
95
+ ### Banner – Primary
96
+
97
+ Use Banner – Primary in instances where only one Banner will be used on the page. If using multiple, it should be the first or top Banner used, followed by the secondary variant. Continue alternating variants for as many Banners as are needed. This ensures the Banners can be differentiated without the need for space or divider lines between them.
98
+
99
+ If additional context or information is needed beyond the space available on the Banner, it is recommended that a Link to an additional page with this information is included on the Banner which can be inserted using the optional content slot.
100
+
101
+ When the information being communicated on the Banner is intended to remain persistent on the screen and is not manually dismissible by the user, use a persistent Banner. To allow the user to manually dismiss the Banner, use a dismissible Banner.
102
+
103
+ | Default (Persistent) | Default (Dismissible) | Hover (Dismissible) |
104
+ | --- | --- | --- |
105
+
106
+ ---
107
+
108
+ ### Banner – Secondary
109
+
110
+ Use only when accompanied by the primary variant. If using multiple, Banner – Secondary should be the second Banner used, followed by the primary variant. Continue alternating variants for as many Banners as are needed. This ensures the Banners can be differentiated without the need for space or divider lines between them.
111
+
112
+ If additional context or information is needed beyond the space available on the Banner, it is recommended that a Link to an additional page with this information is included on the Banner which can be inserted using the optional content slot.
113
+
114
+ When the information being communicated on the Banner is intended to remain persistent on the screen and is not manually dismissible by the user, use a persistent Banner. To allow the user to manually dismiss the Banner, use a dismissible Banner.
115
+
116
+ | Default (Persistent) | Default (Dismissible) | Hover (Dismissible) |
117
+ | --- | --- | --- |
118
+
119
+ ---
120
+
121
+ ### Banner Spacing
122
+
123
+ These rules establish how much margin should exist between and around elements.
124
+
125
+ ---
126
+
127
+ ### Intent Variations
128
+
129
+ There are four different intents that Banners can communicate: Info, Negative, Notice, and Positive. Each intent is communicated using color and iconography.
130
+
131
+ Each intent is demonstrated below using the Dismissible variant for reference. Regardless of variant, the colors and icons used are the same.
132
+
133
+ #### Primary
134
+
135
+ | Info | Negative | Notice | Positive |
136
+ | --- | --- | --- | --- |
137
+
138
+ #### Secondary
139
+
140
+ | Info | Negative | Notice | Positive |
141
+ | --- | --- | --- | --- |
142
+
143
+ ## Code
144
+
145
+ >**Note:** The code examples below must install dependencies before displaying and may take extra time to load
146
+
147
+ ## Banner
148
+
149
+ ### SDS Source Code
150
+
151
+ The component's source code in the SDS codebase can be found here.
152
+
153
+ ### Props
154
+
155
+ Any custom SDS props and MUI props required for implementation are found on the table below. See the MUI documentation for additional optional props.
156
+
157
+ | Name | Type | Default | Description |
158
+ | --- | --- | --- | --- |
159
+ | `dismissed` | `bool` | `false` | If `true`, the banner has been dismissed by the user. |
160
+ | `dismissible` | `bool` | `true` | If `true`, the banner can be dismissed by the user. |
161
+ | `sdsType` | `"primary"` `| "secondary"` | `primary` | The `primary` variant has a `400` background color and white text color. The `secondary` variant has a `100` background color and `primary` text color. |
162
+ | `icon` | `ReactNode` | `-` | The icon to be displayed within the banner. If not provided, a`InfoCircle` icon will be displayed. |
163
+ | `sdsIconProps` | `Partial<IconProps>` | `-` | Additional props to be passed to the icon component. |
164
+ | `onClose` | `fn` | `-` | Callback fired when the component requests to be closed. When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked. **Signature:**`function(event: React.SyntheticEvent) => void` `event`. The event source of the callback. |
165
+
166
+ ### Code examples
167
+
168
+ #### Default Banner
169
+
170
+ This example has the minimum props needed for the `Banner` component.
171
+
172
+ **/styles.css**
173
+
174
+ ```css
175
+ body {
176
+ font-size: 13px;
177
+ font-weight: 400;
178
+ letter-spacing: 0.08px;
179
+ line-height: 20px;
180
+ text-transform: none;
181
+ font-family: "Inter", sans-serif;
182
+ }
183
+
184
+ h1 {
185
+ font-size: 1.5rem;
186
+ }
187
+
188
+ .app {
189
+ padding: 20px;
190
+ }
191
+ ```
192
+
193
+ **tsconfig.json**
194
+
195
+ ```json
196
+ {
197
+ "include": [
198
+ "./**/*"
199
+ ],
200
+ "compilerOptions": {
201
+ "strict": true,
202
+ "esModuleInterop": true,
203
+ "lib": [ "dom", "es2015" ],
204
+ "jsx": "react-jsx"
205
+ }
206
+ }
207
+ ```
208
+
209
+ **/App.tsx**
210
+
211
+ ```tsx
212
+ import { Banner } from "@czi-sds/components";
213
+ import "./styles.css";
214
+
215
+ function App() {
216
+ return (
217
+ <div className="app">
218
+ <Banner sdsType="primary">
219
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
220
+ </Banner>
221
+ </div>
222
+ );
223
+ }
224
+
225
+ export default App;
226
+ ```
227
+
228
+ **/index.tsx**
229
+
230
+ ```tsx
231
+ import React from "react";
232
+ import { createRoot } from "react-dom/client";
233
+ import { ThemeProvider as EmotionThemeProvider } from "@emotion/react";
234
+ import { StyledEngineProvider, ThemeProvider } from "@mui/material/styles";
235
+ import { Theme } from "@czi-sds/components";
236
+ import CssBaseline from "@mui/material/CssBaseline";
237
+ import useMediaQuery from "@mui/material/useMediaQuery";
238
+
239
+ import App from "./App";
240
+
241
+ const container = document.getElementById("root");
242
+ const root = createRoot(container!);
243
+
244
+ const RootApp = () => {
245
+ const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
246
+ const theme = prefersDarkMode ? Theme("dark") : Theme("light");
247
+
248
+ return (
249
+ <StyledEngineProvider injectFirst>
250
+ <ThemeProvider theme={theme}>
251
+ <EmotionThemeProvider theme={theme}>
252
+ <CssBaseline />
253
+ <App />
254
+ </EmotionThemeProvider>
255
+ </ThemeProvider>
256
+ </StyledEngineProvider>
257
+ );
258
+ };
259
+
260
+ root.render(
261
+ <React.StrictMode>
262
+ <RootApp />
263
+ </React.StrictMode>
264
+ );
265
+
266
+ ```
267
+
268
+ **/public/index.html**
269
+
270
+ ```html
271
+ <!DOCTYPE html>
272
+ <html lang="en">
273
+ <head>
274
+ <meta charset="UTF-8" />
275
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
276
+ <title>Banner</title>
277
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
278
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
279
+ <link
280
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
281
+ rel="stylesheet"
282
+ />
283
+ <link
284
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
285
+ rel="stylesheet"
286
+ />
287
+ </head>
288
+ <body>
289
+ <div id="root"></div>
290
+ </body>
291
+ </html>
292
+
293
+ ```
294
+
295
+ **/package.json**
296
+
297
+ ```json
298
+ {"dependencies":{"react":"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},"devDependencies":{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0","typescript":"^4.0.0"},"main":"/index.tsx"}
299
+ ```
300
+
301
+ ---
302
+
303
+ #### Persistent Banner
304
+
305
+ This example showcases a `Banner` component that cannot be closed or dismissed.
306
+
307
+ **/styles.css**
308
+
309
+ ```css
310
+ body {
311
+ font-size: 13px;
312
+ font-weight: 400;
313
+ letter-spacing: 0.08px;
314
+ line-height: 20px;
315
+ text-transform: none;
316
+ font-family: "Inter", sans-serif;
317
+ }
318
+
319
+ h1 {
320
+ font-size: 1.5rem;
321
+ }
322
+
323
+ .app {
324
+ padding: 20px;
325
+ }
326
+ ```
327
+
328
+ **tsconfig.json**
329
+
330
+ ```json
331
+ {
332
+ "include": [
333
+ "./**/*"
334
+ ],
335
+ "compilerOptions": {
336
+ "strict": true,
337
+ "esModuleInterop": true,
338
+ "lib": [ "dom", "es2015" ],
339
+ "jsx": "react-jsx"
340
+ }
341
+ }
342
+ ```
343
+
344
+ **/App.tsx**
345
+
346
+ ```tsx
347
+ import { Banner } from "@czi-sds/components";
348
+ import "./styles.css";
349
+
350
+ function App() {
351
+ return (
352
+ <div className="app">
353
+ <Banner sdsType="primary" dismissible={false}>
354
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
355
+ </Banner>
356
+ </div>
357
+ );
358
+ }
359
+
360
+ export default App;
361
+ ```
362
+
363
+ **/index.tsx**
364
+
365
+ ```tsx
366
+ import React from "react";
367
+ import { createRoot } from "react-dom/client";
368
+ import { ThemeProvider as EmotionThemeProvider } from "@emotion/react";
369
+ import { StyledEngineProvider, ThemeProvider } from "@mui/material/styles";
370
+ import { Theme } from "@czi-sds/components";
371
+ import CssBaseline from "@mui/material/CssBaseline";
372
+ import useMediaQuery from "@mui/material/useMediaQuery";
373
+
374
+ import App from "./App";
375
+
376
+ const container = document.getElementById("root");
377
+ const root = createRoot(container!);
378
+
379
+ const RootApp = () => {
380
+ const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
381
+ const theme = prefersDarkMode ? Theme("dark") : Theme("light");
382
+
383
+ return (
384
+ <StyledEngineProvider injectFirst>
385
+ <ThemeProvider theme={theme}>
386
+ <EmotionThemeProvider theme={theme}>
387
+ <CssBaseline />
388
+ <App />
389
+ </EmotionThemeProvider>
390
+ </ThemeProvider>
391
+ </StyledEngineProvider>
392
+ );
393
+ };
394
+
395
+ root.render(
396
+ <React.StrictMode>
397
+ <RootApp />
398
+ </React.StrictMode>
399
+ );
400
+
401
+ ```
402
+
403
+ **/public/index.html**
404
+
405
+ ```html
406
+ <!DOCTYPE html>
407
+ <html lang="en">
408
+ <head>
409
+ <meta charset="UTF-8" />
410
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
411
+ <title>Banner</title>
412
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
413
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
414
+ <link
415
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
416
+ rel="stylesheet"
417
+ />
418
+ <link
419
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
420
+ rel="stylesheet"
421
+ />
422
+ </head>
423
+ <body>
424
+ <div id="root"></div>
425
+ </body>
426
+ </html>
427
+
428
+ ```
429
+
430
+ **/package.json**
431
+
432
+ ```json
433
+ {"dependencies":{"react":"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},"devDependencies":{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0","typescript":"^4.0.0"},"main":"/index.tsx"}
434
+ ```
435
+
436
+ ---
437
+
438
+ #### Banner with a custom background color
439
+
440
+ This example shows how to implement a `Banner` component with a custom background color. 
441
+
442
+ **/styles.css**
443
+
444
+ ```css
445
+ body {
446
+ font-size: 13px;
447
+ font-weight: 400;
448
+ letter-spacing: 0.08px;
449
+ line-height: 20px;
450
+ text-transform: none;
451
+ font-family: "Inter", sans-serif;
452
+ }
453
+
454
+ h1 {
455
+ font-size: 1.5rem;
456
+ }
457
+
458
+ .app {
459
+ padding: 20px;
460
+ }
461
+ ```
462
+
463
+ **tsconfig.json**
464
+
465
+ ```json
466
+ {
467
+ "include": [
468
+ "./**/*"
469
+ ],
470
+ "compilerOptions": {
471
+ "strict": true,
472
+ "esModuleInterop": true,
473
+ "lib": [ "dom", "es2015" ],
474
+ "jsx": "react-jsx"
475
+ }
476
+ }
477
+ ```
478
+
479
+ **/App.tsx**
480
+
481
+ ```tsx
482
+ import { styled } from "@mui/material/styles";
483
+ import { Banner } from "@czi-sds/components";
484
+ import "./styles.css";
485
+
486
+ function App() {
487
+ const StyledBanner = styled(Banner)`
488
+ background-color: Crimson;
489
+ `;
490
+ return (
491
+ <div className="app">
492
+ <StyledBanner sdsType="primary">
493
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
494
+ </StyledBanner>
495
+ </div>
496
+ );
497
+ }
498
+
499
+ export default App;
500
+ ```
501
+
502
+ **/index.tsx**
503
+
504
+ ```tsx
505
+ import React from "react";
506
+ import { createRoot } from "react-dom/client";
507
+ import { ThemeProvider as EmotionThemeProvider } from "@emotion/react";
508
+ import { StyledEngineProvider, ThemeProvider } from "@mui/material/styles";
509
+ import { Theme } from "@czi-sds/components";
510
+ import CssBaseline from "@mui/material/CssBaseline";
511
+ import useMediaQuery from "@mui/material/useMediaQuery";
512
+
513
+ import App from "./App";
514
+
515
+ const container = document.getElementById("root");
516
+ const root = createRoot(container!);
517
+
518
+ const RootApp = () => {
519
+ const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
520
+ const theme = prefersDarkMode ? Theme("dark") : Theme("light");
521
+
522
+ return (
523
+ <StyledEngineProvider injectFirst>
524
+ <ThemeProvider theme={theme}>
525
+ <EmotionThemeProvider theme={theme}>
526
+ <CssBaseline />
527
+ <App />
528
+ </EmotionThemeProvider>
529
+ </ThemeProvider>
530
+ </StyledEngineProvider>
531
+ );
532
+ };
533
+
534
+ root.render(
535
+ <React.StrictMode>
536
+ <RootApp />
537
+ </React.StrictMode>
538
+ );
539
+
540
+ ```
541
+
542
+ **/public/index.html**
543
+
544
+ ```html
545
+ <!DOCTYPE html>
546
+ <html lang="en">
547
+ <head>
548
+ <meta charset="UTF-8" />
549
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
550
+ <title>Banner</title>
551
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
552
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
553
+ <link
554
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
555
+ rel="stylesheet"
556
+ />
557
+ <link
558
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
559
+ rel="stylesheet"
560
+ />
561
+ </head>
562
+ <body>
563
+ <div id="root"></div>
564
+ </body>
565
+ </html>
566
+
567
+ ```
568
+
569
+ **/package.json**
570
+
571
+ ```json
572
+ {"dependencies":{"react":"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},"devDependencies":{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0","typescript":"^4.0.0"},"main":"/index.tsx"}
573
+ ```
574
+
575
+ ---
576
+
@@ -0,0 +1,118 @@
1
+ # Borders
2
+
3
+ Borders are the lines that go around elements to help contain them while visually communicating to users an element's usage, status, or intent.
4
+
5
+ ### Types of Borders
6
+
7
+ | **Visual** | | **Border Type** | | **Usage** |
8
+ | --- | --- | --- | --- | --- |
9
+ | | | Standard Border | | Base style for all borders. Borders are used on secondary buttons, input fields, modals, dropdown menus, etc. |
10
+ | | | Dashed Border | | Dashed borders are used in file upload/drag and drop containers and Dashed Links. |
11
+
12
+ ### Base Borders
13
+
14
+ These borders are used throughout the SDS whenever borders in Base colors are needed.
15
+
16
+ | **Visual** | | **Usage** | | **CSS / SCSS Variables** | | **Value** |
17
+ | --- | --- | --- | --- | --- | --- | --- |
18
+ | | | Default | | `--sds-border-base-default` `$sds-border-base-default` | | `1px solid #999999` |
19
+ | | | Hover | | `--sds-border-base-hover` `$sds-border-base-hover` | | `1px solid #000000` |
20
+ | | | Disabled | | `--sds-border-base-disabled` `$sds-border-base-disabled` | | `1px solid #cccccc` |
21
+ | | | Table borders only | | `--sds-border-base-table` `$sds-border-base-table` | | `1px solid #cccccc` |
22
+ | | | Dividers only (`<hr>`) | | `--sds-border-base-divider` `$sds-border-base-divider` | | `1px solid #eaeaea` |
23
+
24
+ ### Link Borders
25
+
26
+ Use this border type when implementing links with a dashed underline.
27
+
28
+ | **Visual** | | **Usage** | | **CSS / SCSS Variables** | | **Value** |
29
+ | --- | --- | --- | --- | --- | --- | --- |
30
+ | | | Dashed link (default state) | | `--sds-border-link-dashed` `$sds-border-link-dashed` | | `1px dashed` |
31
+ | | | Dashed link (hover and pressed states) | | `--sds-border-link-solid` `$sds-border-link-solid` | | `1px solid` |
32
+
33
+ ### Accent Borders
34
+
35
+ These borders are used throughout the SDS whenever borders in Accent colors are needed.
36
+
37
+ | **Visual** | | **Usage** | | **CSS / SCSS Variables** | | **Value** |
38
+ | --- | --- | --- | --- | --- | --- | --- |
39
+ | | | Default | | `--sds-border-accent-default` `$sds-border-accent-default` | | `1px solid #0b68f8` |
40
+ | | | Hover | | `--sds-border-accent-hover` `$sds-border-accent-hover` | | `1px solid #0142a4` |
41
+ | | | Disabled | | `--sds-border-accent-disabled` `$sds-border-accent-disabled` | | `1px solid #a6c9ff` |
42
+ | | | Default (dashed) | | `--sds-border-accent-dashed` `$sds-border-accent-dashed` | | `1px dashed #0b68f8` |
43
+
44
+ ### Intent Borders
45
+
46
+ These borders are used on elements when needing to communicate a specific intent as indicated in the *Intent* column.
47
+
48
+ | **Visual** | | **Intent** | | **CSS / SCSS Variables** | | **Value** |
49
+ | --- | --- | --- | --- | --- | --- | --- |
50
+ | | | Beta | | `--sds-border-beta-default` `$sds-border-beta-default` | | `1px solid #7a41ce` |
51
+ | | | Info | | `--sds-border-info-default` `$sds-border-info-default` | | `1px solid #0b68f8` |
52
+ | | | Negative | | `--sds-border-negative-default` `$sds-border-negative-default` | | `1px solid #dc132c` |
53
+ | | | Neutral | | `--sds-border-neutral-default` `$sds-border-neutral-default` | | `1px solid #999999` |
54
+ | | | Notice | | `--sds-border-notice-default` `$sds-border-notice-default` | | `1px solid #f5a623` |
55
+ | | | Positive | | `--sds-border-positive-default` `$sds-border-positive-default` | | `1px solid #3cb371` |
56
+
57
+ ---
58
+
59
+ Borders are the lines that go around elements to help contain them while visually communicating to users an element's usage, status, or intent.
60
+
61
+ ### Types of Borders
62
+
63
+ | **Visual** | | **Border Type** | | **Usage** |
64
+ | --- | --- | --- | --- | --- |
65
+ | | | Standard Border | | Base style for all borders. Borders are used on secondary buttons, input fields, modals, dropdown menus, etc. |
66
+ | | | Dashed Border | | Dashed borders are used in file upload/drag and drop containers and Dashed Text Links. |
67
+
68
+ ### Border Variables
69
+
70
+ | **Visual** | | **Variable** | | **Value** | | **Usage** |
71
+ | --- | --- | --- | --- | --- | --- | --- |
72
+ | | | `borderPrimary600` | | `1px solid primary600;` | | Active rounded and square buttons |
73
+ | | | `borderPrimary500` | | `1px solid primary500;` | | Hover rounded and square buttons |
74
+ | | | `borderPrimary400` | | `1px solid primary400;` | | Secondary buttons, active states of input containers |
75
+ | | | `borderGray500` | | `1px solid gray500;` | | Input and dropdown hover states |
76
+ | | | `borderGray400` | | `1px solid gray400;` | | Input borders (default states) |
77
+ | | | `borderGray300` | | `1px solid gray300;` | | Disabled or non-interactive containers (buttons/inputs/tooltips) |
78
+ | | | `borderGray200` | | `1px solid gray200;` | | |
79
+ | | | `borderGray100` | | `1px solid gray100;` | | Modals and dropdown Menus |
80
+ | | | `borderSuccess400` | | `1px solid success400;` | | |
81
+ | | | `borderError400` | | `1px solid error500;` | | |
82
+ | | | `borderWarning400` | | `1px solid warning500;` | | Warning state on inputs |
83
+ | | | `borderGray400Dashed` | | `2px dashed gray400;` | | File upload/drag and drop containers |
84
+ | | | `borderPrimary400Dashed` | | `2px dashed primary400;` | | Hover states for containers with dashed borders |
85
+ | | | `borderLinkDashed` | | `1px dashed;` | | Default bottom-border for Dashed Text Links; border color is inherited from the color used in the paragraph it is part of. |
86
+ | | | `borderLinkSolid` | | `1px solid;` | | Hover and Pressed bottom-border for Dashed Text Links; border color is inherited from the color used in the paragraph it is part of. |
87
+
88
+ ---
89
+
90
+ Borders are the lines that go around elements to help contain them while visually communicating to users an element's usage, status, or intent.
91
+
92
+ ### Types of Borders
93
+
94
+ | **Visual** | | **Border Type** | | **Usage** |
95
+ | --- | --- | --- | --- | --- |
96
+ | | | Standard Border | | Base style for all borders. Borders are used on secondary buttons, input fields, modals, dropdown menus, etc. |
97
+ | | | Dashed Border | | Dashed borders are used in file upload/drag and drop containers and Dashed Text Links. |
98
+
99
+ ### Border Variables
100
+
101
+ | **Visual** | | **Variable** | | **Value** | | **Usage** |
102
+ | --- | --- | --- | --- | --- | --- | --- |
103
+ | | | `borderPrimary600` | | `1px solid primary600;` | | Active rounded and square buttons |
104
+ | | | `borderPrimary500` | | `1px solid primary500;` | | Hover rounded and square buttons |
105
+ | | | `borderPrimary400` | | `1px solid primary400;` | | Secondary buttons, active states of input containers |
106
+ | | | `borderGray500` | | `1px solid gray500;` | | Input and dropdown hover states |
107
+ | | | `borderGray400` | | `1px solid gray400;` | | Input borders (default states) |
108
+ | | | `borderGray300` | | `1px solid gray300;` | | Disabled or non-interactive containers (buttons/inputs/tooltips) |
109
+ | | | `borderGray200` | | `1px solid gray200;` | | |
110
+ | | | `borderGray100` | | `1px solid gray100;` | | Modals and dropdown Menus |
111
+ | | | `borderSuccess400` | | `1px solid success400;` | | |
112
+ | | | `borderError400` | | `1px solid error500;` | | |
113
+ | | | `borderWarning400` | | `1px solid warning500;` | | Warning state on inputs |
114
+ | | | `borderGray400Dashed` | | `2px dashed gray400;` | | File upload/drag and drop containers |
115
+ | | | `borderPrimary400Dashed` | | `2px dashed primary400;` | | Hover states for containers with dashed borders |
116
+ | | | `borderLinkDashed` | | `1px dashed;` | | Default bottom-border for Dashed Text Links; border color is inherited from the color used in the paragraph it is part of. |
117
+ | | | `borderLinkSolid` | | `1px solid;` | | Hover and Pressed bottom-border for Dashed Text Links; border color is inherited from the color used in the paragraph it is part of. |
118
+