htmlstreamofficial / preline

Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.
https://preline.co
Other
4.9k stars 309 forks source link

ComboBox - New methods + bullet proofing #479

Open mohsinhijazee opened 1 month ago

mohsinhijazee commented 1 month ago

This PR proposes few additions to the ComboBox.

I have tested this with SvelteKit and wrapped the Combox as a Svelte Component with full events and multiple instances of the component on the same page fetching data from difference sources so many copies/instances work seemlessly.

Few fixes/improvements:

Additions to the CombBox:

Few other changes to the package.json (required dependencies added, deprecated type definitions replaced with updated packages), few scripts/watch/commands and generation scripts added.

Don't have full context on design choices so some things might seem absurd and I am here to revise as per your feedback FYI @jahaganiev and @olegpix

mohsinhijazee commented 4 weeks ago

@olegpix Thank you for your feedback!

I have removed everything that was not relevant (package.json scripts, generated dist/ and other d.ts files including the change related to select plugin) so I hope it is easier to review now.

Also, about packaging and bundling, I think some scripts or steps should be documented within the package.json etc. Not so sure about it. What steps/process do you guys follow for that?

olegpix commented 2 weeks ago

@olegpix Thank you for your feedback!

I have removed everything that was not relevant (package.json scripts, generated dist/ and other d.ts files including the change related to select plugin) so I hope it is easier to review now.

Also, about packaging and bundling, I think some scripts or steps should be documented within the package.json etc. Not so sure about it. What steps/process do you guys follow for that?

Hi, The process is quite simple, you need to run 3 tasks from the Preline root (consistently):

  1. npm run build
  2. npm run build:mjs (optional)
  3. npm run generate-dts That's it.

We'll check and approve your PR after the next update, now we are focused on some other tasks. Thank you for your work!