@youcan/celeste 0.6.14 → 0.6.16

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 (91) hide show
  1. package/dist/celeste.css +613 -214
  2. package/dist/cjs/chunks/combobox-anchor.js +31 -0
  3. package/dist/cjs/chunks/combobox-root.js +38 -0
  4. package/dist/cjs/chunks/index.js +17 -0
  5. package/dist/cjs/combobox-anchor.js +3 -0
  6. package/dist/cjs/combobox-empty.js +32 -0
  7. package/dist/cjs/combobox-group.js +42 -0
  8. package/dist/cjs/combobox-input.js +67 -0
  9. package/dist/cjs/combobox-item.js +109 -0
  10. package/dist/cjs/combobox-list.js +62 -0
  11. package/dist/cjs/combobox-root.js +3 -0
  12. package/dist/cjs/combobox-separator.js +32 -0
  13. package/dist/cjs/combobox-trigger.js +46 -0
  14. package/dist/cjs/combobox.js +208 -0
  15. package/dist/cjs/dropdown.js +10 -3
  16. package/dist/cjs/index.js +30 -0
  17. package/dist/cjs/link-button.js +2 -2
  18. package/dist/cjs/text-input-icon.js +2 -2
  19. package/dist/components/combobox/combobox-anchor.d.ts +22 -0
  20. package/dist/components/combobox/combobox-empty.d.ts +22 -0
  21. package/dist/components/combobox/combobox-group.d.ts +23 -0
  22. package/dist/components/combobox/combobox-input.d.ts +17 -0
  23. package/dist/components/combobox/combobox-item.d.ts +31 -0
  24. package/dist/components/combobox/combobox-list.d.ts +36 -0
  25. package/dist/components/combobox/combobox-root.d.ts +29 -0
  26. package/dist/components/combobox/combobox-separator.d.ts +22 -0
  27. package/dist/components/combobox/combobox-trigger.d.ts +20 -0
  28. package/dist/components/combobox/combobox.d.ts +53 -0
  29. package/dist/components/combobox/index.d.ts +20 -0
  30. package/dist/components/dropdown/dropdown.d.ts +5 -1
  31. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +4 -4
  32. package/dist/components/index.d.ts +1 -0
  33. package/dist/components/modal/modal-content.d.ts +2 -2
  34. package/dist/components/popover/popover-content.d.ts +2 -2
  35. package/dist/es/chunks/combobox-anchor.js +32 -0
  36. package/dist/es/chunks/combobox-root.js +39 -0
  37. package/dist/es/chunks/index.js +59 -42
  38. package/dist/es/combobox-anchor.js +4 -0
  39. package/dist/es/combobox-empty.js +33 -0
  40. package/dist/es/combobox-group.js +43 -0
  41. package/dist/es/combobox-input.js +68 -0
  42. package/dist/es/combobox-item.js +110 -0
  43. package/dist/es/combobox-list.js +63 -0
  44. package/dist/es/combobox-root.js +4 -0
  45. package/dist/es/combobox-separator.js +33 -0
  46. package/dist/es/combobox-trigger.js +47 -0
  47. package/dist/es/combobox.js +209 -0
  48. package/dist/es/command-group.js +1 -1
  49. package/dist/es/command-input.js +1 -1
  50. package/dist/es/command-separator.js +1 -1
  51. package/dist/es/dropdown-menu-group.js +1 -1
  52. package/dist/es/dropdown-menu-item.js +1 -1
  53. package/dist/es/dropdown-menu-label.js +1 -1
  54. package/dist/es/dropdown-menu-separator.js +1 -1
  55. package/dist/es/dropdown-menu-trigger.js +1 -1
  56. package/dist/es/dropdown-menu.js +1 -1
  57. package/dist/es/dropdown.js +11 -4
  58. package/dist/es/index.js +75 -45
  59. package/dist/es/label.js +1 -1
  60. package/dist/es/link-button.js +2 -2
  61. package/dist/es/modal-content.js +1 -1
  62. package/dist/es/modal-header.js +1 -1
  63. package/dist/es/popover-content.js +1 -1
  64. package/dist/es/popover-trigger.js +1 -1
  65. package/dist/es/segmented-control-item.js +1 -1
  66. package/dist/es/segmented-control.js +1 -1
  67. package/dist/es/select-content.js +1 -1
  68. package/dist/es/select-item.js +1 -1
  69. package/dist/es/select-trigger.js +1 -1
  70. package/dist/es/select-value.js +1 -1
  71. package/dist/es/tab-menu-content.js +1 -1
  72. package/dist/es/tab-menu-item.js +1 -1
  73. package/dist/es/tab-menu-list.js +1 -1
  74. package/dist/es/text-input-icon.js +2 -2
  75. package/dist/es/tooltip.js +1 -1
  76. package/package.json +3 -3
  77. package/src/components/button/link-button.vue +1 -1
  78. package/src/components/combobox/combobox-anchor.vue +25 -0
  79. package/src/components/combobox/combobox-empty.vue +30 -0
  80. package/src/components/combobox/combobox-group.vue +42 -0
  81. package/src/components/combobox/combobox-input.vue +64 -0
  82. package/src/components/combobox/combobox-item.vue +196 -0
  83. package/src/components/combobox/combobox-list.vue +100 -0
  84. package/src/components/combobox/combobox-root.vue +14 -0
  85. package/src/components/combobox/combobox-separator.vue +31 -0
  86. package/src/components/combobox/combobox-trigger.vue +249 -0
  87. package/src/components/combobox/combobox.vue +257 -0
  88. package/src/components/combobox/index.ts +29 -0
  89. package/src/components/combobox/stories/combobox.stories.ts +99 -0
  90. package/src/components/dropdown/dropdown.vue +33 -2
  91. package/src/components/index.ts +1 -0
