# 1.10.2

- `FmPhoneNumber`
  - Make country options show country number instead of country name
  - Fix paste and blur auto-detection to validate against current country first, then fall back to supported country code detection

# 1.10.1

- `FmDialog`
  - Fix `maxHeight` prop not being passed to `FmDialogContent`

# 1.10.0

- `FmBar`, `FmLine`, `FmPie`
  - Add `plugins` prop to support custom Chart.js plugins

# 1.9.2

- `FmStepperField`
  - Fix browser default blue focus outline appearing on input element

# 1.9.0

- **BREAKING CHANGE:** `FmSimpleDateRangePicker` & `FmDateRangePicker`
  - Convert `CompareType` enum keys to SCREAMING_SNAKE_CASE for consistency with backend services
  - `CompareType.NoComparison` → `CompareType.NO_COMPARISON`
  - `CompareType.PrecedingPeriod` → `CompareType.PRECEDING_PERIOD`
  - `CompareType.PrecedingWeek` → `CompareType.PRECEDING_WEEK`
  - `CompareType.PrecedingMonth` → `CompareType.PRECEDING_MONTH`
  - `CompareType.PrecedingYear` → `CompareType.PRECEDING_YEAR`
  - `CompareType.Custom` → `CompareType.CUSTOM`
  - Enum values (string literals) remain unchanged for backward compatibility with stored data
  - Services can now import CompareType directly from component paths instead of duplicating definitions

# 1.8.9

- `FmSelect` & `FmChipGroup`
  - Add `chipClicked` event that emits the value when a chip is clicked
  - Allows handling individual chip clicks within the component

# 1.8.8

- `FmErrorSummary`
  - Show navigation button for single error to allow user to jump to the error field
  - Real-time error tracking: error count updates immediately when field validation state changes (not just on form submit)

# 1.8.7

- `FmTable`
  - Add `getRowId` prop to enable stable row selection across filtering, sorting, and pagination
  - When provided, row selection uses unique IDs from your data instead of indices
  - Example: `:get-row-id="(row) => row.id"`

# 1.8.6

- `FmErrorSummary`
  - **New component** for navigating form validation errors in long forms
  - Sticky bar that displays error count with prev/next navigation buttons
  - Position options: `sticky-bottom` (default), `sticky-top`, or `static`
  - Customizable label format with `{current}` and `{total}` placeholders
  - Automatically scrolls to error fields when navigating
  - Full i18n support (English, Thai, Simplified Chinese, Traditional Chinese)
  - Works seamlessly with `FmForm` component

# 1.8.5

- `FmCustomizeFields`
  - **New component** for customizing and reordering visible fields in tables/lists
  - Drag-and-drop functionality for reordering fields
  - Toggle visibility for each field with switch controls
  - Search functionality to filter fields
  - "Hide all" / "Show all" button for bulk visibility control
  - Support for fields that cannot be hidden (`canHide: false`)
  - Full i18n support (English, Thai, Simplified Chinese, Traditional Chinese)

# 1.8.4

- `FmAdvancedSort`
  - **New component** for advanced drag-and-drop sorting of large item lists
  - Dual-column interface with available items and sorted groups
  - Support for creating custom sorting groups with query-based filtering
  - Drag-and-drop functionality for moving items between groups and reordering groups
  - Built-in search functionality for filtering available items
  - Configurable sort fields with custom getter functions
  - Query operators support: equals, contains, startsWith, endsWith, greaterThan, lessThan
  - Customizable column labels and component height
  - Group management: create, delete, and reorder groups
  - Full i18n support for all text elements (English, Thai, Simplified Chinese, Traditional Chinese)
  - Query filtering properly uses getter functions when defined in sort fields

# 1.7.4

- `FmSelect`

  - Add `clearable` prop to show clear button for clearing selected value in single select mode

# 1.7.3

- `FmRadio`

  - Fix layout / wrapping issue when `sublabel` text is very long (now wraps without breaking alignment)

# 1.7.2

- `FmPhoneNumber`

  - Fixed duplicate country code parsing issue that incorrectly changed selected country when inputting numbers that match other country codes (e.g., inputting "62 226 2693" with Thailand +66 selected no longer switches to Indonesia +62)
  - Improved country code detection logic to only trigger on complete phone numbers (11+ digits) or when input starts with "+"
  - Enhanced paste functionality to better handle complete international phone numbers

# 1.7.1

- `FmSideSheet`

  - add `@on:close` event to allow users to handle side sheet close actions

# 1.7.0

- `FmSelect`

  - add `keepSelectionOrder` prop to keep the selection order when multiselect

# 1.6.9

