@youcan/celeste 0.6.32 → 0.6.34

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 (78) hide show
  1. package/dist/celeste.css +300 -234
  2. package/dist/cjs/chunks/index.js +95 -0
  3. package/dist/cjs/dropdown-menu-content.js +52 -2
  4. package/dist/cjs/dropdown-menu-item.js +13 -25
  5. package/dist/cjs/dropdown-menu-sub-content.js +49 -2
  6. package/dist/cjs/dropdown-menu-sub-trigger.js +43 -2
  7. package/dist/cjs/dropdown-menu-trigger.js +2 -2
  8. package/dist/cjs/dropdown.js +1 -2
  9. package/dist/cjs/index.js +15 -9
  10. package/dist/cjs/progress-bar.js +84 -0
  11. package/dist/cjs/progress-circle.js +92 -0
  12. package/dist/components/dropdown-menu/dropdown-menu-item.d.ts +1 -0
  13. package/dist/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +1 -0
  14. package/dist/components/index.d.ts +1 -0
  15. package/dist/components/progress/index.d.ts +4 -0
  16. package/dist/components/progress/progress-bar.d.ts +31 -0
  17. package/dist/components/progress/progress-circle.d.ts +27 -0
  18. package/dist/es/checkbox-label.js +1 -1
  19. package/dist/es/chunks/index.js +142 -47
  20. package/dist/es/chunks/index2.js +1 -1
  21. package/dist/es/combobox-group.js +1 -1
  22. package/dist/es/combobox-input.js +1 -1
  23. package/dist/es/combobox-item.js +1 -1
  24. package/dist/es/combobox-list.js +1 -1
  25. package/dist/es/combobox-root.js +1 -1
  26. package/dist/es/combobox-separator.js +1 -1
  27. package/dist/es/combobox-trigger.js +1 -1
  28. package/dist/es/command-group.js +1 -1
  29. package/dist/es/command-input.js +1 -1
  30. package/dist/es/command-item.js +1 -1
  31. package/dist/es/command-list.js +1 -1
  32. package/dist/es/command-root.js +1 -1
  33. package/dist/es/command-separator.js +1 -1
  34. package/dist/es/dropdown-menu-content.js +52 -2
  35. package/dist/es/dropdown-menu-group.js +1 -1
  36. package/dist/es/dropdown-menu-item.js +15 -27
  37. package/dist/es/dropdown-menu-label.js +1 -1
  38. package/dist/es/dropdown-menu-separator.js +1 -1
  39. package/dist/es/dropdown-menu-sub-content.js +49 -2
  40. package/dist/es/dropdown-menu-sub-trigger.js +43 -2
  41. package/dist/es/dropdown-menu-trigger.js +2 -2
  42. package/dist/es/dropdown.js +2 -3
  43. package/dist/es/index.js +48 -42
  44. package/dist/es/label.js +1 -1
  45. package/dist/es/progress-bar.js +85 -0
  46. package/dist/es/progress-circle.js +93 -0
  47. package/dist/es/scroll-bar.js +1 -1
  48. package/dist/es/segmented-control-item.js +1 -1
  49. package/dist/es/segmented-control.js +1 -1
  50. package/dist/es/select-content.js +1 -1
  51. package/dist/es/select-item.js +1 -1
  52. package/dist/es/select-trigger.js +1 -1
  53. package/dist/es/select-value.js +1 -1
  54. package/dist/es/tab-menu-content.js +1 -1
  55. package/dist/es/tab-menu-item.js +1 -1
  56. package/dist/es/tab-menu-list.js +1 -1
  57. package/dist/es/tab-menu.js +1 -1
  58. package/dist/es/tooltip.js +1 -1
  59. package/package.json +3 -3
  60. package/src/components/dropdown/dropdown.vue +0 -1
  61. package/src/components/dropdown-menu/dropdown-menu-content.vue +31 -21
  62. package/src/components/dropdown-menu/dropdown-menu-item.vue +8 -62
  63. package/src/components/dropdown-menu/dropdown-menu-sub-content.vue +32 -21
  64. package/src/components/dropdown-menu/dropdown-menu-sub-trigger.vue +30 -6
  65. package/src/components/dropdown-menu/dropdown-menu-trigger.vue +6 -20
  66. package/src/components/dropdown-menu/stories/dropdown-menu.stories.ts +150 -54
  67. package/src/components/index.ts +1 -0
  68. package/src/components/progress/index.ts +5 -0
  69. package/src/components/progress/progress-bar.vue +167 -0
  70. package/src/components/progress/progress-circle.vue +126 -0
  71. package/src/components/progress/stories/progress-bar.stories.ts +328 -0
  72. package/src/components/progress/stories/progress-circular.stories.ts +152 -0
  73. package/dist/cjs/chunks/dropdown-menu-content.vue_vue_type_style_index_0_lang.js +0 -51
  74. package/dist/cjs/chunks/dropdown-menu-sub-content.vue_vue_type_style_index_0_lang.js +0 -49
  75. package/dist/cjs/chunks/dropdown-menu-sub-trigger.vue_vue_type_style_index_0_lang.js +0 -32
  76. package/dist/es/chunks/dropdown-menu-content.vue_vue_type_style_index_0_lang.js +0 -52
  77. package/dist/es/chunks/dropdown-menu-sub-content.vue_vue_type_style_index_0_lang.js +0 -50
  78. package/dist/es/chunks/dropdown-menu-sub-trigger.vue_vue_type_style_index_0_lang.js +0 -33
