@youcan/celeste 0.6.53 → 0.6.55

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 (43) hide show
  1. package/dist/celeste.css +874 -1348
  2. package/dist/cjs/chunks/index2.js +28 -0
  3. package/dist/cjs/color-picker.js +6 -4
  4. package/dist/cjs/color-swatch.js +3 -3
  5. package/dist/cjs/file-upload-area.js +280 -0
  6. package/dist/cjs/index.js +15 -9
  7. package/dist/components/color-picker/color-picker.d.ts +2 -0
  8. package/dist/components/color-picker/color-swatch.d.ts +1 -2
  9. package/dist/components/combobox/combobox-list.d.ts +1 -1
  10. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +2 -2
  11. package/dist/components/file-upload/file-upload-area.d.ts +43 -0
  12. package/dist/components/file-upload/index.d.ts +2 -0
  13. package/dist/components/index.d.ts +1 -1
  14. package/dist/components/popover/popover-content.d.ts +2 -2
  15. package/dist/es/chunks/index2.js +30 -2
  16. package/dist/es/color-picker.js +6 -4
  17. package/dist/es/color-swatch.js +3 -3
  18. package/dist/es/file-upload-area.js +281 -0
  19. package/dist/es/index.js +66 -60
  20. package/package.json +9 -9
  21. package/src/components/color-picker/color-picker.vue +4 -0
  22. package/src/components/color-picker/color-swatch.vue +1 -2
  23. package/src/components/file-upload/file-upload-area.vue +229 -0
  24. package/src/components/file-upload/index.ts +2 -0
  25. package/src/components/file-upload/stories/file-upload-area.stories.ts +76 -0
  26. package/src/components/index.ts +1 -1
  27. package/dist/cjs/context-menu-item.js +0 -134
  28. package/dist/cjs/dropdown-item.js +0 -99
  29. package/dist/cjs/dropdown.js +0 -290
  30. package/dist/components/dropdown/context-menu-item.d.ts +0 -39
  31. package/dist/components/dropdown/dropdown-item.d.ts +0 -30
  32. package/dist/components/dropdown/dropdown.d.ts +0 -55
  33. package/dist/components/dropdown/index.d.ts +0 -6
  34. package/dist/es/context-menu-item.js +0 -135
  35. package/dist/es/dropdown-item.js +0 -100
  36. package/dist/es/dropdown.js +0 -291
  37. package/src/components/dropdown/context-menu-item.vue +0 -317
  38. package/src/components/dropdown/dropdown-item.vue +0 -184
  39. package/src/components/dropdown/dropdown.vue +0 -650
  40. package/src/components/dropdown/index.ts +0 -8
  41. package/src/components/dropdown/stories/context-menu-item.stories.ts +0 -51
  42. package/src/components/dropdown/stories/dropdown-item.stories.ts +0 -33
  43. package/src/components/dropdown/stories/dropdown.stories.ts +0 -53
