B4J Library [Web][SithasoDaisy5][Beta] - Create WebSites & WebApps with the power of the Abstract Designer (OpenSource)

DISCLAIMER - TO AVOID CONFUSION, THIS IS A NEW B4XLIB AND NOT SITHASODAISY 2, THIS IS OPEN-SOURCE, SITHASODAISY 2 IS NOT
PLEASE NOTE THAT ALL REFERENCES TO THIS B4XLIB WILL BE [SithasoDaisy5] OR [SDV5]

January 2025: SITHASODAISY5 is currently in BETA and is still being developed


1736854785728.png



SithasoDaisy 2 is currently being maintained using TailwindCSS 3 and DaisyUI 2. When we finished wrapping up the b4x version, the DaisyUI team was working on DaisyUI 3. Currently DaisyUI4 is stable, however, updating our offering to version 4 meant rewriting some of the crucial code that affects the most important components like table and input components. We opted not to, we have learned it was a good decision.

Yes the changelogs were provided, however rewriting, testing and debugging would have proven time consuming. Actually I am glad we waited and did not update. After all SithasoDaisy 2 is still stable and usable, being using it across my development space and yours. We will be releasing some apps based on SithasoDaisy 2 during the course of this year also.

The DaisyUI team is currently working on DaisyUI5, which will be developed using TailwindCSS 4. This brings a lot of new components, speed and other nice important things and also a smaller bundle size. So it makes sense that we also prepare for this move. As of today, 12 January 2025, 90% has been completed by the DaisyUI team and yes, TailwindCSS 4 is still in beta, thus making DaisyUI a beta version.

This brings us to SithasoDaisy5. We have started studying and wrapping the components. This demands a lot of work and time. It is never easy actually wrapping these web components, however it is worth it. We want to bring you the best and this being the most popular b4x component library for web development using BANano.

Why we chose DaisyUI...

Supercharges Tailwind CSS


DaisyUI takes the power of Tailwind and simplifies it with pre-built, customizable components. You get the best of both worlds: the utility-first approach of Tailwind and the rapid prototyping ability of a component library.

Ready-to-Use Components
With DaisyUI, you have access to a wide range of components like buttons, cards, modals, alerts, and more. These are pre-styled, responsive, and look amazing right out of the box.

Themeable by Design
DaisyUI makes theming effortless. Whether you’re building a light or dark mode, or customizing your brand's palette, DaisyUI supports themes with simple, intuitive configuration.

Customizable
Unlike rigid libraries, DaisyUI components are built with Tailwind classes, so you can easily tweak them to fit your exact design needs without fighting against predefined styles.

Developer-Friendly
Its intuitive syntax is easy to learn and integrate, even for teams new to Tailwind CSS. Plus, it's well-documented, making the development process smooth and hassle-free.

Lightweight & Performant
No unnecessary bloat. DaisyUI is lightweight, keeping your bundle sizes in check and your app’s performance top-notch.

Active Community and Regular Updates
Backed by a vibrant community and maintained actively, DaisyUI is always evolving with the latest best practices and features.

Why reinvent the wheel when you can save time, effort, and resources? With DaisyUI, you can build modern, responsive, and stunning web applications faster than ever.

Don’t just take our word for it—try it out today and experience the difference!, https://daisyui.com/

Now, using the b4j abstract designer, you can now enjoy all the DaisyUI functionality using your favorate IDE. You drag and drop components, set up properties and using LoadLayout, are able to see your UI in no time, just the way you designed it.

There is still a long way to go though before we finalize SDV5.

What's New?

1. SithasoDaisy5 is a NEW b4xlib and not an update to SithasoDaisy2.
2. SithasoDaisy5 is NOT backward compatible with SithasoDaisy2.
3. The component names start with SDUI5.
4. This b4xlib cannot be used in Production Apps as yet. Things might change and code cleanups will be done.
5. FontAwesome is no longer used, for icons one should use SVG icon files.
6. Supports both Abstract Designer & Code for building the UI. The abstract designer is a low code mode of creating your UI whilst writing code to create the UI can be cumbersome. To ease this one uses getters and setters. These getters and setters match 99% of the names used in the DaisyUI documentation.
7. Works well with the latest version of BANano i.e. 9+
8. SithasoDaisy5 is OPEN-SOURCE, compared to all the previous versions of SithasoDaisy. All previous versions of SithasoDaisy are commercial products.

Try the Demo (Open Source)

1. Download BANano
2. Download SithasoDaisy5. Copy the b4xlib to your b4j additional libraries folder.
3. Open and run the Demo project.

Have fun!

Here is a YT video...


Related Thread:




Tutorials



PLEASE DO NOT ASK QUESTIONS ON THIS THREAD. WHEN YOU ASK QUESTIONS, PLEASE PREFIX YOUR QUESTION WITH [WEB][SITHASODAISY5]

 
Last edited:

Mashiane

Expert
Licensed User
Longtime User
Repo

Demo

The latest demo is now available. Please note that some components have been flagged, for example.

bugs - the component exists but has known bugs
wip - the component exists and is still being wrapped
badge - the component has not been wrapped
everything else - the component UI is complete, events could be pending.

1737569662219.png
 

Mashiane

Expert
Licensed User
Longtime User
The DaisyUI team is moving forward in earnest to launch...

1739441624576.png


See DaisyUI in action

We are also on their heels making sure that SithasoDaisy will be launching soon.

