frappe-ui 0.1.240 → 0.1.243

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.
@@ -38,7 +38,7 @@
38
38
  class="hidden"
39
39
  @change="(e) => uploadFile(e)"
40
40
  />
41
- <div class="leading-5">
41
+ <div class="leading-5 text-ink-gray-9">
42
42
  Drag and drop a CSV file, or upload from your
43
43
  <span @click="openFileSelector" class="cursor-pointer font-semibold hover:underline">Device</span>
44
44
  or
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frappe-ui",
3
- "version": "0.1.240",
3
+ "version": "0.1.243",
4
4
  "description": "A set of components and utilities for rapid UI development",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -2,7 +2,11 @@
2
2
  <Dialog v-model="showDialog" :options="{ title }" @close="closeDialog">
3
3
  <template #body-content>
4
4
  <div class="space-y-4">
5
- <p class="text-p-base text-gray-800" v-if="message" v-html="message" />
5
+ <p
6
+ class="text-p-base text-ink-gray-6"
7
+ v-if="message"
8
+ v-html="message"
9
+ />
6
10
  </div>
7
11
  </template>
8
12
  <template #actions>
@@ -12,6 +12,10 @@ export interface PopoverProps {
12
12
  | 'right-end'
13
13
  | 'left-start'
14
14
  | 'left-end'
15
+ | 'top'
16
+ | 'bottom'
17
+ | 'right'
18
+ | 'left'
15
19
  popoverClass?: string | object | Array<string | object>
16
20
  transition?: 'default' | null
17
21
  hideOnBlur?: boolean
@@ -70,7 +70,7 @@ const selectClasses = computed(() => {
70
70
  fontSizeClasses.value,
71
71
  paddingClasses.value,
72
72
  variantClasses,
73
- 'transition-colors w-full data-[state=open]:ring-2 ring-outline-gray-2 ',
73
+ 'transition-colors w-full focus:ring-2 data-[state=open]:ring-2 ring-outline-gray-3 ',
74
74
  ]
75
75
  })
76
76
 
@@ -86,21 +86,19 @@ const selectOptions = computed(() => {
86
86
  <SelectTrigger
87
87
  class="inline-flex items-center gap-2 outline-none text-base text-ink-gray-7 data-[placeholder]:text-ink-gray-4 data-[disabled]:text-ink-gray-4"
88
88
  aria-label="Customise options"
89
- :class="selectClasses"
90
- :disabled="props.disabled"
89
+ :class="[selectClasses, $attrs.class]"
90
+ :disabled="disabled"
91
91
  >
92
92
  <slot name="prefix" />
93
- <SelectValue :placeholder="props.placeholder" />
93
+ <SelectValue :placeholder="placeholder" class='truncate' />
94
94
  <slot name="suffix">
95
- <LucideChevronDown class="size-4 text-ink-gray-4 ml-auto" />
95
+ <LucideChevronDown class="size-4 text-ink-gray-4 ml-auto shrink-0" />
96
96
  </slot>
97
97
  </SelectTrigger>
98
98
 
99
99
  <SelectPortal>
100
100
  <SelectContent
101
- class="bg-surface-modal border rounded-lg shadow-lg will-change-[opacity,transform] z-[100] min-w-[--reka-select-trigger-width] max-h-[--reka-select-content-available-height] overflow-auto"
102
- :side-offset="5"
103
- position="popper"
101
+ class="bg-surface-modal border rounded-lg shadow-lg will-change-[opacity,transform] z-[100] overflow-hidden origin-center data-[state=open]:animate-[fadeInScale_150ms] data-[state=closed]:animate-[fadeOutScale_150ms]"
104
102
  >
105
103
  <SelectViewport class="p-1 flex flex-col">
106
104
  <SelectItem
@@ -109,13 +107,16 @@ const selectOptions = computed(() => {
109
107
  :key="option.value"
110
108
  :value="option.value"
111
109
  :class="[sizeClasses, paddingClasses, fontSizeClasses]"
112
- class="text-base text-ink-gray-9 flex items-center relative data-[highlighted]:bg-surface-gray-2 border-0 [data-state=checked]:bg-surface-gray-2 data-[disabled]:text-ink-gray-4"
110
+ class="
111
+ text-base text-ink-gray-9 flex items-center relative
112
+ data-[highlighted]:bg-surface-gray-2 border-0 [data-state=checked]:bg-surface-gray-2
113
+ data-[disabled]:text-ink-gray-4 select-none
114
+ "
113
115
  >
114
116
  <SelectItemText>
115
117
  <slot name="option" v-bind="{ option }">{{ option.label }}</slot>
116
118
  </SelectItemText>
117
119
  </SelectItem>
118
-
119
120
  <slot name="footer" />
120
121
  </SelectViewport>
121
122
  </SelectContent>
@@ -123,39 +124,33 @@ const selectOptions = computed(() => {
123
124
  </SelectRoot>
124
125
  </template>
125
126
 
127
+ <style scoped>
128
+ [data-highlighted],
129
+ [data-state='checked'] {
130
+ outline: none !important;
131
+ }
132
+ </style>
133
+
126
134
  <style>
127
- @keyframes slideDownFade {
135
+ @keyframes fadeInScale {
128
136
  from {
129
137
  opacity: 0;
130
- transform: translateY(-4px) scale(0.98);
138
+ transform: scale(0.90);
131
139
  }
132
140
  to {
133
141
  opacity: 1;
134
- transform: translateY(0) scale(1);
142
+ transform: scale(1);
135
143
  }
136
144
  }
137
145
 
138
- @keyframes slideUpFade {
146
+ @keyframes fadeOutScale {
139
147
  from {
140
- opacity: 0;
141
- transform: translateY(4px) scale(0.98);
148
+ opacity: 1;
149
+ transform: scale(1);
142
150
  }
143
151
  to {
144
- opacity: 1;
145
- transform: translateY(0) scale(1);
152
+ opacity: 0;
153
+ transform: scale(0.95);
146
154
  }
147
155
  }
148
-
149
- [data-side='top'] {
150
- animation: slideDownFade 280ms;
151
- }
152
-
153
- [data-side='bottom'] {
154
- animation: slideUpFade 280ms;
155
- }
156
-
157
- [data-highlighted],
158
- [data-state='checked'] {
159
- outline: none !important;
160
- }
161
156
  </style>
package/src/index.ts CHANGED
@@ -1,3 +1,6 @@
1
+ // old data-fetching: resources
2
+ export * from './resources/index.ts'
3
+
1
4
  // components
2
5
  export * from './components/Alert'
3
6
  export * from './components/Autocomplete'
@@ -92,9 +95,6 @@ export * from './utils/theme'
92
95
  export * from './components/TextEditor/extensions/image'
93
96
  export * from './components/TextEditor/extensions/suggestion'
94
97
 
95
- // old data-fetching: resources
96
- export * from './resources/index.ts'
97
-
98
98
  export { request } from './utils/request.js'
99
99
  export { frappeRequest } from './utils/frappeRequest.js'
100
100
  export { default as initSocket } from './utils/socketio.js'