Release Notes
16.0.0 (2024-10-21)
⚠ BREAKING CHANGES
- change DataTable
tableType
prop to required
Features
- Add useForceInitialRerender and useForceRerender hooks [COLUXDEV-923] (37271c1)
- DataTable: add
determineExpandableRow
prop [COLUXDEV-431] (0e81144) - DataTable: add
isConfigurable
anddefaultHideColumn
to the column creators [COLUXDEV-42] (19b6906) - DataTable: add
onSelectedRowsChanged
prop [COLUXDEV-1032] (eef2f7b) - DataTable: add
onStateChanged
prop [COLUXDEV-1074] (f914a3f) - DataTable: add
showColumnConfigButton
prop [COLUXDEV-42] (fea888f) - DataTable: add
showServerSideRefreshButton
prop [COLUXDEV-924] (e4f2393) - DataTable: add
top-and-bottom
paginator location option [COLUXDEV-909] (8d0067d) - DataTable: add cellStyle and cellClassName to DataTableColumn type [COLUXDEV-155] (b77b7b3)
- DataTable: enhance the table styles for compact mode [COLUXDEV-90] (846359f)
- DataTable: export
DataTableAwaitableModal
function [COLUXDEV-1115] (f62a55f) - DataTable: export
DataTableDispatch
type [COLUXDEV-1115] (fc5b96f) - DataTable: export
DataTableRef
andDataTableState
types [COLUXDEV-1074] (b3ac974) - DataTable: export store actions to
DT.Action.*
[COLUXDEV-897] (2ed8e9d) - DataTable: export types DataTableIconColumnOption and DataTableTagColumnOption [COLUXDEV-1115] (4882683)
- DataTable: implement
DT.getBlankDataTableState
function [COLUXDEV-1074] (8081068) - DataTable: implement
ref.current.dispatch
imperative function [COLUXDEV-1074] (0fa120e) - DataTable: implement
ref.current.dispatchAsyncAction
imperative function [COLUXDEV-1074] (1050f89) - DataTable: implement
ref.current.getState
imperative function [COLUXDEV-1074] (35c233c) - DataTable: implement ColumnConfig Popover to show/hide and re-order columns [COLUXDEV-879] (e3e8ad4)
- DataTable: rename and deprecate
DataTableStateColumn
type [COLUXDEV-1114] (577396f) - DataTable: support both DataTable and SingletonDataTable [COLUXDEV-1074] (a3fa1ee)
- Prior DataTable implementation is SingletonDataTable.
- DataTable: support cell alerts [COLUXDEV-155] (76eaee8)
- DataTable: support initial selected rows and expand rows [COLUXDEV-1096] (c1a68b0)
- DataTable: the arguments of
DT.Column.createRowAlertColumn()
is not required [COLUXDEV-155] (0bf26a6)
Bug Fixes
- DataTable: change
tableType
prop to required [COLUXDEV-923] (37fc072) - DataTable: disable paginator when 0 row entries [COLUXDEV-880] (7d51b9a)
- DataTable: don't show filter condition tag when date range filter is empty [COLUXDEV-1029] (050a66c)
- DataTable: fix
DataTableColumn
type and its propTypes [COLUXDEV-1114] (19cfa4b) - DataTable: fix DataTableProps that
quickFilter.selectedOptionIds
is not null [COLUXDEV-1113] (19c5e10) - DataTable: fix mismatch
DataTableServerSideEditRowsAsyncFn
type [COLUXDEV-1112] (b10434a) - DataTable: fix the BulkEdit MenuItem unclickable when enabling the ShadowDOM [COLUXDEV-923] (e155f0d)
- DataTable: fix the document for the
tableType
prop [COLUXDEV-923] (8dc805c) - DataTable: fix the row number from onSelectedRowChanged callback when filtering [COLUXDEV-1096] (01effa0)
- DataTable: fix the SelectionListColumnFilter option style [COLUXDEV-967] (727db60)
- DataTable: remove null
saveAlerts
andcancelAlerts
from editTableButton [COLUXDEV-1114] (3251ce7) - DataTable: rename
ContextBasedDataTable
toSingletonDataTable
[COLUXDEV-923] (97d7f26) - DataTable: reset paginator when searching by server-side search box [COLUXDEV-1017] (7604b61)
- DataTable: wrap single/multi select filters to multi lines if they are too long [COLUXDEV-958] (73a0df2)
- DataTable: Encourage serverSideFetchRowDataFn to be written outside of render method [COLUXDEV-923] (de448a2)
- Indeterminate checkbox renders more consistently [COLUXDEV-923] (043316d)
- Tooltip does not render empty text [COLUXDEV-923] (87f99c9)
- Use uncontrolled radio buttons for an uncontrolled radio group [UXDS-8951] (8b499ed)
15.4.0 (2024-10-08)
Features
15.3.0 (2024-09-24)
Features
Bug Fixes
- adjust tag impact text font size [UXDS-8874] (7e1fe9d)
- DataTable columns handle nullable cell content [UXDS-8865] (c4a9883)
- Fixed regression in HighVolumeMultiselect where clicks reset filters [UXDS-8891] (ad31abb)
15.2.0 (2024-09-03)
Features
- Add FileUpload to Forge [UXDS-8774] (2400685)
- icon-only Button has same aria label as its icon [UXDS-8783] (df57ad3)
- InlineAlert uses status role for info, new, success [UXDS-8783] (a306d1f)
- ListItem uniqueKey is not required for a simple list [UXDS-8783] (099e401)
- SegmentedButton add disabled prop, so it can disable all buttons at once [UXDS-8718] (a6328cf)
- ToggleSwitch descriptions.id is no longer required [UXDS-8783] (aaedea5)
Bug Fixes
- Linear Progress indicator grows to fit its content [UXDS-8783] (4cf270e)
- MenuItems are registering click events in Shadow DOM context [UXDS-8875] (8b120f5)
Build
- Remove reference to faux-forge-fabricator [UXDS-8783] (afce7e8)
- Remove temporary demo migration script [UXDS-8783] (c3e4055)
15.1.0 (2024-08-20)
Features
- Add Collapsible HighVolumeMultiSelect [UXDS-8705] (bea79af)
- Add disabled prop to Tab component [UXDS-8868] (7f32598)
- Convert Guide demos to Typescript [UXDS-8775] (265d0f1)
- Make Toggle off color to meet accessibility standards [UXDS-8864] (a5854f0)
- Skeleton uses darker background [UXDS-8746] (a804f38)
- Minify Forge module federation bundle [EFEA-5547]
Bug Fixes
- DataTable createSelectFilter clearIndicator should not throw type error when clear [UXDS-8872] (9331a12)
- Fix Avatar refer onClick prop as onclick incorrectly [UXDS-8580] (a23cd55)
- Fix memory leak with Typeahead [UXDS-8829] (185e56c)
- Popover arrow is positioning correctly [UXDS-8816] (38d34b7)
- Popover positioning correctly with placement prop [UXDS-8816] (dc84090)
- ProgressIndicator has consistent bar size [UXDS-7789] (881c8f0)
- Tags no longer force empty line of space [UXDS-8708] (0892b8c)
Build
15.0.1 (2024-07-10)
Bug Fixes
15.0.0 (2024-07-02)
⚠ BREAKING CHANGES
- List has been reimplemented, incorporating InteractiveList features [UXDS-8516]
- List Props have been added, deleted, and renamed
- InteractiveList has been deleted
- Tooltip's wrapper element changed from span to div [UXDS-8496]
- className has changed from
.fe_c_tooltip__span
to.fe_c_tooltip__wrapper
- className has changed from
- Menu's
trigger
prop only directly supports the Button component [UXDS-8615]- Otherwise, spread
const { triggerProps } = useContext(MenuTriggerContext)
across trigger - MenuTrigger component has been deleted
- Otherwise, spread
- The following components have been deleted [UXDS-8496]:
- ComboButton
- CheckboxButton
- RadioButton
- LabelButton
- MenuTrigger
- DataTable: remove CheckboxButtonFilter and RadioButtonFilter [UXDS-8695]
- DataTable: remove old SelectColumnFilter and SingleSelectColumnFilter [UXDS-8695]
- DataTable: rename MultiSelectColumnFilter to SelectColumnFilter [UXDS-8695]
- DataTable: add 'isMulti' argument to SelectColumnFilter [UXDS-8695]
- DataTable: remove old SelectFilter and SingleSelectFilter [UXDS-8695]
- DataTable: rename MultiSelectFilter to SelectFilter [UXDS-8695]
- DataTable: add 'isMulti' argument to SelectFilter [UXDS-8695]
- Button sizes standardized to small/medium/large/x-large [UXDS-8683]
- Menu sizes standardized to small/medium/large/x-large [UXDS-8496]
Features
- Accordion and DataTable uses the new List component [UXDS-8518] (7de29e5)
- add space between stacked FormError [UXDS-8660] (77adc08)
- Button sizes standardized to small/medium/large/x-large [UXDS-8683] (a7fb1df)
- change how Forge imports date-fns to reduce package size [UXDS-8698] (fc78fa8)
- Consolidate ComboButton/CheckboxButton/RadioButton/LabelButton to SegmentedButton [UXDS-8496] (1f27100)
- Consolidate Old List, SelectionList, InteractiveList into new List [UXDS-8516] (67d29a6)
- DataTable: consolidate MultiSelectColumnFilter and SelectColumnFilter [UXDS-8695] (71503bd)
- DataTable: consolidate MultiSelectFilter and SelectFilter [UXDS-8695] (ca4ab81)
- DataTable: enable horizontal scrolling for the table container [COLUXDEV-715] (7e64592)
- DataTable: add 'determineSelectableRow' prop [COLUXDEV-756] (8e9eb06)
- DataTable: add 'loader' props to show the loader externally [COLUXDEV-752] (0e6f51b)
- DataTable: add 'onRenderRowProps' props to apply custom props to table rows [COLUXDEV-748] (7e71ee3)
- DataTable: add
DT.Column.createIconColumn
function to create icon column [COLUXDEV-414] (4242b5f) - DataTable: add
DT.Column.createTagColumn
function to create tag column [COLUXDEV-414] (89514b1) - DataTable: add column footer [COLUXDEV-717] (3525e24)
- DataTable: add filterPanelExpanded prop [COLUXDEV-829] (83034e1)
- DataTable: create removable tag container [COLUXDEV-873] (0ab690e)
- DataTable: aligns
<th>
to the bottom and<td>
to the top [COLUXDEV-770] (6d0c651) - DataTable: IconColumn support semantic color and handle the invalid icon [COLUXDEV-414] (4ced484)
- DataTable: implement 'data-table-set-column-width' sass mixin [COLUXDEV-859] (80af663)
- DataTable: implement DT.Filter.createSegmentedButtonFilter [UXDS-8695] (c536998)
- DataTable: Expand Row icon more responsive [COLUXDEV-891] (52f0989
- DataTable: implement sticky column mixins [COLUXDEV-53] (568d146)
- DataTable: implement sticky footer when sticky header is enabled [COLUXDEV-717] (4130541)
- DataTable: improve accessibility by converting column filter to icon button [COLUXDEV-844] (e6cd3e0)
- DataTable: improve accessibility by converting sort controller to button [COLUXDEV-844] (241e860)
- DataTable: improve the collapsed filter display [COLUXDEV-829] (8ea4368)
- DataTable: improves accessibility by changing expand arrow from icon to button [COLUXDEV-770] (9019efb)
- DataTable: set showColumnFilters to true by default [COLUXDEV-859] (13c361f)
- DataTable: support align right and tooltip for custom column header [COLUXDEV-859] (8225877)
- DataTable: TagColumn handle the invalid tag [COLUXDEV-414] (388380a)
- Menu sizes standardized to small/medium/large/x-large [UXDS-8496] (dd80221)
- MenuTrigger forwards its ref [UXDS-8615] (095c848)
- remove CheckboxButtonFilter and RadioButtonFilter [UXDS-8695] (fbade0e)
- use SegmentedButton in place of Combo/Checkbox/Radio/Label Button and MenuTrigger [UXDS-8506] (2e05247)
Bug Fixes
- Address memory leak in Popover [UXDS-8706] (2f3ce17)
- DataTable: clear start & end date fields in DateRangeInput filters are cleared. [COLUXDEV-511] (7bb92d9)
- DataTable: don't display additional space if nothing in panels [COLUXDEV-754] (ab23a0a)
- DataTable: fix Forge Guide Demo with TypeScript [COLUXDEV-857] (e94cda9)
- DataTable: fix the duplicated select options and radio options during row edit [COLUXDEV-859] (cebbee4)
- DataTable: fix the mock server API changing text/value to label/value [COLUXDEV-867] (c57a4ed)
- DataTable: fix the tableWrapHeaderStyle function [COLUXDEV-859] (12dfe5c)
- DataTable: prevent the column filter display below control panels [COLUXDEV-859] (0a230e3)
- DataTable: Modal - hide the divider and add the 'cancel' button back [UXDS-8695] (90d6147)
- DataTable: Quick Filter 'multi-lines' layout [UXDS-8695] (b3e63fa)
- DataTable: the CSV button is missing for server-side [COLUXDEV-915] (48dcedc)
- Tooltip's span wrapper is not valid HTML when wrapping block elements [UXDS-8496] (3fee271)
14.0.0 (2024-06-04)
⚠ BREAKING CHANGES
- icon prop for Button, Input and Select requires @athena/forge-icons@^5.0.0 [UXDS-8659]
- Modal consolidation. Lightbox deleted [UXDS-8510]
Features
- Add "new" color/icon to Badge, Banner, InlineAlert, Toast, Modal [UXDS-8631] (74e2417)
- Add Modal Guide demo [UXDS-8511] (6856410)
- Forge uses consolidated Modal in place of old Modal and Lightbox [UXDS-8512] (ad75c24)
- Modal consolidation [UXDS-8510] (9290b9a)
- Menu open/close can be controlled [UXDS-8616] (624c172)
Bug Fixes
- Select dropdown option text should use inverted color when active [UXDS-8671] (9df10ff)
- Fix Nimbus ChunkLoadError for apps with @ in their name [EFEA-5449] (3fbec4c)
- Update DataTable colors for Input and BulkEdit [UXDS-8656] (7dbbb36)
Build
13.0.0 (2024-05-06)
⚠ BREAKING CHANGES
- Remove support for React 16 [UXDS-8492] (a2b17c7)
- Multiselect renamed to Select. SingleSelect, Typeahead and (old) Select deleted [UXDS-8489] (b65b06f)
- Select supports SingleSelect features with the isMulti={false} prop
- Select supports Typeahead features with the allowUserCreatedOptions prop
- Delete StatusTag and RemovableTag [UXDS-8619] (704c167)
- Remove peacock from secondary-color [UXDS-8491] (6d84c0c)
- Remove deprecated Table and Icon components [UXDS-8256] (a6e5946)
- The following color names have been removed [UXDS-8248] (bc5d48c):
Deprecated name | Replacement |
---|---|
blue | jungle |
teal | jungle |
peacock | jungle |
green | pistachio |
orange | coral |
ruby | orchid |
- Secondary color values have been being consolidated from having 5 shades to 4 [UXDS-8248] (bc5d48c):
Value | Recommended replacement |
---|---|
*-secondary-10 | unchanged |
*-secondary-25 | _-secondary-10 or _-secondary-40 |
*-secondary-50 | *-secondary-40 |
*-secondary-75 | *-secondary-70 |
*-secondary-100 | unchanged |
Features
- Remove deprecated color names and shades [UXDS-8248] (bc5d48c)
- Remove deprecated Table and Icon components [UXDS-8256] (a6e5946)
- Delete StatusTag and RemovableTag [UXDS-8619] (704c167)
- Multiselect renamed to Select. SingleSelect, Typeahead and (old) Select deleted [UXDS-8489] (b65b06f)
- Add demos for consolidated Select [UXDS-8490] (bac51a6)
- Update Forge to use consolidated Select [UXDS-8492] (0584a63)
- Remove deprecated props for Button, DateInput, Radio [UXDS-8257] (cbd939d)
- Remove support for React 16 [UXDS-8492] (a2b17c7)
12.12.0 (2024-10-21)
Features
- Add useForceInitialRerender and useForceRerender hooks [COLUXDEV-923] (37271c1)
- DataTable: add
determineExpandableRow
prop [COLUXDEV-431] (0e81144) - DataTable: add
isConfigurable
anddefaultHideColumn
to the column creators [COLUXDEV-42] (19b6906) - DataTable: add
onSelectedRowsChanged
prop [COLUXDEV-1032] (eef2f7b) - DataTable: add
onStateChanged
prop [COLUXDEV-1074] (f914a3f) - DataTable: add
showColumnConfigButton
prop [COLUXDEV-42] (fea888f) - DataTable: add
showServerSideRefreshButton
prop [COLUXDEV-924] (e4f2393) - DataTable: add
top-and-bottom
paginator location option [COLUXDEV-909] (8d0067d) - DataTable: add cellStyle and cellClassName to DataTableColumn type [COLUXDEV-155] (b77b7b3)
- DataTable: enhance the table styles for compact mode [COLUXDEV-90] (846359f)
- DataTable: export
DataTableAwaitableModal
function [COLUXDEV-1115] (f62a55f) - DataTable: export
DataTableDispatch
type [COLUXDEV-1115] (fc5b96f) - DataTable: export
DataTableRef
andDataTableState
types [COLUXDEV-1074] (b3ac974) - DataTable: export store actions to
DT.Action.*
[COLUXDEV-897] (2ed8e9d) - DataTable: export types DataTableIconColumnOption and DataTableTagColumnOption [COLUXDEV-1115] (4882683)
- DataTable: implement
DT.getBlankDataTableState
function [COLUXDEV-1074] (8081068) - DataTable: implement
ref.current.dispatch
imperative function [COLUXDEV-1074] (0fa120e) - DataTable: implement
ref.current.dispatchAsyncAction
imperative function [COLUXDEV-1074] (1050f89) - DataTable: implement
ref.current.getState
imperative function [COLUXDEV-1074] (35c233c) - DataTable: implement ColumnConfig Popover to show/hide and re-order columns [COLUXDEV-879] (e3e8ad4)
- DataTable: rename and deprecate
DataTableStateColumn
type [COLUXDEV-1114] (577396f) - DataTable: support both DataTable and SingletonDataTable [COLUXDEV-1074] (a3fa1ee)
- Prior DataTable implementation is SingletonDataTable.
- DataTable: support cell alerts [COLUXDEV-155] (76eaee8)
- DataTable: support initial selected rows and expand rows [COLUXDEV-1096] (c1a68b0)
- DataTable: the arguments of
DT.Column.createRowAlertColumn()
is not required [COLUXDEV-155] (0bf26a6)
Bug Fixes
- DataTable: disable paginator when 0 row entries [COLUXDEV-880] (7d51b9a)
- DataTable: don't show filter condition tag when date range filter is empty [COLUXDEV-1029] (050a66c)
- DataTable: fix
DataTableColumn
type and its propTypes [COLUXDEV-1114] (19cfa4b) - DataTable: fix DataTableProps that
quickFilter.selectedOptionIds
is not null [COLUXDEV-1113] (19c5e10) - DataTable: fix mismatch
DataTableServerSideEditRowsAsyncFn
type [COLUXDEV-1112] (b10434a) - DataTable: fix the BulkEdit MenuItem unclickable when enabling the ShadowDOM [COLUXDEV-923] (e155f0d)
- DataTable: fix the document for the
tableType
prop [COLUXDEV-923] (8dc805c) - DataTable: fix the row number from onSelectedRowChanged callback when filtering [COLUXDEV-1096] (01effa0)
- DataTable: remove null
saveAlerts
andcancelAlerts
from editTableButton [COLUXDEV-1114] (3251ce7) - DataTable: rename
ContextBasedDataTable
toSingletonDataTable
[COLUXDEV-923] (97d7f26) - DataTable: reset paginator when searching by server-side search box [COLUXDEV-1017] (7604b61)
- DataTable: wrap single/multi select filters to multi lines if they are too long [COLUXDEV-958] (73a0df2)
- DataTable: Encourage serverSideFetchRowDataFn to be written outside of render method [COLUXDEV-923] (de448a2)
- Indeterminate checkbox renders more consistently [COLUXDEV-923] (043316d)
- MenuItems are registering click events in Shadow DOM context [UXDS-8969] (3380efb)
- Tooltip does not render empty text [COLUXDEV-923] (87f99c9)
- Use uncontrolled radio buttons for an uncontrolled radio group [UXDS-8951] (8b499ed)
12.11.0 (2024-10-08)
Features
12.10.0 (2024-09-23)
Features
Bug Fixes
- Tags no longer force empty line of space [UXDS-8708] (63904fe)
- DataTable columns handle nullable cell content [UXDS-8865] (c4a9883)
- Fixed regression in HighVolumeMultiselect where clicks reset filters [UXDS-8891] (ad31abb)
12.9.0 (2024-09-03)
Features
- Add FileUpload to Forge [UXDS-8774] (2400685)
- icon-only Button has same aria label as its icon [UXDS-8783] (df57ad3)
- InlineAlert uses status role for info, new, success [UXDS-8783] (a306d1f)
- ToggleSwitch descriptions.id is no longer required [UXDS-8783] (aaedea5)
Bug Fixes
Build
- Remove reference to faux-forge-fabricator [UXDS-8783] (afce7e8)
- Remove temporary demo migration script [UXDS-8783] (c3e4055)
12.8.0 (2024-08-20)
Features
- Add Collapsible HighVolumeMultiSelect [UXDS-8705] (bea79af)
- Add disabled prop to Tab component [UXDS-8868] (7f32598)
- Convert Guide demos to Typescript [UXDS-8775] (265d0f1)
- Make Toggle off color to meet accessibility standards [UXDS-8864] (a5854f0)
- Skeleton uses darker background [UXDS-8746] (a804f38)
- Minify Forge module federation bundle [EFEA-5547]
Bug Fixes
- Fix Avatar refer onClick prop as onclick incorrectly [UXDS-8580] (a23cd55)
- Popover arrow is positioning correctly [UXDS-8816] (38d34b7)
- Popover positioning correctly with placement prop [UXDS-8816] (dc84090)
- ProgressIndicator has consistent bar size [UXDS-7789] (881c8f0)
12.7.3 (2024-07-19)
Bug Fixes
12.7.2 (2024-07-10)
Bug Fixes
12.7.1 (2024-07-02)
Bug Fixes
- change how Forge imports date-fns to reduce package size [UXDS-8698] (1508bd1)
- Table sort icon direction fixed [UXDS-8700] (699a000)
12.7.0 (2024-06-26)
Features
- add space between stacked FormError [UXDS-8660] (77adc08)
- DataTable: enable horizontal scrolling for the table container [COLUXDEV-715] (7e64592)
- DataTable: add 'determineSelectableRow' prop [COLUXDEV-756] (8e9eb06)
- DataTable: add 'loader' props to show the loader externally [COLUXDEV-752] (0e6f51b)
- DataTable: add 'onRenderRowProps' props to apply custom props to table rows [COLUXDEV-748] (7e71ee3)
- DataTable: add
DT.Column.createIconColumn
function to create icon column [COLUXDEV-414] (4242b5f) - DataTable: add
DT.Column.createTagColumn
function to create tag column [COLUXDEV-414] (89514b1) - DataTable: add column footer [COLUXDEV-717] (3525e24)
- DataTable: add filterPanelExpanded prop [COLUXDEV-829] (83034e1)
- DataTable: create removable tag container [COLUXDEV-873] (0ab690e)
- DataTable: aligns
<th>
to the bottom and<td>
to the top [COLUXDEV-770] (6d0c651) - DataTable: IconColumn support semantic color and handle the invalid icon [COLUXDEV-414] (4ced484)
- DataTable: implement 'data-table-set-column-width' sass mixin [COLUXDEV-859] (80af663)
- DataTable: Expand Row icon more responsive [COLUXDEV-891] (52f0989
- DataTable: implement sticky column mixins [COLUXDEV-53] (568d146)
- DataTable: implement sticky footer when sticky header is enabled [COLUXDEV-717] (4130541)
- DataTable: improve accessibility by converting column filter to icon button [COLUXDEV-844] (e6cd3e0)
- DataTable: improve accessibility by converting sort controller to button [COLUXDEV-844] (241e860)
- DataTable: improve the collapsed filter display [COLUXDEV-829] (8ea4368)
- DataTable: improves accessibility by changing expand arrow from icon to button [COLUXDEV-770] (9019efb)
- DataTable: set showColumnFilters to true by default [COLUXDEV-859] (13c361f)
- DataTable: support align right and tooltip for custom column header [COLUXDEV-859] (8225877)
- DataTable: TagColumn handle the invalid tag [COLUXDEV-414] (388380a)
Bug Fixes
- Address memory leak in Popover [UXDS-8706] (2f3ce17)
- DataTable: clear start & end date fields in DateRangeInput filters are cleared. [COLUXDEV-511] (7bb92d9)
- DataTable: don't display additional space if nothing in panels [COLUXDEV-754] (ab23a0a)
- DataTable: fix Forge Guide Demo with TypeScript [COLUXDEV-857] (e94cda9)
- DataTable: fix the duplicated select options and radio options during row edit [COLUXDEV-859] (cebbee4)
- DataTable: fix the mock server API changing text/value to label/value [COLUXDEV-867] (c57a4ed)
- DataTable: fix the tableWrapHeaderStyle function [COLUXDEV-859] (12dfe5c)
- DataTable: prevent the column filter display below control panels [COLUXDEV-859] (0a230e3)
- DataTable: the CSV button is missing for server-side [COLUXDEV-915] (48dcedc)
12.6.0 (2024-05-28)
Features
- Add "new" color/icon to Badge, Banner, InlineAlert, Toast, Modal [UXDS-8631] (74e2417)
- Menu open/close can be controlled [UXDS-8616] (624c172)
Bug Fixes
- Fix Nimbus ChunkLoadError for apps with @ in their name [EFEA-5449] (3fbec4c)
- Update DataTable colors for Input and BulkEdit [UXDS-8656] (7dbbb36)
Build
12.5.0 (2024-05-06)
Features
- Add spacing between demo component and form data [UXDS-8581] (12e1bd6)
- Add ToggleSwitch small size [UXDS-8592] (ee11cad)
- Deprecated ($color-secondary, peacock) color, added ($color-alert, new) [UXDS-8491] (fa70f81)
- Forge uses Tag instead of StatusTag and RemovableTag [UXDS-8459] (c93b543)
- Make DataTable searchBox case-insensitive [UXDS-8598] (c0144a0)
- Updated Tag demos to exhibit impact style variant [UXDS-8594] (4f020d9)
Bug Fixes
- Paginator using Input component, to prevent scroll from increasing numerical input [UXDS-8585] (b64ce51)
- Popover hideArrow prop no longer disrupts the placement [UXDS-8542] (e2c5849)
Build
12.4.0 (2024-04-02)
Features
- Add 'Group Options' demo to Multiselect Guide [UXDS-8435] (bab0ef7)
- Add disabled control props to DateRangeInput and NumericRangeInput [UXDS-8331] (546c156)
- Create Tag component to replace RemovableTag and StatusTag [UXDS-8457] (56c4ff2)
- Replace table with dataTable in Forge [UXDS-8259] (e6d8f47)
Bug Fixes
- Console warnings removed from Modal, Lightbox, Tooltip [UXDS-8106] (878d275)
- DataTable CSV download does not include a title row [UXDS-8434] (406a5d8)
- DataTable Demos made more readable [UXDS-8415] (0fb17fa)
- Export type DataTable [UXDS-8538] (0c47d50)
- forge-abstracts forwards font-size again [UXDS-8437] (c773ef2)
- Multiselect and SingleSelect options close on scroll [UXDS-8538] (ce5de4f)
- Multiselect documetation no longer mentions "swallowed" props [UXDS-8415] (1780280)
- Text no longer overflows Toast [UXDS-8548] (64bfd89)
Build
- Remove peerDependencies: @athena/react-scripts and typescript [UXDS-8582] (929b56c)
- Upgrade babel devDependency [UXDS-8434] (451604c)
- Upgrade sass compiler [UXDS-8437] (40a1317)
12.3.0 (2024-03-08)
Features
- Nimbus Module federation enabled [EFEA-5071] (7beffbd)
12.2.1 (2024-03-05)
Bug Fixes
12.2.0 (2024-03-04)
Features
Build
12.1.0 (2024-02-29)
Features
- Add BlockUI to exports [UXDS-7909] (1d82a96)
- Add className props for left and right Lightbox panels [UXDS-7909] (d41aa8c)
- Onboard HighVolumeMultiSelect [UXDS-8187] (1582c1b)
- Add TimedOut type to EmptyState [UXDS-8401] (99ff302)
- Better Shadow DOM support for useClickOutside and useFocusLost [UXDS-7909] (811e38b)
- Add multi-lingual locale support for DateInput month dropdown [UXDS-8349] (71c53c4)
- Disable Input, when type="number', from changing on mouse scroll by default [UXDS-7909] (e713845)
- Onboard DataTable [UXDS-7909] (f75ebf9)
- Prevent RadioButton from being cleared with isClearable [UXDS-7909] (133b5f8)
- RadioButton supports narrowly typed string options [UXDS-7909] (6124153)
- Remove Paginator Table combo demos [UXDS-8378] [UXDS-7909] (4adcc1f)
- Update Root demo to use AddDocument icon [UXDS-8400] (b4e80e9)
Bug Fixes
- Checkbox onChange event target now has correct type [UXDS-7909] (b65849c)
- Highlight when hovering over an option; option styles now support div and span [UXDS-8172] (401927d)
- Menu should not render a list element for conditional MenuItem [UXDS-7716] (93744c4)
- MultiField uses required label correctly [UXDS-7909] (f48cb5c)
Build
- Deploy the guide and storybook before Nimbus build in development [UXDS-8358] (e89ac96aee2)
12.0.0 (2024-02-12)
⚠ BREAKING CHANGES
- String is no longer a valid value type in DateInput
- MultiField is a generic TypeScript component with more specific types for its props
Features
- Expose onBlur handler for DateRangeInput and NumericDateRangeInput [UXDS-8304] (cfe1110)
- Convert MultiField to Typescript [UXDS-7945] (8b9a43b)
- Renders children JSX in RemovableTag [UXDS-8314] (c4430b8)
Bug Fixes
- DateInput value can be set to null [UXDS-8312] (7289b72)
- RadioGroup with children use context data [UXDS-8289] (69bcb18)
Build
- Add testing-library tests for deprecated components [UXDS-8244] (5b73c8e0513)
11.1.0 (2024-01-12)
Features
- Convert Popover to Typescript [UXDS-7834] (8dc3869)
- Add autoResize control to TextArea [UXDS-8156] (beb096d)
- Add square variant to Avatar [UXDS-7825] (b17a96b)
- Convert ComboButton to Typescript [UXDS-7956] (21157be)
- DateInput portals its calendar to document.body [UXDS-8271] (514520b)
- FormError is no longer documented by FormField [UXDS-8231] (1542242)
Bug Fixes
- Menu now correctly passes styling props to its trigger [UXDS-8274] (b03fae5)
- Checkbox alignment within Table fixed [UXDS-8267] (04b0196)
- Multiselect dropdown arrow should not move onHover [UXDS-8195] (1e79d19)
- Toast header text text no longer overflows its container [UXDS-8302] (0d478c7)
- Portalling components copy styles sooner within a shadow DOM [UXDS-8170] (fa6bdc6)
- Root ref immediately available to useEffect hooks [UXDS-8269] (5f8c318)
11.0.0 (2023-12-14)
⚠ BREAKING CHANGES
- Typescript correctly validates props forwarded via FormField [UXDS-8157] (688bfc4)
- Generic types for Multiselect and SingleSelect have fewer parameters [UXDS-8157] (e97055e)
Features
- Checkbox converted to typescript [UXDS-7955] (7996248)
- Menu converted to typescript [UXDS-8158] (9eb727f)
- FormField converted to typescript [UXDS-8157] (688bfc4)
- FormField error and hintText linked via aria attributes [UXDS-8157] (51dd9b6)
- Multiselect and SingleSelect types simplified [UXDS-8157] (e97055e)
- Multiselect and SingleSelect support ReadOnlyArray for options [UXDS-8194] (2cc2701)
- Onboarded Skeleton component into Forge [[UXDS-8149] (https://athenajira.athenahealth.com/browse/UXDS-8149)]
Bug Fixes
- Multiselect honors defaultMenuIsOpen prop as expected [UXDS-8166] (cc573bd)
- Use semantic html to announce Loader [UXDS-8071] (d4d47b0)
Build
10.0.0 (2023-11-29)
⚠ BREAKING CHANGES
- Tree's children can no longer have integer IDs.
- Callback functions in Tree supply event before the affected node ID(s):
- onNodeSelect
- onNodeToggle
- data[number].onSelect
- data[number].onToggle
- The type for Tree's renderTitle prop made narrower and more accurate.
- Select
options
prop made more accurate
Features
- Add useClickOutside hook [UXDS-7800] (ad7261d)
- convert borderRadiusUtils to TypeScript [UXDS-8113] (26c1bfa)
- Convert Select to typescript [UXDS-7953] (e7dfe76)
- Convert Textarea to typescript [UXDS-7959] (d628dfd)
- Convert TreeNode and CheckboxInput to Typescript [UXDS-7949] (8540f15)
Bug Fixes
- disabled values in multiselect/single select can no longer be deleted [UXDS-7705] (5fd2f1a)
- Mark inputRef props as deprecated in Input, and Radio [UXDS-8105] (1a84a4b)
- Re-rendering and focus fixes for Tabs [UXDS-8114] (f714130)
- TabPane should not pass renderLabel to div [UXDS-8135] (9f60bf0)
Build
9.1.0 (2023-10-20)
Features
Bug Fixes
- Ensure date comparisons in DateRangeInput are comparing mm/dd/yyyy [UXDS-7503] (df68587)
- Portalling components can exist outside of Root [UXDS-8080] (bbd2035)
- Set Checkbox indeterminate property correctly [UXDS-8080] (b73f738)
9.0.0 (2023-10-11)
⚠ BREAKING CHANGES
- Avatar initials are now required [UXDS-7370]
- Typescript type for TabsProps['onTabsChange'] narrowed
Features
- Better support for Avatar initials and image [UXDS-7370] (e7d93fc)
- Convert Tabs to Typescript [UXDS-7648] (faf661a)
- Loader and BlockUi typescript conversion [UXDS-7951] (9fb74c8)
- Multiselect supports groups [UXDS-8075] (8d56e03)
- TabPane converted to Typescript [UXDS-7648] (58e9416)
- Tabs can now have dynamic TabPane elements [UXDS-7648] (03eaf29)
Bug Fixes
- fix fieldset caused misalignment [UXDS-7745] (9225ff0)
- FormError now documented by FormField [UXDS-8075] (9c86589)
- Lightbox buttons support useLink as true [UXDS-8035] (3610082)
- make inline date input demo match standard size [UXDS-7423] (3c48439)
- remove Tabs from Lightbox demo, add Form demo [UXDS-5967] (c448baf)
- Resolve Tooltip style flash [UXDS-8077] (69cdc2f)
- Fix "Alert Types" Toast demo [UXDS-8074] (1b29fb9)
- Update Multiselect demos to encourage options memoization [UXDS-8075] (9822c00)
Build
8.3.0 (2023-09-28)
Features
- Convert RadioButton to typescript [UXDS-7931] (e9a9c37)
- Migrate from PopperJS to Floating ui [UXDS-7826] (38a8e5a)
- RadioButton can clear its value [UXDS-7931] (14e3a01)
- Stepper typescript conversion [UXDS-7930] (791a931)
Bug Fixes
- hideDividers prop should match with description [UXDS-8004] (524491a)
- Remove date-input-icon-z-index [UXDS-7180] (7cf6ff3)
- Restore import order [UXDS-8065] (1eeb58f)
- Set popover z-index to 1000 [UXDS-8036] (e05fe8a)
8.2.1 (2023-09-20)
Bug Fixes
- Tree no longer hangs when modifier keys are pressed [UXDS-8045] (4319c19)
- inline alert children validation removed [UXDS-8041] (32ae244)
8.2.0 (2023-09-18)
Features
- Better shadow DOM support for portals [UXDS-8012] (c360f4c)
- Create Portal component for easy portalling to document.body [UXDS-8012] (e90a610)
- forgeCss.js contains Forge CSS for javascript importing [UXDS-8012] (882e8d6)
Bug Fixes
8.1.0 (2023-09-01)
Features
- Replace dependency react-overlays with restart/ui [UXDS-7902] (26727e3)
- Convert CheckboxButton to typescript [UXDS-7844] (02bf8c0)
Bug Fixes
- MultiField labelText error msg bug fix [UXDS-8000] (4d3ce28)
- ToggleSwitch label margin in narrow form field [UXDS-7799] (6ac0ac7)
- tooltip test timer issue with CSSTransition [UXDS-8033] (cc80dd4)
Build
8.0.1 (2023-08-11)
Bug Fixes
- Resolved DateInput strictParsing runtime error introduced in 8.0.0 [UXDS-7900] (37a265e)
- Forge uses React 18 as a devDependency [UXDS-7900] (219e42f)
- Radio test, while using waitFor cannot switch from real to fake timers [UXDS-7900] (eda7d17)
- RadioGroup test fix: update syntax [UXDS-7900] (66be359)
- ToastManager test fix: update syntax [UXDS-7900] (c64d180)
8.0.0 (2023-08-09)
⚠ BREAKING CHANGES
Features
- Convert LabelButton to Typescript [UXDS-7845] (cbc9338)
- Convert ScreenReaderText to Typescript [UXDS-7898] (d8ec411)
- Input clearable icon has appropriate title [UXDS-7966] (5ccc39e)
Bug Fixes
- Fix for DateInput t-syntax inputs [UXDS-7734] (332bbc3)
- Loader should not take up space when hidden [UXDS-7843] (35357b0)
- Removing fixed height from Signpost media [UXDS-7801] (cc18c8b)
7.0.0 (2023-07-26)
⚠ BREAKING CHANGES
- Form no longer accepts handleSubmit prop [UXDS-7832] (f736a5929be)
- FormFieldLayout is now a generic component [UXDS-7833] (9e63882ddbe)
- Narrow type definitions for RadioGroup [UXDS-7360] (7648cd6a5d6)
Features
- Button will color Close, Expand, and Collapse icons grey [UXDS-7758] (f2f8f7e)
- Added Input as an option to a radio group [UXDS-7360] (142645a)
- Convert Form, GridCol, and GridRow to typescript [UXDS-7832] (f736a59)
- Convert FormFieldLayout to typescript [UXDS-7833] (9e63882)
- Convert MenuTrigger to Typescript [UXDS-7806] (72101df)
- Convert RadioGroup to Typescript [UXDS-7360] (7648cd6)
- Convert ReadOnlyInput to typescript [UXDS-7830] (569dfd8)
- Convert RemovableTag to Typescript [UXDS-7708] (089d984)
- DateInput customInput prop can be overridden [UXDS-7802] (de95a8d)
- Fix findDomNode warnings in Accordion, ProgressIndicator [UXDS-7822] (88556cd)
- Menu demos use @athena/forge-icons [UXDS-7709] (18f9df2)
- MenuTrigger uses @athena/forge-icons [UXDS-7806] (55ca4b9)
- RemovableTag uses @athena/forge-icons [UXDS-7708] (9f83603)
Bug Fixes
- borderRadius pass to whitelisted component [UXDS-7109] (3aedfc0)
- Controlled RadioGroup no longer complains about value as an empty string [UXDS-6275] (0cb887e)
- Remove Icon from Storybook stories [UXDS-7809] (781fd45)
- Replace Icons in tests [UXDS-7805] (4a96c3c)
- Stop icon from shrinking when word-wrapping [UXDS-7899] (62839d9)
- Update icons in demos for Input, Root, Tooltip, Tree [UXDS-7808] (c44001f)
6.2.0 (2023-06-20)
Features
- Input uses @athena/forge-icons [UXDS-7706] (5754c72)
- Button layout is now consistent between variants [UXDS-7609] (d6c2f21)
- Convert FormLegend to Typescript [UXDS-7666] (c4ec721)
- Convert Hidden to Typescript [UXDS-7556] (0e97029)
- DateInput uses @athena/forge-icons [UXDS-7610] (b6463f6)
- Multiselect uses @athena/forge-icons [UXDS-7612] (25d125a)
- Paginator uses @athena/forge-icons [UXDS-7710] (a5ad6ec)
- Popover uses @athena/forge-icons [UXDS-7607] (7fe9362)
- InlineAlert uses @athena/forge-icons [UXDS-7707] (510caba)
Bug Fixes
- DateInput uses filterDate prop for typed dates [UXDS-7785] (0a62ad5)
- fix URL generation in CHANGELOG entries [UXDS-7767] (caa82df)
- Toast fix typo and url [UXDS-5872] (8e63887)
6.1.1 (2023-06-01)
Bug Fixes
- Fix faux-forge-fabricator UXDS-7561 (30da94b)
- @athena/forge/utils files added to package.json exports properly UXDS-7755 (97cdca1)
- Fonts download properly from Nimbus apps EFEA-3197
6.1.0 (2023-05-17)
Features
- DateInput clears value if controlled value is set to null UXDS-7726 (f64d7ec)
- Fix hard-coded aria-labelledby in Multiselect UXDS-7727 (4f1092d)
Build
- Configure git commit message tooling, commitlint and jest-environment-jsdom UXDS-7725 (41ba986)
- Create scripts to auto-generate CHANGELOG.md files UXDS-7671 (fd4e55f)
- Upgrade jest UXDS-7725 (0babfe6)
6.0.0 (2023-5-5)
BREAKING CHANGE:
- Banner prop
onHide
made narrower and more accurate UXDS-7681 - Toast prop
headerText
is now required UXDS-7608
DEPRECATION WARNING:
- Forge has historically supported secondary color values 10, 25, 50, 75 and 100. Forge will eventually support only 10, 40, 70 and 100. At present, all 7 shades are supported in the library, but 25, 50 and 75 will be removed in a future Forge version. Some color names will also be removed (UXDS-7713):
- blue (replaced by jungle)
- teal (replaced by peacock)
- green (replaced by pistachio)
- orange (replaced by coral)
- ruby (replaced by orchid)
Feature:
- StatusTag supports removing background and compact sizing UXDS-6524
- Secondary color shades for StatusTag changed
- Secondary color palette expanded with 2 new shades (40 and 70) for all colors
- Toast uses @athena/forge-icons UXDS-7608
- AccordionItemHeader (part of Accordion) converted to Typescript UXDS-7240
- @athena/forge-icons imports tweaked to reduce bundle size of apps using Forge
- ProgressIndicator converted to Typescript UXDS-7537
- Tiny size added
- ComboButton uses @athena/forge-icons UXDS-7602
- Accordion uses @athena/forge-icons UXDS-7603
- Accordion converted to Typescript
- AccordionItem converted to Typescript
- FormError (Part of FormField) uses @athena/forge-icons UXDS-7604
- Banner uses @athena/forge-icons UXDS-7605
- Modal uses @athena/forge-icons UXDS-7606
- Convert Banner to Typescript UXDS-7681
- A Menu item's clickable region expanded to its full width UXDS-7688
- MenuItem (part of Menu) converted to Typescript.
- Multiselect's
component
prop merges with Forge components instead of replacing UXDS-7714
Internal:
- Upgrade storybook UXDS-7682
5.0.2 (2023-5-2)
Features:
- Increase peerDependency version of @athena/react-scripts to ^5.4.1 UXDS-7713
- Change docker image tag used to publish to Nimbus
5.0.1 (2023-5-1)
Features:
- Increase peerDependency version of @athena/react-scripts UXDS-7696
- Improve automatic releases to Nimbus
5.0.0 (2023-4-21)
BREAKING CHANGE:
- Card converted to Typescript. Types for
headingTag
andonClick
made narrower and more accurate UXDS-7246 - Heading prop
headingTag
made narrower and more accurate UXDS-7246 - Signpost prop
type
removed, as it's had no effect since v3.15.0 UXDS-7550 - EmptyState component made generic for better compatibility with useLink prop on its buttons UXDS-7652
Features:
- Card converted to Typescript UXDS-7246
- InlineMessage converted to Typescript UXDS-7548
- Signpost converted to Typescript UXDS-7550
- StatusTag converted to Typescript UXDS-7539
- Indicator converted to Typescript UXDS-7529
- FormError, part of Form, converted to Typescript UXDS-7668
- Label converted to Typescript UXDS-7528
- Badge converted to Typescript UXDS-7527
- InlineAlert converted to Typescript UXDS-7245
- EmptyState component made generic for better compatibility with useLink prop on its buttons UXDS-7652
- TreeNode, part of Tree, uses @athena/forge-icons UXDS-7599
- Fixed text "wiggling" on Input hover UXDS-7499
- Export all Toast components and utilities UXDS-7475
- Signpost uses @athena/forge-icons UXDS-7601
- Screen Readers announce when Loader is loading UXDS-7549
- Lightbox uses forge-icons UXDS-7600
- Fix Checkbox alignment in Table UXDS-7296
Internal:
4.1.1 (2023-03-07)
Internal:
- Modal and Button uses new title prop from forge-icons UXDS-6923
- use '~' to reference external sass files UXDS-7521
4.1.0 (2023-03-01)
Breaking Changes:
- NumericRangeInput and DateRangeInput runtime API refactored UXDS-7470
- Types for ToggleSwitch props updated UXDS-7239
onBlur
andonChange
made narrower and more accuratechecked
anddefaultChecked
are mutually exclusive
- Type for Paginator prop,
onSelectedIndexChange
, made narrower and more accurate UXDS-7242
Features:
- Convert ToggleSwitch to TS UXDS-7239
- Convert Paginator to TS UXDS-7242
- NumericRangeInput should use Currency Input UXDS-7470
- Dotted underline text styling for Tooltip, from community contribution UXDS-6607
- Increase placement options for Tooltip, from community contribution UXDS-7095
Maintenance:
- Lock Datepicker to 4.8.0 as later version have bugs UXDS-7477
Bugfix:
- Fix colors for new forge icons on Button component UXDS-7387
4.0.0 (2023-02-03)
Breaking changes:
- Conversion of SelectionList to Typescript narrowed the definition for SelectionListProps. There were no changes to the runtime API, but the more accurate types may cause existing builds to fail.
Features:
- Currency type added to Input UXDS-6608
- SelectionList converted to Typescript UXDS-6819
- 2-panel Lightbox support added to Lightbox UXDS-6957
- DefinitelyTyped dependencies associated with runtime libraries moved from devDependencies to dependencies UXDS-7102
- Prop-types improved for DateInput, DateRangeInput, NumericRangeInput
- Typeahead officially supports @athena/forge-icons UXDS-7289
- RootContainerContext added to top-level export UXDS-7407
- Add missing Table interfaces to top-level export UXDS-7436
Bugfix:
- $color-secondary added to forge-abstracts UXDS-5985
- Fix misalignment with ToggleSwitch and its label UXDS-7175
- Fix offset with Multiselect and SingleSelect in the shadow DOM UXDS-7377
Internal:
3.19.1 (2023-01-23)
Bugfix:
- When Renaming NumericRange to NumericRangeInput, the Components are Vertically Stacked PR#1294
3.19.0 (2023-01-20)
Features:
- Remove temp Multiselect / Singleselect shadowDOM fix PR#1281
- Update button to accept new @athena/forge-icons PR#1274
- Convert EmptyState to TypeScript PR#1294
- Rename DateRange component to DateRangeInput PR#1297
- New NumericRange component from community contribution PR#1280
- Rename NumericRange component to NumericRangeInput PR#1307
- Fix DateInput by making useFocusLost shadow-dom aware PR#1301
Bugfix:
- Fix EmptyState not working in Storybook PR#1294
Maintenance:
- Fix DateInput test to make all builds working again PR#1291
Internal:
3.18.5 (2022-12-09)
Feature:
- Convert ListItem to TypeScriptPR#1262
- Convert List to TypeScriptPR#1264
- New DateRange component from community contribution PR#1267
Bugfix:
- Paginator onBlur stop overreact after click "Jump to"PR#1255
- Update GridCol to fix accessibility PR#1260
- DateInput fully compatible with shadow DOM PR#1263
- Fix SingleSelect menu dropdown z-index and temporary fix for Multiselect shadow DOM compatibilityPR#1277
3.18.4 (2022-11-09)
Feature:
- Convert Button to TypeScript PR#1249
- Convert Modal to TypeScript PR#1247
- Convert ShowHide to TypeScript PR#1254
3.18.3 (2022-10-28)
Feature:
- Make Multiselect and SingleSelect compatible with ShadowDOM PR#1230
Internal:
- Update ESLint ignore rules to free Jenkins build from randomly stalled. PR#1250
- Extra debug information for eslint.
- Removing prettier from eslint and adding it to git commit.
- Infrastructure to easily replicate issues that must be run on Jenkins' Linux container.
3.18.2 (2022-10-24)
Bugfix:
- Refactoring sass list-to-string misalignment between node-sass and dart-sassPR#1245
3.18.1 (2022-10-20)
- version bump to use forge-shared v1.1.2 PR#1243
3.18.0 (2022-10-17)
Feature:
- convert multiselect and singleselect to ts PR#1224
- Toast is compatible with the shadowDOM. PR#1228
- Root has been converted to Typescript.
- Several components using react-overlays made compatible with the shadowDOM PR#1231
- Lightbox
- Modal
- Tooltip
- convert radio to ts PR#1236
- Make Tooltip Compatible with ShadowDOM PR#1238
- Make Typeahead compatible with ShadowDOM PR#1240
- Input uses new icons PR#1235
Maintenance:
- Update code to remove Dart Sass 2.0.0 deprecation warnings PR#1229
Bugfix:
- Fix Popover event listener triggers callback when pressing Escape even if it's already closed PR#1232
- avoid import from root for components PR#1241
3.17.6 (2022-9-19)
Feature:
Bugfix:
- Add return keyword when sorting by string to Table PR#1221
- Re-add @import 'theme' for Nimbus not theming Forge PR#1226
3.17.5 (2022-8-29)
Feature:
- Turn Overlay into Typescript PR#1215
Bugfix:
- Add @athena/forge/dist/ComponentName entries to package.json exports PR#1216
- If a Tree is rendered in a Lightbox then the checkboxes don't scroll correctly PR#1217
Internal:
- Remove @storybook/addon-actions to better support @athena/forge-ladle PR#1210
3.17.4 (2022-8-18)
Bugfix:
- Use flex-start instead of start due to better compatibility PR#1213
- Export sass partials without .scss in entry key PR#1212
- Optional peerDependencies are excluded from Nimbus build nimbus-api #109
3.17.3 (2022-8-15)
Bugfix:
- Fix $font-location PR#1209
3.17.2 (2022-8-12)
Bugfix:
- Add fonts to package.json exports PR#1208
3.17.1 (2022-8-12)
Bugfix:
- Add scss files to package.json exports PR#1207
3.17.0 (2022-8-11)
Feature:
- Turn Input into Typescript and add a Clear icon option to the right side PR#1194
Bugfix:
- Banner with no Close Icon needs additional padding on right edge PR#1199
- Weird alignment of multifield components PR#1198
- RadioButton border radius fix PR#1193
- DatePicker z-index issue in form demo PR#1192
Internal:
- Rename almost every file in forge. packages => @athena. Each package within @athena uses its actual package name instead of a simplified version PR#1196
3.16.9 (2022-7-14)
Internal:
3.16.8 (2022-7-7)
Feature:
- Resolve Button XSS vulnerability PR#1167
- Remove role="row" from GridRow to fix accessibility PR#1169
- @athena/forge-shared can now correctly be categorized as a dependency PR#1178
Bugfix:
Internal:
3.16.7 (2022-6-16)
Bugfix:
3.16.6 (2022-6-6)
Bugfix:
- Move @babel/runtime to be a regular dependency PR#1160
3.16.5 (2022-6-3)
Feature:
- Provide guidance for what version of @athena/forge-shared needs to be installed for Nimbus apps by adding @athena/forge-shared as a peerDependency PR#1159
3.16.4 (2022-6-3)
Feature:
- Provide guidance for what version of @athena/react-scripts need to be installed for Nimbus apps by adding @athena/react-scripts as an optional peerDependency PR#1154
Bugfix:
- Move @athena/forge-shared to devDependencies, pending resolution of EFEA-1895 PR#1157
3.16.3 (2022-5-26)
Bugfix:
- Nimbus requires explicit version dependencies when that dependency exists on Nimbus PR#1152
3.16.2 (2022-5-25)
Bugfix:
- DateInput calendar appears above lightbox (v3.7 regression) PR#1147, PR#1150
- MMDDYYY support for DateInput PR#1144
- Missing Sass files in package PR#1149
3.16.1 (2022-5-23)
Bugfix:
- Babel now adds react imports to all React components PR#1142
Internal:
- Convert DateInput and Root to typescript PR#1143
- Upgrade compute instance to have 16gb of memory, fix gatsby broken link type and fix jenkins archived deployment step PR#1142
3.16.0 (2022-5-11)
Breaking Change:
- Replace node-sass with sass, a Node.js distribution of dart-sass PR#1109
Feature:
Internal:
- Forge mono repo refactor PR#1129, PR#1132, PR#1115, PR#1123, PR#1121, PR#1117
- Last storybook refactor PR#1116
- Fix publish PR#1138
Documentation:
3.15.3 (2022-4-20)
Hotfix:
- Add renderTitle prop to TabPane PR#1116
3.15.2 (2022-4-6)
Feature:
- Fix bug where Multiselect closes every time the user makes a selection PR#1100
Internal:
- Create DNS record for our backend APIs PR#1005
- Allow Content to mark component pages as deprecated PR#1106
- Storybook: InlineAlert, InlineMessage, Menu, MenuTrigger, ReadOnlyInput PR#1104
- Storybook: FormError, FormFieldLayout, FormLegend, InteractiveList, Label, typography PR#1110
- Disable SSO for archived pages PR#1102
3.15.1 (2022-3-30)
Feature:
- Fix bug where Multiselect closes every time the user makes a selection PR#1100
3.15.0 (2022-3-25)
Feature:
-
UI for Desirability Score: PR#1079 PR#1086 PR#1082 PR#1079 PR#1077 PR#1075 PR#1069
-
Compile tokens to less for athenaNet PR#1090
-
Color Update, Forge components use new colors PR#1091
-
Actually turn on Design Score for real in master branch PR#1099
-
Update forge 3 colors - PR#1068
Documentation:
- Update Signpost Demo. Make Signpost PropTypes more accurate PR#1073
- Replace "athenahealth" logo in guide header with "athenahealth | design system" logo - PR#1080
Internal:
-
Prod and Dev connections for Backend Forge Guide PR#1095
-
Add pagination handling to Drupal results PR#1087
3.14.8 (2022-3-18)
Feature:
- Turn on Design Score PR#1081
3.14.7 (2022-3-3)
Hotfix:
- Add Table autosort typescript prop PR#1083
3.14.6 (2022-2-28)
- Support Table sort for complex types. Add Table.autoSort prop PR#1072
3.14.5 (2022-2-25)
Bugfix:
- Fix DateInput t+ incompatibility with minDate PR#1070
Internal:
3.14.4 (2022-2-07)
Improvements:
- Improve Tree.renderTitle typescript definition PR#1061
Maintenance:
- Fix reported vulnerability in nanoid PR#1060
Bugfix:
- Fix crash for asynchronous Multiselect PR#1063
Documentation:
- Update import guidance for all components PR#1035
Internal:
- Lay groundwork for Single Signon (SSO) PR#1059
- Add cypress tests for guide PR#1055
- Apply tsconfig and eslint rules to Gatsby PR#1056
- Make sure visual anatomy section still displays in guide PR#1062
3.14.3 (2022-1-24)
Hotfix:
- Correct typo found in FormField typings PR#1058
3.14.2 (2022-1-13)
Feature:
- Forge Guide pages should have meta Page Titles PR#1051
Bugfix:
- Console error with EmptyState PR#1042
Internal:
- Restore babel preset configurations. Restore browserslist. PR#1052
- Fix Forge exports for relative paths and css PR#1047
- Restore babel to build Forge in order to have more control over *.js output PR#1044
- Fix Gatsby build issues PR#1043
- Modal storybook PR#1038
- Select, ShowHide, SingleSelect storybooks PR#1037
- ProgressIndicator RadioButton RadioGroup storybooks PR#1045
- Fix source mapping issues PR#1039
- Fix publishing issues PR#1040, PR#1041
- LabeButton, List, & Lightbox storybook refactor PR#1011
- Remove lodash dependencies PR#1021
- Replace mocha with jest PR#1029
- Multifield, Multiselect, Popover storybook refactor PR#1020
- Replace build with tsc PR#P1027
- Standardize jenkins node versions PR#1023
- Popover storybook refactor PR#1028
- Card regression fix PR#1034
- First typescript component (Avatar) PR#1032
3.14.1 (2021-12-16)
Bugfix:
- Revert @types/react peer dependency change from v3.14.0 PR#1031
3.14.0 (2021-12-10)
Bugfix:
- DateInput will no longer close the calendar if you hold the mouse down too long. Export useFocusLost hook. PR#1018, PR#1026
- ComboButton forwards className correctly. PR#1010
- ComboButton forwards refs for its buttons correctly. PR#1016
- Export more Typescript types related to Typeahead. PR#1012
- Respect className prop for a LabelButton used within a ComboButton. PR#1010
- Fix ref types for ToggleSwitch, TextArea and Root. Require children for Tooltop. Export prop types from the root of the project that got overlooked. PR#1003
- Improve types for Input.inputRef, FormField.defaultValue. PR#1013
- Fix EmptyState spacing. PR#1017
- Export more typescript types from Typeahead. PR#1012
Internal:
- GridCol, GridRow, Icon, Input storybook refactors. PR#1013
- Loader storybook refactor. PR#1014
- Fix Typescript error with ComboButton's storybook. PR#1019
- Partially upgrade Jenkins to node v16. PR#1022
- Omit style from Input storybook to avoid a csstype incompatibility. PR#1024
3.13.0 (2021-11-17)
Feature:
Bugfix:
Internal:
- Paginator, Toast, Root, Hidden storybook refactors PR#982
- Heading, Signpost, Tabs storybook refactors PR#997
- Form and Formfield storybook refactors PR#1000
3.12.4 (2021-11-12)
Bugfix:
- Fix EmptyState SVG references PR#1006
3.12.3 (2021-11-10)
Bugfix:
- Fix EmptyState exports PR#1004
3.12.2 (2021-10-26)
Features:
- Empty State component Demos, including storybook. Prop type 'preset' now changed to 'type' PR#981
- Empty State component with more specific Prop Types PR#983
3.12.1 (2021-10-19)
Bugfixes:
- Fix types and upgrade react-select PR#976
Internal:
- Build fix PR#985
3.12.0 (2021-10-12)
Features:
- DateInput added back to Storybook PR#953
- Development branch builds are now scheduled and Jenkins is notified with successes/failures PR#961
- DateInput now a functional component PR#967
- Badge, Indicator, RemovableTag storybook refactor PR#965
- DateInput tests cleaned up PR#966
- Accordion, Button, Card, Checkbox, CheckboxButton, ComboButton storybook refactor PR#972
- Empty State component PR#971
Bugfixes:
- Loader no longer throws an error upon scroll when
fixedCenter
prop is true, and the Loader is hidden PR#956. - Accordion alignment fix PR#962
- Fix DateInput Popper CSS margin warning PR#968
- Fix DateInput disabled hover icon PR#969
3.11.0 (2021-9-20)
Bugfixes:
- Fix multiselect duplicate ids bug and upgrade react-select to v5 PR#944
- Ability to disable portal when scrolling inside a div using overflow PR#951
- Fixed build issue PR#963
- Getting DateInput storybook to work PR#953
3.10.0 (2021-9-13)
Improvements:
- Ability to pass react elements/html into Checkbox description PR#938
Bugfixes:
- Updated FormField inputRef propType to accept null as valid PR#941
3.9.0 (2021-8-31)
Improvements:
- Added Drag icon PR#929
- Updated tree component to trigger the onNodeToggle callback when uncontrolled. PR#921
- Adding a security scan to Jenkins. PR#923
Bugfixes:
- Tooltip should not require "target" prop PR#922
3.8.2 (2021-8-3)
Bugfixes:
- Fixed recursive type definition of TreeNode.children. PR#909
- Bold font-weight (700) now applies to
strong
andb
tags instead of the semibold font-weight (600) PR#905
3.8.1 (2021-6-17)
Improvements:
- Updated Button type to FC component PR#858
3.8.0 (2021-6-2)
Improvements:
- Toast now uses updated version of react-transition-group with refs PR#855
Bugfixes:
- Refactor controllable state to resolve React 17 issues PR#854
- Brought in and refactored abandoned open source react-block-ui dependency in the Loader component to resolve React 17 issue. No more componentWillReceiveProps console warnings. PR#859
3.7.0 (2021-5-12)
Improvements:
Bugfixes:
- ModalManager should not be re-instantiated every time Root is re-rendered and prevent page from scrolling PR#842
- Fixed DateInput keyboard navigation and focus trap PR#848
3.6.2 (2021-4-26)
Bugfixes:
- Include Popover in index.d.ts and correct Popovers
targetRef
typing to accept refs PR#818 - Typescript allow valid children to be passed into Tooltip PR#825
- Fix missing typescript properties for date input PR#822
- Fix faulty logic causing propType to always throw error in loading spinnerPR#827
- Add progressbar role to loader PR#823
3.6.1 (2021-4-22)
- Fixed CHANGELOG entry PR#831
3.6.0 (2021-4-12)
Bugfixes:
- Fix TypeScript error for valid propTypes in Multiselect and DateInput
defaultValue
prop PR#808
Improvements:
- Typeahead Sections PR#805
3.5.0 (2021-3-22)
Bugfixes:
- Pass ID in events for SelectionList, ToggleSwitch, and Typeahead PR#787
- Select Typescript Overload Error PR#777
- Fixed hover state of button icon PR#758
- Fixed tertiary button underline to only appear on hover PR#756
- Fixed Typescript ref issue PR#761
- Eliminated duplicate DateInput events PR#776
- Toast stays visible on scroll PR#781
- Fixed type error in Button showLoadingSpinner prop PR#779
- Fixed LabelButton TypeScript types to reflect props PR#794
Improvements:
3.4.4 (2021-1-19)
Bugfixes:
- Fixed issue where window was being referenced before becoming available in server-side frameworks PR#754
- Fixed tab collapsing resize issue PR#752
3.4.3 (2021-1-11)
Bugfixes:
- Allow MultiFieldField passthrough props in TypeScript + rename Index.d.ts > index.d.ts PR#749
3.4.2 (2021-1-7)
Bugfixes:
- Fixed TypeScript errors PR#746
3.4.1 (2020-12-29)
Hotfix:
- RadioButton Jest unit tests passes, and the onChange handler is triggered when pressed. PR#745
Bugfixes:
- Fixed TypeScript errors PR#738
Improvements:
3.4.0 (2020-12-22)
Bugfixes:
- Added and fixed component TypeScript definitions PR#727
- Provide indexing for onchange events PR#731
- Fixed several TypeScript errors PR#730
- Provide indexing for onchange events PR#731
- Resolved DateInput warning after typing a month followed by a dash PR#732
Improvements:
- New RadioButton component PR#713
- New Popover component PR#728
- Updated secondary color palette PR#725
3.3.0 (2020-12-11)
Bugfixes:
Improvements:
3.2.1 (2020-11-24)
Bugfixes:
- Fixed issue where tabs would randomly collapse when resizing the browser window PR#711
- Fixed DOMException caused by root element having no classes PR#709
3.2.0 (2020-11-17)
Improvements:
- Added `isClearable prop to Multiselect and SingleSelect PR#596
- Added showLoadingSpinner to Button PR#678
- Added large formLayout support for Form, FormField, Checkbox, Input, Radio, and RadioGroup PR#578
- New Indicator component PR#694
- New Badge component PR#679
- New Hidden component PR#686
- New Menu component PR#702
- New SingleSelect component PR#581
- Added color prop to the Statustag component PR#696
Bugfixes:
- Refactored conditional logic for showing required text in FormField Labels to be more consistent PR#692
- Refactored Accordion's use of button element to fix HTML validation error PR#691
- Removed overly restrictive propType checks from Button PR#695
- Fix aria-label to apply properly on Paginator and Button PR#690
- Downgrade nanoid to resolve CRA 3 issue PR#701
- New Signpost component PR#675
3.1.3 (2020-10-20)
Bugfixes:
- A fix for DateInput rootclasses and z-index style of Typeahead Portals when used inside a lightbox PR#683
3.1.2 (2020-10-19)
Improvements:
- New Avatar component PR#674
Bugfixes:
- A fix for styling issues for DateInput and Single/Multiselect components within Portals when deployed in athenanet PR#681
3.1.1 (2020-10-07)
Improvements:
- The Accordion header now allows any React component as a sub-component PR#669
- Added various icons including Add-Appointment, Attachment, ArrowUp, ArrowDown, Hide, Home, etc. For a full list see PR#668
- Added the appropriate aria roles for a dropdown to the multiselect component so it can be tested in react testing library PR#663
Bugfixes:
- Patched bug in react-overlays to ensure overlay dialog does not have aria-hidden attribute #666
- Bugfix for intermittent DateInput selection issue #665
3.1.0 (2020-9-23)
Improvements:
- Added refresh icon PR#658
- Aria label is provided when a button uses an icon but has no text PR#660
- Child props are now optional when using typescript for Checkbox and Overlay PR#655
- Added missing typescript definitions PR#652
- Added super-compact mode PR#651
- Large Layout sizes for additional inputs PR#635
Bugfixes:
- Unclosed parenthesis does not invalidate regex PR#654
- Multiselect options are now normalized to avoid issues when uncontrolled components are used PR#656
3.0.3 (2020-8-28)
Improvements:
- Added Multiselect onChange type to typescript interface PR#626
- Tooltip appears in the correct place when the page loads with showTip set to true #627
- ReadOnlyInput with newlines or wrapped text appears correctly #628
- Tooltip always appears on screen #630
- Close button for Banner has aria-label #631
- Tests added to DateInput #633
Bugfix:
- Fixed prop type warning appearing for valid inputAs in FormField PR#634
- DateInput using t+1 feature with Enter key displays the correct date PR#632
3.0.2 (2020-7-23)
Bugfix:
- Fix additional prop type errors PR#624
3.0.1 (2020-7-22)
Bugfix:
- Prop type for forwardRef no longer HTMLInput on DateInput PR#622
3.0.0 - 7/21/2020
Here's what we've changed since the last release (3.0.0-beta.6):
There was a Hotfix (3.0.0-beta.6.1) which handled DateInput throwing an error when selecting a date via mouse PR#614
Bugfixes:
- A fix for text entry into DateInput, and resolves focus issues PR#617
- Multiselect options menu is now not clipped by containers, and tests for Multiselect updated to use Jest with react-test-library PR#618
Improvements:
- Button active transition set to 0 seconds (helps with mobile) #612
- Added refs for all form elements and the root element, includes tests, types and stories #616
3.0.0-beta.6 - 6/30/2020
Here's what we've changed since the last release (3.0.0-beta.5):
Breaking Change:
- Multiselect now returns an Event to its onChange handler. PR#604
Bugfixes:
- The Stepper component's "Completed Steps" no longer misaligns when its parent div's text-align attribute is "center" PR#595
- Typescript Mistypings: fix import path to use relative imports in d.ts files, remove ForgePropTypes references in d.ts files, fix type to match InputHTMLAttributes, remove redundant type declarations PR#591
- Addressed missing StepperProps export in index file. PR#602
- DateInput Calendar now appears on top of Loader, Lightbox. PR#601
- Fixed focusing issues in Multiselect. Deselecting a selected item by clicking its 'X' no longer closes and opens Mutliselect dropdown menu. PR#603
Improvements:
- add isClearable prop to multiselect and singleselect PR#596
- allow props to be passed in via the rest operator (...rest) in TypeScript projects PR#597
- Toast component uses ellipsis when the title string becomes too lengthy. Mouse over the text and see its full text displayed via title attribute. PR#598
- SelectionList to look for displayname instead of type (PR#600)[https://bitbucket.athenahealth.com/projects/UXDS/repos/forge/pull-requests/600]
- Enables react/prop-types ESLint rule to assure propTypes are documented PR#599
3.0.0-beta.5 - 6/4/2020
Here's what we've changed since the last release (3.0.0-beta.4):
Bugfixes:
- Fixed DatePicker passing invalid prop and causing warning.
- Fixed Root classes not appearing on Modal, Lightbox, and Tooltip
Improvements:
- Enabled customizing the FormField label by allowing JSX
3.0.0-beta.4 - 5/27/2020
Here's what we've changed since the last release (3.0.0-beta.3):
Improvements:
- New large value for layout property of forms allow for larger mobile friendly inputs
- New SingleSelect component for customizable select dropdowns
3.0.0-beta.3 - 4/09/2020
Here's what we've changed since the last release (3.0.0-beta.2):
Improvements:
- Typeahead suggestions dropdown now displays above content and outside any containing element.
Bugfixes:
-
Changed how we are setting the border width on tertiary button text to work around a bug in create react app's css minimization that was adding blue bars after a production build.
-
DateInput t shortcut now triggers onChange handler. Entering an improperly formatted date does not reset field.
Documentation:
- Restructured and clarified documentation around From design and compactness
- Small content styling fixes
3.0.0-beta.2 - 3/18/2020
Here's what we've changed since the last release (3.0.0-beta.1):
Improvements:
- Added prettier config and ran on all files to improve code consistency.
Bugfixes:
-
Button text now centered when button width is set.
-
Removed manager type from Lightbox and Overlay TypeScript definitions as it is provided by a wrapper.
3.0.0-beta.1 - 2/26/2020
Here's what we've changed since the last release (3.0.0-beta.0):
Improvements:
- Heading font family is now configurable * Added the $heading-font-family sass variable to be able to set the font family in a Sass theme
Bugfixes:
- Removed TS module declarations to allow for proper named imports in TypeScript
3.0.0-beta.0 - 2/12/2020
Breaking Changes:
-
Typescript support is now included! If you're using
forge-types
, you can now remove that dependency. -
BannerItem now passes props to the root
<div>
element instead of swallowing them. -
ToggleSwitch now passes props to the native
<button>
element instead of the root<div>
.
Improvements:
-
Typescript Support _ Components found on the Forge website now have native typings. If you are using
forge-types
with Forge 3, you can stop using this now. _ During this first pass, we aimed to be "as good or better" than the types originally defined inforge-types
. In the future, we plan to improve these types and expand typings to internal Forge components. -
TabPane and Tooltip are more flexible _ TabPane now requires you pass a node instead of a string to the
label
prop. Note: a string is a type of node, so strings still work. _ Tooltip now requires you pass a node instead of a string to thetext
prop. An example implementation has been added to Storybook. Note: a string is a type of node, so strings still work.
Bugfixes:
- Fixed an issue with Textarea hover transitions causing a jitter in some browsers.
Maintenance:
- Auto-detecting React version in eslint config.
3.0.0-alpha.9 - 1/16/2019
Here's what we've changed since the last release (3.0.0-alpha.8):
Breaking Changes:
⚠️ Many component styles have been refactored to lower CSS specificity, making Forge easier to customize. We recommend you check any custom styles you have written to override Forge styles, or if you have used Forge Sass dollar variables (e.g., $global-border-shadow
) directly.
"fe_f_typography"
and"fe_f_normalize"
classes no longer exist, and their styles have been rolled into"fe_f_all"
. Instead, use the Root component or add the class"fe_f_all"
to a wrapper at the top level of your page or app.
⚠️ Many component APIs have been altered. Check the list below to see if a component you are using has been affected:
-
Banner * A
"tertiary"
Button is now rendered for the close button instead of an IconButton. -
Button _ The
"tertiary"
variant
has been restyled to look and act like IconButton, which has now been removed from Forge. _sizing
has been renamedsize
to align with other component APIs. It accepts"tiny"
,"small"
,"medium"
(default), or"large"
. _ Removed undocumented alert color classes. _ (Non-Breaking) Button withicon
is now supported by both"medium"
and"large"
Button sizes. _ (Non-Breaking) Button has two new props -useLink
andhref
. _ SetuseLink
totrue
and provide anhref
value to render Button as an<a>
element, which is better for accessibility if your Button sends the user to another page of context. * If your Button is used to perform an action on the current page, leavehref
blank and setuseLink
to false (default) to render a<button>
element. -
Card * A
"tertiary"
Button is now rendered for the close button instead of an IconButton. -
Checkbox *
id
is now a required prop, and is sent to the underlying<input>
instead of the root<span>
. -
DateInput *
"tertiary"
Buttons are now rendered for the navigation of calendar months instead of IconButtons. -
IconButton * IconButton has been removed! Use Button instead, with the
variant
prop set to"tertiary"
. It looks and works the same as IconButton, with a few new features (like the ability to render it as a<button>
element or an<a>
element without influencing the way the Button looks). -
Form _
nested
now defaults totrue
. _compact
has been changed tolayout
to align with other component APIs. Accepted values are now"medium"
(default) and"compact"
. -
FormField _
id
is now a required prop, and is used to populate thename
attribute if it is not provided. _inputAs
no longer acceptsMultiField
as a value. Instead, use theMultiField
component directly (it now supports side labels and all FormField functionality). _compact
has been changed tolayout
to align with other component APIs. Accepted values are now"medium"
and"compact"
. Setting this FormField prop inside a Form will override the Formlayout
value. _onHintTextChange
andonErrorChange
props have been removed. -
FormFieldLayout (supporting component - see Form component for guidance) *
compact
has been changed tolayout
to align with other component APIs. Accepted values are now"medium"
and"compact"
. -
InlineMessage (a supporting component used for hint text) * (Non-Breaking) The prop
disabled
has been added. This adds the"fe_is-disabled"
state class and colors the text using the semantic disabled text color. -
Label (a supporting component used for FormField and MultiField labels) * (Non-Breaking) The prop
disabled
has been added. This adds the"fe_is-disabled"
state class and colors the text using the semantic disabled text color. -
Lightbox _
headerText
is now a required prop, and will be used as a screen reader label for the dialog unless thearia-label
prop is provided. _ A"tertiary"
Button is now rendered for the close button instead of an IconButton. * (Non-breaking) The proparia-label
has been added. This is used to provide a screen reader label for the dialog. If not provided, theheaderText
prop will be used to label the dialog. -
Modal _
headerText
is now a required prop. _ A"tertiary"
Button is now rendered for the close button instead of an IconButton. -
MultiField _
id
is now a required key for each field object provided to thefields
prop. _name
keys for each field object in thefields
prop will be populated using the value of theid
key, ifname
is not provided. _compact
has been changed tolayout
to align with other component APIs. Accepted values are now"medium"
and"compact"
. Setting this MultiField prop inside a Form will override the Formlayout
value. _onHintTextChange
andonErrorChange
props have been removed from the top level of MultiField, and also removed as supported keys of thefields
prop. -
Paginator *
pageInputId
is now required ifdisplayMode
is set to"withPageJump"
. -
ProgressIndicator * The
size
default value"default"
has been renamed"medium"
.size
now accepts"medium"
or"small"
. -
Radio _
id
is now a required prop, and will be used to populatename
if it is not provided. _ Note that these props will be generated from theid
prop ofRadioGroup
if theoptions
prop is set to an array (instead of leaving theoptions
prop blank and providing child Radio components). -
RadioGroup _
id
is now used to populatename
if noname
prop is provided. _ If you are specifying options using theoptions
prop, the RadioGroupid
is used to generate unique Radioid
values with the format"[id]-option-[number]"
. -
ReadOnlyInput _ The
id
prop has been removed. You can still pass anid
attribute to the root<div>
through...rest
. _ (Non-Breaking) The propdisabled
has been added. This adds the"fe_is-disabled"
state class and colors the text using the semantic disabled text color. -
RemovableTag _ The default for the
size
prop has changed from"default"
to"medium"
. Accepted values are now"small"
and"medium"
. _ (Non_breaking) The propdisabled
has been added. Settingdisabled
totrue
adds a"fe_is-disabled"
state class and removes the X button. -
SelectionList _
id
is now passed to the root<fieldset>
element. _ If you are specifying items using theoptions
prop, the SelectionListid
(if provided) will be used to generate unique SelectionListItemid
values with the format"[id]-[optionValue]"
. If noid
is provided to SelectionList, the option'svalue
key will be used as the id, so provided values must be unique. -
SelectionListItem *
uniqueKey
is now used as theid
for the included Checkbox component, and is used to generate anid
attribute with the format"[uniqueKey]-description"
for the item description. -
Table * The default for the
layout
prop has changed from"default"
to"medium"
. Accepted values are now"compact"
and"medium"
. -
Toast * A
"tertiary"
Button is now rendered for the close button instead of an IconButton. -
ToggleSwitch _ The
descriptions
prop now requires a value for the keyid
. _ The default for thesize
prop has changed from"default"
to"medium"
. Accepted values are now"medium"
and"large"
. -
Tooltip *
id
is now a required prop. -
Typography utilities * Removed
".fe_u_color--attention
" typography utility class, since the yellow text did not have high enough contrast on most backgrounds.
Improvements:
-
Button with
icon
is now supported by both"medium"
and"large"
Button sizes. -
InlineMessage (a supporting component used for hint text), Label, and ReadOnlyInput now accept a
disabled
prop. Settingdisabled
totrue
adds a"fe_is-disabled"
state class and gives the text a disabled text color. -
RemovableTag now accepts a
disabled
prop. Settingdisabled
totrue
adds a"fe_is-disabled"
state class and removes the X button. -
Lightbox now has an
aria-label
prop. This is used to provide a screen reader label for the dialog. If not provided, theheaderText
prop will be used to label the dialog. -
Increased usage of Sass variables and added more global constants, making it easier to restyle if you compile your own CSS.
-
Checkbox, Form, FormField, Lightbox, and MultiField have been converted from React class components to React functional components.
Bugfixes:
-
Fixed an issue where
<em>
elements were not displaying italicized text. Thanks for reporting, Tiffany Lo! -
Fixed a DateInput bug which allowed an autocomplete prompt to appear in some browsers. Thanks for reporting, Rysard Kilarski!
-
Icon's
disabled
proptype incorrectly expected a string instead of a boolean, which has been fixed. -
Fixed accessibility issue in Lightbox preventing the header text from providing an aria-label for the dialog.
-
Setting a SelectionList
disabled
prop totrue
now passes thatdisabled
value to all child SelectionListItems.
Maintenance:
-
CSS normalize rules for unsupported browsers have been removed.
-
Changes to shared types _ Created a new shared type called
headingTags
which is now used by all components that acceptheadingTag
as a prop. _ Removedsizes
as a shared type, since its values weren't consistent enough across components. -
Created many props combination stories for visual regression testing of form element components in Storybook.
-
Updated our stylelint settings to enforce low specificity, variable usage, and more best practices.
-
Added a script allowing us to generate statistics about our CSS.
3.0.0-alpha.8 - 11/19/2019
Here's what we've changed since the last release (3.0.0-alpha.7):
Breaking Changes:
- The 'xsmall' font size primitive has been changed from 10px to 12px.
Improvements:
-
State classes have been added to all form element components as the first step of an effort to reduce the specificity of Forge's styles.
-
The :link pseudoclass has been added to Forge's link styling to help prevent athenaNet styles from leaking through.
Maintenance:
-
Jenkins builds now use the latest version of node.
-
Forge Storybook deployments to S3 buckets have been updated to work with future major version upgrades.
Bugfixes:
-
An issue with Modal and Lightbox background overlays not appearing has been fixed.
-
A styling issue with required standalone Checkboxes has been fixed.
Documentation:
-
HTML API tables have been removed from component pages on Forge Guide. If you'd like to see the rendered HTML or CSS classes, we recommend that you use your dev tools web inspector.
-
The FAQ has been updated with details about why Redux Form validation features were removed from Forge and a link to our separate Redux-enabled package, forge-redux-form.
-
We did some guidance cleanup to remove references to deprecated items, such as the IconButton component.
3.0.0-alpha.7 - 10/30/2019
Here's what we've changed since the last release (3.0.0-alpha.6):
Breaking Changes:
-
xlarge
semantic spacing constant has changed * The xlarge margin and padding constant has changed from 48px to 40px. -
inputWidth
has been removed * The 'inputWidth' prop, which was deprecated in Forge 2.2.0, has now been removed. Use a CSS class to set custom input widths instead.
Improvements:
- Input's
type
prop now accepts"time"
. * Note that Forge has not done any specific design or development around this type usage, so styles and behavior may vary between browsers.
Bugfixes:
- An issue with DateInput's calendar icon's z-index has been fixed.
3.0.0-alpha.6 - 10/23/2019
Here's what we've changed since the last release (3.0.0-alpha.5):
Breaking Changes:
- DateInput has been refactored
- We've replaced the underlying third-party DateInput we're using and some props have changed because of that.
- Behavior of the component is the same with some very minor differences (e.g., how athena's "t" shortcut is handled).
- We are no longer using the Moment.js library to manage dates - it has been replaced with the lighter-weight date-fns library.
- For a full list of changes, see the Forge 3 upgrade guide.
Improvements:
- As a first step towards adding Typescript support, we've added definitions for Button, ProgressIndicator, Root, Toast, and ToggleSwitch. The rest of the components will be supported soon.
- Toast, ToggleSwitch, and ProgressIndicator components have been brought into the main Forge library. They no longer need to be installed separately. The external component repos will still exist for products who haven't yet upgraded to Forge 3.
- The Moment.js library has been removed from Forge and Forge Guide. We will be using date-fns as a replacement going forward.
Bugfixes:
- Screen readers will now announce when a Multiselect field is required.
- Hint text under a Select component within a FormField now gets the proper amount of margin below.
Documentation:
- Removed the writing advice from the Content Style Guide and added parts of it (where needed) to the Writing Product Copy guidance. The Content Style Guide now focuses only on formatting and style. (One exception: The Writing for Consumers section still lives in the style guide. This may be moved in the future but we haven't figured out its proper home yet.)
3.0.0-alpha.5 - 10/09/2019
Here's what we've changed since the last release (3.0.0-alpha.4):
Breaking Changes:
-
Multiselect's API has changed
- Multiselect now supports asynchronous retrieval of the dropdown option list. Previously, you needed to use the MultiselectAsync (RC) component for this.
- Many props have been added, removed, or altered. Check the Multiselect props documentation on Forge Guide or the Forge 3 Upgrade Guide for information.
- Multiselect now uses react-select v3 (upgraded from v2) and renders the Async component at the root instead of Select.
-
MultiselectAsync has been combined with Multiselect
- You can no longer use MultiselectAsync with Forge 3. This component has been removed.
- The asynchronous option list handling is now a feature in Multiselect.
Bugfixes:
-
Broken links to the IconBase source code within Forge Guide have been updated.
-
Checkbox's
validateRequired
method has been exported to resolve a build issue in the forge-redux-form package.
Documentation:
- Many small cleanups and edits were made to the Product Copy guidance page on Forge Guide.
3.0.0-alpha.4 - 09/25/2019
Here's what we've changed since the last release (3.0.0-alpha.3):
Breaking Changes:
-
To use Forge 3, you will need to have react and react-dom version 16.9 or higher installed.
-
Dependencies
dom-helpers
,react-overlays
, andreact-transition-group
were updated at least 1 major version. If you use features of these packages not mentioned in the Forge API, we recommend testing.
Improvements:
-
RadioGroup now allows options to be specified as Radio element children.
-
Radio now allows children, allowing for complex content in their labels.
Bug fixes:
-
The issue with some markup and demos not rendering in Forge 3 Guide has been resolved.
-
ReduxMultiField's
nested
prop now applies the correct class when used inside of a React Context. -
DateInput now correctly converts numbers to strings in the month and date Select menus.
Maintenance:
-
All dependencies and dev dependencies now accept minor version increments.
-
The
validate.js
dependency has been removed from Forge. -
Many dev dependencies versions have been updated, including some major version updates.
Documentation:
-
Voice and tone guidance has been added to the "Writing Product Copy" Guidelines page on Forge Guide.
-
More detail about Bitbucket permissions added to the "Getting Started" page on Forge Guide.
3.0.0-alpha.3 - 09/10/2019
Here's what we've changed since the last release (3.0.0-alpha.2):
Breaking changes:
- ReduxForm, ReduxFormField, and ReduxMultiField components have all been deprecated and removed from Forge 3. We are moving away from these more opinionated form components in favor of our simpler options: Form, FormField, and MultiField. For products that still need these components with Forge 3, they are available in an external package,
@athena/forge-redux-form
. They will still be compatible with Forge 3.
Maintenance:
- Upgraded
@athena/controllable-state
dependency, which fixes an npm audit issue.
Documentation:
- Fixed typos in the Card component guidance (thanks for spotting this, @tgrayson!)
3.0.0-alpha.2 - 09/06/2019
Here's what we've changed since the last release (3.0.0-alpha.1):
Breaking changes:
- All single component import paths have changed. Thanks to our new build process, our published package now has a flatter directory structure.
- Components can now be imported directly from the root of the package (e.g.,
@athena/forge/FormField
). Note that the component name is Pascal case. - Named imports from the root of the package still work (e.g.,
import { FormField } from '@athena/forge'
), although you should still use caution when importing this way. Unless your build process includes tree shaking, your finished build may be bloated with parts of forge you don't actually need. - The
forge.css
,forge.js
, and font files can now be found in thedist
directory (e.g.,@athena/forge/dist/forge.css
). - Global sass can now be found in the sass directory in the root of the package. All component-specific sass can be found within component directories.
- If you were using any utilities formerly in our
js
directory, those have now moved toutils
.
- Components can now be imported directly from the root of the package (e.g.,
3.0.0-alpha.1 - 08/28/2019
Here's what we've changed since the last release (3.0.0-alpha.0):
New:
- Added the a11y accessibility addon to Storybook. This tests for accessibility standards compliance and allows you to view stories using various colorblind simulations
Breaking changes:
-
Forge 3 contains significant refactors to our build process. If you are developing Forge locally and are switching between Forge 2 and Forge 3, you will need to reinstall and rebuild
-
Removed the green-light color primitive (previously deprecated)
Improvements:
-
Removed the forge-gulp-tasks dependency from forge and refactored our build processes for linting, YAML token generation and Sass compilation. This build process is documented in Confluence - https://athenaconfluence.athenahealth.com/display/UXDS/Build+Process
-
Added CSS autoprefixing and minification
-
Added npm script to run webpack-bundle-analyzer
Maintenance:
-
Removed code related to API table, color swatch, and inline SVG generation
-
Upgraded lodash (4.17.11 -> 4.17.15) to resolve vulnerability
Documentation:
- Updated product copy in demos to meet the new product copy guidance
3.0.0-alpha.0 - 08/13/2019
Here's what we've changed since the last release (2.6.0):
New:
- We have a new Release Candidate component - ProgressIndicator! It has the option of an animated linear or circular design and two variants - one for when you know how long it takes or how much there is to load (determinate) and one for when you don’t (indeterminate). Give it a try and let us know what you think!
Improvements:
-
We are in the process of migrating our build process from gulp to Webpack. Work so far includes:
- Webpack script to build JS dist
- Babel script to build JS lib
- npm script to import tokens as JS constants
- npm script to import icons as components
-
Upgraded to Storybook 5, Babel 7, and app-fabric-npm-kit 2
Bug fixes:
-
Fixed incorrect padding on hover for Input with icon. Thanks for reporting this, @dlynshue!
-
Added a max-height to FormField's input slot to resolve a Chrome issue with text wrapping in Select on narrow viewports. Thanks for reporting this, @Jennifer Wright!
-
Gave the tertiary variant of Button a transparent background to remove browser-defined backgrounds in Safari and Windows Firefox
-
Added dependencies to app-fabric-generator-forge-component needed for publishing a generated component
Documentation:
-
Added guidance on how to write product copy (interface text for buttons, error messages, etc.)
-
Added a link to the NoCoffee Chrome extension on the Accessibility page under Resources and Tools
-
Linked to Button in the IconButton deprecation message