Fixed issue with input where it was not always setting the form value in the ElementInternals instance, causing incorrect values to appear in the native formData event
Added it to where for BwInput of type number you cannot type the letter 'e.' This was possible before because of scientific notation; it's valid input, but that is not needed for this application.
Added BwOverlay, a generic component for creating modal, drawer, and bottom sheet overlays. It's more stable across browsers and simplifies our markup. Unlike our previous overlay components, it has no default formatting.
Added BwView. Our overlay formatting has been consolidated here, and it has an easier api to use than our old components.
Added BwViewManager for creating advanced wizards or nested layouts. It's markup driven and manages animations, breadcrumbs, and wizards implicitly, simplifying the implementations of complex forms dramatically. See the wizard tutorial for more info.
The type property on BwInput now accepts an InputMask configuration object. This will replace the format property, which was a simple implementation that would not work for anything other than the most basic of scenarios, and even then had bugs. There are also built in masks for currency, ssn, email, phone, and zip code. You can use them by setting the type property. See BwInput for the full list of accepted values.
BwPage now has a banner slot for showing important messages at the top of the page. It can also be used by adding the class bw-page-banner to the element if you are not using slots.
Removed the bw-overlay-container stylesheet due to compatibility issues on safari. Use BwViews now
The BwToastContainer no longer tries to appear on top of overlays, instead it will always appear behind the backdrop. Going forward you should not show toasts while overlays are active.
Removed the InitialStep property from BwWizard and added a state enum to the steps property to replace it. This makes it possible to restore completed and optional steps, and simplifies the api.
Removed the mobile property from BwWizard. It now automatically adjusts it's styling for mobile using container queries.
Removed the format property from BwInput. Use the new masking functionality mentioned in the features section above.
Changed BwForm's dataPatch and dataSubmit events to get the form controls based on a query rather than relying on the native formData event. This fixes DEV-28421
Added formResetCallback method to bw-toggle. This will allow bw-toggle values to reset when button type reset is called and bw-toggle is a part of the form.
Updated bw-control originalValue variable type to 'any'. 7354
Added before and after slots to BwInput that allow you to neatly place items to the left/right of the input like the start/end slots do, but they are OUTSIDE the container instead of inside.
Added a showDialogFn to BwDiscardDialog that allows you to use custom logic to decide whether or not the discard changes dialog should show.
Fixed a minor bug where dropdowns placed inside BwInput would not scroll on overflow if the BwMenu was not using a data source.
Added a list prop to BwInput which corresponds to the prop on the native HTMLInputElement
Added 2 new events to BwForm (dataSubmit and dataPatch) that emit values in their original type, rather than converting them to strings
Deprecated formData and patch events on BwForm, use the new dataPatch event
Deprecated validationDelay on BwForm
Removed backdropClick event from BwModal and BwDrawer. Now when a backdrop is clicked when backdropDismiss=false, the overlay will do a pulse animation to bring the user's attention back to the content
Removed showBackdrop from BwModal
BwPage no longer uses the shadow dom. This gives you greater flexibility with the placement of child elements.
Removed margin from BwSkeletonText
Added an initialStep property to BwWizard that will set the state on initialization. Has no effect after the component's first render.
Added openSession and closeSession functions to the bluewater package to help with state management. See the wizard tutorial for more info
Rolled back internal stencil version of the core library to 4.35.0. A bug in BwModal where the contents would occasionaly not render was created by v4.36.0 of stencil. (be29b636)
Added BwSplitView and BwSplitPanel components. These components are not intended to replace the left-panel and right-panel slots on BwPage, it's just another option for making advanced layouts. (7fae0f72, f478a36a)
Added new optional styles for styling <table> elements. See documentation here. (f478a36a)
Removed validationDelay prop from BwModelDirective and added it to BwForm instead. It will delay bwModelChange events for all controls in the form when present.
Modified the validationDelay functionality on BwModelDirective to emit values that were skipped upon the form becoming valid.
Added openChange events to BwPopover and BwBottomSheet
BwSelect's dropdown icon now transitions at the same time it's state changes, previously it would wait for the overlay to finish presentation/dismissal before beginning it's transition.
Fixed bug in BwPopover where it's position would not change when position-strategy="click" and the user clicks somewhere while the popover is already open
Border radius of the badges in BwSelect in multiselect mode was inconsistent
Possibly stabilized the inconsistent behavior of how the badges are generated in BwSelect in multiselect mode
BwModal and BwDrawer no longer have a default slot. It has been replaced with header, content, and footer slots to help remove boilerplate code and make it easier to have more consistent layouts
The overlay attribute on BwPage is gone, it only has one way of being used now. Use the new slots on BwModal and BwDrawer for laying out content in overlays
The close slot on BwBadge is gone, and has been replaced with a closable attribute that will add the close button with proper stylings when present
The height on BwNote has been changed from 20px to fit-content