Compare commits

...

6 Commits

Author SHA1 Message Date
eb7f482b75 v3.1.2
Some checks failed
Default (tags) / security (push) Failing after 16s
Default (tags) / test (push) Failing after 11s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-12-21 18:30:41 +00:00
d16d482120 fix(wcc-properties): Use LitElement.updated to recreate properties only when selectedItem changes and handle errors; remove custom scheduleUpdate implementation 2025-12-21 18:30:41 +00:00
5ba4e55011 v3.1.1
Some checks failed
Default (tags) / security (push) Failing after 14s
Default (tags) / test (push) Failing after 15s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-12-21 18:24:46 +00:00
0068c0749d fix(wcc-properties): Improve wcc-properties CSS to prevent grid overflow, properly size and center icon glyphs, and adjust right-side offset 2025-12-21 18:24:46 +00:00
36dd6b5064 v3.1.0
Some checks failed
Default (tags) / security (push) Failing after 15s
Default (tags) / test (push) Failing after 11s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-12-19 09:21:30 +00:00
ddecfcdb4c feat(wcc-properties): add Share selector with inline Record button and adjust properties panel grid layout 2025-12-19 09:21:30 +00:00
4 changed files with 63 additions and 23 deletions

View File

@@ -1,5 +1,29 @@
# Changelog # Changelog
## 2025-12-21 - 3.1.2 - fix(wcc-properties)
Use LitElement.updated to recreate properties only when selectedItem changes and handle errors; remove custom scheduleUpdate implementation
- Replaced public async scheduleUpdate() with protected updated(changedProperties) lifecycle method
- Call super.updated(...) and only recreate properties when selectedItem changed to avoid unnecessary work
- Preserve error handling and clear propertyContent on failure
- Removed explicit super.scheduleUpdate() call to rely on LitElement's update lifecycle
## 2025-12-21 - 3.1.1 - fix(wcc-properties)
Improve wcc-properties CSS to prevent grid overflow, properly size and center icon glyphs, and adjust right-side offset
- Use minmax(0, 1fr) for grid-template-columns (selectorButtons1/2/4/5) to avoid flexbox overflow and ensure consistent column sizing
- Add min-width/min-height and inline-flex centering to .material-symbols-outlined to stabilize icon sizing and vertical/horizontal alignment
- Increase right calc offset from 520px to 600px to accommodate wider content/controls
- Changes applied in ts_web/elements/wcc-properties.ts
## 2025-12-19 - 3.1.0 - feat(wcc-properties)
add Share selector with inline Record button and adjust properties panel grid layout
- Increase rightmost column width from 70px to 100px in properties grid
- Introduce .shareSelector and .selectorButtons1 CSS classes and markup
- Replace <wcc-record-button> with inline Record button that toggles icon based on isRecording
- Add Share panel heading and integrate record control into selector area
## 2025-12-19 - 3.0.0 - BREAKING CHANGE(ts_web) ## 2025-12-19 - 3.0.0 - BREAKING CHANGE(ts_web)
Replace fullscreen boolean with native viewport mode across components, add native viewport selector and toggle, and update dev deps and npmextra config Replace fullscreen boolean with native viewport mode across components, add native viewport selector and toggle, and update dev deps and npmextra config

View File

