le-kit 0.3.3 → 0.3.4

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 (102) hide show
  1. package/dist/cjs/{index-BDXkMiZB.js → index-BPF04Jvb.js} +23 -37
  2. package/dist/cjs/index-BPF04Jvb.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +2 -2
  4. package/dist/cjs/le-bar_16.cjs.entry.js +2 -2
  5. package/dist/cjs/le-box.cjs.entry.js +2 -2
  6. package/dist/cjs/le-card.cjs.entry.js +2 -2
  7. package/dist/cjs/le-combobox.cjs.entry.js +1 -1
  8. package/dist/cjs/le-header-placeholder.cjs.entry.js +1 -1
  9. package/dist/cjs/le-kit.cjs.js +1 -1
  10. package/dist/cjs/le-multiselect.cjs.entry.js +1 -1
  11. package/dist/cjs/le-number-input.cjs.entry.js +2 -2
  12. package/dist/cjs/le-round-progress.cjs.entry.js +1 -1
  13. package/dist/cjs/le-segmented-control.cjs.entry.js +1 -1
  14. package/dist/cjs/le-stack.cjs.entry.js +2 -2
  15. package/dist/cjs/le-tab-bar.cjs.entry.js +1 -1
  16. package/dist/cjs/le-tab-panel.cjs.entry.js +1 -1
  17. package/dist/cjs/le-tab.cjs.entry.js +2 -2
  18. package/dist/cjs/le-tabs.cjs.entry.js +2 -2
  19. package/dist/cjs/le-tag.cjs.entry.js +1 -1
  20. package/dist/cjs/le-text.cjs.entry.js +2 -2
  21. package/dist/cjs/le-turntable.cjs.entry.js +1 -1
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/cjs/{utils-Co3xnkR-.js → utils-BYsLPHN1.js} +3 -3
  24. package/dist/cjs/{utils-Co3xnkR-.js.map → utils-BYsLPHN1.js.map} +1 -1
  25. package/dist/collection/dist/components/assets/custom-elements.json +734 -734
  26. package/dist/collection/global/app.js +21 -35
  27. package/dist/collection/global/app.js.map +1 -1
  28. package/dist/components/app.js +21 -35
  29. package/dist/components/app.js.map +1 -1
  30. package/dist/components/assets/custom-elements.json +734 -734
  31. package/dist/docs.json +1 -1
  32. package/dist/esm/{index-Bb6rgQY0.js → index-C-Chwj1b.js} +24 -38
  33. package/dist/esm/index-C-Chwj1b.js.map +1 -0
  34. package/dist/esm/index.js +2 -2
  35. package/dist/esm/le-bar_16.entry.js +2 -2
  36. package/dist/esm/le-box.entry.js +2 -2
  37. package/dist/esm/le-card.entry.js +2 -2
  38. package/dist/esm/le-combobox.entry.js +1 -1
  39. package/dist/esm/le-header-placeholder.entry.js +1 -1
  40. package/dist/esm/le-kit.js +2 -2
  41. package/dist/esm/le-multiselect.entry.js +1 -1
  42. package/dist/esm/le-number-input.entry.js +2 -2
  43. package/dist/esm/le-round-progress.entry.js +1 -1
  44. package/dist/esm/le-segmented-control.entry.js +1 -1
  45. package/dist/esm/le-stack.entry.js +2 -2
  46. package/dist/esm/le-tab-bar.entry.js +1 -1
  47. package/dist/esm/le-tab-panel.entry.js +1 -1
  48. package/dist/esm/le-tab.entry.js +2 -2
  49. package/dist/esm/le-tabs.entry.js +2 -2
  50. package/dist/esm/le-tag.entry.js +1 -1
  51. package/dist/esm/le-text.entry.js +2 -2
  52. package/dist/esm/le-turntable.entry.js +1 -1
  53. package/dist/esm/loader.js +2 -2
  54. package/dist/esm/{utils-CDrgAR8V.js → utils-B3alHV04.js} +3 -3
  55. package/dist/esm/{utils-CDrgAR8V.js.map → utils-B3alHV04.js.map} +1 -1
  56. package/dist/le-kit/dist/components/assets/custom-elements.json +734 -734
  57. package/dist/le-kit/index.esm.js +1 -1
  58. package/dist/le-kit/le-kit.esm.js +1 -1
  59. package/dist/le-kit/{p-bb7a199f.entry.js → p-05ccab91.entry.js} +2 -2
  60. package/dist/le-kit/{p-166d31fd.entry.js → p-06d2d79c.entry.js} +2 -2
  61. package/dist/le-kit/{p-cb392b4b.entry.js → p-2230ecd7.entry.js} +2 -2
  62. package/dist/le-kit/{p-52cc2518.entry.js → p-33c2168a.entry.js} +2 -2
  63. package/dist/le-kit/{p-a44540d7.entry.js → p-3d22aeb2.entry.js} +2 -2
  64. package/dist/le-kit/{p-c8a9e104.entry.js → p-3d873cdb.entry.js} +2 -2
  65. package/dist/le-kit/{p-5e7e2d06.entry.js → p-4a45ff67.entry.js} +2 -2
  66. package/dist/le-kit/{p-84a778b1.entry.js → p-5d72c894.entry.js} +2 -2
  67. package/dist/le-kit/{p-5ad31bd2.entry.js → p-68d836a3.entry.js} +2 -2
  68. package/dist/le-kit/{p-f45d86de.entry.js → p-923828fe.entry.js} +2 -2
  69. package/dist/le-kit/{p-5a0efabf.entry.js → p-9880466c.entry.js} +2 -2
  70. package/dist/le-kit/{p-5a0efabf.entry.js.map → p-9880466c.entry.js.map} +1 -1
  71. package/dist/le-kit/p-C-Chwj1b.js +3 -0
  72. package/dist/le-kit/p-C-Chwj1b.js.map +1 -0
  73. package/dist/le-kit/{p-DG6SMiyr.js → p-DFr88Szp.js} +2 -2
  74. package/dist/le-kit/{p-DG6SMiyr.js.map → p-DFr88Szp.js.map} +1 -1
  75. package/dist/le-kit/{p-ca766522.entry.js → p-be2a7276.entry.js} +2 -2
  76. package/dist/le-kit/{p-eb4b678f.entry.js → p-d161946c.entry.js} +2 -2
  77. package/dist/le-kit/{p-957f50aa.entry.js → p-e1846fc2.entry.js} +2 -2
  78. package/dist/le-kit/{p-68d94a06.entry.js → p-e6b2cf9a.entry.js} +2 -2
  79. package/dist/le-kit/{p-43a17d84.entry.js → p-ea71f22c.entry.js} +2 -2
  80. package/dist/le-kit/{p-1d4f84f6.entry.js → p-f8034500.entry.js} +2 -2
  81. package/dist/types/global/app.d.ts +7 -6
  82. package/package.json +1 -1
  83. package/dist/cjs/index-BDXkMiZB.js.map +0 -1
  84. package/dist/esm/index-Bb6rgQY0.js.map +0 -1
  85. package/dist/le-kit/p-Bb6rgQY0.js +0 -3
  86. package/dist/le-kit/p-Bb6rgQY0.js.map +0 -1
  87. /package/dist/le-kit/{p-bb7a199f.entry.js.map → p-05ccab91.entry.js.map} +0 -0
  88. /package/dist/le-kit/{p-166d31fd.entry.js.map → p-06d2d79c.entry.js.map} +0 -0
  89. /package/dist/le-kit/{p-cb392b4b.entry.js.map → p-2230ecd7.entry.js.map} +0 -0
  90. /package/dist/le-kit/{p-52cc2518.entry.js.map → p-33c2168a.entry.js.map} +0 -0
  91. /package/dist/le-kit/{p-a44540d7.entry.js.map → p-3d22aeb2.entry.js.map} +0 -0
  92. /package/dist/le-kit/{p-c8a9e104.entry.js.map → p-3d873cdb.entry.js.map} +0 -0
  93. /package/dist/le-kit/{p-5e7e2d06.entry.js.map → p-4a45ff67.entry.js.map} +0 -0
  94. /package/dist/le-kit/{p-84a778b1.entry.js.map → p-5d72c894.entry.js.map} +0 -0
  95. /package/dist/le-kit/{p-5ad31bd2.entry.js.map → p-68d836a3.entry.js.map} +0 -0
  96. /package/dist/le-kit/{p-f45d86de.entry.js.map → p-923828fe.entry.js.map} +0 -0
  97. /package/dist/le-kit/{p-ca766522.entry.js.map → p-be2a7276.entry.js.map} +0 -0
  98. /package/dist/le-kit/{p-eb4b678f.entry.js.map → p-d161946c.entry.js.map} +0 -0
  99. /package/dist/le-kit/{p-957f50aa.entry.js.map → p-e1846fc2.entry.js.map} +0 -0
  100. /package/dist/le-kit/{p-68d94a06.entry.js.map → p-e6b2cf9a.entry.js.map} +0 -0
  101. /package/dist/le-kit/{p-43a17d84.entry.js.map → p-ea71f22c.entry.js.map} +0 -0
  102. /package/dist/le-kit/{p-1d4f84f6.entry.js.map → p-f8034500.entry.js.map} +0 -0
