@mintlify/components 0.3.14 → 0.4.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 (60) hide show
  1. package/README.md +22 -123
  2. package/dist/components/badge/badge.css +1 -0
  3. package/dist/components/badge/badge.js +52 -0
  4. package/dist/components/icon/icon.css +1 -0
  5. package/dist/components/icon/icon.js +47 -0
  6. package/dist/index.d.ts +401 -17
  7. package/dist/index.js +12 -2
  8. package/dist/styles/design-tokens.js +339 -0
  9. package/dist/styles/theme.css +1 -0
  10. package/dist/utils/cn.js +7 -0
  11. package/package.json +62 -89
  12. package/.eslintrc.json +0 -11
  13. package/.github/dependabot.yml +0 -10
  14. package/.github/workflows/chromatic.yaml +0 -27
  15. package/.github/workflows/code-style-checks.yaml +0 -13
  16. package/.github/workflows/sanity.yml +0 -13
  17. package/.husky/pre-commit +0 -4
  18. package/.prettierignore +0 -49
  19. package/.prettierrc +0 -1
  20. package/CODEOWNERS +0 -1
  21. package/LICENSE +0 -21
  22. package/dist/Accordion/Accordion.d.ts +0 -18
  23. package/dist/Accordion/AccordionCover.d.ts +0 -10
  24. package/dist/Accordion/AccordionGroup.d.ts +0 -5
  25. package/dist/Accordion/getAccordionStyleFromType.d.ts +0 -5
  26. package/dist/Accordion/index.d.ts +0 -3
  27. package/dist/Api/ApiPlayground.d.ts +0 -22
  28. package/dist/Api/BaseUrlDropdown.d.ts +0 -9
  29. package/dist/Api/RequestMethodBubble.d.ts +0 -4
  30. package/dist/Api/RequestPathHeader.d.ts +0 -13
  31. package/dist/Api/index.d.ts +0 -4
  32. package/dist/Api/inputs/AddArrayItemButton.d.ts +0 -4
  33. package/dist/Api/inputs/ApiInput.d.ts +0 -15
  34. package/dist/Api/inputs/InputDropdown.d.ts +0 -5
  35. package/dist/Api/types.d.ts +0 -16
  36. package/dist/AppearFromTop.d.ts +0 -6
  37. package/dist/Button.d.ts +0 -42
  38. package/dist/Callouts.d.ts +0 -10
  39. package/dist/Card.d.ts +0 -33
  40. package/dist/CardGroup.d.ts +0 -5
  41. package/dist/Code/CodeBlock.d.ts +0 -19
  42. package/dist/Code/CodeGroup.d.ts +0 -29
  43. package/dist/Code/CopyToClipboardButton.d.ts +0 -7
  44. package/dist/Code/index.d.ts +0 -4
  45. package/dist/Expandable/Expandable.d.ts +0 -9
  46. package/dist/Expandable/ExpandableCover.d.ts +0 -11
  47. package/dist/Expandable/index.d.ts +0 -2
  48. package/dist/Frame.d.ts +0 -14
  49. package/dist/Param.d.ts +0 -14
  50. package/dist/PillSelect.d.ts +0 -11
  51. package/dist/Tabs/Tab.d.ts +0 -6
  52. package/dist/Tabs/Tabs.d.ts +0 -4
  53. package/dist/Tabs/index.d.ts +0 -3
  54. package/dist/Tooltip.d.ts +0 -5
  55. package/dist/index.js.LICENSE.txt +0 -9
  56. package/dist/main.css +0 -1
  57. package/dist/utils/apiPlaygroundColors.d.ts +0 -4
  58. package/dist/utils/copyToClipboard.d.ts +0 -2
  59. package/dist/utils/delay.d.ts +0 -1
  60. package/dist/utils/getNodeText.d.ts +0 -1
