@thebase/ui 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,25 @@ All notable changes to this project are documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [v1.1.7] - 2026-10-18
8
+
9
+ ### Added
10
+ - `CodeEditor` (pure Base): code box with line numbers, syntax colouring, Tab/Enter indent handling and a copy button, for the language named by the `codeLang` prop (go, c, cpp, java, javascript, typescript, python, rust, sql, json, yaml, css, html, lua, and more). Code can be loaded from a URL (`src`) or a local file (`upload`), with the language picked from the file extension. An **Edit/View** button toggles reading and editing mode (`readonly` sets the starting mode, `toggle="false"` hides the button). A **Format** button (and `Shift+Alt+F`) re-indents code per language (JSON is pretty-printed; bracket languages, Lua, HTML and XML re-indented). Syntax colouring follows `codeLang` (keywords, builtins, function calls, types, strings, numbers, comments, HTML/XML tags, attributes and entities, JSON/YAML keys, CSS properties and colours, annotations, `$variables`) with themeable `--bu-code-*` colours for light and dark. Built from `Badge`, `ClipboardButton`, `Kbd`, `Button`, `Alert` and `Spinner`; docs at `docs/components/code-editor.md` and a Blocks gallery demo (`examples/blocks/code-editor-demo.html`).
11
+ - `Input` accepts `start` and `end` slots, and `Textarea` accepts `start`, `end` and `footer` slots, for text, icons, `Kbd` and `Button` inside the field.
12
+
13
+ ### Changed
14
+ - `Shell` and `Sidebar` switch to the off-canvas mobile drawer below 992px (was 768px), so tablets get the drawer.
15
+ - `NavigationMenu` scrolls horizontally under 768px with an edge fade and no scrollbar.
16
+ - `Markdown` gives task-list checkboxes an accessible name and larger touch targets on coarse pointers.
17
+ - `useTip` tooltip icon now sits right after the label text (circle-question-mark) instead of floating at the field edge.
18
+ - Docs and examples: production pin examples now use `@1.1.7`; `qr-page` service-worker cache bumped to `2qr-cache-v14`.
19
+
20
+ ### Fixed
21
+ - `Chart` bars no longer collapse to 2px lines: the plot has a definite height and each bar is positioned from the bottom of its column.
22
+
23
+ ### Removed
24
+ - **Breaking:** `InputGroup`, `InputGroupAddon`, `InputGroupButton`, `InputGroupText`, `InputGroupInput` and `InputGroupTextarea`, the static `b-ui="input-group"` adapter, and the `input-group` docs page and demo. Migrate to `Input`/`Textarea` slots: `<Input label="'Search'"><t t-set-slot="end"><Button size="'xs'">Go</Button></t></Input>`; a textarea with a send bar becomes `<Textarea><t t-set-slot="footer">…</t></Textarea>`.
25
+
7
26
  ## [v1.1.6] - 2026-10-17
8
27
 
9
28
  ### Added
package/README.md CHANGED
@@ -4,7 +4,7 @@ The Base UI is a CDN-installable UI kit built with Bootstrap 5 styling and Owl f
4
4
 
5
5
  Its strong points: **no build step** — every component runs straight from a CDN `<script>`/import map, nothing to compile; **modular component design** — each component is a self-contained unit you import or mark up individually, not a monolith; **vanilla JavaScript/TypeScript** — no framework lock-in, no JSX, no compiler-specific syntax to learn; and this combination makes it well suited to building **WYSIWYG website builders**, where components must mount, unmount, and re-render dynamically from user-driven markup or drag-and-drop edits rather than a fixed build-time component tree.
6
6
 
7
- Both APIs load straight from a CDN — jsDelivr or unpkg — no build step, no self-hosting required. The snippets below use the `@latest` tag for readability; pin an exact version instead (e.g. `@1.1.6`, or `@1` to take only non-breaking updates) for any production page, since `@latest` can change what your page loads the moment a new version ships. Pure Base usage:
7
+ Both APIs load straight from a CDN — jsDelivr or unpkg — no build step, no self-hosting required. The snippets below use the `@latest` tag for readability; pin an exact version instead (e.g. `@1.1.7`, or `@1` to take only non-breaking updates) for any production page, since `@latest` can change what your page loads the moment a new version ships. Pure Base usage:
8
8
 
