@vollowx/seele 0.12.4 → 0.12.5

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/LICENSE CHANGED
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2023-2026 Vollow
189
+ Copyright 2023-2026 Lucas X. Zhao
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -1,19 +1,20 @@
1
1
  # Standard Extensible Elements
2
2
 
3
- **SEELE** is a modern, lightweight and accessible
3
+ SEELE (**S**tandard **E**xtensible **Ele**ments) is a extensible
4
4
  [Web Components](https://developer.mozilla.org/en-US/docs/Web/API/Web_components)
5
- library. It provides a set of highly customizable UI components that follow the
6
- [Material Design 3](https://m3.material.io/) guidelines out of the box, while
7
- being designed for easy extension and restyling.
5
+ library with a focus on accessibility and keyboard-control.
8
6
 
9
- Visit the [website of SEELE](https://seele.v9.nz/) for documentation and demos.
7
+ It also provides styled components in the following design guideline(s):
8
+ - [Material You Expressive](https://m3.material.io/)
9
+
10
+ Documentations and demos are at [seele.projects.v9.nz](https://seele.projects.v9.nz/).
10
11
 
11
12
  ## Installation
12
13
 
13
14
  SEELE is published on [npm](https://www.npmjs.com/package/@vollowx/seele),
14
15
  install with your preferred package manager:
15
16
 
16
- ```bash
17
+ ```sh
17
18
  npm install @vollowx/seele
18
19
 
19
20
  yarn add @vollowx/seele
@@ -21,18 +22,18 @@ yarn add @vollowx/seele
21
22
  bun add @vollowx/seele
22
23
  ```
23
24
 
24
- ## Usage
25
+ ## Quickstart
25
26
 
26
27
  ### Importing
27
28
 
28
- You can import the entire library or individual components to keep your bundle size small.
29
+ You can import the entire library or import as needed.
29
30
 
30
31
  ```javascript
31
32
  // Import all components
32
33
  import '@vollowx/seele';
33
34
 
34
35
  // Or import specific components (recommended)
35
- // They all follow such path :@/catagory/group/component.js
36
+ // They all follow such path: @/catagory/group/component.js
36
37
  import '@vollowx/seele/m3/button/common-button.js';
37
38
  import '@vollowx/seele/m3/checkbox/checkbox.js';
38
39
  ```
@@ -53,25 +54,33 @@ Once imported, the components can be used just like standard HTML elements.
53
54
 
54
55
  ### Theming
55
56
 
56
- SEELE components use CSS variables for styling.
57
-
58
- Currently, Material Design 3 token variables are not yet included in the source
59
- code.
60
-
61
- To style the components correctly, you need to define the necessary CSS
62
- variables in your project. You can find reference implementations in
63
- [vollowx/seele-docs](https://github.com/vollowx/seele-docs/) or the `dev` folder
64
- of this repository.
57
+ SEELE components use CSS variables for styling. To include the systems, add
58
+ this to your style files.
59
+
60
+ ```css
61
+ @import '@vollowx/seele/m3/systems/base.css';
62
+ /* This includes basic system variables like motion system and typography system */
63
+ @import '@vollowx/seele/m3/systems/defaults.css';
64
+ /* (Optional) This includes basic styling for body, selection and links */
65
+
66
+ /*
67
+ * Note that there is no default color system since the way you implement theme
68
+ * switching and color changing varies.
69
+ *
70
+ * You can still find some references in dev/shared.css
71
+ */
72
+ ```
65
73
 
66
- ## Browser Supporty
74
+ ## Browser Support
67
75
 
68
76
  SEELE relies on modern web standards like `ElementInternals`.
77
+ However in 2026 you don't really need to worry about this.
69
78
 
70
- - **Chromium**: `>= 125.0`
71
- - **Firefox**: `>= 126.0`
79
+ - Chromium-based ones: >= 125.0
80
+ - Firefox-based ones: >= 126.0
72
81
 
73
- ## Resources
82
+ ## Other Information
74
83
 
75
84
  - [Roadmap](./ROADMAP.md)
76
85
  - [Contributing](./CONTRIBUTING.md)
77
- - [License](./LICENSE)
86
+ - [License (Apache-2.0)](./LICENSE)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vollowx/seele",
3
- "version": "0.12.4",
4
- "description": "Standard Extensible Elements. A web components library that can be styled and extended freely, pre-providing components in Material Design 3.",
3
+ "version": "0.12.5",
4
+ "description": "A extensible Web Components library, with Material Design 3 components pre-provided.",
5
5
  "author": "vollowx",
6
6
  "license": "Apache-2.0",
7
7
  "type": "module",
@@ -49,20 +49,20 @@
49
49
  },
50
50
  "devDependencies": {
51
51
  "@custom-elements-manifest/analyzer": "^0.11.0",
52
- "@swc/core": "^1.15.18",
53
- "@types/bun": "^1.3.11",
52
+ "@swc/core": "^1.15.30",
53
+ "@types/bun": "^1.3.13",
54
54
  "@web/dev-server": "^0.4.6",
55
55
  "@web/dev-server-esbuild": "^1.0.5",
56
56
  "chokidar": "^5.0.0",
57
57
  "lightningcss": "^1.32.0",
58
- "postcss": "^8.5.8",
58
+ "postcss": "^8.5.10",
59
59
  "postcss-cli": "^11.0.1",
60
60
  "postcss-sorting": "^9.1.0",
61
- "prettier": "^3.8.1"
61
+ "prettier": "^3.8.3"
62
62
  },
63
63
  "dependencies": {
64
64
  "@floating-ui/dom": "^1.7.6",
65
- "@swc/helpers": "^0.5.19",
65
+ "@swc/helpers": "^0.5.21",
66
66
  "lit": "^3.3.2"
67
67
  }
68
68
  }
@@ -1,2 +1,2 @@
1
1
  import { css } from 'lit';
2
- export const listItemStyles = css`:host{--md-focus-ring-shape:12px;--md-focus-ring-inward-offset:-3px;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:4px;outline:0;display:flex}:host(:not([hidden]):first-of-type){border-radius:12px 12px 4px 4px}:host(:not([hidden]):last-of-type){border-radius:4px 4px 12px 12px}:host(:state(selected)){--md-item-supporting-text-color:var(--md-sys-color-on-tertiary-container);background-color:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-radius:12px}:host(:disabled){cursor:default;opacity:.3;pointer-events:none}md-item,md-item div[slot=container]{border-radius:inherit}`;
2
+ export const listItemStyles = css`:host{--md-focus-ring-shape:12px;--md-focus-ring-inward-offset:-3px;background-color:var(--_background,transparent);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:4px;outline:0;display:flex}:host(:not([hidden]):first-of-type){border-radius:12px 12px 4px 4px}:host(:not([hidden]):last-of-type){border-radius:4px 4px 12px 12px}:host(:state(selected)){--md-item-supporting-text-color:var(--md-sys-color-on-tertiary-container);background-color:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-radius:12px}:host(:disabled){cursor:default;opacity:.3;pointer-events:none}md-item,md-item div[slot=container]{border-radius:inherit}`;
@@ -1,2 +1,2 @@
1
1
  import { css } from 'lit';
2
- export const listStyles = css`:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;outline:0;flex-direction:column;gap:2px;min-width:112px;height:max-content;padding:4px;display:flex;position:relative;overflow-y:auto}`;
2
+ export const listStyles = css`:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;outline:0;flex-direction:column;gap:2px;min-width:112px;height:max-content;padding:4px;display:flex;position:relative;overflow-y:auto}:host([color=segmented]) ::slotted(md-list-item){--_background:var(--md-sys-color-surface-container)}`;
@@ -1,5 +1,5 @@
1
1
  import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
2
- import { customElement } from 'lit/decorators.js';
2
+ import { customElement, property } from 'lit/decorators.js';
3
3
  import { List } from '../../base/list.js';
4
4
  import { listStyles } from './list-styles.css.js';
5
5
  export class M3List extends List {
@@ -15,9 +15,14 @@ export class M3List extends List {
15
15
  'md-list-item',
16
16
  'md-list-item-checkbox',
17
17
  'md-list-item-radio'
18
- ];
18
+ ], this.color = 'standard';
19
19
  }
20
20
  }
21
+ _ts_decorate([
22
+ property({
23
+ reflect: true
24
+ })
25
+ ], M3List.prototype, "color", void 0);
21
26
  M3List = _ts_decorate([
22
27
  customElement('md-list')
23
28
  ], M3List);