@aceshooting/lyra-ui 0.1.4 → 1.0.0

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 (86) hide show
  1. package/README.md +17 -8
  2. package/custom-elements.json +4460 -2940
  3. package/dist/components/chart/bar-chart.stories.d.ts +5 -0
  4. package/dist/components/chart/bar-chart.stories.js +20 -0
  5. package/dist/components/chart/box-plot.stories.d.ts +5 -0
  6. package/dist/components/chart/box-plot.stories.js +29 -0
  7. package/dist/components/chart/bubble-chart.stories.d.ts +5 -0
  8. package/dist/components/chart/bubble-chart.stories.js +26 -0
  9. package/dist/components/chart/doughnut-chart.stories.d.ts +5 -0
  10. package/dist/components/chart/doughnut-chart.stories.js +26 -0
  11. package/dist/components/chart/histogram.stories.d.ts +5 -0
  12. package/dist/components/chart/histogram.stories.js +17 -0
  13. package/dist/components/chart/line-chart.stories.d.ts +5 -0
  14. package/dist/components/chart/line-chart.stories.js +24 -0
  15. package/dist/components/chart/pie-chart.stories.d.ts +5 -0
  16. package/dist/components/chart/pie-chart.stories.js +26 -0
  17. package/dist/components/chart/polar-area-chart.stories.d.ts +5 -0
  18. package/dist/components/chart/polar-area-chart.stories.js +20 -0
  19. package/dist/components/chart/radar-chart.stories.d.ts +5 -0
  20. package/dist/components/chart/radar-chart.stories.js +20 -0
  21. package/dist/components/chart/scatter-chart.stories.d.ts +5 -0
  22. package/dist/components/chart/scatter-chart.stories.js +31 -0
  23. package/dist/components/combobox/combobox.d.ts +26 -1
  24. package/dist/components/combobox/combobox.js +147 -31
  25. package/dist/components/combobox/combobox.styles.js +21 -0
  26. package/dist/components/combobox/option.d.ts +4 -0
  27. package/dist/components/combobox/option.js +10 -0
  28. package/dist/components/date-picker/calendar-core.d.ts +6 -2
  29. package/dist/components/date-picker/calendar-core.js +23 -4
  30. package/dist/components/date-picker/date-input.d.ts +1 -0
  31. package/dist/components/date-picker/date-input.js +19 -2
  32. package/dist/components/date-picker/date-picker.js +4 -2
  33. package/dist/components/date-picker/date-picker.styles.js +5 -1
  34. package/dist/components/empty/empty.stories.d.ts +5 -0
  35. package/dist/components/empty/empty.stories.js +14 -0
  36. package/dist/components/export-button/export-button.js +7 -2
  37. package/dist/components/export-button/export-button.stories.d.ts +6 -0
  38. package/dist/components/export-button/export-button.stories.js +32 -0
  39. package/dist/components/file-input/file-input.stories.d.ts +5 -0
  40. package/dist/components/file-input/file-input.stories.js +10 -0
  41. package/dist/components/flag/flag.js +12 -2
  42. package/dist/components/gauge/gauge.js +8 -4
  43. package/dist/components/gauge/gauge.stories.d.ts +6 -0
  44. package/dist/components/gauge/gauge.stories.js +13 -0
  45. package/dist/components/graph/graph.stories.d.ts +5 -0
  46. package/dist/components/graph/graph.stories.js +30 -0
  47. package/dist/components/heatmap/heatmap.stories.d.ts +5 -0
  48. package/dist/components/heatmap/heatmap.stories.js +24 -0
  49. package/dist/components/map/map.d.ts +6 -0
  50. package/dist/components/map/map.js +69 -9
  51. package/dist/components/map/map.stories.d.ts +5 -0
  52. package/dist/components/map/map.stories.js +40 -0
  53. package/dist/components/playback/playback.js +6 -0
  54. package/dist/components/playback/playback.stories.d.ts +5 -0
  55. package/dist/components/playback/playback.stories.js +10 -0
  56. package/dist/components/skeleton/skeleton.stories.d.ts +5 -0
  57. package/dist/components/skeleton/skeleton.stories.js +16 -0
  58. package/dist/components/split/split.d.ts +1 -0
  59. package/dist/components/split/split.js +25 -4
  60. package/dist/components/split/split.stories.d.ts +5 -0
  61. package/dist/components/split/split.stories.js +16 -0
  62. package/dist/components/stat/stat.stories.d.ts +5 -0
  63. package/dist/components/stat/stat.stories.js +16 -0
  64. package/dist/components/table/table.stories.d.ts +6 -0
  65. package/dist/components/table/table.stories.js +22 -0
  66. package/dist/components/time-range/time-range.stories.d.ts +6 -0
  67. package/dist/components/time-range/time-range.stories.js +13 -0
  68. package/dist/components/toast/toast-item.d.ts +1 -0
  69. package/dist/components/toast/toast-item.js +16 -1
  70. package/dist/components/tree/tree.stories.d.ts +5 -0
  71. package/dist/components/tree/tree.stories.js +22 -0
  72. package/dist/components/widget/widget.d.ts +40 -0
  73. package/dist/components/widget/widget.js +159 -0
  74. package/dist/components/widget/widget.stories.d.ts +6 -0
  75. package/dist/components/widget/widget.stories.js +31 -0
  76. package/dist/components/widget/widget.styles.d.ts +1 -0
  77. package/dist/components/widget/widget.styles.js +90 -0
  78. package/dist/internal/icons.d.ts +2 -0
  79. package/dist/internal/icons.js +9 -0
  80. package/dist/internal/scroll-lock.d.ts +7 -0
  81. package/dist/internal/scroll-lock.js +25 -0
  82. package/dist/internal/tokens.styles.js +5 -0
  83. package/dist/lyra.d.ts +5 -0
  84. package/dist/lyra.js +2 -0
  85. package/llms.txt +3 -0
  86. package/package.json +3 -3
