From 3b2698b61e85080af9f43a716c784905b6ed13c5 Mon Sep 17 00:00:00 2001 From: Frederic Heem Date: Sat, 14 Sep 2024 20:30:13 -0300 Subject: [PATCH 1/3] use HTMLElementTagNameMap to define Tags --- bau/bau.d.ts | 114 ++------------------------------------------------- 1 file changed, 4 insertions(+), 110 deletions(-) diff --git a/bau/bau.d.ts b/bau/bau.d.ts index 87be55ff..d4e5a97b 100644 --- a/bau/bau.d.ts +++ b/bau/bau.d.ts @@ -135,118 +135,12 @@ export type TagFunc = ( ...rest: readonly ChildDom[] ) => Result; -interface TagsBase { - readonly [key: string]: TagFunc; -} - -interface Tags extends TagsBase { - // Register known element types - // Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element - - // Main root - readonly html: TagFunc; - - // Document metadata - readonly base: TagFunc; - readonly head: TagFunc; - readonly link: TagFunc; - readonly meta: TagFunc; - readonly style: TagFunc; - readonly title: TagFunc; - - // Sectioning root - readonly body: TagFunc; - - // Content sectioning - readonly h1: TagFunc; - readonly h2: TagFunc; - readonly h3: TagFunc; - readonly h4: TagFunc; - readonly h5: TagFunc; - readonly h6: TagFunc; - - // Text content - readonly blockquote: TagFunc; - readonly div: TagFunc; - readonly dl: TagFunc; - readonly hr: TagFunc; - readonly li: TagFunc; - readonly menu: TagFunc; - readonly ol: TagFunc; - readonly p: TagFunc; - readonly pre: TagFunc; - readonly ul: TagFunc; - - // Inline text semantics - readonly a: TagFunc; - readonly br: TagFunc; - readonly data: TagFunc; - readonly q: TagFunc; - readonly span: TagFunc; - readonly time: TagFunc; - - // Image and multimedia - readonly area: TagFunc; - readonly audio: TagFunc; - readonly img: TagFunc; - readonly map: TagFunc; - readonly track: TagFunc; - readonly video: TagFunc; - - // Embedded content - readonly embed: TagFunc; - readonly iframe: TagFunc; - readonly object: TagFunc; - readonly picture: TagFunc; - readonly source: TagFunc; - - // Scripting - readonly canvas: TagFunc; - readonly script: TagFunc; - - // Demarcating edits - readonly del: TagFunc; - readonly ins: TagFunc; - - // Table content - readonly caption: TagFunc; - readonly col: TagFunc; - readonly colgroup: TagFunc; - readonly table: TagFunc; - readonly tbody: TagFunc; - readonly td: TagFunc; - readonly tfoot: TagFunc; - readonly th: TagFunc; - readonly thead: TagFunc; - readonly tr: TagFunc; - - // Forms - readonly button: TagFunc; - readonly datalist: TagFunc; - readonly fieldset: TagFunc; - readonly form: TagFunc; - readonly input: TagFunc; - readonly label: TagFunc; - readonly legend: TagFunc; - readonly meter: TagFunc; - readonly optgroup: TagFunc; - readonly option: TagFunc; - readonly output: TagFunc; - readonly progress: TagFunc; - readonly select: TagFunc; - readonly textarea: TagFunc; - - // Interactive elements - readonly details: TagFunc; - readonly dialog: TagFunc; - - // Web Components - readonly slot: TagFunc; - readonly template: TagFunc; -} +type Tags = Readonly>> & { + [K in keyof HTMLElementTagNameMap]: TagFunc; +}; declare function state(initVal: T): State; -declare function tagsNS(namespaceURI: string): TagsBase; +declare function tagsNS(namespaceURI: string): Tags; declare function bind(input: BindInput): HTMLElement; declare function derive(computed: () => T): ReadonlyState; declare function loop( From 29302524cfaf97c998fd8465753c94b357b7c1bc Mon Sep 17 00:00:00 2001 From: Frederic Heem Date: Mon, 21 Oct 2024 18:06:31 -0300 Subject: [PATCH 2/3] bento-grid init --- examples/bento-grid/.gitignore | 24 ++++++++++++++++++++++++ examples/bento-grid/.npmrc | 2 ++ examples/bento-grid/README.md | 23 +++++++++++++++++++++++ examples/bento-grid/index.html | 13 +++++++++++++ examples/bento-grid/main.js | 18 ++++++++++++++++++ examples/bento-grid/myComponent.js | 18 ++++++++++++++++++ examples/bento-grid/package.json | 17 +++++++++++++++++ examples/bento-grid/vite.config.js | 9 +++++++++ 8 files changed, 124 insertions(+) create mode 100644 examples/bento-grid/.gitignore create mode 100644 examples/bento-grid/.npmrc create mode 100644 examples/bento-grid/README.md create mode 100644 examples/bento-grid/index.html create mode 100644 examples/bento-grid/main.js create mode 100644 examples/bento-grid/myComponent.js create mode 100644 examples/bento-grid/package.json create mode 100644 examples/bento-grid/vite.config.js diff --git a/examples/bento-grid/.gitignore b/examples/bento-grid/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/examples/bento-grid/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/examples/bento-grid/.npmrc b/examples/bento-grid/.npmrc new file mode 100644 index 00000000..6b5f38e8 --- /dev/null +++ b/examples/bento-grid/.npmrc @@ -0,0 +1,2 @@ +save-exact = true +package-lock = false diff --git a/examples/bento-grid/README.md b/examples/bento-grid/README.md new file mode 100644 index 00000000..edc08973 --- /dev/null +++ b/examples/bento-grid/README.md @@ -0,0 +1,23 @@ +# Bau UI Javascript Template + +Minimal example for the Bau UI component library in Javascript. + +## Workflow + +Install the dependencies: + +```sh +npm install +``` + +Start a development server: + +```sh +npm run dev +``` + +Build a production version: + +```sh +npm run build +``` diff --git a/examples/bento-grid/index.html b/examples/bento-grid/index.html new file mode 100644 index 00000000..f4df4a7e --- /dev/null +++ b/examples/bento-grid/index.html @@ -0,0 +1,13 @@ + + + + + + + Bau App + + +
+ + + diff --git a/examples/bento-grid/main.js b/examples/bento-grid/main.js new file mode 100644 index 00000000..051feae5 --- /dev/null +++ b/examples/bento-grid/main.js @@ -0,0 +1,18 @@ +import { createContext } from "@grucloud/bau-ui/context"; +import myComponent from "./myComponent"; + +const context = createContext(); + +const app = (context) => { + const { bau, css } = context; + const { div } = bau.tags; + + const MyComponent = myComponent(context); + + return function () { + return div(MyComponent()); + }; +}; + +const App = app(context); +document.getElementById("app").replaceChildren(App()); diff --git a/examples/bento-grid/myComponent.js b/examples/bento-grid/myComponent.js new file mode 100644 index 00000000..6378f24b --- /dev/null +++ b/examples/bento-grid/myComponent.js @@ -0,0 +1,18 @@ +export default function (context) { + const { bau, css } = context; + const { h1, h2, p, article } = bau.tags; + + const className = css` + margin: 1rem; + border: 2px dotted grey; + `; + + return function myComponent() { + return article( + { class: className }, + h1("My Title"), + h2("My Subtitle"), + p("My paragraph") + ); + }; +} diff --git a/examples/bento-grid/package.json b/examples/bento-grid/package.json new file mode 100644 index 00000000..40a4ce1a --- /dev/null +++ b/examples/bento-grid/package.json @@ -0,0 +1,17 @@ +{ + "name": "bau-ui-template-js", + "private": true, + "version": "0.85.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "devDependencies": { + "vite": "^5.2.11" + }, + "dependencies": { + "@grucloud/bau-ui": "^0.85.0" + } +} diff --git a/examples/bento-grid/vite.config.js b/examples/bento-grid/vite.config.js new file mode 100644 index 00000000..41713bec --- /dev/null +++ b/examples/bento-grid/vite.config.js @@ -0,0 +1,9 @@ +import { defineConfig } from "vite"; + +export default defineConfig(({ command, mode, ssrBuild }) => { + return { + server: { + open: true, + }, + }; +}); From 446656fa9a21af996f000cda64076c8ebfcea08e Mon Sep 17 00:00:00 2001 From: Frederic Heem Date: Sat, 26 Oct 2024 14:23:46 -0300 Subject: [PATCH 3/3] bento grid --- examples/bento-grid/README.md | 4 +- examples/bento-grid/bentoGrid.js | 211 ++++++++++++++++++ examples/bento-grid/index.html | 14 +- examples/bento-grid/main.js | 18 +- examples/bento-grid/myComponent.js | 18 -- examples/bento-grid/package.json | 5 +- .../public/assets/images/favicon-32x32.png | Bin 0 -> 1063 bytes .../images/illustration-ai-content.webp | Bin 0 -> 10988 bytes .../images/illustration-audience-growth.webp | Bin 0 -> 6428 bytes .../illustration-consistent-schedule.webp | Bin 0 -> 4454 bytes .../images/illustration-create-post.webp | Bin 0 -> 3590 bytes .../images/illustration-five-stars.webp | Bin 0 -> 1440 bytes .../images/illustration-grow-followers.webp | Bin 0 -> 7580 bytes .../illustration-multiple-platforms.webp | Bin 0 -> 14528 bytes .../images/illustration-schedule-posts.webp | Bin 0 -> 10980 bytes examples/bento-grid/style.css | 24 ++ 16 files changed, 264 insertions(+), 30 deletions(-) create mode 100644 examples/bento-grid/bentoGrid.js delete mode 100644 examples/bento-grid/myComponent.js create mode 100644 examples/bento-grid/public/assets/images/favicon-32x32.png create mode 100644 examples/bento-grid/public/assets/images/illustration-ai-content.webp create mode 100644 examples/bento-grid/public/assets/images/illustration-audience-growth.webp create mode 100644 examples/bento-grid/public/assets/images/illustration-consistent-schedule.webp create mode 100644 examples/bento-grid/public/assets/images/illustration-create-post.webp create mode 100644 examples/bento-grid/public/assets/images/illustration-five-stars.webp create mode 100644 examples/bento-grid/public/assets/images/illustration-grow-followers.webp create mode 100644 examples/bento-grid/public/assets/images/illustration-multiple-platforms.webp create mode 100644 examples/bento-grid/public/assets/images/illustration-schedule-posts.webp create mode 100644 examples/bento-grid/style.css diff --git a/examples/bento-grid/README.md b/examples/bento-grid/README.md index edc08973..5d31be75 100644 --- a/examples/bento-grid/README.md +++ b/examples/bento-grid/README.md @@ -1,6 +1,6 @@ -# Bau UI Javascript Template +# FrontendMentor Bento Grid -Minimal example for the Bau UI component library in Javascript. +Here is the implementation in _Bau.js_ of the [Frontend Mentor Bento Grid code challenge](https://www.frontendmentor.io/challenges/bento-grid-RMydElrlOj) ## Workflow diff --git a/examples/bento-grid/bentoGrid.js b/examples/bento-grid/bentoGrid.js new file mode 100644 index 00000000..cbc13c3c --- /dev/null +++ b/examples/bento-grid/bentoGrid.js @@ -0,0 +1,211 @@ +export default function (context) { + const { bau, css } = context; + const { h1, picture, em, img, p, i, strong, article, section } = bau.tags; + + const className = css` + min-height: 95vh; + max-width: 900px; + display: grid; + gap: 1rem; + margin: 1rem; + grid-template-columns: 1fr 1fr 1fr 1fr; + grid-template-areas: + "section7 section1 section1 section4" + "section7 section2 section3 section4" + "section8 section2 section3 section4" + "section8 section6 section5 section5"; + + @media (max-width: 640px) { + grid-template-columns: 1fr; + grid-template-rows: auto; + grid-template-areas: "section1" "section2" "section3" "section4" "section5" "section6" "section7" "section8"; + } + + section { + background-color: var(--clr-white); + min-height: 100px; + min-width: 100px; + border-radius: 0.8rem; + padding: 1rem; + display: flex; + flex-direction: column; + gap: 1rem; + overflow: hidden; + h1 { + } + &.section1 { + grid-area: section1; + text-align: center; + background-color: var(--clr-primary-500); + color: var(--clr-white); + align-items: center; + h1 { + font-size: 2rem; + strong { + color: var(--clr-secondary-500); + } + } + img { + max-width: 200px; + } + } + &.section2 { + grid-area: section2; + } + + &.section3 { + background-color: var(--clr-secondary-500); + grid-area: section3; + padding-bottom: 0; + justify-content: space-between; + picture { + max-height: 100px; + overflow: hidden; + } + img { + max-width: 250px; + } + } + + &.section4 { + grid-area: section4; + background-color: var(--clr-primary-100); + display: flex; + justify-content: center; + align-items: flex-start; + @media (max-width: 640px) { + align-items: center; + } + + img { + max-height: 200px; + } + p { + font-size: smaller; + } + } + &.section5 { + grid-area: section5; + background-color: var(--clr-primary-500); + color: var(--clr-white); + display: flex; + align-items: center; + flex-direction: row; + @media (max-width: 640px) { + flex-direction: column; + } + img { + max-width: 200px; + max-height: 200px; + } + h1 { + text-align: center; + } + } + + &.section6 { + grid-area: section6; + h1 { + font-size: xx-large; + } + img { + max-width: 300px; + } + } + + &.section7 { + grid-area: section7; + background-color: var(--clr-secondary-100); + align-items: center; + h1 { + font-size: 1.7rem; + font-weight: 400; + } + img { + max-width: 150px; + } + em { + color: var(--clr-primary-500); + } + } + + &.section8 { + grid-area: section8; + background-color: var(--clr-secondary-500); + h1 { + font-size: 1.7rem; + font-weight: 400; + } + } + } + `; + + return function bentoGrid() { + return article( + { class: className }, + section( + { class: "section1" }, + h1("Social Media ", strong("10x"), i(" Faster"), " with AI"), + img({ + src: "./assets/images/illustration-five-stars.webp", + }), + p("Over 4,000 5-star reviews") + ), + section( + { class: "section2" }, + img({ + src: "./assets/images/illustration-multiple-platforms.webp", + }), + h1("Manage multiple accounts and platforms.") + ), + section( + { class: "section3" }, + h1("Maintain a consistent posting schedule."), + picture( + img({ + src: "./assets/images/illustration-consistent-schedule.webp", + }) + ) + ), + section( + { class: "section4" }, + h1("Schedule to social media."), + img({ + src: "./assets/images/illustration-schedule-posts.webp", + }), + p( + "Optimize post timings to publish content at the perfect time for your audience." + ) + ), + section( + { class: "section5" }, + img({ + src: "./assets/images/illustration-grow-followers.webp", + }), + h1("Grow followers with non-stop content.") + ), + section( + { class: "section6" }, + h1("> 56%"), + p("faster audience growth"), + img({ + src: "./assets/images/illustration-audience-growth.webp", + }) + ), + section( + { class: "section7" }, + h1("Create and schedule content ", em("quicker"), "."), + img({ + src: "./assets/images/illustration-create-post.webp", + }) + ), + section( + { class: "section8" }, + h1("Write your content using AI."), + img({ + src: "./assets/images/illustration-ai-content.webp", + }) + ) + ); + }; +} diff --git a/examples/bento-grid/index.html b/examples/bento-grid/index.html index f4df4a7e..4343cd6e 100644 --- a/examples/bento-grid/index.html +++ b/examples/bento-grid/index.html @@ -2,9 +2,19 @@ - + - Bau App + Frontend Mentor Bento Grid + + +
diff --git a/examples/bento-grid/main.js b/examples/bento-grid/main.js index 051feae5..c44debfe 100644 --- a/examples/bento-grid/main.js +++ b/examples/bento-grid/main.js @@ -1,16 +1,22 @@ -import { createContext } from "@grucloud/bau-ui/context"; -import myComponent from "./myComponent"; +import Bau from "@grucloud/bau"; +import BauCss from "@grucloud/bau-css"; +import bentoGrid from "./bentoGrid"; -const context = createContext(); +import "./style.css"; + +const context = { + bau: Bau(), + ...BauCss(), +}; const app = (context) => { const { bau, css } = context; - const { div } = bau.tags; + const { main } = bau.tags; - const MyComponent = myComponent(context); + const BentoGrid = bentoGrid(context); return function () { - return div(MyComponent()); + return main(BentoGrid()); }; }; diff --git a/examples/bento-grid/myComponent.js b/examples/bento-grid/myComponent.js deleted file mode 100644 index 6378f24b..00000000 --- a/examples/bento-grid/myComponent.js +++ /dev/null @@ -1,18 +0,0 @@ -export default function (context) { - const { bau, css } = context; - const { h1, h2, p, article } = bau.tags; - - const className = css` - margin: 1rem; - border: 2px dotted grey; - `; - - return function myComponent() { - return article( - { class: className }, - h1("My Title"), - h2("My Subtitle"), - p("My paragraph") - ); - }; -} diff --git a/examples/bento-grid/package.json b/examples/bento-grid/package.json index 40a4ce1a..d03f01dc 100644 --- a/examples/bento-grid/package.json +++ b/examples/bento-grid/package.json @@ -1,5 +1,5 @@ { - "name": "bau-ui-template-js", + "name": "frontendmentor-bentogrid", "private": true, "version": "0.85.0", "type": "module", @@ -12,6 +12,7 @@ "vite": "^5.2.11" }, "dependencies": { - "@grucloud/bau-ui": "^0.85.0" + "@grucloud/bau": "^0.85.0", + "@grucloud/bau-css": "^0.85.0" } } diff --git a/examples/bento-grid/public/assets/images/favicon-32x32.png b/examples/bento-grid/public/assets/images/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2df7f089f46dd930239e418bf13e8e4c1cca0f GIT binary patch literal 1063 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 literal 0 HcmV?d00001 diff --git a/examples/bento-grid/public/assets/images/illustration-audience-growth.webp b/examples/bento-grid/public/assets/images/illustration-audience-growth.webp new file mode 100644 index 0000000000000000000000000000000000000000..77d4600e3ce895b0470fc78f3aa36c0444300d3c GIT binary patch literal 6428 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 literal 0 HcmV?d00001 diff --git a/examples/bento-grid/public/assets/images/illustration-multiple-platforms.webp b/examples/bento-grid/public/assets/images/illustration-multiple-platforms.webp new file mode 100644 index 0000000000000000000000000000000000000000..0886632ea42764b1a8f51d8c031e9b11694dc358 GIT binary patch literal 14528 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 literal 0 HcmV?d00001 diff --git a/examples/bento-grid/public/assets/images/illustration-schedule-posts.webp b/examples/bento-grid/public/assets/images/illustration-schedule-posts.webp new file mode 100644 index 0000000000000000000000000000000000000000..27ed427c30b6315dde3a5207f873edc7cd160442 GIT binary patch literal 10980 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