@tylertech/forge 3.14.2 → 3.14.4-dev.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.
@@ -37237,7 +37237,7 @@
37237
37237
  ]
37238
37238
  }
37239
37239
  ],
37240
- "branchName": "main",
37240
+ "branchName": "fix",
37241
37241
  "forgeTypes": {
37242
37242
  "Theme": {
37243
37243
  "path": "src/lib/constants.ts",
@@ -39889,7 +39889,7 @@
39889
39889
  },
39890
39890
  "CoreWithAdapter": {
39891
39891
  "path": "src/lib/core/decorators/global-configuration-decorator.ts",
39892
- "lineNumber": 4
39892
+ "lineNumber": 5
39893
39893
  },
39894
39894
  "BaseComponentDelegateProps": {
39895
39895
  "path": "src/lib/core/delegates/base-component-delegate.ts",
@@ -58,7 +58,7 @@ class AutocompleteCore extends ListDropdownAwareCore {
58
58
  if (this._values.length) {
59
59
  if (!this._selectedOptions.length) {
60
60
  try {
61
- await this._executeFilter();
61
+ await this._executeFilter(false, true);
62
62
  }
63
63
  catch (e) {
64
64
  console.error(e);
@@ -943,7 +943,7 @@ class AutocompleteCore extends ListDropdownAwareCore {
943
943
  set selectedTextBuilder(fn) {
944
944
  this._selectedTextBuilder = fn;
945
945
  // If there are selected options, set the selected text again
946
- if (this._selectedOptions.length) {
946
+ if (this._selectedOptions.length && this._isInitialized) {
947
947
  this._adapter.setSelectedText(this._getSelectedText());
948
948
  }
949
949
  }
@@ -5,6 +5,7 @@
5
5
  */
6
6
 
7
7
  import { GlobalConfiguration } from '../configuration/global-configuration.js';
8
+ import { isHTMLElement } from '../utils/feature-detection.js';
8
9
 
9
10
  /**
10
11
  * A decorator that automatically applies global configuration values to a property.
@@ -44,7 +45,7 @@ function globalConfig() {
44
45
  let initialValue = this[privateKey];
45
46
  // Get tag name based on whether this is an HTMLElement or a Core class
46
47
  let tagName;
47
- if (this instanceof HTMLElement) {
48
+ if (isHTMLElement(this)) {
48
49
  // Direct HTMLElement access (Lit components)
49
50
  tagName = this.localName || this.tagName?.toLowerCase();
50
51
  }
@@ -21,3 +21,11 @@ export declare function supportsHover(): boolean;
21
21
  * @returns {boolean}
22
22
  */
23
23
  export declare function prefersReducedMotion(): boolean;
24
+ /**
25
+ * Safely checks if an object is an HTMLElement instance.
26
+ * Works in both browser environments and environments where HTMLElement might not be
27
+ * a proper constructor (e.g. Node-based testing environments).
28
+ * @param {any} obj - The object to check.
29
+ * @returns {boolean}
30
+ */
31
+ export declare function isHTMLElement(obj: any): obj is HTMLElement;
@@ -40,5 +40,29 @@ function supportsHover() {
40
40
  function prefersReducedMotion() {
41
41
  return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
42
42
  }
43
+ /**
44
+ * Safely checks if an object is an HTMLElement instance.
45
+ * Works in both browser environments and environments where HTMLElement might not be
46
+ * a proper constructor (e.g. Node-based testing environments).
47
+ * @param {any} obj - The object to check.
48
+ * @returns {boolean}
49
+ */
50
+ function isHTMLElement(obj) {
51
+ // First check if HTMLElement is a function (constructor) before using instanceof
52
+ if (typeof HTMLElement === 'function') {
53
+ try {
54
+ return obj instanceof HTMLElement;
55
+ }
56
+ catch {
57
+ // instanceof can throw if rights-hand side is not available in the environment, fall through to duck-typing
58
+ }
59
+ }
60
+ // Duck-typing fallback: check for properties commonly found on HTMLElements
61
+ return (typeof obj === 'object' &&
62
+ obj !== null &&
63
+ typeof obj.nodeType === 'number' &&
64
+ typeof obj.nodeName === 'string' &&
65
+ (typeof obj.localName === 'string' || typeof obj.tagName === 'string'));
66
+ }
43
67
 
44
- export { prefersReducedMotion, supportsElementInternalsAria, supportsHover, supportsPopover };
68
+ export { isHTMLElement, prefersReducedMotion, supportsElementInternalsAria, supportsHover, supportsPopover };
@@ -8,7 +8,7 @@ export { ISO_8601_REGEX, ISO_TIMEZONE_REGEX, formatDate, getLastDateOfMonth, get
8
8
  export { Deferred } from './deferred.js';
9
9
  export { DismissibleStack, tryDismiss } from './dismissible-stack.js';
10
10
  export { composedPathFrom, eventIncludesArrowKey, proxyShadowScrollEvent } from './event-utils.js';
11
- export { prefersReducedMotion, supportsElementInternalsAria, supportsHover, supportsPopover } from './feature-detection.js';
11
+ export { isHTMLElement, prefersReducedMotion, supportsElementInternalsAria, supportsHover, supportsPopover } from './feature-detection.js';
12
12
  import './form-utils.js';
13
13
  export { KeyActionController } from './key-action.js';
14
14
  export { BUTTON_FORM_ATTRIBUTES, INPUT_ARIA_ATTRIBUTES, INPUT_PROPERTIES, REFLECTIVE_ARIA_ATTRIBUTES, SlottedElementAdapter, cloneAttributes, cloneProperties, cloneValidationMessage, forwardAttributes, getPartPrefixedAttributes } from './reflect-utils.js';
package/esm/index.js CHANGED
@@ -459,8 +459,8 @@ export { getCurrentTimeOfDayMillis, hoursToMillis, mergeDateWithTime, millisToHo
459
459
  export { getFirstDayOfWeekForLocale, getLocalizedDayOfMonth, getLocalizedDayOfWeek, getLocalizedMonth, getLocalizedYear, getWeekendDaysForLocale, isRtlLocale } from './calendar/calendar-locale-utils.js';
460
460
  export { getGrid, getGridItems, getList, getListItems, getScrollSpy, removeAllExceptLastChild } from './calendar/calendar-menu/calendar-menu-utils.js';
461
461
  export { globalConfig } from './core/decorators/global-configuration-decorator.js';
462
+ export { isHTMLElement, prefersReducedMotion, supportsElementInternalsAria, supportsHover, supportsPopover } from './core/utils/feature-detection.js';
462
463
  export { isLabelAware } from './label/label-aware.js';
463
- export { prefersReducedMotion, supportsElementInternalsAria, supportsHover, supportsPopover } from './core/utils/feature-detection.js';
464
464
  export { randomHexColor } from './utils/color-utils.js';
465
465
 
466
466
  /// <reference path="./typings.d.ts" />
@@ -4,6 +4,6 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
 
7
- var styles = ".forge-split-view-panel{display:flex;width:100%;height:100%;overflow:hidden}.forge-split-view-panel__handle{color:var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6));background-color:var(--forge-theme-outline, #e0e0e0);position:relative;display:flex;flex-shrink:0;justify-content:center;align-items:center;outline:none}.forge-split-view-panel__content{flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:var(--forge-split-view-handle-width, 8px);width:calc(var(--forge-split-view-panel-size, unset) + var(--forge-split-view-handle-width, 8px));flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:var(--forge-split-view-handle-width, 8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;animation-name:udhg6cr;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes udhg6cr{from{transform:none}to{transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;animation-name:udhg6dd;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes udhg6dd{from{transform:none}to{transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;animation-name:udhg6e2;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes udhg6e2{from{transform:none}to{transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{animation-direction:reverse}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;animation-name:udhg6e3;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes udhg6e3{from{transform:none}to{transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{animation-direction:reverse}.forge-split-view-panel[orientation=vertical]{min-height:var(--forge-split-view-handle-width, 8px);height:calc(var(--forge-split-view-panel-size, unset) + var(--forge-split-view-handle-width, 8px));flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{height:var(--forge-split-view-handle-width, 8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;animation-name:udhg6ez;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes udhg6ez{from{transform:none}to{transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;animation-name:udhg6f6;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes udhg6f6{from{transform:none}to{transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;animation-name:udhg6fd;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes udhg6fd{from{transform:none}to{transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{animation-direction:reverse}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;animation-name:udhg6gb;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes udhg6gb{from{transform:none}to{transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{animation-direction:reverse}:host{z-index:var(--forge-split-view-animating-layer) !important;display:block;position:relative;height:100%;width:100%;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}forge-focus-indicator{--forge-focus-indicator-active-width: 2px}";
7
+ var styles = ".forge-split-view-panel{display:flex;width:100%;height:100%;overflow:hidden}.forge-split-view-panel__handle{color:var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6));background-color:var(--forge-theme-outline, #e0e0e0);position:relative;display:flex;flex-shrink:0;justify-content:center;align-items:center;outline:none}.forge-split-view-panel__content{flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:var(--forge-split-view-handle-width, 8px);width:calc(var(--forge-split-view-panel-size, unset) + var(--forge-split-view-handle-width, 8px));flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:var(--forge-split-view-handle-width, 8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;animation-name:um1cu1v;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes um1cu1v{from{transform:none}to{transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;animation-name:um1cu2l;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes um1cu2l{from{transform:none}to{transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;animation-name:um1cu2y;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes um1cu2y{from{transform:none}to{transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{animation-direction:reverse}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;animation-name:um1cu30;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes um1cu30{from{transform:none}to{transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{animation-direction:reverse}.forge-split-view-panel[orientation=vertical]{min-height:var(--forge-split-view-handle-width, 8px);height:calc(var(--forge-split-view-panel-size, unset) + var(--forge-split-view-handle-width, 8px));flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{height:var(--forge-split-view-handle-width, 8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;animation-name:um1cu36;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes um1cu36{from{transform:none}to{transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;animation-name:um1cu45;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes um1cu45{from{transform:none}to{transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;animation-name:um1cu4s;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes um1cu4s{from{transform:none}to{transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{animation-direction:reverse}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;animation-name:um1cu54;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@keyframes um1cu54{from{transform:none}to{transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{animation-direction:reverse}:host{z-index:var(--forge-split-view-animating-layer) !important;display:block;position:relative;height:100%;width:100%;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}forge-focus-indicator{--forge-focus-indicator-active-width: 2px}";
8
8
 
9
9
  export { styles as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tylertech/forge",
3
- "version": "3.14.2",
3
+ "version": "3.14.4-dev.0",
4
4
  "description": "Tyler Forge™ Web Components library",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Tyler Technologies, Inc.",
@@ -58,5 +58,5 @@
58
58
  "tslib": "^2.8.1",
59
59
  "@tylertech/forge-core": "3.3.0"
60
60
  },
61
- "publishedAt": "2026-05-11T19:23:45.440Z"
61
+ "publishedAt": "2026-05-13T21:03:10.538Z"
62
62
  }