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

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 (163) hide show
  1. package/AGENTS.md +147 -66
  2. package/dist/AGENTS.md +147 -66
  3. package/dist/accordion-CYuCj7nB.cjs +21 -0
  4. package/dist/accordion-cDabqwu6.js +96 -0
  5. package/dist/accordion.cjs +1 -0
  6. package/dist/accordion.js +4 -0
  7. package/dist/atoms/Checkbox/checkbox.d.ts +11 -2
  8. package/dist/atoms/FormField/formfield.d.ts +2 -0
  9. package/dist/{badge-DsDxWEHx.js → badge-BhINg1p5.js} +20 -20
  10. package/dist/{badge-DvaKpUHe.cjs → badge-CKSG_MyA.cjs} +1 -1
  11. package/dist/badge.cjs +1 -1
  12. package/dist/badge.js +1 -1
  13. package/dist/breadcrumb-BOuCLUJh.cjs +12 -0
  14. package/dist/breadcrumb-BeJqq-5C.js +41 -0
  15. package/dist/breadcrumb.cjs +1 -1
  16. package/dist/breadcrumb.js +1 -1
  17. package/dist/button-CVkIa7M0.js +58 -0
  18. package/dist/button-vdNReBMi.cjs +10 -0
  19. package/dist/button.cjs +1 -1
  20. package/dist/button.js +1 -1
  21. package/dist/{calendar-CZ_IN2TF.js → calendar-C71sj3Ki.js} +1 -1
  22. package/dist/{calendar-CIgyrv3U.cjs → calendar-DZJM5Tyu.cjs} +1 -1
  23. package/dist/calendar.cjs +1 -1
  24. package/dist/calendar.js +1 -1
  25. package/dist/{card-MDwFGplY.js → card-C7xXMV3h.js} +3 -3
  26. package/dist/card-DmQRNKtk.cjs +43 -0
  27. package/dist/card.cjs +1 -1
  28. package/dist/card.js +1 -1
  29. package/dist/chatbot-BAou4THb.cjs +183 -0
  30. package/dist/{chatbot-CHgiUY4h.js → chatbot-BRfqXYYt.js} +13 -13
  31. package/dist/chatbot.cjs +1 -1
  32. package/dist/chatbot.js +1 -1
  33. package/dist/checkbox-BAbPDN6x.cjs +53 -0
  34. package/dist/checkbox-CTfbav6M.js +152 -0
  35. package/dist/checkbox.cjs +1 -1
  36. package/dist/checkbox.js +1 -1
  37. package/dist/{chip-group-CpcjGoRm.cjs → chip-group-D4DwnC37.cjs} +1 -1
  38. package/dist/{chip-group-BUL2H8rr.js → chip-group-DzfOd6Vw.js} +1 -1
  39. package/dist/chip-group.cjs +1 -1
  40. package/dist/chip-group.js +1 -1
  41. package/dist/collapse-CbRE8ABx.cjs +47 -0
  42. package/dist/collapse-DY6SJ9jS.js +141 -0
  43. package/dist/collapse.cjs +1 -0
  44. package/dist/collapse.js +4 -0
  45. package/dist/combobox-BAa3UAQs.cjs +113 -0
  46. package/dist/{combobox-jak7Ac1m.js → combobox-BR05Tgfd.js} +31 -8
  47. package/dist/combobox.cjs +1 -1
  48. package/dist/combobox.js +1 -1
  49. package/dist/{datepicker-BgysIOZI.js → datepicker-BFYWQRrJ.js} +58 -51
  50. package/dist/datepicker-BWE4qDJM.cjs +85 -0
  51. package/dist/datepicker.cjs +1 -1
  52. package/dist/datepicker.js +1 -1
  53. package/dist/{drawer-3nyjAkcS.cjs → drawer-CRu4G2zu.cjs} +2 -2
  54. package/dist/{drawer-CE9zzllI.js → drawer-DhuBPWHP.js} +3 -3
  55. package/dist/drawer.cjs +1 -1
  56. package/dist/drawer.js +1 -1
  57. package/dist/formfield-JXiv9mvJ.cjs +33 -0
  58. package/dist/{formfield-O327HYt0.js → formfield-ss2mFweu.js} +59 -52
  59. package/dist/formfield.cjs +1 -1
  60. package/dist/formfield.js +1 -1
  61. package/dist/icon.cjs +1 -0
  62. package/dist/icon.js +4 -0
  63. package/dist/index.cjs +1 -291
  64. package/dist/index.d.ts +1 -0
  65. package/dist/index.js +65 -908
  66. package/dist/index.umd.js +284 -215
  67. package/dist/input-DyLKo7h6.cjs +60 -0
  68. package/dist/input-N3Z8D7q1.js +278 -0
  69. package/dist/input-group-C6sA1lzj.cjs +5 -0
  70. package/dist/input-group-DUPlrpug.js +66 -0
  71. package/dist/input-group.cjs +1 -0
  72. package/dist/input-group.js +4 -0
  73. package/dist/input.cjs +1 -1
  74. package/dist/input.js +1 -1
  75. package/dist/left-menu.cjs +1 -1
  76. package/dist/left-menu.js +3 -3
  77. package/dist/leftmenu-BcUNnvly.cjs +120 -0
  78. package/dist/leftmenu-Cg57EaSY.js +361 -0
  79. package/dist/modal-g3KbWncV.cjs +84 -0
  80. package/dist/{modal-DUIv_yoo.js → modal-vSjEpYrG.js} +4 -4
  81. package/dist/modal.cjs +1 -1
  82. package/dist/modal.js +1 -1
  83. package/dist/molecules/Input/input.d.ts +17 -0
  84. package/dist/molecules/Popover/popover.d.ts +4 -0
  85. package/dist/organisms/Combobox/combobox.d.ts +9 -0
  86. package/dist/organisms/DatePicker/datepicker.d.ts +2 -0
  87. package/dist/organisms/LeftMenu/index.d.ts +1 -1
  88. package/dist/organisms/LeftMenu/leftmenu-types.d.ts +24 -0
  89. package/dist/organisms/LeftMenu/leftmenu.d.ts +24 -9
  90. package/dist/organisms/TreeMenu/tree-menu.d.ts +20 -2
  91. package/dist/{pagination-B7jknoOz.js → pagination-CjXvpE2j.js} +61 -61
  92. package/dist/pagination-Nnzacqdo.cjs +169 -0
  93. package/dist/pagination.cjs +1 -1
  94. package/dist/pagination.js +1 -1
  95. package/dist/popover-CrXUbUR-.cjs +30 -0
  96. package/dist/popover-M5ZcS5rj.js +161 -0
  97. package/dist/popover.cjs +1 -1
  98. package/dist/popover.js +1 -1
  99. package/dist/shared/icons/index.d.ts +1 -0
  100. package/dist/slider-DSRs5uhl.cjs +108 -0
  101. package/dist/slider-ntLRajQa.js +280 -0
  102. package/dist/slider.cjs +1 -0
  103. package/dist/slider.js +4 -0
  104. package/dist/split-button-BdBweoip.js +177 -0
  105. package/dist/split-button-BpffPlVg.cjs +63 -0
  106. package/dist/split-button.cjs +1 -0
  107. package/dist/split-button.js +4 -0
  108. package/dist/stepper-CZhwgLNp.js +122 -0
  109. package/dist/stepper-ZOMaU6aZ.cjs +52 -0
  110. package/dist/stepper.cjs +1 -0
  111. package/dist/stepper.js +4 -0
  112. package/dist/{switch-8RGGesy5.cjs → switch-Do6SCkPJ.cjs} +2 -2
  113. package/dist/{switch-DNqPqH-R.js → switch-uYVuohJ-.js} +25 -21
  114. package/dist/switch.cjs +1 -1
  115. package/dist/switch.js +1 -1
  116. package/dist/tab-BvRVHpWs.cjs +41 -0
  117. package/dist/{tab-CuBCFGoO.js → tab-Byh4UgFB.js} +1 -1
  118. package/dist/tab.cjs +1 -1
  119. package/dist/tab.js +1 -1
  120. package/dist/{text-area-C73JxnqH.js → text-area-1rALZ0iy.js} +16 -12
  121. package/dist/text-area-D_TYL4_q.cjs +51 -0
  122. package/dist/textarea.cjs +1 -1
  123. package/dist/textarea.js +1 -1
  124. package/dist/{timepicker-DMzGYd0p.js → timepicker-B9l6HN-d.js} +6 -2
  125. package/dist/{timepicker-CLJKWWGm.cjs → timepicker-Bpf2d4Nn.cjs} +1 -1
  126. package/dist/timepicker.cjs +1 -1
  127. package/dist/timepicker.js +1 -1
  128. package/dist/{toast-container-B5v74b_5.js → toast-container-C5qYjInG.js} +4 -4
  129. package/dist/toast-container-D2dyP20J.cjs +64 -0
  130. package/dist/toast.cjs +1 -1
  131. package/dist/toast.js +1 -1
  132. package/dist/tree-menu-BZ7aBC7R.js +237 -0
  133. package/dist/tree-menu-DDQ_DYl7.cjs +78 -0
  134. package/dist/tree-menu.cjs +1 -1
  135. package/dist/tree-menu.js +1 -1
  136. package/dist/{ui-icon-BMJNdIOq.js → ui-icon-BeR-PaPg.js} +11 -7
  137. package/dist/{ui-icon-DIucAQC_.cjs → ui-icon-DWl7I5BQ.cjs} +2 -2
  138. package/package.json +6 -1
  139. package/dist/breadcrumb-BB61Xt0s.js +0 -41
  140. package/dist/breadcrumb-Cop-B1J7.cjs +0 -12
  141. package/dist/button-DRZ4sG4T.cjs +0 -10
  142. package/dist/button-Uu9oaieg.js +0 -58
  143. package/dist/card-BOCW7gad.cjs +0 -43
  144. package/dist/chatbot-B-NiZIYK.cjs +0 -183
  145. package/dist/checkbox-CX0LgsWP.js +0 -148
  146. package/dist/checkbox-DpbKHANK.cjs +0 -53
  147. package/dist/combobox-BmIFPk8X.cjs +0 -113
  148. package/dist/datepicker-DOBmbxlo.cjs +0 -85
  149. package/dist/formfield-CRcyUMvQ.cjs +0 -33
  150. package/dist/input-CQS0LzF-.cjs +0 -59
  151. package/dist/input-CeF3YJk-.js +0 -257
  152. package/dist/leftmenu-CmWvnA6L.js +0 -301
  153. package/dist/leftmenu-p9aR2QTy.cjs +0 -83
  154. package/dist/modal-dUnnHe8u.cjs +0 -84
  155. package/dist/organisms/LeftMenu/leftmenu-item.d.ts +0 -14
  156. package/dist/pagination-BkqbWBOn.cjs +0 -169
  157. package/dist/popover-CYDoeLKp.cjs +0 -30
  158. package/dist/popover-DDaG8MSj.js +0 -143
  159. package/dist/tab-CDMcFHvP.cjs +0 -41
  160. package/dist/text-area-Cprb-azV.cjs +0 -51
  161. package/dist/toast-container-6t6yEP9Y.cjs +0 -64
  162. package/dist/tree-menu-CkOPxr-W.js +0 -154
  163. package/dist/tree-menu-WNwZMreD.cjs +0 -47
