@feezal/feezal-element 3.0.2 → 3.0.3
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/feezal-element.js +16 -0
- package/feezal-topic-input.js +1 -1
- package/package.json +1 -1
package/feezal-element.js
CHANGED
|
@@ -414,5 +414,21 @@ export function availabilityBadge(available) {
|
|
|
414
414
|
return available ? '' : html`<span class="feezal-unavail-badge" title="Device unavailable">⚠</span>`;
|
|
415
415
|
}
|
|
416
416
|
|
|
417
|
+
/**
|
|
418
|
+
* E117: shared descriptor for the `publish-local` attribute — spread into an
|
|
419
|
+
* element's `feezal.attributes` right after `publish` so the label and help
|
|
420
|
+
* text can never drift between elements. The element declares
|
|
421
|
+
* `publishLocal: {type: Boolean, reflect: true, attribute: 'publish-local'}`
|
|
422
|
+
* and passes `{local: this.publishLocal}` as the pub() options; the
|
|
423
|
+
* connection then loops the message back page-locally instead of sending it
|
|
424
|
+
* to the broker (see FeezalConnection.pub).
|
|
425
|
+
*/
|
|
426
|
+
export const publishLocalAttribute = {
|
|
427
|
+
name: 'publish-local',
|
|
428
|
+
type: 'boolean',
|
|
429
|
+
default: false,
|
|
430
|
+
help: 'Publish page-locally instead of to the broker: the payload reaches only subscribers in THIS browser tab (dialog triggers, view switches, wiring elements together). Nothing is sent over MQTT, nothing is retained, and it works while disconnected.'
|
|
431
|
+
};
|
|
432
|
+
|
|
417
433
|
// Re-export so element files can do a single import.
|
|
418
434
|
export {html, css};
|
package/feezal-topic-input.js
CHANGED
|
@@ -141,7 +141,7 @@ class FeezalTopicInput extends LitElement {
|
|
|
141
141
|
render() {
|
|
142
142
|
return html`
|
|
143
143
|
<div class="topic-wrap">
|
|
144
|
-
<sl-input size="${this.size}" autocomplete="off"
|
|
144
|
+
<sl-input size="${this.size}" autocomplete="off" clearable
|
|
145
145
|
label="${this.label || ''}"
|
|
146
146
|
placeholder="${this.placeholder}"
|
|
147
147
|
.value="${this.value ?? ''}"
|
package/package.json
CHANGED