@f-ewald/components 0.5.0 → 0.6.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 (81) hide show
  1. package/README.md +27 -0
  2. package/custom-elements.json +3290 -835
  3. package/dist/chat-message.d.ts +39 -0
  4. package/dist/chat-message.d.ts.map +1 -0
  5. package/dist/chat-message.js +155 -0
  6. package/dist/chat-message.js.map +1 -0
  7. package/dist/data-table.d.ts +39 -0
  8. package/dist/data-table.d.ts.map +1 -0
  9. package/dist/data-table.js +119 -0
  10. package/dist/data-table.js.map +1 -0
  11. package/dist/editable-text.d.ts +52 -0
  12. package/dist/editable-text.d.ts.map +1 -0
  13. package/dist/editable-text.js +224 -0
  14. package/dist/editable-text.js.map +1 -0
  15. package/dist/form-select.d.ts +40 -0
  16. package/dist/form-select.d.ts.map +1 -0
  17. package/dist/form-select.js +236 -0
  18. package/dist/form-select.js.map +1 -0
  19. package/dist/gallery-item-variant.d.ts +21 -0
  20. package/dist/gallery-item-variant.d.ts.map +1 -0
  21. package/dist/gallery-item-variant.js +44 -0
  22. package/dist/gallery-item-variant.js.map +1 -0
  23. package/dist/gallery-item.d.ts +28 -0
  24. package/dist/gallery-item.d.ts.map +1 -0
  25. package/dist/gallery-item.js +54 -0
  26. package/dist/gallery-item.js.map +1 -0
  27. package/dist/icons.d.ts +7 -0
  28. package/dist/icons.d.ts.map +1 -1
  29. package/dist/icons.js +7 -0
  30. package/dist/icons.js.map +1 -1
  31. package/dist/index.d.ts +13 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +13 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/live-timer.d.ts +31 -0
  36. package/dist/live-timer.d.ts.map +1 -0
  37. package/dist/live-timer.js +78 -0
  38. package/dist/live-timer.js.map +1 -0
  39. package/dist/photo-gallery.d.ts +117 -0
  40. package/dist/photo-gallery.d.ts.map +1 -0
  41. package/dist/photo-gallery.js +620 -0
  42. package/dist/photo-gallery.js.map +1 -0
  43. package/dist/popover-panel.d.ts +34 -0
  44. package/dist/popover-panel.d.ts.map +1 -0
  45. package/dist/popover-panel.js +173 -0
  46. package/dist/popover-panel.js.map +1 -0
  47. package/dist/status-pill.d.ts +24 -0
  48. package/dist/status-pill.d.ts.map +1 -0
  49. package/dist/status-pill.js +101 -0
  50. package/dist/status-pill.js.map +1 -0
  51. package/dist/tile-grid.d.ts +32 -0
  52. package/dist/tile-grid.d.ts.map +1 -0
  53. package/dist/tile-grid.js +102 -0
  54. package/dist/tile-grid.js.map +1 -0
  55. package/dist/tokens.css +39 -0
  56. package/dist/tokens.d.ts +28 -3
  57. package/dist/tokens.d.ts.map +1 -1
  58. package/dist/tokens.js +42 -43
  59. package/dist/tokens.js.map +1 -1
  60. package/dist/user-avatar.d.ts +5 -2
  61. package/dist/user-avatar.d.ts.map +1 -1
  62. package/dist/user-avatar.js +22 -6
  63. package/dist/user-avatar.js.map +1 -1
  64. package/dist/utils/duration.d.ts +12 -0
  65. package/dist/utils/duration.d.ts.map +1 -0
  66. package/dist/utils/duration.js +27 -0
  67. package/dist/utils/duration.js.map +1 -0
  68. package/docs/chat-message.md +59 -0
  69. package/docs/data-table.md +63 -0
  70. package/docs/editable-text.md +51 -0
  71. package/docs/form-select.md +64 -0
  72. package/docs/gallery-item-variant.md +37 -0
  73. package/docs/gallery-item.md +47 -0
  74. package/docs/live-timer.md +39 -0
  75. package/docs/photo-gallery.md +77 -0
  76. package/docs/popover-panel.md +66 -0
  77. package/docs/status-pill.md +43 -0
  78. package/docs/tile-grid.md +58 -0
  79. package/docs/user-avatar.md +1 -1
  80. package/llms.txt +280 -1
  81. package/package.json +1 -1
@@ -1164,6 +1164,201 @@
1164
1164
  }
1165
1165
  ]
1166
1166
  },
1167
+ {
1168
+ "kind": "javascript-module",
1169
+ "path": "src/chat-message.ts",
1170
+ "declarations": [
1171
+ {
1172
+ "kind": "class",
1173
+ "description": "One conversation entry in a chat-style activity feed. Tool calls and\n\"thinking\" traces are variants of this component rather than separate\nones — they share the same header, collapse behavior, and body card as a\nnormal message, just dimmed and collapsible with an always-visible summary.",
1174
+ "name": "ChatMessage",
1175
+ "slots": [
1176
+ {
1177
+ "description": "Message body (consumers slot in already-rendered content, e.g. sanitized markdown HTML).",
1178
+ "name": ""
1179
+ }
1180
+ ],
1181
+ "members": [
1182
+ {
1183
+ "kind": "field",
1184
+ "name": "role",
1185
+ "type": {
1186
+ "text": "ChatMessageRole"
1187
+ },
1188
+ "default": "\"agent\"",
1189
+ "description": "Whose message this is; drives the card background/border.",
1190
+ "attribute": "role",
1191
+ "reflects": true
1192
+ },
1193
+ {
1194
+ "kind": "field",
1195
+ "name": "variant",
1196
+ "type": {
1197
+ "text": "ChatMessageVariant"
1198
+ },
1199
+ "default": "\"normal\"",
1200
+ "description": "`tool`/`thinking` render dimmed and smaller, with `tool` using monospace for its body.",
1201
+ "attribute": "variant",
1202
+ "reflects": true
1203
+ },
1204
+ {
1205
+ "kind": "field",
1206
+ "name": "author",
1207
+ "type": {
1208
+ "text": "string"
1209
+ },
1210
+ "default": "\"\"",
1211
+ "description": "Header label, e.g. \"Freddy\" or \"Architect\".",
1212
+ "attribute": "author"
1213
+ },
1214
+ {
1215
+ "kind": "field",
1216
+ "name": "timestamp",
1217
+ "type": {
1218
+ "text": "string | null"
1219
+ },
1220
+ "default": "null",
1221
+ "description": "ISO-8601 timestamp, rendered via `relative-time` in the header.",
1222
+ "attribute": "timestamp"
1223
+ },
1224
+ {
1225
+ "kind": "field",
1226
+ "name": "summary",
1227
+ "type": {
1228
+ "text": "string"
1229
+ },
1230
+ "default": "\"\"",
1231
+ "description": "Always-visible one-liner for `tool`/`thinking` variants (e.g. a truncated args preview).",
1232
+ "attribute": "summary"
1233
+ },
1234
+ {
1235
+ "kind": "field",
1236
+ "name": "collapsible",
1237
+ "type": {
1238
+ "text": "boolean"
1239
+ },
1240
+ "default": "false",
1241
+ "description": "Whether clicking the header/summary toggles the body slot.",
1242
+ "attribute": "collapsible"
1243
+ },
1244
+ {
1245
+ "kind": "field",
1246
+ "name": "collapsed",
1247
+ "type": {
1248
+ "text": "boolean"
1249
+ },
1250
+ "default": "false",
1251
+ "description": "Current collapse state (reflected as an attribute).",
1252
+ "attribute": "collapsed",
1253
+ "reflects": true
1254
+ },
1255
+ {
1256
+ "kind": "method",
1257
+ "name": "_toggle",
1258
+ "privacy": "private"
1259
+ }
1260
+ ],
1261
+ "events": [
1262
+ {
1263
+ "name": "toggle",
1264
+ "type": {
1265
+ "text": "CustomEvent"
1266
+ },
1267
+ "description": "Fired with `{ collapsed: boolean }` when the header/summary is clicked in collapsible mode."
1268
+ }
1269
+ ],
1270
+ "attributes": [
1271
+ {
1272
+ "name": "role",
1273
+ "type": {
1274
+ "text": "ChatMessageRole"
1275
+ },
1276
+ "default": "\"agent\"",
1277
+ "description": "Whose message this is; drives the card background/border.",
1278
+ "fieldName": "role"
1279
+ },
1280
+ {
1281
+ "name": "variant",
1282
+ "type": {
1283
+ "text": "ChatMessageVariant"
1284
+ },
1285
+ "default": "\"normal\"",
1286
+ "description": "`tool`/`thinking` render dimmed and smaller, with `tool` using monospace for its body.",
1287
+ "fieldName": "variant"
1288
+ },
1289
+ {
1290
+ "name": "author",
1291
+ "type": {
1292
+ "text": "string"
1293
+ },
1294
+ "default": "\"\"",
1295
+ "description": "Header label, e.g. \"Freddy\" or \"Architect\".",
1296
+ "fieldName": "author"
1297
+ },
1298
+ {
1299
+ "name": "timestamp",
1300
+ "type": {
1301
+ "text": "string | null"
1302
+ },
1303
+ "default": "null",
1304
+ "description": "ISO-8601 timestamp, rendered via `relative-time` in the header.",
1305
+ "fieldName": "timestamp"
1306
+ },
1307
+ {
1308
+ "name": "summary",
1309
+ "type": {
1310
+ "text": "string"
1311
+ },
1312
+ "default": "\"\"",
1313
+ "description": "Always-visible one-liner for `tool`/`thinking` variants (e.g. a truncated args preview).",
1314
+ "fieldName": "summary"
1315
+ },
1316
+ {
1317
+ "name": "collapsible",
1318
+ "type": {
1319
+ "text": "boolean"
1320
+ },
1321
+ "default": "false",
1322
+ "description": "Whether clicking the header/summary toggles the body slot.",
1323
+ "fieldName": "collapsible"
1324
+ },
1325
+ {
1326
+ "name": "collapsed",
1327
+ "type": {
1328
+ "text": "boolean"
1329
+ },
1330
+ "default": "false",
1331
+ "description": "Current collapse state (reflected as an attribute).",
1332
+ "fieldName": "collapsed"
1333
+ }
1334
+ ],
1335
+ "superclass": {
1336
+ "name": "LitElement",
1337
+ "package": "lit"
1338
+ },
1339
+ "tagName": "chat-message",
1340
+ "customElement": true
1341
+ }
1342
+ ],
1343
+ "exports": [
1344
+ {
1345
+ "kind": "js",
1346
+ "name": "ChatMessage",
1347
+ "declaration": {
1348
+ "name": "ChatMessage",
1349
+ "module": "src/chat-message.ts"
1350
+ }
1351
+ },
1352
+ {
1353
+ "kind": "custom-element-definition",
1354
+ "name": "chat-message",
1355
+ "declaration": {
1356
+ "name": "ChatMessage",
1357
+ "module": "src/chat-message.ts"
1358
+ }
1359
+ }
1360
+ ]
1361
+ },
1167
1362
  {
1168
1363
  "kind": "javascript-module",
1169
1364
  "path": "src/confirm-dialog.ts",
@@ -1441,6 +1636,110 @@
1441
1636
  }
1442
1637
  ]
1443
1638
  },
1639
+ {
1640
+ "kind": "javascript-module",
1641
+ "path": "src/data-table.ts",
1642
+ "declarations": [
1643
+ {
1644
+ "kind": "class",
1645
+ "description": "A generic, presentational table shell: renders a `<thead>` from `columns`\nand one `<tr>` per entry in `rows`, with each cell's content produced by\n`renderCell` (default: plain property lookup on the row object). Knows\nnothing about what a \"row\" means — callers own the data shape entirely.\n\nOptional `rowHref` makes whole rows clickable (navigating via `location.hash`),\nwithout hijacking clicks on nested interactive elements (links/buttons) a\ncell's rendered content might contain.",
1646
+ "name": "DataTable",
1647
+ "members": [
1648
+ {
1649
+ "kind": "field",
1650
+ "name": "columns",
1651
+ "type": {
1652
+ "text": "DataTableColumn[]"
1653
+ },
1654
+ "default": "[]",
1655
+ "description": "Column headers, in display order."
1656
+ },
1657
+ {
1658
+ "kind": "field",
1659
+ "name": "rows",
1660
+ "type": {
1661
+ "text": "unknown[]"
1662
+ },
1663
+ "default": "[]",
1664
+ "description": "Row data; opaque to this component beyond what `renderCell` does with it."
1665
+ },
1666
+ {
1667
+ "kind": "field",
1668
+ "name": "rowKey",
1669
+ "type": {
1670
+ "text": "(row: unknown, index: number) => string | number"
1671
+ },
1672
+ "description": "Stable identity for `rows[i]`, used as the repeat-directive key. Defaults to the row's index."
1673
+ },
1674
+ {
1675
+ "kind": "field",
1676
+ "name": "renderCell",
1677
+ "type": {
1678
+ "text": "(row: unknown, key: string) => unknown"
1679
+ },
1680
+ "description": "Produces a cell's rendered content for `row`/`column.key`. Default: `row[key]`."
1681
+ },
1682
+ {
1683
+ "kind": "field",
1684
+ "name": "rowHref",
1685
+ "type": {
1686
+ "text": "((row: unknown) => string | null) | null"
1687
+ },
1688
+ "default": "null",
1689
+ "description": "When set, clicking a row (outside any nested link/button) navigates to this hash."
1690
+ },
1691
+ {
1692
+ "kind": "method",
1693
+ "name": "#onRowClick",
1694
+ "privacy": "private",
1695
+ "return": {
1696
+ "type": {
1697
+ "text": "void"
1698
+ }
1699
+ },
1700
+ "parameters": [
1701
+ {
1702
+ "name": "row",
1703
+ "type": {
1704
+ "text": "unknown"
1705
+ }
1706
+ },
1707
+ {
1708
+ "name": "e",
1709
+ "type": {
1710
+ "text": "MouseEvent"
1711
+ }
1712
+ }
1713
+ ]
1714
+ }
1715
+ ],
1716
+ "superclass": {
1717
+ "name": "LitElement",
1718
+ "package": "lit"
1719
+ },
1720
+ "tagName": "data-table",
1721
+ "customElement": true
1722
+ }
1723
+ ],
1724
+ "exports": [
1725
+ {
1726
+ "kind": "js",
1727
+ "name": "DataTable",
1728
+ "declaration": {
1729
+ "name": "DataTable",
1730
+ "module": "src/data-table.ts"
1731
+ }
1732
+ },
1733
+ {
1734
+ "kind": "custom-element-definition",
1735
+ "name": "data-table",
1736
+ "declaration": {
1737
+ "name": "DataTable",
1738
+ "module": "src/data-table.ts"
1739
+ }
1740
+ }
1741
+ ]
1742
+ },
1444
1743
  {
1445
1744
  "kind": "javascript-module",
1446
1745
  "path": "src/distance-value.ts",
@@ -1711,1291 +2010,3177 @@
1711
2010
  },
