├── .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<Value extends string, Plug extends PlugBase = ""> = 28 | | Value 29 | | Pluggable<Plug> 30 | 31 | export type ToPluginWithTitle< 32 | Title extends string, 33 | Value extends string, 34 | Plug extends PlugBase = "", 35 | > = PluginVariants<Title, ToPlugin<Value, Plug>> 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<GlobalPluginOption> 19 | : Tailwind<GlobalPluginOption, PlugStyleOption> 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<GlobalPluginOption> 31 | : ShortTailwind<GlobalPluginOption, PlugStyleOption> 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<TailwindStylePluginKey> 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<TailwindGlobalPlugOptionKey> 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<Plug>}` 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<Plug extends PlugBase = ""> = 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<Plug> 16 | 17 | type TailwindBackgroundPosition<Plug extends PlugBase = ""> = 18 | `bg-${TailwindBackgroundPositionVariants<Plug>}` 19 | export type TailwindBackgroundPositionType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "auto" 6 | | "cover" 7 | | "contain" 8 | | TailwindArbitrary 9 | | Pluggable<Plug> 10 | 11 | type TailwindBackgroundSize<Plug extends PlugBase = ""> = 12 | `bg-${TailwindBackgroundSizeVariants<Plug>}` 13 | export type TailwindBackgroundSizeType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "t" 6 | | "tr" 7 | | "r" 8 | | "br" 9 | | "b" 10 | | "bl" 11 | | "l" 12 | | "tl" 13 | | Pluggable<Plug> 14 | | TailwindArbitrary 15 | 16 | type TailwindGradient<Plug extends PlugBase = ""> = 17 | | "bg-none" 18 | | `bg-gradient-to-${TailwindGradientVariants<Plug>}` 19 | export type TailwindBackgroundImageType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug>}` 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<Plug extends PlugBase = ""> = 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<Plug> 16 | 17 | type TailwindBackgroundPosition<Plug extends PlugBase = ""> = 18 | `bg-${TailwindBackgroundPositionVariants<Plug>}` 19 | export type ShortTailwindBackgroundPositionType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "auto" 6 | | "cover" 7 | | "contain" 8 | | TailwindArbitrary 9 | | Pluggable<Plug> 10 | 11 | type TailwindBackgroundSize<Plug extends PlugBase = ""> = 12 | `bg-${TailwindBackgroundSizeVariants<Plug>}` 13 | export type ShortTailwindBackgroundSizeType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug>}` 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "1" 7 | | "2" 8 | | "4" 9 | | "8" 10 | | Pluggable<Plug> 11 | | TailwindArbitrary 12 | 13 | type TailwindOutlineOffset<Plug extends PlugBase = ""> = 14 | `outline-offset-${TailwindOutlineOffsetVariants<Plug>}` 15 | export type TailwindOutlineOffsetType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "1" 7 | | "2" 8 | | "4" 9 | | "8" 10 | | Pluggable<Plug> 11 | | TailwindArbitrary 12 | 13 | type TailwindOutlineWidth<Plug extends PlugBase = ""> = 14 | `outline-${TailwindOutlineWidthVariants<Plug>}` 15 | export type TailwindOutlineWidthType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug>}` 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<Plug>}` 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "1" 7 | | "2" 8 | | "4" 9 | | "8" 10 | | Pluggable<Plug> 11 | | TailwindArbitrary 12 | 13 | type TailwindRingOffsetWidth<Plug extends PlugBase = ""> = 14 | `ring-offset-${TailwindRingOffsetWidthVariants<Plug>}` 15 | export type TailwindRingOffsetWidthType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "1" 7 | | "2" 8 | | "4" 9 | | "8" 10 | | "inset" 11 | | Pluggable<Plug> 12 | | TailwindArbitrary 13 | 14 | type TailwindRingWidth<Plug extends PlugBase = ""> = 15 | | "ring" 16 | | `ring-${TailwindRingWidthVariants<Plug>}` 17 | export type TailwindRingWidthType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug>}` 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "1" 7 | | "2" 8 | | "4" 9 | | "8" 10 | | Pluggable<Plug> 11 | | TailwindArbitrary 12 | 13 | type TailwindOutlineWidth<Plug extends PlugBase = ""> = 14 | `outline-${TailwindOutlineWidthVariants<Plug>}` 15 | export type ShortTailwindOutlineWidthType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug>}` 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<Plug>}` 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "1" 7 | | "2" 8 | | "4" 9 | | "8" 10 | | Pluggable<Plug> 11 | | TailwindArbitrary 12 | 13 | type TailwindRingOffsetWidth<Plug extends PlugBase = ""> = 14 | `ring-offset-${TailwindRingOffsetWidthVariants<Plug>}` 15 | export type ShortTailwindRingOffsetWidthType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "1" 7 | | "2" 8 | | "4" 9 | | "8" 10 | | "inset" 11 | | Pluggable<Plug> 12 | | TailwindArbitrary 13 | 14 | type TailwindRingWidth<Plug extends PlugBase = ""> = 15 | | "ring" 16 | | `ring-${TailwindRingWidthVariants<Plug>}` 17 | export type ShortTailwindRingWidthType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 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<Plug> 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<Plug extends PlugBase = ""> = 43 | `${string}/${TailwindOpacity<Plug>}` 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<TailwindColorPluginOptionKey> 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<PlugOption["color"]> 26 | | TailwindColorWithOpacity<PlugOption["opacity"]> 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<Plug extends PlugBase = ""> = 28 | | "inherit" 29 | | "current" 30 | | "transparent" 31 | | "black" 32 | | "white" 33 | | Pluggable<Plug> 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<Plug extends PlugBase = ""> = 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<Plug> 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<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/effects/@box.shadow.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | type TailwindBoxShadowVariants<Plug extends PlugBase = ""> = 4 | | Pluggable<Plug> 5 | | "sm" 6 | | "md" 7 | | "lg" 8 | | "xl" 9 | | "2xl" 10 | | "inner" 11 | | "none" 12 | 13 | type TailwindBoxShadow<Plug extends PlugBase = ""> = 14 | | "shadow" 15 | | `shadow-${TailwindBoxShadowVariants<Plug>}` 16 | export type TailwindBoxShadowType<Plug extends PlugBase = ""> = { 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<Plug> 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<TailwindOpacity extends string> = { 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<TailwindOpacity>, 23 | TailwindBoxShadowColorType< 24 | TailwindColor, 25 | EffectsPlug["boxShadowColor"] 26 | >, 27 | TailwindBoxShadowType<EffectsPlug["boxShadow"]>, 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<TailwindOpacity>, 18 | TailwindBoxShadowColorType< 19 | TailwindColor, 20 | EffectsPlug["boxShadowColor"] 21 | >, 22 | TailwindBoxShadowType<EffectsPlug["boxShadow"]>, 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<Plug extends PlugBase = ""> = 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<Plug> 21 | | TailwindArbitrary 22 | 23 | type TailwindBackdropOpacity<Plug extends PlugBase = ""> = 24 | `backdrop-opacity-${TailwindBackdropOpacityVariants<Plug>}` 25 | export type TailwindBackdropOpacityType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = Pluggable< 5 | | "none" 6 | | "sm" 7 | | "md" 8 | | "lg" 9 | | "xl" 10 | | "2xl" 11 | | "3xl" 12 | | Plug 13 | | TailwindArbitrary 14 | > 15 | type TailwindBlur<Plug extends PlugBase = ""> = 16 | | "blur" 17 | | `blur-${TailwindBlurVariants<Plug>}` 18 | 19 | export type TailwindBlurType<Plug extends PlugBase = ""> = { 20 | /** 21 | *@description Utilities for applying blur filters to an element. 22 | *@see {@link https://tailwindcss.com/docs/blur blur} 23 | */ 24 | filterBlur: TailwindBlur<Plug> 25 | } 26 | 27 | type TailwindBackdropBlur<Plug extends PlugBase = ""> = 28 | `backdrop-blur-${TailwindBlurVariants<Plug>}` 29 | export type TailwindBackdropBlurType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "50" 7 | | "75" 8 | | "90" 9 | | "95" 10 | | "100" 11 | | "105" 12 | | "110" 13 | | "125" 14 | | "150" 15 | | "200" 16 | | Pluggable<Plug> 17 | | TailwindArbitrary 18 | 19 | type TailwindBrightness<Plug extends PlugBase = ""> = 20 | `brightness-${TailwindBrightnessVariants<Plug>}` 21 | export type TailwindBrightnessType<Plug extends PlugBase = ""> = { 22 | /** 23 | *@description Utilities for applying brightness filters to an element. 24 | *@see {@link https://tailwindcss.com/docs/brightness brightness} 25 | */ 26 | filterBrightness: TailwindBrightness<Plug> 27 | } 28 | 29 | type TailwindBackdropBrightness<Plug extends PlugBase = ""> = 30 | `backdrop-brightness-${TailwindBrightnessVariants<Plug>}` 31 | export type TailwindBackdropBrightnessType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = Pluggable< 5 | "0" | "50" | "75" | "100" | "125" | "150" | "200" | TailwindArbitrary | Plug 6 | > 7 | type TailwindContrast<Plug extends PlugBase = ""> = 8 | `contrast-${TailwindContrastVariants<Plug>}` 9 | export type TailwindContrastType<Plug extends PlugBase = ""> = { 10 | /** 11 | *@description Utilities for applying contrast filters to an element. 12 | *@see {@link https://tailwindcss.com/docs/contrast contrast} 13 | */ 14 | filterContrast: TailwindContrast<Plug> 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<Plug extends PlugBase = ""> = 5 | | "sm" 6 | | "md" 7 | | "lg" 8 | | "xl" 9 | | "2xl" 10 | | "none" 11 | | Pluggable<Plug> 12 | | TailwindArbitrary 13 | 14 | type TailwindDropShadow<Plug extends PlugBase = ""> = 15 | | "drop-shadow" 16 | | `drop-shadow-${TailwindDropShadowVariants<Plug>}` 17 | export type TailwindDropShadowType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = Pluggable< 5 | "0" | Plug | TailwindArbitrary 6 | > 7 | 8 | type TailwindGrayscale<Plug extends PlugBase = ""> = 9 | | "grayscale" 10 | | `grayscale-${TailwindGrayscaleVariants<Plug>}` 11 | export type TailwindGrayscaleType<Plug extends PlugBase = ""> = { 12 | /** 13 | *@description Utilities for applying grayscale filters to an element. 14 | *@see {@link https://tailwindcss.com/docs/grayscale grayscale} 15 | */ 16 | filterGrayscale: TailwindGrayscale<Plug> 17 | } 18 | 19 | type TailwindBackdropGrayscale<Plug extends PlugBase = ""> = 20 | | "backdrop-grayscale" 21 | | `backdrop-grayscale-${TailwindGrayscaleVariants<Plug>}` 22 | export type TailwindBackdropGrayscaleType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "15" 7 | | "30" 8 | | "60" 9 | | "90" 10 | | "100" 11 | | Pluggable<Plug> 12 | | TailwindArbitrary 13 | 14 | type TailwindHueRotate<Plug extends PlugBase = ""> = 15 | | `hue-rotate-${TailwindHueRotateVariants<Plug>}` 16 | | `-hue-rotate-${TailwindHueRotateVariants<Plug>}` 17 | export type TailwindHueRotateType<Plug extends PlugBase = ""> = { 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<Plug> 23 | } 24 | 25 | type TailwindBackdropHueRotate<Plug extends PlugBase = ""> = 26 | | `backdrop-hue-rotate-${TailwindHueRotateVariants<Plug>}` 27 | | `-backdrop-hue-rotate-${TailwindHueRotateVariants<Plug>}` 28 | export type TailwindBackdropHueRotateType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = Pluggable< 5 | "0" | Plug | TailwindArbitrary 6 | > 7 | 8 | type TailwindInvert<Plug extends PlugBase = ""> = 9 | | "invert" 10 | | `invert-${TailwindInvertVariants<Plug>}` 11 | export type TailwindInvertType<Plug extends PlugBase = ""> = { 12 | /** 13 | *@description Utilities for applying invert filters to an element. 14 | *@see {@link https://tailwindcss.com/docs/invert invert} 15 | */ 16 | filterInvert: TailwindInvert<Plug> 17 | } 18 | 19 | type TailwindBackdropInvert<Plug extends PlugBase = ""> = 20 | | "backdrop-invert" 21 | | `backdrop-invert-${TailwindInvertVariants<Plug>}` 22 | export type TailwindBackdropInvertType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "50" 7 | | "100" 8 | | "150" 9 | | "200" 10 | | Pluggable<Plug> 11 | | TailwindArbitrary 12 | 13 | type TailwindSaturate<Plug extends PlugBase = ""> = 14 | `saturate-${TailwindSaturateVariants<Plug>}` 15 | export type TailwindSaturateType<Plug extends PlugBase = ""> = { 16 | /** 17 | *@description Utilities for applying saturation filters to an element. 18 | *@see {@link https://tailwindcss.com/docs/saturate saturate} 19 | */ 20 | filterSaturate: TailwindSaturate<Plug> 21 | } 22 | 23 | type TailwindBackdropSaturate<Plug extends PlugBase = ""> = 24 | `backdrop-saturate-${TailwindSaturateVariants<Plug>}` 25 | export type TailwindBackdropSaturateType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = Pluggable< 5 | "0" | Plug | TailwindArbitrary 6 | > 7 | 8 | type TailwindSepia<Plug extends PlugBase = ""> = 9 | | "sepia" 10 | | `sepia-${TailwindSepiaVariants<Plug>}` 11 | export type TailwindSepiaType<Plug extends PlugBase = ""> = { 12 | /** 13 | *@description Utilities for applying sepia filters to an element. 14 | *@see {@link https://tailwindcss.com/docs/sepia sepia} 15 | */ 16 | filterSepia: TailwindSepia<Plug> 17 | } 18 | 19 | type TailwindBackdropSepia<Plug extends PlugBase = ""> = 20 | `backdrop-sepia-${TailwindSepiaVariants<Plug>}` 21 | export type TailwindBackdropSepiaType<Plug extends PlugBase = ""> = { 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<Plug> 27 | } 28 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/flex.grid/@common.gap.ts: -------------------------------------------------------------------------------- 1 | import { PluginVariants } from "../../../plugin" 2 | 3 | export type TailwindGapType<Gap extends string> = { 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<Plug extends PlugBase = ""> = 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<Plug> 21 | | TailwindArbitrary 22 | 23 | type TailwindFlexGridOrder<Plug extends PlugBase = ""> = 24 | `order-${TailwindFlexGridOrderVariants<Plug>}` 25 | export type TailwindFlexGridOrderType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug> 38 | 39 | type TailwindFlexBasis< 40 | TailwindSpacing extends string, 41 | Plug extends PlugBase = "", 42 | > = `basis-${TailwindFlexBasisVariants<TailwindSpacing, Plug>}` 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<TailwindSpacing, Plug> 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<Plug extends PlugBase = ""> = 5 | | "grow" 6 | | "grow-0" 7 | | `grow-${TailwindArbitrary | Pluggable<Plug>}` 8 | 9 | export type TailwindFlexGrowType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "shrink" 6 | | "shrink-0" 7 | | `shrink-${TailwindArbitrary | Pluggable<Plug>}` 8 | 9 | export type TailwindFlexShrinkType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 5 | | "1" 6 | | "auto" 7 | | "initial" 8 | | "none" 9 | | Pluggable<Plug> 10 | | TailwindArbitrary 11 | 12 | type TailwindFlex<Plug extends PlugBase = ""> = 13 | `flex-${TailwindFlexVariants<Plug>}` 14 | export type TailwindFlexType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = `grid-cols-${ 12 | | TailwindGridAutoCommonVariants 13 | | Pluggable<Plug>}` 14 | 15 | export type TailwindGridAutoColumnsType<Plug extends PlugBase = ""> = { 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<Plug> 21 | } 22 | 23 | type TailwindGridAutoRows<Plug extends PlugBase = ""> = `auto-rows-${ 24 | | TailwindGridAutoCommonVariants 25 | | Pluggable<Plug>}` 26 | 27 | export type TailwindGridAutoRowsType<Plug extends PlugBase = ""> = { 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<Plug> 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<Plug extends PlugBase = ""> = 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<Plug extends PlugBase = ""> = 24 | `grid-rows-${TailwindGridTemplateVariants<Plug>}` 25 | export type TailwindGridTemplateRowsType<Plug extends PlugBase = ""> = { 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<Plug> 31 | } 32 | 33 | type TailwindGridTemplateColumns<Plug extends PlugBase = ""> = 34 | `grid-cols-${TailwindGridTemplateVariants<Plug>}` 35 | export type TailwindGridTemplateColumnsType<Plug extends PlugBase = ""> = { 36 | /** 37 | *@description Utilities for specifying the columns in a grid layout. 38 | *@see {@link https://tailwindcss.com/docs/grid-template-columns grid template columns} 39 | */ 40 | gridTemplateColumns: TailwindGridTemplateColumns<Plug> 41 | } 42 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@content.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindContentVariants<Plug extends PlugBase = ""> = 5 | | "none" 6 | | Pluggable<Plug> 7 | | TailwindArbitrary 8 | 9 | type TailwindContent<Plug extends PlugBase = ""> = 10 | `content-${TailwindContentVariants<Plug>}` 11 | 12 | export type TailwindContentType<Plug extends PlugBase = ""> = { 13 | /** 14 | *@description Utilities for controlling the content of the before and after pseudo-elements. 15 | *@see {@link https://tailwindcss.com/docs/content content} 16 | */ 17 | content: TailwindContent<Plug> 18 | } 19 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@font.family.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindFontFamilyVariants<Plug extends PlugBase = ""> = 5 | | "sans" 6 | | "serif" 7 | | "mono" 8 | | Pluggable<Plug> 9 | | TailwindArbitrary 10 | 11 | type TailwindFontFamily<Plug extends PlugBase = ""> = 12 | `font-${TailwindFontFamilyVariants<Plug>}` 13 | export type TailwindFontFamilyType<Plug extends PlugBase = ""> = { 14 | /** 15 | *@description Utilities for controlling the font family of an element. 16 | *@see {@link https://tailwindcss.com/docs/font-family font family} 17 | */ 18 | fontFamily: TailwindFontFamily<Plug> 19 | } 20 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@font.size.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | import { TailwindLineHeightVariants } from "./@line.height" 4 | 5 | type TailwindFontSizeVariants<Plug extends PlugBase = ""> = 6 | | "xs" 7 | | "sm" 8 | | "base" 9 | | "lg" 10 | | "xl" 11 | | "2xl" 12 | | "3xl" 13 | | "4xl" 14 | | "5xl" 15 | | "6xl" 16 | | "7xl" 17 | | "8xl" 18 | | "9xl" 19 | | Pluggable<Plug> 20 | | TailwindArbitrary 21 | 22 | type TailwindFontSize< 23 | FontSizePlug extends PlugBase = "", 24 | LineHeightPlug extends PlugBase = "", 25 | > = 26 | | `text-${TailwindFontSizeVariants<FontSizePlug>}` 27 | | `text-${TailwindFontSizeVariants<FontSizePlug>}/${TailwindLineHeightVariants<LineHeightPlug>}` 28 | export type TailwindFontSizeType< 29 | FontSizePlug extends PlugBase = "", 30 | LineHeightPlug extends PlugBase = "", 31 | > = { 32 | /** 33 | *@description Utilities for controlling the font size of an element. 34 | *@unit Base size(`text-base`) = `1rem` 35 | *@see {@link https://tailwindcss.com/docs/font-size font size} 36 | */ 37 | fontSize: TailwindFontSize<FontSizePlug, LineHeightPlug> 38 | } 39 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@font.smoothing.ts: -------------------------------------------------------------------------------- 1 | type TailwindFontSmoothing = "subpixel-antialiased" | "antialiased" 2 | export type TailwindFontSmoothingType = { 3 | /** 4 | *@description Utilities for controlling the font smoothing of an element. 5 | *@see {@link https://tailwindcss.com/docs/font-smoothing font smoothing} 6 | */ 7 | fontSmoothing: TailwindFontSmoothing 8 | } 9 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@font.style.ts: -------------------------------------------------------------------------------- 1 | type TailwindFontStyle = "italic" | "not-italic" 2 | export type TailwindFontStyleType = { 3 | /** 4 | *@description Utilities for controlling the style of text. 5 | *@see {@link https://tailwindcss.com/docs/font-style font style} 6 | */ 7 | fontStyle: TailwindFontStyle 8 | } 9 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@font.variant.numeric.ts: -------------------------------------------------------------------------------- 1 | type TailwindFontVariantNumeric = 2 | | "normal-nums" 3 | | "ordinal" 4 | | "slashed-zero" 5 | | "lining-nums" 6 | | "oldstyle-nums" 7 | | "proportional-nums" 8 | | "tabular-nums" 9 | | "diagonal-fractions" 10 | | "stacked-fractions" 11 | export type TailwindFontVariantNumericType = { 12 | /** 13 | *@description Utilities for controlling the variant of numbers. 14 | *@see {@link https://tailwindcss.com/docs/font-variant-numeric font variant numeric} 15 | */ 16 | fontVariantNumeric: TailwindFontVariantNumeric 17 | } 18 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@font.weight.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindFontWeightVariants<Plug extends PlugBase = ""> = 5 | | "thin" 6 | | "extralight" 7 | | "light" 8 | | "normal" 9 | | "medium" 10 | | "semibold" 11 | | "bold" 12 | | "extrabold" 13 | | "black" 14 | | Pluggable<Plug> 15 | | TailwindArbitrary 16 | 17 | type TailwindFontWeight<Plug extends PlugBase = ""> = 18 | `font-${TailwindFontWeightVariants<Plug>}` 19 | export type TailwindFontWeightType<Plug extends PlugBase = ""> = { 20 | /** 21 | *@description Utilities for controlling the font weight of an element. 22 | *@see {@link https://tailwindcss.com/docs/font-weight font weight} 23 | */ 24 | fontWeight: TailwindFontWeight<Plug> 25 | } 26 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@hyphens.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | type TailwindHyphensVariants<Plug extends PlugBase = ""> = 4 | | "none" 5 | | "manual" 6 | | "auto" 7 | | Pluggable<Plug> 8 | type TailwindHyphens<Plug extends PlugBase = ""> = 9 | `hyphens-${TailwindHyphensVariants<Plug>}` 10 | 11 | export type TailwindHyphensType<Plug extends PlugBase = ""> = { 12 | /** 13 | *@description Utilities for controlling how words should be hyphenated. 14 | *@see {@link https://tailwindcss.com/docs/hyphens hyphens} 15 | */ 16 | hyphens: TailwindHyphens<Plug> 17 | } 18 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@letter.spacing.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindLetterSpacingVariants<Plug extends PlugBase = ""> = 5 | | "tighter" 6 | | "tight" 7 | | "normal" 8 | | "wide" 9 | | "wider" 10 | | "widest" 11 | | Pluggable<Plug> 12 | | TailwindArbitrary 13 | 14 | type TailwindLetterSpacing<Plug extends PlugBase = ""> = 15 | `tracking-${TailwindLetterSpacingVariants<Plug>}` 16 | export type TailwindLetterSpacingType<Plug extends PlugBase = ""> = { 17 | /** 18 | *@description Utilities for controlling the tracking (letter spacing) of an element. 19 | *@see {@link https://tailwindcss.com/docs/letter-spacing letter spacing} 20 | */ 21 | letterSpacing: TailwindLetterSpacing<Plug> 22 | } 23 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@line.clamp.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindLineClampVariants<Plug extends PlugBase = ""> = 5 | | "none" 6 | | "1" 7 | | "2" 8 | | "3" 9 | | "4" 10 | | "5" 11 | | "6" 12 | | Pluggable<Plug> 13 | | TailwindArbitrary 14 | type TailwindLineClamp<Plug extends PlugBase = ""> = 15 | `line-clamp-${TailwindLineClampVariants<Plug>}` 16 | 17 | export type TailwindLineClampType<Plug extends PlugBase = ""> = { 18 | /** 19 | *@description Utilities for clamping text to a specific number of lines. 20 | *@see {@link https://tailwindcss.com/docs/line-clamp line clamp} 21 | */ 22 | lineClamp: TailwindLineClamp<Plug> 23 | } 24 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@line.height.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | export type TailwindLineHeightVariants<Plug extends PlugBase = ""> = 5 | | "3" 6 | | "4" 7 | | "5" 8 | | "6" 9 | | "7" 10 | | "8" 11 | | "9" 12 | | "10" 13 | | "none" 14 | | "tight" 15 | | "snug" 16 | | "normal" 17 | | "relaxed" 18 | | "loose" 19 | | Pluggable<Plug> 20 | | TailwindArbitrary 21 | 22 | type TailwindLineHeight<Plug extends PlugBase = ""> = 23 | `leading-${TailwindLineHeightVariants<Plug>}` 24 | export type TailwindLineHeightType<Plug extends PlugBase = ""> = { 25 | /** 26 | *@description Utilities for controlling the leading (line height) of an element. 27 | *@see {@link https://tailwindcss.com/docs/line-height line height} 28 | */ 29 | lineHeight: TailwindLineHeight<Plug> 30 | } 31 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@list.style.image.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindListStyleImageVariants<Plug extends PlugBase = ""> = 5 | | "none" 6 | | Pluggable<Plug> 7 | | TailwindArbitrary 8 | type TailwindListStyleImage<Plug extends PlugBase = ""> = 9 | `list-image-${TailwindListStyleImageVariants<Plug>}` 10 | 11 | export type TailwindListStyleImageType<Plug extends PlugBase = ""> = { 12 | /** 13 | *@description Utilities for controlling the marker images for list items. 14 | *@see {@link https://tailwindcss.com/docs/list-style-image list style image} 15 | */ 16 | listStyleImage: TailwindListStyleImage<Plug> 17 | } 18 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@list.style.position.ts: -------------------------------------------------------------------------------- 1 | type TailwindListStylePositionVariants = "inside" | "outside" 2 | type TailwindListStylePosition = `list-${TailwindListStylePositionVariants}` 3 | export type TailwindListStylePositionType = { 4 | /** 5 | *@description Utilities for controlling the position of bullets/numbers in lists. 6 | *@see {@link https://tailwindcss.com/docs/list-style-position list style position} 7 | */ 8 | listStylePosition: TailwindListStylePosition 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@list.style.type.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindListStyleTypeVariants<Plug extends PlugBase = ""> = 5 | | "none" 6 | | "disc" 7 | | "decimal" 8 | | Pluggable<Plug> 9 | | TailwindArbitrary 10 | 11 | type TailwindListStyleType<Plug extends PlugBase = ""> = 12 | `list-${TailwindListStyleTypeVariants<Plug>}` 13 | 14 | export type TailwindListStyleTypeType<Plug extends PlugBase = ""> = { 15 | /** 16 | *@description Utilities for controlling the bullet/number style of a list. 17 | *@see {@link https://tailwindcss.com/docs/list-style-type list style type} 18 | */ 19 | listStyleType: TailwindListStyleType<Plug> 20 | } 21 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.align.ts: -------------------------------------------------------------------------------- 1 | type TailwindTextAlignVariants = 2 | | "left" 3 | | "center" 4 | | "right" 5 | | "justify" 6 | | "start" 7 | | "end" 8 | type TailwindTextAlign = `text-${TailwindTextAlignVariants}` 9 | export type TailwindTextAlignType = { 10 | /** 11 | *@description Utilities for controlling the alignment of text. 12 | *@see {@link https://tailwindcss.com/docs/text-align text align} 13 | */ 14 | textAlign: TailwindTextAlign 15 | } 16 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.color.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | export type TailwindTextColorType< 4 | TailwindColor extends string, 5 | Plug extends PlugBase = "", 6 | > = { 7 | /** 8 | *@description Utilities for controlling the text color of an element. 9 | *@see {@link https://tailwindcss.com/docs/text-color text color} 10 | */ 11 | color: `text-${TailwindColor | Pluggable<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.decoration.color.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | export type TailwindTextDecorationColorType< 4 | TailwindColor extends string, 5 | Plug extends PlugBase = "", 6 | > = { 7 | /** 8 | *@description Utilities for controlling the color of text decorations. 9 | *@see {@link https://tailwindcss.com/docs/text-decoration text decoration} 10 | */ 11 | textDecorationColor: `decoration-${TailwindColor | Pluggable<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.decoration.style.ts: -------------------------------------------------------------------------------- 1 | type TailwindTextDecorationStyleVariants = 2 | | "solid" 3 | | "double" 4 | | "dotted" 5 | | "dashed" 6 | | "wavy" 7 | type TailwindTextDecorationStyle = 8 | `decoration-${TailwindTextDecorationStyleVariants}` 9 | export type TailwindTextDecorationStyleType = { 10 | /** 11 | *@description Utilities for controlling the style of text decorations. 12 | *@see {@link https://tailwindcss.com/docs/text-decoration-style text decoration style} 13 | */ 14 | textDecorationStyle: TailwindTextDecorationStyle 15 | } 16 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.decoration.thickness.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindTextDecorationThicknessVariants<Plug extends PlugBase = ""> = 5 | | "auto" 6 | | "from-font" 7 | | "0" 8 | | "1" 9 | | "2" 10 | | "4" 11 | | "8" 12 | | Pluggable<Plug> 13 | | TailwindArbitrary 14 | 15 | type TailwindTextDecorationThickness<Plug extends PlugBase = ""> = 16 | `decoration-${TailwindTextDecorationThicknessVariants<Plug>}` 17 | export type TailwindTextDecorationThicknessType<Plug extends PlugBase = ""> = { 18 | /** 19 | *@description Utilities for controlling the thickness of text decorations. 20 | *@see {@link https://tailwindcss.com/docs/text-decoration-thickness text decoration thickness} 21 | */ 22 | textDecorationThickness: TailwindTextDecorationThickness<Plug> 23 | } 24 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.decoration.ts: -------------------------------------------------------------------------------- 1 | type TailwindTextDecoration = 2 | | "underline" 3 | | "overline" 4 | | "line-through" 5 | | "no-underline" 6 | export type TailwindTextDecorationType = { 7 | /** 8 | *@description Utilities for controlling the decoration of text. 9 | *@see {@link https://tailwindcss.com/docs/text-decoration text decoration} 10 | */ 11 | textDecorationLine: TailwindTextDecoration 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.indent.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | export type TailwindTextIndentType< 4 | TailwindSpacing extends string, 5 | Plug extends PlugBase = "", 6 | > = { 7 | /** 8 | *@description Utilities for controlling the amount of empty space shown before text in a block. 9 | *@see {@link https://tailwindcss.com/docs/text-indent text indent} 10 | */ 11 | textIndent: `indent-${TailwindSpacing | Pluggable<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.overflow.ts: -------------------------------------------------------------------------------- 1 | type TailwindTextOverflowVariants = "clip" | "ellipsis" 2 | type TailwindTextOverflow = `text-${TailwindTextOverflowVariants}` | "truncate" 3 | export type TailwindTextOverflowType = { 4 | /** 5 | *@description Utilities for controlling text overflow in an element. 6 | *@see {@link https://tailwindcss.com/docs/text-overflow text overflow} 7 | */ 8 | textOverflow: TailwindTextOverflow 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.transform.ts: -------------------------------------------------------------------------------- 1 | type TailwindTextTransform = 2 | | "uppercase" 3 | | "lowercase" 4 | | "capitalize" 5 | | "normal-case" 6 | export type TailwindTextTransformType = { 7 | /** 8 | *@description Utilities for controlling the transformation of text. 9 | *@see {@link https://tailwindcss.com/docs/text-transform text transform} 10 | */ 11 | textTransform: TailwindTextTransform 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.underline.offset.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindTextUnderlineOffsetVariants<Plug extends PlugBase = ""> = 5 | | "auto" 6 | | "0" 7 | | "1" 8 | | "2" 9 | | "4" 10 | | "8" 11 | | Pluggable<Plug> 12 | | TailwindArbitrary 13 | 14 | type TailwindTextUnderlineOffset<Plug extends PlugBase = ""> = 15 | `underline-offset-${TailwindTextUnderlineOffsetVariants<Plug>}` 16 | 17 | export type TailwindTextUnderlineOffsetType<Plug extends PlugBase = ""> = { 18 | /** 19 | *@description Utilities for controlling the offset of a text underline. 20 | *@see {@link https://tailwindcss.com/docs/text-underline-offset text underline offset} 21 | */ 22 | textUnderlineOffset: TailwindTextUnderlineOffset<Plug> 23 | } 24 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@text.wrap.ts: -------------------------------------------------------------------------------- 1 | type TailwindTextWrap = "wrap" | "nowrap" | "balance" | "pretty" 2 | export type TailwindTextWrapType = { 3 | /** 4 | *@description Utilities for controlling how text wraps within an element. 5 | *@see {@link https://tailwindcss.com/docs/text-wrap text wrap} 6 | */ 7 | textWrap: `text-${TailwindTextWrap}` 8 | } 9 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@vertical.align.ts: -------------------------------------------------------------------------------- 1 | import type { TailwindArbitrary } from "../common/@arbitrary" 2 | 3 | type TailwindVerticalAlignVariants = 4 | | "baseline" 5 | | "top" 6 | | "middle" 7 | | "bottom" 8 | | "text-top" 9 | | "text-bottom" 10 | | "sub" 11 | | "super" 12 | | TailwindArbitrary 13 | type TailwindVerticalAlign = `align-${TailwindVerticalAlignVariants}` 14 | export type TailwindVerticalAlignType = { 15 | /** 16 | *@description Utilities for controlling the vertical alignment of an inline or table-cell box. 17 | *@see {@link https://tailwindcss.com/docs/vertical-align vertical align} 18 | */ 19 | verticalAlign: TailwindVerticalAlign 20 | } 21 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@whitespace.ts: -------------------------------------------------------------------------------- 1 | type TailwindWhitespaceVariants = 2 | | "normal" 3 | | "nowrap" 4 | | "pre" 5 | | "pre-line" 6 | | "pre-wrap" 7 | type TailwindWhitespace = `whitespace-${TailwindWhitespaceVariants}` 8 | export type TailwindWhitespaceType = { 9 | /** 10 | *@description Utilities for controlling an element's white-space property. 11 | *@see {@link https://tailwindcss.com/docs/whitespace whitespace} 12 | */ 13 | whitespace: TailwindWhitespace 14 | } 15 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/font/@word.break.ts: -------------------------------------------------------------------------------- 1 | type TailwindWordBreakVariants = "normal" | "words" | "all" 2 | type TailwindWordBreak = `break-${TailwindWordBreakVariants}` 3 | export type TailwindWordBreakType = { 4 | /** 5 | *@description Utilities for controlling word breaks in an element. 6 | *@see {@link https://tailwindcss.com/docs/word-break word break} 7 | */ 8 | wordBreak: TailwindWordBreak 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./accessibility" 2 | export * from "./backgrounds" 3 | export * from "./backgrounds/short" 4 | export * from "./borders" 5 | export * from "./borders/short" 6 | export * from "./effects" 7 | export * from "./effects/short" 8 | export * from "./filters" 9 | export * from "./flex.grid" 10 | export * from "./font" 11 | export * from "./layout" 12 | export * from "./sizing" 13 | export * from "./sizing/short" 14 | export * from "./spacing" 15 | export * from "./spacing/short" 16 | export * from "./svg" 17 | export * from "./svg/short" 18 | export * from "./tables" 19 | export * from "./tables" 20 | export * from "./transforms" 21 | export * from "./transition.animation" 22 | export * from "./transition.animation" 23 | export * from "./common" 24 | export * from "./interactivity" 25 | export * from "./interactivity/short" 26 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@accent.color.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | export type TailwindAccentColorType< 4 | TailwindColor extends string, 5 | Plug extends PlugBase = "", 6 | > = { 7 | /** 8 | *@description Utilities for controlling the accented color of a form control. 9 | *@see {@link https://tailwindcss.com/docs/accent-color accent color} 10 | */ 11 | accentColor: `accent-${TailwindColor | Pluggable<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@appearance.ts: -------------------------------------------------------------------------------- 1 | type TailwindAppearance = "appearance-none" 2 | export type TailwindAppearanceType = { 3 | /** 4 | *@description Utilities for suppressing native form control styling. 5 | *@see {@link https://tailwindcss.com/docs/appearance appearance} 6 | */ 7 | appearance: TailwindAppearance 8 | } 9 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@caret.color.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | export type TailwindCaretColorType< 4 | TailwindColor extends string, 5 | Plug extends PlugBase = "", 6 | > = { 7 | /** 8 | *@description Utilities for controlling the color of the text input cursor. 9 | *@see {@link https://tailwindcss.com/docs/caret-color caret color} 10 | */ 11 | caretColor: `caret-${TailwindColor | Pluggable<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@cursor.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindCursorVariants<Plug extends PlugBase = ""> = 5 | | "auto" 6 | | "default" 7 | | "pointer" 8 | | "wait" 9 | | "text" 10 | | "move" 11 | | "help" 12 | | "not-allowed" 13 | | "none" 14 | | "context-menu" 15 | | "progress" 16 | | "cell" 17 | | "crosshair" 18 | | "vertical-text" 19 | | "alias" 20 | | "copy" 21 | | "no-drop" 22 | | "grab" 23 | | "grabbing" 24 | | "all-scroll" 25 | | "col-resize" 26 | | "row-resize" 27 | | "n-resize" 28 | | "e-resize" 29 | | "s-resize" 30 | | "w-resize" 31 | | "ne-resize" 32 | | "nw-resize" 33 | | "se-resize" 34 | | "sw-resize" 35 | | "ew-resize" 36 | | "ns-resize" 37 | | "nesw-resize" 38 | | "nwse-resize" 39 | | "zoom-in" 40 | | "zoom-out" 41 | | Pluggable<Plug> 42 | | TailwindArbitrary 43 | 44 | type TailwindCursor<Plug extends PlugBase = ""> = 45 | `cursor-${TailwindCursorVariants<Plug>}` 46 | export type TailwindCursorType<Plug extends PlugBase = ""> = { 47 | /** 48 | *@description Utilities for controlling the cursor style when hovering over an element. 49 | *@see {@link https://tailwindcss.com/docs/cursor cursor} 50 | */ 51 | cursor: TailwindCursor<Plug> 52 | } 53 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@pointer.events.ts: -------------------------------------------------------------------------------- 1 | type TailwindPointerEventsVariants = "none" | "auto" 2 | type TailwindPointerEvents = `pointer-events-${TailwindPointerEventsVariants}` 3 | export type TailwindPointerEventsType = { 4 | /** 5 | *@description Utilities for controlling whether an element responds to pointer events. 6 | *@see {@link https://tailwindcss.com/docs/pointer-events pointer events} 7 | */ 8 | pointerEvents: TailwindPointerEvents 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@resize.ts: -------------------------------------------------------------------------------- 1 | type TailwindResizeVariants = "none" | "x" | "y" 2 | type TailwindResize = "resize" | `resize-${TailwindResizeVariants}` 3 | export type TailwindResizeType = { 4 | /** 5 | *@description Utilities for controlling how an element can be resized. 6 | *@see {@link https://tailwindcss.com/docs/resize resize} 7 | */ 8 | resize: TailwindResize 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@scroll.behavior.ts: -------------------------------------------------------------------------------- 1 | type TailwindScrollBehaviorVariants = "auto" | "smooth" 2 | type TailwindScrollBehavior = `scroll-${TailwindScrollBehaviorVariants}` 3 | export type TailwindScrollBehaviorType = { 4 | /** 5 | *@description Utilities for controlling the scroll behavior of an element. 6 | *@see {@link https://tailwindcss.com/docs/scroll-behavior scroll behavior} 7 | */ 8 | scrollBehavior: TailwindScrollBehavior 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@scroll.snap.align.ts: -------------------------------------------------------------------------------- 1 | type TailwindScrollSnapAlignVariants = "start" | "center" | "end" | "align-none" 2 | type TailwindScrollSnapAlign = `snap-${TailwindScrollSnapAlignVariants}` 3 | export type TailwindScrollSnapAlignType = { 4 | /** 5 | *@description Utilities for controlling the scroll snap alignment of an element. 6 | *@see {@link https://tailwindcss.com/docs/scroll-snap-align scroll snap align} 7 | */ 8 | scrollSnapAlign: TailwindScrollSnapAlign 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@scroll.snap.stop.ts: -------------------------------------------------------------------------------- 1 | type TailwindScrollSnapStopVariants = "normal" | "always" 2 | type TailwindScrollSnapStop = `snap-${TailwindScrollSnapStopVariants}` 3 | export type TailwindScrollSnapStopType = { 4 | /** 5 | *@description Utilities for controlling whether you can skip past possible snap positions. 6 | *@see {@link https://tailwindcss.com/docs/scroll-snap-stop scroll snap stop} 7 | */ 8 | scrollSnapStop: TailwindScrollSnapStop 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@scroll.snap.type.ts: -------------------------------------------------------------------------------- 1 | type TailwindScrollSnapTypeVariants = 2 | | "none" 3 | | "x" 4 | | "y" 5 | | "both" 6 | | "mandatory" 7 | | "proximity" 8 | type TailwindScrollSnapType = `snap-${TailwindScrollSnapTypeVariants}` 9 | export type TailwindScrollSnapTypeType = { 10 | /** 11 | *@description Utilities for controlling how strictly snap points are enforced in a snap container. 12 | *@see {@link https://tailwindcss.com/docs/scroll-snap-type scroll snap type} 13 | */ 14 | scrollSnapType: TailwindScrollSnapType 15 | } 16 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@touch.action.ts: -------------------------------------------------------------------------------- 1 | type TailwindTouchActionVariants = 2 | | "auto" 3 | | "none" 4 | | "pan-x" 5 | | "pan-left" 6 | | "pan-right" 7 | | "pan-y" 8 | | "pan-up" 9 | | "pan-down" 10 | | "pinch-zoom" 11 | | "manipulation" 12 | type TailwindTouchAction = `touch-${TailwindTouchActionVariants}` 13 | export type TailwindTouchActionType = { 14 | /** 15 | *@description Utilities for controlling how an element can be scrolled and zoomed on touchscreens. 16 | *@see {@link https://tailwindcss.com/docs/touch-action touch action} 17 | */ 18 | touchAction: TailwindTouchAction 19 | } 20 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@user.select.ts: -------------------------------------------------------------------------------- 1 | type TailwindUserSelectVariants = "none" | "text" | "all" | "auto" 2 | type TailwindUserSelect = `select-${TailwindUserSelectVariants}` 3 | export type TailwindUserSelectType = { 4 | /** 5 | *@description Utilities for controlling whether the user can select text in an element. 6 | *@see {@link https://tailwindcss.com/docs/user-select user select} 7 | */ 8 | userSelect: TailwindUserSelect 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/@will.change.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindWillChangeVariants = 5 | | "auto" 6 | | "scroll" 7 | | "contents" 8 | | "transform" 9 | | TailwindArbitrary 10 | 11 | type TailwindWillChange<Plug extends PlugBase = ""> = `will-change-${ 12 | | TailwindWillChangeVariants 13 | | Pluggable<Plug>}` 14 | export type TailwindWillChangeType<Plug extends PlugBase = ""> = { 15 | /** 16 | *@description Utilities for optimizing upcoming animations of elements that are expected to change. 17 | *@see {@link https://tailwindcss.com/docs/will-change will change} 18 | */ 19 | willChange: TailwindWillChange<Plug> 20 | } 21 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/short/@accent.color.short.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../../plugin" 2 | 3 | export type ShortTailwindAccentColorType< 4 | TailwindColor extends string, 5 | Plug extends PlugBase = "", 6 | > = { 7 | /** 8 | *@description Utilities for controlling the accented color of a form control. 9 | *@see {@link https://tailwindcss.com/docs/accent-color accent color} 10 | */ 11 | accent: `accent-${TailwindColor | Pluggable<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/interactivity/short/@caret.color.short.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../../plugin" 2 | 3 | export type ShortTailwindCaretColorType< 4 | TailwindColor extends string, 5 | Plug extends PlugBase = "", 6 | > = { 7 | /** 8 | *@description Utilities for controlling the color of the text input cursor. 9 | *@see {@link https://tailwindcss.com/docs/caret-color caret color} 10 | */ 11 | caret: `caret-${TailwindColor | Pluggable<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@aspect.ratio.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindAspectRatioVariants<Plug extends PlugBase = ""> = 5 | | "auto" 6 | | "square" 7 | | "video" 8 | | Pluggable<Plug> 9 | | TailwindArbitrary 10 | 11 | type TailwindAspectRatio<Plug extends PlugBase = ""> = 12 | `aspect-${TailwindAspectRatioVariants<Plug>}` 13 | 14 | export type TailwindAspectRatioType<Plug extends PlugBase = ""> = { 15 | /** 16 | *@description Utilities for controlling the aspect ratio of an element. 17 | *@see {@link https://tailwindcss.com/docs/aspect-ratio aspect ratio} 18 | */ 19 | aspectRatio: TailwindAspectRatio<Plug> 20 | } 21 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@box.decoration.break.ts: -------------------------------------------------------------------------------- 1 | type TailwindBoxDecorationBreakVariants = "clone" | "slice" 2 | type TailwindBoxDecorationBreak = 3 | `box-decoration-${TailwindBoxDecorationBreakVariants}` 4 | export type TailwindBoxDecorationBreakType = { 5 | /** 6 | *@description Utilities for controlling how element fragments should be rendered across multiple lines, columns, or pages. 7 | *@see {@link https://tailwindcss.com/docs/box-decoration-break box decoration break} 8 | */ 9 | boxDecoration: TailwindBoxDecorationBreak 10 | } 11 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@box.sizing.ts: -------------------------------------------------------------------------------- 1 | type TailwindBoxSizingVariants = "border" | "content" 2 | type TailwindBoxSizing = `box-${TailwindBoxSizingVariants}` 3 | export type TailwindBoxSizingType = { 4 | /** 5 | *@description Utilities for controlling how the browser should calculate an element's total size. 6 | *@see {@link https://tailwindcss.com/docs/box-sizing box sizing} 7 | */ 8 | boxSizing: TailwindBoxSizing 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@break.ts: -------------------------------------------------------------------------------- 1 | type TailwindBreakVariants = 2 | | "auto" 3 | | "all" 4 | | "avoid" 5 | | "avoid-page" 6 | | "page" 7 | | "left" 8 | | "right" 9 | | "column" 10 | type TailwindBreakAfter = `break-after-${TailwindBreakVariants}` 11 | type TailwindBreakBefore = `break-before-${TailwindBreakVariants}` 12 | 13 | type TailwindBreakInsideVariants = 14 | | "auto" 15 | | "avoid" 16 | | "avoid-page" 17 | | "avoid-column" 18 | type TailwindBreakInside = `break-inside-${TailwindBreakInsideVariants}` 19 | 20 | export type TailwindBreakType = { 21 | /** 22 | *@description Utilities for controlling how a column or page should break after an element. 23 | *@see {@link https://tailwindcss.com/docs/break-after break after} 24 | */ 25 | breakAfter: TailwindBreakAfter 26 | /** 27 | *@description Utilities for controlling how a column or page should break before an element. 28 | *@see {@link https://tailwindcss.com/docs/break-before break before} 29 | */ 30 | breakBefore: TailwindBreakBefore 31 | /** 32 | *@description Utilities for controlling how a column or page should break within an element. 33 | *@see {@link https://tailwindcss.com/docs/break-inside break inside} 34 | */ 35 | breakInside: TailwindBreakInside 36 | } 37 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@clear.ts: -------------------------------------------------------------------------------- 1 | type TailwindClearVariants = "left" | "right" | "both" | "none" 2 | type TailwindClear = `clear-${TailwindClearVariants}` 3 | export type TailwindClearType = { 4 | /** 5 | *@description Utilities for controlling the wrapping of content around an element. 6 | *@see {@link https://tailwindcss.com/docs/clear clear} 7 | */ 8 | clear: TailwindClear 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@columns.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindColumnsVariants<Plug extends PlugBase = ""> = 5 | | "1" 6 | | "2" 7 | | "3" 8 | | "4" 9 | | "5" 10 | | "6" 11 | | "7" 12 | | "8" 13 | | "9" 14 | | "10" 15 | | "11" 16 | | "12" 17 | | "auto" 18 | | "3xs" 19 | | "2xs" 20 | | "xs" 21 | | "sm" 22 | | "md" 23 | | "lg" 24 | | "xl" 25 | | "2xl" 26 | | "3xl" 27 | | "4xl" 28 | | "5xl" 29 | | "6xl" 30 | | "7xl" 31 | | Pluggable<Plug> 32 | | TailwindArbitrary 33 | 34 | type TailwindColumns<Plug extends PlugBase = ""> = 35 | `columns-${TailwindColumnsVariants<Plug>}` 36 | 37 | export type TailwindColumnsType<Plug extends PlugBase = ""> = { 38 | /** 39 | *@description Utilities for controlling the number of columns within an element. 40 | *@see {@link https://tailwindcss.com/docs/columns columns} 41 | */ 42 | columns: TailwindColumns<Plug> 43 | } 44 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@container.ts: -------------------------------------------------------------------------------- 1 | export type TailwindContainerType = { 2 | /** 3 | *@description A component for fixing an element's width to the current breakpoint. 4 | *@see {@link https://tailwindcss.com/docs/container container} 5 | */ 6 | container: "container" 7 | } 8 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@display.ts: -------------------------------------------------------------------------------- 1 | type TailwindDisplay = 2 | | "block" 3 | | "inline-block" 4 | | "inline" 5 | | "flex" 6 | | "inline-flex" 7 | | "table" 8 | | "inline-table" 9 | | "table-caption" 10 | | "table-cell" 11 | | "table-column" 12 | | "table-column-group" 13 | | "table-footer-group" 14 | | "table-header-group" 15 | | "table-row-group" 16 | | "table-row" 17 | | "flow-root" 18 | | "grid" 19 | | "inline-grid" 20 | | "contents" 21 | | "list-item" 22 | | "hidden" 23 | 24 | export type TailwindDisplayType = { 25 | /** 26 | *@description Utilities for controlling the display box type of an element. 27 | *@see {@link https://tailwindcss.com/docs/display display} 28 | */ 29 | display: TailwindDisplay 30 | } 31 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@floats.ts: -------------------------------------------------------------------------------- 1 | type TailwindFloatsVariants = "right" | "left" | "none" 2 | type TailwindFloats = `float-${TailwindFloatsVariants}` 3 | export type TailwindFloatsType = { 4 | /** 5 | *@description Utilities for controlling the wrapping of content around an element. 6 | *@see {@link https://tailwindcss.com/docs/float float} 7 | */ 8 | float: TailwindFloats 9 | } 10 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@isolation.ts: -------------------------------------------------------------------------------- 1 | type TailwindIsolation = "isolate" | "isolation-auto" 2 | export type TailwindIsolationType = { 3 | /** 4 | *@description Utilities for controlling whether an element should explicitly create a new stacking context. 5 | *@see {@link https://tailwindcss.com/docs/isolation isolation} 6 | */ 7 | isolate: TailwindIsolation 8 | } 9 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@object.fit.ts: -------------------------------------------------------------------------------- 1 | import { TailwindArbitrary } from "../common/@arbitrary" 2 | 3 | type TailwindObjectFitVariants = 4 | | "contain" 5 | | "cover" 6 | | "fill" 7 | | "none" 8 | | "scale-down" 9 | | TailwindArbitrary 10 | type TailwindObjectFit = `object-${TailwindObjectFitVariants}` 11 | export type TailwindObjectFitType = { 12 | /** 13 | *@description Utilities for controlling how a replaced element's content should be resized. 14 | *@see {@link https://tailwindcss.com/docs/object-fit object fit} 15 | */ 16 | objectFit: TailwindObjectFit 17 | } 18 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@object.position.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindObjectPositionVariants<Plug extends PlugBase = ""> = 5 | | "top" 6 | | "center" 7 | | "bottom" 8 | | "left" 9 | | "left-top" 10 | | "left-bottom" 11 | | "right" 12 | | "right-top" 13 | | "right-bottom" 14 | | Pluggable<Plug> 15 | | TailwindArbitrary 16 | 17 | type TailwindObjectPosition<Plug extends PlugBase = ""> = 18 | `object-${TailwindObjectPositionVariants<Plug>}` 19 | export type TailwindObjectPositionType<Plug extends PlugBase = ""> = { 20 | /** 21 | *@description Utilities for controlling how a replaced element's content should be positioned within its container. 22 | *@see {@link https://tailwindcss.com/docs/object-position object position} 23 | */ 24 | objectPosition: TailwindObjectPosition<Plug> 25 | } 26 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@overflow.ts: -------------------------------------------------------------------------------- 1 | import type { PluginVariants } from "../../../plugin" 2 | 3 | type TailwindOverflowDirection = "x" | "y" 4 | 5 | type TailwindOverflowVariants = 6 | | "auto" 7 | | "hidden" 8 | | "clip" 9 | | "visible" 10 | | "scroll" 11 | 12 | type TailwindOverflow = 13 | | `overflow-${TailwindOverflowVariants}` 14 | | "overflow-ellipses" 15 | | `overflow-${TailwindOverflowDirection}-${TailwindOverflowVariants}` 16 | 17 | export type TailwindOverflowType = { 18 | /** 19 | *@description Utilities for controlling how an element handles content that is too large for the container. 20 | *@see {@link https://tailwindcss.com/docs/overflow overflow} 21 | */ 22 | overflow: TailwindOverflow 23 | /** 24 | *@description Utilities for controlling how an element handles content that is too large for the container. 25 | *@see {@link https://tailwindcss.com/docs/overflow overflow-x} 26 | */ 27 | overflowX: PluginVariants<"overflow-x", TailwindOverflowVariants> 28 | /** 29 | * @description Utilities for controlling how an element handles content that is too large for the container. 30 | * @see {@link https://tailwindcss.com/docs/overflow overflow-y} 31 | */ 32 | overflowY: PluginVariants<"overflow-y", TailwindOverflowVariants> 33 | } 34 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@overscroll.behavior.ts: -------------------------------------------------------------------------------- 1 | type TailwindOverscrollBehaviorVariants = 2 | | "auto" 3 | | "contain" 4 | | "none" 5 | | "y-auto" 6 | | "y-contain" 7 | | "y-none" 8 | | "x-auto" 9 | | "x-contain" 10 | | "x-none" 11 | 12 | type TailwindOverscrollBehavior = 13 | `overscroll-${TailwindOverscrollBehaviorVariants}` 14 | export type TailwindOverscrollBehaviorType = { 15 | /** 16 | *@description Utilities for controlling how the browser behaves when reaching the boundary of a scrolling area. 17 | *@see {@link https://tailwindcss.com/docs/overscroll-behavior overscroll behavior} 18 | */ 19 | overscrollBehavior: TailwindOverscrollBehavior 20 | } 21 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@visibility.ts: -------------------------------------------------------------------------------- 1 | type TailwindVisibility = "visible" | "invisible" 2 | export type TailwindVisibilityType = { 3 | /** 4 | *@description Utilities for controlling the visibility of an element. 5 | *@see {@link https://tailwindcss.com/docs/visibility visibility} 6 | */ 7 | visibility: TailwindVisibility 8 | } 9 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/layout/@z.index.ts: -------------------------------------------------------------------------------- 1 | import { 2 | PlugBase, 3 | Pluggable, 4 | PluginVariantsWithDirection, 5 | } from "../../../plugin" 6 | import { TailwindArbitrary } from "../common/@arbitrary" 7 | 8 | type TailwindZIndexVariants<Plug extends PlugBase = ""> = 9 | | "0" 10 | | "10" 11 | | "20" 12 | | "30" 13 | | "40" 14 | | "50" 15 | | Pluggable<Plug> 16 | | TailwindArbitrary 17 | 18 | export type TailwindZIndexType<Plug extends PlugBase = ""> = { 19 | /** 20 | *@description Utilities for controlling the stack order of an element. 21 | *@see {@link https://tailwindcss.com/docs/z-index z index} 22 | */ 23 | zIndex: 24 | | "z-auto" 25 | | PluginVariantsWithDirection<"z", TailwindZIndexVariants<Plug>> 26 | } 27 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/sizing/@size.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | type TailwindSizeVariants<TailwindSpacing extends string> = 4 | | "1/2" 5 | | "1/3" 6 | | "2/3" 7 | | "1/4" 8 | | "2/4" 9 | | "3/4" 10 | | "1/5" 11 | | "2/5" 12 | | "3/5" 13 | | "4/5" 14 | | "1/6" 15 | | "2/6" 16 | | "3/6" 17 | | "4/6" 18 | | "5/6" 19 | | "1/12" 20 | | "2/12" 21 | | "3/12" 22 | | "4/12" 23 | | "5/12" 24 | | "6/12" 25 | | "7/12" 26 | | "8/12" 27 | | "9/12" 28 | | "10/12" 29 | | "11/12" 30 | | "auto" 31 | | "full" 32 | | "min" 33 | | "max" 34 | | "fit" 35 | | TailwindSpacing 36 | 37 | export type TailwindSizeType< 38 | TailwindSpacing extends string, 39 | Plug extends PlugBase = "", 40 | > = { 41 | /** 42 | *@description Utilities for setting the `width` and `height` of an element at the same time. 43 | *@unit Gap `1` = `4px` = `0.25rem` 44 | *@see {@link https://tailwindcss.com/docs/size size} 45 | */ 46 | size: `size-${TailwindSizeVariants<TailwindSpacing> | Pluggable<Plug>}` 47 | } 48 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/sizing/@sizing.variants.ts: -------------------------------------------------------------------------------- 1 | import { TailwindArbitrary } from "../common/@arbitrary" 2 | 3 | export type SizingVariants<TailwindSpacing extends string> = 4 | | "auto" 5 | | "full" 6 | | "screen" 7 | | "min" 8 | | "max" 9 | | "fit" 10 | | TailwindSpacing 11 | 12 | export type MinSizingVariants = 13 | | "0" 14 | | "full" 15 | | "min" 16 | | "max" 17 | | "fit" 18 | | TailwindArbitrary 19 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/sizing/index.ts: -------------------------------------------------------------------------------- 1 | import { 2 | TailwindHeightType, 3 | TailwindMaxHeightType, 4 | TailwindMinHeightType, 5 | } from "./@height" 6 | import { TailwindSizeType } from "./@size" 7 | import { 8 | TailwindMaxWidthType, 9 | TailwindMinWidthType, 10 | TailwindWidthType, 11 | } from "./@width" 12 | 13 | export interface TailwindSizingPlug { 14 | size?: string 15 | width?: string 16 | maxWidth?: string 17 | minWidth?: string 18 | height?: string 19 | maxHeight?: string 20 | minHeight?: string 21 | } 22 | 23 | export interface TailwindSizing< 24 | TailwindSpacing extends string, 25 | SizingPlug extends TailwindSizingPlug = { 26 | size: "" 27 | width: "" 28 | maxWidth: "" 29 | minWidth: "" 30 | height: "" 31 | maxHeight: "" 32 | minHeight: "" 33 | }, 34 | > extends TailwindSizeType<TailwindSpacing, SizingPlug["size"]>, 35 | // height 36 | TailwindHeightType<TailwindSpacing, SizingPlug["height"]>, 37 | TailwindMinHeightType<TailwindSpacing, SizingPlug["minHeight"]>, 38 | TailwindMaxHeightType<TailwindSpacing, SizingPlug["maxHeight"]>, 39 | // width 40 | TailwindWidthType<TailwindSpacing, SizingPlug["width"]>, 41 | TailwindMinWidthType<TailwindSpacing, SizingPlug["minWidth"]>, 42 | TailwindMaxWidthType<TailwindSpacing, SizingPlug["maxWidth"]> {} 43 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/sizing/short/index.ts: -------------------------------------------------------------------------------- 1 | import { TailwindSizingPlug } from ".." 2 | import { 3 | ShortTailwindHeightType, 4 | ShortTailwindMaxHeightType, 5 | ShortTailwindMinHeightType, 6 | } from "./@height.short" 7 | import { 8 | ShortTailwindMaxWidthType, 9 | ShortTailwindMinWidthType, 10 | ShortTailwindWidthType, 11 | } from "./@width.short" 12 | 13 | export interface ShortTailwindSizing< 14 | TailwindSpacing extends string, 15 | SizingPlug extends TailwindSizingPlug = { 16 | size: "" 17 | width: "" 18 | maxWidth: "" 19 | minWidth: "" 20 | height: "" 21 | maxHeight: "" 22 | minHeight: "" 23 | }, 24 | > extends ShortTailwindMinHeightType<SizingPlug["minHeight"]>, 25 | ShortTailwindHeightType<TailwindSpacing, SizingPlug["height"]>, 26 | ShortTailwindMaxHeightType<TailwindSpacing, SizingPlug["maxHeight"]>, 27 | ShortTailwindMinWidthType<SizingPlug["minWidth"]>, 28 | ShortTailwindMaxWidthType<SizingPlug["maxHeight"]>, 29 | ShortTailwindWidthType<TailwindSpacing, SizingPlug["width"]> {} 30 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/spacing/@space.between.ts: -------------------------------------------------------------------------------- 1 | import { PluginVariantsWithDirection } from "../../../plugin" 2 | 3 | type TailwindSpaceVariants< 4 | Direction extends string, 5 | TailwindSpacing extends string, 6 | > = PluginVariantsWithDirection<Direction, TailwindSpacing | "reverse "> 7 | 8 | export type TailwindSpaceType<Space extends string> = { 9 | /** 10 | *@description Utilities for controlling the space(**margin**) between child elements `> * + *`. 11 | *@unit Gap `1` = `4px` = `0.25rem` 12 | *@see {@link https://tailwindcss.com/docs/space space-x} 13 | */ 14 | spaceX: TailwindSpaceVariants<"space-x", Space> 15 | /** 16 | *@description Utilities for controlling the space(**margin**) between child elements `> * + *`. 17 | *@unit Gap `1` = `4px` = `0.25rem` 18 | *@see {@link https://tailwindcss.com/docs/space space-y} 19 | */ 20 | spaceY: TailwindSpaceVariants<"space-y", Space> 21 | } 22 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/spacing/index.ts: -------------------------------------------------------------------------------- 1 | import { Pluggable } from "../../../plugin" 2 | import { TailwindMarginType } from "./@margin" 3 | import { TailwindPaddingType } from "./@padding" 4 | import { TailwindSpaceType } from "./@space.between" 5 | 6 | export interface TailwindSpacingPlug { 7 | padding?: string 8 | margin?: string 9 | space?: string 10 | } 11 | export interface TailwindSpacing< 12 | TailwindSpacing extends string, 13 | SpacingPlug extends TailwindSpacingPlug = { 14 | padding: "" 15 | margin: "" 16 | space: "" 17 | }, 18 | > extends TailwindMarginType< 19 | TailwindSpacing | Pluggable<SpacingPlug["margin"]> 20 | >, 21 | TailwindPaddingType< 22 | TailwindSpacing | Pluggable<SpacingPlug["padding"]> 23 | >, 24 | TailwindSpaceType<TailwindSpacing | Pluggable<SpacingPlug["space"]>> {} 25 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/spacing/short/index.ts: -------------------------------------------------------------------------------- 1 | import { Pluggable } from "../../../../plugin" 2 | import { TailwindSpaceType } from "../@space.between" 3 | import { ShortTailwindMarginType } from "./@margin.short" 4 | import { ShortTailwindPaddingType } from "./@padding.short" 5 | 6 | export interface ShortTailwindSpacing< 7 | TailwindSpacing extends string, 8 | SpacingPlug extends { 9 | padding?: string 10 | margin?: string 11 | space?: string 12 | } = { 13 | padding: "" 14 | margin: "" 15 | space: "" 16 | }, 17 | > extends ShortTailwindMarginType< 18 | TailwindSpacing | Pluggable<SpacingPlug["margin"]> 19 | >, 20 | ShortTailwindPaddingType< 21 | TailwindSpacing | Pluggable<SpacingPlug["padding"]> 22 | >, 23 | TailwindSpaceType<TailwindSpacing | Pluggable<SpacingPlug["space"]>> {} 24 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/svg/@fill.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | export type TailwindFillType< 4 | TailwindColor extends string, 5 | Plug extends PlugBase = "", 6 | > = { 7 | /** 8 | *@description Utilities for styling the fill of SVG elements. 9 | *@see {@link https://tailwindcss.com/docs/fill fill} 10 | */ 11 | fill: `fill-${TailwindColor | Pluggable<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/svg/@stroke.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | 3 | export type TailwindStrokeType< 4 | TailwindColor extends string, 5 | Plug extends PlugBase = "", 6 | > = { 7 | /** 8 | *@description Utilities for styling the stroke of SVG elements. 9 | *@see {@link https://tailwindcss.com/docs/stroke stroke} 10 | */ 11 | stroke: `stroke-${TailwindColor | Pluggable<Plug>}` 12 | } 13 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/svg/@stroke.width.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindStrokeWidthVariants<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "1" 7 | | "2" 8 | | TailwindArbitrary 9 | | Pluggable<Plug> 10 | 11 | type TailwindStrokeWidth<Plug extends PlugBase = ""> = 12 | `stroke-${TailwindStrokeWidthVariants<Plug>}` 13 | export type TailwindStrokeWidthType<Plug extends PlugBase = ""> = { 14 | /** 15 | *@description Utilities for styling the stroke width of SVG elements. 16 | *@see {@link https://tailwindcss.com/docs/stroke-width stroke width} 17 | */ 18 | strokeWidth: TailwindStrokeWidth<Plug> 19 | } 20 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/svg/index.ts: -------------------------------------------------------------------------------- 1 | import { TailwindFillType } from "./@fill" 2 | import { TailwindStrokeType } from "./@stroke" 3 | import { TailwindStrokeWidthType } from "./@stroke.width" 4 | 5 | export interface TailwindSvgPlug { 6 | fill?: string 7 | stroke?: string 8 | strokeWidth?: string 9 | } 10 | 11 | export interface TailwindSvg< 12 | TailwindColor extends string, 13 | SvgPlug extends { 14 | fill?: string 15 | stroke?: string 16 | strokeWidth?: string 17 | } = { 18 | fill: "" 19 | stroke: "" 20 | strokeWidth: "" 21 | }, 22 | > extends TailwindStrokeWidthType<SvgPlug["strokeWidth"]>, 23 | TailwindStrokeType<TailwindColor, SvgPlug["stroke"]>, 24 | TailwindFillType<TailwindColor, SvgPlug["fill"]> {} 25 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/svg/short/@stroke.width.short.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../../plugin" 2 | import { TailwindArbitrary } from "../../common/@arbitrary" 3 | 4 | type TailwindStrokeWidthVariants<Plug extends PlugBase = ""> = 5 | | "0" 6 | | "1" 7 | | "2" 8 | | TailwindArbitrary 9 | | Pluggable<Plug> 10 | 11 | type TailwindStrokeWidth<Plug extends PlugBase = ""> = 12 | `stroke-${TailwindStrokeWidthVariants<Plug>}` 13 | export type ShortTailwindStrokeWidthType<Plug extends PlugBase = ""> = { 14 | /** 15 | *@description Utilities for styling the stroke width of SVG elements. 16 | *@see {@link https://tailwindcss.com/docs/stroke-width stroke width} 17 | */ 18 | strokeW: TailwindStrokeWidth<Plug> 19 | } 20 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/svg/short/index.ts: -------------------------------------------------------------------------------- 1 | import { TailwindFillType } from "../@fill" 2 | import { TailwindStrokeType } from "../@stroke" 3 | import { ShortTailwindStrokeWidthType } from "./@stroke.width.short" 4 | 5 | export interface ShortTailwindSvg< 6 | TailwindColor extends string, 7 | SvgPlug extends { 8 | fill?: string 9 | stroke?: string 10 | strokeWidth?: string 11 | } = { 12 | fill: "" 13 | stroke: "" 14 | strokeWidth: "" 15 | }, 16 | > extends ShortTailwindStrokeWidthType<SvgPlug["strokeWidth"]>, 17 | TailwindStrokeType<TailwindColor, SvgPlug["stroke"]>, 18 | TailwindFillType<TailwindColor, SvgPlug["fill"]> {} 19 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/tables/@border.collapse.ts: -------------------------------------------------------------------------------- 1 | type TailwindBorderCollapse = "border-collapse" | "border-separate" 2 | export type TailwindBorderCollapseType = { 3 | /** 4 | *@description Utilities for controlling whether table borders should collapse or be separated. 5 | *@see {@link https://tailwindcss.com/docs/border-collapse border collapse} 6 | */ 7 | borderCollapse: TailwindBorderCollapse 8 | } 9 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/tables/@border.spacing.ts: -------------------------------------------------------------------------------- 1 | import { PluginVariants } from "../../../plugin" 2 | 3 | export type TailwindBorderSpacingType<TailwindSpacing extends string> = { 4 | /** 5 | *@description Utilities for controlling the spacing between table borders. 6 | *@see {@link https://tailwindcss.com/docs/border-spacing border-spacing} 7 | */ 8 | borderSpacing: PluginVariants<"border-spacing", TailwindSpacing> 9 | /** 10 | *@description Utilities for controlling the spacing between table borders x direction. 11 | *@see {@link https://tailwindcss.com/docs/border-spacing border-spacing-x} 12 | */ 13 | borderSpacingX: PluginVariants<"border-spacing-x", TailwindSpacing> 14 | /** 15 | *@description Utilities for controlling the spacing between table borders y direction. 16 | *@see {@link https://tailwindcss.com/docs/border-spacing border-spacing-y} 17 | */ 18 | borderSpacingY: PluginVariants<"border-spacing-y", TailwindSpacing> 19 | } 20 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/tables/@caption.side.ts: -------------------------------------------------------------------------------- 1 | type TailwindCaptionSideVariants = "top" | "bottom" 2 | type TailwindCaptionSide = `caption-${TailwindCaptionSideVariants}` 3 | 4 | export type TailwindCaptionSideType = { 5 | /** 6 | *@description Utilities for controlling the alignment of a caption element inside of a table. 7 | *@see {@link https://tailwindcss.com/docs/caption-side caption side} 8 | */ 9 | captionSide: TailwindCaptionSide 10 | } 11 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/tables/@table.layout.ts: -------------------------------------------------------------------------------- 1 | type TailwindTableLayout = "table-auto" | "table-fixed" 2 | export type TailwindTableLayoutType = { 3 | /** 4 | *@description Utilities for controlling the table layout algorithm. 5 | *@see {@link https://tailwindcss.com/docs/table-layout table layout} 6 | */ 7 | tableLayout: TailwindTableLayout 8 | } 9 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/tables/index.ts: -------------------------------------------------------------------------------- 1 | import { Pluggable } from "../../../plugin" 2 | import { TailwindBorderCollapseType } from "./@border.collapse" 3 | import { TailwindBorderSpacingType } from "./@border.spacing" 4 | import { TailwindCaptionSideType } from "./@caption.side" 5 | import { TailwindTableLayoutType } from "./@table.layout" 6 | 7 | export interface TailwindTablesPlug { 8 | borderSpacing?: string 9 | } 10 | export interface TailwindTables< 11 | TailwindSpacing extends string, 12 | TablesPlug extends TailwindTablesPlug = { 13 | borderSpacing: "" 14 | }, 15 | > extends TailwindBorderCollapseType, 16 | TailwindBorderSpacingType< 17 | TailwindSpacing | Pluggable<TablesPlug["borderSpacing"]> 18 | >, 19 | TailwindTableLayoutType, 20 | TailwindCaptionSideType {} 21 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/transforms/@hardware.acceleration.ts: -------------------------------------------------------------------------------- 1 | export type TailwindHardwareAccelerationType = { 2 | /** 3 | *@description If your transition performs better when rendered by the GPU instead of the CPU, you can force hardware acceleration by adding the `transform-gpu` utility 4 | *@see {@link https://tailwindcss.com/docs/translate#hardware-acceleration transform gpu} 5 | */ 6 | transformGPU: "transform-gpu" 7 | } 8 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/transforms/@rotate.ts: -------------------------------------------------------------------------------- 1 | import { 2 | PlugBase, 3 | Pluggable, 4 | PluginVariantsWithDirection, 5 | } from "../../../plugin" 6 | import { TailwindArbitrary } from "../common/@arbitrary" 7 | 8 | type TailwindRotateVariants<Plug extends PlugBase = ""> = 9 | | "0" 10 | | "1" 11 | | "2" 12 | | "3" 13 | | "6" 14 | | "12" 15 | | "45" 16 | | "90" 17 | | "180" 18 | | TailwindArbitrary 19 | | Pluggable<Plug> 20 | 21 | export type TailwindRotateType<Plug extends PlugBase = ""> = { 22 | /** 23 | *@description Utilities for rotating elements with transform. 24 | *@see {@link https://tailwindcss.com/docs/rotate rotate} 25 | *@unit Gap `1` = `1deg` 26 | */ 27 | transformRotate: PluginVariantsWithDirection< 28 | "rotate", 29 | TailwindRotateVariants<Plug> 30 | > 31 | } 32 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/transforms/@scale.ts: -------------------------------------------------------------------------------- 1 | import { PluginVariantsWithDirection } from "../../../plugin" 2 | 3 | export type TailwindScaleType<Scale extends string> = { 4 | /** 5 | *@description Utilities for scaling elements with transform. 6 | *@see {@link https://tailwindcss.com/docs/scale scale} 7 | */ 8 | transformScale: PluginVariantsWithDirection<"scale", Scale> 9 | /** 10 | *@description Utilities for scaling elements with transform x direction. 11 | *@see {@link https://tailwindcss.com/docs/scale scale-x} 12 | */ 13 | transformScaleX: PluginVariantsWithDirection<"scale-x", Scale> 14 | /** 15 | *@description Utilities for scaling elements with transform y direction. 16 | *@see {@link https://tailwindcss.com/docs/scale scale-y} 17 | */ 18 | transformScaleY: PluginVariantsWithDirection<"scale-y", Scale> 19 | } 20 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/transforms/@skew.ts: -------------------------------------------------------------------------------- 1 | import { PluginVariantsWithDirection } from "../../../plugin" 2 | 3 | export type TailwindSkewType<Skew extends string> = { 4 | /** 5 | *@description Utilities for skewing elements with transform x direction 6 | *@see {@link https://tailwindcss.com/docs/skew skew-x} 7 | */ 8 | transformSkewX: PluginVariantsWithDirection<"skew-x", Skew> 9 | /** 10 | *@description Utilities for skewing elements with transform y direction 11 | *@unit Gap `1` = `1deg` 12 | *@see {@link https://tailwindcss.com/docs/skew skew-y} 13 | */ 14 | transformSkewY: PluginVariantsWithDirection<"skew-y", Skew> 15 | } 16 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/transforms/@transform.origin.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable, PluginVariants } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindTransformOriginVariants<Plug extends PlugBase = ""> = 5 | | "center" 6 | | "top" 7 | | "top-right" 8 | | "right" 9 | | "bottom-right" 10 | | "bottom" 11 | | "bottom-left" 12 | | "left" 13 | | "top-left" 14 | | TailwindArbitrary 15 | | Pluggable<Plug> 16 | 17 | export type TailwindTransformOriginType<Plug extends PlugBase = ""> = { 18 | /** 19 | *@description Utilities for specifying the origin for an element's transformations. 20 | *@see {@link https://tailwindcss.com/docs/transform-origin transform origin} 21 | */ 22 | transformOrigin: PluginVariants< 23 | "origin", 24 | TailwindTransformOriginVariants<Plug> 25 | > 26 | } 27 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/transforms/@translate.ts: -------------------------------------------------------------------------------- 1 | import { PluginVariantsWithDirection } from "../../../plugin" 2 | 3 | export type TailwindTranslateType<Translate extends string> = { 4 | /** 5 | *@description Utilities for translating elements with transform. 6 | *@unit Gap `1` = `4px` = `0.25rem` 7 | *@see {@link https://tailwindcss.com/docs/translate translate} 8 | */ 9 | transformTranslate: PluginVariantsWithDirection<"translate", Translate> 10 | /** 11 | *@description Utilities for translating elements with transform x direction. 12 | *@unit Gap `1` = `4px` = `0.25rem` 13 | *@see {@link https://tailwindcss.com/docs/translate translate-x} 14 | */ 15 | transformTranslateX: PluginVariantsWithDirection<"translate-x", Translate> 16 | /** 17 | *@description Utilities for translating elements with transform y direction. 18 | *@unit Gap `1` = `4px` = `0.25rem` 19 | *@see {@link https://tailwindcss.com/docs/translate translate-y} 20 | */ 21 | transformTranslateY: PluginVariantsWithDirection<"translate-y", Translate> 22 | } 23 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwind/properties/transition.animation/@animation.ts: -------------------------------------------------------------------------------- 1 | import { PlugBase, Pluggable } from "../../../plugin" 2 | import { TailwindArbitrary } from "../common/@arbitrary" 3 | 4 | type TailwindAnimationVariants<Plug extends PlugBase = ""> = 5 | | "none" 6 | | "spin" 7 | | "ping" 8 | | "pulse" 9 | | "bounce" 10 | | Pluggable<Plug> 11 | | TailwindArbitrary 12 | 13 | type TailwindAnimation<Plug extends PlugBase = ""> = 14 | `animate-${TailwindAnimationVariants<Plug>}` 15 | export type TailwindAnimationType<Plug extends PlugBase = ""> = { 16 | /** 17 | *@description Utilities for animating elements with CSS animations. 18 | *@see {@link https://tailwindcss.com/docs/animation animation} 19 | */ 20 | animation: TailwindAnimation<Plug> 21 | } 22 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/types/tailwindest/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./core" 2 | export * from "./nest.extended" 3 | -------------------------------------------------------------------------------- /packages/tailwindest/src/legacy/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./util.types" 2 | -------------------------------------------------------------------------------- /packages/tailwindest/src/tools/get_variants.ts: -------------------------------------------------------------------------------- 1 | import type { Styler } from "./styler" 2 | 3 | /** 4 | * Get variants 5 | */ 6 | export type GetVariants<StylerInstance extends Styler<any, any>> = 7 | StylerInstance extends Styler<infer Arg, any> 8 | ? Arg extends never 9 | ? never 10 | : Exclude<Parameters<StylerInstance["class"]>[0], "base"> 11 | : never 12 | -------------------------------------------------------------------------------- /packages/tailwindest/src/tools/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./create_tools" 2 | export * from "./get_variants" 3 | export * from "./styler" 4 | export * from "./primitive" 5 | export * from "./rotary" 6 | export * from "./toggle" 7 | export * from "./variants" 8 | -------------------------------------------------------------------------------- /packages/tailwindest/src/tools/merger_interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @interface 3 | * Merge arbitrary class list into one valid style classname string 4 | */ 5 | export type Merger<ClassList extends Array<any> = any[]> = ( 6 | ...classList: ClassList 7 | ) => string 8 | -------------------------------------------------------------------------------- /packages/tailwindest/src/tools/primitive.ts: -------------------------------------------------------------------------------- 1 | import { Styler } from "./styler" 2 | 3 | export class PrimitiveStyler<StyleType> extends Styler<never, StyleType> { 4 | private _class: string 5 | private _style: StyleType 6 | 7 | public constructor(style: StyleType) { 8 | super() 9 | this._class = Styler.getClassName(style) 10 | this._style = style 11 | } 12 | 13 | /** 14 | * Get classname 15 | * @param extraClassName extra classnames, if merger is provided it uses merger or just concat. 16 | */ 17 | public class(extraClassName?: string): string { 18 | const inquired = this._class 19 | if (!extraClassName) return inquired 20 | return this.merger(inquired, extraClassName) 21 | } 22 | 23 | /** 24 | * Get stylesheet 25 | * @param extraStyle extra stylesheet 26 | */ 27 | public style(extraStyle?: StyleType): StyleType { 28 | const inquired = this._style 29 | if (!extraStyle) return inquired 30 | return Styler.deepMerge(inquired, extraStyle) 31 | } 32 | 33 | public compose(...styles: Array<StyleType>): PrimitiveStyler<StyleType> { 34 | return new PrimitiveStyler<StyleType>( 35 | Styler.deepMerge(this._style, ...styles)! 36 | ) 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /packages/tailwindest/src/tools/to_class.ts: -------------------------------------------------------------------------------- 1 | import { clsx } from "clsx" 2 | 3 | // Type definition from <clsx> copyright >> https://github.com/lukeed/clsx 4 | type ClassValue<Literal extends string = string> = 5 | | ClassList<Literal> 6 | | ClassDictionary 7 | | Literal 8 | | number 9 | | bigint 10 | | null 11 | | boolean 12 | | undefined 13 | type ClassDictionary = Record<string, any> 14 | 15 | /** 16 | * @interface 17 | * Default supported class list 18 | */ 19 | export type ClassList<Literal extends string = string> = ClassValue<Literal>[] 20 | 21 | export function toClass<Literal extends string = string>( 22 | ...classList: ClassList<Literal> 23 | ): string { 24 | return clsx(classList) 25 | } 26 | -------------------------------------------------------------------------------- /packages/tailwindest/src/tools/to_def.ts: -------------------------------------------------------------------------------- 1 | import type { ClassList } from "./to_class" 2 | 3 | export function toDef<StyleType>( 4 | classList: ClassList<string>, 5 | styleList: Array<StyleType>, 6 | styleMerger: (...styles: Array<StyleType>) => string, 7 | join: (...classList: ClassList<string>) => string 8 | ): string { 9 | const classLiteral = join(...classList) 10 | const styleLiteral = styleMerger(...styleList) 11 | return join(classLiteral, styleLiteral) 12 | } 13 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - "packages/**" 3 | - "site" 4 | -------------------------------------------------------------------------------- /site/.gitignore: -------------------------------------------------------------------------------- 1 | .next 2 | node_modules 3 | -------------------------------------------------------------------------------- /site/components/common/Code.tsx: -------------------------------------------------------------------------------- 1 | import { tw } from "wind" 2 | import { util } from "~components/utils" 3 | 4 | const code = tw 5 | .style({ 6 | fontWeight: "font-light", 7 | fontSize: "text-sm", 8 | paddingX: "px-0.5", 9 | paddingY: "py-0", 10 | borderRadius: "rounded-sm", 11 | 12 | "@md": { 13 | padding: "md:p-0", 14 | paddingX: "md:px-0.5", 15 | paddingY: "md:py-[0.25px]", 16 | borderRadius: "md:rounded", 17 | }, 18 | }) 19 | .compose(util.amberColor.style()) 20 | 21 | const Code = ({ children }: React.PropsWithChildren) => ( 22 | <code className={code.class()}>{children}</code> 23 | ) 24 | 25 | export { Code } 26 | -------------------------------------------------------------------------------- /site/components/common/Divider.tsx: -------------------------------------------------------------------------------- 1 | const Divider = ({ id }: { id?: string }) => { 2 | return ( 3 | <div 4 | id={id} 5 | className="mx-auto w-7 h-0.5 bg-transparent md:bg-amber-100/10 my-10 md:my-20" 6 | /> 7 | ) 8 | } 9 | 10 | export { Divider } 11 | -------------------------------------------------------------------------------- /site/components/common/Example.tsx: -------------------------------------------------------------------------------- 1 | import { Tab, Tabs } from "nextra-theme-docs" 2 | 3 | const Example = ({ 4 | code, 5 | fileName, 6 | component, 7 | }: { 8 | fileName: string 9 | code: string 10 | component: React.ReactNode 11 | }) => { 12 | return ( 13 | <Tabs items={[fileName, "result"]}> 14 | <Tab> 15 | <code 16 | dangerouslySetInnerHTML={{ 17 | __html: code, 18 | }} 19 | /> 20 | </Tab> 21 | <Tab>{component}</Tab> 22 | </Tabs> 23 | ) 24 | } 25 | 26 | export { Example } 27 | -------------------------------------------------------------------------------- /site/components/common/Stackblitz.tsx: -------------------------------------------------------------------------------- 1 | import { tw } from "wind" 2 | 3 | const exampleEntryPoint = { 4 | ["expo-nativewind"]: "App.tsx", 5 | next: "src/app/counter.tsx", 6 | svelte: "src/components/theme.button.svelte", 7 | } as const 8 | 9 | const examplePath = "github/danpacho/tailwindest/tree/master/examples" as const 10 | 11 | const exampleTitle = tw.style({ 12 | width: "w-full", 13 | padding: "p-2", 14 | backgroundColor: "bg-teal-300/5", 15 | 16 | borderWidth: "border-2", 17 | borderColor: "border-teal-400/50", 18 | borderTopRightRadius: "rounded-tr-xl", 19 | 20 | fontFamily: "font-mono", 21 | color: "text-teal-400", 22 | fontSize: "text-sm", 23 | fontWeight: "font-semibold", 24 | textTransform: "capitalize", 25 | textDecorationLine: "underline", 26 | }) 27 | 28 | const StackBlitz = ({ 29 | example, 30 | label, 31 | }: { 32 | label: string 33 | example: keyof typeof exampleEntryPoint 34 | }) => { 35 | return ( 36 | <div className="flex flex-col my-6 w-full"> 37 | <div className={exampleTitle.class()}>{label}</div> 38 | <iframe 39 | title="stackblitz" 40 | src={`https://stackblitz.com/${examplePath}/${example}?embed=1&file=${exampleEntryPoint[example]}`} 41 | className="w-full h-screen rounded-b-lg border-2 border-t-0 border-teal-400/50" 42 | /> 43 | </div> 44 | ) 45 | } 46 | 47 | export { StackBlitz } 48 | -------------------------------------------------------------------------------- /site/components/common/Underline.tsx: -------------------------------------------------------------------------------- 1 | import { tw } from "wind" 2 | 3 | const underline = tw.style({ 4 | fontFamily: "font-mono", 5 | fontWeight: "font-semibold", 6 | paddingBottom: "pb-0.5", 7 | 8 | borderRadius: "rounded-none", 9 | borderBottomWidth: "border-b", 10 | borderBottomColor: "border-b-orange-400", 11 | 12 | letterSpacing: "tracking-tight", 13 | 14 | "@dark": { 15 | color: "dark:text-white", 16 | }, 17 | "@md": { 18 | paddingBottom: "md:pb-[0.2rem]", 19 | }, 20 | }) 21 | 22 | const Underline = ({ children }: React.PropsWithChildren) => ( 23 | <code className={underline.class()}>{children}</code> 24 | ) 25 | 26 | export { Underline } 27 | -------------------------------------------------------------------------------- /site/components/common/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./Button" 2 | export * from "./Title" 3 | export * from "./Underline" 4 | export * from "./Example" 5 | export * from "./Stackblitz" 6 | export * from "./Divider" 7 | export * from "./CodeCompletion" 8 | export * from "./Code" 9 | export * from "./Card" 10 | -------------------------------------------------------------------------------- /site/components/pages/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./main" 2 | -------------------------------------------------------------------------------- /site/components/utils.ts: -------------------------------------------------------------------------------- 1 | import { tw as s } from "wind" 2 | 3 | const bg = s.style({ 4 | gradient: "bg-gradient-to-b", 5 | gradientStart: "from-[#D0E33E]", 6 | gradientEnd: "to-[#FF3C3C]", 7 | "@dark": { 8 | gradientStart: "dark:from-[#F1FF8A]", 9 | gradientEnd: "dark:to-[#FF3F3F]", 10 | }, 11 | }) 12 | 13 | const goldGradient = s.style({ 14 | gradient: "bg-gradient-to-tl", 15 | gradientStart: "from-amber-400", 16 | gradientMiddle: "via-amber-200", 17 | gradientEnd: "to-amber-500", 18 | }) 19 | 20 | const amberColor = s.style({ 21 | color: "text-amber-100/80", 22 | borderWidth: "border", 23 | backgroundColor: "bg-transparent", 24 | borderColor: "border-amber-100/25", 25 | }) 26 | 27 | const util = { 28 | bg, 29 | goldGradient, 30 | amberColor, 31 | } as const 32 | 33 | export { util } 34 | -------------------------------------------------------------------------------- /site/global.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | pre { 6 | background-color: rgb(18, 18, 18) !important; 7 | border: 1px solid rgb(254 243 199 / 0.1) !important; 8 | } 9 | 10 | /* for code suggestion blocks */ 11 | .highlighted:not(.line) { 12 | color: #eea84d !important; 13 | padding: 0 !important; 14 | cursor: pointer !important; 15 | font-weight: 400 !important; 16 | transition: all ease 0.2s !important; 17 | text-decoration: underline; 18 | text-decoration-color: transparent; 19 | } 20 | .highlighted:not(.line):hover { 21 | text-decoration-color: #eea84d; 22 | } 23 | 24 | @keyframes appear { 25 | 0% { 26 | opacity: 0.25; 27 | } 28 | 100% { 29 | opacity: 1; 30 | } 31 | } 32 | 33 | .dark { 34 | --shiki-token-keyword: #ff7777; 35 | --shiki-token-string: #ba9090; 36 | --shiki-token-string-expression: #ba9090; 37 | --shiki-color-text: #dadada; 38 | --shiki-token-function: #ffca7b; 39 | --shiki-token-parameter: #ffca7b; 40 | --shiki-token-comment: #808995; 41 | --shiki-token-constant: #ffe5c1; 42 | --shiki-token-punctuation: #bbbbbb; 43 | --shiki-token-link: #6ecd8a; 44 | } 45 | -------------------------------------------------------------------------------- /site/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// <reference types="next" /> 2 | /// <reference types="next/image-types/global" /> 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. 6 | -------------------------------------------------------------------------------- /site/next.config.mjs: -------------------------------------------------------------------------------- 1 | import nextra from "nextra" 2 | 3 | const withNextra = nextra({ 4 | theme: "nextra-theme-docs", 5 | themeConfig: "./theme.config.tsx", 6 | defaultShowCopyCode: true, 7 | readingTime: true, 8 | flexsearch: { 9 | codeblocks: false, 10 | }, 11 | }) 12 | 13 | export default withNextra({ 14 | reactStrictMode: true, 15 | eslint: { 16 | // Eslint behaves weirdly in this monorepo. 17 | ignoreDuringBuilds: true, 18 | }, 19 | }) 20 | -------------------------------------------------------------------------------- /site/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwindest-documentation", 3 | "version": "2.0.0", 4 | "private": true, 5 | "description": "tailwindest official documentation", 6 | "scripts": { 7 | "dev": "next dev", 8 | "build": "next build", 9 | "start": "next start" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/danpacho/tailwindest.git" 14 | }, 15 | "author": "danpacho <danpacho@cau.ac.kr>", 16 | "license": "MIT", 17 | "bugs": { 18 | "url": "https://github.com/danpacho/tailwindest/issues" 19 | }, 20 | "homepage": "https://github.com/danpacho/tailwindest#readme", 21 | "dependencies": { 22 | "@heroicons/react": "^2.1.3", 23 | "@vercel/analytics": "^1.3.1", 24 | "next": "^14.2.3", 25 | "nextra": "2.13.4", 26 | "nextra-theme-docs": "2.13.4", 27 | "react": "^18.3.1", 28 | "react-dom": "^18.3.1", 29 | "tailwindest": "workspace:^" 30 | }, 31 | "devDependencies": { 32 | "@types/node": "20.12.13", 33 | "@types/react": "^18.3.3", 34 | "@types/react-dom": "^18.3.0", 35 | "autoprefixer": "^10.4.19", 36 | "eslint": "^8.40.0", 37 | "postcss": "^8.4.38", 38 | "sharp": "^0.33.4", 39 | "tailwindcss": "^3.4.3", 40 | "typescript": "^5.4.5" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /site/pages/404.mdx: -------------------------------------------------------------------------------- 1 | import { NotFoundPage, Callout } from "nextra-theme-docs" 2 | 3 | # Oops!🤫 4 | 5 | <Callout type="error">Looks like you lost. [Let's go home now](/)</Callout> 6 | 7 | <br /> 8 | <br /> 9 | <br /> 10 | 11 | <NotFoundPage /> 12 | -------------------------------------------------------------------------------- /site/pages/_app.mdx: -------------------------------------------------------------------------------- 1 | import "../global.css" 2 | import { PointerLeaveProvider } from "~components/common" 3 | import { Analytics } from "@vercel/analytics/react" 4 | 5 | export default function App({ Component, pageProps }) { 6 | return ( 7 | <> 8 | <PointerLeaveProvider> 9 | <Component {...pageProps} /> 10 | </PointerLeaveProvider> 11 | <Analytics /> 12 | </> 13 | ) 14 | } 15 | -------------------------------------------------------------------------------- /site/pages/_document.tsx: -------------------------------------------------------------------------------- 1 | import Document, { Head, Html, Main, NextScript } from "next/document" 2 | import { SkipNavLink } from "nextra-theme-docs" 3 | 4 | class AppDocument extends Document { 5 | render() { 6 | return ( 7 | <Html lang="en"> 8 | <Head /> 9 | <body> 10 | <SkipNavLink styled /> 11 | <Main /> 12 | <NextScript /> 13 | </body> 14 | </Html> 15 | ) 16 | } 17 | } 18 | 19 | export default AppDocument 20 | -------------------------------------------------------------------------------- /site/pages/_meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "index": { 3 | "title": "Introduction", 4 | "type": "page", 5 | "display": "hidden" 6 | }, 7 | "start": "Before dive in", 8 | "setup": "Setup", 9 | "recipe": "Recipes", 10 | "apis": "API References", 11 | "examples": "Examples" 12 | } 13 | -------------------------------------------------------------------------------- /site/pages/apis/_meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createTools": { 3 | "title": "createTools" 4 | }, 5 | "Tailwindest": { 6 | "title": "Tailwindest" 7 | }, 8 | "ShortTailwindest": { 9 | "title": "ShortTailwindest" 10 | }, 11 | "style": { 12 | "title": "style" 13 | }, 14 | "toggle": { 15 | "title": "toggle" 16 | }, 17 | "rotary": { 18 | "title": "rotary" 19 | }, 20 | "variants": { 21 | "title": "variants" 22 | }, 23 | "mergeProps": { 24 | "title": "mergeProps" 25 | }, 26 | "GetVariants": { 27 | "title": "GetVariants" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /site/pages/examples/_meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "next": { 3 | "title": "Next" 4 | }, 5 | "react_native": { 6 | "title": "React Native" 7 | }, 8 | "svelte": { 9 | "title": "Svelte" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /site/pages/examples/svelte.mdx: -------------------------------------------------------------------------------- 1 | import { StackBlitz } from "../../components/common" 2 | 3 | # Svelte 4 | 5 | <StackBlitz label="Svelte counter" example="svelte" /> 6 | -------------------------------------------------------------------------------- /site/pages/recipe/_meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "styling": { 3 | "title": "Basic styling" 4 | }, 5 | "conditional-styling": { 6 | "title": "Conditional styling" 7 | }, 8 | "customize": { 9 | "title": "Customize" 10 | }, 11 | "utility": { 12 | "title": "Utility" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /site/pages/start/_meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "introduction": { 3 | "title": "Introduction" 4 | }, 5 | "drawbacks": { 6 | "title": "Drawbacks of tailwind" 7 | }, 8 | "goals": { 9 | "title": "Design goals" 10 | }, 11 | "overview": { 12 | "title": "Overview" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /site/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /site/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/site/public/favicon.png -------------------------------------------------------------------------------- /site/public/images/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/site/public/images/architecture.png -------------------------------------------------------------------------------- /site/public/images/cond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/site/public/images/cond.png -------------------------------------------------------------------------------- /site/public/images/expo-demo-result.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/site/public/images/expo-demo-result.jpeg -------------------------------------------------------------------------------- /site/public/images/microwave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/site/public/images/microwave.png -------------------------------------------------------------------------------- /site/public/images/rotary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/site/public/images/rotary.png -------------------------------------------------------------------------------- /site/public/images/tailwindest.banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/site/public/images/tailwindest.banner.png -------------------------------------------------------------------------------- /site/public/images/toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/site/public/images/toggle.png -------------------------------------------------------------------------------- /site/public/images/variants.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danpacho/tailwindest/f170b528dec8927e62942436439139f27e7b8d5e/site/public/images/variants.png -------------------------------------------------------------------------------- /site/tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: [ 4 | "./pages/**/*.{js,ts,jsx,tsx,mdx}", 5 | "./components/**/*.{js,ts,jsx,tsx}", 6 | "./theme.config.tsx", 7 | ], 8 | theme: { 9 | extend: { 10 | animation: { 11 | appear: "appear 1.25s ease", 12 | }, 13 | }, 14 | }, 15 | plugins: [], 16 | darkMode: "class", 17 | } 18 | -------------------------------------------------------------------------------- /site/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "target": "ESNext", 5 | "lib": ["dom", "dom.iterable", "esnext"], 6 | "strict": true, 7 | "allowJs": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "skipLibCheck": true, 10 | "incremental": true, 11 | "esModuleInterop": true, 12 | "isolatedModules": true, 13 | "moduleResolution": "node", 14 | "noEmit": true, 15 | "jsx": "preserve", 16 | "module": "esnext", 17 | "resolveJsonModule": true, 18 | "paths": { 19 | "~components/*": ["components/*"] 20 | } 21 | }, 22 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 23 | "exclude": ["node_modules", "./examples"] 24 | } 25 | -------------------------------------------------------------------------------- /site/wind.props.d.ts: -------------------------------------------------------------------------------- 1 | /// <reference types="./wind.ts" /> 2 | -------------------------------------------------------------------------------- /site/wind.ts: -------------------------------------------------------------------------------- 1 | import { Tailwindest, createTools } from "tailwindest" 2 | 3 | export type TailwindCustom = Tailwindest< 4 | {}, 5 | { 6 | animation: "appear" 7 | } 8 | > 9 | 10 | const tw = createTools<{ 11 | tailwindest: TailwindCustom 12 | }>() 13 | 14 | type Tailwind = Required<TailwindCustom> 15 | 16 | declare module "react" { 17 | interface DOMAttributes<T> { 18 | /** 19 | * Styling props for tailwindest 20 | */ 21 | tw?: TailwindCustom 22 | } 23 | interface HTMLAttributes<T> 24 | extends React.AriaAttributes, 25 | React.DOMAttributes<T> {} 26 | 27 | type TwPropsWithChildren<P = unknown> = P & { 28 | children?: ReactNode | undefined 29 | tw?: TailwindCustom 30 | } 31 | } 32 | 33 | declare global { 34 | namespace JSX { 35 | interface IntrinsicAttributes { 36 | /** 37 | * Styling props for tailwindest 38 | */ 39 | tw?: TailwindCustom 40 | } 41 | } 42 | } 43 | 44 | export { tw, type Tailwind } 45 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "strict": true, 4 | "target": "esnext", 5 | "module": "esnext", 6 | "lib": ["dom", "dom.iterable", "esnext"], 7 | "baseUrl": ".", 8 | "esModuleInterop": true, 9 | "moduleResolution": "bundler", 10 | "noUncheckedIndexedAccess": true, 11 | "exactOptionalPropertyTypes": true, 12 | "forceConsistentCasingInFileNames": true, 13 | "noEmit": true, 14 | "skipLibCheck": true 15 | }, 16 | "include": ["packages"], 17 | "exclude": ["node_modules", "dist", "site", "examples"] 18 | } 19 | -------------------------------------------------------------------------------- /turbo.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://turbo.build/schema.json", 3 | "ui": "tui", 4 | "tasks": { 5 | "build": { 6 | "dependsOn": ["^build"], 7 | "outputs": [".next/**", "!.next/cache/**", "dist/**"] 8 | }, 9 | "test": { 10 | "dependsOn": ["^build"], 11 | "outputs": [] 12 | }, 13 | "lint": { 14 | "outputs": [] 15 | }, 16 | "dev": { 17 | "cache": false 18 | }, 19 | "start": { 20 | "cache": false 21 | }, 22 | "clean": { 23 | "cache": false 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- 1 | import tsconfigPaths from "vite-tsconfig-paths" 2 | // eslint-disable-next-line import/no-unresolved 3 | import { defineConfig } from "vitest/config" 4 | 5 | export default defineConfig({ 6 | root: process.cwd(), 7 | plugins: [ 8 | tsconfigPaths({ 9 | root: ".", 10 | }), 11 | ], 12 | test: { 13 | root: "packages", 14 | coverage: { 15 | reporter: ["html", "text"], 16 | provider: "v8", 17 | // include: [], 18 | }, 19 | }, 20 | resolve: {}, 21 | }) 22 | --------------------------------------------------------------------------------