@lion/ui
0.6.0-alpha.1
Minor Changes
- Moved to scoped-elements v3
Patch Changes
- [validation-messages] get correct validation min and max dates in French
0.6.0-alpha.0
Minor Changes
- 83658742: Update to lit version 3
0.5.2
Patch Changes
- d997e52: [tooltip] hide tooltip if the invoker gets disabled
- c80bca7: Fix scroll behavior when closing an overlay
- db96e8c: fix(tabs): set selectedIndex only if value differ from previous value
0.5.1
Patch Changes
- 9b5edf3: [localize] parseDate by default to 2000 instead of 1900 when date is below 49
- bf78222: do not run disabled property reflection unless it was part of the changeset in LionSwitchButton
- 322b065: Export isIOS and isMacSafari functions as part of browserDetection utility
- 322b065: Use traditional styleSheet on IOS for overlays
- bf78222: reuse uuid function from the core in LionButton and LionInputDatepicker
- bf78222: invoke parent class updated callback in LionCollapsible, LionDrawer and LionSwitchButton
- cb25a60: fix: DE locale typo for validation messages
- Updated dependencies [ef9b1e4]
- singleton-manager@1.7.0
0.5.0
Minor Changes
- 7f644cd: feat: [combobox] add
allow-custom-choice
(former requireOptionMatch=false) and make it compatible withmultiple-choice
Patch Changes
- be4e25a: fix: [combobox] single choice with
allow-custom-choice
(former requireOptionMatch=false) doesn't clear selection - e923ba4: fix: [radio-group] resetting a radio-group containing options with formatters doesn't check the default value
- 7235a4f: fix: [combobox] model-value-changed event emitted when clearing a combobox sends stale value
- c459ded: fix: [combobox] autocomplete feature for the lion-combobox component. It used to autoselect a wrong item
0.4.2
Patch Changes
- b1320a9: avoid calling push in iterable object to avoid error loading overlays in old chromium versions
- dcf3a4b: Fix search issues when modifying the middle of the input word in LionCombobox.
- be36bf3: Fix accessibility currency linking to label after setting currency from undefined in LionInputAmount.
- 63a8e72: lion-calendar: when determining if user interacted with a day button, use event.composedPath()[0] instead of event.target to fix Firefox 111+ issue
0.4.1
Patch Changes
- a58d8ce: export more type definitions
0.4.0
Minor Changes
- a3738b5: Bypass the requirement to support export & import map to consume @lion/ui
Patch Changes
- ebe13e1: fix: undefined document.body
- b0a74f2: fix(progress-indicator): accept 0 as a valid value
- b89d889: Render exactly 6 weeks in every months.
- 9b9485d: [calendar] focusCentralDate function should only use buttons inside the dates table
- d1f92a3: Make disabled date buttons not selectable via keyboard navigation in LionCalendar.
- d597c07: [localize] with localizeNameSpaces type
- 6ccfb27: [input-datepicker] only disable dates is the validator type is "error"
- 4cc72b1: feat: allow Required validator on Fieldset and Form;
- cecf5ed: lion-accordion now replaces expanded with a copy when it changes on click of an invoker button.
- 857d47a: Handle focusin event in invokers in LionAccordion. Fix tabbing issues.
0.4.0-prerelease-bypass-export-map.0
Minor Changes
- Bypass the requirement to support export & import map to consume @lion/ui
0.3.5
Patch Changes
- 5eafa1f: hide overlay arrow from screen readers
0.3.4
Patch Changes
-
b44bfc5: [calendar] updates:
- Enables focus to disabled dates to make it more reasonable for screen readers
- Do not automatically force selection of a valid date
- Add helper functions to find next/previous/nearest enabled date
-
137a1b6: lion-input-file: added isDragging property
0.3.3
Patch Changes
- ecf853d: fixed exporting types of lion-input-file
0.3.2
Patch Changes
- 259e0dd: lion-selected-filelist: removed composed: true and bubbles: true and set eventlistener directly on lion-selected-file-list inside lion-input-file
0.3.1
Patch Changes
- 7ec90dc: add CheckboxIndeterminate test suite
- 1ea5730: [localize] align currency symbol usage for all browsers
- 33c0ff1: Added vs-code json file to enable auto-completion
- dbc3fc2: [combobox] submits form on [Enter]
0.3.0
Minor Changes
- e310c08: fix: LionInputDatePicker enters an endless loop on InvalidDate modelValue
- d2de984: [input-file] Create input-file component
- 6893421: fix(ui): align light dom with internal reactivity cycle of LitElement/ReactiveElement.
Since light dom render is now aligned insideupdate
instead ofupdated
(like it already was for shadow dom),
we can rely on the fact that all dom (light and shadow) has rendered inside ourupdated
loop.
Patch Changes
- bdc7455: Allow customization of currency label's slot in Input Amount
- 2683a73: [FocusMixin] now syncs autofocus between host and the focusable node.
0.2.2
Patch Changes
- 88e6ca0: [localize] parseNumbers as heuristic if there is only 1 separator and 2 or less decimals e.g. 12.34
0.2.1
Patch Changes
- 5b8d655: OverlayController: fixed check to determine if native dialog is supported, fixed check to determine if user has moved focus while dialog is open, added test to assert if element specified in dialog config key
elementToFocusAfterHide
is in viewport when dialog is closed - a5f3515: feat(@lion/ui): add _previousIconTemplate and _nextIconTemplate to LionCalendar
- ddea63b: [combobox] update option list after clear
- 12f1800: lion-calendar: when determining if user interacted with a day button we no longer examine event.target but event.composedPath()[0] since it otherwise fails in Firefox 111+
0.2.0
Minor Changes
- 183c86a: Changed spelling/grammar of the german error message for an invalid IBAN.
Patch Changes
-
adfa29a: [switch] remove one of the two role="switch" (nested-interactive). Only leave it on the switch-button.
-
0d4c42a: [listbox] allow use of arrow keys when focus is not on listbox
-
42a463e: Set padding of to 0 so it doesn't show a weird 1em width/height box due to user agent styles.
-
3256892: lion-switch: checked-changed event is no longer fired on element initialization when checked is set through attribute
-
3f1c83a: lion-accordion: changed selectors for invokers and content to only select slotted elements that are direct descendants. This is to prevent that slotted elements in accordion content and invokers are also selected and the amount of invokers and content is incorrect
-
a2b81b2: [combobox] Multiple improvements:
- Allow textbox values to be entered that do not match a listbox option, via
requireOptionMatch
flag. - Added an
MatchesOption
validator to check if the value is matching an option. - Exports combobox test helpers
- Allow textbox values to be entered that do not match a listbox option, via
-
1f018ba: feat(@lion/ui): add _invokerIconTemplate to LionInputDatepicker
0.1.5
Patch Changes
- 943618f: [combobox] fix direct open and closing of the overlay on focus of empty input when
showAllOnEmpty
- 4226a01: [combobox] add translations
0.1.4
Patch Changes
- 1c18057: [combobox] make the first occurrence of a string highlighted, instead of the last.
- 974e9ea: fix(@lion/ui): declare sideEffects in package.json
0.1.3
Patch Changes
- e871fe6: fix(@lion/ui): export types necessary for type inference of core.js
0.1.2
Patch Changes
- 9ff7cd7: fix(@lion/ui): export types necessary for type inference of mixins (fixes #1903)
- 74b4b68: don't set unparseable for negative timezones
- eff3259: LocalizeManager: added
allowOverridesForExistingNamespaces
option toconstructor
argument to allow for changing data in a namespace for a given locale - 84173cd: lion-select-rich: when the overlay is shown, the "autofocus" attribute is added to _listboxNode (_inputNode) to make sure that keyboard navigation continues to work when the element is inside a an element with
trapsKeyboardFocus:true
, like the bottomsheet created viawithBottomSheetConfig()
. When the overlay is closed the attribute is removed.
0.1.1
Patch Changes
-
cee40e5: Side-effect-free alternative for
localize
(the globally shared instance of LocalizeManager).
When this function is imported, no side-effect happened yet, i.e. no global instance was registered yet.
The side effect-free approach generates:- smaller, optimized bundles
- a predictable loading order, that allows for:
- deduping strategies when multiple instances of the localizeManager are on a page
- providing a customized extension of LocalizeManager
Also see: #1861
Use it like this:
function myFunction() { // note that 'localizeManager' is the same as former 'localize' const localizeManager = getLocalizeManger(); // ... }
In a class, we advise a shared instance:
class MyClass { constructor() { this._localizeManager = getLocalizeManger(); } // ... }
Make sure to always call this method inside a function or class (otherwise side effects are created)
Do you want to register your own LocalizeManager?
Make sure it's registered before anyone calledgetLocalizeManager()
import { singletonManager } from 'singleton-manager'; import { getLocalizeManger } from '@lion/ui/localize-no-side-effects.js'; // First register your own LocalizeManager (for deduping or other reasons) singletonManager.set('lion/ui::localize::0.x', class MyLocalizeManager extends LocalizeManager {}); // Now, all your code gets the right instance export function myFn() { const localizeManager = getLocalizeManager(); // ... } export class myClass() { constructor() { this._localizeManager = getLocalizeManager(); // ... } }
-
0efce8e: [localize] parse negative numbers
-
a47a6e6: lion-select: added test to assert that modelValue of lion-select is updated when the value or text of one or more options are changed
0.1.0
Minor Changes
- a4ffebb: Release
@lion/ui
beta 0.1.0
Patch Changes
- 851329e: [localize] Correct msgLit return type to include DirectiveResult
0.0.14
Patch Changes
- a5330c9: Unresolved icons to not cause a fatal error, but console.error instead. Missing assets shouldn't prevent the rest of the application from rendering.
- d204195: Updated the return type of
localizeNamespaces()
of the localize mixin to allowNamespaceObject[]
- 87e565c: fix: overlay docs error: 'return' outside of function
0.0.13
Patch Changes
- fd09f65: [select-rich] solve case of having singleOption and hasNoDefaultSelected as the same time
- af2e029: [overlays]: fix adoptStyles fallback and make testable
- 9f6270b: [select-rich] set focusableNode correctly so focused and focused-visible attributes are set when invoker gets focus
- 9fb14fa:
accordion
: rearranging invokers and content for a correct tab order is now implemented by changing the slot attributes of both instead of moving them, changed css for this implementation, updated tests - 9a43dc4: [input-tel-dropdown] add translations for "All countries" and "Suggested countries" labels.
0.0.12
Patch Changes
- 7ac0a42: [overlays] fixes (responsive backdrop/select-rich/tooltip)
0.0.11
Patch Changes
- 5e70716: [tooltip] prevent infinite loops
- 49092c9:
accordion
: narrowed the scope of the selectors that query [slot=invoker] and [slot=content] to prevent that any nested elements with [slot=invoker] and [slot=content] are moved to slot=_accordion as well - fafd922: overlays: add adopted stylesheets once; attach correctly to body
0.0.10
Patch Changes
-
36910e5: datepicker uses no calender-overlay-frame element anymore
-
64c0e26: Overlay System uses
<dialog>
for top layer functionality of all overlays.
This means overlays positioned relative to viewport won't be moved to the body.This has many benefits for the App Developer:
- "context" will be kept:
- css variables and parts/theme will work
- events work without the need for "repropagation" (from body to original context)
- accessibility relations between overlay content and its context do not get lost
- initial renderings become more predictable (since we don't need multiple initializations on multiple connectedCallbacks)
- performance: less initialization, thus better performance
- maintainability: handling all edge cases involved in moving an overlay to the body grew out of hand
- developer experience:
- no extra container components like overlay-frame/calendar-frame needed that maintain styles
- adding a contentWrapperNode is not needed anymore
There could be small differences in timings though (usually we're done rendering quicker now).
Code that relies on side effects could be affected. Like:- the existence of a global Root node)
- the fact that global styles would reach a dialog placed in the body
For most users using either OverlayController, OverlayMixin or an element that uses OverlayMixin (like LionInputDatepicker, LionRichSelect etc. etc.)
nothing will change in the public api. - "context" will be kept:
-
00063d7: depend on @popperjs/core
0.0.9
Patch Changes
- f147024: validate-messages without side effects
0.0.8
Patch Changes
-
f0e6ee9: BREAKING: remove setIcons, setOverlays, setLocalize.
Recommended approach is to do below at the top of your app (before lion code runs):
import { singletonManager } from 'singleton-manager'; import { LocalizeManager } from '@lion/ui/localize-no-side-effects.js'; class MyLocalizeManager extends LocalizeManager {} singletonManager.set('@lion/ui::localize::0.x', new MyLocalizeManager());
-
de51dae: Use the correct names for singleton registrations
0.0.7
Patch Changes
- 11f6f19: Update
@open-wc/scoped-elements
to a version that exposes its types.
0.0.6
Patch Changes
- 5dd5a84: [core] SlotMixin: conditional slots should not break init loop
0.0.5
Patch Changes
- 9b4cbb1: [lion-input-tel] upgrade to awesome-phonenumber v4
- e090d2d: adds support for reduced motion capabilities in overlay manager by disabling the opacity transition when a modal is opened/closed
- 2572012: [lion-input-tel(-dropdown)] polish / cleanup code
- 5345945: [overlays] scroll issues on mac safari fixed when dialog are openend
0.0.4
Patch Changes
- 11436fc: [core] SlotMixin: allow rerenders of templates
- eee83cc: Export types that are useful for subclassers
- d7938ef: [input-tel] Align with SlotMixin rerender functionality
[input-tel-dropdown] Align with SlotMixin rerender functionality + fix interaction state synchronization - bc25270: expose docs via export map
0.0.3
Patch Changes
- 4708fe9: Include documentation in the npm package so it can be reused
- da057ef: [localize] simplify and fix parseMode check
0.0.2
Patch Changes
- c7ea035: [core]: replaced import('lit-element') with import('lit') to fix tests, fixed test for SlotMixin
- c7ea035: [drawer]: implemented initial version of lion-drawer
- Updated dependencies [faa26f1]
- singleton-manager@1.6.1
0.0.1
Patch Changes
-
e08b6be: This introduces a new package
@lion/ui
which is a collection of UI components that can be used in your application. It contains all the components/systems that used to be distributed via separate@lion/*
packages.This is a breaking as you will need to import all components from
@lion/ui
instead of@lion/*
packages now.- import { LionAccordion } from '@lion/accordion'; + import { LionAccordion } from '@lion/ui/accordion.js';
This is also true for element registrations
- import '@lion/accordion/define'; + import '@lion/ui/define/lion-accordion.js';
Essentially the whole public API e.g. all the available exports can be found in the exports folder.
The package only supports TS 4.7+ using
"moduleResolution": "Node16"
or"moduleResolution": "NodeNext"
as described in the TS 4.7 Announcement.This package will have a new single CHANGELOG.md for the whole package. If you are interested the older individual changelogs then you can find them in the _legacy-changelogs folder.
This new version also includes the following changes for it's containing components:
- fix(switch): SwitchButton do not dispatch checked-change event when is disabled
- fix(calendar): calendar translation de.js strings corrected
Note: This package is considered alpha until extending docs and type exports are verified.
-
Updated dependencies [e08b6be]
- singleton-manager@1.6.0