qwikifiers / qwik-ui Goto Github PK
View Code? Open in Web Editor NEWQwik's official Headless and styled component library
Home Page: https://qwikui.com
License: MIT License
Qwik's official Headless and styled component library
Home Page: https://qwikui.com
License: MIT License
Upgrade all of the packages (especially the Qwik ones) to latest versions so we could update the qwik-nx plugin
Example 1 -
<Select.Root>
<Select.Trigger>
<Select.Item>
Example 2:
<Select>
<SelectTrigger>
<SelectItem>
Example 3:
<Select>
<Select_Trigger>
<Select_Item>
A style guide should be written to maintain consistency across contributions.
E.g. Including a Signal
suffix at the end of variables that utilizes Qwik's useSignal
Still missing:
item[prop]
)Accessibility is super important in my environment, and DaisyUI has real issues when it comes to accessibility.
Have you considered using a UI set like Headless UI that puts accessibility first?
@gioboa wanted to work on this
We already have Cypress set up, which has a great DX (but no tests yet)
I wonder if we need to add playwright or is Cypress enough
This problem surfaced in trying to re-create native Select behavior.
Native Tab
behavior on a select
element activates the currently focused option and moves to the next tabbable element, usually the next form input element. As we have re-implemented the Select component without using native elements in favor of better styling capability, additional keyboard event listeners have to be implemented for accessibility.
However, Qwik currently only works with preventDefault
as an attribute to an element like so:
<button preventDefault:onKeyUp>
</button>
and the following does not work:
<button onKeyUp$={(e) => {
if (e.key === 'Tab') {
e.preventDefault()
}
}}>
</button>
This means that in order for us to recreate native Tab
behavior for a Select component, we would have to set preventDefault
on the element, and then re-implement existing behavior like Enter
or Space
to activate the element. This is potentially extra tedium or would clash with what users may expect when using Qwik UI in the future to compose their own components.
Running in nx preview website
throws errors related in to invalid JSX.
Might be related to changes in prop destructuring.
A Dialog is an UX-concept that is often used in projects.
We can provide a Dialog having an API that guides developers through the most common use cases:
Dialog.Actions
)Hi there
Great idea and work on this UI lib ๐
Wanted to have a look at your storybook impl. end found this error below while building a static version of storybook.
* Executing task: npx nx run core:build-storybook
> nx run core:build-storybook
> NX ui framework: @storybook/html
> NX Storybook builder starting ...
info => Cleaning outputDir: /Users/zanettin/development/tests/qwik-ui/dist/storybook/core
info => Loading presets
info => Loading custom manager config
info => Compiling manager..
info => Loading custom manager config
vite v3.2.1 building for production...
transforming (616) ../../node_modules/@mdx-js/react/dist/esm.js
๐ผ daisyUI components 2.38.0 https://github.com/saadeghi/daisyui
โ๏ธ Including: base, components, themes[29], utilities
โ 1052 modules transformed.
[vite]: Rollup failed to resolve import "@qwik-city-plan" from "packages/core/src/s_aaalzkh0klq.js".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
transforming (1258) ../../node_modules/lodash/_cacheHas.jsinfo => Manager built (21 s)
> NX [vite]: Rollup failed to resolve import "@qwik-city-plan" from "packages/core/src/s_aaalzkh0klq.js".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
Pass --verbose to see the stacktrace.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
> NX Ran target build-storybook for project core (23s)
โ 1/1 failed
โ 0/1 succeeded [0 read from cache]
See Nx Cloud run details at https://nx.app/runs/4wHL3jkmOH
* The terminal process "/bin/zsh '-c', 'npx nx run core:build-storybook'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
Setup storybook for docs
Currently the `...props` is overriding the inner `class` of the component
for example:
<Alert class="alert-success">Message</Alert>
Will not render correctly because it'll replace the built in alert
class inside the component
We need to merge them so both alert
and alert-success
will be part of the inner component's css class
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.