package/README.md CHANGED
@@ -1,142 +1,41 @@
1
- <div align="center">
2
- <a href="https://mintlify.com">
3
- <img
4
- src="https://res.cloudinary.com/mintlify/image/upload/v1665385627/logo-rounded_zuk7q1.svg"
5
- alt="Mintlify Logo"
6
- height="64"
7
- />
8
- </a>
9
- <br />
10
- <p>
11
- <h3>
12
- <b>
13
- Mintlify Components
14
- </b>
15
- </h3>
16
- </p>
17
- <p>
18
- <b>
19
- Open-source library of UI components made with React and TailwindCSS.
20
- </b>
21
- </p>
22
- <p>
1
+ # @mintlify-components/react
23
2
 
24
- [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen?logo=github)](/) [![Website](https://img.shields.io/website?url=https%3A%2F%2Fmintlify.com&logo=mintlify)](https://mintlify.com)
3
+ Headless UI components for Mintlify with optional styling. Built with React, TypeScript, and Tailwind CSS.
25
4
 
26
- </p>
27
- <p>
28
- <sub>
29
- Built with 💚 by
30
- <a href="https://mintlify.com">
31
- Mintlify
32
- </a>
33
- </sub>
34
- </p>
35
- <br />
36
- <p>
37
- <a href="https://mintlify.com" target="_blank">
38
- <img
39
- src="https://mintlify-assets.b-cdn.net/website/mintlify-preview.png"
40
- alt="Mintlify"
41
- width="100%"
42
- />
43
- </a>
44
- </p>
45
- </div>
5
+ ## Requirements
46
6
 
47
- This repo contains the components Mintlify uses in our open-source documentation framework: [mint](https://github.com/mintlify/mint). Checkout [mintlify.com/docs](https://mintlify.com/docs) to see the components in action. Feel free to use the components on your own websites!
7
+ - Node.js >= 20.0.0
8
+ - React ^18.0.0 || ^19.0.0
9
+ - React DOM ^18.0.0 || ^19.0.0
48
10
 
49
11
  ## Installation
50
12
 
51
- ## Add Dependencies
52
-
53
- Install this package and peerDependencies of this package,
54
- using [install-peerdeps](https://github.com/nathanhleung/install-peerdeps).
55
-
56
- ```sh
57
- npx install-peerdeps @mintlify/components
13
+ ```bash
14
+ pnpm add @mintlify-components/react
58
15
  ```
59
16
 
60
- ### React is already installed
61
-
62
- You already have `react` installed or are using `preact` and just need `@headlessui/react` and `@mintlify/components`.
63
-
64
- ```sh
65
- # yarn
66
- yarn add @headlessui/react @mintlify/components
17
+ ## Development
67
18
 
68
- # npm
69
- npm i @headlessui/react @mintlify/components
19
+ ### Setup
70
20
 
71
- # pnpm
72
- pnpm add @headlessui/react @mintlify/components
21
+ ```bash
22
+ pnpm install
73
23
  ```
74
24
 
75
- ### React and headlessui are already installed
25
+ ### Build
76
26
 
77
- You already have `react` and `@headlessui/react` installed and just need `@mintlify/components`.
78
-
79
- ```sh
80
- # yarn
81
- yarn add @mintlify/components
82
-
83
- # npm
84
- npm i @mintlify/components
85
-
86
- # pnpm
87
- pnpm add @mintlify/components
27
+ ```bash
28
+ pnpm build
88
29
  ```
89
30
 
90
- ## CSS import
91
-
92
- Add the following at the start of your `main.css` file:
93
-
94
- `@import '@mintlify/components';`
95
-
96
- ## Usage
97
-
98
- Import components like so:
99
-
100
- `import { Accordion, Card } from "@mintlify/components"`
101
-
102
- ## Designed for Next.js
103
-
104
- The project is designed for use with static side rendering where we don't have access to `document` or `window`. Thus, our webpack config has to use `mini-css-extract-plugin` instead of `style-loader`.
105
-
106
- # Documentation
31
+ ### Storybook
107
32
 
108
- Go to [mintlify.com/docs/components](https://mintlify.com/docs/components) to see how to use the components in Mintlify's documentation platform.
33
+ Storybook uses Tailwind CSS and PostCSS to build the stories. Start the Storybook development server:
109
34
 
110
- [Storybook](https://main--63134bd5ae01f2a7717a0e47.chromatic.com/) has interactive demos.
111
-
112
- ## Contributing
113
-
114
- Read the [Contributing guide](https://mintlify.com/docs/contributing) to learn about our development process, the standards and tools used, and how to propose fixes, bugs or open issues.
115
-
116
- The [repo wiki](https://github.com/mintlify/components/wiki) explains how to contribute to this repo.
117
-
118
- ### Code Quality
119
-
120
- Check out the [Contribution Tools](https://mintlify.com/docs/contributing#contribution-tools) section in our [Contributing guide](https://mintlify.com/docs/contributing).
121
-
122
- #### Formatting
123
-
124
- This project uses [prettier](https://prettier.io/) for code formatting. You can auto-format across the codebase by running `yarn format`.
125
-
126
- #### Linting
127
-
128
- This project uses [eslint](https://eslint.org/) for code linting. You can check linter warnings and errors by running `yarn lint`.
129
-
130
- # Long Term Vision
131
-
132
- The first version of this library only includes documentation components. In the long run, Mintlify will include layout components you could use to build an entire site.
133
-
134
- ## Community
135
-
136
- Join our Discord community if you have questions or just want to chat:
137
-
138
- [![](https://dcbadge.vercel.app/api/server/ACREKdwjG5)](https://discord.gg/ACREKdwjG5)
35
+ ```bash
36
+ pnpm storybook
37
+ ```
139
38
 
140
- # License
39
+ ## License
141
40
 
142
- [MIT](https://tldrlegal.com/license/mit-license)
41
+ MIT
@@ -0,0 +1 @@
1
+ .mt-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;font-weight:500;position:relative;background-color:var(--color-bg);color:var(--color-text)}.mt-badge[data-disabled=true]{cursor:not-allowed;background-color:var(--color-bg-disabled);color:var(--color-text-disabled)}.mt-badge[data-shape=pill]{border-radius:9999px}.mt-badge[data-stroke=true]{outline:1px solid rgb(11 12 14 / 8%);outline-offset:-1px}:is(.dark,.dark-theme) .mt-badge[data-stroke=true]{outline-color:#ffffff24}.mt-badge-xs svg,.mt-badge-sm svg,.mt-badge-md svg,.mt-badge-lg svg{margin:1px;background-color:var(--color-text)}.mt-badge[data-disabled=true] svg{background-color:var(--color-text-disabled)}.mt-badge-icon{flex-shrink:0;color:var(--color-text)}.mt-badge[data-disabled=true] .mt-badge-icon{color:var(--color-text-disabled)}.mt-badge .mt-icon{color:var(--color-text)}.mt-badge[data-disabled=true] .mt-icon{color:var(--color-text-disabled)}.mt-badge-xs{gap:.125rem;padding:0 .125rem;font-size:.75rem;line-height:1rem}.mt-badge-xs:has(svg),.mt-badge-xs:has(.mt-icon){padding-right:.25rem}.mt-badge-xs[data-shape=rounded]{border-radius:.25rem}.mt-badge-sm{gap:.1875rem;padding:.125rem .125rem .125rem .1875rem;font-size:.75rem;line-height:1rem}.mt-badge-sm:has(svg),.mt-badge-sm:has(.mt-icon){padding-right:.375rem}.mt-badge-sm[data-shape=rounded]{border-radius:.375rem}.mt-badge-md{gap:.25rem;padding:.125rem .25rem;font-size:.875rem;line-height:1.25rem;letter-spacing:-.01em}.mt-badge-md:has(svg),.mt-badge-md:has(.mt-icon){padding-right:.5rem}.mt-badge-md[data-shape=rounded]{border-radius:.5rem}.mt-badge-lg{gap:.25rem;padding:.25rem .375rem;font-size:.875rem;line-height:1.25rem;letter-spacing:-.01em}.mt-badge-lg:has(svg),.mt-badge-lg:has(.mt-icon){padding-right:.625rem}.mt-badge-lg[data-shape=rounded]{border-radius:.5rem}.mt-badge-gray{--color-bg: var(--mt-color-badge-gray);--color-text: var(--mt-color-gray-7);--color-bg-disabled: var(--mt-color-badge-gray);--color-text-disabled: var(--mt-color-gray-3)}:is(.dark,.dark-theme) .mt-badge-gray{--color-bg: var(--mt-color-gray-10);--color-text: var(--mt-color-gray-4);--color-bg-disabled: var(--mt-color-gray-10);--color-text-disabled: var(--mt-color-gray-9)}.mt-badge-blue{--color-bg: var(--mt-color-badge-blue);--color-text: var(--mt-color-text-accent-blue-inverted);--color-bg-disabled: var(--mt-color-badge-blue-disabled);--color-text-disabled: var(--mt-color-text-accent-blue-tertiary)}:is(.dark,.dark-theme) .mt-badge-blue{--color-bg: var(--mt-color-badge-blue);--color-text: var(--mt-color-text-accent-blue-inverted);--color-bg-disabled: var(--mt-color-badge-blue-disabled);--color-text-disabled: var(--mt-color-text-accent-blue-tertiary)}.mt-badge-green{--color-bg: var(--mt-color-badge-green);--color-text: var(--mt-color-text-accent-green);--color-bg-disabled: var(--mt-color-badge-green-disabled);--color-text-disabled: var(--mt-color-text-accent-green-secondary)}:is(.dark,.dark-theme) .mt-badge-green{--color-bg: var(--mt-color-badge-green);--color-text: var(--mt-color-text-accent-green-inverted);--color-bg-disabled: var(--mt-color-badge-green-disabled);--color-text-disabled: var(--mt-color-text-accent-green-secondary)}.mt-badge-orange{--color-bg: var(--mt-color-badge-orange);--color-text: var(--mt-color-text-accent-orange-inverted);--color-bg-disabled: var(--mt-color-badge-orange-disabled);--color-text-disabled: var(--mt-color-text-accent-orange-secondary)}:is(.dark,.dark-theme) .mt-badge-orange{--color-bg: var(--mt-color-badge-orange);--color-text: var(--mt-color-text-accent-orange-inverted);--color-bg-disabled: var(--mt-color-badge-orange-disabled);--color-text-disabled: var(--mt-color-text-accent-orange-secondary)}.mt-badge-red{--color-bg: var(--mt-color-badge-red);--color-text: var(--mt-color-text-accent-red-inverted);--color-bg-disabled: var(--mt-color-badge-red-disabled);--color-text-disabled: var(--mt-color-text-accent-red-secondary)}:is(.dark,.dark-theme) .mt-badge-red{--color-bg: var(--mt-color-badge-red);--color-text: var(--mt-color-text-accent-red-inverted);--color-bg-disabled: var(--mt-color-badge-red-disabled);--color-text-disabled: var(--mt-color-text-accent-red-secondary)}.mt-badge-purple{--color-bg: var(--mt-color-badge-purple);--color-text: var(--mt-color-text-accent-purple-inverted);--color-bg-disabled: var(--mt-color-badge-purple);--color-text-disabled: var(--mt-color-text-accent-purple-secondary)}:is(.dark,.dark-theme) .mt-badge-purple{--color-bg: var(--mt-color-badge-purple);--color-text: var(--mt-color-text-accent-purple-inverted);--color-bg-disabled: var(--mt-color-badge-purple);--color-text-disabled: var(--mt-color-text-accent-purple-secondary)}.mt-badge-white{--color-bg: var(--mt-color-white-9);--color-text: var(--mt-color-text-static-dark-secondary);--color-bg-disabled: rgb(255 255 255 / 8%);--color-text-disabled: var(--mt-color-gray-3)}:is(.dark,.dark-theme) .mt-badge-white{--color-bg: rgb(255 255 255 / 99%);--color-text: var(--mt-color-text-static-dark-secondary);--color-bg-disabled: var(--mt-color-white-2);--color-text-disabled: rgb(11 12 14 / 60%)}.mt-badge-surface{--color-bg: rgb(255 255 255 / 95%);--color-text: var(--mt-color-text-secondary);--color-bg-disabled: rgb(255 255 255 / 95%);--color-text-disabled: var(--mt-color-gray-3)}:is(.dark,.dark-theme) .mt-badge-surface{--color-bg: var(--mt-color-gray-10);--color-text: var(--mt-color-text-secondary);--color-bg-disabled: var(--mt-color-gray-10);--color-text-disabled: var(--mt-color-gray-9)}.mt-badge-white-destructive{--color-bg: rgb(255 255 255 / 95%);--color-text: var(--mt-color-text-destructive);--color-bg-disabled: rgb(255 255 255 / 8%);--color-text-disabled: var(--mt-color-text-destructive-tertiary)}:is(.dark,.dark-theme) .mt-badge-white-destructive{--color-bg: rgb(255 255 255 / 95%);--color-text: var(--mt-color-text-destructive);--color-bg-disabled: rgb(255 255 255 / 24%);--color-text-disabled: var(--mt-color-text-destructive-tertiary)}.mt-badge-surface-destructive{--color-bg: rgb(255 255 255 / 95%);--color-text: var(--mt-color-text-destructive);--color-bg-disabled: rgb(255 255 255 / 95%);--color-text-disabled: var(--mt-color-text-destructive-tertiary)}:is(.dark,.dark-theme) .mt-badge-surface-destructive{--color-bg: var(--mt-color-gray-10);--color-text: var(--mt-color-text-destructive);--color-bg-disabled: var(--mt-color-gray-10);--color-text-disabled: var(--mt-color-text-destructive-tertiary)}
@@ -0,0 +1,52 @@
1
+ import { jsxs as i, jsx as p } from "react/jsx-runtime";
2
+ import { cn as g } from "../../utils/cn.js";
3
+ /* empty css */
4
+ import { Icon as f } from "../icon/icon.js";
5
+ function j({
6
+ children: s,
7
+ color: o = "gray",
8
+ shape: m = "rounded",
9
+ size: t = "md",
10
+ stroke: d = !1,
11
+ disabled: r = !1,
12
+ icon: a,
13
+ iconType: n,
14
+ className: c
15
+ }) {
16
+ const e = typeof a == "string" ? /* @__PURE__ */ p(
17
+ f,
18
+ {
19
+ icon: a,
20
+ iconType: n,
21
+ className: "mt-badge-icon",
22
+ size: l[t]
23
+ }
24
+ ) : a;
25
+ return /* @__PURE__ */ i(
26
+ "span",
27
+ {
28
+ "data-shape": m,
29
+ "data-stroke": d,
30
+ "data-disabled": r,
31
+ className: g(
32
+ "mt-badge",
33
+ `mt-badge-${o}`,
34
+ `mt-badge-${t}`,
35
+ c
36
+ ),
37
+ children: [
38
+ !!e && e,
39
+ s
40
+ ]
41
+ }
42
+ );
43
+ }
44
+ const l = {
45
+ xs: 12,
46
+ sm: 14,
47
+ md: 16,
48
+ lg: 16
49
+ };
50
+ export {
51
+ j as Badge
52
+ };
@@ -0,0 +1 @@
1
+ .mt-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
@@ -0,0 +1,47 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { cn as n } from "../../utils/cn.js";
3
+ /* empty css */
4
+ function g({
5
+ icon: t,
6
+ iconType: e = "regular",
7
+ color: a,
8
+ size: r = 16,
9
+ className: s
10
+ }) {
11
+ const h = t.startsWith("<svg"), m = t.startsWith("http") || t.startsWith("/");
12
+ return h ? /* @__PURE__ */ i(
13
+ "span",
14
+ {
15
+ className: n("mt-icon", s),
16
+ style: {
17
+ color: a,
18
+ width: r,
19
+ height: r
20
+ },
21
+ dangerouslySetInnerHTML: { __html: t }
22
+ }
23
+ ) : m ? /* @__PURE__ */ i(
24
+ "img",
25
+ {
26
+ src: t,
27
+ alt: "",
28
+ className: n("mt-icon", s),
29
+ style: {
30
+ width: r,
31
+ height: r
32
+ }
33
+ }
34
+ ) : /* @__PURE__ */ i(
35
+ "i",
36
+ {
37
+ className: n("mt-icon", `fa-${e}`, `fa-${t}`, s),
38
+ style: {
39
+ color: a,
40
+ fontSize: r
41
+ }
42
+ }
43
+ );
44
+ }
45
+ export {
46
+ g as Icon
47
+ };