HomeGetting StartedColor SystemTypographySpacingIconographyLayoutInstallationUsageAngularBlazorReactSvelteVueThemingTypographyCustomizationCSS-Only ComponentsFormsIconsIllustrationsAccessibilityGlobal ConfigurationTailwind CSSSass LibraryForge MCP ServerDropdown OptionsFocus Indicator ClippingAll componentsButtonButton AreaChipFloating Action ButtonIcon ButtonSplit ButtonAutocompleteButton ToggleCalendarCheckboxChip FieldColor PickerDate PickerDate Range PickerFile PickerLabelRadioSelectSliderSwitchText FieldTime PickerApp BarApp LauncherDrawerMenuPaginatorSkip LinkStepperTabsView SwitcherAccordionApp LayoutCardDividerExpansion PanelScaffoldSplit ViewStackStructured CardToolbarBadgeBannerBusy IndicatorCircular ProgressDialogInline MessageLinear ProgressPage StateSkeletonToastTooltipAvatarIconKeyLabel ValueListMeterSecretTableTimelineTimestampTreeKeyboard ShortcutPopoverIntroductionColorTypographySpacingShapeBorderElevationLayeringAnimationUsageIcon LibraryBlocksRoadmapChangelogBlog

Changelog

Release history for Tyler Forge.

3.25.0

Bug Fixes

  • 262f71c: chip-field: prevent popover from closing immediately when the label is clicked
  • f65f9d6: focus-indicator: show the focus indicator when the anchor ignores pointer events and the target is visible, including inputs in text fields

Dependencies

