@logosphere-ui/core 0.0.0-alpha.40 → 0.0.0-alpha.43

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 (129) hide show
  1. package/AGENTS.md +18 -62
  2. package/dist/AGENTS.md +18 -62
  3. package/dist/atoms/Checkbox/checkbox.d.ts +2 -11
  4. package/dist/atoms/FormField/formfield.d.ts +0 -2
  5. package/dist/{badge-B0Bj-HAT.js → badge-DsDxWEHx.js} +20 -20
  6. package/dist/{badge-DWkKpZTX.cjs → badge-DvaKpUHe.cjs} +1 -1
  7. package/dist/badge.cjs +1 -1
  8. package/dist/badge.js +1 -1
  9. package/dist/breadcrumb-BB61Xt0s.js +41 -0
  10. package/dist/breadcrumb-Cop-B1J7.cjs +12 -0
  11. package/dist/breadcrumb.cjs +1 -1
  12. package/dist/breadcrumb.js +1 -1
  13. package/dist/button-DRZ4sG4T.cjs +10 -0
  14. package/dist/button-Uu9oaieg.js +58 -0
  15. package/dist/button.cjs +1 -1
  16. package/dist/button.js +1 -1
  17. package/dist/{calendar-DcDT4o-U.cjs → calendar-CIgyrv3U.cjs} +1 -1
  18. package/dist/{calendar-DsriSHZ4.js → calendar-CZ_IN2TF.js} +1 -1
  19. package/dist/calendar.cjs +1 -1
  20. package/dist/calendar.js +1 -1
  21. package/dist/card-BOCW7gad.cjs +43 -0
  22. package/dist/{card-R_cKrdHK.js → card-MDwFGplY.js} +3 -3
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/chatbot-B-NiZIYK.cjs +183 -0
  26. package/dist/{chatbot-yup4Nz00.js → chatbot-CHgiUY4h.js} +13 -13
  27. package/dist/chatbot.cjs +1 -1
  28. package/dist/chatbot.js +1 -1
  29. package/dist/checkbox-CX0LgsWP.js +148 -0
  30. package/dist/checkbox-DpbKHANK.cjs +53 -0
  31. package/dist/checkbox.cjs +1 -1
  32. package/dist/checkbox.js +1 -1
  33. package/dist/{chip-group-CC5RBhN_.js → chip-group-BUL2H8rr.js} +1 -1
  34. package/dist/{chip-group-BqYKZKmu.cjs → chip-group-CpcjGoRm.cjs} +1 -1
  35. package/dist/chip-group.cjs +1 -1
  36. package/dist/chip-group.js +1 -1
  37. package/dist/combobox-BmIFPk8X.cjs +113 -0
  38. package/dist/{combobox-Nxhk75IH.js → combobox-jak7Ac1m.js} +8 -31
  39. package/dist/combobox.cjs +1 -1
  40. package/dist/combobox.js +1 -1
  41. package/dist/{datepicker-BExZseRQ.js → datepicker-BgysIOZI.js} +51 -58
  42. package/dist/datepicker-DOBmbxlo.cjs +85 -0
  43. package/dist/datepicker.cjs +1 -1
  44. package/dist/datepicker.js +1 -1
  45. package/dist/{drawer-DBrOkz0z.cjs → drawer-3nyjAkcS.cjs} +2 -2
  46. package/dist/{drawer-DHsESNFL.js → drawer-CE9zzllI.js} +3 -3
  47. package/dist/drawer.cjs +1 -1
  48. package/dist/drawer.js +1 -1
  49. package/dist/formfield-CRcyUMvQ.cjs +33 -0
  50. package/dist/{formfield-ss2mFweu.js → formfield-O327HYt0.js} +52 -59
  51. package/dist/formfield.cjs +1 -1
  52. package/dist/formfield.js +1 -1
  53. package/dist/index.cjs +7 -7
  54. package/dist/index.d.ts +0 -1
  55. package/dist/index.js +59 -60
  56. package/dist/index.umd.js +145 -146
  57. package/dist/input-CQS0LzF-.cjs +59 -0
  58. package/dist/input-CeF3YJk-.js +257 -0
  59. package/dist/input.cjs +1 -1
  60. package/dist/input.js +1 -1
  61. package/dist/left-menu.cjs +1 -1
  62. package/dist/left-menu.js +1 -1
  63. package/dist/{leftmenu-CMx2K5Ws.js → leftmenu-CmWvnA6L.js} +4 -4
  64. package/dist/{leftmenu-DCfTelzi.cjs → leftmenu-p9aR2QTy.cjs} +1 -1
  65. package/dist/{modal-DNjURVZy.js → modal-DUIv_yoo.js} +4 -4
  66. package/dist/modal-dUnnHe8u.cjs +84 -0
  67. package/dist/modal.cjs +1 -1
  68. package/dist/modal.js +1 -1
  69. package/dist/molecules/Input/input.d.ts +0 -17
  70. package/dist/organisms/Combobox/combobox.d.ts +0 -9
  71. package/dist/organisms/DatePicker/datepicker.d.ts +0 -2
  72. package/dist/{pagination-B91sZD5E.js → pagination-B7jknoOz.js} +61 -61
  73. package/dist/pagination-BkqbWBOn.cjs +169 -0
  74. package/dist/pagination.cjs +1 -1
  75. package/dist/pagination.js +1 -1
  76. package/dist/popover-CYDoeLKp.cjs +30 -0
  77. package/dist/{popover-CSgoaROl.js → popover-DDaG8MSj.js} +28 -28
  78. package/dist/popover.cjs +1 -1
  79. package/dist/popover.js +1 -1
  80. package/dist/{switch-Do6SCkPJ.cjs → switch-8RGGesy5.cjs} +2 -2
  81. package/dist/{switch-uYVuohJ-.js → switch-DNqPqH-R.js} +21 -25
  82. package/dist/switch.cjs +1 -1
  83. package/dist/switch.js +1 -1
  84. package/dist/tab-CDMcFHvP.cjs +41 -0
  85. package/dist/{tab-Byh4UgFB.js → tab-CuBCFGoO.js} +1 -1
  86. package/dist/tab.cjs +1 -1
  87. package/dist/tab.js +1 -1
  88. package/dist/{text-area-CHkrGi3S.js → text-area-C73JxnqH.js} +12 -16
  89. package/dist/text-area-Cprb-azV.cjs +51 -0
  90. package/dist/textarea.cjs +1 -1
  91. package/dist/textarea.js +1 -1
  92. package/dist/{timepicker-Co7lW5Rp.cjs → timepicker-CLJKWWGm.cjs} +1 -1
  93. package/dist/{timepicker-CAat7fcK.js → timepicker-DMzGYd0p.js} +2 -6
  94. package/dist/timepicker.cjs +1 -1
  95. package/dist/timepicker.js +1 -1
  96. package/dist/toast-container-6t6yEP9Y.cjs +64 -0
  97. package/dist/{toast-container-DxFwLT5S.js → toast-container-B5v74b_5.js} +4 -4
  98. package/dist/toast.cjs +1 -1
  99. package/dist/toast.js +1 -1
  100. package/dist/{tree-menu-Psek8QB9.js → tree-menu-CkOPxr-W.js} +2 -2
  101. package/dist/tree-menu-WNwZMreD.cjs +47 -0
  102. package/dist/tree-menu.cjs +1 -1
  103. package/dist/tree-menu.js +1 -1
  104. package/dist/{ui-icon-Ckljc9hg.js → ui-icon-BMJNdIOq.js} +0 -3
  105. package/dist/{ui-icon-Cd5YhUeQ.cjs → ui-icon-DIucAQC_.cjs} +3 -3
  106. package/package.json +1 -6
  107. package/dist/breadcrumb-BOuCLUJh.cjs +0 -12
  108. package/dist/breadcrumb-BeJqq-5C.js +0 -41
  109. package/dist/button-MBxtvVqn.cjs +0 -10
  110. package/dist/button-QWCkFTeJ.js +0 -58
  111. package/dist/card-BUWvno93.cjs +0 -43
  112. package/dist/chatbot-BPVC2wqM.cjs +0 -183
  113. package/dist/checkbox-BAbPDN6x.cjs +0 -53
  114. package/dist/checkbox-CTfbav6M.js +0 -152
  115. package/dist/combobox-Bah9Akr-.cjs +0 -113
  116. package/dist/datepicker-BOQ13sIm.cjs +0 -85
  117. package/dist/formfield-JXiv9mvJ.cjs +0 -33
  118. package/dist/icon.cjs +0 -1
  119. package/dist/icon.js +0 -4
  120. package/dist/input-D9lFcDHU.js +0 -278
  121. package/dist/input-Dg-jos9u.cjs +0 -60
  122. package/dist/modal-BJNCTlBX.cjs +0 -84
  123. package/dist/pagination-Cnh-o-Nq.cjs +0 -169
  124. package/dist/popover-DwDyLpQq.cjs +0 -30
  125. package/dist/shared/icons/index.d.ts +0 -1
  126. package/dist/tab-BvRVHpWs.cjs +0 -41
  127. package/dist/text-area-DvOiCcKP.cjs +0 -51
  128. package/dist/toast-container-aY1lGjRi.cjs +0 -64
  129. package/dist/tree-menu-Dqy14_m2.cjs +0 -47
