├── .changeset
├── README.md
└── config.json
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── PULL_REQUEST_TEMPLATE.md
├── release-drafter-config.yml
└── workflows
│ ├── release.yml
│ └── test.yml
├── .gitignore
├── .husky
├── .gitignore
└── pre-commit
├── .lintstagedrc
├── .npmrc
├── .prettierignore
├── .prettierrc
├── .vscode
└── tailwind.code-snippets
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── eslint.config.js
├── examples
├── next
│ ├── .eslintrc.json
│ ├── .gitignore
│ ├── next.config.js
│ ├── package.json
│ ├── postcss.config.js
│ ├── src
│ │ ├── app
│ │ │ ├── counter.tsx
│ │ │ ├── favicon.ico
│ │ │ ├── globals.css
│ │ │ ├── layout.tsx
│ │ │ └── page.tsx
│ │ ├── components
│ │ │ ├── index.ts
│ │ │ └── theme.button.tsx
│ │ └── tw.ts
│ ├── tailwind.config.js
│ └── tsconfig.json
├── rn-expo
│ ├── .gitignore
│ ├── README.md
│ ├── app.d.ts
│ ├── app.json
│ ├── app
│ │ ├── _layout.tsx
│ │ └── index.tsx
│ ├── assets
│ │ ├── fonts
│ │ │ └── SpaceMono-Regular.ttf
│ │ └── images
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── partial-react-logo.png
│ │ │ ├── react-logo.png
│ │ │ ├── react-logo@2x.png
│ │ │ ├── react-logo@3x.png
│ │ │ └── splash.png
│ ├── babel.config.js
│ ├── constants
│ │ ├── Colors.ts
│ │ └── tw.ts
│ ├── hooks
│ │ ├── useColorScheme.ts
│ │ ├── useColorScheme.web.ts
│ │ └── useThemeColor.ts
│ ├── package-lock.json
│ ├── package.json
│ ├── postcss.config.js
│ ├── scripts
│ │ └── reset-project.js
│ ├── tailwind.config.js
│ └── tsconfig.json
└── svelte
│ ├── .eslintignore
│ ├── .eslintrc.cjs
│ ├── .gitignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── package.json
│ ├── postcss.config.js
│ ├── src
│ ├── app.css
│ ├── app.d.ts
│ ├── app.html
│ ├── components
│ │ └── theme.button.svelte
│ ├── routes
│ │ ├── +layout.svelte
│ │ └── +page.svelte
│ ├── store
│ │ └── theme.ts
│ └── tw.ts
│ ├── static
│ └── favicon.png
│ ├── tailwind.config.js
│ ├── tsconfig.json
│ └── vite.config.ts
├── images
├── create-tailwind-type-banner.png
├── demo-result.jpeg
└── tailwindest-banner.png
├── package.json
├── packages
├── create-tailwind-type
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── constants
│ │ │ └── dirname.ts
│ │ ├── generator
│ │ │ ├── __tests__
│ │ │ │ ├── __mocks__
│ │ │ │ │ ├── collection.ts
│ │ │ │ │ ├── store
│ │ │ │ │ │ ├── docs.json
│ │ │ │ │ │ ├── type_validation.d.ts
│ │ │ │ │ │ └── types.d.ts
│ │ │ │ │ └── tailwind.css
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── optimizer.test.ts.snap
│ │ │ │ ├── css_analyzer.test.ts
│ │ │ │ ├── generator.test.ts
│ │ │ │ └── optimizer.test.ts
│ │ │ ├── css_analyzer.ts
│ │ │ ├── generator.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── internal
│ │ │ ├── __mocks__
│ │ │ │ ├── tailwind.css
│ │ │ │ └── utilities.css
│ │ │ ├── __snapshots__
│ │ │ │ └── compiler.test.ts.snap
│ │ │ ├── compiler.test.ts
│ │ │ ├── compiler.ts
│ │ │ └── index.ts
│ │ ├── logger
│ │ │ ├── __tests__
│ │ │ │ └── index.test.ts
│ │ │ └── index.ts
│ │ ├── site_extractor
│ │ │ ├── build.mjs
│ │ │ ├── constant.mjs
│ │ │ ├── docs
│ │ │ │ ├── doc_generator.mjs
│ │ │ │ ├── lcp_class.mjs
│ │ │ │ ├── lcp_class.test.js
│ │ │ │ └── main.mjs
│ │ │ ├── jsconfig.json
│ │ │ ├── scraper.mjs
│ │ │ ├── types
│ │ │ │ ├── main.mjs
│ │ │ │ └── type_generator.mjs
│ │ │ └── util
│ │ │ │ └── fs.mjs
│ │ └── type_tools
│ │ │ ├── index.ts
│ │ │ ├── type_generator.test.ts
│ │ │ ├── type_generator.ts
│ │ │ └── types
│ │ │ ├── array.ts
│ │ │ ├── generic.ts
│ │ │ ├── get.generic.ts
│ │ │ ├── index.ts
│ │ │ ├── intersection.ts
│ │ │ ├── primitives.ts
│ │ │ ├── record.ts
│ │ │ ├── to.generic.type.string.ts
│ │ │ ├── type.ts
│ │ │ └── union.ts
│ └── tsup.config.ts
└── tailwindest
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── readme.md
│ └── src
│ ├── create_tailwindest.ts
│ ├── index.ts
│ ├── legacy
│ ├── tailwindest.nest.keys.ts
│ ├── tailwindest.short.ts
│ ├── tailwindest.ts
│ ├── types
│ │ ├── nest.keys
│ │ │ ├── break.ts
│ │ │ ├── global.ts
│ │ │ ├── pseudo.class.ts
│ │ │ └── pseudo.element.ts
│ │ ├── plugin.ts
│ │ ├── tailwind
│ │ │ ├── core
│ │ │ │ ├── index.ts
│ │ │ │ ├── tailwind.short.ts
│ │ │ │ └── tailwind.ts
│ │ │ ├── index.ts
│ │ │ ├── plugin
│ │ │ │ ├── index.ts
│ │ │ │ ├── tailwind.plugin.key.ts
│ │ │ │ └── tailwind.plugin.option.ts
│ │ │ └── properties
│ │ │ │ ├── accessibility
│ │ │ │ ├── @forced.color.adjust.ts
│ │ │ │ ├── @screen.readers.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── backgrounds
│ │ │ │ ├── @background.attachment.ts
│ │ │ │ ├── @background.clip.ts
│ │ │ │ ├── @background.color.ts
│ │ │ │ ├── @background.origin.ts
│ │ │ │ ├── @background.position.ts
│ │ │ │ ├── @background.repeat.ts
│ │ │ │ ├── @background.size.ts
│ │ │ │ ├── @gradient.color.stops.ts
│ │ │ │ ├── @gradient.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── short
│ │ │ │ │ ├── @background.attachment.short.ts
│ │ │ │ │ ├── @background.clip.short.ts
│ │ │ │ │ ├── @background.color.short.ts
│ │ │ │ │ ├── @background.origin.short.ts
│ │ │ │ │ ├── @background.position.short.ts
│ │ │ │ │ ├── @background.repeat.short.ts
│ │ │ │ │ ├── @background.size.short.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── borders
│ │ │ │ ├── @border.color.ts
│ │ │ │ ├── @border.radius.ts
│ │ │ │ ├── @border.style.ts
│ │ │ │ ├── @border.width.ts
│ │ │ │ ├── @outline.color.ts
│ │ │ │ ├── @outline.offset.ts
│ │ │ │ ├── @outline.style.ts
│ │ │ │ ├── @outline.width.ts
│ │ │ │ ├── @ring.color.ts
│ │ │ │ ├── @ring.offset.color.ts
│ │ │ │ ├── @ring.offset.width.ts
│ │ │ │ ├── @ring.width.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── short
│ │ │ │ │ ├── @border.color.short.ts
│ │ │ │ │ ├── @border.radius.short.ts
│ │ │ │ │ ├── @border.width.short.ts
│ │ │ │ │ ├── @outline.color.short.ts
│ │ │ │ │ ├── @outline.width.short.ts
│ │ │ │ │ ├── @ring.color.short.ts
│ │ │ │ │ ├── @ring.offset.color.short.ts
│ │ │ │ │ ├── @ring.offset.width.short.ts
│ │ │ │ │ ├── @ring.width.short.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── common
│ │ │ │ ├── @accent.ts
│ │ │ │ ├── @arbitrary.ts
│ │ │ │ ├── @color.ts
│ │ │ │ ├── @color.variants.ts
│ │ │ │ ├── @spacing.variants.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── effects
│ │ │ │ ├── @background.blend.mode.ts
│ │ │ │ ├── @box.shadow.color.ts
│ │ │ │ ├── @box.shadow.ts
│ │ │ │ ├── @mix.blend.mode.ts
│ │ │ │ ├── @opacity.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── short
│ │ │ │ │ ├── @background.blend.mode.short.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── filters
│ │ │ │ ├── @backdrop.opacity.ts
│ │ │ │ ├── @blur.ts
│ │ │ │ ├── @brightness.ts
│ │ │ │ ├── @contrast.ts
│ │ │ │ ├── @drop.shadow.ts
│ │ │ │ ├── @grayscale.ts
│ │ │ │ ├── @hue.rotate.ts
│ │ │ │ ├── @invert.ts
│ │ │ │ ├── @saturate.ts
│ │ │ │ ├── @sepia.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── flex.grid
│ │ │ │ ├── @common.align.ts
│ │ │ │ ├── @common.gap.ts
│ │ │ │ ├── @common.justify.ts
│ │ │ │ ├── @common.order.ts
│ │ │ │ ├── @flex.basis.ts
│ │ │ │ ├── @flex.direction.ts
│ │ │ │ ├── @flex.grow.ts
│ │ │ │ ├── @flex.shrink.ts
│ │ │ │ ├── @flex.ts
│ │ │ │ ├── @flex.wrap.ts
│ │ │ │ ├── @grid.auto.flow.ts
│ │ │ │ ├── @grid.auto.ts
│ │ │ │ ├── @grid.column.start.end.ts
│ │ │ │ ├── @grid.justify.ts
│ │ │ │ ├── @grid.place.ts
│ │ │ │ ├── @grid.row.start.end.ts
│ │ │ │ ├── @grid.template.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── font
│ │ │ │ ├── @content.ts
│ │ │ │ ├── @font.family.ts
│ │ │ │ ├── @font.size.ts
│ │ │ │ ├── @font.smoothing.ts
│ │ │ │ ├── @font.style.ts
│ │ │ │ ├── @font.variant.numeric.ts
│ │ │ │ ├── @font.weight.ts
│ │ │ │ ├── @hyphens.ts
│ │ │ │ ├── @letter.spacing.ts
│ │ │ │ ├── @line.clamp.ts
│ │ │ │ ├── @line.height.ts
│ │ │ │ ├── @list.style.image.ts
│ │ │ │ ├── @list.style.position.ts
│ │ │ │ ├── @list.style.type.ts
│ │ │ │ ├── @text.align.ts
│ │ │ │ ├── @text.color.ts
│ │ │ │ ├── @text.decoration.color.ts
│ │ │ │ ├── @text.decoration.style.ts
│ │ │ │ ├── @text.decoration.thickness.ts
│ │ │ │ ├── @text.decoration.ts
│ │ │ │ ├── @text.indent.ts
│ │ │ │ ├── @text.overflow.ts
│ │ │ │ ├── @text.transform.ts
│ │ │ │ ├── @text.underline.offset.ts
│ │ │ │ ├── @text.wrap.ts
│ │ │ │ ├── @vertical.align.ts
│ │ │ │ ├── @whitespace.ts
│ │ │ │ ├── @word.break.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── interactivity
│ │ │ │ ├── @accent.color.ts
│ │ │ │ ├── @appearance.ts
│ │ │ │ ├── @caret.color.ts
│ │ │ │ ├── @cursor.ts
│ │ │ │ ├── @pointer.events.ts
│ │ │ │ ├── @resize.ts
│ │ │ │ ├── @scroll.behavior.ts
│ │ │ │ ├── @scroll.margin.ts
│ │ │ │ ├── @scroll.padding.ts
│ │ │ │ ├── @scroll.snap.align.ts
│ │ │ │ ├── @scroll.snap.stop.ts
│ │ │ │ ├── @scroll.snap.type.ts
│ │ │ │ ├── @touch.action.ts
│ │ │ │ ├── @user.select.ts
│ │ │ │ ├── @will.change.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── short
│ │ │ │ │ ├── @accent.color.short.ts
│ │ │ │ │ ├── @caret.color.short.ts
│ │ │ │ │ ├── @scroll.margin.short.ts
│ │ │ │ │ ├── @scroll.padding.short.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── layout
│ │ │ │ ├── @aspect.ratio.ts
│ │ │ │ ├── @box.decoration.break.ts
│ │ │ │ ├── @box.sizing.ts
│ │ │ │ ├── @break.ts
│ │ │ │ ├── @clear.ts
│ │ │ │ ├── @columns.ts
│ │ │ │ ├── @container.ts
│ │ │ │ ├── @display.ts
│ │ │ │ ├── @floats.ts
│ │ │ │ ├── @isolation.ts
│ │ │ │ ├── @object.fit.ts
│ │ │ │ ├── @object.position.ts
│ │ │ │ ├── @overflow.ts
│ │ │ │ ├── @overscroll.behavior.ts
│ │ │ │ ├── @position.ts
│ │ │ │ ├── @visibility.ts
│ │ │ │ ├── @z.index.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── sizing
│ │ │ │ ├── @height.ts
│ │ │ │ ├── @size.ts
│ │ │ │ ├── @sizing.variants.ts
│ │ │ │ ├── @width.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── short
│ │ │ │ │ ├── @height.short.ts
│ │ │ │ │ ├── @width.short.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── spacing
│ │ │ │ ├── @margin.ts
│ │ │ │ ├── @padding.ts
│ │ │ │ ├── @space.between.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── short
│ │ │ │ │ ├── @margin.short.ts
│ │ │ │ │ ├── @padding.short.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── svg
│ │ │ │ ├── @fill.ts
│ │ │ │ ├── @stroke.ts
│ │ │ │ ├── @stroke.width.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── short
│ │ │ │ │ ├── @stroke.width.short.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tables
│ │ │ │ ├── @border.collapse.ts
│ │ │ │ ├── @border.spacing.ts
│ │ │ │ ├── @caption.side.ts
│ │ │ │ ├── @table.layout.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── transforms
│ │ │ │ ├── @hardware.acceleration.ts
│ │ │ │ ├── @rotate.ts
│ │ │ │ ├── @scale.ts
│ │ │ │ ├── @skew.ts
│ │ │ │ ├── @transform.origin.ts
│ │ │ │ ├── @translate.ts
│ │ │ │ └── index.ts
│ │ │ │ └── transition.animation
│ │ │ │ ├── @animation.ts
│ │ │ │ ├── @transition.ts
│ │ │ │ └── index.ts
│ │ └── tailwindest
│ │ │ ├── core.ts
│ │ │ ├── index.ts
│ │ │ └── nest.extended.ts
│ └── utils
│ │ ├── index.ts
│ │ └── util.types.ts
│ └── tools
│ ├── __tests__
│ ├── create_tools.test.ts
│ ├── get_variants.test.ts
│ ├── merger_interface.test.ts
│ └── styler.test.ts
│ ├── create_tools.ts
│ ├── get_variants.ts
│ ├── index.ts
│ ├── merger_interface.ts
│ ├── primitive.ts
│ ├── rotary.ts
│ ├── styler.ts
│ ├── to_class.ts
│ ├── to_def.ts
│ ├── toggle.ts
│ └── variants.ts
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── site
├── .gitignore
├── components
│ ├── common
│ │ ├── Button.tsx
│ │ ├── Card.tsx
│ │ ├── Code.tsx
│ │ ├── CodeCompletion.tsx
│ │ ├── Divider.tsx
│ │ ├── Example.tsx
│ │ ├── Stackblitz.tsx
│ │ ├── Title.tsx
│ │ ├── Underline.tsx
│ │ └── index.ts
│ ├── pages
│ │ ├── index.ts
│ │ └── main.tsx
│ └── utils.ts
├── global.css
├── next-env.d.ts
├── next.config.mjs
├── package.json
├── pages
│ ├── 404.mdx
│ ├── _app.mdx
│ ├── _document.tsx
│ ├── _meta.json
│ ├── apis
│ │ ├── GetVariants.mdx
│ │ ├── ShortTailwindest.mdx
│ │ ├── Tailwindest.mdx
│ │ ├── _meta.json
│ │ ├── createTools.mdx
│ │ ├── mergeProps.mdx
│ │ ├── rotary.mdx
│ │ ├── style.mdx
│ │ ├── toggle.mdx
│ │ └── variants.mdx
│ ├── examples
│ │ ├── _meta.json
│ │ ├── next.mdx
│ │ ├── react_native.mdx
│ │ └── svelte.mdx
│ ├── index.mdx
│ ├── recipe
│ │ ├── _meta.json
│ │ ├── conditional-styling.mdx
│ │ ├── customize.mdx
│ │ ├── styling.mdx
│ │ └── utility.mdx
│ ├── setup.mdx
│ └── start
│ │ ├── _meta.json
│ │ ├── drawbacks.mdx
│ │ ├── goals.mdx
│ │ ├── introduction.mdx
│ │ └── overview.mdx
├── postcss.config.js
├── public
│ ├── favicon.png
│ ├── favicon.svg
│ └── images
│ │ ├── architecture.png
│ │ ├── cond.png
│ │ ├── expo-demo-result.jpeg
│ │ ├── microwave.png
│ │ ├── rotary.png
│ │ ├── tailwindest.banner.png
│ │ ├── toggle.png
│ │ └── variants.png
├── tailwind.config.js
├── theme.config.tsx
├── tsconfig.json
├── wind.props.d.ts
└── wind.ts
├── tsconfig.json
├── turbo.json
└── vitest.config.ts
/.changeset/README.md:
--------------------------------------------------------------------------------
1 | # Changesets
2 |
3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4 | with multi-package repos, or single-package repos to help you version and publish your code. You can
5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6 |
7 | We have a quick list of common questions to get you started engaging with this project in
8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
9 |
--------------------------------------------------------------------------------
/.changeset/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://unpkg.com/@changesets/config@2.3.1/schema.json",
3 | "changelog": "@changesets/cli/changelog",
4 | "commit": false,
5 | "fixed": [],
6 | "linked": [],
7 | "ignore": ["tailwindest-documentation"],
8 | "access": "restricted",
9 | "baseBranch": "master",
10 | "updateInternalDependencies": "patch"
11 | }
12 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Make a better open-source software with bug report
4 | title: "[bug]"
5 | labels: bug
6 | assignees: danpacho
7 | ---
8 |
9 | **Describe the bug**
10 | A clear and concise description of what the bug is.
11 |
12 | **Expected behavior**
13 | A clear and concise description of what you expected to happen.
14 |
15 | **Additional context**
16 | Add any other context about the problem here.
17 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: "[feature-request] Write your features"
5 | labels: feature request
6 | assignees: danpacho
7 | ---
8 |
9 |
17 |
18 | Closes #
19 |
20 | ## 📝 Description
21 |
22 | > Add a brief description
23 |
24 | ## 💪 Current behavior
25 |
26 | > Please describe the current behavior that you are modifying
27 |
28 | ## 🦾 New behavior
29 |
30 | > Please describe the behavior or changes this PR adds
31 |
32 | ## 💣 Breaking change (y/n):
33 |
34 |
35 |
36 | ## 📝 Additional Information
37 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | ## Description
2 |
3 | Please provide a meaningful description of what this change will do, or is for. Bonus points for including links to related issues, other PRs, or technical references.
4 |
5 | Note that by _not_ including a description, you are asking reviewers to do extra work to understand the context of this change, which may lead to your PR taking much longer to review, or result in it not being reviewed at all.
6 |
7 | ## Type of Change
8 |
9 | - [ ] Bug Fix
10 | - [ ] Enhancement
11 | - [ ] Breaking API Changes
12 | - [ ] Refactor
13 | - [ ] Documentation
14 | - [ ] Other (please describe)
15 |
16 | ## Checklist
17 |
18 | - [ ] I have verified this change is not present in other open pull requests
19 | - [ ] Existing issues have been referenced (where applicable)
20 | - [ ] Functionality is documented
21 | - [ ] All code style checks pass
22 | - [ ] All new and existing tests pass
23 |
--------------------------------------------------------------------------------
/.github/release-drafter-config.yml:
--------------------------------------------------------------------------------
1 | name-template: "v$RESOLVED_VERSION 🔮"
2 | tag-template: "v$RESOLVED_VERSION"
3 | categories:
4 | - title: "New Features 🚀"
5 | labels:
6 | - "feature"
7 | - "enhancement"
8 | - title: "Bug Fixes 🐛"
9 | labels:
10 | - "fix"
11 | - "bugfix"
12 | - "bug"
13 | - title: "Breaking 🤯"
14 | labels:
15 | - "breaking"
16 | - title: "Maintenance 🍦"
17 | labels:
18 | - "maintenance"
19 | category-template: "### $TITLE"
20 | change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
21 | change-title-escapes: '\<*_&'
22 | no-changes-template: "No changes"
23 | exclude-labels:
24 | - "skip-changelog"
25 | version-resolver:
26 | major:
27 | labels:
28 | - "breaking"
29 | minor:
30 | labels:
31 | - "feature"
32 | - "enhancement"
33 | patch:
34 | labels:
35 | - "maintenance"
36 | - "patch"
37 | default: "patch"
38 | template: |
39 | $CHANGES
40 |
41 | **Full Changelog**: https://github.com/danpacho/tailwindest/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
42 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Draft Release
2 |
3 | on:
4 | push:
5 | branches: [master]
6 | pull_request:
7 | types: [opened, reopened, synchronize]
8 |
9 | jobs:
10 | update_release_draft:
11 | runs-on: ubuntu-latest
12 | permissions: write-all
13 | steps:
14 | - uses: release-drafter/release-drafter@v5
15 | with:
16 | config-name: release-drafter-config.yml
17 | env:
18 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19 |
--------------------------------------------------------------------------------
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | name: Test code
2 |
3 | on:
4 | push:
5 | branches: ["**"]
6 | pull_request:
7 | branches: ["**"]
8 |
9 | jobs:
10 | total-test:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v3
14 | name: Checkout
15 |
16 | - name: Setup Node.js
17 | uses: actions/setup-node@v3
18 | with:
19 | node-version: 20
20 |
21 | - uses: pnpm/action-setup@v2
22 | name: Install pnpm
23 | id: pnpm-install
24 | with:
25 | version: 9
26 | run_install: false
27 |
28 | - name: Install package dependencies
29 | run: pnpm install --no-frozen-lockfile
30 |
31 | - name: Unit testing
32 | run: pnpm test:ci
33 |
34 | - name: Build testing
35 | run: pnpm build
36 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Local
2 | *.local
3 |
4 | # Build
5 | dist
6 | .turbo
7 |
8 | # Build by scripts
9 | $store$
10 |
11 |
12 | # Dependencies
13 | node_modules/
14 | .pnp
15 | .pnp.js
16 |
17 | # Development
18 | .devcontainer
19 |
20 | # Testing
21 | coverage
22 | ts-perf
23 | tsconfig.tsbuildinfo
24 |
25 | # Logs
26 | npm-debug.log*
27 | yarn-debug.log*
28 | yarn-error.log*
29 | pnpm-debug.log*
30 |
31 |
32 | # Editor
33 | !.vscode/extensions.json
34 | .idea
35 | .DS_Store
36 | *.suo
37 | *.ntvs*
38 | *.njsproj
39 | *.sln
40 | *.sw?
41 |
--------------------------------------------------------------------------------
/.husky/.gitignore:
--------------------------------------------------------------------------------
1 | _
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | pnpm pre-commit
2 |
--------------------------------------------------------------------------------
/.lintstagedrc:
--------------------------------------------------------------------------------
1 | {
2 | "**/*.ts": [
3 | "prettier --write",
4 | "eslint --fix"
5 | ],
6 | "**/*.{md,json}": [
7 | "prettier --write"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
2 | strict-peer-dependencies=false
3 | auto-install-peers=true
4 | # workspace
5 | ignore-workspace-root-check=true
6 | link-workspace-packages=true
7 | prefer-workspace-packages=true
8 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | /node_modules/*
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "tabWidth": 4,
3 | "trailingComma": "es5",
4 | "useTabs": false,
5 | "semi": false
6 | }
7 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 danpacho
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | Use this section to tell people about which versions of your project are
6 | currently being supported with security updates.
7 |
8 | | Version | Supported |
9 | | ------- | ------------------ |
10 | | 5.1.x | :white_check_mark: |
11 | | 5.0.x | :x: |
12 | | 4.0.x | :white_check_mark: |
13 | | < 4.0 | :x: |
14 |
15 | ## Reporting a Vulnerability
16 |
17 | Use this section to tell people how to report a vulnerability.
18 |
19 | Tell them where to go, how often they can expect to get an update on a
20 | reported vulnerability, what to expect if the vulnerability is accepted or
21 | declined, etc.
22 |
--------------------------------------------------------------------------------
/examples/next/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/examples/next/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 | *.pem
21 | .vscode/*
22 |
23 | # debug
24 | npm-debug.log*
25 | yarn-debug.log*
26 | yarn-error.log*
27 |
28 | # local env files
29 | .env*.local
30 |
31 | # vercel
32 | .vercel
33 |
34 | # typescript
35 | *.tsbuildinfo
36 | next-env.d.ts
37 |
38 |
--------------------------------------------------------------------------------
/examples/next/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | experimental: {
4 | appDir: true,
5 | },
6 | }
7 |
8 | module.exports = nextConfig
9 |
--------------------------------------------------------------------------------
/examples/next/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "next",
3 | "version": "2.0.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "@types/node": "20.14.9",
13 | "@types/react": "18.3.3",
14 | "@types/react-dom": "18.3.0",
15 | "autoprefixer": "10.4.19",
16 | "eslint": "8.40.0",
17 | "eslint-config-next": "14.2.4",
18 | "next": "14.2.4",
19 | "postcss": "8.4.31",
20 | "react": "18.3.1",
21 | "react-dom": "18.3.1",
22 | "tailwindcss": "3.4.4",
23 | "tailwindest": "2.3.2",
24 | "typescript": "5.5.2"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/examples/next/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/examples/next/src/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/next/src/app/favicon.ico
--------------------------------------------------------------------------------
/examples/next/src/app/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | html {
6 | height: 100vh;
7 | min-height: 100vh;
8 | }
9 |
--------------------------------------------------------------------------------
/examples/next/src/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import { tw } from "@/tw"
2 | import "./globals.css"
3 |
4 | export const metadata = {
5 | title: "tailwindest + nextJs",
6 | description: "example of tailwindest and nextJs",
7 | }
8 |
9 | const layout = tw.style({
10 | position: "relative",
11 |
12 | display: "flex",
13 | flexDirection: "flex-col",
14 | alignItems: "items-center",
15 | justifyContent: "justify-center",
16 |
17 | height: "h-screen",
18 | minHeight: "min-h-screen",
19 |
20 | paddingY: "py-10",
21 | "@dark": {
22 | backgroundColor: "dark:bg-neutral-900",
23 | },
24 | })
25 |
26 | export default function RootLayout({
27 | children,
28 | }: {
29 | children: React.ReactNode
30 | }) {
31 | return (
32 |
33 |
{children}
34 |
35 | )
36 | }
37 |
--------------------------------------------------------------------------------
/examples/next/src/app/page.tsx:
--------------------------------------------------------------------------------
1 | import { CounterExample } from "./counter"
2 |
3 | export default function Index() {
4 | return
5 | }
6 |
--------------------------------------------------------------------------------
/examples/next/src/components/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./theme.button"
2 |
--------------------------------------------------------------------------------
/examples/next/src/tw.ts:
--------------------------------------------------------------------------------
1 | import { createTools, type Tailwindest } from "tailwindest"
2 |
3 | /**
4 | * Custom type definition of tailwindest
5 | * @see {@link https://tailwindest.vercel.app/apis/Tailwindest api reference}
6 | */
7 | type TailwindCustom = Tailwindest<{}, {}>
8 | /**
9 | * Full type definition of `tailwindcss`
10 | */
11 | type Tailwind = Required
12 |
13 | const tw = createTools()
14 |
15 | export { tw, type Tailwind }
16 |
--------------------------------------------------------------------------------
/examples/next/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | content: [
4 | "./src/pages/**/*.{js,ts,jsx,tsx}",
5 | "./src/components/**/*.{js,ts,jsx,tsx}",
6 | "./src/app/**/*.{js,ts,jsx,tsx}",
7 | ],
8 | theme: {},
9 | plugins: [],
10 | darkMode: "class",
11 | }
12 |
--------------------------------------------------------------------------------
/examples/next/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "forceConsistentCasingInFileNames": true,
9 | "noEmit": true,
10 | "esModuleInterop": true,
11 | "module": "esnext",
12 | "moduleResolution": "node",
13 | "resolveJsonModule": true,
14 | "isolatedModules": true,
15 | "jsx": "preserve",
16 | "incremental": true,
17 | "plugins": [
18 | {
19 | "name": "next"
20 | }
21 | ],
22 | "paths": {
23 | "@/*": ["./src/*"]
24 | }
25 | },
26 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
27 | "exclude": ["node_modules"]
28 | }
29 |
--------------------------------------------------------------------------------
/examples/rn-expo/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .expo/
3 | dist/
4 | npm-debug.*
5 | *.jks
6 | *.p8
7 | *.p12
8 | *.key
9 | *.mobileprovision
10 | *.orig.*
11 | web-build/
12 |
13 | # macOS
14 | .DS_Store
15 |
16 | # @generated expo-cli sync-2b81b286409207a5da26e14c78851eb30d8ccbdb
17 | # The following patterns were generated by expo-cli
18 |
19 | expo-env.d.ts
20 | # @end expo-cli
--------------------------------------------------------------------------------
/examples/rn-expo/app.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/examples/rn-expo/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "expo": {
3 | "name": "rn-expo",
4 | "slug": "rn-expo",
5 | "version": "2.0.0",
6 | "orientation": "portrait",
7 | "icon": "./assets/images/icon.png",
8 | "scheme": "myapp",
9 | "userInterfaceStyle": "automatic",
10 | "splash": {
11 | "image": "./assets/images/splash.png",
12 | "resizeMode": "contain",
13 | "backgroundColor": "#ffffff"
14 | },
15 | "ios": {
16 | "supportsTablet": true
17 | },
18 | "android": {
19 | "adaptiveIcon": {
20 | "foregroundImage": "./assets/images/adaptive-icon.png",
21 | "backgroundColor": "#ffffff"
22 | }
23 | },
24 | "web": {
25 | "bundler": "metro",
26 | "output": "static",
27 | "favicon": "./assets/images/favicon.png"
28 | },
29 | "plugins": ["expo-router"],
30 | "experiments": {
31 | "typedRoutes": true
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/examples/rn-expo/app/_layout.tsx:
--------------------------------------------------------------------------------
1 | import { Stack } from "expo-router"
2 |
3 | export default function RootLayout() {
4 | return (
5 |
6 |
7 |
8 | )
9 | }
10 |
--------------------------------------------------------------------------------
/examples/rn-expo/assets/fonts/SpaceMono-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/rn-expo/assets/fonts/SpaceMono-Regular.ttf
--------------------------------------------------------------------------------
/examples/rn-expo/assets/images/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/rn-expo/assets/images/adaptive-icon.png
--------------------------------------------------------------------------------
/examples/rn-expo/assets/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/rn-expo/assets/images/favicon.png
--------------------------------------------------------------------------------
/examples/rn-expo/assets/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/rn-expo/assets/images/icon.png
--------------------------------------------------------------------------------
/examples/rn-expo/assets/images/partial-react-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/rn-expo/assets/images/partial-react-logo.png
--------------------------------------------------------------------------------
/examples/rn-expo/assets/images/react-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/rn-expo/assets/images/react-logo.png
--------------------------------------------------------------------------------
/examples/rn-expo/assets/images/react-logo@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/rn-expo/assets/images/react-logo@2x.png
--------------------------------------------------------------------------------
/examples/rn-expo/assets/images/react-logo@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/rn-expo/assets/images/react-logo@3x.png
--------------------------------------------------------------------------------
/examples/rn-expo/assets/images/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/rn-expo/assets/images/splash.png
--------------------------------------------------------------------------------
/examples/rn-expo/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function (api) {
2 | api.cache(true)
3 | return {
4 | presets: ["babel-preset-expo"],
5 | plugins: ["nativewind/babel"],
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/examples/rn-expo/constants/Colors.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Below are the colors that are used in the app. The colors are defined in the light and dark mode.
3 | * There are many other ways to style your app. For example, [Nativewind](https://www.nativewind.dev/), [Tamagui](https://tamagui.dev/), [unistyles](https://reactnativeunistyles.vercel.app), etc.
4 | */
5 |
6 | const tintColorLight = "#0a7ea4"
7 | const tintColorDark = "#fff"
8 |
9 | export const Colors = {
10 | light: {
11 | text: "#11181C",
12 | background: "#fff",
13 | tint: tintColorLight,
14 | icon: "#687076",
15 | tabIconDefault: "#687076",
16 | tabIconSelected: tintColorLight,
17 | },
18 | dark: {
19 | text: "#ECEDEE",
20 | background: "#151718",
21 | tint: tintColorDark,
22 | icon: "#9BA1A6",
23 | tabIconDefault: "#9BA1A6",
24 | tabIconSelected: tintColorDark,
25 | },
26 | }
27 |
--------------------------------------------------------------------------------
/examples/rn-expo/constants/tw.ts:
--------------------------------------------------------------------------------
1 | import { createTools, type Tailwindest } from "tailwindest"
2 |
3 | /**
4 | * Custom type definition of tailwindest
5 | * @see {@link https://tailwindest.vercel.app/apis/Tailwindest api reference}
6 | */
7 | type TailwindCustom = Tailwindest<{}, {}>
8 | /**
9 | * Full type definition of `tailwindcss`
10 | */
11 | type Tailwind = Required
12 |
13 | const tw = createTools()
14 |
15 | export { tw, type Tailwind }
16 |
--------------------------------------------------------------------------------
/examples/rn-expo/hooks/useColorScheme.ts:
--------------------------------------------------------------------------------
1 | export { useColorScheme } from "react-native"
2 |
--------------------------------------------------------------------------------
/examples/rn-expo/hooks/useColorScheme.web.ts:
--------------------------------------------------------------------------------
1 | // NOTE: The default React Native styling doesn't support server rendering.
2 | // Server rendered styles should not change between the first render of the HTML
3 | // and the first render on the client. Typically, web developers will use CSS media queries
4 | // to render different styles on the client and server, these aren't directly supported in React Native
5 | // but can be achieved using a styling library like Nativewind.
6 | export function useColorScheme() {
7 | return "light"
8 | }
9 |
--------------------------------------------------------------------------------
/examples/rn-expo/hooks/useThemeColor.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Learn more about light and dark modes:
3 | * https://docs.expo.dev/guides/color-schemes/
4 | */
5 |
6 | import { useColorScheme } from "react-native"
7 |
8 | import { Colors } from "@/constants/Colors"
9 |
10 | export function useThemeColor(
11 | props: { light?: string; dark?: string },
12 | colorName: keyof typeof Colors.light & keyof typeof Colors.dark
13 | ) {
14 | const theme = useColorScheme() ?? "light"
15 | const colorFromProps = props[theme]
16 |
17 | if (colorFromProps) {
18 | return colorFromProps
19 | } else {
20 | return Colors[theme][colorName]
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/examples/rn-expo/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/examples/rn-expo/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | content: ["./app/**/*.{js,jsx,ts,tsx}"],
4 | theme: {
5 | extend: {},
6 | },
7 | plugins: [],
8 | }
9 |
--------------------------------------------------------------------------------
/examples/rn-expo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "expo/tsconfig.base",
3 | "compilerOptions": {
4 | "strict": true,
5 | "paths": {
6 | "@/*": ["./*"]
7 | }
8 | },
9 | "include": ["**/*.ts", "**/*.tsx", ".expo/types/**/*.ts", "expo-env.d.ts"]
10 | }
11 |
--------------------------------------------------------------------------------
/examples/svelte/.eslintignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/examples/svelte/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | parser: '@typescript-eslint/parser',
4 | extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
5 | plugins: ['svelte3', '@typescript-eslint'],
6 | ignorePatterns: ['*.cjs'],
7 | overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
8 | settings: {
9 | 'svelte3/typescript': () => require('typescript')
10 | },
11 | parserOptions: {
12 | sourceType: 'module',
13 | ecmaVersion: 2020
14 | },
15 | env: {
16 | browser: true,
17 | es2017: true,
18 | node: true
19 | }
20 | };
21 |
--------------------------------------------------------------------------------
/examples/svelte/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 | vite.config.js.timestamp-*
10 | vite.config.ts.timestamp-*
11 |
--------------------------------------------------------------------------------
/examples/svelte/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/examples/svelte/.prettierignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/examples/svelte/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "singleQuote": true,
4 | "trailingComma": "none",
5 | "printWidth": 100,
6 | "plugins": ["prettier-plugin-svelte"],
7 | "pluginSearchDirs": ["."],
8 | "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
9 | }
10 |
--------------------------------------------------------------------------------
/examples/svelte/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svelte",
3 | "version": "0.0.1",
4 | "private": true,
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite dev",
8 | "build": "vite build",
9 | "preview": "vite preview",
10 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
11 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
12 | "lint": "prettier --plugin-search-dir . --check . && eslint .",
13 | "format": "prettier --plugin-search-dir . --write ."
14 | },
15 | "devDependencies": {
16 | "@sveltejs/adapter-auto": "^2.0.0",
17 | "@sveltejs/kit": "^1.15.2",
18 | "@typescript-eslint/eslint-plugin": "^5.45.0",
19 | "@typescript-eslint/parser": "^5.45.0",
20 | "autoprefixer": "^10.4.14",
21 | "eslint": "^8.28.0",
22 | "eslint-config-prettier": "^8.5.0",
23 | "eslint-plugin-svelte3": "^4.0.0",
24 | "postcss": "^8.4.31",
25 | "prettier": "^2.8.0",
26 | "svelte": "^3.54.0",
27 | "svelte-check": "^3.0.1",
28 | "tailwindcss": "^3.3.1",
29 | "tslib": "^2.4.1",
30 | "typescript": "^5.0.0",
31 | "vite": "^4.5.3"
32 | },
33 | "dependencies": {
34 | "tailwindest": "2.0.0"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/examples/svelte/postcss.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/examples/svelte/src/app.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
--------------------------------------------------------------------------------
/examples/svelte/src/app.d.ts:
--------------------------------------------------------------------------------
1 | // See https://kit.svelte.dev/docs/types#app
2 | // for information about these interfaces
3 | declare global {
4 | namespace App {
5 | // interface Error {}
6 | // interface Locals {}
7 | // interface PageData {}
8 | // interface Platform {}
9 | }
10 | }
11 |
12 | export {};
13 |
--------------------------------------------------------------------------------
/examples/svelte/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | tailwindest + svelte
4 |
5 |
6 |
7 |
8 | %sveltekit.head%
9 |
10 |
11 | %sveltekit.body%
12 |
13 |
14 |
20 |
21 |
--------------------------------------------------------------------------------
/examples/svelte/src/components/theme.button.svelte:
--------------------------------------------------------------------------------
1 |
38 |
39 |
53 |
--------------------------------------------------------------------------------
/examples/svelte/src/routes/+layout.svelte:
--------------------------------------------------------------------------------
1 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/examples/svelte/src/store/theme.ts:
--------------------------------------------------------------------------------
1 | import { writable } from 'svelte/store';
2 |
3 | export const isDarkMode = writable(true);
4 |
--------------------------------------------------------------------------------
/examples/svelte/src/tw.ts:
--------------------------------------------------------------------------------
1 | import { createTools, type Tailwindest } from 'tailwindest';
2 |
3 | /**
4 | * Custom type definition of tailwindest
5 | * @see {@link https://tailwindest.vercel.app/apis/Tailwindest api reference}
6 | */
7 | type TailwindCustom = Tailwindest<{}, {}>;
8 | /**
9 | * Full type definition of `tailwindcss`
10 | */
11 | type Tailwind = Required;
12 |
13 | const tw = createTools();
14 |
15 | export { tw, type Tailwind };
16 |
--------------------------------------------------------------------------------
/examples/svelte/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/examples/svelte/static/favicon.png
--------------------------------------------------------------------------------
/examples/svelte/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{html,js,svelte,ts}'],
4 | theme: {
5 | extend: {}
6 | },
7 | plugins: [],
8 | darkMode: 'class'
9 | };
10 |
--------------------------------------------------------------------------------
/examples/svelte/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.svelte-kit/tsconfig.json",
3 | "compilerOptions": {
4 | "allowJs": true,
5 | "checkJs": true,
6 | "esModuleInterop": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "resolveJsonModule": true,
9 | "skipLibCheck": true,
10 | "sourceMap": true,
11 | "strict": true
12 | }
13 | // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
14 | //
15 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
16 | // from the referenced tsconfig.json - TypeScript does not merge them in
17 | }
18 |
--------------------------------------------------------------------------------
/examples/svelte/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { sveltekit } from '@sveltejs/kit/vite';
2 | import { defineConfig } from 'vite';
3 |
4 | export default defineConfig({
5 | plugins: [sveltekit()]
6 | });
7 |
--------------------------------------------------------------------------------
/images/create-tailwind-type-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/images/create-tailwind-type-banner.png
--------------------------------------------------------------------------------
/images/demo-result.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/images/demo-result.jpeg
--------------------------------------------------------------------------------
/images/tailwindest-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/images/tailwindest-banner.png
--------------------------------------------------------------------------------
/packages/create-tailwind-type/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # create-tailwind-type
2 |
3 | ## 1.0.9
4 |
5 | ### Patch Changes
6 |
7 | - Support filter color-variant
8 |
9 | ## 1.0.8
10 |
11 | ### Patch Changes
12 |
13 | - Support tailwindcss `v4.1.x`
14 |
15 | ## 1.0.7
16 |
17 | ### Patch Changes
18 |
19 | - Add disableVariants option at create-tailwind-type
20 |
21 | ## 1.0.6
22 |
23 | ### Patch Changes
24 |
25 | - Remove native prefix combination for custom plugin support
26 |
27 | ## 1.0.5
28 |
29 | ### Patch Changes
30 |
31 | - Fix resolving error at `@tailwindcss/node`
32 |
33 | ## 1.0.4
34 |
35 | ### Patch Changes
36 |
37 | - Fix resolving error at `@tailwindcss/node`, `prettier-plugin-jsdoc`
38 |
39 | ## 1.0.3
40 |
41 | ### Patch Changes
42 |
43 | - add single quote support for tailwind css file checking
44 |
45 | ## 1.0.2
46 |
47 | ### Patch Changes
48 |
49 | - Add dir-file generation process, if null
50 |
51 | ## 1.0.1
52 |
53 | ### Patch Changes
54 |
55 | - - Release tailwindest v3.0.0
56 | - Release create-tailwind-type v1
57 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "create-tailwind-type",
3 | "version": "1.0.9",
4 | "description": "Type generator for tailwindcss",
5 | "type": "module",
6 | "sideEffects": false,
7 | "scripts": {
8 | "build": "tsup",
9 | "build:fast": "tsup --no-dts",
10 | "format": "prettier --write \"./{src,tests}/**/*\"",
11 | "dev": "pnpm build:fast --sourcemap --clean=false --watch",
12 | "test": "vitest",
13 | "lint:ts": "tsc --noEmit",
14 | "prepare": "node ./src/site_extractor/build.mjs"
15 | },
16 | "publishConfig": {
17 | "access": "public"
18 | },
19 | "bin": {
20 | "create-tailwind-type": "./dist/index.js"
21 | },
22 | "files": [
23 | "dist"
24 | ],
25 | "main": "./dist/index.js",
26 | "module": "./dist/index.js",
27 | "types": "./dist/index.d.ts",
28 | "keywords": [],
29 | "private": false,
30 | "author": "danpacho",
31 | "license": "MIT",
32 | "dependencies": {
33 | "@tailwindcss/node": "^4.1.3",
34 | "boxen": "^8.0.1",
35 | "chalk": "^5.4.1",
36 | "commander": "^13.1.0",
37 | "glob": "^11.0.1",
38 | "lightningcss": "^1.29.1",
39 | "postcss": "^8.5.3",
40 | "prettier": "^3.5.2",
41 | "prettier-plugin-jsdoc": "^1.3.2",
42 | "tailwindcss": "^4.1.3"
43 | },
44 | "devDependencies": {
45 | "@types/jsdom": "^21.1.7",
46 | "jsdom": "^26.0.0"
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/constants/dirname.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath } from "url"
2 | import { dirname } from "path"
3 |
4 | const filename = fileURLToPath(import.meta.url)
5 | export const baseDir = dirname(filename)
6 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/generator/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./css_analyzer"
2 | export * from "./generator"
3 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/internal/__mocks__/tailwind.css:
--------------------------------------------------------------------------------
1 | @import "tailwindcss";
2 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/internal/__mocks__/utilities.css:
--------------------------------------------------------------------------------
1 | @tailwind utilities;
2 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/internal/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./compiler"
2 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/logger/__tests__/index.test.ts:
--------------------------------------------------------------------------------
1 | import { describe, expect, it } from "vitest"
2 |
3 | const hello = (name: string) => `Hello ${name}!`
4 |
5 | describe("logger test", () => {
6 | it("should be apple", () => {
7 | const apple = "apple"
8 | const hiApple = hello(apple)
9 | expect(hiApple).toBe("Hello apple!")
10 | })
11 | })
12 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/site_extractor/build.mjs:
--------------------------------------------------------------------------------
1 | import { fileExists } from "./util/fs.mjs"
2 | import { main as execDocs } from "./docs/main.mjs"
3 | import { main as execType } from "./types/main.mjs"
4 | import { join } from "node:path"
5 | import { STORE_ROOT } from "./constant.mjs"
6 |
7 | /**
8 | * @param {string} filename
9 | * @param {boolean} forceUpdate
10 | * @returns {Promise}
11 | */
12 | const shouldUpdate = async (filename, forceUpdate = false) => {
13 | return !(await fileExists(filename)) || forceUpdate
14 | }
15 |
16 | /**
17 | * @param {Array<{ type: "doc" | "type", filename: string, forceUpdate?: boolean }>} generateOptions
18 | */
19 | async function prepareStore(generateOptions) {
20 | for (const gen of generateOptions) {
21 | if (await shouldUpdate(gen.filename, gen.forceUpdate)) {
22 | console.log("START")
23 | switch (gen.type) {
24 | case "doc":
25 | execDocs(gen.filename)
26 | case "type":
27 | execType(gen.filename)
28 | }
29 | console.log("FIN")
30 | }
31 | }
32 | }
33 |
34 | async function main() {
35 | const DOC_STORE = join(STORE_ROOT, "docs.json")
36 | const TYPE_STORE = join(STORE_ROOT, "types.d.ts")
37 |
38 | await prepareStore([
39 | { type: "doc", filename: DOC_STORE, forceUpdate: false },
40 | { type: "type", filename: TYPE_STORE, forceUpdate: false },
41 | ])
42 | }
43 |
44 | await main()
45 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/site_extractor/constant.mjs:
--------------------------------------------------------------------------------
1 | import path from "node:path"
2 |
3 | // stored at dist for publication purpose
4 | export const STORE_ROOT = path.join(process.cwd(), "dist", "store")
5 |
6 | // site
7 | export const SITE_URL = "https://tailwindcss.com/docs"
8 |
9 | export const IGNORED = {
10 | pages: [
11 | "installation",
12 | "compatibility",
13 | "editor-setup",
14 | "using-with-preprocessors",
15 | "optimizing-for-production",
16 | "browser-support",
17 | "upgrade-guide",
18 | "utility-first",
19 | "hover-focus-and-other-states",
20 | "responsive-design",
21 | "dark-mode",
22 | "reusing-styles",
23 | "adding-custom-styles",
24 | "functions-and-directives",
25 | "configuration",
26 | "content-configuration",
27 | "detecting-classes-in-source-files",
28 | "theme",
29 | "screens",
30 | "styling",
31 | "customizing",
32 | "colors",
33 | "plugins",
34 | "presets",
35 | "preflight",
36 | ],
37 |
38 | classes: new Set([
39 | // From https://tailwindcss.com/docs/container
40 | "2xl",
41 | "lg",
42 | "md",
43 | "sm",
44 | "xl",
45 | ]),
46 | }
47 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/site_extractor/docs/main.mjs:
--------------------------------------------------------------------------------
1 | import process from "node:process"
2 |
3 | import { TailwindDocExtractor } from "./doc_generator.mjs"
4 | import { TailwindScraper } from "../scraper.mjs"
5 | import { SITE_URL } from "../constant.mjs"
6 |
7 | /**
8 | * @param {string} filename
9 | */
10 | export async function main(filename) {
11 | try {
12 | console.log("Doc store generation \n")
13 |
14 | const scraper = new TailwindScraper()
15 | const docExtractor = new TailwindDocExtractor(
16 | scraper,
17 | SITE_URL,
18 | filename
19 | )
20 |
21 | await docExtractor.generateDocInfo()
22 | console.log(
23 | `Documentation info generated at ${new Date().toLocaleDateString()}`
24 | )
25 | } catch (error) {
26 | console.error("Failed to generate Tailwind documentation info:", error)
27 | process.exit(1)
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/site_extractor/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "module": "NodeNext",
5 | "strict": true,
6 | "allowJs": true,
7 | "checkJs": true,
8 | "noEmit": true,
9 | "forceConsistentCasingInFileNames": true
10 | },
11 | "include": ["."],
12 | "exclude": ["**/*.ts"]
13 | }
14 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/site_extractor/types/main.mjs:
--------------------------------------------------------------------------------
1 | import process from "node:process"
2 |
3 | import { TailwindDocumentationGenerator } from "./type_generator.mjs"
4 | import { TailwindScraper } from "../scraper.mjs"
5 | import { SITE_URL } from "../constant.mjs"
6 |
7 | /**
8 | * @param {string} filename
9 | */
10 | export async function main(filename) {
11 | try {
12 | console.log("Type generation \n")
13 |
14 | const scraper = new TailwindScraper()
15 | const generator = new TailwindDocumentationGenerator(
16 | scraper,
17 | SITE_URL,
18 | filename
19 | )
20 |
21 | await generator.generate()
22 | console.log(`Classname generated at ${new Date().toLocaleString()}`)
23 | } catch (error) {
24 | console.error("Failed to generate Tailwind types:", error)
25 | process.exit(1)
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/type_tools/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./types"
2 | export * from "./type_generator"
3 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/type_tools/types/array.ts:
--------------------------------------------------------------------------------
1 | import { toGenericTypeString } from "./to.generic.type.string"
2 | import { type GenericOption, Type } from "./type"
3 |
4 | export class ArrayType extends Type {
5 | constructor(
6 | public element: Type,
7 | alias?: string,
8 | generic?: GenericOption
9 | ) {
10 | super()
11 | this.alias = alias
12 | this.generic = generic
13 | }
14 | private array(genericLiterals?: Array): string {
15 | return `Array<${this.element.toTypeString(genericLiterals)}>`
16 | }
17 | toTypeString(genericLiterals?: Array): string {
18 | return toGenericTypeString({
19 | typegen: this.array.bind(this),
20 | alias: this.alias,
21 | generic: this.generic,
22 | genericLiterals,
23 | })
24 | }
25 | collectAliases(genericLiterals?: Array): string[] {
26 | const childAliases = this.element.collectAliases(genericLiterals)
27 | const prefix = this.getTypePrefix()
28 | const selfAlias = this.alias
29 | ? [`${prefix}${this.array(genericLiterals)};`]
30 | : []
31 | return [...childAliases, ...selfAlias]
32 | }
33 | }
34 |
35 | export function array(
36 | type: Type,
37 | alias?: string,
38 | generic?: GenericOption
39 | ): ArrayType {
40 | return new ArrayType(type, alias, generic)
41 | }
42 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/type_tools/types/generic.ts:
--------------------------------------------------------------------------------
1 | import { Type } from "./type"
2 |
3 | export class GenericValueType extends Type {
4 | constructor(private value: string) {
5 | super()
6 | }
7 | toTypeString(): string {
8 | return this.value
9 | }
10 | collectAliases(): string[] {
11 | return []
12 | }
13 | }
14 |
15 | export class GenericType extends Type {
16 | constructor(
17 | private name: string,
18 | alias?: string
19 | ) {
20 | super()
21 | this.alias = alias
22 | }
23 | toTypeString(): string {
24 | return this.alias ? this.alias : this.name
25 | }
26 | collectAliases(): string[] {
27 | return this.alias ? [`type ${this.alias} = ${this.name};`] : []
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/type_tools/types/get.generic.ts:
--------------------------------------------------------------------------------
1 | import { GenericType, GenericValueType } from "./generic"
2 | import { GenericOption, Type } from "./type"
3 |
4 | export function getGeneric(
5 | generic: GenericOption | undefined,
6 | typeOrGeneric: string | Type
7 | ) {
8 | const isGenericImpossible = typeof typeOrGeneric !== "string"
9 | if (isGenericImpossible) return typeOrGeneric
10 |
11 | const literalUsage = !Array.isArray(generic) || generic.length === 0
12 | if (literalUsage) {
13 | return new GenericValueType(typeOrGeneric)
14 | }
15 |
16 | const matchedGeneric = generic.find((g) => {
17 | if (typeof g === "string") return g === typeOrGeneric
18 | return g.name === typeOrGeneric
19 | })
20 | if (!matchedGeneric) return new GenericValueType(typeOrGeneric)
21 |
22 | return new GenericType(typeOrGeneric)
23 | }
24 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/type_tools/types/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./primitives"
2 | export * from "./array"
3 | export * from "./record"
4 | export * from "./union"
5 | export * from "./intersection"
6 | export * from "./type"
7 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/src/type_tools/types/to.generic.type.string.ts:
--------------------------------------------------------------------------------
1 | import { GenericOption } from "./type"
2 |
3 | export function toGenericTypeString({
4 | generic,
5 | alias,
6 | genericLiterals,
7 | typegen,
8 | }: {
9 | generic: GenericOption | undefined
10 | alias: string | undefined
11 | typegen: (genericLiterals?: Array) => string
12 | genericLiterals?: Array | undefined
13 | }): string {
14 | if (!alias) return typegen(genericLiterals)
15 |
16 | if (genericLiterals && genericLiterals.length > 0 && generic) {
17 | const matchedGeneric =
18 | generic
19 | .map((g) => {
20 | if (typeof g === "string") return g
21 | return g.name
22 | })
23 | .join("") === genericLiterals.join("")
24 | if (matchedGeneric) {
25 | return `${alias}<${genericLiterals.join(", ")}>`
26 | }
27 | }
28 |
29 | return alias
30 | }
31 |
--------------------------------------------------------------------------------
/packages/create-tailwind-type/tsup.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "tsup"
2 |
3 | export default defineConfig((options) => ({
4 | entry: {
5 | index: "src/index.ts",
6 | },
7 | watch: options.watch ? ["src/**/*"] : false,
8 | clean: false,
9 | dts: true,
10 | outDir: "dist",
11 | target: "esnext",
12 | format: ["esm"],
13 | sourcemap: false,
14 | }))
15 |
--------------------------------------------------------------------------------
/packages/tailwindest/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tailwindest",
3 | "version": "3.2.0",
4 | "description": "typesafe, reusable tailwind",
5 | "homepage": "https://tailwindest.vercel.app",
6 | "author": "danpacho",
7 | "license": "MIT",
8 | "keywords": [
9 | "near zero bundle size",
10 | "type safe tailwind",
11 | "typed tailwind",
12 | "CSS in TS"
13 | ],
14 | "sideEffects": false,
15 | "publishConfig": {
16 | "access": "public"
17 | },
18 | "files": [
19 | "dist"
20 | ],
21 | "main": "./dist/index.js",
22 | "module": "./dist/index.mjs",
23 | "types": "./dist/index.d.ts",
24 | "scripts": {
25 | "build": "tsup src/index.ts --format=cjs,esm --dts",
26 | "build:fast": "tsup src/index.ts --format=cjs,esm"
27 | },
28 | "dependencies": {
29 | "clsx": "^2.1.1"
30 | },
31 | "devDependencies": {
32 | "tailwind-merge": "latest"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/index.ts:
--------------------------------------------------------------------------------
1 | import { createTools, type GetVariants } from "./tools"
2 |
3 | // Merger public interfaces
4 | export type { Merger as TailwindestMerger } from "./tools/merger_interface"
5 | export type { ClassList as TailwindestClassList } from "./tools/to_class"
6 |
7 | // V2 + tailwindcss < 4.0
8 | export type { Tailwindest } from "./legacy/tailwindest"
9 | export type { ShortTailwindest } from "./legacy/tailwindest.short"
10 |
11 | // V3 + tailwindcss >= 4.0
12 | export type {
13 | CreateTailwindest,
14 | CreateTailwindLiteral,
15 | } from "./create_tailwindest"
16 |
17 | // Export styler interfaces
18 | export type {
19 | Styler,
20 | PrimitiveStyler,
21 | RotaryStyler,
22 | ToggleStyler,
23 | VariantsStyler,
24 | } from "./tools"
25 |
26 | export { createTools, type GetVariants }
27 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/nest.keys/break.ts:
--------------------------------------------------------------------------------
1 | export type TailwindBreakConditions =
2 | | "contrast-more"
3 | | "contrast-less"
4 | | "motion-reduce"
5 | | "motion-safe"
6 | | "portrait"
7 | | "landscape"
8 | | "print"
9 | | "rtl"
10 | | "ltr"
11 | | "forced-colors"
12 | | "sm"
13 | | "md"
14 | | "lg"
15 | | "xl"
16 | | "2xl"
17 | | "max-sm"
18 | | "max-md"
19 | | "max-lg"
20 | | "max-xl"
21 | | "max-2xl"
22 | | "aria-checked"
23 | | "aria-disabled"
24 | | "aria-expanded"
25 | | "aria-hidden"
26 | | "aria-pressed"
27 | | "aria-readonly"
28 | | "aria-required"
29 | | "aria-selected"
30 | | "dark"
31 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/nest.keys/global.ts:
--------------------------------------------------------------------------------
1 | export type TailwindGlobalConditions = "*"
2 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/nest.keys/pseudo.class.ts:
--------------------------------------------------------------------------------
1 | export type TailwindPseudoClassConditions =
2 | | "hover"
3 | | "active"
4 | | "first"
5 | | "last"
6 | | "only"
7 | | "odd"
8 | | "even"
9 | | "first-of-type"
10 | | "last-of-type"
11 | | "only-of-type"
12 | | "empty"
13 | | "enabled"
14 | | "indeterminate"
15 | | "default"
16 | | "required"
17 | | "valid"
18 | | "invalid"
19 | | "in-range"
20 | | "out-of-range"
21 | | "placeholder-shown"
22 | | "autofill"
23 | | "read-only"
24 | | "checked"
25 | | "disabled"
26 | | "visited"
27 | | "target"
28 | | "focus"
29 | | "focus-within"
30 | | "focus-visible"
31 | | "optional"
32 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/nest.keys/pseudo.element.ts:
--------------------------------------------------------------------------------
1 | export type TailwindPseudoElementConditions =
2 | | "before"
3 | | "after"
4 | | "placeholder"
5 | | "file"
6 | | "marker"
7 | | "backdrop"
8 | | "selection"
9 | | "first-line"
10 | | "first-letter"
11 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/plugin.ts:
--------------------------------------------------------------------------------
1 | export type Literalize = Literal extends string
2 | ? string extends Literal
3 | ? never
4 | : Literal
5 | : never
6 |
7 | type RecordWithPartial = { [P in Key]?: Value }
8 |
9 | export type PlugBase = string | undefined
10 | export type Pluggable = Literalize>
11 |
12 | export type PluginOption<
13 | OptionKey extends string,
14 | OptionValueType = string,
15 | > = RecordWithPartial
16 |
17 | export type PluginVariants<
18 | Title extends string,
19 | Value extends string,
20 | > = `${Title}-${Value}`
21 |
22 | export type PluginVariantsWithDirection<
23 | Title extends string,
24 | Value extends string,
25 | > = PluginVariants
26 |
27 | export type ToPlugin =
28 | | Value
29 | | Pluggable
30 |
31 | export type ToPluginWithTitle<
32 | Title extends string,
33 | Value extends string,
34 | Plug extends PlugBase = "",
35 | > = PluginVariants>
36 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/core/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./tailwind"
2 | export * from "./tailwind.short"
3 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/index.ts:
--------------------------------------------------------------------------------
1 | import type { ShortTailwind, Tailwind } from "./core"
2 | import type {
3 | TailwindDefaultGlobalPlugOption,
4 | TailwindDefaultStylePlug,
5 | TailwindGlobalPlugOption,
6 | TailwindStylePlugOption,
7 | } from "./plugin"
8 |
9 | /**
10 | * @description tailwind type definition with pluggable style
11 | * @description follow `CSS` properties syntax
12 | */
13 | export type TailwindPlugin<
14 | GlobalPluginOption extends
15 | TailwindGlobalPlugOption = TailwindDefaultGlobalPlugOption,
16 | PlugStyleOption extends TailwindStylePlugOption = TailwindDefaultStylePlug,
17 | > = PlugStyleOption extends TailwindDefaultStylePlug
18 | ? Tailwind
19 | : Tailwind
20 |
21 | /**
22 | * @description tailwind type definition with pluggable style
23 | * @description follow short-handed `CSS` properties syntax
24 | */
25 | export type ShortTailwindPlugin<
26 | GlobalPluginOption extends
27 | TailwindGlobalPlugOption = TailwindDefaultGlobalPlugOption,
28 | PlugStyleOption extends TailwindStylePlugOption = TailwindDefaultStylePlug,
29 | > = PlugStyleOption extends TailwindDefaultStylePlug
30 | ? ShortTailwind
31 | : ShortTailwind
32 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/plugin/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./tailwind.plugin.key"
2 | export * from "./tailwind.plugin.option"
3 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/plugin/tailwind.plugin.option.ts:
--------------------------------------------------------------------------------
1 | import type { PluginOption } from "../../plugin"
2 | import { TailwindColorPluginOptionKey } from "../properties"
3 | import type { TailwindStylePluginKey } from "./tailwind.plugin.key"
4 |
5 | export type TailwindStylePlugOption = PluginOption
6 |
7 | type DEFAULT_VALUE = ""
8 | export type TailwindDefaultStylePlug = PluginOption<
9 | TailwindStylePluginKey,
10 | DEFAULT_VALUE
11 | >
12 |
13 | type TailwindGlobalPlugOptionKey =
14 | | TailwindColorPluginOptionKey
15 | | "sizing"
16 | | "screens"
17 | export type TailwindGlobalPlugOption = PluginOption
18 |
19 | export type TailwindDefaultGlobalPlugOption = PluginOption<
20 | TailwindGlobalPlugOptionKey,
21 | DEFAULT_VALUE
22 | >
23 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/accessibility/@forced.color.adjust.ts:
--------------------------------------------------------------------------------
1 | type TailwindForcedColorAdjust = "auto" | "none"
2 | export type TailwindForcedColorAdjustType = {
3 | /**
4 | *@description Utilities for opting in and out of forced colors.
5 | *@see {@link https://tailwindcss.com/docs/forced-color-adjust forced color adjust}
6 | */
7 | forcedColorAdjust: `forced-color-adjust-${TailwindForcedColorAdjust}`
8 | }
9 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/accessibility/@screen.readers.ts:
--------------------------------------------------------------------------------
1 | type TailwindScreenReaders = "sr-only" | "not-sr-only"
2 | export type TailwindScreenReadersType = {
3 | /**
4 | *@description Utilities for improving accessibility with screen readers.
5 | *@see {@link https://tailwindcss.com/docs/screen-readers screen readers}
6 | */
7 | screenReaders: TailwindScreenReaders
8 | }
9 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/accessibility/index.ts:
--------------------------------------------------------------------------------
1 | import { TailwindForcedColorAdjustType } from "./@forced.color.adjust"
2 | import { TailwindScreenReadersType } from "./@screen.readers"
3 |
4 | export interface TailwindAccessibility
5 | extends TailwindScreenReadersType,
6 | TailwindForcedColorAdjustType {}
7 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/@background.attachment.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundAttachmentVariants = "fixed" | "local" | "scroll"
2 | type TailwindBackgroundAttachment = `bg-${TailwindBackgroundAttachmentVariants}`
3 | export type TailwindBackgroundAttachmentType = {
4 | /**
5 | *@description Utilities for controlling how a background image behaves when scrolling.
6 | *@see {@link https://tailwindcss.com/docs/background-attachment background attachment}
7 | */
8 | backgroundAttachment: TailwindBackgroundAttachment
9 | }
10 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/@background.clip.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundClipVariants = "border" | "padding" | "content" | "text"
2 | type TailwindBackgroundClip = `bg-clip-${TailwindBackgroundClipVariants}`
3 | export type TailwindBackgroundClipType = {
4 | /**
5 | *@description Utilities for controlling the bounding box of an element's background.
6 | *@see {@link https://tailwindcss.com/docs/background-clip background clip}
7 | */
8 | backgroundClip: TailwindBackgroundClip
9 | }
10 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/@background.color.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 |
3 | export type TailwindBackgroundColorType<
4 | TailwindColor extends string,
5 | Plug extends PlugBase = "",
6 | > = {
7 | /**
8 | *@description Utilities for controlling an element's background color.
9 | *@see {@link https://tailwindcss.com/docs/background-color background color}
10 | */
11 | backgroundColor: `bg-${TailwindColor | Pluggable}`
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/@background.origin.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundOriginVariants = "border" | "padding" | "content"
2 | type TailwindBackgroundOrigin = `bg-origin-${TailwindBackgroundOriginVariants}`
3 | export type TailwindBackgroundOriginType = {
4 | /**
5 | *@description Utilities for controlling how an element's background is positioned relative to borders, padding, and content.
6 | *@see {@link https://tailwindcss.com/docs/background-origin background origin}
7 | */
8 | backgroundOrigin: TailwindBackgroundOrigin
9 | }
10 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/@background.position.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindBackgroundPositionVariants =
5 | | "bottom"
6 | | "top"
7 | | "center"
8 | | "left"
9 | | "left-bottom"
10 | | "left-top"
11 | | "right"
12 | | "right-bottom"
13 | | "right-top"
14 | | TailwindArbitrary
15 | | Pluggable
16 |
17 | type TailwindBackgroundPosition =
18 | `bg-${TailwindBackgroundPositionVariants}`
19 | export type TailwindBackgroundPositionType = {
20 | /**
21 | *@description Utilities for controlling the position of an element's background image.
22 | *@see {@link https://tailwindcss.com/docs/background-position background position}
23 | */
24 | backgroundPosition: TailwindBackgroundPosition
25 | }
26 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/@background.repeat.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundRepeatVariants = "x" | "y" | "round" | "space"
2 | type TailwindBackgroundRepeat =
3 | | "bg-repeat"
4 | | "bg-no-repeat"
5 | | `bg-repeat-${TailwindBackgroundRepeatVariants}`
6 | export type TailwindBackgroundRepeatType = {
7 | /**
8 | *@description Utilities for controlling the repetition of an element's background image.
9 | *@see {@link https://tailwindcss.com/docs/background-repeat background repeat}
10 | */
11 | backgroundRepeat: TailwindBackgroundRepeat
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/@background.size.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindBackgroundSizeVariants =
5 | | "auto"
6 | | "cover"
7 | | "contain"
8 | | TailwindArbitrary
9 | | Pluggable
10 |
11 | type TailwindBackgroundSize =
12 | `bg-${TailwindBackgroundSizeVariants}`
13 | export type TailwindBackgroundSizeType = {
14 | /**
15 | *@description Utilities for controlling the background size of an element's background image.
16 | *@see {@link https://tailwindcss.com/docs/background-size background size}
17 | */
18 | backgroundSize: TailwindBackgroundSize
19 | }
20 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/@gradient.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindGradientVariants =
5 | | "t"
6 | | "tr"
7 | | "r"
8 | | "br"
9 | | "b"
10 | | "bl"
11 | | "l"
12 | | "tl"
13 | | Pluggable
14 | | TailwindArbitrary
15 |
16 | type TailwindGradient =
17 | | "bg-none"
18 | | `bg-gradient-to-${TailwindGradientVariants}`
19 | export type TailwindBackgroundImageType = {
20 | /**
21 | *@description Utilities for controlling an element's gradient background image.
22 | *@see {@link https://tailwindcss.com/docs/background-image gradient}
23 | */
24 | gradient: TailwindGradient
25 | }
26 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/short/@background.attachment.short.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundAttachmentVariants = "fixed" | "local" | "scroll"
2 | type TailwindBackgroundAttachment = `bg-${TailwindBackgroundAttachmentVariants}`
3 | export type ShortTailwindBackgroundAttachmentType = {
4 | /**
5 | *@description Utilities for controlling how a background image behaves when scrolling.
6 | *@see {@link https://tailwindcss.com/docs/background-attachment background attachment}
7 | */
8 | bgAttachment: TailwindBackgroundAttachment
9 | }
10 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/short/@background.clip.short.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundClipVariants = "border" | "padding" | "content" | "text"
2 | type TailwindBackgroundClip = `bg-clip-${TailwindBackgroundClipVariants}`
3 | export type ShortTailwindBackgroundClipType = {
4 | /**
5 | *@description Utilities for controlling the bounding box of an element's background.
6 | *@see {@link https://tailwindcss.com/docs/background-clip background clip}
7 | */
8 | bgClip: TailwindBackgroundClip
9 | }
10 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/short/@background.color.short.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../../plugin"
2 |
3 | export type ShortTailwindBackgroundColorType<
4 | TailwindColor extends string,
5 | Plug extends PlugBase = "",
6 | > = {
7 | /**
8 | *@description Utilities for controlling an element's background color.
9 | *@see {@link https://tailwindcss.com/docs/background-color background color}
10 | */
11 | bg: `bg-${TailwindColor | Pluggable}`
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/short/@background.origin.short.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundOriginVariants = "border" | "padding" | "content"
2 | type TailwindBackgroundOrigin = `bg-origin-${TailwindBackgroundOriginVariants}`
3 | export type ShortTailwindBackgroundOriginType = {
4 | /**
5 | *@description Utilities for controlling how an element's background is positioned relative to borders, padding, and content.
6 | *@see {@link https://tailwindcss.com/docs/background-origin background origin}
7 | */
8 | bgOrigin: TailwindBackgroundOrigin
9 | }
10 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/short/@background.position.short.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../../plugin"
2 | import { TailwindArbitrary } from "../../common/@arbitrary"
3 |
4 | type TailwindBackgroundPositionVariants =
5 | | "bottom"
6 | | "top"
7 | | "center"
8 | | "left"
9 | | "left-bottom"
10 | | "left-top"
11 | | "right"
12 | | "right-bottom"
13 | | "right-top"
14 | | TailwindArbitrary
15 | | Pluggable
16 |
17 | type TailwindBackgroundPosition =
18 | `bg-${TailwindBackgroundPositionVariants}`
19 | export type ShortTailwindBackgroundPositionType = {
20 | /**
21 | *@description Utilities for controlling the position of an element's background image.
22 | *@see {@link https://tailwindcss.com/docs/background-position background position}
23 | */
24 | bgPosition: TailwindBackgroundPosition
25 | }
26 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/short/@background.repeat.short.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundRepeatVariants = "x" | "y" | "round" | "space"
2 | type TailwindBackgroundRepeat =
3 | | "bg-repeat"
4 | | "bg-no-repeat"
5 | | `bg-repeat-${TailwindBackgroundRepeatVariants}`
6 | export type ShortTailwindBackgroundRepeatType = {
7 | /**
8 | *@description Utilities for controlling the repetition of an element's background image.
9 | *@see {@link https://tailwindcss.com/docs/background-repeat background repeat}
10 | */
11 | bgRepeat: TailwindBackgroundRepeat
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/backgrounds/short/@background.size.short.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../../plugin"
2 | import { TailwindArbitrary } from "../../common/@arbitrary"
3 |
4 | type TailwindBackgroundSizeVariants =
5 | | "auto"
6 | | "cover"
7 | | "contain"
8 | | TailwindArbitrary
9 | | Pluggable
10 |
11 | type TailwindBackgroundSize =
12 | `bg-${TailwindBackgroundSizeVariants}`
13 | export type ShortTailwindBackgroundSizeType = {
14 | /**
15 | *@description Utilities for controlling the background size of an element's background image.
16 | *@see {@link https://tailwindcss.com/docs/background-size background size}
17 | */
18 | bgSize: TailwindBackgroundSize
19 | }
20 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/@border.style.ts:
--------------------------------------------------------------------------------
1 | export type TailwindBorderStyleVariants =
2 | | "solid"
3 | | "dashed"
4 | | "dotted"
5 | | "double"
6 | | "hidden"
7 | | "none"
8 |
9 | type TailwindBorderStyle = `border-${TailwindBorderStyleVariants}`
10 | export type TailwindBorderStyleType = {
11 | /**
12 | *@description Utilities for controlling the style of an element's borders.
13 | *@see {@link https://tailwindcss.com/docs/border-style border style}
14 | */
15 | borderStyle: TailwindBorderStyle
16 | }
17 |
18 | type TailwindDivideStyle = `divide-${TailwindBorderStyleVariants}`
19 | export type TailwindDivideStyleType = {
20 | /**
21 | *@description Utilities for controlling the border style between elements.
22 | *@see {@link https://tailwindcss.com/docs/divide-style divide style}
23 | */
24 | divideStyle: TailwindDivideStyle
25 | }
26 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/@outline.color.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 |
3 | export type TailwindOutlineColorType<
4 | TailwindColor extends string,
5 | Plug extends PlugBase = "",
6 | > = {
7 | /**
8 | *@description Utilities for controlling the color of an element's outline.
9 | *@see {@link https://tailwindcss.com/docs/outline-color outline color}
10 | */
11 | outlineColor: `outline-${TailwindColor | Pluggable}`
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/@outline.offset.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindOutlineOffsetVariants =
5 | | "0"
6 | | "1"
7 | | "2"
8 | | "4"
9 | | "8"
10 | | Pluggable
11 | | TailwindArbitrary
12 |
13 | type TailwindOutlineOffset =
14 | `outline-offset-${TailwindOutlineOffsetVariants}`
15 | export type TailwindOutlineOffsetType = {
16 | /**
17 | *@description Utilities for controlling the offset of an element's outline.
18 | *@see {@link https://tailwindcss.com/docs/outline-offset outline offset}
19 | */
20 | outlineOffset: TailwindOutlineOffset
21 | }
22 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/@outline.style.ts:
--------------------------------------------------------------------------------
1 | import { TailwindBorderStyleVariants } from "./@border.style"
2 |
3 | type TailwindOutlineStyle = "outline" | `outline-${TailwindBorderStyleVariants}`
4 | export type TailwindOutlineStyleType = {
5 | /**
6 | *@description Utilities for controlling the style of an element's outline.
7 | *@see {@link https://tailwindcss.com/docs/outline-style outline style}
8 | */
9 | outlineStyle: TailwindOutlineStyle
10 | }
11 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/@outline.width.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindOutlineWidthVariants =
5 | | "0"
6 | | "1"
7 | | "2"
8 | | "4"
9 | | "8"
10 | | Pluggable
11 | | TailwindArbitrary
12 |
13 | type TailwindOutlineWidth =
14 | `outline-${TailwindOutlineWidthVariants}`
15 | export type TailwindOutlineWidthType = {
16 | /**
17 | *@description Utilities for controlling the width of an element's outline.
18 | *@see {@link https://tailwindcss.com/docs/outline-width outline width}
19 | */
20 | outlineWidth: TailwindOutlineWidth
21 | }
22 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/@ring.color.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 |
3 | export type TailwindRingColorType<
4 | TailwindColor extends string,
5 | Plug extends PlugBase = "",
6 | > = {
7 | /**
8 | *@description Utilities for setting the color of outline rings.
9 | *@see {@link https://tailwindcss.com/docs/ring-color ring color}
10 | */
11 | ringColor: `ring-${TailwindColor | Pluggable}`
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/@ring.offset.color.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 |
3 | export type TailwindRingOffsetColorType<
4 | TailwindColor extends string,
5 | Plug extends PlugBase = "",
6 | > = {
7 | /**
8 | *@description Utilities for setting the color of outline ring offsets.
9 | *@see {@link https://tailwindcss.com/docs/ring-offset-color ring offset color}
10 | */
11 | ringOffsetColor: `ring-offset-${TailwindColor | Pluggable}`
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/@ring.offset.width.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindRingOffsetWidthVariants =
5 | | "0"
6 | | "1"
7 | | "2"
8 | | "4"
9 | | "8"
10 | | Pluggable
11 | | TailwindArbitrary
12 |
13 | type TailwindRingOffsetWidth =
14 | `ring-offset-${TailwindRingOffsetWidthVariants}`
15 | export type TailwindRingOffsetWidthType = {
16 | /**
17 | *@description Utilities for simulating an offset when adding outline rings.
18 | *@see {@link https://tailwindcss.com/docs/ring-offset-width ring offset width}
19 | */
20 | ringOffsetWidth: TailwindRingOffsetWidth
21 | }
22 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/@ring.width.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindRingWidthVariants =
5 | | "0"
6 | | "1"
7 | | "2"
8 | | "4"
9 | | "8"
10 | | "inset"
11 | | Pluggable
12 | | TailwindArbitrary
13 |
14 | type TailwindRingWidth =
15 | | "ring"
16 | | `ring-${TailwindRingWidthVariants}`
17 | export type TailwindRingWidthType = {
18 | /**
19 | *@description Utilities for creating outline rings with box-shadows.
20 | *@see {@link https://tailwindcss.com/docs/ring-width ring width}
21 | */
22 | ringWidth: TailwindRingWidth
23 | }
24 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/short/@outline.color.short.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../../plugin"
2 |
3 | export type ShortTailwindOutlineColorType<
4 | TailwindColor extends string,
5 | Plug extends PlugBase = "",
6 | > = {
7 | /**
8 | *@description Utilities for controlling the color of an element's outline.
9 | *@see {@link https://tailwindcss.com/docs/outline-color outline color}
10 | */
11 | outline: `outline-${TailwindColor | Pluggable}`
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/short/@outline.width.short.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../../plugin"
2 | import { TailwindArbitrary } from "../../common/@arbitrary"
3 |
4 | type TailwindOutlineWidthVariants =
5 | | "0"
6 | | "1"
7 | | "2"
8 | | "4"
9 | | "8"
10 | | Pluggable
11 | | TailwindArbitrary
12 |
13 | type TailwindOutlineWidth =
14 | `outline-${TailwindOutlineWidthVariants}`
15 | export type ShortTailwindOutlineWidthType = {
16 | /**
17 | *@description Utilities for controlling the width of an element's outline.
18 | *@see {@link https://tailwindcss.com/docs/outline-width outline width}
19 | */
20 | outlineW: TailwindOutlineWidth
21 | }
22 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/short/@ring.color.short.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../../plugin"
2 |
3 | export type ShortTailwindRingColorType<
4 | TailwindColor extends string,
5 | Plug extends PlugBase = "",
6 | > = {
7 | /**
8 | *@description Utilities for setting the color of outline rings.
9 | *@see {@link https://tailwindcss.com/docs/ring-color ring color}
10 | */
11 | ring: `ring-${TailwindColor | Pluggable}`
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/short/@ring.offset.color.short.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../../plugin"
2 |
3 | export type ShortTailwindRingOffsetColorType<
4 | TailwindColor extends string,
5 | Plug extends PlugBase = "",
6 | > = {
7 | /**
8 | *@description Utilities for setting the color of outline ring offsets.
9 | *@see {@link https://tailwindcss.com/docs/ring-offset-color ring offset color}
10 | */
11 | ringOffset: `ring-offset-${TailwindColor | Pluggable}`
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/short/@ring.offset.width.short.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../../plugin"
2 | import { TailwindArbitrary } from "../../common/@arbitrary"
3 |
4 | type TailwindRingOffsetWidthVariants =
5 | | "0"
6 | | "1"
7 | | "2"
8 | | "4"
9 | | "8"
10 | | Pluggable
11 | | TailwindArbitrary
12 |
13 | type TailwindRingOffsetWidth =
14 | `ring-offset-${TailwindRingOffsetWidthVariants}`
15 | export type ShortTailwindRingOffsetWidthType = {
16 | /**
17 | *@description Utilities for simulating an offset when adding outline rings.
18 | *@see {@link https://tailwindcss.com/docs/ring-offset-width ring offset width}
19 | */
20 | ringOffsetW: TailwindRingOffsetWidth
21 | }
22 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/borders/short/@ring.width.short.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../../plugin"
2 | import { TailwindArbitrary } from "../../common/@arbitrary"
3 |
4 | type TailwindRingWidthVariants =
5 | | "0"
6 | | "1"
7 | | "2"
8 | | "4"
9 | | "8"
10 | | "inset"
11 | | Pluggable
12 | | TailwindArbitrary
13 |
14 | type TailwindRingWidth =
15 | | "ring"
16 | | `ring-${TailwindRingWidthVariants}`
17 | export type ShortTailwindRingWidthType = {
18 | /**
19 | *@description Utilities for creating outline rings with box-shadows.
20 | *@see {@link https://tailwindcss.com/docs/ring-width ring width}
21 | */
22 | ringW: TailwindRingWidth
23 | }
24 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/common/@accent.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "./@arbitrary"
3 |
4 | export type TailwindOpacity =
5 | | "0"
6 | | "5"
7 | | "10"
8 | | "15"
9 | | "20"
10 | | "25"
11 | | "30"
12 | | "35"
13 | | "40"
14 | | "45"
15 | | "50"
16 | | "55"
17 | | "60"
18 | | "65"
19 | | "70"
20 | | "75"
21 | | "80"
22 | | "85"
23 | | "90"
24 | | "95"
25 | | "100"
26 | | TailwindArbitrary
27 | | Pluggable
28 |
29 | export type TailwindColorAccent =
30 | | "50"
31 | | "100"
32 | | "200"
33 | | "300"
34 | | "400"
35 | | "500"
36 | | "600"
37 | | "700"
38 | | "800"
39 | | "900"
40 | | "950"
41 |
42 | export type TailwindColorWithOpacity =
43 | `${string}/${TailwindOpacity}`
44 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/common/@arbitrary.ts:
--------------------------------------------------------------------------------
1 | export type TailwindArbitrary = `[${string}]`
2 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/common/@color.ts:
--------------------------------------------------------------------------------
1 | import { PluginOption } from "../../../plugin"
2 | import { TailwindGlobalPluginKey } from "../../plugin"
3 | import { TailwindColorAccent, TailwindColorWithOpacity } from "./@accent"
4 | import {
5 | TailwindColorWithNoVariants,
6 | TailwindColorWithVariants,
7 | } from "./@color.variants"
8 |
9 | export type TailwindColorPluginOptionKey = Exclude<
10 | TailwindGlobalPluginKey,
11 | "sizing"
12 | >
13 | type TailwindColorPlugOption = PluginOption
14 |
15 | type TailwindDefaultColor =
16 | `${TailwindColorWithVariants}-${TailwindColorAccent}`
17 |
18 | export type TailwindColor<
19 | PlugOption extends TailwindColorPlugOption = PluginOption<
20 | TailwindColorPluginOptionKey,
21 | ""
22 | >,
23 | > =
24 | | TailwindDefaultColor
25 | | TailwindColorWithNoVariants
26 | | TailwindColorWithOpacity
27 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/common/@color.variants.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "./@arbitrary"
3 |
4 | export type TailwindColorWithVariants =
5 | | "slate"
6 | | "gray"
7 | | "neutral"
8 | | "stone"
9 | | "red"
10 | | "orange"
11 | | "yellow"
12 | | "lime"
13 | | "amber"
14 | | "green"
15 | | "teal"
16 | | "blue"
17 | | "indigo"
18 | | "sky"
19 | | "cyan"
20 | | "emerald"
21 | | "violet"
22 | | "fuchsia"
23 | | "pink"
24 | | "rose"
25 | | "purple"
26 |
27 | export type TailwindColorWithNoVariants =
28 | | "inherit"
29 | | "current"
30 | | "transparent"
31 | | "black"
32 | | "white"
33 | | Pluggable
34 | | TailwindArbitrary
35 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/common/@spacing.variants.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "./@arbitrary"
3 |
4 | export type TailwindSpacingVariants =
5 | | "96"
6 | | "80"
7 | | "72"
8 | | "64"
9 | | "60"
10 | | "56"
11 | | "52"
12 | | "48"
13 | | "44"
14 | | "40"
15 | | "36"
16 | | "32"
17 | | "28"
18 | | "24"
19 | | "20"
20 | | "16"
21 | | "14"
22 | | "12"
23 | | "11"
24 | | "10"
25 | | "9"
26 | | "8"
27 | | "7"
28 | | "6"
29 | | "5"
30 | | "4"
31 | | "3.5"
32 | | "3"
33 | | "2.5"
34 | | "2"
35 | | "1.5"
36 | | "1"
37 | | "0.5"
38 | | "0"
39 | | "px"
40 | | TailwindArbitrary
41 | | Pluggable
42 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/common/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./@spacing.variants"
2 | export * from "./@color"
3 | export * from "./@accent"
4 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/effects/@background.blend.mode.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundBlendModeVariants =
2 | | "normal"
3 | | "multiply"
4 | | "screen"
5 | | "overlay"
6 | | "darken"
7 | | "lighten"
8 | | "color-dodge"
9 | | "color-burn"
10 | | "hard-light"
11 | | "soft-light"
12 | | "difference"
13 | | "exclusion"
14 | | "hue"
15 | | "saturation"
16 | | "color"
17 | | "luminosity"
18 | type TailwindBackgroundBlendMode =
19 | `bg-blend-${TailwindBackgroundBlendModeVariants}`
20 | export type TailwindBackgroundBlendModeType = {
21 | /**
22 | *@description Utilities for controlling how an element's background image should blend with its background color.
23 | *@see {@link https://tailwindcss.com/docs/background-blend-mode background blend mode}
24 | */
25 | backgroundBlendMode: TailwindBackgroundBlendMode
26 | }
27 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/effects/@box.shadow.color.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 |
3 | export type TailwindBoxShadowColorType<
4 | TailwindColor extends string,
5 | Plug extends PlugBase = "",
6 | > = {
7 | /**
8 | *@description Utilities for controlling the color of a box shadow.
9 | *@see {@link https://tailwindcss.com/docs/box-shadow-color box shadow color}
10 | */
11 | boxShadowColor: `shadow-${TailwindColor | Pluggable}`
12 | }
13 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/effects/@box.shadow.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 |
3 | type TailwindBoxShadowVariants =
4 | | Pluggable
5 | | "sm"
6 | | "md"
7 | | "lg"
8 | | "xl"
9 | | "2xl"
10 | | "inner"
11 | | "none"
12 |
13 | type TailwindBoxShadow =
14 | | "shadow"
15 | | `shadow-${TailwindBoxShadowVariants}`
16 | export type TailwindBoxShadowType = {
17 | /**
18 | *@description Utilities for controlling the box shadow of an element.
19 | *@see {@link https://tailwindcss.com/docs/box-shadow box shadow}
20 | */
21 | boxShadow: TailwindBoxShadow
22 | }
23 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/effects/@mix.blend.mode.ts:
--------------------------------------------------------------------------------
1 | type TailwindMixBlendModeVariants =
2 | | "normal"
3 | | "multiply"
4 | | "screen"
5 | | "overlay"
6 | | "darken"
7 | | "lighten"
8 | | "color-dodge"
9 | | "color-burn"
10 | | "hard-light"
11 | | "soft-light"
12 | | "difference"
13 | | "exclusion"
14 | | "hue"
15 | | "saturation"
16 | | "color"
17 | | "luminosity"
18 | | "plus-lighter"
19 |
20 | type TailwindMixBlendMode = `mix-blend-${TailwindMixBlendModeVariants}`
21 | export type TailwindMixBlendModeType = {
22 | /**
23 | *@description
24 | *@see {@link https://tailwindcss.com/docs/mix-blend-mode mix blend mode}
25 | */
26 | mixBlendMode: TailwindMixBlendMode
27 | }
28 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/effects/@opacity.ts:
--------------------------------------------------------------------------------
1 | export type TailwindOpacityType = {
2 | /**
3 | *@description Utilities for controlling the opacity of an element.
4 | *@see {@link https://tailwindcss.com/docs/opacity opacity}
5 | */
6 | opacity: `opacity-${TailwindOpacity}`
7 | }
8 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/effects/index.ts:
--------------------------------------------------------------------------------
1 | import { TailwindBackgroundBlendModeType } from "./@background.blend.mode"
2 | import { TailwindBoxShadowType } from "./@box.shadow"
3 | import { TailwindBoxShadowColorType } from "./@box.shadow.color"
4 | import { TailwindMixBlendModeType } from "./@mix.blend.mode"
5 | import { TailwindOpacityType } from "./@opacity"
6 |
7 | export interface TailwindEffectsPlug {
8 | boxShadow?: string
9 | boxShadowColor?: string
10 | }
11 |
12 | export interface TailwindEffects<
13 | TailwindColor extends string,
14 | TailwindOpacity extends string,
15 | EffectsPlug extends {
16 | boxShadow?: string
17 | boxShadowColor?: string
18 | } = {
19 | boxShadow: ""
20 | boxShadowColor: ""
21 | },
22 | > extends TailwindOpacityType,
23 | TailwindBoxShadowColorType<
24 | TailwindColor,
25 | EffectsPlug["boxShadowColor"]
26 | >,
27 | TailwindBoxShadowType,
28 | TailwindBackgroundBlendModeType,
29 | TailwindMixBlendModeType {}
30 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/effects/short/@background.blend.mode.short.ts:
--------------------------------------------------------------------------------
1 | type TailwindBackgroundBlendModeVariants =
2 | | "normal"
3 | | "multiply"
4 | | "screen"
5 | | "overlay"
6 | | "darken"
7 | | "lighten"
8 | | "color-dodge"
9 | | "color-burn"
10 | | "hard-light"
11 | | "soft-light"
12 | | "difference"
13 | | "exclusion"
14 | | "hue"
15 | | "saturation"
16 | | "color"
17 | | "luminosity"
18 | type TailwindBackgroundBlendMode =
19 | `bg-blend-${TailwindBackgroundBlendModeVariants}`
20 | export type ShortTailwindBackgroundBlendModeType = {
21 | /**
22 | *@description Utilities for controlling how an element's background image should blend with its background color.
23 | *@see {@link https://tailwindcss.com/docs/background-blend-mode background blend mode}
24 | */
25 | bgBlendMode: TailwindBackgroundBlendMode
26 | }
27 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/effects/short/index.ts:
--------------------------------------------------------------------------------
1 | import { TailwindBoxShadowType } from "../@box.shadow"
2 | import { TailwindBoxShadowColorType } from "../@box.shadow.color"
3 | import { TailwindMixBlendModeType } from "../@mix.blend.mode"
4 | import { TailwindOpacityType } from "../@opacity"
5 | import { ShortTailwindBackgroundBlendModeType } from "./@background.blend.mode.short"
6 |
7 | export interface ShortTailwindEffects<
8 | TailwindColor extends string,
9 | TailwindOpacity extends string,
10 | EffectsPlug extends {
11 | boxShadow?: string
12 | boxShadowColor?: string
13 | } = {
14 | boxShadow: ""
15 | boxShadowColor: ""
16 | },
17 | > extends TailwindOpacityType,
18 | TailwindBoxShadowColorType<
19 | TailwindColor,
20 | EffectsPlug["boxShadowColor"]
21 | >,
22 | TailwindBoxShadowType,
23 | TailwindMixBlendModeType,
24 | ShortTailwindBackgroundBlendModeType {}
25 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@backdrop.opacity.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindBackdropOpacityVariants =
5 | | "0"
6 | | "5"
7 | | "10"
8 | | "20"
9 | | "25"
10 | | "30"
11 | | "40"
12 | | "50"
13 | | "60"
14 | | "70"
15 | | "75"
16 | | "80"
17 | | "90"
18 | | "95"
19 | | "100"
20 | | Pluggable
21 | | TailwindArbitrary
22 |
23 | type TailwindBackdropOpacity =
24 | `backdrop-opacity-${TailwindBackdropOpacityVariants}`
25 | export type TailwindBackdropOpacityType = {
26 | /**
27 | *@description Utilities for applying backdrop opacity filters to an element.
28 | *@see {@link https://tailwindcss.com/docs/backdrop-opacity backdrop opacity}
29 | */
30 | backdropOpacity: TailwindBackdropOpacity
31 | }
32 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@blur.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindBlurVariants = Pluggable<
5 | | "none"
6 | | "sm"
7 | | "md"
8 | | "lg"
9 | | "xl"
10 | | "2xl"
11 | | "3xl"
12 | | Plug
13 | | TailwindArbitrary
14 | >
15 | type TailwindBlur =
16 | | "blur"
17 | | `blur-${TailwindBlurVariants}`
18 |
19 | export type TailwindBlurType = {
20 | /**
21 | *@description Utilities for applying blur filters to an element.
22 | *@see {@link https://tailwindcss.com/docs/blur blur}
23 | */
24 | filterBlur: TailwindBlur
25 | }
26 |
27 | type TailwindBackdropBlur =
28 | `backdrop-blur-${TailwindBlurVariants}`
29 | export type TailwindBackdropBlurType = {
30 | /**
31 | *@description Utilities for applying backdrop blur filters to an element.
32 | *@see {@link https://tailwindcss.com/docs/backdrop-blur backdrop blur}
33 | */
34 | backdropBlur: TailwindBackdropBlur
35 | }
36 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@brightness.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindBrightnessVariants =
5 | | "0"
6 | | "50"
7 | | "75"
8 | | "90"
9 | | "95"
10 | | "100"
11 | | "105"
12 | | "110"
13 | | "125"
14 | | "150"
15 | | "200"
16 | | Pluggable
17 | | TailwindArbitrary
18 |
19 | type TailwindBrightness =
20 | `brightness-${TailwindBrightnessVariants}`
21 | export type TailwindBrightnessType = {
22 | /**
23 | *@description Utilities for applying brightness filters to an element.
24 | *@see {@link https://tailwindcss.com/docs/brightness brightness}
25 | */
26 | filterBrightness: TailwindBrightness
27 | }
28 |
29 | type TailwindBackdropBrightness =
30 | `backdrop-brightness-${TailwindBrightnessVariants}`
31 | export type TailwindBackdropBrightnessType = {
32 | /**
33 | *@description Utilities for applying backdrop brightness filters to an element.
34 | *@see {@link https://tailwindcss.com/docs/backdrop-brightness backdrop brightness}
35 | */
36 | backdropBrightness: TailwindBackdropBrightness
37 | }
38 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@contrast.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindContrastVariants = Pluggable<
5 | "0" | "50" | "75" | "100" | "125" | "150" | "200" | TailwindArbitrary | Plug
6 | >
7 | type TailwindContrast =
8 | `contrast-${TailwindContrastVariants}`
9 | export type TailwindContrastType = {
10 | /**
11 | *@description Utilities for applying contrast filters to an element.
12 | *@see {@link https://tailwindcss.com/docs/contrast contrast}
13 | */
14 | filterContrast: TailwindContrast
15 | }
16 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@drop.shadow.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindDropShadowVariants =
5 | | "sm"
6 | | "md"
7 | | "lg"
8 | | "xl"
9 | | "2xl"
10 | | "none"
11 | | Pluggable
12 | | TailwindArbitrary
13 |
14 | type TailwindDropShadow =
15 | | "drop-shadow"
16 | | `drop-shadow-${TailwindDropShadowVariants}`
17 | export type TailwindDropShadowType = {
18 | /**
19 | *@description Utilities for applying drop-shadow filters to an element.
20 | *@see {@link https://tailwindcss.com/docs/drop-shadow drop shadow}
21 | */
22 | filterDropShadow: TailwindDropShadow
23 | }
24 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@grayscale.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindGrayscaleVariants = Pluggable<
5 | "0" | Plug | TailwindArbitrary
6 | >
7 |
8 | type TailwindGrayscale =
9 | | "grayscale"
10 | | `grayscale-${TailwindGrayscaleVariants}`
11 | export type TailwindGrayscaleType = {
12 | /**
13 | *@description Utilities for applying grayscale filters to an element.
14 | *@see {@link https://tailwindcss.com/docs/grayscale grayscale}
15 | */
16 | filterGrayscale: TailwindGrayscale
17 | }
18 |
19 | type TailwindBackdropGrayscale =
20 | | "backdrop-grayscale"
21 | | `backdrop-grayscale-${TailwindGrayscaleVariants}`
22 | export type TailwindBackdropGrayscaleType = {
23 | /**
24 | *@description Utilities for applying backdrop grayscale filters to an element.
25 | *@see {@link https://tailwindcss.com/docs/backdrop-grayscale backdrop grayscale}
26 | */
27 | backdropGrayscale: TailwindBackdropGrayscale
28 | }
29 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@hue.rotate.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindHueRotateVariants =
5 | | "0"
6 | | "15"
7 | | "30"
8 | | "60"
9 | | "90"
10 | | "100"
11 | | Pluggable
12 | | TailwindArbitrary
13 |
14 | type TailwindHueRotate =
15 | | `hue-rotate-${TailwindHueRotateVariants}`
16 | | `-hue-rotate-${TailwindHueRotateVariants}`
17 | export type TailwindHueRotateType = {
18 | /**
19 | *@description Utilities for applying hue-rotate filters to an element.
20 | *@see {@link https://tailwindcss.com/docs/hue-rotate hue-rotate}
21 | */
22 | filterHueRotate: TailwindHueRotate
23 | }
24 |
25 | type TailwindBackdropHueRotate =
26 | | `backdrop-hue-rotate-${TailwindHueRotateVariants}`
27 | | `-backdrop-hue-rotate-${TailwindHueRotateVariants}`
28 | export type TailwindBackdropHueRotateType = {
29 | /**
30 | *@description Utilities for applying backdrop hue-rotate filters to an element.
31 | *@see {@link https://tailwindcss.com/docs/backdrop-hue-rotate backdrop hue-rotate}
32 | */
33 | backdropHueRotate: TailwindBackdropHueRotate
34 | }
35 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@invert.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindInvertVariants = Pluggable<
5 | "0" | Plug | TailwindArbitrary
6 | >
7 |
8 | type TailwindInvert =
9 | | "invert"
10 | | `invert-${TailwindInvertVariants}`
11 | export type TailwindInvertType = {
12 | /**
13 | *@description Utilities for applying invert filters to an element.
14 | *@see {@link https://tailwindcss.com/docs/invert invert}
15 | */
16 | filterInvert: TailwindInvert
17 | }
18 |
19 | type TailwindBackdropInvert =
20 | | "backdrop-invert"
21 | | `backdrop-invert-${TailwindInvertVariants}`
22 | export type TailwindBackdropInvertType = {
23 | /**
24 | *@description Utilities for applying backdrop invert filters to an element.
25 | *@see {@link https://tailwindcss.com/docs/backdrop-invert backdrop invert}
26 | */
27 | backdropInvert: TailwindBackdropInvert
28 | }
29 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@saturate.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindSaturateVariants =
5 | | "0"
6 | | "50"
7 | | "100"
8 | | "150"
9 | | "200"
10 | | Pluggable
11 | | TailwindArbitrary
12 |
13 | type TailwindSaturate =
14 | `saturate-${TailwindSaturateVariants}`
15 | export type TailwindSaturateType = {
16 | /**
17 | *@description Utilities for applying saturation filters to an element.
18 | *@see {@link https://tailwindcss.com/docs/saturate saturate}
19 | */
20 | filterSaturate: TailwindSaturate
21 | }
22 |
23 | type TailwindBackdropSaturate =
24 | `backdrop-saturate-${TailwindSaturateVariants}`
25 | export type TailwindBackdropSaturateType = {
26 | /**
27 | *@description Utilities for applying backdrop saturation filters to an element.
28 | *@see {@link https://tailwindcss.com/docs/backdrop-saturate backdrop saturate}
29 | */
30 | backdropSaturate: TailwindBackdropSaturate
31 | }
32 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/filters/@sepia.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindSepiaVariants = Pluggable<
5 | "0" | Plug | TailwindArbitrary
6 | >
7 |
8 | type TailwindSepia =
9 | | "sepia"
10 | | `sepia-${TailwindSepiaVariants}`
11 | export type TailwindSepiaType = {
12 | /**
13 | *@description Utilities for applying sepia filters to an element.
14 | *@see {@link https://tailwindcss.com/docs/sepia sepia}
15 | */
16 | filterSepia: TailwindSepia
17 | }
18 |
19 | type TailwindBackdropSepia =
20 | `backdrop-sepia-${TailwindSepiaVariants}`
21 | export type TailwindBackdropSepiaType = {
22 | /**
23 | *@description Utilities for applying backdrop sepia filters to an element.
24 | *@see {@link https://tailwindcss.com/docs/backdrop-sepia backdrop sepia}
25 | */
26 | backdropSepia: TailwindBackdropSepia
27 | }
28 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@common.gap.ts:
--------------------------------------------------------------------------------
1 | import { PluginVariants } from "../../../plugin"
2 |
3 | export type TailwindGapType = {
4 | /**
5 | *@description Utilities for controlling gutters between grid and flexbox items.
6 | *@see {@link https://tailwindcss.com/docs/gap gap}
7 | */
8 | gap: PluginVariants<"gap", Gap>
9 | /**
10 | *@description Utilities for controlling gutters between grid and flexbox items at x axis.
11 | *@see {@link https://tailwindcss.com/docs/gap gap}
12 | */
13 | gapX: PluginVariants<"gap-x", Gap>
14 | /**
15 | *@description Utilities for controlling gutters between grid and flexbox items at y axis.
16 | *@see {@link https://tailwindcss.com/docs/gap gap}
17 | */
18 | gapY: PluginVariants<"gap-y", Gap>
19 | }
20 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@common.justify.ts:
--------------------------------------------------------------------------------
1 | type TailwindJustifyContentVariants =
2 | | "start"
3 | | "end"
4 | | "center"
5 | | "between"
6 | | "around"
7 | | "evenly"
8 | type TailwindJustifyContent = `justify-${TailwindJustifyContentVariants}`
9 | export type TailwindJustifyContentType = {
10 | /**
11 | *@description Utilities for controlling how flex and grid items are positioned along a container's main axis.
12 | *@see {@link https://tailwindcss.com/docs/justify-content justify content}
13 | */
14 | justifyContent: TailwindJustifyContent
15 | }
16 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@common.order.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindFlexGridOrderVariants =
5 | | "first"
6 | | "last"
7 | | "none"
8 | | "1"
9 | | "2"
10 | | "3"
11 | | "4"
12 | | "5"
13 | | "6"
14 | | "7"
15 | | "8"
16 | | "9"
17 | | "10"
18 | | "11"
19 | | "12"
20 | | Pluggable
21 | | TailwindArbitrary
22 |
23 | type TailwindFlexGridOrder =
24 | `order-${TailwindFlexGridOrderVariants}`
25 | export type TailwindFlexGridOrderType = {
26 | /**
27 | *@description Utilities for controlling the order of flex and grid items.
28 | *@see {@link https://tailwindcss.com/docs/order order}
29 | */
30 | order: TailwindFlexGridOrder
31 | }
32 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@flex.basis.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindFlexBasisVariants<
5 | TailwindSpacing extends string,
6 | Plug extends PlugBase = "",
7 | > =
8 | | "1/2"
9 | | "1/3"
10 | | "2/3"
11 | | "1/4"
12 | | "2/4"
13 | | "3/4"
14 | | "1/5"
15 | | "2/5"
16 | | "3/5"
17 | | "4/5"
18 | | "1/6"
19 | | "2/6"
20 | | "3/6"
21 | | "4/6"
22 | | "5/6"
23 | | "1/12"
24 | | "2/12"
25 | | "3/12"
26 | | "4/12"
27 | | "5/12"
28 | | "6/12"
29 | | "7/12"
30 | | "8/12"
31 | | "9/12"
32 | | "10/12"
33 | | "11/12"
34 | | "full"
35 | | TailwindArbitrary
36 | | TailwindSpacing
37 | | Pluggable
38 |
39 | type TailwindFlexBasis<
40 | TailwindSpacing extends string,
41 | Plug extends PlugBase = "",
42 | > = `basis-${TailwindFlexBasisVariants}`
43 |
44 | export type TailwindFlexBasisType<
45 | TailwindSpacing extends string,
46 | Plug extends PlugBase = "",
47 | > = {
48 | /**
49 | *@description Utilities for controlling the initial size of flex items.
50 | *@see {@link https://tailwindcss.com/docs/flex-basis flex basis}
51 | */
52 | flexBasis: TailwindFlexBasis
53 | }
54 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@flex.direction.ts:
--------------------------------------------------------------------------------
1 | type TailwindFlexDirectionVariants =
2 | | "row"
3 | | "row-reverse"
4 | | "col"
5 | | "col-reverse"
6 | type TailwindFlexDirection = `flex-${TailwindFlexDirectionVariants}`
7 | export type TailwindFlexDirectionType = {
8 | /**
9 | *@description Utilities for controlling the direction of flex items.
10 | *@see {@link https://tailwindcss.com/docs/flex-direction flex direction}
11 | */
12 | flexDirection: TailwindFlexDirection
13 | }
14 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@flex.grow.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindFlexGrow =
5 | | "grow"
6 | | "grow-0"
7 | | `grow-${TailwindArbitrary | Pluggable}`
8 |
9 | export type TailwindFlexGrowType = {
10 | /**
11 | *@description Utilities for controlling how flex items grow.
12 | *@see {@link https://tailwindcss.com/docs/flex-grow flex grow}
13 | */
14 | flexGrow: TailwindFlexGrow
15 | }
16 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@flex.shrink.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindFlexShrink =
5 | | "shrink"
6 | | "shrink-0"
7 | | `shrink-${TailwindArbitrary | Pluggable}`
8 |
9 | export type TailwindFlexShrinkType = {
10 | /**
11 | *@description Utilities for controlling how flex items shrink.
12 | *@see {@link https://tailwindcss.com/docs/flex-shrink flex shrink}
13 | */
14 | flexShrink: TailwindFlexShrink
15 | }
16 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@flex.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindFlexVariants =
5 | | "1"
6 | | "auto"
7 | | "initial"
8 | | "none"
9 | | Pluggable
10 | | TailwindArbitrary
11 |
12 | type TailwindFlex =
13 | `flex-${TailwindFlexVariants}`
14 | export type TailwindFlexType = {
15 | /**
16 | *@description Utilities for controlling how flex items both grow and shrink.
17 | *@see {@link https://tailwindcss.com/docs/flex flex}
18 | */
19 | flex: TailwindFlex
20 | }
21 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@flex.wrap.ts:
--------------------------------------------------------------------------------
1 | import { TailwindArbitrary } from "../common/@arbitrary"
2 |
3 | type TailwindFlexWrapVariants =
4 | | "wrap"
5 | | "wrap-reverse"
6 | | "nowrap"
7 | | TailwindArbitrary
8 | type TailwindFlexWrap = `flex-${TailwindFlexWrapVariants}`
9 | export type TailwindFlexWrapType = {
10 | /**
11 | *@description Utilities for controlling how flex items wrap.
12 | *@see {@link https://tailwindcss.com/docs/flex-wrap flex wrap}
13 | */
14 | flexWrap: TailwindFlexWrap
15 | }
16 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@grid.auto.flow.ts:
--------------------------------------------------------------------------------
1 | type TailwindGridAutoFlowVariants =
2 | | "row"
3 | | "col"
4 | | "dense"
5 | | "row-dense"
6 | | "col-dense"
7 |
8 | type TailwindGridAutoFlow = `grid-flow-${TailwindGridAutoFlowVariants}`
9 | export type TailwindGridAutoFlowType = {
10 | /**
11 | *@description Utilities for controlling how elements in a grid are auto-placed.
12 | *@see {@link https://tailwindcss.com/docs/grid-auto-flow grid auto flow}
13 | */
14 | gridAutoFlow: TailwindGridAutoFlow
15 | }
16 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@grid.auto.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindGridAutoCommonVariants =
5 | | "auto"
6 | | "min"
7 | | "max"
8 | | "fr"
9 | | TailwindArbitrary
10 |
11 | type TailwindGridAutoColumns = `grid-cols-${
12 | | TailwindGridAutoCommonVariants
13 | | Pluggable}`
14 |
15 | export type TailwindGridAutoColumnsType = {
16 | /**
17 | *@description Utilities for controlling the size of implicitly-created grid columns.
18 | *@see {@link https://tailwindcss.com/docs/grid-auto-columns grid auto columns}
19 | */
20 | gridAutoColumns: TailwindGridAutoColumns
21 | }
22 |
23 | type TailwindGridAutoRows = `auto-rows-${
24 | | TailwindGridAutoCommonVariants
25 | | Pluggable}`
26 |
27 | export type TailwindGridAutoRowsType = {
28 | /**
29 | *@description Utilities for controlling the size of implicitly-created grid rows.
30 | *@see {@link https://tailwindcss.com/docs/grid-auto-rows grid auto rows}
31 | */
32 | gridAutoRows: TailwindGridAutoRows
33 | }
34 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@grid.justify.ts:
--------------------------------------------------------------------------------
1 | type TailwindGridJustifyItemsVariants = "start" | "end" | "center" | "stretch"
2 | type TailwindGridJustifyItems =
3 | `justify-items-${TailwindGridJustifyItemsVariants}`
4 | export type TailwindGridJustifyItemsType = {
5 | /**
6 | *@description Utilities for controlling how grid items are aligned along their inline axis.
7 | *@see {@link https://tailwindcss.com/docs/justify-items justify items}
8 | */
9 | justifyItems: TailwindGridJustifyItems
10 | }
11 |
12 | type TailwindGridJustifySelfVariants = "auto" | TailwindGridJustifyItemsVariants
13 | type TailwindGridJustifySelf = `justify-self-${TailwindGridJustifySelfVariants}`
14 | export type TailwindGridJustifySelfType = {
15 | /**
16 | *@description Utilities for controlling how an individual grid item is aligned along its inline axis.
17 | *@see {@link https://tailwindcss.com/docs/justify-self justify self}
18 | */
19 | justifySelf: TailwindGridJustifySelf
20 | }
21 |
--------------------------------------------------------------------------------
/packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@grid.template.ts:
--------------------------------------------------------------------------------
1 | import { PlugBase, Pluggable } from "../../../plugin"
2 | import { TailwindArbitrary } from "../common/@arbitrary"
3 |
4 | type TailwindGridTemplateVariants = Pluggable<
5 | | "subgrid"
6 | | "none"
7 | | "1"
8 | | "2"
9 | | "3"
10 | | "4"
11 | | "5"
12 | | "6"
13 | | "7"
14 | | "8"
15 | | "9"
16 | | "10"
17 | | "11"
18 | | "12"
19 | | Plug
20 | | TailwindArbitrary
21 | >
22 |
23 | type TailwindGridTemplateRows =
24 | `grid-rows-${TailwindGridTemplateVariants}`
25 | export type TailwindGridTemplateRowsType = {
26 | /**
27 | *@description Utilities for specifying the rows in a grid layout.
28 | *@see {@link https://tailwindcss.com/docs/grid-template-rows grid template rows}
29 | */
30 | gridTemplateRows: TailwindGridTemplateRows
31 | }
32 |
33 | type TailwindGridTemplateColumns =
34 | `grid-cols-${TailwindGridTemplateVariants