@youcan/celeste 0.6.42 → 0.6.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/celeste.css CHANGED
@@ -684,7 +684,7 @@ to {
684
684
  }
685
685
  .celeste-textarea-wrapper .celeste-textarea[data-v-76864cee]:disabled::placeholder {
686
686
  color: var(--color-text-disabled-300);
687
- }.celeste-tag[data-v-0011e3b8] {
687
+ }.celeste-tag[data-v-368b7ec0] {
688
688
  display: inline-flex;
689
689
  align-items: center;
690
690
  justify-content: center;
@@ -698,23 +698,23 @@ to {
698
698
  font: var(--label-xs);
699
699
  gap: var(--spacing-4);
700
700
  }
701
- .celeste-tag[data-tag-variant=stroke][data-v-0011e3b8]:not([aria-disabled=true]) {
701
+ .celeste-tag[data-tag-variant=stroke][data-v-368b7ec0]:not([aria-disabled=true]) {
702
702
  border-color: var(--color-stroke-soft-200);
703
703
  background-color: var(--color-bg-white-0);
704
704
  }
705
- .celeste-tag[data-tag-variant=stroke][data-v-0011e3b8]:not([aria-disabled=true]):hover {
705
+ .celeste-tag[data-tag-variant=stroke][data-v-368b7ec0]:not([aria-disabled=true]):hover {
706
706
  border-color: transparent;
707
707
  background-color: var(--color-bg-weak-50);
708
708
  }
709
- .celeste-tag[data-tag-variant=gray][data-v-0011e3b8]:not([aria-disabled=true]) {
709
+ .celeste-tag[data-tag-variant=gray][data-v-368b7ec0]:not([aria-disabled=true]) {
710
710
  border-color: transparent;
711
711
  background-color: var(--color-bg-weak-50);
712
712
  }
713
- .celeste-tag[data-tag-variant=gray][data-v-0011e3b8]:not([aria-disabled=true]):hover {
713
+ .celeste-tag[data-tag-variant=gray][data-v-368b7ec0]:not([aria-disabled=true]):hover {
714
714
  border-color: var(--color-stroke-soft-200);
715
715
  background-color: var(--color-bg-white-0);
716
716
  }
717
- .celeste-tag .celeste-tag-dismiss-button[data-v-0011e3b8] {
717
+ .celeste-tag .celeste-tag-dismiss-button[data-v-368b7ec0] {
718
718
  --size: 16px;
719
719
  display: flex;
720
720
  align-items: center;
@@ -728,24 +728,24 @@ to {
728
728
  background-color: transparent;
729
729
  cursor: pointer;
730
730
  }
731
- .celeste-tag .celeste-tag-dismiss-button i[data-v-0011e3b8] {
731
+ .celeste-tag .celeste-tag-dismiss-button i[data-v-368b7ec0] {
732
732
  transition: background-color var(--animation-fast) ease-out;
733
733
  background-color: var(--color-icon-soft-400);
734
734
  }
735
- .celeste-tag .celeste-tag-dismiss-button[data-v-0011e3b8]:disabled {
735
+ .celeste-tag .celeste-tag-dismiss-button[data-v-368b7ec0]:disabled {
736
736
  cursor: auto;
737
737
  }
738
- .celeste-tag .celeste-tag-dismiss-button:disabled i[data-v-0011e3b8] {
738
+ .celeste-tag .celeste-tag-dismiss-button:disabled i[data-v-368b7ec0] {
739
739
  background-color: var(--color-icon-disabled-300);
740
740
  }
741
- .celeste-tag .celeste-tag-dismiss-button[data-v-0011e3b8]:focus:not([aria-disabled=true]) {
741
+ .celeste-tag .celeste-tag-dismiss-button[data-v-368b7ec0]:focus:not([aria-disabled=true]) {
742
742
  outline: none;
743
743
  box-shadow: var(--shadow-buttons-important-focus);
744
744
  }
745
- .celeste-tag .celeste-tag-dismiss-button:not(:disabled):hover i[data-v-0011e3b8] {
745
+ .celeste-tag .celeste-tag-dismiss-button:not(:disabled):hover i[data-v-368b7ec0] {
746
746
  background-color: var(--color-icon-sub-600);
747
747
  }
748
- .celeste-tag[aria-disabled=true][data-v-0011e3b8] {
748
+ .celeste-tag[aria-disabled=true][data-v-368b7ec0] {
749
749
  background-color: var(--color-bg-weak-50);
750
750
  color: var(--color-text-disabled-300);
751
751
  }
package/dist/cjs/tag.js CHANGED
@@ -1,39 +1,46 @@
1
1
  "use strict";
2
2
  const Mo = require("vue");
3
3
  const clsx = require("./chunks/clsx.js");
4
+ const index = require("./chunks/index.js");
4
5
  const _pluginVue_exportHelper = require("./chunks/_plugin-vue_export-helper.js");
5
- const _hoisted_1 = ["data-tag-variant", "aria-disabled"];
6
- const _hoisted_2 = ["disabled"];
6
+ const _hoisted_1 = ["disabled"];
7
7
  const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
8
8
  __name: "tag",
9
9
  props: {
10
10
  variant: { default: "stroke" },
11
11
  class: {},
12
12
  dismissable: { type: Boolean, default: false },
13
- disabled: { type: Boolean }
13
+ disabled: { type: Boolean },
14
+ asChild: { type: Boolean },
15
+ as: { default: "div" }
14
16
  },
15
17
  emits: ["dismiss"],
16
18
  setup(__props) {
17
19
  const props = __props;
18
20
  return (_ctx, _cache) => {
19
- return Mo.openBlock(), Mo.createElementBlock("div", {
21
+ return Mo.openBlock(), Mo.createBlock(Mo.unref(index.O), {
22
+ as: _ctx.as,
23
+ "as-child": _ctx.asChild,
20
24
  class: Mo.normalizeClass(Mo.unref(clsx.clsx)("celeste-tag", props.class)),
21
25
  "data-tag-variant": _ctx.variant,
22
26
  "aria-disabled": _ctx.disabled
23
- }, [
24
- Mo.renderSlot(_ctx.$slots, "default", {}, void 0, true),
25
- _ctx.dismissable ? (Mo.openBlock(), Mo.createElementBlock("button", {
26
- key: 0,
27
- disabled: _ctx.disabled,
28
- class: "celeste-tag-dismiss-button",
29
- "aria-label": "dismiss",
30
- onClick: _cache[0] || (_cache[0] = Mo.withModifiers(($event) => _ctx.$emit("dismiss"), ["prevent", "stop"]))
31
- }, _cache[1] || (_cache[1] = [
32
- Mo.createElementVNode("i", { class: "i-celeste-close-line" }, null, -1)
33
- ]), 8, _hoisted_2)) : Mo.createCommentVNode("", true)
34
- ], 10, _hoisted_1);
27
+ }, {
28
+ default: Mo.withCtx(() => [
29
+ Mo.renderSlot(_ctx.$slots, "default", {}, void 0, true),
30
+ _ctx.dismissable ? (Mo.openBlock(), Mo.createElementBlock("button", {
31
+ key: 0,
32
+ disabled: _ctx.disabled,
33
+ class: "celeste-tag-dismiss-button",
34
+ "aria-label": "dismiss",
35
+ onClick: _cache[0] || (_cache[0] = Mo.withModifiers(($event) => _ctx.$emit("dismiss"), ["prevent", "stop"]))
36
+ }, _cache[1] || (_cache[1] = [
37
+ Mo.createElementVNode("i", { class: "i-celeste-close-line" }, null, -1)
38
+ ]), 8, _hoisted_1)) : Mo.createCommentVNode("", true)
39
+ ]),
40
+ _: 3
41
+ }, 8, ["as", "as-child", "class", "data-tag-variant", "aria-disabled"]);
35
42
  };
36
43
  }
37
44
  });
38
- const tag = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-0011e3b8"]]);
45
+ const tag = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-368b7ec0"]]);
39
46
  module.exports = tag;
@@ -1,5 +1,6 @@
1
1
  import { HTMLAttributes } from 'vue';
2
- export interface TagProps {
2
+ import { PrimitiveProps } from 'radix-vue';
3
+ export interface TagProps extends PrimitiveProps {
3
4
  variant?: 'stroke' | 'gray';
4
5
  class?: HTMLAttributes['class'];
5
6
  dismissable?: boolean;
@@ -15,7 +16,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<Ta
15
16
  }>, {
16
17
  variant: "stroke" | "gray";
17
18
  dismissable: boolean;
18
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>, {
19
+ as: import('radix-vue').AsTag | import('vue').Component;
20
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
19
21
  default?(_: {}): any;
20
22
  }>;
21
23
  export default _default;
package/dist/es/tag.js CHANGED
@@ -1,40 +1,47 @@
1
- import { defineComponent, openBlock, createElementBlock, normalizeClass, unref, renderSlot, withModifiers, createElementVNode, createCommentVNode } from "vue";
1
+ import { defineComponent, openBlock, createBlock, unref, normalizeClass, withCtx, renderSlot, createElementBlock, withModifiers, createElementVNode, createCommentVNode } from "vue";
2
2
  import { c as clsx } from "./chunks/clsx.js";
3
+ import { g as O } from "./chunks/index.js";
3
4
  import { _ as _export_sfc } from "./chunks/_plugin-vue_export-helper.js";
4
- const _hoisted_1 = ["data-tag-variant", "aria-disabled"];
5
- const _hoisted_2 = ["disabled"];
5
+ const _hoisted_1 = ["disabled"];
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "tag",
8
8
  props: {
9
9
  variant: { default: "stroke" },
10
10
  class: {},
11
11
  dismissable: { type: Boolean, default: false },
12
- disabled: { type: Boolean }
12
+ disabled: { type: Boolean },
13
+ asChild: { type: Boolean },
14
+ as: { default: "div" }
13
15
  },
14
16
  emits: ["dismiss"],
15
17
  setup(__props) {
16
18
  const props = __props;
17
19
  return (_ctx, _cache) => {
18
- return openBlock(), createElementBlock("div", {
20
+ return openBlock(), createBlock(unref(O), {
21
+ as: _ctx.as,
22
+ "as-child": _ctx.asChild,
19
23
  class: normalizeClass(unref(clsx)("celeste-tag", props.class)),
20
24
  "data-tag-variant": _ctx.variant,
21
25
  "aria-disabled": _ctx.disabled
22
- }, [
23
- renderSlot(_ctx.$slots, "default", {}, void 0, true),
24
- _ctx.dismissable ? (openBlock(), createElementBlock("button", {
25
- key: 0,
26
- disabled: _ctx.disabled,
27
- class: "celeste-tag-dismiss-button",
28
- "aria-label": "dismiss",
29
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("dismiss"), ["prevent", "stop"]))
30
- }, _cache[1] || (_cache[1] = [
31
- createElementVNode("i", { class: "i-celeste-close-line" }, null, -1)
32
- ]), 8, _hoisted_2)) : createCommentVNode("", true)
33
- ], 10, _hoisted_1);
26
+ }, {
27
+ default: withCtx(() => [
28
+ renderSlot(_ctx.$slots, "default", {}, void 0, true),
29
+ _ctx.dismissable ? (openBlock(), createElementBlock("button", {
30
+ key: 0,
31
+ disabled: _ctx.disabled,
32
+ class: "celeste-tag-dismiss-button",
33
+ "aria-label": "dismiss",
34
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("dismiss"), ["prevent", "stop"]))
35
+ }, _cache[1] || (_cache[1] = [
36
+ createElementVNode("i", { class: "i-celeste-close-line" }, null, -1)
37
+ ]), 8, _hoisted_1)) : createCommentVNode("", true)
38
+ ]),
39
+ _: 3
40
+ }, 8, ["as", "as-child", "class", "data-tag-variant", "aria-disabled"]);
34
41
  };
35
42
  }
36
43
  });
37
- const tag = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0011e3b8"]]);
44
+ const tag = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-368b7ec0"]]);
38
45
  export {
39
46
  tag as default
40
47
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@youcan/celeste",
3
3
  "type": "module",
4
- "version": "0.6.42",
4
+ "version": "0.6.43",
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.42",
48
- "@youcan/celeste-tokens": "0.6.42"
47
+ "@youcan/celeste-icons": "0.6.43",
48
+ "@youcan/celeste-tokens": "0.6.43"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@chromatic-com/storybook": "^4.0.0",
@@ -1,17 +1,19 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue';
3
3
  import clsx from 'clsx';
4
+ import { Primitive, type PrimitiveProps } from 'radix-vue';
4
5
 
5
6
  const props = withDefaults(defineProps<TagProps>(), {
6
7
  variant: 'stroke',
7
8
  dismissable: false,
9
+ as: 'div',
8
10
  });
9
11
 
10
12
  defineEmits<TagEmits>();
11
13
  </script>
12
14
 
13
15
  <script lang="ts">
14
- export interface TagProps {
16
+ export interface TagProps extends PrimitiveProps {
15
17
  variant?: 'stroke' | 'gray';
16
18
  class?: HTMLAttributes['class'];
17
19
  dismissable?: boolean;
@@ -24,7 +26,9 @@ export interface TagEmits {
24
26
  </script>
25
27
 
26
28
  <template>
27
- <div
29
+ <Primitive
30
+ :as
31
+ :as-child
28
32
  :class="clsx('celeste-tag', props.class)"
29
33
  :data-tag-variant="variant"
30
34
  :aria-disabled="disabled"
@@ -39,7 +43,7 @@ export interface TagEmits {
39
43
  >
40
44
  <i class="i-celeste-close-line" />
41
45
  </button>
42
- </div>
46
+ </Primitive>
43
47
  </template>
44
48
 
45
49
  <style scoped lang="scss">