@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,111 +1,111 @@
1
- <!-- OmniaUI block: data-table - Card with title, actions, search toolbar, sortable table, bulk bar and pagination footer. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
- Class API (modifiers are extra classes / attributes on the same element):
3
- .oc-card.oc-block-datatable: Card root
4
- .oc-block-datatable-head / -title / -description: Card header area
5
- .oc-block-datatable-body: Padded body
6
- .oc-table-toolbar: Search + filters row (.oc-table-toolbar-spacer pushes items right)
7
- .oc-filter-pills / .oc-filter-pill: Segmented link filters (aria-current="true")
8
- .oc-block-datatable-bulk: Selection bar (appears when rows are selected)
9
- .oc-table-wrap > .oc-table: Table with .oc-table-sort headers, .oc-table-actions cells (see Table)
10
- .oc-table-footer: Entries text, page-size select and .oc-pagination
11
- Slots: title, description, header actions, toolbar, table, footer
12
- -->
13
- <section class="oc-card oc-block-datatable">
14
- <header class="oc-block-datatable-head">
15
- <div>
16
- <h2 class="oc-block-datatable-title">Contacts</h2>
17
- <p class="oc-block-datatable-description">All customers and suppliers.</p>
18
- </div>
19
- <div>
20
- <button class="oc-btn oc-btn--outline oc-btn--sm" type="button">Export</button>
21
- <button class="oc-btn oc-btn--sm" type="button">New contact</button>
22
- </div>
23
- </header>
24
- <div class="oc-block-datatable-body">
25
- <div class="oc-table-toolbar">
26
- <input class="oc-input" type="search" placeholder="Search contacts..." aria-label="Search contacts">
27
- <div class="oc-filter-pills" role="group" aria-label="Status filter">
28
- <a class="oc-filter-pill" href="#" aria-current="true">Active</a>
29
- <a class="oc-filter-pill" href="#">Including archived</a>
30
- <a class="oc-filter-pill" href="#">Archived only</a>
31
- </div>
32
- <span class="oc-table-toolbar-spacer"></span>
33
- <button class="oc-btn oc-btn--outline oc-btn--sm" type="button" popovertarget="oc-datatable-columns">Columns</button>
34
- <div class="oc-popover oc-popover--sm" id="oc-datatable-columns" popover>
35
- <label><input class="oc-checkbox" type="checkbox" checked> Name</label><br>
36
- <label><input class="oc-checkbox" type="checkbox" checked> E-mail</label><br>
37
- <label><input class="oc-checkbox" type="checkbox" checked> Status</label>
38
- </div>
39
- </div>
40
- <div class="oc-block-datatable-bulk"><span>2 selected</span><button class="oc-btn oc-btn--outline oc-btn--sm" type="button">Export</button><button class="oc-btn oc-btn--destructive oc-btn--sm" type="button">Delete</button></div>
41
- <div class="oc-table-wrap">
42
- <table class="oc-table">
43
- <thead>
44
- <tr>
45
- <th style="width:2.5rem"><input class="oc-checkbox" type="checkbox" aria-label="Select all"></th>
46
- <th aria-sort="ascending"><a class="oc-table-sort" href="?sort=name">Name</a></th>
47
- <th><a class="oc-table-sort" href="?sort=email">E-mail</a></th>
48
- <th>Status</th>
49
- <th data-numeric><a class="oc-table-sort" href="?sort=balance">Balance</a></th>
50
- <th><span class="oc-visually-hidden">Actions</span></th>
51
- </tr>
52
- </thead>
53
- <tbody>
54
- <tr>
55
- <td><input class="oc-checkbox" type="checkbox" aria-label="Select Ada Lovelace"></td>
56
- <td>Ada Lovelace</td>
57
- <td>ada@example.com</td>
58
- <td><span class="oc-badge oc-badge--success">Active</span></td>
59
- <td data-numeric>420.00</td>
60
- <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
61
- </tr>
62
- <tr>
63
- <td><input class="oc-checkbox" type="checkbox" aria-label="Select Alan Turing"></td>
64
- <td>Alan Turing</td>
65
- <td>alan@example.com</td>
66
- <td><span class="oc-badge oc-badge--success">Active</span></td>
67
- <td data-numeric>840.00</td>
68
- <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
69
- </tr>
70
- <tr>
71
- <td><input class="oc-checkbox" type="checkbox" aria-label="Select Grace Hopper"></td>
72
- <td>Grace Hopper</td>
73
- <td>grace@example.com</td>
74
- <td><span class="oc-badge oc-badge--warning">Pending</span></td>
75
- <td data-numeric>1260.00</td>
76
- <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
77
- </tr>
78
- <tr>
79
- <td><input class="oc-checkbox" type="checkbox" aria-label="Select Linus Torvalds"></td>
80
- <td>Linus Torvalds</td>
81
- <td>linus@example.com</td>
82
- <td><span class="oc-badge oc-badge--secondary">Archived</span></td>
83
- <td data-numeric>1680.00</td>
84
- <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
85
- </tr>
86
- <tr>
87
- <td><input class="oc-checkbox" type="checkbox" aria-label="Select Margaret Hamilton"></td>
88
- <td>Margaret Hamilton</td>
89
- <td>margaret@example.com</td>
90
- <td><span class="oc-badge oc-badge--success">Active</span></td>
91
- <td data-numeric>2100.00</td>
92
- <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
93
- </tr>
94
- </tbody>
95
- </table>
96
- </div>
97
- <div class="oc-table-footer">
98
- <span>Showing 1 to 5 of 48 entries</span>
99
- <label>Rows per page <select class="oc-select" aria-label="Rows per page"><option>10</option><option>25</option><option>50</option></select></label>
100
- <nav aria-label="Pagination">
101
- <ul class="oc-pagination">
102
- <li class="oc-pagination-item"><a href="#" aria-label="Previous">&lsaquo;</a></li>
103
- <li class="oc-pagination-item is-active"><a href="#" aria-current="page">1</a></li>
104
- <li class="oc-pagination-item"><a href="#">2</a></li>
105
- <li class="oc-pagination-item"><a href="#">3</a></li>
106
- <li class="oc-pagination-item"><a href="#" aria-label="Next">&rsaquo;</a></li>
107
- </ul>
108
- </nav>
109
- </div>
110
- </div>
111
- </section>
1
+ <!-- OmniaUI block: data-table - Card with title, actions, search toolbar, sortable table, bulk bar and pagination footer. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
+ Class API (modifiers are extra classes / attributes on the same element):
3
+ .oc-card.oc-block-datatable: Card root
4
+ .oc-block-datatable-head / -title / -description: Card header area
5
+ .oc-block-datatable-body: Padded body
6
+ .oc-table-toolbar: Search + filters row (.oc-table-toolbar-spacer pushes items right)
7
+ .oc-filter-pills / .oc-filter-pill: Segmented link filters (aria-current="true")
8
+ .oc-block-datatable-bulk: Selection bar (appears when rows are selected)
9
+ .oc-table-wrap > .oc-table: Table with .oc-table-sort headers, .oc-table-actions cells (see Table)
10
+ .oc-table-footer: Entries text, page-size select and .oc-pagination
11
+ Slots: title, description, header actions, toolbar, table, footer
12
+ -->
13
+ <section class="oc-card oc-block-datatable">
14
+ <header class="oc-block-datatable-head">
15
+ <div>
16
+ <h2 class="oc-block-datatable-title">Contacts</h2>
17
+ <p class="oc-block-datatable-description">All customers and suppliers.</p>
18
+ </div>
19
+ <div>
20
+ <button class="oc-btn oc-btn--outline oc-btn--sm" type="button">Export</button>
21
+ <button class="oc-btn oc-btn--sm" type="button">New contact</button>
22
+ </div>
23
+ </header>
24
+ <div class="oc-block-datatable-body">
25
+ <div class="oc-table-toolbar">
26
+ <input class="oc-input" type="search" placeholder="Search contacts..." aria-label="Search contacts">
27
+ <div class="oc-filter-pills" role="group" aria-label="Status filter">
28
+ <a class="oc-filter-pill" href="#" aria-current="true">Active</a>
29
+ <a class="oc-filter-pill" href="#">Including archived</a>
30
+ <a class="oc-filter-pill" href="#">Archived only</a>
31
+ </div>
32
+ <span class="oc-table-toolbar-spacer"></span>
33
+ <button class="oc-btn oc-btn--outline oc-btn--sm" type="button" popovertarget="oc-datatable-columns">Columns</button>
34
+ <div class="oc-popover oc-popover--sm" id="oc-datatable-columns" popover>
35
+ <label><input class="oc-checkbox" type="checkbox" checked> Name</label><br>
36
+ <label><input class="oc-checkbox" type="checkbox" checked> E-mail</label><br>
37
+ <label><input class="oc-checkbox" type="checkbox" checked> Status</label>
38
+ </div>
39
+ </div>
40
+ <div class="oc-block-datatable-bulk"><span>2 selected</span><button class="oc-btn oc-btn--outline oc-btn--sm" type="button">Export</button><button class="oc-btn oc-btn--destructive oc-btn--sm" type="button">Delete</button></div>
41
+ <div class="oc-table-wrap">
42
+ <table class="oc-table">
43
+ <thead>
44
+ <tr>
45
+ <th style="width:2.5rem"><input class="oc-checkbox" type="checkbox" aria-label="Select all"></th>
46
+ <th aria-sort="ascending"><a class="oc-table-sort" href="?sort=name">Name</a></th>
47
+ <th><a class="oc-table-sort" href="?sort=email">E-mail</a></th>
48
+ <th>Status</th>
49
+ <th data-numeric><a class="oc-table-sort" href="?sort=balance">Balance</a></th>
50
+ <th><span class="oc-visually-hidden">Actions</span></th>
51
+ </tr>
52
+ </thead>
53
+ <tbody>
54
+ <tr>
55
+ <td><input class="oc-checkbox" type="checkbox" aria-label="Select Ada Lovelace"></td>
56
+ <td>Ada Lovelace</td>
57
+ <td>ada@example.com</td>
58
+ <td><span class="oc-badge oc-badge--success">Active</span></td>
59
+ <td data-numeric>420.00</td>
60
+ <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
61
+ </tr>
62
+ <tr>
63
+ <td><input class="oc-checkbox" type="checkbox" aria-label="Select Alan Turing"></td>
64
+ <td>Alan Turing</td>
65
+ <td>alan@example.com</td>
66
+ <td><span class="oc-badge oc-badge--success">Active</span></td>
67
+ <td data-numeric>840.00</td>
68
+ <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
69
+ </tr>
70
+ <tr>
71
+ <td><input class="oc-checkbox" type="checkbox" aria-label="Select Grace Hopper"></td>
72
+ <td>Grace Hopper</td>
73
+ <td>grace@example.com</td>
74
+ <td><span class="oc-badge oc-badge--warning">Pending</span></td>
75
+ <td data-numeric>1260.00</td>
76
+ <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
77
+ </tr>
78
+ <tr>
79
+ <td><input class="oc-checkbox" type="checkbox" aria-label="Select Linus Torvalds"></td>
80
+ <td>Linus Torvalds</td>
81
+ <td>linus@example.com</td>
82
+ <td><span class="oc-badge oc-badge--secondary">Archived</span></td>
83
+ <td data-numeric>1680.00</td>
84
+ <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
85
+ </tr>
86
+ <tr>
87
+ <td><input class="oc-checkbox" type="checkbox" aria-label="Select Margaret Hamilton"></td>
88
+ <td>Margaret Hamilton</td>
89
+ <td>margaret@example.com</td>
90
+ <td><span class="oc-badge oc-badge--success">Active</span></td>
91
+ <td data-numeric>2100.00</td>
92
+ <td class="oc-table-actions"><a class="oc-table-row-action" href="#">Edit</a><button class="oc-table-row-action oc-table-row-action--destructive" type="button">Delete</button></td>
93
+ </tr>
94
+ </tbody>
95
+ </table>
96
+ </div>
97
+ <div class="oc-table-footer">
98
+ <span>Showing 1 to 5 of 48 entries</span>
99
+ <label>Rows per page <select class="oc-select" aria-label="Rows per page"><option>10</option><option>25</option><option>50</option></select></label>
100
+ <nav aria-label="Pagination">
101
+ <ul class="oc-pagination">
102
+ <li class="oc-pagination-item"><a href="#" aria-label="Previous">&lsaquo;</a></li>
103
+ <li class="oc-pagination-item is-active"><a href="#" aria-current="page">1</a></li>
104
+ <li class="oc-pagination-item"><a href="#">2</a></li>
105
+ <li class="oc-pagination-item"><a href="#">3</a></li>
106
+ <li class="oc-pagination-item"><a href="#" aria-label="Next">&rsaquo;</a></li>
107
+ </ul>
108
+ </nav>
109
+ </div>
110
+ </div>
111
+ </section>
package/blocks/faq.html CHANGED
@@ -1,33 +1,33 @@
1
- <!-- OmniaUI block: faq - FAQ section: eyebrow, title, lead and an exclusive accordion on native details name (no JavaScript). Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
- File: packages/blocks/blocks/faq.html | Map: section.oc-block-faq -> inner -> head -> .oc-accordion (details name) -> more line
3
- Class API: .oc-block-faq (modifier --split: head left, questions right), -inner, -head, -title, -lead,
4
- -list (on the .oc-accordion), -more. Items: details.oc-accordion-item name="…" + summary.oc-accordion-trigger + .oc-accordion-content
5
- -->
6
- <section class="oc-block-faq" aria-labelledby="oc-faq-title">
7
- <div class="oc-block-faq-inner">
8
- <div class="oc-block-faq-head">
9
- <p class="oc-eyebrow">FAQ</p>
10
- <h2 class="oc-block-faq-title" id="oc-faq-title">Frequently asked questions</h2>
11
- <p class="oc-block-faq-lead">Everything you need to know before you start. Can't find your answer? Just ask.</p>
12
- </div>
13
- <div class="oc-accordion oc-block-faq-list">
14
- <details class="oc-accordion-item" name="oc-faq" open>
15
- <summary class="oc-accordion-trigger">Can I try it for free?</summary>
16
- <div class="oc-accordion-content">Yes. Every plan starts with a 30-day trial. No credit card needed.</div>
17
- </details>
18
- <details class="oc-accordion-item" name="oc-faq">
19
- <summary class="oc-accordion-trigger">Can I switch plans later?</summary>
20
- <div class="oc-accordion-content">Any time. Upgrades apply at once; downgrades start at the next billing period.</div>
21
- </details>
22
- <details class="oc-accordion-item" name="oc-faq">
23
- <summary class="oc-accordion-trigger">Where is my data stored?</summary>
24
- <div class="oc-accordion-content">In data centers inside the European Union, with daily encrypted backups.</div>
25
- </details>
26
- <details class="oc-accordion-item" name="oc-faq">
27
- <summary class="oc-accordion-trigger">Do you offer support?</summary>
28
- <div class="oc-accordion-content">E-mail support is included in every plan. Pro plans also get phone support.</div>
29
- </details>
30
- </div>
31
- <p class="oc-block-faq-more">Still have questions? <a class="oc-link-arrow" href="#contact">Contact us</a></p>
32
- </div>
33
- </section>
1
+ <!-- OmniaUI block: faq - FAQ section: eyebrow, title, lead and an exclusive accordion on native details name (no JavaScript). Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
+ File: packages/blocks/blocks/faq.html | Map: section.oc-block-faq -> inner -> head -> .oc-accordion (details name) -> more line
3
+ Class API: .oc-block-faq (modifier --split: head left, questions right), -inner, -head, -title, -lead,
4
+ -list (on the .oc-accordion), -more. Items: details.oc-accordion-item name="…" + summary.oc-accordion-trigger + .oc-accordion-content
5
+ -->
6
+ <section class="oc-block-faq" aria-labelledby="oc-faq-title">
7
+ <div class="oc-block-faq-inner">
8
+ <div class="oc-block-faq-head">
9
+ <p class="oc-eyebrow">FAQ</p>
10
+ <h2 class="oc-block-faq-title" id="oc-faq-title">Frequently asked questions</h2>
11
+ <p class="oc-block-faq-lead">Everything you need to know before you start. Can't find your answer? Just ask.</p>
12
+ </div>
13
+ <div class="oc-accordion oc-block-faq-list">
14
+ <details class="oc-accordion-item" name="oc-faq" open>
15
+ <summary class="oc-accordion-trigger">Can I try it for free?</summary>
16
+ <div class="oc-accordion-content">Yes. Every plan starts with a 30-day trial. No credit card needed.</div>
17
+ </details>
18
+ <details class="oc-accordion-item" name="oc-faq">
19
+ <summary class="oc-accordion-trigger">Can I switch plans later?</summary>
20
+ <div class="oc-accordion-content">Any time. Upgrades apply at once; downgrades start at the next billing period.</div>
21
+ </details>
22
+ <details class="oc-accordion-item" name="oc-faq">
23
+ <summary class="oc-accordion-trigger">Where is my data stored?</summary>
24
+ <div class="oc-accordion-content">In data centers inside the European Union, with daily encrypted backups.</div>
25
+ </details>
26
+ <details class="oc-accordion-item" name="oc-faq">
27
+ <summary class="oc-accordion-trigger">Do you offer support?</summary>
28
+ <div class="oc-accordion-content">E-mail support is included in every plan. Pro plans also get phone support.</div>
29
+ </details>
30
+ </div>
31
+ <p class="oc-block-faq-more">Still have questions? <a class="oc-link-arrow" href="#contact">Contact us</a></p>
32
+ </div>
33
+ </section>
@@ -1,18 +1,18 @@
1
- <!-- OmniaUI block: features — Feature grid with icons. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS. -->
2
- <div class="oc-block-features">
3
- <h2>Everything you need</h2>
4
- <p>Built for speed, customization and developer experience.</p>
5
- <div class="oc-block-features-grid">
6
- <div class="oc-block-feature-card">
7
- <div class="oc-block-feature-icon">&#9889;</div>
8
- <h3>Fast by default</h3>
9
- <p>Optimized CSS output with PostCSS and cssnano.</p>
10
- </div>
11
- <div class="oc-block-feature-card">
12
- <div class="oc-block-feature-icon">&#127912;</div>
13
- <h3>Themeable</h3>
14
- <p>CSS variables for every token. Swap colors, spacing and radii in one place.</p>
15
- </div>
16
- <!-- ... more cards ... -->
17
- </div>
18
- </div>
1
+ <!-- OmniaUI block: features — Feature grid with icons. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS. -->
2
+ <div class="oc-block-features">
3
+ <h2>Everything you need</h2>
4
+ <p>Built for speed, customization and developer experience.</p>
5
+ <div class="oc-block-features-grid">
6
+ <div class="oc-block-feature-card">
7
+ <div class="oc-block-feature-icon">&#9889;</div>
8
+ <h3>Fast by default</h3>
9
+ <p>Optimized CSS output with PostCSS and cssnano.</p>
10
+ </div>
11
+ <div class="oc-block-feature-card">
12
+ <div class="oc-block-feature-icon">&#127912;</div>
13
+ <h3>Themeable</h3>
14
+ <p>CSS variables for every token. Swap colors, spacing and radii in one place.</p>
15
+ </div>
16
+ <!-- ... more cards ... -->
17
+ </div>
18
+ </div>
@@ -1,41 +1,41 @@
1
- <!-- OmniaUI block: footer — Multi-column site footer. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS. -->
2
- <div class="oc-block-footer">
3
- <div class="oc-block-footer-grid">
4
- <div class="oc-block-footer-col">
5
- <h4>Product</h4>
6
- <ul>
7
- <li><a href="#">Features</a></li>
8
- <li><a href="#">Pricing</a></li>
9
- <li><a href="#">Changelog</a></li>
10
- </ul>
11
- </div>
12
- <div class="oc-block-footer-col">
13
- <h4>Docs</h4>
14
- <ul>
15
- <li><a href="#">Getting started</a></li>
16
- <li><a href="#">Components</a></li>
17
- <li><a href="#">Blocks</a></li>
18
- </ul>
19
- </div>
20
- <div class="oc-block-footer-col">
21
- <h4>Community</h4>
22
- <ul>
23
- <li><a href="#">GitHub</a></li>
24
- <li><a href="#">Discord</a></li>
25
- <li><a href="#">Twitter</a></li>
26
- </ul>
27
- </div>
28
- <div class="oc-block-footer-col">
29
- <h4>Legal</h4>
30
- <ul>
31
- <li><a href="#">Privacy</a></li>
32
- <li><a href="#">Terms</a></li>
33
- <li><a href="#">License</a></li>
34
- </ul>
35
- </div>
36
- </div>
37
- <div class="oc-block-footer-bottom">
38
- <span>&copy; 2026 Birdycom. All rights reserved.</span>
39
- <span>Built with OmniaCSS</span>
40
- </div>
41
- </div>
1
+ <!-- OmniaUI block: footer — Multi-column site footer. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS. -->
2
+ <div class="oc-block-footer">
3
+ <div class="oc-block-footer-grid">
4
+ <div class="oc-block-footer-col">
5
+ <h4>Product</h4>
6
+ <ul>
7
+ <li><a href="#">Features</a></li>
8
+ <li><a href="#">Pricing</a></li>
9
+ <li><a href="#">Changelog</a></li>
10
+ </ul>
11
+ </div>
12
+ <div class="oc-block-footer-col">
13
+ <h4>Docs</h4>
14
+ <ul>
15
+ <li><a href="#">Getting started</a></li>
16
+ <li><a href="#">Components</a></li>
17
+ <li><a href="#">Blocks</a></li>
18
+ </ul>
19
+ </div>
20
+ <div class="oc-block-footer-col">
21
+ <h4>Community</h4>
22
+ <ul>
23
+ <li><a href="#">GitHub</a></li>
24
+ <li><a href="#">Discord</a></li>
25
+ <li><a href="#">Twitter</a></li>
26
+ </ul>
27
+ </div>
28
+ <div class="oc-block-footer-col">
29
+ <h4>Legal</h4>
30
+ <ul>
31
+ <li><a href="#">Privacy</a></li>
32
+ <li><a href="#">Terms</a></li>
33
+ <li><a href="#">License</a></li>
34
+ </ul>
35
+ </div>
36
+ </div>
37
+ <div class="oc-block-footer-bottom">
38
+ <span>&copy; 2026 Birdycom. All rights reserved.</span>
39
+ <span>Built with OmniaCSS</span>
40
+ </div>
41
+ </div>
@@ -1,34 +1,34 @@
1
- <!-- OmniaUI block: forgot-password - Request a reset link: e-mail field, submit and a back link. 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"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m3 7 9 6 9-6"/></svg></span>
21
- <div class="oc-block-authcard-head">
22
- <h1 class="oc-block-authcard-title">Forgot your password?</h1>
23
- <p class="oc-block-authcard-text">Enter your e-mail and we will send you a reset link</p>
24
- </div>
25
- <div class="oc-block-authcard-fields">
26
- <div class="oc-field">
27
- <label class="oc-field-label" for="oc-forgot-email">E-mail</label>
28
- <input class="oc-input" id="oc-forgot-email" name="email" type="email" autocomplete="username" required placeholder="name@company.com">
29
- </div>
30
- <button class="oc-btn oc-block-authcard-submit" type="submit">Send reset link</button>
31
- </div>
32
- <p class="oc-block-authcard-foot"><a href="#">Back to sign in</a></p>
33
- </form>
34
- </div>
1
+ <!-- OmniaUI block: forgot-password - Request a reset link: e-mail field, submit and a back link. 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"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m3 7 9 6 9-6"/></svg></span>
21
+ <div class="oc-block-authcard-head">
22
+ <h1 class="oc-block-authcard-title">Forgot your password?</h1>
23
+ <p class="oc-block-authcard-text">Enter your e-mail and we will send you a reset link</p>
24
+ </div>
25
+ <div class="oc-block-authcard-fields">
26
+ <div class="oc-field">
27
+ <label class="oc-field-label" for="oc-forgot-email">E-mail</label>
28
+ <input class="oc-input" id="oc-forgot-email" name="email" type="email" autocomplete="username" required placeholder="name@company.com">
29
+ </div>
30
+ <button class="oc-btn oc-block-authcard-submit" type="submit">Send reset link</button>
31
+ </div>
32
+ <p class="oc-block-authcard-foot"><a href="#">Back to sign in</a></p>
33
+ </form>
34
+ </div>
@@ -1,28 +1,28 @@
1
- <!-- OmniaUI block: form-page - Collapsible form sections in a grid with a sticky action bar. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
- Class API (modifiers are extra classes / attributes on the same element):
3
- .oc-block-formpage: Column wrapper (max 56rem)
4
- details.oc-collapsible: Section (see Collapsible section)
5
- .oc-block-formpage-grid: Two-column field grid from 40rem
6
- .oc-block-formpage-actions: Sticky bottom action bar
7
- -->
8
- <form class="oc-block-formpage" action="#" method="post">
9
- <details class="oc-collapsible" open>
10
- <summary><svg class="oc-collapsible-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="9"/><path d="M12 11v5M12 8h.01"/></svg><span class="oc-collapsible-title">General information</span></summary>
11
- <div class="oc-collapsible-content">
12
- <div class="oc-block-formpage-grid">
13
- <div class="oc-field"><label class="oc-field-label" for="oc-form-name">Name</label><input class="oc-input" id="oc-form-name" name="name"></div>
14
- <div class="oc-field"><label class="oc-field-label" for="oc-form-vat">VAT number</label><input class="oc-input" id="oc-form-vat" name="vat"></div>
15
- <div class="oc-field"><label class="oc-field-label" for="oc-form-email">E-mail</label><input class="oc-input" id="oc-form-email" name="email" type="email"></div>
16
- <div class="oc-field"><label class="oc-field-label" for="oc-form-country">Country</label><select class="oc-select" id="oc-form-country" name="country"><option>Belgium</option><option>Netherlands</option></select></div>
17
- </div>
18
- </div>
19
- </details>
20
- <details class="oc-collapsible">
21
- <summary><svg class="oc-collapsible-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6h11M9 12h11M9 18h11M4 6h.01M4 12h.01M4 18h.01"/></svg><span class="oc-collapsible-title">Notes</span></summary>
22
- <div class="oc-collapsible-content"><textarea class="oc-input" name="notes" rows="3" aria-label="Notes"></textarea></div>
23
- </details>
24
- <div class="oc-block-formpage-actions">
25
- <button class="oc-btn oc-btn--outline" type="button">Cancel</button>
26
- <button class="oc-btn" type="submit">Save</button>
27
- </div>
28
- </form>
1
+ <!-- OmniaUI block: form-page - Collapsible form sections in a grid with a sticky action bar. Needs @birdycom/omniaui-blocks + @birdycom/omniaui CSS.
2
+ Class API (modifiers are extra classes / attributes on the same element):
3
+ .oc-block-formpage: Column wrapper (max 56rem)
4
+ details.oc-collapsible: Section (see Collapsible section)
5
+ .oc-block-formpage-grid: Two-column field grid from 40rem
6
+ .oc-block-formpage-actions: Sticky bottom action bar
7
+ -->
8
+ <form class="oc-block-formpage" action="#" method="post">
9
+ <details class="oc-collapsible" open>
10
+ <summary><svg class="oc-collapsible-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="9"/><path d="M12 11v5M12 8h.01"/></svg><span class="oc-collapsible-title">General information</span></summary>
11
+ <div class="oc-collapsible-content">
12
+ <div class="oc-block-formpage-grid">
13
+ <div class="oc-field"><label class="oc-field-label" for="oc-form-name">Name</label><input class="oc-input" id="oc-form-name" name="name"></div>
14
+ <div class="oc-field"><label class="oc-field-label" for="oc-form-vat">VAT number</label><input class="oc-input" id="oc-form-vat" name="vat"></div>
15
+ <div class="oc-field"><label class="oc-field-label" for="oc-form-email">E-mail</label><input class="oc-input" id="oc-form-email" name="email" type="email"></div>
16
+ <div class="oc-field"><label class="oc-field-label" for="oc-form-country">Country</label><select class="oc-select" id="oc-form-country" name="country"><option>Belgium</option><option>Netherlands</option></select></div>
17
+ </div>
18
+ </div>
19
+ </details>
20
+ <details class="oc-collapsible">
21
+ <summary><svg class="oc-collapsible-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6h11M9 12h11M9 18h11M4 6h.01M4 12h.01M4 18h.01"/></svg><span class="oc-collapsible-title">Notes</span></summary>
22
+ <div class="oc-collapsible-content"><textarea class="oc-input" name="notes" rows="3" aria-label="Notes"></textarea></div>
23
+ </details>
24
+ <div class="oc-block-formpage-actions">
25
+ <button class="oc-btn oc-btn--outline" type="button">Cancel</button>
26
+ <button class="oc-btn" type="submit">Save</button>
27
+ </div>
28
+ </form>
@@ -1,27 +1,27 @@
1
- <!-- OmniaUI block: hero-code — Landing hero: eyebrow, display title with gradient word, lead, two buttons and a code window with floating icon tiles. Needs @birdycom/omniaui. -->
2
- <section class="oc-section-pad">
3
- <div class="oc-container oc-split">
4
- <div>
5
- <p class="oc-eyebrow">Software development &middot; since 2001</p>
6
- <h1 class="oc-display">We build software that moves your business <span class="oc-text-gradient">forward</span>.</h1>
7
- <p class="oc-lead">From a modular ERP to a custom app for a single customer: we design, build and maintain web applications, desktop tools and plugins.</p>
8
- <div class="flex flex-wrap gap-1 mt-2">
9
- <a class="oc-btn oc-btn--gradient oc-btn--lg" href="#software">View our software &rarr;</a>
10
- <a class="oc-btn oc-btn--glass oc-btn--lg" href="#contact">Discuss your project</a>
11
- </div>
12
- </div>
13
- <div class="relative p-2">
14
- <span class="oc-icon-tile oc-icon-tile--float oc-accent--green absolute" style="inset: -0.5rem auto auto 8%;" aria-hidden="true">&#9670;</span>
15
- <span class="oc-icon-tile oc-icon-tile--float oc-accent--violet absolute" style="inset: 0 6% auto auto; animation-delay: -2s;" aria-hidden="true">&#9673;</span>
16
- <span class="oc-icon-tile oc-icon-tile--float oc-accent--orange absolute" style="inset: auto 10% -0.5rem auto; animation-delay: -4s;" aria-hidden="true">&#9650;</span>
17
- <div class="oc-code-window">
18
- <div class="oc-code-window__bar"><i></i><i></i><i></i><span class="oc-code-window__title">projects.php</span></div>
19
- <pre class="oc-code-window__body">return [
20
- 'erp' => OmniaDesk::class,
21
- 'design' => OmniaCSS::class,
22
- 'next' => YourProject::class,
23
- ];</pre>
24
- </div>
25
- </div>
26
- </div>
27
- </section>
1
+ <!-- OmniaUI block: hero-code — Landing hero: eyebrow, display title with gradient word, lead, two buttons and a code window with floating icon tiles. Needs @birdycom/omniaui. -->
2
+ <section class="oc-section-pad">
3
+ <div class="oc-container oc-split">
4
+ <div>
5
+ <p class="oc-eyebrow">Software development &middot; since 2001</p>
6
+ <h1 class="oc-display">We build software that moves your business <span class="oc-text-gradient">forward</span>.</h1>
7
+ <p class="oc-lead">From a modular ERP to a custom app for a single customer: we design, build and maintain web applications, desktop tools and plugins.</p>
8
+ <div class="flex flex-wrap gap-1 mt-2">
9
+ <a class="oc-btn oc-btn--gradient oc-btn--lg" href="#software">View our software &rarr;</a>
10
+ <a class="oc-btn oc-btn--glass oc-btn--lg" href="#contact">Discuss your project</a>
11
+ </div>
12
+ </div>
13
+ <div class="relative p-2">
14
+ <span class="oc-icon-tile oc-icon-tile--float oc-accent--green absolute" style="inset: -0.5rem auto auto 8%;" aria-hidden="true">&#9670;</span>
15
+ <span class="oc-icon-tile oc-icon-tile--float oc-accent--violet absolute" style="inset: 0 6% auto auto; animation-delay: -2s;" aria-hidden="true">&#9673;</span>
16
+ <span class="oc-icon-tile oc-icon-tile--float oc-accent--orange absolute" style="inset: auto 10% -0.5rem auto; animation-delay: -4s;" aria-hidden="true">&#9650;</span>
17
+ <div class="oc-code-window">
18
+ <div class="oc-code-window__bar"><i></i><i></i><i></i><span class="oc-code-window__title">projects.php</span></div>
19
+ <pre class="oc-code-window__body">return [
20
+ 'erp' => OmniaDesk::class,
21
+ 'design' => OmniaCSS::class,
22
+ 'next' => YourProject::class,
23
+ ];</pre>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </section>