v1.0.0
1.0.0 (2023-10-02)
Bug Fixes
- .releaserc: proper preset to generate release notes (e44198b)
- build: fix circular dependency and dynamic imports errors in build, add a build check to CI (#105) (4c2e7e6)
- build: import axios conditionally to make it a truly optional dependency (#27) (fdff2dd)
- ci: Update storybook build configuration to use Webpack 5 (b39dba5)
- ci: upgrade GitHub Pages deploy action to address deprecated set-env command (#41) (255613b)
- discovery: remove unused shared discovery service code (#72) (8da81af)
- gh-actions: fix preview PR comment action (4c0daed)
- gh-actions: rename surge site (32d0e80)
- package.json: add empty .npmignore (cce6bdf)
- package.json: include all dist contents in "files" property (c715625)
- package.json: replace /mturley repo URLs with /konveyor (1bd2b64)
- package.json: restore "files" property and remove .npmignore (giving up on prepare script) (f3e6cd0)
- package.json: treat axios properly as an external peer dependency (#25) (b474a04)
- release: force release of PR#44 (f0a7979)
- release: trying automated release again (7c136ac)
- rollup: properly resolve axios dependency to fix rollup builds (945090a)
- semantic-release: fix release configuration (46ee15f)
- statusicon: add support for ReactNode labels instead of strings (#15) (3d7ebf2)
- StatusIcon: Breaking change in StatusIcon prop types (a3cae11), closes #49
- statusicon: prevent label from wrapping to a new line (#17) (d4515f9)
- useformstate: don't memoize schema (so it can be conditional), allow non-required text fields (#28) (f12bea8)
- useformstate: fix race condition: only save validation if it's from the latest set of values (#36) (0bfc6ee)
- useformstate: hotfix: we needed AnySchema instead of SchemaOf for the yup breaking change (#59) (a1e3601)
- useformstate: properly assert that field types inferred from yup schema are defined (#60) (26a34c0)
- ValidatedPasswordInput: default to label from field schema (match ValidatedTextInput behavior) (#95) (5efb371)
Build System
- deps: Upgrade and handle breaking changes in dependencies (#57) (626a934)
- Forcing major release, see prior commits and PR #130. Fighting with semantic-release. (8ebac71)
Features
- 🎸: Add ResolvedQuery, LoadingEmptyState, and Tooltip (#80) (ed50b7e)
- Add LabelCustomColor component (#125) (9817e08)
- deploy: add automatic Surge deployment on merge (22a4da4)
- hooks: Add
useSessionStoragehook by factoring out core implementation ofuseLocalStorage(#114) (a9f4156) - hooks: Add useLocalStorage hook and documentation (#109) (ddbaef0)
- index: add warnings about moving package to
@migtools/lib-ui(#110) (66ce1b0) - kube-client: Add debug tree modifications (#67) (13b7e48)
- kube-client: allow arbitrary strings for the
kindproperty on resources being queried (#96) (d533da2) - LabelCustomColor: (force release PR #127) Tweaks to get 16 visually distinct colors (ce4123f)
- package.json: add commitizen, try to trigger a release! (c5bb9f9)
- package.json: add prepare script to package.json which should run when installing from github (#35) (35be946)
- statusicon: add Paused status type to StatusIcon (#53) (c030c2b)
- StatusIcon: Add UnknownIcon to StatusIcon (force release) (190830b)
- StatusIcon: Declarative approach using union types (#49) (db53606)
- statusicon: trigger build (54caf12)
- storybook: Replace TestComponent with StatusIcon, add stories and tests (#13) (d34a515)
- testcomponent: change something (2ea49be)
- testcomponent: change to v2 (ca08630)
- useFormField: Add onChange option for side-effects whenever anything calls field.setValue (#88) (d66f1e5)
- useformstate: add
markSavedand other methods for manipulating multiple form fields at once (#84) (2beb616) - useFormState: add revalidateOnChange dependencies array option, refactor options into object (#94) (a4e3672)
- useFormState: Add setInitialValue for prefilling without causing isDirty (#45) (0ccb860)
- useformstate: add useFormState hook, ValidatedTextInput component and initial docs (#26) (3a23f37)
- useformstate: change field.isValid to ignore isTouched, add shouldShowError + greenWhenValid (#83) (008bfa0), closes #82
- useformstate: replace setInitialValue/reset with prefill/revert and reinitialize/clear (#65) (5dd826e)
- useSelectionState: add
isItemSelectableoption (#112) (1255de2) - useselectionstate: add selectMultiple function for atomically updating multiple items at once (#23) (9a076cb)
- useselectionstate: add support for externally lifted state (#22) (a6f13be)
- useselectionstate: add useSelectionState hook, stories and test stubs (#18) (865403b)
- ValidatedPasswordInput: Add ValidatedPasswordInput component (#87) (34e6a32)
- ValidatedTextInput: add onBlur prop and refactor helpers to use options objects (#93) (a52a0b7)
- ValidatedTextInput: add optional
onChangeprop to ValidatedTextInput for extra effects defined in the parent component (#97) (f06de7e) - validatedtextinput: default field label to label defined in schema if present (#85) (dd4759b)
Reverts
- Revert "docs(storybook): switch Storybook deployment from GitHub Pages to Surge to avoid DNS issues (migtools#70)" (migtools#77) (a19280e), closes #70 #77
BREAKING CHANGES
- PatternFly dependencies upgraded to v5 prerelease versions.
Signed-off-by: Mike Turley [email protected]
-
useFormState: Any forms using the yupOptions argument will need to wrap it in an object with the
property yupOptions instead of passing it directly as a top-level argument. -
ValidatedTextInput: Any direct calls to getTextInputProps or getFormGroupProps that were passing a
boolean for greenWhenValid will now need to instead pass an options object including greenWhenValid
as a property. -
useformstate: Forms that rely on
!field.isValidto show errors will now show validation
errors on all required fields as soon as the form first renders. Consumers should replace the
!field.isValidcondition withfield.shouldShowErroror!field.isValid && field.isTouched. -
useformstate:
setInitialValueandresethave been replaced withreinitializeandclear. For betterisDirtybehavior you may want to useprefillinstead ofreinitialize. -
Simplify sentence about revert/clear
-
useformstate: useFormState and useFormField now require
yup.AnySchema<T>schema types instead
of theyup.SchemaOf<T>which was not behaving correctly with boolean fields. -
deps: The yup upgrade bundles its own TS types, removing the need to depend on
@types/yup, and some of the type changes are breaking.yup.Schemahas been replaced byyup.SchemaOf, and it correctly infers array types now so we were able to remove the hackyMaybeArraySchematype from useFormState. There have also been some behavior changes in some of the schema methods, particularly the.defined()and.required()methods. See those changes here: https://github.com/jquense/yup/blob/master/CHANGELOG.md (the items between 0.29.3 and 0.32.8). We felt it was a good idea to upgrade even though this is a little disruptive, because the new built-in TS types are less finicky and more helpful than the community-provided ones were. -
StatusIcon: StatusType enum is no longer exported,
statusTypeprop of StatusIcon is now a string