@design.estate/dees-catalog 3.61.0 → 3.61.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +39 -33
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.js +40 -33
- package/dist_ts_web/elements/00group-utility/dees-icon/dees-icon.js +2 -1
- package/dist_watch/bundle.js +37 -31
- package/dist_watch/bundle.js.map +2 -2
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-input/dees-input-list/dees-input-list.ts +35 -33
- package/ts_web/elements/00group-utility/dees-icon/dees-icon.ts +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "3.61.
|
|
3
|
+
"version": "3.61.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
|
6
6
|
"main": "dist_ts_web/index.js",
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '3.61.
|
|
6
|
+
version: '3.61.2',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from '@design.estate/dees-element';
|
|
10
10
|
import { DeesInputBase } from '../dees-input-base/dees-input-base.js';
|
|
11
11
|
import '../../00group-utility/dees-icon/dees-icon.js';
|
|
12
|
+
import '../../00group-layout/dees-tile/dees-tile.js';
|
|
12
13
|
import { demoFunc } from './dees-input-list.demo.js';
|
|
13
14
|
import { themeDefaultStyles } from '../../00theme.js';
|
|
14
15
|
|
|
@@ -119,26 +120,19 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
119
120
|
width: 100%;
|
|
120
121
|
}
|
|
121
122
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
125
|
-
border-radius: 6px;
|
|
126
|
-
overflow: hidden;
|
|
127
|
-
transition: all 0.15s ease;
|
|
123
|
+
dees-tile:hover::part(outer) {
|
|
124
|
+
border-color: var(--dees-color-border-strong);
|
|
128
125
|
}
|
|
129
126
|
|
|
130
|
-
|
|
131
|
-
border-color: ${cssManager.bdTheme('hsl(0 0% 79.8%)', 'hsl(0 0% 20.9%)')};
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.list-container:focus-within {
|
|
127
|
+
dees-tile:focus-within::part(outer) {
|
|
135
128
|
border-color: ${cssManager.bdTheme('hsl(222.2 47.4% 51.2%)', 'hsl(217.2 91.2% 59.8%)')};
|
|
136
129
|
box-shadow: 0 0 0 3px ${cssManager.bdTheme('hsl(222.2 47.4% 51.2% / 0.1)', 'hsl(217.2 91.2% 59.8% / 0.1)')};
|
|
137
130
|
}
|
|
138
131
|
|
|
139
|
-
|
|
132
|
+
:host([disabled]) dees-tile {
|
|
140
133
|
opacity: 0.6;
|
|
141
134
|
cursor: not-allowed;
|
|
135
|
+
pointer-events: none;
|
|
142
136
|
}
|
|
143
137
|
|
|
144
138
|
.list-items {
|
|
@@ -151,8 +145,8 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
151
145
|
align-items: center;
|
|
152
146
|
gap: 6px;
|
|
153
147
|
padding: 6px 10px;
|
|
154
|
-
border-bottom: 1px solid
|
|
155
|
-
background:
|
|
148
|
+
border-bottom: 1px solid var(--dees-color-border-subtle);
|
|
149
|
+
background: transparent;
|
|
156
150
|
transition: transform 0.2s ease, background 0.15s ease, box-shadow 0.15s ease;
|
|
157
151
|
position: relative;
|
|
158
152
|
overflow: hidden;
|
|
@@ -163,7 +157,7 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
163
157
|
}
|
|
164
158
|
|
|
165
159
|
.list-items:not(.is-dragging) .list-item:hover:not(.disabled) {
|
|
166
|
-
background:
|
|
160
|
+
background: var(--dees-color-row-hover);
|
|
167
161
|
}
|
|
168
162
|
|
|
169
163
|
/* Dragging item - follows cursor */
|
|
@@ -201,6 +195,14 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
201
195
|
flex-shrink: 0;
|
|
202
196
|
}
|
|
203
197
|
|
|
198
|
+
.item-bullet {
|
|
199
|
+
width: 14px;
|
|
200
|
+
height: 14px;
|
|
201
|
+
color: var(--dees-color-text-muted);
|
|
202
|
+
flex-shrink: 0;
|
|
203
|
+
opacity: 0.5;
|
|
204
|
+
}
|
|
205
|
+
|
|
204
206
|
.drag-handle {
|
|
205
207
|
display: flex;
|
|
206
208
|
align-items: center;
|
|
@@ -303,8 +305,6 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
303
305
|
display: flex;
|
|
304
306
|
gap: 6px;
|
|
305
307
|
padding: 6px 10px;
|
|
306
|
-
background: ${cssManager.bdTheme('hsl(0 0% 97.5%)', 'hsl(0 0% 6.9%)')};
|
|
307
|
-
border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
308
308
|
}
|
|
309
309
|
|
|
310
310
|
.add-input {
|
|
@@ -442,7 +442,7 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
442
442
|
<div class="input-wrapper">
|
|
443
443
|
${this.label ? html`<dees-label .label=${this.label} .required=${this.required}></dees-label>` : ''}
|
|
444
444
|
|
|
445
|
-
<
|
|
445
|
+
<dees-tile .heading="${this.value.length} item${this.value.length !== 1 ? 's' : ''}">
|
|
446
446
|
<div class="list-items">
|
|
447
447
|
${this.value.length > 0 ? this.value.map((item, index) => html`
|
|
448
448
|
<div
|
|
@@ -458,13 +458,15 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
458
458
|
<dees-icon .icon=${'lucide:gripVertical'}></dees-icon>
|
|
459
459
|
</div>
|
|
460
460
|
` : ''}
|
|
461
|
-
|
|
461
|
+
|
|
462
462
|
${this.candidates.length > 0 ? html`
|
|
463
463
|
${this.candidates.some(c => c.viewKey === item) ? html`
|
|
464
464
|
<dees-icon class="candidate-check" .icon=${'lucide:check'}></dees-icon>
|
|
465
465
|
` : html`
|
|
466
466
|
<dees-icon class="candidate-unknown" .icon=${'lucide:helpCircle'}></dees-icon>
|
|
467
467
|
`}
|
|
468
|
+
` : !this.sortable || this.disabled ? html`
|
|
469
|
+
<dees-icon class="item-bullet" .icon=${'lucide:dot'}></dees-icon>
|
|
468
470
|
` : ''}
|
|
469
471
|
|
|
470
472
|
<div class="item-content">
|
|
@@ -512,7 +514,7 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
512
514
|
</div>
|
|
513
515
|
|
|
514
516
|
${!this.disabled && (!this.maxItems || this.value.length < this.maxItems) ? html`
|
|
515
|
-
<div class="add-item-container">
|
|
517
|
+
<div slot="footer" class="add-item-container">
|
|
516
518
|
<div class="autocomplete-wrapper">
|
|
517
519
|
${this.ghostText ? html`
|
|
518
520
|
<span class="ghost-text">
|
|
@@ -538,7 +540,7 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
538
540
|
</button>
|
|
539
541
|
</div>
|
|
540
542
|
` : ''}
|
|
541
|
-
</
|
|
543
|
+
</dees-tile>
|
|
542
544
|
|
|
543
545
|
${this.validationText ? html`
|
|
544
546
|
<div class="validation-message">${this.validationText}</div>
|
|
@@ -663,11 +665,13 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
663
665
|
this.currentCandidateIndex = -1;
|
|
664
666
|
this.matchingCandidates = [];
|
|
665
667
|
this.validationText = '';
|
|
666
|
-
|
|
667
|
-
const input = this.shadowRoot?.querySelector('.add-input') as HTMLInputElement;
|
|
668
|
-
if (input) { input.value = ''; input.focus(); }
|
|
669
|
-
|
|
670
668
|
this.emitChange();
|
|
669
|
+
|
|
670
|
+
// Re-focus input after Lit re-renders
|
|
671
|
+
this.updateComplete.then(() => {
|
|
672
|
+
const input = this.shadowRoot?.querySelector('.add-input') as HTMLInputElement;
|
|
673
|
+
if (input) { input.value = ''; input.focus(); }
|
|
674
|
+
});
|
|
671
675
|
}
|
|
672
676
|
|
|
673
677
|
/**
|
|
@@ -706,15 +710,13 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
|
|
|
706
710
|
this.value = [...this.value, trimmedValue];
|
|
707
711
|
this.inputValue = '';
|
|
708
712
|
this.validationText = '';
|
|
709
|
-
|
|
710
|
-
// Clear the input
|
|
711
|
-
const input = this.shadowRoot?.querySelector('.add-input') as HTMLInputElement;
|
|
712
|
-
if (input) {
|
|
713
|
-
input.value = '';
|
|
714
|
-
input.focus();
|
|
715
|
-
}
|
|
716
|
-
|
|
717
713
|
this.emitChange();
|
|
714
|
+
|
|
715
|
+
// Re-focus input after Lit re-renders
|
|
716
|
+
this.updateComplete.then(() => {
|
|
717
|
+
const input = this.shadowRoot?.querySelector('.add-input') as HTMLInputElement;
|
|
718
|
+
if (input) { input.value = ''; input.focus(); }
|
|
719
|
+
});
|
|
718
720
|
}
|
|
719
721
|
|
|
720
722
|
private startEdit(index: number) {
|