sakana-element 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/README.md +98 -25
  2. package/dist/es/{Alert-C76ZWSVk.js → Alert-DfLsJvQD.js} +2 -2
  3. package/dist/es/Avatar-Ci4OKsv7.js +9 -0
  4. package/dist/es/{Badge-CoFWwBwv.js → Badge-B4wEToK6.js} +2 -2
  5. package/dist/es/{Breadcrumb-BtrwTVKW.js → Breadcrumb-BFzww8jd.js} +2 -2
  6. package/dist/es/{Button-S_31-UWJ.js → Button-DbFviVWb.js} +3 -3
  7. package/dist/es/{Card-DcW6nHYD.js → Card-ClRqKkc_.js} +2 -2
  8. package/dist/es/ChatBubble-DFEV_lVI.js +9 -0
  9. package/dist/es/Checkbox-l86YI3Fr.js +51 -0
  10. package/dist/es/{Collapse-DsS7M-m3.js → Collapse-B67v6RSE.js} +4 -4
  11. package/dist/es/{ConfigProvider-BgIewHXP.js → ConfigProvider-BCoGbcS5.js} +2 -2
  12. package/dist/es/Diff-BLiniLom.js +64 -0
  13. package/dist/es/Divider-DDSOHv8G.js +9 -0
  14. package/dist/es/Drawer-apeXw6EO.js +40 -0
  15. package/dist/es/Dropdown-By9qIErf.js +104 -0
  16. package/dist/es/{FileInput-BQ59woas.js → FileInput-CZ5jTfB_.js} +3 -3
  17. package/dist/es/Filter-B_1zU4Dq.js +40 -0
  18. package/dist/es/Form-B_XDnSjK.js +123 -0
  19. package/dist/es/{Icon-DpJyuj7c.js → Icon-D6qRB3pq.js} +1 -1
  20. package/dist/es/Indicator-C6Ip4dpP.js +9 -0
  21. package/dist/es/{Input-CiE4bPJN.js → Input-bThwBbNZ.js} +7 -7
  22. package/dist/es/Kbd-DXNjs7at.js +13 -0
  23. package/dist/es/{Link-B9B2APZq.js → Link-08Ee61Fv.js} +1 -1
  24. package/dist/es/{Loading-BW99pE5N.js → Loading-ByI9mjss.js} +13 -13
  25. package/dist/es/Message-CGG-lV5I.js +152 -0
  26. package/dist/es/Notification-B4clKY5h.js +69 -0
  27. package/dist/es/{Overlay-BRDSWspM.js → Overlay-6iPenJB1.js} +1 -1
  28. package/dist/es/Pixelate-A8J7jxDW.js +39 -0
  29. package/dist/es/Popconfirm-gcHGcOTz.js +23 -0
  30. package/dist/es/Progress-DFUBJQ4X.js +12 -0
  31. package/dist/es/Radio-CLBa1XIM.js +33 -0
  32. package/dist/es/Resizable-BWrFr2oj.js +151 -0
  33. package/dist/es/{Select-Dwqv8isB.js → Select-BtLqds1d.js} +20 -20
  34. package/dist/es/Skeleton-CGUQv3nQ.js +15 -0
  35. package/dist/es/{Switch-B1Gnv1tB.js → Switch-CZJ-S77_.js} +3 -3
  36. package/dist/es/Table-lHbxiyGq.js +10 -0
  37. package/dist/es/Tooltip-CdPqNYdn.js +74 -0
  38. package/dist/es/Validator-7ZT_nXDZ.js +40 -0
  39. package/dist/es/hooks-pU4JmsO3.js +171 -0
  40. package/dist/es/index.js +107 -70
  41. package/dist/es/utils-BXICIEsD.js +139 -0
  42. package/dist/es/{vendor-DXmGx29U.js → vendor-DrBJKLFW.js} +254 -210
  43. package/dist/index.css +1 -1
  44. package/dist/theme/Avatar.css +13 -43
  45. package/dist/theme/Badge.css +151 -151
  46. package/dist/theme/Breadcrumb.css +46 -4
  47. package/dist/theme/Button.css +72 -8
  48. package/dist/theme/Card.css +177 -93
  49. package/dist/theme/ChatBubble.css +218 -0
  50. package/dist/theme/Checkbox.css +604 -0
  51. package/dist/theme/Collapse.css +96 -96
  52. package/dist/theme/Diff.css +110 -0
  53. package/dist/theme/Divider.css +150 -0
  54. package/dist/theme/Drawer.css +206 -0
  55. package/dist/theme/Dropdown.css +359 -75
  56. package/dist/theme/FileInput.css +32 -0
  57. package/dist/theme/Filter.css +598 -0
  58. package/dist/theme/Indicator.css +159 -0
  59. package/dist/theme/Input.css +414 -406
  60. package/dist/theme/Kbd.css +104 -0
  61. package/dist/theme/Link.css +22 -3
  62. package/dist/theme/Loading.css +50 -12
  63. package/dist/theme/Message.css +250 -41
  64. package/dist/theme/Notification.css +232 -42
  65. package/dist/theme/Popconfirm.css +23 -7
  66. package/dist/theme/Progress.css +278 -0
  67. package/dist/theme/Radio.css +492 -0
  68. package/dist/theme/Resizable.css +95 -0
  69. package/dist/theme/Select.css +198 -88
  70. package/dist/theme/Skeleton.css +192 -0
  71. package/dist/theme/Switch.css +22 -3
  72. package/dist/theme/Table.css +680 -0
  73. package/dist/theme/Tooltip.css +150 -26
  74. package/dist/theme/Validator.css +25 -0
  75. package/dist/types/components/Avatar/types.d.ts +0 -2
  76. package/dist/types/components/ChatBubble/constants.d.ts +2 -0
  77. package/dist/types/components/ChatBubble/index.d.ts +27 -0
  78. package/dist/types/components/ChatBubble/types.d.ts +10 -0
  79. package/dist/types/components/Checkbox/constants.d.ts +5 -0
  80. package/dist/types/components/Checkbox/index.d.ts +94 -0
  81. package/dist/types/components/Checkbox/types.d.ts +46 -0
  82. package/dist/types/components/Collapse/index.d.ts +5 -5
  83. package/dist/types/components/Diff/constants.d.ts +4 -0
  84. package/dist/types/components/Diff/index.d.ts +67 -0
  85. package/dist/types/components/Diff/types.d.ts +29 -0
  86. package/dist/types/components/Divider/index.d.ts +30 -0
  87. package/dist/types/components/Divider/types.d.ts +10 -0
  88. package/dist/types/components/Drawer/constants.d.ts +1 -0
  89. package/dist/types/components/Drawer/index.d.ts +72 -0
  90. package/dist/types/components/Drawer/types.d.ts +20 -0
  91. package/dist/types/components/Dropdown/index.d.ts +13 -3
  92. package/dist/types/components/Dropdown/types.d.ts +3 -0
  93. package/dist/types/components/Dropdown/useDropdownKeyboard.d.ts +8 -0
  94. package/dist/types/components/FileInput/index.d.ts +5 -5
  95. package/dist/types/components/Filter/constants.d.ts +5 -0
  96. package/dist/types/components/Filter/index.d.ts +59 -0
  97. package/dist/types/components/Filter/types.d.ts +38 -0
  98. package/dist/types/components/Indicator/constants.d.ts +2 -0
  99. package/dist/types/components/Indicator/index.d.ts +28 -0
  100. package/dist/types/components/Indicator/types.d.ts +10 -0
  101. package/dist/types/components/Input/index.d.ts +10 -10
  102. package/dist/types/components/Kbd/constants.d.ts +3 -0
  103. package/dist/types/components/Kbd/index.d.ts +24 -0
  104. package/dist/types/components/Kbd/types.d.ts +10 -0
  105. package/dist/types/components/Message/methods.d.ts +2 -0
  106. package/dist/types/components/Message/types.d.ts +7 -1
  107. package/dist/types/components/MessageBox/types.d.ts +14 -2
  108. package/dist/types/components/Notification/methods.d.ts +3 -0
  109. package/dist/types/components/Notification/types.d.ts +8 -2
  110. package/dist/types/components/Pixelate/constants.d.ts +2 -0
  111. package/dist/types/components/Pixelate/index.d.ts +71 -0
  112. package/dist/types/components/Pixelate/types.d.ts +23 -0
  113. package/dist/types/components/Popconfirm/index.d.ts +18 -9
  114. package/dist/types/components/Popconfirm/types.d.ts +2 -1
  115. package/dist/types/components/Progress/constants.d.ts +2 -0
  116. package/dist/types/components/Progress/index.d.ts +50 -0
  117. package/dist/types/components/Progress/types.d.ts +22 -0
  118. package/dist/types/components/Radio/constants.d.ts +5 -0
  119. package/dist/types/components/Radio/index.d.ts +88 -0
  120. package/dist/types/components/Radio/types.d.ts +43 -0
  121. package/dist/types/components/Resizable/constants.d.ts +3 -0
  122. package/dist/types/components/Resizable/index.d.ts +135 -0
  123. package/dist/types/components/Resizable/types.d.ts +52 -0
  124. package/dist/types/components/Select/index.d.ts +32 -23
  125. package/dist/types/components/Skeleton/index.d.ts +36 -0
  126. package/dist/types/components/Skeleton/types.d.ts +12 -0
  127. package/dist/types/components/Switch/index.d.ts +5 -5
  128. package/dist/types/components/Table/index.d.ts +27 -0
  129. package/dist/types/components/Table/types.d.ts +20 -0
  130. package/dist/types/components/Tooltip/index.d.ts +9 -3
  131. package/dist/types/components/Tooltip/types.d.ts +7 -0
  132. package/dist/types/components/Validator/index.d.ts +52 -0
  133. package/dist/types/components/Validator/types.d.ts +13 -0
  134. package/dist/types/components/index.d.ts +15 -0
  135. package/dist/types/hooks/index.d.ts +3 -1
  136. package/dist/types/hooks/useDraggable.d.ts +7 -0
  137. package/dist/types/hooks/useFocusTrap.d.ts +5 -0
  138. package/dist/types/utils/index.d.ts +2 -0
  139. package/dist/types/utils/instance-management.d.ts +40 -0
  140. package/dist/types/utils/pixelate.d.ts +10 -0
  141. package/dist/types/utils/style.d.ts +1 -0
  142. package/dist/umd/index.css +1 -1
  143. package/dist/umd/index.css.gz +0 -0
  144. package/dist/umd/index.umd.cjs +4 -4
  145. package/dist/umd/index.umd.cjs.gz +0 -0
  146. package/package.json +59 -59
  147. package/dist/es/Avatar-CxsRW-wl.js +0 -9
  148. package/dist/es/Dropdown-GcomGMAI.js +0 -40
  149. package/dist/es/Form-j90EzLXU.js +0 -122
  150. package/dist/es/Message-DCNnTUje.js +0 -123
  151. package/dist/es/Notification-CBzY5904.js +0 -58
  152. package/dist/es/Popconfirm-DF6d2ORS.js +0 -23
  153. package/dist/es/Tooltip-k6gKnMyt.js +0 -74
  154. package/dist/es/hooks-BaG7l8K5.js +0 -116
  155. package/dist/es/utils-bsCscZfS.js +0 -84