@@ -1,169 +0,0 @@
1
- "use strict";const a=require("lit"),n=require("lit/decorators.js"),h=require("lit/directives/live.js");require("./ui-icon-DIucAQC_.cjs");require("./combobox-BmIFPk8X.cjs");const u=":host{display:block;width:100%}.pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);background-color:var(--color-body-bg);border-top:1px solid var(--color-border);font-family:var(--font-family-base);gap:var(--spacing-4)}.pagination--justify-end{justify-content:flex-end}.pagination--justify-start{justify-content:flex-start}.pagination--justify-center{justify-content:center}.pagination__nav{display:flex;align-items:center;gap:var(--spacing-1)}.pagination__nav-group{display:flex;align-items:center}.pagination__btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);border:none;background:transparent;border-radius:var(--radius-base);cursor:pointer;color:var(--color-secondary);transition:background-color .15s ease,color .15s ease,opacity .15s ease}.pagination__btn:hover:not(:disabled){background-color:var(--color-body-bg-hover)}.pagination__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:var(--spacing-2);border:1px solid var(--color-border);background-color:var(--color-body-bg);border-radius:var(--radius-base);cursor:pointer;color:var(--color-secondary);transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.pagination__btn--icon:hover:not(:disabled){background-color:var(--color-body-bg-hover);border-color:var(--color-border-hover)}.pagination__btn--icon:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination__btn--icon:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--text{display:flex;align-items:center;justify-content:center;gap:var(--spacing-1);height:32px;min-width:100px;padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-border);background-color:var(--color-body-bg);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-secondary);cursor:pointer;transition:all .15s ease}.pagination__btn--text:hover:not(:disabled){background-color:var(--color-body-bg-hover);border-color:var(--color-border-hover)}.pagination__btn--text:disabled{color:var(--color-secondary-disabled);cursor:not-allowed}.pagination__btn--number{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-border);background-color:var(--color-body-bg);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-secondary);cursor:pointer;transition:all .15s ease}.pagination__btn--number:hover:not(:disabled):not(.pagination__btn--active){background-color:var(--color-body-bg-hover)}.pagination__btn--active{background-color:var(--color-secondary);border-color:var(--color-secondary);color:#fff;font-weight:var(--font-weight-semibold)}.pagination__btn--ellipsis{border:none;background:transparent;cursor:default;min-width:32px}.pagination__btn--ellipsis:hover{background:transparent}.pagination__input-container{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.pagination__input{width:100%;height:100%;min-width:32px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-base);background-color:var(--color-body-bg);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-body-text);text-align:center;outline:none;transition:border-color .15s ease}.pagination__input:focus{border-color:var(--color-primary)}.pagination__input::-webkit-outer-spin-button,.pagination__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pagination__input[type=number]{-moz-appearance:textfield}.pagination__separator{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-tertiary);line-height:18px;letter-spacing:-.12px;margin-right:var(--spacing-1)}.pagination__info{display:flex;align-items:center;gap:var(--spacing-2)}.pagination__page-info{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);line-height:18px;letter-spacing:-.12px}.pagination__page-info-text{color:var(--color-secondary)}.pagination__page-info-separator{color:var(--color-tertiary)}.pagination__total{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);line-height:18px;letter-spacing:-.12px}.pagination__total-separator{color:var(--color-tertiary)}.pagination__total-text{color:var(--color-secondary)}.pagination__page-size{display:flex;align-items:center}@media(max-width:768px){.pagination{flex-wrap:wrap;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4)}.pagination__btn--text{min-width:80px;font-size:var(--font-size-xs)}}@media(max-width:480px){.pagination__nav,.pagination__info{flex-wrap:wrap;justify-content:center}}";var b=Object.defineProperty,o=(d,t,e,r)=>{for(var s=void 0,l=d.length-1,p;l>=0;l--)(p=d[l])&&(s=p(t,e,s)||s);return s&&b(t,e,s),s};const c=class c extends a.LitElement{constructor(){super(...arguments),this.variant="default",this.page=1,this.pageSize=25,this.total=0,this.pageSizeOptions=[10,25,50,100],this.showPageSize=!0,this.showTotal=!0,this.disabled=!1,this.prevLabel="Önceki",this.nextLabel="Sonraki",this.pageLabel="Sayfa",this.perPageLabel="/ sayfa",this.totalLabel="kayıt",this.inputValue="1",this.goFirst=()=>{this.canGoPrev&&this.goToPage(1)},this.goPrev=()=>{this.canGoPrev&&this.goToPage(this.page-1)},this.goNext=()=>{this.canGoNext&&this.goToPage(this.page+1)},this.goLast=()=>{this.canGoNext&&this.goToPage(this.totalPages)},this.handleInputChange=t=>{const e=t.target;this.inputValue=e.value},this.handleInputBlur=()=>{const t=parseInt(this.inputValue,10);isNaN(t)?this.inputValue=String(this.page):this.goToPage(t)},this.handleInputKeydown=t=>{t.key==="Enter"&&t.target.blur()},this.handlePageSizeChange=t=>{const e=t.detail?.value?.[0];if(e){const r=e.value;r!==this.pageSize&&(this.pageSize=r,this.page=1,this.emitPageChange())}}}get totalPages(){return Math.max(1,Math.ceil(this.total/this.pageSize))}get canGoPrev(){return this.page>1&&!this.disabled}get canGoNext(){return this.page<this.totalPages&&!this.disabled}firstUpdated(){this.updateComboboxSelection()}updated(t){super.updated(t),t.has("page")&&(this.inputValue=String(this.page)),t.has("pageSize")&&this.updateComboboxSelection()}updateComboboxSelection(){this._combobox&&this.showPageSize&&this._combobox.setSelected(this.selectedPageSizeItem)}emitPageChange(){this.dispatchEvent(new CustomEvent("page-change",{bubbles:!0,composed:!0,detail:{page:this.page,pageSize:this.pageSize,totalPages:this.totalPages}}))}goToPage(t){const e=Math.max(1,Math.min(t,this.totalPages));e!==this.page&&(this.page=e,this.emitPageChange())}get pageSizeItems(){return this.pageSizeOptions.map(t=>({label:`${t} ${this.perPageLabel}`,value:t}))}get selectedPageSizeItem(){return[{label:`${this.pageSize} ${this.perPageLabel}`,value:this.pageSize}]}getPageNumbers(){const t=[],e=this.totalPages,r=this.page,s=1;if(e<=7)for(let l=1;l<=e;l++)t.push(l);else{t.push(1),r>3&&t.push("ellipsis");const l=Math.max(2,r-s),p=Math.min(e-1,r+s);for(let g=l;g<=p;g++)t.includes(g)||t.push(g);r<e-2&&t.push("ellipsis"),t.includes(e)||t.push(e)}return t}renderNavButtons(t=!1){const e=t?"pagination__btn--icon":"pagination__btn";return a.html`
2
- <div class="pagination__nav-group">
3
- <button
4
- type="button"
5
- class="${e}"
6
- ?disabled=${!this.canGoPrev}
7
- @click=${this.goFirst}
8
- aria-label="İlk sayfa"
9
- >
10
- <ui-icon name="uil-angle-double-left" size="16"></ui-icon>
11
- </button>
12
- <button
13
- type="button"
14
- class="${e}"
15
- ?disabled=${!this.canGoPrev}
16
- @click=${this.goPrev}
17
- aria-label="Önceki sayfa"
18
- >
19
- <ui-icon name="uil-angle-left" size="16"></ui-icon>
20
- </button>
21
- </div>
22
- `}renderNavButtonsAfter(t=!1){const e=t?"pagination__btn--icon":"pagination__btn";return a.html`
23
- <div class="pagination__nav-group">
24
- <button
25
- type="button"
26
- class="${e}"
27
- ?disabled=${!this.canGoNext}
28
- @click=${this.goNext}
29
- aria-label="Sonraki sayfa"
30
- >
31
- <ui-icon name="uil-angle-right" size="16"></ui-icon>
32
- </button>
33
- <button
34
- type="button"
35
- class="${e}"
36
- ?disabled=${!this.canGoNext}
37
- @click=${this.goLast}
38
- aria-label="Son sayfa"
39
- >
40
- <ui-icon name="uil-angle-double-right" size="16"></ui-icon>
41
- </button>
42
- </div>
43
- `}renderPageInput(){return a.html`
44
- <div class="pagination__input-container">
45
- <input
46
- type="number"
47
- class="pagination__input"
48
- .value=${h.live(this.inputValue)}
49
- min="1"
50
- max=${this.totalPages}
51
- ?disabled=${this.disabled}
52
- @input=${this.handleInputChange}
53
- @blur=${this.handleInputBlur}
54
- @keydown=${this.handleInputKeydown}
55
- aria-label="Sayfa numarası"
56
- />
57
- </div>
58
- <span class="pagination__separator">/ ${this.totalPages}</span>
59
- `}renderPrevNextButtons(){return a.html`
60
- <button
61
- type="button"
62
- class="pagination__btn--text"
63
- ?disabled=${!this.canGoPrev}
64
- @click=${this.goPrev}
65
- >
66
- <ui-icon name="uil-angle-left" size="16"></ui-icon>
67
- ${this.prevLabel}
68
- </button>
69
- <button
70
- type="button"
71
- class="pagination__btn--text"
72
- ?disabled=${!this.canGoNext}
73
- @click=${this.goNext}
74
- >
75
- ${this.nextLabel}
76
- <ui-icon name="uil-angle-right" size="16"></ui-icon>
77
- </button>
78
- `}renderPageInfo(){return a.html`
79
- <div class="pagination__page-info">
80
- <span class="pagination__page-info-text">${this.pageLabel} ${this.page}</span>
81
- <span class="pagination__page-info-separator">/</span>
82
- <span class="pagination__page-info-text">${this.totalPages}</span>
83
- </div>
84
- `}renderNumberButtons(){const t=this.getPageNumbers();return a.html`
85
- ${t.map((e,r)=>e==="ellipsis"?a.html`
86
- <span
87
- class="pagination__btn--number pagination__btn--ellipsis"
88
- key="ellipsis-${r}"
89
- >...</span>
90
- `:a.html`
91
- <button
92
- type="button"
93
- class="pagination__btn--number ${e===this.page?"pagination__btn--active":""}"
94
- ?disabled=${this.disabled}
95
- @click=${()=>this.goToPage(e)}
96
- aria-label="Sayfa ${e}"
97
- aria-current=${e===this.page?"page":a.nothing}
98
- >
99
- ${e}
100
- </button>
101
- `)}
102
- `}renderPageSizeDropdown(){return this.showPageSize?a.html`
103
- <div class="pagination__page-size">
104
- <logosphere-combobox
105
- .items=${this.pageSizeItems}
106
- .disabled=${this.disabled}
107
- .clearable=${!1}
108
- optionLabel="label"
109
- optionValue="value"
110
- placeholder=""
111
- @change=${this.handlePageSizeChange}
112
- ></logosphere-combobox>
113
- </div>
114
- `:a.nothing}renderTotalInfo(){return this.showTotal?a.html`
115
- <div class="pagination__total">
116
- <span class="pagination__total-separator">/</span>
117
- <span class="pagination__total-text">${this.total} ${this.totalLabel}</span>
118
- </div>
119
- `:a.nothing}renderDefault(){return a.html`
120
- <div class="pagination__nav">
121
- ${this.renderNavButtons()}
122
- ${this.renderPageInput()}
123
- ${this.renderNavButtonsAfter()}
124
- </div>
125
- <div class="pagination__info">
126
- ${this.renderPageSizeDropdown()}
127
- ${this.renderTotalInfo()}
128
- </div>
129
- `}renderPrevNext(){return a.html`
130
- <div class="pagination__nav" style="gap: 8px;">
131
- ${this.renderPrevNextButtons()}
132
- </div>
133
- <div class="pagination__info">
134
- ${this.renderPageInfo()}
135
- </div>
136
- `}renderPrevNextInverted(){return a.html`
137
- <div class="pagination__info">
138
- ${this.renderPageInfo()}
139
- </div>
140
- <div class="pagination__nav" style="gap: 8px;">
141
- ${this.renderPrevNextButtons()}
142
- </div>
143
- `}renderPrevNextOnly(){return a.html`
144
- <div class="pagination__nav" style="gap: 8px; margin-left: auto;">
145
- ${this.renderPrevNextButtons()}
146
- </div>
147
- `}renderNumberButtonsVariant(){return a.html`
148
- <div class="pagination__nav">
149
- ${this.renderNavButtons(!0)}
150
- ${this.renderNumberButtons()}
151
- ${this.renderNavButtonsAfter(!0)}
152
- </div>
153
- <div class="pagination__info">
154
- ${this.renderPageSizeDropdown()}
155
- ${this.renderTotalInfo()}
156
- </div>
157
- `}render(){const t=this.variant==="prev-next-only"?"pagination--justify-end":"";return a.html`
158
- <nav
159
- class="pagination ${t}"
160
- role="navigation"
161
- aria-label="Sayfalama"
162
- >
163
- ${this.variant==="default"?this.renderDefault():a.nothing}
164
- ${this.variant==="prev-next"?this.renderPrevNext():a.nothing}
165
- ${this.variant==="prev-next-inverted"?this.renderPrevNextInverted():a.nothing}
166
- ${this.variant==="prev-next-only"?this.renderPrevNextOnly():a.nothing}
167
- ${this.variant==="number-buttons"?this.renderNumberButtonsVariant():a.nothing}
168
- </nav>
169
- `}};c.styles=[a.css`${a.unsafeCSS(u)}`];let i=c;o([n.property({type:String})],i.prototype,"variant");o([n.property({type:Number})],i.prototype,"page");o([n.property({type:Number})],i.prototype,"pageSize");o([n.property({type:Number})],i.prototype,"total");o([n.property({type:Array})],i.prototype,"pageSizeOptions");o([n.property({type:Boolean})],i.prototype,"showPageSize");o([n.property({type:Boolean})],i.prototype,"showTotal");o([n.property({type:Boolean})],i.prototype,"disabled");o([n.property({type:String})],i.prototype,"prevLabel");o([n.property({type:String})],i.prototype,"nextLabel");o([n.property({type:String})],i.prototype,"pageLabel");o([n.property({type:String})],i.prototype,"perPageLabel");o([n.property({type:String})],i.prototype,"totalLabel");o([n.state()],i.prototype,"inputValue");o([n.query("logosphere-combobox")],i.prototype,"_combobox");customElements.get("logosphere-pagination")||customElements.define("logosphere-pagination",i);exports.Pagination=i;
@@ -1,30 +0,0 @@
1
- "use strict";const i=require("lit"),o=require("lit/decorators.js"),d=require("@popperjs/core"),c='.popover__wrapper{position:relative;display:inline-block;font-family:var(--font-family-base)}.popover__trigger{display:inline-flex}.popover__panel{position:relative;overflow:visible;z-index:var(--z-index-popover);min-width:240px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-body-bg);box-shadow:var(--shadow-md)}.popover__content{position:relative;z-index:1;background-color:var(--color-body-bg);border-radius:var(--radius-md);overflow:hidden}.popover__content:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background-color:var(--color-body-bg);border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:1;pointer-events:none}.popover__content>*{position:relative;z-index:2}.popover__title{padding:10px var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-body-text)}.popover__body{padding:var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-secondary)}.popover__body--with-border{border-top:1px solid var(--color-border)}.popper-arrow{position:absolute;width:12px;height:12px;pointer-events:none;z-index:0}.popper-arrow:before{content:"";position:absolute;inset:0;background:var(--color-border);transform:rotate(45deg)}.popper-arrow:after{content:"";position:absolute;inset:1px;background:var(--color-body-bg);transform:rotate(45deg)}[data-popper]{position:relative;overflow:visible}[data-popper-placement^=bottom]>.popper-arrow{top:-6px;left:50%;transform:translate(-50%,-50%)}[data-popper-placement^=top]>.popper-arrow{bottom:-6px;left:50%;transform:translate(-50%,50%)}[data-popper-placement^=left]>.popper-arrow{right:-6px;top:50%;transform:translate(50%,-50%)}[data-popper-placement^=right]>.popper-arrow{left:-6px;top:50%;transform:translate(-50%,-50%)}';var h=Object.defineProperty,v=Object.getOwnPropertyDescriptor,t=(n,e,r,s)=>{for(var p=s>1?void 0:s?v(e,r):e,a=n.length-1,l;a>=0;a--)(l=n[a])&&(p=(s?l(e,r,p):l(p))||p);return s&&p&&h(e,r,p),p};exports.Popover=class extends i.LitElement{constructor(){super(...arguments),this.title="",this.trigger="click",this.placement="bottom",this.offset=8,this.open=!1,this.closeOnOutsideClick=!0,this.noArrow=!1,this.handleDocumentClick=e=>{!this.open||!this.closeOnOutsideClick||e.composedPath().includes(this)||this.setOpen(!1)},this.toggle=e=>{(this.trigger==="click"||this.trigger==="both")&&(e?.stopPropagation(),this.setOpen(!this.open))},this.handleMouseEnter=()=>{(this.trigger==="hover"||this.trigger==="both")&&this.setOpen(!0)},this.handleMouseLeave=()=>{(this.trigger==="hover"||this.trigger==="both")&&this.setOpen(!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.handleDocumentClick,{capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.handleDocumentClick,{capture:!0}),this.destroyPopper()}updated(e){super.updated(e);const r=e.has("placement"),s=e.has("open")&&this.open;if(e.has("open")&&!this.open){this.destroyPopper();return}(s||r)&&this.open&&this.updatePopper()}setOpen(e){this.open!==e&&(this.open=e,this.dispatchEvent(new CustomEvent(e?"popover-open":"popover-close",{bubbles:!0,composed:!0})))}updatePopper(){if(!this.isConnected||!this.open)return;const e=this.triggerElement,r=this.popperElement;if(!(!e||!r)){if(this.popperInstance){this.popperInstance.setOptions({placement:this.placement,modifiers:this.getPopperModifiers(),strategy:"fixed"}),this.popperInstance.update();return}this.popperInstance=d.createPopper(e,r,{placement:this.placement,strategy:"fixed",modifiers:this.getPopperModifiers()})}}getPopperModifiers(){const e=[{name:"offset",options:{offset:[0,this.offset]}},{name:"preventOverflow",options:{padding:8}},{name:"flip",options:{padding:8}}];return!this.noArrow&&this.popperArrowElement&&e.push({name:"arrow",options:{element:this.popperArrowElement,padding:8}}),e}destroyPopper(){this.popperInstance&&(this.popperInstance.destroy(),this.popperInstance=void 0)}render(){const e=!!this.title;return i.html`
2
- <div
3
- class="popover__wrapper"
4
- @mouseenter=${this.handleMouseEnter}
5
- @mouseleave=${this.handleMouseLeave}
6
- >
7
- <div class="popover__trigger" part="trigger" @click=${this.toggle}>
8
- <slot name="trigger"></slot>
9
- </div>
10
-
11
- ${this.open?i.html`
12
- <div
13
- data-popper
14
- class="popover__panel"
15
- role="dialog"
16
- aria-hidden=${this.open?"false":"true"}
17
- >
18
- ${this.noArrow?null:i.html`<div data-popper-arrow class="popper-arrow"></div>`}
19
- <div class="popover__content">
20
- ${this.title?i.html`
21
- <div class="popover__title">${this.title}</div>
22
- `:null}
23
- <div class="popover__body ${e?"popover__body--with-border":""}">
24
- <slot></slot>
25
- </div>
26
- </div>
27
- </div>
28
- `:null}
29
- </div>
30
- `}};exports.Popover.styles=[i.css`${i.unsafeCSS(c)}`];t([o.property({type:String,attribute:"popover-title"})],exports.Popover.prototype,"title",2);t([o.property({type:String})],exports.Popover.prototype,"trigger",2);t([o.property({type:String})],exports.Popover.prototype,"placement",2);t([o.property({type:Number})],exports.Popover.prototype,"offset",2);t([o.property({type:Boolean,reflect:!0})],exports.Popover.prototype,"open",2);t([o.property({type:Boolean})],exports.Popover.prototype,"closeOnOutsideClick",2);t([o.property({type:Boolean})],exports.Popover.prototype,"noArrow",2);t([o.query('[part="trigger"]')],exports.Popover.prototype,"triggerElement",2);t([o.query("[data-popper]")],exports.Popover.prototype,"popperElement",2);t([o.query("[data-popper-arrow]")],exports.Popover.prototype,"popperArrowElement",2);exports.Popover=t([o.customElement("logosphere-popover")],exports.Popover);
@@ -1,143 +0,0 @@
1
- import { unsafeCSS as h, css as v, LitElement as f, html as a } from "lit";
2
- import { property as i, query as c, customElement as m } from "lit/decorators.js";
3
- import { createPopper as u } from "@popperjs/core";
4
- const g = '.popover__wrapper{position:relative;display:inline-block;font-family:var(--font-family-base)}.popover__trigger{display:inline-flex}.popover__panel{position:relative;overflow:visible;z-index:var(--z-index-popover);min-width:240px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-body-bg);box-shadow:var(--shadow-md)}.popover__content{position:relative;z-index:1;background-color:var(--color-body-bg);border-radius:var(--radius-md);overflow:hidden}.popover__content:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background-color:var(--color-body-bg);border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:1;pointer-events:none}.popover__content>*{position:relative;z-index:2}.popover__title{padding:10px var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-body-text)}.popover__body{padding:var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-secondary)}.popover__body--with-border{border-top:1px solid var(--color-border)}.popper-arrow{position:absolute;width:12px;height:12px;pointer-events:none;z-index:0}.popper-arrow:before{content:"";position:absolute;inset:0;background:var(--color-border);transform:rotate(45deg)}.popper-arrow:after{content:"";position:absolute;inset:1px;background:var(--color-body-bg);transform:rotate(45deg)}[data-popper]{position:relative;overflow:visible}[data-popper-placement^=bottom]>.popper-arrow{top:-6px;left:50%;transform:translate(-50%,-50%)}[data-popper-placement^=top]>.popper-arrow{bottom:-6px;left:50%;transform:translate(-50%,50%)}[data-popper-placement^=left]>.popper-arrow{right:-6px;top:50%;transform:translate(50%,-50%)}[data-popper-placement^=right]>.popper-arrow{left:-6px;top:50%;transform:translate(-50%,-50%)}';
5
- var b = Object.defineProperty, y = Object.getOwnPropertyDescriptor, o = (e, r, s, n) => {
6
- for (var p = n > 1 ? void 0 : n ? y(r, s) : r, l = e.length - 1, d; l >= 0; l--)
7
- (d = e[l]) && (p = (n ? d(r, s, p) : d(p)) || p);
8
- return n && p && b(r, s, p), p;
9
- };
10
- let t = class extends f {
11
- constructor() {
12
- super(...arguments), this.title = "", this.trigger = "click", this.placement = "bottom", this.offset = 8, this.open = !1, this.closeOnOutsideClick = !0, this.noArrow = !1, this.handleDocumentClick = (e) => {
13
- !this.open || !this.closeOnOutsideClick || e.composedPath().includes(this) || this.setOpen(!1);
14
- }, this.toggle = (e) => {
15
- (this.trigger === "click" || this.trigger === "both") && (e?.stopPropagation(), this.setOpen(!this.open));
16
- }, this.handleMouseEnter = () => {
17
- (this.trigger === "hover" || this.trigger === "both") && this.setOpen(!0);
18
- }, this.handleMouseLeave = () => {
19
- (this.trigger === "hover" || this.trigger === "both") && this.setOpen(!1);
20
- };
21
- }
22
- connectedCallback() {
23
- super.connectedCallback(), document.addEventListener("click", this.handleDocumentClick, { capture: !0 });
24
- }
25
- disconnectedCallback() {
26
- super.disconnectedCallback(), document.removeEventListener("click", this.handleDocumentClick, { capture: !0 }), this.destroyPopper();
27
- }
28
- updated(e) {
29
- super.updated(e);
30
- const r = e.has("placement"), s = e.has("open") && this.open;
31
- if (e.has("open") && !this.open) {
32
- this.destroyPopper();
33
- return;
34
- }
35
- (s || r) && this.open && this.updatePopper();
36
- }
37
- setOpen(e) {
38
- this.open !== e && (this.open = e, this.dispatchEvent(new CustomEvent(e ? "popover-open" : "popover-close", {
39
- bubbles: !0,
40
- composed: !0
41
- })));
42
- }
43
- updatePopper() {
44
- if (!this.isConnected || !this.open) return;
45
- const e = this.triggerElement, r = this.popperElement;
46
- if (!(!e || !r)) {
47
- if (this.popperInstance) {
48
- this.popperInstance.setOptions({
49
- placement: this.placement,
50
- modifiers: this.getPopperModifiers(),
51
- strategy: "fixed"
52
- }), this.popperInstance.update();
53
- return;
54
- }
55
- this.popperInstance = u(e, r, {
56
- placement: this.placement,
57
- strategy: "fixed",
58
- modifiers: this.getPopperModifiers()
59
- });
60
- }
61
- }
62
- getPopperModifiers() {
63
- const e = [
64
- { name: "offset", options: { offset: [0, this.offset] } },
65
- { name: "preventOverflow", options: { padding: 8 } },
66
- { name: "flip", options: { padding: 8 } }
67
- ];
68
- return !this.noArrow && this.popperArrowElement && e.push({ name: "arrow", options: { element: this.popperArrowElement, padding: 8 } }), e;
69
- }
70
- destroyPopper() {
71
- this.popperInstance && (this.popperInstance.destroy(), this.popperInstance = void 0);
72
- }
73
- render() {
74
- const e = !!this.title;
75
- return a`
76
- <div
77
- class="popover__wrapper"
78
- @mouseenter=${this.handleMouseEnter}
79
- @mouseleave=${this.handleMouseLeave}
80
- >
81
- <div class="popover__trigger" part="trigger" @click=${this.toggle}>
82
- <slot name="trigger"></slot>
83
- </div>
84
-
85
- ${this.open ? a`
86
- <div
87
- data-popper
88
- class="popover__panel"
89
- role="dialog"
90
- aria-hidden=${this.open ? "false" : "true"}
91
- >
92
- ${this.noArrow ? null : a`<div data-popper-arrow class="popper-arrow"></div>`}
93
- <div class="popover__content">
94
- ${this.title ? a`
95
- <div class="popover__title">${this.title}</div>
96
- ` : null}
97
- <div class="popover__body ${e ? "popover__body--with-border" : ""}">
98
- <slot></slot>
99
- </div>
100
- </div>
101
- </div>
102
- ` : null}
103
- </div>
104
- `;
105
- }
106
- };
107
- t.styles = [v`${h(g)}`];
108
- o([
109
- i({ type: String, attribute: "popover-title" })
110
- ], t.prototype, "title", 2);
111
- o([
112
- i({ type: String })
113
- ], t.prototype, "trigger", 2);
114
- o([
115
- i({ type: String })
116
- ], t.prototype, "placement", 2);
117
- o([
118
- i({ type: Number })
119
- ], t.prototype, "offset", 2);
120
- o([
121
- i({ type: Boolean, reflect: !0 })
122
- ], t.prototype, "open", 2);
123
- o([
124
- i({ type: Boolean })
125
- ], t.prototype, "closeOnOutsideClick", 2);
126
- o([
127
- i({ type: Boolean })
128
- ], t.prototype, "noArrow", 2);
129
- o([
130
- c('[part="trigger"]')
131
- ], t.prototype, "triggerElement", 2);
132
- o([
133
- c("[data-popper]")
134
- ], t.prototype, "popperElement", 2);
135
- o([
136
- c("[data-popper-arrow]")
137
- ], t.prototype, "popperArrowElement", 2);
138
- t = o([
139
- m("logosphere-popover")
140
- ], t);
141
- export {
142
- t as P
143
- };
@@ -1,41 +0,0 @@
1
- "use strict";const s=require("lit"),r=require("lit/decorators.js"),h=".tab{width:100%;font-family:var(--font-family-base)}.tab__list{display:flex;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--color-border);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tab__list::-webkit-scrollbar{display:none}.tab__button{display:inline-flex;flex-direction:row;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);min-width:120px;position:relative;cursor:pointer;border:none;border-bottom:2px solid transparent;background:transparent;font-family:var(--font-family-base);white-space:nowrap;transition:background-color var(--transition-speed-base) var(--transition-timing),border-color var(--transition-speed-base) var(--transition-timing)}.tab__button:hover:not(.tab__button--disabled):not(.tab__button--active){background-color:var(--color-light)}.tab__button--active{border-bottom-color:var(--color-primary)}.tab__button--disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.tab__icon{font-size:var(--font-size-xl);flex-shrink:0;color:inherit;line-height:1}.tab__content{display:flex;flex-direction:column;align-items:flex-start}.tab__label{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-body-text)}.tab__label--inactive{color:var(--color-tertiary)}.tab__description{font-size:var(--font-size-xs);text-align:left;color:var(--color-tertiary)}.tab__description--active{color:var(--color-secondary)}.tab__panel{padding:var(--spacing-4);outline:none}.tab__panel--hidden{display:none}.tab--segmented .tab__list{display:inline-flex;position:relative;border-bottom:none;background-color:var(--color-light);border-radius:var(--radius-base);padding:0;gap:0;overflow:visible}.tab__segment-pill{position:absolute;top:0;bottom:0;left:0;width:0;background-color:var(--color-white, #ffffff);border:1px solid var(--color-border);border-radius:var(--radius-base);pointer-events:none;z-index:0;transition:transform .22s cubic-bezier(.35,0,.25,1),width .22s cubic-bezier(.35,0,.25,1)}.tab--segmented .tab__button{position:relative;z-index:1;min-width:unset;height:32px;padding:var(--spacing-1) var(--spacing-3);border:1px solid transparent;border-bottom:1px solid transparent;border-radius:var(--radius-base);background:transparent;transition:color var(--transition-speed-base) var(--transition-timing)}.tab--segmented .tab__button:hover:not(.tab__button--disabled):not(.tab__button--active){background-color:transparent}.tab--segmented .tab__button--active{background-color:transparent;border-color:transparent}.tab--segmented .tab__label{color:var(--color-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:20px;letter-spacing:-.14px}.tab--segmented .tab__label--inactive{color:var(--color-secondary)}.tab--segmented .tab__button--active .tab__label,.tab--segmented .tab__button--active .tab__label--inactive{color:var(--color-primary)}.tab--segmented .tab__icon{color:inherit;font-size:var(--font-size-base)}.tab--segmented .tab__panels{margin-top:var(--spacing-3)}.tab--segmented .tab__panel{padding:0}";var p=Object.defineProperty,_=Object.getOwnPropertyDescriptor,l=(b,t,i,e)=>{for(var a=e>1?void 0:e?_(t,i):t,o=b.length-1,n;o>=0;o--)(n=b[o])&&(a=(e?n(t,i,a):n(a))||a);return e&&a&&p(t,i,a),a};exports.LogosphereTab=class extends s.LitElement{constructor(){super(...arguments),this.tabs=[],this.activeTab="",this.lazy=!0,this.variant="default",this._focusedIndex=0,this._renderedTabs=new Set,this._pillInitialized=!1}connectedCallback(){super.connectedCallback(),!this.activeTab&&this.tabs.length>0&&(this.activeTab=this.tabs[0].id)}disconnectedCallback(){super.disconnectedCallback(),this._pillResizeObserver?.disconnect(),this._pillResizeObserver=void 0}willUpdate(t){if(super.willUpdate(t),t.has("activeTab")&&this.activeTab){this._renderedTabs.add(this.activeTab);const i=this.tabs.findIndex(e=>e.id===this.activeTab);i!==-1&&(this._focusedIndex=i)}t.has("tabs")&&this.tabs.length>0&&(this.tabs.some(e=>e.id===this.activeTab)||(this.activeTab=this.tabs[0].id),this._focusedIndex=this.tabs.findIndex(e=>e.id===this.activeTab))}handleTabClick(t,i){if(i)return;const e=this.activeTab;this.activeTab=t,this._focusedIndex=this.tabs.findIndex(a=>a.id===t),this.dispatchEvent(new CustomEvent("tab-change",{detail:{oldTab:e,newTab:t},bubbles:!0,composed:!0}))}handleKeyDown(t){const{tabs:i}=this;if(i.filter(o=>!o.disabled).length===0)return;let e=this._focusedIndex;const a=this._focusedIndex;switch(t.key){case"ArrowLeft":t.preventDefault();do e=e>0?e-1:i.length-1;while(i[e]?.disabled&&e!==a);break;case"ArrowRight":t.preventDefault();do e=e<i.length-1?e+1:0;while(i[e]?.disabled&&e!==a);break;case"Home":for(t.preventDefault(),e=0;i[e]?.disabled&&e<i.length-1;)e++;break;case"End":for(t.preventDefault(),e=i.length-1;i[e]?.disabled&&e>0;)e--;break;default:return}if(e!==this._focusedIndex&&!i[e]?.disabled){const o=this.activeTab;this._focusedIndex=e,this.activeTab=i[e].id,this.updateComplete.then(()=>{this.shadowRoot?.querySelector(`[role="tab"][data-tab-id="${i[e].id}"]`)?.focus()}),this.dispatchEvent(new CustomEvent("tab-change",{detail:{oldTab:o,newTab:i[e].id},bubbles:!0,composed:!0}))}}updated(t){super.updated(t),this.variant==="segmented"&&(this._ensurePillObserver(),this._updateSegmentPill())}_ensurePillObserver(){if(this._pillResizeObserver)return;const t=this.shadowRoot?.querySelector(".tab__list");!t||typeof ResizeObserver>"u"||(this._pillResizeObserver=new ResizeObserver(()=>this._updateSegmentPill()),this._pillResizeObserver.observe(t))}_updateSegmentPill(){const t=this.shadowRoot?.querySelector(".tab__segment-pill"),i=this.shadowRoot?.querySelector(".tab__button--active"),e=this.shadowRoot?.querySelector(".tab__list");if(!t||!i||!e)return;const a=e.getBoundingClientRect(),o=i.getBoundingClientRect();if(o.width===0)return;const n=parseFloat(getComputedStyle(e).paddingLeft)||0,d=o.left-a.left-e.clientLeft-n+e.scrollLeft,c=o.width;this._pillInitialized?(t.style.transform=`translateX(${d}px)`,t.style.width=`${c}px`):(t.style.transition="none",t.style.transform=`translateX(${d}px)`,t.style.width=`${c}px`,requestAnimationFrame(()=>{t.style.transition=""}),this._pillInitialized=!0)}scrollTabIntoView(t){this.updateComplete.then(()=>{const i=this.shadowRoot?.querySelector(`[role="tab"][data-tab-id="${t}"]`);if(i&&this.tablist){const e=this.tablist.getBoundingClientRect(),a=i.getBoundingClientRect();a.left<e.left?this.tablist.scrollLeft-=e.left-a.left+16:a.right>e.right&&(this.tablist.scrollLeft+=a.right-e.right+16)}})}renderTabButton(t,i){const e=this.activeTab===t.id,a=this._focusedIndex===i,o=["tab__button",e?"tab__button--active":"",t.disabled?"tab__button--disabled":""].filter(Boolean).join(" "),n=["tab__label",e?"":"tab__label--inactive"].filter(Boolean).join(" "),d=["tab__description",e?"tab__description--active":""].filter(Boolean).join(" ");return s.html`
2
- <button
3
- role="tab"
4
- class=${o}
5
- data-tab-id=${t.id}
6
- aria-selected=${e?"true":"false"}
7
- aria-controls="panel-${t.id}"
8
- tabindex=${e||a?"0":"-1"}
9
- ?disabled=${t.disabled}
10
- @click=${()=>this.handleTabClick(t.id,t.disabled)}
11
- @focus=${()=>this.scrollTabIntoView(t.id)}
12
- >
13
- ${t.icon?s.html`<i class="${t.icon} tab__icon"></i>`:s.nothing}
14
- <div class="tab__content">
15
- <span class=${n}>${t.label}</span>
16
- ${t.description?s.html`<span class=${d}>${t.description}</span>`:s.nothing}
17
- </div>
18
- </button>
19
- `}renderTabPanel(t){const i=this.activeTab===t.id;if(!(!this.lazy||this._renderedTabs.has(t.id)))return s.nothing;const a=["tab__panel",i?"":"tab__panel--hidden"].filter(Boolean).join(" ");return s.html`
20
- <div
21
- role="tabpanel"
22
- id="panel-${t.id}"
23
- aria-labelledby="tab-${t.id}"
24
- class=${a}
25
- tabindex="0"
26
- >
27
- <slot name=${`panel-${t.id}`}>
28
- ${typeof t.content=="string"?s.html`${t.content}`:s.nothing}
29
- </slot>
30
- </div>
31
- `}render(){return s.html`
32
- <div class="tab tab--${this.variant}">
33
- <div role="tablist" aria-label="Tabs" class="tab__list" @keydown=${this.handleKeyDown}>
34
- ${this.variant==="segmented"?s.html`<span class="tab__segment-pill" aria-hidden="true"></span>`:s.nothing}
35
- ${this.tabs.map((t,i)=>this.renderTabButton(t,i))}
36
- </div>
37
- <div class="tab__panels">${this.tabs.map(t=>this.renderTabPanel(t))}</div>
38
- </div>
39
- `}};exports.LogosphereTab.styles=[s.css`
40
- ${s.unsafeCSS(h)}
41
- `];l([r.property({type:Array})],exports.LogosphereTab.prototype,"tabs",2);l([r.property({type:String})],exports.LogosphereTab.prototype,"activeTab",2);l([r.property({type:Boolean})],exports.LogosphereTab.prototype,"lazy",2);l([r.property({type:String})],exports.LogosphereTab.prototype,"variant",2);l([r.state()],exports.LogosphereTab.prototype,"_focusedIndex",2);l([r.state()],exports.LogosphereTab.prototype,"_renderedTabs",2);l([r.query('[role="tablist"]')],exports.LogosphereTab.prototype,"tablist",2);exports.LogosphereTab=l([r.customElement("logosphere-tab")],exports.LogosphereTab);
@@ -1,51 +0,0 @@
1
- "use strict";const i=require("lit"),t=require("lit/decorators.js"),p=require("lit/directives/live.js");require("./formfield-CRcyUMvQ.cjs");require("./ui-icon-DIucAQC_.cjs");const u=".textarea__wrap{position:relative;flex:1;min-width:0}.textarea__field{display:block;width:100%;background:transparent;border:none;outline:none;font-size:14px;font-family:var(--font-family-base);font-weight:var(--font-weight-regular);line-height:1.25rem;letter-spacing:-.14px;color:var(--color-body-text);box-sizing:border-box}.textarea__field::placeholder{color:var(--color-tertiary)}.textarea__field:disabled{cursor:not-allowed}.textarea__field--resize-none{resize:none}.textarea__field--resize-vertical{resize:vertical}.textarea__field--resize-horizontal{resize:horizontal}.textarea__field--resize-both{resize:both}.textarea__field--auto-resize{resize:none;overflow:hidden}.textarea__counter{position:absolute;bottom:5px;right:18px;font-size:11px;font-weight:var(--font-weight-medium);line-height:1rem;letter-spacing:-.11px;color:var(--color-secondary);background-color:var(--color-light-bg-2);border-radius:var(--radius-sm, 4px);padding:0 var(--spacing-1);white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none}.textarea__wrap--no-grip .textarea__counter{right:4px}.textarea__clear-btn{border:none;background:transparent;color:var(--color-tertiary);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;outline:none;line-height:0;transition:color var(--transition-speed-fast) var(--transition-timing)}.textarea__clear-btn:hover{color:var(--color-body-text)}";var d=Object.defineProperty,c=Object.getOwnPropertyDescriptor,r=(n,e,a,s)=>{for(var o=s>1?void 0:s?c(e,a):e,l=n.length-1,h;l>=0;l--)(h=n[l])&&(o=(s?h(e,a,o):h(o))||o);return s&&o&&d(e,a,o),o};exports.TextArea=class extends i.LitElement{constructor(){super(...arguments),this.value="",this.placeholder="",this.name="",this.autocomplete="",this.rows=3,this.maxRows=8,this.wrap="soft",this.resize="vertical",this.autoResize=!0,this.size="default",this.variant="default",this.label="",this.helper="",this.error="",this.required=!1,this.disabled=!1,this.readonly=!1,this._internalError="",this._charCount=0,this.handleInput=e=>{const a=e.target;this.value=a.value,this._charCount=this.value.length,this.autoResize&&this.adjustHeight(),this._internalError&&(this._internalError="",this._textareaElement.setCustomValidity("")),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value,originalEvent:e}}))},this.handleChange=e=>{const a=e.target;this.value=a.value,a.checkValidity()||(this._internalError=a.validationMessage),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value,originalEvent:e}}))},this.handleKeyDown=e=>{this.dispatchEvent(new CustomEvent("keydown",{bubbles:!0,composed:!0,detail:{key:e.key,originalEvent:e}}))},this.handleKeyUp=e=>{this.dispatchEvent(new CustomEvent("keyup",{bubbles:!0,composed:!0,detail:{key:e.key,originalEvent:e}}))},this.handleClear=()=>{this.value="",this._charCount=0,this._textareaElement&&(this._textareaElement.value="",this.autoResize&&this.adjustHeight()),this.dispatchEvent(new CustomEvent("clear",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:"",originalEvent:null}}))}}get textareaElement(){return this._textareaElement}focus(){this._textareaElement?.focus()}blur(){this._textareaElement?.blur()}select(){this._textareaElement?.select()}setSelectionRange(e,a,s){this._textareaElement?.setSelectionRange(e,a,s)}checkValidity(){return this._textareaElement?.checkValidity()??!0}reportValidity(){return this._textareaElement?.reportValidity()??!0}setCustomValidity(e){this._textareaElement?.setCustomValidity(e),this._internalError=e,this.requestUpdate()}adjustHeight(){if(!this.autoResize||!this._textareaElement)return;const e=this._textareaElement;e.style.height="",e.style.overflow="hidden";const a=e.scrollHeight;if(a!==0){if(this.maxRows>0){const s=parseFloat(getComputedStyle(e).lineHeight)||20,o=Math.round(s*this.maxRows);if(a>=o){e.style.height=`${o}px`,e.style.overflow="auto";return}}e.style.height=`${a}px`}}getResizeClass(){return this.autoResize?"textarea__field--auto-resize":{none:"textarea__field--resize-none",vertical:"textarea__field--resize-vertical",horizontal:"textarea__field--resize-horizontal",both:"textarea__field--resize-both"}[this.resize]}firstUpdated(){this._charCount=this.value.length,this.autoResize&&requestAnimationFrame(()=>this.adjustHeight())}updated(e){super.updated(e),e.has("value")&&(this._charCount=this.value.length,this.autoResize&&this.adjustHeight())}getWrapClass(){return this.autoResize||this.resize==="none"?"textarea__wrap textarea__wrap--no-grip":"textarea__wrap"}render(){const e=this.error||this._internalError,a=!!this.value&&!this.disabled&&!this.readonly,s=this.maxlength!=null,o=`textarea__field ${this.getResizeClass()}`;return i.html`
2
- <logosphere-formfield
3
- .label=${this.label}
4
- .helper=${this.helper}
5
- .error=${e}
6
- .required=${this.required}
7
- .disabled=${this.disabled}
8
- .readonly=${this.readonly}
9
- .size=${this.size}
10
- .variant=${this.variant}
11
- .multiline=${!0}
12
- >
13
- <slot name="prefix" slot="prefix"></slot>
14
- <div class="${this.getWrapClass()}">
15
- <textarea
16
- class="${o}"
17
- .value=${p.live(this.value)}
18
- placeholder=${this.placeholder||i.nothing}
19
- name=${this.name||i.nothing}
20
- autocomplete=${this.autocomplete||i.nothing}
21
- ?required=${this.required}
22
- ?disabled=${this.disabled}
23
- ?readonly=${this.readonly}
24
- minlength=${this.minlength??i.nothing}
25
- maxlength=${this.maxlength??i.nothing}
26
- rows=${this.rows}
27
- cols=${this.cols??i.nothing}
28
- wrap=${this.wrap}
29
- @input=${this.handleInput}
30
- @change=${this.handleChange}
31
- @keydown=${this.handleKeyDown}
32
- @keyup=${this.handleKeyUp}
33
- ></textarea>
34
- ${s?i.html`
35
- <span class="textarea__counter">${this._charCount}/${this.maxlength}</span>
36
- `:i.nothing}
37
- </div>
38
- ${a?i.html`
39
- <button
40
- type="button"
41
- slot="clear"
42
- class="textarea__clear-btn"
43
- @click=${this.handleClear}
44
- tabindex="-1"
45
- >
46
- <ui-icon name="uil-times" size="14"></ui-icon>
47
- </button>
48
- `:i.nothing}
49
- <slot name="suffix" slot="suffix"></slot>
50
- </logosphere-formfield>
51
- `}};exports.TextArea.styles=[i.css`${i.unsafeCSS(u)}`];r([t.query("textarea")],exports.TextArea.prototype,"_textareaElement",2);r([t.property({type:String})],exports.TextArea.prototype,"value",2);r([t.property({type:String})],exports.TextArea.prototype,"placeholder",2);r([t.property({type:String})],exports.TextArea.prototype,"name",2);r([t.property({type:String})],exports.TextArea.prototype,"autocomplete",2);r([t.property({type:Number})],exports.TextArea.prototype,"minlength",2);r([t.property({type:Number})],exports.TextArea.prototype,"maxlength",2);r([t.property({type:Number})],exports.TextArea.prototype,"rows",2);r([t.property({type:Number})],exports.TextArea.prototype,"maxRows",2);r([t.property({type:Number})],exports.TextArea.prototype,"cols",2);r([t.property({type:String})],exports.TextArea.prototype,"wrap",2);r([t.property({type:String})],exports.TextArea.prototype,"resize",2);r([t.property({type:Boolean})],exports.TextArea.prototype,"autoResize",2);r([t.property({type:String})],exports.TextArea.prototype,"size",2);r([t.property({type:String})],exports.TextArea.prototype,"variant",2);r([t.property({type:String})],exports.TextArea.prototype,"label",2);r([t.property({type:String})],exports.TextArea.prototype,"helper",2);r([t.property({type:String})],exports.TextArea.prototype,"error",2);r([t.property({type:Boolean})],exports.TextArea.prototype,"required",2);r([t.property({type:Boolean})],exports.TextArea.prototype,"disabled",2);r([t.property({type:Boolean})],exports.TextArea.prototype,"readonly",2);r([t.state()],exports.TextArea.prototype,"_internalError",2);r([t.state()],exports.TextArea.prototype,"_charCount",2);exports.TextArea=r([t.customElement("logosphere-textarea")],exports.TextArea);
@@ -1,64 +0,0 @@
1
- "use strict";const o=require("lit"),a=require("lit/decorators.js"),m=require("lit/directives/repeat.js");require("./ui-icon-DIucAQC_.cjs");require("./button-DRZ4sG4T.cjs");const d=".toast{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;width:100%;box-sizing:border-box;border-radius:var(--radius-md);border-left:4px solid var(--toast-accent);background:#fff;box-shadow:var(--shadow-md);padding:var(--spacing-4);color:#3d3d3d;font-family:var(--font-family-base);animation:toast-enter .22s cubic-bezier(.2,.8,.2,1);transform-origin:top right}.toast__icon{display:inline-flex;margin-top:2px;color:var(--toast-accent)}.toast__content{min-width:0}.toast__title{margin:0;font-size:var(--font-size-lg);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}.toast__title--as-text{font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-regular);color:#555}.toast__text{margin:4px 0 0;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:#555}.toast__actions{display:flex;gap:10px;margin-top:12px}.toast__close{border:0;background:transparent;color:#5a5a5a;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}.toast__close:hover{color:#2f2f2f}.toast--success{--toast-accent: var(--color-success-active)}.toast--danger{--toast-accent: var(--color-danger-active)}.toast--warning{--toast-accent: var(--color-warning-active)}.toast--info{--toast-accent: var(--color-info-active)}.toast[data-closing=true]{pointer-events:none;animation:toast-exit .22s cubic-bezier(.4,0,1,1) forwards}@keyframes toast-enter{0%{opacity:0;transform:translate3d(18px,-8px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translateZ(0) scale(1);max-height:240px;margin-bottom:0}to{opacity:0;transform:translate3d(20px,-6px,0) scale(.97);max-height:0;margin-bottom:-12px}}";var g=Object.defineProperty,f=Object.getOwnPropertyDescriptor,r=(n,t,e,s)=>{for(var i=s>1?void 0:s?f(t,e):t,c=n.length-1,l;c>=0;c--)(l=n[c])&&(i=(s?l(t,e,i):l(i))||i);return s&&i&&g(t,e,i),i};const h=6e3,T=220,v={success:"uil-check-circle",danger:"uil-exclamation-octagon",warning:"uil-exclamation-triangle",info:"uil-info-circle"};exports.LogosphereToast=class extends o.LitElement{constructor(){super(...arguments),this.type="info",this.title="",this.text="",this.icon="",this.closeable=!0,this.duration=h,this.autoDismiss=!0,this.isClosing=!1,this.remainingMs=h,this.startedAt=0}connectedCallback(){super.connectedCallback(),this.remainingMs=this.duration,this.startTimer()}disconnectedCallback(){super.disconnectedCallback(),this.clearTimer(),this.closeTimerId&&(clearTimeout(this.closeTimerId),this.closeTimerId=void 0)}updated(t){t.has("duration")&&(this.remainingMs=this.duration,this.restartTimer()),(t.has("action")||t.has("autoDismiss")||t.has("type"))&&this.restartTimer()}close(t="manual"){this.isClosing||(this.clearTimer(),this.isClosing=!0,this.closeTimerId=setTimeout(()=>{this.dispatchEvent(new CustomEvent("toast-close",{detail:{reason:t},bubbles:!0,composed:!0}))},T))}get canAutoDismiss(){return this.autoDismiss&&this.type!=="danger"&&!this.hasActions}get resolvedTitle(){return this.title||this.text}get resolvedText(){return this.title?this.text:""}get resolvedIcon(){return this.icon||v[this.type]}get hasActions(){return!!this.action}onActionClick(t){this.action&&(t==="okay"?this.action.onOkay?.():this.action.onCancel?.(),(this.action.closeOnAction??!0)&&this.close("manual"))}clearTimer(){this.timerId&&(clearTimeout(this.timerId),this.timerId=void 0)}startTimer(){this.clearTimer(),!(!this.canAutoDismiss||this.remainingMs<=0)&&(this.startedAt=Date.now(),this.timerId=setTimeout(()=>this.close("auto"),this.remainingMs))}pauseTimer(){this.timerId&&(this.clearTimer(),this.remainingMs=Math.max(0,this.remainingMs-(Date.now()-this.startedAt)))}resumeTimer(){this.canAutoDismiss&&this.startTimer()}restartTimer(){this.clearTimer(),this.startTimer()}render(){return o.html`
2
- <article
3
- class="toast toast--${this.type}"
4
- data-closing=${this.isClosing?"true":"false"}
5
- role="status"
6
- aria-live=${this.type==="danger"?"assertive":"polite"}
7
- @mouseenter=${this.pauseTimer}
8
- @mouseleave=${this.resumeTimer}
9
- >
10
- <span class="toast__icon">
11
- <ui-icon name=${this.resolvedIcon} size="20"></ui-icon>
12
- </span>
13
-
14
- <div class="toast__content">
15
- <h4 class=${this.title?"toast__title":"toast__title toast__title--as-text"}>
16
- ${this.resolvedTitle}
17
- </h4>
18
- ${this.resolvedText?o.html`<p class="toast__text">${this.resolvedText}</p>`:o.nothing}
19
- ${this.hasActions?o.html`
20
- <div class="toast__actions">
21
- <logosphere-button
22
- variant="outline"
23
- theme="primary"
24
- @click=${()=>this.onActionClick("okay")}
25
- >
26
- ${this.action?.okayLabel||"Tamam"}
27
- </logosphere-button>
28
- <logosphere-button
29
- variant="text"
30
- theme="secondary"
31
- @click=${()=>this.onActionClick("cancel")}
32
- >
33
- ${this.action?.cancelLabel||"İptal"}
34
- </logosphere-button>
35
- </div>
36
- `:o.nothing}
37
- </div>
38
-
39
- ${this.closeable?o.html`
40
- <button class="toast__close" @click=${()=>this.close("manual")} aria-label="Close">
41
- <ui-icon name="uil-times" size="20"></ui-icon>
42
- </button>
43
- `:o.nothing}
44
- </article>
45
- `}};exports.LogosphereToast.styles=[o.css`
46
- ${o.unsafeCSS(d)}
47
- `];r([a.property({type:String})],exports.LogosphereToast.prototype,"type",2);r([a.property({type:String,attribute:"toast-title"})],exports.LogosphereToast.prototype,"title",2);r([a.property({type:String})],exports.LogosphereToast.prototype,"text",2);r([a.property({type:String})],exports.LogosphereToast.prototype,"icon",2);r([a.property({type:Boolean})],exports.LogosphereToast.prototype,"closeable",2);r([a.property({type:Number})],exports.LogosphereToast.prototype,"duration",2);r([a.property({type:Boolean})],exports.LogosphereToast.prototype,"autoDismiss",2);r([a.property({attribute:!1})],exports.LogosphereToast.prototype,"action",2);r([a.state()],exports.LogosphereToast.prototype,"isClosing",2);exports.LogosphereToast=r([a.customElement("logosphere-toast")],exports.LogosphereToast);const b=":host{position:fixed;top:16px;right:16px;z-index:9999;width:min(420px,calc(100vw - 24px));box-sizing:border-box}.toast-container{display:flex;flex-direction:column;gap:12px}";var y=Object.defineProperty,x=Object.getOwnPropertyDescriptor,p=(n,t,e,s)=>{for(var i=s>1?void 0:s?x(t,e):t,c=n.length-1,l;c>=0;c--)(l=n[c])&&(i=(s?l(t,e,i):l(i))||i);return s&&i&&y(t,e,i),i};const u=4;exports.LogosphereToastContainer=class extends o.LitElement{constructor(){super(...arguments),this.visibleToasts=[],this.queuedToasts=[]}show(t){const e=this.toToast(t);return this.visibleToasts.length<u?(this.visibleToasts=[e,...this.visibleToasts],e.id):(this.queuedToasts.push(e),e.id)}close(t){const e=this.visibleToasts.findIndex(s=>s.id===t);if(e!==-1){const s=this.visibleToasts.slice();s.splice(e,1),this.visibleToasts=s,this.dequeue();return}this.queuedToasts=this.queuedToasts.filter(s=>s.id!==t)}clear(){this.visibleToasts=[],this.queuedToasts=[]}dequeue(){if(!this.queuedToasts.length||this.visibleToasts.length>=u)return;const t=this.queuedToasts.shift();t&&(this.visibleToasts=[t,...this.visibleToasts])}toToast(t){return{id:t.id||this.createId(),type:t.type||"info",title:t.title||"",text:t.text,icon:t.icon||"",closeable:t.closeable??!0,autoDismiss:t.autoDismiss??!0,duration:t.duration??6e3,action:t.action}}createId(){return`toast-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}render(){return o.html`
48
- <div class="toast-container" role="region" aria-label="Notifications">
49
- ${m.repeat(this.visibleToasts,t=>t.id,t=>o.html`
50
- <logosphere-toast
51
- .type=${t.type}
52
- .title=${t.title}
53
- .text=${t.text}
54
- .icon=${t.icon}
55
- .closeable=${t.closeable}
56
- .autoDismiss=${t.autoDismiss}
57
- .duration=${t.duration}
58
- .action=${t.action}
59
- @toast-close=${()=>this.close(t.id)}
60
- >
61
- </logosphere-toast>
62
- `)}
63
- </div>
64
- `}};exports.LogosphereToastContainer.styles=[o.css`${o.unsafeCSS(b)}`];p([a.state()],exports.LogosphereToastContainer.prototype,"visibleToasts",2);exports.LogosphereToastContainer=p([a.customElement("logosphere-toast-container")],exports.LogosphereToastContainer);class _{static show(t){return this.getContainer().show(t)}static success(t){return this.show({...t,type:"success"})}static danger(t){return this.show({...t,type:"danger",autoDismiss:!1})}static warning(t){return this.show({...t,type:"warning"})}static info(t){return this.show({...t,type:"info"})}static close(t){this.getContainer().close(t)}static clear(){this.getContainer().clear()}static getContainer(){if(this.container&&document.body.contains(this.container))return this.container;const t=document.querySelector("logosphere-toast-container");if(t&&t instanceof exports.LogosphereToastContainer)return this.container=t,t;const e=document.createElement("logosphere-toast-container");return document.body.appendChild(e),this.container=e,e}}exports.ToastService=_;