1712
2011
  {
1713
2012
  "kind": "javascript-module",
1714
- "path": "src/icons.ts",
2013
+ "path": "src/editable-text.ts",
1715
2014
  "declarations": [
1716
2015
  {
1717
- "kind": "function",
1718
- "name": "iconX",
1719
- "parameters": [
2016
+ "kind": "class",
2017
+ "description": "Jira/GitHub-style click-to-edit text: a display span that turns into an\n`<input>` (or auto-growing `<textarea>` when `multiline`) on click. The\ninput/textarea inherits the host's font, so a title wrapped in an `<h1>`\nedits at title size.",
2018
+ "name": "EditableText",
2019
+ "members": [
1720
2020
  {
1721
- "name": "size",
1722
- "default": "18"
1723
- }
1724
- ]
1725
- },
1726
- {
1727
- "kind": "function",
1728
- "name": "iconBars3",
1729
- "parameters": [
2021
+ "kind": "field",
2022
+ "name": "value",
2023
+ "type": {
2024
+ "text": "string"
2025
+ },
2026
+ "default": "\"\"",
2027
+ "description": "Current text.",
2028
+ "attribute": "value"
2029
+ },
1730
2030
  {
1731
- "name": "size",
1732
- "default": "18"
1733
- }
1734
- ]
1735
- },
1736
- {
1737
- "kind": "function",
1738
- "name": "iconChevronLeft",
1739
- "parameters": [
2031
+ "kind": "field",
2032
+ "name": "multiline",
2033
+ "type": {
2034
+ "text": "boolean"
2035
+ },
2036
+ "default": "false",
2037
+ "description": "`false` renders an `<input>`, `true` an auto-growing `<textarea>`.",
2038
+ "attribute": "multiline"
2039
+ },
1740
2040
  {
1741
- "name": "size",
1742
- "default": "16"
1743
- }
1744
- ]
1745
- },
1746
- {
1747
- "kind": "function",
1748
- "name": "iconChevronRight",
1749
- "parameters": [
2041
+ "kind": "field",
2042
+ "name": "placeholder",
2043
+ "type": {
2044
+ "text": "string"
2045
+ },
2046
+ "default": "\"\"",
2047
+ "description": "Muted placeholder text shown when `value` is empty, and as the input's placeholder.",
2048
+ "attribute": "placeholder"
2049
+ },
1750
2050
  {
1751
- "name": "size",
1752
- "default": "16"
1753
- }
1754
- ]
1755
- },
1756
- {
1757
- "kind": "function",
1758
- "name": "iconCog",
1759
- "parameters": [
2051
+ "kind": "field",
2052
+ "name": "readonly",
2053
+ "type": {
2054
+ "text": "boolean"
2055
+ },
2056
+ "default": "false",
2057
+ "description": "Disables entering edit mode.",
2058
+ "attribute": "readonly"
2059
+ },
1760
2060
  {
1761
- "name": "size",
1762
- "default": "20"
1763
- }
1764
- ]
1765
- },
1766
- {
1767
- "kind": "function",
1768
- "name": "iconInfo",
1769
- "parameters": [
2061
+ "kind": "field",
2062
+ "name": "label",
2063
+ "type": {
2064
+ "text": "string"
2065
+ },
2066
+ "default": "\"\"",
2067
+ "description": "`aria-label` applied to the input/textarea.",
2068
+ "attribute": "label"
2069
+ },
1770
2070
  {
1771
- "name": "size",
1772
- "default": "20"
1773
- }
1774
- ]
1775
- },
1776
- {
1777
- "kind": "function",
1778
- "name": "iconQuestionMarkCircle",
1779
- "parameters": [
2071
+ "kind": "field",
2072
+ "name": "_editing",
2073
+ "type": {
2074
+ "text": "boolean"
2075
+ },
2076
+ "privacy": "private",
2077
+ "default": "false"
2078
+ },
1780
2079
  {
1781
- "name": "size",
1782
- "default": "20"
1783
- }
1784
- ]
1785
- },
1786
- {
1787
- "kind": "function",
1788
- "name": "iconPencil",
1789
- "parameters": [
2080
+ "kind": "field",
2081
+ "name": "_draft",
2082
+ "type": {
2083
+ "text": "string"
2084
+ },
2085
+ "privacy": "private",
2086
+ "default": "\"\""
2087
+ },
1790
2088
  {
1791
- "name": "size",
1792
- "default": "16"
1793
- }
1794
- ]
1795
- },
1796
- {
1797
- "kind": "function",
1798
- "name": "iconTrash",
1799
- "parameters": [
2089
+ "kind": "field",
2090
+ "name": "_field",
2091
+ "type": {
2092
+ "text": "HTMLInputElement | HTMLTextAreaElement | undefined"
2093
+ },
2094
+ "privacy": "private"
2095
+ },
1800
2096
  {
1801
- "name": "size",
1802
- "default": "16"
1803
- }
1804
- ]
1805
- },
1806
- {
1807
- "kind": "function",
1808
- "name": "iconPlus",
1809
- "parameters": [
2097
+ "kind": "method",
2098
+ "name": "_startEdit",
2099
+ "privacy": "private",
2100
+ "description": "Enters edit mode, seeding the draft from the current value."
2101
+ },
1810
2102
  {
1811
- "name": "size",
1812
- "default": "16"
1813
- }
1814
- ]
1815
- },
1816
- {
1817
- "kind": "function",
1818
- "name": "iconListBullet",
1819
- "parameters": [
2103
+ "kind": "method",
2104
+ "name": "_commit",
2105
+ "privacy": "private",
2106
+ "description": "Commits the draft (reverting an empty single-line commit) and exits edit mode.\n\nGuarded on `_editing`: removing the focused input/textarea from the DOM\n(which happens as soon as `_editing` flips to false) makes the browser\nfire a native `blur` on it, re-invoking this handler a second time after\na cancel already ran — the guard makes that second call a no-op instead\nof re-committing the stale draft."
2107
+ },
1820
2108
  {
1821
- "name": "size",
1822
- "default": "18"
1823
- }
1824
- ]
1825
- },
1826
- {
1827
- "kind": "function",
1828
- "name": "iconCurrencyDollar",
1829
- "parameters": [
2109
+ "kind": "method",
2110
+ "name": "_cancel",
2111
+ "privacy": "private",
2112
+ "description": "Discards the draft and exits edit mode without committing."
2113
+ },
1830
2114
  {
1831
- "name": "size",
1832
- "default": "16"
1833
- }
1834
- ]
1835
- },
1836
- {
1837
- "kind": "function",
1838
- "name": "iconHome",
1839
- "parameters": [
2115
+ "kind": "method",
2116
+ "name": "_onInput",
2117
+ "privacy": "private",
2118
+ "parameters": [
2119
+ {
2120
+ "name": "e",
2121
+ "type": {
2122
+ "text": "Event"
2123
+ }
2124
+ }
2125
+ ]
2126
+ },
1840
2127
  {
1841
- "name": "size",
1842
- "default": "16"
1843
- }
1844
- ]
1845
- },
1846
- {
1847
- "kind": "function",
1848
- "name": "iconMapPin",
1849
- "parameters": [
2128
+ "kind": "method",
2129
+ "name": "_onSingleLineKeydown",
2130
+ "privacy": "private",
2131
+ "parameters": [
2132
+ {
2133
+ "name": "e",
2134
+ "type": {
2135
+ "text": "KeyboardEvent"
2136
+ }
2137
+ }
2138
+ ]
2139
+ },
1850
2140
  {
1851
- "name": "size",
1852
- "default": "16"
1853
- }
1854
- ]
1855
- },
1856
- {
1857
- "kind": "function",
1858
- "name": "iconClock",
1859
- "parameters": [
2141
+ "kind": "method",
2142
+ "name": "_onMultilineKeydown",
2143
+ "privacy": "private",
2144
+ "parameters": [
2145
+ {
2146
+ "name": "e",
2147
+ "type": {
2148
+ "text": "KeyboardEvent"
2149
+ }
2150
+ }
2151
+ ]
2152
+ },
1860
2153
  {
1861
- "name": "size",
1862
- "default": "16"
2154
+ "kind": "method",
2155
+ "name": "_resize",
2156
+ "privacy": "private",
2157
+ "description": "Grows the textarea's height to fit its content."
1863
2158
  }
1864
- ]
1865
- },
1866
- {
1867
- "kind": "function",
1868
- "name": "iconTag",
1869
- "parameters": [
2159
+ ],
2160
+ "events": [
1870
2161
  {
1871
- "name": "size",
1872
- "default": "16"
2162
+ "name": "change",
2163
+ "type": {
2164
+ "text": "CustomEvent"
2165
+ },
2166
+ "description": "Fired with `{ value: string }` when the committed value differs from the previous one."
1873
2167
  }
1874
- ]
1875
- },
1876
- {
1877
- "kind": "function",
1878
- "name": "iconCalendar",
1879
- "parameters": [
2168
+ ],
2169
+ "attributes": [
1880
2170
  {
1881
- "name": "size",
1882
- "default": "16"
1883
- }
1884
- ]
1885
- },
1886
- {
1887
- "kind": "function",
1888
- "name": "iconArrowsPointingOut",
1889
- "parameters": [
2171
+ "name": "value",
2172
+ "type": {
2173
+ "text": "string"
2174
+ },
2175
+ "default": "\"\"",
2176
+ "description": "Current text.",
2177
+ "fieldName": "value"
2178
+ },
1890
2179
  {
1891
- "name": "size",
1892
- "default": "16"
1893
- }
1894
- ]
1895
- },
1896
- {
1897
- "kind": "function",
1898
- "name": "iconMap",
1899
- "parameters": [
2180
+ "name": "multiline",
2181
+ "type": {
2182
+ "text": "boolean"
2183
+ },
2184
+ "default": "false",
2185
+ "description": "`false` renders an `<input>`, `true` an auto-growing `<textarea>`.",
2186
+ "fieldName": "multiline"
2187
+ },
1900
2188
  {
1901
- "name": "size",
1902
- "default": "16"
1903
- }
1904
- ]
1905
- },
1906
- {
1907
- "kind": "function",
1908
- "name": "iconCheckCircle",
1909
- "parameters": [
2189
+ "name": "placeholder",
2190
+ "type": {
2191
+ "text": "string"
2192
+ },
2193
+ "default": "\"\"",
2194
+ "description": "Muted placeholder text shown when `value` is empty, and as the input's placeholder.",
2195
+ "fieldName": "placeholder"
2196
+ },
1910
2197
  {
1911
- "name": "size",
1912
- "default": "16"
1913
- }
1914
- ]
1915
- },
1916
- {
1917
- "kind": "function",
1918
- "name": "iconSun",
1919
- "parameters": [
2198
+ "name": "readonly",
2199
+ "type": {
2200
+ "text": "boolean"
2201
+ },
2202
+ "default": "false",
2203
+ "description": "Disables entering edit mode.",
2204
+ "fieldName": "readonly"
2205
+ },
1920
2206
  {
1921
- "name": "size",
1922
- "default": "16"
2207
+ "name": "label",
2208
+ "type": {
2209
+ "text": "string"
2210
+ },
2211
+ "default": "\"\"",
2212
+ "description": "`aria-label` applied to the input/textarea.",
2213
+ "fieldName": "label"
1923
2214
  }
1924
- ]
1925
- },
2215
+ ],
2216
+ "superclass": {
2217
+ "name": "LitElement",
2218
+ "package": "lit"
2219
+ },
2220
+ "tagName": "editable-text",
2221
+ "customElement": true
2222
+ }
2223
+ ],
2224
+ "exports": [
1926
2225
  {
1927
- "kind": "function",
1928
- "name": "iconShieldExclamation",
1929
- "parameters": [
1930
- {
1931
- "name": "size",
1932
- "default": "16"
1933
- }
1934
- ]
2226
+ "kind": "js",
2227
+ "name": "EditableText",
2228
+ "declaration": {
2229
+ "name": "EditableText",
2230
+ "module": "src/editable-text.ts"
2231
+ }
1935
2232
  },
1936
2233
  {
1937
- "kind": "function",
1938
- "name": "iconArrowPath",
1939
- "parameters": [
1940
- {
1941
- "name": "size",
1942
- "default": "12"
1943
- }
1944
- ]
1945
- },
2234
+ "kind": "custom-element-definition",
2235
+ "name": "editable-text",
2236
+ "declaration": {
2237
+ "name": "EditableText",
2238
+ "module": "src/editable-text.ts"
2239
+ }
2240
+ }
2241
+ ]
2242
+ },
2243
+ {
2244
+ "kind": "javascript-module",
2245
+ "path": "src/form-select.ts",
2246
+ "declarations": [
1946
2247
  {
1947
- "kind": "function",
1948
- "name": "iconArrowRight",
1949
- "parameters": [
2248
+ "kind": "class",
2249
+ "description": "A styled dropdown select: a trigger button showing the current option's\nlabel, opening a listbox popover on click. Drop-in generic replacement for\na native `<select>` wherever consistent cross-browser styling and a\n`change` event carrying `{ value }` are wanted (e.g. a task's status\npicker).",
2250
+ "name": "FormSelect",
2251
+ "members": [
1950
2252
  {
1951
- "name": "size",
1952
- "default": "12"
1953
- }
1954
- ]
1955
- },
1956
- {
1957
- "kind": "function",
1958
- "name": "iconLink",
1959
- "parameters": [
2253
+ "kind": "field",
2254
+ "name": "options",
2255
+ "type": {
2256
+ "text": "SelectOption[]"
2257
+ },
2258
+ "default": "[]",
2259
+ "description": "The full list of selectable options."
2260
+ },
1960
2261
  {
1961
- "name": "size",
1962
- "default": "16"
1963
- }
1964
- ]
1965
- },
1966
- {
1967
- "kind": "function",
1968
- "name": "iconHeart",
1969
- "parameters": [
2262
+ "kind": "field",
2263
+ "name": "value",
2264
+ "type": {
2265
+ "text": "string"
2266
+ },
2267
+ "default": "\"\"",
2268
+ "description": "Currently selected value; must match one of `options[].value`.",
2269
+ "attribute": "value"
2270
+ },
1970
2271
  {
1971
- "name": "size",
1972
- "default": "16"
1973
- }
1974
- ]
1975
- },
1976
- {
1977
- "kind": "function",
1978
- "name": "iconHeartSolid",
1979
- "parameters": [
2272
+ "kind": "field",
2273
+ "name": "label",
2274
+ "type": {
2275
+ "text": "string"
2276
+ },
2277
+ "default": "\"\"",
2278
+ "description": "`aria-label` applied to the trigger button.",
2279
+ "attribute": "label"
2280
+ },
1980
2281
  {
1981
- "name": "size",
1982
- "default": "16"
1983
- }
1984
- ]
1985
- },
1986
- {
1987
- "kind": "function",
1988
- "name": "iconEye",
1989
- "parameters": [
2282
+ "kind": "field",
2283
+ "name": "disabled",
2284
+ "type": {
2285
+ "text": "boolean"
2286
+ },
2287
+ "default": "false",
2288
+ "description": "Disables the trigger, preventing the popover from opening.",
2289
+ "attribute": "disabled"
2290
+ },
1990
2291
  {
1991
- "name": "size",
1992
- "default": "16"
1993
- }
1994
- ]
1995
- },
1996
- {
1997
- "kind": "function",
1998
- "name": "iconEyeSlash",
1999
- "parameters": [
2292
+ "kind": "field",
2293
+ "name": "_open",
2294
+ "type": {
2295
+ "text": "boolean"
2296
+ },
2297
+ "privacy": "private",
2298
+ "default": "false"
2299
+ },
2000
2300
  {
2001
- "name": "size",
2002
- "default": "16"
2003
- }
2004
- ]
2005
- },
2006
- {
2007
- "kind": "function",
2008
- "name": "iconShieldCheck",
2009
- "parameters": [
2301
+ "kind": "field",
2302
+ "name": "_activeIndex",
2303
+ "type": {
2304
+ "text": "number"
2305
+ },
2306
+ "privacy": "private",
2307
+ "default": "-1"
2308
+ },
2010
2309
  {
2011
- "name": "size",
2012
- "default": "16"
2310
+ "kind": "field",
2311
+ "name": "#onWindowMousedown",
2312
+ "privacy": "private"
2313
+ },
2314
+ {
2315
+ "kind": "method",
2316
+ "name": "#toggle",
2317
+ "privacy": "private",
2318
+ "return": {
2319
+ "type": {
2320
+ "text": "void"
2321
+ }
2322
+ }
2323
+ },
2324
+ {
2325
+ "kind": "method",
2326
+ "name": "#select",
2327
+ "privacy": "private",
2328
+ "return": {
2329
+ "type": {
2330
+ "text": "void"
2331
+ }
2332
+ },
2333
+ "parameters": [
2334
+ {
2335
+ "name": "option",
2336
+ "type": {
2337
+ "text": "SelectOption"
2338
+ }
2339
+ }
2340
+ ]
2341
+ },
2342
+ {
2343
+ "kind": "method",
2344
+ "name": "#onTriggerKeydown",
2345
+ "privacy": "private",
2346
+ "return": {
2347
+ "type": {
2348
+ "text": "void"
2349
+ }
2350
+ },
2351
+ "parameters": [
2352
+ {
2353
+ "name": "e",
2354
+ "type": {
2355
+ "text": "KeyboardEvent"
2356
+ }
2357
+ }
2358
+ ]
2359
+ },
2360
+ {
2361
+ "kind": "method",
2362
+ "name": "#moveActive",
2363
+ "privacy": "private",
2364
+ "return": {
2365
+ "type": {
2366
+ "text": "void"
2367
+ }
2368
+ },
2369
+ "parameters": [
2370
+ {
2371
+ "name": "delta",
2372
+ "type": {
2373
+ "text": "number"
2374
+ }
2375
+ }
2376
+ ]
2377
+ },
2378
+ {
2379
+ "kind": "method",
2380
+ "name": "#confirmActive",
2381
+ "privacy": "private",
2382
+ "return": {
2383
+ "type": {
2384
+ "text": "void"
2385
+ }
2386
+ }
2387
+ },
2388
+ {
2389
+ "kind": "method",
2390
+ "name": "renderListbox",
2391
+ "privacy": "private"
2013
2392
  }
2014
- ]
2015
- },
2016
- {
2017
- "kind": "function",
2018
- "name": "iconUserCircle",
2019
- "parameters": [
2393
+ ],
2394
+ "events": [
2020
2395
  {
2021
- "name": "size",
2022
- "default": "20"
2396
+ "name": "change",
2397
+ "type": {
2398
+ "text": "CustomEvent"
2399
+ },
2400
+ "description": "Fired with `{ value: string }` when a different option is picked."
2023
2401
  }
2024
- ]
2402
+ ],
2403
+ "attributes": [
2404
+ {
2405
+ "name": "value",
2406
+ "type": {
2407
+ "text": "string"
2408
+ },
2409
+ "default": "\"\"",
2410
+ "description": "Currently selected value; must match one of `options[].value`.",
2411
+ "fieldName": "value"
2412
+ },
2413
+ {
2414
+ "name": "label",
2415
+ "type": {
2416
+ "text": "string"
2417
+ },
2418
+ "default": "\"\"",
2419
+ "description": "`aria-label` applied to the trigger button.",
2420
+ "fieldName": "label"
2421
+ },
2422
+ {
2423
+ "name": "disabled",
2424
+ "type": {
2425
+ "text": "boolean"
2426
+ },
2427
+ "default": "false",
2428
+ "description": "Disables the trigger, preventing the popover from opening.",
2429
+ "fieldName": "disabled"
2430
+ }
2431
+ ],
2432
+ "superclass": {
2433
+ "name": "LitElement",
2434
+ "package": "lit"
2435
+ },
2436
+ "tagName": "form-select",
2437
+ "customElement": true
2025
2438
  }
2026
2439
  ],
