@birdycom/omniaui-blocks 0.11.0 → 0.11.2

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.
Files changed (57) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +10 -10
  3. package/blocks/about-timeline.html +23 -23
  4. package/blocks/app-header.html +32 -32
  5. package/blocks/app-shell.html +84 -84
  6. package/blocks/auth-split.html +45 -45
  7. package/blocks/auth.html +21 -21
  8. package/blocks/contact-grid.html +38 -38
  9. package/blocks/cta.html +8 -8
  10. package/blocks/data-table.html +111 -111
  11. package/blocks/faq.html +33 -33
  12. package/blocks/features.html +18 -18
  13. package/blocks/footer.html +41 -41
  14. package/blocks/forgot-password.html +34 -34
  15. package/blocks/form-page.html +28 -28
  16. package/blocks/hero-code.html +27 -27
  17. package/blocks/hero-orbit.html +38 -38
  18. package/blocks/hero-split.html +12 -12
  19. package/blocks/hero.html +10 -10
  20. package/blocks/login-01.html +41 -41
  21. package/blocks/login-02.html +55 -55
  22. package/blocks/login-03.html +47 -47
  23. package/blocks/module-header.html +24 -24
  24. package/blocks/otp-01.html +36 -36
  25. package/blocks/otp-02.html +46 -46
  26. package/blocks/page-hero.html +10 -10
  27. package/blocks/portfolio-grid.html +31 -31
  28. package/blocks/pricing.html +42 -42
  29. package/blocks/process.html +19 -19
  30. package/blocks/product-grid.html +37 -37
  31. package/blocks/profile-header.html +27 -27
  32. package/blocks/reset-password.html +45 -45
  33. package/blocks/showcase.html +27 -27
  34. package/blocks/sidebar-01.html +56 -56
  35. package/blocks/sidebar-02.html +55 -55
  36. package/blocks/sidebar-03.html +53 -53
  37. package/blocks/sidebar-04.html +56 -56
  38. package/blocks/sidebar-05.html +68 -68
  39. package/blocks/signup-01.html +53 -53
  40. package/blocks/signup-02.html +56 -56
  41. package/blocks/site-footer.html +39 -39
  42. package/blocks/site-header.html +14 -14
  43. package/blocks/spotlight.html +22 -22
  44. package/blocks/stats-counter.html +15 -15
  45. package/blocks/stats.html +19 -19
  46. package/blocks/team-list.html +30 -30
  47. package/blocks/two-factor.html +33 -33
  48. package/blocks/wizard-dialog.html +36 -36
  49. package/dist/blocks.css +371 -343
  50. package/dist/blocks.min.css +1 -1
  51. package/dist/parts/site-about-timeline.css +61 -61
  52. package/dist/parts/site-contact-grid.css +58 -58
  53. package/dist/parts/site-faq.css +52 -52
  54. package/dist/parts/site-hero-orbit.css +62 -62
  55. package/dist/parts/site-portfolio-grid.css +23 -23
  56. package/dist/parts/site-profile-header.css +77 -77
  57. package/package.json +55 -55