@@ -1,6 +1,6 @@
{ {
"name": "@design.estate/dees-wcctools", "name": "@design.estate/dees-wcctools",
"version": "3.0.0", "version": "3.1.2",
"private": false, "private": false,
"description": "A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.", "description": "A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.",
"exports": { "exports": {

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@design.estate/dees-wcctools', name: '@design.estate/dees-wcctools',
version: '3.0.0', version: '3.1.2',
description: 'A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.' description: 'A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.'
} }

View File

@@ -100,7 +100,7 @@ export class WccProperties extends DeesElement {
} }
.grid { .grid {
display: grid; display: grid;
grid-template-columns: 1fr 150px 350px 70px; grid-template-columns: 1fr 150px 350px 100px;
height: 100%; height: 100%;
} }
.properties { .properties {
@@ -197,7 +197,8 @@ export class WccProperties extends DeesElement {
} }
.viewportSelector, .viewportSelector,
.themeSelector { .themeSelector,
.shareSelector {
user-select: none; user-select: none;
background: transparent; background: transparent;
display: flex; display: flex;
@@ -206,17 +207,22 @@ export class WccProperties extends DeesElement {
} }
.selectorButtons2 { .selectorButtons2 {
display: grid; display: grid;
grid-template-columns: 1fr 1fr; grid-template-columns: repeat(2, minmax(0, 1fr));
flex: 1; flex: 1;
} }
.selectorButtons4 { .selectorButtons4 {
display: grid; display: grid;
grid-template-columns: repeat(4, 1fr); grid-template-columns: repeat(4, minmax(0, 1fr));
flex: 1; flex: 1;
} }
.selectorButtons5 { .selectorButtons5 {
display: grid; display: grid;
grid-template-columns: repeat(5, 1fr); grid-template-columns: repeat(5, minmax(0, 1fr));
flex: 1;
}
.selectorButtons1 {
display: grid;
grid-template-columns: minmax(0, 1fr);
flex: 1; flex: 1;
} }
.button { .button {
@@ -253,6 +259,11 @@ export class WccProperties extends DeesElement {
.button .material-symbols-outlined { .button .material-symbols-outlined {
font-size: 18px; font-size: 18px;
font-variation-settings: 'FILL' 0, 'wght' 300; font-variation-settings: 'FILL' 0, 'wght' 300;
min-width: 18px;
min-height: 18px;
display: inline-flex;
align-items: center;
justify-content: center;
} }
.button.selected .material-symbols-outlined { .button.selected .material-symbols-outlined {
@@ -295,7 +306,7 @@ export class WccProperties extends DeesElement {
top: 0.5rem; top: 0.5rem;
bottom: 0.5rem; bottom: 0.5rem;
left: 0.5rem; left: 0.5rem;
right: calc(520px + 0.5rem); right: calc(600px + 0.5rem);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -671,12 +682,17 @@ export class WccProperties extends DeesElement {
</div> </div>
</div> </div>
</div> </div>
<!-- Recording Button --> <div class="shareSelector">
<wcc-record-button <div class="panelheading">Share</div>
.state=${this.isRecording ? 'recording' : 'idle'} <div class="selectorButtons1">
.duration=${this.recordingDuration} <div
@record-click=${() => this.handleRecordButtonClick()} class="button ${this.isRecording ? 'selected' : ''}"
></wcc-record-button> @click=${() => this.handleRecordButtonClick()}
>
Record<i class="material-symbols-outlined">${this.isRecording ? 'stop_circle' : 'videocam'}</i>
</div>
</div>
</div>
</div> </div>
${this.warning ? html`<div class="warning">${this.warning}</div>` : null} ${this.warning ? html`<div class="warning">${this.warning}</div>` : null}
</div> </div>
@@ -909,16 +925,16 @@ export class WccProperties extends DeesElement {
this.dashboardRef.buildUrl(); this.dashboardRef.buildUrl();
} }
public async scheduleUpdate() { protected updated(changedProperties: Map<string, unknown>) {
try { super.updated(changedProperties);
await this.createProperties();
} catch (error) { // Only recreate properties when selectedItem changes
if (changedProperties.has('selectedItem')) {
this.createProperties().catch(error => {
console.error('Error creating properties:', error); console.error('Error creating properties:', error);
// Clear property content on error to show clean state
this.propertyContent = []; this.propertyContent = [];
});
} }
// Always call super.scheduleUpdate to ensure component updates
super.scheduleUpdate();
} }
public selectViewport(viewport: TEnvironment) { public selectViewport(viewport: TEnvironment) {