package/AGENTS.md CHANGED
@@ -36,45 +36,6 @@ import "@logosphere-ui/core/input";
36
36
  | **Hata/yardım** | `error="..."` ve `helper="..."` prop'ları tüm form bileşenlerinde mevcuttur |
37
37
  | **Disabled/Readonly** | Tüm form bileşenlerinde `disabled` ve `readonly` boolean prop'ları bulunur |
38
38
  | **Event dinleme** | `element.addEventListener("change", handler)` veya inline `@change=${handler}` (Lit) |
39
- | **Birleşik event** | Form bileşenleri (Input, Textarea, Checkbox, Switch, Combobox, DatePicker, TimePicker) ek olarak **`lgsChange`** yayınlar → `detail: { value?, checked?, selected? }`. Bileşene özel eski event'ler aynen korunur |
40
-
41
- ---
42
-
43
- ## Tema: Bileşen Token Katmanı
44
-
45
- Global token'ları (`--color-secondary`, `--spacing-4` vb.) `:root`'ta ezmek **tüm** bileşenleri etkiler. Tek bir bileşeni tema'lamak için aşağıdaki bileşen token'larını kullanın — hepsi ilgili global token'a fallback yapar; hiçbirini tanımlamazsanız davranış değişmez.
46
-
47
- ```css
48
- /* Örnek: sadece pagination'ı tema'la, diğer bileşenlere dokunma */
49
- logosphere-pagination {
50
- --pagination-color: #0a58ca;
51
- --pagination-padding: 8px 12px;
52
- }
53
-
54
- /* Örnek: eski tasarımın 36px form alanı */
55
- logosphere-input { --formfield-min-height: 36px; --input-field-height: 20px; }
56
-
57
- /* Örnek: focus'ta border rengi değişmesin */
58
- logosphere-input { --formfield-border-color-focus: var(--color-border); }
59
-
60
- /* Örnek: alan koyu, takvim popup'ı beyaz kalsın */
61
- logosphere-datepicker { --color-body-bg: #1e1e1e; --datepicker-popup-bg: #ffffff; }
62
- ```
63
-
64
- | Bileşen | Token | Fallback |
65
- |---------|-------|----------|
66
- | FormField | `--formfield-min-height` / `--formfield-min-height-large` | `32px` / `40px` |
67
- | FormField | `--formfield-border-color` / `--formfield-border-color-focus` | `--color-border` / `--color-body-text` |
68
- | FormField | `--formfield-border-radius`, `--formfield-border-{top,right,bottom,left}[-width]` | `--radius-base`, `1px solid` |
69
- | Input | `--input-field-height` / `--input-field-height-large` | `16px` / `24px` |
70
- | DatePicker | `--datepicker-popup-bg` / `--datepicker-popup-border-color` | `--color-body-bg` / `--color-border` |
71
- | Pagination | `--pagination-color` / `--pagination-color-disabled` | `--color-secondary` / `--color-secondary-disabled` |
72
- | Pagination | `--pagination-bg` / `--pagination-item-bg` / `--pagination-item-bg-hover` | `--color-body-bg` / `--color-body-bg` / `--color-body-bg-hover` |
73
- | Pagination | `--pagination-active-bg` / `--pagination-active-color` | `--color-secondary` / `white` |
74
- | Pagination | `--pagination-padding` | `--spacing-4 --spacing-6` (mobil: `--spacing-3 --spacing-4`) |
75
- | Badge (default varyant) | `--badge-bg` / `--badge-color` | `--color-light-bg-2` / `--color-secondary` |
76
- | Chatbot | `--chatbot-bg` / `--chatbot-color` | `--color-body-bg` / `--color-secondary` |
77
- | Combobox | `--combobox-tag-bg` / `--combobox-tag-color` / `--combobox-clear-color` | `--color-light` / `--color-body-text` / `--color-secondary` |
78
39
 
79
40
  ---
80
41
 
@@ -166,8 +127,6 @@ Onay kutusu, toggle switch veya radio buton.
166
127
 
167
128
  **Events:** `lgsChange` → `detail: { checked, indeterminate, value }`
168
129
 
169
- > **Kontrollü kullanım:** `checked` property'sine yapılan her dış atama — değer öncekiyle aynı olsa bile — görsel state'i prop'a senkronlar. Parent bir seçimi reddederse (`lgsChange` sonrası `checked`'ı değişmeyen değerle yeniden atarsa) bileşen görsel olarak geri döner; iki radio'nun birden seçili kalması engellenir.
170
-
171
130
  ```html
172
131
  <logosphere-checkbox label="Beni hatırla" value="remember"></logosphere-checkbox>
173
132
 
@@ -200,7 +159,7 @@ Bağımsız toggle switch.
200
159
  | `disabled` | `boolean` | `false` | Devre dışı |
201
160
  | `size` | `"sm" \| "md"` | `"md"` | Boyut |
202
161
 
203
- **Events:** `change` → `detail: { checked }`, `lgsChange` → `detail: { checked }`
162
+ **Events:** `change` → `detail: { checked }`
204
163
 
205
164
  ```html
206
165
  <logosphere-switch></logosphere-switch>
@@ -254,9 +213,6 @@ Metin girişi; maske, parola, temizle ve tüm formfield özellikleri.
254
213
  | `placeholder` | `string` | `""` | Yer tutucu |
255
214
  | `name` | `string` | `""` | Form adı |
256
215
  | `mask` | `string` | `""` | Giriş maskesi: `0`=rakam, `a`=harf, `*`=rakam/harf, diğerleri literal. Örn: `"(000) 000-0000"`, `"00/00/0000"`, `"00:00"` |
257
- | `showPasswordToggle` | `boolean` | `true` | `type="password"` iken göster/gizle butonunu render et (attribute: `show-password-toggle`). Şifrenin hiç gösterilmemesi gereken ekranlarda `false` verin |
258
- | `suppressNativeValidation` | `boolean` | `false` | Tarayıcının yerel (dil bağımlı) `validationMessage`'ının iç hata olarak gösterilmesini kapatır (attribute: `suppress-native-validation`). Uygulama kendi hata metnini yönetiyorsa açın |
259
- | `errorDisplay` | `"always" \| "on-invalid"` | `"always"` | Hata gösterim modu (attribute: `error-display`). `"on-invalid"`: hata yalnızca alan geçersizken görünür — blur/change'de doğrulanır, yazarken temizlenir (vaadin semantiği) |
260
216
  | `label` | `string` | `""` | Etiket |