@@ -527,6 +527,139 @@
527
527
  }
528
528
  ]
529
529
  },
530
+ {
531
+ "kind": "javascript-module",
532
+ "path": "src/components/le-card/le-card.tsx",
533
+ "declarations": [
534
+ {
535
+ "kind": "class",
536
+ "description": "A flexible card component with header, content, and footer slots.\n\nThe card uses le-slot wrappers for each slot area. In admin mode,\nle-slot shows placeholders for CMS editing. In default mode,\nle-slot acts as a transparent passthrough.",
537
+ "name": "LeCard",
538
+ "cssProperties": [
539
+ {
540
+ "description": "Card background color",
541
+ "name": "--le-card-bg"
542
+ },
543
+ {
544
+ "description": "Card border radius",
545
+ "name": "--le-card-border-radius"
546
+ },
547
+ {
548
+ "description": "Card box shadow",
549
+ "name": "--le-card-shadow"
550
+ },
551
+ {
552
+ "description": "Card content padding",
553
+ "name": "--le-card-padding"
554
+ }
555
+ ],
556
+ "cssParts": [
557
+ {
558
+ "description": "The main card container",
559
+ "name": "card"
560
+ },
561
+ {
562
+ "description": "The card header section",
563
+ "name": "header"
564
+ },
565
+ {
566
+ "description": "The card content section",
567
+ "name": "content"
568
+ },
569
+ {
570
+ "description": "The card footer section",
571
+ "name": "footer"
572
+ }
573
+ ],
574
+ "slots": [
575
+ {
576
+ "description": "Card header content (title, actions)",
577
+ "name": "header"
578
+ },
579
+ {
580
+ "description": "Default slot for main card content",
581
+ "name": ""
582
+ },
583
+ {
584
+ "description": "Card footer content (buttons, links)",
585
+ "name": "footer"
586
+ }
587
+ ],
588
+ "members": [
589
+ {
590
+ "kind": "field",
591
+ "name": "el",
592
+ "type": {
593
+ "text": "HTMLElement"
594
+ }
595
+ },
596
+ {
597
+ "kind": "field",
598
+ "name": "variant",
599
+ "type": {
600
+ "text": "'default' | 'outlined' | 'elevated'"
601
+ },
602
+ "default": "'default'",
603
+ "description": "Card variant style"
604
+ },
605
+ {
606
+ "kind": "field",
607
+ "name": "interactive",
608
+ "type": {
609
+ "text": "boolean"
610
+ },
611
+ "default": "false",
612
+ "description": "Whether the card is interactive (clickable)"
613
+ },
614
+ {
615
+ "kind": "method",
616
+ "name": "render"
617
+ }
618
+ ],
619
+ "attributes": [
620
+ {
621
+ "name": "variant",
622
+ "fieldName": "variant",
623
+ "default": "'default'",
624
+ "description": "Card variant style",
625
+ "type": {
626
+ "text": "'default' | 'outlined' | 'elevated'"
627
+ }
628
+ },
629
+ {
630
+ "name": "interactive",
631
+ "fieldName": "interactive",
632
+ "default": "false",
633
+ "description": "Whether the card is interactive (clickable)",
634
+ "type": {
635
+ "text": "boolean"
636
+ }
637
+ }
638
+ ],
639
+ "tagName": "le-card",
640
+ "events": [],
641
+ "customElement": true
642
+ }
643
+ ],
644
+ "exports": [
645
+ {
646
+ "kind": "js",
647
+ "name": "LeCard",
648
+ "declaration": {
649
+ "name": "LeCard",
650
+ "module": "src/components/le-card/le-card.tsx"
651
+ }
652
+ },
653
+ {
654
+ "kind": "custom-element-definition",
655
+ "name": "le-card",
656
+ "declaration": {
657
+ "name": "LeCard",
658
+ "module": "src/components/le-card/le-card.tsx"
659
+ }
660
+ }
661
+ ]
662
+ },
530
663
  {
531
664
  "kind": "javascript-module",
532
665
  "path": "src/components/le-box/le-box.tsx",
@@ -1322,38 +1455,32 @@
1322
1455
  },
1323
1456
  {
1324
1457
  "kind": "javascript-module",
1325
- "path": "src/components/le-checkbox/le-checkbox.tsx",
1458
+ "path": "src/components/le-collapse/le-collapse.tsx",
1326
1459
  "declarations": [
1327
1460
  {
1328
1461
  "kind": "class",
1329
- "description": "A checkbox component with support for labels, descriptions, and external IDs.",
1330
- "name": "LeCheckbox",
1462
+ "description": "Animated show/hide wrapper.\n\nSupports height collapse (auto->0) and/or fading.\nCan optionally listen to the nearest `le-header` shrink events.",
1463
+ "name": "LeCollapse",
1331
1464
  "cssProperties": [
1332
1465
  {
1333
- "description": "Size of the checkbox input",
1334
- "name": "--le-checkbox-size"
1335
- },
1336
- {
1337
- "description": "Color of the checkbox when checked",
1338
- "name": "--le-checkbox-color"
1339
- },
1466
+ "description": "Transition duration",
1467
+ "name": "--le-collapse-duration"
1468
+ }
1469
+ ],
1470
+ "cssParts": [
1340
1471
  {
1341
- "description": "Color of the label text",
1342
- "name": "--le-checkbox-label-color"
1472
+ "description": "Collapsible region",
1473
+ "name": "region"
1343
1474
  },
1344
1475
  {
1345
- "description": "Color of the description text",
1346
- "name": "--le-checkbox-desc-color"
1476
+ "description": "Inner content",
1477
+ "name": "content"
1347
1478
  }
1348
1479
  ],
1349
1480
  "slots": [
1350
1481
  {
1351
- "description": "The label text for the checkbox",
1482
+ "description": "Content to animate",
1352
1483
  "name": ""
1353
- },
1354
- {
1355
- "description": "Additional description text displayed below the label",
1356
- "name": "description"
1357
1484
  }
1358
1485
  ],
1359
1486
  "members": [
@@ -1366,49 +1493,80 @@
1366
1493
  },
1367
1494
  {
1368
1495
  "kind": "field",
1369
- "name": "checked",
1496
+ "name": "closed",
1370
1497
  "type": {
1371
1498
  "text": "boolean"
1372
1499
  },
1373
1500
  "default": "false",
1374
- "description": "Whether the checkbox is checked"
1501
+ "description": "Since Stencil boolean props default to `false` when the attribute is missing.\ninstead of `open` defaulting to `true`, using a `closed` prop."
1375
1502
  },
1376
1503
  {
1377
1504
  "kind": "field",
1378
- "name": "disabled",
1505
+ "name": "scrollDown",
1379
1506
  "type": {
1380
1507
  "text": "boolean"
1381
1508
  },
1382
1509
  "default": "false",
1383
- "description": "Whether the checkbox is disabled"
1510
+ "description": "Whether the content should scroll down from the top when open."
1384
1511
  },
1385
1512
  {
1386
1513
  "kind": "field",
1387
- "name": "name",
1514
+ "name": "noFading",
1388
1515
  "type": {
1389
- "text": "string"
1516
+ "text": "boolean"
1390
1517
  },
1391
- "description": "The name of the checkbox input"
1518
+ "default": "false",
1519
+ "description": "Stop fading the content when collapsing/expanding."
1392
1520
  },
1393
1521
  {
1394
1522
  "kind": "field",
1395
- "name": "value",
1523
+ "name": "collapseOnHeaderShrink",
1396
1524
  "type": {
1397
- "text": "string"
1525
+ "text": "boolean"
1398
1526
  },
1399
- "description": "The value of the checkbox input"
1527
+ "default": "false",
1528
+ "description": "If true, collapse/expand based on the nearest header shrink event."
1529
+ },
1530
+ {
1531
+ "kind": "method",
1532
+ "name": "handleHeaderShrink",
1533
+ "parameters": [
1534
+ {
1535
+ "name": "ev",
1536
+ "type": {
1537
+ "text": "Event"
1538
+ }
1539
+ }
1540
+ ],
1541
+ "description": "Handles `leHeaderShrinkChange` events from the `le-header`.\nIn case multiple headers are present, only the nearest one in the DOM tree is used."
1400
1542
  },
1401
1543
  {
1402
1544
  "kind": "field",
1403
- "name": "externalId",
1545
+ "name": "headerShrunk",
1404
1546
  "type": {
1405
- "text": "string"
1547
+ "text": "boolean"
1406
1548
  },
1407
- "description": "External ID for linking with external systems (e.g. database ID, PDF form field ID)"
1549
+ "privacy": "private",
1550
+ "default": "false"
1408
1551
  },
1409
1552
  {
1410
- "kind": "field",
1411
- "name": "handleChange",
1553
+ "kind": "method",
1554
+ "name": "onOpenChange",
1555
+ "privacy": "protected"
1556
+ },
1557
+ {
1558
+ "kind": "method",
1559
+ "name": "onDrivenStateChange",
1560
+ "privacy": "protected"
1561
+ },
1562
+ {
1563
+ "kind": "method",
1564
+ "name": "shouldBeOpen",
1565
+ "privacy": "private"
1566
+ },
1567
+ {
1568
+ "kind": "method",
1569
+ "name": "applyOpenState",
1412
1570
  "privacy": "private"
1413
1571
  },
1414
1572
  {
@@ -1418,136 +1576,78 @@
1418
1576
  ],
1419
1577
  "attributes": [
1420
1578
  {
1421
- "name": "checked",
1422
- "fieldName": "checked",
1579
+ "name": "closed",
1580
+ "fieldName": "closed",
1423
1581
  "default": "false",
1424
- "description": "Whether the checkbox is checked",
1582
+ "description": "Since Stencil boolean props default to `false` when the attribute is missing.\ninstead of `open` defaulting to `true`, using a `closed` prop.",
1425
1583
  "type": {
1426
1584
  "text": "boolean"
1427
1585
  }
1428
1586
  },
1429
1587
  {
1430
- "name": "disabled",
1431
- "fieldName": "disabled",
1588
+ "name": "scroll-down",
1589
+ "fieldName": "scrollDown",
1432
1590
  "default": "false",
1433
- "description": "Whether the checkbox is disabled",
1591
+ "description": "Whether the content should scroll down from the top when open.",
1434
1592
  "type": {
1435
1593
  "text": "boolean"
1436
1594
  }
1437
1595
  },
1438
1596
  {
1439
- "name": "name",
1440
- "fieldName": "name",
1441
- "description": "The name of the checkbox input",
1597
+ "name": "no-fading",
1598
+ "fieldName": "noFading",
1599
+ "default": "false",
1600
+ "description": "Stop fading the content when collapsing/expanding.",
1442
1601
  "type": {
1443
- "text": "string"
1602
+ "text": "boolean"
1444
1603
  }
1445
1604
  },
1446
1605
  {
1447
- "name": "value",
1448
- "fieldName": "value",
1449
- "description": "The value of the checkbox input",
1606
+ "name": "collapse-on-header-shrink",
1607
+ "fieldName": "collapseOnHeaderShrink",
1608
+ "default": "false",
1609
+ "description": "If true, collapse/expand based on the nearest header shrink event.",
1450
1610
  "type": {
1451
- "text": "string"
1611
+ "text": "boolean"
1452
1612
  }
1453
- },
1454
- {
1455
- "name": "external-id",
1456
- "fieldName": "externalId",
1457
- "description": "External ID for linking with external systems (e.g. database ID, PDF form field ID)",
1458
- "type": {
1459
- "text": "string"
1460
- }
1461
- }
1462
- ],
1463
- "tagName": "le-checkbox",
1464
- "events": [
1465
- {
1466
- "name": "change",
1467
- "type": {
1468
- "text": "EventEmitter<{ checked: boolean; value: string; name: string; externalId: string }>"
1469
- },
1470
- "description": "Emitted when the checked state changes"
1471
1613
  }
1472
1614
  ],
1615
+ "tagName": "le-collapse",
1616
+ "events": [],
1473
1617
  "customElement": true
1474
1618
  }
1475
1619
  ],