@@ -1,29 +1,29 @@
1
1
  /* Tooltip Variables */
2
- .px-tooltip[data-v-4e2bfb45] {
3
- --px-popover-bg-color: var(--px-bg-color);
4
- --px-popover-font-size: var(--px-font-size-base);
5
- --px-popover-border-color: var(--px-border-color-dark);
6
- --px-popover-padding: 10px 14px;
7
- --px-popover-shadow-color: var(--px-shadow-color);
2
+ .px-tooltip[data-v-d982dfd2] {
3
+ --px-tooltip-bg-color: var(--px-bg-color);
4
+ --px-tooltip-font-size: var(--px-font-size-base);
5
+ --px-tooltip-border-color: var(--px-border-color-dark);
6
+ --px-tooltip-padding: 10px 14px;
7
+ --px-tooltip-shadow-color: var(--px-shadow-color);
8
8
  display: inline-block;
9
9
  }
10
10
  /* Base Tooltip Styles - Pixel Game Style */
11
11
  /* No smooth transitions for pixel feel */
12
- .px-tooltip .fade-enter-active[data-v-4e2bfb45],
13
- .px-tooltip .fade-leave-active[data-v-4e2bfb45] {
12
+ .px-tooltip .fade-enter-active[data-v-d982dfd2],
13
+ .px-tooltip .fade-leave-active[data-v-d982dfd2] {
14
14
  transition: none;
15
15
  }
16
- .px-tooltip .fade-enter-from[data-v-4e2bfb45],
17
- .px-tooltip .fade-leave-to[data-v-4e2bfb45] {
16
+ .px-tooltip .fade-enter-from[data-v-d982dfd2],
17
+ .px-tooltip .fade-leave-to[data-v-d982dfd2] {
18
18
  opacity: 0;
19
19
  }
20
20
  /* Popper container - Pixel style box */
21
- .px-tooltip .px-tooltip__popper[data-v-4e2bfb45] {
21
+ .px-tooltip .px-tooltip__popper[data-v-d982dfd2] {
22
22
  background: transparent;
23
- padding: var(--px-popover-padding);
23
+ padding: var(--px-tooltip-padding);
24
24
  color: var(--px-text-color-primary);
25
25
  line-height: 1.5;
26
- font-size: var(--px-popover-font-size);
26
+ font-size: var(--px-tooltip-font-size);
27
27
  font-family: var(--px-font-family);
28
28
  word-break: break-all;
29
29
  box-sizing: border-box;
@@ -35,15 +35,15 @@
35
35
 
36
36
  /* Pixel shadow via drop-shadow (respects clip-path shape) */
37
37
  filter: drop-shadow(
38
- var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-popover-shadow-color)
38
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-tooltip-shadow-color)
39
39
  );
40
40
  }
41
41
  /* Border layer — filled with border color, clipped to pixel shape */
42
- .px-tooltip .px-tooltip__popper[data-v-4e2bfb45]::before {
42
+ .px-tooltip .px-tooltip__popper[data-v-d982dfd2]::before {
43
43
  content: "";
44
44
  position: absolute;
45
45
  inset: 0;
46
- background: var(--px-popover-border-color);
46
+ background: var(--px-tooltip-border-color);
47
47
  clip-path: polygon(
48
48
  0 4px,
49
49
  2px 4px,
@@ -68,12 +68,12 @@
68
68
  );
69
69
  z-index: -1;
70
70
  }
71
- /* Fill layer — inset by border width, filled with bg color */
72
- .px-tooltip .px-tooltip__popper[data-v-4e2bfb45]::after {
71
+ /* Fill layer — inset by border width, filled with bg color, beveled */
72
+ .px-tooltip .px-tooltip__popper[data-v-d982dfd2]::after {
73
73
  content: "";
74
74
  position: absolute;
75
75
  inset: 2px;
76
- background: var(--px-popover-bg-color);
76
+ background: var(--px-tooltip-bg-color);
77
77
  clip-path: polygon(
78
78
  0 4px,
79
79
  2px 4px,
@@ -96,16 +96,140 @@
96
96
  2px calc(100% - 4px),
97
97
  0 calc(100% - 4px)
98
98
  );
99
+ box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.35), inset -2px -2px 0 rgba(0, 0, 0, 0.08);
99
100
  z-index: -1;
100
101
  }
101
- /* Hide arrow for pixel style - pixel boxes don't need arrows */
102
- .px-tooltip .px-tooltip__popper #arrow[data-v-4e2bfb45] {
103
- display: none;
102
+ /* Pixel arrow base */
103
+ .px-tooltip .px-tooltip__popper .px-tooltip__arrow[data-v-d982dfd2] {
104
+ position: absolute;
105
+ background: var(--px-tooltip-border-color);
106
+ z-index: 1;
107
+ }
108
+ /* Top placement → arrow points down at bottom edge */
109
+ .px-tooltip .px-tooltip__popper[data-popper-placement^='top'] .px-tooltip__arrow[data-v-d982dfd2] {
110
+ bottom: -6px;
111
+ width: 10px;
112
+ height: 6px;
113
+ clip-path: polygon(
114
+ 0 0, 10px 0,
115
+ 10px 2px, 8px 2px,
116
+ 8px 4px, 6px 4px,
117
+ 6px 6px, 4px 6px,
118
+ 4px 4px, 2px 4px,
119
+ 2px 2px, 0 2px
120
+ );
121
+ }
122
+ /* Bottom placement → arrow points up at top edge */
123
+ .px-tooltip .px-tooltip__popper[data-popper-placement^='bottom'] .px-tooltip__arrow[data-v-d982dfd2] {
124
+ top: -6px;
125
+ width: 10px;
126
+ height: 6px;
127
+ clip-path: polygon(
128
+ 4px 0, 6px 0,
129
+ 6px 2px, 8px 2px,
130
+ 8px 4px, 10px 4px,
131
+ 10px 6px, 0 6px,
132
+ 0 4px, 2px 4px,
133
+ 2px 2px, 4px 2px
134
+ );
135
+ }
136
+ /* Left placement → arrow points right at right edge */
137
+ .px-tooltip .px-tooltip__popper[data-popper-placement^='left'] .px-tooltip__arrow[data-v-d982dfd2] {
138
+ right: -6px;
139
+ width: 6px;
140
+ height: 10px;
141
+ clip-path: polygon(
142
+ 0 0, 2px 0,
143
+ 2px 2px, 4px 2px,
144
+ 4px 4px, 6px 4px,
145
+ 6px 6px, 4px 6px,
146
+ 4px 8px, 2px 8px,
147
+ 2px 10px, 0 10px
148
+ );
149
+ }
150
+ /* Right placement → arrow points left at left edge */
151
+ .px-tooltip .px-tooltip__popper[data-popper-placement^='right'] .px-tooltip__arrow[data-v-d982dfd2] {
152
+ left: -6px;
153
+ width: 6px;
154
+ height: 10px;
155
+ clip-path: polygon(
156
+ 6px 0, 6px 10px,
157
+ 4px 10px, 4px 8px,
158
+ 2px 8px, 2px 6px,
159
+ 0 6px, 0 4px,
160
+ 2px 4px, 2px 2px,
161
+ 4px 2px, 4px 0
162
+ );
104
163
  }
105
164
  /* Dark tooltip variant */
106
- .px-tooltip--dark .px-tooltip__popper[data-v-4e2bfb45] {
107
- --px-popover-bg-color: var(--px-text-color-primary);
108
- --px-popover-border-color: var(--px-text-color-primary);
109
- --px-popover-shadow-color: rgba(0, 0, 0, 0.4);
165
+ .px-tooltip--dark .px-tooltip__popper[data-v-d982dfd2] {
166
+ --px-tooltip-bg-color: var(--px-text-color-primary);
167
+ --px-tooltip-border-color: var(--px-text-color-primary);
168
+ --px-tooltip-shadow-color: rgba(0, 0, 0, 0.4);
110
169
  color: var(--px-bg-color);
111
170
  }
171
+ .px-tooltip--dark .px-tooltip__popper[data-v-d982dfd2]::after {
172
+ box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.15), inset -2px -2px 0 rgba(0, 0, 0, 0.2);
173
+ }
174
+ /* Light tooltip variant */
175
+ .px-tooltip--light .px-tooltip__popper[data-v-d982dfd2] {
176
+ --px-tooltip-bg-color: var(--px-bg-color);
177
+ --px-tooltip-border-color: var(--px-border-color);
178
+ color: var(--px-text-color-primary);
179
+ }
180
+ /* Type variants — themed colors */
181
+ .px-tooltip--primary .px-tooltip__popper[data-v-d982dfd2] {
182
+ --px-tooltip-bg-color: var(--px-color-primary);
183
+ --px-tooltip-border-color: var(--px-color-primary-dark);
184
+ --px-tooltip-shadow-color: var(--px-color-primary-dark);
185
+ color: #fff;
186
+ }
187
+ .px-tooltip--primary.px-tooltip--light .px-tooltip__popper[data-v-d982dfd2] {
188
+ --px-tooltip-bg-color: var(--px-color-primary-light-9);
189
+ --px-tooltip-border-color: var(--px-color-primary);
190
+ color: var(--px-color-primary);
191
+ }
192
+ .px-tooltip--success .px-tooltip__popper[data-v-d982dfd2] {
193
+ --px-tooltip-bg-color: var(--px-color-success);
194
+ --px-tooltip-border-color: var(--px-color-success-dark);
195
+ --px-tooltip-shadow-color: var(--px-color-success-dark);
196
+ color: #fff;
197
+ }
198
+ .px-tooltip--success.px-tooltip--light .px-tooltip__popper[data-v-d982dfd2] {
199
+ --px-tooltip-bg-color: var(--px-color-success-light-9);
200
+ --px-tooltip-border-color: var(--px-color-success);
201
+ color: var(--px-color-success);
202
+ }
203
+ .px-tooltip--info .px-tooltip__popper[data-v-d982dfd2] {
204
+ --px-tooltip-bg-color: var(--px-color-info);
205
+ --px-tooltip-border-color: var(--px-color-info-dark);
206
+ --px-tooltip-shadow-color: var(--px-color-info-dark);
207
+ color: #fff;
208
+ }
209
+ .px-tooltip--info.px-tooltip--light .px-tooltip__popper[data-v-d982dfd2] {
210
+ --px-tooltip-bg-color: var(--px-color-info-light-9);
211
+ --px-tooltip-border-color: var(--px-color-info);
212
+ color: var(--px-color-info);
213
+ }
214
+ .px-tooltip--warning .px-tooltip__popper[data-v-d982dfd2] {
215
+ --px-tooltip-bg-color: var(--px-color-warning);
216
+ --px-tooltip-border-color: var(--px-color-warning-dark);
217
+ --px-tooltip-shadow-color: var(--px-color-warning-dark);
218
+ color: #fff;
219
+ }
220
+ .px-tooltip--warning.px-tooltip--light .px-tooltip__popper[data-v-d982dfd2] {
221
+ --px-tooltip-bg-color: var(--px-color-warning-light-9);
222
+ --px-tooltip-border-color: var(--px-color-warning);
223
+ color: var(--px-color-warning);
224
+ }
225
+ .px-tooltip--danger .px-tooltip__popper[data-v-d982dfd2] {
226
+ --px-tooltip-bg-color: var(--px-color-danger);
227
+ --px-tooltip-border-color: var(--px-color-danger-dark);
228
+ --px-tooltip-shadow-color: var(--px-color-danger-dark);
229
+ color: #fff;
230
+ }
231
+ .px-tooltip--danger.px-tooltip--light .px-tooltip__popper[data-v-d982dfd2] {
232
+ --px-tooltip-bg-color: var(--px-color-danger-light-9);
233
+ --px-tooltip-border-color: var(--px-color-danger);
234
+ color: var(--px-color-danger);
235
+ }
@@ -0,0 +1,25 @@
1
+ .px-validator[data-v-9c099378] {
2
+ display: inline-flex;
3
+ flex-direction: column;
4
+ font-family: var(--px-font-family);
5
+ }
6
+ .px-validator__content[data-v-9c099378] {
7
+ display: contents;
8
+ }
9
+ .px-validator__hint[data-v-9c099378] {
10
+ min-height: 1.4em;
11
+ padding-top: 4px;
12
+ font-size: var(--px-font-size-small);
13
+ color: var(--px-color-danger);
14
+ line-height: 1.4;
15
+ transition: opacity 0.15s ease;
16
+ }
17
+ .px-validator__hint.is-hidden[data-v-9c099378] {
18
+ opacity: 0;
19
+ pointer-events: none;
20
+ }
21
+ .px-validator__hint-text[data-v-9c099378] {
22
+ display: inline-flex;
23
+ align-items: center;
24
+ gap: 4px;
25
+ }
@@ -1,10 +1,8 @@
1
1
  export type AvatarSize = 'large' | 'default' | 'small';
2
2
  export type AvatarShape = 'circle' | 'square';
3
- export type AvatarStatus = 'online' | 'offline';
4
3
  export interface AvatarProps {
5
4
  size?: AvatarSize;
6
5
  shape?: AvatarShape;
7
6
  border?: boolean;
8
7
  color?: string;
9
- status?: AvatarStatus;
10
8
  }
@@ -0,0 +1,2 @@
1
+ import { ColorTemplate } from '@sakana-element/utils';
2
+ export declare const CHAT_COLOR_TEMPLATES: Record<string, ColorTemplate>;
@@ -0,0 +1,27 @@
1
+ export declare const PxChatBubble: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('packages/core').ChatBubbleProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
3
+ placement: import('packages/core').ChatBubblePlacement;
4
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
5
+ P: {};
6
+ B: {};
7
+ D: {};
8
+ C: {};
9
+ M: {};
10
+ Defaults: {};
11
+ }, Readonly<import('packages/core').ChatBubbleProps> & Readonly<{}>, {}, {}, {}, {}, {
12
+ placement: import('packages/core').ChatBubblePlacement;
13
+ }>;
14
+ __isFragment?: never;
15
+ __isTeleport?: never;
16
+ __isSuspense?: never;
17
+ } & import('vue').ComponentOptionsBase<Readonly<import('packages/core').ChatBubbleProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
18
+ placement: import('packages/core').ChatBubblePlacement;
19
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
20
+ $slots: {
21
+ avatar?(_: {}): any;
22
+ header?(_: {}): any;
23
+ default?(_: {}): any;
24
+ footer?(_: {}): any;
25
+ };
26
+ }) & import('vue').Plugin;
27
+ export * from './types';
@@ -0,0 +1,10 @@
1
+ export type ChatBubbleType = 'primary' | 'success' | 'info' | 'warning' | 'danger';
2
+ export type ChatBubblePlacement = 'start' | 'end';
3
+ export interface ChatBubbleProps {
4
+ placement?: ChatBubblePlacement;
5
+ type?: ChatBubbleType;
6
+ color?: string;
7
+ name?: string;
8
+ time?: string;
9
+ status?: string;
10
+ }
@@ -0,0 +1,5 @@
1
+ import { ColorTemplate } from '@sakana-element/utils';
2
+ import { InjectionKey } from 'vue';
3
+ import { CheckboxGroupContext } from './types';
4
+ export declare const CHECKBOX_GROUP_CTX_KEY: InjectionKey<CheckboxGroupContext>;
5
+ export declare const CHECKBOX_COLOR_TEMPLATES: Record<string, ColorTemplate>;
@@ -0,0 +1,94 @@
1
+ export declare const PxCheckbox: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('packages/core').CheckboxProps> & Readonly<{
3
+ onChange?: ((value: boolean) => any) | undefined;
4
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
5
+ }>, {
6
+ focus(): void;
7
+ checked: import('vue').ComputedRef<boolean>;
8
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
9
+ change: (value: boolean) => any;
10
+ "update:modelValue": (value: boolean) => any;
11
+ }, import('vue').PublicProps, {
12
+ disabled: boolean;
13
+ modelValue: boolean;
14
+ indeterminate: boolean;
15
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
16
+ inputRef: HTMLInputElement;
17
+ }, any, import('vue').ComponentProvideOptions, {
18
+ P: {};
19
+ B: {};
20
+ D: {};
21
+ C: {};
22
+ M: {};
23
+ Defaults: {};
24
+ }, Readonly<import('packages/core').CheckboxProps> & Readonly<{
25
+ onChange?: ((value: boolean) => any) | undefined;
26
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
27
+ }>, {
28
+ focus(): void;
29
+ checked: import('vue').ComputedRef<boolean>;
30
+ }, {}, {}, {}, {
31
+ disabled: boolean;
32
+ modelValue: boolean;
33
+ indeterminate: boolean;
34
+ }>;
35
+ __isFragment?: never;
36
+ __isTeleport?: never;
37
+ __isSuspense?: never;
38
+ } & import('vue').ComponentOptionsBase<Readonly<import('packages/core').CheckboxProps> & Readonly<{
39
+ onChange?: ((value: boolean) => any) | undefined;
40
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
41
+ }>, {
42
+ focus(): void;
43
+ checked: import('vue').ComputedRef<boolean>;
44
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
45
+ change: (value: boolean) => any;
46
+ "update:modelValue": (value: boolean) => any;
47
+ }, string, {
48
+ disabled: boolean;
49
+ modelValue: boolean;
50
+ indeterminate: boolean;
51
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
52
+ $slots: {
53
+ default?(_: {}): any;
54
+ };
55
+ }) & import('vue').Plugin;
56
+ export declare const PxCheckboxGroup: {
57
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('packages/core').CheckboxGroupProps> & Readonly<{
58
+ onChange?: ((value: import('packages/core').CheckboxValueType[]) => any) | undefined;
59
+ "onUpdate:modelValue"?: ((value: import('packages/core').CheckboxValueType[]) => any) | undefined;
60
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
61
+ change: (value: import('packages/core').CheckboxValueType[]) => any;
62
+ "update:modelValue": (value: import('packages/core').CheckboxValueType[]) => any;
63
+ }, import('vue').PublicProps, {
64
+ disabled: boolean;
65
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
66
+ P: {};
67
+ B: {};
68
+ D: {};
69
+ C: {};
70
+ M: {};
71
+ Defaults: {};
72
+ }, Readonly<import('packages/core').CheckboxGroupProps> & Readonly<{
73
+ onChange?: ((value: import('packages/core').CheckboxValueType[]) => any) | undefined;
74
+ "onUpdate:modelValue"?: ((value: import('packages/core').CheckboxValueType[]) => any) | undefined;
75
+ }>, {}, {}, {}, {}, {
76
+ disabled: boolean;
77
+ }>;
78
+ __isFragment?: never;
79
+ __isTeleport?: never;
80
+ __isSuspense?: never;
81
+ } & import('vue').ComponentOptionsBase<Readonly<import('packages/core').CheckboxGroupProps> & Readonly<{
82
+ onChange?: ((value: import('packages/core').CheckboxValueType[]) => any) | undefined;
83
+ "onUpdate:modelValue"?: ((value: import('packages/core').CheckboxValueType[]) => any) | undefined;
84
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
85
+ change: (value: import('packages/core').CheckboxValueType[]) => any;
86
+ "update:modelValue": (value: import('packages/core').CheckboxValueType[]) => any;
87
+ }, string, {
88
+ disabled: boolean;
89
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
90
+ $slots: {
91
+ default?(_: {}): any;
92
+ };
93
+ }) & import('vue').Plugin;
94
+ export * from './types';
@@ -0,0 +1,46 @@
1
+ import { ComputedRef } from 'vue';
2
+ export type CheckboxValueType = string | number | boolean;
3
+ export type CheckboxType = 'primary' | 'success' | 'warning' | 'danger' | 'info';
4
+ export interface CheckboxProps {
5
+ modelValue?: boolean;
6
+ value?: CheckboxValueType;
7
+ disabled?: boolean;
8
+ indeterminate?: boolean;
9
+ size?: 'small' | 'large';
10
+ type?: CheckboxType;
11
+ color?: string;
12
+ label?: string;
13
+ name?: string;
14
+ id?: string;
15
+ }
16
+ export interface CheckboxEmits {
17
+ (e: 'update:modelValue', value: boolean): void;
18
+ (e: 'change', value: boolean): void;
19
+ }
20
+ export interface CheckboxInstance {
21
+ focus(): void;
22
+ checked: ComputedRef<boolean>;
23
+ }
24
+ export interface CheckboxGroupProps {
25
+ modelValue: CheckboxValueType[];
26
+ disabled?: boolean;
27
+ size?: 'small' | 'large';
28
+ type?: CheckboxType;
29
+ color?: string;
30
+ min?: number;
31
+ max?: number;
32
+ }
33
+ export interface CheckboxGroupEmits {
34
+ (e: 'update:modelValue', value: CheckboxValueType[]): void;
35
+ (e: 'change', value: CheckboxValueType[]): void;
36
+ }
37
+ export interface CheckboxGroupContext {
38
+ modelValue: ComputedRef<CheckboxValueType[]>;
39
+ disabled: ComputedRef<boolean>;
40
+ size: ComputedRef<'small' | 'large' | undefined>;
41
+ type: ComputedRef<CheckboxType | undefined>;
42
+ color: ComputedRef<string | undefined>;
43
+ min: ComputedRef<number | undefined>;
44
+ max: ComputedRef<number | undefined>;
45
+ changeEvent(value: CheckboxValueType[]): void;
46
+ }
@@ -1,10 +1,10 @@
1
1
  export declare const PxCollapse: {
2
2
  new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('packages/core').CollapseProps> & Readonly<{
3
- "onUpdate:modelValue"?: ((value: import('packages/core').CollapseItemName[]) => any) | undefined;
4
3
  onChange?: ((value: import('packages/core').CollapseItemName[]) => any) | undefined;
4
+ "onUpdate:modelValue"?: ((value: import('packages/core').CollapseItemName[]) => any) | undefined;
5
5
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
6
- "update:modelValue": (value: import('packages/core').CollapseItemName[]) => any;
7
6
  change: (value: import('packages/core').CollapseItemName[]) => any;
7
+ "update:modelValue": (value: import('packages/core').CollapseItemName[]) => any;
8
8
  }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
9
9
  P: {};
10
10
  B: {};
@@ -13,18 +13,18 @@ export declare const PxCollapse: {
13
13
  M: {};
14
14
  Defaults: {};
15
15
  }, Readonly<import('packages/core').CollapseProps> & Readonly<{
16
- "onUpdate:modelValue"?: ((value: import('packages/core').CollapseItemName[]) => any) | undefined;
17
16
  onChange?: ((value: import('packages/core').CollapseItemName[]) => any) | undefined;
17
+ "onUpdate:modelValue"?: ((value: import('packages/core').CollapseItemName[]) => any) | undefined;
18
18
  }>, {}, {}, {}, {}, {}>;
19
19
  __isFragment?: never;
20
20
  __isTeleport?: never;
21
21
  __isSuspense?: never;
22
22
  } & import('vue').ComponentOptionsBase<Readonly<import('packages/core').CollapseProps> & Readonly<{
23
- "onUpdate:modelValue"?: ((value: import('packages/core').CollapseItemName[]) => any) | undefined;
24
23
  onChange?: ((value: import('packages/core').CollapseItemName[]) => any) | undefined;
24
+ "onUpdate:modelValue"?: ((value: import('packages/core').CollapseItemName[]) => any) | undefined;
25
25
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
26
- "update:modelValue": (value: import('packages/core').CollapseItemName[]) => any;
27
26
  change: (value: import('packages/core').CollapseItemName[]) => any;
27
+ "update:modelValue": (value: import('packages/core').CollapseItemName[]) => any;
28
28
  }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
