-
Notifications
You must be signed in to change notification settings - Fork 87
Epic: Update form components to leverage ElementInternals API #8126
Copy link
Copy link
Open
0 / 10 of 1 issue completedOpen
0 / 10 of 1 issue completed
Copy link
Labels
2 - ready for devIssues that are designed, have acceptance criteria defined, and are ready for a developer to pick upIssues that are designed, have acceptance criteria defined, and are ready for a developer to pick upc-checkboxIssues that pertain to the calcite-checkbox componentIssues that pertain to the calcite-checkbox componentc-comboboxIssues that pertain to the calcite-combobox and related componentsIssues that pertain to the calcite-combobox and related componentsc-inputIssues that pertain to the calcite-input componentIssues that pertain to the calcite-input componentc-input-date-pickerIssues that pertain to the calcite-input-date-picker componentIssues that pertain to the calcite-input-date-picker componentc-input-numberIssues that pertain to the calcite-input-number componentIssues that pertain to the calcite-input-number componentc-input-textIssues that pertain to the calcite-input-text componentIssues that pertain to the calcite-input-text componentc-input-time-pickerIssues that pertain to the calcite-input-time-picker componentIssues that pertain to the calcite-input-time-picker componentc-input-time-zoneIssues that pertain to the calcite-input-time-zone componentIssues that pertain to the calcite-input-time-zone componentc-meterIssues that pertain to the calcite-meter componentIssues that pertain to the calcite-meter componentc-radio-buttonIssue related to calcite-radio-buttonIssue related to calcite-radio-buttonc-ratingIssues that pertain to the calcite-rating componentIssues that pertain to the calcite-rating componentc-segmented-controlIssues that pertain to the calcite-segmented-control componentIssues that pertain to the calcite-segmented-control componentc-selectIssues that pertain to the calcite-select componentIssues that pertain to the calcite-select componentc-sliderIssues that pertain to the calcite-slider componentIssues that pertain to the calcite-slider componentc-switchIssues that pertain to the calcite-switch componentIssues that pertain to the calcite-switch componentc-text-areaIssues that pertain to the calcite-text-area componentIssues that pertain to the calcite-text-area componentcalcite-componentsIssues specific to the @esri/calcite-components package.Issues specific to the @esri/calcite-components package.epicLarge scale issues to be broken up into sub-issues and tracked via sprints and/or project.Large scale issues to be broken up into sub-issues and tracked via sprints and/or project.p - mediumIssue is non core or affecting less that 60% of people using the libraryIssue is non core or affecting less that 60% of people using the libraryrefactorIssues tied to code that needs to be significantly reworked.Issues tied to code that needs to be significantly reworked.
Milestone
Metadata
Metadata
Assignees
Labels
2 - ready for devIssues that are designed, have acceptance criteria defined, and are ready for a developer to pick upIssues that are designed, have acceptance criteria defined, and are ready for a developer to pick upc-checkboxIssues that pertain to the calcite-checkbox componentIssues that pertain to the calcite-checkbox componentc-comboboxIssues that pertain to the calcite-combobox and related componentsIssues that pertain to the calcite-combobox and related componentsc-inputIssues that pertain to the calcite-input componentIssues that pertain to the calcite-input componentc-input-date-pickerIssues that pertain to the calcite-input-date-picker componentIssues that pertain to the calcite-input-date-picker componentc-input-numberIssues that pertain to the calcite-input-number componentIssues that pertain to the calcite-input-number componentc-input-textIssues that pertain to the calcite-input-text componentIssues that pertain to the calcite-input-text componentc-input-time-pickerIssues that pertain to the calcite-input-time-picker componentIssues that pertain to the calcite-input-time-picker componentc-input-time-zoneIssues that pertain to the calcite-input-time-zone componentIssues that pertain to the calcite-input-time-zone componentc-meterIssues that pertain to the calcite-meter componentIssues that pertain to the calcite-meter componentc-radio-buttonIssue related to calcite-radio-buttonIssue related to calcite-radio-buttonc-ratingIssues that pertain to the calcite-rating componentIssues that pertain to the calcite-rating componentc-segmented-controlIssues that pertain to the calcite-segmented-control componentIssues that pertain to the calcite-segmented-control componentc-selectIssues that pertain to the calcite-select componentIssues that pertain to the calcite-select componentc-sliderIssues that pertain to the calcite-slider componentIssues that pertain to the calcite-slider componentc-switchIssues that pertain to the calcite-switch componentIssues that pertain to the calcite-switch componentc-text-areaIssues that pertain to the calcite-text-area componentIssues that pertain to the calcite-text-area componentcalcite-componentsIssues specific to the @esri/calcite-components package.Issues specific to the @esri/calcite-components package.epicLarge scale issues to be broken up into sub-issues and tracked via sprints and/or project.Large scale issues to be broken up into sub-issues and tracked via sprints and/or project.p - mediumIssue is non core or affecting less that 60% of people using the libraryIssue is non core or affecting less that 60% of people using the libraryrefactorIssues tied to code that needs to be significantly reworked.Issues tied to code that needs to be significantly reworked.
Type
Fields
Give feedbackNo fields configured for issues without a type.
monday.com sync: #18048583564
Description
Lit is looking to add support for
ElementInternals, so we should explore leveraging this API instead of our custom solution.cc @eriklharper @benelan
Based on recent discussion, we'll use this issue to track just replacing the existing
HiddenFormInputSlotimplementation withElementInternalswithout changing any existing public APIs. This will keep the refactor label consistent too since no functionality would change as a result.Proposed Advantages
Improved form integration and leaner components.
Which Component
Checkbox, Combobox, Input Date Picker, Input Number, Input Text, Input Time Picker, Input Time Zone, Input, Meter, Radio Button, Rating, Segmented Control, Select, Slider, Switch, Text Area
Relevant Info
Safari added support for
ElementInternalsat 16.4, so we may have to consider the following if we update form components to use this API:consider a polyfill to handle Safari 16.0 – 16.3 (requires a lot testing)moving forward and document form integration won't work for 16.0 – 16.3 (nonstarter option as it introduces a regression for this version)All components implementing
FormComponent:autocomplete@jcfranco refactor(autocomplete): wire upuseForm#14182checkbox@eriklharper refactor(checkbox): wire upuseFormand ElementInternals #14052combobox@jcfranco refactor(combobox): wire upuseForm#14056input-date-picker@jcfranco refactor(input-date-picker, input-number, input-time-picker): wire upuseForm#14072input-number@jcfranco refactor(input-date-picker, input-number, input-time-picker): wire upuseForm#14072input-text@eriklharper refactor(input-text): use ElementInternals #13985input-time-picker@jcfranco refactor(input-date-picker, input-number, input-time-picker): wire upuseForm#14072input-time-zone@jcfranco refactor(input-time-zone): wire upuseForm#14135input@jcfranco refactor(input): wire upuseForm#14073no longer applicablemeter@jcfrancoradio-button@eriklharper refactor(radio-button): use ElementInternals #14142rating@jcfranco refactor(rating, slider, switch): wire upuseForm#14069segmented-control@eriklharper refactor(segmented-control): use ElementInternals #14125select@eriklharper refactor(select): use ElementInternals #14066slider@jcfranco refactor(rating, slider, switch): wire upuseForm#14069switch@jcfranco refactor(rating, slider, switch): wire upuseForm#14069text-area@jcfranco refactor(text-area): wire upuseForm#14074Components that can be used to trigger form submit and reset events:
action@eriklharper refactor(action, button): use ElementInternals #14015button@eriklharper refactor(action, button): use ElementInternals #14015Calcite package
Related issues
validity,validationMessage, andwillValidateproperties #7413highsupport