1476
1620
  "exports": [
1477
1621
  {
1478
1622
  "kind": "js",
1479
- "name": "LeCheckbox",
1623
+ "name": "LeCollapse",
1480
1624
  "declaration": {
1481
- "name": "LeCheckbox",
1482
- "module": "src/components/le-checkbox/le-checkbox.tsx"
1625
+ "name": "LeCollapse",
1626
+ "module": "src/components/le-collapse/le-collapse.tsx"
1483
1627
  }
1484
1628
  },
1485
1629
  {
1486
1630
  "kind": "custom-element-definition",
1487
- "name": "le-checkbox",
1631
+ "name": "le-collapse",
1488
1632
  "declaration": {
1489
- "name": "LeCheckbox",
1490
- "module": "src/components/le-checkbox/le-checkbox.tsx"
1633
+ "name": "LeCollapse",
1634
+ "module": "src/components/le-collapse/le-collapse.tsx"
1491
1635
  }
1492
1636
  }
1493
1637
  ]
1494
1638
  },
1495
1639
  {
1496
1640
  "kind": "javascript-module",
1497
- "path": "src/components/le-card/le-card.tsx",
1641
+ "path": "src/components/le-component/le-component.tsx",
1498
1642
  "declarations": [
1499
1643
  {
1500
1644
  "kind": "class",
1501
- "description": "A flexible card component with header, content, and footer slots.\n\nThe card uses le-slot wrappers for each slot area. In admin mode,\nle-slot shows placeholders for CMS editing. In default mode,\nle-slot acts as a transparent passthrough.",
1502
- "name": "LeCard",
1503
- "cssProperties": [
1504
- {
1505
- "description": "Card background color",
1506
- "name": "--le-card-bg"
1507
- },
1508
- {
1509
- "description": "Card border radius",
1510
- "name": "--le-card-border-radius"
1511
- },
1512
- {
1513
- "description": "Card box shadow",
1514
- "name": "--le-card-shadow"
1515
- },
1516
- {
1517
- "description": "Card content padding",
1518
- "name": "--le-card-padding"
1519
- }
1520
- ],
1521
- "cssParts": [
1522
- {
1523
- "description": "The main card container",
1524
- "name": "card"
1525
- },
1526
- {
1527
- "description": "The card header section",
1528
- "name": "header"
1529
- },
1530
- {
1531
- "description": "The card content section",
1532
- "name": "content"
1533
- },
1534
- {
1535
- "description": "The card footer section",
1536
- "name": "footer"
1537
- }
1538
- ],
1645
+ "description": "Component wrapper for admin mode editing.\n\nThis component is used internally by other components to provide admin-mode\nediting capabilities. It wraps the component's rendered output and shows\na settings popover for editing properties.\n\nIn default mode, it acts as a simple passthrough (display: contents).\nIn admin mode, it shows a border, component name header, and settings popover.\n\nThe host element is found automatically by traversing up through the shadow DOM.\n\nUsage inside a component's render method:\n```tsx\nrender() {\n return (\n <le-component component=\"le-card\">\n <Host>...</Host>\n </le-component>\n );\n}\n```",
1646
+ "name": "LeComponent",
1539
1647
  "slots": [
1540
1648
  {
1541
- "description": "Card header content (title, actions)",
1542
- "name": "header"
1543
- },
1544
- {
1545
- "description": "Default slot for main card content",
1649
+ "description": "The component's rendered content",
1546
1650
  "name": ""
1547
- },
1548
- {
1549
- "description": "Card footer content (buttons, links)",
1550
- "name": "footer"
1551
1651
  }
1552
1652
  ],
1553
1653
  "members": [
@@ -1560,808 +1660,725 @@
1560
1660
  },
1561
1661
  {
1562
1662
  "kind": "field",
1563
- "name": "variant",
1564
- "type": {
1565
- "text": "'default' | 'outlined' | 'elevated'"
1566
- },
1567
- "default": "'default'",
1568
- "description": "Card variant style"
1569
- },
1570
- {
1571
- "kind": "field",
1572
- "name": "interactive",
1663
+ "name": "component",
1573
1664
  "type": {
1574
- "text": "boolean"
1665
+ "text": "string"
1575
1666
  },
1576
- "default": "false",
1577
- "description": "Whether the card is interactive (clickable)"
1578
- },
1579
- {
1580
- "kind": "method",
1581
- "name": "render"
1582
- }
1583
- ],
1584
- "attributes": [
1585
- {
1586
- "name": "variant",
1587
- "fieldName": "variant",
1588
- "default": "'default'",
1589
- "description": "Card variant style",
1590
- "type": {
1591
- "text": "'default' | 'outlined' | 'elevated'"
1592
- }
1593
- },
1594
- {
1595
- "name": "interactive",
1596
- "fieldName": "interactive",
1597
- "default": "false",
1598
- "description": "Whether the card is interactive (clickable)",
1599
- "type": {
1600
- "text": "boolean"
1601
- }
1602
- }
1603
- ],
1604
- "tagName": "le-card",
1605
- "events": [],
1606
- "customElement": true
1607
- }
1608
- ],
1609
- "exports": [
1610
- {
1611
- "kind": "js",
1612
- "name": "LeCard",
1613
- "declaration": {
1614
- "name": "LeCard",
1615
- "module": "src/components/le-card/le-card.tsx"
1616
- }
1617
- },
1618
- {
1619
- "kind": "custom-element-definition",
1620
- "name": "le-card",
1621
- "declaration": {
1622
- "name": "LeCard",
1623
- "module": "src/components/le-card/le-card.tsx"
1624
- }
1625
- }
1626
- ]
1627
- },
1628
- {
1629
- "kind": "javascript-module",
1630
- "path": "src/components/le-combobox/le-combobox.tsx",
1631
- "declarations": [
1632
- {
1633
- "kind": "class",
1634
- "description": "A combobox component with searchable dropdown.\n\nCombines a text input with a dropdown list, allowing users to\nfilter options by typing or select from the list.",
1635
- "name": "LeCombobox",
1636
- "members": [
1637
- {
1638
- "kind": "field",
1639
- "name": "el",
1640
- "type": {
1641
- "text": "HTMLElement"
1642
- }
1667
+ "description": "The tag name of the component (e.g., 'le-card').\nUsed to look up property metadata and display the component name."
1643
1668
  },
1644
1669
  {
1645
1670
  "kind": "field",
1646
- "name": "options",
1671
+ "name": "displayName",
1647
1672
  "type": {
1648
- "text": "LeOption[] | string"
1673
+ "text": "string | undefined"
1649
1674
  },
1650
- "default": "[]",
1651
- "description": "The options to display in the dropdown."
1675
+ "description": "Optional display name for the component.\nIf not provided, the tag name will be formatted as the display name."
1652
1676
  },
1653
1677
  {
1654
1678
  "kind": "field",
1655
- "name": "value",
1679
+ "name": "hostClass",
1656
1680
  "type": {
1657
- "text": "LeOptionValue | undefined"
1681
+ "text": "string | undefined"
1658
1682
  },
1659
- "description": "The currently selected value."
1683
+ "description": "Classes to apply to the host element.\nAllows parent components to pass their styling classes."
1660
1684
  },
1661
1685
  {
1662
1686
  "kind": "field",
1663
- "name": "placeholder",
1687
+ "name": "hostStyle",
1664
1688
  "type": {
1665
- "text": "string"
1689
+ "text": "{ [key: string]: string } | undefined"
1666
1690
  },
1667
- "default": "'Type to search...'",
1668
- "description": "Placeholder text for the input."
1691
+ "description": "Inline styles to apply to the host element.\nAllows parent components to pass dynamic styles (e.g., flex properties)."
1669
1692
  },
1670
1693
  {
1671
1694
  "kind": "field",
1672
- "name": "disabled",
1695
+ "name": "hostElement",
1673
1696
  "type": {
1674
- "text": "boolean"
1697
+ "text": "HTMLElement | undefined"
1675
1698
  },
1676
- "default": "false",
1677
- "description": "Whether the combobox is disabled."
1699
+ "privacy": "private",
1700
+ "description": "Reference to the host element (found automatically from parent)"
1678
1701
  },
1679
1702
  {
1680
1703
  "kind": "field",
1681
- "name": "required",
1704
+ "name": "adminMode",
1682
1705
  "type": {
1683
1706
  "text": "boolean"
1684
1707
  },
1708
+ "privacy": "private",
1685
1709
  "default": "false",
1686
- "description": "Whether selection is required."
1710
+ "description": "Internal state to track admin mode"
1687
1711
  },
1688
1712
  {
1689
1713
  "kind": "field",
1690
- "name": "name",
1714
+ "name": "componentMeta",
1691
1715
  "type": {
1692
- "text": "string | undefined"
1716
+ "text": "ComponentMetadata | null"
1693
1717
  },
1694
- "description": "Name attribute for form submission."
1718
+ "privacy": "private",
1719
+ "default": "null",
1720
+ "description": "Component metadata loaded from Custom Elements Manifest"
1695
1721
  },
1696
1722
  {
1697
1723
  "kind": "field",
1698
- "name": "fullWidth",
1724
+ "name": "propertyValues",
1699
1725
  "type": {
1700
- "text": "boolean"
1726
+ "text": "Record<string, any>"
1701
1727
  },
1702
- "default": "false",
1703
- "description": "Whether the multiselect should take full width of its container."
1728
+ "privacy": "private",
1729
+ "default": "{}",
1730
+ "description": "Current property values of the host component"
1704
1731
  },
1705
1732
  {
1706
1733
  "kind": "field",
1707
- "name": "size",
1734
+ "name": "disconnectModeObserver",
1708
1735
  "type": {
1709
- "text": "'small' | 'medium' | 'large'"
1736
+ "text": "() => void | undefined"
1710
1737
  },
1711
- "default": "'medium'",
1712
- "description": "Size variant of the combobox."
1738
+ "privacy": "private"
1713
1739
  },
1714
1740
  {
1715
- "kind": "field",
1716
- "name": "allowCustom",
1717
- "type": {
1718
- "text": "boolean"
1719
- },
1720
- "default": "false",
1721
- "description": "Whether to allow custom values not in the options list."
1741
+ "kind": "method",
1742
+ "name": "findHostElement",
1743
+ "privacy": "private",
1744
+ "description": "Find the host element by traversing up through shadow DOM"
1722
1745
  },
1723
1746
  {
1724
- "kind": "field",
1725
- "name": "minSearchLength",
1726
- "type": {
1727
- "text": "number"
1747
+ "kind": "method",
1748
+ "name": "formatDisplayName",
1749
+ "privacy": "private",
1750
+ "return": {
1751
+ "type": {
1752
+ "text": "string"
1753
+ }
1728
1754
  },
1729
- "default": "0",
1730
- "description": "Minimum characters before showing filtered results."
1755
+ "parameters": [
1756
+ {
1757
+ "name": "tagName",
1758
+ "type": {
1759
+ "text": "string"
1760
+ }
1761
+ }
1762
+ ],
1763
+ "description": "Formats a tag name into a display name\ne.g., 'le-card' -> 'Card'"
1731
1764
  },
1732
1765
  {
1733
- "kind": "field",
1734
- "name": "emptyText",
1735
- "type": {
1736
- "text": "string"
1737
- },
1738
- "default": "'No results found'",
1739
- "description": "Text to show when no options match the search."
1740
- },
1741
- {
1742
- "kind": "field",
1743
- "name": "open",
1744
- "type": {
1745
- "text": "boolean"
1746
- },
1747
- "default": "false",
1748
- "description": "Whether the dropdown is currently open."
1766
+ "kind": "method",
1767
+ "name": "loadComponentMetadata",
1768
+ "privacy": "private",
1769
+ "description": "Load component metadata from the Custom Elements Manifest"
1749
1770
  },
1750
1771
  {
1751
1772
  "kind": "method",
1752
- "name": "handleWindowClick",
1773
+ "name": "isInternalAttribute",
1774
+ "privacy": "private",
1775
+ "return": {
1776
+ "type": {
1777
+ "text": "boolean"
1778
+ }
1779
+ },
1753
1780
  "parameters": [
1754
1781
  {
1755
- "name": "event",
1782
+ "name": "name",
1756
1783
  "type": {
1757
- "text": "MouseEvent"
1784
+ "text": "string"
1758
1785
  }
1759
1786
  }
1760
- ]
1787
+ ],
1788
+ "description": "Check if an attribute is internal (should not be shown in editor)"
1761
1789
  },
1762
1790
  {
1763
- "kind": "field",
1764
- "name": "inputValue",
1765
- "type": {
1766
- "text": "string"
1767
- },
1791
+ "kind": "method",
1792
+ "name": "readPropertyValues",
1768
1793
  "privacy": "private",
1769
- "default": "''"
1770
- },
1771
- {
1772
- "kind": "field",
1773
- "name": "selectedOption",
1774
- "type": {
1775
- "text": "LeOption | undefined"
1776
- },
1777
- "privacy": "private"
1778
- },
1779
- {
1780
- "kind": "field",
1781
- "name": "dropdownEl",
1782
- "type": {
1783
- "text": "HTMLLeDropdownBaseElement | undefined"
1784
- },
1785
- "privacy": "private"
1794
+ "description": "Read current property values from the host element"
1786
1795
  },
1787
1796
  {
1788
- "kind": "field",
1789
- "name": "inputEl",
1790
- "type": {
1791
- "text": "HTMLInputElement | undefined"
1797
+ "kind": "method",
1798
+ "name": "parseAttributeValue",
1799
+ "privacy": "private",
1800
+ "return": {
1801
+ "type": {
1802
+ "text": "any"
1803
+ }
1792
1804
  },
1793
- "privacy": "private"
1805
+ "parameters": [
1806
+ {
1807
+ "name": "value",
1808
+ "type": {
1809
+ "text": "string | null"
1810
+ }
1811
+ },
1812
+ {
1813
+ "name": "type",
1814
+ "optional": true,
1815
+ "type": {
1816
+ "text": "string"
1817
+ }
1818
+ }
1819
+ ],
1820
+ "description": "Parse an attribute value based on its type"
1794
1821
  },
1795
1822
  {
1796
1823
  "kind": "method",
1797
- "name": "handleValueChange"
1824
+ "name": "handlePropertyChange",
1825
+ "privacy": "private",
1826
+ "parameters": [
1827
+ {
1828
+ "name": "attrName",
1829
+ "type": {
1830
+ "text": "string"
1831
+ }
1832
+ },
1833
+ {
1834
+ "name": "value",
1835
+ "type": {
1836
+ "text": "any"
1837
+ }
1838
+ },
1839
+ {
1840
+ "name": "type",
1841
+ "optional": true,
1842
+ "type": {
1843
+ "text": "string"
1844
+ }
1845
+ }
1846
+ ],
1847
+ "description": "Handle property value changes from the editor"
1798
1848
  },
1799
1849
  {
1800
1850
  "kind": "method",
1801
- "name": "handleOptionsChange"
1802
- },
1803
- {
1804
- "kind": "field",
1805
- "name": "parsedOptions",
1806
- "type": {
1807
- "text": "LeOption[]"
1808
- },
1851
+ "name": "deleteComponent",
1809
1852
  "privacy": "private",
1810
- "readonly": true
1853
+ "description": "Delete this component from the DOM"
1811
1854
  },
1812
1855
  {
1813
1856
  "kind": "method",
1814
- "name": "updateSelectedOption",
1815
- "privacy": "private"
1857
+ "name": "renderPropertyEditor",
1858
+ "privacy": "private",
1859
+ "description": "Render the property editor form"
1816
1860
  },
1817
1861
  {
1818
- "kind": "field",
1819
- "name": "filterOption",
1820
- "privacy": "private"
1862
+ "kind": "method",
1863
+ "name": "renderPropertyField",
1864
+ "privacy": "private",
1865
+ "parameters": [
1866
+ {
1867
+ "name": "attr",
1868
+ "type": {
1869
+ "text": "AttributeMetadata"
1870
+ }
1871
+ }
1872
+ ],
1873
+ "description": "Render a single property field based on its type"
1821
1874
  },
1822
1875
  {
1823
- "kind": "field",
1824
- "name": "handleOptionSelect",
1825
- "privacy": "private"
1826
- },
1876
+ "kind": "method",
1877
+ "name": "render"
1878
+ }
1879
+ ],
1880
+ "attributes": [
1827
1881
  {
1828
- "kind": "field",
1829
- "name": "handleDropdownOpen",
1830
- "privacy": "private"
1882
+ "name": "component",
1883
+ "fieldName": "component",
1884
+ "description": "The tag name of the component (e.g., 'le-card').\nUsed to look up property metadata and display the component name.",
1885
+ "type": {
1886
+ "text": "string"
1887
+ }
1831
1888
  },
1832
1889
  {
1833
- "kind": "field",
1834
- "name": "handleDropdownClose",
1835
- "privacy": "private"
1890
+ "name": "display-name",
1891
+ "fieldName": "displayName",
1892
+ "description": "Optional display name for the component.\nIf not provided, the tag name will be formatted as the display name.",
1893
+ "type": {
1894
+ "text": "string"
1895
+ }
1836
1896
  },
1837
1897
  {
1838
- "kind": "field",
1839
- "name": "handleInputChange",
1840
- "privacy": "private"
1898
+ "name": "host-class",
1899
+ "fieldName": "hostClass",
1900
+ "description": "Classes to apply to the host element.\nAllows parent components to pass their styling classes.",
1901
+ "type": {
1902
+ "text": "string"
1903
+ }
1841
1904
  },
1842
1905
  {
1843
- "kind": "field",
1844
- "name": "handleInputFocus",
1845
- "privacy": "private"
1846
- },
1906
+ "name": "host-style",
1907
+ "fieldName": "hostStyle",
1908
+ "description": "Inline styles to apply to the host element.\nAllows parent components to pass dynamic styles (e.g., flex properties).",
1909
+ "type": {
1910
+ "text": "{ [key: string]: string }"
1911
+ }
1912
+ }
1913
+ ],
1914
+ "tagName": "le-component",
1915
+ "events": [],
1916
+ "customElement": true
1917
+ }
1918
+ ],
1919
+ "exports": [
1920
+ {
1921
+ "kind": "js",
1922
+ "name": "LeComponent",
1923
+ "declaration": {
1924
+ "name": "LeComponent",
1925
+ "module": "src/components/le-component/le-component.tsx"
1926
+ }
1927
+ },
1928
+ {
1929
+ "kind": "custom-element-definition",
1930
+ "name": "le-component",
1931
+ "declaration": {
1932
+ "name": "LeComponent",
1933
+ "module": "src/components/le-component/le-component.tsx"
1934
+ }
1935
+ }
1936
+ ]
1937
+ },
1938
+ {
1939
+ "kind": "javascript-module",
1940
+ "path": "src/components/le-combobox/le-combobox.tsx",
1941
+ "declarations": [
1942
+ {
1943
+ "kind": "class",
1944
+ "description": "A combobox component with searchable dropdown.\n\nCombines a text input with a dropdown list, allowing users to\nfilter options by typing or select from the list.",
1945
+ "name": "LeCombobox",
1946
+ "members": [
1847
1947
  {
1848
1948
  "kind": "field",
1849
- "name": "handleInputKeyDown",
1850
- "privacy": "private"
1949
+ "name": "el",
1950
+ "type": {
1951
+ "text": "HTMLElement"
1952
+ }
1851
1953
  },
1852
1954
  {
1853
1955
  "kind": "field",
1854
- "name": "handleClear",
1855
- "privacy": "private"
1856
- },
1857
- {
1858
- "kind": "method",
1859
- "name": "showDropdown",
1860
- "description": "Opens the dropdown."
1861
- },
1862
- {
1863
- "kind": "method",
1864
- "name": "hideDropdown",
1865
- "description": "Closes the dropdown."
1866
- },
1867
- {
1868
- "kind": "method",
1869
- "name": "focusInput",
1870
- "description": "Focuses the input element."
1871
- },
1872
- {
1873
- "kind": "method",
1874
- "name": "render"
1875
- }
1876
- ],
1877
- "attributes": [
1878
- {
1879
1956
  "name": "options",
1880
- "fieldName": "options",
1881
- "default": "[]",
1882
- "description": "The options to display in the dropdown.",
1883
1957
  "type": {
1884
1958
  "text": "LeOption[] | string"
1885
- }
1959
+ },
1960
+ "default": "[]",
1961
+ "description": "The options to display in the dropdown."
1886
1962
  },
1887
1963
  {
1964
+ "kind": "field",
1888
1965
  "name": "value",
1889
- "fieldName": "value",
1890
- "description": "The currently selected value.",
1891
1966
  "type": {
1892
- "text": "LeOptionValue"
1893
- }
1967
+ "text": "LeOptionValue | undefined"
1968
+ },
1969
+ "description": "The currently selected value."
1894
1970
  },
1895
1971
  {
1972
+ "kind": "field",
1896
1973
  "name": "placeholder",
1897
- "fieldName": "placeholder",
1898
- "default": "'Type to search...'",
1899
- "description": "Placeholder text for the input.",
1900
1974
  "type": {
1901
1975
  "text": "string"
1902
- }
1976
+ },
1977
+ "default": "'Type to search...'",
1978
+ "description": "Placeholder text for the input."
1903
1979
  },
1904
1980
  {
1981
+ "kind": "field",
1905
1982
  "name": "disabled",
1906
- "fieldName": "disabled",
1907
- "default": "false",
1908
- "description": "Whether the combobox is disabled.",
1909
1983
  "type": {
1910
1984
  "text": "boolean"
1911
- }
1985
+ },
1986
+ "default": "false",
1987
+ "description": "Whether the combobox is disabled."
1912
1988
  },