29
29
  $slots: {
30
30
  default?(_: {}): any;
@@ -0,0 +1,4 @@
1
+ export declare const DEFAULT_POSITION = 50;
2
+ export declare const DEFAULT_DIFF_PIXEL_SIZE = 8;
3
+ export declare const DEFAULT_DIFF_BACKGROUND = "#FFFFFF";
4
+ export declare const PRESET_DIFF_COLORS: Set<string>;
@@ -0,0 +1,67 @@
1
+ export declare const PxDiff: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('packages/core').DiffProps> & Readonly<{
3
+ onError?: ((event: Event) => any) | undefined;
4
+ onChange?: ((position: number) => any) | undefined;
5
+ onRendered?: (() => any) | undefined;
6
+ }>, {
7
+ setPosition: (pos: number) => void;
8
+ getPosition: () => number;
9
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
10
+ error: (event: Event) => any;
11
+ change: (position: number) => any;
12
+ rendered: () => any;
13
+ }, import('vue').PublicProps, {
14
+ pixelSize: number;
15
+ grayscale: boolean;
16
+ background: string;
17
+ initialPosition: number;
18
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
19
+ containerRef: HTMLDivElement;
20
+ canvasRef: HTMLCanvasElement;
21
+ originRef: HTMLImageElement;
22
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
23
+ P: {};
24
+ B: {};
25
+ D: {};
26
+ C: {};
27
+ M: {};
28
+ Defaults: {};
29
+ }, Readonly<import('packages/core').DiffProps> & Readonly<{
30
+ onError?: ((event: Event) => any) | undefined;
31
+ onChange?: ((position: number) => any) | undefined;
32
+ onRendered?: (() => any) | undefined;
33
+ }>, {
34
+ setPosition: (pos: number) => void;
35
+ getPosition: () => number;
36
+ }, {}, {}, {}, {
37
+ pixelSize: number;
38
+ grayscale: boolean;
39
+ background: string;
40
+ initialPosition: number;
41
+ }>;
42
+ __isFragment?: never;
43
+ __isTeleport?: never;
44
+ __isSuspense?: never;
45
+ } & import('vue').ComponentOptionsBase<Readonly<import('packages/core').DiffProps> & Readonly<{
46
+ onError?: ((event: Event) => any) | undefined;
47
+ onChange?: ((position: number) => any) | undefined;
48
+ onRendered?: (() => any) | undefined;
49
+ }>, {
50
+ setPosition: (pos: number) => void;
51
+ getPosition: () => number;
52
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
53
+ error: (event: Event) => any;
54
+ change: (position: number) => any;
55
+ rendered: () => any;
56
+ }, string, {
57
+ pixelSize: number;
58
+ grayscale: boolean;
59
+ background: string;
60
+ initialPosition: number;
61
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
62
+ $slots: {
63
+ before?(_: {}): any;
64
+ after?(_: {}): any;
65
+ };
66
+ }) & import('vue').Plugin;
67
+ export * from './types';
@@ -0,0 +1,29 @@
1
+ export interface DiffProps {
2
+ /** Single image source — "after" side auto-pixelates this image */
3
+ src?: string;
4
+ /** Pixel block size for pixelation (default: 8) */
5
+ pixelSize?: number;
6
+ /** Apply grayscale transform to the pixelated side */
7
+ grayscale?: boolean;
8
+ /** Constrain colors to a custom palette (hex strings or RGB tuples) */
9
+ palette?: string[] | number[][];
10
+ /** Background color for transparent areas (default: '#FFFFFF') */
11
+ background?: string;
12
+ /** Initial slider position 0-100 (default: 50) */
13
+ initialPosition?: number;
14
+ /** Container width */
15
+ width?: number | string;
16
+ /** Container height */
17
+ height?: number | string;
18
+ /** Handle accent color (preset name or hex) */
19
+ color?: string;
20
+ }
21
+ export interface DiffEmits {
22
+ (e: 'change', position: number): void;
23
+ (e: 'rendered'): void;
24
+ (e: 'error', event: Event): void;
25
+ }
26
+ export interface DiffInstance {
27
+ setPosition(position: number): void;
28
+ getPosition(): number;
29
+ }
@@ -0,0 +1,30 @@
1
+ export declare const PxDivider: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('packages/core').DividerProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
3
+ direction: "horizontal" | "vertical";
4
+ contentPosition: "left" | "center" | "right";
5
+ borderStyle: import('packages/core').DividerBorderStyle;
6
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
7
+ P: {};
8
+ B: {};
9
+ D: {};
10
+ C: {};
11
+ M: {};
12
+ Defaults: {};
13
+ }, Readonly<import('packages/core').DividerProps> & Readonly<{}>, {}, {}, {}, {}, {
14
+ direction: "horizontal" | "vertical";
15
+ contentPosition: "left" | "center" | "right";
16
+ borderStyle: import('packages/core').DividerBorderStyle;
17
+ }>;
18
+ __isFragment?: never;
19
+ __isTeleport?: never;
20
+ __isSuspense?: never;
21
+ } & import('vue').ComponentOptionsBase<Readonly<import('packages/core').DividerProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
22
+ direction: "horizontal" | "vertical";
23
+ contentPosition: "left" | "center" | "right";
24
+ borderStyle: import('packages/core').DividerBorderStyle;
25
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
26
+ $slots: {
27
+ default?(_: {}): any;
28
+ };
29
+ }) & import('vue').Plugin;
30
+ export * from './types';
@@ -0,0 +1,10 @@
1
+ export type DividerType = 'primary' | 'success' | 'warning' | 'danger' | 'info';
2
+ export type DividerBorderStyle = 'solid' | 'dashed' | 'dotted';
3
+ export interface DividerProps {
4
+ direction?: 'horizontal' | 'vertical';
5
+ contentPosition?: 'left' | 'center' | 'right';
6
+ type?: DividerType;
7
+ color?: string;
8
+ borderStyle?: DividerBorderStyle;
9
+ content?: string;
10
+ }
@@ -0,0 +1 @@
1
+ export declare const DRAWER_DEFAULT_SIZE = "300px";