- `FmSelect`

  - Fix case-insensitive search functionality - search now ignores case when filtering items

# 1.6.8

- rename `zh-TW` locale to `zh-Hant`

# 1.6.7

- `FmTable`

  - Added `cellSpanClass` to column meta for customizing the class of span elements inside table cells

  - Example: `{ meta: { cellSpanClass: 'text-red-500 truncate' } }` will replace the default `line-clamp-2 w-full` while preserving the base typography class

# 1.6.6

- `FmTable`

  - the `draggable` property now also support passing a `(row: Row<any>, index: number) => boolean` function to determine which row is draggable

- `FmSideSheet`, `FmTopSheet`, `FmBottomSheet`

  - add `no-overlay` property to disable overlay

# 1.6.5

- `FmSimpleDatePicker`, `FmSimpleDateRangePicker`

  - fix the issue of popover will close when select month or year in dropdown

# 1.6.3

- `FmTextField`: fix the issue of datalist dropdown not hide when click outside

# 1.6.2

- `FmDialog`, `useDialog` plugin

  - add a `maxHeight` prop

# 1.6.1

- `FmBreadcrumb`

  - expose a `setSelectedItemIndex` method
  - will not change selection on click if item's route is empty

# 1.6.0

- `FmBar`, `FmLine`, `FmPie`

  - Enables support for displaying data labels directly on the chart.
  - Deprecated legacy props: stacked, hideXAxis, hideYAxis
  - These have been replaced with more flexible configuration options via xCfg and yCfg.

# 1.5.6

- `FmPhoneNumber`: country name now can handle any country with i18n support

# 1.5.5

- `FmIcon` upgrade material icon font to `v232`

# 1.5.4-beta.3

- `FmTable`

  - refactor virtual scroll implementation, to fix safari compatibility issue.

# 1.5.3-beta.1 - 2025-03-16

- `FmLine`

  - line chart enhancements

- `FmPhoneNumber`
  - fix the issue that the input text is not updated after pasting.

# 1.5.2-beta.2 - 2025-03-11

- `FmPhoneNumber`

  - On paste and blur event, detect if the input text already has valid country code.

# 1.5.2-beta.1 - 2025-03-09

- i18n, add support for `th-TH` (Thai), `zh-TW` (Traditional Chinese) locale

# 1.5.1-beta.5 - 2025-03-04

- `FmPhoneNumber`
  - add `Macau` to default supported countries

# 1.5.1-beta.4 - 2025-02-24

- `FmBadge`
  - fix badge not showing when value is `0`

# 1.5.1-beta.3 - 2025-02-23

- `FmMenu`
  - add `flip-padding` prop (default to `{ bottom: 40 }`) to allow user to customize the padding for the menu when it's flipped.

# 1.5.0-beta.1 - 2025-02-17

- `FmSelect`
  - support search

# 1.4.0-beta.3 - 2025-02-12

- `FmTable`
  - experimental support for virtual scroll, enable it by setting `virtual: true`, and set `virtual-row-height` to the estimated height of a row (default is `48px`). Unsupported features:
    - `table-row` slot
    - dnd
    - sub rows

# 1.3.9 - 2025-01-16

- `FmMenu`
  - add `selector-for-dismiss-away-event-exclusion` prop to allow user to exclude certain elements from the dismiss away event.

# 1.3.8 - 2025-01-10

- `FmListItem`
  - fix `disabled` prop not preventing click event

# 1.3.6 - 2025-01-04