1913
1989
  {
1990
+ "kind": "field",
1914
1991
  "name": "required",
1915
- "fieldName": "required",
1916
- "default": "false",
1917
- "description": "Whether selection is required.",
1918
1992
  "type": {
1919
1993
  "text": "boolean"
1920
- }
1994
+ },
1995
+ "default": "false",
1996
+ "description": "Whether selection is required."
1921
1997
  },
1922
1998
  {
1999
+ "kind": "field",
1923
2000
  "name": "name",
1924
- "fieldName": "name",
1925
- "description": "Name attribute for form submission.",
1926
2001
  "type": {
1927
- "text": "string"
1928
- }
2002
+ "text": "string | undefined"
2003
+ },
2004
+ "description": "Name attribute for form submission."
1929
2005
  },
1930
2006
  {
1931
- "name": "full-width",
1932
- "fieldName": "fullWidth",
1933
- "default": "false",
1934
- "description": "Whether the multiselect should take full width of its container.",
2007
+ "kind": "field",
2008
+ "name": "fullWidth",
1935
2009
  "type": {
1936
2010
  "text": "boolean"
1937
- }
2011
+ },
2012
+ "default": "false",
2013
+ "description": "Whether the multiselect should take full width of its container."
1938
2014
  },
1939
2015
  {
2016
+ "kind": "field",
1940
2017
  "name": "size",
1941
- "fieldName": "size",
1942
- "default": "'medium'",
1943
- "description": "Size variant of the combobox.",
1944
2018
  "type": {
1945
2019
  "text": "'small' | 'medium' | 'large'"
1946
- }
2020
+ },
2021
+ "default": "'medium'",
2022
+ "description": "Size variant of the combobox."
1947
2023
  },
