sakana-element 2.4.2 → 2.5.1

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 (138) hide show
  1. package/README.md +26 -2
  2. package/dist/es/Alert-Cq5F0XNt.js +57 -0
  3. package/dist/es/Avatar-CbgoH75Q.js +5 -0
  4. package/dist/es/Badge-BVu3hO8V.js +7 -0
  5. package/dist/es/Breadcrumb-Bh5y4LbC.js +6 -0
  6. package/dist/es/Button-B1wRI6I7.js +28 -0
  7. package/dist/es/Card-VMxMFix8.js +8 -0
  8. package/dist/es/Carousel-QnDHp3Ka.js +11 -0
  9. package/dist/es/ChatBubble-DYao4l85.js +5 -0
  10. package/dist/es/Checkbox-BbLzAqK2.js +228 -0
  11. package/dist/es/Collapse-BkKmhGQf.js +11 -0
  12. package/dist/es/Collapsible-B56M9eUW.js +12 -0
  13. package/dist/es/Command-CORaZKsJ.js +45 -0
  14. package/dist/es/ConfigProvider-CGLQ9b8M.js +35 -0
  15. package/dist/es/Diff-gDYKT1cl.js +17 -0
  16. package/dist/es/Divider-bI4lEaol.js +5 -0
  17. package/dist/es/Drawer-AnXxT-V6.js +6 -0
  18. package/dist/es/Dropdown-80RoE7gX.js +115 -0
  19. package/dist/es/FileInput-B6CyElTd.js +113 -0
  20. package/dist/es/Filter-CtIs_iO4.js +13 -0
  21. package/dist/es/Icon-hbRhI1iH.js +3 -0
  22. package/dist/es/Indicator-Bs6f41iJ.js +5 -0
  23. package/dist/es/Input-DJsDXAG1.js +8 -0
  24. package/dist/es/Kbd-DZf70Cdz.js +5 -0
  25. package/dist/es/Link-CLXoAvDl.js +5 -0
  26. package/dist/es/Loading-BHzOi8J-.js +27 -0
  27. package/dist/es/Message-DOxtRo8V.js +51 -0
  28. package/dist/es/Notification-F5UfnGWs.js +22 -0
  29. package/dist/es/Pixelate-DFpR42b2.js +12 -0
  30. package/dist/es/Popconfirm-C1LNG9db.js +8 -0
  31. package/dist/es/Progress-CDHJJUVL.js +6 -0
  32. package/dist/es/Radio-HMaWtyx9.js +11 -0
  33. package/dist/es/Resizable-DSYUZwLE.js +59 -0
  34. package/dist/es/Select-DaBVMoMB.js +31 -0
  35. package/dist/es/Skeleton-4hCbgDOF.js +7 -0
  36. package/dist/es/Switch-BCTrn4hn.js +11 -0
  37. package/dist/es/Table-B5twhEZC.js +5 -0
  38. package/dist/es/Tooltip-CDjXpGHn.js +4 -0
  39. package/dist/es/Validator-DoWa9KfA.js +16 -0
  40. package/dist/es/index.js +41 -140
  41. package/dist/index.css +2 -1
  42. package/dist/theme/Alert.css +1 -295
  43. package/dist/theme/Avatar.css +1 -86
  44. package/dist/theme/Badge.css +1 -214
  45. package/dist/theme/Breadcrumb.css +1 -192
  46. package/dist/theme/Button.css +1 -1570
  47. package/dist/theme/Card.css +1 -347
  48. package/dist/theme/Carousel.css +1 -0
  49. package/dist/theme/ChatBubble.css +1 -218
  50. package/dist/theme/Checkbox.css +1 -604
  51. package/dist/theme/Collapse.css +1 -764
  52. package/dist/theme/Collapsible.css +1 -0
  53. package/dist/theme/Command.css +1 -0
  54. package/dist/theme/Diff.css +1 -110
  55. package/dist/theme/Divider.css +1 -150
  56. package/dist/theme/Drawer.css +1 -206
  57. package/dist/theme/Dropdown.css +1 -471
  58. package/dist/theme/FileInput.css +1 -397
  59. package/dist/theme/Filter.css +1 -598
  60. package/dist/theme/Indicator.css +1 -159
  61. package/dist/theme/Input.css +1 -647
  62. package/dist/theme/Kbd.css +1 -104
  63. package/dist/theme/Link.css +1 -69
  64. package/dist/theme/Loading.css +1 -266
  65. package/dist/theme/Message.css +1 -565
  66. package/dist/theme/Notification.css +1 -316
  67. package/dist/theme/Popconfirm.css +1 -46
  68. package/dist/theme/Progress.css +1 -278
  69. package/dist/theme/Radio.css +1 -492
  70. package/dist/theme/Resizable.css +1 -95
  71. package/dist/theme/Select.css +1 -584
  72. package/dist/theme/Skeleton.css +1 -192
  73. package/dist/theme/Switch.css +1 -323
  74. package/dist/theme/Table.css +1 -680
  75. package/dist/theme/Validator.css +1 -25
  76. package/dist/theme/index.css +1 -341
  77. package/dist/types/components/Badge/types.d.ts +2 -0
  78. package/dist/types/components/Carousel/constants.d.ts +6 -0
  79. package/dist/types/components/Carousel/index.d.ts +77 -0
  80. package/dist/types/components/Carousel/types.d.ts +27 -0
  81. package/dist/types/components/Collapsible/constants.d.ts +6 -0
  82. package/dist/types/components/Collapsible/index.d.ts +85 -0
  83. package/dist/types/components/Collapsible/types.d.ts +22 -0
  84. package/dist/types/components/Command/constants.d.ts +4 -0
  85. package/dist/types/components/Command/index.d.ts +216 -0
  86. package/dist/types/components/Command/types.d.ts +59 -0
  87. package/dist/types/components/Validator/index.d.ts +1 -0
  88. package/dist/types/components/index.d.ts +3 -0
  89. package/dist/types/hooks/index.d.ts +1 -1
  90. package/dist/umd/index.css +2 -1
  91. package/dist/umd/index.css.gz +0 -0
  92. package/dist/umd/index.umd.cjs +1255 -5
  93. package/dist/umd/index.umd.cjs.gz +0 -0
  94. package/package.json +15 -3
  95. package/dist/es/Alert-DdAShH-x.js +0 -19
  96. package/dist/es/Avatar-BGTH7x40.js +0 -9
  97. package/dist/es/Badge-CYZ55qNe.js +0 -14
  98. package/dist/es/Breadcrumb-BTWTtzrN.js +0 -15
  99. package/dist/es/Button-GsSCWg5x.js +0 -24
  100. package/dist/es/Card-BhgzwQqo.js +0 -16
  101. package/dist/es/ChatBubble-4F481Agj.js +0 -9
  102. package/dist/es/Checkbox-C7vZGSTh.js +0 -51
  103. package/dist/es/Collapse-CbcSQig5.js +0 -53
  104. package/dist/es/ConfigProvider-K1UzjlRm.js +0 -45
  105. package/dist/es/Diff-B747pgwb.js +0 -64
  106. package/dist/es/Divider-BSu_1-AU.js +0 -9
  107. package/dist/es/Drawer-I2lCgyba.js +0 -40
  108. package/dist/es/Dropdown-B0J_c8Wv.js +0 -104
  109. package/dist/es/FileInput-CFg1wpsH.js +0 -33
  110. package/dist/es/Filter-nA8j-62U.js +0 -40
  111. package/dist/es/Form-C1b8Igns.js +0 -123
  112. package/dist/es/Icon-BulvH9Wm.js +0 -27
  113. package/dist/es/Indicator-BbW4iUkh.js +0 -9
  114. package/dist/es/Input-BUHFulIW.js +0 -42
  115. package/dist/es/Kbd-CeP2wkdE.js +0 -13
  116. package/dist/es/Link-Dks2bXo8.js +0 -11
  117. package/dist/es/Loading-DoBtVGWo.js +0 -92
  118. package/dist/es/Message-Ba_P4Wvy.js +0 -152
  119. package/dist/es/Notification-DzG8dLuk.js +0 -69
  120. package/dist/es/Overlay-DeyTycv0.js +0 -12
  121. package/dist/es/Pixelate-B21HKbSE.js +0 -39
  122. package/dist/es/Popconfirm-BqN3JxJ_.js +0 -23
  123. package/dist/es/Progress--6EJjbbM.js +0 -12
  124. package/dist/es/Radio-CrdrvrFH.js +0 -33
  125. package/dist/es/Resizable-By3ijQf0.js +0 -151
  126. package/dist/es/Select-Cq1Ucs_U.js +0 -133
  127. package/dist/es/Skeleton-ChCVgMSk.js +0 -15
  128. package/dist/es/Switch-DURmSH-T.js +0 -34
  129. package/dist/es/Table-BE2f9u65.js +0 -10
  130. package/dist/es/Tooltip-DR4Mc5Fh.js +0 -74
  131. package/dist/es/Validator-BYn72MYn.js +0 -40
  132. package/dist/es/hooks-dJGu-5DG.js +0 -170
  133. package/dist/es/utils-CnCdZsHG.js +0 -155
  134. package/dist/es/vendor-eombfMkP.js +0 -1351
  135. package/dist/theme/Form.css +0 -83
  136. package/dist/theme/Icon.css +0 -168
  137. package/dist/theme/Overlay.css +0 -12
  138. package/dist/theme/Tooltip.css +0 -235
