@amsterdamdatalabs/enact-extensions 0.1.37 → 0.1.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -108
- package/bundled-extensions.json +6 -0
- package/dist/create/enact.d.ts.map +1 -1
- package/dist/create/enact.js +2 -0
- package/dist/create/enact.js.map +1 -1
- package/dist/create/index.d.ts +3 -0
- package/dist/create/index.d.ts.map +1 -1
- package/dist/create/index.js +6 -0
- package/dist/create/index.js.map +1 -1
- package/dist/create/kimi.d.ts +16 -0
- package/dist/create/kimi.d.ts.map +1 -0
- package/dist/create/kimi.js +87 -0
- package/dist/create/kimi.js.map +1 -0
- package/dist/create/opencode.d.ts +129 -0
- package/dist/create/opencode.d.ts.map +1 -0
- package/dist/create/opencode.js +696 -0
- package/dist/create/opencode.js.map +1 -0
- package/dist/index.d.ts +12 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/internal/agents.d.ts +12 -2
- package/dist/internal/agents.d.ts.map +1 -1
- package/dist/internal/agents.js +119 -3
- package/dist/internal/agents.js.map +1 -1
- package/dist/internal/extensions-table.d.ts +58 -0
- package/dist/internal/extensions-table.d.ts.map +1 -0
- package/dist/internal/extensions-table.js +134 -0
- package/dist/internal/extensions-table.js.map +1 -0
- package/dist/internal/file-ops.d.ts +36 -0
- package/dist/internal/file-ops.d.ts.map +1 -0
- package/dist/internal/file-ops.js +89 -0
- package/dist/internal/file-ops.js.map +1 -0
- package/dist/internal/hooks.d.ts +56 -0
- package/dist/internal/hooks.d.ts.map +1 -0
- package/dist/internal/hooks.js +128 -0
- package/dist/internal/hooks.js.map +1 -0
- package/dist/internal/json-merge.d.ts +63 -0
- package/dist/internal/json-merge.d.ts.map +1 -0
- package/dist/internal/json-merge.js +122 -0
- package/dist/internal/json-merge.js.map +1 -0
- package/dist/internal/lock-ownership.d.ts +41 -0
- package/dist/internal/lock-ownership.d.ts.map +1 -0
- package/dist/internal/lock-ownership.js +24 -0
- package/dist/internal/lock-ownership.js.map +1 -0
- package/dist/internal/platform.d.ts.map +1 -1
- package/dist/internal/platform.js +90 -4
- package/dist/internal/platform.js.map +1 -1
- package/dist/internal/schema.js.map +1 -1
- package/dist/internal/toml-block.d.ts +59 -0
- package/dist/internal/toml-block.d.ts.map +1 -0
- package/dist/internal/toml-block.js +113 -0
- package/dist/internal/toml-block.js.map +1 -0
- package/dist/internal/types.d.ts +2 -1
- package/dist/internal/types.d.ts.map +1 -1
- package/dist/projection.d.ts +47 -0
- package/dist/projection.d.ts.map +1 -0
- package/dist/projection.js +180 -0
- package/dist/projection.js.map +1 -0
- package/dist/validate/index.d.ts +9 -4
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +56 -7
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/kimi.d.ts +3 -0
- package/dist/validate/kimi.d.ts.map +1 -0
- package/dist/validate/kimi.js +11 -0
- package/dist/validate/kimi.js.map +1 -0
- package/dist/validate/opencode.d.ts +3 -0
- package/dist/validate/opencode.d.ts.map +1 -0
- package/dist/validate/opencode.js +11 -0
- package/dist/validate/opencode.js.map +1 -0
- package/dist/validate/run.d.ts +39 -0
- package/dist/validate/run.d.ts.map +1 -0
- package/dist/validate/run.js +63 -0
- package/dist/validate/run.js.map +1 -0
- package/extensions/enact-loop/.agents/plugin.json +12 -8
- package/extensions/enact-loop/scripts/validate.mjs +113 -2
- package/extensions/enact-loop/skills/enact-loop/SKILL.md +36 -466
- package/extensions/enact-loop/skills/enact-loop/references/loop-contract.md +114 -0
- package/extensions/enact-loop/skills/loop-budget/SKILL.md +57 -0
- package/extensions/enact-loop/skills/loop-intake/SKILL.md +59 -0
- package/extensions/enact-repo/.agents/plugin.json +55 -0
- package/extensions/enact-repo/.mcp.json +20 -0
- package/extensions/enact-repo/README.md +90 -0
- package/extensions/enact-repo/hooks/hooks.json +98 -0
- package/extensions/enact-repo/lean-ctx/config.toml +35 -0
- package/extensions/enact-repo/lean-ctx/layout.toml +5 -0
- package/extensions/enact-repo/skills/aca-sandboxes/SKILL.md +53 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/capabilities.md +52 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/install.md +87 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/prerequisites.md +52 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/quickstart.md +164 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/reference-advanced.md +251 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/reference.md +287 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/response-cues.md +71 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/scenarios.md +219 -0
- package/extensions/enact-repo/skills/aca-sandboxes/version.json +4 -0
- package/extensions/enact-repo/skills/backend-remove-deadcode/SKILL.md +96 -0
- package/extensions/enact-repo/skills/cmux-leader/SKILL.md +61 -0
- package/extensions/enact-repo/skills/cmux-send/SKILL.md +61 -0
- package/extensions/enact-repo/skills/code-review/SKILL.md +100 -0
- package/extensions/enact-repo/skills/codebase-design/SKILL.md +98 -0
- package/extensions/enact-repo/skills/codebase-design/references/DEEPENING.md +37 -0
- package/extensions/enact-repo/skills/codebase-design/references/DESIGN-IT-TWICE.md +44 -0
- package/extensions/enact-repo/skills/codebase-design/references/TESTABILITY.md +29 -0
- package/extensions/enact-repo/skills/computer-use/SKILL.md +76 -0
- package/extensions/enact-repo/skills/debug-issue/SKILL.md +40 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/SKILL.md +100 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/references/FEEDBACK-LOOP-TACTICS.md +34 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/extensions/enact-repo/skills/domain-modeling/SKILL.md +86 -0
- package/extensions/enact-repo/skills/domain-modeling/references/ADR-FORMAT.md +47 -0
- package/extensions/enact-repo/skills/domain-modeling/references/CONTEXT-FORMAT.md +60 -0
- package/extensions/enact-repo/skills/explore-codebase/SKILL.md +41 -0
- package/extensions/enact-repo/skills/frontend-design/LICENSE.txt +177 -0
- package/extensions/enact-repo/skills/frontend-design/SKILL.md +56 -0
- package/extensions/enact-repo/skills/grill-me/SKILL.md +20 -0
- package/extensions/enact-repo/skills/grill-with-docs/SKILL.md +20 -0
- package/extensions/enact-repo/skills/handoff/SKILL.md +28 -0
- package/extensions/enact-repo/skills/http-contract-migration/SKILL.md +74 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/compatibility-and-gates.md +26 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/hexagonal-boundary.md +16 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/publication-and-adoption.md +31 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/wire-fidelity-and-dto.md +31 -0
- package/extensions/enact-repo/skills/implement/SKILL.md +28 -0
- package/extensions/enact-repo/skills/improve-codebase-architecture/SKILL.md +80 -0
- package/extensions/enact-repo/skills/improve-codebase-architecture/references/HTML-REPORT.md +123 -0
- package/extensions/enact-repo/skills/interaction-design/SKILL.md +30 -0
- package/extensions/enact-repo/skills/interaction-design/references/Workflow.md +146 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-gsap.md +220 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-native.md +110 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries.md +178 -0
- package/extensions/enact-repo/skills/interaction-design/references/interaction-patterns.md +166 -0
- package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns-advanced.md +285 -0
- package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns.md +254 -0
- package/extensions/enact-repo/skills/interaction-design/references/scroll-animations-reveals.md +213 -0
- package/extensions/enact-repo/skills/interaction-design/references/scroll-animations.md +209 -0
- package/extensions/enact-repo/skills/lean-ctx/SKILL.md +81 -0
- package/extensions/enact-repo/skills/orca-cli/SKILL.md +88 -0
- package/extensions/enact-repo/skills/orchestration/SKILL.md +80 -0
- package/extensions/enact-repo/skills/prototype/SKILL.md +37 -0
- package/extensions/enact-repo/skills/prototype/references/LOGIC.md +79 -0
- package/extensions/enact-repo/skills/prototype/references/UI.md +112 -0
- package/extensions/enact-repo/skills/refactor-safely/SKILL.md +44 -0
- package/extensions/enact-repo/skills/remove-deadcode/SKILL.md +54 -0
- package/extensions/enact-repo/skills/research/SKILL.md +27 -0
- package/extensions/enact-repo/skills/resolving-merge-conflicts/SKILL.md +28 -0
- package/extensions/enact-repo/skills/review-changes/SKILL.md +45 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/SKILL.md +88 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/accent-color.mdx +149 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/adding-custom-styles.mdx +635 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-content.mdx +300 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-items.mdx +241 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-self.mdx +294 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/animation.mdx +286 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/appearance.mdx +180 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/aspect-ratio.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-blur.mdx +109 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-brightness.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-contrast.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-grayscale.mdx +99 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-hue-rotate.mdx +173 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-invert.mdx +99 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-opacity.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-saturate.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-sepia.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter.mdx +113 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backface-visibility.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-attachment.mdx +126 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-blend-mode.mdx +79 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-clip.mdx +85 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-color.mdx +176 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-image.mdx +349 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-origin.mdx +64 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-position.mdx +171 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-repeat.mdx +127 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-size.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/block-size.mdx +190 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-collapse.mdx +181 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-color.mdx +316 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-radius.mdx +347 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-spacing.mdx +117 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-style.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-width.mdx +344 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-decoration-break.mdx +71 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-shadow.mdx +497 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-sizing.mdx +175 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-after.mdx +38 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-before.mdx +38 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-inside.mdx +34 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caption-side.mdx +190 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caret-color.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/clear.mdx +224 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color-scheme.mdx +81 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color.mdx +125 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/colors.mdx +927 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/columns.mdx +310 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/compatibility.mdx +193 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/content.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/cursor.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/dark-mode.mdx +191 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/detecting-classes-in-source-files.mdx +315 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/display.mdx +523 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/editor-setup.mdx +90 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/field-sizing.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/fill.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-blur.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-brightness.mdx +102 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-contrast.mdx +102 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-drop-shadow.mdx +230 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-grayscale.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-hue-rotate.mdx +171 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-invert.mdx +93 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-saturate.mdx +109 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-sepia.mdx +92 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter.mdx +113 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-basis.mdx +144 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-direction.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-grow.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-shrink.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-wrap.mdx +118 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex.mdx +164 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/float.mdx +197 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-family.mdx +119 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-feature-settings.mdx +52 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-size.mdx +184 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-smoothing.mdx +67 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-stretch.mdx +138 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-style.mdx +62 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-variant-numeric.mdx +228 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-weight.mdx +105 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/forced-color-adjust.mdx +152 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/functions-and-directives.mdx +322 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/gap.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-columns.mdx +43 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-flow.mdx +58 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-rows.mdx +43 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-column.mdx +124 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-row.mdx +115 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-columns.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-rows.mdx +108 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/height.mdx +260 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hover-focus-and-other-states.mdx +4935 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hyphens.mdx +112 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/inline-size.mdx +191 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/isolation.mdx +30 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-content.mdx +348 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-items.mdx +286 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-self.mdx +282 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/letter-spacing.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-clamp.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-height.mdx +147 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-image.mdx +80 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-position.mdx +67 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-type.mdx +86 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/margin.mdx +397 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-clip.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-composite.mdx +70 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-image.mdx +933 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-mode.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-origin.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-position.mdx +117 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-repeat.mdx +169 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-size.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-type.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-block-size.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-height.mdx +164 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-inline-size.mdx +185 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-width.mdx +214 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-block-size.mdx +146 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-height.mdx +150 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-inline-size.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-width.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mix-blend-mode.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-fit.mdx +147 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-position.mdx +182 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/opacity.mdx +84 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/order.mdx +94 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-color.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-offset.mdx +72 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-style.mdx +134 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-width.mdx +91 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow-wrap.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow.mdx +665 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overscroll-behavior.mdx +151 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/padding.mdx +232 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective-origin.mdx +127 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective.mdx +137 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-content.mdx +257 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-items.mdx +269 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-self.mdx +257 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/pointer-events.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/position.mdx +399 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/preflight.mdx +291 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/resize.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/responsive-design.mdx +666 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/rotate.mdx +291 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scale.mdx +360 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-behavior.mdx +39 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-margin.mdx +268 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-padding.mdx +255 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-align.mdx +281 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-stop.mdx +198 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-type.mdx +284 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/skew.mdx +352 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke-width.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/styling-with-utility-classes.mdx +1020 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/table-layout.mdx +212 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-align.mdx +162 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-color.mdx +155 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-line.mdx +143 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-style.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-thickness.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-indent.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-overflow.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-shadow.mdx +177 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-transform.mdx +106 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-underline-offset.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-wrap.mdx +144 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/theme.mdx +1142 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/top-right-bottom-left.mdx +296 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/touch-action.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-origin.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-style.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform.mdx +51 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-behavior.mdx +76 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-delay.mdx +76 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-duration.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-property.mdx +137 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-timing-function.mdx +89 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/translate.mdx +487 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/upgrade-guide.mdx +910 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/user-select.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/vertical-align.mdx +194 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/visibility.mdx +287 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/white-space.mdx +211 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/width.mdx +264 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/will-change.mdx +47 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/word-break.mdx +94 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/z-index.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-catalog.md +251 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-index.tsx +237 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-source.txt +6 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/gotchas.md +18 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/scripts/sync_tailwind_docs.py +183 -0
- package/extensions/enact-repo/skills/tdd/SKILL.md +49 -0
- package/extensions/enact-repo/skills/tdd/references/mocking.md +59 -0
- package/extensions/enact-repo/skills/tdd/references/tests.md +77 -0
- package/extensions/enact-repo/skills/teach/SKILL.md +88 -0
- package/extensions/enact-repo/skills/teach/references/GLOSSARY-FORMAT.md +35 -0
- package/extensions/enact-repo/skills/teach/references/LEARNING-RECORD-FORMAT.md +46 -0
- package/extensions/enact-repo/skills/teach/references/MISSION-FORMAT.md +31 -0
- package/extensions/enact-repo/skills/teach/references/PHILOSOPHY.md +65 -0
- package/extensions/enact-repo/skills/teach/references/RESOURCES-FORMAT.md +32 -0
- package/extensions/enact-repo/skills/testing/SKILL.md +54 -0
- package/extensions/enact-repo/skills/to-spec/SKILL.md +85 -0
- package/extensions/enact-repo/skills/to-tickets/SKILL.md +75 -0
- package/extensions/enact-repo/skills/to-tickets/references/TICKET-TEMPLATES.md +39 -0
- package/extensions/enact-repo/skills/triage/SKILL.md +99 -0
- package/extensions/enact-repo/skills/triage/references/AGENT-BRIEF.md +207 -0
- package/extensions/enact-repo/skills/triage/references/NEEDS-INFO-TEMPLATE.md +17 -0
- package/extensions/enact-repo/skills/triage/references/OUT-OF-SCOPE.md +105 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/SKILL.md +32 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/references/Workflow.md +207 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/references/workflow-reference.md +175 -0
- package/extensions/enact-repo/skills/wayfinder/SKILL.md +100 -0
- package/extensions/enact-repo/skills/wayfinder/references/TEMPLATES.md +35 -0
- package/extensions/enact-repo/skills/wayfinder/references/TICKET-TYPES.md +8 -0
- package/extensions/enact-repo/skills/writing-great-skills/SKILL.md +93 -0
- package/extensions/enact-repo/skills/writing-great-skills/references/GLOSSARY.md +201 -0
- package/package.json +18 -14
- package/scripts/enact-extensions.mjs +255 -873
- package/scripts/lib/allowed-plugins.mjs +52 -0
- package/scripts/lib/run-repo-doctor.mjs +571 -0
- package/scripts/lib/run-repo-install.mjs +1579 -0
- package/scripts/lib/run-sync.mjs +1 -1
- package/scripts/lib/run-validate.mjs +23 -37
- package/scripts/lib/skill-validator.mjs +872 -0
- package/spec/enact.json +21 -3
- package/spec/enact.md +13 -12
- package/spec/kimi.json +100 -0
- package/spec/opencode.json +64 -0
- package/dist/install.d.ts +0 -235
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js +0 -697
- package/dist/install.js.map +0 -1
- package/dist/internal/claude.d.ts +0 -65
- package/dist/internal/claude.d.ts.map +0 -1
- package/dist/internal/claude.js +0 -200
- package/dist/internal/claude.js.map +0 -1
- package/dist/internal/codex.d.ts +0 -43
- package/dist/internal/codex.d.ts.map +0 -1
- package/dist/internal/codex.js +0 -211
- package/dist/internal/codex.js.map +0 -1
- package/dist/internal/cursor.d.ts +0 -2
- package/dist/internal/cursor.d.ts.map +0 -1
- package/dist/internal/cursor.js +0 -6
- package/dist/internal/cursor.js.map +0 -1
- package/dist/principles.d.ts +0 -28
- package/dist/principles.d.ts.map +0 -1
- package/dist/principles.js +0 -159
- package/dist/principles.js.map +0 -1
- package/dist/provision.d.ts +0 -30
- package/dist/provision.d.ts.map +0 -1
- package/dist/provision.js +0 -202
- package/dist/provision.js.map +0 -1
- package/extensions/dev-state/.agents/plugin.json +0 -36
- package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +0 -194
- package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +0 -4
- package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +0 -130
- package/extensions/enact-context/.agents/plugin.json +0 -41
- package/extensions/enact-context/.mcp.json +0 -8
- package/extensions/enact-context/README.md +0 -25
- package/extensions/enact-context/assets/icon.png +0 -0
- package/extensions/enact-context/assets/logo.png +0 -0
- package/extensions/enact-context/hooks/hooks.json +0 -115
- package/extensions/enact-context/skills/enact-context/SKILL.md +0 -151
- package/extensions/enact-context/skills/enact-context/scripts/install.sh +0 -69
- package/extensions/enact-core/.agents/plugin.json +0 -40
- package/extensions/enact-core/OPERATING-PRINCIPLES.md +0 -7
- package/extensions/enact-core/hooks/hooks.json +0 -26
- package/extensions/enact-evolve/.agents/plugin.json +0 -47
- package/extensions/enact-evolve/agents/evolve-session-analyst.toml +0 -37
- package/extensions/enact-evolve/assets/icon.png +0 -0
- package/extensions/enact-evolve/assets/logo.png +0 -0
- package/extensions/enact-evolve/skills/mined-investigate-loop/SKILL.md +0 -68
- package/extensions/enact-evolve/skills/session-analysis/SKILL.md +0 -98
- package/extensions/enact-evolve/skills/session-analysis/scripts/run-evolve-analysis.sh +0 -343
- package/extensions/enact-factory/.agents/plugin.json +0 -49
- package/extensions/enact-factory/.mcp.json +0 -8
- package/extensions/enact-factory/agents/architect.toml +0 -34
- package/extensions/enact-factory/agents/code-reviewer.toml +0 -33
- package/extensions/enact-factory/agents/critic.toml +0 -39
- package/extensions/enact-factory/agents/executor.toml +0 -26
- package/extensions/enact-factory/agents/explore.toml +0 -25
- package/extensions/enact-factory/agents/planner.toml +0 -26
- package/extensions/enact-factory/agents/verifier.toml +0 -33
- package/extensions/enact-factory/assets/icon.png +0 -0
- package/extensions/enact-factory/assets/logo.png +0 -0
- package/extensions/enact-factory/skills/advisor/SKILL.md +0 -82
- package/extensions/enact-factory/skills/ai-slop-cleaner/SKILL.md +0 -57
- package/extensions/enact-factory/skills/autonomous-runner/SKILL.md +0 -353
- package/extensions/enact-factory/skills/azdo-ci-strategy/SKILL.md +0 -309
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/build-failures.md +0 -60
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/cli-reference.md +0 -87
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/policies-and-pipelines.md +0 -132
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/troubleshooting.md +0 -53
- package/extensions/enact-factory/skills/cmux-leader/SKILL.md +0 -74
- package/extensions/enact-factory/skills/cmux-send/SKILL.md +0 -50
- package/extensions/enact-factory/skills/committee/SKILL.md +0 -80
- package/extensions/enact-factory/skills/deep-interview/SKILL.md +0 -68
- package/extensions/enact-factory/skills/drive-loop/SKILL.md +0 -394
- package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +0 -127
- package/extensions/enact-factory/skills/handoff/SKILL.md +0 -75
- package/extensions/enact-factory/skills/hyperplan/SKILL.md +0 -59
- package/extensions/enact-factory/skills/looplan/SKILL.md +0 -120
- package/extensions/enact-factory/skills/plan/SKILL.md +0 -103
- package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +0 -46
- package/extensions/enact-factory/skills/research/SKILL.md +0 -83
- package/extensions/enact-factory/skills/review/SKILL.md +0 -67
- package/extensions/enact-factory/skills/security-research/SKILL.md +0 -57
- package/extensions/enact-factory/skills/tdd/SKILL.md +0 -62
- package/extensions/enact-factory/skills/testing-strategy/SKILL.md +0 -172
- package/extensions/enact-factory/skills/trace/SKILL.md +0 -42
- package/extensions/enact-factory/skills/ultraqa/SKILL.md +0 -85
- package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +0 -56
- package/extensions/enact-factory/skills/workitem-triage/SKILL.md +0 -42
- package/extensions/enact-wiki/.agents/plugin.json +0 -43
- package/extensions/enact-wiki/.mcp.json +0 -15
- package/extensions/enact-wiki/README.md +0 -44
- package/extensions/enact-wiki/assets/icon.png +0 -0
- package/extensions/enact-wiki/assets/logo.png +0 -0
- package/extensions/enact-wiki/skills/document-parser/SKILL.md +0 -17
- package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +0 -60
- package/extensions/enact-wiki/skills/document-parser/skill.json +0 -9
- package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +0 -30
- package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +0 -62
- package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +0 -34
- package/extensions/enact-wiki/skills/enact-wiki/references/query.md +0 -59
- package/extensions/enact-wiki/skills/search-lab/SKILL.md +0 -57
- package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +0 -23
- package/extensions/enact-wiki/skills/wiki/SKILL.md +0 -42
- package/extensions/net-revenue-management/.agents/plugin.json +0 -40
- package/extensions/net-revenue-management/.mcp.json +0 -9
- package/extensions/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -30
- package/extensions/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -31
- package/extensions/plugin-dev/.agents/plugin.json +0 -41
- package/extensions/plugin-dev/agents/agent-creator.md +0 -199
- package/extensions/plugin-dev/agents/plugin-validator.md +0 -91
- package/extensions/plugin-dev/agents/skill-reviewer.md +0 -212
- package/extensions/plugin-dev/skills/agent-development/SKILL.md +0 -641
- package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -250
- package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -461
- package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +0 -246
- package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -216
- package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +0 -226
- package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -464
- package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -474
- package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +0 -176
- package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +0 -227
- package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -227
- package/extensions/plugin-dev/skills/create-plugin/SKILL.md +0 -505
- package/extensions/plugin-dev/skills/hook-development/SKILL.md +0 -861
- package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
- package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -57
- package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -48
- package/extensions/plugin-dev/skills/hook-development/references/advanced.md +0 -871
- package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +0 -145
- package/extensions/plugin-dev/skills/hook-development/references/migration.md +0 -392
- package/extensions/plugin-dev/skills/hook-development/references/patterns.md +0 -430
- package/extensions/plugin-dev/skills/hook-development/scripts/README.md +0 -181
- package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
- package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -276
- package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
- package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +0 -775
- package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
- package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
- package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -38
- package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +0 -26
- package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +0 -601
- package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +0 -190
- package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +0 -572
- package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -623
- package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +0 -221
- package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +0 -705
- package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -774
- package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
- package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -611
- package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +0 -289
- package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -592
- package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +0 -233
- package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +0 -193
- package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -625
- package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +0 -116
- package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -562
- package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +0 -465
- package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +0 -167
- package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +0 -111
- package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +0 -225
- package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +0 -39
- package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +0 -379
- package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -210
- package/extensions/plugin-dev/skills/start/SKILL.md +0 -82
- package/scripts/check-hooks.mjs +0 -174
- package/scripts/check-principles.mjs +0 -116
- package/scripts/hooks/session-start-drift-check.mjs +0 -48
- package/scripts/install.sh +0 -70
- package/scripts/lib/auto-update.mjs +0 -75
- package/scripts/lib/bundle-hash.mjs +0 -137
- package/scripts/lib/hooks.mjs +0 -585
- package/scripts/lib/ledger.mjs +0 -163
- package/scripts/lib/migrate-artifacts.mjs +0 -144
- package/scripts/lib/outdated.mjs +0 -144
- package/scripts/lib/postinstall-offer.mjs +0 -83
- package/scripts/lib/principles.mjs +0 -109
- package/scripts/lib/provision-mcp.mjs +0 -16
- package/scripts/lib/resolve-plugin-root.mjs +0 -9
- package/scripts/lib/run-install.mjs +0 -500
- package/scripts/lib/run-prune.mjs +0 -94
- package/scripts/lib/run-uninstall.mjs +0 -244
- package/scripts/lib/run-update.mjs +0 -152
- package/scripts/lib/serve.mjs +0 -472
- package/scripts/lib/ups-router.mjs +0 -392
- package/scripts/postinstall.mjs +0 -101
- package/scripts/setup-enact-context.sh +0 -28
- package/scripts/version-bump.sh +0 -484
- package/web/assets/README.md +0 -111
- package/web/assets/logo-full.png +0 -0
- package/web/assets/logo-slim.png +0 -0
- package/web/assets/tokens/base.css +0 -45
- package/web/assets/tokens/colors.css +0 -248
- package/web/assets/tokens/effects.css +0 -24
- package/web/assets/tokens/fonts.css +0 -8
- package/web/assets/tokens/index.css +0 -18
- package/web/assets/tokens/spacing.css +0 -50
- package/web/index.html +0 -1188
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
import { ApiTable } from "@/components/api-table.tsx";
|
|
2
|
+
import { Example } from "@/components/example.tsx";
|
|
3
|
+
import { Figure } from "@/components/figure.tsx";
|
|
4
|
+
import { ResponsiveDesign } from "@/components/content.tsx";
|
|
5
|
+
|
|
6
|
+
export const title = "position";
|
|
7
|
+
export const description = "Utilities for controlling how an element is positioned in the document.";
|
|
8
|
+
|
|
9
|
+
<ApiTable
|
|
10
|
+
rows={[
|
|
11
|
+
["static", "position: static;"],
|
|
12
|
+
["fixed", "position: fixed;"],
|
|
13
|
+
["absolute", "position: absolute;"],
|
|
14
|
+
["relative", "position: relative;"],
|
|
15
|
+
["sticky", "position: sticky;"],
|
|
16
|
+
]}
|
|
17
|
+
/>
|
|
18
|
+
|
|
19
|
+
## Examples
|
|
20
|
+
|
|
21
|
+
### Statically positioning elements
|
|
22
|
+
|
|
23
|
+
Use the `static` utility to position an element according to the normal flow of the document:
|
|
24
|
+
|
|
25
|
+
<Figure>
|
|
26
|
+
|
|
27
|
+
<Example>
|
|
28
|
+
{
|
|
29
|
+
<div className="relative text-sm leading-6 font-medium">
|
|
30
|
+
<div className="rounded-lg border border-purple-700/10 bg-purple-400/20 p-4 dark:border-0 dark:bg-sky-900/70">
|
|
31
|
+
<div className="static h-32 border border-purple-700/10 bg-purple-400/20 p-4 dark:border-0 dark:bg-sky-400/20">
|
|
32
|
+
<p className="text-purple-700 dark:text-sky-200">Static parent</p>
|
|
33
|
+
<div className="absolute bottom-0 left-0 rounded-lg bg-purple-500 p-4 text-white shadow-lg dark:bg-sky-500">
|
|
34
|
+
<p>Absolute child</p>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
}
|
|
40
|
+
</Example>
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<!-- [!code classes:static] -->
|
|
44
|
+
<div class="static ...">
|
|
45
|
+
<p>Static parent</p>
|
|
46
|
+
<div class="absolute bottom-0 left-0 ...">
|
|
47
|
+
<p>Absolute child</p>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
</Figure>
|
|
53
|
+
|
|
54
|
+
With statically positioned elements, any [offsets](/docs/top-right-bottom-left) will be ignored and the element will not act as a position reference for absolutely positioned children.
|
|
55
|
+
|
|
56
|
+
### Relatively positioning elements
|
|
57
|
+
|
|
58
|
+
Use the `relative` utility to position an element according to the normal flow of the document:
|
|
59
|
+
|
|
60
|
+
<Figure>
|
|
61
|
+
|
|
62
|
+
<Example>
|
|
63
|
+
{
|
|
64
|
+
<div className="relative text-sm leading-6 font-medium">
|
|
65
|
+
<div className="rounded-lg border border-sky-700/10 bg-sky-400/20 p-4 dark:border-0 dark:bg-blue-900/70">
|
|
66
|
+
<div className="relative h-32 border border-sky-700/10 bg-sky-400/20 p-4 dark:border-0 dark:bg-blue-400/20">
|
|
67
|
+
<p className="text-sky-700 dark:text-white">Relative parent</p>
|
|
68
|
+
<div className="absolute bottom-0 left-0 rounded-lg bg-sky-500 p-4 text-white shadow-lg dark:bg-blue-500">
|
|
69
|
+
<p>Absolute child</p>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
}
|
|
75
|
+
</Example>
|
|
76
|
+
|
|
77
|
+
```html
|
|
78
|
+
<!-- [!code classes:relative] -->
|
|
79
|
+
<div class="relative ...">
|
|
80
|
+
<p>Relative parent</p>
|
|
81
|
+
<div class="absolute bottom-0 left-0 ...">
|
|
82
|
+
<p>Absolute child</p>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
</Figure>
|
|
88
|
+
|
|
89
|
+
With relatively position elements, any [offsets](/docs/top-right-bottom-left) are calculated relative to the element's normal position and the element will act as a position reference for absolutely positioned children.
|
|
90
|
+
|
|
91
|
+
### Absolutely positioning elements
|
|
92
|
+
|
|
93
|
+
Use the `absolute` utility to position an element _outside_ of the normal flow of the document, causing neighboring elements to act as if the element doesn't exist:
|
|
94
|
+
|
|
95
|
+
<Figure>
|
|
96
|
+
|
|
97
|
+
<Example>
|
|
98
|
+
{
|
|
99
|
+
<div className="space-y-8">
|
|
100
|
+
<div>
|
|
101
|
+
<p className="mb-4 text-sm font-medium text-gray-500">With static positioning</p>
|
|
102
|
+
<div className="relative text-sm leading-6 font-medium">
|
|
103
|
+
<div className="relative rounded-lg border border-indigo-700/10 bg-indigo-400/20 p-4 dark:border-0 dark:bg-indigo-900/80">
|
|
104
|
+
<p className="-mt-2 mb-2 text-indigo-700 dark:text-indigo-200">Relative parent</p>
|
|
105
|
+
<div className="static flex h-32 flex-col justify-between border border-indigo-700/10 bg-indigo-400/20 p-4 dark:border-0">
|
|
106
|
+
<p className="text-indigo-700 dark:text-indigo-200">Static parent</p>
|
|
107
|
+
<div className="flex gap-4">
|
|
108
|
+
<div className="bottom-0 left-0 rounded-lg bg-indigo-500 p-4 text-white shadow-lg">
|
|
109
|
+
<p>Static child?</p>
|
|
110
|
+
</div>
|
|
111
|
+
<div className="rounded-lg bg-indigo-100 p-4 text-indigo-600 shadow-lg">
|
|
112
|
+
<p>Static sibling</p>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
<div>
|
|
120
|
+
<p className="mb-4 text-sm font-medium text-gray-500">With absolute positioning</p>
|
|
121
|
+
<div className="relative text-sm leading-6 font-medium">
|
|
122
|
+
<div className="relative rounded-lg border border-indigo-700/10 bg-indigo-400/20 p-4 dark:border-0 dark:bg-indigo-900/80">
|
|
123
|
+
<p className="-mt-2 mb-2 text-indigo-700 dark:text-indigo-200">Relative parent</p>
|
|
124
|
+
<div className="static flex h-32 flex-col justify-between border border-indigo-700/10 bg-indigo-400/20 p-4 dark:border-0">
|
|
125
|
+
<p className="text-indigo-700 dark:text-indigo-200">Static parent</p>
|
|
126
|
+
<div className="flex gap-4">
|
|
127
|
+
<div className="absolute top-0 right-0 rounded-lg bg-indigo-500 p-4 text-white shadow-lg">
|
|
128
|
+
<p>Absolute child</p>
|
|
129
|
+
</div>
|
|
130
|
+
<div className="rounded-lg bg-indigo-100 p-4 text-indigo-600 shadow-lg">
|
|
131
|
+
<p>Static sibling</p>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
}
|
|
140
|
+
</Example>
|
|
141
|
+
|
|
142
|
+
```html
|
|
143
|
+
<!-- [!code classes:absolute] -->
|
|
144
|
+
<div class="static ...">
|
|
145
|
+
<!-- Static parent -->
|
|
146
|
+
<div class="static ..."><p>Static child</p></div>
|
|
147
|
+
<div class="inline-block ..."><p>Static sibling</p></div>
|
|
148
|
+
<!-- Static parent -->
|
|
149
|
+
<div class="absolute ..."><p>Absolute child</p></div>
|
|
150
|
+
<div class="inline-block ..."><p>Static sibling</p></div>
|
|
151
|
+
</div>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
</Figure>
|
|
155
|
+
|
|
156
|
+
With absolutely positioned elements, any [offsets](/docs/top-right-bottom-left) are calculated relative to the nearest parent that has a position other than `static`, and the element will act as a position reference for other absolutely positioned children.
|
|
157
|
+
|
|
158
|
+
### Fixed positioning elements
|
|
159
|
+
|
|
160
|
+
Use the `fixed` utility to position an element relative to the browser window:
|
|
161
|
+
|
|
162
|
+
<Figure hint="Scroll this element to see the fixed positioning in action">
|
|
163
|
+
|
|
164
|
+
<Example padding={false}>
|
|
165
|
+
{
|
|
166
|
+
<div className="px-3">
|
|
167
|
+
<div className="relative mx-auto h-80 max-w-md overflow-hidden bg-white shadow-lg ring-1 ring-gray-900/5 dark:bg-gray-800">
|
|
168
|
+
<div className="absolute top-0 right-0 left-0 flex items-center bg-gray-50/90 px-4 py-3 text-sm font-semibold text-gray-900 ring-1 ring-gray-900/10 backdrop-blur-sm dark:bg-gray-700/90 dark:text-gray-200 dark:ring-black/10">
|
|
169
|
+
Contacts
|
|
170
|
+
</div>
|
|
171
|
+
<div className="flex h-80 flex-col divide-y divide-gray-200 overflow-auto dark:divide-gray-200/5">
|
|
172
|
+
<div className="flex items-center gap-4 p-4">
|
|
173
|
+
<img
|
|
174
|
+
className="size-12 rounded-full"
|
|
175
|
+
src="https://images.unsplash.com/photo-1501196354995-cbb51c65aaea?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
176
|
+
/>
|
|
177
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Andrew Alfred</strong>
|
|
178
|
+
</div>
|
|
179
|
+
<div className="flex items-center gap-4 p-4">
|
|
180
|
+
<img
|
|
181
|
+
className="size-12 rounded-full"
|
|
182
|
+
src="https://images.unsplash.com/photo-1531123897727-8f129e1688ce?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
183
|
+
/>
|
|
184
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Debra Houston</strong>
|
|
185
|
+
</div>
|
|
186
|
+
<div className="flex items-center gap-4 p-4">
|
|
187
|
+
<img
|
|
188
|
+
className="size-12 rounded-full"
|
|
189
|
+
src="https://images.unsplash.com/photo-1517841905240-472988babdf9?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
190
|
+
/>
|
|
191
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Jane White</strong>
|
|
192
|
+
</div>
|
|
193
|
+
<div className="flex items-center gap-4 p-4">
|
|
194
|
+
<img
|
|
195
|
+
className="size-12 rounded-full"
|
|
196
|
+
src="https://images.unsplash.com/photo-1531427186611-ecfd6d936c79?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
197
|
+
/>
|
|
198
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Ray Flint</strong>
|
|
199
|
+
</div>
|
|
200
|
+
<div className="flex items-center gap-4 p-4">
|
|
201
|
+
<img
|
|
202
|
+
className="size-12 rounded-full"
|
|
203
|
+
src="https://images.unsplash.com/photo-1580489944761-15a19d654956?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
204
|
+
/>
|
|
205
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Mindy Albrect</strong>
|
|
206
|
+
</div>
|
|
207
|
+
<div className="flex items-center gap-4 p-4">
|
|
208
|
+
<img
|
|
209
|
+
className="size-12 rounded-full"
|
|
210
|
+
src="https://images.unsplash.com/photo-1492562080023-ab3db95bfbce?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
211
|
+
/>
|
|
212
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">David Arnold</strong>
|
|
213
|
+
</div>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
</div>
|
|
217
|
+
}
|
|
218
|
+
</Example>
|
|
219
|
+
|
|
220
|
+
```html
|
|
221
|
+
<!-- [!code classes:fixed] -->
|
|
222
|
+
<div class="relative">
|
|
223
|
+
<div class="fixed top-0 right-0 left-0">Contacts</div>
|
|
224
|
+
<div>
|
|
225
|
+
<div>
|
|
226
|
+
<img src="/img/andrew.jpg" />
|
|
227
|
+
<strong>Andrew Alfred</strong>
|
|
228
|
+
</div>
|
|
229
|
+
<div>
|
|
230
|
+
<img src="/img/debra.jpg" />
|
|
231
|
+
<strong>Debra Houston</strong>
|
|
232
|
+
</div>
|
|
233
|
+
<!-- ... -->
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
</Figure>
|
|
239
|
+
|
|
240
|
+
With fixed positioned elements, any [offsets](/docs/top-right-bottom-left) are calculated relative to the viewport and the element will act as a position reference for absolutely positioned children:
|
|
241
|
+
|
|
242
|
+
### Sticky positioning elements
|
|
243
|
+
|
|
244
|
+
Use the `sticky` utility to position an element as `relative` until it crosses a specified threshold, then treat it as `fixed` until its parent is off screen:
|
|
245
|
+
|
|
246
|
+
<Figure hint="Scroll this element to see the sticky positioning in action">
|
|
247
|
+
|
|
248
|
+
<Example padding={false}>
|
|
249
|
+
{
|
|
250
|
+
<div className="px-3">
|
|
251
|
+
<div className="relative mx-auto -my-px h-80 max-w-md overflow-auto bg-white shadow-lg ring-1 ring-gray-900/5 dark:bg-gray-800">
|
|
252
|
+
<div className="relative">
|
|
253
|
+
<div className="sticky top-0 flex items-center bg-gray-50/90 px-4 py-3 text-sm font-semibold text-gray-900 ring-1 ring-gray-900/10 backdrop-blur-sm dark:bg-gray-700/90 dark:text-gray-200 dark:ring-black/10">
|
|
254
|
+
A
|
|
255
|
+
</div>
|
|
256
|
+
<div className="divide-y divide-gray-200 dark:divide-gray-200/5">
|
|
257
|
+
<div className="flex items-center gap-4 p-4">
|
|
258
|
+
<img
|
|
259
|
+
className="size-12 rounded-full"
|
|
260
|
+
src="https://images.unsplash.com/photo-1501196354995-cbb51c65aaea?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
261
|
+
/>
|
|
262
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Andrew Alfred</strong>
|
|
263
|
+
</div>
|
|
264
|
+
<div className="flex items-center gap-4 p-4">
|
|
265
|
+
<img
|
|
266
|
+
className="size-12 rounded-full"
|
|
267
|
+
src="https://images.unsplash.com/photo-1531123897727-8f129e1688ce?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
268
|
+
/>
|
|
269
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Aisha Houston</strong>
|
|
270
|
+
</div>
|
|
271
|
+
<div className="flex items-center gap-4 p-4">
|
|
272
|
+
<img
|
|
273
|
+
className="size-12 rounded-full"
|
|
274
|
+
src="https://images.unsplash.com/photo-1517841905240-472988babdf9?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
275
|
+
/>
|
|
276
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Anna White</strong>
|
|
277
|
+
</div>
|
|
278
|
+
<div className="flex items-center gap-4 p-4">
|
|
279
|
+
<img
|
|
280
|
+
className="size-12 rounded-full"
|
|
281
|
+
src="https://images.unsplash.com/photo-1531427186611-ecfd6d936c79?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
282
|
+
/>
|
|
283
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Andy Flint</strong>
|
|
284
|
+
</div>
|
|
285
|
+
</div>
|
|
286
|
+
</div>
|
|
287
|
+
<div className="relative">
|
|
288
|
+
<div className="sticky top-0 flex items-center bg-gray-50/90 px-4 py-3 text-sm font-semibold text-gray-900 ring-1 ring-gray-900/10 backdrop-blur-sm dark:bg-gray-700/90 dark:text-gray-200 dark:ring-black/10">
|
|
289
|
+
B
|
|
290
|
+
</div>
|
|
291
|
+
<div className="divide-y divide-gray-200 dark:divide-gray-200/5">
|
|
292
|
+
<div className="flex items-center gap-4 p-4">
|
|
293
|
+
<img
|
|
294
|
+
className="size-12 rounded-full"
|
|
295
|
+
src="https://images.unsplash.com/photo-1501196354995-cbb51c65aaea?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
296
|
+
/>
|
|
297
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Bob Alfred</strong>
|
|
298
|
+
</div>
|
|
299
|
+
<div className="flex items-center gap-4 p-4">
|
|
300
|
+
<img
|
|
301
|
+
className="size-12 rounded-full"
|
|
302
|
+
src="https://images.unsplash.com/photo-1531123897727-8f129e1688ce?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
303
|
+
/>
|
|
304
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Bianca Houston</strong>
|
|
305
|
+
</div>
|
|
306
|
+
<div className="flex items-center gap-4 p-4">
|
|
307
|
+
<img
|
|
308
|
+
className="size-12 rounded-full"
|
|
309
|
+
src="https://images.unsplash.com/photo-1517841905240-472988babdf9?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
310
|
+
/>
|
|
311
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Brianna White</strong>
|
|
312
|
+
</div>
|
|
313
|
+
<div className="flex items-center gap-4 p-4">
|
|
314
|
+
<img
|
|
315
|
+
className="size-12 rounded-full"
|
|
316
|
+
src="https://images.unsplash.com/photo-1531427186611-ecfd6d936c79?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
317
|
+
/>
|
|
318
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Bert Flint</strong>
|
|
319
|
+
</div>
|
|
320
|
+
</div>
|
|
321
|
+
</div>
|
|
322
|
+
<div className="relative">
|
|
323
|
+
<div className="sticky top-0 flex items-center bg-gray-50/90 px-4 py-3 text-sm font-semibold text-gray-900 ring-1 ring-gray-900/10 backdrop-blur-sm dark:bg-gray-700/90 dark:text-gray-200 dark:ring-black/10">
|
|
324
|
+
C
|
|
325
|
+
</div>
|
|
326
|
+
<div className="divide-y divide-gray-200 dark:divide-gray-200/5">
|
|
327
|
+
<div className="flex items-center gap-4 p-4">
|
|
328
|
+
<img
|
|
329
|
+
className="size-12 rounded-full"
|
|
330
|
+
src="https://images.unsplash.com/photo-1501196354995-cbb51c65aaea?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
331
|
+
/>
|
|
332
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Colton Alfred</strong>
|
|
333
|
+
</div>
|
|
334
|
+
<div className="flex items-center gap-4 p-4">
|
|
335
|
+
<img
|
|
336
|
+
className="size-12 rounded-full"
|
|
337
|
+
src="https://images.unsplash.com/photo-1531123897727-8f129e1688ce?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
338
|
+
/>
|
|
339
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Cynthia Houston</strong>
|
|
340
|
+
</div>
|
|
341
|
+
<div className="flex items-center gap-4 p-4">
|
|
342
|
+
<img
|
|
343
|
+
className="size-12 rounded-full"
|
|
344
|
+
src="https://images.unsplash.com/photo-1517841905240-472988babdf9?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
345
|
+
/>
|
|
346
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Cheyenne White</strong>
|
|
347
|
+
</div>
|
|
348
|
+
<div className="flex items-center gap-4 p-4">
|
|
349
|
+
<img
|
|
350
|
+
className="size-12 rounded-full"
|
|
351
|
+
src="https://images.unsplash.com/photo-1531427186611-ecfd6d936c79?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=4&w=256&h=256&q=80"
|
|
352
|
+
/>
|
|
353
|
+
<strong className="text-sm font-medium text-gray-900 dark:text-gray-200">Charlie Flint</strong>
|
|
354
|
+
</div>
|
|
355
|
+
</div>
|
|
356
|
+
</div>
|
|
357
|
+
</div>
|
|
358
|
+
</div>
|
|
359
|
+
}
|
|
360
|
+
</Example>
|
|
361
|
+
|
|
362
|
+
```html
|
|
363
|
+
<!-- [!code classes:sticky,top-0] -->
|
|
364
|
+
<div>
|
|
365
|
+
<div>
|
|
366
|
+
<div class="sticky top-0 ...">A</div>
|
|
367
|
+
<div>
|
|
368
|
+
<div>
|
|
369
|
+
<img src="/img/andrew.jpg" />
|
|
370
|
+
<strong>Andrew Alfred</strong>
|
|
371
|
+
</div>
|
|
372
|
+
<div>
|
|
373
|
+
<img src="/img/aisha.jpg" />
|
|
374
|
+
<strong>Aisha Houston</strong>
|
|
375
|
+
</div>
|
|
376
|
+
<!-- ... -->
|
|
377
|
+
</div>
|
|
378
|
+
</div>
|
|
379
|
+
<div>
|
|
380
|
+
<div class="sticky top-0">B</div>
|
|
381
|
+
<div>
|
|
382
|
+
<div>
|
|
383
|
+
<img src="/img/bob.jpg" />
|
|
384
|
+
<strong>Bob Alfred</strong>
|
|
385
|
+
</div>
|
|
386
|
+
<!-- ... -->
|
|
387
|
+
</div>
|
|
388
|
+
</div>
|
|
389
|
+
<!-- ... -->
|
|
390
|
+
</div>
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
</Figure>
|
|
394
|
+
|
|
395
|
+
With sticky positioned elements, any [offsets](/docs/top-right-bottom-left) are calculated relative to the element's normal position and the element will act as a position reference for absolutely positioned children.
|
|
396
|
+
|
|
397
|
+
### Responsive design
|
|
398
|
+
|
|
399
|
+
<ResponsiveDesign property="position" defaultClass="relative" featuredClass="absolute" />
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
export const title = "Preflight";
|
|
2
|
+
export const description = "An opinionated set of base styles for Tailwind projects.";
|
|
3
|
+
|
|
4
|
+
## Overview
|
|
5
|
+
|
|
6
|
+
Built on top of [modern-normalize](https://github.com/sindresorhus/modern-normalize), Preflight is a set of base styles for Tailwind projects that are designed to smooth over cross-browser inconsistencies and make it easier for you to work within the constraints of your design system.
|
|
7
|
+
|
|
8
|
+
When you import `tailwindcss` into your project, Preflight is automatically injected into the `base` layer:
|
|
9
|
+
|
|
10
|
+
```css
|
|
11
|
+
/* [!code filename:CSS] */
|
|
12
|
+
@layer theme, base, components, utilities;
|
|
13
|
+
|
|
14
|
+
@import "tailwindcss/theme.css" layer(theme);
|
|
15
|
+
/* [!code highlight:2] */
|
|
16
|
+
@import "tailwindcss/preflight.css" layer(base);
|
|
17
|
+
@import "tailwindcss/utilities.css" layer(utilities);
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
While most of the styles in Preflight are meant to go unnoticed—they simply make things behave more like you'd expect them to—some are more opinionated and can be surprising when you first encounter them.
|
|
21
|
+
|
|
22
|
+
For a complete reference of all the styles applied by Preflight, [see the stylesheet](https://github.com/tailwindlabs/tailwindcss/blob/main/packages/tailwindcss/preflight.css).
|
|
23
|
+
|
|
24
|
+
### Margins are removed
|
|
25
|
+
|
|
26
|
+
Preflight removes all of the default margins from all elements including headings, blockquotes, paragraphs, etc:
|
|
27
|
+
|
|
28
|
+
```css
|
|
29
|
+
/* [!code filename:CSS] */
|
|
30
|
+
*,
|
|
31
|
+
::after,
|
|
32
|
+
::before,
|
|
33
|
+
::backdrop,
|
|
34
|
+
::file-selector-button {
|
|
35
|
+
margin: 0;
|
|
36
|
+
padding: 0;
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This makes it harder to accidentally rely on margin values applied by the user-agent stylesheet that are not part of your spacing scale.
|
|
41
|
+
|
|
42
|
+
### Border styles are reset
|
|
43
|
+
|
|
44
|
+
In order to make it easy to add a border by simply adding the `border` class, Tailwind overrides the default border styles for all elements with the following rules:
|
|
45
|
+
|
|
46
|
+
```css
|
|
47
|
+
/* [!code filename:CSS] */
|
|
48
|
+
*,
|
|
49
|
+
::after,
|
|
50
|
+
::before,
|
|
51
|
+
::backdrop,
|
|
52
|
+
::file-selector-button {
|
|
53
|
+
box-sizing: border-box;
|
|
54
|
+
border: 0 solid;
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Since the `border` class only sets the `border-width` property, this reset ensures that adding that class always adds a solid `1px` border that uses `currentColor`.
|
|
59
|
+
|
|
60
|
+
This can cause some unexpected results when integrating certain third-party libraries, like [Google maps](https://github.com/tailwindlabs/tailwindcss/issues/484) for example.
|
|
61
|
+
|
|
62
|
+
When you run into situations like this, you can work around them by overriding the Preflight styles with your own custom CSS:
|
|
63
|
+
|
|
64
|
+
```css
|
|
65
|
+
/* [!code filename:CSS] */
|
|
66
|
+
@layer base {
|
|
67
|
+
.google-map * {
|
|
68
|
+
border-style: none;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Headings are unstyled
|
|
74
|
+
|
|
75
|
+
All heading elements are completely unstyled by default, and have the same font size and weight as normal text:
|
|
76
|
+
|
|
77
|
+
```css
|
|
78
|
+
/* [!code filename:CSS] */
|
|
79
|
+
h1,
|
|
80
|
+
h2,
|
|
81
|
+
h3,
|
|
82
|
+
h4,
|
|
83
|
+
h5,
|
|
84
|
+
h6 {
|
|
85
|
+
font-size: inherit;
|
|
86
|
+
font-weight: inherit;
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The reason for this is two-fold:
|
|
91
|
+
|
|
92
|
+
- **It helps you avoid accidentally deviating from your type scale**. By default, browsers assign sizes to headings that don't exist in Tailwind's default type scale, and aren't guaranteed to exist in your own type scale.
|
|
93
|
+
- **In UI development, headings should often be visually de-emphasized**. Making headings unstyled by default means any styling you apply to headings happens consciously and deliberately.
|
|
94
|
+
|
|
95
|
+
You can always add default header styles to your project by [adding your own base styles](/docs/adding-custom-styles#adding-base-styles).
|
|
96
|
+
|
|
97
|
+
### Lists are unstyled
|
|
98
|
+
|
|
99
|
+
Ordered and unordered lists are unstyled by default, with no bullets or numbers:
|
|
100
|
+
|
|
101
|
+
```css
|
|
102
|
+
/* [!code filename:CSS] */
|
|
103
|
+
ol,
|
|
104
|
+
ul,
|
|
105
|
+
menu {
|
|
106
|
+
list-style: none;
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
If you'd like to style a list, you can do so using the [list-style-type](/docs/list-style-type) and [list-style-position](/docs/list-style-position) utilities:
|
|
111
|
+
|
|
112
|
+
```html
|
|
113
|
+
<!-- [!code filename:HTML] -->
|
|
114
|
+
<ul class="list-inside list-disc">
|
|
115
|
+
<li>One</li>
|
|
116
|
+
<li>Two</li>
|
|
117
|
+
<li>Three</li>
|
|
118
|
+
</ul>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
You can always add default list styles to your project by [adding your own base styles](/docs/adding-custom-styles#adding-base-styles).
|
|
122
|
+
|
|
123
|
+
#### Accessibility considerations
|
|
124
|
+
|
|
125
|
+
Unstyled lists are [not announced as lists by VoiceOver](https://unfetteredthoughts.net/2017/09/26/voiceover-and-list-style-type-none/). If your content is truly a list but you would like to keep it unstyled, [add a "list" role](https://www.scottohara.me/blog/2019/01/12/lists-and-safari.html) to the element:
|
|
126
|
+
|
|
127
|
+
```html
|
|
128
|
+
<!-- [!code filename:HTML] -->
|
|
129
|
+
<ul role="list">
|
|
130
|
+
<li>One</li>
|
|
131
|
+
<li>Two</li>
|
|
132
|
+
<li>Three</li>
|
|
133
|
+
</ul>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Images are block-level
|
|
137
|
+
|
|
138
|
+
Images and other replaced elements (like `svg`, `video`, `canvas`, and others) are `display: block` by default:
|
|
139
|
+
|
|
140
|
+
```css
|
|
141
|
+
/* [!code filename:CSS] */
|
|
142
|
+
img,
|
|
143
|
+
svg,
|
|
144
|
+
video,
|
|
145
|
+
canvas,
|
|
146
|
+
audio,
|
|
147
|
+
iframe,
|
|
148
|
+
embed,
|
|
149
|
+
object {
|
|
150
|
+
display: block;
|
|
151
|
+
vertical-align: middle;
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
This helps to avoid unexpected alignment issues that you often run into using the browser default of `display: inline`.
|
|
156
|
+
|
|
157
|
+
If you ever need to make one of these elements `inline` instead of `block`, simply use the `inline` utility:
|
|
158
|
+
|
|
159
|
+
```html
|
|
160
|
+
<!-- [!code filename:HTML] -->
|
|
161
|
+
<img class="inline" src="..." alt="..." />
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Images are constrained
|
|
165
|
+
|
|
166
|
+
Images and videos are constrained to the parent width in a way that preserves their intrinsic aspect ratio:
|
|
167
|
+
|
|
168
|
+
```css
|
|
169
|
+
/* [!code filename:CSS] */
|
|
170
|
+
img,
|
|
171
|
+
video {
|
|
172
|
+
max-width: 100%;
|
|
173
|
+
height: auto;
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
This prevents them from overflowing their containers and makes them responsive by default. If you ever need to override this behavior, use the `max-w-none` utility:
|
|
178
|
+
|
|
179
|
+
```html
|
|
180
|
+
<!-- [!code filename:HTML] -->
|
|
181
|
+
<img class="max-w-none" src="..." alt="..." />
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### Elements with a `hidden` attribute stay hidden
|
|
185
|
+
|
|
186
|
+
```css
|
|
187
|
+
/* [!code filename:CSS] */
|
|
188
|
+
[hidden]:where(:not([hidden="until-found"])) {
|
|
189
|
+
display: none !important;
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
This enforces that elements with a `hidden` attribute stay invisible unless using `hidden="until-found"`. Remove the `hidden` attribute if you want an element to be visible to the user.
|
|
194
|
+
|
|
195
|
+
## Extending Preflight
|
|
196
|
+
|
|
197
|
+
If you'd like to add your own base styles on top of Preflight, add them to the `base` CSS layer in your CSS using `@layer base`:
|
|
198
|
+
|
|
199
|
+
```css
|
|
200
|
+
/* [!code filename:CSS] */
|
|
201
|
+
@layer base {
|
|
202
|
+
h1 {
|
|
203
|
+
font-size: var(--text-2xl);
|
|
204
|
+
}
|
|
205
|
+
h2 {
|
|
206
|
+
font-size: var(--text-xl);
|
|
207
|
+
}
|
|
208
|
+
h3 {
|
|
209
|
+
font-size: var(--text-lg);
|
|
210
|
+
}
|
|
211
|
+
a {
|
|
212
|
+
color: var(--color-blue-600);
|
|
213
|
+
text-decoration-line: underline;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Learn more in the [adding base styles documentation](/docs/adding-custom-styles#adding-base-styles).
|
|
219
|
+
|
|
220
|
+
## Disabling Preflight
|
|
221
|
+
|
|
222
|
+
If you'd like to completely disable Preflight—perhaps because you're integrating Tailwind into an existing project or you'd prefer to define your own base styles—you can do so by importing only the parts of Tailwind that you need.
|
|
223
|
+
|
|
224
|
+
By default, this is what `@import "tailwindcss";` injects:
|
|
225
|
+
|
|
226
|
+
```css
|
|
227
|
+
/* [!code filename:CSS] */
|
|
228
|
+
@layer theme, base, components, utilities;
|
|
229
|
+
|
|
230
|
+
@import "tailwindcss/theme.css" layer(theme);
|
|
231
|
+
@import "tailwindcss/preflight.css" layer(base);
|
|
232
|
+
@import "tailwindcss/utilities.css" layer(utilities);
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
To disable Preflight, simply omit its import while keeping everything else:
|
|
236
|
+
|
|
237
|
+
```css
|
|
238
|
+
/* [!code filename:CSS] */
|
|
239
|
+
@layer theme, base, components, utilities;
|
|
240
|
+
|
|
241
|
+
@import "tailwindcss/theme.css" layer(theme);
|
|
242
|
+
@import "tailwindcss/preflight.css" layer(base); /* [!code --] */
|
|
243
|
+
@import "tailwindcss/utilities.css" layer(utilities);
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
When importing Tailwind CSS' files individually, features like `source()`, `theme()`, and `prefix()` should go on their respective imports.
|
|
247
|
+
|
|
248
|
+
For example, source detection affects generated utilities, so `source(…)` should be added to the `utilities.css` import:
|
|
249
|
+
|
|
250
|
+
```css
|
|
251
|
+
/* [!code filename:CSS] */
|
|
252
|
+
@layer theme, base, components, utilities;
|
|
253
|
+
|
|
254
|
+
@import "tailwindcss/theme.css" layer(theme);
|
|
255
|
+
@import "tailwindcss/utilities.css" layer(utilities); /* [!code --] */
|
|
256
|
+
@import "tailwindcss/utilities.css" layer(utilities) source(none); /* [!code ++] */
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
The same goes for `important`, which also affects utilities:
|
|
260
|
+
|
|
261
|
+
```css
|
|
262
|
+
/* [!code filename:CSS] */
|
|
263
|
+
@layer theme, base, components, utilities;
|
|
264
|
+
|
|
265
|
+
@import "tailwindcss/theme.css" layer(theme);
|
|
266
|
+
@import "tailwindcss/utilities.css" layer(utilities); /* [!code --] */
|
|
267
|
+
@import "tailwindcss/utilities.css" layer(utilities) important; /* [!code ++] */
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Similarly, `theme(static)` and `theme(inline)` affect the generated theme variables and should be placed on the `theme.css` import:
|
|
271
|
+
|
|
272
|
+
```css
|
|
273
|
+
/* [!code filename:CSS] */
|
|
274
|
+
@layer theme, base, components, utilities;
|
|
275
|
+
|
|
276
|
+
@import "tailwindcss/theme.css" layer(theme); /* [!code --] */
|
|
277
|
+
@import "tailwindcss/theme.css" layer(theme) theme(static); /* [!code ++] */
|
|
278
|
+
@import "tailwindcss/utilities.css" layer(utilities);
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
Finally, using a prefix with `prefix(tw)` affects the utilities and variables, so it should go on both imports:
|
|
282
|
+
|
|
283
|
+
```css
|
|
284
|
+
/* [!code filename:CSS] */
|
|
285
|
+
@layer theme, base, components, utilities;
|
|
286
|
+
|
|
287
|
+
@import "tailwindcss/theme.css" layer(theme); /* [!code --] */
|
|
288
|
+
@import "tailwindcss/utilities.css" layer(utilities); /* [!code --] */
|
|
289
|
+
@import "tailwindcss/theme.css" layer(theme) prefix(tw); /* [!code ++] */
|
|
290
|
+
@import "tailwindcss/utilities.css" layer(utilities) prefix(tw); /* [!code ++] */
|
|
291
|
+
```
|