Commit Graph

192 Commits

Author SHA1 Message Date
Liam DeBeasi
6fab2a98b3 chore(): sync with main 2023-06-20 10:05:00 -04:00
Sean Perkins
3e191df3dd fix(react): onDoubleClick fires on components (#27611)
Issue number: Resolves #21320

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

`onDoubleClick` bindings on Ionic components do not fire when the
element is double clicked.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- `onDoubleClick` fires on Ionic components
- Fixed the unit testing set-up for the react test apps

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-06-08 18:35:25 +00:00
Sean Perkins
66d959f5bf Merge remote-tracking branch 'origin/main' into sp/sync-feature-7.1-with-main 2023-06-01 12:10:45 -04:00
Morritz
ec95ae5cd3 feat(segment, segment-button): update segment value property to accept numbers (#27222)
Issue number: resolves #27221

---------

## What is the current behavior?

The value property of the segment component in Ionic Framework currently
only accepts string values.

## What is the new behavior?

This pull request updates the "value" property of the segment component
to accept a union of string and number types. This allows for more
versatile data input in the segment component, particularly for users
who work with numerical data.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No

## Other information

N/A
2023-05-24 09:07:57 -05:00
Liam DeBeasi
02678f3652 fix(react, vue): inline modals apply ion-page class (#27481)
Issue number: resolves #27470

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Passing multiple elements in to an inline modal causes `.ion-page` to
not get set. This causes content to get pushed off the bottom of the
modal equal to the height of the header. React has some special CSS that
prevents this:
eb2772c0ce/packages/react/src/components/createInlineOverlayComponent.tsx (L137-L140)

However, I think this should be delegated to `.ion-page` instead so the
behavior is consistent across frameworks. For example, Angular uses
`.ion-page`:
eb2772c0ce/angular/src/directives/overlays/modal.ts (L82)

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Inline overlays in Ionic React and Ionic Vue wrap child content in
`.ion-delegate-host.ion-page`.
- Removed the custom flex styles from Ionic React as `.ion-page` has its
own styles.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Revised Design Doc:
https://github.com/ionic-team/ionic-framework-design-documents/pull/84
2023-05-24 13:37:02 +00:00
Liam DeBeasi
415c44c0ad fix(react): remove incorrect class key from IonicReactProps (#27432)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

As noted in https://github.com/ionic-team/ionic-framework/issues/27415,
`IonicReactProps` still has `class` as an exposed attribute on Ionic
React components. React components should use the `className` property
instead. It looks like this was left over code from the Ionic React beta
that never got removed.

`class` was originally added in
c79e74b91f (diff-065219c56a8c5dfc32564fac317b8cc9c03f1fbcb7f9cc2de0c5581970f21b51)

And `className` was added in
ab0f92e01f (diff-065219c56a8c5dfc32564fac317b8cc9c03f1fbcb7f9cc2de0c5581970f21b51)

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Removes the `class` key

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-05-09 16:21:22 +00:00
Sean Perkins
beb46bf9de fix(react): nav will remove components from the DOM (#25763)
Issue #: resolves #25753

----------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

## Pull request checklist

Please check if your PR fulfills the following requirements:
- [x] Tests for the changes have been added (for bug fixes / features)
- [ ] Docs have been reviewed and added / updated if needed (for bug
fixes / features)
- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See the [contributing
guide](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation)
for details.
- [x] Build (`npm run build`) was run locally and any changes were
pushed
- [x] Lint (`npm run lint`) has passed locally and any fixes were made
for failures


## Pull request type

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type, submit multiple
pull requests if needed. -->

Please check the type of change your PR introduces:
- [x] Bugfix
- [ ] Feature
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] Documentation content changes
- [ ] Other (please describe): 


## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

When `IonNav` performs a pop operation (navigating to root, back, etc.)
the views are not removed from the DOM.

<!-- Issues are required for both bug fixes and features. -->


## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- `IonNav` removes pages from the DOM when they are popped (navigate
back, navigate to root, etc.)
- Memoized constructing React delegate (was reconstructing on each
render)

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

---------

Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-04-19 17:03:24 +00:00
Liam DeBeasi
92c1da571d chore(): sync with main 2023-03-15 10:03:38 -04:00
Brandy Carney
1eb9a085b2 fix(react/vue): properly switch ionicon based on the mode when ios/md is set (#26924)
closes #26207
2023-03-14 15:03:28 -04:00
Liam DeBeasi
3f888c0928 chore(): sync with main 2023-03-03 12:00:21 -05:00
Sean Perkins
c0e1bf92c4 fix(react): inline overlays dismiss when parent component unmounts (#26245)
Resolves #25775, #26185
2023-03-02 22:56:34 -05:00
Liam DeBeasi
708ccbf808 chore(): sync with main 2023-03-01 11:22:56 -05:00
Liam DeBeasi
14c114a16f chore(): run build 2023-03-01 09:09:12 -05:00
Liam DeBeasi
865f8de9dc feat(searchbar): ionInput now emits value payload (#26831)
resolves #26828

BREAKING CHANGE:

The `detail` payload for the `ionInput` event now on `ion-searchbar` contains an object with the current `value` as well as the native event that triggered `ionInput`.
2023-02-23 12:15:43 -05:00
Liam DeBeasi
fc5fcc064d feat(toast): add stacked buttons functionality (#26790) 2023-02-15 09:56:02 -05:00
Liam DeBeasi
1a8bd6d8c6 chore(deps): update to stencil v3 (#26663) 2023-01-31 18:07:22 -05:00
Liam DeBeasi
b78b454e08 revert(): revert base components feature (#26692)
The Ionic Framework team would like to re-evaluate our approach to improving customization options when building mobile applications. We are looking at other solutions that a) make customizing an app UI easier and b) are applicable to a broader set of developers.
2023-01-30 11:52:36 -05:00
Liam DeBeasi
18f109c7da feat(base-components): add ability to remove ios and md theme (#26669) 2023-01-24 16:18:35 -05:00
Liam DeBeasi
710f3c738f chore(react): remove unused controller import 2023-01-23 13:48:44 -05:00
Liam DeBeasi
e8fb9e7328 chore(): sync with main 2023-01-23 13:38:16 -05:00
Liam DeBeasi
abcfe9fe86 fix(react): hardware back button works in dev mode (#26614)
resolves #26599
2023-01-19 10:49:47 -05:00
Liam DeBeasi
b02190d71f chore(react): migrate to eslint, add prettier (#26633) 2023-01-18 16:49:25 -05:00
Amanda Johnston
c2e1ad385d chore(many): replace any types and add tech debt tickets (#26293)
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-01-06 09:34:55 -06:00
Sean Perkins
acb12b36ee Merge remote-tracking branch 'origin/main' into chore/sync-7.0-with-main-12-05-22 2022-12-05 11:25:10 -05:00
Liam DeBeasi
c0a8501657 feat(picker): add ability to use picker inline (#26336) 2022-11-22 15:33:47 -05:00
Sean Perkins
be9a399eee fix(popover): popover positions correctly on all frameworks (#26306)
Resolves #25337
2022-11-21 22:32:46 -05:00
Liam DeBeasi
961e1bddd3 chore(): sync with main 2022-11-21 11:37:08 -05:00
Amanda Johnston
08c0a5520a feat(alert): add ability to use alert inline (#26316) 2022-11-18 13:32:27 -06:00
Rene Dellefont
89e3cd67ce fix(react): useIonRouter hook has stable router reference (#25000)
resolves #24987
2022-11-18 13:34:59 -05:00
Sean Perkins
c149b42d0b Merge remote-tracking branch 'origin/main' into sync-7-11-15-22 2022-11-15 15:40:21 -05:00
Amanda Johnston
e3ef932ae1 chore(many): add tech debt tickets and remove unnecessary todos (#26266) 2022-11-14 14:49:08 -06:00
Sean Perkins
d709ff64ae fix(react): inline overlays display contents consistently (#26255)
Resolves #26253
2022-11-09 13:25:44 -05:00
Liam DeBeasi
b470a307e3 chore(): sync with main 2022-11-08 13:13:46 -05:00
Amanda Johnston
003de44d92 feat(toast): add ability to use toast inline (#26215) 2022-11-07 16:21:35 -06:00
Bittor Poza
57105d54ea fix(react): loading layout is correct with no message (#26222)
Resolves #26219
2022-11-03 11:48:55 -04:00
Sean Perkins
92b763a538 feat(action-sheet): use action sheet overlay inline (#26172) 2022-11-02 16:47:43 -04:00
Liam DeBeasi
322a1dbcd0 refactor(types): remove overlay attribute interfaces (#26181)
BREAKING CHANGE:

`ActionSheetAttributes`, `AlertAttributes`, `AlertTextareaAttributes`, `AlertInputAttributes`, `LoadingAttributes`, `ModalAttributes`, `PickerAttributes`, `PopoverAttributes`, and `ToastAttributes` have been removed. Developers should use `{ [key: string]: any }` instead.
2022-10-28 16:12:28 -04:00
Sean Perkins
34ca337b8a feat(loading): use loading overlay inline (#26153) 2022-10-24 16:49:17 -04:00
Sean Perkins
92d7bd5d7d Merge remote-tracking branch 'origin/main' into sync-feature-10-21 2022-10-21 14:36:30 -04:00
Sean Perkins
8ec350ae65 fix(react): inline overlays can be conditionally rendered (#26111)
Resolves #25590

Co-authored-by: liamdebeasi <liamdebeasi@users.noreply.github.com>
2022-10-17 16:43:32 -04:00
Liam DeBeasi
a0efc52706 Merge remote-tracking branch 'origin/main' into 7-sync-09-23-22 2022-09-23 11:46:50 -04:00
Liam DeBeasi
21dc893f90 fix(react): overlays now define internal ionic components (#25967)
resolves #25962
2022-09-21 11:30:32 -04:00
Liam DeBeasi
6bb9d8a5d7 Merge remote-tracking branch 'origin/main' into 7.0-sync-09-16-22 2022-09-16 15:20:33 -04:00
Liam DeBeasi
89d3e3c819 fix(react): add correct type for CreateAnimation (#25931) 2022-09-13 13:57:28 -04:00
Amanda Johnston
d478e03914 feat(slides): remove ion-slide, ion-slides, and IonicSwiper module (#25868) 2022-09-01 14:36:17 -05:00
Sean Perkins
1eb6fd04d7 feat(virtual-scroll): remove virtual scroll component (#25808) 2022-08-24 15:42:12 -04:00
Liam DeBeasi
a39d776f08 fix(react): duplicate page transitions do not happen on react 18 (#25798)
resolves #25797
2022-08-23 14:19:38 -04:00
Sean Perkins
3878bf7652 fix(react): outlet will not clear in react 18 with hot reload (#25703)
Resolves #25507
2022-08-03 16:33:26 -04:00
Sean Perkins
61e4ffe47f fix(react): IonNav apply properties to page components (#25603)
Resolves #25602
2022-07-28 16:32:06 -04:00
Liam DeBeasi
499733105e feat(datetime-button): add button for displaying datetime in overlays (#25655)
resolves #24316
2022-07-27 09:47:02 -04:00