@agnos-ui/svelte-bootstrap 0.3.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.
Files changed (133) hide show
  1. package/README.md +15 -0
  2. package/components/accordion/Accordion.svelte +29 -0
  3. package/components/accordion/Accordion.svelte.d.ts +21 -0
  4. package/components/accordion/Item.svelte +53 -0
  5. package/components/accordion/Item.svelte.d.ts +18 -0
  6. package/components/accordion/ItemDefaultStructure.svelte +39 -0
  7. package/components/accordion/ItemDefaultStructure.svelte.d.ts +15 -0
  8. package/components/accordion/accordion.d.ts +26 -0
  9. package/components/accordion/accordion.js +13 -0
  10. package/components/accordion/index.d.ts +4 -0
  11. package/components/accordion/index.js +4 -0
  12. package/components/alert/Alert.svelte +52 -0
  13. package/components/alert/Alert.svelte.d.ts +19 -0
  14. package/components/alert/AlertDefaultStructure.svelte +19 -0
  15. package/components/alert/AlertDefaultStructure.svelte.d.ts +15 -0
  16. package/components/alert/alert.d.ts +16 -0
  17. package/components/alert/alert.js +4 -0
  18. package/components/alert/index.d.ts +3 -0
  19. package/components/alert/index.js +3 -0
  20. package/components/modal/Modal.svelte +62 -0
  21. package/components/modal/Modal.svelte.d.ts +18 -0
  22. package/components/modal/ModalDefaultHeader.svelte +25 -0
  23. package/components/modal/ModalDefaultHeader.svelte.d.ts +15 -0
  24. package/components/modal/ModalDefaultStructure.svelte +48 -0
  25. package/components/modal/ModalDefaultStructure.svelte.d.ts +15 -0
  26. package/components/modal/index.d.ts +4 -0
  27. package/components/modal/index.js +4 -0
  28. package/components/modal/modal.d.ts +16 -0
  29. package/components/modal/modal.js +4 -0
  30. package/components/modal/modalService.d.ts +4 -0
  31. package/components/modal/modalService.js +15 -0
  32. package/components/pagination/Pagination.svelte +54 -0
  33. package/components/pagination/Pagination.svelte.d.ts +19 -0
  34. package/components/pagination/PaginationDefaultPages.svelte +57 -0
  35. package/components/pagination/PaginationDefaultPages.svelte.d.ts +15 -0
  36. package/components/pagination/PaginationDefaultStructure.svelte +128 -0
  37. package/components/pagination/PaginationDefaultStructure.svelte.d.ts +15 -0
  38. package/components/pagination/index.d.ts +3 -0
  39. package/components/pagination/index.js +3 -0
  40. package/components/pagination/pagination.d.ts +18 -0
  41. package/components/pagination/pagination.js +4 -0
  42. package/components/progressbar/Progressbar.svelte +38 -0
  43. package/components/progressbar/Progressbar.svelte.d.ts +19 -0
  44. package/components/progressbar/ProgressbarDefaultStructure.svelte +23 -0
  45. package/components/progressbar/ProgressbarDefaultStructure.svelte.d.ts +15 -0
  46. package/components/progressbar/index.d.ts +3 -0
  47. package/components/progressbar/index.js +3 -0
  48. package/components/progressbar/progressbar.d.ts +16 -0
  49. package/components/progressbar/progressbar.js +4 -0
  50. package/components/rating/Rating.svelte +39 -0
  51. package/components/rating/Rating.svelte.d.ts +19 -0
  52. package/components/rating/index.d.ts +3 -0
  53. package/components/rating/index.js +3 -0
  54. package/components/rating/rating.d.ts +14 -0
  55. package/components/rating/rating.js +4 -0
  56. package/components/select/Select.svelte +95 -0
  57. package/components/select/Select.svelte.d.ts +18 -0
  58. package/components/select/index.d.ts +3 -0
  59. package/components/select/index.js +3 -0
  60. package/components/select/select.d.ts +18 -0
  61. package/components/select/select.js +4 -0
  62. package/components/slider/Slider.svelte +50 -0
  63. package/components/slider/Slider.svelte.d.ts +19 -0
  64. package/components/slider/SliderDefaultHandle.svelte +8 -0
  65. package/components/slider/SliderDefaultHandle.svelte.d.ts +15 -0
  66. package/components/slider/SliderDefaultStructure.svelte +97 -0
  67. package/components/slider/SliderDefaultStructure.svelte.d.ts +15 -0
  68. package/components/slider/index.d.ts +3 -0
  69. package/components/slider/index.js +3 -0
  70. package/components/slider/slider.d.ts +20 -0
  71. package/components/slider/slider.js +4 -0
  72. package/components/toast/Toast.svelte +56 -0
  73. package/components/toast/Toast.svelte.d.ts +19 -0
  74. package/components/toast/ToastDefaultStructure.svelte +39 -0
  75. package/components/toast/ToastDefaultStructure.svelte.d.ts +15 -0
  76. package/components/toast/index.d.ts +3 -0
  77. package/components/toast/index.js +3 -0
  78. package/components/toast/toast.d.ts +16 -0
  79. package/components/toast/toast.js +4 -0
  80. package/config.d.ts +21 -0
  81. package/config.js +4 -0
  82. package/generated/Slot.svelte.d.ts +1 -0
  83. package/generated/config.d.ts +1 -0
  84. package/generated/config.js +1 -0
  85. package/generated/index.d.ts +24 -0
  86. package/generated/index.js +24 -0
  87. package/generated/services/extendWidget.d.ts +1 -0
  88. package/generated/services/extendWidget.js +1 -0
  89. package/generated/services/floatingUI.d.ts +1 -0
  90. package/generated/services/floatingUI.js +1 -0
  91. package/generated/services/focustrack.d.ts +1 -0
  92. package/generated/services/focustrack.js +1 -0
  93. package/generated/services/hash.d.ts +1 -0
  94. package/generated/services/hash.js +1 -0
  95. package/generated/services/intersection.d.ts +1 -0
  96. package/generated/services/intersection.js +1 -0
  97. package/generated/services/matchMedia.d.ts +1 -0
  98. package/generated/services/matchMedia.js +1 -0
  99. package/generated/services/navManager.d.ts +1 -0
  100. package/generated/services/navManager.js +1 -0
  101. package/generated/services/portal.d.ts +1 -0
  102. package/generated/services/portal.js +1 -0
  103. package/generated/services/resizeObserver.d.ts +1 -0
  104. package/generated/services/resizeObserver.js +1 -0
  105. package/generated/services/siblingsInert.d.ts +1 -0
  106. package/generated/services/siblingsInert.js +1 -0
  107. package/generated/services/transitions/baseTransitions.d.ts +1 -0
  108. package/generated/services/transitions/baseTransitions.js +1 -0
  109. package/generated/services/transitions/bootstrap.d.ts +1 -0
  110. package/generated/services/transitions/bootstrap.js +1 -0
  111. package/generated/services/transitions/collapse.d.ts +1 -0
  112. package/generated/services/transitions/collapse.js +1 -0
  113. package/generated/services/transitions/cssTransitions.d.ts +1 -0
  114. package/generated/services/transitions/cssTransitions.js +1 -0
  115. package/generated/services/transitions/simpleClassTransition.d.ts +1 -0
  116. package/generated/services/transitions/simpleClassTransition.js +1 -0
  117. package/generated/slot.d.ts +1 -0
  118. package/generated/slot.js +1 -0
  119. package/generated/types.d.ts +1 -0
  120. package/generated/types.js +1 -0
  121. package/generated/utils/directive.d.ts +1 -0
  122. package/generated/utils/directive.js +1 -0
  123. package/generated/utils/stores.d.ts +1 -0
  124. package/generated/utils/stores.js +1 -0
  125. package/generated/utils/widget.d.ts +1 -0
  126. package/generated/utils/widget.js +1 -0
  127. package/generated/utils/writables.d.ts +1 -0
  128. package/generated/utils/writables.js +1 -0
  129. package/index.d.ts +10 -0
  130. package/index.js +10 -0
  131. package/package.json +84 -0
  132. package/services/transitions/bootstrap.d.ts +1 -0
  133. package/services/transitions/bootstrap.js +1 -0
