- Add
persistent
prop to ipl-sidebar and ipl-dialog which disables closing the dialogs when clicking outside of them
- Fix ipl-input with the large theme growing too wide in some cases
- Improve appearance of large inputs with labels
- Fix large ipl-input growing slightly taller when loading
- Add ipl-dialog component
- Add
prefix
prop to ipl-input to display arbitrary text before the text input - Allow adding labels to ipl-checkbox through its default slot
- Allow ipl-checkbox to be created without a label
- Clean up styles for ipl-checkbox and ipl-small-toggle when they have no labels
- Update exports in package.json to export types correctly
- Remove pointer cursors where they shouldn't be
- Fix small checkboxes being really wide
- Add an
errorMessage
prop to ipl-button to allow changing the message that appears when an async action fails - Allow changing the placeholder text of ipl-upload
- Fix the
progressMessage
prop of ipl-button doing nothing - Fix ipl-checkbox visuals sometimes disappearing with long labels
- Allow changing the background color of ipl-dialog-title
- Allow adding labels to ipl-small-toggle through its default slot
- Allow adding labels to ipl-button through its default slot
- For example, this can be used to make a button's label contain an icon and text simultaneously.
- Allow disabling text capitalization on ipl-button
- Fix content within the header-extra slot of ipl-expanding-space sometimes being invisible
-
Library stylesheets must be manually imported
-
ipl-radio requires a
name
prop -
Some style changes may require dependent styles to use
!important
when it wasn't before. Some examples:text-align
ordisplay
on ipl-button when theclickable
prop is set
-
Input validation logic has been overhauled - the value to validate is no longer required when declaring field validators.
-
Old implementation
<template> <ipl-input v-model="firstValue" name="firstValue" label="First Value" /> <ipl-input v-model="secondValue" name="secondValue" label="Second Value" /> </template> <script lang="ts"> import { computed, defineComponent, ref } from 'vue'; import { allValid, IplInput, notBlank, provideValidators, validator } from '@iplsplatoon/vue-components'; export default defineComponent({ components: { IplInput }, setup() { const firstValue = ref(''); const secondValue = ref(''); const firstValueValidator = validator(firstValue, false, notBlank); const validators = { firstValue: firstValueValidator, secondValue: validator(secondValue, false, notBlank) }; provideValidators(validators); return { allValid: computed(() => allValid(validators)), firstValueValid: computed(() => firstValueValidator.isValid), firstValue, secondValue }; } }); </script>
-
New implementation
<template> <ipl-input v-model="firstValue" name="firstValue" label="First Value" /> <ipl-input v-model="secondValue" name="secondValue" label="Second Value" /> </template> <script lang="ts"> import { computed, defineComponent, ref } from 'vue'; import { // allValid is no longer an export - use the return value of provideValidators. IplInput, notBlank, provideValidators, validator } from '@iplsplatoon/vue-components'; export default defineComponent({ components: { IplInput }, setup() { const firstValue = ref(''); const secondValue = ref(''); const { allValid, fieldIsValid } = provideValidators({ // The first parameter is no longer present. firstValue: validator(false, notBlank), secondValue: validator(false, notBlank) }); return { allValid, firstValueValid: computed(() => fieldIsValid('firstValue')), firstValue, secondValue }; } }); </script>
-
- Most components can be controlled by keyboard input when expected
- Some components have been refactored:
- Clickable ipl-space components use the
<button>
element - Buttons use
<button>
instead of<a>
unless they are links - ipl-sidebar uses the built-in
<dialog>
element - ipl-small-toggle uses the
<input>
element instead of a bunch of divs
- Clickable ipl-space components use the
- Buttons acting as links act as expected when they are disabled or require confirmation (#23)
- Added ipl-textarea
- Added ipl-pagination
- ipl-input supports adding a placeholder
- Added a larger theme for ipl-input
- SSR support
- Provide separate ESM and UMD builds
color
andwithout-content-background
props to ipl-expanding-space- Added
copiable
to ipl-data-row - ipl-data-row can contain any element as the value through the default slot
- Updated ipl-button:
- Allow removing the background color
- Added
inline
prop - Button size can be adjusted by changing
font-size
in CSS
- Move docs to a vitepress-powered concoction, combining the previously separate plain-text docs and locally built examples into a single site
- ipl-select emits the full option object on update as an additional parameter
- Revert changes to ipl-button
- Fix the content in the header of ipl-expanding-space not being centered correctly
- Add some horizontal padding to ipl-button
- Add ipl-spinner component
- Add
loading
prop to ipl-input
- Allow close action in ipl-dialog-title to be disabled
- Allow ipl-progress-bar to accept arbitrary hex color values
- Fix some components having an incorrect appearance without some external stylesheets
- Fix some ipl-button properties not animating as expected
- Add
use-neutral-colors
prop to ipl-toggle - Fix an issue with ipl-toggle not displaying correctly in some cases
- Add
v-model:expanded
to ipl-expanding-space, reflecting the component's expanded state. - Add an examples page for development use (
yarn serve
) - Use Font Awesome 6
- Add ipl-radio
- Reduce compilation target to improve browser support
- Emit event when ipl-button is right-clicked
- Add
ipl-small-toggle
component
- Incredibly minor: Remove default margin from ipl-button
- Allow ipl-toggle to accept custom label text
- Fix ipl-message content sometimes not taking up the whole width of the component as expected
- Allow ipl-input to accept more types
- Use inject/provide to pass validators to ipl-input instead of props
- Export more helpers for validation, parsing colors and other small tasks
- Add
clickable
prop to ipl-space
- Slightly change ipl-select padding to closer match ipl-input style
- Allow ipl-button
href
property to be customized
- Bundle scss styles in distribution to provide dependents with color constants
- Fix ipl-button scrolling the page unexpectedly
- Fix ipl-button flashing in certain cases when using Chrome
- Fix ipl-input throwing errors when v-model is set to null