@@ -59,7 +59,9 @@ export interface HdsFlyoutSignature {
59
59
60
60
export default class HdsFlyout extends Component < HdsFlyoutSignature > {
61
61
@tracked private _isOpen = false ;
62
- private _element ! : HTMLDialogElement ;
62
+ // TODO: make this property private; currently blocked by our consumers relying on it despite not being part of the public API: https://github.com/hashicorp/cloud-ui/blob/main/engines/waypoint/addon/components/preview-pane.ts#L15
63
+ // private _element!: HTMLDialogElement;
64
+ element ! : HTMLDialogElement ;
63
65
private _body ! : HTMLElement ;
64
66
private _bodyInitialOverflowValue = '' ;
65
67
@@ -116,7 +118,7 @@ export default class HdsFlyout extends Component<HdsFlyoutSignature> {
116
118
@action
117
119
didInsert ( element : HTMLDialogElement ) : void {
118
120
// Store references of `<dialog>` and `<body>` elements
119
- this . _element = element ;
121
+ this . element = element ;
120
122
this . _body = document . body ;
121
123
122
124
if ( this . _body ) {
@@ -126,18 +128,18 @@ export default class HdsFlyout extends Component<HdsFlyoutSignature> {
126
128
}
127
129
128
130
// Register "onClose" callback function to be called when a native 'close' event is dispatched
129
- this . _element . addEventListener ( 'close' , this . registerOnCloseCallback , true ) ;
131
+ this . element . addEventListener ( 'close' , this . registerOnCloseCallback , true ) ;
130
132
131
133
// If the flyout dialog is not already open
132
- if ( ! this . _element . open ) {
134
+ if ( ! this . element . open ) {
133
135
this . open ( ) ;
134
136
}
135
137
}
136
138
137
139
@action
138
140
willDestroyNode ( ) : void {
139
- if ( this . _element ) {
140
- this . _element . removeEventListener (
141
+ if ( this . element ) {
142
+ this . element . removeEventListener (
141
143
'close' ,
142
144
this . registerOnCloseCallback ,
143
145
true
@@ -148,7 +150,7 @@ export default class HdsFlyout extends Component<HdsFlyoutSignature> {
148
150
@action
149
151
open ( ) : void {
150
152
// Make flyout dialog visible using the native `showModal` method
151
- this . _element . showModal ( ) ;
153
+ this . element . showModal ( ) ;
152
154
this . _isOpen = true ;
153
155
154
156
// Prevent page from scrolling when the dialog is open
@@ -165,17 +167,17 @@ export default class HdsFlyout extends Component<HdsFlyoutSignature> {
165
167
// allow ember test helpers to be aware of when the `close` event fires
166
168
// when using `click` or other helpers from '@ember/test-helpers'
167
169
// Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)
168
- if ( this . _element . open ) {
170
+ if ( this . element . open ) {
169
171
const token = waiter . beginAsync ( ) ;
170
172
const listener = ( ) => {
171
173
waiter . endAsync ( token ) ;
172
- this . _element . removeEventListener ( 'close' , listener ) ;
174
+ this . element . removeEventListener ( 'close' , listener ) ;
173
175
} ;
174
- this . _element . addEventListener ( 'close' , listener ) ;
176
+ this . element . addEventListener ( 'close' , listener ) ;
175
177
}
176
178
177
179
// Make flyout dialog invisible using the native `close` method
178
- this . _element . close ( ) ;
180
+ this . element . close ( ) ;
179
181
180
182
// Reset page `overflow` property
181
183
if ( this . _body ) {
0 commit comments