@htmlbricks/mcp 0.66.27 → 0.67.0
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.
- package/assets/AGENT_WEBCOMPONENTS_REFERENCE.md +457 -277
- package/assets/list.json +1 -1
- package/package.json +1 -1
|
@@ -6,8 +6,8 @@ A **consumer-oriented reference** for **`hb-*` custom elements**: tags, attribut
|
|
|
6
6
|
|
|
7
7
|
## How to use these components
|
|
8
8
|
|
|
9
|
-
1. **Attributes** — Public
|
|
10
|
-
2. **Theming** — The
|
|
9
|
+
1. **Attributes** — Public property **names** use **snake_case**. **Values are always strings** from HTML or `setAttribute`: you cannot pass native objects, numbers, or booleans. **Objects** (and structured data) must be **serialized** (typically **JSON strings**). **Numbers** must be passed as their **string form** (e.g. `"42"`). **Booleans** must be the strings **`yes`** or **`no`**. Arrays are also passed as **strings** (usually JSON). A component’s README is authoritative if it documents a special encoding.
|
|
10
|
+
2. **Theming** — The layout/CSS framework is **Bulma 1.x**; icons use **Bootstrap Icons**. To change appearance (colors, theme, spacing where exposed), set **Bulma CSS custom properties** (`--bulma-*`, see [Bulma CSS variables](https://bulma.io/documentation/features/css-variables/)) on the **host element**, a parent wrapper, or higher in the cascade. Those variables typically flow into **shadow DOM** content. Prefer **`--bulma-*`** (and any **component-documented** custom properties) over unrelated ad-hoc rules. Each component section below may list extra **CSS variables** and **`::part(...)`** names when exposed.
|
|
11
11
|
3. **Shadow DOM** — Most hosts attach a **shadow root**. Style via inherited **variables** and documented **`::part(...)`** selectors; listen for **`CustomEvent`** on the host for outputs described in each section.
|
|
12
12
|
4. **Reading the entries** — Sections may use tables or TypeScript-like snippets for props and events; treat those as the **public contract** for that tag.
|
|
13
13
|
|
|
@@ -30,7 +30,7 @@ Human-readable event names and examples still appear in each component’s READM
|
|
|
30
30
|
1. Same manifest entry; open `definitions.component` (JSON Schema for the `Component` TypeScript interface).
|
|
31
31
|
2. Locate `definitions.component.definitions.Component` (or the object referenced by the root `$ref` for `Component`).
|
|
32
32
|
3. Under **`properties`**, each key is a **prop name as in TypeScript** (often **camelCase**). The schema gives `type`, `enum`, `items` (arrays), and `$ref` to shared shapes (`ICompany`, `IColumn`, …) in the same document’s `definitions` map.
|
|
33
|
-
4. For **HTML markup**, this library documents **attribute names** in each README (
|
|
33
|
+
4. For **HTML markup**, this library documents **attribute names** in each README (**snake_case** on the host). **All attribute values are strings**: numbers as string digits, booleans as **`yes`/`no`**, objects/arrays as **JSON strings** (or another encoding only if that README says so). When the schema uses camelCase (`companyName`) and the README shows a snake_case attribute (`disable_expanding_small`), **follow the README for attribute names** and use the schema for **structure and types** inside JSON-valued props (e.g. shape of `company`).
|
|
34
34
|
|
|
35
35
|
Cross-check: README table (authoritative for attributes) + `definitions.component` (authoritative for JSON types and nesting).
|
|
36
36
|
|
|
@@ -52,107 +52,107 @@ Every published **`@htmlbricks/hb-<folder>`** tarball includes a **`types/`** fo
|
|
|
52
52
|
### Table of contents — how to use this with LLMs
|
|
53
53
|
|
|
54
54
|
- The **full text** of each component’s `README.md` is **included later in this same document**, under an HTML anchor `id="wc-<folder>"` (Markdown link: `#wc-<folder>`).
|
|
55
|
-
- The **jsDelivr** URL is the **canonical** `README.md` from npm (`@htmlbricks/hb-<folder>` at version **0.
|
|
55
|
+
- The **jsDelivr** URL is the **canonical** `README.md` from npm (`@htmlbricks/hb-<folder>` at version **0.67.0**). The prose merged **below this TOC** is the **same document body** (duplicate for single-file reading).
|
|
56
56
|
- When answering **from this file only**, use the **in-document** link (`#wc-…`) so the model stays in one context. Use the **jsDelivr** link when you need the standalone README URL (e.g. fetching from the CDN).
|
|
57
57
|
|
|
58
58
|
## Table of contents
|
|
59
59
|
|
|
60
60
|
Each line lists: **tag — folder**, then **canonical README (npm/jsDelivr)**, then **same content inside this file**.
|
|
61
61
|
|
|
62
|
-
- **`hb-area-code` — `area-code`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-area-code@0.
|
|
63
|
-
- **`hb-auth` — `auth`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-auth@0.
|
|
64
|
-
- **`hb-auth-social-login-button` — `auth-social-login-button`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-auth-social-login-button@0.
|
|
65
|
-
- **`hb-banner` — `banner`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-banner@0.
|
|
66
|
-
- **`hb-calendar-appointments` — `calendar-appointments`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-calendar-appointments@0.
|
|
67
|
-
- **`hb-calendar-events` — `calendar-events`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-calendar-events@0.
|
|
68
|
-
- **`hb-captcha-google-recaptcha-v2-invisible` — `captcha-google-recaptcha-v2-invisible`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-captcha-google-recaptcha-v2-invisible@0.
|
|
69
|
-
- **`hb-card-video` — `card-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-card-video@0.
|
|
70
|
-
- **`hb-chartjs` — `chartjs`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-chartjs@0.
|
|
71
|
-
- **`hb-checkout` — `checkout`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-checkout@0.
|
|
72
|
-
- **`hb-checkout-shopping-cart` — `checkout-shopping-cart`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-checkout-shopping-cart@0.
|
|
73
|
-
- **`hb-contact-card` — `contact-card`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-contact-card@0.
|
|
74
|
-
- **`hb-contact-item` — `contact-item`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-contact-item@0.
|
|
75
|
-
- **`hb-cookie-law-banner` — `cookie-law-banner`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-cookie-law-banner@0.
|
|
76
|
-
- **`hb-dashboard-card1` — `dashboard-card1`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dashboard-card1@0.
|
|
77
|
-
- **`hb-dashboard-counter-lines` — `dashboard-counter-lines`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dashboard-counter-lines@0.
|
|
78
|
-
- **`hb-dashboard-indicator` — `dashboard-indicator`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dashboard-indicator@0.
|
|
79
|
-
- **`hb-dialog` — `dialog`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dialog@0.
|
|
80
|
-
- **`hb-dialog-loader` — `dialog-loader`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dialog-loader@0.
|
|
81
|
-
- **`hb-dialogform` — `dialogform`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dialogform@0.
|
|
82
|
-
- **`hb-downloader` — `downloader`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-downloader@0.
|
|
83
|
-
- **`hb-dropdown-notifications` — `dropdown-notifications`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dropdown-notifications@0.
|
|
84
|
-
- **`hb-dropdown-simple` — `dropdown-simple`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dropdown-simple@0.
|
|
85
|
-
- **`hb-editor-video` — `editor-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-editor-video@0.
|
|
86
|
-
- **`hb-faq-component` — `faq-component`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-faq-component@0.
|
|
87
|
-
- **`hb-footer` — `footer`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-footer@0.
|
|
88
|
-
- **`hb-form` — `form`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-form@0.
|
|
89
|
-
- **`hb-form-composer` — `form-composer`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-form-composer@0.
|
|
90
|
-
- **`hb-form-contact` — `form-contact`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-form-contact@0.
|
|
91
|
-
- **`hb-funnel` — `funnel`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-funnel@0.
|
|
92
|
-
- **`hb-gallery-video` — `gallery-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-gallery-video@0.
|
|
93
|
-
- **`hb-gauge` — `gauge`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-gauge@0.
|
|
94
|
-
- **`hb-input-area` — `input-area`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-area@0.
|
|
95
|
-
- **`hb-input-array-objects` — `input-array-objects`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-array-objects@0.
|
|
96
|
-
- **`hb-input-array-tags` — `input-array-tags`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-array-tags@0.
|
|
97
|
-
- **`hb-input-checkbox` — `input-checkbox`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-checkbox@0.
|
|
98
|
-
- **`hb-input-color` — `input-color`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-color@0.
|
|
99
|
-
- **`hb-input-coords` — `input-coords`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-coords@0.
|
|
100
|
-
- **`hb-input-date` — `input-date`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-date@0.
|
|
101
|
-
- **`hb-input-datetime` — `input-datetime`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-datetime@0.
|
|
102
|
-
- **`hb-input-email` — `input-email`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-email@0.
|
|
103
|
-
- **`hb-input-file` — `input-file`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-file@0.
|
|
104
|
-
- **`hb-input-number` — `input-number`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-number@0.
|
|
105
|
-
- **`hb-input-radio` — `input-radio`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-radio@0.
|
|
106
|
-
- **`hb-input-range` — `input-range`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-range@0.
|
|
107
|
-
- **`hb-input-select` — `input-select`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-select@0.
|
|
108
|
-
- **`hb-input-text` — `input-text`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-text@0.
|
|
109
|
-
- **`hb-json-viewer` — `json-viewer`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-json-viewer@0.
|
|
110
|
-
- **`hb-layout` — `layout`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-layout@0.
|
|
111
|
-
- **`hb-layout-desktop` — `layout-desktop`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-layout-desktop@0.
|
|
112
|
-
- **`hb-layout-mobile` — `layout-mobile`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-layout-mobile@0.
|
|
113
|
-
- **`hb-map` — `map`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-map@0.
|
|
114
|
-
- **`hb-markdown-viewer` — `markdown-viewer`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-markdown-viewer@0.
|
|
115
|
-
- **`hb-matrix-video` — `matrix-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-matrix-video@0.
|
|
116
|
-
- **`hb-messages-box` — `messages-box`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-messages-box@0.
|
|
117
|
-
- **`hb-messages-list` — `messages-list`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-messages-list@0.
|
|
118
|
-
- **`hb-messages-send` — `messages-send`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-messages-send@0.
|
|
119
|
-
- **`hb-messages-topics-card` — `messages-topics-card`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-messages-topics-card@0.
|
|
120
|
-
- **`hb-modal-video` — `modal-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-modal-video@0.
|
|
121
|
-
- **`hb-navbar` — `navbar`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-navbar@0.
|
|
122
|
-
- **`hb-offcanvas` — `offcanvas`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-offcanvas@0.
|
|
123
|
-
- **`hb-order-list` — `order-list`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-order-list@0.
|
|
124
|
-
- **`hb-pad-joystick` — `pad-joystick`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-pad-joystick@0.
|
|
125
|
-
- **`hb-page-checkout` — `page-checkout`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-page-checkout@0.
|
|
126
|
-
- **`hb-page-invoice` — `page-invoice`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-page-invoice@0.
|
|
127
|
-
- **`hb-paginate` — `paginate`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-paginate@0.
|
|
128
|
-
- **`hb-paragraps-around-image` — `paragraps-around-image`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-paragraps-around-image@0.
|
|
129
|
-
- **`hb-paragraps-around-image-cell` — `paragraps-around-image-cell`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-paragraps-around-image-cell@0.
|
|
130
|
-
- **`hb-payment-paypal` — `payment-paypal`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-payment-paypal@0.
|
|
131
|
-
- **`hb-player-input-streaming` — `player-input-streaming`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-player-input-streaming@0.
|
|
132
|
-
- **`hb-player-live` — `player-live`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-player-live@0.
|
|
133
|
-
- **`hb-player-live-camera-ptz` — `player-live-camera-ptz`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-player-live-camera-ptz@0.
|
|
134
|
-
- **`hb-product-comparison` — `product-comparison`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-product-comparison@0.
|
|
135
|
-
- **`hb-range-slider` — `range-slider`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-range-slider@0.
|
|
136
|
-
- **`hb-searchbar` — `searchbar`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-searchbar@0.
|
|
137
|
-
- **`hb-shop-item-cell` — `shop-item-cell`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-shop-item-cell@0.
|
|
138
|
-
- **`hb-shop-item-row` — `shop-item-row`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-shop-item-row@0.
|
|
139
|
-
- **`hb-sidebar-cards-navigator` — `sidebar-cards-navigator`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-sidebar-cards-navigator@0.
|
|
140
|
-
- **`hb-sidebar-desktop` — `sidebar-desktop`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-sidebar-desktop@0.
|
|
141
|
-
- **`hb-sidenav-button` — `sidenav-button`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-sidenav-button@0.
|
|
142
|
-
- **`hb-sidenav-link` — `sidenav-link`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-sidenav-link@0.
|
|
143
|
-
- **`hb-site-contacts-row` — `site-contacts-row`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-site-contacts-row@0.
|
|
144
|
-
- **`hb-site-paragraph-with-image` — `site-paragraph-with-image`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-site-paragraph-with-image@0.
|
|
145
|
-
- **`hb-site-slideshow` — `site-slideshow`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-site-slideshow@0.
|
|
146
|
-
- **`hb-site-slideshow-horizontal` — `site-slideshow-horizontal`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-site-slideshow-horizontal@0.
|
|
147
|
-
- **`hb-skeleton-component` — `skeleton-component`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-skeleton-component@0.
|
|
148
|
-
- **`hb-stylus-notebook` — `stylus-notebook`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-stylus-notebook@0.
|
|
149
|
-
- **`hb-stylus-paper` — `stylus-paper`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-stylus-paper@0.
|
|
150
|
-
- **`hb-table` — `table`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-table@0.
|
|
151
|
-
- **`hb-terms-doc-templates` — `terms-doc-templates`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-terms-doc-templates@0.
|
|
152
|
-
- **`hb-toast` — `toast`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-toast@0.
|
|
153
|
-
- **`hb-tooltip` — `tooltip`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-tooltip@0.
|
|
154
|
-
- **`hb-uploader` — `uploader`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-uploader@0.
|
|
155
|
-
- **`hb-vertical-img-txt-archive` — `vertical-img-txt-archive`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-vertical-img-txt-archive@0.
|
|
62
|
+
- **`hb-area-code` — `area-code`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-area-code@0.67.0/README.md) · [same text in this document](#wc-area-code)
|
|
63
|
+
- **`hb-auth` — `auth`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-auth@0.67.0/README.md) · [same text in this document](#wc-auth)
|
|
64
|
+
- **`hb-auth-social-login-button` — `auth-social-login-button`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-auth-social-login-button@0.67.0/README.md) · [same text in this document](#wc-auth-social-login-button)
|
|
65
|
+
- **`hb-banner` — `banner`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-banner@0.67.0/README.md) · [same text in this document](#wc-banner)
|
|
66
|
+
- **`hb-calendar-appointments` — `calendar-appointments`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-calendar-appointments@0.67.0/README.md) · [same text in this document](#wc-calendar-appointments)
|
|
67
|
+
- **`hb-calendar-events` — `calendar-events`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-calendar-events@0.67.0/README.md) · [same text in this document](#wc-calendar-events)
|
|
68
|
+
- **`hb-captcha-google-recaptcha-v2-invisible` — `captcha-google-recaptcha-v2-invisible`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-captcha-google-recaptcha-v2-invisible@0.67.0/README.md) · [same text in this document](#wc-captcha-google-recaptcha-v2-invisible)
|
|
69
|
+
- **`hb-card-video` — `card-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-card-video@0.67.0/README.md) · [same text in this document](#wc-card-video)
|
|
70
|
+
- **`hb-chartjs` — `chartjs`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-chartjs@0.67.0/README.md) · [same text in this document](#wc-chartjs)
|
|
71
|
+
- **`hb-checkout` — `checkout`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-checkout@0.67.0/README.md) · [same text in this document](#wc-checkout)
|
|
72
|
+
- **`hb-checkout-shopping-cart` — `checkout-shopping-cart`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-checkout-shopping-cart@0.67.0/README.md) · [same text in this document](#wc-checkout-shopping-cart)
|
|
73
|
+
- **`hb-contact-card` — `contact-card`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-contact-card@0.67.0/README.md) · [same text in this document](#wc-contact-card)
|
|
74
|
+
- **`hb-contact-item` — `contact-item`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-contact-item@0.67.0/README.md) · [same text in this document](#wc-contact-item)
|
|
75
|
+
- **`hb-cookie-law-banner` — `cookie-law-banner`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-cookie-law-banner@0.67.0/README.md) · [same text in this document](#wc-cookie-law-banner)
|
|
76
|
+
- **`hb-dashboard-card1` — `dashboard-card1`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dashboard-card1@0.67.0/README.md) · [same text in this document](#wc-dashboard-card1)
|
|
77
|
+
- **`hb-dashboard-counter-lines` — `dashboard-counter-lines`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dashboard-counter-lines@0.67.0/README.md) · [same text in this document](#wc-dashboard-counter-lines)
|
|
78
|
+
- **`hb-dashboard-indicator` — `dashboard-indicator`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dashboard-indicator@0.67.0/README.md) · [same text in this document](#wc-dashboard-indicator)
|
|
79
|
+
- **`hb-dialog` — `dialog`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dialog@0.67.0/README.md) · [same text in this document](#wc-dialog)
|
|
80
|
+
- **`hb-dialog-loader` — `dialog-loader`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dialog-loader@0.67.0/README.md) · [same text in this document](#wc-dialog-loader)
|
|
81
|
+
- **`hb-dialogform` — `dialogform`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dialogform@0.67.0/README.md) · [same text in this document](#wc-dialogform)
|
|
82
|
+
- **`hb-downloader` — `downloader`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-downloader@0.67.0/README.md) · [same text in this document](#wc-downloader)
|
|
83
|
+
- **`hb-dropdown-notifications` — `dropdown-notifications`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dropdown-notifications@0.67.0/README.md) · [same text in this document](#wc-dropdown-notifications)
|
|
84
|
+
- **`hb-dropdown-simple` — `dropdown-simple`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-dropdown-simple@0.67.0/README.md) · [same text in this document](#wc-dropdown-simple)
|
|
85
|
+
- **`hb-editor-video` — `editor-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-editor-video@0.67.0/README.md) · [same text in this document](#wc-editor-video)
|
|
86
|
+
- **`hb-faq-component` — `faq-component`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-faq-component@0.67.0/README.md) · [same text in this document](#wc-faq-component)
|
|
87
|
+
- **`hb-footer` — `footer`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-footer@0.67.0/README.md) · [same text in this document](#wc-footer)
|
|
88
|
+
- **`hb-form` — `form`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-form@0.67.0/README.md) · [same text in this document](#wc-form)
|
|
89
|
+
- **`hb-form-composer` — `form-composer`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-form-composer@0.67.0/README.md) · [same text in this document](#wc-form-composer)
|
|
90
|
+
- **`hb-form-contact` — `form-contact`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-form-contact@0.67.0/README.md) · [same text in this document](#wc-form-contact)
|
|
91
|
+
- **`hb-funnel` — `funnel`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-funnel@0.67.0/README.md) · [same text in this document](#wc-funnel)
|
|
92
|
+
- **`hb-gallery-video` — `gallery-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-gallery-video@0.67.0/README.md) · [same text in this document](#wc-gallery-video)
|
|
93
|
+
- **`hb-gauge` — `gauge`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-gauge@0.67.0/README.md) · [same text in this document](#wc-gauge)
|
|
94
|
+
- **`hb-input-area` — `input-area`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-area@0.67.0/README.md) · [same text in this document](#wc-input-area)
|
|
95
|
+
- **`hb-input-array-objects` — `input-array-objects`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-array-objects@0.67.0/README.md) · [same text in this document](#wc-input-array-objects)
|
|
96
|
+
- **`hb-input-array-tags` — `input-array-tags`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-array-tags@0.67.0/README.md) · [same text in this document](#wc-input-array-tags)
|
|
97
|
+
- **`hb-input-checkbox` — `input-checkbox`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-checkbox@0.67.0/README.md) · [same text in this document](#wc-input-checkbox)
|
|
98
|
+
- **`hb-input-color` — `input-color`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-color@0.67.0/README.md) · [same text in this document](#wc-input-color)
|
|
99
|
+
- **`hb-input-coords` — `input-coords`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-coords@0.67.0/README.md) · [same text in this document](#wc-input-coords)
|
|
100
|
+
- **`hb-input-date` — `input-date`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-date@0.67.0/README.md) · [same text in this document](#wc-input-date)
|
|
101
|
+
- **`hb-input-datetime` — `input-datetime`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-datetime@0.67.0/README.md) · [same text in this document](#wc-input-datetime)
|
|
102
|
+
- **`hb-input-email` — `input-email`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-email@0.67.0/README.md) · [same text in this document](#wc-input-email)
|
|
103
|
+
- **`hb-input-file` — `input-file`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-file@0.67.0/README.md) · [same text in this document](#wc-input-file)
|
|
104
|
+
- **`hb-input-number` — `input-number`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-number@0.67.0/README.md) · [same text in this document](#wc-input-number)
|
|
105
|
+
- **`hb-input-radio` — `input-radio`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-radio@0.67.0/README.md) · [same text in this document](#wc-input-radio)
|
|
106
|
+
- **`hb-input-range` — `input-range`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-range@0.67.0/README.md) · [same text in this document](#wc-input-range)
|
|
107
|
+
- **`hb-input-select` — `input-select`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-select@0.67.0/README.md) · [same text in this document](#wc-input-select)
|
|
108
|
+
- **`hb-input-text` — `input-text`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-input-text@0.67.0/README.md) · [same text in this document](#wc-input-text)
|
|
109
|
+
- **`hb-json-viewer` — `json-viewer`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-json-viewer@0.67.0/README.md) · [same text in this document](#wc-json-viewer)
|
|
110
|
+
- **`hb-layout` — `layout`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-layout@0.67.0/README.md) · [same text in this document](#wc-layout)
|
|
111
|
+
- **`hb-layout-desktop` — `layout-desktop`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-layout-desktop@0.67.0/README.md) · [same text in this document](#wc-layout-desktop)
|
|
112
|
+
- **`hb-layout-mobile` — `layout-mobile`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-layout-mobile@0.67.0/README.md) · [same text in this document](#wc-layout-mobile)
|
|
113
|
+
- **`hb-map` — `map`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-map@0.67.0/README.md) · [same text in this document](#wc-map)
|
|
114
|
+
- **`hb-markdown-viewer` — `markdown-viewer`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-markdown-viewer@0.67.0/README.md) · [same text in this document](#wc-markdown-viewer)
|
|
115
|
+
- **`hb-matrix-video` — `matrix-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-matrix-video@0.67.0/README.md) · [same text in this document](#wc-matrix-video)
|
|
116
|
+
- **`hb-messages-box` — `messages-box`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-messages-box@0.67.0/README.md) · [same text in this document](#wc-messages-box)
|
|
117
|
+
- **`hb-messages-list` — `messages-list`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-messages-list@0.67.0/README.md) · [same text in this document](#wc-messages-list)
|
|
118
|
+
- **`hb-messages-send` — `messages-send`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-messages-send@0.67.0/README.md) · [same text in this document](#wc-messages-send)
|
|
119
|
+
- **`hb-messages-topics-card` — `messages-topics-card`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-messages-topics-card@0.67.0/README.md) · [same text in this document](#wc-messages-topics-card)
|
|
120
|
+
- **`hb-modal-video` — `modal-video`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-modal-video@0.67.0/README.md) · [same text in this document](#wc-modal-video)
|
|
121
|
+
- **`hb-navbar` — `navbar`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-navbar@0.67.0/README.md) · [same text in this document](#wc-navbar)
|
|
122
|
+
- **`hb-offcanvas` — `offcanvas`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-offcanvas@0.67.0/README.md) · [same text in this document](#wc-offcanvas)
|
|
123
|
+
- **`hb-order-list` — `order-list`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-order-list@0.67.0/README.md) · [same text in this document](#wc-order-list)
|
|
124
|
+
- **`hb-pad-joystick` — `pad-joystick`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-pad-joystick@0.67.0/README.md) · [same text in this document](#wc-pad-joystick)
|
|
125
|
+
- **`hb-page-checkout` — `page-checkout`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-page-checkout@0.67.0/README.md) · [same text in this document](#wc-page-checkout)
|
|
126
|
+
- **`hb-page-invoice` — `page-invoice`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-page-invoice@0.67.0/README.md) · [same text in this document](#wc-page-invoice)
|
|
127
|
+
- **`hb-paginate` — `paginate`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-paginate@0.67.0/README.md) · [same text in this document](#wc-paginate)
|
|
128
|
+
- **`hb-paragraps-around-image` — `paragraps-around-image`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-paragraps-around-image@0.67.0/README.md) · [same text in this document](#wc-paragraps-around-image)
|
|
129
|
+
- **`hb-paragraps-around-image-cell` — `paragraps-around-image-cell`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-paragraps-around-image-cell@0.67.0/README.md) · [same text in this document](#wc-paragraps-around-image-cell)
|
|
130
|
+
- **`hb-payment-paypal` — `payment-paypal`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-payment-paypal@0.67.0/README.md) · [same text in this document](#wc-payment-paypal)
|
|
131
|
+
- **`hb-player-input-streaming` — `player-input-streaming`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-player-input-streaming@0.67.0/README.md) · [same text in this document](#wc-player-input-streaming)
|
|
132
|
+
- **`hb-player-live` — `player-live`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-player-live@0.67.0/README.md) · [same text in this document](#wc-player-live)
|
|
133
|
+
- **`hb-player-live-camera-ptz` — `player-live-camera-ptz`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-player-live-camera-ptz@0.67.0/README.md) · [same text in this document](#wc-player-live-camera-ptz)
|
|
134
|
+
- **`hb-product-comparison` — `product-comparison`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-product-comparison@0.67.0/README.md) · [same text in this document](#wc-product-comparison)
|
|
135
|
+
- **`hb-range-slider` — `range-slider`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-range-slider@0.67.0/README.md) · [same text in this document](#wc-range-slider)
|
|
136
|
+
- **`hb-searchbar` — `searchbar`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-searchbar@0.67.0/README.md) · [same text in this document](#wc-searchbar)
|
|
137
|
+
- **`hb-shop-item-cell` — `shop-item-cell`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-shop-item-cell@0.67.0/README.md) · [same text in this document](#wc-shop-item-cell)
|
|
138
|
+
- **`hb-shop-item-row` — `shop-item-row`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-shop-item-row@0.67.0/README.md) · [same text in this document](#wc-shop-item-row)
|
|
139
|
+
- **`hb-sidebar-cards-navigator` — `sidebar-cards-navigator`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-sidebar-cards-navigator@0.67.0/README.md) · [same text in this document](#wc-sidebar-cards-navigator)
|
|
140
|
+
- **`hb-sidebar-desktop` — `sidebar-desktop`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-sidebar-desktop@0.67.0/README.md) · [same text in this document](#wc-sidebar-desktop)
|
|
141
|
+
- **`hb-sidenav-button` — `sidenav-button`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-sidenav-button@0.67.0/README.md) · [same text in this document](#wc-sidenav-button)
|
|
142
|
+
- **`hb-sidenav-link` — `sidenav-link`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-sidenav-link@0.67.0/README.md) · [same text in this document](#wc-sidenav-link)
|
|
143
|
+
- **`hb-site-contacts-row` — `site-contacts-row`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-site-contacts-row@0.67.0/README.md) · [same text in this document](#wc-site-contacts-row)
|
|
144
|
+
- **`hb-site-paragraph-with-image` — `site-paragraph-with-image`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-site-paragraph-with-image@0.67.0/README.md) · [same text in this document](#wc-site-paragraph-with-image)
|
|
145
|
+
- **`hb-site-slideshow` — `site-slideshow`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-site-slideshow@0.67.0/README.md) · [same text in this document](#wc-site-slideshow)
|
|
146
|
+
- **`hb-site-slideshow-horizontal` — `site-slideshow-horizontal`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-site-slideshow-horizontal@0.67.0/README.md) · [same text in this document](#wc-site-slideshow-horizontal)
|
|
147
|
+
- **`hb-skeleton-component` — `skeleton-component`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-skeleton-component@0.67.0/README.md) · [same text in this document](#wc-skeleton-component)
|
|
148
|
+
- **`hb-stylus-notebook` — `stylus-notebook`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-stylus-notebook@0.67.0/README.md) · [same text in this document](#wc-stylus-notebook)
|
|
149
|
+
- **`hb-stylus-paper` — `stylus-paper`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-stylus-paper@0.67.0/README.md) · [same text in this document](#wc-stylus-paper)
|
|
150
|
+
- **`hb-table` — `table`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-table@0.67.0/README.md) · [same text in this document](#wc-table)
|
|
151
|
+
- **`hb-terms-doc-templates` — `terms-doc-templates`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-terms-doc-templates@0.67.0/README.md) · [same text in this document](#wc-terms-doc-templates)
|
|
152
|
+
- **`hb-toast` — `toast`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-toast@0.67.0/README.md) · [same text in this document](#wc-toast)
|
|
153
|
+
- **`hb-tooltip` — `tooltip`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-tooltip@0.67.0/README.md) · [same text in this document](#wc-tooltip)
|
|
154
|
+
- **`hb-uploader` — `uploader`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-uploader@0.67.0/README.md) · [same text in this document](#wc-uploader)
|
|
155
|
+
- **`hb-vertical-img-txt-archive` — `vertical-img-txt-archive`** — [README on jsDelivr](https://cdn.jsdelivr.net/npm/@htmlbricks/hb-vertical-img-txt-archive@0.67.0/README.md) · [same text in this document](#wc-vertical-img-txt-archive)
|
|
156
156
|
|
|
157
157
|
---
|
|
158
158
|
|
|
@@ -255,7 +255,7 @@ Full authentication UI driven by the `type` attribute: local login and registrat
|
|
|
255
255
|
|
|
256
256
|
### Usage notes
|
|
257
257
|
|
|
258
|
-
- Built with
|
|
258
|
+
- Built with Bulma 1 (Sass) inside the shadow root; theme variables apply on `:host`.
|
|
259
259
|
- Uses bootstrap-icons where the UI shows icons.
|
|
260
260
|
- Shadow DOM: slot `header` for custom branding; social buttons are composed internally.
|
|
261
261
|
- Set `i18nlang` for Italian or English strings where supported.
|
|
@@ -333,7 +333,7 @@ Clickable OAuth provider tile (default SVGs for Google, GitHub, GitLab, Facebook
|
|
|
333
333
|
|
|
334
334
|
### What it does
|
|
335
335
|
|
|
336
|
-
Marketing-style hero strip: logo image beside a title and subtitle, using
|
|
336
|
+
Marketing-style hero strip: logo image beside a title and subtitle, using **Bulma** `container is-fluid`, `columns`, and `title` / `subtitle`. Desktop layout uses `is-hidden-touch`; compact layout uses `is-hidden-desktop`.
|
|
337
337
|
|
|
338
338
|
### Custom element
|
|
339
339
|
|
|
@@ -357,8 +357,8 @@ None declared in types (`Events` is an empty object).
|
|
|
357
357
|
|
|
358
358
|
### Usage notes
|
|
359
359
|
|
|
360
|
-
- Relies on
|
|
361
|
-
-
|
|
360
|
+
- Relies on Bulma grid, visibility helpers (`is-hidden-touch`, `is-hidden-desktop`), and typography helpers (`has-text-right`, `has-text-centered`).
|
|
361
|
+
- Icons are not bundled; extend the markup if you need icon fonts.
|
|
362
362
|
- Shadow DOM keeps typography/spacing internal unless slotted content is added in implementation.
|
|
363
363
|
- No i18n in `docs.ts`.
|
|
364
364
|
|
|
@@ -528,7 +528,7 @@ Loads the Google reCAPTCHA v2 invisible SDK, renders the widget with your `api_k
|
|
|
528
528
|
|
|
529
529
|
### What it does
|
|
530
530
|
|
|
531
|
-
|
|
531
|
+
**Bulma** `card` with a 16:9 `image` frame: YouTube embed when `provider` is `youtube`, otherwise an HTML5 `<video>` with MP4 source. Optional title, truncated description, formatted `time` via Day.js (`dateformat`), “read more” `button is-primary`, and social share placeholders when `pageuri` is set. Bootstrap Icons for the clock in the footer.
|
|
532
532
|
|
|
533
533
|
### Custom element
|
|
534
534
|
|
|
@@ -557,7 +557,7 @@ None declared in types (`Events` is an empty object).
|
|
|
557
557
|
|
|
558
558
|
### Usage notes
|
|
559
559
|
|
|
560
|
-
- Card layout follows
|
|
560
|
+
- Card layout follows Bulma `card` / `card-image` / `card-content` / `card-footer` patterns.
|
|
561
561
|
- YouTube vs file video is selected only via `provider`; ensure `videosrc` matches the mode.
|
|
562
562
|
- Shadow DOM contains the player and share UI; slot `card-footer` extends the card.
|
|
563
563
|
- No i18n in `docs.ts`.
|
|
@@ -647,7 +647,7 @@ End-to-end checkout flow: editable billing/shipping user profile (`hb-form`), sh
|
|
|
647
647
|
| `payment` | object (required) | JSON `IPayment`: merchantName, total, currencyCode, countryCode, type?, shipmentFee?. |
|
|
648
648
|
| `completed` | union (optional) | `"yes"` \| `"no"` — controls summary vs edit flow. |
|
|
649
649
|
|
|
650
|
-
**CSS vars:** `--edit-color`, `--paypal-button-color`, `--hb-
|
|
650
|
+
**CSS vars:** `--edit-color`, `--paypal-button-color`, `--hb-checkout-border`, Bulma `--bulma-*` (see `extra/docs.ts`). **Parts:** `title`, `subtitle`. **Slots:** `payment_terms`, `payment_completed`, `userinfo`, `title`.
|
|
651
651
|
|
|
652
652
|
### Events (`CustomEvent` names)
|
|
653
653
|
|
|
@@ -658,7 +658,11 @@ End-to-end checkout flow: editable billing/shipping user profile (`hb-form`), sh
|
|
|
658
658
|
|
|
659
659
|
### Usage notes
|
|
660
660
|
|
|
661
|
-
|
|
661
|
+
### Styling (Bulma)
|
|
662
|
+
|
|
663
|
+
Chrome uses **Bulma** `button`, `title`, and `subtitle`. Theme on `:host` via Bulma’s CSS variables; set **`--bulma-*`** (and optional `--edit-color`) from the page. **Bootstrap Icons** load from `<svelte:head>` for delivery/payment icons.
|
|
664
|
+
|
|
665
|
+
- Nested `hb-form` / payment elements carry their own shadow styles.
|
|
662
666
|
- Nested web components (`hb-form`, payment elements) live inside the flow.
|
|
663
667
|
- Large JSON props are typical; validate shapes before setting attributes.
|
|
664
668
|
- No i18n array in `docs.ts` for this component.
|
|
@@ -699,7 +703,11 @@ Order summary built on `hb-table`: maps `payment.items` into rows (name, quantit
|
|
|
699
703
|
| `payment` | object (required) | JSON `IShoppingPayment`: countryCode `IT` \| `US` \| `EU`, currencySymbol?, shipmentFee?, items: `IShopItem[]` (id, name, unitaryPrice, taxPercentage, quantity?, unit?). |
|
|
700
704
|
| `completed` | union (optional) | `"yes"` \| `"no"` — order-placed compact UI when enabled. |
|
|
701
705
|
|
|
702
|
-
**CSS vars:** `--hb-checkout-border`,
|
|
706
|
+
**CSS vars:** `--hb-checkout-border`, Bulma `--bulma-*` (see `extra/docs.ts`). No slots or parts in metadata.
|
|
707
|
+
|
|
708
|
+
### Styling (Bulma)
|
|
709
|
+
|
|
710
|
+
Uses **Bulma** `container`, `columns` / `column`, and `title`. Theme tokens on `:host`; override with **`--bulma-*`**. **Bootstrap Icons** load from `<svelte:head>` for the cart icon.
|
|
703
711
|
|
|
704
712
|
### Events (`CustomEvent` names)
|
|
705
713
|
|
|
@@ -707,7 +715,7 @@ None declared in types (`Events` is an empty object).
|
|
|
707
715
|
|
|
708
716
|
### Usage notes
|
|
709
717
|
|
|
710
|
-
- Styling
|
|
718
|
+
- Styling uses Bulma theme variables on `:host` (`--bulma-*`); see `extra/docs.ts`.
|
|
711
719
|
- Depends on `hb-table` internally for row layout.
|
|
712
720
|
- Shadow DOM encapsulates the table presentation.
|
|
713
721
|
- No i18n in `docs.ts`.
|
|
@@ -731,7 +739,7 @@ None declared in types (`Events` is an empty object).
|
|
|
731
739
|
|
|
732
740
|
### What it does
|
|
733
741
|
|
|
734
|
-
A comprehensive contact card: personal, contact, company, and social information in a
|
|
742
|
+
A comprehensive contact card: personal, contact, company, and social information in a Bulma-styled card. Uses one `data` object with structured arrays for phones, addresses, and social profiles. Features include avatar placeholder, clickable contact rows, social links, collapsible sections, and an actions dropdown with grouping, badges, and links.
|
|
735
743
|
|
|
736
744
|
### Custom element
|
|
737
745
|
|
|
@@ -765,7 +773,7 @@ A comprehensive contact card: personal, contact, company, and social information
|
|
|
765
773
|
|
|
766
774
|
### Usage notes
|
|
767
775
|
|
|
768
|
-
- Colors
|
|
776
|
+
- Colors use custom properties aligned with the card skin; Bulma theme variables apply on `:host`.
|
|
769
777
|
- Icons use bootstrap-icons for contact and social affordances.
|
|
770
778
|
- Shadow DOM exposes `::part()` hooks for card regions.
|
|
771
779
|
- Set `i18nlang` for English or Italian strings.
|
|
@@ -892,7 +900,7 @@ Bootstrap alert cookie notice until the user accepts or declines; the choice is
|
|
|
892
900
|
|
|
893
901
|
### What it does
|
|
894
902
|
|
|
895
|
-
|
|
903
|
+
Bulma card shell for dashboards: JSON `header` supplies optional Bootstrap Icon name, title label, and right-aligned tag; JSON `body` can remove inner padding with `noborder`. Slots let you inject markup (`header_content`, `content`). Bootstrap Icons are loaded from the CDN in `svelte:head` for `bi` classes on the optional header icon.
|
|
896
904
|
|
|
897
905
|
### Custom element
|
|
898
906
|
|
|
@@ -907,16 +915,19 @@ Bootstrap card shell for dashboards: JSON `header` supplies optional Bootstrap I
|
|
|
907
915
|
| `header` | object (optional) | JSON `{ icon?: string; label: string; badge?: string }`. |
|
|
908
916
|
| `body` | object (optional) | JSON `{ noborder?: boolean }`. |
|
|
909
917
|
|
|
910
|
-
**
|
|
918
|
+
**Bulma `--bulma-*` theme vars** (see `extra/docs.ts`). **Parts:** `text_placeholder`, `badge`, `card`. **Slots:** `header_content`, `content`.
|
|
911
919
|
|
|
912
920
|
### Events (`CustomEvent` names)
|
|
913
921
|
|
|
914
922
|
None declared in types (`Events` is an empty object).
|
|
915
923
|
|
|
924
|
+
### Styling (Bulma)
|
|
925
|
+
|
|
926
|
+
The component uses Bulma `card`, `card-header`, `card-header-title`, `card-content`, and `tag`. Theme defaults are applied on `:host` via Bulma’s light theme and `setup-theme`. Override card look with public `--bulma-*` properties (for example `--bulma-card-background-color`, `--bulma-card-shadow`, `--bulma-card-header-color`). Bootstrap Icons remain a separate stylesheet for `header.icon`.
|
|
927
|
+
|
|
916
928
|
### Usage notes
|
|
917
929
|
|
|
918
|
-
-
|
|
919
|
-
- `header.icon` should be a bootstrap-icons icon name string.
|
|
930
|
+
- `header.icon` should be a bootstrap-icons icon name string (without the `bi-` prefix).
|
|
920
931
|
- Use `::part(card)` and related parts for host-level theming inside shadow root.
|
|
921
932
|
- No i18n in `docs.ts`.
|
|
922
933
|
|
|
@@ -939,7 +950,17 @@ None declared in types (`Events` is an empty object).
|
|
|
939
950
|
|
|
940
951
|
### What it does
|
|
941
952
|
|
|
942
|
-
Vertical list of metric rows from JSON `lines`: each row shows optional Bootstrap Icon, label text, and a
|
|
953
|
+
Vertical list of metric rows from JSON `lines`: each row shows optional Bootstrap Icon, label text, and a Bulma light rounded tag for the counter value. `link.type` chooses behavior—open URI in a new tab, same-window navigation, custom `counterClick` event with a key, or a static row with no click handler.
|
|
954
|
+
|
|
955
|
+
### Styling (Bulma)
|
|
956
|
+
|
|
957
|
+
The component bundles **Bulma 1.x** in the shadow root: **`elements/tag`** only, with theme defaults on `:host` (`--bulma-hb-def-*`). Set public **`--bulma-*`** on `body` or `:root` so they inherit onto the host. Icons remain **Bootstrap Icons** (loaded via `<svelte:head>`); use icon names in the `icon` field. See [Bulma CSS variables](https://bulma.io/documentation/features/css-variables/).
|
|
958
|
+
|
|
959
|
+
**Shadow markup (simplified):**
|
|
960
|
+
|
|
961
|
+
- **`div.item`** — row; optional click for `tab` / `page` / `event` links.
|
|
962
|
+
- **`div.item_content`** / **`div.text`** — label + optional **`i.bi`**.
|
|
963
|
+
- **`div.value.tag.is-light.is-rounded`** — counter (exposed as part **`value`**).
|
|
943
964
|
|
|
944
965
|
### Custom element
|
|
945
966
|
|
|
@@ -953,7 +974,7 @@ Vertical list of metric rows from JSON `lines`: each row shows optional Bootstra
|
|
|
953
974
|
| `style` | string (optional) | Inline style string. |
|
|
954
975
|
| `lines` | array (optional) | JSON `Line[]`: text, value, link?: `{ type: "tab" \| "page" \| "event"; uri: string }`, index?, icon?. |
|
|
955
976
|
|
|
956
|
-
**
|
|
977
|
+
**Parts:** `item`, `icon`, `text`, `value`. No slots.
|
|
957
978
|
|
|
958
979
|
### Events (`CustomEvent` names)
|
|
959
980
|
|
|
@@ -984,7 +1005,7 @@ Vertical list of metric rows from JSON `lines`: each row shows optional Bootstra
|
|
|
984
1005
|
|
|
985
1006
|
### What it does
|
|
986
1007
|
|
|
987
|
-
Compact KPI tile: large `number`, caption `text`,
|
|
1008
|
+
Compact KPI tile: large `number`, caption `text`, configurable Bootstrap Icon, and `karma` accent from Bulma semantic colors. When `link_label` is set, a footer strip is shown and clicks dispatch `dashboardIndicatorClick` with the component `id`.
|
|
988
1009
|
|
|
989
1010
|
### Custom element
|
|
990
1011
|
|
|
@@ -1000,8 +1021,9 @@ Compact KPI tile: large `number`, caption `text`, and configurable Bootstrap Ico
|
|
|
1000
1021
|
| `text` | string (optional) | Caption under the number. |
|
|
1001
1022
|
| `icon` | string (required) | Bootstrap Icons name. |
|
|
1002
1023
|
| `link_label` | string (optional) | If set, shows footer and enables click dispatch. |
|
|
1024
|
+
| `karma` | string (optional) | Accent: Bulma semantics `success`, `danger`, `warning`, `primary`, `secondary`, `info` (`secondary` uses Bulma’s `dark` palette), or `none` to use the host CSS variable below. Default `success`. |
|
|
1003
1025
|
|
|
1004
|
-
**CSS var:** `--hb--dashboard-indicator-background`. No slots or parts in metadata.
|
|
1026
|
+
**CSS var (with `karma="none"`):** `--hb--dashboard-indicator-background` — header background and footer accent (any valid CSS color). If omitted while `karma` is `none`, falls back to Bulma `success`. With any other `karma`, this variable is ignored. No slots or parts in metadata.
|
|
1005
1027
|
|
|
1006
1028
|
### Events (`CustomEvent` names)
|
|
1007
1029
|
|
|
@@ -1009,7 +1031,7 @@ Compact KPI tile: large `number`, caption `text`, and configurable Bootstrap Ico
|
|
|
1009
1031
|
|
|
1010
1032
|
### Usage notes
|
|
1011
1033
|
|
|
1012
|
-
-
|
|
1034
|
+
- With Bulma `karma` values, accent comes from `--bulma-*` tokens on `:host`. With `karma="none"`, set `--hb--dashboard-indicator-background` on `hb-dashboard-indicator` (e.g. `style="--hb--dashboard-indicator-background: #6366f1"`).
|
|
1013
1035
|
- Icon name must match bootstrap-icons.
|
|
1014
1036
|
- Shadow DOM wraps the tile; pass `id` when using click events.
|
|
1015
1037
|
- No i18n in `docs.ts`.
|
|
@@ -1023,6 +1045,19 @@ Compact KPI tile: large `number`, caption `text`, and configurable Bootstrap Ico
|
|
|
1023
1045
|
text="Orders today"
|
|
1024
1046
|
icon="cart-check"
|
|
1025
1047
|
link_label="View details"
|
|
1048
|
+
karma="success"
|
|
1049
|
+
></hb-dashboard-indicator>
|
|
1050
|
+
```
|
|
1051
|
+
|
|
1052
|
+
### Custom color (`karma="none"`)
|
|
1053
|
+
|
|
1054
|
+
```html
|
|
1055
|
+
<hb-dashboard-indicator
|
|
1056
|
+
karma="none"
|
|
1057
|
+
style="--hb--dashboard-indicator-background: #6366f1"
|
|
1058
|
+
number="12"
|
|
1059
|
+
text="Custom"
|
|
1060
|
+
icon="stars"
|
|
1026
1061
|
></hb-dashboard-indicator>
|
|
1027
1062
|
```
|
|
1028
1063
|
|
|
@@ -1036,7 +1071,7 @@ Compact KPI tile: large `number`, caption `text`, and configurable Bootstrap Ico
|
|
|
1036
1071
|
|
|
1037
1072
|
### What it does
|
|
1038
1073
|
|
|
1039
|
-
|
|
1074
|
+
**Bulma**-styled modal controlled by string `show` (`yes`/`no`): optional backdrop click to close, Escape when `keyboard` is enabled, and `modal-open` on `document.body`. Slots replace title, body, footer, and button labels; default footer emits `modalConfirm` with `{ id, confirm }` and toggles visibility. Also emits `modalShow` when opened or closed.
|
|
1040
1075
|
|
|
1041
1076
|
### Custom element
|
|
1042
1077
|
|
|
@@ -1049,7 +1084,7 @@ Bootstrap-styled modal controlled by string `show` (`yes`/`no`): fade transition
|
|
|
1049
1084
|
| `id` | string (optional) | Element identifier (included in events). |
|
|
1050
1085
|
| `style` | string (optional) | Inline style string. |
|
|
1051
1086
|
| `show` | union (optional) | `"yes"` \| `"no"` — visibility. |
|
|
1052
|
-
| `confirm_btn_class` | string (optional) |
|
|
1087
|
+
| `confirm_btn_class` | string (optional) | Bulma button color name for confirm (default `primary` → `is-primary`). |
|
|
1053
1088
|
| `title` | string (optional) | Default title text if slot unused. |
|
|
1054
1089
|
| `backdrop` | boolean (optional) | Show backdrop. |
|
|
1055
1090
|
| `ignoreBackdrop` | boolean (optional) | Ignore backdrop interactions when true. |
|
|
@@ -1060,11 +1095,11 @@ Bootstrap-styled modal controlled by string `show` (`yes`/`no`): fade transition
|
|
|
1060
1095
|
| `closelabel` | string (optional) | Close button label. |
|
|
1061
1096
|
| `confirmlabel` | string (optional) | Confirm button label. |
|
|
1062
1097
|
| `disable_confirm` | boolean (optional) | Disable confirm button. |
|
|
1063
|
-
| `close_btn_class` | string (optional) |
|
|
1098
|
+
| `close_btn_class` | string (optional) | Bulma button color name for close (default `secondary` → `is-light` / mapped modifier). |
|
|
1064
1099
|
| `hide_close` | boolean (optional) | Hide close control. |
|
|
1065
1100
|
| `hide_confirm` | boolean (optional) | Hide confirm control. |
|
|
1066
1101
|
|
|
1067
|
-
**CSS vars:**
|
|
1102
|
+
**CSS vars:** Bulma `--bulma-*`, `--hb-modal-max-width`; the host sets compact defaults for `--bulma-modal-card-head-padding`, `--bulma-modal-card-body-padding`, `--bulma-modal-card-title-size`, `--bulma-modal-card-title-line-height`, and `--bulma-modal-card-spacing` (override on the element or an ancestor to taste). **Part:** `modal-dialog`. **Slots:** `header`, `modal-footer`, `body-content`, `footer`, `close-button-label`, `confirm-button-label`.
|
|
1068
1103
|
|
|
1069
1104
|
### Events (`CustomEvent` names)
|
|
1070
1105
|
|
|
@@ -1073,8 +1108,8 @@ Bootstrap-styled modal controlled by string `show` (`yes`/`no`): fade transition
|
|
|
1073
1108
|
|
|
1074
1109
|
### Usage notes
|
|
1075
1110
|
|
|
1076
|
-
-
|
|
1077
|
-
-
|
|
1111
|
+
- Modal behavior (body scroll lock, backdrop) matches typical overlay patterns.
|
|
1112
|
+
- Optional icons depend on implementation; load Bootstrap Icons if you add `bi-*` markup.
|
|
1078
1113
|
- Teleports/focus live in shadow DOM; test accessibility with real browsers.
|
|
1079
1114
|
- No i18n array in `docs.ts`.
|
|
1080
1115
|
|
|
@@ -1102,7 +1137,7 @@ Bootstrap-styled modal controlled by string `show` (`yes`/`no`): fade transition
|
|
|
1102
1137
|
|
|
1103
1138
|
### What it does
|
|
1104
1139
|
|
|
1105
|
-
Thin wrapper around `hb-dialog` that opens automatically while numeric `percentage` is non-zero and shows a
|
|
1140
|
+
Thin wrapper around `hb-dialog` that opens automatically while numeric `percentage` is non-zero and shows a **Bulma** `<progress class="progress">` filled to that value. Forwards `modalShow` from the inner dialog; slots allow overriding the dialog title.
|
|
1106
1141
|
|
|
1107
1142
|
### Custom element
|
|
1108
1143
|
|
|
@@ -1117,7 +1152,7 @@ Thin wrapper around `hb-dialog` that opens automatically while numeric `percenta
|
|
|
1117
1152
|
| `title` | string (optional) | Dialog title text. |
|
|
1118
1153
|
| `percentage` | number (required) | 0 hides/closes behavior; non-zero shows progress (per description). |
|
|
1119
1154
|
|
|
1120
|
-
**
|
|
1155
|
+
**Bulma `--bulma-*` vars** (see `extra/docs.ts`). **Slot:** `title`. No parts in metadata.
|
|
1121
1156
|
|
|
1122
1157
|
### Events (`CustomEvent` names)
|
|
1123
1158
|
|
|
@@ -1125,7 +1160,7 @@ Thin wrapper around `hb-dialog` that opens automatically while numeric `percenta
|
|
|
1125
1160
|
|
|
1126
1161
|
### Usage notes
|
|
1127
1162
|
|
|
1128
|
-
- Progress UI uses
|
|
1163
|
+
- Progress UI uses Bulma `elements/progress` (`is-primary`); percentage is shown below the bar.
|
|
1129
1164
|
- Parent should drive `percentage` from async task state.
|
|
1130
1165
|
- Nested `hb-dialog` means the same overlay constraints as `hb-dialog`.
|
|
1131
1166
|
- No i18n in `docs.ts`.
|
|
@@ -1146,7 +1181,7 @@ Thin wrapper around `hb-dialog` that opens automatically while numeric `percenta
|
|
|
1146
1181
|
|
|
1147
1182
|
### What it does
|
|
1148
1183
|
|
|
1149
|
-
Modal that embeds `hb-form` with the same `schema` contract: live form updates mirror validity and values via `
|
|
1184
|
+
Modal that embeds `hb-form` with the same `schema` contract: live form updates mirror validity and values via `updateForm`, and the confirm button dispatches `modalFormConfirm` with the last valid payload or `modalFormCancel` when dismissed or invalid. Composes `hb-dialog` (Bulma modal, backdrop/keyboard, `show`) and re-dispatches `modalShow`.
|
|
1150
1185
|
|
|
1151
1186
|
### Custom element
|
|
1152
1187
|
|
|
@@ -1159,10 +1194,9 @@ Modal that embeds `hb-form` with the same `schema` contract: live form updates m
|
|
|
1159
1194
|
| `id` | string (optional) | Element identifier. |
|
|
1160
1195
|
| `style` | string (optional) | Inline style string. |
|
|
1161
1196
|
| `show` | union (optional) | `"yes"` \| `"no"`. |
|
|
1162
|
-
| `dialogclasses` | string (optional) |
|
|
1197
|
+
| `dialogclasses` | string (optional) | Reserved on the type; not yet applied in the template. |
|
|
1163
1198
|
| `title` | string (optional) | Modal title. |
|
|
1164
1199
|
| `backdrop` | boolean (optional) | Backdrop toggle. |
|
|
1165
|
-
| `ignoreBackdrop` | boolean (optional) | Ignore backdrop clicks. |
|
|
1166
1200
|
| `keyboard` | boolean (optional) | Escape closes when true. |
|
|
1167
1201
|
| `describedby` | string (optional) | ARIA describedby. |
|
|
1168
1202
|
| `labelledby` | string (optional) | ARIA labelledby. |
|
|
@@ -1171,18 +1205,18 @@ Modal that embeds `hb-form` with the same `schema` contract: live form updates m
|
|
|
1171
1205
|
| `confirmlabel` | string (optional) | Confirm button label. |
|
|
1172
1206
|
| `schema` | array (required) | JSON form schema (same shape as `hb-form` `schema`). |
|
|
1173
1207
|
|
|
1174
|
-
**
|
|
1208
|
+
**Bulma / theme:** CSS variables follow `hb-dialog` and `hb-form` (see those components). **Slots:** `form-header`, `form-footer`, `header`, `modal-footer`, `footer`, `close-button-label`, `confirm-button-label`.
|
|
1175
1209
|
|
|
1176
1210
|
### Events (`CustomEvent` names)
|
|
1177
1211
|
|
|
1178
1212
|
- **`modalFormConfirm`** — `{ [key: string]: any }` — Submitted field map / payload (types use open object).
|
|
1179
1213
|
- **`modalShow`** — `{ id: string; show: true }`
|
|
1180
1214
|
- **`modalFormCancel`** — `{ id: string; error?: string }`
|
|
1181
|
-
- **`
|
|
1215
|
+
- **`updateForm`** — same detail shape as `hb-form` `update` (see form event types).
|
|
1182
1216
|
|
|
1183
1217
|
### Usage notes
|
|
1184
1218
|
|
|
1185
|
-
- Built on
|
|
1219
|
+
- Built on Bulma modal + form patterns shared with `hb-dialog` and `hb-form`.
|
|
1186
1220
|
- `schema` is typically a JSON string in HTML; validate against `hb-form` field types.
|
|
1187
1221
|
- Shadow DOM composes nested components; slots map to form and modal regions.
|
|
1188
1222
|
- No i18n array in `docs.ts` for this component.
|
|
@@ -1210,7 +1244,7 @@ Modal that embeds `hb-form` with the same `schema` contract: live form updates m
|
|
|
1210
1244
|
|
|
1211
1245
|
### What it does
|
|
1212
1246
|
|
|
1213
|
-
Opens `hb-dialog` while `uri` is set and downloads the resource with `XMLHttpRequest` as a blob: optional JSON `headers`, inferred or explicit `targetfilename`, `Content-Disposition` parsing when exposed by CORS, progress
|
|
1247
|
+
Opens `hb-dialog` while `uri` is set and downloads the resource with `XMLHttpRequest` as a blob: optional JSON `headers`, inferred or explicit `targetfilename`, `Content-Disposition` parsing when exposed by CORS, **Bulma** `<progress>` from `onprogress`, then triggers a browser file save. Dispatches `downloadComplete` or `downloadError` (with `downloadid`) and propagates `modalShow`; clears/aborts when the dialog closes.
|
|
1214
1248
|
|
|
1215
1249
|
### Custom element
|
|
1216
1250
|
|
|
@@ -1233,7 +1267,7 @@ Opens `hb-dialog` while `uri` is set and downloads the resource with `XMLHttpReq
|
|
|
1233
1267
|
|
|
1234
1268
|
### Usage notes
|
|
1235
1269
|
|
|
1236
|
-
Pass complex objects (`headers`) as JSON strings on attributes. Requires CORS and appropriate headers for progress and filename hints. Slot: `title` (dialog title).
|
|
1270
|
+
Pass complex objects (`headers`) as JSON strings on attributes. Requires CORS and appropriate headers for progress and filename hints. Slot: `title` (dialog title). Progress styling uses Bulma `elements/progress` (`is-primary`); indeterminate bar while total length is unknown.
|
|
1237
1271
|
|
|
1238
1272
|
### Minimal HTML example
|
|
1239
1273
|
|
|
@@ -1256,7 +1290,7 @@ Pass complex objects (`headers`) as JSON strings on attributes. Requires CORS an
|
|
|
1256
1290
|
|
|
1257
1291
|
### What it does
|
|
1258
1292
|
|
|
1259
|
-
|
|
1293
|
+
Bell control that toggles a Bulma `dropdown` (active state): header row with optional “Clear all” (`clearurl`), default slot for notification rows (`dropdown-item` rows work well), and optional footer link “View all” (`viewurl`). Set `align` to `"right"` for `is-right` menu alignment.
|
|
1260
1294
|
|
|
1261
1295
|
### Custom element
|
|
1262
1296
|
|
|
@@ -1345,7 +1379,7 @@ CSS parts: `dropdown`, `dropdownbutton`, `dropdowncontent`.
|
|
|
1345
1379
|
|
|
1346
1380
|
### What it does
|
|
1347
1381
|
|
|
1348
|
-
Video trimmer UI: plays `src` with an `hb-range-slider` synced to the playhead and in/out bounds (`track` min/max seconds). Numeric time fields, cue-to-current-time buttons, and optional `hb-form` gate final submission. Emits `changeTrackValues`, `dispatchTrack` when no form is used, and form-driven submit when metadata is valid.
|
|
1382
|
+
Video trimmer UI: plays `src` with an `hb-range-slider` synced to the playhead and in/out bounds (`track` min/max seconds). Numeric time fields, cue-to-current-time buttons, and optional `hb-form` gate final submission. Emits `changeTrackValues`, `dispatchTrack` when no form is used, and form-driven submit when metadata is valid. The UI uses **Bulma** `card`, `image is-16by9`, `button`, and `input` controls (Bootstrap Icons for play/pause).
|
|
1349
1383
|
|
|
1350
1384
|
### Custom element
|
|
1351
1385
|
|
|
@@ -1430,7 +1464,7 @@ Drive content via `info` and `topics` as JSON strings. Icon names use Bootstrap
|
|
|
1430
1464
|
|
|
1431
1465
|
### What it does
|
|
1432
1466
|
|
|
1433
|
-
Site footer in `small`, `regular`, or `large` layouts: company block, optional brand/contacts column, link columns, social icons, `hb-contact-item` rows, and policy links—all driven by JSON props. On small layouts the body can expand/collapse unless `disable_expanding_small` is set; slots `footerheader`, `footercontent`, and `footerbottom` wrap major regions.
|
|
1467
|
+
Site footer in `small`, `regular`, or `large` layouts: company block, optional brand/contacts column, link columns, social icons, `hb-contact-item` rows, and policy links—all driven by JSON props. **Bulma** `container`, `columns` / `column`, `title`, and `button` style the regular layout; equal-width sections use a shared CSS variable for column flex-basis. On small layouts the body can expand/collapse unless `disable_expanding_small` is set; slots `footerheader`, `footercontent`, and `footerbottom` wrap major regions.
|
|
1434
1468
|
|
|
1435
1469
|
### Custom element
|
|
1436
1470
|
|
|
@@ -1499,6 +1533,7 @@ JSON `schema`-driven form engine: each entry’s `type` maps to an `hb-input-*`
|
|
|
1499
1533
|
### Events
|
|
1500
1534
|
|
|
1501
1535
|
- `submit` — submitted values as `Record<string, …>` plus `_valid`, `_id`
|
|
1536
|
+
- `submitinvalid` — fired when a submit is attempted (including `submitted="yes"`) but the form fails validation; `show_validation` is turned on so errors are visible
|
|
1502
1537
|
- `getValues` — `{ _valid: boolean; values: Record<string, …> }`
|
|
1503
1538
|
- `update` — `{ _valid: boolean; _id: string; values: Record<string, …> }`
|
|
1504
1539
|
|
|
@@ -1546,7 +1581,7 @@ Visual form-schema builder: internal `hb-form` defines field types, validation f
|
|
|
1546
1581
|
|
|
1547
1582
|
### Usage notes
|
|
1548
1583
|
|
|
1549
|
-
Uses nested `hb-form`, `hb-table`, and `hb-dialogform`. `output_schema` mirrors the live composed schema suitable for `hb-form`.
|
|
1584
|
+
Uses nested `hb-form`, `hb-table`, and `hb-dialogform`. `output_schema` mirrors the live composed schema suitable for `hb-form`. The table slot “done” control uses a Bulma outline button from `styles/bulma.scss`.
|
|
1550
1585
|
|
|
1551
1586
|
### Minimal HTML example
|
|
1552
1587
|
|
|
@@ -1632,6 +1667,10 @@ Multi-step funnel over stacked `hb-form` instances: JSON `schemes` supplies one
|
|
|
1632
1667
|
|
|
1633
1668
|
Each entry in `schemes` is a full form schema array like `hb-form`’s `schema`. CSS part: `invalid-feedback` (from inner form styling).
|
|
1634
1669
|
|
|
1670
|
+
**Next / Save:** the outer buttons set `submitted="yes"` on the inner `hb-form`. The funnel advances (or emits `submit` on the last step) only after that form dispatches `submit` with a valid payload. If validation fails, the inner form emits `submitinvalid`, turns on field validation UI, and the step does not change.
|
|
1671
|
+
|
|
1672
|
+
The inner form’s `schema` attribute is refreshed when schemes are first loaded or when the step index changes. `field.value` entries in the funnel’s copy of the schema are updated when you leave a step with a **valid** submit (Avanti / Salva), not on each debounced `update`, so the DOM is not forced to re-sync on every keystroke.
|
|
1673
|
+
|
|
1635
1674
|
### Minimal HTML example
|
|
1636
1675
|
|
|
1637
1676
|
```html
|
|
@@ -1683,7 +1722,7 @@ Paginated grid of `hb-card-video` tiles built from JSON `cards`, with `hb-pagina
|
|
|
1683
1722
|
|
|
1684
1723
|
### Usage notes
|
|
1685
1724
|
|
|
1686
|
-
CSS part: `container`. Registers `hb-paginate` and `hb-card-video`. `cards` must be valid JSON on the attribute.
|
|
1725
|
+
CSS part: `container`. Registers `hb-paginate` and `hb-card-video`. `cards` must be valid JSON on the attribute. Layout and filters use **Bulma** (`container`, `columns`, `field` / `control`, `input`, visibility helpers).
|
|
1687
1726
|
|
|
1688
1727
|
### Minimal HTML example
|
|
1689
1728
|
|
|
@@ -1745,7 +1784,11 @@ CSS part: `gauge`. `options` may be passed as a JSON string; the component parse
|
|
|
1745
1784
|
|
|
1746
1785
|
### What it does
|
|
1747
1786
|
|
|
1748
|
-
Multi-line `<textarea>`
|
|
1787
|
+
Multi-line `<textarea>` with Bulma `textarea` + optional `is-success` / `is-danger` and `help is-danger`. Same `schemaentry` validation as text (`validationRegex`, `params` min/max, required). Theme via `--bulma-*` on `:host`. Dispatches `setVal` and `clickEnter` when Enter is pressed without Shift (Shift+Enter inserts a newline).
|
|
1788
|
+
|
|
1789
|
+
### Styling (Bulma)
|
|
1790
|
+
|
|
1791
|
+
Bundles **Bulma 1.x** `form/shared`, `form/input-textarea`, and `form/tools` in the shadow root.
|
|
1749
1792
|
|
|
1750
1793
|
### Custom element
|
|
1751
1794
|
|
|
@@ -1787,7 +1830,11 @@ CSS parts: `invalid-feedback`, `input`. Nested `schemaentry` fields follow the s
|
|
|
1787
1830
|
|
|
1788
1831
|
### What it does
|
|
1789
1832
|
|
|
1790
|
-
Repeating records editor: `hb-table` lists existing rows (with delete actions), and `hb-form` renders the next row from `schemaentry.params.schema`; submitting appends to the array and updates the table. Registers `hb-form` and `hb-table`; optional `add-object-label` slot customizes the add button. Dispatches `setVal` with the objects array, `valid`, and `id`, and shows `validationTip` when `show_validation` is enabled.
|
|
1833
|
+
Repeating records editor: `hb-table` lists existing rows (with delete actions), and `hb-form` renders the next row from `schemaentry.params.schema`; submitting appends to the array and updates the table. Registers `hb-form` and `hb-table`; optional `add-object-label` slot customizes the add button (`button is-info`). Dispatches `setVal` with the objects array, `valid`, and `id`, and shows `validationTip` as Bulma `help is-danger` when `show_validation` is enabled and invalid.
|
|
1834
|
+
|
|
1835
|
+
### Styling (Bulma)
|
|
1836
|
+
|
|
1837
|
+
Shadow bundle: `form/tools`, `form/shared`, `form/input-textarea`, `elements/button`. Container border uses `--bulma-border` on `:host`.
|
|
1791
1838
|
|
|
1792
1839
|
### Custom element
|
|
1793
1840
|
|
|
@@ -1806,7 +1853,7 @@ Repeating records editor: `hb-table` lists existing rows (with delete actions),
|
|
|
1806
1853
|
|
|
1807
1854
|
### Usage notes
|
|
1808
1855
|
|
|
1809
|
-
CSS
|
|
1856
|
+
CSS parts: `properties-container`, `invalid-feedback`. Slot: `add-object-label`.
|
|
1810
1857
|
|
|
1811
1858
|
### Minimal HTML example
|
|
1812
1859
|
|
|
@@ -1828,7 +1875,11 @@ CSS part: `properties-container`. Slot: `add-object-label`.
|
|
|
1828
1875
|
|
|
1829
1876
|
### What it does
|
|
1830
1877
|
|
|
1831
|
-
Tag list stored as objects `{ id, label }` (optional per-tag `colorVarName`); users add tags via free text or a dropdown from `params.availableTags`, with optional `freeTag` and `_custom` flow, removable
|
|
1878
|
+
Tag list stored as objects `{ id, label }` (optional per-tag `colorVarName`); users add tags via free text or a dropdown from `params.availableTags`, with optional `freeTag` and `_custom` flow, removable Bulma `tag` + `delete` controls when `allowRemove` is set, and styling via `params.colorVarName` or the `add-tag-label` slot. Dispatches `setVal` with the array `value`, `valid`, and `id`.
|
|
1879
|
+
|
|
1880
|
+
### Styling (Bulma)
|
|
1881
|
+
|
|
1882
|
+
Shadow bundle: `form` inputs/select/tools, `elements/tag`, `elements/delete`, `elements/button`. Tags use Bulma `tags` / `tag`; add control uses `button.tag` or styled `tag`.
|
|
1832
1883
|
|
|
1833
1884
|
### Custom element
|
|
1834
1885
|
|
|
@@ -1847,7 +1898,7 @@ Tag list stored as objects `{ id, label }` (optional per-tag `colorVarName`); us
|
|
|
1847
1898
|
|
|
1848
1899
|
### Usage notes
|
|
1849
1900
|
|
|
1850
|
-
Optional slot
|
|
1901
|
+
Optional slot: `add-tag-label` for the add control label. CSS part: `invalid-feedback`.
|
|
1851
1902
|
|
|
1852
1903
|
### Minimal HTML example
|
|
1853
1904
|
|
|
@@ -1869,7 +1920,11 @@ Optional slot name in docs: `add-tag-label` for the add control label.
|
|
|
1869
1920
|
|
|
1870
1921
|
### What it does
|
|
1871
1922
|
|
|
1872
|
-
Checkbox or, when `schemaentry.params.type` is `switch`, a
|
|
1923
|
+
Checkbox or, when `schemaentry.params.type` is `switch`, a switch styled in the shadow tree (Bulma colors on `:host`), labeled from `schemaentry.label` with a required asterisk when needed. Boolean `value` is parsed from stringified `schemaentry`; required fields must be checked to be valid. Dispatches `setVal` with `{ value, valid, id }` and shows `validationTip` as Bulma `help is-danger` when `show_validation` is `yes` and invalid.
|
|
1924
|
+
|
|
1925
|
+
### Styling (Bulma)
|
|
1926
|
+
|
|
1927
|
+
Shadow bundle: `form/shared`, `form/input-textarea`, `form/checkbox-radio`, `form/tools`. Switch uses host SCSS (`hb-input-checkbox-switch`).
|
|
1873
1928
|
|
|
1874
1929
|
### Custom element
|
|
1875
1930
|
|
|
@@ -1884,11 +1939,11 @@ Checkbox or, when `schemaentry.params.type` is `switch`, a Bootstrap switch, lab
|
|
|
1884
1939
|
|
|
1885
1940
|
### Events
|
|
1886
1941
|
|
|
1887
|
-
- `setVal` — `{ value:
|
|
1942
|
+
- `setVal` — `{ value: boolean; valid: boolean; id: string }`
|
|
1888
1943
|
|
|
1889
1944
|
### Usage notes
|
|
1890
1945
|
|
|
1891
|
-
CSS
|
|
1946
|
+
CSS parts: `input`, `invalid-feedback`.
|
|
1892
1947
|
|
|
1893
1948
|
### Minimal HTML example
|
|
1894
1949
|
|
|
@@ -1912,6 +1967,10 @@ CSS part: `invalid-feedback`.
|
|
|
1912
1967
|
|
|
1913
1968
|
Color input that normalizes named HTML colors and `rgb(...)` strings into a hex value for the native picker, with debounced syncing back to the bound value. Driven by `schemaentry` (including required and optional `validationTip` with `show_validation`). Dispatches `setVal` with the string `value`, `valid`, and `id`.
|
|
1914
1969
|
|
|
1970
|
+
### Styling (Bulma)
|
|
1971
|
+
|
|
1972
|
+
Shadow bundle: `form/shared`, `form/input-textarea`, `form/tools`. The native `type="color"` control uses host SCSS (border / outline with `--bulma-*`). Validation uses `help is-danger`. Theme variables on `:host`.
|
|
1973
|
+
|
|
1915
1974
|
### Custom element
|
|
1916
1975
|
|
|
1917
1976
|
`hb-input-color`
|
|
@@ -1929,7 +1988,7 @@ Color input that normalizes named HTML colors and `rgb(...)` strings into a hex
|
|
|
1929
1988
|
|
|
1930
1989
|
### Usage notes
|
|
1931
1990
|
|
|
1932
|
-
CSS
|
|
1991
|
+
CSS parts: `input`, `invalid-feedback`.
|
|
1933
1992
|
|
|
1934
1993
|
### Minimal HTML example
|
|
1935
1994
|
|
|
@@ -1951,7 +2010,11 @@ CSS part: `invalid-feedback`.
|
|
|
1951
2010
|
|
|
1952
2011
|
### What it does
|
|
1953
2012
|
|
|
1954
|
-
Latitude/longitude editor that embeds `hb-map` (marker and map `source` / `options` from `schemaentry.params`) and two `hb-input-number` fields, with labels translated via optional `i18nlang`. Supports initial `value` and `params` such as `zoom` and `center`. Registers `hb-map` and `hb-input-number` and dispatches `setVal` with `{ lat, lon }` as `value`, plus `valid` and `id`.
|
|
2013
|
+
Latitude/longitude editor that embeds `hb-map` (marker and map `source` / `options` from `schemaentry.params`) and two `hb-input-number` fields, with labels translated via optional `i18nlang`. Supports initial `value` and `params` such as `zoom` and `center`. Registers `hb-map` and `hb-input-number` and dispatches `setVal` with `{ lat, lon }` as `value`, plus `valid` and `id`. Layout uses flex columns in the shadow root; validation uses Bulma `help is-danger`. Required validation treats `(0, 0)` as unset (same as the previous `lat && lon` check).
|
|
2014
|
+
|
|
2015
|
+
### Styling (Bulma)
|
|
2016
|
+
|
|
2017
|
+
Shadow bundle: `form/shared`, `form/input-textarea`, `form/tools`. Map and number fields keep their own styles.
|
|
1955
2018
|
|
|
1956
2019
|
### Custom element
|
|
1957
2020
|
|
|
@@ -1993,7 +2056,11 @@ CSS part: `invalid-feedback`. Ensure map-related `params` match your deployment
|
|
|
1993
2056
|
|
|
1994
2057
|
### What it does
|
|
1995
2058
|
|
|
1996
|
-
Native date
|
|
2059
|
+
Native `type="date"` with Bulma `input` + `is-success` / `is-danger`, native `min`/`max` from `params` when valid dates, and `help is-danger` for tips. `schemaentry` as JSON string or object. Theme `--bulma-*` on `:host`. Dispatches `setVal` and `clickEnter`.
|
|
2060
|
+
|
|
2061
|
+
### Styling (Bulma)
|
|
2062
|
+
|
|
2063
|
+
Shadow bundle: `form/shared`, `form/input-textarea`, `form/tools`.
|
|
1997
2064
|
|
|
1998
2065
|
### Custom element
|
|
1999
2066
|
|
|
@@ -2037,6 +2104,10 @@ CSS part: `invalid-feedback`.
|
|
|
2037
2104
|
|
|
2038
2105
|
Composes `hb-input-date` and `hb-input-number` to edit date, hours, minutes, and (unless `params.removeSeconds`) seconds, then combines them into a single ISO string `value`. Honors `schemaentry.params.min` / `max` as date bounds when required. Registers `hb-input-date` and `hb-input-number` and dispatches `setVal` with `{ value, valid, id }`.
|
|
2039
2106
|
|
|
2107
|
+
### Styling (Bulma)
|
|
2108
|
+
|
|
2109
|
+
Shadow bundle: `form/shared`, `form/input-textarea`, `form/tools`. Layout uses Bulma `field is-grouped` / `control`; invalid state uses `help is-danger` and a host outline. Child WCs ship their own input styles. Theme `--bulma-*` on `:host`.
|
|
2110
|
+
|
|
2040
2111
|
### Custom element
|
|
2041
2112
|
|
|
2042
2113
|
`hb-input-datetime`
|
|
@@ -2054,7 +2125,7 @@ Composes `hb-input-date` and `hb-input-number` to edit date, hours, minutes, and
|
|
|
2054
2125
|
|
|
2055
2126
|
### Usage notes
|
|
2056
2127
|
|
|
2057
|
-
|
|
2128
|
+
CSS part: `invalid-feedback` on the validation message. Child inputs carry their own parts. Child components must be registered in the bundle.
|
|
2058
2129
|
|
|
2059
2130
|
### Minimal HTML example
|
|
2060
2131
|
|
|
@@ -2073,7 +2144,11 @@ No CSS parts declared in style setup; child inputs carry their own parts. Child
|
|
|
2073
2144
|
|
|
2074
2145
|
## Description
|
|
2075
2146
|
|
|
2076
|
-
`type="email"` field using `schemaentry` for id, value, placeholder, readonly, and required, with extra checks for a sensible address shape plus optional `validationRegex` and `params` min/max length.
|
|
2147
|
+
`type="email"` field using `schemaentry` for id, value, placeholder, readonly, and required, with extra checks for a sensible address shape plus optional `validationRegex` and `params` min/max length. Bulma `input` + `is-success` / `is-danger` and `help is-danger` with `show_validation`. Theme via `--bulma-*` on `:host`. Dispatches `setVal` and `clickEnter` on Enter.
|
|
2148
|
+
|
|
2149
|
+
## Styling (Bulma)
|
|
2150
|
+
|
|
2151
|
+
Bundles **Bulma 1.x** `form/shared`, `form/input-textarea`, and `form/tools` in the shadow root; theme on `:host`.
|
|
2077
2152
|
|
|
2078
2153
|
## Types
|
|
2079
2154
|
|
|
@@ -2138,7 +2213,11 @@ export type Events = {
|
|
|
2138
2213
|
|
|
2139
2214
|
## Description
|
|
2140
2215
|
|
|
2141
|
-
File picker with `accept` from `schemaentry.params.accept` (defaults to any file)
|
|
2216
|
+
File picker with `accept` from `schemaentry.params.accept` (defaults to any file). **Standard mode** uses Bulma `file has-name`: CTA → **clear** (`×`) → filename strip (MIME icon + name) as one continuous control inside the same `file-label`. The clear button uses `preventDefault` / `stopPropagation` so it does not open the file dialog. **Placeholder image mode** (`params.placeHolderImage`) keeps the clickable image + translated “select image” copy and, after selection, preview (or MIME icon), filename, and clear. Set **`i18nlang`** (e.g. `en`, `it`) for UI strings; `hb-form` forwards its `i18nlang` to this control. Validates required fields against an actual chosen file. Dispatches `setVal` with `{ value, valid, id }`.
|
|
2217
|
+
|
|
2218
|
+
## Styling (Bulma)
|
|
2219
|
+
|
|
2220
|
+
Shadow bundle: `form/shared`, `form/input-textarea`, `form/file`, `form/tools`, `elements/button`. Bootstrap Icons CSS is `@import`ed from `styles/webcomponent.scss` so glyph rules and `@font-face` apply inside the shadow root (document-level `<link>` / `<svelte:head>` would not).
|
|
2142
2221
|
|
|
2143
2222
|
## Types
|
|
2144
2223
|
|
|
@@ -2187,6 +2266,7 @@ export type Component = {
|
|
|
2187
2266
|
|
|
2188
2267
|
show_validation?: "yes" | "no";
|
|
2189
2268
|
schemaentry: FormSchemaEntry;
|
|
2269
|
+
i18nlang?: string;
|
|
2190
2270
|
};
|
|
2191
2271
|
|
|
2192
2272
|
export type Events = { setVal: { value: string; valid: boolean; id: string } };
|
|
@@ -2200,46 +2280,30 @@ export type Events = { setVal: { value: string; valid: boolean; id: string } };
|
|
|
2200
2280
|
|
|
2201
2281
|
## Description
|
|
2202
2282
|
|
|
2203
|
-
|
|
2283
|
+
Native `<input type="number">` bound to `schemaentry` with optional `min` / `max` from `params` (attributes are set only when the corresponding key exists on `params`). Validates required fields and range; with no `min`/`max` params it dispatches `clickEnter` on Enter. Emits `setVal` with `{ value, valid, id }`. With `show_validation === "yes"` and `required`, the field uses Bulma `input.is-success` / `input.is-danger` and shows `validationTip` as `help is-danger` when invalid. Use `is_small="yes"` for Bulma **`input.is-small`** (compact control, e.g. next to **`hb-paginate`**). On **`type="number"`**, spin buttons are hidden so the control height matches compact selects (values are still editable with the keyboard).
|
|
2284
|
+
|
|
2285
|
+
## Styling (Bulma)
|
|
2286
|
+
|
|
2287
|
+
The component bundles **Bulma 1.x** form styles (`form/shared`, `form/input-textarea`, `form/tools`) scoped to the shadow root, with theme defaults on `:host` (`--bulma-hb-def-*`). Set public **`--bulma-*`** on `body` or `:root`; they inherit onto the custom element host.
|
|
2288
|
+
|
|
2289
|
+
Markup pattern:
|
|
2290
|
+
|
|
2291
|
+
- Wrapper: `div.hb-input-number-root` around **`input.input`** (Bulma control styling).
|
|
2292
|
+
- Validation: `is-success` / `is-danger` on the input when `show_validation === "yes"` and `schemaentry.required` is set.
|
|
2293
|
+
- Help: `p.help.is-danger` with `part="invalid-feedback"` when `show_validation === "yes"` and the value is invalid.
|
|
2204
2294
|
|
|
2205
2295
|
## Types
|
|
2206
2296
|
|
|
2207
2297
|
```typescript
|
|
2208
2298
|
export type FormSchemaEntry = {
|
|
2209
|
-
/**
|
|
2210
|
-
* This will be both the key of the object when submitting the form's data,
|
|
2211
|
-
* and also the id in the DOM.
|
|
2212
|
-
*/
|
|
2213
2299
|
id: string;
|
|
2214
|
-
|
|
2215
|
-
/**
|
|
2216
|
-
* The descriptive label that will show alongside the form control.
|
|
2217
|
-
*/
|
|
2218
2300
|
label?: string;
|
|
2219
|
-
|
|
2220
|
-
/**
|
|
2221
|
-
* Optional default value.
|
|
2222
|
-
*/
|
|
2223
2301
|
value?: number;
|
|
2224
|
-
|
|
2225
2302
|
readonly?: boolean;
|
|
2226
|
-
|
|
2227
|
-
/**
|
|
2228
|
-
* This doesn't matter if the dependencies requirements aren't met.
|
|
2229
|
-
*/
|
|
2230
2303
|
required?: boolean;
|
|
2231
|
-
|
|
2232
2304
|
validationRegex?: string;
|
|
2233
|
-
/**
|
|
2234
|
-
* Shows if value is not valid.
|
|
2235
|
-
*/
|
|
2236
2305
|
validationTip?: string;
|
|
2237
|
-
|
|
2238
2306
|
placeholder?: string;
|
|
2239
|
-
|
|
2240
|
-
/**
|
|
2241
|
-
* Other parameters that may be specific to a certain kind of form control.
|
|
2242
|
-
*/
|
|
2243
2307
|
params?: Record<string, any>;
|
|
2244
2308
|
};
|
|
2245
2309
|
|
|
@@ -2247,6 +2311,7 @@ export type Component = {
|
|
|
2247
2311
|
id?: string;
|
|
2248
2312
|
style?: string;
|
|
2249
2313
|
show_validation?: "yes" | "no";
|
|
2314
|
+
is_small?: "yes" | "no";
|
|
2250
2315
|
schemaentry: FormSchemaEntry | undefined;
|
|
2251
2316
|
};
|
|
2252
2317
|
|
|
@@ -2264,7 +2329,11 @@ export type Events = {
|
|
|
2264
2329
|
|
|
2265
2330
|
## Description
|
|
2266
2331
|
|
|
2267
|
-
Radio group built from `schemaentry.params.options` with a shared `name` derived from the field id. Parses JSON `schemaentry` for initial `value` and supports required validation with
|
|
2332
|
+
Radio group built from `schemaentry.params.options` with a shared `name` derived from the field id. Parses JSON `schemaentry` for initial `value` and supports required validation with Bulma `help is-danger` when `show_validation` is `yes` and invalid. Dispatches `setVal` with the selected string `value`, `valid`, and `id` whenever the choice changes.
|
|
2333
|
+
|
|
2334
|
+
## Styling (Bulma)
|
|
2335
|
+
|
|
2336
|
+
Shadow bundle: `form/shared`, `form/input-textarea`, `form/checkbox-radio`, `form/tools`. Markup uses Bulma `radios` / `radio` and host outline when invalid.
|
|
2268
2337
|
|
|
2269
2338
|
## Types
|
|
2270
2339
|
|
|
@@ -2316,7 +2385,7 @@ export type Component = {
|
|
|
2316
2385
|
};
|
|
2317
2386
|
|
|
2318
2387
|
export type Events = {
|
|
2319
|
-
setVal: { value: string; valid: boolean; id: string };
|
|
2388
|
+
setVal: { value: string | undefined; valid: boolean; id: string | undefined };
|
|
2320
2389
|
};
|
|
2321
2390
|
```
|
|
2322
2391
|
|
|
@@ -2324,64 +2393,45 @@ export type Events = {
|
|
|
2324
2393
|
|
|
2325
2394
|
<a id="wc-input-range"></a>
|
|
2326
2395
|
|
|
2327
|
-
|
|
2396
|
+
## `hb-input-range` — input-range
|
|
2328
2397
|
|
|
2329
|
-
|
|
2398
|
+
**Category:** inputs
|
|
2399
|
+
**Tags:** inputs
|
|
2330
2400
|
|
|
2331
|
-
|
|
2401
|
+
### What it does
|
|
2332
2402
|
|
|
2333
|
-
|
|
2403
|
+
Range slider (`type="range"`) whose bounds come from `schemaentry.params.min` and/or `max` when those keys exist. Parses stringified `schemaentry` when needed and enforces required / min / max on the numeric value. Dispatches `setVal` with `{ value, valid, id }` and shows `validationTip` as Bulma `help is-danger` when `show_validation` is `yes` and the field is invalid.
|
|
2334
2404
|
|
|
2335
|
-
|
|
2336
|
-
export type FormSchemaEntry = {
|
|
2337
|
-
/**
|
|
2338
|
-
* This will be both the key of the object when submitting the form's data,
|
|
2339
|
-
* and also the id in the DOM.
|
|
2340
|
-
*/
|
|
2341
|
-
id: string;
|
|
2405
|
+
### Styling (Bulma)
|
|
2342
2406
|
|
|
2343
|
-
|
|
2344
|
-
* The descriptive label that will show alongside the form control.
|
|
2345
|
-
*/
|
|
2346
|
-
label?: string;
|
|
2407
|
+
Shadow bundle: `form/shared`, `form/input-textarea`, `form/tools`. The native range uses `accent-color` mapped to Bulma link / success / danger via `--bulma-*` on `:host` (not the text `input` class, which does not suit range controls).
|
|
2347
2408
|
|
|
2348
|
-
|
|
2349
|
-
* Optional default value.
|
|
2350
|
-
*/
|
|
2351
|
-
value?: number;
|
|
2409
|
+
### Custom element
|
|
2352
2410
|
|
|
2353
|
-
|
|
2411
|
+
`hb-input-range`
|
|
2354
2412
|
|
|
2355
|
-
|
|
2356
|
-
* This doesn't matter if the dependencies requirements aren't met.
|
|
2357
|
-
*/
|
|
2358
|
-
required?: boolean;
|
|
2413
|
+
### Attributes (snake_case; use string values in HTML)
|
|
2359
2414
|
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
validationTip?: string;
|
|
2415
|
+
- `id` — optional string
|
|
2416
|
+
- `style` — optional string
|
|
2417
|
+
- `schemaentry` — required string (JSON: `id`, `label?`, `required?`, `value?` (number), `validationTip?`, `params.min` / `params.max`, …)
|
|
2418
|
+
- `show_validation` — optional `"yes"` | `"no"`
|
|
2365
2419
|
|
|
2366
|
-
|
|
2420
|
+
### Events
|
|
2367
2421
|
|
|
2368
|
-
|
|
2369
|
-
* Other parameters that may be specific to a certain kind of form control.
|
|
2370
|
-
*/
|
|
2371
|
-
params?: Record<string, any>;
|
|
2372
|
-
};
|
|
2422
|
+
- `setVal` — `{ value: number; valid: boolean; id: string }`
|
|
2373
2423
|
|
|
2374
|
-
|
|
2375
|
-
id?: string;
|
|
2376
|
-
style?: string;
|
|
2424
|
+
### Usage notes
|
|
2377
2425
|
|
|
2378
|
-
|
|
2379
|
-
schemaentry: FormSchemaEntry | undefined;
|
|
2380
|
-
};
|
|
2426
|
+
CSS parts: `input`, `invalid-feedback`.
|
|
2381
2427
|
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2428
|
+
### Minimal HTML example
|
|
2429
|
+
|
|
2430
|
+
```html
|
|
2431
|
+
<hb-input-range
|
|
2432
|
+
schemaentry="{"id":"volume","required":true,"params":{"min":0,"max":100},"value":50}"
|
|
2433
|
+
show_validation="no"
|
|
2434
|
+
></hb-input-range>
|
|
2385
2435
|
```
|
|
2386
2436
|
|
|
2387
2437
|
---
|
|
@@ -2392,7 +2442,18 @@ export type Events = {
|
|
|
2392
2442
|
|
|
2393
2443
|
## Description
|
|
2394
2444
|
|
|
2395
|
-
Native `<select>` bound to `schemaentry` options from `params.options` (each option has `id`, `value`, and optional `label`). Supports JSON string or object `schemaentry`, optional required state, and `show_validation` for
|
|
2445
|
+
Native `<select>` bound to `schemaentry` options from `params.options` (each option has `id`, `value`, and optional `label`). Supports JSON string or object `schemaentry`, optional required state, and `show_validation` for Bulma validation styling on the wrapper (`select.is-success` / `select.is-danger`) plus a `validationTip` shown as `help is-danger`. Dispatches `setVal` with `{ value, valid, id }` on every change. Use `is_small="yes"` for Bulma **`select.is-small`** (compact control, e.g. next to **`hb-paginate`**).
|
|
2446
|
+
|
|
2447
|
+
## Styling (Bulma)
|
|
2448
|
+
|
|
2449
|
+
The component bundles **Bulma 1.x** form styles (`form/shared`, `form/select`, `form/tools`) scoped to the shadow root, with theme defaults on `:host` (`--bulma-hb-def-*`). To align with the rest of the app, set public **`--bulma-*`** variables on `body` or `:root`; they inherit onto the custom element host.
|
|
2450
|
+
|
|
2451
|
+
Markup pattern:
|
|
2452
|
+
|
|
2453
|
+
- Wrapper: `div.select` around the native `<select>` (Bulma arrow and control height).
|
|
2454
|
+
- Validation: `is-success` / `is-danger` modifiers on `div.select` when `show_validation === "yes"` and `schemaentry.required` is set.
|
|
2455
|
+
- Help text: `p.help.is-danger` with `part="invalid-feedback"` for theming (only when `show_validation === "yes"` and the value is invalid).
|
|
2456
|
+
- `schemaentry.readonly` maps to the native `disabled` attribute on `<select>` (HTML does not support `readonly` on selects).
|
|
2396
2457
|
|
|
2397
2458
|
## Types
|
|
2398
2459
|
|
|
@@ -2414,6 +2475,7 @@ export type FormSchemaEntry = {
|
|
|
2414
2475
|
*/
|
|
2415
2476
|
value?: string | number | boolean;
|
|
2416
2477
|
|
|
2478
|
+
/** When true, the native `<select>` is `disabled` (HTML has no `readonly` on `<select>`). */
|
|
2417
2479
|
readonly?: boolean;
|
|
2418
2480
|
|
|
2419
2481
|
/**
|
|
@@ -2440,6 +2502,7 @@ export type Component = {
|
|
|
2440
2502
|
style?: string;
|
|
2441
2503
|
|
|
2442
2504
|
show_validation?: "yes" | "no";
|
|
2505
|
+
is_small?: "yes" | "no";
|
|
2443
2506
|
schemaentry: FormSchemaEntry | undefined;
|
|
2444
2507
|
};
|
|
2445
2508
|
|
|
@@ -2456,7 +2519,11 @@ export type Events = {
|
|
|
2456
2519
|
|
|
2457
2520
|
## Description
|
|
2458
2521
|
|
|
2459
|
-
Single-line text field driven by a JSON `schemaentry` (id, value, placeholder, readonly, required, optional `validationRegex`, and `params` min/max length).
|
|
2522
|
+
Single-line text field driven by a JSON `schemaentry` (id, value, placeholder, readonly, required, optional `validationRegex`, and `params` min/max length). With `show_validation`, uses Bulma `input.is-success` / `is-danger` and `help is-danger` for tips. Theme via inherited `--bulma-*` on `:host`. Dispatches `setVal` whenever the value or validity changes, and `clickEnter` on Enter.
|
|
2523
|
+
|
|
2524
|
+
## Styling (Bulma)
|
|
2525
|
+
|
|
2526
|
+
Bundles **Bulma 1.x** `form/shared`, `form/input-textarea`, and `form/tools` in the shadow root; theme defaults on `:host` (`--bulma-hb-def-*`). Override public **`--bulma-*`** from `body` / `:root`.
|
|
2460
2527
|
|
|
2461
2528
|
## Types
|
|
2462
2529
|
|
|
@@ -2517,6 +2584,10 @@ export type Events = {
|
|
|
2517
2584
|
|
|
2518
2585
|
Renders JSON as an expandable, syntax-colored tree. Accepts a parsed object or a JSON string and supports initial expand modes (open, closed, or first level only).
|
|
2519
2586
|
|
|
2587
|
+
## Styling (Bulma)
|
|
2588
|
+
|
|
2589
|
+
The shadow root loads **Bulma 1.x** theme tokens on `:host` only (no Bulma layout classes on the tree). Override **`--bulma-*`** from the light DOM for consistency with the app. Tree colors remain the **`--jn-*`** variables documented in `extra/docs.ts`.
|
|
2590
|
+
|
|
2520
2591
|
## Types
|
|
2521
2592
|
|
|
2522
2593
|
```typescript
|
|
@@ -2806,6 +2877,10 @@ export type Events = {
|
|
|
2806
2877
|
|
|
2807
2878
|
Renders Markdown from a data object (typically with a content string) using marked with GFM and line breaks, and normalizes compact single-line Markdown for clearer lists and headings.
|
|
2808
2879
|
|
|
2880
|
+
## Styling (Bulma)
|
|
2881
|
+
|
|
2882
|
+
Uses **Bulma** `container is-fluid`, `columns`, and `column` for layout; prose styles live in `styles/webcomponent.scss` (`.markdown-body`). Theme tokens: **`--bulma-*`** on `:host` (see `extra/docs.ts`).
|
|
2883
|
+
|
|
2809
2884
|
## Types
|
|
2810
2885
|
|
|
2811
2886
|
```typescript
|
|
@@ -2830,7 +2905,7 @@ export type Events = {
|
|
|
2830
2905
|
|
|
2831
2906
|
## Description
|
|
2832
2907
|
|
|
2833
|
-
Responsive video wall: lays out `items` in a
|
|
2908
|
+
Responsive video wall: lays out `items` in a **Bulma** `columns` / `column` grid (gapless rows) sized from the viewport (16:9-friendly). Each cell can be an iframe, plain MP4 `<video>`, `hb-player-live` (WHEP), or `hb-player-live-camera-ptz`. Tracks hover selection and emits `hoverItem` and `clickItem` with the focused tile id.
|
|
2834
2909
|
|
|
2835
2910
|
## Types
|
|
2836
2911
|
|
|
@@ -2962,6 +3037,10 @@ export type Events = {
|
|
|
2962
3037
|
};
|
|
2963
3038
|
```
|
|
2964
3039
|
|
|
3040
|
+
### Styling (Bulma)
|
|
3041
|
+
|
|
3042
|
+
The shadow root bundles **Bulma 1.x** (buttons, tags, flex/spacing/typography/color helpers, image rounding). Theme defaults apply on `:host` via Bulma’s light theme and `setup-theme`. Override from the page with public **`--bulma-*`** (see `extra/docs.ts`). **Bootstrap Icons** load from `<svelte:head>` for action `bi-*` icons.
|
|
3043
|
+
|
|
2965
3044
|
---
|
|
2966
3045
|
|
|
2967
3046
|
<a id="wc-messages-send"></a>
|
|
@@ -2996,6 +3075,10 @@ export type Events = {
|
|
|
2996
3075
|
};
|
|
2997
3076
|
```
|
|
2998
3077
|
|
|
3078
|
+
### Styling (Bulma)
|
|
3079
|
+
|
|
3080
|
+
Bundles **Bulma 1.x** (`container` grid via `columns` / `column`, buttons, tags, helpers). Theme defaults on `:host` via Bulma light + `setup-theme`. Override with **`--bulma-*`** from the page (see `extra/docs.ts`). **Bootstrap Icons** load from `<svelte:head>` for attach, tags, send, and file-type icons.
|
|
3081
|
+
|
|
2999
3082
|
---
|
|
3000
3083
|
|
|
3001
3084
|
<a id="wc-messages-topics-card"></a>
|
|
@@ -3004,7 +3087,18 @@ export type Events = {
|
|
|
3004
3087
|
|
|
3005
3088
|
## Description
|
|
3006
3089
|
|
|
3007
|
-
Lists chat or channel previews from `chats`: avatar, title, last message snippet, derived time label, and unread `counter`
|
|
3090
|
+
Lists chat or channel previews from `chats`: avatar, title, last message snippet, derived time label, and unread `counter` as a Bulma tag. Clicking a row marks it selected (`_selected`) and dispatches `select` with that chat payload for opening a thread or switching context.
|
|
3091
|
+
|
|
3092
|
+
## Styling (Bulma)
|
|
3093
|
+
|
|
3094
|
+
The component bundles **Bulma 1.x** in the shadow root: **`elements/tag`** (unread counter), with theme defaults on `:host` (`--bulma-hb-def-*`). Set public **`--bulma-*`** on `body` or `:root` so they inherit onto the host. Row hover and selected backgrounds default from **`--bulma-scheme-main-bis`** and **`--bulma-scheme-main-ter`**; override with **`--hb-topics-card-hover-background-color`** and **`--hb-topics-card-selected-background-color`** if needed. See [Bulma CSS variables](https://bulma.io/documentation/features/css-variables/).
|
|
3095
|
+
|
|
3096
|
+
**Shadow markup (simplified):**
|
|
3097
|
+
|
|
3098
|
+
- **`div.grid`** — one row per chat (click selects).
|
|
3099
|
+
- **`img`**, **`div.header`** (title + time), **`div.details`** (snippet + **`span.tag.is-light.is-rounded`** counter).
|
|
3100
|
+
|
|
3101
|
+
**Host-level tokens (existing):** `--hb-topics-card-size`, `--hb-topics-card-padding`, derived `--hb-topics-card-double-*`, plus the selected/hover background variables above.
|
|
3008
3102
|
|
|
3009
3103
|
## Types
|
|
3010
3104
|
|
|
@@ -3118,7 +3212,7 @@ export type Events = {
|
|
|
3118
3212
|
|
|
3119
3213
|
### What it does
|
|
3120
3214
|
|
|
3121
|
-
|
|
3215
|
+
Slide-in sidebar panel that hosts `hb-sidebar-desktop`. Uses a fixed panel plus Bulma’s `modal-background` as the dimmed backdrop when `type` is `autohide`. Can start open or closed; dispatches page changes and open/close state.
|
|
3122
3216
|
|
|
3123
3217
|
### Custom element
|
|
3124
3218
|
|
|
@@ -3143,9 +3237,9 @@ Bootstrap-style offcanvas panel that hosts sidebar-desktop navigation. Can start
|
|
|
3143
3237
|
### Usage notes
|
|
3144
3238
|
|
|
3145
3239
|
- **Slots:** `test`, `header`, `footer`.
|
|
3146
|
-
- **CSS parts:** `header
|
|
3147
|
-
-
|
|
3148
|
-
- Pair with `hb-sidebar-desktop` / `hb-sidenav-link
|
|
3240
|
+
- **CSS parts:** `header` (on nested `hb-sidebar-desktop`).
|
|
3241
|
+
- Bulma theme variables apply inside each web component’s shadow root; Bootstrap Icons CSS is loaded for nested nav icons.
|
|
3242
|
+
- Pair with `hb-sidebar-desktop` / `hb-sidenav-link`; see Storybook examples in `extra/docs.ts`.
|
|
3149
3243
|
|
|
3150
3244
|
### Minimal HTML example
|
|
3151
3245
|
|
|
@@ -3185,6 +3279,10 @@ Order summary view driven by a payment JSON object: order number header, optiona
|
|
|
3185
3279
|
|
|
3186
3280
|
None declared.
|
|
3187
3281
|
|
|
3282
|
+
### Styling (Bulma)
|
|
3283
|
+
|
|
3284
|
+
Layout uses Bulma `container` and `columns` / `column` with fractional widths (`is-10`, `is-2`, etc.). Theme tokens are registered on `:host` via Bulma’s light theme and `setup-theme`. Customize colors and spacing from the page by setting `--bulma-*` variables (for example `--bulma-text`, `--bulma-scheme-main`, `--bulma-column-gap`); see `extra/docs.ts` and `styles/bulma.scss`.
|
|
3285
|
+
|
|
3188
3286
|
### Usage notes
|
|
3189
3287
|
|
|
3190
3288
|
- **CSS parts:** `item_image`.
|
|
@@ -3270,9 +3368,13 @@ Checkout page layout that embeds the payment flow and shopping cart: left column
|
|
|
3270
3368
|
|
|
3271
3369
|
### Usage notes
|
|
3272
3370
|
|
|
3273
|
-
- **CSS variables:** `--hb-checkout-border`,
|
|
3371
|
+
- **CSS variables:** `--hb-checkout-border`, Bulma `--bulma-*` (see `extra/docs.ts`).
|
|
3274
3372
|
- Compose gateways and payment objects like Storybook `extra/docs.ts`; shared types live under `hb-checkout` / `hb-checkout-shopping-cart`.
|
|
3275
3373
|
|
|
3374
|
+
### Styling (Bulma)
|
|
3375
|
+
|
|
3376
|
+
Layout uses **Bulma** `container`, `columns`, and fractional `column` widths (`is-7` / `is-5`). Theme tokens apply on `:host`; child web components inherit public **`--bulma-*`** variables.
|
|
3377
|
+
|
|
3276
3378
|
### Minimal HTML example
|
|
3277
3379
|
|
|
3278
3380
|
```html
|
|
@@ -3314,9 +3416,13 @@ None declared.
|
|
|
3314
3416
|
|
|
3315
3417
|
### Usage notes
|
|
3316
3418
|
|
|
3317
|
-
- **CSS variables:**
|
|
3419
|
+
- **CSS variables:** Bulma `--bulma-*` (see `extra/docs.ts`).
|
|
3318
3420
|
- Align `headers` / `items` with `builder/src/wc/page-invoice/types/webcomponent.type.d.ts`.
|
|
3319
3421
|
|
|
3422
|
+
### Styling (Bulma)
|
|
3423
|
+
|
|
3424
|
+
Layout uses **Bulma** `container`, `columns` / `column`, and `button is-light` for toolbar actions. **Bootstrap Icons** load from `<svelte:head>` for print / fullscreen icons (`bi-*`).
|
|
3425
|
+
|
|
3320
3426
|
### Minimal HTML example
|
|
3321
3427
|
|
|
3322
3428
|
```html
|
|
@@ -3331,40 +3437,89 @@ None declared.
|
|
|
3331
3437
|
|
|
3332
3438
|
<a id="wc-paginate"></a>
|
|
3333
3439
|
|
|
3334
|
-
|
|
3440
|
+
# hb-paginate
|
|
3335
3441
|
|
|
3336
|
-
**Category:** utilities
|
|
3337
|
-
**Tags:** utilities, navigation
|
|
3442
|
+
**Category:** utilities · **Tags:** utilities, navigation
|
|
3338
3443
|
|
|
3339
|
-
|
|
3444
|
+
## Description
|
|
3340
3445
|
|
|
3341
|
-
Pagination
|
|
3446
|
+
Pagination controls (first / previous / numbered pages / next / last), optional “showing X–Y of total” text, optional page-size via **`hb-input-number`** or **`hb-input-select`**, and optional sort field + direction with i18n. Dispatches `pageChange`, `changePageSize`, and `changeSort`.
|
|
3342
3447
|
|
|
3343
|
-
|
|
3448
|
+
## Styling (Bulma)
|
|
3449
|
+
|
|
3450
|
+
The component bundles **Bulma 1.x** in the shadow root: **`form/shared`**, **`form/select`** (sort dropdown), and **`form/pagination`**, with theme defaults on `:host` (`--bulma-hb-def-*`). Set public **`--bulma-*`** on `body` or `:root` so they inherit onto the host and match the rest of the app. Relevant tokens include pagination, controls, text, and borders — see [Bulma CSS variables](https://bulma.io/documentation/features/css-variables/).
|
|
3451
|
+
|
|
3452
|
+
**Shadow markup (simplified):**
|
|
3453
|
+
|
|
3454
|
+
- **`div.hb-paginate`** — single horizontal row: optional info/size block + **`nav.pagination`**.
|
|
3455
|
+
- **`div.paginate-bar`** — rendered only when range text and/or page-size UI is needed (avoids extra flex gap when only pagination is shown).
|
|
3456
|
+
- **`ul.pagination-list`** / **`button.pagination-link`** — Bulma pagination; list uses **`gap`** instead of doubled per-link horizontal margins.
|
|
3457
|
+
- Sort UI: **`div.select.is-small`** + native **`select`**, and a direction **`button.pagination-link`**.
|
|
3458
|
+
|
|
3459
|
+
**Host-level overrides (optional):**
|
|
3460
|
+
|
|
3461
|
+
| Variable | Purpose |
|
|
3462
|
+
|----------|---------|
|
|
3463
|
+
| `--hb-paginate-height` | Fixed host height (default: `--bulma-control-height`, fallback `2.5rem`). |
|
|
3464
|
+
| `--hb-paginate-bar-padding-inline-start` | Left inset for the info/size bar (default: `--bulma-pagination-item-padding-left`, fallback `0.5em`). |
|
|
3465
|
+
| `--hb-paginate-list-gap` | Horizontal gap between pagination list items (default: half of `--bulma-pagination-item-margin`). |
|
|
3466
|
+
|
|
3467
|
+
## Custom element
|
|
3344
3468
|
|
|
3345
3469
|
`hb-paginate`
|
|
3346
3470
|
|
|
3347
|
-
|
|
3471
|
+
## Attributes (snake_case; string values in HTML)
|
|
3348
3472
|
|
|
3349
3473
|
- `id`, `style` (optional): strings.
|
|
3350
|
-
- `page
|
|
3351
|
-
- `info` (optional): JSON string — `total`, `size`, `page_size_type` (`number`
|
|
3352
|
-
- `i18nlang` (optional):
|
|
3474
|
+
- `page`, `pages` (required): current page index and total pages, as strings.
|
|
3475
|
+
- `info` (optional): JSON string — `total`, `size`, `page_size_type` (`"number"` \| `"select"`), `page_size_options`, `sort_fields`, `sort_by`, `sort_direction`, `sort_disabled`, `sort_direction_disabled`, `sort_strict_direction`, `sort_default_value`, `sort_default_label`.
|
|
3476
|
+
- `i18nlang` (optional): e.g. `en`, `it`.
|
|
3353
3477
|
|
|
3354
|
-
|
|
3478
|
+
## Events
|
|
3355
3479
|
|
|
3356
|
-
- `pageChange`: `{ page: number; pages: number }
|
|
3357
|
-
- `changePageSize`: `{ page_size: number }
|
|
3358
|
-
- `changeSort`: `{ sort_by: string; sort_direction: string }
|
|
3480
|
+
- `pageChange`: `{ page: number; pages: number }`
|
|
3481
|
+
- `changePageSize`: `{ page_size: number }`
|
|
3482
|
+
- `changeSort`: `{ sort_by: string; sort_direction: string }`
|
|
3359
3483
|
|
|
3360
|
-
|
|
3484
|
+
## Usage notes
|
|
3361
3485
|
|
|
3362
|
-
- **CSS variables:** `--bs-primary` (and other Bootstrap theme vars as in `extra/docs.ts`).
|
|
3363
3486
|
- **i18n:** Italian and English in metadata; set `i18nlang` accordingly.
|
|
3364
|
-
- **`hb-table`:** while the table is in **`is_loading
|
|
3365
|
-
-
|
|
3487
|
+
- **`hb-table`:** while the table is in **`is_loading`**, **`hb-paginate`** remains mounted but hidden; an inline Bulma skeleton overlay mimics the bar. Use **`hb-paginate`** directly when you embed it outside the table.
|
|
3488
|
+
- **Combined examples** (sort + page size): see `extra/docs.ts`.
|
|
3366
3489
|
|
|
3367
|
-
|
|
3490
|
+
## Types
|
|
3491
|
+
|
|
3492
|
+
```typescript
|
|
3493
|
+
export type Component = {
|
|
3494
|
+
id?: string;
|
|
3495
|
+
style?: string;
|
|
3496
|
+
pages: number;
|
|
3497
|
+
page: number;
|
|
3498
|
+
info?: {
|
|
3499
|
+
total?: number;
|
|
3500
|
+
size?: number;
|
|
3501
|
+
page_size_type?: "number" | "select";
|
|
3502
|
+
page_size_options?: string;
|
|
3503
|
+
sort_fields?: { value: string; label?: string }[];
|
|
3504
|
+
sort_by?: string;
|
|
3505
|
+
sort_direction?: "asc" | "desc" | "default";
|
|
3506
|
+
sort_disabled?: boolean;
|
|
3507
|
+
sort_direction_disabled?: boolean;
|
|
3508
|
+
sort_strict_direction?: boolean;
|
|
3509
|
+
sort_default_value?: string;
|
|
3510
|
+
sort_default_label?: string;
|
|
3511
|
+
};
|
|
3512
|
+
i18nlang?: string;
|
|
3513
|
+
};
|
|
3514
|
+
|
|
3515
|
+
export type Events = {
|
|
3516
|
+
pageChange: { page: number; pages: number };
|
|
3517
|
+
changePageSize: { page_size: number };
|
|
3518
|
+
changeSort: { sort_by: string; sort_direction: string };
|
|
3519
|
+
};
|
|
3520
|
+
```
|
|
3521
|
+
|
|
3522
|
+
## Minimal HTML example
|
|
3368
3523
|
|
|
3369
3524
|
```html
|
|
3370
3525
|
<hb-paginate page="0" pages="5" i18nlang="en"></hb-paginate>
|
|
@@ -3484,10 +3639,14 @@ Loads the PayPal JS SDK with your client id and currency, renders PayPal Buttons
|
|
|
3484
3639
|
|
|
3485
3640
|
### Usage notes
|
|
3486
3641
|
|
|
3487
|
-
- **CSS variables:** `--hb-checkout-border
|
|
3642
|
+
- **CSS variables:** `--hb-checkout-border`, Bulma `--bulma-*` (see `extra/docs.ts`).
|
|
3488
3643
|
- **CSS parts:** `btn` (PayPal button surface).
|
|
3489
3644
|
- Ensure CSP and PayPal script loading match your host app; totals are fixed for the rendered session.
|
|
3490
3645
|
|
|
3646
|
+
### Styling (Bulma)
|
|
3647
|
+
|
|
3648
|
+
**Bulma** theme tokens are applied on `:host` only; the PayPal SDK injects its own button UI into `#paypalbtn`. Use **`--bulma-*`** for consistency with sibling checkout components.
|
|
3649
|
+
|
|
3491
3650
|
### Minimal HTML example
|
|
3492
3651
|
|
|
3493
3652
|
```html
|
|
@@ -3588,7 +3747,7 @@ Live streaming `<video>` player for HLS (hls.js or native), WebSocket WebRTC (`s
|
|
|
3588
3747
|
|
|
3589
3748
|
### What it does
|
|
3590
3749
|
|
|
3591
|
-
Live camera view built on `hb-player-live` with a configurable PTZ panel: D-pad or analog joystick, zoom in/out, go home, click-to-center region on the video, optional grid overlay, fullscreen, mute, and play/pause. Manages camera presets in dialogs with `hb-table` (add, go to, delete). Feature flags live in `configuration`; PTZ and UI state are driven by `is_ptz_connected`, `is_ptz_panel_opened`, and `is_home`. Dispatches movement, preset, and video-init events for the host app to wire to your backend.
|
|
3750
|
+
Live camera view built on `hb-player-live` with a configurable PTZ panel: D-pad or analog joystick, zoom in/out, go home, click-to-center region on the video, optional grid overlay, fullscreen, mute, and play/pause. Manages camera presets in dialogs with `hb-table` (add, go to, delete). Feature flags live in `configuration`; PTZ and UI state are driven by `is_ptz_connected`, `is_ptz_panel_opened`, and `is_home`. Toolbar controls use **Bulma** `button` / `buttons has-addons`. Dispatches movement, preset, and video-init events for the host app to wire to your backend.
|
|
3592
3751
|
|
|
3593
3752
|
### Custom element
|
|
3594
3753
|
|
|
@@ -3613,7 +3772,7 @@ Live camera view built on `hb-player-live` with a configurable PTZ panel: D-pad
|
|
|
3613
3772
|
|
|
3614
3773
|
### Usage notes
|
|
3615
3774
|
|
|
3616
|
-
- **CSS variables:**
|
|
3775
|
+
- **CSS variables:** Bulma theme tokens on `:host` (e.g. `--bulma-primary`, `--bulma-danger`); see `extra/docs.ts`.
|
|
3617
3776
|
- Host must implement PTZ API calls in response to movement and preset events.
|
|
3618
3777
|
|
|
3619
3778
|
### Minimal HTML example
|
|
@@ -3660,6 +3819,10 @@ Product comparison matrix: columns per product (model, description, promotion, p
|
|
|
3660
3819
|
- **CSS parts:** `container`, `col`, `row`.
|
|
3661
3820
|
- Characteristic values drive per-cell visuals (`valid`, `disabled`, `blocked`, etc. per examples in `extra/docs.ts`).
|
|
3662
3821
|
|
|
3822
|
+
### Styling (Bulma)
|
|
3823
|
+
|
|
3824
|
+
Desktop matrix uses **Bulma** `container`, `columns` / `column`, `button is-primary`, and visibility helpers (`is-hidden-touch` / `is-hidden-desktop`) to swap layouts. Set **`--bulma-*`** on `:host` (see `extra/docs.ts`). **Bootstrap Icons** load from `<svelte:head>` for feature cell icons.
|
|
3825
|
+
|
|
3663
3826
|
### Minimal HTML example
|
|
3664
3827
|
|
|
3665
3828
|
```html
|
|
@@ -3746,6 +3909,7 @@ Search field with optional dropdown `searchlist` (id, text, icons, badges, tags,
|
|
|
3746
3909
|
### Usage notes
|
|
3747
3910
|
|
|
3748
3911
|
- **CSS parts:** `dropdown-menu`, `search-input`.
|
|
3912
|
+
- **Styling:** Bulma `field has-addons` with `control has-icons-left` (search icon in the field), primary submit button, and dropdown styles are compiled in the shadow root (`styles/bulma.scss` + `webcomponent.scss`). Theme via `--bulma-*` on the host or ancestors.
|
|
3749
3913
|
- Storybook may list `initial_value`; runtime props follow `webcomponent.type.d.ts` (`value` is required).
|
|
3750
3914
|
|
|
3751
3915
|
### Minimal HTML example
|
|
@@ -3769,7 +3933,7 @@ Search field with optional dropdown `searchlist` (id, text, icons, badges, tags,
|
|
|
3769
3933
|
|
|
3770
3934
|
### What it does
|
|
3771
3935
|
|
|
3772
|
-
Vertical shop product card: top image with optional badge, then the same body as `hb-shop-item-row` (title, subtitle, text, stars, reviews, prices, footer) with
|
|
3936
|
+
Vertical shop product card: top image with optional badge, then the same body as `hb-shop-item-row` (title, subtitle, text, stars, reviews, prices, footer) with **Bulma** `card`, `tag`, `title` / `subtitle`, and matching slots.
|
|
3773
3937
|
|
|
3774
3938
|
### Custom element
|
|
3775
3939
|
|
|
@@ -3785,6 +3949,10 @@ Vertical shop product card: top image with optional badge, then the same body as
|
|
|
3785
3949
|
|
|
3786
3950
|
None declared.
|
|
3787
3951
|
|
|
3952
|
+
### Styling (Bulma)
|
|
3953
|
+
|
|
3954
|
+
Bundles **Bulma 1.x** (`card`, `image`, `content`, `title`, `tag`, helpers). Set **`--bulma-*`** on the light DOM to match your theme. Star icons still use Bootstrap Icons SVG class names in markup (no icon font required for the default stars).
|
|
3955
|
+
|
|
3788
3956
|
### Usage notes
|
|
3789
3957
|
|
|
3790
3958
|
- **Slots:** `badge`, `title`, `subtitle`, `text`, `reviews`, `price`, `footer`, `regularprice`.
|
|
@@ -3837,6 +4005,10 @@ Horizontal shop product card: image with optional badge, linked title and metada
|
|
|
3837
4005
|
|
|
3838
4006
|
None declared.
|
|
3839
4007
|
|
|
4008
|
+
### Styling (Bulma)
|
|
4009
|
+
|
|
4010
|
+
The component bundles cherry-picked Bulma 1 Sass modules scoped to `:host` (see `styles/bulma.scss`). Theme defaults are applied via Bulma’s light theme and `setup-theme`. Override appearance from the light DOM by setting public `--bulma-*` custom properties on `body` or `:root`; they inherit into the shadow root. Documented tokens include `--bulma-primary`, `--bulma-text`, `--bulma-card-background-color`, `--bulma-border`, and `--bulma-shadow` (see `extra/docs.ts`).
|
|
4011
|
+
|
|
3840
4012
|
### Usage notes
|
|
3841
4013
|
|
|
3842
4014
|
- **Slots:** `badge`, `title`, `subtitle`, `text`, `reviews`, `price`, `footer`, `regularprice`.
|
|
@@ -3913,7 +4085,7 @@ Stacked sidebar navigator: picks an active panel from JSON `panels` (main or fir
|
|
|
3913
4085
|
|
|
3914
4086
|
### What it does
|
|
3915
4087
|
|
|
3916
|
-
Fixed-width desktop sidebar: optional company logo and title, header/footer slots, and a
|
|
4088
|
+
Fixed-width desktop sidebar: optional company logo and title, header/footer slots, and a vertical nav list built from `hb-sidenav-link` entries with optional JSON groups. Uses Bulma (flex, spacing, `title`, `menu-label`, `has-background-light`). Parses `navlinks` and `groups` from strings; emits `pageChange` when a link selects a page.
|
|
3917
4089
|
|
|
3918
4090
|
### Custom element
|
|
3919
4091
|
|
|
@@ -3938,7 +4110,7 @@ Fixed-width desktop sidebar: optional company logo and title, header/footer slot
|
|
|
3938
4110
|
|
|
3939
4111
|
- **Slots:** `test`, `header`, `footer`.
|
|
3940
4112
|
- **CSS parts:** `header`.
|
|
3941
|
-
-
|
|
4113
|
+
- Bootstrap Icons CSS is included for nested `hb-sidenav-link` icons.
|
|
3942
4114
|
- Matches the navigation model used inside `hb-offcanvas`.
|
|
3943
4115
|
|
|
3944
4116
|
### Minimal HTML example
|
|
@@ -3962,7 +4134,7 @@ Fixed-width desktop sidebar: optional company logo and title, header/footer slot
|
|
|
3962
4134
|
|
|
3963
4135
|
### What it does
|
|
3964
4136
|
|
|
3965
|
-
Compact sidebar row as a nav button: optional Bootstrap
|
|
4137
|
+
Compact sidebar row as a nav button: optional Bootstrap Icons (`bi-*`) via `bootstrapIcon`, Bulma `tag` badge (optional `badge.class` / `badge.classcolor` modifiers), or visual types (`switch`, `checkbox`, `radio`) from `navlink` JSON; dispatches `pageChange` with the row `key` on click. Used by `hb-sidebar-cards-navigator` and similar stacked menus.
|
|
3966
4138
|
|
|
3967
4139
|
### Custom element
|
|
3968
4140
|
|
|
@@ -3980,7 +4152,8 @@ Compact sidebar row as a nav button: optional Bootstrap icon, badge, or visual t
|
|
|
3980
4152
|
### Usage notes
|
|
3981
4153
|
|
|
3982
4154
|
- **CSS parts:** `li`.
|
|
3983
|
-
-
|
|
4155
|
+
- Styling uses Bulma inside the shadow root (buttons and tags); theme CSS variables follow Bulma’s scheme (e.g. `--bulma-link`).
|
|
4156
|
+
- Include [Bootstrap Icons](https://icons.getbootstrap.com/) if you use `bootstrapIcon` or the switch/checkbox/radio icons.
|
|
3984
4157
|
- Storybook `nav_type` is a control helper; the shape lives on `navlink.type`.
|
|
3985
4158
|
|
|
3986
4159
|
### Minimal HTML example
|
|
@@ -4002,7 +4175,7 @@ Compact sidebar row as a nav button: optional Bootstrap icon, badge, or visual t
|
|
|
4002
4175
|
|
|
4003
4176
|
### What it does
|
|
4004
4177
|
|
|
4005
|
-
Sidebar nav item: Bootstrap
|
|
4178
|
+
Sidebar nav item: Bootstrap Icons (`bi-*`), label, optional Bulma `tag` badge (`badge.class` / `badge.classcolor` modifiers such as `is-light`, `is-primary`) rendered as **outlined** pills (transparent fill, border/text from the tag color), and either a flat button that dispatches `pageChange` on click or an expandable group of `subLinks` with active state when `navpage` or `selected` matches. Intended for use inside `hb-sidebar-desktop` lists.
|
|
4006
4179
|
|
|
4007
4180
|
### Custom element
|
|
4008
4181
|
|
|
@@ -4022,7 +4195,8 @@ Sidebar nav item: Bootstrap icon, label, optional badge, and either a flat link
|
|
|
4022
4195
|
### Usage notes
|
|
4023
4196
|
|
|
4024
4197
|
- **CSS parts:** `li`.
|
|
4025
|
-
- **
|
|
4198
|
+
- **Layout:** labels share a flexible middle column; the right column is fixed width (`--hb-sidenav-trail-width`, default `3.5rem`) so titles stay aligned whether a badge or chevron is present. Long badge text truncates with an ellipsis. Badges use an outline treatment so they stay visible on ghost (unselected) rows.
|
|
4199
|
+
- Bulma buttons and tags are scoped inside the component; include Bootstrap Icons CSS for `icon` / `subLinks[].icon`.
|
|
4026
4200
|
- Export type `INavLink` is shared with `hb-offcanvas` / `hb-sidebar-desktop` `navlinks` arrays.
|
|
4027
4201
|
|
|
4028
4202
|
### Minimal HTML example
|
|
@@ -4090,7 +4264,7 @@ Contact strip for addresses (with optional `latLng`), phones, emails, websites,
|
|
|
4090
4264
|
|
|
4091
4265
|
### What it does
|
|
4092
4266
|
|
|
4093
|
-
Marketing block pairing an image (`img`: `src`, optional `alt`) with rich text (`text`: optional `title`, `body`, optional `link` with `label` and optional `src`, `key`, colors). Use `text_side` (`left` / `right`) and `half_space` for layout; CSS parts cover mobile and desktop. Fires `elClick` when the link is activated.
|
|
4267
|
+
Marketing block pairing an image (`img`: `src`, optional `alt`) with rich text (`text`: optional `title`, `body`, optional `link` with `label` and optional `src`, `key`, colors). Use `text_side` (`left` / `right`) and `half_space` for layout; CSS parts cover mobile and desktop. CTA uses a **Bulma** `button is-primary` (custom link colors still applied inline). Fires `elClick` when the link is activated.
|
|
4094
4268
|
|
|
4095
4269
|
### Custom element
|
|
4096
4270
|
|
|
@@ -4236,6 +4410,10 @@ Development scaffold: accepts arbitrary `json`, `string`, and `boolean` props to
|
|
|
4236
4410
|
|
|
4237
4411
|
- `event`: `{ test: boolean }`.
|
|
4238
4412
|
|
|
4413
|
+
### Styling (Bulma)
|
|
4414
|
+
|
|
4415
|
+
Bundles **Bulma 1.x** (`button`, `base/skeleton`, animations) in the shadow root. Set **`--bulma-*`** on `body` / `:root` to align with your app.
|
|
4416
|
+
|
|
4239
4417
|
### Usage notes
|
|
4240
4418
|
|
|
4241
4419
|
- **Slot:** `skelcontent`.
|
|
@@ -4350,9 +4528,9 @@ Freehand drawing surface with modes (`draw`, `eraser`, `select`), brush `options
|
|
|
4350
4528
|
|
|
4351
4529
|
### What it does
|
|
4352
4530
|
|
|
4353
|
-
|
|
4531
|
+
Bulma-styled data table driven by JSON `headers` and `rows` (`_id` required): column sort, header search (text, enum, date range), formatted values (nested keys, datetime via dayjs), copy-to-clipboard, row highlight and `selectrow` clicks. Global `actions` and per-row `_actions` can open confirm or schema dialogs (`hb-dialog` / `hb-dialogform`). Optional multi-select with `selectactions`, `add_item` slot, and `hb-paginate` for page size, sort sync, and server-style `externalfilter` / `total` workflows.
|
|
4354
4532
|
|
|
4355
|
-
While **`is_loading`** is enabled, the tbody shows
|
|
4533
|
+
While **`is_loading`** is enabled, the tbody shows **Bulma skeleton** rows (`skeleton-lines`, **`checkbox.is-skeleton`**, **`button.is-skeleton`**; count follows **`size`**, capped at 100). **`hb-paginate`** stays mounted but is hidden; a single **`skeleton-block`** covers the pagination area so **`page` / `pages`** stay in sync. Optional on the host: **`--hb-table-sk-pagination-height`**, **`--hb-table-sk-pagination-min-width`** (default `min(28rem, 100%)`), **`--hb-table-sk-pagination-offset-inline-end`** (extra end margin while loading, nudges skeleton inward; default `0.65rem`). i18n via `i18nlang`.
|
|
4356
4534
|
|
|
4357
4535
|
### Custom element
|
|
4358
4536
|
|
|
@@ -4378,7 +4556,7 @@ While **`is_loading`** is enabled, the tbody shows Bootstrap **placeholder** ske
|
|
|
4378
4556
|
- `disable_paginate_sort` (optional): boolean string.
|
|
4379
4557
|
- `sort_strict_direction` (optional): boolean string.
|
|
4380
4558
|
- `sort_direction` (optional): string — current sort direction.
|
|
4381
|
-
- **`is_loading` (optional):** boolean string (`"yes"` / `"true"`) or boolean in frameworks —
|
|
4559
|
+
- **`is_loading` (optional):** boolean string (`"yes"` / `"true"`) or boolean in frameworks — Bulma skeleton rows in the tbody (row count = `size`) and one **`skeleton-block`** over hidden **`hb-paginate`**.
|
|
4382
4560
|
|
|
4383
4561
|
### Actions (`actions` and `_actions`)
|
|
4384
4562
|
|
|
@@ -4446,8 +4624,9 @@ Set **`add_item`** to `"yes"` / `"true"` (or boolean `true` in frameworks) to sh
|
|
|
4446
4624
|
|
|
4447
4625
|
- **Slots:** `add-button-content` (Add button body), `buttons-container` (extra toolbar content).
|
|
4448
4626
|
- **CSS parts:** `table`, `table-actions`, `selected-row`, `common-row`.
|
|
4627
|
+
- **Toolbar:** multi-select **settings** (gear) button has **`margin-inline-start`** from **`--hb-table-toolbar-settings-margin-inline-start`** (default `--bulma-block-spacing`) so it sits slightly right of the toolbar start.
|
|
4449
4628
|
- **i18n:** Italian and English in docs metadata; set `i18nlang` accordingly.
|
|
4450
|
-
- **`hb-paginate`:** embedded when pagination is enabled
|
|
4629
|
+
- **`hb-paginate`:** embedded when pagination is enabled; while **`is_loading`**, it stays in the DOM (hidden) under the skeleton overlay so props stay aligned — user interaction is blocked until loading ends.
|
|
4451
4630
|
- **Pagination while loading:** `is_loading` does not recalculate `page` / `pages` by itself. With **client-side** pagination, if you clear `rows` during a refresh, the `$effect` that derives `pages` from row count does not run on an empty list, so **`pages` can stay at the previous value** until new rows arrive — keep `page`, `pages`, and `total` aligned with your API if needed.
|
|
4452
4631
|
- See `extra/docs.ts` for Storybook-style examples.
|
|
4453
4632
|
|
|
@@ -4544,7 +4723,7 @@ Renders legal-style documents from `data`: privacy templates with site, company,
|
|
|
4544
4723
|
|
|
4545
4724
|
### What it does
|
|
4546
4725
|
|
|
4547
|
-
|
|
4726
|
+
Bulma-styled notification toast: `show` (`yes` / `no`), `title`, `content`, optional `img`, `small`, `level`, `position`, `timeout`, string `progress` for a progress bar, and `buttons` for actions. Slots customize header and body; dispatches visibility and button `action` events. Theme uses Bulma variables on `:host`.
|
|
4548
4727
|
|
|
4549
4728
|
### Custom element
|
|
4550
4729
|
|
|
@@ -4569,8 +4748,9 @@ Bootstrap-styled toast: `show` (`yes` / `no`), `title`, `content`, optional `img
|
|
|
4569
4748
|
|
|
4570
4749
|
### Usage notes
|
|
4571
4750
|
|
|
4572
|
-
- **Slots:** `
|
|
4573
|
-
- **CSS
|
|
4751
|
+
- **Slots:** `header_icon` (top-left badge), `header_strong`, `header_small` (overrides the status chip under the title), `body`.
|
|
4752
|
+
- **CSS parts:** `toast` (root), `status` (chip row for time / percentage / timeout).
|
|
4753
|
+
- **Theming:** Bulma Sass is forwarded from `styles/bulma.scss`; override `--bulma-*` on the host or document root as needed. The `level` attribute maps to Bulma `notification` tints (`is-*` + `is-light`, except `light` which uses the palette’s light variant).
|
|
4574
4754
|
|
|
4575
4755
|
### Minimal HTML example
|
|
4576
4756
|
|
|
@@ -4634,7 +4814,7 @@ Wrapper that adds a Bootstrap tooltip around slotted content. Configure via `too
|
|
|
4634
4814
|
|
|
4635
4815
|
### What it does
|
|
4636
4816
|
|
|
4637
|
-
Upload progress UI driven by `fetch_data` (`url`, `data`, optional `method`, `headers`): wraps `hb-dialog`, shows
|
|
4817
|
+
Upload progress UI driven by `fetch_data` (`url`, `data`, optional `method`, `headers`): wraps `hb-dialog`, shows an indeterminate **Bulma** `progress` bar while starting, then fills `progress` from streamed upload bytes. Optional `upload_id` identifies the nested dialog; `title` slot labels the dialog. Forwards dialog `modalShow` and emits `uploadComplete` / `uploadError` when the request finishes or fails.
|
|
4638
4818
|
|
|
4639
4819
|
### Custom element
|
|
4640
4820
|
|
|
@@ -4656,7 +4836,7 @@ Upload progress UI driven by `fetch_data` (`url`, `data`, optional `method`, `he
|
|
|
4656
4836
|
|
|
4657
4837
|
- **Slot:** `title` — dialog title (default “Uploading”).
|
|
4658
4838
|
- Storybook arg names may say “download”; runtime events are **`uploadError`** / **`uploadComplete`**.
|
|
4659
|
-
- **CSS vars** in docs reference
|
|
4839
|
+
- **CSS vars** in docs reference Bulma semantic colors (`--bulma-*`) for progress and labels.
|
|
4660
4840
|
|
|
4661
4841
|
### Minimal HTML example
|
|
4662
4842
|
|