<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced comprehensive, customizable Accordion, Dialog, DropdownMenu, and Select UI components with enhanced prop-driven and slot-based APIs. * Added grouped exports for UI primitives, simplifying imports and usage. * Added new Storybook stories demonstrating varied usage scenarios for Accordion, Dialog, DropdownMenu, and Select components. * **Refactor** * Replaced external UI dependencies with locally defined, typed components for Accordion, Dialog, DropdownMenu, and Select. * Streamlined component APIs by consolidating exports to main components and type exports, removing subcomponent exports. * Simplified dialog and dropdown menu implementations with explicit props, events, and slots. * Updated component styles and class bindings for improved appearance and interaction. * Refined select component into a fully featured, typed implementation supporting grouping and multiple selection. * Replaced custom dropdown menu implementation in user profile with the new DropdownMenu component. * Simplified internal prop forwarding using reactive utilities for dropdown menu and select subcomponents. * Improved dropdown menu stories with declarative props and slots, removing manual subcomponent composition. * Simplified notification filter UI by replacing nested select subcomponents with a declarative items prop. * **Bug Fixes** * Improved dropdown and select item handling, including disabled states, separators, and grouped options. * **Style** * Enhanced visual consistency and spacing in documentation and UI components. * Updated component classes for better appearance and usability. * **Chores** * Upgraded `@jsonforms` dependencies across all packages to version `^3.6.0`. * Improved test and mock setups for new component structures. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: mdatelle <mike@datelle.net> Co-authored-by: Eli Bosley <ekbosley@gmail.com>
connect-components via Nuxt 3
Install dependencies
npm i
Dev testing and builds with .env setup
There's 3 version required for various types of development, testing builds in the Unraid webgui, and creating a prod build for the Unraid webgui.
.envfornpm run devlocal development.env.stagingfornpm run build:devwhich tests builds in the Unraid webgui.env.productionfornpm run build:webguiwhich does a production build for the Unraid webgui
For the URL values, you can use what you'd like. So if you're testing locally, you can use http://localhost:5555 for the account app if you have a local version running. Alternatively you're free to use the staging or production URLs.
For productions URLs you could ultimately not provide any value and the URL helpers will default to the production URLs. But for local dev and testing, it's usually easiest to keep the .env key value pairs so you don't forget about them.
.env for npm run dev local development
VITE_ACCOUNT=http://localhost:5555
VITE_CONNECT=https://connect.myunraid.net
VITE_UNRAID_NET=https://preview.unraid.net
VITE_OS_RELEASES="https://releases.unraid.net/os"
VITE_CALLBACK_KEY="FIND_IN_1PASSWORD"
VITE_ALLOW_CONSOLE_LOGS=true
VITE_TAILWIND_BASE_FONT_SIZE=16
.env.staging for npm run build:dev which tests builds in the Unraid webgui
Please take a look at the prebuild:dev & postbuild:dev scripts in package.json to see how the .env.staging file is used.
VITE_ACCOUNT=https://staging.account.unraid.net
VITE_CONNECT=https://connect.myunraid.net
VITE_UNRAID_NET=https://staging.unraid.net
VITE_OS_RELEASES="https://releases.unraid.net/os"
VITE_CALLBACK_KEY="FIND_IN_1PASSWORD"
VITE_ALLOW_CONSOLE_LOGS=TRUE
Notice how VITE_TAILWIND_BASE_FONT_SIZE is not set in the .env.staging file.
This is because the Unraid webgui uses the font-size: 62.5% "trick".
.env.production for npm run build:webgui which does a production build for the Unraid webgui
Please take a look at the prebuild:webgui & postbuild:webgui scripts in package.json to see how the .env.production file is used.
VITE_ACCOUNT=https://account.unraid.net
VITE_CONNECT=https://connect.myunraid.net
VITE_UNRAID_NET=https://unraid.net
VITE_OS_RELEASES="https://releases.unraid.net/os"
VITE_CALLBACK_KEY="FIND_IN_1PASSWORD"
Both VITE_ALLOW_CONSOLE_LOGS and VITE_TAILWIND_BASE_FONT_SIZE should never be set here.