Commit Graph

234 Commits

Author SHA1 Message Date
Liam DeBeasi
cfbc6e9952 chore: sync with feature-7.5 2023-10-05 14:47:24 -04:00
Amanda Johnston
897ff6f749 feat(toast): allow custom positioning relative to specific element (#28248)
Issue number: resolves #17499

---------

<!-- 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. -->

Currently, there isn't a way to position toasts such that they don't
overlap navigation elements such as headers, footers, and FABs.

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

Added the new `positionAnchor` property, which specifies an element that
the toast's position should be anchored to.

While the name can be tweaked, we should take care to keep the relation
between it and the `position` property clear. The `position` acts as a
sort of "origin" point, and the toast is moved from there to sit near
the chosen anchor element. This is important because it helps clarify
why the toast sits above the anchor for `position="bottom"` and vice
versa.

I chose not to rename the `position` prop itself to avoid breaking
changes.

Docs PR: https://github.com/ionic-team/ionic-docs/pull/3158

## 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: ionitron <hi@ionicframework.com>
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-10-04 14:06:27 -05:00
Liam DeBeasi
a6e4fc4feb fix(angular): routerLink directives can be used (#28282) 2023-10-04 14:30:25 -04:00
Sean Perkins
b2562e7c6a Merge remote-tracking branch 'origin/main' into sp/sync-FW-4612-with-main 2023-09-29 12:20:03 -04:00
ionitron
078964447a chore(): update package lock files 2023-09-27 13:32:44 +00:00
ionitron
45bcd4c22b v7.4.2 2023-09-27 13:32:27 +00:00
Liam DeBeasi
bd0ee0b316 Merge remote-tracking branch 'origin/main' into sync-main-75 2023-09-22 12:23:03 -04:00
Liam DeBeasi
de1a4c50bb test: update test apps to cypress 13 (#28212)
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. -->

CI is failing for Cypress apps due to
https://github.com/cypress-io/cypress/issues/27804#issuecomment-1721476731.

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

- All Cypress test apps have been updated to Cypress 13.2.0 which is not
affected by this issue.

## 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-09-21 20:17:46 +00:00
ionitron
2e626a909f chore(): update package lock files 2023-09-20 13:21:09 +00:00
ionitron
d82414d43f v7.4.1 2023-09-20 13:20:51 +00:00
Sean Perkins
28f2ec9c62 feat(angular): standalone form controls can participate in forms (#28125)
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. -->

Ionic standalone form controls cannot participate in Angular forms.

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

- Ionic form controls can participate in Angular forms by importing the
standalone component
- Applies to: `ion-input`, `ion-textarea`, `ion-searchbar`,
`ion-toggle`, `ion-checkbox`, `ion-segment`, `ion-radio`,
`ion-radio-group`, `ion-datetime` and `ion-range`.
- Refactors `ValueAccessor` from `@ionic/angular` to
`@ionic/angular/common`
- Refactors `raf` utility from `@ionic/angular` to
`@ionic/angular/common`

## 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-09-19 12:46:28 -04:00
donaldkicksyourass
6b9c6fcd4d chore(angular): improve types of platform.ts (#27810) 2023-09-18 10:18:03 -07:00
ionitron
6304645a81 chore(): update package lock files 2023-09-14 13:07:07 +00:00
ionitron
c28b66a99a v7.4.0 2023-09-14 13:06:52 +00:00
Liam DeBeasi
d547944e91 Merge remote-tracking branch 'origin/main' into sync-final-74 2023-09-13 09:38:37 -04:00
ionitron
af29857c5f chore(): update package lock files 2023-09-13 13:12:27 +00:00
ionitron
f9a984e4aa v7.3.4 2023-09-13 13:12:09 +00:00
Liam DeBeasi
dad7e66cf6 fix(angular): include core exports in standalone (#28158) 2023-09-12 12:06:59 -04:00
Liam DeBeasi
474308618d Merge remote-tracking branch 'origin/main' into sync-feat-74 2023-09-11 09:23:16 -04:00
hoi4
19f3bb23fd feat: export TransitionOptions interface and getIonPageElement (#28140)
Issue number: resolves #28137

---------

Changes according to [this
comment](https://github.com/ionic-team/ionic-framework/issues/28137#issuecomment-1710283096)

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

@liamdebeasi Sorry for replacing the previous PR. I only copied the main
branch to my fork so I couldn't rebase properly. I am unfortunately not
extremely familiar with Github.

---------

Co-authored-by: Philipp Heuer <philipp@studysmarter.de>
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-09-11 08:53:56 -04:00
Maria Hutt
3720ae6a09 chore(angular): remove unused type 2023-09-07 08:08:14 -07:00
Maria Hutt
01c34738a6 chore(angular): add missing code from bbfb8f8 2023-09-06 14:07:56 -07:00
Maria Hutt
fd0f25aa72 Merge remote-tracking branch 'origin/main' into FW-4612-sync 2023-09-06 13:24:09 -07:00
ionitron
7dbce4fc09 chore(): update package lock files 2023-09-06 13:24:04 +00:00
ionitron
3de1dd3c14 v7.3.3 2023-09-06 13:23:50 +00:00
Amanda Johnston
0afa14ed7a feat(angular): add standalone tabs (#28093)
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?

Tabs cannot be used as a standalone component.

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

- Added tabs as a standalone component.
- Added a quick test. I included the event checking from the lazy test
in the HTML as a smoke check, but didn't bring over the Cypress tests
for them since I noticed the other standalone tests have been quick,
stripped down affairs. I'm assuming I would just be duplicating effort.
Let me know if I should bring more tests over from the lazy version, or
even get rid of the event logging from the standalone HTML.

## 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-09-01 13:08:20 -05:00
Maria Hutt
e6c7bb60e7 feat(checkbox, radio, toggle, range): stacked labels for form controls (#28075)
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
Co-authored-by: ionitron <hi@ionicframework.com>
2023-09-01 09:30:59 -07:00
Maria Hutt
63cb96831e docs(angular): update README for clear directory paths (#28098)
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. -->

- The instructions doesn't provide clear directory paths for syncing
local changes.

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

- The instructions has clear directory paths for syncing local changes.
- Switched to the `[!NOTE]` for notes.

## 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. -->

N/A
2023-08-31 22:46:29 +00:00
ionitron
a25c38223c chore(): update package lock files 2023-08-30 12:48:07 +00:00
ionitron
f9211e5434 v7.3.2 2023-08-30 12:47:53 +00:00
ionitron
b333bdffe6 chore(): update package lock files 2023-08-23 13:40:28 +00:00
ionitron
5701f7661e v7.3.1 2023-08-23 13:40:10 +00:00
Liam DeBeasi
e5b7f5ff55 feat(angular): add enhanced icon support with addIcons (#28009) 2023-08-22 09:46:46 -04:00
Sean Perkins
77707b8c1e fix(angular): min/max validator for ion-input type number (#27993)
Issue number: Resolves #23480

---------

<!-- 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. -->

Angular's min/max validators do not work with `ion-input[type=number]`.
Using the built-in validators with `ion-input` will not update the
control status to invalid, reflect the `ng-invalid` class or report the
correct errors.

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

- The `IonicModule` now includes two additional directive declarations
that extend Angular's built-in min/max validators and target the
`ion-input` component when using `type="number"`.

## 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-08-18 18:34:02 +00:00
Sean Perkins
bbfb8f81a6 fix(angular): ionTabsWillChange is fired before tab activation (#27991)
Issue number: Resolves #27212

---------

<!-- 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. -->

`ionTabsWillChange` emits _after_ the tab view is activated in the
stack.

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

- `ionTabsWillChange` emits _before_ the tab view is activated in the
stack.

## 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. -->

Dev-build: `7.2.4-dev.11692040948.1fd0ecd2`
2023-08-18 15:07:09 +00:00
Sean Perkins
e57759f4b6 chore(angular): generate standalone component wrappers (#27970)
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. -->

Ionic Framework currently only generates the lazy/hydrated Angular
component wrappers for the web components.

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

- Generates Angular standalone component wrappers for the web
components, using the CE build.
  - Adds manual component wrapper for `ion-icon` with the CE build.
- Migrates the `ion-back-button` and `ion-nav` to be manual component
wrappers
- Continues to generate the lazy/hydrated Angular component wrappers.
- Refactors "NavDelegate" etc. language to `IonNav` to avoid exporting
as and simplify navigating the code.

## 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. -->

Related output targets PR:
https://github.com/ionic-team/stencil-ds-output-targets/pull/367
2023-08-18 11:02:16 -04:00
ionitron
6877d659d3 chore(): update package lock files 2023-08-16 14:23:51 +00:00
ionitron
16f7ec2284 v7.3.0 2023-08-16 14:23:33 +00:00
ionitron
7c24965216 chore(): update package lock files 2023-08-16 13:26:24 +00:00
ionitron
ffe5307905 v7.2.4 2023-08-16 13:26:09 +00:00
Liam DeBeasi
ca53682684 feat(angular): add standalone provideIonicAngular (#27996) 2023-08-15 15:32:27 -04:00
Liam DeBeasi
c65e08dcd1 feat(angular): add standalone providers, route strategy, component binding provider (#27997) 2023-08-15 11:45:37 -04:00
Liam DeBeasi
84212acce4 refactor(angular): use type for imports used as types (#27998) 2023-08-15 11:44:58 -04:00
Sean Perkins
104b9547e5 chore: typescript resolves @ionic/angular/common import paths (#27995)
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. -->

IDEs that perform type checking/include a language service will error on
the `@ionic/angular/common` import paths and not provide intelisense or
auto import detection.

![CleanShot 2023-08-15 at 09 49
34](https://github.com/ionic-team/ionic-framework/assets/13732623/2e9913b2-5b44-4dd7-8cf7-8fa0d6aaac69)


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

- `@ionic/angular/common` import paths are detected by IDEs such as
VSCode

![CleanShot 2023-08-15 at 09 48
40](https://github.com/ionic-team/ionic-framework/assets/13732623/cd502093-b095-47a8-b5f7-b28a0fc9fe27)


## 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-08-15 10:50:38 -04:00
ionitron
3a263d14c3 chore(): update package lock files 2023-08-09 16:28:15 +00:00
ionitron
0cb37430d3 v7.2.3 2023-08-09 16:27:57 +00:00
Maria Hutt
e44a02632d feat(angular): add standalone router-link (#27937) 2023-08-08 11:15:50 -05:00
Maria Hutt
c52a0972b9 feat(angular): add standalone nav (#27876) 2023-08-04 16:20:39 -07:00
Liam DeBeasi
8a97e406a0 feat(angular): add standalone popover (#27883) 2023-08-04 16:55:46 -04:00
Liam DeBeasi
37acdf9711 feat(angular): add standalone modal (#27885) 2023-08-04 15:45:50 -04:00