@youcan/celeste 0.6.61 → 0.6.62

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.
package/dist/celeste.css CHANGED
@@ -1277,7 +1277,7 @@ to {
1277
1277
  border-color: var(--color-stroke-soft-200);
1278
1278
  background-color: var(--color-bg-white-0);
1279
1279
  color: var(--color-state-faded-base);
1280
- }.celeste-button[data-v-ba4c26eb] {
1280
+ }.celeste-button[data-v-6c1800fd] {
1281
1281
  display: inline-flex;
1282
1282
  box-sizing: border-box;
1283
1283
  align-items: center;
@@ -1292,217 +1292,229 @@ to {
1292
1292
  text-decoration: none;
1293
1293
  cursor: pointer;
1294
1294
  }
1295
- .celeste-button[data-v-ba4c26eb]:disabled {
1295
+ .celeste-button[data-v-6c1800fd]:disabled {
1296
1296
  background-color: var(--color-bg-weak-50);
1297
1297
  color: var(--color-text-disabled-300);
1298
1298
  cursor: default;
1299
1299
  }
1300
- .celeste-button[data-v-ba4c26eb] i {
1300
+ .celeste-button[data-v-6c1800fd] i {
1301
1301
  flex-shrink: 0;
1302
1302
  width: 20px;
1303
1303
  height: 20px;
1304
1304
  }
1305
- .celeste-button-size-xxs[data-v-ba4c26eb] {
1305
+ .celeste-button-size-xxs[data-v-6c1800fd] {
1306
1306
  gap: var(--spacing-4);
1307
1307
  height: 28px;
1308
1308
  padding: var(--spacing-4) var(--spacing-6);
1309
1309
  border-radius: var(--radius-8);
1310
1310
  }
1311
- .celeste-button-size-xs[data-v-ba4c26eb] {
1311
+ .celeste-button-size-xxs[data-v-6c1800fd]:has(> :only-child:is(i)) {
1312
+ padding: var(--spacing-4);
1313
+ }
1314
+ .celeste-button-size-xs[data-v-6c1800fd] {
1312
1315
  gap: var(--spacing-4);
1313
1316
  height: 32px;
1314
1317
  padding: var(--spacing-6) var(--spacing-8);
1315
1318
  border-radius: var(--radius-8);
1316
1319
  }
1317
- .celeste-button-size-sm[data-v-ba4c26eb] {
1320
+ .celeste-button-size-xs[data-v-6c1800fd]:has(> :only-child:is(i)) {
1321
+ padding: var(--spacing-6);
1322
+ }
1323
+ .celeste-button-size-sm[data-v-6c1800fd] {
1318
1324
  gap: var(--spacing-6);
1319
1325
  height: 36px;
1320
1326
  padding: var(--spacing-8) var(--spacing-10);
1321
1327
  border-radius: var(--radius-8);
1322
1328
  }
1323
- .celeste-button-size-md[data-v-ba4c26eb] {
1329
+ .celeste-button-size-sm[data-v-6c1800fd]:has(> :only-child:is(i)) {
1330
+ padding: var(--spacing-8);
1331
+ }
1332
+ .celeste-button-size-md[data-v-6c1800fd] {
1324
1333
  gap: var(--spacing-6);
1325
1334
  height: 40px;
1326
1335
  padding: var(--spacing-10) var(--spacing-12);
1327
1336
  border-radius: var(--radius-10);
1328
1337
  }
1329
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-fill[data-v-ba4c26eb]:not(:disabled) {
1338
+ .celeste-button-size-md[data-v-6c1800fd]:has(> :only-child:is(i)) {
1339
+ padding: var(--spacing-10);
1340
+ }
1341
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-fill[data-v-6c1800fd]:not(:disabled) {
1330
1342
  border-color: var(--color-primary-base);
1331
1343
  background-color: var(--color-primary-base);
1332
1344
  box-shadow: none;
1333
1345
  color: var(--color-text-white-0);
1334
1346
  }
1335
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-fill[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1347
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-fill[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1336
1348
  border-color: var(--color-primary-darker);
1337
1349
  background-color: var(--color-primary-darker);
1338
1350
  color: var(--color-text-white-0);
1339
1351
  }
1340
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-fill[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1352
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-fill[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1341
1353
  outline: none;
1342
1354
  box-shadow: var(--shadow-buttons-primary-focus);
1343
1355
  }
1344
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-stroke[data-v-ba4c26eb]:not(:disabled) {
1356
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-stroke[data-v-6c1800fd]:not(:disabled) {
1345
1357
  border-color: var(--color-primary-base);
1346
1358
  background-color: transparent;
1347
1359
  box-shadow: none;
1348
1360
  color: var(--color-primary-base);
1349
1361
  }
1350
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-stroke[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1362
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-stroke[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1351
1363
  border-color: transparent;
1352
1364
  background-color: var(--color-primary-alpha-10);
1353
1365
  color: var(--color-primary-base);
1354
1366
  }
1355
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-stroke[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1367
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-stroke[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1356
1368
  outline: none;
1357
1369
  box-shadow: var(--shadow-buttons-primary-focus);
1358
1370
  }
1359
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-lighter[data-v-ba4c26eb]:not(:disabled) {
1371
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-lighter[data-v-6c1800fd]:not(:disabled) {
1360
1372
  border-color: transparent;
1361
1373
  background-color: var(--color-primary-alpha-10);
1362
1374
  box-shadow: none;
1363
1375
  color: var(--color-primary-base);
1364
1376
  }
1365
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-lighter[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1377
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-lighter[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1366
1378
  border-color: var(--color-primary-base);
1367
1379
  background-color: transparent;
1368
1380
  color: var(--color-primary-base);
1369
1381
  }
1370
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-lighter[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1382
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-lighter[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1371
1383
  outline: none;
1372
1384
  box-shadow: var(--shadow-buttons-primary-focus);
1373
1385
  }
1374
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-ghost[data-v-ba4c26eb]:not(:disabled) {
1386
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-ghost[data-v-6c1800fd]:not(:disabled) {
1375
1387
  border-color: transparent;
1376
1388
  background-color: transparent;
1377
1389
  box-shadow: none;
1378
1390
  color: var(--color-primary-base);
1379
1391
  }
1380
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-ghost[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1392
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-ghost[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1381
1393
  border-color: transparent;
1382
1394
  background-color: var(--color-primary-alpha-10);
1383
1395
  color: var(--color-primary-base);
1384
1396
  }
1385
- .celeste-button-intent-primary:not(:disabled).celeste-button-variant-ghost[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1397
+ .celeste-button-intent-primary:not(:disabled).celeste-button-variant-ghost[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1386
1398
  outline: none;
1387
1399
  box-shadow: var(--shadow-buttons-primary-focus);
1388
1400
  }
1389
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-fill[data-v-ba4c26eb]:not(:disabled) {
1401
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-fill[data-v-6c1800fd]:not(:disabled) {
1390
1402
  border-color: var(--color-bg-strong-950);
1391
1403
  background-color: var(--color-bg-strong-950);
1392
1404
  box-shadow: none;
1393
1405
  color: var(--color-text-white-0);
1394
1406
  }
1395
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-fill[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1407
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-fill[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1396
1408
  border-color: transparent;
1397
1409
  background-color: var(--color-bg-surface-800);
1398
1410
  color: var(--color-text-white-0);
1399
1411
  }
1400
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-fill[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1412
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-fill[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1401
1413
  outline: none;
1402
1414
  box-shadow: var(--shadow-buttons-important-focus);
1403
1415
  }
1404
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-stroke[data-v-ba4c26eb]:not(:disabled) {
1416
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-stroke[data-v-6c1800fd]:not(:disabled) {
1405
1417
  border-color: var(--color-bg-soft-200);
1406
1418
  background-color: transparent;
1407
1419
  box-shadow: var(--shadow-regular-xs);
1408
1420
  color: var(--color-text-sub-600);
1409
1421
  }
1410
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-stroke[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1422
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-stroke[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1411
1423
  border-color: transparent;
1412
1424
  background-color: var(--color-bg-weak-50);
1413
1425
  color: var(--color-text-strong-950);
1414
1426
  }
1415
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-stroke[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1427
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-stroke[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1416
1428
  outline: none;
1417
1429
  box-shadow: var(--shadow-buttons-important-focus);
1418
1430
  }
1419
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-lighter[data-v-ba4c26eb]:not(:disabled) {
1431
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-lighter[data-v-6c1800fd]:not(:disabled) {
1420
1432
  border-color: var(--color-bg-weak-50);
1421
1433
  background-color: var(--color-bg-weak-50);
1422
1434
  box-shadow: none;
1423
1435
  color: var(--color-text-sub-600);
1424
1436
  }
1425
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-lighter[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1437
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-lighter[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1426
1438
  border-color: var(--color-bg-soft-200);
1427
1439
  background-color: transparent;
1428
1440
  color: var(--color-text-strong-950);
1429
1441
  }
1430
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-lighter[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1442
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-lighter[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1431
1443
  outline: none;
1432
1444
  box-shadow: var(--shadow-buttons-important-focus);
1433
1445
  }
1434
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-ghost[data-v-ba4c26eb]:not(:disabled) {
1446
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-ghost[data-v-6c1800fd]:not(:disabled) {
1435
1447
  border-color: transparent;
1436
1448
  background-color: transparent;
1437
1449
  box-shadow: none;
1438
1450
  color: var(--color-text-sub-600);
1439
1451
  }
1440
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-ghost[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1452
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-ghost[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1441
1453
  border-color: transparent;
1442
1454
  background-color: var(--color-bg-weak-50);
1443
1455
  color: var(--color-text-strong-950);
1444
1456
  }
1445
- .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-ghost[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1457
+ .celeste-button-intent-neutral:not(:disabled).celeste-button-variant-ghost[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1446
1458
  outline: none;
1447
1459
  box-shadow: var(--shadow-buttons-important-focus);
1448
1460
  }
1449
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-fill[data-v-ba4c26eb]:not(:disabled) {
1461
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-fill[data-v-6c1800fd]:not(:disabled) {
1450
1462
  border-color: var(--color-state-error-base);
1451
1463
  background-color: var(--color-state-error-base);
1452
1464
  box-shadow: none;
1453
1465
  color: var(--color-text-white-0);
1454
1466
  }
1455
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-fill[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1467
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-fill[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1456
1468
  border-color: var(--color-red-700);
1457
1469
  background-color: var(--color-red-700);
1458
1470
  color: var(--color-text-white-0);
1459
1471
  }
1460
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-fill[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1472
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-fill[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1461
1473
  outline: none;
1462
1474
  box-shadow: var(--shadow-buttons-error-focus);
1463
1475
  }
1464
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-stroke[data-v-ba4c26eb]:not(:disabled) {
1476
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-stroke[data-v-6c1800fd]:not(:disabled) {
1465
1477
  border-color: var(--color-state-error-base);
1466
1478
  background-color: transparent;
1467
1479
  box-shadow: none;
1468
1480
  color: var(--color-state-error-base);
1469
1481
  }
1470
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-stroke[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1482
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-stroke[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1471
1483
  border-color: transparent;
1472
1484
  background-color: var(--color-red-alpha-10);
1473
1485
  color: var(--color-state-error-base);
1474
1486
  }
1475
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-stroke[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1487
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-stroke[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1476
1488
  outline: none;
1477
1489
  box-shadow: var(--shadow-buttons-error-focus);
1478
1490
  }
1479
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-lighter[data-v-ba4c26eb]:not(:disabled) {
1491
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-lighter[data-v-6c1800fd]:not(:disabled) {
1480
1492
  border-color: transparent;
1481
1493
  background-color: var(--color-red-alpha-10);
1482
1494
  box-shadow: none;
1483
1495
  color: var(--color-state-error-base);
1484
1496
  }
1485
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-lighter[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1497
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-lighter[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1486
1498
  border-color: var(--color-state-error-base);
1487
1499
  background-color: transparent;
1488
1500
  color: var(--color-state-error-base);
1489
1501
  }
1490
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-lighter[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1502
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-lighter[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1491
1503
  outline: none;
1492
1504
  box-shadow: var(--shadow-buttons-error-focus);
1493
1505
  }
1494
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-ghost[data-v-ba4c26eb]:not(:disabled) {
1506
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-ghost[data-v-6c1800fd]:not(:disabled) {
1495
1507
  border-color: transparent;
1496
1508
  background-color: transparent;
1497
1509
  box-shadow: none;
1498
1510
  color: var(--color-state-error-base);
1499
1511
  }
1500
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-ghost[data-v-ba4c26eb]:not(:disabled):hover:not(:disabled) {
1512
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-ghost[data-v-6c1800fd]:not(:disabled):hover:not(:disabled) {
1501
1513
  border-color: transparent;
1502
1514
  background-color: var(--color-red-alpha-10);
1503
1515
  color: var(--color-state-error-base);
1504
1516
  }
1505
- .celeste-button-intent-error:not(:disabled).celeste-button-variant-ghost[data-v-ba4c26eb]:not(:disabled):focus:not(:disabled) {
1517
+ .celeste-button-intent-error:not(:disabled).celeste-button-variant-ghost[data-v-6c1800fd]:not(:disabled):focus:not(:disabled) {
1506
1518
  outline: none;
1507
1519
  box-shadow: var(--shadow-buttons-error-focus);
1508
1520
  }@property --celeste-fbutton-bg-start {
@@ -36,5 +36,5 @@ const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
36
36
  };
37
37
  }
38
38
  });
39
- const Button = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-ba4c26eb"]]);
39
+ const Button = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-6c1800fd"]]);
40
40
  module.exports = Button;
package/dist/es/button.js CHANGED
@@ -35,7 +35,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
35
35
  };
36
36
  }
37
37
  });
38
- const Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ba4c26eb"]]);
38
+ const Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6c1800fd"]]);
39
39
  export {
40
40
  Button as default
41
41
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@youcan/celeste",
3
3
  "type": "module",
4
- "version": "0.6.61",
4
+ "version": "0.6.62",
5
5
  "author": "YouCan <tech@youcan.shop>",
6
6
  "keywords": [
7
7
  "youcan",
@@ -44,8 +44,8 @@
44
44
  "radix-vue": "^1.9.12",
45
45
  "tinycolor2": "^1.6.0",
46
46
  "vue-sonner": "^2.0.2",
47
- "@youcan/celeste-icons": "0.6.61",
48
- "@youcan/celeste-tokens": "0.6.61"
47
+ "@youcan/celeste-icons": "0.6.62",
48
+ "@youcan/celeste-tokens": "0.6.62"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@chromatic-com/storybook": "^4.1.1",
@@ -38,6 +38,7 @@ export interface ButtonProps extends PrimitiveProps {
38
38
 
39
39
  <style lang="scss" scoped>
40
40
  @use 'sass:map';
41
+ @use 'sass:list';
41
42
 
42
43
  $size-map: (
43
44
  'xxs': (
@@ -247,6 +248,10 @@ $hover-map: (
247
248
  height: map.get($v, height);
248
249
  padding: map.get($v, padding);
249
250
  border-radius: map.get($v, border-radius);
251
+
252
+ &:has(> :only-child:is(i)) {
253
+ padding: list.nth(map.get($v, padding), 1);
254
+ }
250
255
  }
251
256
  }
252
257
 
@@ -29,3 +29,23 @@ export const Default: Story = {
29
29
  `,
30
30
  }),
31
31
  };
32
+
33
+ export const IconOnly: Story = {
34
+ args: {
35
+ size: 'sm',
36
+ intent: 'neutral',
37
+ variant: 'stroke',
38
+ },
39
+
40
+ render: args => ({
41
+ components: { Button },
42
+ setup() {
43
+ return { args };
44
+ },
45
+ template: `
46
+ <Button v-bind="args">
47
+ <i class="i-celeste-translate"></i>
48
+ </Button>
49
+ `,
50
+ }),
51
+ };