@@ -1,184 +0,0 @@
1
- <script setup lang="ts">
2
- import clsx from 'clsx';
3
- import Checkbox from '../checkbox/checkbox.vue';
4
-
5
- const props = withDefaults(defineProps<DropdownItem>(), {
6
- size: 'sm',
7
- selected: false,
8
- disabled: false,
9
- focused: false,
10
- });
11
-
12
- const emit = defineEmits(['update:selected']);
13
-
14
- function toggleSelection() {
15
- if (!props.disabled && props.checkbox) {
16
- emit('update:selected', !props.selected);
17
- }
18
- }
19
- </script>
20
-
21
- <script lang="ts">
22
- export interface DropdownItem {
23
- class?: string;
24
- label: string;
25
- size?: 'sm' | 'lg';
26
- checkbox?: boolean;
27
- sublabel?: string;
28
- description?: string;
29
- selected?: boolean | 'indeterminate';
30
- disabled?: boolean;
31
- focused?: boolean;
32
- }
33
- </script>
34
-
35
- <template>
36
- <div
37
- tabindex="0"
38
- :aria-disabled="disabled"
39
- :class="clsx(
40
- 'celeste-dropdown-item',
41
- { 'celeste-dropdown-item-disabled': disabled },
42
- { 'celeste-dropdown-item-selected': selected },
43
- { 'celeste-dropdown-item-focused': focused },
44
- )"
45
- @keydown.enter="toggleSelection"
46
- @click="toggleSelection"
47
- >
48
- <Checkbox
49
- v-if="checkbox && size === 'sm'"
50
- :checked="selected"
51
- :disabled="disabled"
52
- @update:checked="value => $emit('update:selected', value)"
53
- />
54
- <div
55
- v-if="$slots.prefix"
56
- :class="clsx(
57
- 'celeste-dropdown-item-prefix',
58
- `celeste-dropdown-item-prefix-${size}`,
59
- )"
60
- >
61
- <slot name="prefix" />
62
- </div>
63
- <div class="celeste-dropdown-item-info">
64
- <div
65
- :class="clsx(
66
- 'celeste-dropdown-item-header',
67
- `celeste-dropdown-item-header-${size}`,
68
- )"
69
- >
70
- <span class="celeste-dropdown-item-label" v-html="label" />
71
- <span v-if="sublabel" class="celeste-dropdown-item-sublabel">{{ sublabel }}</span>
72
- </div>
73
- <p v-if="props.description && props.size === 'lg'" class="celeste-dropdown-item-description">
74
- {{ description }}
75
- </p>
76
- </div>
77
- <div v-if="$slots.suffix" class="celeste-dropdown-item-suffix">
78
- <slot name="suffix" />
79
- </div>
80
- <i v-if="selected" class="i-celeste-check-fill" />
81
- </div>
82
- </template>
83
-
84
- <style lang="scss" scoped>
85
- .celeste-dropdown-item {
86
- display: flex;
87
- align-items: center;
88
- padding: var(--spacing-8);
89
- transition-property: background-color;
90
- transition-duration: var(--animation-fast);
91
- transition-timing-function: ease-out;
92
- border-radius: var(--radius-8);
93
- background: var(--color-bg-white-0);
94
- cursor: pointer;
95
- gap: var(--spacing-8);
96
-
97
- i {
98
- color: var(--color-icon-sub-600);
99
- }
100
-
101
- &:hover,
102
- &-focused {
103
- background: var(--color-bg-weak-50);
104
- }
105
-
106
- :deep(.celeste-input-wrapper) {
107
- gap: 0;
108
- }
109
-
110
- &-header {
111
- display: flex;
112
- align-items: center;
113
- gap: var(--spacing-4);
114
- }
115
-
116
- &-label {
117
- color: var(--color-text-strong-950);
118
- font: var(--paragraph-sm);
119
- }
120
-
121
- &-sublabel {
122
- color: var(--color-text-soft-400);
123
- font: var(--paragraph-xs);
124
- }
125
-
126
- &-description {
127
- margin: var(--spacing-0);
128
- color: var(--color-text-sub-600);
129
- font: var(--paragraph-xs);
130
- }
131
-
132
- .celeste-dropdown-item-prefix {
133
- display: flex;
134
- align-items: center;
135
- justify-content: center;
136
- color: var(--color-icon-sub-600);
137
-
138
- &-lg {
139
- padding: var(--spacing-10);
140
- border: 1px solid var(--color-stroke-soft-200);
141
- border-radius: var(--radius-full);
142
- box-shadow: var(--shadow-regular-xs);
143
- gap: var(--spacing-10);
144
- }
145
- }
146
-
147
- .celeste-dropdown-item-suffix {
148
- color: var(--color-icon-sub-600);
149
- }
150
-
151
- &-disabled {
152
- color: var(--color-text-disabled-300);
153
- cursor: not-allowed;
154
-
155
- :deep(i) {
156
- color: var(--color-text-disabled-300);
157
- }
158
-
159
- .celeste-dropdown-item-label,
160
- .celeste-dropdown-item-sublabel,
161
- .celeste-dropdown-item-description {
162
- color: var(--color-text-disabled-300);
163
- }
164
- }
165
-
166
- &-selected {
167
- background: var(--color-bg-weak-50);
168
- }
169
-
170
- .celeste-dropdown-item-info {
171
- display: flex;
172
- flex: 1 0 0;
173
- flex-direction: column;
174
- justify-content: center;
175
- gap: var(--spacing-4);
176
- }
177
-
178
- .celeste-dropdown-item-header-lg {
179
- .celeste-dropdown-item-label {
180
- font-weight: var(--font-weights-display-0);
181
- }
182
- }
183
- }
184
- </style>