261
217
  | `helper` | `string` | `""` | Yardım metni |
262
218
  | `error` | `string` | `""` | Hata mesajı |
@@ -344,7 +300,7 @@ Metin girişi; maske, parola, temizle ve tüm formfield özellikleri.
344
300
  | `size` | `"default" \| "large"` | `"default"` | Boyut |
345
301
  | `variant` | `"default" \| "subtle"` | `"default"` | Stil |
346
302
 
347
- **Events:** `input`, `change`, `clear`, `keydown`, `keyup`, `lgsChange` → `detail: { value }`
303
+ **Events:** `input`, `change`, `clear`, `keydown`, `keyup`
348
304
 
349
305
  ```html
350
306
  <!-- Temel kullanım -->
@@ -392,7 +348,7 @@ Başlık, içerik ve ayak bölümü olan kart.
392
348
 
393
349
  | Property | Tip | Varsayılan | Açıklama |
394
350
  |----------|-----|-----------|---------|
395
- | `title` | `string` | `""` | Kart başlığı |
351
+ | `title` | `string` | `""` | Kart başlığı (attribute: `card-title`) |
396
352
  | `description` | `string` | `""` | Başlık altı açıklama |
397
353
  | `header` | `boolean` | `true` | Başlık bölümünü göster |
398
354
  | `footer` | `boolean` | `true` | Ayak bölümünü göster |
@@ -407,13 +363,13 @@ Başlık, içerik ve ayak bölümü olan kart.
407
363
 
408
364
  ```html
409
365
  <!-- Temel kart -->
410
- <logosphere-card title="Kullanıcı Bilgileri" description="Profil bilgilerinizi güncelleyin">
366
+ <logosphere-card card-title="Kullanıcı Bilgileri" description="Profil bilgilerinizi güncelleyin">
411
367
  <logosphere-input label="Ad" placeholder="Adınızı girin"></logosphere-input>
412
368
  <logosphere-input label="E-posta" type="email"></logosphere-input>
413
369
  </logosphere-card>
414
370
 
415
371
  <!-- Onay diyaloğu gibi -->
416
- <logosphere-card title="Emin misiniz?" okLabel="Evet, Sil" cancelLabel="Hayır">
372
+ <logosphere-card card-title="Emin misiniz?" okLabel="Evet, Sil" cancelLabel="Hayır">
417
373
  Bu işlem geri alınamaz.
418
374
  </logosphere-card>
419
375
 
@@ -433,7 +389,7 @@ Tetikleyici elemana konumlanmış açılır panel.
433
389
 
434
390
  | Property | Tip | Varsayılan | Açıklama |
435
391
  |----------|-----|-----------|---------|
436
- | `title` | `string` | `""` | Popover başlığı |
392
+ | `title` | `string` | `""` | Popover başlığı (attribute: `popover-title`) |
437
393
  | `trigger` | `"click" \| "hover"` | `"click"` | Açılma tetikleyicisi |
438
394
  | `placement` | Popper Placement | `"bottom"` | Konum (`"top"`, `"bottom"`, `"left"`, `"right"`, `"bottom-start"` vb.) |
439
395
  | `offset` | `number` | `8` | Tetikleyiciden mesafe (px) |
@@ -445,7 +401,7 @@ Tetikleyici elemana konumlanmış açılır panel.
445
401
  **Slots:** `trigger` (tetikleyici element), varsayılan (panel içeriği)
446
402
 
447
403
  ```html
448
- <logosphere-popover title="Yardım">
404
+ <logosphere-popover popover-title="Yardım">
449
405
  <logosphere-button slot="trigger" variant="outline">?</logosphere-button>
450
406
  Bu alan, kullanıcının tam adını içermelidir.
451
407
  </logosphere-popover>
@@ -473,7 +429,7 @@ Tetikleyici elemana konumlanmış açılır panel.
473
429
  | `variant` | `"default" \| "subtle"` | `"default"` | Stil |
474
430
  | `onChange` | `(value: string) => void` | — | Değişim callback'i (attribute değil) |
475
431
 
476
- **Events:** `change` → `detail: { value }`, `clear`, `lgsChange` → `detail: { value }`
432
+ **Events:** `change` → `detail: { value }`, `clear`
477
433
 
478
434
  ```html
479
435
  <!-- Temel kullanım -->
@@ -528,7 +484,7 @@ Seçim kutusu: tekli/çoklu seçim, filtreleme, tag desteği.
528
484
 
529
485
  **Public Metotlar:** `selectedItems()` → seçili öğe dizisi, `isSelected(item)`, `setSelected(items[])`
530
486
 
531
- **Events:** `selected` → `detail: { selected }`, `change` → `detail: { value }`, `lgsChange` → `detail: { value, selected }` (value = primitive `optionValue` değer(ler)i)
487
+ **Events:** `selected` → `detail: { selected }`, `change` → `detail: { value }`
532
488
 
533
489
  ```html
534
490
  <logosphere-combobox
@@ -585,7 +541,7 @@ Tarih seçici; manuel yazma ve takvim popup'ı. `dayjs` tabanlı.
585
541
  | `onChange` | `(value: string) => void` | — | Değişim callback'i |
586
542
  | `onRangeChange` | `(range) => void` | — | Aralık callback'i |
587
543
 
588
- **Events:** `change` → `detail: { value }`, `rangeChange` → `detail: { start, end }`, `lgsChange` → `detail: { value }`
544
+ **Events:** `change` → `detail: { value }`, `rangeChange` → `detail: { start, end }`
589
545
 
590
546
  ```html
591
547
  <!-- Temel kullanım -->
@@ -649,7 +605,7 @@ Tam ekran arka planlı modal diyalog.
649
605
  | Property | Tip | Varsayılan | Açıklama |
650
606
  |----------|-----|-----------|---------|
651
607
  | `open` | `boolean` | `false` | Açık mı (reflect) |
652
- | `title` | `string` | `""` | Modal başlığı |
608
+ | `title` | `string` | `""` | Modal başlığı (attribute: `modal-title`) |
653
609
  | `closeOnEsc` | `boolean` | `true` | Esc ile kapat |
654
610
  | `closeOnBackdrop` | `boolean` | `true` | Arka plana tıklayınca kapat |
655
611
  | `showBack` | `boolean` | `false` | Geri butonu göster |
@@ -662,7 +618,7 @@ Tam ekran arka planlı modal diyalog.
662
618
  **Slots:** `header`, varsayılan (gövde), `footer`
663
619
 
664
620
  ```html
665
- <logosphere-modal id="my-modal" title="Düzenle" showClose>
621
+ <logosphere-modal id="my-modal" modal-title="Düzenle" showClose>
666
622
  <logosphere-input label="Ad"></logosphere-input>
667
623
  <div slot="footer">
668
624
  <logosphere-button variant="outline" id="cancel-btn">İptal</logosphere-button>
@@ -686,7 +642,7 @@ Yan panel; sağdan veya soldan açılır.
686
642
  | Property | Tip | Varsayılan | Açıklama |
687
643
  |----------|-----|-----------|---------|
688
644
  | `open` | `boolean` | `false` | Açık mı (reflect) |
689
- | `title` | `string` | `""` | Panel başlığı |
645
+ | `title` | `string` | `""` | Panel başlığı (attribute: `drawer-title`) |
690
646
  | `position` | `"left" \| "right"` | `"right"` | Hangi taraftan açılsın |
691
647
  | `width` | `number` | `360` | Genişlik (px) |
692
648
  | `closeOnEsc` | `boolean` | `true` | Esc ile kapat |
@@ -699,7 +655,7 @@ Yan panel; sağdan veya soldan açılır.
699
655
  **Slots:** `trigger` (açma butonu), varsayılan (panel gövdesi)
700
656
 
701
657
  ```html
