@incursa/ui-kit 0.2.1

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.
@@ -0,0 +1,82 @@
1
+ # AI Agent Instructions
2
+
3
+ Use this package as a reusable data-heavy UI baseline.
4
+
5
+ Repository brand assets live under `assets/brand/`. Prefer those local files when adding logos, favicons, or README imagery.
6
+
7
+ ## Fast path
8
+
9
+ - Prefer `dist/inc-design-language.css` if the target app already has working HTML and only needs the look.
10
+ - Prefer `src/inc-design-language.scss` if you need to tune tokens, density, or Bootstrap defaults.
11
+ - Prefer `dist/inc-design-language.js` only for stateful UI primitives such as menus, tabs, or collapsible sections.
12
+ - Prefer `reference.html` when you need copy/paste starter markup for a supported control before composing a full page.
13
+ - Prefer `states.html`, `forms-and-validation.html`, and `data-grid-advanced.html` when the target screen is workflow-heavy and you need realistic composition patterns, not isolated snippets.
14
+
15
+ ## Naming rules
16
+
17
+ - Use the `inc-` prefix for all public classes.
18
+ - Keep the existing BEM pattern:
19
+ `inc-block`, `inc-block__element`, `inc-block--modifier`.
20
+
21
+ ## Core primitives
22
+
23
+ - Tables:
24
+ Start with `inc-table` and add cell modifiers such as `inc-table__cell--numeric`, `inc-table__cell--action`, `inc-table__cell--min`, and `inc-table__cell--expand`.
25
+ - Buttons:
26
+ Use `inc-btn` plus a semantic modifier such as `inc-btn--primary`, `inc-btn--secondary`, or `inc-btn--danger`.
27
+ Use `inc-btn--micro` for in-row or in-cell actions.
28
+ - Forms:
29
+ Use `inc-form--inline` for toolbar/filter layouts, wrap each label/control pair in `inc-form__field` or `inc-form__group`, and use `inc-input-group` for composed inputs.
30
+ Use `inc-form__hint`, `inc-form__feedback--error`, `inc-form__feedback--success`, and `inc-form__error-summary` for validation.
31
+ - Filter bars:
32
+ Use `inc-filter-bar`, `inc-filter-chip`, and `inc-bulk-bar` for search-heavy or multi-select operator screens.
33
+ - Cards and shells:
34
+ Use `inc-card` for plain cards and `inc-header-body inc-header-body--card` for titled sections with actions.
35
+ - App layout:
36
+ Use `inc-app-shell`, `inc-footer-bar`, `inc-navbar`, `inc-breadcrumb`, `inc-nav-triad`, and `inc-sidebar-menu` when you need an opinionated application frame instead of isolated components.
37
+ - States and workflow:
38
+ Use `inc-state-panel`, `inc-permission-banner`, `inc-toast-card`, `inc-timeline`, `inc-file-dropzone`, `inc-file-row`, and `inc-key-value` for non-happy-path and detail-heavy B2B flows.
39
+ - Interaction:
40
+ Use `data-inc-toggle="menu"`, `data-inc-toggle="tab"`, and `data-inc-toggle="collapse"` with `data-inc-target="#target-id"` when you want the optional vanilla-JS helper to wire behavior.
41
+ - Native interaction:
42
+ Use `details.inc-disclosure` for section stacks, `details.inc-native-menu` for lightweight menus, and `dialog.inc-native-dialog` for native modal surfaces.
43
+ - Status:
44
+ Use `inc-badge--success|warning|danger|info` for compact status signals.
45
+ - Metrics:
46
+ Use `inc-summary-overview` and `inc-summary-block` for dashboard and header metrics.
47
+
48
+ ## Customization order
49
+
50
+ 1. Change fonts and colors in `src/_inc-theme.scss`.
51
+ 2. Use `src/_inc-tokens.scss` only for deeper token or Bootstrap-level tuning.
52
+ 3. Rebuild the CSS.
53
+ 4. Only add new component rules after checking whether an existing `inc-*` block already fits.
54
+
55
+ ## Packaging
56
+
57
+ - Use `npm run build` to rebuild distributables.
58
+ - Use `npm pack` or `npm run package` to produce a local installable tarball.
59
+ - The repository is licensed under Apache 2.0.
60
+ - The compiled `dist/inc-design-language.css` already includes the Bootstrap layer it was built from, so consumers do not need Bootstrap CSS at runtime when they use the compiled assets.
61
+ - The source `src/inc-design-language.scss` does require Bootstrap Sass at build time because it imports `bootstrap/scss/bootstrap`.
62
+
63
+ ## Guardrails
64
+
65
+ - Keep the typography stack split:
66
+ sans for UI text, mono for data.
67
+ - Preserve explicit alignment classes for numeric table data.
68
+ - Avoid adding product-specific shell/background styles to this package.
69
+ - Keep new components generic enough to drop into another admin/data app.
70
+ - If you add a new block, prefer names like `inc-filter-bar`, `inc-stat-card`, or `inc-data-toolbar` over feature-specific names.
71
+ - Keep border radius consistent across panels, tabs, tables, and cards unless there is a deliberate reason to differentiate them.
72
+ - Prefer native browser behavior first for disclosures and dialogs when it fits the product; use the helper only when the Bootstrap-like component contract needs custom state handling.
73
+
74
+ ## Build
75
+
76
+ If Bootstrap and Sass are installed in the package folder:
77
+
78
+ ```bash
79
+ npm run build
80
+ ```
81
+
82
+ If you are compiling from somewhere else, make sure Sass can resolve `bootstrap/scss/*`.
package/LICENSE ADDED
@@ -0,0 +1,159 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction, and
10
+ distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by the copyright
13
+ owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all other entities
16
+ that control, are controlled by, or are under common control with that entity.
17
+ For the purposes of this definition, "control" means (i) the power, direct or
18
+ indirect, to cause the direction or management of such entity, whether by
19
+ contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
20
+ outstanding shares, or (iii) beneficial ownership of such entity.
21
+
22
+ "You" (or "Your") shall mean an individual or Legal Entity exercising
23
+ permissions granted by this License.
24
+
25
+ "Source" form shall mean the preferred form for making modifications, including
26
+ but not limited to software source code, documentation source, and configuration
27
+ files.
28
+
29
+ "Object" form shall mean any form resulting from mechanical transformation or
30
+ translation of a Source form, including but not limited to compiled object code,
31
+ generated documentation, and conversions to other media types.
32
+
33
+ "Work" shall mean the work of authorship, whether in Source or Object form, made
34
+ available under the License, as indicated by a copyright notice that is included
35
+ in or attached to the work (an example is provided in the Appendix below).
36
+
37
+ "Derivative Works" shall mean any work, whether in Source or Object form, that
38
+ is based on (or derived from) the Work and for which the editorial revisions,
39
+ annotations, elaborations, or other modifications represent, as a whole, an
40
+ original work of authorship. For the purposes of this License, Derivative Works
41
+ shall not include works that remain separable from, or merely link (or bind by
42
+ name) to the interfaces of, the Work and Derivative Works thereof.
43
+
44
+ "Contribution" shall mean any work of authorship, including the original version
45
+ of the Work and any modifications or additions to that Work or Derivative Works
46
+ thereof, that is intentionally submitted to Licensor for inclusion in the Work
47
+ by the copyright owner or by an individual or Legal Entity authorized to submit
48
+ on behalf of the copyright owner. For the purposes of this definition,
49
+ "submitted" means any form of electronic, verbal, or written communication sent
50
+ to the Licensor or its representatives, including but not limited to
51
+ communication on electronic mailing lists, source code control systems, and
52
+ issue tracking systems that are managed by, or on behalf of, the Licensor for
53
+ the purpose of discussing and improving the Work, but excluding communication
54
+ that is conspicuously marked or otherwise designated in writing by the copyright
55
+ owner as "Not a Contribution."
56
+
57
+ "Contributor" shall mean Licensor and any individual or Legal Entity on behalf
58
+ of whom a Contribution has been received by Licensor and subsequently
59
+ incorporated within the Work.
60
+
61
+ 2. Grant of Copyright License. Subject to the terms and conditions of this
62
+ License, each Contributor hereby grants to You a perpetual, worldwide,
63
+ non-exclusive, no-charge, royalty-free, irrevocable copyright license to
64
+ reproduce, prepare Derivative Works of, publicly display, publicly perform,
65
+ sublicense, and distribute the Work and such Derivative Works in Source or
66
+ Object form.
67
+
68
+ 3. Grant of Patent License. Subject to the terms and conditions of this License,
69
+ each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
70
+ no-charge, royalty-free, irrevocable (except as stated in this section) patent
71
+ license to make, have made, use, offer to sell, sell, import, and otherwise
72
+ transfer the Work, where such license applies only to those patent claims
73
+ licensable by such Contributor that are necessarily infringed by their
74
+ Contribution(s) alone or by combination of their Contribution(s) with the Work
75
+ to which such Contribution(s) was submitted. If You institute patent litigation
76
+ against any entity (including a cross-claim or counterclaim in a lawsuit)
77
+ alleging that the Work or a Contribution incorporated within the Work constitutes
78
+ direct or contributory patent infringement, then any patent licenses granted to
79
+ You under this License for that Work shall terminate as of the date such
80
+ litigation is filed.
81
+
82
+ 4. Redistribution. You may reproduce and distribute copies of the Work or
83
+ Derivative Works thereof in any medium, with or without modifications, and in
84
+ Source or Object form, provided that You meet the following conditions:
85
+
86
+ (a) You must give any other recipients of the Work or Derivative Works a copy of
87
+ this License; and
88
+
89
+ (b) You must cause any modified files to carry prominent notices stating that
90
+ You changed the files; and
91
+
92
+ (c) You must retain, in the Source form of any Derivative Works that You
93
+ distribute, all copyright, patent, trademark, and attribution notices from the
94
+ Source form of the Work, excluding those notices that do not pertain to any part
95
+ of the Derivative Works; and
96
+
97
+ (d) If the Work includes a "NOTICE" text file as part of its distribution, then
98
+ any Derivative Works that You distribute must include a readable copy of the
99
+ attribution notices contained within such NOTICE file, excluding those notices
100
+ that do not pertain to any part of the Derivative Works, in at least one of the
101
+ following places: within a NOTICE text file distributed as part of the
102
+ Derivative Works; within the Source form or documentation, if provided along
103
+ with the Derivative Works; or, within a display generated by the Derivative
104
+ Works, if and wherever such third-party notices normally appear. The contents of
105
+ the NOTICE file are for informational purposes only and do not modify the
106
+ License. You may add Your own attribution notices within Derivative Works that
107
+ You distribute, alongside or as an addendum to the NOTICE text from the Work,
108
+ provided that such additional attribution notices cannot be construed as
109
+ modifying the License.
110
+
111
+ You may add Your own copyright statement to Your modifications and may provide
112
+ additional or different license terms and conditions for use, reproduction, or
113
+ distribution of Your modifications, or for any such Derivative Works as a whole,
114
+ provided Your use, reproduction, and distribution of the Work otherwise complies
115
+ with the conditions stated in this License.
116
+
117
+ 5. Submission of Contributions. Unless You explicitly state otherwise, any
118
+ Contribution intentionally submitted for inclusion in the Work by You to the
119
+ Licensor shall be under the terms and conditions of this License, without any
120
+ additional terms or conditions. Notwithstanding the above, nothing herein shall
121
+ supersede or modify the terms of any separate license agreement you may have
122
+ executed with Licensor regarding such Contributions.
123
+
124
+ 6. Trademarks. This License does not grant permission to use the trade names,
125
+ trademarks, service marks, or product names of the Licensor, except as required
126
+ for reasonable and customary use in describing the origin of the Work and
127
+ reproducing the content of the NOTICE file.
128
+
129
+ 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
130
+ writing, Licensor provides the Work (and each Contributor provides its
131
+ Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
132
+ KIND, either express or implied, including, without limitation, any warranties
133
+ or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
134
+ PARTICULAR PURPOSE. You are solely responsible for determining the
135
+ appropriateness of using or redistributing the Work and assume any risks
136
+ associated with Your exercise of permissions under this License.
137
+
138
+ 8. Limitation of Liability. In no event and under no legal theory, whether in
139
+ tort (including negligence), contract, or otherwise, unless required by
140
+ applicable law (such as deliberate and grossly negligent acts) or agreed to in
141
+ writing, shall any Contributor be liable to You for damages, including any
142
+ direct, indirect, special, incidental, or consequential damages of any
143
+ character arising as a result of this License or out of the use or inability to
144
+ use the Work (including but not limited to damages for loss of goodwill, work
145
+ stoppage, computer failure or malfunction, or any and all other commercial
146
+ damages or losses), even if such Contributor has been advised of the possibility
147
+ of such damages.
148
+
149
+ 9. Accepting Warranty or Additional Liability. While redistributing the Work or
150
+ Derivative Works thereof, You may choose to offer, and charge a fee for,
151
+ acceptance of support, warranty, indemnity, or other liability obligations
152
+ and/or rights consistent with this License. However, in accepting such
153
+ obligations, You may act only on Your own behalf and on Your sole responsibility,
154
+ not on behalf of any other Contributor, and only if You agree to indemnify,
155
+ defend, and hold each Contributor harmless for any liability incurred by, or
156
+ claims asserted against, such Contributor by reason of your accepting any such
157
+ warranty or additional liability.
158
+
159
+ END OF TERMS AND CONDITIONS
package/NOTICE ADDED
@@ -0,0 +1,4 @@
1
+ Incursa UI Kit
2
+ Copyright 2026 Incursa
3
+
4
+ This product includes software developed and maintained by Incursa.
package/README.md ADDED
@@ -0,0 +1,231 @@
1
+ <p align="center">
2
+ <img src="./assets/brand/logo_color.svg" alt="Incursa UI Kit" width="360">
3
+ </p>
4
+
5
+ # Incursa UI Kit
6
+
7
+ [![CI](https://github.com/incursa/ui-kit/actions/workflows/ci.yml/badge.svg)](https://github.com/incursa/ui-kit/actions/workflows/ci.yml)
8
+ [![Pages](https://github.com/incursa/ui-kit/actions/workflows/pages.yml/badge.svg)](https://github.com/incursa/ui-kit/actions/workflows/pages.yml)
9
+ [![npm publish](https://github.com/incursa/ui-kit/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/incursa/ui-kit/actions/workflows/npm-publish.yml)
10
+
11
+ This folder contains a distilled, reusable UI kit for data-heavy business applications. The goal is to keep the recurring visual patterns that define the UI language and expose them consistently through the `inc-*` class surface.
12
+
13
+ Licensed under Apache 2.0.
14
+
15
+ ## What was kept
16
+
17
+ - Bootstrap theming overrides for colors, typography, spacing, borders, inputs, cards, tabs, and tables.
18
+ - Dense but readable table styling with strong teal headers and mono-friendly numeric cells.
19
+ - Compact action buttons and inline forms that work well inside grids and table rows.
20
+ - Card, section-shell, summary-block, vertical-list, and layout primitives used across admin screens.
21
+ - Status-oriented badges and alerts with soft backgrounds and stronger foreground/border cues.
22
+ - Validation states, error summaries, filter chips, and dense toolbar patterns for search-heavy screens.
23
+ - Operational states such as empty, no-results, loading, error, permission, lock, toast, and activity timeline surfaces.
24
+ - Bulk-action, sticky-header, and row-state table patterns for operator-facing grids.
25
+ - File/document dropzones, file rows, read-only key-value grids, and drawer-style side panels.
26
+ - A small overlay/navigation layer for tabs, pagination, dropdown actions, modals, and offcanvas panels.
27
+ - Opinionated app-shell pieces for navbar/topbar, breadcrumb/nav-triad, sticky footer, user menu, and common two/three-column page layouts.
28
+
29
+ ## What was intentionally left out
30
+
31
+ - App-specific backgrounds, admin footer behavior, report CSS, print CSS, and vendor assets.
32
+ - App-specific background art and report/print-only styling.
33
+ - Feature-specific one-off classes that do not generalize cleanly across products.
34
+
35
+ ## Files
36
+
37
+ - `assets/brand/`
38
+ Repository brand assets for GitHub, docs, and future package-site usage.
39
+ - `src/_inc-tokens.scss`
40
+ Bootstrap-facing theme tokens and override variables.
41
+ - `src/_inc-theme.scss`
42
+ Dedicated brand-facing variables for fonts, palette, semantic surfaces, and text colors.
43
+ - `src/inc-design-language.scss`
44
+ Main source entrypoint for the `inc-*` class surface.
45
+ - `dist/inc-design-language.css`
46
+ Compiled standalone CSS output.
47
+ - `dist/inc-design-language.js`
48
+ Optional vanilla-JS helper for menus, tabs, and collapsible sections.
49
+ - `index.html`
50
+ Showcase hub for the included example pages.
51
+ - `demo.html`
52
+ Dashboard-style preview of the extracted patterns.
53
+ - `work-queue.html`
54
+ Sidebar and table-heavy queue example.
55
+ - `record-detail.html`
56
+ Three-column detail example with action rail.
57
+ - `native-patterns.html`
58
+ Native-first details/menu/dialog example.
59
+ - `reference.html`
60
+ Copy/paste catalog for the standard controls and markup patterns.
61
+ - `states.html`
62
+ Empty, no-results, loading, error, permission, timeline, file, and notification patterns.
63
+ - `forms-and-validation.html`
64
+ Validation, error-summary, filter-bar, chip, and read-only/edit form patterns.
65
+ - `data-grid-advanced.html`
66
+ Sticky-header table, bulk selection, row states, busy buttons, and side drawer pattern.
67
+ - `showcase.css`
68
+ Small demo-only helper stylesheet for the static examples.
69
+ - `AI-AGENT-INSTRUCTIONS.md`
70
+ Short operational guidance for an AI agent or another engineer.
71
+
72
+ ## Naming
73
+
74
+ The reusable public class surface uses the `inc-*` prefix.
75
+
76
+ Examples:
77
+
78
+ - `inc-table`
79
+ - `inc-btn`
80
+ - `inc-card`
81
+ - `inc-header-body`
82
+ - `inc-summary-block`
83
+
84
+ The BEM/modifier structure stays consistent across the package, for example `inc-table__cell--numeric` or `inc-btn--primary`.
85
+
86
+ ## Design language summary
87
+
88
+ - Typography: IBM Plex Sans for UI copy and IBM Plex Mono for data, amounts, and identifiers.
89
+ - Density: tighter than consumer-product UI, but not cramped; compact forms and small action buttons are first-class.
90
+ - Surfaces: mostly white and light neutral surfaces with restrained borders and low shadow usage.
91
+ - Accent: indigo is the primary brand/action color, with amber used as a brighter warning/highlight accent.
92
+ - Status communication: success/warning/error use pale backgrounds with darker foreground and border colors instead of pure solid fills.
93
+ - Tables first: headers are high-contrast, numeric alignment is explicit, and responsive table wrappers are part of the default system.
94
+ - Shell aware: the package now includes app-shell, breadcrumb, nav-triad, navbar, footer-bar, and user-menu primitives so page layout is part of the language, not an afterthought.
95
+ - Layout aware: sidebar menus, inline form fields, and multi-column page examples are included so common admin-page composition is demonstrated directly.
96
+ - Workflow aware: validation, filter bars, bulk action bars, audit timelines, and file-review surfaces are part of the package now because those patterns recur constantly in B2B products.
97
+ - Native capable: the package now also includes styled `<details>` disclosures, a native summary-based menu, and a `<dialog>` surface so you can choose browser primitives when they fit better than helper-managed components.
98
+
99
+ ## CSS-only vs JS-assisted
100
+
101
+ - CSS-only/native behavior is enough for layout, cards, tables, buttons, alerts, form fields, badges, breadcrumbs, sticky footer, and most surface styling.
102
+ - Stateful controls still need behavior:
103
+ tabs, collapsible sections, menus/dropdowns, modals, offcanvas panels, dismissible alerts, and toasts.
104
+ - This package now includes an optional dependency-free helper at `dist/inc-design-language.js` for:
105
+ user-menu dropdowns, tab switching, and collapse/accordion toggles.
106
+ - This package also includes native-styled patterns for:
107
+ `details.inc-disclosure`, `details.inc-native-menu`, and `dialog.inc-native-dialog`.
108
+ - If you prefer native HTML behavior where possible, use browser primitives like `<details>` and `<dialog>` for product-specific implementations. The helper exists for places where the design language is intentionally Bootstrap-like and needs matching interaction behavior.
109
+
110
+ ## Use it quickly
111
+
112
+ If you just want the look in another app:
113
+
114
+ 1. Copy `dist/inc-design-language.css`.
115
+ 2. If you need interactive tabs/menus/collapses, also copy `dist/inc-design-language.js`.
116
+ 3. Load the CSS after your reset or base stylesheet.
117
+ 4. Load the optional JS near the end of the page.
118
+ 5. Use the `inc-*` classes shown in `reference.html` for direct copy/paste control markup.
119
+ 6. Check `states.html`, `forms-and-validation.html`, and `data-grid-advanced.html` for the workflow-heavy patterns that do not read well as isolated snippets.
120
+ 7. Use `demo.html`, `work-queue.html`, `record-detail.html`, and `native-patterns.html` for fuller page composition.
121
+
122
+ ## Use it as a package
123
+
124
+ This repository is shaped as a normal npm package:
125
+
126
+ - `main`, `style`, and `sass` entry points are set.
127
+ - `files` limits packaged output to the reusable source and dist assets.
128
+ - `npm pack` produces a local tarball.
129
+ - `publishConfig.access` is set for public scoped publishing.
130
+ - GitHub Actions is set up for npm Trusted Publishing on release.
131
+
132
+ Typical flow:
133
+
134
+ ```bash
135
+ npm install
136
+ npm run build
137
+ npm pack
138
+ ```
139
+
140
+ Then in the consuming app:
141
+
142
+ ```bash
143
+ npm install ../path-to-tarball/incursa-ui-kit-0.2.1.tgz
144
+ ```
145
+
146
+ Or, while iterating locally:
147
+
148
+ ```bash
149
+ npm install ../path-to-styles-folder
150
+ ```
151
+
152
+ If you publish it publicly:
153
+
154
+ ```bash
155
+ npm install @incursa/ui-kit
156
+ ```
157
+
158
+ Import either:
159
+
160
+ ```js
161
+ import "@incursa/ui-kit/dist/inc-design-language.css";
162
+ ```
163
+
164
+ or, if you want to own the theme variables:
165
+
166
+ ```scss
167
+ @import "@incursa/ui-kit/src/_inc-theme";
168
+ @import "@incursa/ui-kit/src/inc-design-language";
169
+ ```
170
+
171
+ ## How It Fits Into A Razor Or ASP.NET Core App
172
+
173
+ There are two supported ways to use it.
174
+
175
+ 1. Use the compiled assets.
176
+
177
+ - Add `dist/inc-design-language.css` to your site and optionally `dist/inc-design-language.js`.
178
+ - This is the simplest path.
179
+ - You do not need Bootstrap CSS at runtime because the compiled CSS already includes the Bootstrap layer it was built on.
180
+ - You do not need Bootstrap JS unless your app separately uses Bootstrap's own JavaScript components.
181
+
182
+ 2. Use the SCSS source.
183
+
184
+ - Import `src/inc-design-language.scss` into your own Sass pipeline.
185
+ - This path is for when you want to override theme variables or deeper Bootstrap-facing tokens.
186
+ - In this mode you do need Bootstrap and Sass available at build time because the source imports `bootstrap/scss/bootstrap`.
187
+
188
+ Practical recommendation for a .NET Razor Pages or MVC app:
189
+
190
+ - If you just want the finished look, copy or install the package and reference `dist/inc-design-language.css` from your layout.
191
+ - Add `dist/inc-design-language.js` only if you want the optional `inc-*` menu/tab/collapse helper behavior.
192
+ - Use the native `<details>` and `<dialog>` patterns when you want less JavaScript.
193
+ - Use the SCSS source path only if you want this package to become part of your app's own asset build and theme pipeline.
194
+
195
+ ## GitHub repository
196
+
197
+ This repository is set up for:
198
+
199
+ - CI on pushes and pull requests via `.github/workflows/ci.yml`
200
+ - GitHub Pages showcase deployment from `main` via `.github/workflows/pages.yml`
201
+ - npm Trusted Publishing on GitHub Release publication via `.github/workflows/npm-publish.yml`
202
+ - Public release hygiene through `LICENSE`, `CHANGELOG.md`, `CONTRIBUTING.md`, and `RELEASING.md`
203
+ - Brand assets in `assets/brand/` so README and future docs do not depend on external image hosting
204
+
205
+ ## Use it as source
206
+
207
+ If you want to keep editing it:
208
+
209
+ 1. Install Bootstrap 5.3 and Sass in the consuming project.
210
+ 2. Copy the `src/` folder.
211
+ 3. Import `src/inc-design-language.scss`.
212
+ 4. Edit `src/_inc-theme.scss` for the fonts and colors you want.
213
+ 5. Use `src/_inc-tokens.scss` only when you need deeper spacing, radius, shadow, or Bootstrap-level tuning.
214
+
215
+ Example:
216
+
217
+ ```scss
218
+ $inc-brand-700: #0f5f73;
219
+ $inc-brand-800: #0a4958;
220
+ $inc-font-family-sans: "Aptos", "Segoe UI", sans-serif;
221
+
222
+ @import "./src/inc-design-language";
223
+ ```
224
+
225
+ ## Suggested next extensions
226
+
227
+ - Add a spacing/visibility utility layer if you want the package to stand more independently from Bootstrap utilities.
228
+ - Split tables into clearer grid families if products start diverging:
229
+ base, compact review grid, analytics grid, and spreadsheet-like grid.
230
+ - Add modal/offcanvas examples that use the same drawer and validation primitives shown in the new pages.
231
+ - Replace the `@extend`-heavy wrappers with mixins or direct declarations if you want less Bootstrap coupling over time.