2027
2440
  "exports": [
2028
2441
  {
2029
2442
  "kind": "js",
2030
- "name": "iconX",
2443
+ "name": "FormSelect",
2031
2444
  "declaration": {
2032
- "name": "iconX",
2033
- "module": "src/icons.ts"
2445
+ "name": "FormSelect",
2446
+ "module": "src/form-select.ts"
2034
2447
  }
2035
2448
  },
2036
2449
  {
2037
- "kind": "js",
2038
- "name": "iconBars3",
2450
+ "kind": "custom-element-definition",
2451
+ "name": "form-select",
2039
2452
  "declaration": {
2040
- "name": "iconBars3",
2041
- "module": "src/icons.ts"
2453
+ "name": "FormSelect",
2454
+ "module": "src/form-select.ts"
2042
2455
  }
2043
- },
2456
+ }
2457
+ ]
2458
+ },
2459
+ {
2460
+ "kind": "javascript-module",
2461
+ "path": "src/gallery-item-variant.ts",
2462
+ "declarations": [
2044
2463
  {
2045
- "kind": "js",
2046
- "name": "iconChevronLeft",
2047
- "declaration": {
2048
- "name": "iconChevronLeft",
2049
- "module": "src/icons.ts"
2050
- }
2051
- },
2464
+ "kind": "class",
2465
+ "description": "Responsive image source metadata for a parent `gallery-item`.",
2466
+ "name": "GalleryItemVariant",
2467
+ "members": [
2468
+ {
2469
+ "kind": "field",
2470
+ "name": "media",
2471
+ "type": {
2472
+ "text": "string | undefined"
2473
+ },
2474
+ "description": "Optional media query that controls when this source is selected.",
2475
+ "attribute": "media",
2476
+ "reflects": true
2477
+ },
2478
+ {
2479
+ "kind": "field",
2480
+ "name": "srcset",
2481
+ "type": {
2482
+ "text": "string"
2483
+ },
2484
+ "default": "\"\"",
2485
+ "description": "Responsive image candidate string passed to a generated `<source>`.",
2486
+ "attribute": "srcset",
2487
+ "reflects": true
2488
+ }
2489
+ ],
2490
+ "attributes": [
2491
+ {
2492
+ "name": "media",
2493
+ "type": {
2494
+ "text": "string | undefined"
2495
+ },
2496
+ "description": "Optional media query that controls when this source is selected.",
2497
+ "fieldName": "media"
2498
+ },
2499
+ {
2500
+ "name": "srcset",
2501
+ "type": {
2502
+ "text": "string"
2503
+ },
2504
+ "default": "\"\"",
2505
+ "description": "Responsive image candidate string passed to a generated `<source>`.",
2506
+ "fieldName": "srcset"
2507
+ }
2508
+ ],
2509
+ "superclass": {
2510
+ "name": "LitElement",
2511
+ "package": "lit"
2512
+ },
2513
+ "tagName": "gallery-item-variant",
2514
+ "customElement": true
2515
+ }
2516
+ ],
2517
+ "exports": [
2052
2518
  {
2053
2519
  "kind": "js",
2054
- "name": "iconChevronRight",
2520
+ "name": "GalleryItemVariant",
2055
2521
  "declaration": {
2056
- "name": "iconChevronRight",
2057
- "module": "src/icons.ts"
2522
+ "name": "GalleryItemVariant",
2523
+ "module": "src/gallery-item-variant.ts"
2058
2524
  }
2059
2525
  },
2060
2526
  {
2061
- "kind": "js",
2062
- "name": "iconCog",
2527
+ "kind": "custom-element-definition",
2528
+ "name": "gallery-item-variant",
2063
2529
  "declaration": {
2064
- "name": "iconCog",
2065
- "module": "src/icons.ts"
2530
+ "name": "GalleryItemVariant",
2531
+ "module": "src/gallery-item-variant.ts"
2066
2532
  }
2067
- },
2533
+ }
2534
+ ]
2535
+ },
2536
+ {
2537
+ "kind": "javascript-module",
2538
+ "path": "src/gallery-item.ts",
2539
+ "declarations": [
2068
2540
  {
2069
- "kind": "js",
2070
- "name": "iconInfo",
2071
- "declaration": {
2072
- "name": "iconInfo",
2073
- "module": "src/icons.ts"
2074
- }
2075
- },
2541
+ "kind": "class",
2542
+ "description": "Declarative image metadata consumed by a parent `photo-gallery`.",
2543
+ "name": "GalleryItem",
2544
+ "slots": [
2545
+ {
2546
+ "description": "Optional `gallery-item-variant` elements for responsive sources.",
2547
+ "name": ""
2548
+ }
2549
+ ],
2550
+ "members": [
2551
+ {
2552
+ "kind": "field",
2553
+ "name": "src",
2554
+ "type": {
2555
+ "text": "string"
2556
+ },
2557
+ "default": "\"\"",
2558
+ "description": "URL of the fallback image.",
2559
+ "attribute": "src",
2560
+ "reflects": true
2561
+ },
2562
+ {
2563
+ "kind": "field",
2564
+ "name": "alt",
2565
+ "type": {
2566
+ "text": "string"
2567
+ },
2568
+ "default": "\"\"",
2569
+ "description": "Required alternative text for the image.",
2570
+ "attribute": "alt",
2571
+ "reflects": true
2572
+ },
2573
+ {
2574
+ "kind": "field",
2575
+ "name": "caption",
2576
+ "type": {
2577
+ "text": "string | undefined"
2578
+ },
2579
+ "description": "Optional visible caption rendered below the image.",
2580
+ "attribute": "caption",
2581
+ "reflects": true
2582
+ },
2583
+ {
2584
+ "kind": "field",
2585
+ "name": "variants",
2586
+ "type": {
2587
+ "text": "GalleryItemVariant[]"
2588
+ },
2589
+ "readonly": true,
2590
+ "description": "Responsive source variants declared inside this item."
2591
+ }
2592
+ ],
2593
+ "attributes": [
2594
+ {
2595
+ "name": "src",
2596
+ "type": {
2597
+ "text": "string"
2598
+ },
2599
+ "default": "\"\"",
2600
+ "description": "URL of the fallback image.",
2601
+ "fieldName": "src"
2602
+ },
2603
+ {
2604
+ "name": "alt",
2605
+ "type": {
2606
+ "text": "string"
2607
+ },
2608
+ "default": "\"\"",
2609
+ "description": "Required alternative text for the image.",
2610
+ "fieldName": "alt"
2611
+ },
2612
+ {
2613
+ "name": "caption",
2614
+ "type": {
2615
+ "text": "string | undefined"
2616
+ },
2617
+ "description": "Optional visible caption rendered below the image.",
2618
+ "fieldName": "caption"
2619
+ }
2620
+ ],
2621
+ "superclass": {
2622
+ "name": "LitElement",
2623
+ "package": "lit"
2624
+ },
2625
+ "tagName": "gallery-item",
2626
+ "customElement": true
2627
+ }
2628
+ ],
2629
+ "exports": [
2076
2630
  {
2077
2631
  "kind": "js",
2078
- "name": "iconQuestionMarkCircle",
2632
+ "name": "GalleryItem",
2079
2633
  "declaration": {
2080
- "name": "iconQuestionMarkCircle",
2081
- "module": "src/icons.ts"
2634
+ "name": "GalleryItem",
2635
+ "module": "src/gallery-item.ts"
2082
2636
  }
2083
2637
  },
2084
2638
  {
2085
- "kind": "js",
2086
- "name": "iconPencil",
2639
+ "kind": "custom-element-definition",
2640
+ "name": "gallery-item",
2087
2641
  "declaration": {
2088
- "name": "iconPencil",
2089
- "module": "src/icons.ts"
2642
+ "name": "GalleryItem",
2643
+ "module": "src/gallery-item.ts"
2090
2644
  }
2091
- },
2645
+ }
2646
+ ]
2647
+ },
2648
+ {
2649
+ "kind": "javascript-module",
2650
+ "path": "src/icons.ts",
2651
+ "declarations": [
2092
2652
  {
2093
- "kind": "js",
2094
- "name": "iconTrash",
2095
- "declaration": {
2096
- "name": "iconTrash",
2097
- "module": "src/icons.ts"
2098
- }
2653
+ "kind": "function",
2654
+ "name": "iconX",
2655
+ "parameters": [
2656
+ {
2657
+ "name": "size",
2658
+ "default": "18"
2659
+ }
2660
+ ]
2099
2661
  },
2100
2662
  {
2101
- "kind": "js",
2102
- "name": "iconPlus",
2103
- "declaration": {
2104
- "name": "iconPlus",
2105
- "module": "src/icons.ts"
2106
- }
2663
+ "kind": "function",
2664
+ "name": "iconBars3",
2665
+ "parameters": [
2666
+ {
2667
+ "name": "size",
2668
+ "default": "18"
2669
+ }
2670
+ ]
2107
2671
  },
2108
2672
  {
2109
- "kind": "js",
2110
- "name": "iconListBullet",
2111
- "declaration": {
2112
- "name": "iconListBullet",
2113
- "module": "src/icons.ts"
2114
- }
2673
+ "kind": "function",
2674
+ "name": "iconChevronLeft",
2675
+ "parameters": [
2676
+ {
2677
+ "name": "size",
2678
+ "default": "16"
2679
+ }
2680
+ ]
2115
2681
  },
2116
2682
  {
2117
- "kind": "js",
2118
- "name": "iconCurrencyDollar",
2119
- "declaration": {
2120
- "name": "iconCurrencyDollar",
2121
- "module": "src/icons.ts"
2122
- }
2683
+ "kind": "function",
2684
+ "name": "iconChevronRight",
2685
+ "parameters": [
2686
+ {
2687
+ "name": "size",
2688
+ "default": "16"
2689
+ }
2690
+ ]
2123
2691
  },
2124
2692
  {
2125
- "kind": "js",
2126
- "name": "iconHome",
2127
- "declaration": {
2128
- "name": "iconHome",
2129
- "module": "src/icons.ts"
2130
- }
2693
+ "kind": "function",
2694
+ "name": "iconCog",
2695
+ "parameters": [
2696
+ {
2697
+ "name": "size",
2698
+ "default": "20"
2699
+ }
2700
+ ]
2131
2701
  },
2132
2702
  {
2133
- "kind": "js",
2703
+ "kind": "function",
2704
+ "name": "iconInfo",
2705
+ "parameters": [
2706
+ {
2707
+ "name": "size",
2708
+ "default": "20"
2709
+ }
2710
+ ]
2711
+ },
2712
+ {
2713
+ "kind": "function",
2714
+ "name": "iconQuestionMarkCircle",
2715
+ "parameters": [
2716
+ {
2717
+ "name": "size",
2718
+ "default": "20"
2719
+ }
2720
+ ]
2721
+ },
2722
+ {
2723
+ "kind": "function",
2724
+ "name": "iconPencil",
2725
+ "parameters": [
2726
+ {
2727
+ "name": "size",
2728
+ "default": "16"
2729
+ }
2730
+ ]
2731
+ },
2732
+ {
2733
+ "kind": "function",
2734
+ "name": "iconTrash",
2735
+ "parameters": [
2736
+ {
2737
+ "name": "size",
2738
+ "default": "16"
2739
+ }
2740
+ ]
2741
+ },
2742
+ {
2743
+ "kind": "function",
2744
+ "name": "iconPlus",
2745
+ "parameters": [
2746
+ {
2747
+ "name": "size",
2748
+ "default": "16"
2749
+ }
2750
+ ]
2751
+ },
2752
+ {
2753
+ "kind": "function",
2754
+ "name": "iconListBullet",
2755
+ "parameters": [
2756
+ {
2757
+ "name": "size",
2758
+ "default": "18"
2759
+ }
2760
+ ]
2761
+ },
2762
+ {
2763
+ "kind": "function",
2764
+ "name": "iconCurrencyDollar",
2765
+ "parameters": [
2766
+ {
2767
+ "name": "size",
2768
+ "default": "16"
2769
+ }
2770
+ ]
2771
+ },
2772
+ {
2773
+ "kind": "function",
2774
+ "name": "iconHome",
2775
+ "parameters": [
2776
+ {
2777
+ "name": "size",
2778
+ "default": "16"
2779
+ }
2780
+ ]
2781
+ },
2782
+ {
2783
+ "kind": "function",
2134
2784
  "name": "iconMapPin",
2135
- "declaration": {
2136
- "name": "iconMapPin",
2137
- "module": "src/icons.ts"
2138
- }
2785
+ "parameters": [
2786
+ {
2787
+ "name": "size",
2788
+ "default": "16"
2789
+ }
2790
+ ]
2139
2791
  },
2140
2792
  {
2141
- "kind": "js",
2793
+ "kind": "function",
2142
2794
  "name": "iconClock",
2143
- "declaration": {
2144
- "name": "iconClock",
2145
- "module": "src/icons.ts"
2146
- }
2795
+ "parameters": [
2796
+ {
2797
+ "name": "size",
2798
+ "default": "16"
2799
+ }
2800
+ ]
2147
2801
  },
2148
2802
  {
2149
- "kind": "js",
2803
+ "kind": "function",
2150
2804
  "name": "iconTag",
2151
- "declaration": {
2152
- "name": "iconTag",
2153
- "module": "src/icons.ts"
2154
- }
2805
+ "parameters": [
2806
+ {
2807
+ "name": "size",
2808
+ "default": "16"
2809
+ }
2810
+ ]
2155
2811
  },
2156
2812
  {
2157
- "kind": "js",
2813
+ "kind": "function",
2158
2814
  "name": "iconCalendar",
2159
- "declaration": {
2160
- "name": "iconCalendar",
2161
- "module": "src/icons.ts"
2162
- }
2815
+ "parameters": [
2816
+ {
2817
+ "name": "size",
2818
+ "default": "16"
2819
+ }
2820
+ ]
2163
2821
  },
2164
2822
  {
2165
- "kind": "js",
2823
+ "kind": "function",
2166
2824
  "name": "iconArrowsPointingOut",
2167
- "declaration": {
2168
- "name": "iconArrowsPointingOut",
2169
- "module": "src/icons.ts"
2170
- }
2825
+ "parameters": [
2826
+ {
2827
+ "name": "size",
2828
+ "default": "16"
2829
+ }
2830
+ ]
2171
2831
  },
2172
2832
  {
2173
- "kind": "js",
2833
+ "kind": "function",
2174
2834
  "name": "iconMap",
2175
- "declaration": {
2176
- "name": "iconMap",
2177
- "module": "src/icons.ts"
2178
- }
2835
+ "parameters": [
2836
+ {
2837
+ "name": "size",
2838
+ "default": "16"
2839
+ }
2840
+ ]
2179
2841
  },
2180
2842
  {
2181
- "kind": "js",
2843
+ "kind": "function",
2182
2844
  "name": "iconCheckCircle",
2183
- "declaration": {
2184
- "name": "iconCheckCircle",
2185
- "module": "src/icons.ts"
2186
- }
2845
+ "parameters": [
2846
+ {
2847
+ "name": "size",
2848
+ "default": "16"
2849
+ }
2850
+ ]
2187
2851
  },
2188
2852
  {
2189
- "kind": "js",
2853
+ "kind": "function",
2190
2854
  "name": "iconSun",
2191
- "declaration": {
2192
- "name": "iconSun",
2193
- "module": "src/icons.ts"
2194
- }
2855
+ "parameters": [
2856
+ {
2857
+ "name": "size",
2858
+ "default": "16"
2859
+ }
2860
+ ]
2195
2861
  },
2196
2862
  {
2197
- "kind": "js",
2863
+ "kind": "function",
2198
2864
  "name": "iconShieldExclamation",
2199
- "declaration": {
2200
- "name": "iconShieldExclamation",
2201
- "module": "src/icons.ts"
2202
- }
2865
+ "parameters": [
2866
+ {
2867
+ "name": "size",
2868
+ "default": "16"
2869
+ }
2870
+ ]
2203
2871
  },
2204
2872
  {
2205
- "kind": "js",
2873
+ "kind": "function",
2206
2874
  "name": "iconArrowPath",
2207
- "declaration": {
2208
- "name": "iconArrowPath",
2209
- "module": "src/icons.ts"
2210
- }
2875
+ "parameters": [
2876
+ {
2877
+ "name": "size",
2878
+ "default": "12"
2879
+ }
2880
+ ]
2211
2881
  },
2212
2882
  {
2213
- "kind": "js",
2883
+ "kind": "function",
2214
2884
  "name": "iconArrowRight",
2215
- "declaration": {
2216
- "name": "iconArrowRight",
2217
- "module": "src/icons.ts"
2218
- }
2885
+ "parameters": [
2886
+ {
2887
+ "name": "size",
2888
+ "default": "12"
2889
+ }
2890
+ ]
2219
2891
  },
2220
2892
  {
2221
- "kind": "js",
2893
+ "kind": "function",
2222
2894
  "name": "iconLink",
2223
- "declaration": {
2224
- "name": "iconLink",
2225
- "module": "src/icons.ts"
2226
- }
2895
+ "parameters": [
2896
+ {
2897
+ "name": "size",
2898
+ "default": "16"
2899
+ }
2900
+ ]
2227
2901
  },
2228
2902
  {
2229
- "kind": "js",
2903
+ "kind": "function",
2230
2904
  "name": "iconHeart",
2231
- "declaration": {
2232
- "name": "iconHeart",
2233
- "module": "src/icons.ts"
2234
- }
2905
+ "parameters": [
2906
+ {
2907
+ "name": "size",
2908
+ "default": "16"
2909
+ }
2910
+ ]
2235
2911
  },
2236
2912
  {
2237
- "kind": "js",
2913
+ "kind": "function",
2238
2914
  "name": "iconHeartSolid",
2239
- "declaration": {
2240
- "name": "iconHeartSolid",
2241
- "module": "src/icons.ts"
2242
- }
2243
- },
2244
- {
2245
- "kind": "js",
2246
- "name": "iconEye",
2247
- "declaration": {
2248
- "name": "iconEye",
2249
- "module": "src/icons.ts"
2250
- }
2915
+ "parameters": [
2916
+ {
2917
+ "name": "size",
2918
+ "default": "16"
2919
+ }
2920
+ ]
2251
2921
  },
2252
2922
  {
2253
- "kind": "js",
2923
+ "kind": "function",
2924
+ "name": "iconEye",
2925
+ "parameters": [
2926
+ {
2927
+ "name": "size",
2928
+ "default": "16"
2929
+ }
2930
+ ]
2931
+ },
2932
+ {
2933
+ "kind": "function",
2254
2934
  "name": "iconEyeSlash",
2935
+ "parameters": [
2936
+ {
2937
+ "name": "size",
2938
+ "default": "16"
2939
+ }
2940
+ ]
2941
+ },
2942
+ {
2943
+ "kind": "function",
2944
+ "name": "iconShieldCheck",
2945
+ "parameters": [
2946
+ {
2947
+ "name": "size",
2948
+ "default": "16"
2949
+ }
2950
+ ]
2951
+ },
2952
+ {
2953
+ "kind": "function",
2954
+ "name": "iconUserCircle",
2955
+ "parameters": [
2956
+ {
2957
+ "name": "size",
2958
+ "default": "20"
2959
+ }
2960
+ ]
2961
+ },
2962
+ {
2963
+ "kind": "function",
2964
+ "name": "iconClipboardDocumentList",
2965
+ "parameters": [
2966
+ {
2967
+ "name": "size",
2968
+ "default": "18"
2969
+ }
2970
+ ]
2971
+ },
2972
+ {
2973
+ "kind": "function",
2974
+ "name": "iconCpuChip",
2975
+ "parameters": [
2976
+ {
2977
+ "name": "size",
2978
+ "default": "18"
2979
+ }
2980
+ ]
2981
+ },
2982
+ {
2983
+ "kind": "function",
2984
+ "name": "iconFolder",
2985
+ "parameters": [
2986
+ {
2987
+ "name": "size",
2988
+ "default": "18"
2989
+ }
2990
+ ]
2991
+ },
2992
+ {
2993
+ "kind": "function",
2994
+ "name": "iconChevronDown",
2995
+ "parameters": [
2996
+ {
2997
+ "name": "size",
2998
+ "default": "16"
2999
+ }
3000
+ ]
3001
+ },
3002
+ {
3003
+ "kind": "function",
3004
+ "name": "iconDocument",
3005
+ "parameters": [
3006
+ {
3007
+ "name": "size",
3008
+ "default": "18"
3009
+ }
3010
+ ]
3011
+ },
3012
+ {
3013
+ "kind": "function",
3014
+ "name": "iconSquares2x2",
3015
+ "parameters": [
3016
+ {
3017
+ "name": "size",
3018
+ "default": "18"
3019
+ }
3020
+ ]
3021
+ },
3022
+ {
3023
+ "kind": "function",
3024
+ "name": "iconChatBubbleLeftRight",
3025
+ "parameters": [
3026
+ {
3027
+ "name": "size",
3028
+ "default": "18"
3029
+ }
3030
+ ]
3031
+ }
3032
+ ],
3033
+ "exports": [
3034
+ {
3035
+ "kind": "js",
3036
+ "name": "iconX",
2255
3037
  "declaration": {
2256
- "name": "iconEyeSlash",
3038
+ "name": "iconX",
2257
3039
  "module": "src/icons.ts"
2258
3040
  }
2259
3041
  },
2260
3042
  {
2261
3043
  "kind": "js",
2262
- "name": "iconShieldCheck",
3044
+ "name": "iconBars3",
2263
3045
  "declaration": {
2264
- "name": "iconShieldCheck",
3046
+ "name": "iconBars3",
2265
3047
  "module": "src/icons.ts"
2266
3048
  }
2267
3049
  },
2268
3050
  {
2269
3051
  "kind": "js",
2270
- "name": "iconUserCircle",
3052
+ "name": "iconChevronLeft",
2271
3053
  "declaration": {
2272
- "name": "iconUserCircle",
3054
+ "name": "iconChevronLeft",
2273
3055
  "module": "src/icons.ts"
2274
3056
  }
2275
- }
2276
- ]
2277
- },
2278
- {
2279
- "kind": "javascript-module",
2280
- "path": "src/index.ts",
2281
- "declarations": [],
2282
- "exports": [
3057
+ },
2283
3058
  {
2284
3059
  "kind": "js",
2285
- "name": "AnimateConfetti",
3060
+ "name": "iconChevronRight",
2286
3061
  "declaration": {
2287
- "name": "AnimateConfetti",
2288
- "module": "./animate-confetti.js"
3062
+ "name": "iconChevronRight",
3063
+ "module": "src/icons.ts"
2289
3064
  }
2290
3065
  },
2291
3066
  {
2292
3067
  "kind": "js",
2293
- "name": "RevealButton",
3068
+ "name": "iconCog",
2294
3069
  "declaration": {
2295
- "name": "RevealButton",
2296
- "module": "./reveal-button.js"
3070
+ "name": "iconCog",
3071
+ "module": "src/icons.ts"
2297
3072
  }
2298
3073
  },
2299
3074
  {
2300
3075
  "kind": "js",
2301
- "name": "RomanNumeral",
3076
+ "name": "iconInfo",
2302
3077
  "declaration": {
2303
- "name": "RomanNumeral",
2304
- "module": "./roman-numeral.js"
3078
+ "name": "iconInfo",
3079
+ "module": "src/icons.ts"
2305
3080
  }
2306
3081
  },
2307
3082
  {
2308
3083
  "kind": "js",
2309
- "name": "ConfirmDialog",
3084
+ "name": "iconQuestionMarkCircle",
2310
3085
  "declaration": {
2311
- "name": "ConfirmDialog",
2312
- "module": "./confirm-dialog.js"
3086
+ "name": "iconQuestionMarkCircle",
3087
+ "module": "src/icons.ts"
2313
3088
  }
2314
3089
  },
2315
3090
  {
2316
3091
  "kind": "js",
2317
- "name": "ToastNotification",
3092
+ "name": "iconPencil",
2318
3093
  "declaration": {
2319
- "name": "ToastNotification",
2320
- "module": "./toast-notification.js"
3094
+ "name": "iconPencil",
3095
+ "module": "src/icons.ts"
2321
3096
  }
2322
3097
  },
2323
3098
  {
2324
3099
  "kind": "js",
2325
- "name": "notifySuccess",
3100
+ "name": "iconTrash",
2326
3101
  "declaration": {
2327
- "name": "notifySuccess",
2328
- "module": "./toast-notification.js"
3102
+ "name": "iconTrash",
3103
+ "module": "src/icons.ts"
2329
3104
  }
2330
3105
  },
2331
3106
  {
2332
3107
  "kind": "js",
2333
- "name": "notifyError",
3108
+ "name": "iconPlus",
2334
3109
  "declaration": {
2335
- "name": "notifyError",
2336
- "module": "./toast-notification.js"
3110
+ "name": "iconPlus",
3111
+ "module": "src/icons.ts"
2337
3112
  }
2338
3113
  },
2339
3114
  {
2340
3115
  "kind": "js",
2341
- "name": "notifyInfo",
3116
+ "name": "iconListBullet",
2342
3117
  "declaration": {
2343
- "name": "notifyInfo",
2344
- "module": "./toast-notification.js"
3118
+ "name": "iconListBullet",
3119
+ "module": "src/icons.ts"
2345
3120
  }
2346
3121
  },
2347
3122
  {
2348
3123
  "kind": "js",
2349
- "name": "ToastVariant",
3124
+ "name": "iconCurrencyDollar",
2350
3125
  "declaration": {
2351
- "name": "ToastVariant",
2352
- "module": "./toast-notification.js"
3126
+ "name": "iconCurrencyDollar",
3127
+ "module": "src/icons.ts"
2353
3128
  }
2354
3129
  },
2355
3130
  {
2356
3131
  "kind": "js",
2357
- "name": "SlidePanel",
3132
+ "name": "iconHome",
2358
3133
  "declaration": {
2359
- "name": "SlidePanel",
2360
- "module": "./slide-panel.js"
3134
+ "name": "iconHome",
3135
+ "module": "src/icons.ts"
2361
3136
  }
2362
3137
  },
2363
3138
  {
2364
3139
  "kind": "js",
2365
- "name": "CopyLinkButton",
3140
+ "name": "iconMapPin",
2366
3141
  "declaration": {
2367
- "name": "CopyLinkButton",
2368
- "module": "./copy-link-button.js"
3142
+ "name": "iconMapPin",
3143
+ "module": "src/icons.ts"
2369
3144
  }
2370
3145
  },
2371
3146
  {
2372
3147
  "kind": "js",
2373
- "name": "RelativeTime",
3148
+ "name": "iconClock",
2374
3149
  "declaration": {
2375
- "name": "RelativeTime",
2376
- "module": "./relative-time.js"
3150
+ "name": "iconClock",
3151
+ "module": "src/icons.ts"
2377
3152
  }
2378
3153
  },
2379
3154
  {
2380
3155
  "kind": "js",
2381
- "name": "DistanceValue",
3156
+ "name": "iconTag",
2382
3157
  "declaration": {
2383
- "name": "DistanceValue",
2384
- "module": "./distance-value.js"
3158
+ "name": "iconTag",
3159
+ "module": "src/icons.ts"
2385
3160
  }
2386
3161
  },
2387
3162
  {
2388
3163
  "kind": "js",
2389
- "name": "PriceHistoryChart",
3164
+ "name": "iconCalendar",
2390
3165
  "declaration": {
2391
- "name": "PriceHistoryChart",
2392
- "module": "./price-history-chart.js"
3166
+ "name": "iconCalendar",
3167
+ "module": "src/icons.ts"
2393
3168
  }
2394
3169
  },
2395
3170
  {
2396
3171
  "kind": "js",
2397
- "name": "PricePoint",
3172
+ "name": "iconArrowsPointingOut",
2398
3173
  "declaration": {
2399
- "name": "PricePoint",
2400
- "module": "./price-history-chart.js"
3174
+ "name": "iconArrowsPointingOut",
3175
+ "module": "src/icons.ts"
2401
3176
  }
2402
3177
  },
2403
3178
  {
2404
3179
  "kind": "js",
2405
- "name": "DistributionChart",
3180
+ "name": "iconMap",
2406
3181
  "declaration": {
2407
- "name": "DistributionChart",
2408
- "module": "./distribution-chart.js"
3182
+ "name": "iconMap",
3183
+ "module": "src/icons.ts"
2409
3184
  }
2410
3185
  },
2411
3186
  {
2412
3187
  "kind": "js",
2413
- "name": "DistributionValue",
3188
+ "name": "iconCheckCircle",
2414
3189
  "declaration": {
2415
- "name": "DistributionValue",
2416
- "module": "./distribution-chart.js"
3190
+ "name": "iconCheckCircle",
3191
+ "module": "src/icons.ts"
2417
3192
  }
2418
3193
  },
2419
3194
  {
2420
3195
  "kind": "js",
2421
- "name": "PercentBarChart",
3196
+ "name": "iconSun",
2422
3197
  "declaration": {
2423
- "name": "PercentBarChart",
2424
- "module": "./percent-bar-chart.js"
3198
+ "name": "iconSun",
3199
+ "module": "src/icons.ts"
2425
3200
  }
2426
3201
  },
2427
3202
  {
2428
3203
  "kind": "js",
2429
- "name": "PercentBarGroup",
3204
+ "name": "iconShieldExclamation",
2430
3205
  "declaration": {
2431
- "name": "PercentBarGroup",
2432
- "module": "./percent-bar-chart.js"
3206
+ "name": "iconShieldExclamation",
3207
+ "module": "src/icons.ts"
2433
3208
  }
2434
3209
  },
2435
3210
  {
2436
3211
  "kind": "js",
2437
- "name": "WeightBarChart",
3212
+ "name": "iconArrowPath",
2438
3213
  "declaration": {
2439
- "name": "WeightBarChart",
2440
- "module": "./weight-bar-chart.js"
3214
+ "name": "iconArrowPath",
3215
+ "module": "src/icons.ts"
2441
3216
  }
2442
3217
  },
2443
3218
  {
2444
3219
  "kind": "js",
2445
- "name": "WeightBarItem",
3220
+ "name": "iconArrowRight",
2446
3221
  "declaration": {
2447
- "name": "WeightBarItem",
2448
- "module": "./weight-bar-chart.js"
3222
+ "name": "iconArrowRight",
3223
+ "module": "src/icons.ts"
2449
3224
  }
2450
3225
  },
2451
3226
  {
2452
3227
  "kind": "js",
2453
- "name": "AddressAutocomplete",
3228
+ "name": "iconLink",
2454
3229
  "declaration": {
2455
- "name": "AddressAutocomplete",
2456
- "module": "./address-autocomplete.js"
3230
+ "name": "iconLink",
3231
+ "module": "src/icons.ts"
2457
3232
  }
2458
3233
  },
2459
3234
  {
2460
3235
  "kind": "js",
2461
- "name": "AddressSuggestion",
3236
+ "name": "iconHeart",
2462
3237
  "declaration": {
2463
- "name": "AddressSuggestion",
2464
- "module": "./address-autocomplete.js"
3238
+ "name": "iconHeart",
3239
+ "module": "src/icons.ts"
2465
3240
  }
2466
3241
  },
2467
3242
  {
2468
3243
  "kind": "js",
2469
- "name": "AutocompleteInput",
3244
+ "name": "iconHeartSolid",
2470
3245
  "declaration": {
2471
- "name": "AutocompleteInput",
2472
- "module": "./autocomplete-input.js"
3246
+ "name": "iconHeartSolid",
3247
+ "module": "src/icons.ts"
2473
3248
  }
2474
3249
  },
2475
3250
  {
2476
3251
  "kind": "js",
2477
- "name": "AutocompleteOption",
3252
+ "name": "iconEye",
2478
3253
  "declaration": {
2479
- "name": "AutocompleteOption",
2480
- "module": "./autocomplete-input.js"
3254
+ "name": "iconEye",
3255
+ "module": "src/icons.ts"
2481
3256
  }
2482
3257
  },
2483
3258
  {
2484
3259
  "kind": "js",
2485
- "name": "UserAvatar",
3260
+ "name": "iconEyeSlash",
2486
3261
  "declaration": {
2487
- "name": "UserAvatar",
2488
- "module": "./user-avatar.js"
3262
+ "name": "iconEyeSlash",
3263
+ "module": "src/icons.ts"
2489
3264
  }
2490
3265
  },
2491
3266
  {
2492
3267
  "kind": "js",
2493
- "name": "MapPin",
3268
+ "name": "iconShieldCheck",
2494
3269
  "declaration": {
2495
- "name": "MapPin",
2496
- "module": "./map-pin.js"
3270
+ "name": "iconShieldCheck",
3271
+ "module": "src/icons.ts"
2497
3272
  }
2498
3273
  },
2499
3274
  {
2500
3275
  "kind": "js",
2501
- "name": "MapCircle",
3276
+ "name": "iconUserCircle",
2502
3277
  "declaration": {
2503
- "name": "MapCircle",
2504
- "module": "./map-circle.js"
3278
+ "name": "iconUserCircle",
3279
+ "module": "src/icons.ts"
2505
3280
  }
2506
3281
  },
2507
3282
  {
2508
3283
  "kind": "js",
2509
- "name": "MapPoint",
3284
+ "name": "iconClipboardDocumentList",
2510
3285
  "declaration": {
2511
- "name": "MapPoint",
2512
- "module": "./map-point.js"
3286
+ "name": "iconClipboardDocumentList",
3287
+ "module": "src/icons.ts"
2513
3288
  }
2514
3289
  },
2515
3290
  {
2516
3291
  "kind": "js",
2517
- "name": "RadioCards",
3292
+ "name": "iconCpuChip",
2518
3293
  "declaration": {
2519
- "name": "RadioCards",
2520
- "module": "./radio-cards.js"
3294
+ "name": "iconCpuChip",
3295
+ "module": "src/icons.ts"
2521
3296
  }
2522
3297
  },
2523
3298
  {
2524
3299
  "kind": "js",
2525
- "name": "RadioCardOption",
3300
+ "name": "iconFolder",
2526
3301
  "declaration": {
2527
- "name": "RadioCardOption",
2528
- "module": "./radio-cards.js"
3302
+ "name": "iconFolder",
3303
+ "module": "src/icons.ts"
2529
3304
  }
2530
3305
  },
2531
3306
  {
2532
3307
  "kind": "js",
2533
- "name": "RadioPills",
3308
+ "name": "iconChevronDown",
2534
3309
  "declaration": {
2535
- "name": "RadioPills",
2536
- "module": "./radio-pills.js"
3310
+ "name": "iconChevronDown",
3311
+ "module": "src/icons.ts"
2537
3312
  }
2538
3313
  },
2539
3314
  {
2540
3315
  "kind": "js",
2541
- "name": "RadioPillOption",
3316
+ "name": "iconDocument",
2542
3317
  "declaration": {
2543
- "name": "RadioPillOption",
2544
- "module": "./radio-pills.js"
3318
+ "name": "iconDocument",
3319
+ "module": "src/icons.ts"
2545
3320
  }
2546
3321
  },
2547
3322
  {
2548
3323
  "kind": "js",
2549
- "name": "UiButton",
3324
+ "name": "iconSquares2x2",
2550
3325
  "declaration": {
2551
- "name": "UiButton",
2552
- "module": "./ui-button.js"
3326
+ "name": "iconSquares2x2",
3327
+ "module": "src/icons.ts"
2553
3328
  }
2554
3329
  },
2555
3330
  {
2556
3331
  "kind": "js",
2557
- "name": "ButtonVariant",
3332
+ "name": "iconChatBubbleLeftRight",
2558
3333
  "declaration": {
2559
- "name": "ButtonVariant",
2560
- "module": "./ui-button.js"
3334
+ "name": "iconChatBubbleLeftRight",
3335
+ "module": "src/icons.ts"
3336
+ }
3337
+ }
3338
+ ]
3339
+ },
3340
+ {
3341
+ "kind": "javascript-module",
3342
+ "path": "src/index.ts",
3343
+ "declarations": [],
3344
+ "exports": [
3345
+ {
3346
+ "kind": "js",
3347
+ "name": "AnimateConfetti",
3348
+ "declaration": {
3349
+ "name": "AnimateConfetti",
3350
+ "module": "./animate-confetti.js"
2561
3351
  }
2562
3352
  },
2563
3353
  {
2564
3354
  "kind": "js",
2565
- "name": "StatMeter",
3355
+ "name": "GalleryItem",
2566
3356
  "declaration": {
2567
- "name": "StatMeter",
2568
- "module": "./stat-meter.js"
3357
+ "name": "GalleryItem",
3358
+ "module": "./gallery-item.js"
2569
3359
  }
2570
3360
  },
2571
3361
  {
2572
3362
  "kind": "js",
2573
- "name": "tokens",
3363
+ "name": "GalleryItemVariant",
2574
3364
  "declaration": {
2575
- "name": "tokens",
2576
- "module": "./tokens.js"
3365
+ "name": "GalleryItemVariant",
3366
+ "module": "./gallery-item-variant.js"
2577
3367
  }
2578
3368
  },
2579
3369
  {
2580
3370
  "kind": "js",
2581
- "name": "tokenValues",
3371
+ "name": "PhotoGallery",
2582
3372
  "declaration": {
2583
- "name": "tokenValues",
2584
- "module": "./tokens.js"
3373
+ "name": "PhotoGallery",
3374
+ "module": "./photo-gallery.js"
2585
3375
  }
2586
3376
  },
2587
3377
  {
2588
3378
  "kind": "js",
2589
- "name": "*",
3379
+ "name": "PhotoGalleryChangeReason",
2590
3380
  "declaration": {
2591
- "name": "*",
2592
- "module": "src/icons.js"
3381
+ "name": "PhotoGalleryChangeReason",
3382
+ "module": "./photo-gallery.js"
2593
3383
  }
2594
- }
2595
- ]
2596
- },
2597
- {
2598
- "kind": "javascript-module",
2599
- "path": "src/map-circle.ts",
2600
- "declarations": [
3384
+ },
2601
3385
  {
2602
- "kind": "class",
2603
- "description": "A plain circular map marker: a light-to-dark gradient fill with a white\nouter ring, no point/tail (unlike `<map-pin>`) — for markers that don't\nneed to visually \"point\" at their exact coordinate. Purely a visual\nprimitive — it has no `mapbox-gl` (or any mapping library) dependency;\nthe consumer positions it, e.g. via `new mapboxgl.Marker({ element: el })`.",
2604
- "name": "MapCircle",
2605
- "slots": [
2606
- {
2607
- "description": "Optional badge content shown centered on the circle — a rank number, an emoji, a small icon.",
2608
- "name": ""
2609
- }
2610
- ],
2611
- "members": [
2612
- {
2613
- "kind": "field",
2614
- "name": "color",
2615
- "type": {
2616
- "text": "string"
2617
- },
2618
- "default": "\"#4f46e5\"",
2619
- "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
2620
- "attribute": "color"
2621
- },
2622
- {
2623
- "kind": "field",
2624
- "name": "size",
2625
- "type": {
2626
- "text": "number"
2627
- },
2628
- "default": "18",
2629
- "description": "Diameter, in CSS pixels.",
2630
- "attribute": "size"
2631
- },
2632
- {
2633
- "kind": "field",
2634
- "name": "ringWidth",
2635
- "type": {
2636
- "text": "number"
2637
- },
2638
- "default": "4",
2639
- "description": "White outer ring thickness, in the same viewBox units as `size` (scales with it).",
2640
- "attribute": "ring-width"
3386
+ "kind": "js",
3387
+ "name": "PhotoGalleryObjectFit",
3388
+ "declaration": {
3389
+ "name": "PhotoGalleryObjectFit",
3390
+ "module": "./photo-gallery.js"
3391
+ }
3392
+ },
3393
+ {
3394
+ "kind": "js",
3395
+ "name": "PhotoGallerySlideChangeDetail",
3396
+ "declaration": {
3397
+ "name": "PhotoGallerySlideChangeDetail",
3398
+ "module": "./photo-gallery.js"
3399
+ }
3400
+ },
3401
+ {
3402
+ "kind": "js",
3403
+ "name": "RevealButton",
3404
+ "declaration": {
3405
+ "name": "RevealButton",
3406
+ "module": "./reveal-button.js"
3407
+ }
3408
+ },
3409
+ {
3410
+ "kind": "js",
3411
+ "name": "RomanNumeral",
3412
+ "declaration": {
3413
+ "name": "RomanNumeral",
3414
+ "module": "./roman-numeral.js"
3415
+ }
3416
+ },
3417
+ {
3418
+ "kind": "js",
3419
+ "name": "ConfirmDialog",
3420
+ "declaration": {
3421
+ "name": "ConfirmDialog",
3422
+ "module": "./confirm-dialog.js"
3423
+ }
3424
+ },
3425
+ {
3426
+ "kind": "js",
3427
+ "name": "ToastNotification",
3428
+ "declaration": {
3429
+ "name": "ToastNotification",
3430
+ "module": "./toast-notification.js"
3431
+ }
3432
+ },
3433
+ {
3434
+ "kind": "js",
3435
+ "name": "notifySuccess",
3436
+ "declaration": {
3437
+ "name": "notifySuccess",
3438
+ "module": "./toast-notification.js"
3439
+ }
3440
+ },
3441
+ {
3442
+ "kind": "js",
3443
+ "name": "notifyError",
3444
+ "declaration": {
3445
+ "name": "notifyError",
3446
+ "module": "./toast-notification.js"
3447
+ }
3448
+ },
3449
+ {
3450
+ "kind": "js",
3451
+ "name": "notifyInfo",
3452
+ "declaration": {
3453
+ "name": "notifyInfo",
3454
+ "module": "./toast-notification.js"
3455
+ }
3456
+ },
3457
+ {
3458
+ "kind": "js",
3459
+ "name": "ToastVariant",
3460
+ "declaration": {
3461
+ "name": "ToastVariant",
3462
+ "module": "./toast-notification.js"
3463
+ }
3464
+ },
3465
+ {
3466
+ "kind": "js",
3467
+ "name": "SlidePanel",
3468
+ "declaration": {
3469
+ "name": "SlidePanel",
3470
+ "module": "./slide-panel.js"
3471
+ }
3472
+ },
3473
+ {
3474
+ "kind": "js",
3475
+ "name": "CopyLinkButton",
3476
+ "declaration": {
3477
+ "name": "CopyLinkButton",
3478
+ "module": "./copy-link-button.js"
3479
+ }
3480
+ },
3481
+ {
3482
+ "kind": "js",
3483
+ "name": "RelativeTime",
3484
+ "declaration": {
3485
+ "name": "RelativeTime",
3486
+ "module": "./relative-time.js"
3487
+ }
3488
+ },
3489
+ {
3490
+ "kind": "js",
3491
+ "name": "DistanceValue",
3492
+ "declaration": {
3493
+ "name": "DistanceValue",
3494
+ "module": "./distance-value.js"
3495
+ }
3496
+ },
3497
+ {
3498
+ "kind": "js",
3499
+ "name": "PriceHistoryChart",
3500
+ "declaration": {
3501
+ "name": "PriceHistoryChart",
3502
+ "module": "./price-history-chart.js"
3503
+ }
3504
+ },
3505
+ {
3506
+ "kind": "js",
3507
+ "name": "PricePoint",
3508
+ "declaration": {
3509
+ "name": "PricePoint",
3510
+ "module": "./price-history-chart.js"
3511
+ }
3512
+ },
3513
+ {
3514
+ "kind": "js",
3515
+ "name": "DistributionChart",
3516
+ "declaration": {
3517
+ "name": "DistributionChart",
3518
+ "module": "./distribution-chart.js"
3519
+ }
3520
+ },
3521
+ {
3522
+ "kind": "js",
3523
+ "name": "DistributionValue",
3524
+ "declaration": {
3525
+ "name": "DistributionValue",
3526
+ "module": "./distribution-chart.js"
3527
+ }
3528
+ },
3529
+ {
3530
+ "kind": "js",
3531
+ "name": "PercentBarChart",
3532
+ "declaration": {
3533
+ "name": "PercentBarChart",
3534
+ "module": "./percent-bar-chart.js"
3535
+ }
3536
+ },
3537
+ {
3538
+ "kind": "js",
3539
+ "name": "PercentBarGroup",
3540
+ "declaration": {
3541
+ "name": "PercentBarGroup",
3542
+ "module": "./percent-bar-chart.js"
3543
+ }
3544
+ },
3545
+ {
3546
+ "kind": "js",
3547
+ "name": "WeightBarChart",
3548
+ "declaration": {
3549
+ "name": "WeightBarChart",
3550
+ "module": "./weight-bar-chart.js"
3551
+ }
3552
+ },
3553
+ {
3554
+ "kind": "js",
3555
+ "name": "WeightBarItem",
3556
+ "declaration": {
3557
+ "name": "WeightBarItem",
3558
+ "module": "./weight-bar-chart.js"
3559
+ }
3560
+ },
3561
+ {
3562
+ "kind": "js",
3563
+ "name": "AddressAutocomplete",
3564
+ "declaration": {
3565
+ "name": "AddressAutocomplete",
3566
+ "module": "./address-autocomplete.js"
3567
+ }
3568
+ },
3569
+ {
3570
+ "kind": "js",
3571
+ "name": "AddressSuggestion",
3572
+ "declaration": {
3573
+ "name": "AddressSuggestion",
3574
+ "module": "./address-autocomplete.js"
3575
+ }
3576
+ },
3577
+ {
3578
+ "kind": "js",
3579
+ "name": "AutocompleteInput",
3580
+ "declaration": {
3581
+ "name": "AutocompleteInput",
3582
+ "module": "./autocomplete-input.js"
3583
+ }
3584
+ },
3585
+ {
3586
+ "kind": "js",
3587
+ "name": "AutocompleteOption",
3588
+ "declaration": {
3589
+ "name": "AutocompleteOption",
3590
+ "module": "./autocomplete-input.js"
3591
+ }
3592
+ },
3593
+ {
3594
+ "kind": "js",
3595
+ "name": "UserAvatar",
3596
+ "declaration": {
3597
+ "name": "UserAvatar",
3598
+ "module": "./user-avatar.js"
3599
+ }
3600
+ },
3601
+ {
3602
+ "kind": "js",
3603
+ "name": "MapPin",
3604
+ "declaration": {
3605
+ "name": "MapPin",
3606
+ "module": "./map-pin.js"
3607
+ }
3608
+ },
3609
+ {
3610
+ "kind": "js",
3611
+ "name": "MapCircle",
3612
+ "declaration": {
3613
+ "name": "MapCircle",
3614
+ "module": "./map-circle.js"
3615
+ }
3616
+ },
3617
+ {
3618
+ "kind": "js",
3619
+ "name": "MapPoint",
3620
+ "declaration": {
3621
+ "name": "MapPoint",
3622
+ "module": "./map-point.js"
3623
+ }
3624
+ },
3625
+ {
3626
+ "kind": "js",
3627
+ "name": "RadioCards",
3628
+ "declaration": {
3629
+ "name": "RadioCards",
3630
+ "module": "./radio-cards.js"
3631
+ }
3632
+ },
3633
+ {
3634
+ "kind": "js",
3635
+ "name": "RadioCardOption",
3636
+ "declaration": {
3637
+ "name": "RadioCardOption",
3638
+ "module": "./radio-cards.js"
3639
+ }
3640
+ },
3641
+ {
3642
+ "kind": "js",
3643
+ "name": "RadioPills",
3644
+ "declaration": {
3645
+ "name": "RadioPills",
3646
+ "module": "./radio-pills.js"
3647
+ }
3648
+ },
3649
+ {
3650
+ "kind": "js",
3651
+ "name": "RadioPillOption",
3652
+ "declaration": {
3653
+ "name": "RadioPillOption",
3654
+ "module": "./radio-pills.js"
3655
+ }
3656
+ },
3657
+ {
3658
+ "kind": "js",
3659
+ "name": "UiButton",
3660
+ "declaration": {
3661
+ "name": "UiButton",
3662
+ "module": "./ui-button.js"
3663
+ }
3664
+ },
3665
+ {
3666
+ "kind": "js",
3667
+ "name": "ButtonVariant",
3668
+ "declaration": {
3669
+ "name": "ButtonVariant",
3670
+ "module": "./ui-button.js"
3671
+ }
3672
+ },
3673
+ {
3674
+ "kind": "js",
3675
+ "name": "StatMeter",
3676
+ "declaration": {
3677
+ "name": "StatMeter",
3678
+ "module": "./stat-meter.js"
3679
+ }
3680
+ },
3681
+ {
3682
+ "kind": "js",
3683
+ "name": "StatusPill",
3684
+ "declaration": {
3685
+ "name": "StatusPill",
3686
+ "module": "./status-pill.js"
3687
+ }
3688
+ },
3689
+ {
3690
+ "kind": "js",
3691
+ "name": "StatusPillColor",
3692
+ "declaration": {
3693
+ "name": "StatusPillColor",
3694
+ "module": "./status-pill.js"
3695
+ }
3696
+ },
3697
+ {
3698
+ "kind": "js",
3699
+ "name": "EditableText",
3700
+ "declaration": {
3701
+ "name": "EditableText",
3702
+ "module": "./editable-text.js"
3703
+ }
3704
+ },
3705
+ {
3706
+ "kind": "js",
3707
+ "name": "LiveTimer",
3708
+ "declaration": {
3709
+ "name": "LiveTimer",
3710
+ "module": "./live-timer.js"
3711
+ }
3712
+ },
3713
+ {
3714
+ "kind": "js",
3715
+ "name": "ChatMessage",
3716
+ "declaration": {
3717
+ "name": "ChatMessage",
3718
+ "module": "./chat-message.js"
3719
+ }
3720
+ },
3721
+ {
3722
+ "kind": "js",
3723
+ "name": "ChatMessageRole",
3724
+ "declaration": {
3725
+ "name": "ChatMessageRole",
3726
+ "module": "./chat-message.js"
3727
+ }
3728
+ },
3729
+ {
3730
+ "kind": "js",
3731
+ "name": "ChatMessageVariant",
3732
+ "declaration": {
3733
+ "name": "ChatMessageVariant",
3734
+ "module": "./chat-message.js"
3735
+ }
3736
+ },
3737
+ {
3738
+ "kind": "js",
3739
+ "name": "FormSelect",
3740
+ "declaration": {
3741
+ "name": "FormSelect",
3742
+ "module": "./form-select.js"
3743
+ }
3744
+ },
3745
+ {
3746
+ "kind": "js",
3747
+ "name": "SelectOption",
3748
+ "declaration": {
3749
+ "name": "SelectOption",
3750
+ "module": "./form-select.js"
3751
+ }
3752
+ },
3753
+ {
3754
+ "kind": "js",
3755
+ "name": "DataTable",
3756
+ "declaration": {
3757
+ "name": "DataTable",
3758
+ "module": "./data-table.js"
3759
+ }
3760
+ },
3761
+ {
3762
+ "kind": "js",
3763
+ "name": "DataTableColumn",
3764
+ "declaration": {
3765
+ "name": "DataTableColumn",
3766
+ "module": "./data-table.js"
3767
+ }
3768
+ },
3769
+ {
3770
+ "kind": "js",
3771
+ "name": "TileGrid",
3772
+ "declaration": {
3773
+ "name": "TileGrid",
3774
+ "module": "./tile-grid.js"
3775
+ }
3776
+ },
3777
+ {
3778
+ "kind": "js",
3779
+ "name": "PopoverPanel",
3780
+ "declaration": {
3781
+ "name": "PopoverPanel",
3782
+ "module": "./popover-panel.js"
3783
+ }
3784
+ },
3785
+ {
3786
+ "kind": "js",
3787
+ "name": "formatDuration",
3788
+ "declaration": {
3789
+ "name": "formatDuration",
3790
+ "module": "./utils/duration.js"
3791
+ }
3792
+ },
3793
+ {
3794
+ "kind": "js",
3795
+ "name": "DurationFormat",
3796
+ "declaration": {
3797
+ "name": "DurationFormat",
3798
+ "module": "./utils/duration.js"
3799
+ }
3800
+ },
3801
+ {
3802
+ "kind": "js",
3803
+ "name": "tokens",
3804
+ "declaration": {
3805
+ "name": "tokens",
3806
+ "module": "./tokens.js"
3807
+ }
3808
+ },
3809
+ {
3810
+ "kind": "js",
3811
+ "name": "tokenValues",
3812
+ "declaration": {
3813
+ "name": "tokenValues",
3814
+ "module": "./tokens.js"
3815
+ }
3816
+ },
3817
+ {
3818
+ "kind": "js",
3819
+ "name": "darkTokenValues",
3820
+ "declaration": {
3821
+ "name": "darkTokenValues",
3822
+ "module": "./tokens.js"
3823
+ }
3824
+ },
3825
+ {
3826
+ "kind": "js",
3827
+ "name": "*",
3828
+ "declaration": {
3829
+ "name": "*",
3830
+ "module": "src/icons.js"
3831
+ }
3832
+ }
3833
+ ]
3834
+ },
3835
+ {
3836
+ "kind": "javascript-module",
3837
+ "path": "src/live-timer.ts",
3838
+ "declarations": [
3839
+ {
3840
+ "kind": "class",
3841
+ "description": "Per-second ticking count-up timer, e.g. a live \"running for 12s\" or\n\"Sleeping for 3 seconds\" indicator. Renders nothing while `since` is unset\nor unparseable.",
3842
+ "name": "LiveTimer",
3843
+ "members": [
3844
+ {
3845
+ "kind": "field",
3846
+ "name": "since",
3847
+ "type": {
3848
+ "text": "string | null"
3849
+ },
3850
+ "default": "null",
3851
+ "description": "ISO-8601 start instant; elapsed time is measured from here.",
3852
+ "attribute": "since"
3853
+ },
3854
+ {
3855
+ "kind": "field",
3856
+ "name": "format",
3857
+ "type": {
3858
+ "text": "DurationFormat"
3859
+ },
3860
+ "default": "\"seconds\"",
3861
+ "description": "`\"seconds\"` -> \"1 second\", \"12 seconds\"; `\"compact\"` -> \"12s\", \"3m 12s\", \"1h 03m 12s\".",
3862
+ "attribute": "format"
3863
+ },
3864
+ {
3865
+ "kind": "field",
3866
+ "name": "prefix",
3867
+ "type": {
3868
+ "text": "string"
3869
+ },
3870
+ "default": "\"\"",
3871
+ "description": "Text rendered before the formatted value.",
3872
+ "attribute": "prefix"
3873
+ },
3874
+ {
3875
+ "kind": "field",
3876
+ "name": "suffix",
3877
+ "type": {
3878
+ "text": "string"
3879
+ },
3880
+ "default": "\"\"",
3881
+ "description": "Text rendered after the formatted value.",
3882
+ "attribute": "suffix"
3883
+ },
3884
+ {
3885
+ "kind": "field",
3886
+ "name": "_now",
3887
+ "privacy": "private"
3888
+ },
3889
+ {
3890
+ "kind": "field",
3891
+ "name": "_timer",
3892
+ "type": {
3893
+ "text": "ReturnType<typeof setInterval> | null"
3894
+ },
3895
+ "privacy": "private",
3896
+ "default": "null"
3897
+ }
3898
+ ],
3899
+ "attributes": [
3900
+ {
3901
+ "name": "since",
3902
+ "type": {
3903
+ "text": "string | null"
3904
+ },
3905
+ "default": "null",
3906
+ "description": "ISO-8601 start instant; elapsed time is measured from here.",
3907
+ "fieldName": "since"
3908
+ },
3909
+ {
3910
+ "name": "format",
3911
+ "type": {
3912
+ "text": "DurationFormat"
3913
+ },
3914
+ "default": "\"seconds\"",
3915
+ "description": "`\"seconds\"` -> \"1 second\", \"12 seconds\"; `\"compact\"` -> \"12s\", \"3m 12s\", \"1h 03m 12s\".",
3916
+ "fieldName": "format"
3917
+ },
3918
+ {
3919
+ "name": "prefix",
3920
+ "type": {
3921
+ "text": "string"
3922
+ },
3923
+ "default": "\"\"",
3924
+ "description": "Text rendered before the formatted value.",
3925
+ "fieldName": "prefix"
3926
+ },
3927
+ {
3928
+ "name": "suffix",
3929
+ "type": {
3930
+ "text": "string"
3931
+ },
3932
+ "default": "\"\"",
3933
+ "description": "Text rendered after the formatted value.",
3934
+ "fieldName": "suffix"
3935
+ }
3936
+ ],
3937
+ "superclass": {
3938
+ "name": "LitElement",
3939
+ "package": "lit"
3940
+ },
3941
+ "tagName": "live-timer",
3942
+ "customElement": true
3943
+ }
3944
+ ],
3945
+ "exports": [
3946
+ {
3947
+ "kind": "js",
3948
+ "name": "LiveTimer",
3949
+ "declaration": {
3950
+ "name": "LiveTimer",
3951
+ "module": "src/live-timer.ts"
3952
+ }
3953
+ },
3954
+ {
3955
+ "kind": "custom-element-definition",
3956
+ "name": "live-timer",
3957
+ "declaration": {
3958
+ "name": "LiveTimer",
3959
+ "module": "src/live-timer.ts"
3960
+ }
3961
+ }
3962
+ ]
3963
+ },
3964
+ {
3965
+ "kind": "javascript-module",
3966
+ "path": "src/map-circle.ts",
3967
+ "declarations": [
3968
+ {
3969
+ "kind": "class",
3970
+ "description": "A plain circular map marker: a light-to-dark gradient fill with a white\nouter ring, no point/tail (unlike `<map-pin>`) — for markers that don't\nneed to visually \"point\" at their exact coordinate. Purely a visual\nprimitive — it has no `mapbox-gl` (or any mapping library) dependency;\nthe consumer positions it, e.g. via `new mapboxgl.Marker({ element: el })`.",
3971
+ "name": "MapCircle",
3972
+ "slots": [
3973
+ {
3974
+ "description": "Optional badge content shown centered on the circle — a rank number, an emoji, a small icon.",
3975
+ "name": ""
3976
+ }
3977
+ ],
3978
+ "members": [
3979
+ {
3980
+ "kind": "field",
3981
+ "name": "color",
3982
+ "type": {
3983
+ "text": "string"
3984
+ },
3985
+ "default": "\"#4f46e5\"",
3986
+ "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
3987
+ "attribute": "color"
3988
+ },
3989
+ {
3990
+ "kind": "field",
3991
+ "name": "size",
3992
+ "type": {
3993
+ "text": "number"
3994
+ },
3995
+ "default": "18",
3996
+ "description": "Diameter, in CSS pixels.",
3997
+ "attribute": "size"
3998
+ },
3999
+ {
4000
+ "kind": "field",
4001
+ "name": "ringWidth",
4002
+ "type": {
4003
+ "text": "number"
4004
+ },
4005
+ "default": "4",
4006
+ "description": "White outer ring thickness, in the same viewBox units as `size` (scales with it).",
4007
+ "attribute": "ring-width"
4008
+ },
4009
+ {
4010
+ "kind": "field",
4011
+ "name": "highlighted",
4012
+ "type": {
4013
+ "text": "boolean"
4014
+ },
4015
+ "default": "false",
4016
+ "description": "Scales and glows the circle — a generic emphasis state (e.g. hover, selection).",
4017
+ "attribute": "highlighted",
4018
+ "reflects": true
4019
+ },
4020
+ {
4021
+ "kind": "field",
4022
+ "name": "_gradId",
4023
+ "privacy": "private",
4024
+ "readonly": true,
4025
+ "default": "`map-circle-grad-${gradientIdCounter++}`"
4026
+ }
4027
+ ],
4028
+ "attributes": [
4029
+ {
4030
+ "name": "color",
4031
+ "type": {
4032
+ "text": "string"
4033
+ },
4034
+ "default": "\"#4f46e5\"",
4035
+ "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
4036
+ "fieldName": "color"
4037
+ },
4038
+ {
4039
+ "name": "size",
4040
+ "type": {
4041
+ "text": "number"
4042
+ },
4043
+ "default": "18",
4044
+ "description": "Diameter, in CSS pixels.",
4045
+ "fieldName": "size"
4046
+ },
4047
+ {
4048
+ "name": "ring-width",
4049
+ "type": {
4050
+ "text": "number"
4051
+ },
4052
+ "default": "4",
4053
+ "description": "White outer ring thickness, in the same viewBox units as `size` (scales with it).",
4054
+ "fieldName": "ringWidth"
4055
+ },
4056
+ {
4057
+ "name": "highlighted",
4058
+ "type": {
4059
+ "text": "boolean"
4060
+ },
4061
+ "default": "false",
4062
+ "description": "Scales and glows the circle — a generic emphasis state (e.g. hover, selection).",
4063
+ "fieldName": "highlighted"
4064
+ }
4065
+ ],
4066
+ "superclass": {
4067
+ "name": "LitElement",
4068
+ "package": "lit"
4069
+ },
4070
+ "tagName": "map-circle",
4071
+ "customElement": true
4072
+ }
4073
+ ],
4074
+ "exports": [
4075
+ {
4076
+ "kind": "js",
4077
+ "name": "MapCircle",
4078
+ "declaration": {
4079
+ "name": "MapCircle",
4080
+ "module": "src/map-circle.ts"
4081
+ }
4082
+ },
4083
+ {
4084
+ "kind": "custom-element-definition",
4085
+ "name": "map-circle",
4086
+ "declaration": {
4087
+ "name": "MapCircle",
4088
+ "module": "src/map-circle.ts"
4089
+ }
4090
+ }
4091
+ ]
4092
+ },
4093
+ {
4094
+ "kind": "javascript-module",
4095
+ "path": "src/map-pin.ts",
4096
+ "declarations": [
4097
+ {
4098
+ "kind": "class",
4099
+ "description": "A circular \"Apple Maps\"-style map pin: a light-to-dark gradient fill with\na slight point at the bottom. Purely a visual primitive — it has no\n`mapbox-gl` (or any mapping library) dependency; the consumer positions\nit, e.g. via `new mapboxgl.Marker({ element: pinEl })`.",
4100
+ "name": "MapPin",
4101
+ "slots": [
4102
+ {
4103
+ "description": "Badge content shown centered on the pin's circular head — a rank number, an emoji, a small icon.",
4104
+ "name": ""
4105
+ }
4106
+ ],
4107
+ "members": [
4108
+ {
4109
+ "kind": "field",
4110
+ "name": "color",
4111
+ "type": {
4112
+ "text": "string"
4113
+ },
4114
+ "default": "\"#4f46e5\"",
4115
+ "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
4116
+ "attribute": "color"
4117
+ },
4118
+ {
4119
+ "kind": "field",
4120
+ "name": "size",
4121
+ "type": {
4122
+ "text": "number"
4123
+ },
4124
+ "default": "32",
4125
+ "description": "Diameter of the circular head, in CSS pixels.",
4126
+ "attribute": "size"
4127
+ },
4128
+ {
4129
+ "kind": "field",
4130
+ "name": "highlighted",
4131
+ "type": {
4132
+ "text": "boolean"
4133
+ },
4134
+ "default": "false",
4135
+ "description": "Scales and glows the pin — a generic emphasis state (e.g. hover, selection).",
4136
+ "attribute": "highlighted",
4137
+ "reflects": true
4138
+ },
4139
+ {
4140
+ "kind": "field",
4141
+ "name": "_gradId",
4142
+ "privacy": "private",
4143
+ "readonly": true,
4144
+ "default": "`map-pin-grad-${gradientIdCounter++}`"
4145
+ }
4146
+ ],
4147
+ "attributes": [
4148
+ {
4149
+ "name": "color",
4150
+ "type": {
4151
+ "text": "string"
4152
+ },
4153
+ "default": "\"#4f46e5\"",
4154
+ "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
4155
+ "fieldName": "color"
4156
+ },
4157
+ {
4158
+ "name": "size",
4159
+ "type": {
4160
+ "text": "number"
4161
+ },
4162
+ "default": "32",
4163
+ "description": "Diameter of the circular head, in CSS pixels.",
4164
+ "fieldName": "size"
4165
+ },
4166
+ {
4167
+ "name": "highlighted",
4168
+ "type": {
4169
+ "text": "boolean"
4170
+ },
4171
+ "default": "false",
4172
+ "description": "Scales and glows the pin — a generic emphasis state (e.g. hover, selection).",
4173
+ "fieldName": "highlighted"
4174
+ }
4175
+ ],
4176
+ "superclass": {
4177
+ "name": "LitElement",
4178
+ "package": "lit"
4179
+ },
4180
+ "tagName": "map-pin",
4181
+ "customElement": true
4182
+ }
4183
+ ],
4184
+ "exports": [
4185
+ {
4186
+ "kind": "js",
4187
+ "name": "MapPin",
4188
+ "declaration": {
4189
+ "name": "MapPin",
4190
+ "module": "src/map-pin.ts"
4191
+ }
4192
+ },
4193
+ {
4194
+ "kind": "custom-element-definition",
4195
+ "name": "map-pin",
4196
+ "declaration": {
4197
+ "name": "MapPin",
4198
+ "module": "src/map-pin.ts"
4199
+ }
4200
+ }
4201
+ ]
4202
+ },
4203
+ {
4204
+ "kind": "javascript-module",
4205
+ "path": "src/map-point.ts",
4206
+ "declarations": [
4207
+ {
4208
+ "kind": "class",
4209
+ "description": "A small plain-colored map marker for dense point layers (transit stops,\namenities, hazard points, etc.): a light-to-dark gradient fill with a thin\nwhite ring, no badge/content slot — every instance on a given layer shares\nthe same look, so there's nothing to render per-feature (unlike\n`<map-pin>`/`<map-circle>`, which carry per-marker slotted content).\nPurely a visual primitive — it has no `mapbox-gl` (or any mapping library)\ndependency; typically rasterized once per color and used as a Mapbox\n`icon-image` on a `symbol` layer rather than mounted as individual DOM\nmarkers, so a whole layer's worth of points shares one icon image.",
4210
+ "name": "MapPoint",
4211
+ "members": [
4212
+ {
4213
+ "kind": "field",
4214
+ "name": "color",
4215
+ "type": {
4216
+ "text": "string"
4217
+ },
4218
+ "default": "\"#4f46e5\"",
4219
+ "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
4220
+ "attribute": "color"
4221
+ },
4222
+ {
4223
+ "kind": "field",
4224
+ "name": "size",
4225
+ "type": {
4226
+ "text": "number"
4227
+ },
4228
+ "default": "14",
4229
+ "description": "Diameter, in CSS pixels.",
4230
+ "attribute": "size"
4231
+ },
4232
+ {
4233
+ "kind": "field",
4234
+ "name": "ringWidth",
4235
+ "type": {
4236
+ "text": "number"
4237
+ },
4238
+ "default": "3",
4239
+ "description": "White outer ring thickness, in the same viewBox units as `size` (scales with it).",
4240
+ "attribute": "ring-width"
4241
+ },
4242
+ {
4243
+ "kind": "field",
4244
+ "name": "_gradId",
4245
+ "privacy": "private",
4246
+ "readonly": true,
4247
+ "default": "`map-point-grad-${gradientIdCounter++}`"
4248
+ }
4249
+ ],
4250
+ "attributes": [
4251
+ {
4252
+ "name": "color",
4253
+ "type": {
4254
+ "text": "string"
4255
+ },
4256
+ "default": "\"#4f46e5\"",
4257
+ "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
4258
+ "fieldName": "color"
4259
+ },
4260
+ {
4261
+ "name": "size",
4262
+ "type": {
4263
+ "text": "number"
4264
+ },
4265
+ "default": "14",
4266
+ "description": "Diameter, in CSS pixels.",
4267
+ "fieldName": "size"
4268
+ },
4269
+ {
4270
+ "name": "ring-width",
4271
+ "type": {
4272
+ "text": "number"
4273
+ },
4274
+ "default": "3",
4275
+ "description": "White outer ring thickness, in the same viewBox units as `size` (scales with it).",
4276
+ "fieldName": "ringWidth"
4277
+ }
4278
+ ],
4279
+ "superclass": {
4280
+ "name": "LitElement",
4281
+ "package": "lit"
4282
+ },
4283
+ "tagName": "map-point",
4284
+ "customElement": true
4285
+ }
4286
+ ],
4287
+ "exports": [
4288
+ {
4289
+ "kind": "js",
4290
+ "name": "MapPoint",
4291
+ "declaration": {
4292
+ "name": "MapPoint",
4293
+ "module": "src/map-point.ts"
4294
+ }
4295
+ },
4296
+ {
4297
+ "kind": "custom-element-definition",
4298
+ "name": "map-point",
4299
+ "declaration": {
4300
+ "name": "MapPoint",
4301
+ "module": "src/map-point.ts"
4302
+ }
4303
+ }
4304
+ ]
4305
+ },
4306
+ {
4307
+ "kind": "javascript-module",
4308
+ "path": "src/percent-bar-chart.ts",
4309
+ "declarations": [
4310
+ {
4311
+ "kind": "class",
4312
+ "description": "Horizontal bar chart for labeled percentage rows, using D3's linear scale.\nEach group gets its own labeled row; bars are proportional to percentage of 100.",
4313
+ "name": "PercentBarChart",
4314
+ "members": [
4315
+ {
4316
+ "kind": "field",
4317
+ "name": "groups",
4318
+ "type": {
4319
+ "text": "PercentBarGroup[]"
4320
+ },
4321
+ "default": "[]",
4322
+ "description": "Rows to render, one per group."
4323
+ },
4324
+ {
4325
+ "kind": "field",
4326
+ "name": "_width",
4327
+ "type": {
4328
+ "text": "number"
4329
+ },
4330
+ "privacy": "private",
4331
+ "default": "0"
4332
+ },
4333
+ {
4334
+ "kind": "field",
4335
+ "name": "_ro",
4336
+ "type": {
4337
+ "text": "ResizeObserver | null"
4338
+ },
4339
+ "privacy": "private",
4340
+ "default": "null"
4341
+ }
4342
+ ],
4343
+ "superclass": {
4344
+ "name": "LitElement",
4345
+ "package": "lit"
4346
+ },
4347
+ "tagName": "percent-bar-chart",
4348
+ "customElement": true
4349
+ }
4350
+ ],
4351
+ "exports": [
4352
+ {
4353
+ "kind": "js",
4354
+ "name": "PercentBarChart",
4355
+ "declaration": {
4356
+ "name": "PercentBarChart",
4357
+ "module": "src/percent-bar-chart.ts"
4358
+ }
4359
+ },
4360
+ {
4361
+ "kind": "custom-element-definition",
4362
+ "name": "percent-bar-chart",
4363
+ "declaration": {
4364
+ "name": "PercentBarChart",
4365
+ "module": "src/percent-bar-chart.ts"
4366
+ }
4367
+ }
4368
+ ]
4369
+ },
4370
+ {
4371
+ "kind": "javascript-module",
4372
+ "path": "src/photo-gallery.ts",
4373
+ "declarations": [
4374
+ {
4375
+ "kind": "class",
4376
+ "description": "Responsive, accessible image carousel composed from declarative\n`gallery-item` children.",
4377
+ "name": "PhotoGallery",
4378
+ "slots": [
4379
+ {
4380
+ "description": "`gallery-item` elements rendered as slides.",
4381
+ "name": ""
4382
+ }
4383
+ ],
4384
+ "members": [
4385
+ {
4386
+ "kind": "field",
4387
+ "name": "currentIndex",
4388
+ "type": {
4389
+ "text": "number"
4390
+ },
4391
+ "default": "0",
4392
+ "description": "Zero-based active image index.",
4393
+ "attribute": "current-index",
4394
+ "reflects": true
4395
+ },
4396
+ {
4397
+ "kind": "field",
4398
+ "name": "delay",
4399
+ "type": {
4400
+ "text": "number"
4401
+ },
4402
+ "default": "0",
4403
+ "description": "Autoplay interval in milliseconds. Set to zero to disable autoplay.",
4404
+ "attribute": "delay"
4405
+ },
4406
+ {
4407
+ "kind": "field",
4408
+ "name": "showControls",
4409
+ "type": {
4410
+ "text": "boolean"
4411
+ },
4412
+ "default": "true",
4413
+ "description": "Whether previous and next buttons are shown.",
4414
+ "attribute": "show-controls"
4415
+ },
4416
+ {
4417
+ "kind": "field",
4418
+ "name": "showCounter",
4419
+ "type": {
4420
+ "text": "boolean"
4421
+ },
4422
+ "default": "false",
4423
+ "description": "Whether a current/total counter is shown.",
4424
+ "attribute": "show-counter"
4425
+ },
4426
+ {
4427
+ "kind": "field",
4428
+ "name": "showIndicators",
4429
+ "type": {
4430
+ "text": "boolean"
4431
+ },
4432
+ "default": "false",
4433
+ "description": "Whether clickable slide indicators are shown.",
4434
+ "attribute": "show-indicators"
4435
+ },
4436
+ {
4437
+ "kind": "field",
4438
+ "name": "showAutoplayControl",
4439
+ "type": {
4440
+ "text": "boolean"
4441
+ },
4442
+ "default": "true",
4443
+ "description": "Whether autoplay includes a built-in pause/play control.",
4444
+ "attribute": "show-autoplay-control"
4445
+ },
4446
+ {
4447
+ "kind": "field",
4448
+ "name": "paused",
4449
+ "type": {
4450
+ "text": "boolean"
4451
+ },
4452
+ "default": "false",
4453
+ "description": "Whether autoplay is explicitly paused.",
4454
+ "attribute": "paused",
4455
+ "reflects": true
4456
+ },
4457
+ {
4458
+ "kind": "field",
4459
+ "name": "aspectRatio",
4460
+ "type": {
4461
+ "text": "string"
4462
+ },
4463
+ "default": "\"16 / 9\"",
4464
+ "description": "CSS aspect ratio used by the image viewport.",
4465
+ "attribute": "aspect-ratio"
4466
+ },
4467
+ {
4468
+ "kind": "field",
4469
+ "name": "objectFit",
4470
+ "type": {
4471
+ "text": "PhotoGalleryObjectFit"
4472
+ },
4473
+ "default": "\"cover\"",
4474
+ "description": "How images fit within the stable viewport.",
4475
+ "attribute": "object-fit"
4476
+ },
4477
+ {
4478
+ "kind": "field",
4479
+ "name": "_galleryItems",
4480
+ "type": {
4481
+ "text": "GalleryItem[]"
4482
+ },
4483
+ "privacy": "private",
4484
+ "readonly": true
4485
+ },
4486
+ {
4487
+ "kind": "field",
4488
+ "name": "_previousIndex",
4489
+ "type": {
4490
+ "text": "number | null"
4491
+ },
4492
+ "privacy": "private",
4493
+ "default": "null"
4494
+ },
4495
+ {
4496
+ "kind": "field",
4497
+ "name": "_itemsVersion",
4498
+ "type": {
4499
+ "text": "number"
4500
+ },
4501
+ "privacy": "private",
4502
+ "default": "0"
4503
+ },
4504
+ {
4505
+ "kind": "field",
4506
+ "name": "_autoplayTimer",
4507
+ "type": {
4508
+ "text": "number | undefined"
4509
+ },
4510
+ "privacy": "private"
4511
+ },
4512
+ {
4513
+ "kind": "field",
4514
+ "name": "_transitionTimer",
4515
+ "type": {
4516
+ "text": "number | undefined"
4517
+ },
4518
+ "privacy": "private"
4519
+ },
4520
+ {
4521
+ "kind": "field",
4522
+ "name": "_metadataObserver",
4523
+ "type": {
4524
+ "text": "MutationObserver | undefined"
4525
+ },
4526
+ "privacy": "private"
4527
+ },
4528
+ {
4529
+ "kind": "field",
4530
+ "name": "_hovered",
4531
+ "type": {
4532
+ "text": "boolean"
4533
+ },
4534
+ "privacy": "private",
4535
+ "default": "false"
4536
+ },
4537
+ {
4538
+ "kind": "field",
4539
+ "name": "_focusWithin",
4540
+ "type": {
4541
+ "text": "boolean"
4542
+ },
4543
+ "privacy": "private",
4544
+ "default": "false"
4545
+ },
4546
+ {
4547
+ "kind": "field",
4548
+ "name": "_nextChangeReason",
4549
+ "type": {
4550
+ "text": "PhotoGalleryChangeReason | null"
4551
+ },
4552
+ "privacy": "private",
4553
+ "default": "null"
4554
+ },
4555
+ {
4556
+ "kind": "field",
4557
+ "name": "_pendingChange",
4558
+ "type": {
4559
+ "text": "PhotoGallerySlideChangeDetail | undefined"
4560
+ },
4561
+ "privacy": "private"
4562
+ },
4563
+ {
4564
+ "kind": "field",
4565
+ "name": "_pointerStart",
4566
+ "type": {
4567
+ "text": "{ id: number; x: number; y: number } | undefined"
4568
+ },
4569
+ "privacy": "private"
4570
+ },
4571
+ {
4572
+ "kind": "field",
4573
+ "name": "_itemsChanged",
4574
+ "type": {
4575
+ "text": "boolean"
4576
+ },
4577
+ "privacy": "private",
4578
+ "default": "false"
4579
+ },
4580
+ {
4581
+ "kind": "field",
4582
+ "name": "_activeItem",
4583
+ "type": {
4584
+ "text": "GalleryItem | undefined"
4585
+ },
4586
+ "privacy": "private"
4587
+ },
4588
+ {
4589
+ "kind": "field",
4590
+ "name": "_renderedIndex",
4591
+ "type": {
4592
+ "text": "number"
4593
+ },
4594
+ "privacy": "private",
4595
+ "default": "0"
4596
+ },
4597
+ {
4598
+ "kind": "method",
4599
+ "name": "_normalizeIndex",
4600
+ "privacy": "private",
4601
+ "return": {
4602
+ "type": {
4603
+ "text": "number"
4604
+ }
4605
+ },
4606
+ "parameters": [
4607
+ {
4608
+ "name": "index",
4609
+ "type": {
4610
+ "text": "number"
4611
+ }
4612
+ }
4613
+ ],
4614
+ "description": "Wraps any requested index into the current item range."
4615
+ },
4616
+ {
4617
+ "kind": "method",
4618
+ "name": "_variantsFor",
4619
+ "privacy": "private",
4620
+ "return": {
4621
+ "type": {
4622
+ "text": "GalleryItemVariant[]"
4623
+ }
4624
+ },
4625
+ "parameters": [
4626
+ {
4627
+ "name": "item",
4628
+ "type": {
4629
+ "text": "GalleryItem"
4630
+ }
4631
+ }
4632
+ ],
4633
+ "description": "Returns responsive variants declared directly under an item."
4634
+ },
4635
+ {
4636
+ "kind": "method",
4637
+ "name": "_goTo",
4638
+ "privacy": "private",
4639
+ "return": {
4640
+ "type": {
4641
+ "text": "void"
4642
+ }
4643
+ },
4644
+ "parameters": [
4645
+ {
4646
+ "name": "index",
4647
+ "type": {
4648
+ "text": "number"
4649
+ }
4650
+ },
4651
+ {
4652
+ "name": "reason",
4653
+ "type": {
4654
+ "text": "PhotoGalleryChangeReason"
4655
+ }
4656
+ }
4657
+ ],
4658
+ "description": "Changes slides through the shared state and event path."
4659
+ },
4660
+ {
4661
+ "kind": "method",
4662
+ "name": "_showPrevious",
4663
+ "privacy": "private",
4664
+ "return": {
4665
+ "type": {
4666
+ "text": "void"
4667
+ }
4668
+ },
4669
+ "parameters": [
4670
+ {
4671
+ "name": "reason",
4672
+ "default": "\"previous\"",
4673
+ "type": {
4674
+ "text": "PhotoGalleryChangeReason"
4675
+ }
4676
+ }
4677
+ ],
4678
+ "description": "Moves to the previous image."
4679
+ },
4680
+ {
4681
+ "kind": "method",
4682
+ "name": "_showNext",
4683
+ "privacy": "private",
4684
+ "return": {
4685
+ "type": {
4686
+ "text": "void"
4687
+ }
4688
+ },
4689
+ "parameters": [
4690
+ {
4691
+ "name": "reason",
4692
+ "default": "\"next\"",
4693
+ "type": {
4694
+ "text": "PhotoGalleryChangeReason"
4695
+ }
4696
+ }
4697
+ ],
4698
+ "description": "Moves to the next image."
4699
+ },
4700
+ {
4701
+ "kind": "method",
4702
+ "name": "_togglePaused",
4703
+ "privacy": "private",
4704
+ "return": {
4705
+ "type": {
4706
+ "text": "void"
4707
+ }
4708
+ },
4709
+ "description": "Toggles explicit autoplay pause state."
4710
+ },
4711
+ {
4712
+ "kind": "method",
4713
+ "name": "_restartAutoplay",
4714
+ "privacy": "private",
4715
+ "return": {
4716
+ "type": {
4717
+ "text": "void"
4718
+ }
4719
+ },
4720
+ "description": "Clears and conditionally schedules the next autoplay advance."
4721
+ },
4722
+ {
4723
+ "kind": "method",
4724
+ "name": "_canAutoplay",
4725
+ "privacy": "private",
4726
+ "return": {
4727
+ "type": {
4728
+ "text": "boolean"
4729
+ }
4730
+ },
4731
+ "description": "Reports whether autoplay may currently schedule a transition."
4732
+ },
4733
+ {
4734
+ "kind": "method",
4735
+ "name": "_clearAutoplay",
4736
+ "privacy": "private",
4737
+ "return": {
4738
+ "type": {
4739
+ "text": "void"
4740
+ }
4741
+ },
4742
+ "description": "Clears the pending autoplay timeout."
4743
+ },
4744
+ {
4745
+ "kind": "method",
4746
+ "name": "_scheduleTransitionCleanup",
4747
+ "privacy": "private",
4748
+ "return": {
4749
+ "type": {
4750
+ "text": "void"
4751
+ }
4752
+ },
4753
+ "description": "Removes the outgoing crossfade layer after the animation completes."
4754
+ },
4755
+ {
4756
+ "kind": "method",
4757
+ "name": "_clearTransition",
4758
+ "privacy": "private",
4759
+ "return": {
4760
+ "type": {
4761
+ "text": "void"
4762
+ }
4763
+ },
4764
+ "description": "Clears pending transition cleanup."
4765
+ },
4766
+ {
4767
+ "kind": "method",
4768
+ "name": "_handleMetadataChange",
4769
+ "privacy": "private",
4770
+ "return": {
4771
+ "type": {
4772
+ "text": "void"
4773
+ }
4774
+ },
4775
+ "description": "Refreshes item metadata and clamps the active index after light-DOM changes."
4776
+ },
4777
+ {
4778
+ "kind": "method",
4779
+ "name": "_handleSlotChange",
4780
+ "privacy": "private",
4781
+ "return": {
4782
+ "type": {
4783
+ "text": "void"
4784
+ }
4785
+ },
4786
+ "description": "Refreshes item state after the default slot changes."
4787
+ },
4788
+ {
4789
+ "kind": "method",
4790
+ "name": "_handleMouseEnter",
4791
+ "privacy": "private",
4792
+ "return": {
4793
+ "type": {
4794
+ "text": "void"
4795
+ }
4796
+ },
4797
+ "description": "Temporarily pauses autoplay while the pointer is over the gallery."
4798
+ },
4799
+ {
4800
+ "kind": "method",
4801
+ "name": "_handleMouseLeave",
4802
+ "privacy": "private",
4803
+ "return": {
4804
+ "type": {
4805
+ "text": "void"
4806
+ }
4807
+ },
4808
+ "description": "Resumes autoplay with a fresh delay after hover ends."
4809
+ },
4810
+ {
4811
+ "kind": "method",
4812
+ "name": "_handleFocusIn",
4813
+ "privacy": "private",
4814
+ "return": {
4815
+ "type": {
4816
+ "text": "void"
4817
+ }
4818
+ },
4819
+ "description": "Temporarily pauses autoplay while focus is inside the gallery."
4820
+ },
4821
+ {
4822
+ "kind": "method",
4823
+ "name": "_handleFocusOut",
4824
+ "privacy": "private",
4825
+ "return": {
4826
+ "type": {
4827
+ "text": "void"
4828
+ }
4829
+ },
4830
+ "description": "Resumes autoplay with a fresh delay after focus leaves the gallery."
4831
+ },
4832
+ {
4833
+ "kind": "field",
4834
+ "name": "_handleVisibilityChange",
4835
+ "privacy": "private",
4836
+ "readonly": true,
4837
+ "description": "Pauses or resumes scheduling when page visibility changes."
4838
+ },
4839
+ {
4840
+ "kind": "method",
4841
+ "name": "_handleKeyDown",
4842
+ "privacy": "private",
4843
+ "return": {
4844
+ "type": {
4845
+ "text": "void"
4846
+ }
4847
+ },
4848
+ "parameters": [
4849
+ {
4850
+ "name": "event",
4851
+ "type": {
4852
+ "text": "KeyboardEvent"
4853
+ }
4854
+ }
4855
+ ],
4856
+ "description": "Handles Left and Right arrow keyboard navigation."
4857
+ },
4858
+ {
4859
+ "kind": "method",
4860
+ "name": "_handlePointerDown",
4861
+ "privacy": "private",
4862
+ "return": {
4863
+ "type": {
4864
+ "text": "void"
4865
+ }
4866
+ },
4867
+ "parameters": [
4868
+ {
4869
+ "name": "event",
4870
+ "type": {
4871
+ "text": "PointerEvent"
4872
+ }
4873
+ }
4874
+ ],
4875
+ "description": "Records the starting point of a primary pointer gesture."
4876
+ },
4877
+ {
4878
+ "kind": "method",
4879
+ "name": "_handlePointerUp",
4880
+ "privacy": "private",
4881
+ "return": {
4882
+ "type": {
4883
+ "text": "void"
4884
+ }
4885
+ },
4886
+ "parameters": [
4887
+ {
4888
+ "name": "event",
4889
+ "type": {
4890
+ "text": "PointerEvent"
4891
+ }
4892
+ }
4893
+ ],
4894
+ "description": "Converts a sufficiently horizontal pointer gesture into navigation."
4895
+ },
4896
+ {
4897
+ "kind": "method",
4898
+ "name": "_handlePointerCancel",
4899
+ "privacy": "private",
4900
+ "return": {
4901
+ "type": {
4902
+ "text": "void"
4903
+ }
4904
+ },
4905
+ "description": "Cancels an incomplete pointer gesture."
4906
+ },
4907
+ {
4908
+ "kind": "method",
4909
+ "name": "_renderPicture",
4910
+ "privacy": "private",
4911
+ "parameters": [
4912
+ {
4913
+ "name": "index",
4914
+ "type": {
4915
+ "text": "number"
4916
+ }
4917
+ },
4918
+ {
4919
+ "name": "state",
4920
+ "type": {
4921
+ "text": "\"current\" | \"previous\""
4922
+ }
4923
+ }
4924
+ ],
4925
+ "description": "Renders one responsive image layer for the crossfade stack."
2641
4926
  },
2642
4927
  {
2643
- "kind": "field",
2644
- "name": "highlighted",
4928
+ "kind": "method",
4929
+ "name": "_renderFooter",
4930
+ "privacy": "private",
4931
+ "parameters": [
4932
+ {
4933
+ "name": "itemCount",
4934
+ "type": {
4935
+ "text": "number"
4936
+ }
4937
+ }
4938
+ ],
4939
+ "description": "Renders enabled counter, indicator, and autoplay controls."
4940
+ }
4941
+ ],
4942
+ "events": [
4943
+ {
4944
+ "name": "slide-change",
2645
4945
  "type": {
2646
- "text": "boolean"
4946
+ "text": "CustomEvent"
2647
4947
  },
2648
- "default": "false",
2649
- "description": "Scales and glows the circle — a generic emphasis state (e.g. hover, selection).",
2650
- "attribute": "highlighted",
2651
- "reflects": true
2652
- },
2653
- {
2654
- "kind": "field",
2655
- "name": "_gradId",
2656
- "privacy": "private",
2657
- "readonly": true,
2658
- "default": "`map-circle-grad-${gradientIdCounter++}`"
4948
+ "description": "The active image changed."
2659
4949
  }
2660
4950
  ],
2661
4951
  "attributes": [
2662
4952
  {
2663
- "name": "color",
4953
+ "name": "current-index",
2664
4954
  "type": {
2665
- "text": "string"
4955
+ "text": "number"
2666
4956
  },
2667
- "default": "\"#4f46e5\"",
2668
- "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
2669
- "fieldName": "color"
4957
+ "default": "0",
4958
+ "description": "Zero-based active image index.",
4959
+ "fieldName": "currentIndex"
2670
4960
  },
2671
4961
  {
2672
- "name": "size",
4962
+ "name": "delay",
2673
4963
  "type": {
2674
4964
  "text": "number"
2675
4965
  },
2676
- "default": "18",
2677
- "description": "Diameter, in CSS pixels.",
2678
- "fieldName": "size"
4966
+ "default": "0",
4967
+ "description": "Autoplay interval in milliseconds. Set to zero to disable autoplay.",
4968
+ "fieldName": "delay"
2679
4969
  },
2680
4970
  {
2681
- "name": "ring-width",
4971
+ "name": "show-controls",
2682
4972
  "type": {
2683
- "text": "number"
4973
+ "text": "boolean"
2684
4974
  },
2685
- "default": "4",
2686
- "description": "White outer ring thickness, in the same viewBox units as `size` (scales with it).",
2687
- "fieldName": "ringWidth"
4975
+ "default": "true",
4976
+ "description": "Whether previous and next buttons are shown.",
4977
+ "fieldName": "showControls"
2688
4978
  },
2689
4979
  {
2690
- "name": "highlighted",
4980
+ "name": "show-counter",
2691
4981
  "type": {
2692
4982
  "text": "boolean"
2693
4983
  },
2694
4984
  "default": "false",
2695
- "description": "Scales and glows the circle — a generic emphasis state (e.g. hover, selection).",
2696
- "fieldName": "highlighted"
2697
- }
2698
- ],
2699
- "superclass": {
2700
- "name": "LitElement",
2701
- "package": "lit"
2702
- },
2703
- "tagName": "map-circle",
2704
- "customElement": true
2705
- }
2706
- ],
2707
- "exports": [
2708
- {
2709
- "kind": "js",
2710
- "name": "MapCircle",
2711
- "declaration": {
2712
- "name": "MapCircle",
2713
- "module": "src/map-circle.ts"
2714
- }
2715
- },
2716
- {
2717
- "kind": "custom-element-definition",
2718
- "name": "map-circle",
2719
- "declaration": {
2720
- "name": "MapCircle",
2721
- "module": "src/map-circle.ts"
2722
- }
2723
- }
2724
- ]
2725
- },
2726
- {
2727
- "kind": "javascript-module",
2728
- "path": "src/map-pin.ts",
2729
- "declarations": [
2730
- {
2731
- "kind": "class",
2732
- "description": "A circular \"Apple Maps\"-style map pin: a light-to-dark gradient fill with\na slight point at the bottom. Purely a visual primitive — it has no\n`mapbox-gl` (or any mapping library) dependency; the consumer positions\nit, e.g. via `new mapboxgl.Marker({ element: pinEl })`.",
2733
- "name": "MapPin",
2734
- "slots": [
2735
- {
2736
- "description": "Badge content shown centered on the pin's circular head — a rank number, an emoji, a small icon.",
2737
- "name": ""
2738
- }
2739
- ],
2740
- "members": [
4985
+ "description": "Whether a current/total counter is shown.",
4986
+ "fieldName": "showCounter"
4987
+ },
2741
4988
  {
2742
- "kind": "field",
2743
- "name": "color",
4989
+ "name": "show-indicators",
2744
4990
  "type": {
2745
- "text": "string"
4991
+ "text": "boolean"
2746
4992
  },
2747
- "default": "\"#4f46e5\"",
2748
- "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
2749
- "attribute": "color"
4993
+ "default": "false",
4994
+ "description": "Whether clickable slide indicators are shown.",
4995
+ "fieldName": "showIndicators"
2750
4996
  },
2751
4997
  {
2752
- "kind": "field",
2753
- "name": "size",
4998
+ "name": "show-autoplay-control",
2754
4999
  "type": {
2755
- "text": "number"
5000
+ "text": "boolean"
2756
5001
  },
2757
- "default": "32",
2758
- "description": "Diameter of the circular head, in CSS pixels.",
2759
- "attribute": "size"
5002
+ "default": "true",
5003
+ "description": "Whether autoplay includes a built-in pause/play control.",
5004
+ "fieldName": "showAutoplayControl"
2760
5005
  },
2761
5006
  {
2762
- "kind": "field",
2763
- "name": "highlighted",
5007
+ "name": "paused",
2764
5008
  "type": {
2765
5009
  "text": "boolean"
2766
5010
  },
2767
5011
  "default": "false",
2768
- "description": "Scales and glows the pin — a generic emphasis state (e.g. hover, selection).",
2769
- "attribute": "highlighted",
2770
- "reflects": true
5012
+ "description": "Whether autoplay is explicitly paused.",
5013
+ "fieldName": "paused"
2771
5014
  },
2772
5015
  {
2773
- "kind": "field",
2774
- "name": "_gradId",
2775
- "privacy": "private",
2776
- "readonly": true,
2777
- "default": "`map-pin-grad-${gradientIdCounter++}`"
2778
- }
2779
- ],
2780
- "attributes": [
2781
- {
2782
- "name": "color",
5016
+ "name": "aspect-ratio",
2783
5017
  "type": {
2784
5018
  "text": "string"
2785
5019
  },
2786
- "default": "\"#4f46e5\"",
2787
- "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
2788
- "fieldName": "color"
2789
- },
2790
- {
2791
- "name": "size",
2792
- "type": {
2793
- "text": "number"
2794
- },
2795
- "default": "32",
2796
- "description": "Diameter of the circular head, in CSS pixels.",
2797
- "fieldName": "size"
5020
+ "default": "\"16 / 9\"",
5021
+ "description": "CSS aspect ratio used by the image viewport.",
5022
+ "fieldName": "aspectRatio"
2798
5023
  },
2799
5024
  {
2800
- "name": "highlighted",
5025
+ "name": "object-fit",
2801
5026
  "type": {
2802
- "text": "boolean"
5027
+ "text": "PhotoGalleryObjectFit"
2803
5028
  },
2804
- "default": "false",
2805
- "description": "Scales and glows the pin — a generic emphasis state (e.g. hover, selection).",
2806
- "fieldName": "highlighted"
5029
+ "default": "\"cover\"",
5030
+ "description": "How images fit within the stable viewport.",
5031
+ "fieldName": "objectFit"
2807
5032
  }
2808
5033
  ],
2809
5034
  "superclass": {
2810
5035
  "name": "LitElement",
2811
5036
  "package": "lit"
2812
5037
  },
2813
- "tagName": "map-pin",
5038
+ "tagName": "photo-gallery",
2814
5039
  "customElement": true
2815
5040
  }
2816
5041
  ],
2817
5042
  "exports": [
2818
5043
  {
2819
5044
  "kind": "js",
2820
- "name": "MapPin",
5045
+ "name": "PhotoGallery",
2821
5046
  "declaration": {
2822
- "name": "MapPin",
2823
- "module": "src/map-pin.ts"
5047
+ "name": "PhotoGallery",
5048
+ "module": "src/photo-gallery.ts"
2824
5049
  }
2825
5050
  },
2826
5051
  {
2827
5052
  "kind": "custom-element-definition",
2828
- "name": "map-pin",
5053
+ "name": "photo-gallery",
2829
5054
  "declaration": {
2830
- "name": "MapPin",
2831
- "module": "src/map-pin.ts"
5055
+ "name": "PhotoGallery",
5056
+ "module": "src/photo-gallery.ts"
2832
5057
  }
2833
5058
  }
2834
5059
  ]
2835
5060
  },