702
- <logosphere-drawer title="Filtreler" position="right" width="400">
658
+ <logosphere-drawer drawer-title="Filtreler" position="right" width="400">
703
659
  <logosphere-button slot="trigger" variant="outline">
704
660
  Filtreleri Aç
705
661
  </logosphere-button>
@@ -721,7 +677,7 @@ Bildirim mesajı. Genellikle doğrudan kullanmak yerine `ToastService` kullanıl
721
677
  | Property | Tip | Varsayılan | Açıklama |
722
678
  |----------|-----|-----------|---------|
723
679
  | `type` | `"info" \| "success" \| "warning" \| "danger"` | `"info"` | Ikon/renk tipi |
724
- | `title` | `string` | `""` | Başlık |
680
+ | `title` | `string` | `""` | Başlık (attribute: `toast-title`) |
725
681
  | `text` | `string` | `""` | Açıklama metni |
726
682
  | `icon` | `string` | `""` | Özel ikon adı |
727
683
  | `closeable` | `boolean` | `true` | Manuel kapatma butonu |
@@ -961,7 +917,7 @@ SVG ikon bileşeni. `icon-map.ts`'deki kayıtlı ikonları isimle render eder.
961
917
 
962
918
  ```html
963
919
  <div style="min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--color-body-bg)">
964
- <logosphere-card title="Giriş Yap" description="Hesabınıza erişin" style="width:400px">
920
+ <logosphere-card card-title="Giriş Yap" description="Hesabınıza erişin" style="width:400px">
965
921
  <div style="display:flex; flex-direction:column; gap:16px">
966
922
  <logosphere-input
967
923
  type="email"
@@ -995,7 +951,7 @@ SVG ikon bileşeni. `icon-map.ts`'deki kayıtlı ikonları isimle render eder.
995
951
  <ui-icon slot="prefix" name="uil-search" size="16"></ui-icon>
996
952
  </logosphere-input>
997
953
 
998
- <logosphere-drawer title="Filtreler" position="right">
954
+ <logosphere-drawer drawer-title="Filtreler" position="right">
999
955
  <logosphere-button slot="trigger" variant="outline">Filtre</logosphere-button>
1000
956
 
1001
957
  <div style="display:flex; flex-direction:column; gap:12px; padding:16px">
@@ -1085,7 +1041,7 @@ SVG ikon bileşeni. `icon-map.ts`'deki kayıtlı ikonları isimle render eder.
1085
1041
  ### Silme Onay Modalı
1086
1042
 
1087
1043
  ```html
1088
- <logosphere-modal id="delete-modal" title="Kaydı Sil" showClose closeOnEsc>
1044
+ <logosphere-modal id="delete-modal" modal-title="Kaydı Sil" showClose closeOnEsc>
1089
1045
  <p>Bu kaydı silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.</p>
1090
1046
 
1091
1047
  <div slot="footer" style="display:flex; gap:8px; justify-content:flex-end">
package/dist/AGENTS.md CHANGED
@@ -36,45 +36,6 @@ import "@logosphere-ui/core/input";
36
36
  | **Hata/yardım** | `error="..."` ve `helper="..."` prop'ları tüm form bileşenlerinde mevcuttur |
37
37
  | **Disabled/Readonly** | Tüm form bileşenlerinde `disabled` ve `readonly` boolean prop'ları bulunur |
38
38
  | **Event dinleme** | `element.addEventListener("change", handler)` veya inline `@change=${handler}` (Lit) |
39
- | **Birleşik event** | Form bileşenleri (Input, Textarea, Checkbox, Switch, Combobox, DatePicker, TimePicker) ek olarak **`lgsChange`** yayınlar → `detail: { value?, checked?, selected? }`. Bileşene özel eski event'ler aynen korunur |
40
-
41
- ---
42
-
43
- ## Tema: Bileşen Token Katmanı
44
-
45
- Global token'ları (`--color-secondary`, `--spacing-4` vb.) `:root`'ta ezmek **tüm** bileşenleri etkiler. Tek bir bileşeni tema'lamak için aşağıdaki bileşen token'larını kullanın — hepsi ilgili global token'a fallback yapar; hiçbirini tanımlamazsanız davranış değişmez.
46
-
47
- ```css
48
- /* Örnek: sadece pagination'ı tema'la, diğer bileşenlere dokunma */
49
- logosphere-pagination {
50
- --pagination-color: #0a58ca;
51
- --pagination-padding: 8px 12px;
52
- }
53
-
54
- /* Örnek: eski tasarımın 36px form alanı */
55
- logosphere-input { --formfield-min-height: 36px; --input-field-height: 20px; }
56
-
57
- /* Örnek: focus'ta border rengi değişmesin */
58
- logosphere-input { --formfield-border-color-focus: var(--color-border); }
59
-
60
- /* Örnek: alan koyu, takvim popup'ı beyaz kalsın */
61
- logosphere-datepicker { --color-body-bg: #1e1e1e; --datepicker-popup-bg: #ffffff; }
62
- ```
63
-
64
- | Bileşen | Token | Fallback |
65
- |---------|-------|----------|
66
- | FormField | `--formfield-min-height` / `--formfield-min-height-large` | `32px` / `40px` |
67
- | FormField | `--formfield-border-color` / `--formfield-border-color-focus` | `--color-border` / `--color-body-text` |
68
- | FormField | `--formfield-border-radius`, `--formfield-border-{top,right,bottom,left}[-width]` | `--radius-base`, `1px solid` |
69
- | Input | `--input-field-height` / `--input-field-height-large` | `16px` / `24px` |
70
- | DatePicker | `--datepicker-popup-bg` / `--datepicker-popup-border-color` | `--color-body-bg` / `--color-border` |
71
- | Pagination | `--pagination-color` / `--pagination-color-disabled` | `--color-secondary` / `--color-secondary-disabled` |
72
- | Pagination | `--pagination-bg` / `--pagination-item-bg` / `--pagination-item-bg-hover` | `--color-body-bg` / `--color-body-bg` / `--color-body-bg-hover` |
73
- | Pagination | `--pagination-active-bg` / `--pagination-active-color` | `--color-secondary` / `white` |
74
- | Pagination | `--pagination-padding` | `--spacing-4 --spacing-6` (mobil: `--spacing-3 --spacing-4`) |
75
- | Badge (default varyant) | `--badge-bg` / `--badge-color` | `--color-light-bg-2` / `--color-secondary` |
76
- | Chatbot | `--chatbot-bg` / `--chatbot-color` | `--color-body-bg` / `--color-secondary` |
77
- | Combobox | `--combobox-tag-bg` / `--combobox-tag-color` / `--combobox-clear-color` | `--color-light` / `--color-body-text` / `--color-secondary` |
78
39
 
79
40
  ---
80
41
 
@@ -166,8 +127,6 @@ Onay kutusu, toggle switch veya radio buton.
166
127
 
167
128
  **Events:** `lgsChange` → `detail: { checked, indeterminate, value }`
168
129
 