@@ -1,25 +1 @@
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
+ .px-validator[data-v-5d070382]{font-family:var(--px-font-family);flex-direction:column;display:inline-flex}.px-validator__content[data-v-5d070382]{display:contents}.px-validator.is-error .px-validator__content[data-v-5d070382]{position:relative}.px-validator__hint[data-v-5d070382]{min-height:1.4em;font-size:var(--px-font-size-small);color:var(--px-color-danger);padding-top:6px;line-height:1.4;transition:opacity .15s}.px-validator__hint.is-hidden[data-v-5d070382]{opacity:0;pointer-events:none}.px-validator__bubble[data-v-5d070382]{background:var(--px-fill-color-blank);color:var(--px-color-danger);font-family:var(--px-font-family);font-size:var(--px-font-size-small);clip-path:polygon(0 4px,2px 4px,2px 2px,4px 2px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 2px,calc(100% - 2px) 2px,calc(100% - 2px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 2px) calc(100% - 4px),calc(100% - 2px) calc(100% - 2px),calc(100% - 4px) calc(100% - 2px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 2px),2px calc(100% - 2px),2px calc(100% - 4px),0 calc(100% - 4px));box-shadow:inset 0 0 0 2px var(--px-color-danger);filter:drop-shadow(var(--px-shadow-offset-x,2px) var(--px-shadow-offset-y,2px) 0px var(--px-color-danger-dark));align-items:center;gap:4px;padding:4px 10px;display:inline-flex;position:relative}.px-validator__bubble-arrow[data-v-5d070382]{width:0;height:0;position:absolute;top:-6px;left:12px}.px-validator__bubble-arrow[data-v-5d070382]:before{content:"";background:var(--px-color-danger);width:4px;height:2px;position:absolute;top:0;left:2px}.px-validator__bubble-arrow[data-v-5d070382]:after{content:"";background:var(--px-color-danger);width:8px;height:2px;position:absolute;top:2px;left:0}.px-validator__hint-icon[data-v-5d070382]{flex-shrink:0;width:10px;height:12px;display:inline-block;position:relative}.px-validator__hint-icon[data-v-5d070382]:before{content:"";background:var(--px-color-danger);width:4px;height:6px;position:absolute;top:0;left:50%;transform:translate(-50%)}.px-validator__hint-icon[data-v-5d070382]:after{content:"";background:var(--px-color-danger);width:4px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.px-validator__hint-text[data-v-5d070382]{align-items:center;gap:4px;display:inline-flex}@keyframes pixel-shake-5d070382{0%{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}to{transform:translate(0)}}.px-validator.is-error .px-validator__hint[data-v-5d070382]{animation:.3s step-end pixel-shake-5d070382}.px-validator__bubble--success[data-v-5d070382]{background:var(--px-color-success-light-9);color:var(--px-color-success);box-shadow:inset 0 0 0 2px var(--px-color-success);filter:drop-shadow(var(--px-shadow-offset-x,2px) var(--px-shadow-offset-y,2px) 0px var(--px-color-success-dark))}.px-validator__bubble--success .px-validator__bubble-arrow[data-v-5d070382]:before,.px-validator__bubble--success .px-validator__bubble-arrow[data-v-5d070382]:after{background:var(--px-color-success)}.px-validator__success-icon[data-v-5d070382]{flex-shrink:0;width:10px;height:12px;display:inline-block;position:relative}.px-validator__success-icon[data-v-5d070382]:before{content:"";border-left:2px solid var(--px-color-success);border-bottom:2px solid var(--px-color-success);width:8px;height:6px;position:absolute;top:2px;left:50%;transform:translate(-50%)rotate(-45deg)}@keyframes pixel-pop-5d070382{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.px-validator.is-success .px-validator__hint[data-v-5d070382]{color:var(--px-color-success)}.px-validator.is-success .px-validator__bubble[data-v-5d070382]{animation:.25s steps(3,end) pixel-pop-5d070382}
@@ -1,341 +1 @@
1
- /** reset.css */
2
- body {
3
- font-family: var(--px-font-family);
4
- font-weight: 400;
5
- font-size: var(--px-font-size-base);
6
- line-height: calc(var(--px-font-size-base) * 1.2);
7
- color: var(--px-text-color-primary);
8
- -webkit-font-smoothing: antialiased;
9
- -moz-osx-font-smoothing: grayscale;
10
- -webkit-tap-highlight-color: transparent;
11
- }
12
- a {
13
- color: var(--px-color-primary);
14
- text-decoration: none;
15
- }
16
- a:hover,
17
- a:focus {
18
- color: var(--px-color-primary-light-3);
19
- }
20
- a:active {
21
- color: var(--px-color-primary-dark-2);
22
- }
23
- h1,
24
- h2,
25
- h3,
26
- h4,
27
- h5,
28
- h6 {
29
- color: var(--px-text-color-regular);
30
- font-weight: inherit;
31
- }
32
- h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
33
- margin-top: 0;
34
- }
35
- h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
36
- margin-bottom: 0;
37
- }
38
- h1 {
39
- font-size: calc(var(--px-font-size-base) + 6px);
40
- }
41
- h2 {
42
- font-size: calc(var(--px-font-size-base) + 4px);
43
- }
44
- h3 {
45
- font-size: calc(var(--px-font-size-base) + 2px);
46
- }
47
- h4,
48
- h5,
49
- h6,
50
- p {
51
- font-size: inherit;
52
- }
53
- p {
54
- line-height: 1.8;
55
- }
56
- p:first-child {
57
- margin-top: 0;
58
- }
59
- p:last-child {
60
- margin-bottom: 0;
61
- }
62
- sup,
63
- sub {
64
- font-size: calc(var(--px-font-size-base) - 1px);
65
- }
66
- small {
67
- font-size: calc(var(--px-font-size-base) - 2px);
68
- }
69
- hr {
70
- margin-top: 20px;
71
- margin-bottom: 20px;
72
- border: 0;
73
- border-top: 1px solid var(--px-border-color-lighter);
74
- }
75
- /**
76
- * zpix - A pixel font for retro UI
77
- * Source: https://github.com/SolidZORO/zpix-pixel-font
78
- */
79
- @font-face {
80
- font-family: "zpix";
81
- src: url("../theme/fonts/zpix.woff2") format("woff2");
82
- font-weight: normal;
83
- font-style: normal;
84
- font-display: swap;
85
- }
86
- /* Fallback for browsers that don't support custom fonts */
87
- @supports not (font-variation-settings: normal) {
88
- .px-pixel-font-fallback {
89
- font-family: "Courier New", "Consolas", monospace;
90
- }
91
- }
92
- :root {
93
- /* === TYPOGRAPHY === */
94
- --px-font-family: "zpix", "Courier New", "Consolas", monospace;
95
- --px-font-size-base: 14px;
96
- --px-font-size-large: 16px;
97
- --px-font-size-medium: 15px;
98
- --px-font-size-small: 12px;
99
- --px-font-size-extra-large: 18px;
100
- --px-font-size-extra-small: 10px;
101
- --px-font-weight-primary: 400;
102
-
103
- /* === PIXEL BORDER SYSTEM === */
104
- --px-border-width: 2px;
105
- --px-border-width-thick: 3px;
106
- --px-border-width-thin: 1px;
107
- --px-border-style: solid;
108
- --px-border-pixel-size: 2px;
109
- --px-border-radius-base: 0px;
110
- --px-border-radius-small: 0px;
111
- --px-border-radius-round: 0px;
112
- --px-border-radius-circle: 0px;
113
-
114
- /* === COLOR PALETTE - Pixelium Style OKlab-inspired === */
115
- --px-color-white: #ffffff;
116
- --px-color-black: #1e1e2e;
117
- --px-color-pure-black: #11111b;
118
-
119
- /* Primary - Soft Lavender Blue (Pixelium style) */
120
- --px-color-primary: #7287fd;
121
- --px-color-primary-dark: #5c6bc0;
122
- --px-color-primary-light-3: #8e9ffe;
123
- --px-color-primary-light-5: #a5b4fe;
124
- --px-color-primary-light-7: #c7d2fe;
125
- --px-color-primary-light-8: #dbe1fe;
126
- --px-color-primary-light-9: #eef1fe;
127
-
128
- /* Success - Soft Teal Green */
129
- --px-color-success: #40a070;
130
- --px-color-success-dark: #2d7a53;
131
- --px-color-success-light-3: #5cb88a;
132
- --px-color-success-light-5: #7ecfa6;
133
- --px-color-success-light-7: #a8e4c3;
134
- --px-color-success-light-8: #c4edd6;
135
- --px-color-success-light-9: #e2f7eb;
136
-
137
- /* Warning - Warm Peach */
138
- --px-color-warning: #fab387;
139
- --px-color-warning-dark: #e89a6e;
140
- --px-color-warning-light-3: #fbc19e;
141
- --px-color-warning-light-5: #fccfb5;
142
- --px-color-warning-light-7: #fddccc;
143
- --px-color-warning-light-8: #fee9e0;
144
- --px-color-warning-light-9: #fef5f0;
145
-
146
- /* Danger - Soft Rose */
147
- --px-color-danger: #f38ba8;
148
- --px-color-danger-dark: #e06c88;
149
- --px-color-danger-light-3: #f5a0b8;
150
- --px-color-danger-light-5: #f7b5c8;
151
- --px-color-danger-light-7: #f9cad8;
152
- --px-color-danger-light-8: #fbdfe6;
153
- --px-color-danger-light-9: #fdf0f4;
154
-
155
- /* Info - Muted Sky */
156
- --px-color-info: #89b4fa;
157
- --px-color-info-dark: #6a9be0;
158
- --px-color-info-light-3: #a0c4fb;
159
- --px-color-info-light-5: #b6d3fc;
160
- --px-color-info-light-7: #cde2fd;
161
- --px-color-info-light-8: #e0edfe;
162
- --px-color-info-light-9: #f0f6fe;
163
-
164
- /* Light mode backgrounds - Warm cream tones */
165
- --px-bg-color: #eff1f5;
166
- --px-bg-color-page: #e6e9ef;
167
- --px-bg-color-overlay: #ffffff;
168
-
169
- /* Fill colors - Soft grays */
170
- --px-fill-color: #dce0e8;
171
- --px-fill-color-light: #e6e9ef;
172
- --px-fill-color-lighter: #eff1f5;
173
- --px-fill-color-extra-light: #f5f6f8;
174
- --px-fill-color-dark: #ccd0da;
175
- --px-fill-color-darker: #bcc0cc;
176
- --px-fill-color-blank: #ffffff;
177
-
178
- /* Light mode text - Rich darks */
179
- --px-text-color-primary: #4c4f69;
180
- --px-text-color-regular: #5c5f77;
181
- --px-text-color-secondary: #6c6f85;
182
- --px-text-color-placeholder: #8c8fa1;
183
- --px-text-color-disabled: #9ca0b0;
184
-
185
- /* Light mode borders - Clear definition */
186
- --px-border-color: #4c4f69;
187
- --px-border-color-light: #6c6f85;
188
- --px-border-color-lighter: #9ca0b0;
189
- --px-border-color-extra-light: #bcc0cc;
190
- --px-border-color-dark: #3c3f52;
191
- --px-border-color-darker: #1e1e2e;
192
- --px-border-color-hover: var(--px-color-primary);
193
- --px-border: var(--px-border-width) var(--px-border-style) var(--px-border-color);
194
-
195
- /* === PIXEL SHADOWS - Classic offset shadow === */
196
- --px-shadow-offset-x: 3px;
197
- --px-shadow-offset-y: 3px;
198
- --px-shadow-color: #9ca0b0;
199
- --px-shadow-color-dark: #6c6f85;
200
- --px-box-shadow: var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0 0 var(--px-shadow-color);
201
- --px-box-shadow-hover: 4px 4px 0 0 var(--px-shadow-color);
202
- --px-box-shadow-active: 1px 1px 0 0 var(--px-shadow-color);
203
- --px-box-shadow-inset-light: inset 1px 1px 0 0 rgba(255, 255, 255, 0.5);
204
- --px-box-shadow-inset-dark: inset -1px -1px 0 0 rgba(0, 0, 0, 0.1);
205
-
206
- /* === TRANSITIONS === */
207
- --px-transition-duration: 0s;
208
- --px-transition-duration-fast: 0s;
209
- --px-transition-function: step-end;
210
-
211
- /* === COMPONENT SIZES === */
212
- --px-component-size-large: 44px;
213
- --px-component-size: 36px;
214
- --px-component-size-small: 28px;
215
-
216
- /* === HOVER INVERSION (default / untyped components) === */
217
- --px-hover-text-color: var(--px-color-white);
218
- --px-hover-bg-color: var(--px-color-black);
219
- --px-hover-border-color: var(--px-color-black);
220
- --px-active-text-color: var(--px-color-white);
221
- --px-active-bg-color: var(--px-border-color-dark);
222
- --px-active-border-color: var(--px-border-color-dark);
223
-
224
- /* === DISABLED STATES === */
225
- --px-disabled-bg-color: var(--px-fill-color-light);
226
- --px-disabled-text-color: var(--px-text-color-placeholder);
227
- --px-disabled-border-color: var(--px-border-color-lighter);
228
- }
229
- /* === DARK MODE - Mocha Catppuccin inspired === */
230
- .px-dark,
231
- .dark {
232
- --px-color-black: #11111b;
233
- --px-color-pure-black: #000000;
234
-
235
- /* Dark backgrounds */
236
- --px-bg-color: #1e1e2e;
237
- --px-bg-color-page: #181825;
238
- --px-bg-color-overlay: #313244;
239
-
240
- /* Dark fills */
241
- --px-fill-color: #313244;
242
- --px-fill-color-light: #45475a;
243
- --px-fill-color-lighter: #585b70;
244
- --px-fill-color-extra-light: #6c7086;
245
- --px-fill-color-dark: #181825;
246
- --px-fill-color-darker: #11111b;
247
- --px-fill-color-blank: #1e1e2e;
248
-
249
- /* Dark mode text */
250
- --px-text-color-primary: #cdd6f4;
251
- --px-text-color-regular: #bac2de;
252
- --px-text-color-secondary: #a6adc8;
253
- --px-text-color-placeholder: #7f849c;
254
- --px-text-color-disabled: #585b70;
255
-
256
- /* Dark mode borders */
257
- --px-border-color: #cdd6f4;
258
- --px-border-color-light: #a6adc8;
259
- --px-border-color-lighter: #7f849c;
260
- --px-border-color-extra-light: #585b70;
261
- --px-border-color-dark: #f5e0dc;
262
- --px-border-color-darker: #ffffff;
263
-
264
- /* Dark shadows */
265
- --px-shadow-color: #585b70;
266
- --px-shadow-color-dark: #45475a;
267
-
268
- /* Dark hover inversion */
269
- --px-hover-text-color: var(--px-color-black);
270
- --px-hover-bg-color: var(--px-text-color-primary);
271
- --px-hover-border-color: var(--px-text-color-primary);
272
- --px-active-text-color: var(--px-color-black);
273
- --px-active-bg-color: var(--px-border-color-light);
274
- --px-active-border-color: var(--px-border-color-light);
275
-
276
- /* Dark disabled */
277
- --px-disabled-bg-color: var(--px-fill-color-light);
278
- --px-disabled-text-color: var(--px-text-color-placeholder);
279
- --px-disabled-border-color: var(--px-border-color-lighter);
280
-
281
- /* Dark primary shades */
282
- --px-color-primary-light-3: #5c6bc0;
283
- --px-color-primary-light-5: #4a5699;
284
- --px-color-primary-light-7: #3a4573;
285
- --px-color-primary-light-8: #2e365c;
286
- --px-color-primary-light-9: #232845;
287
-
288
- /* Dark success shades */
289
- --px-color-success-light-3: #2d7a53;
290
- --px-color-success-light-5: #245f42;
291
- --px-color-success-light-7: #1b4531;
292
- --px-color-success-light-8: #153827;
293
- --px-color-success-light-9: #0f2b1e;
294
-
295
- /* Dark warning shades */
296
- --px-color-warning-light-3: #c8906d;
297
- --px-color-warning-light-5: #9a6f54;
298
- --px-color-warning-light-7: #6c4e3b;
299
- --px-color-warning-light-8: #563e2f;
300
- --px-color-warning-light-9: #3f2e23;
301
-
302
- /* Dark danger shades */
303
- --px-color-danger-light-3: #c26e87;
304
- --px-color-danger-light-5: #965567;
305
- --px-color-danger-light-7: #6a3c49;
306
- --px-color-danger-light-8: #54303a;
307
- --px-color-danger-light-9: #3e242c;
308
-
309
- /* Dark info shades */
310
- --px-color-info-light-3: #6e90c8;
311
- --px-color-info-light-5: #546f99;
312
- --px-color-info-light-7: #3b4e6c;
313
- --px-color-info-light-8: #2f3e56;
314
- --px-color-info-light-9: #232e40;
315
- }
316
- /* === GLOBAL STYLES === */
317
- * {
318
- box-sizing: border-box;
319
- image-rendering: pixelated;
320
- image-rendering: -moz-crisp-edges;
321
- image-rendering: crisp-edges;
322
- }
323
- html {
324
- font-family: var(--px-font-family);
325
- font-size: var(--px-font-size-base);
326
- color: var(--px-text-color-primary);
327
- background-color: var(--px-bg-color-page);
328
- -webkit-font-smoothing: none;
329
- -moz-osx-font-smoothing: unset;
330
- }
331
- body {
332
- margin: 0;
333
- padding: 0;
334
- }
335
- /* Pixel font rendering optimization */
336
- [class^="px-"],
337
- [class*=" px-"] {
338
- font-family: var(--px-font-family);
339
- -webkit-font-smoothing: none;
340
- -moz-osx-font-smoothing: unset;
341
- }
1
+ body{font-family:var(--px-font-family);font-weight:400;font-size:var(--px-font-size-base);line-height:calc(var(--px-font-size-base) * 1.2);color:var(--px-text-color-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}a{color:var(--px-color-primary);text-decoration:none}a:hover,a:focus{color:var(--px-color-primary-light-3)}a:active{color:var(--px-color-primary-dark-2)}h1,h2,h3,h4,h5,h6{color:var(--px-text-color-regular);font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child{margin-bottom:0}h1{font-size:calc(var(--px-font-size-base) + 6px)}h2{font-size:calc(var(--px-font-size-base) + 4px)}h3{font-size:calc(var(--px-font-size-base) + 2px)}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}p:first-child{margin-top:0}p:last-child{margin-bottom:0}sup,sub{font-size:calc(var(--px-font-size-base) - 1px)}small{font-size:calc(var(--px-font-size-base) - 2px)}hr{border:0;border-top:1px solid var(--px-border-color-lighter);margin-top:20px;margin-bottom:20px}@font-face{font-family:zpix;src:url("../theme/fonts/zpix.woff2")format("woff2");font-weight:400;font-style:normal;font-display:swap}@supports not (font-variation-settings:normal){.px-pixel-font-fallback{font-family:Courier New,Consolas,monospace}}:root{--px-font-family:"zpix", "Courier New", "Consolas", monospace;--px-font-size-base:14px;--px-font-size-large:16px;--px-font-size-medium:15px;--px-font-size-small:12px;--px-font-size-extra-large:18px;--px-font-size-extra-small:10px;--px-font-weight-primary:400;--px-border-width:2px;--px-border-width-thick:3px;--px-border-width-thin:1px;--px-border-style:solid;--px-border-pixel-size:2px;--px-border-radius-base:0px;--px-border-radius-small:0px;--px-border-radius-round:0px;--px-border-radius-circle:0px;--px-color-white:#fff;--px-color-black:#1e1e2e;--px-color-pure-black:#11111b;--px-color-primary:#7287fd;--px-color-primary-dark:#5c6bc0;--px-color-primary-light-3:#8e9ffe;--px-color-primary-light-5:#a5b4fe;--px-color-primary-light-7:#c7d2fe;--px-color-primary-light-8:#dbe1fe;--px-color-primary-light-9:#eef1fe;--px-color-success:#40a070;--px-color-success-dark:#2d7a53;--px-color-success-light-3:#5cb88a;--px-color-success-light-5:#7ecfa6;--px-color-success-light-7:#a8e4c3;--px-color-success-light-8:#c4edd6;--px-color-success-light-9:#e2f7eb;--px-color-warning:#fab387;--px-color-warning-dark:#e89a6e;--px-color-warning-light-3:#fbc19e;--px-color-warning-light-5:#fccfb5;--px-color-warning-light-7:#fddccc;--px-color-warning-light-8:#fee9e0;--px-color-warning-light-9:#fef5f0;--px-color-danger:#f38ba8;--px-color-danger-dark:#e06c88;--px-color-danger-light-3:#f5a0b8;--px-color-danger-light-5:#f7b5c8;--px-color-danger-light-7:#f9cad8;--px-color-danger-light-8:#fbdfe6;--px-color-danger-light-9:#fdf0f4;--px-color-info:#89b4fa;--px-color-info-dark:#6a9be0;--px-color-info-light-3:#a0c4fb;--px-color-info-light-5:#b6d3fc;--px-color-info-light-7:#cde2fd;--px-color-info-light-8:#e0edfe;--px-color-info-light-9:#f0f6fe;--px-bg-color:#eff1f5;--px-bg-color-page:#e6e9ef;--px-bg-color-overlay:#fff;--px-fill-color:#dce0e8;--px-fill-color-light:#e6e9ef;--px-fill-color-lighter:#eff1f5;--px-fill-color-extra-light:#f5f6f8;--px-fill-color-dark:#ccd0da;--px-fill-color-darker:#bcc0cc;--px-fill-color-blank:#fff;--px-text-color-primary:#4c4f69;--px-text-color-regular:#5c5f77;--px-text-color-secondary:#6c6f85;--px-text-color-placeholder:#8c8fa1;--px-text-color-disabled:#9ca0b0;--px-border-color:#4c4f69;--px-border-color-light:#6c6f85;--px-border-color-lighter:#9ca0b0;--px-border-color-extra-light:#bcc0cc;--px-border-color-dark:#3c3f52;--px-border-color-darker:#1e1e2e;--px-border-color-hover:var(--px-color-primary);--px-border:var(--px-border-width) var(--px-border-style) var(--px-border-color);--px-shadow-offset-x:3px;--px-shadow-offset-y:3px;--px-shadow-color:#9ca0b0;--px-shadow-color-dark:#6c6f85;--px-box-shadow:var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0 0 var(--px-shadow-color);--px-box-shadow-hover:4px 4px 0 0 var(--px-shadow-color);--px-box-shadow-active:1px 1px 0 0 var(--px-shadow-color);--px-box-shadow-inset-light:inset 1px 1px 0 0 #ffffff80;--px-box-shadow-inset-dark:inset -1px -1px 0 0 #0000001a;--px-transition-duration:0s;--px-transition-duration-fast:0s;--px-transition-function:step-end;--px-component-size-large:44px;--px-component-size:36px;--px-component-size-small:28px;--px-hover-text-color:var(--px-color-white);--px-hover-bg-color:var(--px-color-black);--px-hover-border-color:var(--px-color-black);--px-active-text-color:var(--px-color-white);--px-active-bg-color:var(--px-border-color-dark);--px-active-border-color:var(--px-border-color-dark);--px-disabled-bg-color:var(--px-fill-color-light);--px-disabled-text-color:var(--px-text-color-placeholder);--px-disabled-border-color:var(--px-border-color-lighter)}.px-dark,.dark{--px-color-black:#11111b;--px-color-pure-black:#000;--px-bg-color:#1e1e2e;--px-bg-color-page:#181825;--px-bg-color-overlay:#313244;--px-fill-color:#313244;--px-fill-color-light:#45475a;--px-fill-color-lighter:#585b70;--px-fill-color-extra-light:#6c7086;--px-fill-color-dark:#181825;--px-fill-color-darker:#11111b;--px-fill-color-blank:#1e1e2e;--px-text-color-primary:#cdd6f4;--px-text-color-regular:#bac2de;--px-text-color-secondary:#a6adc8;--px-text-color-placeholder:#7f849c;--px-text-color-disabled:#585b70;--px-border-color:#cdd6f4;--px-border-color-light:#a6adc8;--px-border-color-lighter:#7f849c;--px-border-color-extra-light:#585b70;--px-border-color-dark:#f5e0dc;--px-border-color-darker:#fff;--px-shadow-color:#585b70;--px-shadow-color-dark:#45475a;--px-hover-text-color:var(--px-color-black);--px-hover-bg-color:var(--px-text-color-primary);--px-hover-border-color:var(--px-text-color-primary);--px-active-text-color:var(--px-color-black);--px-active-bg-color:var(--px-border-color-light);--px-active-border-color:var(--px-border-color-light);--px-disabled-bg-color:var(--px-fill-color-light);--px-disabled-text-color:var(--px-text-color-placeholder);--px-disabled-border-color:var(--px-border-color-lighter);--px-color-primary-light-3:#5c6bc0;--px-color-primary-light-5:#4a5699;--px-color-primary-light-7:#3a4573;--px-color-primary-light-8:#2e365c;--px-color-primary-light-9:#232845;--px-color-success-light-3:#2d7a53;--px-color-success-light-5:#245f42;--px-color-success-light-7:#1b4531;--px-color-success-light-8:#153827;--px-color-success-light-9:#0f2b1e;--px-color-warning-light-3:#c8906d;--px-color-warning-light-5:#9a6f54;--px-color-warning-light-7:#6c4e3b;--px-color-warning-light-8:#563e2f;--px-color-warning-light-9:#3f2e23;--px-color-danger-light-3:#c26e87;--px-color-danger-light-5:#965567;--px-color-danger-light-7:#6a3c49;--px-color-danger-light-8:#54303a;--px-color-danger-light-9:#3e242c;--px-color-info-light-3:#6e90c8;--px-color-info-light-5:#546f99;--px-color-info-light-7:#3b4e6c;--px-color-info-light-8:#2f3e56;--px-color-info-light-9:#232e40}*{box-sizing:border-box;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}html{font-family:var(--px-font-family);font-size:var(--px-font-size-base);color:var(--px-text-color-primary);background-color:var(--px-bg-color-page);-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset}body{margin:0;padding:0}[class^=px-],[class*=\ px-]{font-family:var(--px-font-family);-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset}
@@ -8,4 +8,6 @@ export interface BadgeProps {
8
8
  color?: string;
9
9
  round?: boolean;
10
10
  icon?: string;
11
+ shine?: boolean;
12
+ pixel?: boolean;
11
13
  }
@@ -0,0 +1,6 @@
1
+ import { ColorTemplate } from '@sakana-element/utils';
2
+ import { InjectionKey } from 'vue';
3
+ import { CarouselContext } from './types';
4
+ export declare const CAROUSEL_CTX_KEY: InjectionKey<CarouselContext>;
5
+ export declare const PRESET_CAROUSEL_COLORS: Set<string>;
6
+ export declare const CAROUSEL_COLOR_TEMPLATES: Record<string, ColorTemplate>;
@@ -0,0 +1,77 @@
1
+ export declare const PxCarousel: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('packages/core').CarouselProps> & Readonly<{
3
+ onChange?: ((current: number, prev: number) => any) | undefined;
4
+ "onUpdate:modelValue"?: ((index: number) => any) | undefined;
5
+ }>, {
6
+ next: () => void;
7
+ prev: () => void;
8
+ goTo: (index: number) => void;
9
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
10
+ change: (current: number, prev: number) => any;
11
+ "update:modelValue": (index: number) => any;
12
+ }, import('vue').PublicProps, {
13
+ direction: "horizontal" | "vertical";
14
+ showArrow: "always" | "hover" | "never";
15
+ showIndicators: boolean;
16
+ indicatorTrigger: "click" | "hover";
17
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
18
+ P: {};
19
+ B: {};
20
+ D: {};
21
+ C: {};
22
+ M: {};
23
+ Defaults: {};
24
+ }, Readonly<import('packages/core').CarouselProps> & Readonly<{
25
+ onChange?: ((current: number, prev: number) => any) | undefined;
26
+ "onUpdate:modelValue"?: ((index: number) => any) | undefined;
27
+ }>, {
28
+ next: () => void;
29
+ prev: () => void;
30
+ goTo: (index: number) => void;
31
+ }, {}, {}, {}, {
32
+ direction: "horizontal" | "vertical";
33
+ showArrow: "always" | "hover" | "never";
34
+ showIndicators: boolean;
35
+ indicatorTrigger: "click" | "hover";
36
+ }>;
37
+ __isFragment?: never;
38
+ __isTeleport?: never;
39
+ __isSuspense?: never;
40
+ } & import('vue').ComponentOptionsBase<Readonly<import('packages/core').CarouselProps> & Readonly<{
41
+ onChange?: ((current: number, prev: number) => any) | undefined;
42
+ "onUpdate:modelValue"?: ((index: number) => any) | undefined;
43
+ }>, {
44
+ next: () => void;
45
+ prev: () => void;
46
+ goTo: (index: number) => void;
47
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
48
+ change: (current: number, prev: number) => any;
49
+ "update:modelValue": (index: number) => any;
50
+ }, string, {
51
+ direction: "horizontal" | "vertical";
52
+ showArrow: "always" | "hover" | "never";
53
+ showIndicators: boolean;
54
+ indicatorTrigger: "click" | "hover";
55
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
56
+ $slots: {
57
+ default?(_: {}): any;
58
+ };
59
+ }) & import('vue').Plugin;
60
+ export declare const PxCarouselItem: {
61
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
62
+ P: {};
63
+ B: {};
64
+ D: {};
65
+ C: {};
66
+ M: {};
67
+ Defaults: {};
68
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
69
+ __isFragment?: never;
70
+ __isTeleport?: never;
71
+ __isSuspense?: never;
72
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
73
+ $slots: {
74
+ default?(_: {}): any;
75
+ };
76
+ }) & import('vue').Plugin;
77
+ export * from './types';
@@ -0,0 +1,27 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ export interface CarouselProps {
3
+ modelValue?: number;
4
+ direction?: 'horizontal' | 'vertical';
5
+ showArrow?: 'always' | 'hover' | 'never';
6
+ showIndicators?: boolean;
7
+ indicatorTrigger?: 'click' | 'hover';
8
+ color?: string;
9
+ height?: string;
10
+ }
11
+ export interface CarouselEmits {
12
+ (e: 'update:modelValue', index: number): void;
13
+ (e: 'change', current: number, prev: number): void;
14
+ }
15
+ export interface CarouselContext {
16
+ currentIndex: Ref<number>;
17
+ direction: Readonly<Ref<'horizontal' | 'vertical'>>;
18
+ registerItem: (uid: symbol) => void;
19
+ unregisterItem: (uid: symbol) => void;
20
+ totalItems: ComputedRef<number>;
21
+ items: Ref<symbol[]>;
22
+ }
23
+ export interface CarouselInstance {
24
+ next: () => void;
25
+ prev: () => void;
26
+ goTo: (index: number) => void;
27
+ }
@@ -0,0 +1,6 @@
1
+ import { ColorTemplate } from '@sakana-element/utils';
2
+ import { InjectionKey } from 'vue';
3
+ import { CollapsibleContext } from './types';
4
+ export declare const COLLAPSIBLE_CTX_KEY: InjectionKey<CollapsibleContext>;
5
+ export declare const PRESET_COLLAPSIBLE_COLORS: Set<string>;
6
+ export declare const COLLAPSIBLE_COLOR_TEMPLATES: Record<string, ColorTemplate>;
@@ -0,0 +1,85 @@
1
+ export declare const PxCollapsible: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('packages/core').CollapsibleProps> & Readonly<{
3
+ onChange?: ((value: boolean) => any) | undefined;
4
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
5
+ }>, {
6
+ open: import('vue').Ref<boolean>;
7
+ toggle: () => void;
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
+ defaultOpen: boolean;
14
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
15
+ P: {};
16
+ B: {};
17
+ D: {};
18
+ C: {};
19
+ M: {};
20
+ Defaults: {};
21
+ }, Readonly<import('packages/core').CollapsibleProps> & Readonly<{
22
+ onChange?: ((value: boolean) => any) | undefined;
23
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
24
+ }>, {
25
+ open: import('vue').Ref<boolean>;
26
+ toggle: () => void;
27
+ }, {}, {}, {}, {
28
+ disabled: boolean;
29
+ defaultOpen: boolean;
30
+ }>;
31
+ __isFragment?: never;
32
+ __isTeleport?: never;
33
+ __isSuspense?: never;
34
+ } & import('vue').ComponentOptionsBase<Readonly<import('packages/core').CollapsibleProps> & Readonly<{
35
+ onChange?: ((value: boolean) => any) | undefined;
36
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
37
+ }>, {
38
+ open: import('vue').Ref<boolean>;
39
+ toggle: () => void;
40
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
41
+ change: (value: boolean) => any;
42
+ "update:modelValue": (value: boolean) => any;
43
+ }, string, {
44
+ disabled: boolean;
45
+ defaultOpen: boolean;
46
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
47
+ $slots: {
48
+ default?(_: {}): any;
49
+ };
50
+ }) & import('vue').Plugin;
51
+ export declare const PxCollapsibleTrigger: {
52
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
53
+ P: {};
54
+ B: {};
55
+ D: {};
56
+ C: {};
57
+ M: {};
58
+ Defaults: {};
59
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
60
+ __isFragment?: never;
61
+ __isTeleport?: never;
62
+ __isSuspense?: never;
63
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
64
+ $slots: {
65
+ default?(_: {}): any;
66
+ };
67
+ }) & import('vue').Plugin;
68
+ export declare const PxCollapsibleContent: {
69
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
70
+ P: {};
71
+ B: {};
72
+ D: {};
73
+ C: {};
74
+ M: {};
75
+ Defaults: {};
76
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
77
+ __isFragment?: never;
78
+ __isTeleport?: never;
79
+ __isSuspense?: never;
80
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
81
+ $slots: {
82
+ default?(_: {}): any;
83
+ };
84
+ }) & import('vue').Plugin;
85
+ export * from './types';
@@ -0,0 +1,22 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ export interface CollapsibleProps {
3
+ modelValue?: boolean;
4
+ defaultOpen?: boolean;
5
+ disabled?: boolean;
6
+ color?: string;
7
+ ghost?: boolean;
8
+ }
9
+ export interface CollapsibleEmits {
10
+ (e: 'update:modelValue', value: boolean): void;
11
+ (e: 'change', value: boolean): void;
12
+ }
13
+ export interface CollapsibleContext {
14
+ open: Ref<boolean>;
15
+ toggle: () => void;
16
+ disabled: ComputedRef<boolean>;
17
+ id: string;
18
+ }
19
+ export interface CollapsibleInstance {
20
+ open: Ref<boolean>;
21
+ toggle: () => void;
22
+ }
@@ -0,0 +1,4 @@
1
+ import { InjectionKey } from 'vue';
2
+ import { CommandContext } from './types';
3
+ export declare const COMMAND_CTX_KEY: InjectionKey<CommandContext>;
4
+ export declare const COMMAND_GROUP_KEY: InjectionKey<string>;