2836
5061
  {
2837
5062
  "kind": "javascript-module",
2838
- "path": "src/map-point.ts",
5063
+ "path": "src/popover-panel.ts",
2839
5064
  "declarations": [
2840
5065
  {
2841
5066
  "kind": "class",
2842
- "description": "A small plain-colored map marker for dense point layers (transit stops,\namenities, hazard points, etc.): a light-to-dark gradient fill with a thin\nwhite ring, no badge/content slot — every instance on a given layer shares\nthe same look, so there's nothing to render per-feature (unlike\n`<map-pin>`/`<map-circle>`, which carry per-marker slotted content).\nPurely a visual primitive it has no `mapbox-gl` (or any mapping library)\ndependency; typically rasterized once per color and used as a Mapbox\n`icon-image` on a `symbol` layer rather than mounted as individual DOM\nmarkers, so a whole layer's worth of points shares one icon image.",
2843
- "name": "MapPoint",
5067
+ "description": "Generic anchored popover shell: a floating card positioned relative to its\nnearest `position: relative` ancestor (place it next to its trigger button\ninside such a wrapper), as opposed to `slide-panel`'s fixed screen-edge\ndrawer. Closes on outside click or Escape. Header chrome and close button\nmatch `slide-panel`'s API (`heading`, `panel-close`) so either can be\nswapped in for the other with no consumer-side changes beyond the wrapper.\n\nSet `centered` to render as a screen-centered modal with a translucent\nbackdrop instead of the default anchored placement.",
5068
+ "name": "PopoverPanel",
2844
5069
  "members": [
2845
5070
  {
2846
5071
  "kind": "field",
2847
- "name": "color",
5072
+ "name": "open",
2848
5073
  "type": {
2849
- "text": "string"
5074
+ "text": "boolean"
2850
5075
  },
2851
- "default": "\"#4f46e5\"",
2852
- "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
2853
- "attribute": "color"
5076
+ "default": "false",
5077
+ "description": "Whether the popover is currently visible.",
5078
+ "attribute": "open",
5079
+ "reflects": true
2854
5080
  },
2855
5081
  {
2856
5082
  "kind": "field",
2857
- "name": "size",
5083
+ "name": "heading",
2858
5084
  "type": {
2859
- "text": "number"
5085
+ "text": "string"
2860
5086
  },
2861
- "default": "14",
2862
- "description": "Diameter, in CSS pixels.",
2863
- "attribute": "size"
5087
+ "default": "\"\"",
5088
+ "description": "Title text shown in the popover header.",
5089
+ "attribute": "heading"
2864
5090
  },
2865
5091
  {
2866
5092
  "kind": "field",
2867
- "name": "ringWidth",
5093
+ "name": "centered",
2868
5094
  "type": {
2869
- "text": "number"
5095
+ "text": "boolean"
2870
5096
  },
2871
- "default": "3",
2872
- "description": "White outer ring thickness, in the same viewBox units as `size` (scales with it).",
2873
- "attribute": "ring-width"
5097
+ "default": "false",
5098
+ "description": "Render as a screen-centered modal with a backdrop instead of anchored placement.",
5099
+ "attribute": "centered",
5100
+ "reflects": true
2874
5101
  },
2875
5102
  {
2876
5103
  "kind": "field",
2877
- "name": "_gradId",
2878
- "privacy": "private",
2879
- "readonly": true,
2880
- "default": "`map-point-grad-${gradientIdCounter++}`"
2881
- }
2882
- ],
2883
- "attributes": [
2884
- {
2885
- "name": "color",
2886
- "type": {
2887
- "text": "string"
2888
- },
2889
- "default": "\"#4f46e5\"",
2890
- "description": "Fill color; the gradient's light (top) and dark (bottom) stops are derived from this.",
2891
- "fieldName": "color"
2892
- },
2893
- {
2894
- "name": "size",
2895
- "type": {
2896
- "text": "number"
2897
- },
2898
- "default": "14",
2899
- "description": "Diameter, in CSS pixels.",
2900
- "fieldName": "size"
5104
+ "name": "#onWindowMousedown",
5105
+ "privacy": "private"
2901
5106
  },
2902
5107
  {
2903
- "name": "ring-width",
2904
- "type": {
2905
- "text": "number"
2906
- },
2907
- "default": "3",
2908
- "description": "White outer ring thickness, in the same viewBox units as `size` (scales with it).",
2909
- "fieldName": "ringWidth"
2910
- }
2911
- ],
2912
- "superclass": {
2913
- "name": "LitElement",
2914
- "package": "lit"
2915
- },
2916
- "tagName": "map-point",
2917
- "customElement": true
2918
- }
2919
- ],
2920
- "exports": [
2921
- {
2922
- "kind": "js",
2923
- "name": "MapPoint",
2924
- "declaration": {
2925
- "name": "MapPoint",
2926
- "module": "src/map-point.ts"
2927
- }
2928
- },
2929
- {
2930
- "kind": "custom-element-definition",
2931
- "name": "map-point",
2932
- "declaration": {
2933
- "name": "MapPoint",
2934
- "module": "src/map-point.ts"
2935
- }
2936
- }
2937
- ]
2938
- },
2939
- {
2940
- "kind": "javascript-module",
2941
- "path": "src/percent-bar-chart.ts",
2942
- "declarations": [
2943
- {
2944
- "kind": "class",
2945
- "description": "Horizontal bar chart for labeled percentage rows, using D3's linear scale.\nEach group gets its own labeled row; bars are proportional to percentage of 100.",
2946
- "name": "PercentBarChart",
2947
- "members": [
5108
+ "kind": "field",
5109
+ "name": "#onWindowKeydown",
5110
+ "privacy": "private"
5111
+ },
2948
5112
  {
2949
- "kind": "field",
2950
- "name": "groups",
5113
+ "kind": "method",
5114
+ "name": "#close",
5115
+ "privacy": "private",
5116
+ "return": {
5117
+ "type": {
5118
+ "text": "void"
5119
+ }
5120
+ }
5121
+ }
5122
+ ],
5123
+ "events": [
5124
+ {
5125
+ "name": "panel-close",
2951
5126
  "type": {
2952
- "text": "PercentBarGroup[]"
5127
+ "text": "CustomEvent"
2953
5128
  },
2954
- "default": "[]",
2955
- "description": "Rows to render, one per group."
5129
+ "description": "User clicked the close (✕) button, pressed Escape, or clicked outside/the backdrop."
5130
+ }
5131
+ ],
5132
+ "attributes": [
5133
+ {
5134
+ "name": "open",
5135
+ "type": {
5136
+ "text": "boolean"
5137
+ },
5138
+ "default": "false",
5139
+ "description": "Whether the popover is currently visible.",
5140
+ "fieldName": "open"
2956
5141
  },
2957
5142
  {
2958
- "kind": "field",
2959
- "name": "_width",
5143
+ "name": "heading",
2960
5144
  "type": {
2961
- "text": "number"
5145
+ "text": "string"
2962
5146
  },
2963
- "privacy": "private",
2964
- "default": "0"
5147
+ "default": "\"\"",
5148
+ "description": "Title text shown in the popover header.",
5149
+ "fieldName": "heading"
2965
5150
  },
2966
5151
  {
2967
- "kind": "field",
2968
- "name": "_ro",
5152
+ "name": "centered",
2969
5153
  "type": {
2970
- "text": "ResizeObserver | null"
5154
+ "text": "boolean"
2971
5155
  },
2972
- "privacy": "private",
2973
- "default": "null"
5156
+ "default": "false",
5157
+ "description": "Render as a screen-centered modal with a backdrop instead of anchored placement.",
5158
+ "fieldName": "centered"
2974
5159
  }
2975
5160
  ],
2976
5161
  "superclass": {
2977
5162
  "name": "LitElement",
2978
5163
  "package": "lit"
2979
5164
  },
2980
- "tagName": "percent-bar-chart",
5165
+ "tagName": "popover-panel",
2981
5166
  "customElement": true
2982
5167
  }
2983
5168
  ],