169
- > **Kontrollü kullanım:** `checked` property'sine yapılan her dış atama — değer öncekiyle aynı olsa bile — görsel state'i prop'a senkronlar. Parent bir seçimi reddederse (`lgsChange` sonrası `checked`'ı değişmeyen değerle yeniden atarsa) bileşen görsel olarak geri döner; iki radio'nun birden seçili kalması engellenir.
170
-
171
130
  ```html
172
131
  <logosphere-checkbox label="Beni hatırla" value="remember"></logosphere-checkbox>
173
132
 
@@ -200,7 +159,7 @@ Bağımsız toggle switch.
200
159
  | `disabled` | `boolean` | `false` | Devre dışı |
201
160
  | `size` | `"sm" \| "md"` | `"md"` | Boyut |
202
161
 
203
- **Events:** `change` → `detail: { checked }`, `lgsChange` → `detail: { checked }`
162
+ **Events:** `change` → `detail: { checked }`
204
163
 
205
164
  ```html
206
165
  <logosphere-switch></logosphere-switch>
@@ -254,9 +213,6 @@ Metin girişi; maske, parola, temizle ve tüm formfield özellikleri.
254
213
  | `placeholder` | `string` | `""` | Yer tutucu |
255
214
  | `name` | `string` | `""` | Form adı |
256
215
  | `mask` | `string` | `""` | Giriş maskesi: `0`=rakam, `a`=harf, `*`=rakam/harf, diğerleri literal. Örn: `"(000) 000-0000"`, `"00/00/0000"`, `"00:00"` |
257
- | `showPasswordToggle` | `boolean` | `true` | `type="password"` iken göster/gizle butonunu render et (attribute: `show-password-toggle`). Şifrenin hiç gösterilmemesi gereken ekranlarda `false` verin |
258
- | `suppressNativeValidation` | `boolean` | `false` | Tarayıcının yerel (dil bağımlı) `validationMessage`'ının iç hata olarak gösterilmesini kapatır (attribute: `suppress-native-validation`). Uygulama kendi hata metnini yönetiyorsa açın |
259
- | `errorDisplay` | `"always" \| "on-invalid"` | `"always"` | Hata gösterim modu (attribute: `error-display`). `"on-invalid"`: hata yalnızca alan geçersizken görünür — blur/change'de doğrulanır, yazarken temizlenir (vaadin semantiği) |
260
216
  | `label` | `string` | `""` | Etiket |
261
217
  | `helper` | `string` | `""` | Yardım metni |
262
218
  | `error` | `string` | `""` | Hata mesajı |
@@ -344,7 +300,7 @@ Metin girişi; maske, parola, temizle ve tüm formfield özellikleri.
344
300
  | `size` | `"default" \| "large"` | `"default"` | Boyut |
345
301
  | `variant` | `"default" \| "subtle"` | `"default"` | Stil |
346
302
 
347
- **Events:** `input`, `change`, `clear`, `keydown`, `keyup`, `lgsChange` → `detail: { value }`
303
+ **Events:** `input`, `change`, `clear`, `keydown`, `keyup`
348
304
 
349
305
  ```html
350
306
  <!-- Temel kullanım -->
@@ -392,7 +348,7 @@ Başlık, içerik ve ayak bölümü olan kart.
392
348
 
393
349
  | Property | Tip | Varsayılan | Açıklama |
394
350
  |----------|-----|-----------|---------|
395
- | `title` | `string` | `""` | Kart başlığı |
351
+ | `title` | `string` | `""` | Kart başlığı (attribute: `card-title`) |
396
352
  | `description` | `string` | `""` | Başlık altı açıklama |
397
353
  | `header` | `boolean` | `true` | Başlık bölümünü göster |
398
354
  | `footer` | `boolean` | `true` | Ayak bölümünü göster |
@@ -407,13 +363,13 @@ Başlık, içerik ve ayak bölümü olan kart.
407
363
 
408
364
  ```html
409
365
  <!-- Temel kart -->
410
- <logosphere-card title="Kullanıcı Bilgileri" description="Profil bilgilerinizi güncelleyin">
366
+ <logosphere-card card-title="Kullanıcı Bilgileri" description="Profil bilgilerinizi güncelleyin">
411
367
  <logosphere-input label="Ad" placeholder="Adınızı girin"></logosphere-input>
412
368
  <logosphere-input label="E-posta" type="email"></logosphere-input>
413
369
  </logosphere-card>
414
370
 
415
371
  <!-- Onay diyaloğu gibi -->
416
- <logosphere-card title="Emin misiniz?" okLabel="Evet, Sil" cancelLabel="Hayır">
372
+ <logosphere-card card-title="Emin misiniz?" okLabel="Evet, Sil" cancelLabel="Hayır">
417
373
  Bu işlem geri alınamaz.
418
374
  </logosphere-card>
419
375
 
@@ -433,7 +389,7 @@ Tetikleyici elemana konumlanmış açılır panel.
433
389
 
434
390
  | Property | Tip | Varsayılan | Açıklama |
435
391
  |----------|-----|-----------|---------|
436
- | `title` | `string` | `""` | Popover başlığı |
392
+ | `title` | `string` | `""` | Popover başlığı (attribute: `popover-title`) |
437
393
  | `trigger` | `"click" \| "hover"` | `"click"` | Açılma tetikleyicisi |
438
394
  | `placement` | Popper Placement | `"bottom"` | Konum (`"top"`, `"bottom"`, `"left"`, `"right"`, `"bottom-start"` vb.) |
439
395
  | `offset` | `number` | `8` | Tetikleyiciden mesafe (px) |
@@ -445,7 +401,7 @@ Tetikleyici elemana konumlanmış açılır panel.
445
401
  **Slots:** `trigger` (tetikleyici element), varsayılan (panel içeriği)
446
402
 
447
403
  ```html
448
- <logosphere-popover title="Yardım">
404
+ <logosphere-popover popover-title="Yardım">
449
405
  <logosphere-button slot="trigger" variant="outline">?</logosphere-button>
450
406
  Bu alan, kullanıcının tam adını içermelidir.
451
407
  </logosphere-popover>
@@ -473,7 +429,7 @@ Tetikleyici elemana konumlanmış açılır panel.
473
429
  | `variant` | `"default" \| "subtle"` | `"default"` | Stil |
474
430
  | `onChange` | `(value: string) => void` | — | Değişim callback'i (attribute değil) |
475
431
 
476
- **Events:** `change` → `detail: { value }`, `clear`, `lgsChange` → `detail: { value }`
432
+ **Events:** `change` → `detail: { value }`, `clear`
477
433
 
478
434
  ```html
479
435
  <!-- Temel kullanım -->
@@ -528,7 +484,7 @@ Seçim kutusu: tekli/çoklu seçim, filtreleme, tag desteği.
528
484
 
529
485
  **Public Metotlar:** `selectedItems()` → seçili öğe dizisi, `isSelected(item)`, `setSelected(items[])`
530
486
 
531
- **Events:** `selected` → `detail: { selected }`, `change` → `detail: { value }`, `lgsChange` → `detail: { value, selected }` (value = primitive `optionValue` değer(ler)i)
487
+ **Events:** `selected` → `detail: { selected }`, `change` → `detail: { value }`
532
488
 
533
489
  ```html
534
490
  <logosphere-combobox
@@ -585,7 +541,7 @@ Tarih seçici; manuel yazma ve takvim popup'ı. `dayjs` tabanlı.
585
541
  | `onChange` | `(value: string) => void` | — | Değişim callback'i |
586
542
  | `onRangeChange` | `(range) => void` | — | Aralık callback'i |
587
543
 
588
- **Events:** `change` → `detail: { value }`, `rangeChange` → `detail: { start, end }`, `lgsChange` → `detail: { value }`
544
+ **Events:** `change` → `detail: { value }`, `rangeChange` → `detail: { start, end }`
589
545
 
590
546
  ```html
591
547
  <!-- Temel kullanım -->
