budibase/packages/bbui
Andrew Kingston e5271bdef1 Command palette (#9942)
* command palette E2E

* tidy up

* Improve theming with spectrum badges and dedupe spectrum label usage

* Update data section nav to match designs and use panel component

* Fix main content layout in data section

* Update data section routing for tables

* Improve data section routing for tables to account for edge cases

* Update internal and sample datasource routing

* Update external datasource routing

* Update routing for queries and make a top level concept like everything else

* Update routing for views

* Fix undefined reference when deleting datasource

* Reduce network calls and fix issues with stale datasourcenavigator state

* Update routing for REST queries and unify routes for normal queries and REST queries

* Lint

* Fix links for queries from datasource details page

* Remove redundant API calls and improve table deletion logic

* Improve data entity deletion logic and redirection and fix query details keying

* Improve determination of selected item in datasource tree

* Update command palette to support new data routes

* Update command palette, fix keybind issues and updating loading state

* Lint

* Fix publish command and fix preview published app URL

* Fix BBUI import

* Lint

* Fix datasource navigator selected state not working for internal DB or sample data

* Update command palette to use ctr+k/cmd+k

* Update command palette to match new designs and add visible categories

* Restore missing styles£

* Use proper theme constants for changing theme in command palette

* Add command palette action for inviting users

---------

Co-authored-by: Martin McKeaveney <martinmckeaveney@gmail.com>
2023-03-09 14:15:43 +00:00
..
src Command palette (#9942) 2023-03-09 14:15:43 +00:00
.gitignore
LICENSE
README.md Fixing issue that refactoring file caused (some strings renamed to ts rather than js). 2022-09-22 15:18:10 +01:00
package.json v2.4.8-alpha.3 2023-03-09 08:58:17 +00:00
rollup.config.js Fixing issue that refactoring file caused (some strings renamed to ts rather than js). 2022-09-22 15:18:10 +01:00
yarn.lock Quick updates for #8989 - this issue appeared to be fixed already but just adding a few extra bits of security to make sure that looping only occurs when valid data is found in the binding. 2023-01-24 19:09:36 +00:00

README.md

Budibase bbui

A package that handles all common components across the Budibase organisation. You can find the current live version Here.

Install

  1. Clone
  2. npm install
  3. npm run svench

(Note: yarn won't work!)

Example workflow to create a component

  1. Create a file: Headline.svelte
  2. Create a Svench file: Headline.svench
  3. Build component and add variants to the Svench file.
  4. Once done, re-export the file in src/index.js.
  5. Publish, update the package in the main project and profit.

Guidelines

Making components

  1. Think about re-usability
  2. Use the css custom properties (variables) that are in the css stylesheet. This makes it easy to tweak things later down the line.
  3. Opt to forward events (<button on:click> for example) rather than using callbacks.
  4. Avoid adding margins to the outermost container of the component.

Using components and the styleguide

  1. Get familiar with the different props that exist on the component. If something vital is missing, make a PR and add it.
  2. Take advantage of the css custom properties in the stylesheet and avoid writing hard-coded values.
  3. Since there is no margin on the components, think about the structure of the DOM and how to achieve correct spacing, etc. This can be done using css grid + grid gap or with a container div where you specify a padding or margin. The best solution depends on the circumstance.

TODO

  • Figure out a good documentation situation
  • Add testing suite (E2E using Playwright?)

Other

The project uses Svench. It is somewhat akin to Storybook but a lot less bloated and much easier to setup. It also supports HMR for quick development.