2984
5169
  "exports": [
2985
5170
  {
2986
5171
  "kind": "js",
2987
- "name": "PercentBarChart",
5172
+ "name": "PopoverPanel",
2988
5173
  "declaration": {
2989
- "name": "PercentBarChart",
2990
- "module": "src/percent-bar-chart.ts"
5174
+ "name": "PopoverPanel",
5175
+ "module": "src/popover-panel.ts"
2991
5176
  }
2992
5177
  },
2993
5178
  {
2994
5179
  "kind": "custom-element-definition",
2995
- "name": "percent-bar-chart",
5180
+ "name": "popover-panel",
2996
5181
  "declaration": {
2997
- "name": "PercentBarChart",
2998
- "module": "src/percent-bar-chart.ts"
5182
+ "name": "PopoverPanel",
5183
+ "module": "src/popover-panel.ts"
2999
5184
  }
3000
5185
  }
3001
5186
  ]
@@ -3735,6 +5920,197 @@
3735
5920
  }
3736
5921
  ]
3737
5922
  },
5923
+ {
5924
+ "kind": "javascript-module",
5925
+ "path": "src/status-pill.ts",
5926
+ "declarations": [
5927
+ {
5928
+ "kind": "class",
5929
+ "description": "Small colored status pill, optionally with a spinning icon — for task/run\nstates (\"Open\", \"Blocked\", \"Done\") and live-activity indicators (\"Running\").",
5930
+ "name": "StatusPill",
5931
+ "members": [
5932
+ {
5933
+ "kind": "field",
5934
+ "name": "label",
5935
+ "type": {
5936
+ "text": "string"
5937
+ },
5938
+ "default": "\"\"",
5939
+ "description": "Text shown inside the pill.",
5940
+ "attribute": "label"
5941
+ },
5942
+ {
5943
+ "kind": "field",
5944
+ "name": "color",
5945
+ "type": {
5946
+ "text": "StatusPillColor"
5947
+ },
5948
+ "default": "\"neutral\"",
5949
+ "description": "Color variant.",
5950
+ "attribute": "color"
5951
+ },
5952
+ {
5953
+ "kind": "field",
5954
+ "name": "spinner",
5955
+ "type": {
5956
+ "text": "boolean"
5957
+ },
5958
+ "default": "false",
5959
+ "description": "Renders a small spinning icon before the label.",
5960
+ "attribute": "spinner"
5961
+ }
5962
+ ],
5963
+ "attributes": [
5964
+ {
5965
+ "name": "label",
5966
+ "type": {
5967
+ "text": "string"
5968
+ },
5969
+ "default": "\"\"",
5970
+ "description": "Text shown inside the pill.",
5971
+ "fieldName": "label"
5972
+ },
5973
+ {
5974
+ "name": "color",
5975
+ "type": {
5976
+ "text": "StatusPillColor"
5977
+ },
5978
+ "default": "\"neutral\"",
5979
+ "description": "Color variant.",
5980
+ "fieldName": "color"
5981
+ },
5982
+ {
5983
+ "name": "spinner",
5984
+ "type": {
5985
+ "text": "boolean"
5986
+ },
5987
+ "default": "false",
5988
+ "description": "Renders a small spinning icon before the label.",
5989
+ "fieldName": "spinner"
5990
+ }
5991
+ ],
5992
+ "superclass": {
5993
+ "name": "LitElement",
5994
+ "package": "lit"
5995
+ },
5996
+ "tagName": "status-pill",
5997
+ "customElement": true
5998
+ }
5999
+ ],
6000
+ "exports": [
6001
+ {
6002
+ "kind": "js",
6003
+ "name": "StatusPill",
6004
+ "declaration": {
6005
+ "name": "StatusPill",
6006
+ "module": "src/status-pill.ts"
6007
+ }
6008
+ },
6009
+ {
6010
+ "kind": "custom-element-definition",
6011
+ "name": "status-pill",
6012
+ "declaration": {
6013
+ "name": "StatusPill",
6014
+ "module": "src/status-pill.ts"
6015
+ }
6016
+ }
6017
+ ]
6018
+ },
6019
+ {
6020
+ "kind": "javascript-module",
6021
+ "path": "src/tile-grid.ts",
6022
+ "declarations": [
6023
+ {
6024
+ "kind": "class",
6025
+ "description": "A generic, presentational grid shell: renders one bordered card per entry\nin `items`, with each tile's content produced by `renderTile` (default:\nstringify). Knows nothing about what an \"item\" means — callers own the\ndata shape entirely. Modeled directly on `data-table`'s headless pattern.\n\nOptional `itemHref` makes whole tiles clickable (navigating via\n`location.hash`), without hijacking clicks on nested interactive elements\n(links/buttons) a tile's rendered content might contain.",
6026
+ "name": "TileGrid",
6027
+ "members": [
6028
+ {
6029
+ "kind": "field",
6030
+ "name": "items",
6031
+ "type": {
6032
+ "text": "unknown[]"
6033
+ },
6034
+ "default": "[]",
6035
+ "description": "Tile data; opaque to this component beyond what `renderTile` does with it."
6036
+ },
6037
+ {
6038
+ "kind": "field",
6039
+ "name": "itemKey",
6040
+ "type": {
6041
+ "text": "(item: unknown, index: number) => string | number"
6042
+ },
6043
+ "description": "Stable identity for `items[i]`, used as the repeat-directive key. Defaults to the item's index."
6044
+ },
6045
+ {
6046
+ "kind": "field",
6047
+ "name": "renderTile",
6048
+ "type": {
6049
+ "text": "(item: unknown) => unknown"
6050
+ },
6051
+ "description": "Produces a tile's rendered content for `item`. Default: stringify."
6052
+ },
6053
+ {
6054
+ "kind": "field",
6055
+ "name": "itemHref",
6056
+ "type": {
6057
+ "text": "((item: unknown) => string | null) | null"
6058
+ },
6059
+ "default": "null",
6060
+ "description": "When set, clicking a tile (outside any nested link/button) navigates to this hash."
6061
+ },
6062
+ {
6063
+ "kind": "method",
6064
+ "name": "#onTileClick",
6065
+ "privacy": "private",
6066
+ "return": {
6067
+ "type": {
6068
+ "text": "void"
6069
+ }
6070
+ },
6071
+ "parameters": [
6072
+ {
6073
+ "name": "item",
6074
+ "type": {
6075
+ "text": "unknown"
6076
+ }
6077
+ },
6078
+ {
6079
+ "name": "e",
6080
+ "type": {
6081
+ "text": "MouseEvent"
6082
+ }
6083
+ }
6084
+ ]
6085
+ }
6086
+ ],
6087
+ "superclass": {
6088
+ "name": "LitElement",
6089
+ "package": "lit"
6090
+ },
6091
+ "tagName": "tile-grid",
6092
+ "customElement": true
6093
+ }
6094
+ ],
6095
+ "exports": [
6096
+ {
6097
+ "kind": "js",
6098
+ "name": "TileGrid",
6099
+ "declaration": {
6100
+ "name": "TileGrid",
6101
+ "module": "src/tile-grid.ts"
6102
+ }
6103
+ },
6104
+ {
6105
+ "kind": "custom-element-definition",
6106
+ "name": "tile-grid",
6107
+ "declaration": {
6108
+ "name": "TileGrid",
6109
+ "module": "src/tile-grid.ts"
6110
+ }
6111
+ }
6112
+ ]
6113
+ },
3738
6114
  {
3739
6115
  "kind": "javascript-module",
3740
6116
  "path": "src/toast-notification.ts",
@@ -3913,11 +6289,20 @@
3913
6289
  "default": "{ // Colors \"--ui-primary\": \"#4f46e5\", // indigo-600 \"--ui-primary-hover\": \"#4338ca\", // indigo-700 \"--ui-danger\": \"#dc2626\", // red-600 \"--ui-danger-hover\": \"#b91c1c\", // red-700 \"--ui-success\": \"#16a34a\", // green-600 \"--ui-text\": \"#0f172a\", // slate-900 \"--ui-text-muted\": \"#64748b\", // slate-500 \"--ui-border\": \"#e2e8f0\", // slate-200 \"--ui-surface\": \"#ffffff\", // white \"--ui-surface-muted\": \"#f8fafc\", // slate-50 \"--ui-overlay\": \"rgb(15 23 42 / 0.45)\", // slate-900 / 45% // Shape / depth \"--ui-radius\": \"0.5rem\", // rounded-lg \"--ui-radius-sm\": \"0.25rem\", // rounded \"--ui-shadow\": \"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)\", // shadow-md \"--ui-shadow-lg\": \"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)\", // shadow-xl \"--ui-focus-ring\": \"0 0 0 3px rgb(79 70 229 / 0.35)\", // Type \"--ui-font\": 'ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"', \"--ui-font-size\": \"0.875rem\", \"--ui-font-size-sm\": \"0.75rem\", }",
3914
6290
  "description": "Design token values, sourced from Tailwind v4's default theme palette.\nEach entry maps a `--ui-*` custom property name to its default value.\nThese are the same values baked in as `var(--ui-*, <fallback>)` fallbacks\nthroughout component styles, so components render correctly with zero\nexternal CSS. Consumers may override any of these by setting the custom\nproperty on `:root` or an ancestor element (see `tokens.css`)."
3915
6291
  },