package/README.md ADDED
@@ -0,0 +1,15 @@
1
+ # @agnos-ui/svelte-bootstrap
2
+
3
+ [![npm](https://img.shields.io/npm/v/@agnos-ui/svelte-bootstrap)](https://www.npmjs.com/package/@agnos-ui/svelte-bootstrap)
4
+
5
+ [Bootstrap](https://getbootstrap.com/)-based widget library for [Svelte](https://svelte.dev/).
6
+
7
+ ## Installation
8
+
9
+ ```sh
10
+ npm install @agnos-ui/svelte-bootstrap
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ Please check [our demo site](https://amadeusitgroup.github.io/AgnosUI/latest/) to see all the available widgets and how to use them.
@@ -0,0 +1,29 @@
1
+ <script>
2
+ import {ssrAttributes as __AgnosUISveltePreprocess__ssrAttributes, classDirective as __AgnosUISveltePreprocess__classDirective} from '@agnos-ui/svelte-headless/utils/directive';
3
+ import {BROWSER as __AgnosUISveltePreprocess__BROWSER} from 'esm-env';
4
+ import { callWidgetFactory } from "../../config";
5
+ import { createAccordion, setAccordionApi } from "./accordion";
6
+ export let itemVisible = void 0;
7
+ const widget = callWidgetFactory({
8
+ factory: createAccordion,
9
+ widgetName: "accordion",
10
+ $$slots,
11
+ $$props,
12
+ events: {
13
+ onItemVisibleChange: (event) => {
14
+ itemVisible = event;
15
+ }
16
+ }
17
+ });
18
+ export const api = widget.api;
19
+ const {
20
+ directives: { accordionDirective }
21
+ } = widget;
22
+ setAccordionApi(widget.api);
23
+ $:
24
+ widget.patchChangedProps($$props);
25
+ </script>
26
+
27
+ <div use:__AgnosUISveltePreprocess__classDirective={"accordion"} use:accordionDirective {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(accordionDirective, [__AgnosUISveltePreprocess__classDirective, "accordion"])}>
28
+ <slot />
29
+ </div>
@@ -0,0 +1,21 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { AccordionApi, AccordionProps, AccordionSlots } from './accordion';
3
+ declare const __propDef: {
4
+ props: {
5
+ api?: AccordionApi | undefined;
6
+ } & Partial<AccordionProps>;
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {
11
+ default: Record<string, never>;
12
+ } & AccordionSlots;
13
+ };
14
+ type AccordionProps_ = typeof __propDef.props;
15
+ export { AccordionProps_ as AccordionProps };
16
+ export type AccordionEvents = typeof __propDef.events;
17
+ type AccordionSlots_ = typeof __propDef.slots;
18
+ export { AccordionSlots_ as AccordionSlots };
19
+ export default class Accordion extends SvelteComponentTyped<AccordionProps_, AccordionEvents, AccordionSlots_> {
20
+ get api(): AccordionApi;
21
+ }
@@ -0,0 +1,53 @@
1
+ <script context="module">
2
+ import {ssrAttributes as __AgnosUISveltePreprocess__ssrAttributes, classDirective as __AgnosUISveltePreprocess__classDirective} from '@agnos-ui/svelte-headless/utils/directive';
3
+ import {BROWSER as __AgnosUISveltePreprocess__BROWSER} from 'esm-env';
4
+ import { toSlotContextWidget } from "@agnos-ui/svelte-headless/types";
5
+ import { Slot } from "@agnos-ui/svelte-headless/slot";
6
+ import { callWidgetFactory } from "../../config";
7
+ import { onMount } from "svelte";
8
+ import ItemDefaultStructure from "./ItemDefaultStructure.svelte";
9
+ import { getAccordionApi } from "./accordion";
10
+ const defaultConfig = {
11
+ slotItemStructure: ItemDefaultStructure
12
+ };
13
+ </script>
14
+
15
+ <script>const accordionApi = getAccordionApi();
16
+ const { registerItem } = accordionApi;
17
+ export let itemVisible = void 0;
18
+ const widget = callWidgetFactory({
19
+ factory: registerItem,
20
+ $$slots,
21
+ $$props,
22
+ defaultConfig,
23
+ events: {
24
+ onItemVisibleChange: (event) => {
25
+ itemVisible = event;
26
+ }
27
+ }
28
+ });
29
+ const {
30
+ stores: { slotItemStructure$ },
31
+ directives: { accordionItemDirective },
32
+ state$
33
+ } = widget;
34
+ export const api = widget.api;
35
+ $:
36
+ widget.patchChangedProps($$props);
37
+ $:
38
+ slotContext = { widget: toSlotContextWidget(widget), state: $state$ };
39
+ onMount(() => {
40
+ widget.api.initDone();
41
+ });
42
+ </script>
43
+
44
+ <div use:__AgnosUISveltePreprocess__classDirective={"accordion-item"} use:accordionItemDirective {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(accordionItemDirective, [__AgnosUISveltePreprocess__classDirective, "accordion-item"])}>
45
+ <Slot slotContent={$slotItemStructure$} props={slotContext} let:component let:props>
46
+ <svelte:fragment slot="slot" let:props><slot name="itemStructure" {...props} /></svelte:fragment>
47
+ <svelte:component this={component} {...props}>
48
+ <svelte:fragment slot="itemBody" let:state let:widget><slot name="itemBody" {state} {widget} /></svelte:fragment>
49
+ <svelte:fragment slot="itemHeader" let:state let:widget><slot name="itemHeader" {state} {widget} /></svelte:fragment>
50
+ <svelte:fragment slot="itemStructure" let:state let:widget><slot name="itemStructure" {state} {widget} /></svelte:fragment>
51
+ </svelte:component>
52
+ </Slot>
53
+ </div>
@@ -0,0 +1,18 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { AccordionItemApi, AccordionItemProps, AccordionSlots } from './accordion';
3
+ declare const __propDef: {
4
+ props: {
5
+ api?: AccordionItemApi | undefined;
6
+ } & Partial<AccordionItemProps>;
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: AccordionSlots;
11
+ };
12
+ export type ItemProps = typeof __propDef.props;
13
+ export type ItemEvents = typeof __propDef.events;
14
+ export type ItemSlots = typeof __propDef.slots;
15
+ export default class Item extends SvelteComponentTyped<ItemProps, ItemEvents, ItemSlots> {
16
+ get api(): AccordionItemApi;
17
+ }
18
+ export {};
@@ -0,0 +1,39 @@
1
+ <script>
2
+ import {ssrAttributes as __AgnosUISveltePreprocess__ssrAttributes, classDirective as __AgnosUISveltePreprocess__classDirective} from '@agnos-ui/svelte-headless/utils/directive';
3
+ import {BROWSER as __AgnosUISveltePreprocess__BROWSER} from 'esm-env';
4
+ import { Slot } from "@agnos-ui/svelte-headless/slot";
5
+ export let state;
6
+ export let widget;
7
+ const re = new RegExp("^h[1-6]$");
8
+ $:
9
+ slotContext = { widget, state };
10
+ $:
11
+ headingTag = re.test(state.itemHeadingTag) ? state.itemHeadingTag : "h2";
12
+ </script>
13
+
14
+ <svelte:element this={headingTag} use:__AgnosUISveltePreprocess__classDirective={"accordion-header"} use:slotContext.widget.directives.headerDirective {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(slotContext.widget.directives.headerDirective, [__AgnosUISveltePreprocess__classDirective, "accordion-header"])}>
15
+ <button use:slotContext.widget.directives.buttonDirective use:__AgnosUISveltePreprocess__classDirective={"accordion-button"} {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(slotContext.widget.directives.buttonDirective, [__AgnosUISveltePreprocess__classDirective, "accordion-button"])}>
16
+ <Slot slotContent={state.slotItemHeader} props={slotContext} let:component let:props>
17
+ <svelte:fragment slot="slot" let:props><slot name="itemHeader" {...props} /></svelte:fragment>
18
+ <svelte:component this={component} {...props}>
19
+ <svelte:fragment slot="itemBody" let:state let:widget><slot name="itemBody" {state} {widget} /></svelte:fragment>
20
+ <svelte:fragment slot="itemHeader" let:state let:widget><slot name="itemHeader" {state} {widget} /></svelte:fragment>
21
+ <svelte:fragment slot="itemStructure" let:state let:widget><slot name="itemStructure" {state} {widget} /></svelte:fragment>
22
+ </svelte:component>
23
+ </Slot>
24
+ </button>
25
+ </svelte:element>
26
+ {#if state.shouldBeInDOM}
27
+ <div use:__AgnosUISveltePreprocess__classDirective={"accordion-collapse"} use:widget.directives.bodyContainerDirective {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(widget.directives.bodyContainerDirective, [__AgnosUISveltePreprocess__classDirective, "accordion-collapse"])}>
28
+ <div use:__AgnosUISveltePreprocess__classDirective={"accordion-body"} use:widget.directives.bodyDirective {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(widget.directives.bodyDirective, [__AgnosUISveltePreprocess__classDirective, "accordion-body"])}>
29
+ <Slot slotContent={state.slotItemBody} props={slotContext} let:component let:props>
30
+ <svelte:fragment slot="slot" let:props><slot name="itemBody" {...props} /></svelte:fragment>
31
+ <svelte:component this={component} {...props}>
32
+ <svelte:fragment slot="itemBody" let:state let:widget><slot name="itemBody" {state} {widget} /></svelte:fragment>
33
+ <svelte:fragment slot="itemHeader" let:state let:widget><slot name="itemHeader" {state} {widget} /></svelte:fragment>
34
+ <svelte:fragment slot="itemStructure" let:state let:widget><slot name="itemStructure" {state} {widget} /></svelte:fragment>
35
+ </svelte:component>
36
+ </Slot>
37
+ </div>
38
+ </div>
39
+ {/if}
@@ -0,0 +1,15 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { AccordionItemContext, AccordionSlots } from './accordion';
3
+ declare const __propDef: {
4
+ props: AccordionItemContext;
5
+ events: {
6
+ [evt: string]: CustomEvent<any>;
7
+ };
8
+ slots: AccordionSlots;
9
+ };
10
+ export type ItemDefaultStructureProps = typeof __propDef.props;
11
+ export type ItemDefaultStructureEvents = typeof __propDef.events;
12
+ export type ItemDefaultStructureSlots = typeof __propDef.slots;
13
+ export default class ItemDefaultStructure extends SvelteComponentTyped<ItemDefaultStructureProps, ItemDefaultStructureEvents, ItemDefaultStructureSlots> {
14
+ }
15
+ export {};
@@ -0,0 +1,26 @@
1
+ export * from '@agnos-ui/core-bootstrap/components/accordion';
2
+ import type { AdaptSlotContentProps, AdaptWidgetSlots, WidgetFactory, WidgetProps, WidgetState, WidgetPropsSlots, PropType } from '@agnos-ui/svelte-headless/types';
3
+ import type { AccordionWidget as CoreWidget, AccordionItemWidget as CoreItemWidget, AccordionItemContext as CoreItemContext } from '@agnos-ui/core-bootstrap/components/accordion';
4
+ export interface AccordionWidget extends AdaptWidgetSlots<CoreWidget> {
5
+ }
6
+ export interface AccordionProps extends WidgetProps<AccordionWidget> {
7
+ }
8
+ export interface AccordionState extends WidgetState<AccordionWidget> {
9
+ }
10
+ export interface AccordionApi extends PropType<AccordionWidget, 'api'> {
11
+ }
12
+ export interface AccordionItemWidget extends AdaptWidgetSlots<CoreItemWidget> {
13
+ }
14
+ export interface AccordionItemProps extends WidgetProps<AccordionItemWidget> {
15
+ }
16
+ export interface AccordionItemState extends WidgetState<AccordionItemWidget> {
17
+ }
18
+ export interface AccordionItemApi extends PropType<AccordionItemWidget, 'api'> {
19
+ }
20
+ export interface AccordionSlots extends WidgetPropsSlots<AccordionProps> {
21
+ }
22
+ export interface AccordionItemContext extends AdaptSlotContentProps<CoreItemContext> {
23
+ }
24
+ export declare const createAccordion: WidgetFactory<AccordionWidget>;
25
+ export declare function setAccordionApi(accordionApi: AccordionApi): void;
26
+ export declare function getAccordionApi(): AccordionApi;
@@ -0,0 +1,13 @@
1
+ export * from '@agnos-ui/core-bootstrap/components/accordion';
2
+ import { createAccordion as coreCreateAccordion } from '@agnos-ui/core-bootstrap/components/accordion';
3
+ // factory
4
+ export const createAccordion = coreCreateAccordion;
5
+ // context
6
+ import { getContext, setContext } from 'svelte';
7
+ const contextInjectionKey = Symbol('accordion-api');
8
+ export function setAccordionApi(accordionApi) {
9
+ setContext(contextInjectionKey, accordionApi);
10
+ }
11
+ export function getAccordionApi() {
12
+ return getContext(contextInjectionKey);
13
+ }
@@ -0,0 +1,4 @@
1
+ import Accordion from './Accordion.svelte';
2
+ import AccordionItem from './Item.svelte';
3
+ export { Accordion, AccordionItem };
4
+ export * from './accordion';
@@ -0,0 +1,4 @@
1
+ import Accordion from './Accordion.svelte';
2
+ import AccordionItem from './Item.svelte';
3
+ export { Accordion, AccordionItem };
4
+ export * from './accordion';
@@ -0,0 +1,52 @@
1
+ <script context="module">
2
+ import {ssrAttributes as __AgnosUISveltePreprocess__ssrAttributes, classDirective as __AgnosUISveltePreprocess__classDirective} from '@agnos-ui/svelte-headless/utils/directive';
3
+ import {BROWSER as __AgnosUISveltePreprocess__BROWSER} from 'esm-env';
4
+ import { Slot } from "@agnos-ui/svelte-headless/slot";
5
+ import { createAlert } from "./alert";
6
+ import { callWidgetFactory } from "../../config";
7
+ import AlertDefaultStructure from "./AlertDefaultStructure.svelte";
8
+ const defaultConfig = {
9
+ slotStructure: AlertDefaultStructure
10
+ };
11
+ </script>
12
+
13
+ <script>const widget = callWidgetFactory({
14
+ factory: createAlert,
15
+ widgetName: "alert",
16
+ $$slots,
17
+ $$props,
18
+ defaultConfig,
19
+ events: {
20
+ onVisibleChange: (event) => {
21
+ visible = event;
22
+ }
23
+ }
24
+ });
25
+ export let visible = void 0;
26
+ export const api = widget.api;
27
+ const {
28
+ stores: { slotStructure$, hidden$ },
29
+ directives: { transitionDirective },
30
+ state$
31
+ } = widget;
32
+ $:
33
+ widget.patchChangedProps($$props);
34
+ $:
35
+ slotContext = { widget, state: $state$ };
36
+ </script>
37
+
38
+ {#if !$hidden$}
39
+ <div
40
+ role="alert"
41
+ use:__AgnosUISveltePreprocess__classDirective={"au-alert alert alert-"+($state$.type)+" "+($state$.className)+" "+($state$.dismissible ? 'alert-dismissible' : '')}
42
+ use:transitionDirective {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(transitionDirective, [__AgnosUISveltePreprocess__classDirective, "au-alert alert alert-"+($state$.type)+" "+($state$.className)+" "+($state$.dismissible ? 'alert-dismissible' : '')])}
43
+ >
44
+ <Slot slotContent={$slotStructure$} props={slotContext} let:component let:props>
45
+ <svelte:fragment slot="slot" let:props><slot name="structure" {...props} /></svelte:fragment>
46
+ <svelte:component this={component} {...props}>
47
+ <svelte:fragment let:state let:widget><slot {state} {widget} /></svelte:fragment>
48
+ <svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
49
+ </svelte:component>
50
+ </Slot>
51
+ </div>
52
+ {/if}
@@ -0,0 +1,19 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import { type AlertApi, type AlertProps, type AlertSlots } from './alert';
3
+ declare const __propDef: {
4
+ props: {
5
+ api?: AlertApi | undefined;
6
+ } & Partial<AlertProps>;
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: AlertSlots;
11
+ };
12
+ type AlertProps_ = typeof __propDef.props;
13
+ export { AlertProps_ as AlertProps };
14
+ export type AlertEvents = typeof __propDef.events;
15
+ type AlertSlots_ = typeof __propDef.slots;
16
+ export { AlertSlots_ as AlertSlots };
17
+ export default class Alert extends SvelteComponentTyped<AlertProps_, AlertEvents, AlertSlots_> {
18
+ get api(): AlertApi;
19
+ }
@@ -0,0 +1,19 @@
1
+ <script>import { Slot } from "@agnos-ui/svelte-headless/slot";
2
+ export let state;
3
+ export let widget;
4
+ $:
5
+ slotContext = { widget, state };
6
+ </script>
7
+
8
+ <div class="alert-body">
9
+ <Slot slotContent={state.slotDefault} props={slotContext} let:component let:props>
10
+ <svelte:fragment slot="slot" let:props><slot {...props} /></svelte:fragment>
11
+ <svelte:component this={component} {...props}>
12
+ <svelte:fragment let:state let:widget><slot {state} {widget} /></svelte:fragment>
13
+ <svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
14
+ </svelte:component>
15
+ </Slot>
16
+ </div>
17
+ {#if state.dismissible}
18
+ <button type="button" class="btn-close" on:click={() => widget.api.close()} aria-label={state.ariaCloseButtonLabel} />
19
+ {/if}
@@ -0,0 +1,15 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { AlertContext, AlertSlots } from './alert';
3
+ declare const __propDef: {
4
+ props: AlertContext;
5
+ events: {
6
+ [evt: string]: CustomEvent<any>;
7
+ };
8
+ slots: AlertSlots;
9
+ };
10
+ export type AlertDefaultStructureProps = typeof __propDef.props;
11
+ export type AlertDefaultStructureEvents = typeof __propDef.events;
12
+ export type AlertDefaultStructureSlots = typeof __propDef.slots;
13
+ export default class AlertDefaultStructure extends SvelteComponentTyped<AlertDefaultStructureProps, AlertDefaultStructureEvents, AlertDefaultStructureSlots> {
14
+ }
15
+ export {};
@@ -0,0 +1,16 @@
1
+ export * from '@agnos-ui/core-bootstrap/components/alert';
2
+ import type { AdaptWidgetSlots, WidgetPropsSlots, WidgetFactory, WidgetProps, WidgetState, PropType, AdaptSlotContentProps } from '@agnos-ui/svelte-headless/types';
3
+ import type { AlertWidget as CoreWidget, AlertContext as CoreContext } from '@agnos-ui/core-bootstrap/components/alert';
4
+ export interface AlertWidget extends AdaptWidgetSlots<CoreWidget> {
5
+ }
6
+ export interface AlertProps extends WidgetProps<AlertWidget> {
7
+ }
8
+ export interface AlertState extends WidgetState<AlertWidget> {
9
+ }
10
+ export interface AlertApi extends PropType<AlertWidget, 'api'> {
11
+ }
12
+ export interface AlertSlots extends WidgetPropsSlots<AlertProps> {
13
+ }
14
+ export interface AlertContext extends AdaptSlotContentProps<CoreContext> {
15
+ }
16
+ export declare const createAlert: WidgetFactory<AlertWidget>;
@@ -0,0 +1,4 @@
1
+ export * from '@agnos-ui/core-bootstrap/components/alert';
2
+ import { createAlert as coreCreateAlert } from '@agnos-ui/core-bootstrap/components/alert';
3
+ // factory
4
+ export const createAlert = coreCreateAlert;
@@ -0,0 +1,3 @@
1
+ import Alert from './Alert.svelte';
2
+ export * from './alert';
3
+ export { Alert };
@@ -0,0 +1,3 @@
1
+ import Alert from './Alert.svelte';
2
+ export * from './alert';
3
+ export { Alert };
@@ -0,0 +1,62 @@
1
+ <script context="module">
2
+ import {ssrAttributes as __AgnosUISveltePreprocess__ssrAttributes, classDirective as __AgnosUISveltePreprocess__classDirective} from '@agnos-ui/svelte-headless/utils/directive';
3
+ import {BROWSER as __AgnosUISveltePreprocess__BROWSER} from 'esm-env';
4
+ import { toSlotContextWidget } from "@agnos-ui/svelte-headless/types";
5
+ import { createModal } from "./modal";
6
+ import { Slot } from "@agnos-ui/svelte-headless/slot";
7
+ import { callWidgetFactory } from "../../config";
8
+ import ModalDefaultHeader from "./ModalDefaultHeader.svelte";
9
+ import ModalDefaultStructure from "./ModalDefaultStructure.svelte";
10
+ const defaultConfig = {
11
+ slotStructure: ModalDefaultStructure,
12
+ slotHeader: ModalDefaultHeader
13
+ };
14
+ </script>
15
+
16
+ <script>export let visible = void 0;
17
+ const widget = callWidgetFactory({
18
+ factory: createModal,
19
+ widgetName: "modal",
20
+ $$slots,
21
+ $$props,
22
+ defaultConfig,
23
+ events: {
24
+ onVisibleChange: (event) => {
25
+ visible = event;
26
+ }
27
+ }
28
+ });
29
+ export const api = widget.api;
30
+ const {
31
+ stores: { backdropHidden$, hidden$, slotStructure$ },
32
+ directives: { backdropDirective, backdropPortalDirective, modalDirective, modalPortalDirective },
33
+ state$
34
+ } = widget;
35
+ $:
36
+ widget.patchChangedProps($$props);
37
+ $:
38
+ slotContext = { widget: toSlotContextWidget(widget), state: $state$ };
39
+ </script>
40
+
41
+ {#if !$backdropHidden$}
42
+ <div use:__AgnosUISveltePreprocess__classDirective={"modal-backdrop"} use:backdropPortalDirective use:backdropDirective {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(backdropPortalDirective, backdropDirective, [__AgnosUISveltePreprocess__classDirective, "modal-backdrop"])} />
43
+ {/if}
44
+
45
+ {#if !$hidden$}
46
+ <div use:__AgnosUISveltePreprocess__classDirective={"modal d-block"} use:modalPortalDirective use:modalDirective {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(modalPortalDirective, modalDirective, [__AgnosUISveltePreprocess__classDirective, "modal d-block"])}>
47
+ <div class="modal-dialog {$state$.fullscreen ? 'modal-fullscreen' : ''}">
48
+ <div class="modal-content">
49
+ <Slot slotContent={$slotStructure$} props={slotContext} let:component let:props>
50
+ <svelte:fragment slot="slot" let:props><slot name="structure" {...props} /></svelte:fragment>
51
+ <svelte:component this={component} {...props}>
52
+ <svelte:fragment let:state let:widget><slot {state} {widget} /></svelte:fragment>
53
+ <svelte:fragment slot="footer" let:state let:widget><slot name="footer" {state} {widget} /></svelte:fragment>
54
+ <svelte:fragment slot="header" let:state let:widget><slot name="header" {state} {widget} /></svelte:fragment>
55
+ <svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
56
+ <svelte:fragment slot="title" let:state let:widget><slot name="title" {state} {widget} /></svelte:fragment>
57
+ </svelte:component>
58
+ </Slot>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ {/if}
@@ -0,0 +1,18 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { ModalProps, ModalSlots, ModalApi } from './modal';
3
+ declare class __sveltets_Render<Data> {
4
+ props(): {
5
+ api?: ModalApi<Data> | undefined;
6
+ } & Partial<ModalProps<Data>>;
7
+ events(): {} & {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots(): ModalSlots<Data>;
11
+ }
12
+ export type ModalProps_<Data> = ReturnType<__sveltets_Render<Data>['props']>;
13
+ export type ModalEvents<Data> = ReturnType<__sveltets_Render<Data>['events']>;
14
+ export type ModalSlots_<Data> = ReturnType<__sveltets_Render<Data>['slots']>;
15
+ export default class Modal<Data> extends SvelteComponentTyped<ModalProps_<Data>, ModalEvents<Data>, ModalSlots_<Data>> {
16
+ get api(): ModalApi<Data>;
17
+ }
18
+ export {};
@@ -0,0 +1,25 @@
1
+ <script>
2
+ import {ssrAttributes as __AgnosUISveltePreprocess__ssrAttributes, classDirective as __AgnosUISveltePreprocess__classDirective} from '@agnos-ui/svelte-headless/utils/directive';
3
+ import {BROWSER as __AgnosUISveltePreprocess__BROWSER} from 'esm-env';
4
+ import { Slot } from "@agnos-ui/svelte-headless/slot";
5
+ export let state;
6
+ export let widget;
7
+ $:
8
+ slotContext = { widget, state };
9
+ </script>
10
+
11
+ <h5 class="modal-title">
12
+ <Slot slotContent={state.slotTitle} props={slotContext} let:component let:props>
13
+ <svelte:fragment slot="slot" let:props><slot name="title" {...props} /></svelte:fragment>
14
+ <svelte:component this={component} {...props}>
15
+ <svelte:fragment let:state let:widget><slot {state} {widget} /></svelte:fragment>
16
+ <svelte:fragment slot="footer" let:state let:widget><slot name="footer" {state} {widget} /></svelte:fragment>
17
+ <svelte:fragment slot="header" let:state let:widget><slot name="header" {state} {widget} /></svelte:fragment>
18
+ <svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
19
+ <svelte:fragment slot="title" let:state let:widget><slot name="title" {state} {widget} /></svelte:fragment>
20
+ </svelte:component>
21
+ </Slot>
22
+ </h5>
23
+ {#if state.closeButton}
24
+ <button use:__AgnosUISveltePreprocess__classDirective={"btn-close"} use:widget.directives.closeButtonDirective {...__AgnosUISveltePreprocess__BROWSER ? {} : __AgnosUISveltePreprocess__ssrAttributes(widget.directives.closeButtonDirective, [__AgnosUISveltePreprocess__classDirective, "btn-close"])} />
25
+ {/if}
@@ -0,0 +1,15 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { ModalContext, ModalSlots } from './modal';
3
+ declare class __sveltets_Render<Data> {
4
+ props(): ModalContext<Data>;
5
+ events(): {} & {
6
+ [evt: string]: CustomEvent<any>;
7
+ };
8
+ slots(): ModalSlots<Data>;
9
+ }
10
+ export type ModalDefaultHeaderProps<Data> = ReturnType<__sveltets_Render<Data>['props']>;
11
+ export type ModalDefaultHeaderEvents<Data> = ReturnType<__sveltets_Render<Data>['events']>;
12
+ export type ModalDefaultHeaderSlots<Data> = ReturnType<__sveltets_Render<Data>['slots']>;
13
+ export default class ModalDefaultHeader<Data> extends SvelteComponentTyped<ModalDefaultHeaderProps<Data>, ModalDefaultHeaderEvents<Data>, ModalDefaultHeaderSlots<Data>> {
14
+ }
15
+ export {};
@@ -0,0 +1,48 @@
1
+ <script>import { Slot } from "@agnos-ui/svelte-headless/slot";
2
+ export let state;
3
+ export let widget;
4
+ $:
5
+ slotContext = { widget, state };
6
+ </script>
7
+
8
+ {#if state.slotTitle}
9
+ <div class="modal-header">
10
+ <Slot slotContent={state.slotHeader} props={slotContext} let:component let:props>
11
+ <svelte:fragment slot="slot" let:props><slot name="header" {...props} /></svelte:fragment>
12
+ <svelte:component this={component} {...props}>
13
+ <svelte:fragment let:state let:widget><slot {state} {widget} /></svelte:fragment>
14
+ <svelte:fragment slot="footer" let:state let:widget><slot name="footer" {state} {widget} /></svelte:fragment>
15
+ <svelte:fragment slot="header" let:state let:widget><slot name="header" {state} {widget} /></svelte:fragment>
16
+ <svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
17
+ <svelte:fragment slot="title" let:state let:widget><slot name="title" {state} {widget} /></svelte:fragment>
18
+ </svelte:component>
19
+ </Slot>
20
+ </div>
21
+ {/if}
22
+
23
+ <div class="modal-body">
24
+ <Slot slotContent={state.slotDefault} props={slotContext} let:component let:props>
25
+ <svelte:fragment slot="slot" let:props><slot {...props} /></svelte:fragment>
26
+ <svelte:component this={component} {...props}>
27
+ <svelte:fragment let:state let:widget><slot {state} {widget} /></svelte:fragment>
28
+ <svelte:fragment slot="footer" let:state let:widget><slot name="footer" {state} {widget} /></svelte:fragment>
29
+ <svelte:fragment slot="header" let:state let:widget><slot name="header" {state} {widget} /></svelte:fragment>
30
+ <svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
31
+ <svelte:fragment slot="title" let:state let:widget><slot name="title" {state} {widget} /></svelte:fragment>
32
+ </svelte:component>
33
+ </Slot>
34
+ </div>
35
+ {#if state.slotFooter}
36
+ <div class="modal-footer">
37
+ <Slot slotContent={state.slotFooter} props={slotContext} let:component let:props>
38
+ <svelte:fragment slot="slot" let:props><slot name="footer" {...props} /></svelte:fragment>
39
+ <svelte:component this={component} {...props}>
40
+ <svelte:fragment let:state let:widget><slot {state} {widget} /></svelte:fragment>
41
+ <svelte:fragment slot="footer" let:state let:widget><slot name="footer" {state} {widget} /></svelte:fragment>
42
+ <svelte:fragment slot="header" let:state let:widget><slot name="header" {state} {widget} /></svelte:fragment>
43
+ <svelte:fragment slot="structure" let:state let:widget><slot name="structure" {state} {widget} /></svelte:fragment>
44
+ <svelte:fragment slot="title" let:state let:widget><slot name="title" {state} {widget} /></svelte:fragment>
45
+ </svelte:component>
46
+ </Slot>
47
+ </div>
48
+ {/if}
@@ -0,0 +1,15 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { ModalContext, ModalSlots } from './modal';
3
+ declare class __sveltets_Render<Data> {
4
+ props(): ModalContext<Data>;
5
+ events(): {} & {
6
+ [evt: string]: CustomEvent<any>;
7
+ };
8
+ slots(): ModalSlots<Data>;
9
+ }
10
+ export type ModalDefaultStructureProps<Data> = ReturnType<__sveltets_Render<Data>['props']>;
11
+ export type ModalDefaultStructureEvents<Data> = ReturnType<__sveltets_Render<Data>['events']>;
12
+ export type ModalDefaultStructureSlots<Data> = ReturnType<__sveltets_Render<Data>['slots']>;
13
+ export default class ModalDefaultStructure<Data> extends SvelteComponentTyped<ModalDefaultStructureProps<Data>, ModalDefaultStructureEvents<Data>, ModalDefaultStructureSlots<Data>> {
14
+ }
15
+ export {};
@@ -0,0 +1,4 @@
1
+ import Modal from './Modal.svelte';
2
+ export * from './modal';
3
+ export * from './modalService';
4
+ export { Modal };
@@ -0,0 +1,4 @@
1
+ import Modal from './Modal.svelte';
2
+ export * from './modal';
3
+ export * from './modalService';
4
+ export { Modal };
@@ -0,0 +1,16 @@
1
+ export * from '@agnos-ui/core-bootstrap/components/modal';
2
+ import type { AdaptSlotContentProps, AdaptWidgetSlots, WidgetPropsSlots, PropsConfig, WidgetProps, WidgetState, PropType } from '@agnos-ui/svelte-headless/types';
3
+ import type { ModalWidget as CoreWidget, ModalContext as CoreContext } from '@agnos-ui/core-bootstrap/components/modal';
4
+ export interface ModalWidget<Data> extends AdaptWidgetSlots<CoreWidget<Data>> {
5
+ }
6
+ export interface ModalProps<Data> extends WidgetProps<ModalWidget<Data>> {
7
+ }
8
+ export interface ModalState<Data> extends WidgetState<ModalWidget<Data>> {
9
+ }
10
+ export interface ModalApi<Data> extends PropType<ModalWidget<Data>, 'api'> {
11
+ }
12
+ export interface ModalSlots<Data> extends WidgetPropsSlots<ModalProps<Data>> {
13
+ }
14
+ export interface ModalContext<Data> extends AdaptSlotContentProps<CoreContext<Data>> {
15
+ }
16
+ export declare const createModal: <Data>(propsConfig?: PropsConfig<ModalProps<Data>>) => ModalWidget<Data>;
@@ -0,0 +1,4 @@
1
+ export * from '@agnos-ui/core-bootstrap/components/modal';
2
+ import { createModal as coreCreateModal } from '@agnos-ui/core-bootstrap/components/modal';
3
+ // factory
4
+ export const createModal = coreCreateModal;
@@ -0,0 +1,4 @@
1
+ import type { ModalProps } from './modal';
2
+ export declare function openModal<Data>(options: Partial<ModalProps<Data>>, { context }?: {
3
+ context?: Map<any, any>;
4
+ }): Promise<any>;