@iyulab/components 1.35.1 → 1.35.6

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.
Files changed (73) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/dist/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/decorate.js +1 -1
  3. package/dist/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/decorateMetadata.js +1 -1
  4. package/dist/assets/locales/ar.json.js +14 -2
  5. package/dist/assets/locales/de.json.js +14 -2
  6. package/dist/assets/locales/en.json.js +14 -2
  7. package/dist/assets/locales/es.json.js +14 -2
  8. package/dist/assets/locales/fr.json.js +14 -2
  9. package/dist/assets/locales/id.json.js +14 -2
  10. package/dist/assets/locales/ja.json.js +14 -2
  11. package/dist/assets/locales/ko.json.js +14 -2
  12. package/dist/assets/locales/pt-BR.json.js +14 -2
  13. package/dist/assets/locales/ru.json.js +14 -2
  14. package/dist/assets/locales/th.json.js +14 -2
  15. package/dist/assets/locales/vi.json.js +14 -2
  16. package/dist/assets/locales/zh-CN.json.js +14 -2
  17. package/dist/assets/locales/zh-TW.json.js +14 -2
  18. package/dist/components/UFloatingElement.js +2 -2
  19. package/dist/components/UFormControlElement.js +3 -3
  20. package/dist/components/UOverlayElement.js +2 -2
  21. package/dist/components/alert/UAlert.js +4 -2
  22. package/dist/components/avatar/UAvatar.js +2 -2
  23. package/dist/components/badge/UBadge.js +2 -2
  24. package/dist/components/breadcrumb/UBreadcrumb.js +1 -1
  25. package/dist/components/breadcrumb-item/UBreadcrumbItem.js +2 -2
  26. package/dist/components/button/UButton.js +3 -3
  27. package/dist/components/button-group/UButtonGroup.js +2 -2
  28. package/dist/components/card/UCard.js +2 -2
  29. package/dist/components/carousel/UCarousel.js +2 -2
  30. package/dist/components/checkbox/UCheckbox.js +2 -2
  31. package/dist/components/checkbox/UCheckbox.styles.js +5 -2
  32. package/dist/components/chip/UChip.js +2 -2
  33. package/dist/components/copy-button/UCopyButton.js +4 -2
  34. package/dist/components/date-picker/UDatePicker.js +6 -6
  35. package/dist/components/dialog/UDialog.js +4 -2
  36. package/dist/components/divider/UDivider.js +2 -2
  37. package/dist/components/drawer/UDrawer.js +4 -2
  38. package/dist/components/expander/UExpander.js +2 -2
  39. package/dist/components/field/UField.js +2 -2
  40. package/dist/components/form/UForm.js +2 -2
  41. package/dist/components/icon/UIcon.js +2 -2
  42. package/dist/components/icon-button/UIconButton.d.ts +8 -0
  43. package/dist/components/icon-button/UIconButton.js +18 -2
  44. package/dist/components/input/UInput.js +6 -2
  45. package/dist/components/menu/UMenu.js +2 -2
  46. package/dist/components/menu-item/UMenuItem.js +2 -2
  47. package/dist/components/option/UOption.js +2 -2
  48. package/dist/components/panel/UPanel.js +2 -2
  49. package/dist/components/popover/UPopover.js +2 -2
  50. package/dist/components/progress-bar/UProgressBar.js +2 -2
  51. package/dist/components/progress-ring/UProgressRing.js +2 -2
  52. package/dist/components/radio/URadio.js +2 -2
  53. package/dist/components/rating/URating.js +2 -2
  54. package/dist/components/select/USelect.js +2 -2
  55. package/dist/components/skeleton/USkeleton.js +2 -2
  56. package/dist/components/slider/USlider.js +3 -3
  57. package/dist/components/spinner/USpinner.js +2 -2
  58. package/dist/components/split-panel/USplitPanel.js +2 -2
  59. package/dist/components/switch/USwitch.js +2 -2
  60. package/dist/components/tab/UTab.js +2 -2
  61. package/dist/components/tab-panel/UTabPanel.js +2 -2
  62. package/dist/components/tag/UTag.js +2 -2
  63. package/dist/components/text/UText.js +2 -2
  64. package/dist/components/textarea/UTextarea.js +2 -2
  65. package/dist/components/tooltip/UTooltip.js +2 -2
  66. package/dist/components/tree/UTree.js +2 -2
  67. package/dist/components/tree-item/UTreeItem.js +2 -2
  68. package/dist/index.js +1 -1
  69. package/dist/utilities/BrowserStorage.js +3 -3
  70. package/dist/utilities/Locale.d.ts +1 -1
  71. package/package.json +2 -1
  72. package/skills/iyulab-components/references/utilities/browser-storage.md +18 -5
  73. package/skills/iyulab-components/references/utilities/theme.md +1 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iyulab/components",