6292
+ {
6293
+ "kind": "variable",
6294
+ "name": "darkTokenValues",
6295
+ "type": {
6296
+ "text": "Record<string, string>"
6297
+ },
6298
+ "default": "{ \"--ui-primary\": \"#6366f1\", // indigo-500 \"--ui-primary-hover\": \"#818cf8\", // indigo-400 \"--ui-danger\": \"#ef4444\", // red-500 \"--ui-danger-hover\": \"#f87171\", // red-400 \"--ui-success\": \"#22c55e\", // green-500 \"--ui-text\": \"#f1f5f9\", // slate-100 \"--ui-text-muted\": \"#94a3b8\", // slate-400 \"--ui-border\": \"#334155\", // slate-700 \"--ui-surface\": \"#0f172a\", // slate-900 \"--ui-surface-muted\": \"#1e293b\", // slate-800 \"--ui-overlay\": \"rgb(2 6 23 / 0.6)\", // slate-950 / 60% \"--ui-focus-ring\": \"0 0 0 3px rgb(99 102 241 / 0.45)\", }",
6299
+ "description": "Dark-mode overrides for the same `--ui-*` custom properties, applied by\n`tokens.css` via `@media (prefers-color-scheme: dark)` and `[data-theme]`\n(see generate-tokens-css.mjs). Same Tailwind slate scale as the light\npalette, inverted, with primary/danger/success lightened one step (500\ninstead of 600) for sufficient contrast against dark surfaces. Shape/type\ntokens are theme-independent and not repeated here."
6300
+ },
3916
6301
  {
3917
6302
  "kind": "variable",
3918
6303
  "name": "tokens",
3919
- "default": "css` :host { --ui-primary: var(--ui-primary, #4f46e5); --ui-primary-hover: var(--ui-primary-hover, #4338ca); --ui-danger: var(--ui-danger, #dc2626); --ui-danger-hover: var(--ui-danger-hover, #b91c1c); --ui-success: var(--ui-success, #16a34a); --ui-text: var(--ui-text, #0f172a); --ui-text-muted: var(--ui-text-muted, #64748b); --ui-border: var(--ui-border, #e2e8f0); --ui-surface: var(--ui-surface, #ffffff); --ui-surface-muted: var(--ui-surface-muted, #f8fafc); --ui-overlay: var(--ui-overlay, rgb(15 23 42 / 0.45)); --ui-radius: var(--ui-radius, 0.5rem); --ui-radius-sm: var(--ui-radius-sm, 0.25rem); --ui-shadow: var( --ui-shadow, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) ); --ui-shadow-lg: var( --ui-shadow-lg, 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1) ); --ui-focus-ring: var(--ui-focus-ring, 0 0 0 3px rgb(79 70 229 / 0.35)); --ui-font: var( --ui-font, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" ); --ui-font-size: var(--ui-font-size, 0.875rem); --ui-font-size-sm: var(--ui-font-size-sm, 0.75rem); } `",
3920
- "description": "A shared `:host` stylesheet that establishes the token custom properties\nwith their fallback values. Import and include this in every component's\n`static styles` array alongside its component-specific `css` block."
6304
+ "default": "css``",
6305
+ "description": "Historically a shared `:host { --ui-x: var(--ui-x, fallback); } ` block,\nre-declaring every token on each component's own host element as a\n\"materialize the inherited value, or this fallback\" trick. That pattern\nturned out to be a genuine bug, not a working default: browsers treat\n`--ui-x: var(--ui-x, ...)` on `:host` as a self-referencing declaration\nthat computes to the guaranteed-invalid value REGARDLESS of what an\nancestor (e.g. `:root`) set — the host's own `:host` rule wins the cascade\nover the ancestor's, so this dropped whatever the app actually set and\nsilently substituted the component's own fallback everywhere. It went\nunnoticed because every component's fallback happened to equal the\nintended light-mode value — dark mode (a real, different value at\n`:root`) exposed it immediately (colors rendering as if no theme were\napplied at all). Fix: don't redeclare tokens on `:host` plain\ninheritance already carries `:root`'s values into every shadow root\ncorrectly, and every component already has its own `var(--ui-x, fallback)`\nat each point of use, so nothing here is needed for the \"zero external\nCSS\" default to keep working. Kept as an empty export so the existing\n`static override styles = [tokens, css\\`...\\`]` import in every component\nkeeps compiling."
3921
6306
  }
3922
6307
  ],
3923
6308
  "exports": [
@@ -3929,6 +6314,14 @@
3929
6314
  "module": "src/tokens.ts"
3930
6315
  }
3931
6316
  },
6317
+ {
6318
+ "kind": "js",
6319
+ "name": "darkTokenValues",
6320
+ "declaration": {
6321
+ "name": "darkTokenValues",
6322
+ "module": "src/tokens.ts"
6323
+ }
6324
+ },
3932
6325
  {
3933
6326
  "kind": "js",
3934
6327
  "name": "tokens",
@@ -4136,10 +6529,10 @@
4136
6529
  "kind": "field",
4137
6530
  "name": "size",
4138
6531
  "type": {
4139
- "text": "number"
6532
+ "text": "string | number"
4140
6533
  },
4141
6534
  "default": "32",
4142
- "description": "Diameter in CSS pixels.",
6535
+ "description": "Diameter in CSS pixels, or a preset name (`xs`=18, `sm`=24, `md`=32, `lg`=48).",
4143
6536
  "attribute": "size"
4144
6537
  },
4145
6538
  {
@@ -4150,6 +6543,28 @@
4150
6543
  },
4151
6544
  "privacy": "private",
4152
6545
  "default": "false"
6546
+ },
6547
+ {
6548
+ "kind": "field",
6549
+ "name": "SIZE_PRESETS",
6550
+ "type": {
6551
+ "text": "Record<string, number>"
6552
+ },
6553
+ "privacy": "private",
6554
+ "static": true,
6555
+ "readonly": true,
6556
+ "default": "{ xs: 18, sm: 24, md: 32, lg: 48, }"
6557
+ },
6558
+ {
6559
+ "kind": "method",
6560
+ "name": "resolveSize",
6561
+ "privacy": "private",
6562
+ "return": {
6563
+ "type": {
6564
+ "text": "number"
6565
+ }
6566
+ },
6567
+ "description": "Resolves the `size` property (number or preset name) to a pixel diameter."
4153
6568
  }
4154
6569
  ],
4155
6570
  "attributes": [
@@ -4174,10 +6589,10 @@
4174
6589
  {
4175
6590
  "name": "size",
4176
6591
  "type": {
4177
- "text": "number"
6592
+ "text": "string | number"
4178
6593
  },
4179
6594
  "default": "32",
4180
- "description": "Diameter in CSS pixels.",
6595
+ "description": "Diameter in CSS pixels, or a preset name (`xs`=18, `sm`=24, `md`=32, `lg`=48).",
4181
6596
  "fieldName": "size"
4182
6597
  }
4183
6598
  ],
@@ -4360,6 +6775,46 @@
4360
6775
  }
4361
6776
  ]
4362
6777
  },
6778
+ {
6779
+ "kind": "javascript-module",
6780
+ "path": "src/utils/duration.ts",
6781
+ "declarations": [
6782
+ {
6783
+ "kind": "function",
6784
+ "name": "formatDuration",
6785
+ "return": {
6786
+ "type": {
6787
+ "text": "string"
6788
+ }
6789
+ },
6790
+ "parameters": [
6791
+ {
6792
+ "name": "ms",
6793
+ "type": {
6794
+ "text": "number"
6795
+ }
6796
+ },
6797
+ {
6798
+ "name": "format",
6799
+ "type": {
6800
+ "text": "DurationFormat"
6801
+ }
6802
+ }
6803
+ ],
6804
+ "description": "Formats a millisecond duration for display.\n\n`\"seconds\"` renders a whole-second count with a pluralized unit word (e.g.\n\"1 second\", \"12 seconds\"). `\"compact\"` renders the shortest sensible\n`Xh Ym Zs` form, dropping leading-zero units (`\"12s\"`, `\"3m 12s\"`,\n`\"1h 03m 12s\"`) — minutes/seconds are zero-padded only once a larger unit\nis present."
6805
+ }
6806
+ ],
6807
+ "exports": [
6808
+ {
6809
+ "kind": "js",
6810
+ "name": "formatDuration",
6811
+ "declaration": {
6812
+ "name": "formatDuration",
6813
+ "module": "src/utils/duration.ts"
6814
+ }
6815
+ }
6816
+ ]
6817
+ },
4363
6818
  {
4364
6819
  "kind": "javascript-module",
4365
6820
  "path": "src/utils/time.ts",