@@ -0,0 +1,152 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import ProgressCircle from '../progress-circle.vue';
3
+
4
+ const meta: Meta<typeof ProgressCircle> = {
5
+ title: 'Components/Progress/Progress Circle',
6
+ component: ProgressCircle,
7
+ };
8
+
9
+ export default meta;
10
+
11
+ type Story = StoryObj<typeof ProgressCircle>;
12
+
13
+ export const Default: Story = {
14
+ args: {
15
+ modelValue: 45,
16
+ },
17
+ render: args => ({
18
+ components: { ProgressCircle },
19
+ setup() {
20
+ return { args };
21
+ },
22
+ template: `
23
+ <ProgressCircle v-bind="args" />
24
+ `,
25
+ }),
26
+ };
27
+
28
+ export const ZeroProgress: Story = {
29
+ args: {
30
+ modelValue: 0,
31
+ },
32
+ render: args => ({
33
+ components: { ProgressCircle },
34
+ setup() {
35
+ return { args };
36
+ },
37
+ template: `<ProgressCircle v-bind="args" />`,
38
+ }),
39
+ };
40
+
41
+ export const FullProgress: Story = {
42
+ args: {
43
+ modelValue: 100,
44
+ },
45
+ render: args => ({
46
+ components: { ProgressCircle },
47
+ setup() {
48
+ return { args };
49
+ },
50
+ template: `<ProgressCircle v-bind="args" />`,
51
+ }),
52
+ };
53
+
54
+ export const WithValueAndMax: Story = {
55
+ name: 'With Custom Max Value',
56
+ args: {
57
+ modelValue: 256,
58
+ max: 1024,
59
+ },
60
+ render: args => ({
61
+ components: { ProgressCircle },
62
+ setup() {
63
+ return { args };
64
+ },
65
+ template: `<ProgressCircle v-bind="args" />`,
66
+ }),
67
+ };
68
+
69
+ export const WithCustomLabelInSlot: Story = {
70
+ name: 'With Custom Label (Slot)',
71
+ args: {
72
+ modelValue: 5,
73
+ max: 10,
74
+ size: 80,
75
+ },
76
+ render: args => ({
77
+ components: { ProgressCircle },
78
+ setup() {
79
+ return { args };
80
+ },
81
+ template: `
82
+ <ProgressCircle v-bind="args">
83
+ 5/10 Done
84
+ </ProgressCircle>
85
+ `,
86
+ }),
87
+ };
88
+
89
+ export const WithCustomIconInSlot: Story = {
90
+ name: 'With Custom Icon (Slot)',
91
+ args: {
92
+ modelValue: 100,
93
+ max: 100,
94
+ size: 80,
95
+ },
96
+ render: args => ({
97
+ components: { ProgressCircle },
98
+ setup() {
99
+ return { args };
100
+ },
101
+ template: `
102
+ <ProgressCircle v-bind="args">
103
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
104
+ <path d="M5 13l4 4L19 7" />
105
+ </svg>
106
+ </ProgressCircle>
107
+ `,
108
+ }),
109
+ };
110
+
111
+ export const DifferentSizes: Story = {
112
+ args: {
113
+ modelValue: 75,
114
+ },
115
+ render: args => ({
116
+ components: { ProgressCircle },
117
+ setup() {
118
+ return { args };
119
+ },
120
+ template: `
121
+ <div style="display: flex; align-items: center; gap: 16px;">
122
+ <ProgressCircle v-bind="args" :size="80" />
123
+ <ProgressCircle v-bind="args" :size="72" />
124
+ <ProgressCircle v-bind="args" :size="64" />
125
+ <ProgressCircle v-bind="args" :size="56" />
126
+ <ProgressCircle v-bind="args" :size="48" />
127
+ </div>
128
+ `,
129
+ }),
130
+ };
131
+
132
+ export const EdgeCases: Story = {
133
+ render: () => ({
134
+ components: { ProgressCircle },
135
+ template: `
136
+ <div style="display: flex; align-items: center; gap: 24px;">
137
+ <div>
138
+ <p style="text-align: center; margin-bottom: 8px; font: var(--label-sm);">Over Max</p>
139
+ <ProgressCircle :modelValue="150" :max="100" />
140
+ </div>
141
+ <div>
142
+ <p style="text-align: center; margin-bottom: 8px; font: var(--label-sm);">Negative Value</p>
143
+ <ProgressCircle :modelValue="-50" />
144
+ </div>
145
+ <div>
146
+ <p style="text-align: center; margin-bottom: 8px; font: var(--label-sm);">Max is Zero</p>
147
+ <ProgressCircle :modelValue="0" :max="0" />
148
+ </div>
149
+ </div>
150
+ `,
151
+ }),
152
+ };
@@ -1,51 +0,0 @@
1
- "use strict";
2
- const Mo = require("vue");
3
- const useDelegatedProps = require("../use-delegated-props.js");
4
- const clsx = require("./clsx.js");
5
- const index = require("./index.js");
6
- const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
7
- __name: "dropdown-menu-content",
8
- props: {
9
- forceMount: { type: Boolean },
10
- loop: { type: Boolean },
11
- side: {},
12
- sideOffset: { default: 4 },
13
- align: {},
14
- alignOffset: {},
15
- avoidCollisions: { type: Boolean },
16
- collisionBoundary: {},
17
- collisionPadding: {},
18
- arrowPadding: {},
19
- sticky: {},
20
- hideWhenDetached: { type: Boolean },
21
- updatePositionStrategy: {},
22
- prioritizePosition: { type: Boolean },
23
- asChild: { type: Boolean },
24
- as: {},
25
- class: {}
26
- },
27
- emits: ["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "closeAutoFocus"],
28
- setup(__props, { emit: __emit }) {
29
- const props = __props;
30
- const emits = __emit;
31
- const delegatedProps = useDelegatedProps.useDelegatedProps(props, "class");
32
- const forwarded = index.xe(delegatedProps, emits);
33
- return (_ctx, _cache) => {
34
- return Mo.openBlock(), Mo.createBlock(Mo.unref(index.ih), null, {
35
- default: Mo.withCtx(() => [
36
- Mo.createVNode(Mo.unref(index.uh), Mo.mergeProps(Mo.unref(forwarded), {
37
- "force-mount": "",
38
- class: Mo.unref(clsx.clsx)("celeste-dropdown-menu-content", props.class)
39
- }), {
40
- default: Mo.withCtx(() => [
41
- Mo.renderSlot(_ctx.$slots, "default")
42
- ]),
43
- _: 3
44
- }, 16, ["class"])
45
- ]),
46
- _: 3
47
- });
48
- };
49
- }
50
- });
51
- exports._sfc_main = _sfc_main;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- const Mo = require("vue");
3
- const useDelegatedProps = require("../use-delegated-props.js");
4
- const clsx = require("./clsx.js");
5
- const index = require("./index.js");
6
- const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
7
- __name: "dropdown-menu-sub-content",
8
- props: {
9
- forceMount: { type: Boolean },
10
- loop: { type: Boolean },
11
- sideOffset: {},
12
- alignOffset: {},
13
- avoidCollisions: { type: Boolean },
14
- collisionBoundary: {},
15
- collisionPadding: {},
16
- arrowPadding: {},
17
- sticky: {},
18
- hideWhenDetached: { type: Boolean },
19
- updatePositionStrategy: {},
20
- prioritizePosition: { type: Boolean },
21
- asChild: { type: Boolean },
22
- as: {},
23
- class: {}
24
- },
25
- emits: ["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "entryFocus", "openAutoFocus", "closeAutoFocus"],
26
- setup(__props, { emit: __emit }) {
27
- const props = __props;
28
- const emits = __emit;
29
- const delegatedProps = useDelegatedProps.useDelegatedProps(props, "class");
30
- const forwarded = index.xe(delegatedProps, emits);
31
- return (_ctx, _cache) => {
32
- return Mo.openBlock(), Mo.createBlock(Mo.unref(index.ih), null, {
33
- default: Mo.withCtx(() => [
34
- Mo.createVNode(Mo.unref(index.Ch), Mo.mergeProps(Mo.unref(forwarded), {
35
- "force-mount": "",
36
- class: Mo.unref(clsx.clsx)(props.class, "celeste-dropdown-menu-sub-content")
37
- }), {
38
- default: Mo.withCtx(() => [
39
- Mo.renderSlot(_ctx.$slots, "default")
40
- ]),
41
- _: 3
42
- }, 16, ["class"])
43
- ]),
44
- _: 3
45
- });
46
- };
47
- }
48
- });
49
- exports._sfc_main = _sfc_main;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- const Mo = require("vue");
3
- const useDelegatedProps = require("../use-delegated-props.js");
4
- const clsx = require("./clsx.js");
5
- const index = require("./index.js");
6
- const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
7
- __name: "dropdown-menu-sub-trigger",
8
- props: {
9
- disabled: { type: Boolean },
10
- textValue: {},
11
- asChild: { type: Boolean },
12
- as: {},
13
- class: {}
14
- },
15
- setup(__props) {
16
- const props = __props;
17
- const delegatedProps = useDelegatedProps.useDelegatedProps(props, "class");
18
- const forwardedProps = index.At(delegatedProps);
19
- return (_ctx, _cache) => {
20
- return Mo.openBlock(), Mo.createBlock(Mo.unref(index.wh), Mo.mergeProps(Mo.unref(forwardedProps), {
21
- class: Mo.unref(clsx.clsx)(props.class, "celeste-dropdown-menu-sub-trigger")
22
- }), {
23
- default: Mo.withCtx(() => [
24
- Mo.renderSlot(_ctx.$slots, "default"),
25
- _cache[0] || (_cache[0] = Mo.createElementVNode("i", { class: "i-celeste-arrow-right-s-line" }, null, -1))
26
- ]),
27
- _: 3
28
- }, 16, ["class"]);
29
- };
30
- }
31
- });
32
- exports._sfc_main = _sfc_main;
@@ -1,52 +0,0 @@
1
- import { defineComponent, openBlock, createBlock, unref, withCtx, createVNode, mergeProps, renderSlot } from "vue";
2
- import { useDelegatedProps } from "../use-delegated-props.js";
3
- import { c as clsx } from "./clsx.js";
4
- import { x as xe, i as ih, u as uh } from "./index.js";
5
- const _sfc_main = /* @__PURE__ */ defineComponent({
6
- __name: "dropdown-menu-content",
7
- props: {
8
- forceMount: { type: Boolean },
9
- loop: { type: Boolean },
10
- side: {},
11
- sideOffset: { default: 4 },
12
- align: {},
13
- alignOffset: {},
14
- avoidCollisions: { type: Boolean },
15
- collisionBoundary: {},
16
- collisionPadding: {},
17
- arrowPadding: {},
18
- sticky: {},
19
- hideWhenDetached: { type: Boolean },
20
- updatePositionStrategy: {},
21
- prioritizePosition: { type: Boolean },
22
- asChild: { type: Boolean },
23
- as: {},
24
- class: {}
25
- },
26
- emits: ["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "closeAutoFocus"],
27
- setup(__props, { emit: __emit }) {
28
- const props = __props;
29
- const emits = __emit;
30
- const delegatedProps = useDelegatedProps(props, "class");
31
- const forwarded = xe(delegatedProps, emits);
32
- return (_ctx, _cache) => {
33
- return openBlock(), createBlock(unref(ih), null, {
34
- default: withCtx(() => [
35
- createVNode(unref(uh), mergeProps(unref(forwarded), {
36
- "force-mount": "",
37
- class: unref(clsx)("celeste-dropdown-menu-content", props.class)
38
- }), {
39
- default: withCtx(() => [
40
- renderSlot(_ctx.$slots, "default")
41
- ]),
42
- _: 3
43
- }, 16, ["class"])
44
- ]),
45
- _: 3
46
- });
47
- };
48
- }
49
- });
50
- export {
51
- _sfc_main as _
52
- };
@@ -1,50 +0,0 @@
1
- import { defineComponent, openBlock, createBlock, unref, withCtx, createVNode, mergeProps, renderSlot } from "vue";
2
- import { useDelegatedProps } from "../use-delegated-props.js";
3
- import { c as clsx } from "./clsx.js";
4
- import { x as xe, i as ih, C as Ch } from "./index.js";
5
- const _sfc_main = /* @__PURE__ */ defineComponent({
6
- __name: "dropdown-menu-sub-content",
7
- props: {
8
- forceMount: { type: Boolean },
9
- loop: { type: Boolean },
10
- sideOffset: {},
11
- alignOffset: {},
12
- avoidCollisions: { type: Boolean },
13
- collisionBoundary: {},
14
- collisionPadding: {},
15
- arrowPadding: {},
16
- sticky: {},
17
- hideWhenDetached: { type: Boolean },
18
- updatePositionStrategy: {},
19
- prioritizePosition: { type: Boolean },
20
- asChild: { type: Boolean },
21
- as: {},
22
- class: {}
23
- },
24
- emits: ["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "entryFocus", "openAutoFocus", "closeAutoFocus"],
25
- setup(__props, { emit: __emit }) {
26
- const props = __props;
27
- const emits = __emit;
28
- const delegatedProps = useDelegatedProps(props, "class");
29
- const forwarded = xe(delegatedProps, emits);
30
- return (_ctx, _cache) => {
31
- return openBlock(), createBlock(unref(ih), null, {
32
- default: withCtx(() => [
33
- createVNode(unref(Ch), mergeProps(unref(forwarded), {
34
- "force-mount": "",
35
- class: unref(clsx)(props.class, "celeste-dropdown-menu-sub-content")
36
- }), {
37
- default: withCtx(() => [
38
- renderSlot(_ctx.$slots, "default")
39
- ]),
40
- _: 3
41
- }, 16, ["class"])
42
- ]),
43
- _: 3
44
- });
45
- };
46
- }
47
- });
48
- export {
49
- _sfc_main as _
50
- };
@@ -1,33 +0,0 @@
1
- import { defineComponent, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot, createElementVNode } from "vue";
2
- import { useDelegatedProps } from "../use-delegated-props.js";
3
- import { c as clsx } from "./clsx.js";
4
- import { A as At, w as wh } from "./index.js";
5
- const _sfc_main = /* @__PURE__ */ defineComponent({
6
- __name: "dropdown-menu-sub-trigger",
7
- props: {
8
- disabled: { type: Boolean },
9
- textValue: {},
10
- asChild: { type: Boolean },
11
- as: {},
12
- class: {}
13
- },
14
- setup(__props) {
15
- const props = __props;
16
- const delegatedProps = useDelegatedProps(props, "class");
17
- const forwardedProps = At(delegatedProps);
18
- return (_ctx, _cache) => {
19
- return openBlock(), createBlock(unref(wh), mergeProps(unref(forwardedProps), {
20
- class: unref(clsx)(props.class, "celeste-dropdown-menu-sub-trigger")
21
- }), {
22
- default: withCtx(() => [
23
- renderSlot(_ctx.$slots, "default"),
24
- _cache[0] || (_cache[0] = createElementVNode("i", { class: "i-celeste-arrow-right-s-line" }, null, -1))
25
- ]),
26
- _: 3
27
- }, 16, ["class"]);
28
- };
29
- }
30
- });
31
- export {
32
- _sfc_main as _
33
- };