- `FmPopover`
  - fix [272](https://github.com/feedmepos/ui-library/issues/272)

# 1.3.5 - 2025-01-02

- `FmTable`
  - make header row not sticky when dragging, making it easier to trigger the drag and drop auto scroll behaviour. related: [#269](https://github.com/feedmepos/ui-library/issues/269)

# 1.3.3 - 2024-12-31

- `FmDropField`
  - `maxFileSize` prop default to undefined, which means no file size limit.

# 1.3.2 - 2024-12-24

- `FmCollapsibleTabs`
  - extend `badge` prop to allow user to customize the badge with a render function

## 1.3.1 - 2024-12-24

- `FmPill`
  - new component

## 1.3.0 - 2024-12-10

- Support i18n

## 1.2.61 - 2024-12-02

- `FmSimpleDateRangePicker`
  - fix [#256](https://github.com/feedmepos/ui-library/issues/256)

## 1.2.60 - 24-12-28

- `FmBadge`
  - fix badge positioning and alignment for numbers with multiple digits [#250](https://github.com/feedmepos/ui-library/issues/250)
  - adjusted spacing and sizing for better display of double and triple digit numbers
  - improved text centering within badge

## 1.2.59 - 24-12-27

- `FmSideSheet`

  - fix bottom buttons div too hig [#249](https://github.com/feedmepos/ui-library/issues/249)

## 1.2.58 - 24-11-16

- `FmTextField`, `FmTextarea`

  - remove outline style from safari browser

## 1.2.57 - 24-11-16

- `FmTimeRangePicker`

  - fix not able to click confirm button on ios safari

## 1.2.56 - 24-11-12

- `FmTimeRangePicker`

  - fix swaps start and end time when start time 12 pm [#245](https://github.com/feedmepos/ui-library/issues/245)

## 1.2.55 - 24-11-08

- `FmSearch`

  - fix: search icon in search input should not hide icon when focused [#243](https://github.com/feedmepos/ui-library/issues/243)

## 1.2.54 - 24-11-07

- `FmPinField`

  - add `masked: boolean` prop to hide text in the input field
  - `v-model` now supports two-way binding
  - add a `@focus` event

## 1.2.53 - 24-11-07

- `FmTabs`

  - make tab label not wrap

## 1.2.52 - 24-11-01

- `FmDateRangePicker`, `FmSimpleDateRangePicker`

  - fix: should move the calendar to start of selected date when click predefined date range

## 1.2.51 - 24-10-26

- `FmSideSheet`, `FmTopSheet`, `FmBottom` sheet

  - add `@clicked-away` event, allow the user to customize the behavior when clicked away.

## 1.2.50 - 24-10-22

- `FmMenu`

  - add a `custom-element-class-list-for-close-on-click` prop

## 1.2.49 - 24-10-16

- `typography`

  - fix style of `en-title-md-600`

- `FmCheckbox`, `FmRadio` and `FmSwitch`

  - add `4px` margin between `label` and `sublabel`

## 1.2.48 - 24-10-13

- `FmTable`

  - update header height to match latest design. The default height for header is `44px`, `18px` text with `py-[13px]`.
    if you have custom icon inside header, should update the style to make sure the height don't exceed `44px`.

## 1.2.47 - 24-10-12

- `FmSelect`

  - fix close-on-click not working when click on prepend and append slot

## 1.2.46 - 24-10-11

- `FmRadioGroup`

  - fix extra padding on top and bottom, if label or helper-text is not provided

## 1.2.45 - 24-10-11

- `FmSwitch`

  - fix text color of sub label

## 1.2.44 - 24-10-02

- `FmPhoneNumber`

  - fix not taking full width

## 1.2.43 - 24-10-01

- Box shadows

  - `fm-shadow-light-[100, 200, 300, 400]` new styles

- FmButton

  - `fm-shadow-light-100` added to the `fab` variant

## 1.2.42 - 24-9-27

- `FmMenu`
  - expose a `toggleMenu(val: boolean | undefined)` method

## 1.2.41 - 24-9-26

- `FmMenu`
  - add `close-on-mouse-leave` prop, only works when trigger type is `hover`

## 1.2.39 - 24-9-25

- `FmMenu`
  - fix `close-on-click` not working if click event got stopped in `FmMenuItem`

## 1.2.38 - 24-9-23

- `FmCollapsibleTabs`
  - add `overflow-auto` to container

## 1.2.36 - 24-9-22

- `FmForm`

  - expose a new method `validateInputsWithoutSubmit` to allow user to trigger validation without submitting the form.
    Might be useful if you want to validate part of a form in a multi-step use case.

## 1.2.35 - 24-9-13

- `FmRadioGroup`
  - add a default `gap-8` for radio options

## 1.2.34 - 24-9-13

- `FmForm`
  - add an `blameFormChildOnValidationFailed?: boolean` attribute that will scroll into or focus on the first form that has validaiton failure.

For custom defined `FmFormGroup` component, you can self implement the blaming behaviour:

```
...
const blameHandler = () => {
  inputEl.value?.focus();
}
<template>
  <FmFormGroup
    :rules="rules"
    :blame-handler="blameHandler"
  >
      <input ref="inputEl"/>
...
</script>
```

## 1.2.33 - 24-9-13

- `FmToolTip`'s directive got a `zIndex` option. eg:

```
<div v-tooltip="{ content: 'outer space tooltip', zIndex: 10000 }">hover</div>
```

## 1.2.32 - 24-9-13

- `FmDialog`, `FmSideSheet`, `FmTopSheet`, `FmBottomSheet`
  - will dimiss when pressing `ESC` key.

## 1.2.31 - 24-9-13

- `FmTextField`, `FmTextarea`, `FmSearch`
  - support an `autofocus` attribute, to automatically focus the input field on component mount. Note that this works differently with native `autofocus` attribute, which only takes effect on page load.

## 1.2.30 - 24-9-12

- `FmMenu` and `FmSelect`
  - now support keyboard operation.
  1. use tab to focus the component
  2. use enter to open the popup
  3. use arrow up and arrow down to switch option
  4. use enter to select an option

## 1.2.29 - 24-9-10

- `FmTable`
  - fix error when data length is 0

## 1.2.28 - 24-8-22

### Features

- `FmMenu`
  - auto-scroll to the child item that has `data-checked="true"`

## 1.2.27 - 24-8-22

### Features

- `FmDateRangePicker`, `FmSimpleDateRangePicker`, `FmTextarea` and `FmDialog`
  - update the style

## 1.2.26 - 24-8-22

- `FmPageHead`
  - Change the `position` of floating primary action (mobile layout) button to `fixed`
  - Change default bottom margin from `16px` to `68px`
  - add a optional `primary-action-xs-bottom-margin` prop to customize bottom margin

## 1.2.24 - 24-8-20

### Features

- `FmPageHead`
  - Update the style of the `description`

### Fixes

- `FmCheckBox` and `FmRadio`
  - Fix the issue that the input section not be scrolled when the screen is scrolling.

## 1.2.23 - 24-8-20

### Features

- `Fm*`
  - Update the style for some typography

## 1.2.22 - 24-8-20

### Features

- `FmField`
  - Update the style of the text field and the help text
- `Typography`
  - New `title` font style

## 1.2.21 - 24-8-20

### Features

- `FmField`
  - Update the style of the field
- `Typography`
  - New `title` font style

## 1.2.20 - 24-8-19

### Features

- `FmRadio` and `FmCheckbox`
  - update the style of the radio and checkbox

## 1.2.19 - 24-8-19

### Features

- `FmBar` and `FmLine` and `FmPie`
  - added a new props tooltip for customization of the tooltip

## 1.2.19 - 24-8-15

### Features

-
- `FmTimePicker` and `FmTimeRangePicker`
  - new design, smaller size
  - do not allow non-numeric input

## 1.2.17-rc.1 - 2024-8-14

### Fixes

- `FmTextField`
  - The `id` for exclude the element from `clickOutside` event will conflict with the `id` for the other input elements.

## 1.2.16-rc.3 - 2024-8-14

- `useSnackbar`
  - title row align items center, title margin right 16px

## 1.2.16-rc.1 - 2024-8-14

- `FmTimePicker`
  - support input time by keyboard
- `FmTable`
  - column header default style remove `justify-between`

## 1.2.15 - 2024-8-14

### Features

- `FmTextField`
  - Support `datalist` attribute

## 1.2.15-rc.9 - 2024-8-12

### Fixes

- `FmSelect`
  - The `width` attribute not be applied correctly

## 1.2.15-rc.8 - 2024-8-8

### Features

- `FmTable`

  - The `items per page` options now depend on the `row-data` length

- `FmPhoneNumber`
  - Add country name to the dropdown

## 1.2.15-rc.5 - 2024-8-6

### Features

- `useDialog`
  - Allow use custom `is-component` to control the dialog wrapper element

## 1.2.15-rc.4 - 2024-8-6

### Fixes

- `FmDialog`
  - `max-width` not pass to content correctly
- `FmForm`
  - Fix the issue that the field not be unregistered when the field is removed

## 1.2.15-rc.3 - 2024-07-28

### Features

- `FmDialog`
  - Accept user to use set `is` prop to control the dialog wrapper element by `is-component` prop

## 1.2.15-rc.1 - 2024-07-26

### Features

- `FmList`
  - expose `element` ref to allow user to get the list element ref

## 1.2.14 - 2024-07-25

### Features

- `FmDialog`
  - Remove the `max-width` restriction

## 1.2.14-rc.17 - 2024-07-25

### Features

- `FmSelect`
  - Allow user use `menu-z-index` prop to customize the z-index of the menu

## 1.2.14-rc.16 - 2024-07-25

### Fixes

- `FmDynamicDialog`
  - Fix the issue that the unmount event is not triggered when the dialog is closed

## 1.2.14-rc.15 - 2024-07-25

### Features

- `FmTable`
  - Prevent dnd when `expanded-state` are not empty

## 1.2.14-rc.14 - 2024-07-24

### Features

- `FmTable`
  - Allow sub-row usages

## 1.2.14-rc.13 - 2024-07-24

### Features

- `FmSideSheet`
  - Allow user use `close-icon` prop to customize the close icon

## 1.2.14-rc.12 - 2024-07-24

### Features

- `FmSideSheet`
  - Expose `containerRef` to allow user to get the container ref

## 1.2.14-rc.11 - 2024-07-23

### Features

- `FmButton`
  - Add `overwrite-icon-outline` prop to allow user to overwrite the icon outline/filled state

## 1.2.14-rc.10 - 2024-07-23

### Features

- `FmTable`
  - Add `whole-row-draggable` prop to allow user drag the whole row

## 1.2.14-rc.9 - 2024-07-22

### Features

- `FmPageHead`
  - Supports user to customize the actionButtons

## 1.2.14-rc.8 - 2024-07-19

### Features

- `FmDropField`
  - Support `default slot`
  - Add `content-class` prop to allow user to customize the content class

## 1.2.14-rc.7 - 2024-07-19

### Features

- `FmTextField`
  - Add `formatter` prop to allow user to format the input value
  - Add `decimal` prop to allow user to set the decimal places(treat it as the step attribute for number input)

## 1.2.14-rc.6 - 2024-07-18

### Features

- `FmSelect`
  - Allow user use `append-menu` and `prepend-menu` to add custom menu items

## 1.2.14-rc.5 - 2024-07-18

### Features

- `FmSelect`
  - Allow user use `hideChips` to hide the selected chips

## 1.2.14-rc.4 - 2024-07-18

### Features

- `FmSelect`
  - Allow user `disabled` item

## 1.2.14-rc.1 - 2024-07-17

### Features

- `FmTable`
  - Add `dnd-changed` event to allow user to get the updated table data after drag and drop

## 1.2.13 - 2024-07-17

### Features

- `FmTable`
  - Allow `dnd`

## 1.2.13-rc.16 - 2024-07-17

### Features

- `FmTable`
  - add `column-visibility` prop to allow user to hide/show the certain column

## 1.2.13-rc.15 - 2024-07-17

### Features

- `FmTable`
  - make `table` reactively update when the `tableOptions` is changed

## 1.2.13-rc.14 - 2024-07-16

### Features

- `FmTable`
  - `column.meta` now supports `headerContentClass`

## 1.2.13-rc.12 - 2024-07-12

### Fixes

- `FmTable`
  - `maxHeight` not be applied correctly issue on `FmTableSelection`

## 1.2.13-rc.11 - 2024-07-11

### Fixes

- `FmTextField`
  - Fixed the issue that the inputRef cannot be accessed, use expose method instead

## 1.2.13-rc.10 - 2024-07-12

### Features

- `FmTextField`
  - add `autoFocus` prop to allow user to set the input field to be focused when the component is mounted
  - accept user use `inputRef` prop to get the input field ref

## 1.2.13-rc.7 - 2024-07-11

### Features

- `FmSelect`
  - Export `shift` prop to allow user to shift the menu if it is close to the edge

## 1.2.13-rc.7 - 2024-07-10

### Fixed

- `FmSimpleDateRangePicker`
  - fixed the auto-select predefined range option on mobile

## 1.2.13-rc.6 - 2024-07-10

### Features

- `FmSimpleDateRangePicker`
  - Auto-Select the predefined range option when the user selects/default the start and end date

## 1.2.13-rc.5 - 2024-07-09

### Fixes

- `FmButton`
  - Fixed the border-color no be applied correctly issue

## 1.2.13-rc.4 - 2024-07-09

### Fixes

- `FmButton`
  - Fixed the color missing issue

## 1.2.13-rc.2 - 2024-07-08

### Features

- `FmTable`
  - Add `hide-header-row` prop to allow user to hide the header row

## 1.2.12 - 2024-07-06

### Features

- `FmButton`
  - Support more color props to allow user to customize the button color
    - The color variant follows the `FmButtonColorThemeVariant` enum

## 1.2.10 - 2024-07-03

### Features

- `useSnackbar`

  - Support `persistent` prop to allow user to make the snackbar persistent
  - Support `spinner` prop to allow user to show spinner in the snackbar
  - Support `position` prop to allow user to customize the position of the snackbar
    - default: `top-right`
    - in `xs` breakpoint it will always be `bottom-center`
  - expose `updateSnackbar` method to allow user to update the snackbar

- `FmTable`
  - Emit `sort-change` event when the user clicks the header to sort the column

## 1.2.10-rc.1 - 2024-07-02

### Fixes

- `FmDialog`

  - Fix the modelValue not working issue

- `FmPinField`

  - Fix the inputmode

- `FmPie`
  - fix where the data is empty will throw error causing the chart not able to render

## 1.2.9 - 2024-07-01

### Features

- `FmTabs`
  - New UI for tabs

## 1.2.9-rc.4 - 2024-07-01

### Features

- `FmTimeRangePicker`
  - Add `disableTimeCheck` prop to allow user to assign the end time to be the same/before the start time

## 1.2.9-rc.2 - 2024-06-26

### Fixes

- `FmDialog`

  - Fix the issue that the dialog will not close when the user clicks the overlay(dismissAway)

- `FmPopover`
  - Fix the issue that the clicks on popover content will propagate to the parent component

## 1.2.6 - 2024-06-24

### Features

- `FmDynamicDialog`
  - Allow `contentComponent` to emit `action` event that corresponds to the action button

## 1.2.6-rc.6 - 2024-06-21

- `FmDynamicDyalog`
  - ActionButton accept `disabled` and `isLoading` props

## 1.2.6-rc.5 - 2024-06-21

### Features

- `FmSnackbar`
  - Add `z-index` prop to allow user to customize the z-index of the snackbar

## 1.2.6-rc.4 - 2024-06-21

### Features

- `FmDynamicDyalog`
  - Add `sub-title` prop to allow user to add sub-title

## 1.2.6-rc.3 - 2024-06-21

### Features

- `FmMenu`
  - Assign `max-height` attribute to `menu-wrapper` slot
- `FmSelect`
  - Assign `max-height` attribute to `menu-wrapper` slot

## 1.2.6-rc.2 - 2024-06-21

### Features

- `FmSideSheet`
  - Add `is-component` and `is-component-props` props to allow user to use component as the content

## 1.2.6-rc.1 - 2024-06-19

### Features

- `FmMenu`
  - Give user `shift` and `min-height` attribute for control the menu should do shift or overflow if it closes to the edge

## 1.2.5 - 2024-06-18

### Features

- `FmPhoneNumber`
  - Support flag by `vue-country-flag-next` library
  - Support Indonesia by default
  - Add `extra-country-codes` prop to allow user to add extra country codes

## 1.2.4 - 2024-06-10

### Features

- `useDialog`
  - Accept concurrent dialog

## 1.2.3 - 2024-06-10

### Features

- `FmCollapsibleTabs`
  - Add `action` prop to allow user to assign action to the tab

## 1.2.3-rc.7 - 2024-06-06

### Features

- `FmDialog`
  - Add `content-class` prop to allow user to customize the content class

## 1.2.3-rc.6 - 2024-06-06

### Features

- `FmDialog`
  - Add `content-scrollable` prop to allow user to make the content scrollable

## 1.2.3-rc.5 - 2024-06-06

### Features

- `Calendar`
  - Use popover mode for YearMonthPicker

## 1.2.3-rc.4 - 2024-06-05

### Features

- `FmTooltip`

  - Add `content-class` prop to allow user to customize the content class

- `FmScorecard`
  - Truncate the title if it is too long

## 1.2.3-rc.2 - 2024-05-29

### Fixes

- `FmTimeRangePicker`
  - Fixed the time comparison calculation issue

## 1.2.3-rc.1 - 2024-05-29

### Features

- `FmPageHead`
  - Update the slot's name to `title` and `description` to make it more intuitive
  - Fix the title not show when the slot is not provided

## 1.2.2 - 2024-05-29

### Features

- `FmMenu`
  - Add resize the max-height of the menu if the spacings are not enough both top and bottom

## 1.2.2-rc.1 - 2024-05-28

### Features

- `FmDialog`
  - Hide footer if no footer slot is provided

## 1.2.1 - 2024-05-27

### Features

- `FmTable`
  - Add custom `page-size` to items per page options if it is provided and not in the list.
- `FmPinField`
  - Add `isError` prop to show error state

## 1.2.1-rc.3 - 2024-05-24

### Features

- `FmBottomSheet`
  - Users can decide whether to show the header or not

## 1.2.1-rc.2 - 2024-05-24

### Features

- `FmPageHeader`
  - Accept slot `title-slot` and `description-slot` to allow user to customize the title and description

## 1.2.1-rc.1 - 2024-05-24

### Feature

- `FmOverlay`
  - Export `FmOverlay` component

## 1.2.0 - 2024-05-23

### Feature

- `Foundation`
  - Separate font styles by locale
  - Redesign the font system

## 1.1.20 - 2024-05-23

### Feature

- `FmTextField`
  - Support `password` input mode
- `FmMenu`
  - Support `offset` prop to adjust the position of the menu
- `FmTooltip`
  - Support `zIndex` prop to adjust the z-index of the tooltip
- `FmDialog`
  - Hide `dialog-button` when the slot is `undefined`

## 1.1.19 - 2024-05-22

### Feature

- `FmPopover`
  - Export `FmPopover` component

## 1.1.18 - 2024-05-21

- `FmAvatar`
  - Add `sm2` size
  - Add `rounded` prop

## 1.1.17 - 2024-05-20

### Feature

- `FmBottomSheet`
  - Support pointer swipe to close the bottom sheet
- `FmScorecard`
  - New component for displaying a scorecard
- `FmSimpleCalendar`
  - Update the order of comparison quick select

## 1.1.16 - 2024-05-19

## Bug fixes

- `Calendar`
  - Fixed the issue that Calendar related component doesn't refer the `disable` status from fromProvider

## 1.1.15 - 2024-05-11

### Feature

- `FmButton`
  - Set the default size to `md`
  - If the button is just an icon, make it square
- `ToolTip`
  - Now tooltip supports touch devices

## 1.1.14 - 2024-05-10

### Feature

- `FmSimpleDateRangePicker`

  - Added emit `selected-comparison` to get the current compareType when you select the type
  - Added `No Comparison` and tweak some compare type

- `FmBar`/`FmLine`/`FmPie`
  - Added `legend` props for better customization more info refer to chart js legend documentation for additional
    options

## 1.1.13 - 2024-05-09

### Feature

- `FmIcon`
  - Upgrade Material Icons version(Fill)

## 1.1.12 - 2024-05-09

### Bug fixes

- `FmButton`
  - Fix the icon will be missing when it is clicked because there is no fill variant for the icon

## 1.1.11 - 2024-05-09

### Feature

- `FmTable`
  - Add prop `forceMobileFooter` for Allow user to force the table footer to persist on mobile layout

### Bug fixes

- `FmStepperField`
  - Fix the issue that the stepper field will not be disabled when it is set to disabled

## 1.1.10 - 2024-05-08

### Feature

- `FmSimpleCalendar`
  - Now it will forward the calendar to the endDate of the month when the user uses quick select
- `FmTable`
  - Allow user to assign className for row

## 1.1.9 - 2024-05-06

### Feature

- `FmChip`
  - Now support right side icon
- `FmSimpleCalendar`
  - revert value when the calendar closes that due to user click outside
  - Allow user to specify the default compare type

## 1.1.6

### Feature

- `FmTable`
  - `shrink-at` accept false as a value to prevent the table from shrinking in any breakpoint
  - adjust the footer to display well on mobile where the table is not allowed to shrink.
- `FmPopover`/`FmOverlay` related components
  - Add `zIndex` prop to allow user to customize the z-index of the overlay
- `FmSimpleDatePicker`/`FmSimpleDateRangePicker`
  - New component for handling date comparison separately.
- `FmSelect`
  - Now select item accepts `sublabel`
- `FmSwitch`
  - Remove `min-height`
  - Update `sublabel` color
- `FmBar`/`FmLine`
  - Add `hideXAxis`/`hideYAxis`/`hideLegend` props to hide the axis and legend

## 1.1.5

- `FmPopover`
  - v-click-outside is missing its functionality

### Feature

- `FmCollapsibleTabs`
  - new UI
  - Ellipsis for tab label if it's over 2 lines
- `FmButton`
  - Reduce the size of the button
- `FmButtonGroup`
  - Reduce the size of the button
- `FmTooltip`
  - Reduce the size of the tooltip
- `FmTimePicker`/`FmDateTimePicker`
  - allow user use customize `#trigger-button`

### Bug fixes

- `FmBoottomSheet`
  - Click the `arrow-back` button not trigger close;

## 1.1.4

### Feature

- `FmTable`
  - when on viewport `xs` or `sm`, renders table row into `FmList` with padding: 0
    - specify different breakpoints with prop `<FmTable shrink-at="xs | sm | ..."`
    - disable behavior with prop `<FmTable shrink-at="0"`
  - add `<template #table-row` to render custom table row
  - add `<template #list-row` to render custom list row
- `useDialog`
  - add `dismissAway` to close dialog on clicking overlay (`overlay` must be `true`)
  - add `onClose` handler
- `FmMenu`
  - add `stop-click-propagation` to avoid click to be propagated to a parent component
- `FmPageHead`
  - add `prepend` and `append` slot

### Bug fixes

- `FmPopover`
  - use `fixed` position strategy to avoid scrollbar by parent component
- `useSnackbar`
  - render toast with z-index 10
- `FmTable`
  - render pinned table header component after `<tbody>` to avoid using z-index
  - show the pointer as cursor if `@row-click` is defined
- `FmTableToolbar`
  - fix search button width
  - fix extra spacing on action buttons
- `FmTable`
  - stop propagation on row click
- `FmPageHead`
  - fix padding
- `FmMenuItem`
  - set max length to 240px
- `useDialog`
  - use tertiary button variant on secondary action on default

## 1.1.3

- `FmDatePicker` and `FmDateRangePicker`
  - Add slot for calendar trigger button
- `FmSelect`
  - Ellipsis displayValue when it's line over 2
- `FmSideSheet`
  - accept `maxWidth` prop
- `FmCheckbox`, `FmRadio` and `FmSwitch`
  - Reduce the gap between the label and the action box
- `FmMenuHeader`
  - Reduce the spacing
- `FmBreadcrumb`
  - Reduce the font size from 16px to 14px
- `FmStepperField`
  - Reduce the size of the increment and decrement button
- `FmTable`
  - Allow devs to decide whether to show the footer(pagination) or not
  - Reduce the footer size and add a top border
- `FmForm`
  - Add global disable props to disable all the fields in the form
  - expose isSubmitting from ref

## 1.1.2

- Export `FmTableToolbar`
- `FmTable`
  - Reduce ceil height from 72px to 52px
  - font size from 16px to 14px(Header and Cell)
  - Background color of the header from #FFFFFF to #F9F9F9
  - Allow row click event
- `Input`
  - Reduce Y padding from 12px to 8px
- `FmMenuItem`
  - reduce font size:
    - label: 16px -> 14px
    - `sublabel`: 14px -> 12px

## 1.1.1

- Standardized `FmDialogContent` and use it for `FmDialog` and `useDialog`
- Highlighted the scroll behavior in `FmDialog` and `useDialog`
- Fixed `FmDatePicker` will off-screen when the boundary is closed to bottom but there is no enough space for top to
  show the picker.
- Fixed the click propagation issue in `FmChip`
- Fixed the selection box in `FmTable` being re-rendered when the table is updated
- Now, the `FmRadio` can self-control its disable status even if the parent component changes the `disable` status
- Upgrade the version for `Material Symbols` for supporting more icons

## 1.1.0

### Bug Fixes

- `FmStepperField` now truncates text when reaching max fraction digits specified
- Added icons to `FmDatePicker` and `FmDateRangePicker` fields
- Fixed `FmLabel` not showing tooltips when `info` prop is specified
- Fixed `FmFormGroup` and `FmLabel` not showing specified slots
- Fixed UI issues on `FmDynamicDialog` when content or footer is not specified
- Fixed focus issues on collapsible `FmSearch`
- Fixed disabled `FmMenu` from behaving incorrectly
- The Color system is now updated with the latest colors from design
- Fixed `FmSelect` extra spacing issues when label or helper is not specified
- Fixed missing flags on `FmPhoneNumber`
- Fixed `FmTable` not reflecting new column definitions changes
- Fixed `FmTable` item counts when manual pagination is used
- `FmTabs` will now always show selected item on the main bar (to improve visibility on selected item in the `More`
  tabs)
- `FmPageHead` now correctly hides action button in mobile when no action is specified
- Fixed extra gaps for undefined slots/props including:
  - Content and footer slots in `FmDialog` & `useDialog`
  - Label and helper text slots in form fields
- Fixed fade in animation in `useDialog`
- Fixed dialog spacing when it occupies the whole width on mobile
- Fixed "More" button in `FmTab` to render children tab as submenu
- Fixed `label` and `helper` template not rendering in form field components
- Fixed country flags not rendering in `FmPhoneNumber`
- Fixed import statements in UI library package for better code editor integration
- Fixed collapsible `FmSearch` not focusing on text field on expanding
- Fixed full-screen heights in all sheets
- Fixed closing popover when opening another popover

### Features

- `FmBadge` now supports custom class
- `FmTable` now supports loading state
- Added `FmTableToolbar` and `useTableFilter` utilities for table operations
- New component `FmCardActionArea` is added
- Updated dependencies
  - UI Library is now running Vue `v3.4.21`
  - Vite has been correctly updated to `v5.1.4` to align with Vue version requirement
- `FmDatePicker` and `FmDateRangePicker` now allows user to define `min` and `max` dates shown on matrices
- Added `pin-top` slot in `FmTable`
- Added ability to do nested rows in `FmTable`
- Active selected child in `FmTabs` will be made visible even if the child has been collapsed in the "More" tab
- `useProxiedModel` now use generics for better TS integration on selecting prop name to proxy

## 1.0.1

### Bug Fixes

- Fix `FmSelect` overflowing when list gets too long

### Features

- Added ability to define `minFractionDigits` and `maxFractionDigits` to `FmStepperField` to define the max and min
  number of fraction digits when user inputs

## 1.0.0

- FeedMe UI Library released!