@@ -649,7 +605,7 @@ Tam ekran arka planlı modal diyalog.
649
605
  | Property | Tip | Varsayılan | Açıklama |
650
606
  |----------|-----|-----------|---------|
651
607
  | `open` | `boolean` | `false` | Açık mı (reflect) |
652
- | `title` | `string` | `""` | Modal başlığı |
608
+ | `title` | `string` | `""` | Modal başlığı (attribute: `modal-title`) |
653
609
  | `closeOnEsc` | `boolean` | `true` | Esc ile kapat |
654
610
  | `closeOnBackdrop` | `boolean` | `true` | Arka plana tıklayınca kapat |
655
611
  | `showBack` | `boolean` | `false` | Geri butonu göster |
@@ -662,7 +618,7 @@ Tam ekran arka planlı modal diyalog.
662
618
  **Slots:** `header`, varsayılan (gövde), `footer`
663
619
 
664
620
  ```html
665
- <logosphere-modal id="my-modal" title="Düzenle" showClose>
621
+ <logosphere-modal id="my-modal" modal-title="Düzenle" showClose>
666
622
  <logosphere-input label="Ad"></logosphere-input>
667
623
  <div slot="footer">
668
624
  <logosphere-button variant="outline" id="cancel-btn">İptal</logosphere-button>
@@ -686,7 +642,7 @@ Yan panel; sağdan veya soldan açılır.
686
642
  | Property | Tip | Varsayılan | Açıklama |
687
643
  |----------|-----|-----------|---------|
688
644
  | `open` | `boolean` | `false` | Açık mı (reflect) |
689
- | `title` | `string` | `""` | Panel başlığı |
645
+ | `title` | `string` | `""` | Panel başlığı (attribute: `drawer-title`) |
690
646
  | `position` | `"left" \| "right"` | `"right"` | Hangi taraftan açılsın |
691
647
  | `width` | `number` | `360` | Genişlik (px) |
692
648
  | `closeOnEsc` | `boolean` | `true` | Esc ile kapat |
@@ -699,7 +655,7 @@ Yan panel; sağdan veya soldan açılır.
699
655
  **Slots:** `trigger` (açma butonu), varsayılan (panel gövdesi)
700
656
 
701
657
  ```html
702
- <logosphere-drawer title="Filtreler" position="right" width="400">
658
+ <logosphere-drawer drawer-title="Filtreler" position="right" width="400">
703
659
  <logosphere-button slot="trigger" variant="outline">
704
660
  Filtreleri Aç
705
661
  </logosphere-button>
@@ -721,7 +677,7 @@ Bildirim mesajı. Genellikle doğrudan kullanmak yerine `ToastService` kullanıl
721
677
  | Property | Tip | Varsayılan | Açıklama |
722
678
  |----------|-----|-----------|---------|
723
679
  | `type` | `"info" \| "success" \| "warning" \| "danger"` | `"info"` | Ikon/renk tipi |
724
- | `title` | `string` | `""` | Başlık |
680
+ | `title` | `string` | `""` | Başlık (attribute: `toast-title`) |
725
681
  | `text` | `string` | `""` | Açıklama metni |
726
682
  | `icon` | `string` | `""` | Özel ikon adı |
727
683
  | `closeable` | `boolean` | `true` | Manuel kapatma butonu |
@@ -961,7 +917,7 @@ SVG ikon bileşeni. `icon-map.ts`'deki kayıtlı ikonları isimle render eder.
961
917
 
962
918
  ```html
963
919
  <div style="min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--color-body-bg)">
964
- <logosphere-card title="Giriş Yap" description="Hesabınıza erişin" style="width:400px">
920
+ <logosphere-card card-title="Giriş Yap" description="Hesabınıza erişin" style="width:400px">
965
921
  <div style="display:flex; flex-direction:column; gap:16px">
966
922
  <logosphere-input
967
923
  type="email"
@@ -995,7 +951,7 @@ SVG ikon bileşeni. `icon-map.ts`'deki kayıtlı ikonları isimle render eder.
995
951
  <ui-icon slot="prefix" name="uil-search" size="16"></ui-icon>
996
952
  </logosphere-input>
997
953
 
998
- <logosphere-drawer title="Filtreler" position="right">
954
+ <logosphere-drawer drawer-title="Filtreler" position="right">
999
955
  <logosphere-button slot="trigger" variant="outline">Filtre</logosphere-button>
1000
956
 
1001
957
  <div style="display:flex; flex-direction:column; gap:12px; padding:16px">
@@ -1085,7 +1041,7 @@ SVG ikon bileşeni. `icon-map.ts`'deki kayıtlı ikonları isimle render eder.
1085
1041
  ### Silme Onay Modalı
1086
1042
 
1087
1043
  ```html
1088
- <logosphere-modal id="delete-modal" title="Kaydı Sil" showClose closeOnEsc>
1044
+ <logosphere-modal id="delete-modal" modal-title="Kaydı Sil" showClose closeOnEsc>
1089
1045
  <p>Bu kaydı silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.</p>
1090
1046
 
1091
1047
  <div slot="footer" style="display:flex; gap:8px; justify-content:flex-end">
