@nexxtmove/ui 1.40.1 → 1.41.0
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/components/editor/molecules/EditorFontSize/EditorFontSize.vue.d.ts +117 -0
- package/dist/components/editor/molecules/EditorLetterSpacing/EditorLetterSpacing.vue.d.ts +40 -24
- package/dist/components/editor/molecules/EditorLineHeight/EditorLineHeight.vue.d.ts +52 -39
- package/dist/components/molecules/PickerList/PickerList.vue.d.ts +14 -2
- package/dist/components/organisms/FontPicker/FontPicker.vue.d.ts +125 -0
- package/dist/components/organisms/FontPicker/useFontPreviewLoader.d.ts +20 -0
- package/dist/components/organisms/PickerPanel/PickerPanel.vue.d.ts +11 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.js +2643 -2106
- package/dist/nuxt.js +2 -0
- package/package.json +1 -1
- package/src/components/atoms/Skeleton/Skeleton.vue +1 -1
- package/src/components/editor/molecules/EditorFontSize/EditorFontSize.vue +253 -0
- package/src/components/editor/molecules/EditorLetterSpacing/EditorLetterSpacing.vue +102 -28
- package/src/components/editor/molecules/EditorLineHeight/EditorLineHeight.vue +133 -47
- package/src/components/molecules/PickerList/PickerList.vue +50 -10
- package/src/components/organisms/FontPicker/FontPicker.vue +576 -0
- package/src/components/organisms/FontPicker/useFontPreviewLoader.ts +118 -0
- package/src/components/organisms/PickerPanel/PickerPanel.vue +16 -1
- package/src/components.json +2 -0
- package/src/index.ts +20 -1
|
@@ -29,6 +29,11 @@ interface NexxtPickerPanelProps {
|
|
|
29
29
|
height?: number | string
|
|
30
30
|
/** Below this height of the column row (the panel minus the header), in pixels, the preview column is left out and the list takes the full width. */
|
|
31
31
|
hidePreviewBelow?: number
|
|
32
|
+
/**
|
|
33
|
+
* Render the preview column. `false` leaves it out at any height, so the list always takes the
|
|
34
|
+
* full width: for a picker whose rows are their own preview.
|
|
35
|
+
*/
|
|
36
|
+
preview?: boolean
|
|
32
37
|
/** Whether group headings fold their group. */
|
|
33
38
|
collapsible?: boolean
|
|
34
39
|
/** Heading of the empty state, shown when the search has no results. */
|
|
@@ -41,6 +46,8 @@ interface NexxtPickerPanelProps {
|
|
|
41
46
|
previewEmptyText?: string
|
|
42
47
|
/** Text announced 500ms after the search changes, e.g. `(n) => \`${n} resultaten\``. */
|
|
43
48
|
resultsAnnouncement?: (count: number) => string
|
|
49
|
+
/** More items are on their way: `aria-busy` on the listbox, and no empty state meanwhile. */
|
|
50
|
+
busy?: boolean
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
defineOptions({ name: 'NexxtPickerPanel' })
|
|
@@ -51,7 +58,9 @@ const props = withDefaults(defineProps<NexxtPickerPanelProps>(), {
|
|
|
51
58
|
width: 640,
|
|
52
59
|
height: 420,
|
|
53
60
|
hidePreviewBelow: 340,
|
|
61
|
+
preview: true,
|
|
54
62
|
collapsible: true,
|
|
63
|
+
busy: false,
|
|
55
64
|
})
|
|
56
65
|
|
|
57
66
|
/** Id of the highlighted item; the list keeps it on a visible item. Drives the preview. */
|
|
@@ -83,6 +92,8 @@ defineSlots<{
|
|
|
83
92
|
item?(props: { item: NexxtPickerItemData; highlighted: boolean }): unknown
|
|
84
93
|
/** Replaces the content of the empty search state. */
|
|
85
94
|
empty?(props: { search: string; clear: () => void }): unknown
|
|
95
|
+
/** Inside the listbox, after the last group, e.g. placeholder rows while `busy`. */
|
|
96
|
+
append?(): unknown
|
|
86
97
|
}>()
|
|
87
98
|
|
|
88
99
|
const inputField = useTemplateRef<InstanceType<typeof NexxtInputField>>('inputField')
|
|
@@ -108,7 +119,7 @@ useResizeObserver(row, ([entry]) => {
|
|
|
108
119
|
})
|
|
109
120
|
|
|
110
121
|
const showPreview = computed(
|
|
111
|
-
() => rowHeight.value === 0 || rowHeight.value >= props.hidePreviewBelow,
|
|
122
|
+
() => props.preview && (rowHeight.value === 0 || rowHeight.value >= props.hidePreviewBelow),
|
|
112
123
|
)
|
|
113
124
|
|
|
114
125
|
const highlightedItem = computed(
|
|
@@ -233,6 +244,7 @@ const COLUMN_CLASSES = {
|
|
|
233
244
|
:empty-description="emptyDescription"
|
|
234
245
|
:clear-label="clearLabel"
|
|
235
246
|
:results-announcement="resultsAnnouncement"
|
|
247
|
+
:busy="busy"
|
|
236
248
|
@select="emit('select', $event)"
|
|
237
249
|
@highlight="emit('highlight', $event)"
|
|
238
250
|
@close="emit('close')"
|
|
@@ -244,6 +256,9 @@ const COLUMN_CLASSES = {
|
|
|
244
256
|
<template v-if="$slots.empty" #empty="scope">
|
|
245
257
|
<slot name="empty" v-bind="scope" />
|
|
246
258
|
</template>
|
|
259
|
+
<template v-if="$slots.append" #append>
|
|
260
|
+
<slot name="append" />
|
|
261
|
+
</template>
|
|
247
262
|
</NexxtPickerList>
|
|
248
263
|
</div>
|
|
249
264
|
|
package/src/components.json
CHANGED
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"NexxtCountrySelect": "components/organisms/CountrySelect/CountrySelect.vue",
|
|
60
60
|
"NexxtDatePicker": "components/organisms/DatePicker/DatePicker.vue",
|
|
61
61
|
"NexxtDropdownButton": "components/organisms/DropdownButton/DropdownButton.vue",
|
|
62
|
+
"NexxtFontPicker": "components/organisms/FontPicker/FontPicker.vue",
|
|
62
63
|
"NexxtHeader": "components/organisms/Header/Header.vue",
|
|
63
64
|
"NexxtModal": "components/organisms/Modal/Modal.vue",
|
|
64
65
|
"NexxtPickerPanel": "components/organisms/PickerPanel/PickerPanel.vue",
|
|
@@ -77,6 +78,7 @@
|
|
|
77
78
|
"NexxtEditorBorder": "components/editor/molecules/EditorBorder/EditorBorder.vue",
|
|
78
79
|
"NexxtEditorColor": "components/editor/molecules/EditorColor/EditorColor.vue",
|
|
79
80
|
"NexxtEditorFlexDirection": "components/editor/molecules/EditorFlexDirection/EditorFlexDirection.vue",
|
|
81
|
+
"NexxtEditorFontSize": "components/editor/molecules/EditorFontSize/EditorFontSize.vue",
|
|
80
82
|
"NexxtEditorGap": "components/editor/molecules/EditorGap/EditorGap.vue",
|
|
81
83
|
"NexxtEditorHeadingType": "components/editor/molecules/EditorHeadingType/EditorHeadingType.vue",
|
|
82
84
|
"NexxtEditorJustifyContent": "components/editor/molecules/EditorJustifyContent/EditorJustifyContent.vue",
|
package/src/index.ts
CHANGED
|
@@ -93,16 +93,33 @@ export type {
|
|
|
93
93
|
EditorMaxWidthMessages,
|
|
94
94
|
EditorMaxWidthValue,
|
|
95
95
|
} from './components/editor/molecules/EditorMaxWidth/EditorMaxWidth.vue'
|
|
96
|
-
export {
|
|
96
|
+
export {
|
|
97
|
+
EDITOR_LINE_HEIGHT_STEPS,
|
|
98
|
+
EDITOR_TEXT_LINE_HEIGHT_RATIOS,
|
|
99
|
+
} from './components/editor/molecules/EditorLineHeight/EditorLineHeight.vue'
|
|
97
100
|
export type {
|
|
98
101
|
EditorLineHeightMessages,
|
|
99
102
|
EditorLineHeightValue,
|
|
103
|
+
NexxtEditorLineHeightProps,
|
|
100
104
|
} from './components/editor/molecules/EditorLineHeight/EditorLineHeight.vue'
|
|
101
105
|
export { EDITOR_LETTER_SPACING_STEPS } from './components/editor/molecules/EditorLetterSpacing/EditorLetterSpacing.vue'
|
|
102
106
|
export type {
|
|
103
107
|
EditorLetterSpacingMessages,
|
|
104
108
|
EditorLetterSpacingValue,
|
|
109
|
+
NexxtEditorLetterSpacingProps,
|
|
105
110
|
} from './components/editor/molecules/EditorLetterSpacing/EditorLetterSpacing.vue'
|
|
111
|
+
export { EDITOR_FONT_SIZE_STEPS } from './components/editor/molecules/EditorFontSize/EditorFontSize.vue'
|
|
112
|
+
export type {
|
|
113
|
+
EditorFontSizeMessages,
|
|
114
|
+
EditorFontSizeValue,
|
|
115
|
+
NexxtEditorFontSizeProps,
|
|
116
|
+
} from './components/editor/molecules/EditorFontSize/EditorFontSize.vue'
|
|
117
|
+
export type {
|
|
118
|
+
NexxtFontPickerFont,
|
|
119
|
+
NexxtFontPickerInherit,
|
|
120
|
+
NexxtFontPickerMessages,
|
|
121
|
+
NexxtFontPickerProps,
|
|
122
|
+
} from './components/organisms/FontPicker/FontPicker.vue'
|
|
106
123
|
export { EDITOR_PADDING_STEPS } from './components/editor/molecules/EditorPadding/EditorPadding.vue'
|
|
107
124
|
export type {
|
|
108
125
|
EditorPaddingMessages,
|
|
@@ -136,6 +153,7 @@ export { default as NexxtEditorBackgroundSize } from './components/editor/molecu
|
|
|
136
153
|
export { default as NexxtEditorBorder } from './components/editor/molecules/EditorBorder/EditorBorder.vue'
|
|
137
154
|
export { default as NexxtEditorColor } from './components/editor/molecules/EditorColor/EditorColor.vue'
|
|
138
155
|
export { default as NexxtEditorFlexDirection } from './components/editor/molecules/EditorFlexDirection/EditorFlexDirection.vue'
|
|
156
|
+
export { default as NexxtEditorFontSize } from './components/editor/molecules/EditorFontSize/EditorFontSize.vue'
|
|
139
157
|
export { default as NexxtEditorGap } from './components/editor/molecules/EditorGap/EditorGap.vue'
|
|
140
158
|
export { default as NexxtEditorHeadingType } from './components/editor/molecules/EditorHeadingType/EditorHeadingType.vue'
|
|
141
159
|
export { default as NexxtEditorJustifyContent } from './components/editor/molecules/EditorJustifyContent/EditorJustifyContent.vue'
|
|
@@ -148,6 +166,7 @@ export { default as NexxtEditorSettingsBlock } from './components/editor/atoms/E
|
|
|
148
166
|
export { default as NexxtEditorTextAlign } from './components/editor/molecules/EditorTextAlign/EditorTextAlign.vue'
|
|
149
167
|
export { default as NexxtEnergyLabel } from './components/atoms/EnergyLabel/EnergyLabel.vue'
|
|
150
168
|
export { default as NexxtFloatingPanel } from './components/atoms/FloatingPanel/FloatingPanel.vue'
|
|
169
|
+
export { default as NexxtFontPicker } from './components/organisms/FontPicker/FontPicker.vue'
|
|
151
170
|
export { default as NexxtHeader } from './components/organisms/Header/Header.vue'
|
|
152
171
|
export { default as NexxtIcon } from './components/atoms/Icon/Icon.vue'
|
|
153
172
|
export { default as NexxtInfoBlock } from './components/molecules/InfoBlock/InfoBlock.vue'
|