1948
2024
  {
1949
- "name": "allow-custom",
1950
- "fieldName": "allowCustom",
1951
- "default": "false",
1952
- "description": "Whether to allow custom values not in the options list.",
2025
+ "kind": "field",
2026
+ "name": "allowCustom",
1953
2027
  "type": {
1954
2028
  "text": "boolean"
1955
- }
2029
+ },
2030
+ "default": "false",
2031
+ "description": "Whether to allow custom values not in the options list."
1956
2032
  },
1957
2033
  {
1958
- "name": "min-search-length",
1959
- "fieldName": "minSearchLength",
1960
- "default": "0",
1961
- "description": "Minimum characters before showing filtered results.",
2034
+ "kind": "field",
2035
+ "name": "minSearchLength",
1962
2036
  "type": {
1963
2037
  "text": "number"
1964
- }
2038
+ },
2039
+ "default": "0",
2040
+ "description": "Minimum characters before showing filtered results."
1965
2041
  },
1966
2042
  {
1967
- "name": "empty-text",
1968
- "fieldName": "emptyText",
1969
- "default": "'No results found'",
1970
- "description": "Text to show when no options match the search.",
2043
+ "kind": "field",
2044
+ "name": "emptyText",
1971
2045
  "type": {
1972
2046
  "text": "string"
1973
- }
2047
+ },
2048
+ "default": "'No results found'",
2049
+ "description": "Text to show when no options match the search."
1974
2050
  },