@@ -15,6 +15,8 @@ const props = withDefaults(defineProps<Dropdown>(), {
15
15
  multiple: false,
16
16
  searchable: false,
17
17
  emptyLabel: 'No options available',
18
+ position: 'bottom',
19
+ align: 'start',
18
20
  });
19
21
 
20
22
  const model = defineModel<SelectedType | SelectedType[] | undefined>();
@@ -121,6 +123,8 @@ export interface Dropdown {
121
123
  error?: boolean;
122
124
  size?: 'xs' | 'sm' | 'md';
123
125
  type?: 'normal' | 'compact' | 'inline' | 'compact-input';
126
+ position?: 'top' | 'bottom';
127
+ align?: 'start' | 'end' | 'center';
124
128
  multiple?: boolean;
125
129
  emptyLabel?: string;
126
130
  searchable?: boolean;
@@ -209,7 +213,13 @@ export interface SelectedType {
209
213
  v-if="!disabled"
210
214
  force-mount
211
215
  dismissable
216
+ :avoid-collisions="true"
212
217
  class="celeste-dropdown-content"
218
+ :class="clsx(
219
+ 'celeste-dropdown-content',
220
+ `celeste-dropdown-content-size-${position}`,
221
+ `celeste-dropdown-content-align-${align}`,
222
+ )"
213
223
  >
214
224
  <ComboboxViewport class="celeste-dropdown-items-viewport">
215
225
  <div v-if="searchable" class="celeste-dropdown-search">
@@ -501,8 +511,6 @@ export interface SelectedType {
501
511
  display: flex;
502
512
  position: absolute;
503
513
  z-index: 9999;
504
- top: calc(var(--dropdown-width) + var(--spacing-4));
505
- left: 0;
506
514
  flex-direction: column;
507
515
  width: var(--dropdown-width);
508
516
  min-width: 300px;
@@ -528,6 +536,29 @@ export interface SelectedType {
528
536
  }
529
537
  }
530
538
 
539
+ .celeste-dropdown-content-size-top {
540
+ bottom: calc(var(--dropdown-width) + var(--spacing-4));
541
+ }
542
+
543
+ .celeste-dropdown-content-size-bottom {
544
+ top: calc(var(--dropdown-width) + var(--spacing-4));
545
+ }
546
+
547
+ .celeste-dropdown-content-align-start {
548
+ left: 0;
549
+ }
550
+
551
+ .celeste-dropdown-content-align-end {
552
+ right: 0;
553
+ }
554
+
555
+ :not(:has(.celeste-dropdown-anchor-trigger-type-normal)) {
556
+ .celeste-dropdown-content-align-center {
557
+ left: 50%;
558
+ transform: translateX(-50%);
559
+ }
560
+ }
561
+
531
562
  &:deep(.celeste-input-wrapper .celeste-input-prefix) {
532
563
  @include icon-size;
533
564
 
@@ -2,6 +2,7 @@ export * from './alert';
2
2
  export * from './badge';
3
3
  export * from './button';
4
4
  export * from './checkbox';
5
+ export * from './combobox';
5
6
  export * from './content-divider';
6
7
  export * from './dropdown';
7
8
  export * from './dropdown-menu';