9
9
  ```html
10
10
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@thebase/ui@latest/dist/baseui.min.css">
@@ -83,7 +83,7 @@ See [Usage Guide §5b](docs/usage-guide.md) and the [PWA component](docs/compone
83
83
 
84
84
  ## Outlined fields
85
85
 
86
- New in 1.1.5 (1.1.6 adds `useTip` to show helper text in an info-icon tooltip): `Input`, `Textarea`, `NativeSelect`, `Combobox`, `DatePicker`, `Select` and `InputGroup` share one Material-style outlined look (`label`, `supportingText`, `errorText`, `invalid`), and `Field` passes its `label`/`description`/`error` to the control inside. See [Field](docs/components/field.md) and [Input](docs/components/input.md).
86
+ New in 1.1.5 (1.1.6 adds `useTip` to show helper text in an info-icon tooltip): `Input`, `Textarea`, `NativeSelect`, `Combobox`, `DatePicker` and `Select` share one Material-style outlined look (`label`, `supportingText`, `errorText`, `invalid`), and `Field` passes its `label`/`description`/`error` to the control inside. See [Field](docs/components/field.md) and [Input](docs/components/input.md).
87
87
 
88
88
  ## ApiDoc
89
89
 
@@ -91,7 +91,7 @@ New in 1.1.3: `ApiDoc` (`b-ui="apidoc"`) renders an OpenAPI 3 JSON file as brows
91
91
 
92
92
  ## Release notes
93
93
 
94
- See [CHANGELOG.md](CHANGELOG.md) for the full version history. Current version: **1.1.6**.
94
+ See [CHANGELOG.md](CHANGELOG.md) for the full version history. Current version: **1.1.7**.
95
95
 
96
96
  ## Versioning policy
97
97
 
@@ -110,7 +110,7 @@ What each release type means:
110
110
 
111
111
  Anything prefixed `_`, undocumented internals, and the `docs/`/`examples/` sources are not part of the public API. Neither are the source-level authoring helpers described in [Component Authoring](docs/component-authoring.md) (`optional()`, `slotProps`, the `open-state.js` hooks, `bindBootstrapOverlay()`): they aren't exported from the package and may change in any release. Deprecated APIs keep working until the next major and are flagged in the CHANGELOG first.
112
112
 
113
- Pinning: use an exact version (`@1.1.6`) when you need byte-identical output, or the major range (`@1` on jsDelivr/unpkg, `^1.0.0` in npm) to receive fixes and features without breaking changes. Avoid `@latest` in production — it will move to the next major.
113
+ Pinning: use an exact version (`@1.1.7`) when you need byte-identical output, or the major range (`@1` on jsDelivr/unpkg, `^1.0.0` in npm) to receive fixes and features without breaking changes. Avoid `@latest` in production — it will move to the next major.
114
114
 
115
115
  ## Project Documents
116
116
 
@@ -422,7 +422,7 @@ export class Signup extends Component {
422
422
  "src/home/Home.js": `import { Component, useState } from "@thebase/ui";
423
423
  import {
424
424
  Breadcrumb, BreadcrumbItem, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator,
425
- Button, Icon, InputGroup, InputGroupAddon, InputGroupInput, Separator,
425
+ Button, Icon, Input, Separator,
426
426
  Shell, ShellContent, ShellHeader, ShellMain, ShellNav, ShellSidebar, ShellSidebarHeader,
427
427
  SidebarGroupCollapsible, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarTrigger,
428
428
  } from "@thebase/ui";
@@ -433,7 +433,7 @@ export class Home extends Component {
433
433
  static template = "app.Home";
434
434
  static components = {
435
435
  Breadcrumb, BreadcrumbItem, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator,
436
- Button, Icon, InputGroup, InputGroupAddon, InputGroupInput, Separator,
436
+ Button, Icon, Input, Separator,
437
437
  Shell, ShellContent, ShellHeader, ShellMain, ShellNav, ShellSidebar, ShellSidebarHeader,
438
438
  SidebarGroupCollapsible, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarTrigger,
439
439
  };
@@ -456,10 +456,7 @@ export class Home extends Component {
456
456
  </span>
457
457
  </a>
458
458
  </ShellSidebarHeader>
459
- <InputGroup>
460
- <InputGroupAddon><Icon name="'search'"/></InputGroupAddon>
461
- <InputGroupInput type="'search'" placeholder="'Search...'"/>
462
- </InputGroup>
459
+ <Input type="'search'" label="'Search'" leadingIcon="'search'"/>
463
460
  <ShellNav className="'d-flex flex-column gap-2'">
464
461
  <SidebarGroupCollapsible label="'Getting Started'" defaultOpen="true">
465
462
  <SidebarMenu>