1975
2051
  {
2052
+ "kind": "field",
1976
2053
  "name": "open",
1977
- "fieldName": "open",
1978
- "default": "false",
1979
- "description": "Whether the dropdown is currently open.",
1980
2054
  "type": {
1981
2055
  "text": "boolean"
1982
- }
1983
- }
1984
- ],
1985
- "tagName": "le-combobox",
1986
- "events": [
1987
- {
1988
- "name": "leChange",
1989
- "type": {
1990
- "text": "EventEmitter<LeOptionSelectDetail>"
1991
- },
1992
- "description": "Emitted when the selected value changes."
1993
- },
1994
- {
1995
- "name": "leInput",
1996
- "type": {
1997
- "text": "EventEmitter<{ value: string }>"
1998
- },
1999
- "description": "Emitted when the input value changes (for custom values)."
2000
- },
2001
- {
2002
- "name": "leOpen",
2003
- "type": {
2004
- "text": "EventEmitter<void>"
2005
2056
  },
2006
- "description": "Emitted when the dropdown opens."
2057
+ "default": "false",
2058
+ "description": "Whether the dropdown is currently open."
2007
2059
  },
2008
2060
  {
2009
- "name": "leClose",
2010
- "type": {
2011
- "text": "EventEmitter<void>"
2012
- },
2013
- "description": "Emitted when the dropdown closes."
2014
- }
2015
- ],
2016
- "customElement": true
2017
- }
2018
- ],
2019
- "exports": [
2020
- {
2021
- "kind": "js",
2022
- "name": "LeCombobox",
2023
- "declaration": {
2024
- "name": "LeCombobox",
2025
- "module": "src/components/le-combobox/le-combobox.tsx"
2026
- }
2027
- },
2028
- {
2029
- "kind": "custom-element-definition",
2030
- "name": "le-combobox",
2031
- "declaration": {
2032
- "name": "LeCombobox",
2033
- "module": "src/components/le-combobox/le-combobox.tsx"
2034
- }
2035
- }
2036
- ]
2037
- },
2038
- {
2039
- "kind": "javascript-module",
2040
- "path": "src/components/le-component/le-component.tsx",
2041
- "declarations": [
2042
- {
2043
- "kind": "class",
2044
- "description": "Component wrapper for admin mode editing.\n\nThis component is used internally by other components to provide admin-mode\nediting capabilities. It wraps the component's rendered output and shows\na settings popover for editing properties.\n\nIn default mode, it acts as a simple passthrough (display: contents).\nIn admin mode, it shows a border, component name header, and settings popover.\n\nThe host element is found automatically by traversing up through the shadow DOM.\n\nUsage inside a component's render method:\n```tsx\nrender() {\n return (\n <le-component component=\"le-card\">\n <Host>...</Host>\n </le-component>\n );\n}\n```",
2045
- "name": "LeComponent",
2046
- "slots": [
2047
- {
2048
- "description": "The component's rendered content",
2049
- "name": ""
2050
- }
2051
- ],
2052
- "members": [
2053
- {
2054
- "kind": "field",
2055
- "name": "el",
2056
- "type": {
2057
- "text": "HTMLElement"
2058
- }
2061
+ "kind": "method",
2062
+ "name": "handleWindowClick",
2063
+ "parameters": [
2064
+ {
2065
+ "name": "event",
2066
+ "type": {
2067
+ "text": "MouseEvent"
2068
+ }
2069
+ }
2070
+ ]
2059
2071
  },
2060
2072
  {
2061
2073
  "kind": "field",
2062
- "name": "component",
2074
+ "name": "inputValue",
2063
2075
  "type": {
2064
2076
  "text": "string"
2065
2077
  },
2066
- "description": "The tag name of the component (e.g., 'le-card').\nUsed to look up property metadata and display the component name."
2078
+ "privacy": "private",
2079
+ "default": "''"
2067
2080
  },
2068
2081
  {
2069
2082
  "kind": "field",
2070
- "name": "displayName",
2083
+ "name": "selectedOption",
2071
2084
  "type": {
2072
- "text": "string | undefined"
2085
+ "text": "LeOption | undefined"
2073
2086
  },
2074
- "description": "Optional display name for the component.\nIf not provided, the tag name will be formatted as the display name."
2087
+ "privacy": "private"
2075
2088
  },
2076
2089
  {
2077
2090
  "kind": "field",
2078
- "name": "hostClass",
2091
+ "name": "dropdownEl",
2079
2092
  "type": {
2080
- "text": "string | undefined"
2093
+ "text": "HTMLLeDropdownBaseElement | undefined"
2081
2094
  },
2082
- "description": "Classes to apply to the host element.\nAllows parent components to pass their styling classes."
2095
+ "privacy": "private"
2083
2096
  },
2084
2097
  {
2085
2098
  "kind": "field",
2086
- "name": "hostStyle",
2099
+ "name": "inputEl",
2087
2100
  "type": {
2088
- "text": "{ [key: string]: string } | undefined"
2101
+ "text": "HTMLInputElement | undefined"
2089
2102
  },
2090
- "description": "Inline styles to apply to the host element.\nAllows parent components to pass dynamic styles (e.g., flex properties)."
2103
+ "privacy": "private"
2104
+ },
2105
+ {
2106
+ "kind": "method",
2107
+ "name": "handleValueChange"
2108
+ },
2109
+ {
2110
+ "kind": "method",
2111
+ "name": "handleOptionsChange"
2091
2112
  },
2092
2113
  {
2093
2114
  "kind": "field",
2094
- "name": "hostElement",
2115
+ "name": "parsedOptions",
2095
2116
  "type": {
2096
- "text": "HTMLElement | undefined"
2117
+ "text": "LeOption[]"
2097
2118
  },
2098
2119
  "privacy": "private",
2099
- "description": "Reference to the host element (found automatically from parent)"
2120
+ "readonly": true
2121
+ },
2122
+ {
2123
+ "kind": "method",
2124
+ "name": "updateSelectedOption",
2125
+ "privacy": "private"
2100
2126
  },
2101
2127
  {
2102
2128
  "kind": "field",
2103
- "name": "adminMode",
2104
- "type": {
2105
- "text": "boolean"
2106
- },
2107
- "privacy": "private",
2108
- "default": "false",
2109
- "description": "Internal state to track admin mode"
2129
+ "name": "filterOption",
2130
+ "privacy": "private"
2110
2131
  },
2111
2132
  {
2112
2133
  "kind": "field",
2113
- "name": "componentMeta",
2114
- "type": {
2115
- "text": "ComponentMetadata | null"
2116
- },
2117
- "privacy": "private",
2118
- "default": "null",
2119
- "description": "Component metadata loaded from Custom Elements Manifest"
2134
+ "name": "handleOptionSelect",
2135
+ "privacy": "private"
2120
2136
  },
2121
2137
  {
2122
2138
  "kind": "field",
2123
- "name": "propertyValues",
2124
- "type": {
2125
- "text": "Record<string, any>"
2126
- },
2127
- "privacy": "private",
2128
- "default": "{}",
2129
- "description": "Current property values of the host component"
2139
+ "name": "handleDropdownOpen",
2140
+ "privacy": "private"
2130
2141
  },
2131
2142
  {
2132
2143
  "kind": "field",
2133
- "name": "disconnectModeObserver",
2134
- "type": {
2135
- "text": "() => void | undefined"
2136
- },
2144
+ "name": "handleDropdownClose",
2137
2145
  "privacy": "private"
2138
2146
  },
2139
2147
  {
2140
- "kind": "method",
2141
- "name": "findHostElement",
2142
- "privacy": "private",
2143
- "description": "Find the host element by traversing up through shadow DOM"
2148
+ "kind": "field",
2149
+ "name": "handleInputChange",
2150
+ "privacy": "private"
2144
2151
  },
2145
2152
  {
2146
- "kind": "method",
2147
- "name": "formatDisplayName",
2148
- "privacy": "private",
2149
- "return": {
2150
- "type": {
2151
- "text": "string"
2152
- }
2153
- },
2154
- "parameters": [
2155
- {
2156
- "name": "tagName",
2157
- "type": {
2158
- "text": "string"
2159
- }
2160
- }
2161
- ],
2162
- "description": "Formats a tag name into a display name\ne.g., 'le-card' -> 'Card'"
2153
+ "kind": "field",
2154
+ "name": "handleInputFocus",
2155
+ "privacy": "private"
2163
2156
  },
2164
2157
  {
2165
- "kind": "method",
2166
- "name": "loadComponentMetadata",
2167
- "privacy": "private",
2168
- "description": "Load component metadata from the Custom Elements Manifest"
2158
+ "kind": "field",
2159
+ "name": "handleInputKeyDown",
2160
+ "privacy": "private"
2169
2161
  },
2170
2162
  {
2171
- "kind": "method",
2172
- "name": "isInternalAttribute",
2173
- "privacy": "private",
2174
- "return": {
2175
- "type": {
2176
- "text": "boolean"
2177
- }
2178
- },
2179
- "parameters": [
2180
- {
2181
- "name": "name",
2182
- "type": {
2183
- "text": "string"
2184
- }
2185
- }
2186
- ],
2187
- "description": "Check if an attribute is internal (should not be shown in editor)"
2163
+ "kind": "field",
2164
+ "name": "handleClear",
2165
+ "privacy": "private"
2188
2166
  },
2189
2167
  {
2190
2168
  "kind": "method",
2191
- "name": "readPropertyValues",
2192
- "privacy": "private",
2193
- "description": "Read current property values from the host element"
2169
+ "name": "showDropdown",
2170
+ "description": "Opens the dropdown."
2194
2171
  },
2195
2172
  {
2196
2173
  "kind": "method",
2197
- "name": "parseAttributeValue",
2198
- "privacy": "private",
2199
- "return": {
2200
- "type": {
2201
- "text": "any"
2202
- }
2203
- },
2204
- "parameters": [
2205
- {
2206
- "name": "value",
2207
- "type": {
2208
- "text": "string | null"
2209
- }
2210
- },
2211
- {
2212
- "name": "type",
2213
- "optional": true,
2214
- "type": {
2215
- "text": "string"
2216
- }
2217
- }
2218
- ],
2219
- "description": "Parse an attribute value based on its type"
2174
+ "name": "hideDropdown",
2175
+ "description": "Closes the dropdown."
2220
2176
  },
2221
2177
  {
2222
2178
  "kind": "method",
2223
- "name": "handlePropertyChange",
2224
- "privacy": "private",
2225
- "parameters": [
2226
- {
2227
- "name": "attrName",
2228
- "type": {
2229
- "text": "string"
2230
- }
2231
- },
2232
- {
2233
- "name": "value",
2234
- "type": {
2235
- "text": "any"
2236
- }
2237
- },
2238
- {
2239
- "name": "type",
2240
- "optional": true,
2241
- "type": {
2242
- "text": "string"
2243
- }
2244
- }
2245
- ],
2246
- "description": "Handle property value changes from the editor"
2179
+ "name": "focusInput",
2180
+ "description": "Focuses the input element."
2247
2181
  },
2248
2182
  {
2249
2183
  "kind": "method",
2250
- "name": "deleteComponent",
2251
- "privacy": "private",
2252
- "description": "Delete this component from the DOM"
2184
+ "name": "render"
2185
+ }
2186
+ ],
2187
+ "attributes": [
2188
+ {
2189
+ "name": "options",
2190
+ "fieldName": "options",
2191
+ "default": "[]",
2192
+ "description": "The options to display in the dropdown.",
2193
+ "type": {
2194
+ "text": "LeOption[] | string"
2195
+ }
2196
+ },
2197
+ {
2198
+ "name": "value",
2199
+ "fieldName": "value",
2200
+ "description": "The currently selected value.",
2201
+ "type": {
2202
+ "text": "LeOptionValue"
2203
+ }
2204
+ },
2205
+ {
2206
+ "name": "placeholder",
2207
+ "fieldName": "placeholder",
2208
+ "default": "'Type to search...'",
2209
+ "description": "Placeholder text for the input.",
2210
+ "type": {
2211
+ "text": "string"
2212
+ }
2213
+ },
2214
+ {
2215
+ "name": "disabled",
2216
+ "fieldName": "disabled",
2217
+ "default": "false",
2218
+ "description": "Whether the combobox is disabled.",
2219
+ "type": {
2220
+ "text": "boolean"
2221
+ }
2222
+ },
2223
+ {
2224
+ "name": "required",
2225
+ "fieldName": "required",
2226
+ "default": "false",
2227
+ "description": "Whether selection is required.",
2228
+ "type": {
2229
+ "text": "boolean"
2230
+ }
2231
+ },
2232
+ {
2233
+ "name": "name",
2234
+ "fieldName": "name",
2235
+ "description": "Name attribute for form submission.",
2236
+ "type": {
2237
+ "text": "string"
2238
+ }
2239
+ },
2240
+ {
2241
+ "name": "full-width",
2242
+ "fieldName": "fullWidth",
2243
+ "default": "false",
2244
+ "description": "Whether the multiselect should take full width of its container.",
2245
+ "type": {
2246
+ "text": "boolean"
2247
+ }
2248
+ },
2249
+ {
2250
+ "name": "size",
2251
+ "fieldName": "size",
2252
+ "default": "'medium'",
2253
+ "description": "Size variant of the combobox.",
2254
+ "type": {
2255
+ "text": "'small' | 'medium' | 'large'"
2256
+ }
2253
2257
  },
2254
2258
  {
2255
- "kind": "method",
2256
- "name": "renderPropertyEditor",
2257
- "privacy": "private",
2258
- "description": "Render the property editor form"
2259
+ "name": "allow-custom",
2260
+ "fieldName": "allowCustom",
2261
+ "default": "false",
2262
+ "description": "Whether to allow custom values not in the options list.",
2263
+ "type": {
2264
+ "text": "boolean"
2265
+ }
2259
2266
  },
2260
2267
  {
2261
- "kind": "method",
2262
- "name": "renderPropertyField",
2263
- "privacy": "private",
2264
- "parameters": [
2265
- {
2266
- "name": "attr",
2267
- "type": {
2268
- "text": "AttributeMetadata"
2269
- }
2270
- }
2271
- ],
2272
- "description": "Render a single property field based on its type"
2268
+ "name": "min-search-length",
2269
+ "fieldName": "minSearchLength",
2270
+ "default": "0",
2271
+ "description": "Minimum characters before showing filtered results.",
2272
+ "type": {
2273
+ "text": "number"
2274
+ }
2273
2275
  },
2274
2276
  {
2275
- "kind": "method",
2276
- "name": "render"
2277
- }
2278
- ],
2279
- "attributes": [
2280
- {
2281
- "name": "component",
2282
- "fieldName": "component",
2283
- "description": "The tag name of the component (e.g., 'le-card').\nUsed to look up property metadata and display the component name.",
2277
+ "name": "empty-text",
2278
+ "fieldName": "emptyText",
2279
+ "default": "'No results found'",
2280
+ "description": "Text to show when no options match the search.",
2284
2281
  "type": {
2285
2282
  "text": "string"
2286
2283
  }
2287
2284
  },
2288
2285
  {
2289
- "name": "display-name",
2290
- "fieldName": "displayName",
2291
- "description": "Optional display name for the component.\nIf not provided, the tag name will be formatted as the display name.",
2286
+ "name": "open",
2287
+ "fieldName": "open",
2288
+ "default": "false",
2289
+ "description": "Whether the dropdown is currently open.",
2292
2290
  "type": {
2293
- "text": "string"
2291
+ "text": "boolean"
2294
2292
  }
2293
+ }
2294
+ ],
2295
+ "tagName": "le-combobox",
2296
+ "events": [
2297
+ {
2298
+ "name": "leChange",
2299
+ "type": {
2300
+ "text": "EventEmitter<LeOptionSelectDetail>"
2301
+ },
2302
+ "description": "Emitted when the selected value changes."
2295
2303
  },
2296
2304
  {
2297
- "name": "host-class",
2298
- "fieldName": "hostClass",
2299
- "description": "Classes to apply to the host element.\nAllows parent components to pass their styling classes.",
2305
+ "name": "leInput",
2300
2306
  "type": {
2301
- "text": "string"
2302
- }
2307
+ "text": "EventEmitter<{ value: string }>"
2308
+ },
2309
+ "description": "Emitted when the input value changes (for custom values)."
2303
2310
  },
2304
2311
  {
2305
- "name": "host-style",
2306
- "fieldName": "hostStyle",
2307
- "description": "Inline styles to apply to the host element.\nAllows parent components to pass dynamic styles (e.g., flex properties).",
2312
+ "name": "leOpen",
2308
2313
  "type": {
2309
- "text": "{ [key: string]: string }"
2310
- }
2314
+ "text": "EventEmitter<void>"
2315
+ },
2316
+ "description": "Emitted when the dropdown opens."
2317
+ },
2318
+ {
2319
+ "name": "leClose",
2320
+ "type": {
2321
+ "text": "EventEmitter<void>"
2322
+ },
2323
+ "description": "Emitted when the dropdown closes."
2311
2324
  }
2312
2325
  ],
2313
- "tagName": "le-component",
2314
- "events": [],
2315
2326
  "customElement": true
2316
2327
  }
