@design.estate/dees-catalog 3.74.1 → 3.75.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "3.74.1",
3
+ "version": "3.75.0",
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",
@@ -18,7 +18,7 @@
18
18
  "dependencies": {
19
19
  "@design.estate/dees-domtools": "^2.5.4",
20
20
  "@design.estate/dees-element": "^2.2.4",
21
- "@design.estate/dees-wcctools": "^3.8.2",
21
+ "@design.estate/dees-wcctools": "^3.8.4",
22
22
  "@fortawesome/fontawesome-svg-core": "^7.2.0",
23
23
  "@fortawesome/free-brands-svg-icons": "^7.2.0",
24
24
  "@fortawesome/free-regular-svg-icons": "^7.2.0",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.74.1',
6
+ version: '3.75.0',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  }
@@ -284,40 +284,21 @@ export const demoFunc = () => html`
284
284
  </dees-demowrapper>
285
285
 
286
286
  <dees-demowrapper .runAfterRender=${async (elementArg: HTMLElement) => {
287
- // Set up interactive example
288
- const dynamicInput = elementArg.querySelector('dees-input-text');
287
+ const dynamicInput = elementArg.querySelector('dees-input-text') as DeesInputText;
289
288
  const output = elementArg.querySelector('#text-input-output');
290
-
289
+
291
290
  if (dynamicInput && output) {
292
- // Update output on every change
293
- dynamicInput.addEventListener('changeSubject', ((event: CustomEvent) => {
294
- const value = (event.detail as DeesInputText).getValue();
295
- output.textContent = `Current value: "${value}"`;
296
- }) as EventListener);
297
-
298
- // Also track focus/blur events
299
- dynamicInput.addEventListener('focus', () => {
300
- console.log('Input focused');
301
- });
302
-
303
- dynamicInput.addEventListener('blur', () => {
304
- console.log('Input blurred');
305
- });
306
-
307
- // Track keypress events
308
- let keypressCount = 0;
309
- dynamicInput.addEventListener('keydown', () => {
310
- keypressCount++;
311
- console.log(`Keypress count: ${keypressCount}`);
291
+ dynamicInput.changeSubject.subscribe(() => {
292
+ output.textContent = `Current value: "${dynamicInput.getValue()}"`;
312
293
  });
313
294
  }
314
295
  }}>
315
- <dees-panel .title=${'Interactive Example'} .subtitle=${'Try typing in the inputs to see real-time value changes'}>
316
- <dees-input-text
317
- .label=${'Dynamic Input'}
296
+ <dees-panel .title=${'Interactive Example'} .subtitle=${'Try typing in the input to see real-time value changes'}>
297
+ <dees-input-text
298
+ .label=${'Dynamic Input'}
318
299
  .placeholder=${'Type something here...'}
319
300
  ></dees-input-text>
320
-
301
+
321
302
  <div class="interactive-section">
322
303
  <div id="text-input-output" class="output-text">Current value: ""</div>
323
304
  </div>
@@ -45,6 +45,9 @@ export class DeesTile extends DeesElement {
45
45
  @property({ type: String })
46
46
  accessor heading: string = '';
47
47
 
48
+ @property({ type: String, reflect: true })
49
+ accessor overscroll: 'contain' | 'auto' | 'none' = 'auto';
50
+
48
51
  @state()
49
52
  accessor hasFooter: boolean = false;
50
53
 
@@ -102,11 +105,14 @@ export class DeesTile extends DeesElement {
102
105
  border-bottom: 1px solid var(--dees-color-border-subtle);
103
106
  overflow-x: hidden;
104
107
  overflow-y: auto;
105
- overscroll-behavior: contain;
106
108
  scrollbar-width: thin;
107
109
  scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
108
110
  }
109
111
 
112
+ :host([overscroll="contain"]) .tile-content {
113
+ overscroll-behavior: contain;
114
+ }
115
+
110
116
  .tile-content.no-footer {
111
117
  border-bottom: none;
112
118
  border-bottom-left-radius: 0;
@@ -343,7 +343,7 @@ export class DeesModal extends DeesElement {
343
343
  ${minWidthStyle ? `dees-tile { min-width: ${minWidthStyle}; }` : ''}
344
344
  </style>
345
345
  <div class="modalContainer" @click=${this.handleOutsideClick} style="z-index: ${this.modalZIndex}">
346
- <dees-tile class="${widthClass} ${mobileFullscreenClass}">
346
+ <dees-tile class="${widthClass} ${mobileFullscreenClass}" .overscroll=${'contain'}>
347
347
  <div slot="header" class="heading">
348
348
  <div class="heading-text">${this.heading}</div>
349
349
  <div class="header-buttons">