Other Changes

  • 3a0eed4: The global design tokens and their Sass utilities now come from the new @tylertech/forge-tokens package, which is a new dependency. The @tylertech/forge/sass/core/styles/* modules (including core/styles/tokens/*) are deprecated. They continue to work and forward to the new package, but now warn at compile time and will be removed in the next major version. Import the equivalent modules from @tylertech/forge-tokens/sass/* instead, for example @tylertech/forge-tokens/sass/theme. The generated CSS is unchanged.

3.24.1

Documentation

  • a4d4c99: confirmation-dialog: describe the forge-confirmation-dialog-action event's { value, reason } payload and that it's cancelable

3.24.0

Features

  • fc72092: dialog: add labelledBy, describedBy, labelledByElements, and describedByElements properties to associate labelling and describing elements across the shadow boundary

Bug Fixes

  • 50e6abf: app-layout: place content without a slot attribute in the body grid area so it positions correctly at all breakpoints

3.23.0

Features

  • d1c657b: breadcrumb: add forge-breadcrumb, forge-breadcrumb-item, and forge-breadcrumb-overflow-menu components
  • d24ac99: app-launcher: dispatch a standard toggle event (ToggleEvent) when the app launcher opens or closes
  • 2340db2: Add description to each category and token in design-tokens.json.

Bug Fixes

  • 41ab86d: button: sync the disabled attribute with the disabled property synchronously
  • ca4f1c7: focus-indicator: hide focus indicator when anchor element is completely obscured
  • 61832ae: table: reposition the sort button as a sibling of header template content to prevent interactive content being included among presentational children
  • cdc8be2: user-profile: propagate --forge-avatar-background and --forge-avatar-color to the popover avatar

3.22.0

Minor Changes

  • d894f4e: Added a design-tokens.json file to the package containing the global spacing, animation, border, elevation, shape, layering, and color emphasis tokens with their resolved values.
  • 8cbb441: design-tokens: added the --forge-theme-* theme tokens to design-tokens.json, grouped by role (brand, primary, secondary, tertiary, surface, text, success, error, warning, info, outline). Theme tokens include a values object with resolved light and dark values. Schema version is now 1.1.0.

3.21.0

Minor Changes

  • da6d0c4: deprecate: <forge-stepper> and <forge-step> are deprecated and will be removed in a future release. Use <forge-process-stepper> and <forge-process-step> instead.

  • ea6ee64: feat(typography): add kbd style and css class

  • e922a5c: feat(option): enable declarative usage in listbox

    Breaking changes:

    • HTMLElementTagNameMap['forge-option'] now types to OptionComponent instead of the deprecated IOptionComponent.
  • 7f3f8e9: feat(keyboard-shortcut): add scoped keyboard shortcut handling

  • 7f3f8e9: feat(keyboard-shortcut): add the action property with a click value to activate a button without custom scripting

  • 7f3f8e9: feat(keyboard-shortcut): enable multi-step key sequences with steps in a sequence separated by a space

    Breaking changes:

    • alternative key combinations are now separated by commas
  • 7f3f8e9: feat(keyboard-shortcut): add mod key alias that maps to meta on Apple platforms and control elsewhere

  • 7f3f8e9: feat(keyboard-shortcut): add registerKeyboardShortcut() to register a shortcut imperatively, without rendering an element

  • 7f3f8e9: feat(keyboard-shortcut): add formatKeyboardShortcutBinding() to format a key binding for display, using platform-appropriate modifier labels (Ctrl+K Ctrl+C on PC, Cmd+K Cmd+C on Apple platforms)

  • 7f3f8e9: feat(keyboard-shortcut): automatically set aria-keyshortcuts on the anchor element when anchorAccessibility is 'auto' (the default) and the shortcut is a single step

  • ea6ee64: feat(kbd): add kbd component for showing keyboard input

  • cb6e6e1: feat(process-stepper): add process stepper component

  • cb6e6e1: feat(process-step): add process step component

  • b44865d: feat(stack): migrate to lit

  • b44865d: feat(stack): allow gap to be set to a spacing token size (xxxs through xxxl)

  • e922a5c: feat(listbox): add listbox component

  • e922a5c: feat(option-group): enable declarative usage in listbox

Patch Changes

  • db3de60: fix(date-picker): Emit forge-date-picker-change when the input value is coerced to a different date on blur. fix(date-picker): When showMaskFormat is enabled, single digit months and days are now padded when the cursor moved to the next segment (typing 42125 produces 04/21/25), and typing / after a single digit pads that segment.
  • ba12107: fix(icon-button): only expose aria-pressed in toggle mode
  • 38457e6: fix(button): set tabindex and other disabled-related attributes synchronously
  • 465d3c4: fix(process-stepper): hide the step number on the half-filled marker of a numbered current or in-progress step
  • fa01a32: fix(button): button interfaces extend HTMLElement
  • b012fbc: fix(tab-bar): fix scroll-buttons causing the tab bar to steal focus from elements outside of it
  • Updated dependencies [ea6ee64]

3.20.0

Minor Changes

  • 696fc4d: Export VirtualElement from the public API. It was previously only reachable through the @tylertech/forge/esm/core/utils/position-utils deep path, which does not resolve under NodeNext module resolution.

3.19.0

Minor Changes

  • 86c89ee: feat(icon-button): implement invoker commands api
  • 86c89ee: feat(button): implement invoker commands api
  • 86c89ee: feat(icon-button): migrate to lit
  • 86c89ee: feat(button): migrate to lit
  • 86c89ee: feat(floating-action-button): migrate to lit
  • 86c89ee: feat(floating-action-button): implement invoker commands api
  • 0d3ae25: feat(focus-indicator): render in top layer

Patch Changes

  • 8bbd3de: fix(dialog): prevent dialog from losing initial focus due to Chrome focus-within propagation bug

3.18.0

Minor Changes

  • 95d74ca: feat(app-bar-menu-button): add expanded, controls, and hasPopup properties for ARIA state on the internal button
  • 49aa4bc: feat(menu): add an onSelect callback to menu options so each option can carry its own handler instead of branching on the forge-menu-select event value

Patch Changes

  • f658799: fix: guard against attempts to redefine Forge components (this is a temporary workaround that will be reverted in v4)

3.17.0

Minor Changes

  • 2f37973: feat(app-launcher): migrate app launcher and app launcher link components from forge-extended
  • 2f37973: feat(app-layout): migrate app layout component from forge-extended
  • 2f37973: feat(busy-indicator): migrate busy indicator component from forge-extended
  • 2f37973: feat(confirmation-dialog): migrate confirmation dialog component from forge-extended
  • 2f37973: feat(content-scaffold): migrate content scaffold component from forge-extended
  • 2f37973: feat(count-card): migrate count card component from forge-extended
  • 2f37973: feat(footer): migrate footer and footer-item components from forge-extended
  • 2f37973: feat(multi-select-header): migrate multi select header component from forge-extended
  • 2f37973: feat(quantity-field): migrate quantity field component from forge-extended
  • 2f37973: feat(responsive-toolbar): migrate responsive toolbar component from forge-extended
  • 2f37973: feat(structured-card): migrate structured card component from forge-extended
  • 0ec03e3: Added i18n slots/labels to forge-theme-toggle and synced its state with OS prefers-color-scheme changes. Added a groupAriaLabel property on forge-theme-toggle and a themeToggleAriaLabel pass-through on forge-user-profile, along with theme-toggle-title/theme-toggle-light-label/theme-toggle-dark-label/theme-toggle-system-label slots for translating the embedded theme toggle. Regenerated the Angular wrappers to expose the new inputs.
  • 2f37973: feat(theme-toggle): migrate theme toggle component from forge-extended
  • 2f37973: feat(user-profile): migrate user profile and profile link components from forge-extended

Patch Changes

  • bbcc817: fix: add ./sass/* subpath to package exports so Sass imports resolve
  • 6f06747: chore(deps): upgrade sass to 1.101.6
  • 5492215: fix: migrate usages of deprecated sass functions

3.16.2

Patch Changes

  • 2388ce8: fix(autocomplete): document the second value parameter of the filter/forceFilter callback used for value-to-label resolution
  • 2388ce8: fix(page-state): correct @slot documentation from actions to action to match the actual template slot name
  • 2388ce8: fix(select): implement the readonly property so setting it no longer throws at runtime; the dropdown can still be opened to browse options, but the value can no longer be changed

3.16.1

Patch Changes

  • dba81e7: fix(paginator): allow default page size that is not in page size options
  • dba81e7: fix(paginator): hide page size options select when page size options is a null value or empty array
  • 236a995: docs(paginator): fix storybook build error
  • Updated dependencies [dba81e7]

3.16.0

Minor Changes

  • b555bdd: fix(secret): reduce default icon button size
  • 4362fba: feat(dialog): migrate to Lit
  • 79c3d06: feat(paginator): migrate to Lit
  • b555bdd: feat(secret): add button size token

Patch Changes

  • 79c3d06: fix(paginator): ensure button labels are announced by accessibility tools
  • 691a79d: fix(dialog): set focus on first focusable descendent element when opened as modal
  • Updated dependencies [691a79d]

3.15.2

Patch Changes

  • 7260080: fix(tabs): detect all descendent tabs of tab bar

3.15.1

Patch Changes

  • 3be1f74: fix(tabs): fix error when upgrading tab element

3.15.0

Minor Changes

  • d28a72e: feat(skip-link): migrate to lit
  • ea1082a: feat(timeline): add timeline component
  • a600f23: feat(tabs): support named tabs
  • 35922fc: feat(tabs): enable tab removal via keyboard
  • 27787b4: feat(avatar): show default image when an image url or text is absent
  • a600f23: feat(tabs): add tab panel component
  • 35922fc: feat(tabs): migrate to lit
  • ea1082a: feat(timestamp): add timestamp component

Patch Changes

  • c25ede1: fix(icon): synchronously render icons which don't require loading
  • 60ac10b: fix(button-toggle): select with enter key
  • 19d2237: feature(toolbar): convert to Lit
  • a600f23: fix(tabs): stabilize active tab state in fewer update cycles
  • f6806ee: fix(calendar-dropdown): remove disallowed aria-selected attribute
  • efc46d0: fix(autocomplete): prevent stale dropdown popovers by destroying previous instances
  • 8e6efa6: fix(time-picker): preserve typed leading zeros in hours, minutes, and seconds
  • 6788bf9: fix(chip-field): initialize has-members class for pre-slotted chips
  • df76d15: fix(button-area): prevent slotted content disappearing when button receives focus
  • a600f23: fix(tabs): stabilize active tab state synchronously
  • 323ca11: feat(skeleton): migrated to lit
  • 6788bf9: fix(stepper, button-toggle): properly remove slot-change event listeners
  • 53d8510: fix(select): keyboard navigation from selected option after mouse click open
  • 83a9932: fix(time-picker): display midnight (00:00) value when set before connected to the DOM
  • Updated dependencies [ea1082a]
  • Updated dependencies [35922fc]

3.14.4

Patch Changes

  • 122e8b4: fix(globalconfig): add duck-type fallback for instanceof check
  • Updated dependencies [122e8b4]

3.14.3

Patch Changes

  • aef050e: fix(autocomplete): always send value when executing filter callback during initialization

3.14.2

Patch Changes

  • cea015c: fix(button-area): fix internal button being directly clickable
  • e13e6b3: feat: create global configuration decorator
  • e13e6b3: fix(field): fix global configuration overriding externally set property values

3.14.1

Patch Changes

  • 04335f5: fix(secret): prevent unexpected icon button size when line-height is set to normal
  • 1285d1a: fix(calendar): fixed menu animation state sync issue causing blank month & year menus
  • 8dc52f3: fix(expansion-panel): fix open-icon sync with expansion-panel

3.14.0

Minor Changes

  • 956c3cd: feat(open-icon): migrate to lit
  • ade1338: feat(icon): migrate to lit
  • e0f93f5: feat(divider): migrate to lit
  • 1631521: Add disabled custom state to the button area component
  • b0bf93a: Added ability to render a tfoot element on the forge table component
  • c6eb4fb: feat(expansion-panel): migrate to lit
  • 956c3cd: feat(open-icon): add open state
  • aff31a2: feat(autocomplete): add empty state support
  • 1631521: Add support for buttons areas to connect to buttons placed outside the button slot
  • 72a079f: fix(table): prevent old filter listeners from accumulating
  • 1631521: Convert the button area component to Lit
  • 73ea617: feat(secret): create secret component
  • 21af3d5: feat: Conversion to monorepo and package build updates
  • c6eb4fb: feat(expansion-panel): add open and horizontal css states
  • d304fe1: feat(keyboard-shortcut): migrate to lit
  • 1631521: Allow anchor links to be used with button areas
  • f48e001: feat(accordion): migrate to lit
  • c6eb4fb: feat(expansion-panel): closed panel content is findable
  • ec66fe7: fix(select): activate selected option when opened via keyboard
  • 1631521: Fix cursor misalignment when using a button area with a screen reader
  • c6eb4fb: feat(expansion-panel): add name property for linked accordion groups
  • 1631521: Add pressed and current state reflection to the button area component
  • 8cbba43: feat(app-bar): migrate to lit

Patch Changes

  • f8eae5e: feat(time-picker): sanitize invalid step values to fix infinite loop
  • 8894379: fix(menu): prevent synthetic click from closing keyboard-opened menu
  • 49f2f79: fix(date-picker): clear input when value set to null with allowInvalidDate
  • b7ca449: fix(chip): Ensure remove chip button has the expected default name
  • cbeb54f: feat(date-picker-component-delegate): fix onChange to use correct element event to trigger table filter
  • 14a1b91: fix(table): preserve select-all indeterminate state across data changes
  • 10168d9: chore(deps): upgrade sass to 1.98.0
  • 57c52d1: fix(menu): expand cascade menu hover area to full list-item
  • 8de3e5f: Fix clickable area on menus around list items
  • 085b33b: fix(checkbox): set aria-checked to "mixed" when indeterminate
  • f95fdef: fix(toast): announce content to screen readers when opened
  • 5c1f532: fix(autocomplete): prevent dropdown interaction when input disabled
  • 6cc615f: fix(radio): escape special characters in radio name for grouping
  • 4b822e8: fix(date-picker): open calendar on current month when max is current date
  • 8fac7d4: fix(button-area): prevent duplicate click events emitted from host element
  • be982ba: fix(paginator): ensure total, pageSize, and pageIndex are finite numbers to avoid invalid values
  • 9e53426: fix(checkbox,radio,switch): improve unchecked state contrast ratio
  • d9ddfbc: fix(text-field): fix missing for-id pair in async edge case
  • 4e03f35: fix(calendar): clamps month on year selection at range boundary
  • 1c0b73e: fix(calendar): prevents calendar infinite loop on navigation
  • Updated dependencies [9015abf]
  • Updated dependencies [f95fdef]

3.13.1

Bug Fix

Authors: 1


v3.13.0 (Wed Dec 17 2025)

:tada: This release contains work from new contributors! :tada:

Thanks for all your work!

:heart: Jackson Casey (@jaxcksn)

:heart: Angela Lim (@angelalim-tyler)

Enhancement

Bug Fix

Authors: 6


v3.12.1 (Fri Nov 14 2025)

:tada: This release contains work from a new contributor! :tada:

Thank you, Bobby Choi (@BobbyTylerChoi), for all your work!

Bug Fix

  • fix(list-dropdown): fix overflow-only tooltips so that they appear whenever text is cut #1027 (@BobbyTylerChoi)

Tests

  • chore: migrate remaining legacy karma-based tests to WTR #1023 (@DRiFTy17)

Authors: 2


v3.12.0 (Wed Nov 05 2025)

:tada: This release contains work from new contributors! :tada:

Thanks for all your work!

:heart: Brian Jackson (@alienriver49)

:heart: Bobby Choi (@BobbyTylerChoi)

:heart: Connor Desmond (@cdesmondee)

Enhancement

  • feat(menu): allow for forge-menu to attach to forge-list-item #1019 (@DRiFTy17)
  • feat(paginator): add interaction methods for convenience #1012 (@DRiFTy17)
  • feat(list-dropdown): add option to have list item tooltip only appear if list item text has overflowed #1007 (@BobbyTylerChoi)

Bug Fix

  • docs: improve docs for LLM integration #1020 (@DRiFTy17)
  • fix(toast): pause dismiss timer when focused or hovered for improved a11y compliance #1021 (@DRiFTy17)
  • fix(state-layer): fix animation flash #1017 (@DRiFTy17)
  • Fix/time picker toggle tab index enabled show seconds options #1018 (@alienriver49)
  • fix(drawer): set drawer content inert when closed #1016 (@DRiFTy17)
  • fix(autocomplete): fix text highlighting for selected options #1015 (@DRiFTy17)
  • fix(text-field): prevent focus change on clear button mousedown to fix autocomplete clear issue #1014 (@DRiFTy17)
  • fix(focus-indicator): resolve event listener binding issue preventing focus detection #1013 (@DRiFTy17)
  • fix(text-field): ensure aria-invalid is set on <input> element when invalid state changes #1010 (@DRiFTy17)
  • fix(chip): allow remove button to be part of tab order and expose property to control label #1001 (@DRiFTy17)
  • fix(table): synchronize dense state with select column checkboxes to fix dense row height #1008 (@DRiFTy17)
  • docs: fix incorrect JSDoc default value for table select property #999 (@cdesmondee)

Documentation

  • docs(mcp-server): add docs for Forge MCP server #994 (@DRiFTy17)

Authors: 4


v3.11.0 (Thu Sep 25 2025)

Enhancement

  • feat(select): add "Select all" functionality #989 (@DRiFTy17)
  • feat(list): add support for additional content slot in list items for better accessibility #981 (@DRiFTy17)
  • feat(focus-indicator): refactor to use Lit #960 (@DRiFTy17)
  • chore: update sass, typescript, storybook, and bump other dependencies #988 (@DRiFTy17)

Bug Fix

  • chore: improve and standardize component summary comments #991 (@DRiFTy17)
  • fix(tooltip): allow hovering tooltip for accessibility compliance #985 (@DRiFTy17)
  • fix(list-item): update keyboard interactions to trigger on keyup #984 (@DRiFTy17)
  • fix(table): replace outline style with focus indicator for improved accessibility and consistency #987 (@DRiFTy17)
  • fix(tooltip): open when focused via keyboard #983 (@DRiFTy17)
  • fix(profile-button): update tooltip text and add deprecation notice in docs #982 (@DRiFTy17)
  • chore: update to node 22 and adjust when workflows are triggered #980 (@DRiFTy17)

Authors: 1


v3.10.5 (Thu Sep 11 2025)

Bug Fix

  • fix(menu): update offset and fallback placements for improved child menu positioning #977 (@DRiFTy17)
  • fix(dialog): allow for moving dialog outside of viewport but move back into view when released #976 (@DRiFTy17)
  • fix(expansion-panel): update connected check #971 (@eliganemtyler)
  • Fix/toast default duration #970 (@eliganemtyler)

Authors: 2


v3.10.4 (Fri Aug 01 2025)

Bug Fix

  • fix(tab-bar): fixed a bug where child tabs were not synchronizing with the active tab state #967 (@DRiFTy17)

Authors: 1


v3.10.3 (Wed Jul 30 2025)

Bug Fix

  • feat(date-range-picker): fixed a bug where the input mask was not being destroyed on end date input if turning off the mask #966 (@DRiFTy17)

Authors: 1


v3.10.2 (Wed Jul 30 2025)

Bug Fix

  • fix(field): add overflow and isolation token to the inner container element #965 (@nickonometry)
  • fix(menu): allow cascading menus to use bottom and top placements if left or right isn't available #964 (@DRiFTy17)

Authors: 2


v3.10.1 (Thu Jul 24 2025)

Bug Fix

  • fix(time-picker): allow min and max to wrap around midnight #963 (@DRiFTy17)
  • fix(app-bar-profile-button): fixed a bug where the popover could get destroyed before the animation completes #961 (@DRiFTy17)

Authors: 1


v3.10.0 (Tue Jul 15 2025)

Enhancement

  • feat(date-picker): add new dateFormat and shortcuts APIs to allow for alternative built-in date formats #959 (@DRiFTy17)

Bug Fix

  • fix(FAB): remove size detection logic in favor of label slotted content only #958 (@DRiFTy17)
  • fix(list): move margins from host to internal container element #957 (@DRiFTy17)

Authors: 1


v3.9.2 (Wed Jul 02 2025)

:tada: This release contains work from a new contributor! :tada:

Thank you, Rob Jacobs (@RobJacobs), for all your work!

Bug Fix

  • fix(expansion-panel): trigger toggle from keyup event #955 (@DRiFTy17)
  • fix: use modern styles for visually hidden content #956 (@DRiFTy17)
  • fix(overlay): do not hide overlay by default when clipped by ancestors #952 (@DRiFTy17)
  • fix(date-picker): remove timestamp when setting "today" date #954 (@DRiFTy17)
  • fix(date-picker): toggle button will inherit density of text field if necessary #953 (@DRiFTy17)
  • feat(badge): update gap spacing #938 (@DRiFTy17)
  • fix(table): remove head cell filter vertical align style (#915) #948 (@RobJacobs)
  • chore: eslint v9 upgrade #950 (@DRiFTy17)

Documentation

Authors: 2


v3.9.1 (Thu Jun 12 2025)

Bug Fix

  • fix(tooltip): do not render empty tooltips #942 (@DRiFTy17)
  • fix(color-picker): fixed a bug related to the hex format and gradient cursor position #941 (@DRiFTy17)
  • fix(menu): use arrow_right_alt icon for cascading menus with v2 icons #940 (@DRiFTy17)

Authors: 1


v3.9.0 (Mon Jun 09 2025)

:tada: This release contains work from new contributors! :tada:

Thanks for all your work!

:heart: Joe Nunnelley (@JoeNunnelley)

:heart: Beau Christian (@bctt)

Enhancement

Bug Fix

  • fix(dialog): fixed a bug where the backdrop could still be clicked if persistent is set after open #937 (@DRiFTy17)
  • chore: silence mixed-decls warning in vite #934 (@DRiFTy17)
  • Security Code Scanning - configuration files #923 (@JoeNunnelley)
  • Dependency reviewer #920 (@JoeNunnelley)
  • fix(popover): fixed a bug where popovers open after current were closing when hovered #931 (@DRiFTy17)
  • chore: consolidating various defineXComponent calls to use the standard forge-core defineCustomElement call #912 (@bctt)
  • fix(view-switcher): output height and width tokens on host element #917 (@samrichardsontylertech)
  • fix(toolbar): Apply min-width to grid center slots to allow overflows #909 (@Alanoll)

Documentation

Authors: 8


v3.8.1 (Wed Apr 09 2025)

Bug Fix

  • fix(expansion-panel): fix connected check #904 (@eliganemtyler @DRiFTy17)
  • fix(list-item): fixed a bug where multiple clicks on the interactive element could occur #905 (@DRiFTy17)
  • chore(dialog): remove unused slide direction values from DialogAnimationType #906 (@DRiFTy17)

Documentation

Authors: 2


v3.8.0 (Thu Apr 03 2025)

:tada: This release contains work from a new contributor! :tada:

Thank you, Eli Ganem (@eliganemtyler), for all your work!

Enhancement

  • feat: expose popover APIs in select, autocomplete, and menu #899 (@DRiFTy17)
  • feat(app-bar): remove default auto-theming in favor of scoped CSS variables and theme attribute #894 (@DRiFTy17)
  • feat(scrollbar): add variable mixin for consistent usage with other modules #897 (@DRiFTy17)
  • feat(dialog): add "reason" for why dialog is about to close to event detail #875 (@DRiFTy17)
  • feat(badge): refactor to use Lit #879 (@DRiFTy17)
  • feat(card): refactor to use Lit #874 (@DRiFTy17)
  • feat(dialog): automatically apply height: auto to slotted <forge-scaffold> #866 (@DRiFTy17)
  • chore: update imask dependency from 6.6.1 to 7.1.3 #870 (@DRiFTy17)
  • Feat/expansion panel target button #775 (@eliganemtyler @DRiFTy17)
  • chore: upgrade typescript to 5.8.2 #871 (@DRiFTy17)

Bug Fix

  • fix: readopt styles in Lit-based components when adopted #900 (@DRiFTy17)
  • fix(app-bar): remove default width to allow for wider logos without overriding styles #896 (@DRiFTy17)
  • fix(table): fixed a bug where the table head cell border could be hidden #895 (@DRiFTy17)
  • fix: updated how overlay positioning is handled when overflowing the viewport bounds #883 (@DRiFTy17)
  • fix(dialog): update accessible label and description handling for improved ARIA support #888 (@DRiFTy17)
  • fix: enable Lit-based component compatibility with Forge @customElement decorator #889 (@DRiFTy17)
  • fix(select): fix duplicate label CSS part #892 (@DRiFTy17)
  • chore(stepper-constants): fix to set explicit index type for compatibility #887 (@DRiFTy17)
  • fix(autocomplete): fixed an issue where aria-controls attr was being removed when the popover closed #882 (@nickonometry)
  • fix(table): fixed a bug where pressing space key would not trigger row selection handling #877 (@DRiFTy17)
  • fix(switch): improve contrast when disabled #885 (@DRiFTy17)
  • fix(list-item): fix regression related to slotted <button> width applying to other child elements #884 (@DRiFTy17)
  • fix(profile-card): focus profile button before sign out button if available #881 (@DRiFTy17)
  • fix(app-bar-profile-button): adjust default tooltip placement #880 (@DRiFTy17)
  • fix(dialog): use capturing keydown listener #869 (@DRiFTy17)
  • fix(button): use grid layout instead of flex to avoid text nodes collapsing #867 (@DRiFTy17)
  • chore: revert eslint-config-prettier version upgrade #876 (@DRiFTy17)
  • fix(avatar): hide text when image is rendered #863 (@DRiFTy17)
  • chore: move toggleState() helper to general utils and export from lib #864 (@DRiFTy17)
  • chore: bump dependency versions #873 (@DRiFTy17)

Documentation

Dependency Updates

  • chore: fix lint warning due to typescript compatibility with legacy shared lint rules package #890 (@DRiFTy17)

Authors: 3


v3.7.0 (Fri Mar 07 2025)

:tada: This release contains work from new contributors! :tada:

Thanks for all your work!

:heart: John Bowen (@jm-boop)

:heart: Scott Shirley (@ScottTylerTech)

Enhancement

  • feat(field): expose class="outline" element as a CSS part #846 (@jm-boop)
  • feat(menu): added support for option tooltips #851 (@DRiFTy17)
  • docs: add support for grouped menu options in documentation and stories #858 (@ScottTylerTech)

Bug Fix

  • fix(tabs): fixed a bug where the scroll buttons were not being shown/hidden when tabs are dynamically added/removed #859 (@DRiFTy17)
  • fix(list-item): improve overflow handling on slotted <button> elements #860 (@DRiFTy17)
  • fix(field): do not show required asterisk if no label is present #861 (@DRiFTy17)
  • fix(field): ensure that enabled field inputs use the text cursor #856 (@samrichardsontylertech)
  • fix(popover): enable compatibility with older browsers if checkVisibility() API is not available #857 (@DRiFTy17)
  • fix(select): fixed a bug where the inset label would not float if the value was set while the dropdown is open #849 (@DRiFTy17)
  • fix(time-picker): remove extra icon margin #853 (@samrichardsontylertech)
  • chore: make storybook deployment dependent on release succeeding #843 (@DRiFTy17)

Documentation

Authors: 4


v3.6.4 (Mon Feb 24 2025)

Bug Fix

  • fix(expansion-panel): fixed a rendering artifact caused by CSS animation #844 (@DRiFTy17)

Authors: 1


v3.6.3 (Thu Feb 20 2025)

Bug Fix

Documentation

  • docs(badge): remove unnecessary style in demo code snippet #841 (@DRiFTy17)

Authors: 2


v3.6.2 (Fri Feb 14 2025)

Bug Fix

  • fix(text-field): fixed a bug where the internal value change listener was not safely guarding types #824 (@DRiFTy17)
  • fix(dialog): fixed escape key bug when persistent and improved destroy logic #823 (@DRiFTy17)

Authors: 1


v3.6.1 (Wed Feb 12 2025)

Bug Fix

  • fix(autocomplete): traverse composed slots when locating input element #819 (@DRiFTy17)
  • fix(dialog): reuse internal accessible elements if label or description change dynamically #820 (@DRiFTy17)

Authors: 1


v3.6.0 (Tue Feb 11 2025)

Enhancement

  • feat(icon-button): add new pressed property/attribute and deprecate on property #817 (@DRiFTy17)
  • feat(switch): add new checked property/attribute and deprecate on property #815 (@DRiFTy17)
  • feat(dialog): add mode to global configuration #816 (@DRiFTy17)
  • feat(dialog): adjust default a11y semantics and add new label and description APIs for providing ARIA info #810 (@DRiFTy17)
  • feat(avatar): convert to Lit #812 (@DRiFTy17)

Bug Fix

  • fix(tab-bar): setting activeTab property will no longer focus the tab #814 (@DRiFTy17)
  • fix(button-area): force root element to match size of host #809 (@samrichardsontylertech)
  • fix(split-view): skip attempting to refit closed panels #807 (@samrichardsontylertech)
  • fix: exposed align token and fixed layout bug with long labels for checkbox, radio, and switch #803 (@DRiFTy17)
  • fix(toolbar): move internal tablist role to host element #811 (@DRiFTy17)
  • fix(table): only apply aria-hidden on <th> elements if headerTemplate is not used #801 (@nickonometry)
  • docs: fix google analytics tracking for preview pages #806 (@DRiFTy17)

Documentation

Tests

  • chore: remove unintentional fit usage #818 (@DRiFTy17)
  • chore(test): filter Lit dev mode warning from test output #802 (@DRiFTy17)

Authors: 3


v3.5.1 (Fri Jan 31 2025)

Bug Fix

  • fix(defineComponents): fixed an exception caused by lit-based components being incompatible with internal Forge API during element definition #800 (@DRiFTy17)
  • fix(list-item): fixed a bug where the selected state overlay could render on top of slotted elements #799 (@DRiFTy17)

Authors: 1


v3.5.0 (Thu Jan 30 2025)

Enhancement

Bug Fix

  • fix(button-toggle): no longer reflects the value attribute to allow for non-string values to be set via JS property #788 (@DRiFTy17)
  • Fix/icon button badge dense #791 (@DRiFTy17)
  • fix(label-value): allow for content to wrap long words without overflowing #790 (@DRiFTy17)
  • fix(file-picker): cleanup callback to avoid reference being held which can leak #792 (@DRiFTy17)
  • fix(autocomplete): fixed a bug where the wrapOptionText property was not being set on the list dropdown #794 (@DRiFTy17)
  • fix(app-bar-search): fixed a color contrast issue by increasing the color emphasis on the placeholder text due to the transparent background #798 (@DRiFTy17)

Documentation

Authors: 2


v3.4.2 (Fri Jan 17 2025)

Bug Fix

  • fix(split-view-panel): fixed a bug relating to the open animation direction #787 (@DRiFTy17)
  • fix: reduce usage of contain style to only required instances #785 (@DRiFTy17)
  • fix(drawer): fixed a bug where the drawer would not repaint after transitioning in Safari #784 (@DRiFTy17)
  • chore(eslint): remove duplicate eslint rules #782 (@DRiFTy17)

Documentation

Authors: 1


v3.4.1 (Wed Jan 08 2025)

Bug Fix

  • fix(tooltip): fixed a bug where visually hidden content could cause inadvertent page scrolling #780 (@DRiFTy17)
  • fix(radio): simplify check animation to reduce jitter #773 (@samrichardsontylertech @DRiFTy17)
  • fix(text-field): label will now float when invalid chars are entered in number inputs #778 (@DRiFTy17)
  • fix(field): adjust input transition to avoid jittery movement when decelerating #777 (@DRiFTy17)
  • fix(text-field): ensure cleanup logic runs when element is disconnected #776 (@DRiFTy17)

Documentation

Authors: 2


v3.4.0 (Tue Dec 10 2024)

Enhancement

Bug Fix

  • fix: update checkbox, radio, switch label typography to use label2 (13px) typography by default #769 (@DRiFTy17)
  • fix(popover): delay visibility check when hiding by a frame to ensure style calculation has enough time to execute #765 (@DRiFTy17)

Authors: 2


v3.3.6 (Fri Nov 22 2024)

:tada: This release contains work from a new contributor! :tada:

Thank you, Anthony Hancock (@geraltofrivendell), for all your work!

Bug Fix

  • perf: update forge-core to optimize attachShadowTemplate #757 (@MikeMatusz @DRiFTy17)
  • fix(field): fix input size/animation when floating label with inset variant #763 (@DRiFTy17)
  • fix(popover): fixed a bug where the popover would stay connected if hidden at time of exit animation #760 (@DRiFTy17)
  • fix(time-picker): gracefully handle input element reference being undefined #748 (@DRiFTy17)
  • fix(field): constrain input to grid area to prevent icons from being pushed out of view #754 (@MikeMatusz)
  • fix(dialog): fixed a bug where the dialog surface would render incorrectly if set to fullscreen after moving #761 (@DRiFTy17)
  • fix(select): elementAttributes are now applied to select options #759 (@geraltofrivendell)
  • fix(autocomplete): preventDefault on popover-icon mousedown instead of click #746 (@MikeMatusz)
  • fix(field): set aria-hidden="true" on popover icon <svg> #747 (@DRiFTy17)

Documentation

Authors: 4


v3.3.5 (Thu Nov 14 2024)

Bug Fix

  • fix(text-field): fixed a bug where the input container would lock its width if there is no floating label to animate #744 (@DRiFTy17)

Authors: 1


v3.3.4 (Thu Nov 14 2024)

Bug Fix

Authors: 1


v3.3.3 (Tue Nov 12 2024)

Bug Fix

  • fix(text-field): fixed a regression where the input container width could be set to 0px if hidden while attempting to float the label or set a value #741 (@DRiFTy17)
  • fix(popover): gracefully handle how popovers are positioned when their dimensions are clipped by the viewport to ensure access to the content #740 (@DRiFTy17)

Authors: 1


v3.3.2 (Thu Nov 07 2024)

Bug Fix

  • fix(accordion): always dispatch forge-expansion-panel-toggle event on panels that are closing in response to a user toggling another panel #733 (@DRiFTy17)
  • fix: allow overflowing content in card, scaffold, and expansion panel #736 (@DRiFTy17)
  • fix(field): fixed a bug where the width could collapse while the inset label animation is executing #730 (@DRiFTy17)
  • fix(field): hide required asterisk at extra-small density #731 (@DRiFTy17)
  • fix(TextFieldComponentDelegate): fix duplicate id being set when provided via options #732 (@DRiFTy17)
  • fix(chip-field): fixed a bug where the dropdown would close immediately if clicking directly on the <input> element #738 (@DRiFTy17)
  • fix(toolbar): fixed "after-section-end" part name #739 (@DRiFTy17)

Documentation

  • docs(FAQ): added a new FAQ page describing how to handle focus indicator clipping #737 (@DRiFTy17)

Authors: 1


v3.3.1 (Wed Oct 30 2024)

Bug Fix

  • fix(field): use error color for support text when field is invalid #720 (@samrichardsontylertech)
  • fix: fixed a composition/initialization bug for <forge-autocomplete> and <forge-app-bar-search> #725 (@DRiFTy17)
  • fix(dialog): expose CSS-only stylesheet #721 (@DRiFTy17)
  • fix(button): fixed inline padding on all non-text variants #727 (@DRiFTy17)

Documentation

  • docs(expansion-panel): added the "With Card" story to the "Docs" page to allow for viewing the HTML used #726 (@DRiFTy17)

Authors: 2


v3.3.0 (Tue Oct 22 2024)

Enhancement

Bug Fix

  • fix(tab-bar): allow individually disabled tabs with enabled tab-bar #717 (@MikeMatusz)
  • fix(field): fixed a rare bug where the inset label state was not initializing properly based on the existence of slotted content #710 (@DRiFTy17)
  • fix(field): extend box to include outline #703 (@samrichardsontylertech)
  • fix(autocomplete): properly reflect dropdown open state if dismissed by anchor click #706 (@MikeMatusz)
  • fix(base-button): fixed a bug where calling .click() on a button before it's connected would result in an exception #713 (@DRiFTy17)
  • fix(paginator): append select popover to shadow root to attach IDREFs #718 (@DRiFTy17)
  • fix(circular-progress): updated the host element to set block-size and inline-size explicitly #711 (@DRiFTy17)
  • fix(inline-message): fix content alignment #708 (@DRiFTy17)
  • fix(chip-field): add focus-indicator-color token to chips to fix themed "field" chips #705 (@DRiFTy17)

Documentation

  • docs(app-bar): add missing description for target property & attribute #714 (@DRiFTy17)
  • docs(page-state): apply CSS var controls to default demo story #719 (@DRiFTy17)

Authors: 3


v3.2.0 (Wed Oct 02 2024)

Enhancement

Bug Fix

  • fix(chip): remove attribute syncing to prevent value being forced to string #700 (@MikeMatusz)

Authors: 2


v3.1.3 (Thu Sep 26 2024)

Bug Fix

  • fix(list-item): fixed a bug where focus was being forced to propagate to the interactive element when used within a list dropdown #698 (@DRiFTy17)
  • fix(date-range-picker): fixed a bug where multiple input separators could be added #697 (@DRiFTy17)

Authors: 1


v3.1.2 (Fri Sep 20 2024)

:tada: This release contains work from a new contributor! :tada:

Thank you, Sriram Danturthi (@sriramasdanturthi), for all your work!

Bug Fix

  • fix(date-picker): ensure that time portion of Date value is preserved during initial render and dropdown calendar selection #688 (@DRiFTy17)
  • fix(list-item): use layout containment on the text-container part to ensure that slotted elements (specifically tooltips) do no affect the layout #692 (@DRiFTy17)
  • fix(stepper): remove the internal z-index style and fix overflowing content #691 (@DRiFTy17)
  • fix(list-dropdown): restore display of secondaryLabel #690 (@MikeMatusz)

Documentation

Authors: 3


v3.1.1 (Wed Sep 18 2024)

Bug Fix

Authors: 2


v3.1.0 (Mon Sep 09 2024)

:tada: This release contains work from new contributors! :tada:

Thanks for all your work!

:heart: null@Ross-Blakeney

:heart: Scott Shirley (@ScottTylerTech)

Enhancement

Bug Fix

  • fix(autocomplete): focus <input> popover icon is clicked if composed with a <forge-text-field popover-icon> #680 (@DRiFTy17)
  • fix(list): fix spacing token #672 (@DRiFTy17)
  • fix(app-bar): add "custom" to AppBarTheme type to fix typings compatibility with docs #676 (@DRiFTy17)
  • fix(checkbox, radio, switch, field): remove opacity on field labels when disabled #678 (@DRiFTy17)
  • chore: updated @tylertech-eslint/eslint-plugin to latest #673 (@DRiFTy17)
  • fix(button-toggle): relax the generic type on the event data interfaces to any #667 (@DRiFTy17)
  • fix(field): reduce font size when dense/extra-small #666 (@DRiFTy17)
  • chore: add generate:component npm script for scaffolding a new component #663 (@DRiFTy17)
  • fix(tab): add missing inline padding #660 (@DRiFTy17)
  • docs(select): update incorrect slot docs #654 (@Ross-Blakeney)
  • fix(theme): use correct error theme color in dark theme #656 (@DRiFTy17)
  • chore: fix compatibility with windows systems to use normalized file paths in CLI and build-tools deps as well as line endings in eslint #655 (@DRiFTy17)
  • refactor: add unique identifier to table data items #652 (@ScottTylerTech)
  • fix(select): temp fix to remove disabled property from form associated mixin for TS2611 until TypeScript fixes accessor union bug #649 (@DRiFTy17)
  • feat: readopt constructed stylesheets #641 (@DRiFTy17)
  • chore: migrate legacy tests and clean up #642 (@DRiFTy17)
  • fix(list-item): separate the foreground and background selected state tokens #638 (@DRiFTy17)
  • fix(app-bar-notification-button): fixed a bug where the count could incorrectly display when in dot mode if not changed from default #639 (@DRiFTy17)
  • fix(icon-button): fix to properly default theme to "default" to allow for "primary" to be used like other themes #644 (@DRiFTy17)
  • fix(button): fix to properly wire up raised variant-specific tokens #645 (@DRiFTy17)
  • chore: remove legacy @tylertech/forge-testing dependency #629 (@DRiFTy17)
  • fix(tab-bar): move ARIA attributes to internal scroll container for tab bar #626 (@DRiFTy17)
  • fix(field): slotted elements can fill entire block size of field #625 (@samrichardsontylertech)

Documentation

  • docs(menu): add note/code snippet about using JS to set options #677 (@DRiFTy17)
  • docs: fix event types #650 (@DRiFTy17)
  • docs: add temporary banner with link to v2.x docs #646 (@DRiFTy17)
  • docs(app-bar): add content and demo regarding custom theming support #647 (@DRiFTy17)
  • docs: improve API docs, content, and demos #634 (@DRiFTy17)
  • docs: fix image paths and CSS formatting in doc block code snippets #628 (@DRiFTy17)
  • docs: add chips docs #627 (@DRiFTy17)

Authors: 4


v3.0.0 (Tue Jun 11 2024)

:tada: This release contains work from new contributors! :tada:

Thanks for all your work!

:heart: Jonathan Earl (@whattheearl)

:heart: Paul Lapczynski (@tyl-paul-lapczynski)

Breaking Change

Authors: 7


v2.24.2 (Tue Jun 11 2024)

Bug Fix

Authors: 1


v2.24.1 (Tue May 21 2024)

Bug Fix

  • fix(menu): fixed a bug where pressing the tab key would select the active option #573 (@DRiFTy17)
  • fix(app-bar-notification-button): fixed a bug where the badge count could not be unset and updated the logic to not render the count #567 (@DRiFTy17)

Authors: 1


v2.24.0 (Mon May 13 2024)

Enhancement

  • feat(list-item): add deactivateRipple() method to allow for manually removing the "pressed" ripple state if needed #559 (@DRiFTy17)

Bug Fix

  • fix(table): fixed a bug where the table sort icon rotation could get out sync #558 (@DRiFTy17)

Authors: 1


v2.23.1 (Thu May 02 2024)

Bug Fix

  • fix(list-item): removed legacy internal mousedown handler that was preventing pointer events if already focused #551 (@DRiFTy17)
  • fix(badge): fixed a bug where badge text would not ellipse when overflowing #552 (@DRiFTy17)

Authors: 1


v2.23.0 (Thu Apr 25 2024)

:tada: This release contains work from a new contributor! :tada:

Thank you, Van Do (@vando94), for all your work!

Enhancement

  • feat: added month change event for date-picker and date-range-picker #543 (@vando94)

Bug Fix

  • fix(text-field): remove legacy <label> & <input> DOM order manipulation #544 (@DRiFTy17)

Authors: 2


v2.22.1 (Mon Apr 01 2024)

Bug Fix

  • fix(list-item): fixed a bug where clicking list items would uncheck slotted radio buttons #516 (@DRiFTy17)

Authors: 1


v2.22.0 (Fri Mar 22 2024)

:tada: This release contains work from a new contributor! :tada:

Thank you, null@kevaltyler, for all your work!

Enhancement

  • feat: update forge-hyperlink CSS class to use text-decoration: underline #499 (@kevaltyler)

Authors: 1


v2.21.3 (Thu Feb 22 2024)

Bug Fix

  • chore: upgrade auto to fix release #479 (@DRiFTy17)
  • feat: bump @tylertech/forge-core to 2.3.1 to use constructable stylesheets by default #475 (@DRiFTy17)

Authors: 1


v2.21.2 (Thu Feb 15 2024)

:tada: This release contains work from a new contributor! :tada:

Thank you, Eli Ganem (@eliganemtyler), for all your work!

Bug Fix

  • fix(date-picker): open calendar on min enabled month when current month is after max date #472 (@samrichardsontylertech @DRiFTy17)
  • fix(menu): map deprecated icon property to leadingIcon when options are loaded from factory #461 (@eliganemtyler)
  • fix(paginator): revert naive focus management changes in favor of default browser implementation when focused elements are disabled #468 (@DRiFTy17)
  • fix(list): fixed a bug where keyboard navigation was not scoped within sub-lists #458 (@DRiFTy17)
  • fix(dialog): fixed a bug where opening dialogs with focused Forge elements that use the ripple could be misaligned #457 (@DRiFTy17)
  • fix(open-icon): auto-register correct "horizontal" icon #449 (@DRiFTy17)
  • fix: identify readonly properties in custom elements manifest #465 (@MikeMatusz)
  • fix(calendar): fixed a bug where the calendar would not reflect the correct month if the max date is before the current the month #448 (@DRiFTy17)

Authors: 4


v2.21.1 (Thu Dec 14 2023)

Bug Fix

  • fix(date-range-picker): fixed a bug where the "to" value was not being rendered in <input> when initialized with a default value #446 (@DRiFTy17)
  • fix(expansion-panel): remove invalid aria-expanded attribute set on header #443 (@samrichardsontylertech @DRiFTy17)

Authors: 2


v2.21.0 (Mon Nov 27 2023)

Enhancement

  • feat(paginator): added new rangeLabelCallback property to allow for controlling range label text externally #436 (@DRiFTy17)

Bug Fix

  • fix(menu): fixed MenuOptionFactory typings to support IMenuOptionGroup #428 (@DRiFTy17)

Documentation

Authors: 2


v2.20.1 (Thu Nov 09 2023)

Bug Fix

Authors: 1


v2.20.0 (Fri Oct 27 2023)

Enhancement

Bug Fix

  • fix(paginator): fix focus management to properly account for state updates while the element is already focused #415 (@DRiFTy17)
  • fix(table): sortable column headers will now use <button> element for a11y purposes #416 (@DRiFTy17)
  • fix(select): fixed a bug where options that contain leading whitespace could not be selected via keyboard filtering #414 (@DRiFTy17)

Authors: 2


v2.19.1 (Thu Oct 19 2023)

Bug Fix

Authors: 1


v2.19.0 (Thu Oct 12 2023)

Enhancement

Bug Fix

  • fix(expansion-panel): fixed a bug where calling setOpenImmediate() while an expand/collapse animation is already running would not cancel the active animation #406 (@DRiFTy17)
  • fix(text-field): fixed a bug where the label was not being initialized properly when toggling density dynamically #404 (@DRiFTy17)
  • fix(paginator): fixed how offset updates pageIndex along with updates to focus management #402 (@DRiFTy17)

Authors: 2


v2.18.1 (Wed Oct 04 2023)

Bug Fix

Authors: 2


v2.18.0 (Wed Sep 27 2023)

Enhancement

  • feat(autocomplete): added new forceFilter() method to allow for dynamically updating the options of an autocomplete #391 (@DRiFTy17)
  • feat(list-dropdown): added configuration for setting secondary labels and for providing additional configuration to leading/trailing icon component elements #393 (@DRiFTy17)
  • feat(keyboard-shortcut): add activate callback #367 (@samrichardsontylertech)

Bug Fix

  • fix(autocomplete): fixed a bug where the filter text was not getting removed when the clear button is clicked #390 (@DRiFTy17)
  • feat(calendar): fixed a bug where an exception was being thrown if min/max was set and caused the current month to have no selectable dates. The calendar will now automatically move to the closest month with a selectable date #392 (@DRiFTy17)
  • fix(chip-field): don't wrap leading/trailing icons #386 (@MikeMatusz)
  • fix(date-picker, time-picker, date-range-picker): select mask on focus if shown #385 (@MikeMatusz)
  • fix(chip-field): don't propagate click if disabled #384 (@MikeMatusz)

Authors: 3


v2.17.0 (Tue Aug 29 2023)

Enhancement

  • feat(popup): add popup ref to close event, emit from host #365 (@MikeMatusz)

Authors: 1


v2.16.6 (Mon Aug 21 2023)

Bug Fix

  • fix(list-item): fixed a bug where setting dense wasn't applying the correct height #358 (@DRiFTy17)
  • fix: fixed a bug where detecting the active element after being adopted into a new document could incorrectly reflect the wrong element #355 (@DRiFTy17)

Authors: 1


v2.16.5 (Wed Jul 26 2023)

Bug Fix

Authors: 1


v2.16.4 (Mon Jul 24 2023)

Bug Fix

  • fix(date-picker): fixed a bug where the locale of the calendar could not be set through the date picker element #344 (@DRiFTy17)
  • fix(color-picker): fixed a bug where manually entering a hex value would not accept characters until a valid hex string value and length was reached #346 (@DRiFTy17)
  • fix(stepper): fixed a bug where the vertical state was not being applied if the steps property was changed dynamically #345 (@DRiFTy17)
  • fix(chips): fixed a bug where the text was not centered if the width was less than than the min-width of the chip #347 (@DRiFTy17)

Authors: 1


v2.16.3 (Fri Jun 23 2023)

Bug Fix

  • fix(paginator): fixed a bug where the paginator was not reflecting the current page size after selection in the page size select #333 (@DRiFTy17)
  • fix(text-to-color): convert text input to uppercase #334 (@zacharysilverman)

Authors: 2


v2.16.2 (Thu Jun 22 2023)

Bug Fix

  • fix(autocomplete): fixed a bug where selecting appended options in multiple mode would incorrectly select the wrong options in the UI dropdown #330 (@DRiFTy17)

Authors: 1


v2.16.1 (Wed Jun 14 2023)

Bug Fix

  • fix(split-view): query only immediate child panels #328 (@samrichardsontylertech)
  • fix(date-picker): always dispatch the change event when a valid date is entered if allowInvalidDate is true #325 (@DRiFTy17)

Authors: 2


v2.16.0 (Thu Jun 08 2023)

Enhancement

Bug Fix

  • fix(masks): time-picker, date-picker, date-range-picker > updates to mask behavior #318 (@jake-crawford-tyler @DRiFTy17)
  • fix(select, autocomplete): show option label when one option is selected in multiple mode #320 (@DRiFTy17)
  • fix(select): fixed a bug where filtering options with uppercase letters was not working #319 (@DRiFTy17)
  • fix(stack): fix stretch styles #321 (@DRiFTy17)
  • fix(stack): fix to allow string values to be provided to the alignment property/attribute (instead of just an enum value) when strict typing is used #317 (@DRiFTy17)

Authors: 3


v2.15.0 (Tue May 23 2023)

Enhancement

  • feat(app-bar-profile-button): added new avatarIcon property to allow for rendering an icon from the IconRegistry instead of text #312 (@DRiFTy17)

Bug Fix

Pushed to main

Authors: 2


v2.14.0 (Tue May 16 2023)

Enhancement

  • feat: created new <forge-stack> component #280 (@nickonometry)
  • feat(view-switcher): added new --forge-view-switcher-width CSS custom property #295 (@DRiFTy17)
  • feat(autocomplete): added new filterText property/attribute to allow for setting the filter text state manually (only applies when allowUnmatched is enabled) #294 (@DRiFTy17)
  • feat: added CSS custom property for controlling the internal border-style on select, text-field, and chip-field #286 (@DRiFTy17)
  • feat(toolbar): various toolbar improvements #283 (@DRiFTy17)
  • feat(table): added new method isColumnHidden() #279 (@DRiFTy17)
  • feat(table): provided the column index to the TableTemplateBuilder #278 (@DRiFTy17)
  • feat: allow for using <a> element in place of <button> in <forge-button>, <forge-icon-button> and <forge-fab> components #276 (@DRiFTy17)
  • feat(select): added the ability to specify if option text should wrap in the dropdown, and updated the default popup behavior to set a max-width: 100vw style to ensure that the popup cannot be larger than the width of screen (which allows for options to wrap if necessary) #266 (@DRiFTy17)
  • feat(app-bar-notification-button): allow icon to be set to a user specified icon #259 (@DRiFTy17)

Bug Fix

  • fix: reference @material/* packages instead of material-components-web meta package to avoid dependency conflicts #307 (@DRiFTy17)
  • fix(time-picker): improve input mask usability #306 (@DRiFTy17)
  • perf: checkbox, radio, and switch will now instantiate ripple upon first user interaction #285 (@DRiFTy17)
  • fix(date-range-picker): allow for setting value to null to clear the component value #265 (@DRiFTy17)
  • fix(autocomplete): always define the arrow_drop_down icon #262 (@DRiFTy17)
  • chore: separate temp storybook deployment from build-pr workflow #237 (@DRiFTy17)
  • fix(date-picker): fixed a bug where a 4-digit year was not correctly being masked with a leading 0 #236 (@Lillious @DRiFTy17)
  • fix(busy-indicator): fixed various accessibility issues #298 (@DRiFTy17)
  • fix(chip): fixed accessibility issues #201 (@DRiFTy17)
  • fix(dialog): fixed a bug where moving the dialog within a scroll container would calculate an incorrect position #308 (@DRiFTy17)
  • fix: stop propagation on Escape key events #302 (@DRiFTy17)
  • fix(quantity-field): remove increment and decrement buttons from the tab order by default #297 (@DRiFTy17)
  • fix(chip-field): fixed a bug where addon-end slot was not expanding full height as the field grew #290 (@DRiFTy17)
  • fix(menu): fixed toggle element initialization #293 (@DRiFTy17)
  • fix(menu): fixed a bug where cascading child menus would overlap when clipped #261 (@DRiFTy17)
  • fix(chip-field): fixed a bug where clicking on the field would not propagate the click event #289 (@DRiFTy17)
  • fix(list-item): remove unused ::before pseudo element from slotted elements #284 (@DRiFTy17)
  • fix(file-picker): allow for setting disabled state before child <button> is in DOM #281 (@DRiFTy17)
  • fix(select): fixed a bug where the option group builder property was not being called #274 (@DRiFTy17)
  • fix(autocomplete): keep dropdown open when selecting items in stateless + multiple mode #269 (@DRiFTy17)
  • fix(select): fixed a bug where the dropdown was not opening when pressing up/down arrow keys, and fixed a11y announcements when the value text changes #264 (@DRiFTy17)
  • fix(table): fixed a bug where the pointer cursor could be lost when allowRowClick is enabled #288 (@DRiFTy17)
  • fix(linear-progress): updated the default buffer state to be 1 instead of 0 #282 (@DRiFTy17)
  • fix(list-item): fixed a bug where the wrap property in list-item component was not allowing for text to wrap on slotted elements #266 (@DRiFTy17)
  • fix(autocomplete): fixed typings and leading icon render order #273 (@Alex-Oxthorn)

Authors: 2


v2.13.2 (Tue Feb 14 2023)

Bug Fix

Authors: 2


v2.13.1 (Fri Feb 10 2023)

Bug Fix

Authors: 1


v2.13.0 (Wed Feb 08 2023)

:tada: This release contains work from a new contributor! :tada:

Thank you, Alan Collins (@Alanoll), for all your work!

Enhancement

Bug Fix

  • fix(list-item): fixed a bug where the UI could incorrectly reflect the component state #225 (@Alanoll @DRiFTy17)
  • fix(date-range-picker): fixed a bug that allowed invalid date ranges #226 (@Lillious)

Authors: 4


v2.12.4 (Sat Feb 04 2023)

:tada: This release contains work from a new contributor! :tada:

Thank you, Logan Brown (@Lillious), for all your work!

Bug Fix

  • fix(date-range-picker): fixed a bug that caused the end date to reset upon pressing t with the calendar open and end date selected (@Lillious)
  • fix(field): fixed a bug where height of helper-text element was incorrect #222 (@Lillious @DRiFTy17)

Pushed to main

Authors: 2


v2.12.3 (Fri Feb 03 2023)

Bug Fix

  • fix(split-view): added an overlay while dragging to maintain listeners and cursor styles #220 (@samrichardsontylertech)
  • fix(switch): fixed a bug where the UI could incorrectly reflect the component state #215 (@DRiFTy17)

Pushed to main

  • chore(auto-pr-check): use pull_request_target (@DRiFTy17)

Authors: 2


v2.12.2 (Wed Jan 11 2023)

Bug Fix

  • fix(select): fixed a bug where the UI was not reflecting the selected value if the option values are changed after the component value is set #212 (@DRiFTy17)

Authors: 1


v2.12.1 (Wed Jan 04 2023)

Bug Fix

Authors: 1


v2.12.0 (Tue Jan 03 2023)

Bug Fix

Authors: 2


v2.11.0 (Tue Dec 06 2022)

:tada: This release contains work from a new contributor! :tada:

Thank you, Josh Pierro (@joshpierro), for all your work!

Enhancement

Bug Fix

  • fix(field): fixed incorrect checking for presence of input/textarea #195 (@fallXone)
  • fix(button-toggle-group): fixed forge-button-toggle-group-change typings #190 (@DRiFTy17)
  • chore: update templates and fix license text in sb #193 (@DRiFTy17)
  • docs(legal): use forge logo and add license info #192 (@DRiFTy17)
  • docs(button-toggle): corrects spelling error #189 (@joshpierro)
  • chore: update Angular framework usage #182 (@MikeMatusz)

Documentation

  • docs(app-bar): fixed app-bar-profile-button references to use correct element name #187 (@DRiFTy17)

Authors: 5


v2.10.1 (Thu Nov 03 2022)

Bug Fix

  • fix(slider): fixed propagation to underlying implementation state for min, max, and step properties #180 (@DRiFTy17)

Authors: 1


v2.10.0 (Fri Oct 28 2022)

Enhancement

Bug Fix

  • fix(table): fixed default select height in column filter #176 (@DRiFTy17)
  • fix(paginator): fixed change event state reconciliation #172 (@DRiFTy17)
  • chore(build): update Forge CLI to enable ESM minification #173 (@DRiFTy17)
  • docs(keyboard-shortcut): add storybook docs for keyboard shortcuts #174 (@samrichardsontylertech)
  • chore: optimize pr-check workflow to limit dependency installation to #171 (@DRiFTy17)
  • chore: fix actions workflow deprecations #170 (@DRiFTy17)

Authors: 3


v2.9.0 (Wed Oct 19 2022)

Enhancement

Bug Fix

  • fix(table): ignore filter row checkboxes when toggling select column state #169 (@DRiFTy17)
  • fix(chip): change default height style to use auto to accommodate content height #166 (@DRiFTy17)
  • fix: fixed duplicate asterisk characters on required form field labels in Safari #168 (@DRiFTy17)
  • fix(autocomplete): fixed a bug where opening the dropdown via down arrow key would not activate the selected option #163 (@DRiFTy17)
  • fix(select): fix to ensure --forge-select-font-size CSS custom prop… #164 (@DRiFTy17)
  • fix(date-picker): _onToday zeros out time values #162 (@jake-crawford-tyler)
  • chore: support node 16 #157 (@DRiFTy17)
  • chore: post release notes to slack #156 (@DRiFTy17)

Authors: 3


v2.8.0 (Tue Oct 11 2022)

Enhancement

Bug Fix

  • fix(drawer): fixes drawer initialization state when defaulting to closed #150 (@DRiFTy17)
  • fix(file-picker): fix helper text slotted styles and dimensions #155 (@DRiFTy17)
  • fix(table): add checkbox to component dependencies #152 (@DRiFTy17)
  • fix(inline-message): set host to be a block level element #151 (@DRiFTy17)

Authors: 2


v2.7.0 (Fri Sep 30 2022)

:tada: This release contains work from a new contributor! :tada:

Thank you, Zachary Silverman (@zacharysilverman), for all your work!

Enhancement

Bug Fix

  • fix(button-toggle-group): allow falsy values in change event #143 (@DRiFTy17)
  • docs(chip-field): add missing slot docs #142 (@DRiFTy17)

Authors: 2


v2.6.0 (Tue Sep 06 2022)

Enhancement

  • feat(metadata): Update Forge CLI and add JSDoc for Custom Elements Manifest #138 (@MikeMatusz)

Documentation

  • chore(docs): fix css custom prop docs for floating action button #137 (@DRiFTy17)

Authors: 2


v2.5.0 (Tue Aug 23 2022)

Enhancement

  • fix(select): fix a11y when navigating options via keyboard and screen reader #135 (@DRiFTy17)

Bug Fix

  • fix(drawer): fixed popup positioning within scrollable drawer content #134 (@DRiFTy17)
  • chore: fix broken links #131 (@DRiFTy17)
  • fix(theme): use hex value without opacity for border-color theme style #126 (@DRiFTy17)
  • fix(label-value): remove explicit line-height to support wrapping value text #127 (@DRiFTy17)
  • fix(select): fixed placeholder text alignment when no label is set #129 (@DRiFTy17)

Authors: 1


v2.4.0 (Tue Aug 09 2022)

Enhancement

Bug Fix

Pushed to main

  • chore: added note to roadmap about current state of library (@DRiFTy17)
  • chore: add note about dense attribute in icon button docs (@DRiFTy17)

Authors: 3


v2.3.0 (Mon Jul 18 2022)

Enhancement

  • revert(circular-progress): reverted changes to radius customization t… #119 (@DRiFTy17)

Authors: 1


v2.2.1 (Mon Jul 18 2022)

Bug Fix

  • fix(circular-progress): fixed visibility of component on Firefox and Safari #118 (@DRiFTy17)

Authors: 1


v2.2.0 (Fri Jul 15 2022)

:tada: This release contains work from a new contributor! :tada:

Thank you, Nick Andrews (@nickonometry), for all your work!

Enhancement

Bug Fix

  • fix(circular-progress): fixed default radius of circle to fill available height and width #116 (@DRiFTy17)
  • fix(label-value): fixed label and value alignment #114 (@DRiFTy17)
  • chore: update CDN deployment strategy #107 (@DRiFTy17)

Performance

  • perf: deferred ripple instantiation in icon-button and button until first user interaction #115 (@DRiFTy17)

Documentation

Authors: 2


v2.1.0 (Thu Jun 30 2022)

Enhancement

  • feat: include bundled ESM JavaScript sources in distirbution npm package dist/esm/ directory #106 (@DRiFTy17)

Bug Fix

  • chore: simplify build-pr workflow when determing wf-config as we don'… #104 (@DRiFTy17)
  • chore: make pr builds smarter by only performing tasks if relevant files change #103 (@DRiFTy17)
  • chore: update shared workflow versions #102 (@DRiFTy17)
  • chore: enable storybook automation #101 (@DRiFTy17)

Authors: 1


v2.0.0 (Fri Jun 24 2022)

Enhancement

Authors: 1


Loading Forge chat…