@@ -3,22 +3,13 @@ export declare class Checkbox extends LitElement {
3
3
  static styles: import("lit").CSSResult[];
4
4
  label: string;
5
5
  value: string;
6
+ checked: boolean;
6
7
  type: "checkbox" | "switch" | "radio";
7
8
  disabled: boolean;
8
9
  indeterminate: boolean;
9
10
  private internalChecked;
10
11
  private inputElement?;
11
- private _checked;
12
- /**
13
- * Custom accessor: her dış atama — değer öncekiyle AYNI olsa bile — iç
14
- * görsel state'i prop'a senkronlar. Lit'in standart accessor'ı aynı değeri
15
- * dirty-check'te yuttuğu için, kontrollü kullanımda parent'ın "reddi"
16
- * (checked'ı değişmeyen değerle yeniden ataması) görsele yansımıyordu:
17
- * tıklama internalChecked'ı optimistik set eder, parent reddedince geri
18
- * alınamazdı (örn. iki radio birden seçili kalırdı).
19
- */
20
- get checked(): boolean;
21
- set checked(value: boolean);
12
+ connectedCallback(): void;
22
13
  firstUpdated(): void;
23
14
  updated(changedProps: Map<string, unknown>): void;
24
15
  private setIndeterminate;
@@ -21,7 +21,6 @@ export declare class FormField extends LitElement {
21
21
  private _hovered;
22
22
  private _hasPrefix;
23
23
  private _hasSuffix;
24
- private _hasClear;
25
24
  private handleSlotFocus;
26
25
  private handleSlotBlur;
27
26
  private handleMouseEnter;
@@ -29,7 +28,6 @@ export declare class FormField extends LitElement {
29
28
  private handleContainerClick;
30
29
  private handlePrefixSlotChange;
31
30
  private handleSuffixSlotChange;
32
- private handleClearSlotChange;
33
31
  connectedCallback(): void;
34
32
  firstUpdated(): void;
35
33
  disconnectedCallback(): void;
@@ -1,11 +1,11 @@
1
1
  import { unsafeCSS as p, css as u, LitElement as b, nothing as d, html as g } from "lit";
2
- import { property as r, customElement as h } from "lit/decorators.js";
3
- import "./ui-icon-Ckljc9hg.js";
4
- const f = ":host{display:inline-block}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);font-family:var(--font-family-base);font-size:11px;font-weight:var(--font-weight-medium);line-height:1rem;letter-spacing:-.11px;border-radius:var(--radius-base);white-space:nowrap;-webkit-user-select:none;user-select:none}.badge--default-size{min-height:24px;max-height:24px;padding:var(--spacing-0) var(--spacing-2)}.badge--small{min-height:16px;max-height:16px;padding:0 var(--spacing-2)}.badge--round{border-radius:var(--radius-full)}.badge--primary{background-color:var(--color-primary);color:var(--color-secondary-color, #ffffff)}.badge--default{background-color:var(--badge-bg, var(--color-light-bg-2));color:var(--badge-color, var(--color-secondary))}.badge--warning{background-color:var( --color-warning-subtle);color:var(--color-warning-emphasis)}.badge--success{background-color:var(--color-success-subtle);color:var(--color-success-emphasis)}.badge--danger{background-color:var(--color-danger-subtle);color:var(--color-danger)}.badge--info{background-color:var(--color-info-subtle);color:var(--color-info-emphasis)}.badge--purple{background-color:var(--color-commercial-subtle);color:var(--color-commercial-emphasis)}.badge__close{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--spacing-1);padding:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.75;transition:opacity var(--transition-speed-fast) var(--transition-timing);line-height:1}.badge__close:hover{opacity:1}.badge__close:focus{outline:none;opacity:1}";
5
- var v = Object.defineProperty, m = Object.getOwnPropertyDescriptor, a = (s, t, l, i) => {
6
- for (var o = i > 1 ? void 0 : i ? m(t, l) : t, n = s.length - 1, c; n >= 0; n--)
7
- (c = s[n]) && (o = (i ? c(t, l, o) : c(o)) || o);
8
- return i && o && v(t, l, o), o;
2
+ import { property as a, customElement as h } from "lit/decorators.js";
3
+ import "./ui-icon-BMJNdIOq.js";
4
+ const f = ".badge{display:inline-flex;align-items:center;gap:var(--spacing-1);font-family:var(--font-family-base);font-size:11px;font-weight:var(--font-weight-medium);line-height:1rem;letter-spacing:-.11px;border-radius:var(--radius-base);white-space:nowrap;-webkit-user-select:none;user-select:none}.badge--default-size{min-height:24px;max-height:24px;padding:var(--spacing-0) var(--spacing-2)}.badge--small{min-height:16px;max-height:16px;padding:0 var(--spacing-2)}.badge--round{border-radius:var(--radius-full)}.badge--primary{background-color:var(--color-primary);color:var(--color-secondary-color, #ffffff)}.badge--default{background-color:var(--color-light-bg-2);color:var(--color-secondary)}.badge--warning{background-color:var( --color-warning-subtle);color:var(--color-warning-emphasis)}.badge--success{background-color:var(--color-success-subtle);color:var(--color-success-emphasis)}.badge--danger{background-color:var(--color-danger-subtle);color:var(--color-danger)}.badge--info{background-color:var(--color-info-subtle);color:var(--color-info-emphasis)}.badge--purple{background-color:var(--color-commercial-subtle);color:var(--color-commercial-emphasis)}.badge__close{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--spacing-1);padding:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.75;transition:opacity var(--transition-speed-fast) var(--transition-timing);line-height:1}.badge__close:hover{opacity:1}.badge__close:focus{outline:none;opacity:1}";
5
+ var m = Object.defineProperty, v = Object.getOwnPropertyDescriptor, r = (s, t, n, i) => {
6
+ for (var o = i > 1 ? void 0 : i ? v(t, n) : t, l = s.length - 1, c; l >= 0; l--)
7
+ (c = s[l]) && (o = (i ? c(t, n, o) : c(o)) || o);
8
+ return i && o && m(t, n, o), o;
9
9
  };
10
10
  let e = class extends b {
11
11
  constructor() {
@@ -46,25 +46,25 @@ e.styles = [
46
46
  ${p(f)}
47
47
  `
48
48
  ];
49
- a([
50
- r({ type: String })
49
+ r([
50
+ a({ type: String })
51
51
  ], e.prototype, "variant", 2);
52
- a([
53
- r({ type: String })
52
+ r([
53
+ a({ type: String })
54
54
  ], e.prototype, "size", 2);
55
- a([
56
- r({ type: String })
55
+ r([
56
+ a({ type: String })
57
57
  ], e.prototype, "text", 2);
58
- a([
59
- r({ type: Boolean })
58
+ r([
59
+ a({ type: Boolean })
60
60
  ], e.prototype, "closeable", 2);
61
- a([
62
- r({ type: Boolean })
61
+ r([
62
+ a({ type: Boolean })
63
63
  ], e.prototype, "isRound", 2);
64
- a([
65
- r({ attribute: !1 })
64
+ r([
65
+ a({ attribute: !1 })
66
66
  ], e.prototype, "onClose", 2);
67
- e = a([
67
+ e = r([
68
68
  h("logosphere-badge")
69
69
  ], e);
70
70
  export {
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("lit"),a=require("lit/decorators.js");require("./ui-icon-Cd5YhUeQ.cjs");const g=":host{display:inline-block}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);font-family:var(--font-family-base);font-size:11px;font-weight:var(--font-weight-medium);line-height:1rem;letter-spacing:-.11px;border-radius:var(--radius-base);white-space:nowrap;-webkit-user-select:none;user-select:none}.badge--default-size{min-height:24px;max-height:24px;padding:var(--spacing-0) var(--spacing-2)}.badge--small{min-height:16px;max-height:16px;padding:0 var(--spacing-2)}.badge--round{border-radius:var(--radius-full)}.badge--primary{background-color:var(--color-primary);color:var(--color-secondary-color, #ffffff)}.badge--default{background-color:var(--badge-bg, var(--color-light-bg-2));color:var(--badge-color, var(--color-secondary))}.badge--warning{background-color:var( --color-warning-subtle);color:var(--color-warning-emphasis)}.badge--success{background-color:var(--color-success-subtle);color:var(--color-success-emphasis)}.badge--danger{background-color:var(--color-danger-subtle);color:var(--color-danger)}.badge--info{background-color:var(--color-info-subtle);color:var(--color-info-emphasis)}.badge--purple{background-color:var(--color-commercial-subtle);color:var(--color-commercial-emphasis)}.badge__close{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--spacing-1);padding:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.75;transition:opacity var(--transition-speed-fast) var(--transition-timing);line-height:1}.badge__close:hover{opacity:1}.badge__close:focus{outline:none;opacity:1}";var p=Object.defineProperty,d=Object.getOwnPropertyDescriptor,s=(i,o,n,t)=>{for(var r=t>1?void 0:t?d(o,n):o,l=i.length-1,c;l>=0;l--)(c=i[l])&&(r=(t?c(o,n,r):c(r))||r);return t&&r&&p(o,n,r),r};exports.LogosphereBadge=class extends e.LitElement{constructor(){super(...arguments),this.variant="default",this.size="default",this.text="",this.closeable=!1,this.isRound=!1}handleClose(){this.onClose&&this.onClose(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}getBadgeClasses(){const o=["badge",`badge--${this.variant}`,this.size==="small"?"badge--small":"badge--default-size"];return this.isRound&&o.push("badge--round"),o.join(" ")}render(){return e.html`
1
+ "use strict";const e=require("lit"),a=require("lit/decorators.js");require("./ui-icon-DIucAQC_.cjs");const g=".badge{display:inline-flex;align-items:center;gap:var(--spacing-1);font-family:var(--font-family-base);font-size:11px;font-weight:var(--font-weight-medium);line-height:1rem;letter-spacing:-.11px;border-radius:var(--radius-base);white-space:nowrap;-webkit-user-select:none;user-select:none}.badge--default-size{min-height:24px;max-height:24px;padding:var(--spacing-0) var(--spacing-2)}.badge--small{min-height:16px;max-height:16px;padding:0 var(--spacing-2)}.badge--round{border-radius:var(--radius-full)}.badge--primary{background-color:var(--color-primary);color:var(--color-secondary-color, #ffffff)}.badge--default{background-color:var(--color-light-bg-2);color:var(--color-secondary)}.badge--warning{background-color:var( --color-warning-subtle);color:var(--color-warning-emphasis)}.badge--success{background-color:var(--color-success-subtle);color:var(--color-success-emphasis)}.badge--danger{background-color:var(--color-danger-subtle);color:var(--color-danger)}.badge--info{background-color:var(--color-info-subtle);color:var(--color-info-emphasis)}.badge--purple{background-color:var(--color-commercial-subtle);color:var(--color-commercial-emphasis)}.badge__close{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--spacing-1);padding:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.75;transition:opacity var(--transition-speed-fast) var(--transition-timing);line-height:1}.badge__close:hover{opacity:1}.badge__close:focus{outline:none;opacity:1}";var p=Object.defineProperty,d=Object.getOwnPropertyDescriptor,s=(i,o,n,t)=>{for(var r=t>1?void 0:t?d(o,n):o,l=i.length-1,c;l>=0;l--)(c=i[l])&&(r=(t?c(o,n,r):c(r))||r);return t&&r&&p(o,n,r),r};exports.LogosphereBadge=class extends e.LitElement{constructor(){super(...arguments),this.variant="default",this.size="default",this.text="",this.closeable=!1,this.isRound=!1}handleClose(){this.onClose&&this.onClose(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}getBadgeClasses(){const o=["badge",`badge--${this.variant}`,this.size==="small"?"badge--small":"badge--default-size"];return this.isRound&&o.push("badge--round"),o.join(" ")}render(){return e.html`
2
2
  <div class="${this.getBadgeClasses()}">
3
3
  <slot></slot>
4
4
  ${this.text?e.html`<span>${this.text}</span>`:e.nothing}
package/dist/badge.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./badge-DWkKpZTX.cjs");Object.defineProperty(exports,"LogosphereBadge",{enumerable:!0,get:()=>e.LogosphereBadge});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./badge-DvaKpUHe.cjs");Object.defineProperty(exports,"LogosphereBadge",{enumerable:!0,get:()=>e.LogosphereBadge});
package/dist/badge.js CHANGED
@@ -1,4 +1,4 @@
1
- import { L as r } from "./badge-B0Bj-HAT.js";
1
+ import { L as r } from "./badge-DsDxWEHx.js";
2
2
  export {
3
3
  r as LogosphereBadge
4
4
  };
@@ -0,0 +1,41 @@
1
+ import { unsafeCSS as b, css as m, LitElement as p, html as t } from "lit";
2
+ import { property as v, customElement as u } from "lit/decorators.js";
3
+ const f = ".breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-2);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-normal);list-style:none;margin:0;padding:0}.breadcrumb__item{display:inline-flex;align-items:center;gap:var(--spacing-2)}.breadcrumb__link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-regular);transition:color var(--transition-speed-fast) var(--transition-timing),text-decoration var(--transition-speed-fast) var(--transition-timing)}.breadcrumb__link:hover{color:var(--color-primary-hover);text-decoration:underline}.breadcrumb__label{color:var(--color-tertiary);font-weight:var(--font-weight-regular)}.breadcrumb__label--active{color:var(--color-emphasis);font-weight:var(--font-weight-medium)}.breadcrumb__separator{color:var(--color-gray-400);-webkit-user-select:none;user-select:none;flex-shrink:0}";
4
+ var _ = Object.defineProperty, d = Object.getOwnPropertyDescriptor, c = (r, a, o, s) => {
5
+ for (var e = s > 1 ? void 0 : s ? d(a, o) : a, i = r.length - 1, l; i >= 0; i--)
6
+ (l = r[i]) && (e = (s ? l(a, o, e) : l(e)) || e);
7
+ return s && e && _(a, o, e), e;
8
+ };
9
+ let n = class extends p {
10
+ constructor() {
11
+ super(...arguments), this.items = [];
12
+ }
13
+ render() {
14
+ return t`
15
+ <nav>
16
+ <ol class="breadcrumb">
17
+ ${this.items.map(
18
+ (r, a) => t`
19
+ <li class="breadcrumb__item">
20
+ ${r.href && !r.active ? t`<a href="${r.href}" class="breadcrumb__link">${r.label}</a>` : t`<span class="breadcrumb__label ${r.active ? "breadcrumb__label--active" : ""}">${r.label}</span>`}
21
+ ${a < this.items.length - 1 ? t`<span class="breadcrumb__separator">/</span>` : ""}
22
+ </li>
23
+ `
24
+ )}
25
+ </ol>
26
+ </nav>
27
+ `;
28
+ }
29
+ };
30
+ n.styles = [
31
+ m`${b(f)}`
32
+ ];
33
+ c([
34
+ v({ type: Array })
35
+ ], n.prototype, "items", 2);
36
+ n = c([
37
+ u("logosphere-breadcrumb")
38
+ ], n);
39
+ export {
40
+ n as B
41
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";const e=require("lit"),o=require("lit/decorators.js"),b=".breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-2);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-normal);list-style:none;margin:0;padding:0}.breadcrumb__item{display:inline-flex;align-items:center;gap:var(--spacing-2)}.breadcrumb__link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-regular);transition:color var(--transition-speed-fast) var(--transition-timing),text-decoration var(--transition-speed-fast) var(--transition-timing)}.breadcrumb__link:hover{color:var(--color-primary-hover);text-decoration:underline}.breadcrumb__label{color:var(--color-tertiary);font-weight:var(--font-weight-regular)}.breadcrumb__label--active{color:var(--color-emphasis);font-weight:var(--font-weight-medium)}.breadcrumb__separator{color:var(--color-gray-400);-webkit-user-select:none;user-select:none;flex-shrink:0}";var m=Object.defineProperty,u=Object.getOwnPropertyDescriptor,c=(l,r,t,s)=>{for(var a=s>1?void 0:s?u(r,t):r,n=l.length-1,i;n>=0;n--)(i=l[n])&&(a=(s?i(r,t,a):i(a))||a);return s&&a&&m(r,t,a),a};exports.Breadcrumb=class extends e.LitElement{constructor(){super(...arguments),this.items=[]}render(){return e.html`
2
+ <nav>
3
+ <ol class="breadcrumb">
4
+ ${this.items.map((r,t)=>e.html`
5
+ <li class="breadcrumb__item">
6
+ ${r.href&&!r.active?e.html`<a href="${r.href}" class="breadcrumb__link">${r.label}</a>`:e.html`<span class="breadcrumb__label ${r.active?"breadcrumb__label--active":""}">${r.label}</span>`}
7
+ ${t<this.items.length-1?e.html`<span class="breadcrumb__separator">/</span>`:""}
8
+ </li>
9
+ `)}
10
+ </ol>
11
+ </nav>
12
+ `}};exports.Breadcrumb.styles=[e.css`${e.unsafeCSS(b)}`];c([o.property({type:Array})],exports.Breadcrumb.prototype,"items",2);exports.Breadcrumb=c([o.customElement("logosphere-breadcrumb")],exports.Breadcrumb);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./breadcrumb-BOuCLUJh.cjs");Object.defineProperty(exports,"Breadcrumb",{enumerable:!0,get:()=>e.Breadcrumb});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./breadcrumb-Cop-B1J7.cjs");Object.defineProperty(exports,"Breadcrumb",{enumerable:!0,get:()=>e.Breadcrumb});
@@ -1,4 +1,4 @@
1
- import { B as e } from "./breadcrumb-BeJqq-5C.js";
1
+ import { B as e } from "./breadcrumb-BB61Xt0s.js";
2
2
  export {
3
3
  e as Breadcrumb
4
4
  };