@@ -1,68 +1,68 @@
1
- <!-- OmniaUI block: sidebar-05 - Menu items that expand a submenu with details and summary. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
- Class API (modifiers are extra classes / attributes on the same element):
3
- .oc-block-sb: Frame: grid of sidebar + main. Height via --oc-block-sb-height. Modifiers: --right, --both, --double, --floating, --inset
4
- .oc-block-sb-main / -bar / -body: Main column, top bar (modifier --sticky) and placeholder body (modifier --scroll)
5
- .oc-block-sb-ph: Content placeholder block (replace with real content)
6
- .oc-block-sb-toggle: Hidden checkbox: its label collapses the sidebar to icons (CSS only, :has())
7
- .oc-block-sb-group: details element that makes a sidebar group label collapsible
8
- .oc-block-sb-rail: Narrow icon rail for the double sidebar
9
- .oc-block-sb-tile / -sub: Square brand tile and small secondary line inside a menu button
10
- .oc-sidebar: The sidebar component (modifiers --collapsed, --right, --floating); see Sidebar
11
- -->
12
- <div class="oc-block-sb">
13
- <aside class="oc-sidebar" aria-label="Main navigation">
14
- <div class="oc-sidebar-header">
15
- <a class="oc-sidebar-menu-button oc-sidebar-menu-button--lg" href="#">
16
- <span class="oc-block-sb-tile"><svg class="" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/></svg></span>
17
- <span class="oc-sidebar-menu-label"><strong>Documentation</strong><span class="oc-block-sb-sub">v1.0.0</span></span>
18
- </a>
19
- </div>
20
- <div class="oc-sidebar-content">
21
- <div class="oc-sidebar-group">
22
- <div class="oc-sidebar-group-label">Platform</div>
23
- <ul class="oc-sidebar-menu">
24
- <li>
25
- <details class="oc-sidebar-collapsible" open>
26
- <summary class="oc-sidebar-menu-button"><svg class="oc-sidebar-menu-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 11l9-8 9 8v10a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z"/></svg><span class="oc-sidebar-menu-label">Dashboard</span></summary>
27
- <ul class="oc-sidebar-menu-sub">
28
- <li><a class="oc-sidebar-menu-button" href="#">Overview</a></li>
29
- <li><a class="oc-sidebar-menu-button" href="#">Analytics</a></li>
30
- <li><a class="oc-sidebar-menu-button" href="#">Reports</a></li>
31
- </ul>
32
- </details>
33
- </li>
34
- <li>
35
- <details class="oc-sidebar-collapsible">
36
- <summary class="oc-sidebar-menu-button"><svg class="oc-sidebar-menu-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6a2 2 0 0 1 2-2h4l2 3h8a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/></svg><span class="oc-sidebar-menu-label">Projects</span></summary>
37
- <ul class="oc-sidebar-menu-sub">
38
- <li><a class="oc-sidebar-menu-button" href="#">Active</a></li>
39
- <li><a class="oc-sidebar-menu-button" href="#">Archived</a></li>
40
- </ul>
41
- </details>
42
- </li>
43
- <li>
44
- <details class="oc-sidebar-collapsible">
45
- <summary class="oc-sidebar-menu-button"><svg class="oc-sidebar-menu-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="8" r="4"/><path d="M2 21c0-4 3-6 7-6s7 2 7 6"/></svg><span class="oc-sidebar-menu-label">Team</span></summary>
46
- <ul class="oc-sidebar-menu-sub">
47
- <li><a class="oc-sidebar-menu-button" href="#">Members</a></li>
48
- <li><a class="oc-sidebar-menu-button" href="#">Roles</a></li>
49
- <li><a class="oc-sidebar-menu-button" href="#">Invitations</a></li>
50
- </ul>
51
- </details>
52
- </li>
53
- </ul>
54
- </div>
55
- </div>
56
- </aside>
57
- <div class="oc-block-sb-main">
58
- <header class="oc-block-sb-bar">
59
- <span class="oc-btn oc-btn--ghost oc-btn--icon oc-btn--sm" aria-hidden="true"><svg class="" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M9 4v16"/></svg></span>
60
- <span class="oc-block-sb-sep"></span>
61
- <nav aria-label="Breadcrumb"><ol class="oc-breadcrumb"><li class="oc-breadcrumb-item"><a href="#">Building</a></li><li class="oc-breadcrumb-item" aria-current="page">Overview</li></ol></nav>
62
- </header>
63
- <div class="oc-block-sb-body">
64
- <div class="oc-block-sb-ph"></div><div class="oc-block-sb-ph"></div><div class="oc-block-sb-ph"></div>
65
- <div class="oc-block-sb-ph oc-block-sb-ph--wide"></div>
66
- </div>
67
- </div>
68
- </div>
1
+ <!-- OmniaUI block: sidebar-05 - Menu items that expand a submenu with details and summary. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
+ Class API (modifiers are extra classes / attributes on the same element):
3
+ .oc-block-sb: Frame: grid of sidebar + main. Height via --oc-block-sb-height. Modifiers: --right, --both, --double, --floating, --inset
4
+ .oc-block-sb-main / -bar / -body: Main column, top bar (modifier --sticky) and placeholder body (modifier --scroll)
5
+ .oc-block-sb-ph: Content placeholder block (replace with real content)
6
+ .oc-block-sb-toggle: Hidden checkbox: its label collapses the sidebar to icons (CSS only, :has())
7
+ .oc-block-sb-group: details element that makes a sidebar group label collapsible
8
+ .oc-block-sb-rail: Narrow icon rail for the double sidebar
9
+ .oc-block-sb-tile / -sub: Square brand tile and small secondary line inside a menu button
10
+ .oc-sidebar: The sidebar component (modifiers --collapsed, --right, --floating); see Sidebar
11
+ -->
12
+ <div class="oc-block-sb">
13
+ <aside class="oc-sidebar" aria-label="Main navigation">
14
+ <div class="oc-sidebar-header">
15
+ <a class="oc-sidebar-menu-button oc-sidebar-menu-button--lg" href="#">
16
+ <span class="oc-block-sb-tile"><svg class="" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/></svg></span>
17
+ <span class="oc-sidebar-menu-label"><strong>Documentation</strong><span class="oc-block-sb-sub">v1.0.0</span></span>
18
+ </a>
19
+ </div>
20
+ <div class="oc-sidebar-content">
21
+ <div class="oc-sidebar-group">
22
+ <div class="oc-sidebar-group-label">Platform</div>
23
+ <ul class="oc-sidebar-menu">
24
+ <li>
25
+ <details class="oc-sidebar-collapsible" open>
26
+ <summary class="oc-sidebar-menu-button"><svg class="oc-sidebar-menu-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 11l9-8 9 8v10a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z"/></svg><span class="oc-sidebar-menu-label">Dashboard</span></summary>
27
+ <ul class="oc-sidebar-menu-sub">
28
+ <li><a class="oc-sidebar-menu-button" href="#">Overview</a></li>
29
+ <li><a class="oc-sidebar-menu-button" href="#">Analytics</a></li>
30
+ <li><a class="oc-sidebar-menu-button" href="#">Reports</a></li>
31
+ </ul>
32
+ </details>
33
+ </li>
34
+ <li>
35
+ <details class="oc-sidebar-collapsible">
36
+ <summary class="oc-sidebar-menu-button"><svg class="oc-sidebar-menu-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6a2 2 0 0 1 2-2h4l2 3h8a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/></svg><span class="oc-sidebar-menu-label">Projects</span></summary>
37
+ <ul class="oc-sidebar-menu-sub">
38
+ <li><a class="oc-sidebar-menu-button" href="#">Active</a></li>
39
+ <li><a class="oc-sidebar-menu-button" href="#">Archived</a></li>
40
+ </ul>
41
+ </details>
42
+ </li>
43
+ <li>
44
+ <details class="oc-sidebar-collapsible">
45
+ <summary class="oc-sidebar-menu-button"><svg class="oc-sidebar-menu-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="8" r="4"/><path d="M2 21c0-4 3-6 7-6s7 2 7 6"/></svg><span class="oc-sidebar-menu-label">Team</span></summary>
46
+ <ul class="oc-sidebar-menu-sub">
47
+ <li><a class="oc-sidebar-menu-button" href="#">Members</a></li>
48
+ <li><a class="oc-sidebar-menu-button" href="#">Roles</a></li>
49
+ <li><a class="oc-sidebar-menu-button" href="#">Invitations</a></li>
50
+ </ul>
51
+ </details>
52
+ </li>
53
+ </ul>
54
+ </div>
55
+ </div>
56
+ </aside>
57
+ <div class="oc-block-sb-main">
58
+ <header class="oc-block-sb-bar">
59
+ <span class="oc-btn oc-btn--ghost oc-btn--icon oc-btn--sm" aria-hidden="true"><svg class="" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M9 4v16"/></svg></span>
60
+ <span class="oc-block-sb-sep"></span>
61
+ <nav aria-label="Breadcrumb"><ol class="oc-breadcrumb"><li class="oc-breadcrumb-item"><a href="#">Building</a></li><li class="oc-breadcrumb-item" aria-current="page">Overview</li></ol></nav>
62
+ </header>
63
+ <div class="oc-block-sb-body">
64
+ <div class="oc-block-sb-ph"></div><div class="oc-block-sb-ph"></div><div class="oc-block-sb-ph"></div>
65
+ <div class="oc-block-sb-ph oc-block-sb-ph--wide"></div>
66
+ </div>
67
+ </div>
68
+ </div>
@@ -1,53 +1,53 @@
1
- <!-- OmniaUI block: signup-01 - Create-account card with name, e-mail, password and confirmation. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
- Class API (modifiers are extra classes / attributes on the same element):
3
- .oc-block-authpage: Page wrapper that centers one card. Modifier: --plain (page background instead of muted)
4
- .oc-block-authcard: Card column. Modifiers: --flat (no card chrome), --wide
5
- .oc-block-authcard-logo: Icon tile above the title
6
- .oc-block-authcard-head / -title / -text: Centered heading block, title and description
7
- .oc-block-authcard-fields / -row: Field stack and a justified row (remember me / forgot password)
8
- .oc-block-authcard-submit: Full-width submit button
9
- .oc-block-authcard-foot / -legal / -hint: Switch-form line, legal line, small helper text
10
- .oc-block-authcard-center: Centered column (OTP input)
11
- .oc-block-authsocial: Auto-fit grid of social buttons
12
- .oc-block-authduo: Split layout root (container query: two columns from 42rem of its own width). Modifier: --reverse
13
- .oc-block-authduo-grid / -panel / -form: Grid, brand panel (modifiers --image, --muted) and form column
14
- .oc-block-authduo-logo / -quote: Panel logo and quote
15
- .oc-block-authmin: Minimal centered column without a card
16
- .oc-separator-text: Divider with centered text (separator component)
17
- -->
18
- <div class="oc-block-authpage oc-block-authpage--plain">
19
- <form class="oc-block-authcard" action="#" method="post">
20
- <span class="oc-block-authcard-logo"><svg class="" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/></svg></span>
21
- <div class="oc-block-authcard-head">
22
- <h1 class="oc-block-authcard-title">Create an account</h1>
23
- <p class="oc-block-authcard-text">Enter your information to get started</p>
24
- </div>
25
- <div class="oc-block-authcard-fields">
26
- <div class="oc-field">
27
- <label class="oc-field-label" for="oc-signup01-name">Full name</label>
28
- <input class="oc-input" id="oc-signup01-name" name="text" type="text" autocomplete="name" required placeholder="Ada Lovelace">
29
- </div>
30
- <div class="oc-field">
31
- <label class="oc-field-label" for="oc-signup01-email">E-mail</label>
32
- <input class="oc-input" id="oc-signup01-email" name="email" type="email" autocomplete="email" required placeholder="name@company.com">
33
- </div>
34
- <div class="oc-field">
35
- <label class="oc-field-label" for="oc-signup01-password">Password</label>
36
- <div class="oc-input-reveal">
37
- <input class="oc-input" id="oc-signup01-password" name="oc-signup01-password" type="password" autocomplete="new-password" required>
38
- <button class="oc-input-reveal-button" type="button" aria-pressed="false" aria-label="Toggle password visibility">Show</button>
39
- </div>
40
- </div>
41
- <div class="oc-field">
42
- <label class="oc-field-label" for="oc-signup01-confirm">Confirm password</label>
43
- <div class="oc-input-reveal">
44
- <input class="oc-input" id="oc-signup01-confirm" name="oc-signup01-confirm" type="password" autocomplete="new-password" required>
45
- <button class="oc-input-reveal-button" type="button" aria-pressed="false" aria-label="Toggle password visibility">Show</button>
46
- </div>
47
- </div>
48
- <p class="oc-block-authcard-hint">Must be at least 8 characters long.</p>
49
- <button class="oc-btn oc-block-authcard-submit" type="submit">Create account</button>
50
- </div>
51
- <p class="oc-block-authcard-foot">Already have an account? <a href="#">Sign in</a></p>
52
- </form>
53
- </div>
1
+ <!-- OmniaUI block: signup-01 - Create-account card with name, e-mail, password and confirmation. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
+ Class API (modifiers are extra classes / attributes on the same element):
3
+ .oc-block-authpage: Page wrapper that centers one card. Modifier: --plain (page background instead of muted)
4
+ .oc-block-authcard: Card column. Modifiers: --flat (no card chrome), --wide
5
+ .oc-block-authcard-logo: Icon tile above the title
6
+ .oc-block-authcard-head / -title / -text: Centered heading block, title and description
7
+ .oc-block-authcard-fields / -row: Field stack and a justified row (remember me / forgot password)
8
+ .oc-block-authcard-submit: Full-width submit button
9
+ .oc-block-authcard-foot / -legal / -hint: Switch-form line, legal line, small helper text
10
+ .oc-block-authcard-center: Centered column (OTP input)
11
+ .oc-block-authsocial: Auto-fit grid of social buttons
12
+ .oc-block-authduo: Split layout root (container query: two columns from 42rem of its own width). Modifier: --reverse
13
+ .oc-block-authduo-grid / -panel / -form: Grid, brand panel (modifiers --image, --muted, --photo with style="--oc-authduo-photo: url(…)") and form column
14
+ .oc-block-authduo-logo / -quote: Panel logo and quote
15
+ .oc-block-authmin: Minimal centered column without a card
16
+ .oc-separator-text: Divider with centered text (separator component)
17
+ -->
18
+ <div class="oc-block-authpage oc-block-authpage--plain">
19
+ <form class="oc-block-authcard" action="#" method="post">
20
+ <span class="oc-block-authcard-logo"><svg class="" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/></svg></span>
21
+ <div class="oc-block-authcard-head">
22
+ <h1 class="oc-block-authcard-title">Create an account</h1>
23
+ <p class="oc-block-authcard-text">Enter your information to get started</p>
24
+ </div>
25
+ <div class="oc-block-authcard-fields">
26
+ <div class="oc-field">
27
+ <label class="oc-field-label" for="oc-signup01-name">Full name</label>
28
+ <input class="oc-input" id="oc-signup01-name" name="text" type="text" autocomplete="name" required placeholder="Ada Lovelace">
29
+ </div>
30
+ <div class="oc-field">
31
+ <label class="oc-field-label" for="oc-signup01-email">E-mail</label>
32
+ <input class="oc-input" id="oc-signup01-email" name="email" type="email" autocomplete="email" required placeholder="name@company.com">
33
+ </div>
34
+ <div class="oc-field">
35
+ <label class="oc-field-label" for="oc-signup01-password">Password</label>
36
+ <div class="oc-input-reveal">
37
+ <input class="oc-input" id="oc-signup01-password" name="oc-signup01-password" type="password" autocomplete="new-password" required>
38
+ <button class="oc-input-reveal-button" type="button" aria-pressed="false" aria-label="Toggle password visibility">Show</button>
39
+ </div>
40
+ </div>
41
+ <div class="oc-field">
42
+ <label class="oc-field-label" for="oc-signup01-confirm">Confirm password</label>
43
+ <div class="oc-input-reveal">
44
+ <input class="oc-input" id="oc-signup01-confirm" name="oc-signup01-confirm" type="password" autocomplete="new-password" required>
45
+ <button class="oc-input-reveal-button" type="button" aria-pressed="false" aria-label="Toggle password visibility">Show</button>
46
+ </div>
47
+ </div>
48
+ <p class="oc-block-authcard-hint">Must be at least 8 characters long.</p>
49
+ <button class="oc-btn oc-block-authcard-submit" type="submit">Create account</button>
50
+ </div>
51
+ <p class="oc-block-authcard-foot">Already have an account? <a href="#">Sign in</a></p>
52
+ </form>
53
+ </div>
@@ -1,56 +1,56 @@
1
- <!-- OmniaUI block: signup-02 - Registration form next to a brand panel with a quote; the panel hides on narrow containers. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
- Class API (modifiers are extra classes / attributes on the same element):
3
- .oc-block-authpage: Page wrapper that centers one card. Modifier: --plain (page background instead of muted)
4
- .oc-block-authcard: Card column. Modifiers: --flat (no card chrome), --wide
5
- .oc-block-authcard-logo: Icon tile above the title
6
- .oc-block-authcard-head / -title / -text: Centered heading block, title and description
7
- .oc-block-authcard-fields / -row: Field stack and a justified row (remember me / forgot password)
8
- .oc-block-authcard-submit: Full-width submit button
9
- .oc-block-authcard-foot / -legal / -hint: Switch-form line, legal line, small helper text
10
- .oc-block-authcard-center: Centered column (OTP input)
11
- .oc-block-authsocial: Auto-fit grid of social buttons
12
- .oc-block-authduo: Split layout root (container query: two columns from 42rem of its own width). Modifier: --reverse
13
- .oc-block-authduo-grid / -panel / -form: Grid, brand panel (modifiers --image, --muted) and form column
14
- .oc-block-authduo-logo / -quote: Panel logo and quote
15
- .oc-block-authmin: Minimal centered column without a card
16
- .oc-separator-text: Divider with centered text (separator component)
17
- -->
18
- <div class="oc-block-authduo oc-block-authduo--reverse">
19
- <div class="oc-block-authduo-grid">
20
- <aside class="oc-block-authduo-panel oc-block-authduo-panel--image">
21
- <a class="oc-block-authduo-logo" href="#"><svg class="" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/></svg> OmniaDesk</a>
22
- <blockquote class="oc-block-authduo-quote">
23
- <p>&ldquo;Setup took ten minutes and the whole team was on board by lunch.&rdquo;</p>
24
- <footer>Mina Park, product manager</footer>
25
- </blockquote>
26
- </aside>
27
- <div class="oc-block-authduo-form">
28
- <form class="oc-block-authcard oc-block-authcard--flat" action="#" method="post">
29
- <div class="oc-block-authcard-head">
30
- <h1 class="oc-block-authcard-title">Create your account</h1>
31
- <p class="oc-block-authcard-text">Free for 14 days, no card needed</p>
32
- </div>
33
- <div class="oc-block-authcard-fields">
34
- <div class="oc-field">
35
- <label class="oc-field-label" for="oc-signup02-name">Full name</label>
36
- <input class="oc-input" id="oc-signup02-name" name="text" type="text" autocomplete="name" required placeholder="Ada Lovelace">
37
- </div>
38
- <div class="oc-field">
39
- <label class="oc-field-label" for="oc-signup02-email">E-mail</label>
40
- <input class="oc-input" id="oc-signup02-email" name="email" type="email" autocomplete="email" required placeholder="name@company.com">
41
- </div>
42
- <div class="oc-field">
43
- <label class="oc-field-label" for="oc-signup02-password">Password</label>
44
- <div class="oc-input-reveal">
45
- <input class="oc-input" id="oc-signup02-password" name="oc-signup02-password" type="password" autocomplete="new-password" required>
46
- <button class="oc-input-reveal-button" type="button" aria-pressed="false" aria-label="Toggle password visibility">Show</button>
47
- </div>
48
- </div>
49
- <label><input class="oc-checkbox" type="checkbox" name="terms" required> I agree to the <a class="oc-link" href="#">terms</a></label>
50
- <button class="oc-btn oc-block-authcard-submit" type="submit">Create account</button>
51
- </div>
52
- <p class="oc-block-authcard-foot">Already registered? <a href="#">Sign in</a></p>
53
- </form>
54
- </div>
55
- </div>
56
- </div>
1
+ <!-- OmniaUI block: signup-02 - Registration form next to a brand panel with a quote; the panel hides on narrow containers. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
+ Class API (modifiers are extra classes / attributes on the same element):
3
+ .oc-block-authpage: Page wrapper that centers one card. Modifier: --plain (page background instead of muted)
4
+ .oc-block-authcard: Card column. Modifiers: --flat (no card chrome), --wide
5
+ .oc-block-authcard-logo: Icon tile above the title
6
+ .oc-block-authcard-head / -title / -text: Centered heading block, title and description
7
+ .oc-block-authcard-fields / -row: Field stack and a justified row (remember me / forgot password)
8
+ .oc-block-authcard-submit: Full-width submit button
9
+ .oc-block-authcard-foot / -legal / -hint: Switch-form line, legal line, small helper text
10
+ .oc-block-authcard-center: Centered column (OTP input)
11
+ .oc-block-authsocial: Auto-fit grid of social buttons
12
+ .oc-block-authduo: Split layout root (container query: two columns from 42rem of its own width). Modifier: --reverse
13
+ .oc-block-authduo-grid / -panel / -form: Grid, brand panel (modifiers --image, --muted, --photo with style="--oc-authduo-photo: url(…)") and form column
14
+ .oc-block-authduo-logo / -quote: Panel logo and quote
15
+ .oc-block-authmin: Minimal centered column without a card
16
+ .oc-separator-text: Divider with centered text (separator component)
17
+ -->
18
+ <div class="oc-block-authduo oc-block-authduo--reverse">
19
+ <div class="oc-block-authduo-grid">
20
+ <aside class="oc-block-authduo-panel oc-block-authduo-panel--image">
21
+ <a class="oc-block-authduo-logo" href="#"><svg class="" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/></svg> OmniaDesk</a>
22
+ <blockquote class="oc-block-authduo-quote">
23
+ <p>&ldquo;Setup took ten minutes and the whole team was on board by lunch.&rdquo;</p>
24
+ <footer>Mina Park, product manager</footer>
25
+ </blockquote>
26
+ </aside>
27
+ <div class="oc-block-authduo-form">
28
+ <form class="oc-block-authcard oc-block-authcard--flat" action="#" method="post">
29
+ <div class="oc-block-authcard-head">
30
+ <h1 class="oc-block-authcard-title">Create your account</h1>
31
+ <p class="oc-block-authcard-text">Free for 14 days, no card needed</p>
32
+ </div>
33
+ <div class="oc-block-authcard-fields">
34
+ <div class="oc-field">
35
+ <label class="oc-field-label" for="oc-signup02-name">Full name</label>
36
+ <input class="oc-input" id="oc-signup02-name" name="text" type="text" autocomplete="name" required placeholder="Ada Lovelace">
37
+ </div>
38
+ <div class="oc-field">
39
+ <label class="oc-field-label" for="oc-signup02-email">E-mail</label>
40
+ <input class="oc-input" id="oc-signup02-email" name="email" type="email" autocomplete="email" required placeholder="name@company.com">
41
+ </div>
42
+ <div class="oc-field">
43
+ <label class="oc-field-label" for="oc-signup02-password">Password</label>
44
+ <div class="oc-input-reveal">
45
+ <input class="oc-input" id="oc-signup02-password" name="oc-signup02-password" type="password" autocomplete="new-password" required>
46
+ <button class="oc-input-reveal-button" type="button" aria-pressed="false" aria-label="Toggle password visibility">Show</button>
47
+ </div>
48
+ </div>
49
+ <label><input class="oc-checkbox" type="checkbox" name="terms" required> I agree to the <a class="oc-link" href="#">terms</a></label>
50
+ <button class="oc-btn oc-block-authcard-submit" type="submit">Create account</button>
51
+ </div>
52
+ <p class="oc-block-authcard-foot">Already registered? <a href="#">Sign in</a></p>
53
+ </form>
54
+ </div>
55
+ </div>
56
+ </div>
@@ -1,39 +1,39 @@
1
- <!-- OmniaUI block: site-footer — Brand column, three link columns and a bottom bar. Needs @birdycom/omniaui. -->
2
- <footer class="oc-site-footer">
3
- <div class="oc-container">
4
- <div class="oc-site-footer__grid">
5
- <div class="oc-site-footer__about">
6
- <a class="oc-site-header__brand" href="/"><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9670;</span>brandco</a>
7
- <p>Software development since 2001: web applications, desktop tools and plugins, built and maintained in-house.</p>
8
- </div>
9
- <div>
10
- <h2 class="oc-site-footer__title">Software</h2>
11
- <ul class="oc-site-footer__list">
12
- <li><a href="#">ERP</a></li>
13
- <li><a href="#">CSS framework</a></li>
14
- <li><a href="#">Desktop tools</a></li>
15
- </ul>
16
- </div>
17
- <div>
18
- <h2 class="oc-site-footer__title">Company</h2>
19
- <ul class="oc-site-footer__list">
20
- <li><a href="#">Work</a></li>
21
- <li><a href="#">Services</a></li>
22
- <li><a href="#">About</a></li>
23
- </ul>
24
- </div>
25
- <div>
26
- <h2 class="oc-site-footer__title">Contact</h2>
27
- <address class="oc-site-footer__list">
28
- <a href="mailto:hello@example.com">hello@example.com</a>
29
- <span>Main street 1</span>
30
- <span>2530 Boechout</span>
31
- </address>
32
- </div>
33
- </div>
34
- <div class="oc-site-footer__bottom">
35
- <span>&copy; 2026 brandco. All rights reserved.</span>
36
- <span>Built with OmniaCSS</span>
37
- </div>
38
- </div>
39
- </footer>
1
+ <!-- OmniaUI block: site-footer — Brand column, three link columns and a bottom bar. Needs @birdycom/omniaui. -->
2
+ <footer class="oc-site-footer">
3
+ <div class="oc-container">
4
+ <div class="oc-site-footer__grid">
5
+ <div class="oc-site-footer__about">
6
+ <a class="oc-site-header__brand" href="/"><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9670;</span>brandco</a>
7
+ <p>Software development since 2001: web applications, desktop tools and plugins, built and maintained in-house.</p>
8
+ </div>
9
+ <div>
10
+ <h2 class="oc-site-footer__title">Software</h2>
11
+ <ul class="oc-site-footer__list">
12
+ <li><a href="#">ERP</a></li>
13
+ <li><a href="#">CSS framework</a></li>
14
+ <li><a href="#">Desktop tools</a></li>
15
+ </ul>
16
+ </div>
17
+ <div>
18
+ <h2 class="oc-site-footer__title">Company</h2>
19
+ <ul class="oc-site-footer__list">
20
+ <li><a href="#">Work</a></li>
21
+ <li><a href="#">Services</a></li>
22
+ <li><a href="#">About</a></li>
23
+ </ul>
24
+ </div>
25
+ <div>
26
+ <h2 class="oc-site-footer__title">Contact</h2>
27
+ <address class="oc-site-footer__list">
28
+ <a href="mailto:hello@example.com">hello@example.com</a>
29
+ <span>Main street 1</span>
30
+ <span>2530 Boechout</span>
31
+ </address>
32
+ </div>
33
+ </div>
34
+ <div class="oc-site-footer__bottom">
35
+ <span>&copy; 2026 brandco. All rights reserved.</span>
36
+ <span>Built with OmniaCSS</span>
37
+ </div>
38
+ </div>
39
+ </footer>
@@ -1,14 +1,14 @@
1
- <!-- OmniaUI block: site-header — Sticky header that turns into glass after scrolling; mobile menu via popover. No JavaScript. Needs @birdycom/omniaui. -->
2
- <header class="oc-site-header">
3
- <div class="oc-container oc-site-header__inner">
4
- <a class="oc-site-header__brand" href="/"><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9670;</span>brand<span class="oc-text-gradient">co</span></a>
5
- <button class="oc-site-header__toggle" popovertarget="site-nav" aria-label="Menu">&#9776;</button>
6
- <nav class="oc-site-header__nav" id="site-nav" popover aria-label="Main">
7
- <a href="#software" aria-current="page">Software</a>
8
- <a href="#work">Work</a>
9
- <a href="#services">Services</a>
10
- <a href="#about">About</a>
11
- <a class="oc-btn oc-btn--gradient oc-btn--sm" href="#contact">Start a project</a>
12
- </nav>
13
- </div>
14
- </header>
1
+ <!-- OmniaUI block: site-header — Sticky header that turns into glass after scrolling; mobile menu via popover. No JavaScript. Needs @birdycom/omniaui. -->
2
+ <header class="oc-site-header">
3
+ <div class="oc-container oc-site-header__inner">
4
+ <a class="oc-site-header__brand" href="/"><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9670;</span>brand<span class="oc-text-gradient">co</span></a>
5
+ <button class="oc-site-header__toggle" popovertarget="site-nav" aria-label="Menu">&#9776;</button>
6
+ <nav class="oc-site-header__nav" id="site-nav" popover aria-label="Main">
7
+ <a href="#software" aria-current="page">Software</a>
8
+ <a href="#work">Work</a>
9
+ <a href="#services">Services</a>
10
+ <a href="#about">About</a>
11
+ <a class="oc-btn oc-btn--gradient oc-btn--sm" href="#contact">Start a project</a>
12
+ </nav>
13
+ </div>
14
+ </header>
@@ -1,22 +1,22 @@
1
- <!-- OmniaUI block: spotlight — Highlighted flagship product: badge, big title with icon tile, tagline, copy, button and a module list. Needs @birdycom/omniaui. -->
2
- <section class="oc-section-pad">
3
- <div class="oc-container">
4
- <div class="oc-spotlight oc-accent--green">
5
- <div>
6
- <span class="oc-pill oc-pill--accent"><span class="oc-status-dot"></span>Our flagship</span>
7
- <h2 class="oc-spotlight__title"><span class="oc-icon-tile oc-icon-tile--lg" aria-hidden="true">&#9670;</span>OmniaDesk</h2>
8
- <p class="oc-spotlight__tagline">The modular ERP for small businesses</p>
9
- <p class="oc-lead">One web application for CRM, sales, invoicing, bookkeeping and stock - built from integrated modules, so your data never lives on separate islands again.</p>
10
- <a class="oc-btn oc-btn--gradient oc-btn--lg" href="#">Discover OmniaDesk &rarr;</a>
11
- </div>
12
- <ul class="oc-spotlight__modules">
13
- <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9787;</span>CRM &amp; contacts</li>
14
- <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#8364;</span>Sales &amp; invoicing</li>
15
- <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9636;</span>Finance</li>
16
- <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9635;</span>Stock &amp; catalogue</li>
17
- <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9776;</span>Powerful lists</li>
18
- <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9737;</span>Secure by design</li>
19
- </ul>
20
- </div>
21
- </div>
22
- </section>
1
+ <!-- OmniaUI block: spotlight — Highlighted flagship product: badge, big title with icon tile, tagline, copy, button and a module list. Needs @birdycom/omniaui. -->
2
+ <section class="oc-section-pad">
3
+ <div class="oc-container">
4
+ <div class="oc-spotlight oc-accent--green">
5
+ <div>
6
+ <span class="oc-pill oc-pill--accent"><span class="oc-status-dot"></span>Our flagship</span>
7
+ <h2 class="oc-spotlight__title"><span class="oc-icon-tile oc-icon-tile--lg" aria-hidden="true">&#9670;</span>OmniaDesk</h2>
8
+ <p class="oc-spotlight__tagline">The modular ERP for small businesses</p>
9
+ <p class="oc-lead">One web application for CRM, sales, invoicing, bookkeeping and stock - built from integrated modules, so your data never lives on separate islands again.</p>
10
+ <a class="oc-btn oc-btn--gradient oc-btn--lg" href="#">Discover OmniaDesk &rarr;</a>
11
+ </div>
12
+ <ul class="oc-spotlight__modules">
13
+ <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9787;</span>CRM &amp; contacts</li>
14
+ <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#8364;</span>Sales &amp; invoicing</li>
15
+ <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9636;</span>Finance</li>
16
+ <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9635;</span>Stock &amp; catalogue</li>
17
+ <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9776;</span>Powerful lists</li>
18
+ <li><span class="oc-icon-tile oc-icon-tile--sm" aria-hidden="true">&#9737;</span>Secure by design</li>
19
+ </ul>
20
+ </div>
21
+ </div>
22
+ </section>
@@ -1,15 +1,15 @@
1
- <!-- OmniaUI block: stats-counter — Key figures that count up when they scroll into view (CSS only). Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS. -->
2
- <div class="oc-block-stats">
3
- <div class="oc-block-stat">
4
- <strong class="oc-block-stat-value oc-counter oc-counter--on-view" style="--oc-counter-to: 640; --oc-counter-suffix: '+'"></strong>
5
- <span class="oc-block-stat-label">Utility families</span>
6
- </div>
7
- <div class="oc-block-stat">
8
- <strong class="oc-block-stat-value oc-counter oc-counter--on-view" style="--oc-counter-to: 98; --oc-counter-suffix: '%'"></strong>
9
- <span class="oc-block-stat-label">Smaller CSS on demand</span>
10
- </div>
11
- <div class="oc-block-stat">
12
- <strong class="oc-block-stat-value oc-counter oc-counter--on-view" style="--oc-counter-to: 0"></strong>
13
- <span class="oc-block-stat-label">Lines of JavaScript needed</span>
14
- </div>
15
- </div>
1
+ <!-- OmniaUI block: stats-counter — Key figures that count up when they scroll into view (CSS only). Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS. -->
2
+ <div class="oc-block-stats">
3
+ <div class="oc-block-stat">
4
+ <strong class="oc-block-stat-value oc-counter oc-counter--on-view" style="--oc-counter-to: 640; --oc-counter-suffix: '+'"></strong>
5
+ <span class="oc-block-stat-label">Utility families</span>
6
+ </div>
7
+ <div class="oc-block-stat">
8
+ <strong class="oc-block-stat-value oc-counter oc-counter--on-view" style="--oc-counter-to: 98; --oc-counter-suffix: '%'"></strong>
9
+ <span class="oc-block-stat-label">Smaller CSS on demand</span>
10
+ </div>
11
+ <div class="oc-block-stat">
12
+ <strong class="oc-block-stat-value oc-counter oc-counter--on-view" style="--oc-counter-to: 0"></strong>
13
+ <span class="oc-block-stat-label">Lines of JavaScript needed</span>
14
+ </div>
15
+ </div>
package/blocks/stats.html CHANGED
@@ -1,19 +1,19 @@
1
- <!-- OmniaUI block: stats — Key figures row. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS. -->
2
- <div class="oc-block-stats">
3
- <div class="oc-block-stat">
4
- <div class="oc-block-stat-value">100K+</div>
5
- <div class="oc-block-stat-label">CSS utility classes</div>
6
- </div>
7
- <div class="oc-block-stat">
8
- <div class="oc-block-stat-value">14</div>
9
- <div class="oc-block-stat-label">Component primitives</div>
10
- </div>
11
- <div class="oc-block-stat">
12
- <div class="oc-block-stat-value">8</div>
13
- <div class="oc-block-stat-label">Block compositions</div>
14
- </div>
15
- <div class="oc-block-stat">
16
- <div class="oc-block-stat-value">3</div>
17
- <div class="oc-block-stat-label">Color palettes</div>
18
- </div>
19
- </div>
1
+ <!-- OmniaUI block: stats — Key figures row. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS. -->
2
+ <div class="oc-block-stats">
3
+ <div class="oc-block-stat">
4
+ <div class="oc-block-stat-value">100K+</div>
5
+ <div class="oc-block-stat-label">CSS utility classes</div>
6
+ </div>
7
+ <div class="oc-block-stat">
8
+ <div class="oc-block-stat-value">14</div>
9
+ <div class="oc-block-stat-label">Component primitives</div>
10
+ </div>
11
+ <div class="oc-block-stat">
12
+ <div class="oc-block-stat-value">8</div>
13
+ <div class="oc-block-stat-label">Block compositions</div>
14
+ </div>
15
+ <div class="oc-block-stat">
16
+ <div class="oc-block-stat-value">3</div>
17
+ <div class="oc-block-stat-label">Color palettes</div>
18
+ </div>
19
+ </div>