disbot11 <aruniecrisps> @librasteve I think there's a miscommunication, the goal that I have is to basically define a web component using JavaScript like this: data-star.dev/examples/web_component and have Cro/Air send that element defined in JavaScript downstream to the client 00:18
<aruniecrisps> I don't want the component logic of the combobox to live in Raku
tbrowder anyone have any objection to me merging @2colours PR to fix Spreadsheet::XLSX? 00:31
00:31 annamalai left
[Coke] As long as it's been reviewed for technical accuracy. 00:46
tbrowder ok 00:59
disbot11 <simon_sibl> I’m still not sure to understand what happened with the whole “reduce” thingy linked to that issue, I saw @lizmat reply, but I wanna be sure I understand xD Because from what I understand (basically now have to be explicit about allowing reduce with 1 argument ?) , I don’t understand why that’s a big deal 🥹 01:21
02:18 kylese left 02:19 kylese joined 02:22 sibl joined 02:45 grondilu left 02:57 grondilu joined 03:15 kylese left, kylese joined 03:24 annamalai joined 03:29 grondilu left 04:01 stanrifkin left, grondilu joined 04:38 lichtkind_ joined 04:41 lichtkind left 04:46 guifa joined 05:56 Aedil joined 06:15 guifa left 07:22 annamalai left 07:55 annamalai joined 07:57 abraxxa joined 08:10 Sgeo left 08:46 leedo joined
disbot11 <holmdunc> i.e. the page sent from the webserver has the verbatim HTML <simple-greeting> in it. No distillation of that into something else 09:02
09:09 dakkar joined
disbot11 <holmdunc> The one Custom Element I've ever made (using the vanilla JS API) was <interactive-chart>, which encapsulated booting up a chart using the Chart.js library client-side. The webserver would send this as part of the page: html <interactive-chart> <script type="application/json"> // Config + data for the chart </script> </interactive-chart> 09:29
09:31 sibl left
disbot11 <librasteve> OK, I understand that at a superficial level, but the point of a custom-tag like this is to have some behaviour that comes from some JS isn’t it? Air::Component works with all JS/CSS/HTML/SCSS delivery modes, but Air is only server side raku and dart (for SCSS) … so the example becomes non trivial if you need eg Tailwind build. 10:23
timo for a custom element to work, you just need to run a piece of javascript code that registers the custom tag and after that it should "just work", and there shouldn't be a need for a build step that encompasses more than just the code for the custom element itself. after that, it's an object in the regular DOM that you can interact with with methods and events and stuff I think? 10:30
(i'm personally not a fan of tailwind anyway)
disbot11 <librasteve> gist.github.com/librasteve/003fa27...bac030b7b9 10:36
<librasteve> ^^ ok I have rewritten the example in this gist in a less literal minded way --- scroll down to the bottom half of the gist to see the source of the various interface methods an Air::Component may offer ... these correspond to all (?) possible ways to inject HTML, CSS, JS into the browser page at load time. 10:39
<librasteve> timo: I have actually seen TW used in a studio environment and IMO it is a tool to manufacture technical debt, nevertheless, I am wondering about supporting Air::Theme (beyond PicoCSS) - next is Bulma (ie to align with raku docs) and then maybe TW for those that do like the syntax (at least with TW in an Air::Component, DRY can be improved) - I am hoping that frankenstyle or similar will mean I can avoid the build chain YARN 10:44
/ NPM zoo
timo I don't know what PicoCSS, Bulma, or frankenstyle are ... i guess i haven't paid attention for a few days and missed five new frameworks popping up :) :) :) 10:46
disbot11 <librasteve> despite my slow uptake, I am very keen to make a wide variety of custom-element libraries work in Air .. maybe if we can get one or two working examples, we can get to a consistent pattern and wrap up in a module Air::CustomElement::Lit and so on 10:48
<librasteve> PicoCSS is style for the semantic purist, Bulma is modern Bootstrap, Frankenstyle is browser only TW 10:49
timo the last bit of javascript web app development i've done was with svelte; is there already an example of using a component written in svelte with Air::Component? I assume it would look extremely similar to the custom element example you pasted a few lines ago 10:52
disbot11 <librasteve> arun: please can you take my new gist and make it function (ie place in all the SCRIPT-HEAD items that Lit needs) and share back - happy to help debug - just send me the simple-greeting.html via a gist please 10:54
<librasteve> sorry I never made the transition to React (small exception was to do the jnthn Cro SPA example) ... and I have not looked at Svelte ... on the assumption that Svelte is client side only (!?), then yes I can imagine an Air::CustomElement::Svelte module if I squint hard enough 10:58
timo there is svelte and sveltekit, sveltekit basically extends svelte onto the backend with stuff like server-side rendering with hydration and stuff like that 11:00
i've only worked with sveltekit so far, so i haven't looked at how exactly it looks to use a svelte-built component in a bigger page 11:01
disbot11 <librasteve> yeah well can't boil the ocean ... there are literally millions of person years in stuff like React and Sventekit ... Air is decidedly unreactive 11:04
timo certainly there's a few orders of magnitude more in react than in sveltekit 11:05
but that's not important 11:11
11:11 MoC joined
disbot11 <holmdunc> librasteve: Indeed I'm just talking from vanilla JS experience, and have no idea about Lit and Tailwind 12:05
12:10 MoC left 12:18 melezhik joined
melezhik . 12:19
12:52 guifa joined 13:03 leedo left 13:11 itaipu joined
lizmat weekly: dev.to/lizmat/raku-resolutions-17g7 13:18
notable6 lizmat, Noted! (weekly)
13:35 MoC joined 13:42 guifa left 13:45 guifa joined 13:55 guifa left 13:56 MoC left 14:19 melezhik left 15:05 johnjay joined 15:08 Sgeo joined 15:56 abraxxa left 17:42 itaipu left
disbot11 <librasteve> lizmat: kudos on your resolution ... not sure if finanalyst is in the loop (he rarely comes to IRC) - suggest that you ping him directly to make sure he is on deck for doc related issues... 17:44
18:08 dakkar left 18:11 itaipu joined
disbot11 <aruniecrisps> precisely, this is exactly what i mean 18:15
<aruniecrisps> @holmdunc
<aruniecrisps> @librasteve the gist you sent i feel may be too over-engineered; all that Raku would really need to do is send html text containing <simple-greeting/> tag in the response, and i feel that could be very easily achieved in Air::Functional alone. What I'll do is I'll fork it and make a PR whenever I can 18:18
<aruniecrisps> as far as tailwind is concerned, if i can get away with it i'll use picocss, but most of the time the requirements usually include some sort of complex looking UI which tailwind + daisy/flowbite/tailwind ui come with out of the box 18:22
lizmat librasteve yeah finanalyst is on board because he is in the RSC :-) 18:23
disbot11 <aruniecrisps> @librasteve this is basically what i'm looking for: github.com/librasteve/Air/blob/4f5...#L229-L238 18:30
<aruniecrisps> if we could export that as some function el or something that allows the end user to just generate custom elements that would be sick
18:37 itaipu left 19:02 itaipu joined 19:04 zjmarlow joined 19:06 zjmarlow left 19:55 itaipu left 20:06 guifa joined 20:32 jjido joined
disbot11 <librasteve> arun: appreciate your forbearance, seems that I have lurched from one extreme to the other … I am &afk for now will take a look tomorrow morning 20:40
<librasteve> please do consider an Air::Functional PR 20:41
20:41 jjido left 20:42 jjido joined 21:02 itaipu joined 21:06 Aedil left 21:10 silug joined 21:29 jjido left 22:07 guifa left 23:27 guifa joined