package/README.md CHANGED
@@ -22,7 +22,12 @@ npm install @aceshooting/lyra-ui
22
22
  # optional peer: @sgratzl/chartjs-chart-boxplot, only needed for <lyra-box-plot>
23
23
  # optional peer: maplibre-gl, only needed for <lyra-map> — also import
24
24
  # `maplibre-gl/dist/maplibre-gl.css` yourself once, since lyra-map only
25
- # ships its own legend/popup chrome CSS, not maplibre-gl's own stylesheet
25
+ # ships its own legend/popup chrome CSS, not maplibre-gl's own stylesheet.
26
+ # <lyra-map> falls back to OpenStreetMap's demo tile server when you don't
27
+ # set `mapStyle` — fine for local dev, but NOT for production (no capacity
28
+ # guarantees, requires an identifying User-Agent, subject to IP-blocking —
29
+ # see https://operations.osmfoundation.org/policies/tiles/). Production
30
+ # apps must supply their own `mapStyle`.
26
31
  ```
27
32
 
28
33
  ## Usage
@@ -78,14 +83,14 @@ WA app they inherit your theme automatically; standalone, they use sensible defa
78
83
 
79
84
  ## Components
80
85
 
81
- All 34 tags below have shipped across five incremental releases (v1, then Tier 1, Tier 2,
82
- Tier 3, then a map/file-input batch). Grouped by the release that introduced each.
86
+ All 35 tags below have shipped across five incremental releases (v1, then Tier 1, Tier 2,
87
+ Tier 3, then a map/file-input batch, then widget). Grouped by the release that introduced each.
83
88
 
84
89
  **v1 — form controls, toasts, sparkline**
85
90
 
86
91
  | Component | Mirrors | Notes |
87
92
  |-----------|---------|-------|
88
- | `<lyra-combobox>` + `<lyra-option>` | `wa-combobox` | Filterable single/multi select, form-associated |
93
+ | `<lyra-combobox>` + `<lyra-option>` | `wa-combobox` | Filterable single/multi select, form-associated; async data via `source` property, virtual scrolling with `max-render` |
89
94
  | `<lyra-date-picker>` | `wa-date-picker` | Inline calendar, single + range |
90
95
  | `<lyra-date-input>` | `wa-date-input` | Date field + calendar popover, form-associated |
91
96
  | `<lyra-toast>` + `<lyra-toast-item>` + `toast()` | `wa-toast` / `wa-toast-item` | Stacking notifications |
@@ -103,6 +108,7 @@ Tier 3, then a map/file-input batch). Grouped by the release that introduced eac
103
108
  | `<lyra-gauge>` | — (extra) | Radial or linear meter |
104
109
  | `<lyra-export-button>` | — (extra) | CSV/JSON download button, injection-safe CSV export |
105
110
  | `<lyra-split>` | — (extra) | Resizable panel layout |
111
+ | `<lyra-widget>` | — (extra) | Card shell with collapsible header, fullscreen, and customizable chrome |
106
112
 
107
113
  **Tier 2 — temporal & graph**
108
114
 
@@ -110,7 +116,7 @@ Tier 3, then a map/file-input batch). Grouped by the release that introduced eac
110
116
  |-----------|---------|-------|
111
117
  | `<lyra-time-range>` | — (extra) | Two-handle brush/scrubber over a numeric domain |
112
118
  | `<lyra-playback>` | — (extra) | Play/pause index stepper on a fixed interval |
113
- | `<lyra-heatmap>` | — (extra) | DPR-aware Canvas matrix heatmap (matrix layout only today see Known limitations) |
119
+ | `<lyra-heatmap>` | — (extra) | DPR-aware Canvas heatmap with matrix and calendar (`mode="calendar"`) layouts, `fit-to-width` responsive scaling |
114
120
  | `<lyra-graph>` | — (extra) | Force-directed node-link diagram with pan/zoom/drag — needs the optional peer deps `d3-force`, `d3-drag`, `d3-zoom`, `d3-selection` |
115
121
  | `<lyra-tree>` + `<lyra-tree-node>` | — (extra) | Expand/collapse hierarchy for graph/document navigation |
116
122
 
@@ -127,7 +133,7 @@ Tier 3, then a map/file-input batch). Grouped by the release that introduced eac
127
133
 
128
134
  | Component | Mirrors | Notes |
129
135
  |-----------|---------|-------|
130
- | `<lyra-map>` | — (extra) | maplibre-gl wrapper with declarative legend + choropleth GeoJSON layer, plus a raw `map` escape hatch — needs the optional peer `maplibre-gl` (see Install above) |
136
+ | `<lyra-map>` | — (extra) | maplibre-gl wrapper with declarative legend, choropleth GeoJSON layer, and point markers (via `markers` property), plus a raw `map` escape hatch — needs the optional peer `maplibre-gl` (see Install above). Defaults to OpenStreetMap's demo tiles when `mapStyle` is unset — **production apps must supply their own `mapStyle`** (see Install above / Known limitations) |
131
137
  | `<lyra-file-input>` | — (extra) | Drag-drop + click-to-browse file dropzone, emits raw `File[]` (no CSV/XLSX parsing — that's host-specific) |
132
138
 
133
139
  ## Known limitations
@@ -139,11 +145,14 @@ A non-exhaustive list of gaps a new consumer should know about before adopting:
139
145
  return `true` regardless of whether a required field is empty.
140
146
  - `<lyra-tree>` has no keyboard interaction yet — only the expand/collapse button is focusable;
141
147
  row selection and tree navigation (arrow keys, Home/End) have no keyboard path.
142
- - `<lyra-heatmap>` is matrix-only today, despite its description mentioning calendar layouts — a
143
- calendar-heatmap rendering mode isn't implemented yet.
144
148
  - `<lyra-file-input>`'s `accept` attribute only constrains the native file-picker dialog; it has
145
149
  no effect on the drag-drop path, so dropped files of a type `accept` would otherwise exclude are
146
150
  silently accepted unless you also set `allowedMimeTypes`/`forbiddenMimeTypes`.
151
+ - `<lyra-map>`'s default `mapStyle` (used only when you don't set one) points at OpenStreetMap's
152
+ shared demo tile server — convenient for local development, but its usage policy forbids
153
+ bulk/production traffic and non-compliant clients are rate-limited or IP-blocked (see
154
+ https://operations.osmfoundation.org/policies/tiles/). Always pass your own `mapStyle` in
155
+ production (a hosted vector/raster style from a tile provider you have a plan with).
147
156
 
148
157
  ## Development
149
158