Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 7 additions & 47 deletions core/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"loader/"
],
"dependencies": {
"@stencil/core": "4.33.1",
"@stencil/core": "4.36.2",
"ionicons": "^8.0.13",
"tslib": "^2.1.0"
},
Expand Down
9 changes: 5 additions & 4 deletions core/src/components/reorder-group/reorder-group.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart } from

import { getIonMode } from '../../global/ionic-global';
import type { Gesture, GestureDetail } from '../../interface';
import type { HTMLStencilElement } from '../../utils/element-interface';

import type { ItemReorderEventDetail, ReorderMoveEventDetail, ReorderEndEventDetail } from './reorder-group-interface';

Expand Down Expand Up @@ -38,7 +39,7 @@ export class ReorderGroup implements ComponentInterface {

@State() state = ReorderGroupState.Idle;

@Element() el!: HTMLElement;
@Element() el!: HTMLStencilElement;

/**
* If `true`, the reorder will be hidden.
Expand Down Expand Up @@ -152,7 +153,7 @@ export class ReorderGroup implements ComponentInterface {
const heights = this.cachedHeights;
heights.length = 0;
const el = this.el;
const children: any = el.children;
const children: any = el.__children;
if (!children || children.length === 0) {
return;
}
Expand Down Expand Up @@ -258,7 +259,7 @@ export class ReorderGroup implements ComponentInterface {
private completeReorder(listOrReorder?: boolean | any[]): any {
const selectedItemEl = this.selectedItemEl;
if (selectedItemEl && this.state === ReorderGroupState.Complete) {
const children = this.el.children as any;
const children: any = this.el.__children;
const len = children.length;
const toIndex = this.lastToIndex;
const fromIndex = indexForItem(selectedItemEl);
Expand Down Expand Up @@ -308,7 +309,7 @@ export class ReorderGroup implements ComponentInterface {
/********* DOM WRITE ********* */
private reorderMove(fromIndex: number, toIndex: number) {
const itemHeight = this.selectedItemHeight;
const children = this.el.children;
const children: any = this.el.__children;
for (let i = 0; i < children.length; i++) {
const style = (children[i] as any).style;
let value = '';
Expand Down
6 changes: 1 addition & 5 deletions core/src/components/router/utils/interface.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
import type { AnimationBuilder, ComponentProps } from '../../../interface';
import type { AnimationBuilder, ComponentProps, HTMLStencilElement } from '../../../interface';
import type { NavigationHookCallback } from '../../route/route-interface';

export interface HTMLStencilElement extends HTMLElement {
componentOnReady(): Promise<this>;
}

export interface NavOutlet {
setRouteId(
id: string,
Expand Down
3 changes: 2 additions & 1 deletion core/src/interface.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export { PickerOptions, PickerColumnOption } from './components/picker-legacy/pi
export { PopoverOptions } from './components/popover/popover-interface';
export { RadioGroupCustomEvent } from './components/radio-group/radio-group-interface';
export { RangeCustomEvent, PinFormatter } from './components/range/range-interface';
export { HTMLStencilElement, RouterCustomEvent } from './components/router/utils/interface';
export { RouterCustomEvent } from './components/router/utils/interface';
export { RefresherCustomEvent } from './components/refresher/refresher-interface';
export {
ItemReorderCustomEvent,
Expand All @@ -49,6 +49,7 @@ export {
AnimationKeyFrames,
AnimationLifecycle,
} from './utils/animation/animation-interface';
export { HTMLStencilElement } from './utils/element-interface';
export { TransitionOptions } from './utils/transition';
export { HTMLIonOverlayElement, OverlayController, OverlayInterface } from './utils/overlays-interface';
export { Config, config } from './global/config';
Expand Down
15 changes: 14 additions & 1 deletion core/src/utils/element-interface.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
// The interfaces in this file are used to make sure our components
// have the correct properties defined that are needed to pass to
// the native HTML elements they render
// the native HTML elements they render. The HTMLStencilElement interface
// extends HTMLElement to provide Stencil-specific functionality like
// componentOnReady() and proper children handling.

export interface HTMLStencilElement extends HTMLElement {
componentOnReady(): Promise<this>;
/**
* Stencil patches `el.children` to behave like calling `el.children` on an
* element with shadow DOM even though the component is not a shadow DOM element.
* To allow components to work properly we need to access the original accessor
* for this property which is `__children`.
*/
__children?: HTMLCollection;
}

export interface AnchorInterface {
href: string | undefined;
Expand Down
Loading