diff --git a/.forgejo/workflows/publish.yaml b/.forgejo/workflows/publish.yaml
deleted file mode 100644
index 5f1ea52..0000000
--- a/.forgejo/workflows/publish.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
-name: Publish package
-on:
- push:
- branches:
- - main
- workflow_dispatch:
-env:
- NPM_TAG: ${{ github.ref == 'refs/heads/main' && 'latest' || 'next' }}
-
-# Variables reference: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs#about-contexts
-# Syntax reference: https://forgejo.org/docs/latest/user/actions/
-jobs:
- build_and_publish:
- runs-on: docker
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Cache Bun dependencies
- id: cache
- uses: actions/cache@v4
- with:
- path: ~/.bun/install/cache
- key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
- restore-keys: |
- ${{ runner.os }}-bun-
-
- - name: Setup Bun
- id: "setup_bun"
- uses: oven-sh/setup-bun@v2
-
- - name: Install dependencies
- run: "bun install"
-
- - name: Bump version and publish
- uses: https://github.com/cocogitto/cocogitto-action@v3.10
- env:
- NPM_REGISTRY_TOKEN: ${{ secrets.NPM_TOKEN_FORGEJO }}
- with:
- release: true
- check-latest-tag-only: true
- git-user: 'Cog Bot'
- git-user-email: 'cog@alecodes.page'
diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index da42681..0000000
--- a/CHANGELOG.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Changelog
-All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
-
-- - -
-## v0.1.1 - 2025-02-14
-### Package updates
-- @mini-strap/core bumped to @mini-strap/core-v0.1.2
-### Global changes
-#### Miscellaneous Chores
-- update build script - (812e55e) - aleidk
-
-- - -
-
-## v0.1.0 - 2024-12-30
-### Package updates
-- @mini-strap/core bumped to @mini-strap/core-v0.1.0
-- @mini-strap/components bumped to @mini-strap/components-v0.1.0
-- @mini-strap/website bumped to @mini-strap/website-v0.1.0
-### Global changes
-#### Bug Fixes
-- add dummy publish script for website - (20cadc8) - aleidk
-#### Build system
-- fix build setup - (8442bbb) - aleidk
-#### Features
-- **(core)** add styles for vanilla form elements - (e754e40) - aleidk
-- **(website)** add build script for frontend dependencies - (698294c) - aleidk
-#### Miscellaneous Chores
-- **(website)** add docosaurus as SSG - (85660ac) - Alexander Navarro
-- **(website)** migrate from docosaurus to zola SSG - (7e8dc4e) - aleidk
-- setup ci workflow - (c1c1cdb) - aleidk
-- allow merge commits - (e75f0bb) - aleidk
-
-- - -
-
-Changelog generated by [cocogitto](https://github.com/cocogitto/cocogitto).
\ No newline at end of file
diff --git a/bun.lockb b/bun.lockb
index dec149c..74b89ee 100755
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/bunfig.toml b/bunfig.toml
deleted file mode 100644
index 63cb7c5..0000000
--- a/bunfig.toml
+++ /dev/null
@@ -1,4 +0,0 @@
-[install.scopes]
-
-"@alecodes" = { token = "$NPM_REGISTRY_TOKEN", url = "https://git.alecodes.page/api/packages/alecodes/npm/" }
-"@mini-strap" = { token = "$NPM_REGISTRY_TOKEN", url = "https://git.alecodes.page/api/packages/alecodes/npm/" }
diff --git a/cog.toml b/cog.toml
deleted file mode 100644
index a38f600..0000000
--- a/cog.toml
+++ /dev/null
@@ -1,32 +0,0 @@
-from_latest_tag = true
-ignore_merge_commits = true
-disable_changelog = false
-disable_bump_commit = false
-tag_prefix = "v"
-generate_mono_repository_global_tag = true
-branch_whitelist = []
-skip_ci = "[skip ci]"
-skip_untracked = false
-pre_bump_hooks = []
-post_bump_hooks = ["git push", "git push origin {{version_tag}}"]
-pre_package_bump_hooks = [
- "echo 'bump package {{package}} to {{version}}'",
- "sed -E -i 's/(\"version\":) \"[0-9.]{5}\"/\\1 \"{{version}}\"/gi' package.json",
- "bun run ci:publish",
-]
-post_package_bump_hooks = ["git push", "git push origin {{version_tag}}"]
-
-[git_hooks]
-
-[commit_types]
-
-[changelog]
-path = "CHANGELOG.md"
-authors = []
-
-[bump_profiles]
-
-[packages]
-"@mini-strap/core" = { path = "packages/core" }
-"@mini-strap/components" = { path = "packages/components" }
-"@mini-strap/website" = { path = "packages/website", public_api = false }
diff --git a/package.json b/package.json
index cd42aea..5b82e52 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,6 @@
{
- "name": "@alecodes/mini-strap",
- "version": "0.0.1",
+ "name": "mini-strap",
"module": "index.ts",
- "private": true,
"devDependencies": {
"@eslint/js": "^9.10.0",
"@types/bun": "latest",
@@ -16,12 +14,8 @@
"typescript": "^5.0.0"
},
"scripts": {
- "dev": "bun --filter '*' dev",
- "ci:publish": "bun --filter '**/core' ci:publish",
- "bump": "cog bump --auto --skip-untracked"
+ "dev": "bun --filter '*' dev"
},
"type": "module",
- "workspaces": [
- "packages/*"
- ]
+ "workspaces": ["packages/*"]
}
diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md
deleted file mode 100644
index 18e7970..0000000
--- a/packages/components/CHANGELOG.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Changelog
-All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
-
-- - -
-## @mini-strap/components-v0.1.0 - 2024-12-30
-#### Bug Fixes
-- **(components)** replace initialization of components to prevent overrides - (8cbd097) - aleidk
-- **(components)** properly export html components - (48cafe8) - aleidk
-#### Features
-- **(components)** allow to only hide offcanvas on breakpoint - (37a1551) - aleidk
-- **(components)** add offcanvas component - (c47a2ef) - aleidk
-- **(components)** add the accordion component - (e0ed5a5) - aleidk
-- **(components)** add basic components - (d4a1114) - aleidk
-- **(core)** add styles for vanilla form elements - (e754e40) - aleidk
-#### Miscellaneous Chores
-- setup ci workflow - (c1c1cdb) - aleidk
-
-- - -
-
-Changelog generated by [cocogitto](https://github.com/cocogitto/cocogitto).
\ No newline at end of file
diff --git a/packages/components/build.ts b/packages/components/build.ts
deleted file mode 100644
index 2b7ea8c..0000000
--- a/packages/components/build.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import { type BunPlugin } from "bun";
-import dts from "bun-plugin-dts";
-import styleLoader from "bun-style-loader";
-import * as sass from "sass";
-
-const style: BunPlugin = {
- name: "Sass Loader",
- setup(build) {
- console.log("Running SASS Plugin...");
- build.onLoad({ filter: /\.scss$/ }, async ({ path }) => {
- const contents = sass.compile(path);
- const css = contents.css;
-
- return {
- loader: "file",
- contents: css,
- };
- });
- },
-};
-
-const result = await Bun.build({
- outdir: "dist",
- publicPath: "public",
- format: "esm",
- plugins: [style],
- entrypoints: ["./src/components.scss"],
-});
-
-if (!result.success) {
- throw new AggregateError(result.logs, "Build failed");
-}
diff --git a/packages/components/package.json b/packages/components/package.json
index 3788988..5dcfbc8 100644
--- a/packages/components/package.json
+++ b/packages/components/package.json
@@ -1,24 +1,12 @@
{
- "name": "@mini-strap/components",
- "version": "0.1.0",
- "type": "module",
- "scripts": {
- "ci:publish": "bun publish --production --frozen-lockfile"
- },
- "exports": {
- ".": "./src/index.ts",
- "./navbar/*": "./src/navbar/*",
- "./accordion/*": "./src/accordion/*",
- "./offcanvas/*": "./src/offcanvas/*"
- },
- "devDependencies": {
- "@types/bun": "latest",
- "bun-plugin-dts": "^0.2.3",
- "bun-style-loader": "^0.4.0",
- "sass": "^1.79.2",
- "sass-embedded": "^1.79.1"
- },
- "peerDependencies": {
- "typescript": "^5.0.0"
- }
+ "name": "mini-strap-components",
+ "module": "src/components.scss",
+ "type": "module",
+ "devDependencies": {
+ "@types/bun": "latest"
+ },
+ "peerDependencies": {
+ "typescript": "^5.0.0"
+ }
}
+
diff --git a/packages/components/src/accordion/accordion.scss b/packages/components/src/accordion/accordion.scss
deleted file mode 100644
index 39555c5..0000000
--- a/packages/components/src/accordion/accordion.scss
+++ /dev/null
@@ -1,41 +0,0 @@
-.msp-accordion {
- // background-color: red;
-
- &-item.msp-accordion-show {
- .msp-accordion-header::after {
- transform: rotate(180deg);
- }
- }
- &-header {
- cursor: pointer;
- position: relative;
-
- &::after {
- display: inline-block;
- position: absolute;
- top: 50%;
- right: 0;
-
- transform: rotate(0deg);
- translate: 110% -50%;
-
- content: "";
- width: 1em;
- height: 1em;
- // TODO: change SVG of the arrow
- background: url('data:image/svg+xml;utf8,')
- no-repeat center center;
- background-size: contain;
-
- transition: transform 0.5s ease;
- }
- }
-
- &-collapse {
- overflow: hidden;
- height: 0;
- display: none;
-
- transition: height 0.5s ease;
- }
-}
diff --git a/packages/components/src/accordion/index.ts b/packages/components/src/accordion/index.ts
deleted file mode 100644
index 348e7a7..0000000
--- a/packages/components/src/accordion/index.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import { qs, qsa } from "../utils";
-
-enum AccordionState {
- Open = 1,
- Closed = 2,
-}
-
-function waitAndHideCollapse(e: TransitionEvent) {
- if (!e.target) return;
-
- const el = e.target as HTMLElement;
- el.style.display = "none";
- el.removeEventListener("transitionend", waitAndHideCollapse);
-}
-
-function toggleAccordion(item: HTMLElement, state: AccordionState) {
- const collapse = qs(".msp-accordion-collapse", item);
-
- if (!collapse) throw new Error("Collapse element not found");
-
- if (state === AccordionState.Closed) {
- collapse.style.height = "0px";
- collapse
- .closest(".msp-accordion-item")
- ?.classList.remove("msp-accordion-show");
-
- collapse.addEventListener("transitionend", waitAndHideCollapse);
- } else if (state === AccordionState.Open) {
- collapse.style.display = "block";
-
- const height = qs(".msp-accordion-content", collapse)?.offsetHeight;
- if (height == null) throw new Error("Content element not found");
-
- collapse.style.height = `${height}px`;
- collapse
- .closest(".msp-accordion-item")
- ?.classList.add("msp-accordion-show");
- }
-}
-
-document.addEventListener("DOMContentLoaded", () => {
- qsa(".msp-accordion-item").forEach((item) => {
- qs(".msp-accordion-header", item)?.addEventListener("click", (e) => {
- e.preventDefault();
- toggleAccordion(
- item,
- item.classList.contains("msp-accordion-show")
- ? AccordionState.Closed
- : AccordionState.Open,
- );
- });
- });
-});
diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts
deleted file mode 100644
index 04ed79b..0000000
--- a/packages/components/src/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import navarHtml from "./navbar/navbar.html";
-
-export const HTMLComponents = {
- navbar: navarHtml,
-};
-
-export default {};
diff --git a/packages/components/src/navbar/navbar.html b/packages/components/src/navbar/navbar.html
deleted file mode 100644
index d25e7e9..0000000
--- a/packages/components/src/navbar/navbar.html
+++ /dev/null
@@ -1,34 +0,0 @@
-{% macro navbar() %}
-
-{% endmacro navbar %}
-
-
-{% macro navbar_item(href, label) %}
-
- {{ label }}
-
-{% endmacro navbar_item %}
-
-
-
-
-
-
-
diff --git a/packages/components/src/navbar/navbar.scss b/packages/components/src/navbar/navbar.scss
deleted file mode 100644
index f62025f..0000000
--- a/packages/components/src/navbar/navbar.scss
+++ /dev/null
@@ -1,47 +0,0 @@
-nav.msp-navbar {
- width: 100%;
-
- ul {
- padding: 0;
-
- li {
- margin-bottom: 0;
- height: 100%;
- }
- }
-
- li > a {
- padding: 0.25rem 0.5rem;
- }
-
- a {
- --boder-color: transparent;
- border: 1px solid transparent;
- border-radius: 4px;
- text-decoration: none;
-
- transition:
- background-color 200ms,
- color 200ms;
- }
-
- a.active {
- border: 1px solid var(--msp-color-bg-accent);
- }
-
- a:hover {
- --border-color: var(--msp-color-bg-accent);
- background-color: var(--msp-color-bg-accent);
- color: var(--msp-color-text-accent);
- border: 1px solid var(--border-color);
- }
-}
-
-.msp-navbar-desktop ul {
- width: fit-content;
- margin-left: auto;
-
- .nav-item {
- margin-bottom: 0;
- }
-}
diff --git a/packages/components/src/offcanvas/index.ts b/packages/components/src/offcanvas/index.ts
deleted file mode 100644
index e9461db..0000000
--- a/packages/components/src/offcanvas/index.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { qs, qsa } from "../utils";
-
-document.addEventListener("DOMContentLoaded", () => {
- qsa(".msp-offcanvas-toggle").forEach((item) => {
- item.addEventListener("click", () => {
- const target = item.dataset.mspTarget;
-
- if (!target) {
- throw new Error("No target provided");
- }
-
- const targetElement = qs(target);
-
- if (!targetElement) {
- throw new Error("No target found");
- }
-
- targetElement.classList.toggle("show");
- });
- });
-});
diff --git a/packages/components/src/offcanvas/style.scss b/packages/components/src/offcanvas/style.scss
deleted file mode 100644
index c782035..0000000
--- a/packages/components/src/offcanvas/style.scss
+++ /dev/null
@@ -1,89 +0,0 @@
-@use "@mini-strap/core/mixins";
-
-:root {
- --msp-offcanvas-anim-duration: var(--msp-anim-duration-md);
- --msp-offcanvas-anim-curve-in: cubic-bezier(0.22, 0.61, 0.36, 1);
- --msp-offcanvas-anim-curve-out: cubic-bezier(0.55, 0.06, 0.68, 0.19);
-
- --msp-offcanvas-width: 15ch;
-}
-
-.msp-offcanvas {
- position: fixed;
- width: var(--msp-offcanvas-width);
- height: 100vh;
- top: 0;
- left: -100%;
-
- transition: left var(--msp-offcanvas-anim-duration)
- var(--msp-offcanvas-anim-curve-out);
-
- &-content {
- position: relative;
- overflow: hidden;
- width: 100%;
- height: 100%;
- z-index: 5;
-
- background-color: var(--msp-color-bg-surface-1);
-
- padding: var(--msp-spacing-3);
-
- &-body,
- &-header,
- &-footer {
- position: relative;
- z-index: 5;
- }
- }
-
- &.show {
- left: 0;
-
- transition: left var(--msp-offcanvas-anim-duration)
- var(--msp-offcanvas-anim-curve-in);
-
- .msp-offcanvas-backdrop {
- opacity: 40%;
- left: 0;
-
- transition:
- opacity var(--msp-offcanvas-anim-duration)
- var(--msp-offcanvas-anim-curve-in),
- left 0s linear;
- }
- }
-
- .msp-offcanvas-backdrop {
- position: fixed;
- height: 100vh;
- width: 100vw;
- z-index: 4;
-
- background-color: rgba(0, 0, 0);
- opacity: 0;
-
- top: 0;
- left: -100%;
- // Delay the width transition on remove so it's desn't appear to be sliding or to be not working
- transition:
- opacity var(--msp-offcanvas-anim-duration)
- var(--msp-offcanvas-anim-curve-out),
- left 0s linear var(--msp-offcanvas-anim-duration);
- }
-}
-
-@include mixins.responsive using($breakpoint, $size) {
- .msp-offcanvas.msp-offcanvas-#{$breakpoint} {
- width: var(--msp-offcanvas-width);
- left: 0;
-
- & ~ * {
- margin-left: var(--msp-offcanvas-width);
- }
-
- .msp-offcanvas-backdrop {
- display: none !important;
- }
- }
-}
diff --git a/packages/components/src/offcanvas/template.html b/packages/components/src/offcanvas/template.html
deleted file mode 100644
index 7d9ee35..0000000
--- a/packages/components/src/offcanvas/template.html
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/components/src/utils.ts b/packages/components/src/utils.ts
deleted file mode 100644
index 0df8cd7..0000000
--- a/packages/components/src/utils.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-export const qs = (
- query: string,
- el: Element | Document = document,
-): HTMLElement | null => {
- return el.querySelector(query);
-};
-
-export const qsa = (
- query: string,
- el: Element | Document = document,
-): NodeListOf => {
- return el.querySelectorAll(query);
-};
diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json
index 2e82a45..238655f 100644
--- a/packages/components/tsconfig.json
+++ b/packages/components/tsconfig.json
@@ -23,8 +23,5 @@
"noUnusedLocals": false,
"noUnusedParameters": false,
"noPropertyAccessFromIndexSignature": false
-
- // library configuration
- // "baseUrl": "./src/"
}
}
diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md
deleted file mode 100644
index 8b2cab0..0000000
--- a/packages/core/CHANGELOG.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# Changelog
-All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
-
-- - -
-## @mini-strap/core-v0.1.2 - 2025-02-14
-#### Bug Fixes
-- build binary of core - (e80fa61) - aleidk
-
-- - -
-
-## @mini-strap/core-v0.1.1 - 2025-02-14
-#### Miscellaneous Chores
-- update build script - (812e55e) - aleidk
-
-- - -
-
-## @mini-strap/core-v0.1.0 - 2024-12-30
-#### Bug Fixes
-- **(core)** update old css variables names - (9c6d935) - aleidk
-- remove deprecation warnings from sass - (b452baa) - aleidk
-#### Build system
-- fix build setup - (8442bbb) - aleidk
-#### Features
-- **(components)** allow to only hide offcanvas on breakpoint - (37a1551) - aleidk
-- **(components)** add offcanvas component - (c47a2ef) - aleidk
-- **(components)** add basic components - (d4a1114) - aleidk
-- **(website)** add offcanvas documentation - (c0a20f8) - aleidk
-- **(website)** add build script for frontend dependencies - (698294c) - aleidk
-#### Miscellaneous Chores
-- setup ci workflow - (c1c1cdb) - aleidk
-
-- - -
-
-## v0.0.0 - 2024-12-30
-#### Features
-- **(core)** add styles for vanilla tables - (cf0b401) - aleidk
-- **(core)** add styles for vanilla form elements - (e754e40) - aleidk
-
-- - -
-
-Changelog generated by [cocogitto](https://github.com/cocogitto/cocogitto).
\ No newline at end of file
diff --git a/packages/core/build.ts b/packages/core/build.ts
deleted file mode 100644
index 6182e2d..0000000
--- a/packages/core/build.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/usr/bin/env bun
-
-import type { BuildConfig, BunPlugin, PluginBuilder } from "bun";
-import { parseArgs } from "node:util";
-import type { FileImporter } from "sass";
-
-const { values, positionals } = parseArgs({
- args: Bun.argv,
- options: {
- production: {
- type: "boolean",
- short: "p",
- default: true,
- },
- filter: {
- type: "string",
- short: "f",
- default: "all",
- },
- },
- strict: true,
- allowPositionals: true,
-});
-
-const outdir = positionals.at(2);
-
-if (!outdir) {
- throw new Error("No outdir provided!");
-}
-
-const nodeModuleImporter: FileImporter<"async"> = {
- findFileUrl(url) {
- if (url.startsWith("@")) {
- return new URL(import.meta.resolve(url));
- }
-
- return null;
- },
-};
-
-const sassPlugin: BunPlugin = {
- name: "Sass Loader",
- async setup(build: PluginBuilder) {
- const sass = await import("sass");
- build.onLoad({ filter: /\.scss$/ }, async ({ path }) => {
- // read and compile it with the sass compiler
- const result = await sass.compileAsync(path, {
- importers: [nodeModuleImporter],
- });
-
- return {
- loader: "css",
- contents: result.css,
- };
- });
- },
-};
-
-const assets: BuildConfig[] = [];
-
-const filter = values.filter ?? "all";
-
-if (["all", "sass"].includes(filter)) {
- assets.push({
- entrypoints: ["./src/style.scss"],
- outdir: `${outdir}/css`,
- naming: "[name].css",
- plugins: [sassPlugin],
- minify: values.production,
-
- // On by default in Bun v1.2+
- html: true,
- experimentalCss: true,
- });
-}
-
-// if (["all", "js", "ts"].includes(filter)) {
-// assets.push({
-// entrypoints: ["./js/index.ts"],
-// outdir: `${outdir}/js`,
-// target: "browser",
-// splitting: values.production,
-// minify: values.production,
-// });
-// }
-
-await Promise.all(
- assets.map(async (item) => {
- const result = await Bun.build(item);
-
- if (!result.success) {
- throw new AggregateError(result.logs, "Build failed");
- }
-
- return result;
- }),
-);
-
-console.log(`${Bun.color("#a6da95", "ansi")}Assets succesfully build!\x1b[0m`);
diff --git a/packages/core/bun.lockb b/packages/core/bun.lockb
deleted file mode 100755
index 0c40387..0000000
Binary files a/packages/core/bun.lockb and /dev/null differ
diff --git a/packages/core/package.json b/packages/core/package.json
index 097ffae..dce323a 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,23 +1,12 @@
{
- "name": "@mini-strap/core",
- "version": "0.1.2",
- "type": "module",
- "exports": {
- ".": "./src/style.scss",
- "./mixins": "./src/_mixins.scss"
- },
- "bin": {
- "@mini-strap/core": "build.ts"
- },
- "scripts": {
- "build": "bun sass --style compressed src/style.scss dist/style.css",
- "ci:publish": "bun run build && bun publish --production --frozen-lockfile --silent"
- },
- "devDependencies": {
- "@types/bun": "latest",
- "sass": "^1.83.0"
- },
- "peerDependencies": {
- "typescript": "^5.0.0"
- }
+ "name": "mini-strap-core",
+ "module": "src/style.scss",
+ "type": "module",
+ "devDependencies": {
+ "@types/bun": "latest"
+ },
+ "peerDependencies": {
+ "typescript": "^5.0.0"
+ }
}
+
diff --git a/packages/core/src/_colors.scss b/packages/core/src/_colors.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/packages/core/src/_reset.scss b/packages/core/src/_reset.scss
index 76092a6..c4e42f8 100644
--- a/packages/core/src/_reset.scss
+++ b/packages/core/src/_reset.scss
@@ -155,3 +155,33 @@
:where(sup) {
top: -0.5em;
}
+
+// ── Other ───────────────────────────────────────────────────────────────
+
+:where(a) {
+ background-color: transparent;
+}
+
+:where(abbr[title]) {
+ text-decoration: underline dotted;
+}
+
+:where(code, kbd, samp, pre) {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+:where(sub, sup) {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+:where(sub) {
+ bottom: -0.25em;
+}
+
+:where(sup) {
+ top: -0.5em;
+}
diff --git a/packages/core/src/_tokens.scss b/packages/core/src/_tokens.scss
index 7ea321d..b4b9436 100644
--- a/packages/core/src/_tokens.scss
+++ b/packages/core/src/_tokens.scss
@@ -1,13 +1,11 @@
@use "sass:color";
-@use "sass:map";
-@use "colors";
/* Using catppuccin for now, make a theme switcher later */
@use "../themes/catppuccin/catppuccin";
@function getColor($color) {
- $ctp-theme: map.get(catppuccin.$palette, "macchiato");
- @return map.get($ctp-theme, $color);
+ $ctp-theme: map-get(catppuccin.$palette, "macchiato");
+ @return map-get($ctp-theme, $color);
}
/*
@@ -51,15 +49,12 @@ $msp-colors: (
"--msp-color-bg": #{getColor("mantle")},
"--msp-color-bg-transparent": #{color.scale(getColor("mantle"), $alpha: -10%)},
"--msp-color-bg-surface-1": #{getColor("base")},
- "--msp-color-bg-surface-2": #{color.adjust(
- getColor("surface0"),
- $lightness: -2%
- )},
+ "--msp-color-bg-surface-2": #{darken(getColor("surface0"), 2%)},
"--msp-color-bg-surface-3": #{getColor("surface1")},
"--msp-color-bg-accent": #{getColor("teal")},
- "--msp-color-bg-primary": #{getColor("mauve")},
- "--msp-color-bg-secondary": #{getColor("lavender")},
+ "--msp-color-bg-primary": #{getColor("teal")},
+ "--msp-color-bg-secondary": #{getColor("mauve")},
"--msp-color-bg-danger": #{getColor("red")},
"--msp-color-bg-disabled": #{color.scale(getColor("text"), $alpha: -10%)},
"--msp-color-bg-input": #{getColor("text")},
@@ -91,12 +86,6 @@ $msp-colors: (
"--msp-color-transparent": transparent,
);
-$anim: (
- "--msp-anim-duration-sm": 0.4s,
- "--msp-anim-duration-md": 0.8s,
- "--msp-anim-duration-lg": 1s,
-);
-
// Native CSS Variables to allow overridings and usage in external stylesheets
:root {
@each $variable, $value in $msp-colors {
@@ -107,10 +96,6 @@ $anim: (
#{$variable}: #{$value};
}
- @each $variable, $value in $anim {
- #{$variable}: #{$value};
- }
-
// ── Borders ─────────────────────────────────────────────────────────────
--msp-border-width: 1px;
--msp-border-color: var(--msp-color-text-transparent);
diff --git a/packages/core/src/_utils.scss b/packages/core/src/_utils.scss
index 86ba495..82968ee 100644
--- a/packages/core/src/_utils.scss
+++ b/packages/core/src/_utils.scss
@@ -1,6 +1,5 @@
@use "./tokens" as *;
@use "./mixins";
-@use "sass:math";
.msp-position-fixed {
position: fixed;
@@ -69,29 +68,29 @@
}
.msp-hstack {
- --msp-gap: var(--msp-spacing-3);
+ --prj-gap: var(--prj-spacing-3);
display: flex;
- gap: var(--msp-gap);
+ gap: var(--prj-gap);
align-items: center;
}
.msp-hstack-reverse {
- --msp-gap: var(--msp-spacing-3);
+ --prj-gap: var(--prj-spacing-3);
display: flex;
- gap: var(--msp-gap);
+ gap: var(--prj-gap);
align-items: center;
flex-direction: row-reverse;
}
.msp-vstack {
- --msp-gap: var(--msp-spacing-3);
+ --prj-gap: var(--prj-spacing-3);
display: flex;
- gap: var(--msp-gap);
+ gap: var(--prj-gap);
flex-direction: column;
}
.msp-vstack-reverse {
- --msp-gap: var(--msp-spacing-3);
+ --prj-gap: var(--prj-spacing-3);
display: flex;
flex-direction: column-reverse;
}
@@ -123,18 +122,10 @@
align-items: center;
}
-.msp-justify-content-start {
- justify-content: start !important;
-}
-
.msp-justify-content-center {
justify-content: center !important;
}
-.msp-justify-content-end {
- justify-content: end !important;
-}
-
.msp-justify-content-between {
justify-content: space-between !important;
}
@@ -148,16 +139,16 @@
}
.msp-grid {
- --msp-gap: var(--msp-spacing-3);
- --msp-columns: repeat(3, 1fr);
- --msp-min-col-width: 150px;
+ --prj-gap: var(--prj-spacing-3);
+ --prj-columns: repeat(3, 1fr);
+ --prj-min-col-width: 150px;
display: grid;
- grid-template-columns: var(--msp-columns);
- gap: var(--msp-gap);
+ grid-template-columns: var(--prj-columns);
+ gap: var(--prj-gap);
}
@mixin grid-cols($amount) {
- --msp-columns: repeat(#{$amount}, minmax(var(--msp-min-col-width), 1fr));
+ --prj-columns: repeat(#{$amount}, minmax(var(--prj-min-col-width), 1fr));
}
@for $i from 1 through 12 {
@@ -223,20 +214,20 @@
}
@for $i from 0 through 100 {
.msp-w-#{$i} {
- width: math.percentage(calc($i / 100));
+ width: percentage(calc($i / 100));
}
.msp-h-#{$i} {
- height: math.percentage(calc($i / 100));
+ height: percentage(calc($i / 100));
}
}
@include mixins.responsive-steps(0, 100) using ($breakpoint, $index) {
.msp-w-#{$breakpoint}-#{$index} {
- width: math.percentage(calc($index / 100));
+ width: percentage(calc($index / 100));
}
.msp-h-#{$breakpoint}-#{$index} {
- height: math.percentage(calc($index / 100));
+ height: percentage(calc($index / 100));
}
}
@@ -293,7 +284,7 @@
}
.msp-gap-#{$name} {
- --msp-gap: #{$value};
+ --prj-gap: #{$value};
}
}
@@ -314,17 +305,11 @@
}
.msp-shadow-1 {
- box-shadow: 10px 10px 5px 0px var(--msp-shadow);
+ box-shadow: 10px 10px 5px 0px var(--prj-shadow);
}
.msp-border-radius {
- border-radius: var(--msp-border-radius);
-}
-
-@each $index, $variable, $value in $spacings {
- .msp-border-#{$index} {
- border: #{$index}px var(--msp-border-style) var(--msp-border-color);
- }
+ border-radius: var(--prj-border-radius);
}
.msp-text-none {
diff --git a/packages/core/src/components/form.scss b/packages/core/src/components/form.scss
index f381e27..1ad5205 100644
--- a/packages/core/src/components/form.scss
+++ b/packages/core/src/components/form.scss
@@ -2,7 +2,6 @@
@use "../mixins";
@use "sass:color";
@use "sass:string";
-@use "sass:map";
fieldset:not(.msp-fieldset-border) {
min-width: 0;
@@ -73,7 +72,7 @@ input[type="checkbox"] {
background-color: var(--msp-color-bg-checkbox);
border-color: var(--msp-color-bg-checkbox);
- $stroke-color: "%23#{string.slice(map.get($msp-colors, "--msp-color-text-checkbox"), 2, -1)}";
+ $stroke-color: "%23#{string.slice(map-get($msp-colors, "--msp-color-text-checkbox"), 2, -1)}";
--msp-form-check-bg-image: url('data:image/svg+xml,');
}
}
@@ -107,7 +106,7 @@ input[type="radio"] {
background-color: var(--msp-color-bg-checkbox);
border-color: var(--msp-color-bg-checkbox);
- $fill-color: "%23#{string.slice(map.get($msp-colors, "--msp-color-text-checkbox"), 2, -1)}";
+ $fill-color: "%23#{string.slice(map-get($msp-colors, "--msp-color-text-checkbox"), 2, -1)}";
--msp-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='#{$fill-color}'/%3e%3c/svg%3e");
}
}
diff --git a/packages/core/src/style.scss b/packages/core/src/style.scss
index e05b1bd..53f7103 100644
--- a/packages/core/src/style.scss
+++ b/packages/core/src/style.scss
@@ -95,11 +95,9 @@ ul {
/* Make the marker position is inside the container */
list-style-position: inside;
margin: 0;
- margin-bottom: var(--msp-spacing-2);
ul {
margin-left: var(--msp-spacing-3);
- margin-bottom: 0;
}
}
@@ -128,10 +126,3 @@ video.respect-height {
li:not(:last-child) {
margin-bottom: var(--msp-spacing-1);
}
-
-:where(code, kbd, samp, pre):not([data-lang]) {
- background-color: var(--msp-color-bg-surface-2);
- padding: 0 var(--msp-spacing-1);
- border-radius: var(--msp-border-radius);
- white-space: nowrap;
-}
diff --git a/packages/website/.gitignore b/packages/website/.gitignore
index f11efde..a547bf3 100644
--- a/packages/website/.gitignore
+++ b/packages/website/.gitignore
@@ -1,181 +1,24 @@
-
-# Compiled assets managed by bun
-static/css/**/*
-static/js/**/*
-templates/ext-components/**/*
-
-# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
-
# Logs
-
logs
-_.log
-npm-debug.log_
+*.log
+npm-debug.log*
yarn-debug.log*
yarn-error.log*
+pnpm-debug.log*
lerna-debug.log*
-.pnpm-debug.log*
-# Caches
-
-.cache
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-
-report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
-
-# Runtime data
-
-pids
-_.pid
-_.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-
-lib-cov
-
-# Coverage directory used by tools like istanbul
-
-coverage
-*.lcov
-
-# nyc test coverage
-
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-
-bower_components
-
-# node-waf configuration
-
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-
-build/Release
-
-# Dependency directories
-
-node_modules/
-jspm_packages/
-
-# Snowpack dependency directory (https://snowpack.dev/)
-
-web_modules/
-
-# TypeScript cache
-
-*.tsbuildinfo
-
-# Optional npm cache directory
-
-.npm
-
-# Optional eslint cache
-
-.eslintcache
-
-# Optional stylelint cache
-
-.stylelintcache
-
-# Microbundle cache
-
-.rpt2_cache/
-.rts2_cache_cjs/
-.rts2_cache_es/
-.rts2_cache_umd/
-
-# Optional REPL history
-
-.node_repl_history
-
-# Output of 'npm pack'
-
-*.tgz
-
-# Yarn Integrity file
-
-.yarn-integrity
-
-# dotenv environment variable files
-
-.env
-.env.development.local
-.env.test.local
-.env.production.local
-.env.local
-
-# parcel-bundler cache (https://parceljs.org/)
-
-.parcel-cache
-
-# Next.js build output
-
-.next
-out
-
-# Nuxt.js build / generate output
-
-.nuxt
+node_modules
dist
+dist-ssr
+*.local
-# Gatsby files
-
-# Comment in the public line in if your project uses Gatsby and not Next.js
-
-# https://nextjs.org/blog/next-9-1#public-directory-support
-
-# public
-
-# vuepress build output
-
-.vuepress/dist
-
-# vuepress v2.x temp and cache directory
-
-.temp
-
-# Docusaurus cache and generated files
-
-.docusaurus
-
-# Serverless directories
-
-.serverless/
-
-# FuseBox cache
-
-.fusebox/
-
-# DynamoDB Local files
-
-.dynamodb/
-
-# TernJS port file
-
-.tern-port
-
-# Stores VSCode versions used for testing VSCode extensions
-
-.vscode-test
-
-# yarn v2
-
-.yarn/cache
-.yarn/unplugged
-.yarn/build-state.yml
-.yarn/install-state.gz
-.pnp.*
-
-# IntelliJ based IDEs
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
.idea
-
-# Finder (MacOS) folder config
.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/packages/website/CHANGELOG.md b/packages/website/CHANGELOG.md
deleted file mode 100644
index a8d8084..0000000
--- a/packages/website/CHANGELOG.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Changelog
-All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
-
-- - -
-## @mini-strap/website-v0.1.0 - 2024-12-30
-#### Bug Fixes
-- **(components)** replace initialization of components to prevent overrides - (8cbd097) - aleidk
-- add dummy publish script for website - (20cadc8) - aleidk
-#### Build system
-- fix build setup - (8442bbb) - aleidk
-#### Features
-- **(components)** allow to only hide offcanvas on breakpoint - (37a1551) - aleidk
-- **(components)** add offcanvas component - (c47a2ef) - aleidk
-- **(components)** add the accordion component - (e0ed5a5) - aleidk
-- **(components)** add basic components - (d4a1114) - aleidk
-- **(website)** add accordion documentation - (319d56d) - aleidk
-- **(website)** add offcanvas documentation - (c0a20f8) - aleidk
-- **(website)** add content structure files - (7af58fe) - aleidk
-- **(website)** add html components imports to build script - (e9db7de) - aleidk
-- **(website)** add build script for frontend dependencies - (698294c) - aleidk
-#### Miscellaneous Chores
-- **(website)** migrate from docosaurus to zola SSG - (7e8dc4e) - aleidk
-- **(website)** add docosaurus as SSG - (85660ac) - Alexander Navarro
-- setup ci workflow - (c1c1cdb) - aleidk
-
-- - -
-
-## v0.0.0 - 2024-12-30
-#### Features
-- **(core)** add styles for vanilla tables - (cf0b401) - aleidk
-- **(core)** add styles for vanilla form elements - (e754e40) - aleidk
-
-- - -
-
-Changelog generated by [cocogitto](https://github.com/cocogitto/cocogitto).
\ No newline at end of file
diff --git a/packages/website/README.md b/packages/website/README.md
deleted file mode 100644
index 7816149..0000000
--- a/packages/website/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# website
-
-To install dependencies:
-
-```bash
-bun install
-```
-
-To run:
-
-```bash
-bun run index.ts
-```
-
-This project was created using `bun init` in bun v1.1.40. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
diff --git a/packages/website/_scripts/build.ts b/packages/website/_scripts/build.ts
deleted file mode 100644
index a49e87b..0000000
--- a/packages/website/_scripts/build.ts
+++ /dev/null
@@ -1,128 +0,0 @@
-import type { BuildConfig, BunPlugin, PluginBuilder } from "bun";
-import { parseArgs } from "node:util";
-import { readdir, rm } from "node:fs/promises";
-import { join } from "node:path";
-import type { FileImporter } from "sass";
-
-import { HTMLComponents } from "@mini-strap/components";
-
-const { values } = parseArgs({
- args: Bun.argv,
- options: {
- production: {
- type: "boolean",
- short: "p",
- default: false,
- },
- filter: {
- type: "string",
- short: "f",
- default: "all",
- },
- output: {
- type: "string",
- short: "o",
- default: "static",
- },
- },
- strict: true,
- allowPositionals: true,
-});
-
-const outdir = values.output ?? "./static";
-
-const nodeModuleImporter: FileImporter<"async"> = {
- findFileUrl(url) {
- if (url.startsWith("@")) {
- return new URL(import.meta.resolve(url));
- }
-
- return null;
- },
-};
-
-const sassPlugin: BunPlugin = {
- name: "Sass Loader",
- async setup(build: PluginBuilder) {
- const sass = await import("sass");
- build.onLoad({ filter: /\.scss$/ }, async ({ path }) => {
- // read and compile it with the sass compiler
- const result = await sass.compileAsync(path, {
- importers: [nodeModuleImporter],
- });
-
- return {
- loader: "css",
- contents: result.css,
- };
- });
- },
-};
-
-const assets: BuildConfig[] = [];
-
-const filter = values.filter ?? "all";
-
-if (["all", "sass"].includes(filter)) {
- assets.push({
- entrypoints: ["./sass/style.scss"],
- outdir: `${outdir}/css`,
- naming: "[name].css",
- plugins: [sassPlugin],
- minify: values.production,
-
- // On by default in Bun v1.2+
- html: true,
- experimentalCss: true,
- });
-}
-
-if (["all", "js", "ts"].includes(filter)) {
- assets.push({
- entrypoints: ["./js/index.ts"],
- outdir: `${outdir}/js`,
- target: "browser",
- splitting: values.production,
- minify: values.production,
- });
-}
-
-if (["all", "html"].includes(filter)) {
- assets.push({
- entrypoints: Object.values(HTMLComponents),
- outdir: "./templates/ext-components",
- target: "browser",
- naming: {
- // default values
- entry: "[name].[ext]",
- asset: "[name].[ext]",
- chunk: "[name]-[hash].[ext]",
- },
- // On by default in Bun v1.2+
- html: true,
- experimentalCss: true,
- });
-}
-
-const out = await Promise.all(
- assets.map(async (item) => {
- const result = await Bun.build(item);
-
- if (!result.success) {
- throw new AggregateError(result.logs, "Build failed");
- }
-
- return result;
- }),
-);
-
-async function deleteJsFiles(folder: string) {
- const files = await readdir(folder);
- const jsFiles = files.filter((file) => file.endsWith(".js"));
-
- await Promise.all(jsFiles.map((file) => rm(join(folder, file))));
-}
-
-await deleteJsFiles("./templates/ext-components");
-
-console.log(`${Bun.color("#a6da95", "ansi")}Assets succesfully build!\x1b[0m`);
diff --git a/packages/website/_scripts/link-dependencies.ts b/packages/website/_scripts/link-dependencies.ts
deleted file mode 100644
index ea59160..0000000
--- a/packages/website/_scripts/link-dependencies.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env bun
-
-import { fileURLToPath } from "url";
-import fs from "node:fs/promises";
-import { basename, normalize } from "node:path";
-
-function ignore_exist_error(fn: (...args: any[]) => Promise) {
- return async (...args: any[]) => {
- try {
- await fn(...args);
- } catch (error: any) {
- if (error.code !== "EEXIST") {
- throw error; // Re-throw the error if it's not "file exists"
- }
- }
- };
-}
-
-const mkdir = ignore_exist_error(fs.mkdir);
-const symlink = ignore_exist_error(fs.symlink);
-
-const def = await Bun.file("package.json").json();
-
-const dependencies = Object.keys(def.dependencies);
-
-for (const pkg of dependencies) {
- const path = normalize(fileURLToPath(import.meta.resolve(pkg)));
- const file = Bun.file(import.meta.resolve(pkg));
- const type = file.type.split(";").at(0);
- const filename = basename(path);
-
- switch (type) {
- case "text/x-scss":
- await mkdir(`sass/${pkg}`, { recursive: true });
- await symlink(path, `sass/${pkg}/${filename}`);
- console.log(`${path} -> sass/${pkg}/${filename}`);
- break;
- case "text/javascript":
- // console.log("es JS")
- break;
- }
-}
-
-console.log();
-console.log("Dependencies linked!");
diff --git a/packages/website/config.toml b/packages/website/config.toml
deleted file mode 100644
index 56d5c27..0000000
--- a/packages/website/config.toml
+++ /dev/null
@@ -1,22 +0,0 @@
-# The URL the site will be built for
-base_url = "https://mini-strap.alecodes.page"
-
-output_dir = "dist"
-
-# Managed by bun
-compile_sass = false
-
-# Whether to build a search index to be used later on by a JavaScript library
-build_search_index = true
-
-taxonomies = [
- { name = "section", feed = true }
-]
-
-[markdown]
-# Whether to do syntax highlighting
-# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
-highlight_code = true
-
-[extra]
-# Put all your custom variables here
diff --git a/packages/website/content/_index.md b/packages/website/content/_index.md
deleted file mode 100644
index 1e83855..0000000
--- a/packages/website/content/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
-+++
-
-+++
-
-# mini-strap Documentation
diff --git a/packages/website/content/components/_index.md b/packages/website/content/components/_index.md
deleted file mode 100644
index f55553b..0000000
--- a/packages/website/content/components/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-+++
-
-# Components
-
-Complex elements that require custom javascript to run
diff --git a/packages/website/content/components/accordion.md b/packages/website/content/components/accordion.md
deleted file mode 100644
index 7c92c86..0000000
--- a/packages/website/content/components/accordion.md
+++ /dev/null
@@ -1,41 +0,0 @@
-+++
-[taxonomies]
-section = ["Components"]
-+++
-
-# Accordion
-
-## Basic
-
-The accordion component allows to hide and show content in the page. The
-accordion is composed of the following elements:
-
-- `msp-accordion`: the main container that encapsulates multiple toggable elements.
-- `msp-accordion-item`: a single toggable element.
-- `msp-accordion-header`: this element acts as the header and responds to the `onclick` event to toggle the content.
-- `msp-accordion-collapse`: container for the content, needed to help with dynamic height and transitions.
-- `msp-accordion-content`: the content of the accordion.
-
-### Example:
-
-```html
-
- -
-
-
-
- Lorem ipsum odor amet, consectetuer adipiscing elit. Et integer sagittis praesent nisi phasellus. Rutrum elit integer senectus, velit lectus condimentum auctor fringilla.
-
-
-
-
- -
-
-
-
- Lorem ipsum odor amet, consectetuer adipiscing elit. Et integer sagittis praesent nisi phasellus. Rutrum elit integer senectus, velit lectus condimentum auctor fringilla.
-
-
-
-
-```
diff --git a/packages/website/content/components/dropdown.md b/packages/website/content/components/dropdown.md
deleted file mode 100644
index c1fb188..0000000
--- a/packages/website/content/components/dropdown.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Components"]
-+++
-
-# dropdown.md
diff --git a/packages/website/content/components/modal.md b/packages/website/content/components/modal.md
deleted file mode 100644
index c4d19c5..0000000
--- a/packages/website/content/components/modal.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Components"]
-+++
-
-# modal.md
diff --git a/packages/website/content/components/offcanvas.md b/packages/website/content/components/offcanvas.md
deleted file mode 100644
index 1c398f2..0000000
--- a/packages/website/content/components/offcanvas.md
+++ /dev/null
@@ -1,76 +0,0 @@
-+++
-[taxonomies]
-section = ["Components"]
-+++
-
-# Offcanvas
-
-## Basic
-
-The offcanvas component serves as a sidebar that is hidden out of view until is
-toggled via an interactive element. The offcanvas is composed of the following
-elements:
-
-- `msp-offcanvas`: the main container.
-- `msp-offcanvas-backdrop`: a static backdrop that makes the sidebar stand out more.
-- `msp-offcanvas-content`: the container for the content.
-- `msp-offcanvas-header`: top section of the content.
-- `msp-offcanvas-body`: middle section of the content.
-- `msp-offcanvas-footer`: bottom section of the content.
-
-To toggle the offcanvas you need to give the `msp-offcanvas-toggle` to an
-element and attach the `data-msp-target` attribute.
-
-### Example:
-
-```html
-
-
-
-
-
-
-
-
-```
-
-## Responsive
-
-It's possible to have the sidebar always visible and only hide the offcanvas
-when the viewport is below the brakepoint. For this add the class
-`msp-offcanvas-[breakpoint]`.
-
-Note that the toggle and backdrop are disabled when the viewport is above the brakepoint.
-
-### Example
-
-```html
-
-
-
-
-
-
-
-
-```
diff --git a/packages/website/content/components/tabs.md b/packages/website/content/components/tabs.md
deleted file mode 100644
index d256dfe..0000000
--- a/packages/website/content/components/tabs.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Components"]
-+++
-
-# tabs.md
diff --git a/packages/website/content/components/tooltip.md b/packages/website/content/components/tooltip.md
deleted file mode 100644
index f12205f..0000000
--- a/packages/website/content/components/tooltip.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Components"]
-+++
-
-# tooltip.md
diff --git a/packages/website/content/content/_index.md b/packages/website/content/content/_index.md
deleted file mode 100644
index cb14ecb..0000000
--- a/packages/website/content/content/_index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-+++
-+++
-
-# Components
diff --git a/packages/website/content/content/fonts.md b/packages/website/content/content/fonts.md
deleted file mode 100644
index 9577274..0000000
--- a/packages/website/content/content/fonts.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Content"]
-+++
-
-# Buttons
diff --git a/packages/website/content/content/forms.md b/packages/website/content/content/forms.md
deleted file mode 100644
index 9577274..0000000
--- a/packages/website/content/content/forms.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Content"]
-+++
-
-# Buttons
diff --git a/packages/website/content/content/image.md b/packages/website/content/content/image.md
deleted file mode 100644
index 9577274..0000000
--- a/packages/website/content/content/image.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Content"]
-+++
-
-# Buttons
diff --git a/packages/website/content/content/table.md b/packages/website/content/content/table.md
deleted file mode 100644
index 9577274..0000000
--- a/packages/website/content/content/table.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Content"]
-+++
-
-# Buttons
diff --git a/packages/website/content/elements/_index.md b/packages/website/content/elements/_index.md
deleted file mode 100644
index f0a0b6d..0000000
--- a/packages/website/content/elements/_index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-+++
-+++
-
-foo
diff --git a/packages/website/content/elements/button.md b/packages/website/content/elements/button.md
deleted file mode 100644
index 75847dd..0000000
--- a/packages/website/content/elements/button.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Elements"]
-+++
-
-# Buttons
diff --git a/packages/website/content/elements/card.md b/packages/website/content/elements/card.md
deleted file mode 100644
index 75847dd..0000000
--- a/packages/website/content/elements/card.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Elements"]
-+++
-
-# Buttons
diff --git a/packages/website/content/elements/links.md b/packages/website/content/elements/links.md
deleted file mode 100644
index 75847dd..0000000
--- a/packages/website/content/elements/links.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Elements"]
-+++
-
-# Buttons
diff --git a/packages/website/content/elements/list.md b/packages/website/content/elements/list.md
deleted file mode 100644
index 75847dd..0000000
--- a/packages/website/content/elements/list.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Elements"]
-+++
-
-# Buttons
diff --git a/packages/website/content/elements/navbar.md b/packages/website/content/elements/navbar.md
deleted file mode 100644
index 75847dd..0000000
--- a/packages/website/content/elements/navbar.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Elements"]
-+++
-
-# Buttons
diff --git a/packages/website/content/elements/pagination.md b/packages/website/content/elements/pagination.md
deleted file mode 100644
index 75847dd..0000000
--- a/packages/website/content/elements/pagination.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Elements"]
-+++
-
-# Buttons
diff --git a/packages/website/content/layout/_index.md b/packages/website/content/layout/_index.md
deleted file mode 100644
index cb14ecb..0000000
--- a/packages/website/content/layout/_index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-+++
-+++
-
-# Components
diff --git a/packages/website/content/layout/container.md b/packages/website/content/layout/container.md
deleted file mode 100644
index 72e8acf..0000000
--- a/packages/website/content/layout/container.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Layout"]
-+++
-
-# Buttons
diff --git a/packages/website/content/layout/display.md b/packages/website/content/layout/display.md
deleted file mode 100644
index 72e8acf..0000000
--- a/packages/website/content/layout/display.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Layout"]
-+++
-
-# Buttons
diff --git a/packages/website/content/layout/grid.md b/packages/website/content/layout/grid.md
deleted file mode 100644
index 72e8acf..0000000
--- a/packages/website/content/layout/grid.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Layout"]
-+++
-
-# Buttons
diff --git a/packages/website/content/layout/position.md b/packages/website/content/layout/position.md
deleted file mode 100644
index 72e8acf..0000000
--- a/packages/website/content/layout/position.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Layout"]
-+++
-
-# Buttons
diff --git a/packages/website/content/layout/responsive-helpers.md b/packages/website/content/layout/responsive-helpers.md
deleted file mode 100644
index 72e8acf..0000000
--- a/packages/website/content/layout/responsive-helpers.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Layout"]
-+++
-
-# Buttons
diff --git a/packages/website/content/layout/spacing.md b/packages/website/content/layout/spacing.md
deleted file mode 100644
index 72e8acf..0000000
--- a/packages/website/content/layout/spacing.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-[taxonomies]
-section = ["Layout"]
-+++
-
-# Buttons
diff --git a/packages/website/index.html b/packages/website/index.html
new file mode 100644
index 0000000..44a9335
--- /dev/null
+++ b/packages/website/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Vite + TS
+
+
+
+
+
+
diff --git a/packages/website/js/index.ts b/packages/website/js/index.ts
deleted file mode 100644
index 6d5aa24..0000000
--- a/packages/website/js/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import "@mini-strap/components/accordion/index.ts";
-import "@mini-strap/components/offcanvas/index.ts";
-console.log("hello world!");
diff --git a/packages/website/package.json b/packages/website/package.json
index 3014521..2114401 100644
--- a/packages/website/package.json
+++ b/packages/website/package.json
@@ -1,22 +1,20 @@
{
- "name": "website",
- "type": "module",
- "scripts": {
- "link-dependencies": "bun run _scripts/link-dependencies.ts",
- "prebuild": "bun run _scripts/build.ts",
- "watch-deps": "bun run --watch _scripts/build.ts",
- "dev": "zola serve --port 3000 --fast --open",
- "ci:publish": "echo 'dummy publish script'"
- },
- "dependencies": {
- "@mini-strap/core": "workspace:*",
- "@mini-strap/components": "workspace:*"
- },
- "devDependencies": {
- "@types/bun": "latest",
- "sass": "^1.83.0"
- },
- "peerDependencies": {
- "typescript": "^5.0.0"
- }
+ "name": "mini-strap-website",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite --port 3000",
+ "build": "tsc && vite build",
+ "preview": "vite preview"
+ },
+ "devDependencies": {
+ "sass-embedded": "^1.78.0",
+ "typescript": "^5.5.3",
+ "vite": "^5.4.1"
+ },
+ "dependencies": {
+ "handlebars": "^4.7.8",
+ "mini-strap-core": "workspace:*"
+ }
}
diff --git a/packages/website/public/vite.svg b/packages/website/public/vite.svg
new file mode 100644
index 0000000..e7b8dfb
--- /dev/null
+++ b/packages/website/public/vite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/website/sass/@mini-strap/core/style.scss b/packages/website/sass/@mini-strap/core/style.scss
deleted file mode 120000
index 60be24d..0000000
--- a/packages/website/sass/@mini-strap/core/style.scss
+++ /dev/null
@@ -1 +0,0 @@
-/home/aleidk/Repos/Projects/mini-strap/packages/core/src/style.scss
\ No newline at end of file
diff --git a/packages/website/sass/style.scss b/packages/website/sass/style.scss
deleted file mode 100644
index b7c6746..0000000
--- a/packages/website/sass/style.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-@use "@mini-strap/core";
-@use "@mini-strap/components/navbar/navbar.scss";
-@use "@mini-strap/components/accordion/accordion.scss";
-@use "@mini-strap/components/offcanvas/style.scss";
-
-main {
- padding: var(--msp-spacing-3);
-}
diff --git a/packages/website/src/main.ts b/packages/website/src/main.ts
new file mode 100644
index 0000000..ed88f31
--- /dev/null
+++ b/packages/website/src/main.ts
@@ -0,0 +1,16 @@
+import "mini-strap-core";
+import render from "./render";
+
+import layout from "./templates/form.html";
+import table from "./templates/table.html";
+
+document.querySelector("#app")!.innerHTML = `
+
+
+ ${render(layout, { name: "ale" })}
+
+
+ ${render(table, { name: "ale" })}
+
+
+`;
diff --git a/packages/website/src/render.ts b/packages/website/src/render.ts
new file mode 100644
index 0000000..23684e4
--- /dev/null
+++ b/packages/website/src/render.ts
@@ -0,0 +1,11 @@
+import Handlebars from "handlebars";
+
+export default function (template: string, data: Record) {
+ const engine = Handlebars.compile(template);
+
+ return engine(data);
+}
+
+export function mapRender(items: string[]) {
+ return items.join("\n");
+}
diff --git a/packages/website/src/templates/form.html b/packages/website/src/templates/form.html
new file mode 100644
index 0000000..50fedf6
--- /dev/null
+++ b/packages/website/src/templates/form.html
@@ -0,0 +1,127 @@
+
+
+
+
+
diff --git a/packages/website/src/templates/layout.html b/packages/website/src/templates/layout.html
new file mode 100644
index 0000000..f0b8800
--- /dev/null
+++ b/packages/website/src/templates/layout.html
@@ -0,0 +1 @@
+
diff --git a/packages/website/src/templates/table.html b/packages/website/src/templates/table.html
new file mode 100644
index 0000000..14fc58d
--- /dev/null
+++ b/packages/website/src/templates/table.html
@@ -0,0 +1,29 @@
+
+
+
+ | # |
+ First |
+ Last |
+ Handle |
+
+
+
+
+ | 1 |
+ Mark |
+ Otto |
+ @mdo |
+
+
+ | 2 |
+ Jacob |
+ Thornton |
+ @fat |
+
+
+ | 3 |
+ Larry the Bird |
+ @twitter |
+
+
+
diff --git a/packages/website/src/vite-env.d.ts b/packages/website/src/vite-env.d.ts
new file mode 100644
index 0000000..0dc7f4a
--- /dev/null
+++ b/packages/website/src/vite-env.d.ts
@@ -0,0 +1,4 @@
+///
+
+declare module "*.html";
+declare module "*.md";
diff --git a/packages/website/templates/base.html b/packages/website/templates/base.html
deleted file mode 100644
index 27de743..0000000
--- a/packages/website/templates/base.html
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
- alecodes.page
-
-
- {% block scripts %}{% endblock %}
-
-
-
-
-
- {% include "partials/header.html" %}
-
-
- {% block content %}{% endblock %}
-
-
-
-
diff --git a/packages/website/templates/index.html b/packages/website/templates/index.html
deleted file mode 100644
index 85c2741..0000000
--- a/packages/website/templates/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-{% extends "base.html" %}
-
-
-{% block content %}
-{{section.content | safe}}
-
-
- {% for sub in section.subsections %}
- {% set sub = get_section(path=sub, metadata_only=true) %}
- - {{sub.title | safe}}
- {% endfor %}
-
-{% endblock content %}
diff --git a/packages/website/templates/page.html b/packages/website/templates/page.html
deleted file mode 100644
index 6d86a98..0000000
--- a/packages/website/templates/page.html
+++ /dev/null
@@ -1,6 +0,0 @@
-{% extends "base.html" %}
-
-
-{% block content %}
-{{page.content | safe}}
-{% endblock content %}
diff --git a/packages/website/templates/partials/header.html b/packages/website/templates/partials/header.html
deleted file mode 100644
index 41968b2..0000000
--- a/packages/website/templates/partials/header.html
+++ /dev/null
@@ -1,31 +0,0 @@
-
diff --git a/packages/website/templates/section.html b/packages/website/templates/section.html
deleted file mode 100644
index c520de6..0000000
--- a/packages/website/templates/section.html
+++ /dev/null
@@ -1,6 +0,0 @@
-{% extends "base.html" %}
-
-
-{% block content %}
-{{section.content | safe}}
-{% endblock content %}
diff --git a/packages/website/templates/taxonomy_list.html b/packages/website/templates/taxonomy_list.html
deleted file mode 100644
index e69de29..0000000
diff --git a/packages/website/templates/taxonomy_single.html b/packages/website/templates/taxonomy_single.html
deleted file mode 100644
index e69de29..0000000
diff --git a/packages/website/tsconfig.json b/packages/website/tsconfig.json
index 238655f..0511b9f 100644
--- a/packages/website/tsconfig.json
+++ b/packages/website/tsconfig.json
@@ -1,27 +1,23 @@
{
"compilerOptions": {
- // Enable latest features
- "lib": ["ESNext", "DOM"],
- "target": "ESNext",
+ "target": "ES2020",
+ "useDefineForClassFields": true,
"module": "ESNext",
- "moduleDetection": "force",
- "jsx": "react-jsx",
- "allowJs": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "skipLibCheck": true,
- // Bundler mode
+ /* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
- "verbatimModuleSyntax": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
"noEmit": true,
- // Best practices
+ /* Linting */
"strict": true,
- "skipLibCheck": true,
- "noFallthroughCasesInSwitch": true,
-
- // Some stricter flags (disabled by default)
- "noUnusedLocals": false,
- "noUnusedParameters": false,
- "noPropertyAccessFromIndexSignature": false
- }
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "include": ["src"]
}
diff --git a/packages/website/vite.config.ts b/packages/website/vite.config.ts
new file mode 100644
index 0000000..f38a931
--- /dev/null
+++ b/packages/website/vite.config.ts
@@ -0,0 +1,26 @@
+import { defineConfig } from "vite";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [
+ // Custom plugin to load markdown files
+ {
+ name: "markdown-loader",
+ transform(code, id) {
+ if (id.slice(-3) === ".md") {
+ // For .md files, get the raw content
+ return `export default ${JSON.stringify(code)};`;
+ }
+ },
+ },
+ {
+ name: "html-loader",
+ transform(code, id) {
+ if (id.slice(-5) === ".html") {
+ // For .md files, get the raw content
+ return `export default ${JSON.stringify(code)};`;
+ }
+ },
+ },
+ ],
+});