3
3
  "description": "web-components library based on lit-element made by iyulab",
4
- "version": "1.35.1",
4
+ "version": "1.35.6",
5
5
  "keywords": [
6
6
  "iyulab",
7
7
  "components",
@@ -47,6 +47,7 @@
47
47
  "./plugins/*": "./dist/plugins/*"
48
48
  },
49
49
  "scripts": {
50
+ "preversion": "node -e \"if(require('fs').existsSync('../../scripts/preversion-check.mjs'))require('child_process').execFileSync('node',['../../scripts/preversion-check.mjs'],{stdio:'inherit'})\"",
50
51
  "start": "vite --force",
51
52
  "test": "vitest run",
52
53
  "test:browser": "vitest run --project=browser",
@@ -6,6 +6,11 @@ import { BrowserStorage } from '@iyulab/components';
6
6
 
7
7
  Unified key-value storage API over `localStorage` or browser cookies.
8
8
 
9
+ ⚠ Cookie storage uses the [Cookie Store API](https://developer.mozilla.org/en-US/docs/Web/API/CookieStore)
10
+ (`window.cookieStore`) — supported in Chromium browsers, not yet in Safari or Firefox as of
11
+ writing. `new BrowserStorage({ type: 'cookie' })` throws `"Cookies are not supported in this
12
+ browser."` where it's unavailable; `localStorage` has no such restriction.
13
+
9
14
  ## Usage
10
15
 
11
16
  ```ts
@@ -20,7 +25,7 @@ await storage.remove('theme');
20
25
  const cookieStorage = new BrowserStorage({
21
26
  type: 'cookie',
22
27
  path: '/',
23
- maxAge: 60 * 60 * 24 * 30 // 30 days
28
+ expires: Date.now() + 30 * 24 * 60 * 60 * 1000 // 30 days, ms since epoch
24
29
  });
25
30
 
26
31
  await cookieStorage.set('session', 'abc123');
@@ -37,7 +42,10 @@ await cookieStorage.set('session', 'abc123');
37
42
  ## Types
38
43
 
39
44
  ```ts
40
- type BrowserStorageOptions = LocalStorageOptions | CookieOptions;
45
+ type BrowserStorageOptions = (LocalStorageOptions | CookieOptions) & {
46
+ /** Prefix prepended to every key. */
47
+ prefix?: string;
48
+ };
41
49
 
42
50
  interface LocalStorageOptions {
43
51
  type: 'localStorage';
@@ -46,9 +54,14 @@ interface LocalStorageOptions {
46
54
  interface CookieOptions {
47
55
  type: 'cookie';
48
56
  path?: string;
49
- domain?: string;
50
- maxAge?: number;
57
+ domain?: string | null;
58
+ /** Expiry as ms since epoch (`DOMHighResTimeStamp`). Omit for a session cookie. */
59
+ expires?: DOMHighResTimeStamp | null;
51
60
  sameSite?: 'strict' | 'lax' | 'none';
52
- secure?: boolean;
61
+ /** Partitioned cookie (CHIPS) — isolates the cookie per top-level site in a third-party context. */
62
+ partitioned?: boolean;
53
63
  }
54
64
  ```
65
+
66
+ Only `'localStorage'` and `'cookie'` are valid `type` values — there is no `'sessionStorage'`
67
+ storage backend.
@@ -16,7 +16,7 @@ await Theme.init({
16
16
  useBuiltIn: true, // inject bundled CSS variables (default: true)
17
17
  store: { // persist to storage (optional)
18
18
  type: 'localStorage',
19
- key: 'theme'
19
+ prefix: 'myapp-'
20
20
  },
21
21
  debug: false
22
22
  });