16.0.0 (2024-10-21)

⚠ BREAKING CHANGES

  • change DataTable tableType prop to required

Features

Bug Fixes

15.4.0 (2024-10-08)

Features

15.3.0 (2024-09-24)

Features

Bug Fixes

15.2.0 (2024-09-03)

Features

Bug Fixes

Build

15.1.0 (2024-08-20)

Features

Bug Fixes

Build

15.0.1 (2024-07-10)

Bug Fixes

  • Address Popover memory leak by not adding listeners while Popover is closed [UXDS-8727] (77cbbf3)

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
  • 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
  • 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

Bug Fixes

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

Bug Fixes

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 nameReplacement
bluejungle
tealjungle
peacockjungle
greenpistachio
orangecoral
rubyorchid
  • Secondary color values have been being consolidated from having 5 shades to 4 [UXDS-8248] (bc5d48c):
ValueRecommended replacement
*-secondary-10unchanged
*-secondary-25_-secondary-10 or _-secondary-40
*-secondary-50*-secondary-40
*-secondary-75*-secondary-70
*-secondary-100unchanged
  • Duplicate secondary and dataviz "primitive" colors have been removed [UXDS-8248] (bc5d48c).

Features

12.12.0 (2024-10-21)

Features

Bug Fixes

12.11.0 (2024-10-08)

Features

12.10.0 (2024-09-23)

Features

Bug Fixes

12.9.0 (2024-09-03)

Features

Bug Fixes

Build

12.8.0 (2024-08-20)

Features

Bug Fixes

12.7.3 (2024-07-19)

Bug Fixes

12.7.2 (2024-07-10)

Bug Fixes

  • Address Popover memory leak by not adding listeners while Popover is closed [UXDS-8727] (77cbbf3)

12.7.1 (2024-07-02)

Bug Fixes

12.7.0 (2024-06-26)

Features

Bug Fixes

12.6.0 (2024-05-28)

Features

Bug Fixes

Build

12.5.0 (2024-05-06)

Features

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

Bug Fixes

Build

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

  • Radio, RadioGroup, and Select now prefer label over text [UXDS-8416] (61c13ef)

Build

12.1.0 (2024-02-29)

Features

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

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

Bug Fixes

Build

11.1.0 (2024-01-12)

Features

Bug Fixes

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

Bug Fixes

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

Bug Fixes

Build

9.1.0 (2023-10-20)

Features

Bug Fixes

9.0.0 (2023-10-11)

⚠ BREAKING CHANGES

  • Avatar initials are now required [UXDS-7370]
  • Typescript type for TabsProps['onTabsChange'] narrowed

Features

Bug Fixes

Build

8.3.0 (2023-09-28)

Features

Bug Fixes

8.2.1 (2023-09-20)

Bug Fixes

8.2.0 (2023-09-18)

Features

Bug Fixes

8.1.0 (2023-09-01)

Features

Bug Fixes

Build

8.0.1 (2023-08-11)

Bug Fixes

8.0.0 (2023-08-09)

⚠ BREAKING CHANGES

Features

Bug Fixes

7.0.0 (2023-07-26)

⚠ BREAKING CHANGES

Features

Bug Fixes

6.2.0 (2023-06-20)

Features

Bug Fixes

6.1.1 (2023-06-01)

Bug Fixes

6.1.0 (2023-05-17)

Features

Build

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:

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 and onClick 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:

  • Update tests for forge-icons title prop UXDS-7578
  • Nimbus build triggered by CICD pipeline UXDS-7674

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 and onChange made narrower and more accurate
    • checked and defaultChecked 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:

  • AnimatedSpinner converted to Typescript UXDS-7243
  • BannerItem converted to Typescript UXDS-7244

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:

  • Fix file permissions for Mac PR#1295
  • move colors.less to less/abstracts PR#1302

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:

  • Turn Toast into Typescript PR#1218
  • Turn Lightbox into Typescript PR#1222

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:

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:

  • Miscellaneous dependency upgrades PR#1183
  • Compiling sass now done with script PR#1185

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:

  • DateInput fields are now clearable PR#1175
  • Add "react-is" to dependencies where it belongs PR#1176

