17:58:34 RRSAgent has joined #openui 17:58:34 logging to https://www.w3.org/2021/05/13-openui-irc 17:58:49 Zakim, start meeting 17:58:49 RRSAgent, make logs Public 17:58:51 please title this meeting ("meeting: ..."), gregwhitworth 17:58:57 meeting: Open UI Telecon 17:59:05 chair: Greg Whitworth 17:59:09 present+ 18:00:37 chrisholt_ has joined #openui 18:00:49 present+ 18:00:51 present+ 18:01:36 davatron5000 has joined #openui 18:01:39 Topic: Let's discuss popup states and events (@smaug----) 18:01:47 stephstimac has joined #openui 18:01:50 present+ 18:01:54 una has joined #openui 18:02:03 present+ 18:02:05 scribenick una 18:02:07 present+ 18:02:08 present+ 18:02:24 flackr has joined #openui 18:02:30 present+ 18:02:42 ScribeNick: una 18:03:05 https://github.com/openui/open-ui/issues/342 18:03:21 present+ 18:03:22 q? 18:03:24 melanierichards: this issue came out of an HTML triage meeting 18:03:59 melanierichards: basically we shared the idea with some of the HTML editors, and theres interest in seeing how the proposal does/doesnt aline w/Firefox's Zule? popup elements 18:04:34 melanierichards: proposed events here are transitional events (showing, shown, hiding, hidden) 18:04:46 melanierichards: emmited at begining and end of showing and hiding operation 18:05:05 melanierichards: is this something we feel we need? 18:05:47 gregwhitworth: im supportive of it 18:05:53 gregwhitworth: the general concept of havign this events 18:06:00 +1 for having events 18:06:13 +1 to have these events 18:06:21 I think it's great. I would love to have before/after events for each show and hide. 18:06:29 una: it helps to have these, they're useful. I want to add that in CSS they're asking for more of these types of events 18:06:38 una: such as :stuck for sticky 18:06:51 andrico1234 has joined #openui 18:07:30 melanierichards: I like the idea, should we support this is one resolution, and then an actual name for these is a different resolution 18:08:26 flackr: the most concerning part to me is the exact text of when these events ar fired 18:08:43 flackr: when does display: none get applied, i want to know the exact timing 18:08:52 flackr: presumably they cant do anything to stop it when its opening 18:09:31 melanierichards: is there an order of operations here, can resolve on it existing/names and then someone can write up spec text, RE: order and can review it as a PR 18:09:43 gregwhitworth: we have a resolution on "this thing should exist" 18:10:00 gregwhitworth: we can even use the Zule? implementation as a path forward 18:10:39 Proposed Resolution: Events should be emitted when show or hide state changes. Event timing to be defined. 18:11:59 flackr: we have events in input like beforeShow beforeHide 18:13:27 Proposed Resolution: Events should be emitted when show or hide state changes (i.e. beforeShow, show, beforeHide, hide). Event timing and names to be defined. 18:13:40 fwiw, Vue has put a lot of thought into this and has a lot of compelling demos https://vuejs.org/v2/guide/transitions.html 18:13:43 Resolved: Events should be emitted when show or hide state changes (i.e. beforeShow, show, beforeHide, hide). Event timing and names to be defined. 18:14:45 davatron5000: the Vue link above shows 6 states 18:14:59 Topic: [Popup] Supporting transitions and animations on open and dismiss 18:15:13 https://github.com/openui/open-ui/issues/335 18:15:27 q? 18:15:42 flackr: currently the way Popup works is that the style is all applied at once when you show popup, you dont have an opportunity to initiate transitions 18:16:03 flackr: you can do an intro animation but can't do an outtro because the element is display: none immediately 18:16:41 flackr: my proposal here is a state before the popup is completely visible - it has a computed style (beforeTransition style state), after which we apply the :open pseudo class, enabling you to do a transition on open 18:16:53 flackr: you can do the opposite on exit by removing :open pseudo class 18:17:06 q+ for a meta discussion about engaging with CSSWG 18:17:09 flackr: the tricky thing is on popup where you have to wait a reasonable ammt of time for this to finish 18:17:15 flackr: see mockup in attached issue 18:17:33 https://jsbin.com/piqebiw/edit?css,js,output 18:18:40 demo uses 'visible' class add/remove, spec would be :open pseudo class instead 18:18:52 flackr: proposal is to have this intermediate pseudo state 18:19:27 q+ 18:19:32 una: I think making this declarative is going to be very useful for developers 18:19:46 ack melanierichards 18:20:06 melanierichards: i was going to bring up: detecting that there's an animation running, Mason might have thoughts on this 18:20:27 melanierichards: we should have some kind of time limit on the finish operation, can abuse the user to never let it close 18:20:46 una: to respond to that 18:21:01 una: if someone was going to abuse the popup they could just not put a close button on it 18:21:11 una: I don't think the transition timing is where to do that 18:21:17 una: popup does have light dismiss 18:21:24 s/una/melanierichards 18:21:40 melanierichards: user should be able to close it w/lightdismiss 18:21:50 flackr: the developer can always trap the user if they want 18:22:45 gregwhitworth: there's an assumption that everyone that puts the content on their site is aware of it, might be a 3P 18:23:04 gregwhitworth: but are there technically ways around this anyway 18:23:15 gregwhitworth: the developer isnt always in control of everything running on the page 18:23:31 flackr: i think it'll be hard to set a canonical time limit (dev-expectation-wise) 18:23:42 q+ 18:23:51 una: there isn't a pattern on the web currently for that 18:24:24 gregwhitworth: this may be one of those things that need interop if we go with this route 18:24:37 ack gregwhitworth 18:24:37 gregwhitworth, you wanted to discuss a meta discussion about engaging with CSSWG and to 18:25:13 una: what if you made a CSS game and you had some time to play the game, there may be some real world scenarios. I note both are edge cases 18:25:41 melanierichards: if we were going to impose a limit, it would have to be in spec text, limit could be generous to protect against abuse but its unlikely you'll run into it for a transition 18:27:57 Proposed resolution: popups have an intermediate state where they are display: block but not yet :open which they transition to when showing / hiding. On hiding, the UA will wait for ongoing animations before setting display: none. 18:29:00 gregwhitworth: any objections? 18:29:22 una: if they're display block are they visible? 18:29:52 flackr: they don't have the open pseudo - this is the same as triggering a transition on something 18:30:07 Resolved: popups have an intermediate state where they are display: block but not yet :open which they transition to when showing / hiding. On hiding, the UA will wait for ongoing animations before setting display: none. 18:32:29 gregwhitworth: Additional agenda item: Switch Element Graduation 18:32:39 https://github.com/openui/open-ui/issues/338 18:33:35 gregwhitworth: potentially new pseudo element or element down the road -- should checkbox and switch be two seperate things? You *can* style a checkbox as a switch -- behaviorally they are similar 18:33:40 q+ 18:33:52 gregwhitworth: behaviors and anatomies might be different 18:34:11 chrisholt_: theres similarities in behavior on a lot of things on the web but they present differently on the web 18:34:24 chrisholt_: convoluting them will only create problems 18:34:33 bret little: the actual blueprint of a switch will be different 18:34:47 bret little: primary label, what switch is for, secondary label is the state of the switch 18:34:49 +1 to graduate, mostly because I never want to ever read a "how to make a toggle with CSS checkboxes" article ever again. 18:36:05 una: I think these are 2 different components, switch is binary - the labeling would be different than if you tried to create one out of radio buttons or checkboxes 18:36:15 gregwhitworth: per iOS guidelines, they're the same as checkboxes 18:36:31 una: interesting that we keep relating to checkboxes when they're more like radios 18:36:44 link from iOS guidance https://developer.apple.com/design/human-interface-guidelines/macos/buttons/switches/ 18:37:12 Proposed Resolution: Open-UI should have a separate Switch blueprint proposal 18:37:16 una: +1 18:37:26 Resolved: Open-UI should have a separate Switch blueprint proposal 18:38:32 Zakim, end meeting 18:38:32 As of this point the attendees have been gregwhitworth, miriam, chrisholt_, stephstimac, davatron, hdv, una, flackr, melanierichards 18:38:34 RRSAgent, please draft minutes 18:38:34 I have made the request to generate https://www.w3.org/2021/05/13-openui-minutes.html Zakim 18:38:37 I am happy to have been of service, gregwhitworth; please remember to excuse RRSAgent. Goodbye 18:38:41 Zakim has left #openui 18:54:04 RRSAgent, please leave 18:54:04 I see no action items