See SithasoDaisy5 in action

PLEASE DO NOT ASK QUESTIONS ON THIS THREAD. WHEN YOU ASK QUESTIONS, PLEASE PREFIX YOUR QUESTION WITH [WEB][SITHASODAISY5]
 

Mashiane

Expert
Licensed User
Longtime User
Custom Build Components & Functionality

  • PlayGround - TailwindCSS Grid Builder
  • Date & Time Picker
  • Bottom Drawer
  • Date Timeline Picker
  • Checkbox Group
  • Toggle Group
  • Radio Group
  • Group Select
  • Validations
  • Preferences Dialog
  • Bug Fixes





PLEASE DO NOT ASK QUESTIONS ON THIS THREAD. WHEN YOU ASK QUESTIONS, PLEASE PREFIX YOUR QUESTION WITH [WEB][SITHASODAISY5]
 

Mashiane

Expert
Licensed User
Longtime User
Hi Fam

The company that has built the MIT based component library for TailwindCSS named DaisyUI5, which is the basis for our SithasoDaisy5 has now released DaisyUI5.



We have been on a drive to build SithasoDaisy5, the next COMPLETELY NEW iteration of SithasoDaisy with speed and perfection in line with what TailwindCSS 4 has to offer. This new BANano based b4xlib is not an update but a completely new way of developing your Single Page Application (SPA) and or Progressive Web App (PWA). This takes the full power of BANAno to the next level like RemoveDeadCode, making your apps faster and lighter. Don't just take our word for it. Check it out now with this Vercel Demo.

99.9% of what you see in the demo app is based on designs done using the b4j Abstract Designer. We will also be launching SithasoDaisy5 soon. Remember it's open source, use as you please. Have fun and enjoy this next level.

Stay blessed

PLEASE DO NOT ASK QUESTIONS ON THIS THREAD. WHEN YOU ASK QUESTIONS, PLEASE PREFIX YOUR QUESTION WITH [WEB][SITHASODAISY5]
 

Mashiane

Expert
Licensed User
Longtime User
Forms & Validation

We created a form using the abstract designer and added validation to it.

Abstract Designer

1741076507507.png


RealLife Form

1741076455440.png


Validation & Getting Form Contents

B4X:
'Static code module
Sub Process_Globals
    Private BANano As BANano        'ignore
    Private app As SDUI5App            'ignore
    Private btnCancel As SDUI5Button
    Private btnSave As SDUI5Button
    Private cboQualification As SDUI5Select
    Private chkAgree As SDUI5CheckBox
    Private chkBreakfast As SDUI5CheckBoxGroup
    Private fpImage As SDUI5FileInput
    Private gsActivities As SDUI5GroupSelect
    Private pgTasks As SDUI5Progress
    Private rdGender As SDUI5RadioGroup
    Private rgSalary As SDUI5Range
    Private rtService As SDUI5Rating
    Private txtdob As SDUI5TextBox
    Private txtfirstname As SDUI5TextBox
    Private txtlastname As SDUI5TextBox
    Private txtPersonalDetails As SDUI5TextArea
End Sub


Sub Show(MainApp As SDUI5App)
    app = MainApp
    BANano.LoadLayout(app.PageView, "validationview")
    pgIndex.UpdateTitle("Validation")
End Sub


Private Sub btnSave_Click (e As BANanoEvent)
    'begin validation of components
    app.ResetValidation
    'validate each of the elements
    app.Validate(txtfirstname.IsBlank)
    app.Validate(txtlastname.IsBlank)
    app.Validate(txtdob.IsBlank)
    app.Validate(chkBreakfast.IsBlank)
    app.Validate(gsActivities.IsBlank)
    app.Validate(rdGender.IsBlank)
    app.Validate(rgSalary.IsBlank)
    app.Validate(rtService.IsBlank)
    app.Validate(cboQualification.IsBlank)
    app.Validate(txtPersonalDetails.IsBlank)
    app.Validate(chkAgree.IsBlank)
    app.Validate(fpImage.IsBlank)
    
'    app.Validate(txtEmail.IsBlank)
'    app.Validate(txtTelephone.IsBlank)
'    app.Validate(txtAddress.IsBlank)
'    app.Validate(radGender.IsBlank)
    'check the form status
    If app.IsValid = False Then
        app.ShowToastError("Please specify all required information!")
        Return
    End If
    '
    Dim rec As Map = CreateMap()
    rec.Put("firstname", txtfirstname.Value)
    rec.Put("lastname", txtlastname.Value)
    rec.Put("date_of_birth", txtdob.Value)
    rec.Put("breakfast", chkBreakfast.Value)
    rec.Put("activities", gsActivities.Value)
    rec.Put("gender", rdGender.Value)
    rec.Put("salary", rgSalary.Value)
    rec.Put("rate_service", rtService.Value)
    rec.Put("qualification", cboQualification.Value)
    rec.Put("personal_details", txtPersonalDetails.Value)
    rec.Put("agree", chkAgree.Checked)
    rec.Put("profile_image", fpImage.GetFile)
    Log(rec)
End Sub

Private Sub btnCancel_Click (e As BANanoEvent)
    
End Sub

PLEASE DO NOT ASK QUESTIONS ON THIS THREAD. WHEN YOU ASK QUESTIONS, PLEASE PREFIX YOUR QUESTION WITH [WEB][SITHASODAISY5]
 
Top