2317
2328
  ],
2318
2329
  "exports": [
2319
2330
  {
2320
2331
  "kind": "js",
2321
- "name": "LeComponent",
2332
+ "name": "LeCombobox",
2322
2333
  "declaration": {
2323
- "name": "LeComponent",
2324
- "module": "src/components/le-component/le-component.tsx"
2334
+ "name": "LeCombobox",
2335
+ "module": "src/components/le-combobox/le-combobox.tsx"
2325
2336
  }
2326
2337
  },
2327
2338
  {
2328
2339
  "kind": "custom-element-definition",
2329
- "name": "le-component",
2340
+ "name": "le-combobox",
2330
2341
  "declaration": {
2331
- "name": "LeComponent",
2332
- "module": "src/components/le-component/le-component.tsx"
2342
+ "name": "LeCombobox",
2343
+ "module": "src/components/le-combobox/le-combobox.tsx"
2333
2344
  }
2334
2345
  }
2335
2346
  ]
2336
2347
  },
2337
2348
  {
2338
2349
  "kind": "javascript-module",
2339
- "path": "src/components/le-collapse/le-collapse.tsx",
2350
+ "path": "src/components/le-checkbox/le-checkbox.tsx",
2340
2351
  "declarations": [
2341
2352
  {
2342
2353
  "kind": "class",
2343
- "description": "Animated show/hide wrapper.\n\nSupports height collapse (auto->0) and/or fading.\nCan optionally listen to the nearest `le-header` shrink events.",
2344
- "name": "LeCollapse",
2354
+ "description": "A checkbox component with support for labels, descriptions, and external IDs.",
2355
+ "name": "LeCheckbox",
2345
2356
  "cssProperties": [
2346
2357
  {
2347
- "description": "Transition duration",
2348
- "name": "--le-collapse-duration"
2349
- }
2350
- ],
2351
- "cssParts": [
2358
+ "description": "Size of the checkbox input",
2359
+ "name": "--le-checkbox-size"
2360
+ },
2352
2361
  {
2353
- "description": "Collapsible region",
2354
- "name": "region"
2362
+ "description": "Color of the checkbox when checked",
2363
+ "name": "--le-checkbox-color"
2355
2364
  },
2356
2365
  {
2357
- "description": "Inner content",
2358
- "name": "content"
2366
+ "description": "Color of the label text",
2367
+ "name": "--le-checkbox-label-color"
2368
+ },
2369
+ {
2370
+ "description": "Color of the description text",
2371
+ "name": "--le-checkbox-desc-color"
2359
2372
  }
2360
2373
  ],
2361
2374
  "slots": [
2362
2375
  {
2363
- "description": "Content to animate",
2376
+ "description": "The label text for the checkbox",
2364
2377
  "name": ""
2378
+ },
2379
+ {
2380
+ "description": "Additional description text displayed below the label",
2381
+ "name": "description"
2365
2382
  }
2366
2383
  ],
2367
2384
  "members": [
@@ -2374,80 +2391,49 @@
2374
2391
  },
2375
2392
  {
2376
2393
  "kind": "field",
2377
- "name": "closed",
2394
+ "name": "checked",
2378
2395
  "type": {
2379
2396
  "text": "boolean"
2380
2397
  },
2381
2398
  "default": "false",
2382
- "description": "Since Stencil boolean props default to `false` when the attribute is missing.\ninstead of `open` defaulting to `true`, using a `closed` prop."
2399
+ "description": "Whether the checkbox is checked"
2383
2400
  },
2384
2401
  {
2385
2402
  "kind": "field",
2386
- "name": "scrollDown",
2403
+ "name": "disabled",
2387
2404
  "type": {
2388
2405
  "text": "boolean"
2389
2406
  },
2390
2407
  "default": "false",
2391
- "description": "Whether the content should scroll down from the top when open."
2408
+ "description": "Whether the checkbox is disabled"
2392
2409
  },
2393
2410
  {
2394
2411
  "kind": "field",
2395
- "name": "noFading",
2412
+ "name": "name",
2396
2413
  "type": {
2397
- "text": "boolean"
2414
+ "text": "string"
2398
2415
  },
2399
- "default": "false",
2400
- "description": "Stop fading the content when collapsing/expanding."
2416
+ "description": "The name of the checkbox input"
2401
2417
  },
2402
2418
  {
2403
2419
  "kind": "field",
2404
- "name": "collapseOnHeaderShrink",
2420
+ "name": "value",
2405
2421
  "type": {
2406
- "text": "boolean"
2422
+ "text": "string"
2407
2423
  },
2408
- "default": "false",
2409
- "description": "If true, collapse/expand based on the nearest header shrink event."
2410
- },
2411
- {
2412
- "kind": "method",
2413
- "name": "handleHeaderShrink",
2414
- "parameters": [
2415
- {
2416
- "name": "ev",
2417
- "type": {
2418
- "text": "Event"
2419
- }
2420
- }
2421
- ],
2422
- "description": "Handles `leHeaderShrinkChange` events from the `le-header`.\nIn case multiple headers are present, only the nearest one in the DOM tree is used."
2424
+ "description": "The value of the checkbox input"
2423
2425
  },
2424
2426
  {
2425
2427
  "kind": "field",
2426
- "name": "headerShrunk",
2428
+ "name": "externalId",
2427
2429
  "type": {
2428
- "text": "boolean"
2430
+ "text": "string"
2429
2431
  },
2430
- "privacy": "private",
2431
- "default": "false"
2432
- },
2433
- {
2434
- "kind": "method",
2435
- "name": "onOpenChange",
2436
- "privacy": "protected"
2437
- },
2438
- {
2439
- "kind": "method",
2440
- "name": "onDrivenStateChange",
2441
- "privacy": "protected"
2442
- },
2443
- {
2444
- "kind": "method",
2445
- "name": "shouldBeOpen",
2446
- "privacy": "private"
2432
+ "description": "External ID for linking with external systems (e.g. database ID, PDF form field ID)"
2447
2433
  },
2448
2434
  {
2449
- "kind": "method",
2450
- "name": "applyOpenState",
2435
+ "kind": "field",
2436
+ "name": "handleChange",
2451
2437
  "privacy": "private"
2452
2438
  },
2453
2439
  {
@@ -2457,62 +2443,76 @@
2457
2443
  ],
2458
2444
  "attributes": [
2459
2445
  {
2460
- "name": "closed",
2461
- "fieldName": "closed",
2446
+ "name": "checked",
2447
+ "fieldName": "checked",
2462
2448
  "default": "false",
2463
- "description": "Since Stencil boolean props default to `false` when the attribute is missing.\ninstead of `open` defaulting to `true`, using a `closed` prop.",
2449
+ "description": "Whether the checkbox is checked",
2464
2450
  "type": {
2465
2451
  "text": "boolean"
2466
2452
  }
2467
2453
  },
2468
2454
  {
2469
- "name": "scroll-down",
2470
- "fieldName": "scrollDown",
2455
+ "name": "disabled",
2456
+ "fieldName": "disabled",
2471
2457
  "default": "false",
2472
- "description": "Whether the content should scroll down from the top when open.",
2458
+ "description": "Whether the checkbox is disabled",
2473
2459
  "type": {
2474
2460
  "text": "boolean"
2475
2461
  }
2476
2462
  },
2477
2463
  {
2478
- "name": "no-fading",
2479
- "fieldName": "noFading",
2480
- "default": "false",
2481
- "description": "Stop fading the content when collapsing/expanding.",
2464
+ "name": "name",
2465
+ "fieldName": "name",
2466
+ "description": "The name of the checkbox input",
2482
2467
  "type": {
2483
- "text": "boolean"
2468
+ "text": "string"
2484
2469
  }
2485
2470
  },
2486
2471
  {
2487
- "name": "collapse-on-header-shrink",
2488
- "fieldName": "collapseOnHeaderShrink",
2489
- "default": "false",
2490
- "description": "If true, collapse/expand based on the nearest header shrink event.",
2472
+ "name": "value",
2473
+ "fieldName": "value",
2474
+ "description": "The value of the checkbox input",
2491
2475
  "type": {
2492
- "text": "boolean"
2476
+ "text": "string"
2477
+ }
2478
+ },
2479
+ {
2480
+ "name": "external-id",
2481
+ "fieldName": "externalId",
2482
+ "description": "External ID for linking with external systems (e.g. database ID, PDF form field ID)",
2483
+ "type": {
2484
+ "text": "string"
2493
2485
  }
2494
2486
  }
2495
2487
  ],
2496
- "tagName": "le-collapse",
2497
- "events": [],
2488
+ "tagName": "le-checkbox",
2489
+ "events": [
2490
+ {
2491
+ "name": "change",
2492
+ "type": {
2493
+ "text": "EventEmitter<{ checked: boolean; value: string; name: string; externalId: string }>"
2494
+ },
2495
+ "description": "Emitted when the checked state changes"
2496
+ }
2497
+ ],
2498
2498
  "customElement": true
2499
2499
  }
2500
2500
  ],
2501
2501
  "exports": [
2502
2502
  {
2503
2503
  "kind": "js",
2504
- "name": "LeCollapse",
2504
+ "name": "LeCheckbox",
2505
2505
  "declaration": {
2506
- "name": "LeCollapse",
2507
- "module": "src/components/le-collapse/le-collapse.tsx"
2506
+ "name": "LeCheckbox",
2507
+ "module": "src/components/le-checkbox/le-checkbox.tsx"
2508
2508
  }
2509
2509
  },
2510
2510
  {
2511
2511
  "kind": "custom-element-definition",
2512
- "name": "le-collapse",
2512
+ "name": "le-checkbox",
2513
2513
  "declaration": {
2514
- "name": "LeCollapse",
2515
- "module": "src/components/le-collapse/le-collapse.tsx"
2514
+ "name": "LeCheckbox",
2515
+ "module": "src/components/le-checkbox/le-checkbox.tsx"
2516
2516
  }
2517
2517
  }
2518
2518
  ]