@agnos-ui/svelte-bootstrap 0.4.3 → 0.5.0-next.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/README.md +2 -2
- package/components/accordion/Accordion.svelte +20 -18
- package/components/accordion/Accordion.svelte.d.ts +8 -23
- package/components/accordion/Item.svelte +40 -44
- package/components/accordion/Item.svelte.d.ts +5 -20
- package/components/accordion/ItemDefaultStructure.svelte +17 -27
- package/components/accordion/ItemDefaultStructure.svelte.d.ts +3 -17
- package/components/accordion/accordion.d.ts +11 -6
- package/components/accordion/accordion.gen.d.ts +37 -9
- package/components/accordion/accordion.js +10 -0
- package/components/alert/Alert.svelte +36 -40
- package/components/alert/Alert.svelte.d.ts +5 -21
- package/components/alert/AlertDefaultStructure.svelte +8 -12
- package/components/alert/AlertDefaultStructure.svelte.d.ts +3 -17
- package/components/alert/alert.gen.d.ts +21 -2
- package/components/alert/index.d.ts +1 -1
- package/components/alert/index.js +1 -1
- package/components/collapse/Collapse.svelte +33 -0
- package/components/collapse/Collapse.svelte.d.ts +8 -0
- package/components/collapse/collapse.gen.d.ts +146 -0
- package/components/collapse/collapse.gen.js +14 -0
- package/components/collapse/index.d.ts +3 -0
- package/components/collapse/index.js +3 -0
- package/components/modal/Modal.svelte +45 -47
- package/components/modal/Modal.svelte.d.ts +16 -14
- package/components/modal/ModalDefaultHeader.svelte +10 -17
- package/components/modal/ModalDefaultHeader.svelte.d.ts +15 -12
- package/components/modal/ModalDefaultStructure.svelte +10 -36
- package/components/modal/ModalDefaultStructure.svelte.d.ts +15 -12
- package/components/modal/index.d.ts +1 -1
- package/components/modal/index.js +1 -1
- package/components/modal/modal.gen.d.ts +35 -18
- package/components/modal/modalService.d.ts +19 -1
- package/components/modal/modalService.js +21 -2
- package/components/pagination/Pagination.svelte +39 -47
- package/components/pagination/Pagination.svelte.d.ts +3 -21
- package/components/pagination/PaginationDefaultPages.svelte +13 -43
- package/components/pagination/PaginationDefaultPages.svelte.d.ts +3 -17
- package/components/pagination/PaginationDefaultStructure.svelte +18 -89
- package/components/pagination/PaginationDefaultStructure.svelte.d.ts +3 -17
- package/components/pagination/index.d.ts +1 -1
- package/components/pagination/index.js +1 -1
- package/components/pagination/pagination.gen.d.ts +49 -29
- package/components/progressbar/Progressbar.svelte +28 -31
- package/components/progressbar/Progressbar.svelte.d.ts +3 -21
- package/components/progressbar/ProgressbarDefaultStructure.svelte +6 -11
- package/components/progressbar/ProgressbarDefaultStructure.svelte.d.ts +3 -17
- package/components/progressbar/index.d.ts +1 -1
- package/components/progressbar/index.js +1 -1
- package/components/progressbar/progressbar.gen.d.ts +21 -4
- package/components/rating/Rating.svelte +33 -27
- package/components/rating/Rating.svelte.d.ts +3 -18
- package/components/rating/index.d.ts +1 -1
- package/components/rating/index.js +1 -1
- package/components/rating/rating.gen.d.ts +25 -17
- package/components/select/Select.svelte +57 -81
- package/components/select/Select.svelte.d.ts +16 -14
- package/components/select/index.d.ts +1 -1
- package/components/select/index.js +1 -1
- package/components/select/select.gen.d.ts +41 -25
- package/components/slider/Slider.svelte +39 -40
- package/components/slider/Slider.svelte.d.ts +3 -21
- package/components/slider/SliderDefaultHandle.svelte +7 -4
- package/components/slider/SliderDefaultHandle.svelte.d.ts +3 -17
- package/components/slider/SliderDefaultStructure.svelte +21 -75
- package/components/slider/SliderDefaultStructure.svelte.d.ts +3 -17
- package/components/slider/index.d.ts +1 -1
- package/components/slider/index.js +1 -1
- package/components/slider/slider.gen.d.ts +54 -33
- package/components/toast/Toast.svelte +43 -40
- package/components/toast/Toast.svelte.d.ts +5 -21
- package/components/toast/ToastDefaultStructure.svelte +13 -23
- package/components/toast/ToastDefaultStructure.svelte.d.ts +3 -17
- package/components/toast/index.d.ts +1 -1
- package/components/toast/index.js +1 -1
- package/components/toast/toast.gen.d.ts +22 -2
- package/config.d.ts +1 -12
- package/config.gen.d.ts +5 -0
- package/generated/index.d.ts +1 -1
- package/generated/index.js +1 -1
- package/generated/utils/widget.svelte.d.ts +1 -0
- package/generated/utils/widget.svelte.js +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +8 -7
- package/components/alert/alert.d.ts +0 -5
- package/components/alert/alert.js +0 -1
- package/components/modal/modal.d.ts +0 -5
- package/components/modal/modal.js +0 -1
- package/components/pagination/pagination.d.ts +0 -5
- package/components/pagination/pagination.js +0 -1
- package/components/progressbar/progressbar.d.ts +0 -5
- package/components/progressbar/progressbar.js +0 -1
- package/components/rating/rating.d.ts +0 -5
- package/components/rating/rating.js +0 -1
- package/components/select/select.d.ts +0 -5
- package/components/select/select.js +0 -1
- package/components/slider/slider.d.ts +0 -5
- package/components/slider/slider.js +0 -1
- package/components/toast/toast.d.ts +0 -5
- package/components/toast/toast.js +0 -1
- package/generated/utils/widget.d.ts +0 -1
- package/generated/utils/widget.js +0 -1
|
@@ -7,7 +7,18 @@ import type { TransitionFn } from '@agnos-ui/svelte-headless/services/transition
|
|
|
7
7
|
*/
|
|
8
8
|
declare const export_getModalDefaultConfig: () => ModalProps<any>;
|
|
9
9
|
export { export_getModalDefaultConfig as getModalDefaultConfig };
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Represents the context for a modal component.
|
|
12
|
+
*
|
|
13
|
+
* @template Data - The type of data associated with the modal.
|
|
14
|
+
*/
|
|
15
|
+
export interface ModalContext<Data> extends WidgetSlotContext<ModalWidget<Data>> {
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Represents the state of a modal component.
|
|
19
|
+
*
|
|
20
|
+
* @template Data - The type of the data associated with the modal.
|
|
21
|
+
*/
|
|
11
22
|
export interface ModalState<Data> {
|
|
12
23
|
/**
|
|
13
24
|
* Whether the backdrop is fully hidden. This can be true either because {@link ModalProps.backdrop|backdrop} is false or
|
|
@@ -99,6 +110,11 @@ export interface ModalState<Data> {
|
|
|
99
110
|
*/
|
|
100
111
|
fullscreen: boolean;
|
|
101
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Interface representing the properties for a modal component.
|
|
115
|
+
*
|
|
116
|
+
* @template Data - The type of data that the modal will handle.
|
|
117
|
+
*/
|
|
102
118
|
export interface ModalProps<Data> {
|
|
103
119
|
/**
|
|
104
120
|
* The transition to use for the backdrop behind the modal (if present).
|
|
@@ -244,6 +260,11 @@ export interface ModalProps<Data> {
|
|
|
244
260
|
*/
|
|
245
261
|
fullscreen: boolean;
|
|
246
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Interface representing the API for a modal component.
|
|
265
|
+
*
|
|
266
|
+
* @template Data - The type of data associated with the modal.
|
|
267
|
+
*/
|
|
247
268
|
export interface ModalApi<Data> {
|
|
248
269
|
/**
|
|
249
270
|
* Method to change some modal properties.
|
|
@@ -263,7 +284,12 @@ export interface ModalApi<Data> {
|
|
|
263
284
|
*/
|
|
264
285
|
open(): Promise<any>;
|
|
265
286
|
}
|
|
266
|
-
|
|
287
|
+
/**
|
|
288
|
+
* Represents a modal widget with specific data type.
|
|
289
|
+
*
|
|
290
|
+
* @template Data - The type of data that the modal widget will handle.
|
|
291
|
+
*/
|
|
292
|
+
export type ModalWidget<Data> = Widget<ModalProps<Data>, ModalState<Data>, ModalApi<Data>, ModalDirectives>;
|
|
267
293
|
/**
|
|
268
294
|
* Creates a new modal widget instance.
|
|
269
295
|
* @param config - config of the modal, either as a store or as an object containing values or stores.
|
|
@@ -283,6 +309,9 @@ export { export_modalOutsideClick as modalOutsideClick };
|
|
|
283
309
|
*/
|
|
284
310
|
declare const export_modalCloseButtonClick: typeof modalCloseButtonClick;
|
|
285
311
|
export { export_modalCloseButtonClick as modalCloseButtonClick };
|
|
312
|
+
/**
|
|
313
|
+
* Type of the parameter of {@link ModalProps.onBeforeClose|onBeforeClose}.
|
|
314
|
+
*/
|
|
286
315
|
export interface ModalBeforeCloseEvent {
|
|
287
316
|
/**
|
|
288
317
|
* Result of the modal, which is the value passed to the {@link ModalApi.close|close} method
|
|
@@ -296,21 +325,9 @@ export interface ModalBeforeCloseEvent {
|
|
|
296
325
|
*/
|
|
297
326
|
cancel: boolean;
|
|
298
327
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
* @param event - mouse event
|
|
303
|
-
*/
|
|
304
|
-
closeButtonClick(event: Pick<MouseEvent, never>): void;
|
|
305
|
-
/**
|
|
306
|
-
* Action to be called when the user clicks on the modal DOM element (which is supposed to have the size of the full viewport).
|
|
307
|
-
* If the click is not done on a descendant of the modal DOM element, it is considered to be done outside the modal
|
|
308
|
-
* and, depending on the value of the {@link ModalProps.closeOnOutsideClick|closeOnOutsideClick} prop, the modal is or isn't closed
|
|
309
|
-
* (with the {@link modalOutsideClick} result).
|
|
310
|
-
* @param event - mouse event
|
|
311
|
-
*/
|
|
312
|
-
modalClick(event: Pick<MouseEvent, 'target' | 'currentTarget'>): void;
|
|
313
|
-
}
|
|
328
|
+
/**
|
|
329
|
+
* Directives of the modal widget.
|
|
330
|
+
*/
|
|
314
331
|
export interface ModalDirectives {
|
|
315
332
|
/**
|
|
316
333
|
* Directive to put on the modal DOM element.
|
|
@@ -333,7 +350,7 @@ export interface ModalDirectives {
|
|
|
333
350
|
*/
|
|
334
351
|
closeButtonDirective: Directive;
|
|
335
352
|
/**
|
|
336
|
-
* Directive to apply to the dialog element when using the native
|
|
353
|
+
* Directive to apply to the dialog element when using the native {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement | HTMLDialogElement}
|
|
337
354
|
*/
|
|
338
355
|
dialogDirective: Directive;
|
|
339
356
|
}
|
|
@@ -1,4 +1,22 @@
|
|
|
1
|
-
import type { ModalProps } from './modal';
|
|
1
|
+
import type { ModalProps } from './modal.gen';
|
|
2
|
+
/**
|
|
3
|
+
* Opens a modal dialog with the specified options.
|
|
4
|
+
*
|
|
5
|
+
* @template Data - The type of data that the modal will handle.
|
|
6
|
+
* @param {Partial<ModalProps<Data>>} options - The options to configure the modal.
|
|
7
|
+
* @param {Object} [context] - Optional context to pass to the modal.
|
|
8
|
+
* @param {Map<any, any>} [context.context] - A map of context values to pass to the modal.
|
|
9
|
+
* @returns {Promise<any>} A promise that resolves when the modal is closed.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const result = await openModal<MyDataType>({
|
|
14
|
+
* title: 'My Modal Title',
|
|
15
|
+
* content: 'This is the content of the modal.'
|
|
16
|
+
* });
|
|
17
|
+
* console.log(result);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
2
20
|
export declare function openModal<Data>(options: Partial<ModalProps<Data>>, { context }?: {
|
|
3
21
|
context?: Map<any, any>;
|
|
4
22
|
}): Promise<any>;
|
|
@@ -1,7 +1,26 @@
|
|
|
1
|
+
import { mount, unmount } from 'svelte';
|
|
1
2
|
import Modal from './Modal.svelte';
|
|
3
|
+
/**
|
|
4
|
+
* Opens a modal dialog with the specified options.
|
|
5
|
+
*
|
|
6
|
+
* @template Data - The type of data that the modal will handle.
|
|
7
|
+
* @param {Partial<ModalProps<Data>>} options - The options to configure the modal.
|
|
8
|
+
* @param {Object} [context] - Optional context to pass to the modal.
|
|
9
|
+
* @param {Map<any, any>} [context.context] - A map of context values to pass to the modal.
|
|
10
|
+
* @returns {Promise<any>} A promise that resolves when the modal is closed.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const result = await openModal<MyDataType>({
|
|
15
|
+
* title: 'My Modal Title',
|
|
16
|
+
* content: 'This is the content of the modal.'
|
|
17
|
+
* });
|
|
18
|
+
* console.log(result);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
2
21
|
export async function openModal(options, { context } = {}) {
|
|
3
22
|
const target = document.createElement('div');
|
|
4
|
-
const component =
|
|
23
|
+
const component = mount(Modal, {
|
|
5
24
|
target,
|
|
6
25
|
props: options,
|
|
7
26
|
context,
|
|
@@ -10,6 +29,6 @@ export async function openModal(options, { context } = {}) {
|
|
|
10
29
|
return await component.api.open();
|
|
11
30
|
}
|
|
12
31
|
finally {
|
|
13
|
-
component
|
|
32
|
+
unmount(component);
|
|
14
33
|
}
|
|
15
34
|
}
|
|
@@ -1,52 +1,44 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
</script>
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type {PaginationContext, PaginationNumberContext, PaginationProps} from './pagination.gen';
|
|
3
|
+
import {createPagination} from './pagination.gen';
|
|
4
|
+
import {Slot} from '@agnos-ui/svelte-headless/slot';
|
|
5
|
+
import {callWidgetFactory} from '../../config';
|
|
6
|
+
import PaginationDefaultPages from './PaginationDefaultPages.svelte';
|
|
7
|
+
import PaginationDefaultStructure from './PaginationDefaultStructure.svelte';
|
|
8
|
+
|
|
9
|
+
let {page = $bindable(), ...props}: Partial<PaginationProps> = $props();
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
$: widget.patchChangedProps($$props);
|
|
32
|
-
$: slotContext = { widget: toSlotContextWidget(widget), state: $state$ };
|
|
11
|
+
const widget = callWidgetFactory({
|
|
12
|
+
factory: createPagination,
|
|
13
|
+
widgetName: 'pagination',
|
|
14
|
+
get props() {
|
|
15
|
+
return {...props, page};
|
|
16
|
+
},
|
|
17
|
+
enablePatchChanged: true,
|
|
18
|
+
defaultConfig: {
|
|
19
|
+
structure,
|
|
20
|
+
pagesDisplay,
|
|
21
|
+
numberLabel,
|
|
22
|
+
},
|
|
23
|
+
events: {
|
|
24
|
+
onPageChange: (value: number) => {
|
|
25
|
+
page = value;
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
});
|
|
33
29
|
</script>
|
|
34
30
|
|
|
31
|
+
{#snippet structure(props: PaginationContext)}
|
|
32
|
+
<PaginationDefaultStructure {...props} />
|
|
33
|
+
{/snippet}
|
|
34
|
+
{#snippet pagesDisplay(props: PaginationContext)}
|
|
35
|
+
<PaginationDefaultPages {...props} />
|
|
36
|
+
{/snippet}
|
|
37
|
+
{#snippet numberLabel({displayedPage}: PaginationNumberContext)}
|
|
38
|
+
{displayedPage}
|
|
39
|
+
{/snippet}
|
|
40
|
+
|
|
35
41
|
<!-- Should we put nav here ? how to custom the class of ul in this case ?-->
|
|
36
|
-
<nav aria-label={
|
|
37
|
-
<Slot
|
|
38
|
-
<svelte:fragment slot="slot" let:props><slot name="structure" {...props} /></svelte:fragment>
|
|
39
|
-
<svelte:component this={component} {...props}>
|
|
40
|
-
<svelte:fragment slot="ellipsisLabel" let:state let:widget><slot name="ellipsisLabel" {state} {widget} /></svelte:fragment>
|
|
41
|
-
<svelte:fragment slot="firstPageLabel" let:state let:widget><slot name="firstPageLabel" {state} {widget} /></svelte:fragment>
|
|
42
|
-
<svelte:fragment slot="lastPageLabel" let:state let:widget><slot name="lastPageLabel" {state} {widget} /></svelte:fragment>
|
|
43
|
-
<svelte:fragment slot="nextPageLabel" let:state let:widget><slot name="nextPageLabel" {state} {widget} /></svelte:fragment>
|
|
44
|
-
<svelte:fragment slot="numberLabel" let:displayedPage let:state let:widget
|
|
45
|
-
><slot name="numberLabel" {displayedPage} {state} {widget} /></svelte:fragment
|
|
46
|
-
>
|
|
47
|
-
<svelte:fragment slot="pagesDisplay" let:state let:widget><slot name="pagesDisplay" {state} {widget} /></svelte:fragment>
|
|
48
|
-
<svelte:fragment slot="previousPageLabel" let:state let:widget><slot name="previousPageLabel" {state} {widget} /></svelte:fragment>
|
|
49
|
-
<svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
|
|
50
|
-
</svelte:component>
|
|
51
|
-
</Slot>
|
|
42
|
+
<nav aria-label={widget.state.ariaLabel}>
|
|
43
|
+
<Slot content={widget.state.structure} props={widget} />
|
|
52
44
|
</nav>
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
props: {
|
|
5
|
-
api?: PaginationApi;
|
|
6
|
-
} & Partial<PaginationProps>;
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: PaginationSlots;
|
|
11
|
-
exports?: {} | undefined;
|
|
12
|
-
bindings?: string | undefined;
|
|
13
|
-
};
|
|
14
|
-
type PaginationProps_ = typeof __propDef.props;
|
|
15
|
-
export { PaginationProps_ as PaginationProps };
|
|
16
|
-
export type PaginationEvents = typeof __propDef.events;
|
|
17
|
-
type PaginationSlots_ = typeof __propDef.slots;
|
|
18
|
-
export { PaginationSlots_ as PaginationSlots };
|
|
19
|
-
export default class Pagination extends SvelteComponent<PaginationProps_, PaginationEvents, PaginationSlots_> {
|
|
20
|
-
get api(): PaginationApi;
|
|
21
|
-
}
|
|
1
|
+
import type { PaginationProps } from './pagination.gen';
|
|
2
|
+
declare const Pagination: import("svelte").Component<Partial<PaginationProps>, {}, "page">;
|
|
3
|
+
export default Pagination;
|
|
@@ -1,56 +1,26 @@
|
|
|
1
|
-
<script>
|
|
1
|
+
<script lang="ts">
|
|
2
2
|
import {ssrAttributes as __AgnosUISveltePreprocess__ssrAttributes, classDirective as __AgnosUISveltePreprocess__classDirective} from '@agnos-ui/svelte-headless/utils/directive';
|
|
3
3
|
import {BROWSER as __AgnosUISveltePreprocess__BROWSER} from 'esm-env';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
|
|
5
|
+
import type {PaginationContext} from './pagination.gen';
|
|
6
|
+
import {Slot} from '@agnos-ui/svelte-headless/slot';
|
|
7
|
+
|
|
8
|
+
let widget: PaginationContext = $props();
|
|
9
|
+
let {state, directives} = widget;
|
|
7
10
|
</script>
|
|
8
11
|
|
|
9
|
-
{#each state.pages as page
|
|
12
|
+
{#each state.pages as page}
|
|
10
13
|
<li class="page-item" class:active={page === state.page} class:disabled={page === -1 || state.disabled}>
|
|
11
14
|
{#if page === -1}
|
|
12
15
|
<div class="page-link au-ellipsis" aria-hidden="true">
|
|
13
|
-
<Slot
|
|
14
|
-
<svelte:fragment slot="slot" let:props><slot name="ellipsisLabel" {...props} /></svelte:fragment>
|
|
15
|
-
<svelte:component this={component} {...props}>
|
|
16
|
-
<svelte:fragment slot="ellipsisLabel" let:state let:widget><slot name="ellipsisLabel" {state} {widget} /></svelte:fragment>
|
|
17
|
-
<svelte:fragment slot="firstPageLabel" let:state let:widget><slot name="firstPageLabel" {state} {widget} /></svelte:fragment>
|
|
18
|
-
<svelte:fragment slot="lastPageLabel" let:state let:widget><slot name="lastPageLabel" {state} {widget} /></svelte:fragment>
|
|
19
|
-
<svelte:fragment slot="nextPageLabel" let:state let:widget><slot name="nextPageLabel" {state} {widget} /></svelte:fragment>
|
|
20
|
-
<svelte:fragment slot="numberLabel" let:displayedPage let:state let:widget
|
|
21
|
-
><slot name="numberLabel" {displayedPage} {state} {widget} /></svelte:fragment
|
|
22
|
-
>
|
|
23
|
-
<svelte:fragment slot="pagesDisplay" let:state let:widget><slot name="pagesDisplay" {state} {widget} /></svelte:fragment>
|
|
24
|
-
<svelte:fragment slot="previousPageLabel" let:state let:widget><slot name="previousPageLabel" {state} {widget} /></svelte:fragment>
|
|
25
|
-
<svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
|
|
26
|
-
</svelte:component>
|
|
27
|
-
</Slot>
|
|
16
|
+
<Slot content={state.ellipsisLabel} props={widget} />
|
|
28
17
|
</div>
|
|
29
18
|
<span class="visually-hidden">{state.ariaEllipsisLabel}</span>
|
|
30
19
|
{:else}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
slotContent={state.numberLabel}
|
|
36
|
-
props={{state, widget, displayedPage: page}}
|
|
37
|
-
let:component
|
|
38
|
-
let:props
|
|
39
|
-
>
|
|
40
|
-
<svelte:fragment slot="slot" let:props><slot name="numberLabel" {...props} /></svelte:fragment>
|
|
41
|
-
<svelte:component this={component} {...props}>
|
|
42
|
-
<svelte:fragment slot="ellipsisLabel" let:state let:widget><slot name="ellipsisLabel" {state} {widget} /></svelte:fragment>
|
|
43
|
-
<svelte:fragment slot="firstPageLabel" let:state let:widget><slot name="firstPageLabel" {state} {widget} /></svelte:fragment>
|
|
44
|
-
<svelte:fragment slot="lastPageLabel" let:state let:widget><slot name="lastPageLabel" {state} {widget} /></svelte:fragment>
|
|
45
|
-
<svelte:fragment slot="nextPageLabel" let:state let:widget><slot name="nextPageLabel" {state} {widget} /></svelte:fragment>
|
|
46
|
-
<svelte:fragment slot="numberLabel" let:displayedPage let:state let:widget
|
|
47
|
-
><slot name="numberLabel" {displayedPage} {state} {widget} /></svelte:fragment
|
|
48
|
-
>
|
|
49
|
-
<svelte:fragment slot="pagesDisplay" let:state let:widget><slot name="pagesDisplay" {state} {widget} /></svelte:fragment>
|
|
50
|
-
<svelte:fragment slot="previousPageLabel" let:state let:widget><slot name="previousPageLabel" {state} {widget} /></svelte:fragment>
|
|
51
|
-
<svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
|
|
52
|
-
</svelte:component>
|
|
53
|
-
</Slot>{#if state.page === page}<span class="visually-hidden">{state.activeLabel}</span>{/if}
|
|
20
|
+
<a use:__AgnosUISveltePreprocess__classDirective={"page-link"} use:directives.pageLink={{page}} {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes([directives.pageLink, {page}], [__AgnosUISveltePreprocess__classDirective, "page-link"])}>
|
|
21
|
+
<Slot content={state.numberLabel} props={{...widget, displayedPage: page}} />{#if state.page === page}
|
|
22
|
+
<span class="visually-hidden">{state.activeLabel}</span>
|
|
23
|
+
{/if}
|
|
54
24
|
</a>
|
|
55
25
|
{/if}
|
|
56
26
|
</li>
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
props: WidgetSlotContext<Widget<import("./pagination.gen").PaginationProps, import("./pagination.gen").PaginationState, import("./pagination.gen").PaginationApi, import("./pagination.gen").PaginationActions, import("./pagination.gen").PaginationDirectives>>;
|
|
5
|
-
events: {
|
|
6
|
-
[evt: string]: CustomEvent<any>;
|
|
7
|
-
};
|
|
8
|
-
slots: PaginationSlots;
|
|
9
|
-
exports?: {} | undefined;
|
|
10
|
-
bindings?: string | undefined;
|
|
11
|
-
};
|
|
12
|
-
export type PaginationDefaultPagesProps = typeof __propDef.props;
|
|
13
|
-
export type PaginationDefaultPagesEvents = typeof __propDef.events;
|
|
14
|
-
export type PaginationDefaultPagesSlots = typeof __propDef.slots;
|
|
15
|
-
export default class PaginationDefaultPages extends SvelteComponent<PaginationDefaultPagesProps, PaginationDefaultPagesEvents, PaginationDefaultPagesSlots> {
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
1
|
+
import type { PaginationContext } from './pagination.gen';
|
|
2
|
+
declare const PaginationDefaultPages: import("svelte").Component<PaginationContext, {}, "">;
|
|
3
|
+
export default PaginationDefaultPages;
|
|
@@ -1,121 +1,50 @@
|
|
|
1
|
-
<script>
|
|
1
|
+
<script lang="ts">
|
|
2
2
|
import {ssrAttributes as __AgnosUISveltePreprocess__ssrAttributes, classDirective as __AgnosUISveltePreprocess__classDirective} from '@agnos-ui/svelte-headless/utils/directive';
|
|
3
3
|
import {BROWSER as __AgnosUISveltePreprocess__BROWSER} from 'esm-env';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
|
|
5
|
+
import type {PaginationContext} from './pagination.gen';
|
|
6
|
+
import {Slot} from '@agnos-ui/svelte-headless/slot';
|
|
7
|
+
|
|
8
|
+
let widget: PaginationContext = $props();
|
|
9
|
+
let {state, directives} = widget;
|
|
10
|
+
|
|
11
|
+
let sizeClass = $derived(state.size ? `pagination-${state.size}` : '');
|
|
9
12
|
</script>
|
|
10
13
|
|
|
11
14
|
<ul class="au-pagination pagination {sizeClass} {state.className}">
|
|
12
15
|
{#if state.boundaryLinks}
|
|
13
16
|
<li class="page-item" class:disabled={state.previousDisabled}>
|
|
14
|
-
|
|
15
|
-
<a use:__AgnosUISveltePreprocess__classDirective={"page-link"} use:widget.directives.pageFirst {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(widget.directives.pageFirst, [__AgnosUISveltePreprocess__classDirective, "page-link"])}>
|
|
17
|
+
<a use:__AgnosUISveltePreprocess__classDirective={"page-link"} use:directives.pageFirst {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(directives.pageFirst, [__AgnosUISveltePreprocess__classDirective, "page-link"])}>
|
|
16
18
|
<span aria-hidden="true">
|
|
17
|
-
<Slot
|
|
18
|
-
<svelte:fragment slot="slot" let:props><slot name="firstPageLabel" {...props} /></svelte:fragment>
|
|
19
|
-
<svelte:component this={component} {...props}>
|
|
20
|
-
<svelte:fragment slot="ellipsisLabel" let:state let:widget><slot name="ellipsisLabel" {state} {widget} /></svelte:fragment>
|
|
21
|
-
<svelte:fragment slot="firstPageLabel" let:state let:widget><slot name="firstPageLabel" {state} {widget} /></svelte:fragment>
|
|
22
|
-
<svelte:fragment slot="lastPageLabel" let:state let:widget><slot name="lastPageLabel" {state} {widget} /></svelte:fragment>
|
|
23
|
-
<svelte:fragment slot="nextPageLabel" let:state let:widget><slot name="nextPageLabel" {state} {widget} /></svelte:fragment>
|
|
24
|
-
<svelte:fragment slot="numberLabel" let:displayedPage let:state let:widget
|
|
25
|
-
><slot name="numberLabel" {displayedPage} {state} {widget} /></svelte:fragment
|
|
26
|
-
>
|
|
27
|
-
<svelte:fragment slot="pagesDisplay" let:state let:widget><slot name="pagesDisplay" {state} {widget} /></svelte:fragment>
|
|
28
|
-
<svelte:fragment slot="previousPageLabel" let:state let:widget><slot name="previousPageLabel" {state} {widget} /></svelte:fragment>
|
|
29
|
-
<svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
|
|
30
|
-
</svelte:component>
|
|
31
|
-
</Slot>
|
|
19
|
+
<Slot content={state.firstPageLabel} props={widget} />
|
|
32
20
|
</span>
|
|
33
21
|
</a>
|
|
34
22
|
</li>
|
|
35
23
|
{/if}
|
|
36
24
|
{#if state.directionLinks}
|
|
37
25
|
<li class="page-item" class:disabled={state.previousDisabled}>
|
|
38
|
-
|
|
39
|
-
<a use:__AgnosUISveltePreprocess__classDirective={"page-link"} use:widget.directives.pagePrev {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(widget.directives.pagePrev, [__AgnosUISveltePreprocess__classDirective, "page-link"])}>
|
|
26
|
+
<a use:__AgnosUISveltePreprocess__classDirective={"page-link"} use:directives.pagePrev {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(directives.pagePrev, [__AgnosUISveltePreprocess__classDirective, "page-link"])}>
|
|
40
27
|
<span aria-hidden="true">
|
|
41
|
-
<Slot
|
|
42
|
-
<svelte:fragment slot="slot" let:props><slot name="previousPageLabel" {...props} /></svelte:fragment>
|
|
43
|
-
<svelte:component this={component} {...props}>
|
|
44
|
-
<svelte:fragment slot="ellipsisLabel" let:state let:widget><slot name="ellipsisLabel" {state} {widget} /></svelte:fragment>
|
|
45
|
-
<svelte:fragment slot="firstPageLabel" let:state let:widget><slot name="firstPageLabel" {state} {widget} /></svelte:fragment>
|
|
46
|
-
<svelte:fragment slot="lastPageLabel" let:state let:widget><slot name="lastPageLabel" {state} {widget} /></svelte:fragment>
|
|
47
|
-
<svelte:fragment slot="nextPageLabel" let:state let:widget><slot name="nextPageLabel" {state} {widget} /></svelte:fragment>
|
|
48
|
-
<svelte:fragment slot="numberLabel" let:displayedPage let:state let:widget
|
|
49
|
-
><slot name="numberLabel" {displayedPage} {state} {widget} /></svelte:fragment
|
|
50
|
-
>
|
|
51
|
-
<svelte:fragment slot="pagesDisplay" let:state let:widget><slot name="pagesDisplay" {state} {widget} /></svelte:fragment>
|
|
52
|
-
<svelte:fragment slot="previousPageLabel" let:state let:widget><slot name="previousPageLabel" {state} {widget} /></svelte:fragment>
|
|
53
|
-
<svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
|
|
54
|
-
</svelte:component>
|
|
55
|
-
</Slot>
|
|
28
|
+
<Slot content={state.previousPageLabel} props={widget} />
|
|
56
29
|
</span>
|
|
57
30
|
</a>
|
|
58
31
|
</li>
|
|
59
32
|
{/if}
|
|
60
|
-
<Slot
|
|
61
|
-
<svelte:fragment slot="slot" let:props><slot name="pagesDisplay" {...props} /></svelte:fragment>
|
|
62
|
-
<svelte:component this={component} {...props}>
|
|
63
|
-
<svelte:fragment slot="ellipsisLabel" let:state let:widget><slot name="ellipsisLabel" {state} {widget} /></svelte:fragment>
|
|
64
|
-
<svelte:fragment slot="firstPageLabel" let:state let:widget><slot name="firstPageLabel" {state} {widget} /></svelte:fragment>
|
|
65
|
-
<svelte:fragment slot="lastPageLabel" let:state let:widget><slot name="lastPageLabel" {state} {widget} /></svelte:fragment>
|
|
66
|
-
<svelte:fragment slot="nextPageLabel" let:state let:widget><slot name="nextPageLabel" {state} {widget} /></svelte:fragment>
|
|
67
|
-
<svelte:fragment slot="numberLabel" let:displayedPage let:state let:widget
|
|
68
|
-
><slot name="numberLabel" {displayedPage} {state} {widget} /></svelte:fragment
|
|
69
|
-
>
|
|
70
|
-
<svelte:fragment slot="pagesDisplay" let:state let:widget><slot name="pagesDisplay" {state} {widget} /></svelte:fragment>
|
|
71
|
-
<svelte:fragment slot="previousPageLabel" let:state let:widget><slot name="previousPageLabel" {state} {widget} /></svelte:fragment>
|
|
72
|
-
<svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
|
|
73
|
-
</svelte:component>
|
|
74
|
-
</Slot>
|
|
33
|
+
<Slot content={state.pagesDisplay} props={widget} />
|
|
75
34
|
{#if state.directionLinks}
|
|
76
35
|
<li class="page-item" class:disabled={state.nextDisabled}>
|
|
77
|
-
|
|
78
|
-
<a use:__AgnosUISveltePreprocess__classDirective={"page-link"} use:widget.directives.pageNext {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(widget.directives.pageNext, [__AgnosUISveltePreprocess__classDirective, "page-link"])}>
|
|
36
|
+
<a use:__AgnosUISveltePreprocess__classDirective={"page-link"} use:directives.pageNext {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(directives.pageNext, [__AgnosUISveltePreprocess__classDirective, "page-link"])}>
|
|
79
37
|
<span aria-hidden="true">
|
|
80
|
-
<Slot
|
|
81
|
-
<svelte:fragment slot="slot" let:props><slot name="nextPageLabel" {...props} /></svelte:fragment>
|
|
82
|
-
<svelte:component this={component} {...props}>
|
|
83
|
-
<svelte:fragment slot="ellipsisLabel" let:state let:widget><slot name="ellipsisLabel" {state} {widget} /></svelte:fragment>
|
|
84
|
-
<svelte:fragment slot="firstPageLabel" let:state let:widget><slot name="firstPageLabel" {state} {widget} /></svelte:fragment>
|
|
85
|
-
<svelte:fragment slot="lastPageLabel" let:state let:widget><slot name="lastPageLabel" {state} {widget} /></svelte:fragment>
|
|
86
|
-
<svelte:fragment slot="nextPageLabel" let:state let:widget><slot name="nextPageLabel" {state} {widget} /></svelte:fragment>
|
|
87
|
-
<svelte:fragment slot="numberLabel" let:displayedPage let:state let:widget
|
|
88
|
-
><slot name="numberLabel" {displayedPage} {state} {widget} /></svelte:fragment
|
|
89
|
-
>
|
|
90
|
-
<svelte:fragment slot="pagesDisplay" let:state let:widget><slot name="pagesDisplay" {state} {widget} /></svelte:fragment>
|
|
91
|
-
<svelte:fragment slot="previousPageLabel" let:state let:widget><slot name="previousPageLabel" {state} {widget} /></svelte:fragment>
|
|
92
|
-
<svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
|
|
93
|
-
</svelte:component>
|
|
94
|
-
</Slot>
|
|
38
|
+
<Slot content={state.nextPageLabel} props={widget} />
|
|
95
39
|
</span>
|
|
96
40
|
</a>
|
|
97
41
|
</li>
|
|
98
42
|
{/if}
|
|
99
43
|
{#if state.boundaryLinks}
|
|
100
44
|
<li class="page-item" class:disabled={state.nextDisabled}>
|
|
101
|
-
|
|
102
|
-
<a use:__AgnosUISveltePreprocess__classDirective={"page-link"} use:widget.directives.pageLast {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(widget.directives.pageLast, [__AgnosUISveltePreprocess__classDirective, "page-link"])}>
|
|
45
|
+
<a use:__AgnosUISveltePreprocess__classDirective={"page-link"} use:directives.pageLast {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(directives.pageLast, [__AgnosUISveltePreprocess__classDirective, "page-link"])}>
|
|
103
46
|
<span aria-hidden="true">
|
|
104
|
-
<Slot
|
|
105
|
-
<svelte:fragment slot="slot" let:props><slot name="lastPageLabel" {...props} /></svelte:fragment>
|
|
106
|
-
<svelte:component this={component} {...props}>
|
|
107
|
-
<svelte:fragment slot="ellipsisLabel" let:state let:widget><slot name="ellipsisLabel" {state} {widget} /></svelte:fragment>
|
|
108
|
-
<svelte:fragment slot="firstPageLabel" let:state let:widget><slot name="firstPageLabel" {state} {widget} /></svelte:fragment>
|
|
109
|
-
<svelte:fragment slot="lastPageLabel" let:state let:widget><slot name="lastPageLabel" {state} {widget} /></svelte:fragment>
|
|
110
|
-
<svelte:fragment slot="nextPageLabel" let:state let:widget><slot name="nextPageLabel" {state} {widget} /></svelte:fragment>
|
|
111
|
-
<svelte:fragment slot="numberLabel" let:displayedPage let:state let:widget
|
|
112
|
-
><slot name="numberLabel" {displayedPage} {state} {widget} /></svelte:fragment
|
|
113
|
-
>
|
|
114
|
-
<svelte:fragment slot="pagesDisplay" let:state let:widget><slot name="pagesDisplay" {state} {widget} /></svelte:fragment>
|
|
115
|
-
<svelte:fragment slot="previousPageLabel" let:state let:widget><slot name="previousPageLabel" {state} {widget} /></svelte:fragment>
|
|
116
|
-
<svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
|
|
117
|
-
</svelte:component>
|
|
118
|
-
</Slot>
|
|
47
|
+
<Slot content={state.lastPageLabel} props={widget} />
|
|
119
48
|
</span>
|
|
120
49
|
</a>
|
|
121
50
|
</li>
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
props: WidgetSlotContext<Widget<import("./pagination.gen").PaginationProps, import("./pagination.gen").PaginationState, import("./pagination.gen").PaginationApi, import("./pagination.gen").PaginationActions, import("./pagination.gen").PaginationDirectives>>;
|
|
5
|
-
events: {
|
|
6
|
-
[evt: string]: CustomEvent<any>;
|
|
7
|
-
};
|
|
8
|
-
slots: PaginationSlots;
|
|
9
|
-
exports?: {} | undefined;
|
|
10
|
-
bindings?: string | undefined;
|
|
11
|
-
};
|
|
12
|
-
export type PaginationDefaultStructureProps = typeof __propDef.props;
|
|
13
|
-
export type PaginationDefaultStructureEvents = typeof __propDef.events;
|
|
14
|
-
export type PaginationDefaultStructureSlots = typeof __propDef.slots;
|
|
15
|
-
export default class PaginationDefaultStructure extends SvelteComponent<PaginationDefaultStructureProps, PaginationDefaultStructureEvents, PaginationDefaultStructureSlots> {
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
1
|
+
import type { PaginationContext } from './pagination.gen';
|
|
2
|
+
declare const PaginationDefaultStructure: import("svelte").Component<PaginationContext, {}, "">;
|
|
3
|
+
export default PaginationDefaultStructure;
|