Internal:

  • Consolidate our typescript builds PR#1162
  • Automatically apply git tags on merge to master PR#1171

3.16.7 (2022-6-16)

Bugfix:

  • Fix Table prop type console warning PR#1166
  • Tweak styling for unordered and ordered lists PR#1156

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:

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:

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:

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:

  • SSO should persist between tabs PR#1066
  • Can use SSO on any page PR#1065

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:

  • Tree control PR#984
  • Tree control API table documentation, demos and storybook updates PR#1002

Bugfix:

  • Fix Tree control padding regression PR#1007
  • EmptyState should allow any button props PR#1008

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:

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:

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 and b 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:

  • MenuTrigger caret can be moved to right side PR#832
  • Not Allowed icon PR#846

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:

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:

  • Added large layout to ToggleSwitch PR#771
  • Added large layout size to SelectionList PR#770

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:

  • New ComboButton component PR#714
  • New CheckboxButton component PR#718

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:

  • StatusTag now has better typing PR#721
  • Centering text in Buttons when used in OverlayPR#722

Improvements:

  • Release of the Tree Component PR#717
  • Defining Tree Data structure PR#693

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:

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 in forge-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 the text 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 renamed size to align with other component APIs. It accepts "tiny", "small", "medium" (default), or "large". _ Removed undocumented alert color classes. _ (Non-Breaking) Button with icon is now supported by both "medium" and "large" Button sizes. _ (Non-Breaking) Button has two new props - useLink and href. _ Set useLink to true and provide an href 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, leave href blank and set useLink 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 to true. _ compact has been changed to layout 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 the name attribute if it is not provided. _ inputAs no longer accepts MultiField as a value. Instead, use the MultiField component directly (it now supports side labels and all FormField functionality). _ compact has been changed to layout to align with other component APIs. Accepted values are now "medium" and "compact". Setting this FormField prop inside a Form will override the Form layout value. _ onHintTextChange and onErrorChange props have been removed.

  • FormFieldLayout (supporting component - see Form component for guidance) * compact has been changed to layout 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 the aria-label prop is provided. _ A "tertiary" Button is now rendered for the close button instead of an IconButton. * (Non-breaking) The prop aria-label has been added. This is used to provide a screen reader label for the dialog. If not provided, the headerText 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 the fields prop. _ name keys for each field object in the fields prop will be populated using the value of the id key, if name is not provided. _ compact has been changed to layout to align with other component APIs. Accepted values are now "medium" and "compact". Setting this MultiField prop inside a Form will override the Form layout value. _ onHintTextChange and onErrorChange props have been removed from the top level of MultiField, and also removed as supported keys of the fields prop.

  • Paginator * pageInputId is now required if displayMode 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 populate name if it is not provided. _ Note that these props will be generated from the id prop of RadioGroup if the options prop is set to an array (instead of leaving the options prop blank and providing child Radio components).

  • RadioGroup _ id is now used to populate name if no name prop is provided. _ If you are specifying options using the options prop, the RadioGroup id is used to generate unique Radio id values with the format "[id]-option-[number]".

  • ReadOnlyInput _ The id prop has been removed. You can still pass an id attribute to the root <div> through ...rest. _ (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.

  • RemovableTag _ The default for the size prop has changed from "default" to "medium". Accepted values are now "small" and "medium". _ (Non_breaking) The prop disabled has been added. Setting disabled to true 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 the options prop, the SelectionList id (if provided) will be used to generate unique SelectionListItem id values with the format "[id]-[optionValue]". If no id is provided to SelectionList, the option's value key will be used as the id, so provided values must be unique.

  • SelectionListItem * uniqueKey is now used as the id for the included Checkbox component, and is used to generate an id 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 key id. _ The default for the size 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. Setting disabled to true adds a "fe_is-disabled" state class and gives the text a disabled text color.

  • RemovableTag now accepts a disabled prop. Setting disabled to true 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, the headerText 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 to true now passes that disabled 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 accept headingTag as a prop. _ Removed sizes 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, and react-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 the dist 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 to utils.

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