@surgeui/ds-vue 1.0.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 (98) hide show
  1. package/LICENSE.md +23 -0
  2. package/README.md +185 -0
  3. package/dist/components/atoms/Avatar.vue.d.ts +22 -0
  4. package/dist/components/atoms/Avatar.vue.d.ts.map +1 -0
  5. package/dist/components/atoms/Badge.vue.d.ts +26 -0
  6. package/dist/components/atoms/Badge.vue.d.ts.map +1 -0
  7. package/dist/components/atoms/Button.vue.d.ts +38 -0
  8. package/dist/components/atoms/Button.vue.d.ts.map +1 -0
  9. package/dist/components/atoms/CheckboxGroup.vue.d.ts +42 -0
  10. package/dist/components/atoms/CheckboxGroup.vue.d.ts.map +1 -0
  11. package/dist/components/atoms/FileUpload.vue.d.ts +49 -0
  12. package/dist/components/atoms/FileUpload.vue.d.ts.map +1 -0
  13. package/dist/components/atoms/FormField.vue.d.ts +27 -0
  14. package/dist/components/atoms/FormField.vue.d.ts.map +1 -0
  15. package/dist/components/atoms/Heading.vue.d.ts +54 -0
  16. package/dist/components/atoms/Heading.vue.d.ts.map +1 -0
  17. package/dist/components/atoms/Image.vue.d.ts +23 -0
  18. package/dist/components/atoms/Image.vue.d.ts.map +1 -0
  19. package/dist/components/atoms/Input.vue.d.ts +68 -0
  20. package/dist/components/atoms/Input.vue.d.ts.map +1 -0
  21. package/dist/components/atoms/Link.vue.d.ts +37 -0
  22. package/dist/components/atoms/Link.vue.d.ts.map +1 -0
  23. package/dist/components/atoms/Panel.vue.d.ts +27 -0
  24. package/dist/components/atoms/Panel.vue.d.ts.map +1 -0
  25. package/dist/components/atoms/Progress.vue.d.ts +31 -0
  26. package/dist/components/atoms/Progress.vue.d.ts.map +1 -0
  27. package/dist/components/atoms/RadioGroup.vue.d.ts +43 -0
  28. package/dist/components/atoms/RadioGroup.vue.d.ts.map +1 -0
  29. package/dist/components/atoms/SelectBox.vue.d.ts +56 -0
  30. package/dist/components/atoms/SelectBox.vue.d.ts.map +1 -0
  31. package/dist/components/atoms/Slider.vue.d.ts +68 -0
  32. package/dist/components/atoms/Slider.vue.d.ts.map +1 -0
  33. package/dist/components/atoms/Spinner.vue.d.ts +13 -0
  34. package/dist/components/atoms/Spinner.vue.d.ts.map +1 -0
  35. package/dist/components/atoms/Switch.vue.d.ts +32 -0
  36. package/dist/components/atoms/Switch.vue.d.ts.map +1 -0
  37. package/dist/components/atoms/Textarea.vue.d.ts +43 -0
  38. package/dist/components/atoms/Textarea.vue.d.ts.map +1 -0
  39. package/dist/components/global/_stories/Preview.d.ts +6 -0
  40. package/dist/components/global/_stories/Preview.d.ts.map +1 -0
  41. package/dist/components/molecules/AccordionItem.vue.d.ts +48 -0
  42. package/dist/components/molecules/AccordionItem.vue.d.ts.map +1 -0
  43. package/dist/components/molecules/AvatarGroup.vue.d.ts +34 -0
  44. package/dist/components/molecules/AvatarGroup.vue.d.ts.map +1 -0
  45. package/dist/components/molecules/ButtonGroup.vue.d.ts +23 -0
  46. package/dist/components/molecules/ButtonGroup.vue.d.ts.map +1 -0
  47. package/dist/components/molecules/CheckboxGroupField.vue.d.ts +28 -0
  48. package/dist/components/molecules/CheckboxGroupField.vue.d.ts.map +1 -0
  49. package/dist/components/molecules/Dropdown.vue.d.ts +37 -0
  50. package/dist/components/molecules/Dropdown.vue.d.ts.map +1 -0
  51. package/dist/components/molecules/FileUploadField.vue.d.ts +51 -0
  52. package/dist/components/molecules/FileUploadField.vue.d.ts.map +1 -0
  53. package/dist/components/molecules/FloatButton.vue.d.ts +445 -0
  54. package/dist/components/molecules/FloatButton.vue.d.ts.map +1 -0
  55. package/dist/components/molecules/FormFields.vue.d.ts +31 -0
  56. package/dist/components/molecules/FormFields.vue.d.ts.map +1 -0
  57. package/dist/components/molecules/InputField.vue.d.ts +200 -0
  58. package/dist/components/molecules/InputField.vue.d.ts.map +1 -0
  59. package/dist/components/molecules/LinkGroup.vue.d.ts +25 -0
  60. package/dist/components/molecules/LinkGroup.vue.d.ts.map +1 -0
  61. package/dist/components/molecules/Password.vue.d.ts +87 -0
  62. package/dist/components/molecules/Password.vue.d.ts.map +1 -0
  63. package/dist/components/molecules/RadioGroupField.vue.d.ts +29 -0
  64. package/dist/components/molecules/RadioGroupField.vue.d.ts.map +1 -0
  65. package/dist/components/molecules/RangeField.vue.d.ts +63 -0
  66. package/dist/components/molecules/RangeField.vue.d.ts.map +1 -0
  67. package/dist/components/molecules/SelectBoxField.vue.d.ts +147 -0
  68. package/dist/components/molecules/SelectBoxField.vue.d.ts.map +1 -0
  69. package/dist/components/molecules/SliderField.vue.d.ts +70 -0
  70. package/dist/components/molecules/SliderField.vue.d.ts.map +1 -0
  71. package/dist/components/molecules/SwitchField.vue.d.ts +26 -0
  72. package/dist/components/molecules/SwitchField.vue.d.ts.map +1 -0
  73. package/dist/components/molecules/TextareaField.vue.d.ts +114 -0
  74. package/dist/components/molecules/TextareaField.vue.d.ts.map +1 -0
  75. package/dist/components/organisms/Accordion.vue.d.ts +35 -0
  76. package/dist/components/organisms/Accordion.vue.d.ts.map +1 -0
  77. package/dist/components/organisms/Alert.vue.d.ts +34 -0
  78. package/dist/components/organisms/Alert.vue.d.ts.map +1 -0
  79. package/dist/components/organisms/Dialog.vue.d.ts +44 -0
  80. package/dist/components/organisms/Dialog.vue.d.ts.map +1 -0
  81. package/dist/components/organisms/Tabs.vue.d.ts +33 -0
  82. package/dist/components/organisms/Tabs.vue.d.ts.map +1 -0
  83. package/dist/composables/useTheme.d.ts +3 -0
  84. package/dist/composables/useTheme.d.ts.map +1 -0
  85. package/dist/composables/useUniqueId.d.ts +5 -0
  86. package/dist/composables/useUniqueId.d.ts.map +1 -0
  87. package/dist/index.d.ts +59 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.es.js +5720 -0
  90. package/dist/index.umd.js +1 -0
  91. package/dist/plugin/theme.d.ts +26 -0
  92. package/dist/plugin/theme.d.ts.map +1 -0
  93. package/dist/style.css +1 -0
  94. package/dist/types/index.d.ts +632 -0
  95. package/dist/types/index.d.ts.map +1 -0
  96. package/dist/utils/accessibility.d.ts +33 -0
  97. package/dist/utils/accessibility.d.ts.map +1 -0
  98. package/package.json +73 -0
@@ -0,0 +1 @@
1
+ (function(T,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(T=typeof globalThis<"u"?globalThis:T||self,e(T.SurgeUI={},T.Vue))})(this,function(T,e){"use strict";const Ye={key:0,class:"su-heading__slot"},Xe={key:1,class:"su-heading__slot"},Qe=e.defineComponent({__name:"Heading",props:{level:{type:[Number,String],default:2,validator:t=>{const n=Number(t);return n>=1&&n<=6||t==="div"}},variant:{type:String,default:"primary",validator:t=>["primary","secondary","tertiary"].includes(t)},truncate:{type:Boolean,default:!1}},setup(t){const n=t,l=e.computed(()=>n.level==="div"?"div":`h${n.level}`);return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(["su-heading",[`su-heading--level-${t.level}`,`su-heading--${t.variant}`,{"su-heading--with-slots":a.$slots.before||a.$slots.after,"su-heading--truncate":t.truncate}]])},{default:e.withCtx(()=>[a.$slots.before?(e.openBlock(),e.createElementBlock("div",Ye,[e.renderSlot(a.$slots,"before",{},void 0,!0)])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default",{},void 0,!0),a.$slots.after?(e.openBlock(),e.createElementBlock("div",Xe,[e.renderSlot(a.$slots,"after",{},void 0,!0)])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),J=(t,n)=>{const l=t.__vccOpts||t;for(const[a,o]of n)l[a]=o;return l},De=J(Qe,[["__scopeId","data-v-708b255c"]]),Je={key:0,class:"su-panel__head"},_e={class:"su-panel__body"},ea={key:1,class:"su-panel__footer"},ze=J(e.defineComponent({__name:"Panel",props:{tag:{default:"div"},radius:{default:"sm"},bordered:{type:Boolean,default:!1},elevated:{type:Boolean,default:!1},variant:{default:"default"}},setup(t){return(n,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(["su-panel",[`su-panel--${t.variant}`,{"su-panel--bordered":t.bordered,"su-panel--elevated":t.elevated}]]),role:"region"},{default:e.withCtx(()=>[n.$slots.head?(e.openBlock(),e.createElementBlock("header",Je,[e.renderSlot(n.$slots,"head",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",_e,[e.renderSlot(n.$slots,"default",{},void 0,!0)]),n.$slots.footer?(e.openBlock(),e.createElementBlock("footer",ea,[e.renderSlot(n.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),[["__scopeId","data-v-29cff8de"]]),aa=["aria-label"],ta={key:1},la=["srcset","type","media"],oa=["id","src","alt","width","height","loading"],na=["id","src","alt","width","height","loading"],sa=["aria-label"],se=e.defineComponent({__name:"Image",props:{src:{},alt:{},fallback:{},sources:{},ratio:{default:"auto"},fit:{default:"cover"},position:{default:"center"},lazy:{type:Boolean,default:!1},loading:{default:"lazy"},width:{},height:{},placeholder:{type:Boolean,default:!0},placeholderColor:{default:"#f3f4f6"},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},emits:["load","error"],setup(t,{expose:n,emit:l}){const a=t,o=l,s=e.useAttrs(),x=e.ref(),y=e.ref(!1),p=e.ref(!1),r=e.ref(!0),i="image-"+e.useId(),f=e.computed(()=>s.id||i),g=e.computed(()=>{if(a.ratio==="auto")return{};let C;return typeof a.ratio=="number"?C=a.ratio.toString():C=a.ratio,{aspectRatio:C}}),k=e.computed(()=>["su-image-container",{"su-image-container--loading":r.value,"su-image-container--loaded":y.value,"su-image-container--error":p.value,"su-image-container--has-ratio":a.ratio!=="auto"}]),I=e.computed(()=>["su-image",`su-image--fit-${a.fit}`,`su-image--position-${a.position}`,{"su-image--loaded":y.value,"su-image--error":p.value}]),E=e.computed(()=>{const C={};return a.ariaLabel&&(C["aria-label"]=a.ariaLabel),a.ariaDescribedBy&&(C["aria-describedby"]=a.ariaDescribedBy),a.ariaHidden!==void 0&&(C["aria-hidden"]=a.ariaHidden),a.role&&(C.role=a.role),C}),b=C=>{y.value=!0,r.value=!1,p.value=!1,o("load",C)},m=C=>{if(p.value=!0,r.value=!1,a.fallback&&x.value){const d=x.value;if(d.src!==a.fallback){d.src=a.fallback;return}}o("error",C)};return n({reload:()=>{x.value&&(y.value=!1,r.value=!0,p.value=!1,x.value.src=a.src)},imageRef:x}),e.onMounted(()=>{var C;(C=x.value)!=null&&C.complete&&b(new Event("load"))}),(C,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(k.value),style:e.normalizeStyle(g.value)},[t.placeholder&&r.value&&!p.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"su-image-placeholder",style:e.normalizeStyle({backgroundColor:t.placeholderColor}),"aria-label":t.alt+" - Chargement en cours"},[...d[0]||(d[0]=[e.createElementVNode("svg",{class:"su-image-placeholder-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),e.createElementVNode("circle",{cx:"9",cy:"9",r:"2"}),e.createElementVNode("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})],-1)])],12,aa)):e.createCommentVNode("",!0),t.sources&&t.sources.length>0?(e.openBlock(),e.createElementBlock("picture",ta,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.sources,$=>(e.openBlock(),e.createElementBlock("source",{key:$.srcset,srcset:$.srcset,type:$.type,media:$.media},null,8,la))),128)),e.createElementVNode("img",e.mergeProps({id:f.value,ref_key:"imageRef",ref:x,class:I.value,src:t.src,alt:t.alt,width:t.width,height:t.height,loading:t.lazy?"lazy":t.loading},E.value,{onLoad:b,onError:m}),null,16,oa)])):(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:2,id:f.value,ref_key:"imageRef",ref:x,class:I.value,src:t.src,alt:t.alt,width:t.width,height:t.height,loading:t.lazy?"lazy":t.loading},E.value,{onLoad:b,onError:m}),null,16,na)),p.value?(e.openBlock(),e.createElementBlock("div",{key:3,class:"su-image-error","aria-label":t.alt+" - Erreur de chargement"},[...d[1]||(d[1]=[e.createElementVNode("svg",{class:"su-image-error-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{d:"m21 21-6-6m0 0L9 9m6 6 6 6M9 9l-6-6m6 6V3m0 6H3"})],-1),e.createElementVNode("span",{class:"su-image-error-text"},"Erreur de chargement",-1)])],8,sa)):e.createCommentVNode("",!0)],6))}}),ra=["stroke","stroke-width","fill"],ia=["stroke","stroke-width","fill"],ae=J(e.defineComponent({__name:"Spinner",props:{size:{default:12},fill:{default:"none"},label:{default:"Loading..."},showLabel:{type:Boolean,default:!1},type:{default:"modern"},color:{default:"#333333"},thickness:{default:2},speed:{default:1}},setup(t){const n=t,l=e.computed(()=>typeof n.size=="number"?`${n.size}px`:n.size),a=e.computed(()=>`${n.speed}s`),o=e.computed(()=>({width:l.value,height:l.value,color:n.color,animationDuration:a.value}));return(s,x)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["su-spinner",`su-spinner--${t.type}`]),role:"status","aria-live":"polite"},[t.type==="classic"||t.type==="modern"?(e.openBlock(),e.createElementBlock("svg",{key:0,class:"su-spinner__icon",style:e.normalizeStyle(o.value),viewBox:"0 0 50 50",focusable:"false"},[t.type==="classic"?(e.openBlock(),e.createElementBlock("circle",{key:0,class:"su-spinner__circle",cx:"25",cy:"25",r:"20",stroke:t.color,"stroke-width":t.thickness,fill:t.fill,"stroke-linecap":"round"},null,8,ra)):e.createCommentVNode("",!0),t.type==="modern"?(e.openBlock(),e.createElementBlock("circle",{key:1,class:"su-spinner__modern",cx:"25",cy:"25",r:"20",stroke:t.color,"stroke-width":t.thickness,fill:t.fill,"stroke-linecap":"round","stroke-dasharray":"30 100"},null,8,ia)):e.createCommentVNode("",!0)],4)):e.createCommentVNode("",!0),t.type==="dots"?(e.openBlock(),e.createElementBlock("div",{key:1,class:"su-spinner__dots",style:e.normalizeStyle(o.value)},[...x[0]||(x[0]=[e.createElementVNode("span",{class:"su-spinner__dot"},null,-1),e.createElementVNode("span",{class:"su-spinner__dot"},null,-1),e.createElementVNode("span",{class:"su-spinner__dot"},null,-1)])],4)):e.createCommentVNode("",!0),t.type==="pulse"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"su-spinner__pulse",style:e.normalizeStyle({...o.value,backgroundColor:t.color})},null,4)):e.createCommentVNode("",!0),t.type==="bars"?(e.openBlock(),e.createElementBlock("div",{key:3,class:"su-spinner__bars",style:e.normalizeStyle(o.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,y=>e.createElementVNode("span",{key:y,class:"su-spinner__bar",style:e.normalizeStyle({backgroundColor:t.color})},null,4)),64))],4)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(["su-spinner__label",{"sr-only":!t.showLabel}])},e.toDisplayString(t.label),3)],2))}}),[["__scopeId","data-v-eaead141"]]),da={key:0,class:"su-badge-dot"},ca={class:"su-badge-dot-text"},ua={key:1,class:"su-badge-content"},re=e.defineComponent({__name:"Badge",props:{variant:{default:"default"},size:{default:"md"},radius:{default:"md"},icon:{},iconDisplay:{default:"left"},dotText:{},color:{},backgroundColor:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},setup(t){const n=t,l=e.useSlots(),a=e.computed(()=>!(n.icon&&n.iconDisplay==="only")&&(l.default||n.dotText)),o=e.computed(()=>n.variant==="dot"&&(l.default||n.dotText)),s=e.computed(()=>["su-badge",`su-badge--${n.variant}`,`su-badge--${n.size}`,`su-badge--radius-${n.radius}`,{"su-badge--icon-only":n.icon&&n.iconDisplay==="only","su-badge--icon-right":n.icon&&n.iconDisplay==="right","su-badge--dot-with-text":o.value,"su-badge--has-custom-color":n.color||n.backgroundColor}]),x=e.computed(()=>{const r={};return n.color&&(r.color=n.color),n.backgroundColor&&(r.backgroundColor=n.backgroundColor,r.borderColor=n.backgroundColor,n.color||(r.color=p(n.backgroundColor))),r}),y=e.computed(()=>{const r={};return n.ariaLabel&&(r["aria-label"]=n.ariaLabel),n.ariaDescribedBy&&(r["aria-describedby"]=n.ariaDescribedBy),n.ariaHidden!==void 0&&(r["aria-hidden"]=n.ariaHidden),n.role&&(r.role=n.role),r}),p=r=>{const i=r.replace("#",""),f=parseInt(i.substr(0,2),16),g=parseInt(i.substr(2,2),16),k=parseInt(i.substr(4,2),16);return(f*299+g*587+k*114)/1e3>128?"#000000":"#ffffff"};return n.icon&&n.iconDisplay==="only"&&!n.ariaLabel&&!l.default&&console.warn('Badge with icon and iconDisplay="only" should have an ariaLabel for accessibility'),(r,i)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps({class:s.value,style:x.value},y.value),[t.variant==="dot"&&!a.value?(e.openBlock(),e.createElementBlock("span",da)):o.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[i[0]||(i[0]=e.createElementVNode("span",{class:"su-badge-dot"},null,-1)),e.createElementVNode("span",ca,[e.renderSlot(r.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.dotText),1)])])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:"su-badge-icon","aria-hidden":"true"})):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("span",ua,[e.renderSlot(r.$slots,"default")])):e.createCommentVNode("",!0)],64))],16))}}),ma=["id"],fa=["aria-label"],pa={key:3,class:"su-avatar-placeholder","aria-label":"Avatar par défaut"},ba=["aria-label"],ie=e.defineComponent({__name:"Avatar",props:{src:{},alt:{},fallback:{},name:{},size:{default:"md"},variant:{default:"circle"},status:{},badge:{},badgeProps:{},badgeColor:{},loading:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},emits:["click","load","error"],setup(t,{expose:n,emit:l}){const a=t,o=l,s=e.useAttrs(),x=e.ref(),y=e.ref(!1),p=e.ref(!1),r="avatar-"+e.useId(),i=e.computed(()=>s.id||r),f=e.computed(()=>{if(!a.name)return"";const F=a.name.trim().split(/\s+/);return F.length===1?F[0].charAt(0).toUpperCase():(F[0].charAt(0)+F[F.length-1].charAt(0)).toUpperCase()}),g=e.computed(()=>(a.src||a.fallback)&&!p.value),k=e.computed(()=>!g.value&&a.name),I=e.computed(()=>["su-avatar",`su-avatar--${a.size}`,`su-avatar--${a.variant}`,{"su-avatar--clickable":a.clickable,"su-avatar--loading":a.loading,"su-avatar--has-status":a.status,"su-avatar--has-badge":a.badge,"su-avatar--image":g.value,"su-avatar--initials":k.value}]),E=e.computed(()=>["su-avatar-status",`su-avatar-status--${a.size}`,`su-avatar-status--${a.status}`]),b=e.computed(()=>["su-avatar-badge"]),m=e.computed(()=>{const F={};return a.ariaLabel&&(F["aria-label"]=a.ariaLabel),a.ariaDescribedBy&&(F["aria-describedby"]=a.ariaDescribedBy),a.role&&(F.role=a.role),a.clickable&&(F.role=F.role||"button",F.tabindex=a.tabIndex||0),F}),D=F=>{a.clickable&&!a.loading&&o("click",F)},C=F=>{y.value=!0,p.value=!1,o("load",F)},d=F=>{p.value=!0,o("error",F)},$=F=>{a.clickable&&(F.key==="Enter"||F.key===" ")&&(F.preventDefault(),D(F))};return n({focus:()=>{var F;(F=x.value)==null||F.focus()},avatarRef:x}),(F,O)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({id:i.value,ref_key:"avatarRef",ref:x,class:I.value},m.value,{onClick:D,onKeydown:$}),[t.loading?(e.openBlock(),e.createBlock(ae,{key:0,class:"su-avatar-loading",label:"Chargement en cours...",color:"#3b82f6",size:"16"})):g.value?(e.openBlock(),e.createBlock(se,{key:1,src:t.src||t.fallback||"",fallback:t.fallback,alt:t.alt||`Avatar de ${t.name||"utilisateur"}`,ratio:"1/1",fit:"cover",position:"center",placeholder:!1,class:"su-avatar-image",onLoad:C,onError:d},null,8,["src","fallback","alt"])):k.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:"su-avatar-initials","aria-label":`Avatar avec initiales de ${t.name}`},e.toDisplayString(f.value),9,fa)):(e.openBlock(),e.createElementBlock("div",pa,[...O[0]||(O[0]=[e.createElementVNode("svg",{class:"su-avatar-placeholder-icon",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{d:"M24 20.993V24H0v-2.996A14.977 14.977 0 0112.004 15c4.904 0 9.26 2.354 11.996 5.993zM16.002 8.999a4 4 0 11-8 0 4 4 0 018 0z"})],-1)])])),t.status?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(E.value),"aria-label":`Statut: ${t.status}`},null,10,ba)):e.createCommentVNode("",!0),t.badge?(e.openBlock(),e.createBlock(re,e.mergeProps({key:5,class:b.value,size:"sm",radius:"max",variant:"error","aria-label":`${t.badge} notification(s)`},t.badgeProps),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.badge),1)]),_:1},16,["class","aria-label"])):e.createCommentVNode("",!0)],16,ma))}}),ya={key:0,class:"su-avatars-group-before"},ha={class:"su-avatars-group-list"},ka=["aria-label"],ga={class:"su-avatars-group-more-text"},Ba={key:1,class:"su-avatars-group-after"},Se=e.defineComponent({__name:"AvatarGroup",props:{avatars:{default:()=>[]},size:{default:"md"},variant:{default:"circle"},max:{default:5},spacing:{default:"md"},clickable:{type:Boolean,default:!1},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},emits:["avatar-click"],setup(t,{emit:n}){const l=t,a=n;e.useSlots();const o=e.computed(()=>l.avatars.slice(0,l.max)),s=e.computed(()=>Math.max(0,l.avatars.length-l.max)),x=e.computed(()=>["su-avatars-group",`su-avatars-group--${l.size}`,`su-avatars-group--spacing-${l.spacing}`,{"su-avatars-group--clickable":l.clickable}]),y=e.computed(()=>["su-avatar","su-avatars-group-more",`su-avatar--${l.size}`,`su-avatar--${l.variant}`,{"su-avatar--clickable":l.clickable}]),p=e.computed(()=>{const f={role:"group"};return l.ariaLabel&&(f["aria-label"]=l.ariaLabel),l.ariaDescribedBy&&(f["aria-describedby"]=l.ariaDescribedBy),l.role&&(f.role=l.role),f}),r=(f,g,k)=>{l.clickable&&a("avatar-click",f,g,k)},i=f=>{l.clickable&&a("avatar-click",{type:"more",count:s.value},-1,f)};return(f,g)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:x.value},p.value),[f.$slots.before?(e.openBlock(),e.createElementBlock("div",ya,[e.renderSlot(f.$slots,"before")])):e.createCommentVNode("",!0),e.createElementVNode("div",ha,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(k,I)=>(e.openBlock(),e.createBlock(ie,{key:`avatar-${I}`,src:k.src,alt:k.alt,fallback:k.fallback,name:k.name,size:t.size,variant:t.variant,status:k.status,badge:k.badge,"badge-color":k.badgeColor,loading:k.loading,clickable:t.clickable,"aria-label":k.ariaLabel,class:"su-avatars-group-avatar",onClick:E=>r(k,I,E)},null,8,["src","alt","fallback","name","size","variant","status","badge","badge-color","loading","clickable","aria-label","onClick"]))),128)),s.value>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(y.value),"aria-label":`${s.value} autre(s) utilisateur(s)`,onClick:i},[e.createElementVNode("span",ga," +"+e.toDisplayString(s.value),1)],10,ka)):e.createCommentVNode("",!0)]),f.$slots.after?(e.openBlock(),e.createElementBlock("div",Ba,[e.renderSlot(f.$slots,"after")])):e.createCommentVNode("",!0)],16))}}),xa=["disabled","tabindex"],$a={key:1,class:"su-button__content"},ee=e.defineComponent({__name:"Button",props:{variant:{default:"primary"},size:{default:"md"},radius:{default:"md"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},block:{type:Boolean,default:!1},icon:{},iconDisplay:{default:"left"},ariaExpanded:{type:Boolean},ariaPressed:{type:Boolean},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{default:0}},emits:["click","focus","blur","keydown"],setup(t,{emit:n}){const l=t,a=n,o=e.computed(()=>["su-button",l.size&&`su-button--${l.size}`,l.variant&&`su-button--${l.variant}`,l.radius&&`su-button--radius-${l.radius}`,{"su-button--disabled":l.disabled,"su-button--loading":l.loading,"su-button--block":l.block,"su-button--icon-only":l.icon&&l.iconDisplay==="only","su-button--icon-right":l.icon&&l.iconDisplay==="right"}]),s=e.computed(()=>!(l.icon&&l.iconDisplay==="only")),x=f=>{l.disabled||l.loading||a("click",f)},y=f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),!l.disabled&&!l.loading&&a("click",f)),a("keydown",f)},p=f=>{a("focus",f)},r=f=>{a("blur",f)},i=e.computed(()=>{const f={};return l.ariaLabel&&(f["aria-label"]=l.ariaLabel),l.ariaDescribedBy&&(f["aria-describedby"]=l.ariaDescribedBy),l.ariaExpanded!==void 0&&(f["aria-expanded"]=l.ariaExpanded),l.ariaPressed!==void 0&&(f["aria-pressed"]=l.ariaPressed),l.role&&(f.role=l.role),l.loading&&(f["aria-busy"]="true",f["aria-live"]="polite"),l.disabled&&(f["aria-disabled"]="true"),l.icon&&l.iconDisplay==="only"&&!l.ariaLabel&&console.warn('Button with icon and iconDisplay="only" should have an ariaLabel for accessibility'),f});return(f,g)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps({class:o.value,disabled:t.disabled||t.loading,tabindex:t.disabled?-1:t.tabIndex},i.value,{onClick:x,onKeydown:y,onFocus:p,onBlur:r}),[t.loading?(e.openBlock(),e.createBlock(ae,{key:0,label:"Chargement en cours..."})):e.createCommentVNode("",!0),t.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:"su-button__icon","aria-hidden":"true"})):e.createCommentVNode("",!0),s.value&&f.$slots.default?(e.openBlock(),e.createElementBlock("span",$a,[e.renderSlot(f.$slots,"default")])):e.createCommentVNode("",!0)],64))],16,xa))}});let wa=0;function Ca(t="su"){return`${t}-${++wa}-${Date.now().toString(36)}`}function Va(t){return["button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])'].some(l=>t.matches(l))}function te(t){const n=t.querySelectorAll('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])'),l=n[0],a=n[n.length-1],o=s=>{s.key==="Tab"&&(s.shiftKey?document.activeElement===l&&(s.preventDefault(),a.focus()):document.activeElement===a&&(s.preventDefault(),l.focus()))};return t.addEventListener("keydown",o),l==null||l.focus(),()=>{t.removeEventListener("keydown",o)}}function W(t,n="polite"){const l=document.createElement("div");l.setAttribute("aria-live",n),l.setAttribute("aria-atomic","true"),l.className="sr-only",l.textContent=t,document.body.appendChild(l),setTimeout(()=>{document.body.removeChild(l)},1e3)}function Ea(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Na(){return window.matchMedia("(prefers-contrast: high)").matches}function Da(t,n){return 4.5}function za(t,n="AA"){return t>=(n==="AAA"?7:4.5)}const Sa=Object.freeze(Object.defineProperty({__proto__:null,announceToScreenReader:W,generateId:Ca,getContrastRatio:Da,isContrastValid:za,isFocusable:Va,prefersHighContrast:Na,prefersReducedMotion:Ea,trapFocus:te},Symbol.toStringTag,{value:"Module"}));function Ia(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"})])}function de(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})])}function le(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 12.75 6 6 9-13.5"})])}function ce(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})])}function Ie(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 16.5V9.75m0 0 3 3m-3-3-3 3M6.75 19.5a4.5 4.5 0 0 1-1.41-8.775 5.25 5.25 0 0 1 10.233-2.33 3 3 0 0 1 3.758 3.848A3.752 3.752 0 0 1 18 19.5H6.75Z"})])}function Le(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"})])}function ue(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z"})])}function La(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"})])}function Ma(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88"})])}function Fa(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})])}function Me(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"})])}function Aa(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"})])}function Fe(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"})])}function _(t,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18 18 6M6 6l12 12"})])}const Ra=["id","open"],qa={key:0,class:"su-dialog-header"},Pa=["id"],Ta=["id"],va={class:"su-dialog-content"},Ha={key:2,class:"su-dialog-footer"},Ae=e.defineComponent({__name:"Dialog",props:{modelValue:{type:Boolean,default:!1},display:{default:"center"},title:{},description:{},closeOnOverlayClick:{type:Boolean,default:!0},closeOnEscape:{type:Boolean,default:!0},width:{},height:{},zIndex:{default:1e3},disableScroll:{type:Boolean,default:!0},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},emits:["update:modelValue","open","close"],setup(t,{expose:n,emit:l}){const a=t,o=l,s=e.useAttrs(),x=e.ref(),y=e.ref(null),p="dialog-"+e.useId(),r=e.computed(()=>s.id||p),i=e.computed(()=>a.title?r.value+"-title":void 0),f=e.computed(()=>a.description?r.value+"-description":void 0),g=e.ref(a.modelValue),k=e.computed(()=>["su-dialog-overlay",`su-dialog-overlay--${a.display}`,{"su-dialog-overlay--open":g.value}]),I=e.computed(()=>["su-dialog",`su-dialog--${a.display}`,{"su-dialog--open":g.value}]),E=e.computed(()=>{const d={role:"dialog","aria-modal":"true","aria-hidden":!g.value};return a.ariaLabel&&(d["aria-label"]=a.ariaLabel),a.ariaLabelledBy?d["aria-labelledby"]=a.ariaLabelledBy:i.value&&(d["aria-labelledby"]=i.value),a.ariaDescribedBy?d["aria-describedby"]=a.ariaDescribedBy:f.value&&(d["aria-describedby"]=f.value),d}),b=async()=>{g.value||(g.value=!0,o("update:modelValue",!0),o("open"),a.disableScroll&&(document.body.style.overflow="hidden"),await e.nextTick(),x.value&&(y.value=te(x.value)))},m=()=>{g.value&&(g.value=!1,o("update:modelValue",!1),o("close"),a.disableScroll&&(document.body.style.overflow=""),y.value&&(y.value(),y.value=null))},D=()=>{a.closeOnOverlayClick&&m()},C=d=>{d.key==="Escape"&&a.closeOnEscape&&m()};return e.watch(()=>a.modelValue,d=>{d?b():m()}),e.onMounted(()=>{a.modelValue&&b(),document.addEventListener("keydown",C)}),e.onUnmounted(()=>{document.removeEventListener("keydown",C),a.disableScroll&&(document.body.style.overflow=""),y.value&&y.value()}),n({open:b,close:m,dialogRef:x}),(d,$)=>(e.openBlock(),e.createBlock(e.Transition,{name:"su-dialog-transition"},{default:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(k.value),style:e.normalizeStyle({zIndex:t.zIndex}),onClick:D},[e.createElementVNode("dialog",e.mergeProps({id:r.value,ref_key:"dialogRef",ref:x,class:I.value,open:g.value,style:{width:t.width}},E.value,{onClick:$[0]||($[0]=e.withModifiers(()=>{},["stop"]))}),[e.createVNode(ee,{class:"su-dialog__close",variant:"ghost",size:"sm",icon:e.unref(_),"icon-display":"only",onClick:m},null,8,["icon"]),e.createElementVNode("div",{class:"su-dialog__container",style:e.normalizeStyle({height:t.height})},[d.$slots.head||t.title?(e.openBlock(),e.createElementBlock("div",qa,[e.renderSlot(d.$slots,"head",{},()=>[e.createElementVNode("h2",{id:i.value,class:"su-dialog-title"},e.toDisplayString(t.title),9,Pa)])])):e.createCommentVNode("",!0),t.description&&!d.$slots.head?(e.openBlock(),e.createElementBlock("p",{key:1,id:f.value,class:"sr-only"},e.toDisplayString(t.description),9,Ta)):e.createCommentVNode("",!0),e.createElementVNode("div",va,[e.renderSlot(d.$slots,"default")]),d.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ha,[e.renderSlot(d.$slots,"footer")])):e.createCommentVNode("",!0)],4)],16,Ra)],6)):e.createCommentVNode("",!0)]),_:3}))}}),Ka={class:"su-tabs"},Oa=["id","aria-controls","aria-selected","tabindex","onClick"],Ua=["id","aria-labelledby"],Re=J(e.defineComponent({__name:"Tabs",props:{tabs:{},modelValue:{default:0},variant:{default:"underline"}},emits:["update:modelValue"],setup(t,{emit:n}){const l=t,a=n,o=e.ref(l.modelValue);e.watch(()=>l.modelValue,y=>o.value=y),e.watch(o,y=>a("update:modelValue",y));const s=y=>{var r;const p=((r=l.tabs)==null?void 0:r.length)??0;p&&(y.key==="ArrowRight"?o.value=(o.value+1)%p:y.key==="ArrowLeft"?o.value=(o.value-1+p)%p:y.key==="Home"?o.value=0:y.key==="End"&&(o.value=p-1))},x=y=>["su-tab",l.variant&&`su-tab--${l.variant}`,{"su-tab--active":y===o.value}];return(y,p)=>(e.openBlock(),e.createElementBlock("div",Ka,[e.createElementVNode("div",{role:"tablist",class:"su-tabs-list",onKeydown:s},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(r,i)=>(e.openBlock(),e.createElementBlock("button",{id:`tab-${i}`,key:i,role:"tab","aria-controls":`panel-${i}`,"aria-selected":i===o.value,tabindex:i===o.value?0:-1,class:e.normalizeClass(x(i)),onClick:f=>o.value=i},[e.renderSlot(y.$slots,"tab",{tab:r,index:i},()=>[e.createElementVNode("span",null,e.toDisplayString(r.label),1)],!0)],10,Oa))),128))],32),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(r,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{id:`panel-${i}`,key:i,role:"tabpanel","aria-labelledby":`tab-${i}`,class:"su-tab-panel"},[e.renderSlot(y.$slots,"panel",{tab:r,index:i},()=>[e.createElementVNode("p",null,e.toDisplayString(r.content),1)],!0)],8,Ua)),[[e.vShow,i===o.value]])),128))]))}}),[["__scopeId","data-v-1eb233f2"]]),ja=["data-accordion-item"],Ga=["id","aria-expanded","aria-controls","aria-disabled","disabled"],Za={class:"su-accordion-item__label"},Wa=["id","aria-labelledby","hidden"],Ya={class:"su-accordion-item__panel-content"},me=J(e.defineComponent({__name:"AccordionItem",props:{id:{},title:{},content:{},open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},level:{default:3}},emits:["update:open"],setup(t,{emit:n}){const l=t,a=n,o=e.inject("accordion"),s=e.computed(()=>l.id||`su-accordion-item-${Math.random().toString(36).slice(2,10)}`),x=e.computed(()=>`accordion-header-${s.value}`),y=e.computed(()=>`panel-${s.value}`),p=e.computed(()=>!!o),r=e.computed(()=>p.value?`h${Math.min(o.level,6)}`:`h${l.level}`),i=e.computed({get(){return p.value?o.isItemOpen(s.value):l.open},set(E){p.value?o.toggleItem(s.value,{id:s.value,title:l.title,content:l.content,disabled:l.disabled}):a("update:open",E)}}),f=e.ref(),g=()=>{var E;(E=f.value)==null||E.focus()},k=E=>{if(l.disabled)return;const m={Space:()=>{E.preventDefault(),I()},Enter:()=>{E.preventDefault(),I()}}[E.key];m&&m()},I=()=>{l.disabled||(i.value=!i.value)};return e.onMounted(()=>{p.value&&o.registerItem(s.value,{focus:g})}),e.onUnmounted(()=>{p.value&&o.unregisterItem(s.value)}),(E,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["su-accordion-item",{"is-open":i.value,"is-disabled":t.disabled}]),"data-accordion-item":s.value},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{class:"su-accordion-item__heading"},{default:e.withCtx(()=>[e.createElementVNode("button",{id:x.value,ref_key:"headerRef",ref:f,class:"su-accordion-item__header",type:"button",role:"button","aria-expanded":i.value,"aria-controls":y.value,"aria-disabled":t.disabled,disabled:t.disabled,onClick:I,onKeydown:k},[e.renderSlot(E.$slots,"header",{item:{id:s.value,title:t.title,content:t.content,open:i.value,disabled:t.disabled}},()=>[e.createElementVNode("span",Za,e.toDisplayString(t.title),1)],!0),e.createVNode(e.unref(ce),{class:e.normalizeClass(["su-accordion-item__icon",{"is-open":i.value}]),"aria-hidden":"true"},null,8,["class"])],40,Ga)]),_:3})),e.withDirectives(e.createElementVNode("div",{id:y.value,class:"su-accordion-item__panel",role:"region","aria-labelledby":x.value,hidden:!i.value},[e.createElementVNode("div",Ya,[e.renderSlot(E.$slots,"default",{item:{id:s.value,title:t.title,content:t.content,open:i.value,disabled:t.disabled}},()=>[e.createElementVNode("p",null,e.toDisplayString(t.content),1)],!0)])],8,Wa),[[e.vShow,i.value]])],10,ja))}}),[["__scopeId","data-v-01ea0815"]]),Xa=["aria-multiselectable","aria-label"],qe=J(e.defineComponent({__name:"Accordion",props:{items:{default:()=>[]},multiple:{type:Boolean,default:!1},gap:{default:"md"},modelValue:{default:()=>[]},level:{default:2},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},emits:["update:modelValue","item-toggle"],setup(t,{emit:n}){const l=t,a=n,o=e.ref(new Set(l.modelValue));e.watch(()=>l.modelValue,b=>{o.value=new Set(b)});const s=e.computed(()=>l.items.map(b=>({...b,id:b.id||`accordion-item-${Math.random().toString(36).slice(2,10)}`}))),x=b=>o.value.has(b),y=(b,m)=>{if(m.disabled)return;const D=new Set(o.value);l.multiple?D.has(b)?D.delete(b):D.add(b):D.has(b)?D.delete(b):(D.clear(),D.add(b)),o.value=D,a("update:modelValue",Array.from(D)),a("item-toggle",m)},p=e.ref(),r=e.ref(new Map),i=(b,m)=>{r.value.set(b,m)},f=b=>{r.value.delete(b)};e.provide("accordion",{multiple:l.multiple,level:e.computed(()=>Math.min(6,l.level+1)),isItemOpen:x,toggleItem:y,registerItem:i,unregisterItem:f});const g=b=>{if(!p.value)return;const m=Array.from(r.value.values()).filter(($,V)=>{const F=s.value[V];return F&&!F.disabled});if(m.length===0)return;const D=m.findIndex($=>document.activeElement===document.querySelector(`[data-accordion-item="${$}"]`)),d={Home:()=>{var $;b.preventDefault(),($=m[0])==null||$.focus()},End:()=>{var $;b.preventDefault(),($=m[m.length-1])==null||$.focus()},ArrowDown:()=>{var V;b.preventDefault();const $=(D+1)%m.length;(V=m[$])==null||V.focus()},ArrowUp:()=>{var V;b.preventDefault();const $=(D-1+m.length)%m.length;(V=m[$])==null||V.focus()},PageDown:()=>{var V;b.preventDefault();const $=Math.min(D+3,m.length-1);(V=m[$])==null||V.focus()},PageUp:()=>{var V;b.preventDefault();const $=Math.max(D-3,0);(V=m[$])==null||V.focus()}}[b.key];d&&d()},k=b=>{if(b.altKey){const m=Array.from(r.value.entries()),D=m.findIndex(([C,d])=>document.activeElement===document.querySelector(`[data-accordion-item="${d}"]`));if(b.key==="Home"&&b.altKey){if(b.preventDefault(),l.multiple){const C=s.value.map(d=>d.id).filter(Boolean);o.value=new Set(C),a("update:modelValue",Array.from(o.value))}}else if(b.key==="End"&&b.altKey)b.preventDefault(),o.value.clear(),a("update:modelValue",[]);else if(b.key==="ArrowDown"&&b.altKey&&D!==-1){b.preventDefault();const C=m[D][0],d=s.value.find($=>$.id===C);d&&!d.disabled&&y(C,d)}else if(b.key==="ArrowUp"&&b.altKey&&D!==-1){b.preventDefault();const C=m[D][0],d=s.value.find($=>$.id===C);d&&!d.disabled&&o.value.has(C)&&y(C,d)}}},I=b=>{const m=document.getElementById("a11y-announcer")||E();m.textContent=b},E=()=>{const b=document.createElement("div");return b.id="a11y-announcer",b.setAttribute("aria-live","polite"),b.setAttribute("aria-atomic","true"),b.className="sr-only",document.body.appendChild(b),b};return e.onMounted(()=>{document.addEventListener("keydown",k),e.nextTick(()=>{I(`Accordéon ${l.multiple?"multiple":"simple"} avec ${s.value.length} sections. Utilisez les flèches pour naviguer, Espace ou Entrée pour ouvrir/fermer.`)})}),e.onUnmounted(()=>{document.removeEventListener("keydown",k)}),(b,m)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"accordionRef",ref:p,class:e.normalizeClass(["su-accordion",`su-accordion--gap-${t.gap}`]),role:"region","aria-multiselectable":t.multiple,"aria-label":t.ariaLabel||"Accordion",onKeydown:g},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,D=>(e.openBlock(),e.createBlock(me,{id:D.id,key:D.id,title:D.title,content:D.content,disabled:D.disabled,open:x(D.id),level:t.level,"onUpdate:open":C=>{C!==x(D.id)&&y(D.id,D)}},null,8,["id","title","content","disabled","open","level","onUpdate:open"]))),128)),e.renderSlot(b.$slots,"default",{},void 0,!0)],42,Xa))}}),[["__scopeId","data-v-b2b7d6a8"]]),Qa=["aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-busy"],Ja={key:0,class:"su-progress__overlay"},_a={key:0,class:"su-progress__label"},et={key:1,class:"su-progress__label"},fe=J(e.defineComponent({__name:"Progress",props:{modelValue:{default:0},min:{default:0},max:{default:100},size:{default:"md"},color:{default:"#000"},backgroundColor:{default:"#e0e0e0"},state:{default:"default"},showLabel:{type:Boolean,default:!1},formatValue:{type:Function,default:t=>`${t}%`},indeterminate:{type:Boolean,default:!1},indeterminateLabel:{default:"In progress…"}},setup(t){const n=t,l=e.computed(()=>Math.min(Math.max(n.modelValue??0,n.min),n.max)),a=e.computed(()=>n.max>n.min?(l.value-n.min)/(n.max-n.min)*100:0),o=e.computed(()=>n.formatValue(l.value)),s={error:"#e53935",success:"#43a047",warning:"#fdd835"},x=e.computed(()=>n.indeterminate?{backgroundColor:n.state==="default"?n.color:s[n.state]??n.color}:{width:`${a.value}%`,backgroundColor:n.state==="default"?n.color:s[n.state]??n.color}),y=e.computed(()=>({backgroundColor:n.backgroundColor}));return(p,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["su-progress",[`su-progress--${t.size}`,`su-progress--${t.state}`,{"su-progress--indeterminate":t.indeterminate}]]),role:"progressbar","aria-valuemin":t.indeterminate?void 0:t.min,"aria-valuemax":t.indeterminate?void 0:t.max,"aria-valuenow":t.indeterminate?void 0:l.value,"aria-valuetext":t.indeterminate?void 0:o.value,"aria-busy":t.indeterminate?"true":void 0,tabindex:"0"},[e.createElementVNode("div",{class:"su-progress__track",style:e.normalizeStyle(y.value)},[e.createElementVNode("div",{class:e.normalizeClass(["su-progress__bar",{"su-progress__bar--indeterminate":t.indeterminate}]),style:e.normalizeStyle(x.value)},null,6),p.$slots.default?(e.openBlock(),e.createElementBlock("div",Ja,[e.renderSlot(p.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)],4),t.showLabel&&!t.indeterminate?(e.openBlock(),e.createElementBlock("span",_a,e.toDisplayString(o.value),1)):t.showLabel&&t.indeterminate?(e.openBlock(),e.createElementBlock("span",et,e.toDisplayString(t.indeterminateLabel),1)):e.createCommentVNode("",!0)],10,Qa))}}),[["__scopeId","data-v-228dd3f7"]]);let at=0;function Pe(t="su"){return`${t}-${++at}-${Date.now().toString(36)}`}const tt=["aria-live","aria-atomic"],lt={class:"su-alert__icon-wrapper"},ot={class:"su-alert__content"},nt={key:2,class:"su-alert__actions"},st=["aria-label"],Te=e.defineComponent({__name:"Alert",props:{type:{default:"info"},title:{},description:{},dismissible:{type:Boolean,default:!1},dismissLabel:{default:"Fermer la notification"},ariaLive:{default:"polite"},ariaAtomic:{type:Boolean,default:!0},size:{default:"md"}},emits:["dismiss"],setup(t,{expose:n,emit:l}){const a=t,o=l,s=e.useSlots(),x=`su-alert-title-${Pe("su-alert-title")}`,y=`su-alert-description-${Pe("su-alert-desc")}`,p=e.computed(()=>!!(a.title||s.title)),r=e.computed(()=>!!(a.description||s.description)),i=e.computed(()=>({success:de,warning:La,error:ue,info:Me,neutral:Me})[a.type]),f=e.computed(()=>["su-alert",`su-alert--${a.type}`,`su-alert--${a.size}`,{"su-alert--dismissible":a.dismissible}]),g=e.computed(()=>["su-alert__icon",`su-alert__icon--${a.type}`]),k=e.computed(()=>["su-alert__dismiss-button",`su-alert__dismiss-button--${a.type}`]),I=()=>{o("dismiss")};return n({dismiss:I}),(E,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(f.value),role:"alert","aria-live":t.ariaLive,"aria-atomic":t.ariaAtomic,"aria-labelledby":x,"aria-describedby":y},[e.createElementVNode("div",lt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{class:e.normalizeClass(g.value),"aria-hidden":"true"},null,8,["class"]))]),e.createElementVNode("div",ot,[p.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:x,class:"su-alert__title"},[e.renderSlot(E.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:y,class:"su-alert__description"},[e.renderSlot(E.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)])])):e.createCommentVNode("",!0),E.$slots.default?(e.openBlock(),e.createElementBlock("div",nt,[e.renderSlot(E.$slots,"default")])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(k.value),"aria-label":t.dismissLabel,onClick:I},[e.createVNode(e.unref(_),{class:"su-alert__dismiss-icon"})],10,st)):e.createCommentVNode("",!0)],10,tt))}}),rt={key:1,class:"su-link__content"},oe=e.defineComponent({__name:"Link",props:{href:{},to:{},target:{},rel:{},variant:{default:"default"},size:{default:"md"},block:{type:Boolean},underline:{default:"hover"},disabled:{type:Boolean,default:!1},icon:{},iconDisplay:{default:"left"},external:{type:Boolean,default:!1},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{default:0}},emits:["click","focus","blur","keydown"],setup(t,{emit:n}){const l=t,a=n,o=e.computed(()=>l.to!==void 0),s=e.computed(()=>l.external||l.href&&(l.href.startsWith("http")||l.href.startsWith("//")||l.target==="_blank")),x=e.computed(()=>{const k={};return o.value||(k.href=l.href,s.value?(k.target=l.target||"_blank",k.rel=l.rel||"noopener noreferrer"):(l.target&&(k.target=l.target),l.rel&&(k.rel=l.rel))),l.ariaLabel&&(k["aria-label"]=l.ariaLabel),l.ariaDescribedBy&&(k["aria-describedby"]=l.ariaDescribedBy),l.role&&(k.role=l.role),l.disabled?(k["aria-disabled"]="true",k.tabindex=-1):k.tabindex=l.tabIndex,k}),y=e.computed(()=>["su-link",`su-link--${l.variant}`,`su-link--${l.size}`,`su-link--underline-${l.underline}`,{"su-link--disabled":l.disabled,"su-link--external":s.value,"su-link--block":l.block,"su-link--icon-only":l.icon&&l.iconDisplay==="only","su-link--icon-right":l.icon&&l.iconDisplay==="right"}]),p=e.computed(()=>!(l.icon&&l.iconDisplay==="only")),r=k=>{if(l.disabled){k.preventDefault();return}a("click",k)},i=k=>{if((k.key==="Enter"||k.key===" ")&&l.disabled){k.preventDefault();return}a("keydown",k)},f=k=>{a("focus",k)},g=k=>{a("blur",k)};return l.icon&&l.iconDisplay==="only"&&!l.ariaLabel&&console.warn('Link with icon and iconDisplay="only" should have an ariaLabel for accessibility'),(k,I)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value?"router-link":"a"),e.mergeProps({class:y.value},o.value?{to:t.to,...x.value}:x.value,{onClick:r,onKeydown:i,onFocus:f,onBlur:g}),{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:"su-link__icon","aria-hidden":"true"})):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("span",rt,[e.renderSlot(k.$slots,"default")])):e.createCommentVNode("",!0),s.value&&!t.icon&&p.value?(e.openBlock(),e.createBlock(e.unref(Ia),{key:2,class:"su-link__external-icon","aria-hidden":"true"})):e.createCommentVNode("",!0)]),_:3},16,["class"]))}}),it=["id","disabled","tabindex"],dt={key:0,class:"su-dropdown-spinner"},ct={key:1,class:"su-dropdown-label"},ut=["id"],mt={class:"su-dropdown-options"},ft={key:0,class:"su-dropdown-separator",role:"separator"},pt={class:"su-dropdown-option-content"},bt={class:"su-dropdown-option-label"},yt={key:0,class:"su-dropdown-option-description"},ht={key:1,class:"su-dropdown-external-icon",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},ve=e.defineComponent({__name:"Dropdown",props:{options:{default:()=>[]},trigger:{default:"click"},placement:{default:"bottom-start"},size:{default:"md"},variant:{default:"outline"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},icon:{},iconDisplay:{default:"left"},label:{},closeOnSelect:{type:Boolean,default:!0},maxHeight:{default:"300px"},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},emits:["select","open","close","focus","blur"],setup(t,{expose:n,emit:l}){const a=t,o=l,s=e.useAttrs(),x=e.ref(),y=e.ref(),p=e.ref(),r=e.ref(null),i=e.ref(!1),f=e.ref(-1),g="dropdown-"+e.useId(),k=e.computed(()=>s.id||g),I=e.computed(()=>`${k.value}-menu`),E=e.computed(()=>a.options.filter(v=>!v.separator&&!v.disabled)),b=e.computed(()=>["su-dropdown-container",`su-dropdown-container--${a.placement}`,{"su-dropdown-container--open":i.value,"su-dropdown-container--disabled":a.disabled}]),m=e.computed(()=>["su-dropdown-trigger",`su-dropdown-trigger--${a.size}`,`su-dropdown-trigger--${a.variant}`,{"su-dropdown-trigger--disabled":a.disabled,"su-dropdown-trigger--loading":a.loading,"su-dropdown-trigger--open":i.value,"su-dropdown-trigger--icon-only":a.icon&&a.iconDisplay==="only","su-dropdown-trigger--icon-right":a.icon&&a.iconDisplay==="right"}]),D=e.computed(()=>["su-dropdown-menu",`su-dropdown-menu--${a.placement}`,{"su-dropdown-menu--open":i.value}]),C=e.computed(()=>{const v={"aria-haspopup":"menu","aria-expanded":i.value,"aria-controls":i.value?I.value:void 0};return a.ariaLabel&&(v["aria-label"]=a.ariaLabel),a.ariaDescribedBy&&(v["aria-describedby"]=a.ariaDescribedBy),a.role&&(v.role=a.role),a.disabled&&(v["aria-disabled"]="true"),a.loading&&(v["aria-busy"]="true"),v}),d=()=>{a.disabled||a.loading||(i.value?V():$())},$=async()=>{a.disabled||a.loading||(i.value=!0,f.value=-1,o("open"),await e.nextTick(),p.value&&(r.value=te(p.value)))},V=()=>{i.value=!1,f.value=-1,r.value&&(r.value(),r.value=null),o("close"),y.value&&y.value.focus()},F=v=>{v.disabled||v.separator||(o("select",v),W(`${v.label} sélectionné`),a.closeOnSelect&&V())},O=v=>{switch(v.key){case"Enter":case" ":if(v.preventDefault(),!i.value)$();else if(f.value>=0){const Y=E.value[f.value];Y&&F(Y)}break;case"Escape":v.preventDefault(),V();break;case"ArrowDown":v.preventDefault(),i.value?f.value=Math.min(f.value+1,E.value.length-1):$();break;case"ArrowUp":v.preventDefault(),i.value&&(f.value=Math.max(f.value-1,-1));break;case"Home":i.value&&(v.preventDefault(),f.value=0);break;case"End":i.value&&(v.preventDefault(),f.value=E.value.length-1);break;case"Tab":i.value&&V();break}},G=v=>{o("focus",v)},U=v=>{setTimeout(()=>{i.value&&x.value&&!x.value.contains(document.activeElement)&&(V(),o("blur",v))},0)},j=()=>{a.trigger==="hover"&&!a.disabled&&!a.loading&&$()},q=()=>{a.trigger==="hover"&&V()},H=v=>{i.value&&x.value&&!x.value.contains(v.target)&&V()};return n({focus:()=>{var v;(v=y.value)==null||v.focus()},open:()=>{$()},close:()=>{V()},dropdownRef:x,triggerRef:y}),e.onMounted(()=>{document.addEventListener("click",H,{passive:!0})}),e.onUnmounted(()=>{document.removeEventListener("click",H,{passive:!0}),r.value&&r.value()}),a.icon&&a.iconDisplay==="only"&&!a.ariaLabel&&!a.label&&console.warn('Dropdown with icon and iconDisplay="only" should have an ariaLabel or label for accessibility'),(v,Y)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:x,class:e.normalizeClass(b.value),onMouseenter:j,onMouseleave:q},[e.createElementVNode("button",e.mergeProps({id:k.value,ref_key:"triggerRef",ref:y,class:m.value,disabled:t.disabled||t.loading,tabindex:t.disabled?-1:0},C.value,{onClick:d,onKeydown:O,onFocus:G,onBlur:U}),[t.loading?(e.openBlock(),e.createElementBlock("span",dt,[...Y[0]||(Y[0]=[e.createElementVNode("svg",{class:"su-spinner",viewBox:"0 0 24 24","aria-hidden":"true"},[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor","stroke-width":"2"}),e.createElementVNode("path",{d:"M12 2a10 10 0 0 1 10 10",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1),e.createElementVNode("span",{class:"sr-only"},"Chargement en cours...",-1)])])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:"su-dropdown-icon","aria-hidden":"true"})):e.createCommentVNode("",!0),t.label&&!(t.icon&&t.iconDisplay==="only")?(e.openBlock(),e.createElementBlock("span",ct,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(ce),{class:e.normalizeClass(["su-dropdown-chevron",{"su-dropdown-chevron--open":i.value}]),"aria-hidden":"true"},null,8,["class"])],64))],16,it),e.createVNode(e.Transition,{name:"su-dropdown"},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:I.value,ref_key:"menuRef",ref:p,class:e.normalizeClass(D.value),role:"menu",style:e.normalizeStyle({maxHeight:t.maxHeight})},[e.createElementVNode("div",mt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(N,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:N.value||c},[N.separator?(e.openBlock(),e.createElementBlock("div",ft)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N.href?"a":"button"),{key:1,href:N.href,target:N.target,rel:N.rel,class:e.normalizeClass(["su-dropdown-option",{"su-dropdown-option--disabled":N.disabled,"su-dropdown-option--focused":E.value.indexOf(N)===f.value}]),role:"menuitem","aria-disabled":N.disabled,tabindex:N.disabled?-1:0,onClick:B=>F(N),onMouseenter:B=>f.value=E.value.indexOf(N)},{default:e.withCtx(()=>[N.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N.icon),{key:0,class:"su-dropdown-option-icon","aria-hidden":"true"})):e.createCommentVNode("",!0),e.createElementVNode("div",pt,[e.createElementVNode("div",bt,e.toDisplayString(N.label),1),N.description?(e.openBlock(),e.createElementBlock("div",yt,e.toDisplayString(N.description),1)):e.createCommentVNode("",!0)]),N.href&&(N.target==="_blank"||N.href.startsWith("http"))?(e.openBlock(),e.createElementBlock("svg",ht,[...Y[1]||(Y[1]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z","clip-rule":"evenodd"},null,-1),e.createElementVNode("path",{"fill-rule":"evenodd",d:"M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.553l-9.056 8.194a.75.75 0 00-.053 1.06z","clip-rule":"evenodd"},null,-1)])])):e.createCommentVNode("",!0)]),_:2},1064,["href","target","rel","class","aria-disabled","tabindex","onClick","onMouseenter"]))],64))),128))])],14,ut)):e.createCommentVNode("",!0)]),_:1})],34))}}),He=e.defineComponent({__name:"LinkGroup",props:{gap:{default:"md"},separator:{default:"none"},size:{},variant:{},underline:{},direction:{default:"horizontal"},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},setup(t){const n=t,l=e.useSlots(),a=e.computed(()=>["su-links-group",`su-links-group--gap-${n.gap}`,`su-links-group--${n.direction}`,{"su-links-group--connected":n.gap==="none","su-links-group--with-separator":n.separator!=="none"}]),o=p=>{switch(p){case"dot":return"•";case"slash":return"/";case"pipe":return"|";case"arrow":return"→";default:return""}},s=e.computed(()=>{var i;if(!(l!=null&&l.default))return[];const p=((i=l==null?void 0:l.default)==null?void 0:i.call(l))??[],r=[];for(const f of p)if(f.type===oe){const g={...f.props};if(n.size&&(g.size=n.size),n.variant&&(g.variant=n.variant),n.underline&&(g.underline=n.underline),n.gap==="none"){const k=g.class||"";g.class=`${k} su-links-group__link`.trim()}r.push(e.h(f.type,g,f==null?void 0:f.children))}else{if(f.type===e.Comment||f.type===e.Text||f.type===e.Fragment)continue;console.warn("LinkGroup expects only Link components as children. Found:",f.type)}return r}),x=e.computed(()=>{if(n.separator==="none"||n.direction==="vertical")return s.value;const p=[],r=o(n.separator);return s.value.forEach((i,f)=>{p.push(i),f<s.value.length-1&&p.push(e.h("span",{key:`separator-${f}`,class:"su-links-group-separator","aria-hidden":"true"},r))}),p}),y=e.computed(()=>{const p={};return n.ariaLabel&&(p["aria-label"]=n.ariaLabel),n.ariaDescribedBy&&(p["aria-describedby"]=n.ariaDescribedBy),n.role&&(p.role=n.role),p});return(p,r)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:a.value},y.value),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(i,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i),{key:f}))),128))],16))}}),Ke=e.defineComponent({__name:"ButtonGroup",props:{gap:{default:"md"},size:{},variant:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},setup(t){const n=t,l=e.useSlots(),a=e.computed(()=>["su-buttons-group",`su-buttons-group--gap-${n.gap}`,{"su-buttons-group--connected":n.gap==="none"}]),o=e.computed(()=>{var p;if(!(l!=null&&l.default))return[];const x=((p=l==null?void 0:l.default)==null?void 0:p.call(l))??[],y=[];for(const r of x)if(r.type===ee){const i={...r.props};if(n.size&&(i.size=n.size),n.variant&&(i.variant=n.variant),n.gap==="none"){const f=i.class||"";i.class=`${f} su-buttons-group__button`.trim()}y.push(e.h(r.type,i,r==null?void 0:r.children))}else{if(r.type===e.Comment||r.type===e.Text||r.type===e.Fragment)continue;console.warn("ButtonGroup expects only Button components as children. Found:",r.type)}return y}),s=e.computed(()=>{const x={};return n.ariaLabel&&(x["aria-label"]=n.ariaLabel),n.ariaDescribedBy&&(x["aria-describedby"]=n.ariaDescribedBy),n.role&&(x.role=n.role),x});return(x,y)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:a.value},s.value),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(p,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p),{key:r}))),128))],16))}}),kt={class:"su-float-button-wrapper"},gt=["aria-label"],Bt=["id"],Oe=e.defineComponent({__name:"FloatButton",props:{position:{default:"right"},offset:{default:()=>({x:24,y:24})},size:{default:"lg"},icon:{},label:{},href:{},target:{},rel:{},badge:{},variant:{default:"primary"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},zIndex:{default:1e3},hideOnScroll:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!0},tooltipPosition:{default:"left"},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},emits:["click","focus","blur"],setup(t,{expose:n,emit:l}){const a=t,o=l,s=e.useSlots(),x=e.ref(),y=e.ref(!0),p=e.ref(!1),r=e.ref(0),i=e.computed(()=>{const V={position:"fixed",zIndex:a.zIndex.toString()};return a.position==="right"?V.right=`${a.offset.x||24}px`:V.left=`${a.offset.x||24}px`,V.bottom=`${a.offset.y||24}px`,V}),f=e.computed(()=>["su-float-button-container",`su-float-button-container--${a.position}`,`su-float-button-container--${a.size}`,{"su-float-button-container--hidden":!y.value,"su-float-button-container--has-slot":s.default,"su-float-button-container--disabled":a.disabled}]),g=e.computed(()=>["su-float-button",`su-float-button--${a.size}`,{"su-float-button--has-badge":a.badge,"su-float-button--has-tooltip":a.showTooltip&&a.label}]),k=e.computed(()=>["su-float-button-tooltip",`su-float-button-tooltip--${a.tooltipPosition}`,`su-float-button-tooltip--in-${a.position}`]),I=e.computed(()=>{if(!a.href)return{};const V={href:a.href};return a.target&&(V.target=a.target),a.rel&&(V.rel=a.rel),a.target==="_blank"&&!a.rel&&(V.rel="noopener noreferrer"),V}),E=()=>{if(!a.hideOnScroll)return;const V=window.scrollY;V>r.value&&V>100?y.value=!1:y.value=!0,r.value=V},b=V=>{a.disabled||a.loading||o("click",V)},m=V=>{a.showTooltip&&a.label&&(p.value=!0),o("focus",V)},D=V=>{p.value=!1,o("blur",V)},C=()=>{a.showTooltip&&a.label&&!a.disabled&&(p.value=!0)},d=()=>{p.value=!1};return e.onMounted(()=>{a.hideOnScroll&&window.addEventListener("scroll",E,{passive:!0})}),e.onUnmounted(()=>{a.hideOnScroll&&window.removeEventListener("scroll",E)}),n({focus:()=>{var V;(V=x.value)==null||V.focus()},floatButtonRef:x}),(V,F)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(f.value),style:e.normalizeStyle(i.value)},[V.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["su-float-button-slot",`su-float-button-slot--${t.position}`])},[e.renderSlot(V.$slots,"default")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",kt,[t.badge?(e.openBlock(),e.createElementBlock("div",{key:0,class:"su-float-button-badge","aria-label":`Badge: ${t.badge}`},e.toDisplayString(t.badge),9,gt)):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("div",{key:1,id:`${V.$attrs.id||"float-button"}-tooltip`,class:e.normalizeClass(k.value),role:"tooltip"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),F[0]||(F[0]=e.createElementVNode("div",{class:"su-float-button-tooltip-arrow"},null,-1))],10,Bt)),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?oe:ee),e.mergeProps({ref_key:"floatButtonRef",ref:x,class:g.value,variant:t.variant,size:t.size,icon:t.icon,"icon-display":"only",disabled:t.disabled,loading:t.loading,"aria-label":t.label||t.ariaLabel,"aria-describedby":p.value&&t.label?`${V.$attrs.id||"float-button"}-tooltip`:t.ariaDescribedBy},t.href?I.value:{},{label:"test",onClick:b,onFocus:m,onBlur:D,onMouseenter:C,onMouseleave:d}),null,16,["class","variant","size","icon","disabled","loading","aria-label","aria-describedby"]))])],6))}}),xt={key:0,class:"su-input-prefix"},$t=["tabindex","onKeydown"],wt=["tabindex","onKeydown"],Ct=["id","type","value","disabled","readonly","required"],Vt={key:1,class:"su-input-suffix"},Et=["tabindex","onKeydown"],Nt=["tabindex","onKeydown"],pe=e.defineComponent({inheritAttrs:!1,__name:"Input",props:e.mergeModels({type:{default:"text"},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},placeholder:{},prefix:{},suffix:{},prefixIcon:{},suffixIcon:{},textAlign:{default:"default"},autocomplete:{},min:{},max:{},step:{},minLength:{},maxLength:{},pattern:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{default:""},modelModifiers:{}}),emits:e.mergeModels(["input","change","focus","blur","keydown","keyup","prefix-click","prefix-icon-click","suffix-click","suffix-icon-click"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const a=t,o=l,s=e.useModel(t,"modelValue"),x=e.useAttrs(),y=e.computed(()=>x.id||void 0),p=e.computed(()=>typeof x.onPrefixClick=="function"),r=e.computed(()=>typeof x.onPrefixIconClick=="function"),i=e.computed(()=>typeof x.onSuffixClick=="function"),f=e.computed(()=>typeof x.onSuffixIconClick=="function"),g=e.computed(()=>["su-input-container",`su-input-container--${a.size}`,`su-input-container--${a.state}`,{"su-input-container--disabled":a.disabled,"su-input-container--readonly":a.readonly,"su-input-container--has-prefix":a.prefix||a.prefixIcon,"su-input-container--has-suffix":a.suffix||a.suffixIcon}]),k=e.computed(()=>["su-input",`su-input--${a.size}`,`su-input--${a.state}`,`su-input--align-${a.textAlign}`,{"su-input--disabled":a.disabled,"su-input--readonly":a.readonly}]),I=e.computed(()=>{const R={};return a.ariaLabel&&(R["aria-label"]=a.ariaLabel),a.ariaInvalid!==void 0&&(R["aria-invalid"]=a.ariaInvalid),(a.required||a.ariaRequired)&&(R["aria-required"]="true"),a.state==="error"&&(R["aria-invalid"]="true"),R}),E=e.computed(()=>{const R={};return a.autocomplete&&(R.autocomplete=a.autocomplete),a.min!==void 0&&(R.min=a.min),a.max!==void 0&&(R.max=a.max),a.step!==void 0&&(R.step=a.step),a.minLength!==void 0&&(R.minlength=a.minLength),a.maxLength!==void 0&&(R.maxlength=a.maxLength),a.pattern&&(R.pattern=a.pattern),a.placeholder&&(R.placeholder=a.placeholder),R}),b=e.computed(()=>Object.fromEntries(Object.entries(x).filter(([R])=>R.startsWith("data-")))),m=R=>{const K=R.target;s.value=a.type==="number"?Number(K.value):K.value,o("input",R)},D=R=>o("change",R),C=R=>o("focus",R),d=R=>o("blur",R),$=R=>o("keydown",R),V=R=>o("keyup",R),F=R=>{a.disabled||a.readonly||o("prefix-click",R)},O=R=>{a.disabled||a.readonly||o("prefix-icon-click",R)},G=R=>{a.disabled||a.readonly||o("suffix-click",R)},U=R=>{a.disabled||a.readonly||o("suffix-icon-click",R)},j=e.ref();return n({focus:()=>{var R;return(R=j.value)==null?void 0:R.focus()},select:()=>{var R;return(R=j.value)==null?void 0:R.select()},inputRef:j}),(R,K)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(g.value)},[t.prefix||t.prefixIcon||R.$slots.prefix?(e.openBlock(),e.createElementBlock("div",xt,[R.$slots.prefix?e.renderSlot(R.$slots,"prefix",{key:0,class:"su-input-prefix__slot"}):e.createCommentVNode("",!0),t.prefixIcon?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["su-input-prefix__icon",{"su-input-prefix--clickable":r.value}]),tabindex:r.value&&!t.disabled&&!t.readonly?0:-1,onClick:O,onKeydown:[e.withKeys(e.withModifiers(O,["prevent"]),["enter"]),e.withKeys(e.withModifiers(O,["prevent"]),["space"])]},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.prefixIcon),{class:"su-input-icon","aria-hidden":"true"}))],42,$t)):e.createCommentVNode("",!0),t.prefix?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["su-input-prefix__text",{"su-input-prefix--clickable":p.value}]),tabindex:p.value&&!t.disabled&&!t.readonly?0:-1,onClick:F,onKeydown:[e.withKeys(e.withModifiers(F,["prevent"]),["enter"]),e.withKeys(e.withModifiers(F,["prevent"]),["space"])]},e.toDisplayString(t.prefix),43,wt)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:y.value,ref_key:"inputRef",ref:j,class:k.value,type:t.type,value:s.value,disabled:t.disabled,readonly:t.readonly,required:t.required},{...E.value,...I.value,...b.value},{onInput:m,onChange:D,onFocus:C,onBlur:d,onKeydown:$,onKeyup:V}),null,16,Ct),t.suffix||t.suffixIcon||R.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Vt,[t.suffix?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["su-input-suffix__text",{"su-input-suffix--clickable":i.value}]),tabindex:i.value&&!t.disabled&&!t.readonly?0:-1,onClick:G,onKeydown:[e.withKeys(e.withModifiers(G,["prevent"]),["enter"]),e.withKeys(e.withModifiers(G,["prevent"]),["space"])]},e.toDisplayString(t.suffix),43,Et)):e.createCommentVNode("",!0),t.suffixIcon?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["su-input-suffix__icon",{"su-input-suffix--clickable":f.value}]),tabindex:f.value&&!t.disabled&&!t.readonly?0:-1,onClick:U,onKeydown:[e.withKeys(e.withModifiers(U,["prevent"]),["enter"]),e.withKeys(e.withModifiers(U,["prevent"]),["space"])]},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.suffixIcon),{class:"su-input-icon","aria-hidden":"true"}))],42,Nt)):e.createCommentVNode("",!0),R.$slots.suffix?e.renderSlot(R.$slots,"suffix",{key:2,class:"su-input-suffix__slot"}):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2))}}),Dt=["id","value","placeholder","disabled","readonly","required","rows"],zt={key:0,class:"su-textarea-footer"},St=["id","aria-live"],It={class:"sr-only"},be=e.defineComponent({inheritAttrs:!1,__name:"Textarea",props:e.mergeModels({size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},placeholder:{},value:{},rows:{default:3},minRows:{default:2},maxRows:{default:10},maxLength:{},showCounter:{type:Boolean,default:!1},autoResize:{type:Boolean,default:!1},autocomplete:{},spellcheck:{type:Boolean,default:!0},wrap:{default:"soft"},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{default:""},modelModifiers:{}}),emits:e.mergeModels(["input","change","focus","blur","keydown","keyup"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y=e.ref(),p=e.computed(()=>x.id||void 0),r=e.computed(()=>o.value||""),i=e.computed(()=>r.value.length),f=e.computed(()=>a.maxLength?a.maxLength-i.value:null),g=e.computed(()=>a.maxLength?f.value!==null&&f.value<=a.maxLength*.1:!1),k=e.computed(()=>a.maxLength?f.value!==null&&f.value<0:!1),I=e.computed(()=>["su-textarea-container",`su-textarea-container--${a.size}`,`su-textarea-container--${a.state}`,{"su-textarea-container--disabled":a.disabled,"su-textarea-container--readonly":a.readonly,"su-textarea-container--auto-resize":a.autoResize,"su-textarea-container--over-limit":k.value}]),E=e.computed(()=>["su-textarea",`su-textarea--${a.size}`,`su-textarea--${a.state}`,{"su-textarea--disabled":a.disabled,"su-textarea--readonly":a.readonly,"su-textarea--auto-resize":a.autoResize,"su-textarea--over-limit":k.value}]),b=e.computed(()=>["su-textarea-counter",{"su-textarea-counter--near-limit":g.value,"su-textarea-counter--over-limit":k.value}]),m=e.computed(()=>{const q={};return a.ariaLabel&&(q["aria-label"]=a.ariaLabel),a.ariaInvalid!==void 0&&(q["aria-invalid"]=a.ariaInvalid),a.ariaRequired!==void 0&&(q["aria-required"]=a.ariaRequired),a.required&&(q["aria-required"]="true"),(a.state==="error"||k.value)&&(q["aria-invalid"]="true"),q}),D=e.computed(()=>{const q={};return a.autocomplete&&(q.autocomplete=a.autocomplete),a.maxLength&&(q.maxlength=a.maxLength),a.spellcheck!==void 0&&(q.spellcheck=a.spellcheck),a.wrap&&(q.wrap=a.wrap),q}),C=async()=>{if(!a.autoResize||!y.value)return;await e.nextTick();const q=y.value,H=a.minRows?a.minRows*1.5:3*1.5,R=a.maxRows?a.maxRows*1.5:10*1.5;q.style.height="auto";const K=q.scrollHeight,Z=Math.max(H*16,Math.min(R*16,K));q.style.height=`${Z}px`},d=q=>{const H=q.target;o.value=H.value,s("input",q),a.autoResize&&C()},$=q=>{s("change",q)},V=q=>{s("focus",q)},F=q=>{s("blur",q)},O=q=>{s("keydown",q)},G=q=>{s("keyup",q)};return n({focus:()=>{var q;(q=y.value)==null||q.focus()},select:()=>{var q;(q=y.value)==null||q.select()},textareaRef:y}),e.watch(o,()=>{a.autoResize&&C()},{immediate:!0}),e.watch(()=>a.autoResize,q=>{q&&C()}),(q,H)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(I.value)},[e.createElementVNode("textarea",e.mergeProps({id:p.value,ref_key:"textareaRef",ref:y,class:E.value,value:o.value,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,rows:t.autoResize?t.minRows:t.rows},{...D.value,...m.value},{onInput:d,onChange:$,onFocus:V,onBlur:F,onKeydown:O,onKeyup:G}),null,16,Dt)],2),t.showCounter&&t.maxLength?(e.openBlock(),e.createElementBlock("div",zt,[H[0]||(H[0]=e.createElementVNode("div",{class:"su-textarea-footer-spacer"},null,-1)),e.createElementVNode("div",{id:`${p.value}-counter`,class:e.normalizeClass(b.value),"aria-live":g.value||k.value?"polite":"off"},[e.createElementVNode("span",It,e.toDisplayString(k.value?"Limite de caractères dépassée":"Caractères restants")+": ",1),e.createTextVNode(" "+e.toDisplayString(i.value)+"/"+e.toDisplayString(t.maxLength),1)],10,St)])):e.createCommentVNode("",!0)]))}}),Lt=["dir"],Mt=["id","tabindex"],Ft={class:"su-select-content"},At={key:0,class:"su-select-tags"},Rt={class:"su-select-tag-label"},qt=["aria-label","onClick"],Pt={key:0,class:"su-select-tag su-select-tag--more"},Tt={key:1,class:"su-select-display"},vt={class:"su-select-display-text"},Ht={class:"su-select-actions"},Kt={key:0,class:"su-select-spinner"},Ot=["id","aria-multiselectable"],Ut={key:0,class:"su-select-search"},jt={class:"su-select-search-container"},Gt=["placeholder","value"],Zt=["aria-label"],Wt=["aria-selected","aria-disabled","onClick","onMouseenter"],Yt={key:0,class:"su-select-option-checkbox"},Xt={class:"su-select-option-content"},Qt={class:"su-select-option-label"},Jt={key:0,class:"su-select-option-description"},_t={key:1,class:"su-select-no-options"},ye=e.defineComponent({inheritAttrs:!1,__name:"SelectBox",props:e.mergeModels({options:{default:()=>[]},groups:{default:()=>[]},multiple:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},placeholder:{default:"Sélectionnez une option..."},searchPlaceholder:{default:"Rechercher..."},noOptionsText:{default:"Aucune option disponible"},noResultsText:{default:"Aucun résultat trouvé"},maxHeight:{default:"200px"},textAlign:{default:"left"},dir:{default:"auto"},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},maxSelectedItems:{default:void 0},closeOnSelect:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","open","close","search","focus","blur"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y="selectbox-"+e.useId(),p=e.ref(),r=e.ref(),i=e.ref(),f=e.ref(),g=e.ref(!1),k=e.ref(""),I=e.ref(-1),E=e.ref(null),b=e.computed(()=>x.id||y),m=e.computed(()=>`${b.value}-listbox`),D=e.computed(()=>a.groups&&a.groups.length>0?a.groups.flatMap(z=>z.options.map(u=>({...u,group:z.label}))):a.options||[]),C=e.computed(()=>{if(!a.searchable||!k.value)return D.value;const z=k.value.toLowerCase();return D.value.filter(u=>u.label.toLowerCase().includes(z)||u.description&&u.description.toLowerCase().includes(z))}),d=e.computed(()=>{const z={};return C.value.forEach(u=>{const h=u.group||"";z[h]||(z[h]=[]),z[h].push(u)}),z}),$=e.computed({get(){return a.multiple?Array.isArray(o.value)?o.value:o.value!==void 0&&o.value!==null?[o.value]:[]:o.value},set(z){o.value=z,s("change",z)}}),V=e.computed(()=>{if(a.multiple){const z=$.value;return z?D.value.filter(u=>z.includes(u.value)):[]}else{const z=$.value;return z!=null?D.value.filter(u=>u.value===z):[]}}),F=e.computed(()=>{var z;return V.value.length===0?a.placeholder:a.multiple?V.value.length===1?V.value[0].label:`${V.value.length} éléments sélectionnés`:((z=V.value[0])==null?void 0:z.label)||a.placeholder}),O=e.computed(()=>["su-select-container",`su-select-container--${a.size}`,`su-select-container--${a.state}`,{"su-select-container--disabled":a.disabled,"su-select-container--readonly":a.readonly,"su-select-container--open":g.value,"su-select-container--multiple":a.multiple,"su-select-container--rtl":a.dir==="rtl"}]),G=e.computed(()=>["su-select-trigger",`su-select-trigger--${a.size}`,`su-select-trigger--${a.state}`,`su-select-trigger--align-${a.textAlign}`,{"su-select-trigger--disabled":a.disabled,"su-select-trigger--readonly":a.readonly,"su-select-trigger--open":g.value,"su-select-trigger--has-value":V.value.length>0,"su-select-trigger--placeholder":V.value.length===0}]),U=e.computed(()=>{const z={"aria-haspopup":"listbox","aria-expanded":g.value,"aria-controls":g.value?m.value:void 0,role:"combobox"};return a.ariaLabel&&(z["aria-label"]=a.ariaLabel),a.ariaInvalid!==void 0&&(z["aria-invalid"]=a.ariaInvalid),a.ariaRequired!==void 0&&(z["aria-required"]=a.ariaRequired),a.required&&(z["aria-required"]="true"),a.state==="error"&&(z["aria-invalid"]="true"),a.multiple&&(z["aria-multiselectable"]="true"),z}),j=()=>{a.disabled||a.readonly||(g.value?H():q())},q=async()=>{a.disabled||a.readonly||(g.value=!0,k.value="",I.value=-1,s("open"),await e.nextTick(),a.searchable&&f.value&&f.value.focus(),i.value&&(E.value=te(i.value)))},H=()=>{g.value=!1,I.value=-1,E.value&&(E.value(),E.value=null),s("close"),r.value&&r.value.focus()},R=z=>{if(z.disabled)return;let u;if(a.multiple){const w=$.value||[];if(w.includes(z.value))u=w.filter(M=>M!==z.value);else{if(a.maxSelectedItems&&w.length>=a.maxSelectedItems){W(`Maximum ${a.maxSelectedItems} éléments sélectionnables`);return}u=[...w,z.value]}}else u=z.value;$.value=u;const h=a.multiple&&$.value.includes(z.value)?"désélectionné":"sélectionné";W(`${z.label} ${h}`),!a.multiple&&a.closeOnSelect&&H()},K=z=>{z.stopPropagation();const u=a.multiple?[]:void 0;$.value=u,W("Sélection effacée")},Z=(z,u)=>{if(u.stopPropagation(),a.multiple){const w=($.value||[]).filter(P=>P!==z.value);$.value=w,W(`${z.label} retiré de la sélection`)}},v=z=>{const u=z.target;k.value=u.value,I.value=-1,s("search",k.value)},Y=z=>{switch(z.key){case"Enter":case" ":if(z.preventDefault(),!g.value)q();else if(I.value>=0){const u=C.value[I.value];u&&R(u)}break;case"Escape":z.preventDefault(),H();break;case"ArrowDown":z.preventDefault(),g.value?I.value=Math.min(I.value+1,C.value.length-1):q();break;case"ArrowUp":z.preventDefault(),g.value&&(I.value=Math.max(I.value-1,-1));break;case"Home":g.value&&(z.preventDefault(),I.value=0);break;case"End":g.value&&(z.preventDefault(),I.value=C.value.length-1);break;case"Tab":g.value&&H();break}},N=z=>{s("focus",z)},c=z=>{setTimeout(()=>{g.value&&p.value&&!p.value.contains(document.activeElement)&&(H(),s("blur",z))},0)},B=z=>{g.value&&p.value&&!p.value.contains(z.target)&&H()};return n({focus:()=>{var z;(z=r.value)==null||z.focus()},open:()=>{q()},close:()=>{H()},selectRef:p,inputRef:r}),e.onMounted(()=>{document.addEventListener("click",B,{passive:!0})}),e.onUnmounted(()=>{document.removeEventListener("click",B,{passive:!0}),E.value&&E.value()}),e.watch(o,()=>{I.value=-1}),(z,u)=>{var h;return e.openBlock(),e.createElementBlock("div",{class:"su-select-wrapper",dir:t.dir},[e.createElementVNode("div",{ref_key:"selectRef",ref:p,class:e.normalizeClass(O.value)},[e.createElementVNode("div",e.mergeProps({id:b.value,ref_key:"inputRef",ref:r,class:G.value,tabindex:t.disabled?-1:0},U.value,{onClick:j,onKeydown:Y,onFocus:N,onBlur:c}),[e.createElementVNode("div",Ft,[t.multiple&&V.value.length>0?(e.openBlock(),e.createElementBlock("div",At,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value.slice(0,3),w=>(e.openBlock(),e.createElementBlock("span",{key:w.value,class:"su-select-tag"},[w.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w.icon),{key:0,class:"su-select-tag-icon","aria-hidden":"true"})):e.createCommentVNode("",!0),e.createElementVNode("span",Rt,e.toDisplayString(w.label),1),e.createElementVNode("button",{type:"button",class:"su-select-tag-remove","aria-label":`Retirer ${w.label}`,onClick:P=>Z(w,P)},[e.createVNode(e.unref(_),{class:"su-select-tag-remove-icon"})],8,qt)]))),128)),V.value.length>3?(e.openBlock(),e.createElementBlock("span",Pt," +"+e.toDisplayString(V.value.length-3),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Tt,[(h=V.value[0])!=null&&h.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V.value[0].icon),{key:0,class:"su-select-display-icon","aria-hidden":"true"})):e.createCommentVNode("",!0),e.createElementVNode("span",vt,e.toDisplayString(F.value),1)]))]),e.createElementVNode("div",Ht,[t.loading?(e.openBlock(),e.createElementBlock("div",Kt,[...u[0]||(u[0]=[e.createElementVNode("svg",{class:"su-spinner",viewBox:"0 0 24 24","aria-hidden":"true"},[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor","stroke-width":"2"}),e.createElementVNode("path",{d:"M12 2a10 10 0 0 1 10 10",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):t.clearable&&V.value.length>0&&!t.disabled&&!t.readonly?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"su-select-clear","aria-label":"Effacer la sélection",onClick:K},[e.createVNode(e.unref(_),{class:"su-select-clear-icon"})])):e.createCommentVNode("",!0),e.createVNode(e.unref(ce),{class:e.normalizeClass(["su-select-chevron",{"su-select-chevron--open":g.value}]),"aria-hidden":"true"},null,8,["class"])])],16,Mt),e.createVNode(e.Transition,{name:"su-select-dropdown"},{default:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:m.value,ref_key:"dropdownRef",ref:i,class:"su-select-dropdown",role:"listbox","aria-multiselectable":t.multiple},[t.searchable?(e.openBlock(),e.createElementBlock("div",Ut,[e.createElementVNode("div",jt,[e.createVNode(e.unref(Aa),{class:"su-select-search-icon","aria-hidden":"true"}),e.createElementVNode("input",{ref_key:"searchInputRef",ref:f,type:"text",class:"su-select-search-input",placeholder:t.searchPlaceholder,value:k.value,onInput:v,onKeydown:Y},null,40,Gt)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"su-select-options",style:e.normalizeStyle({maxHeight:t.maxHeight})},[C.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(d.value,(w,P)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:P},[P&&a.groups&&a.groups.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"su-select-group-header",role:"group","aria-label":P},e.toDisplayString(P),9,Zt)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w,M=>(e.openBlock(),e.createElementBlock("div",{key:M.value,class:e.normalizeClass(["su-select-option",{"su-select-option--selected":t.multiple?$.value.includes(M.value):$.value===M.value,"su-select-option--disabled":M.disabled,"su-select-option--focused":C.value.indexOf(M)===I.value}]),role:"option","aria-selected":t.multiple?$.value.includes(M.value):$.value===M.value,"aria-disabled":M.disabled,onClick:X=>R(M),onMouseenter:X=>I.value=C.value.indexOf(M)},[t.multiple?(e.openBlock(),e.createElementBlock("div",Yt,[e.createElementVNode("div",{class:e.normalizeClass(["su-select-checkbox",{"su-select-checkbox--checked":$.value.includes(M.value)}])},[$.value.includes(M.value)?(e.openBlock(),e.createBlock(e.unref(le),{key:0,class:"su-select-checkbox-icon","aria-hidden":"true"})):e.createCommentVNode("",!0)],2)])):e.createCommentVNode("",!0),M.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.icon),{key:1,class:"su-select-option-icon","aria-hidden":"true"})):e.createCommentVNode("",!0),e.createElementVNode("div",Xt,[e.createElementVNode("div",Qt,e.toDisplayString(M.label),1),M.description?(e.openBlock(),e.createElementBlock("div",Jt,e.toDisplayString(M.description),1)):e.createCommentVNode("",!0)]),!t.multiple&&$.value===M.value?(e.openBlock(),e.createBlock(e.unref(le),{key:2,class:"su-select-option-check","aria-hidden":"true"})):e.createCommentVNode("",!0)],42,Wt))),128))],64))),128)):(e.openBlock(),e.createElementBlock("div",_t,e.toDisplayString(k.value?t.noResultsText:t.noOptionsText),1))],4)],8,Ot)):e.createCommentVNode("",!0)]),_:1})],2)],8,Lt)}}}),el={key:0,class:"su-radio-group-before"},al=["for"],tl=["id","name","value","checked","disabled","required","onChange"],ll={class:"su-radio-content"},ol={class:"su-radio-text"},nl={class:"su-radio-label"},sl={key:0,class:"su-radio-description"},rl={key:0,class:"su-radio-group-after"},he=e.defineComponent({inheritAttrs:!1,__name:"RadioGroup",props:e.mergeModels({options:{default:()=>[]},value:{},name:{},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},displayType:{default:"default"},label:{},message:{},direction:{default:"vertical"},maxHeight:{default:null},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const l=t,a=e.useModel(t,"modelValue"),o=n,s=e.useAttrs(),x="radio-group-"+e.useId(),y=e.computed(()=>s.id||x),p=e.computed(()=>l.name||x),r=e.computed(()=>["su-radio-group",`su-radio-group--${l.size}`,`su-radio-group--${l.state}`,`su-radio-group--${l.displayType}`,`su-radio-group--${l.direction}`,{"su-radio-group--disabled":l.disabled,"su-radio-group--scrollable":l.maxHeight}]),i=E=>["su-radio-option",`su-radio-option--${l.size}`,`su-radio-option--${l.state}`,`su-radio-option--${l.displayType}`,{"su-radio-option--selected":a.value===E.value,"su-radio-option--disabled":E.disabled||l.disabled}],f=e.computed(()=>{const E={role:"radiogroup"};if(l.ariaLabel&&(E["aria-label"]=l.ariaLabel),l.ariaDescribedBy){const b=[l.ariaDescribedBy].filter(Boolean).join(" ");E["aria-describedby"]=b}return l.required&&(E["aria-required"]="true"),l.state==="error"&&(E["aria-invalid"]="true"),E}),g=E=>{l.disabled||(a.value=E,o("change",E))},k=E=>{o("focus",E)},I=E=>{o("blur",E)};return(E,b)=>(e.openBlock(),e.createElementBlock("fieldset",e.mergeProps({class:r.value},f.value),[e.createElementVNode("div",{class:"su-radio-group-options",style:e.normalizeStyle({maxHeight:t.maxHeight||void 0,overflowY:t.maxHeight?"auto":void 0})},[E.$slots.before?(e.openBlock(),e.createElementBlock("div",el,[e.renderSlot(E.$slots,"before")])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,m=>(e.openBlock(),e.createElementBlock("label",{key:m.value,class:e.normalizeClass(i(m)),for:`${y.value}-${m.value}`},[e.createElementVNode("input",{id:`${y.value}-${m.value}`,type:"radio",name:p.value,value:m.value,checked:a.value===m.value,disabled:m.disabled||t.disabled,required:t.required,class:"su-radio-input",onChange:D=>g(m.value),onFocus:k,onBlur:I},null,40,tl),b[0]||(b[0]=e.createElementVNode("div",{class:"su-radio-indicator"},[e.createElementVNode("div",{class:"su-radio-dot"})],-1)),e.createElementVNode("div",ll,[m.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.icon),{key:0,class:"su-radio-icon","aria-hidden":"true"})):e.createCommentVNode("",!0),e.createElementVNode("div",ol,[e.createElementVNode("div",nl,e.toDisplayString(m.label),1),m.description?(e.openBlock(),e.createElementBlock("div",sl,e.toDisplayString(m.description),1)):e.createCommentVNode("",!0)])])],10,al))),128))],4),E.$slots.after?(e.openBlock(),e.createElementBlock("div",rl,[e.renderSlot(E.$slots,"after")])):e.createCommentVNode("",!0)],16))}}),il={key:0,class:"su-checkbox-group-before"},dl=["for"],cl=["id","value","checked","disabled","required","onChange"],ul={class:"su-checkbox-content"},ml={class:"su-checkbox-text"},fl={class:"su-checkbox-label"},pl={key:0,class:"su-checkbox-group-after"},ke=e.defineComponent({inheritAttrs:!1,__name:"CheckboxGroup",props:e.mergeModels({options:{default:()=>[]},value:{},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},displayType:{default:"default"},label:{},message:{},direction:{default:"vertical"},maxSelections:{},maxHeight:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const l=t,a=e.useModel(t,"modelValue"),o=n,s=e.useAttrs(),x="checkbox-group-"+e.useId(),y=e.computed(()=>s.id||x),p=e.computed({get(){return Array.isArray(a.value)?a.value:[]},set(m){a.value=m,o("change",m)}}),r=e.computed(()=>["su-checkbox-group",`su-checkbox-group--${l.size}`,`su-checkbox-group--${l.state}`,`su-checkbox-group--${l.displayType}`,`su-checkbox-group--${l.direction}`,{"su-checkbox-group--disabled":l.disabled,"su-checkbox-group--scrollable":l.maxHeight}]),i=m=>["su-checkbox-option",`su-checkbox-option--${l.size}`,`su-checkbox-option--${l.state}`,`su-checkbox-option--${l.displayType}`,{"su-checkbox-option--selected":p.value.includes(m.value),"su-checkbox-option--disabled":m.disabled||l.disabled}],f=e.computed(()=>{const m={role:"group"};if(l.ariaLabel&&(m["aria-label"]=l.ariaLabel),l.ariaDescribedBy){const D=[l.ariaDescribedBy].filter(Boolean).join(" ");m["aria-describedby"]=D}return l.required&&(m["aria-required"]="true"),l.state==="error"&&(m["aria-invalid"]="true"),m}),g=(m,D)=>{if(l.disabled)return;let C;if(D){if(l.maxSelections&&p.value.length>=l.maxSelections){W(`Maximum ${l.maxSelections} sélections autorisées`);return}C=[...p.value,m]}else C=p.value.filter(V=>V!==m);p.value=C;const d=l.options.find(V=>V.value===m),$=D?"sélectionné":"désélectionné";W(`${d==null?void 0:d.label} ${$}`)},k=m=>{o("focus",m)},I=m=>{o("blur",m)},E=m=>p.value.includes(m),b=m=>m.disabled||l.disabled;return(m,D)=>(e.openBlock(),e.createElementBlock("fieldset",e.mergeProps({class:r.value},f.value),[e.createElementVNode("div",{class:"su-checkbox-group-options",style:e.normalizeStyle({maxHeight:t.maxHeight||void 0,overflowY:t.maxHeight?"auto":void 0})},[m.$slots.before?(e.openBlock(),e.createElementBlock("div",il,[e.renderSlot(m.$slots,"before")])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,C=>(e.openBlock(),e.createElementBlock("label",{key:C.value,class:e.normalizeClass(i(C)),for:`${y.value}-${C.value}`},[e.createElementVNode("input",{id:`${y.value}-${C.value}`,type:"checkbox",value:C.value,checked:E(C.value),disabled:b(C),required:t.required&&p.value.length===0,class:"su-checkbox-input",onChange:d=>g(C.value,d.target.checked),onFocus:k,onBlur:I},null,40,cl),e.createElementVNode("div",{class:e.normalizeClass(["su-checkbox-indicator",{"su-checkbox-indicator--checked":E(C.value),"su-checkbox-indicator--indeterminate":!1}])},[E(C.value)?(e.openBlock(),e.createBlock(e.unref(le),{key:0,class:"su-checkbox-check","aria-hidden":"true"})):e.createCommentVNode("",!0)],2),e.createElementVNode("div",ul,[C.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.icon),{key:0,class:"su-checkbox-icon","aria-hidden":"true"})):e.createCommentVNode("",!0),e.createElementVNode("div",ml,[e.createElementVNode("div",fl,e.toDisplayString(C.label),1)])])],10,dl))),128))],4),m.$slots.after?(e.openBlock(),e.createElementBlock("div",pl,[e.renderSlot(m.$slots,"after")])):e.createCommentVNode("",!0)],16))}}),bl=["id","accept","multiple","disabled","required"],yl=["tabindex","aria-label","aria-busy"],hl={key:0,class:"su-file-upload-loading","aria-hidden":"true"},kl={class:"su-file-upload-text"},gl={class:"su-file-upload-primary-text"},Bl={class:"su-file-upload-secondary-text"},xl={key:0},$l={key:0},wl={key:1},Cl=["aria-label"],Vl={class:"su-file-upload-item-preview"},El=["src","alt"],Nl={class:"su-file-upload-item-info"},Dl={class:"su-file-upload-item-name"},zl={class:"su-file-upload-item-details"},Sl={class:"su-file-upload-item-size"},Il={key:0,class:"su-file-upload-item-progress"},Ll={key:1,class:"su-file-upload-item-error"},Ml={class:"su-file-upload-item-status"},Fl={key:2,class:"su-file-upload-spinner","aria-hidden":"true"},Al=["aria-label","onClick"],Rl=["aria-valuenow","aria-label"],Ue=e.defineComponent({__name:"FileUpload",props:e.mergeModels({value:{},variant:{default:"default"},multiple:{type:Boolean,default:!1},accept:{},maxSize:{default:10*1024*1024},maxFiles:{default:5},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},label:{},message:{},placeholder:{default:"Sélectionnez des fichiers ou glissez-les ici"},dragText:{default:"Relâchez pour déposer les fichiers"},browseText:{default:"Parcourir"},allowPreview:{type:Boolean,default:!0},showFileList:{type:Boolean,default:!0},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},showProgress:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:e.mergeModels(["change","upload","remove","error","focus","blur"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y=e.ref(),p=e.ref(),r=e.ref(!1),i=e.ref(0),f=e.computed(()=>x.id||void 0),g=e.computed(()=>Array.isArray(o.value)?o.value:[]),k=e.computed(()=>["su-file-upload-container",`su-file-upload-container--${a.variant}`,`su-file-upload-container--${a.size}`,`su-file-upload-container--${a.state}`,{"su-file-upload-container--disabled":a.disabled,"su-file-upload-container--readonly":a.readonly,"su-file-upload-container--dragging":r.value,"su-file-upload-container--has-files":g.value.length>0}]),I=e.computed(()=>["su-file-upload-dropzone",`su-file-upload-dropzone--${a.variant}`,`su-file-upload-dropzone--${a.size}`,`su-file-upload-dropzone--${a.state}`,{"su-file-upload-dropzone--disabled":a.disabled,"su-file-upload-dropzone--readonly":a.readonly,"su-file-upload-dropzone--dragging":r.value}]),E=e.computed(()=>{const N={};if(a.ariaLabel&&(N["aria-label"]=a.ariaLabel),a.ariaDescribedBy){const c=[a.ariaDescribedBy].filter(Boolean).join(" ");N["aria-describedby"]=c}return a.ariaInvalid!==void 0&&(N["aria-invalid"]=a.ariaInvalid),a.ariaRequired!==void 0&&(N["aria-required"]=a.ariaRequired),a.required&&(N["aria-required"]="true"),a.state==="error"&&(N["aria-invalid"]="true"),N}),b=N=>{if(N===0)return"0 B";const c=1024,B=["B","KB","MB","GB"],L=Math.floor(Math.log(N)/Math.log(c));return parseFloat((N/Math.pow(c,L)).toFixed(1))+" "+B[L]},m=N=>N.type.startsWith("image/")?Fe:Le,D=N=>`${N}-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,C=N=>N.type.startsWith("image/"),d=N=>new Promise(c=>{if(!C(N)){c("");return}const B=new FileReader;B.onload=L=>{var A;return c(((A=L.target)==null?void 0:A.result)||"")},B.readAsDataURL(N)}),$=N=>a.maxSize&&N.size>a.maxSize?`Le fichier "${N.name}" est trop volumineux (${b(N.size)}). Taille maximale : ${b(a.maxSize)}`:a.accept&&!a.accept.split(",").map(L=>L.trim()).some(L=>{if(L.startsWith("."))return N.name.toLowerCase().endsWith(L.toLowerCase());if(L.includes("*")){const A=L.split("/")[0];return N.type.startsWith(A)}return N.type===L})?`Le type de fichier "${N.type}" n'est pas accepté pour "${N.name}"`:null,V=async N=>{if(a.disabled||a.readonly)return;const c=Array.from(N),B=g.value;if(a.maxFiles&&B.length+c.length>a.maxFiles){const A=`Nombre maximum de fichiers dépassé (${a.maxFiles})`;s("error",A),W(A,"assertive");return}const L=[];for(const A of c){const S=$(A);if(S){s("error",S,A),W(S,"assertive");continue}const z={id:D("file"),file:A,name:A.name,size:A.size,type:A.type,status:"pending"};if(a.allowPreview&&C(A))try{z.preview=await d(A)}catch(u){console.warn("Erreur lors de la création de l'aperçu:",u)}L.push(z)}if(L.length>0){const A=a.multiple?[...B,...L]:L;o.value=A,s("change",A);const S=L.length===1?`Fichier "${L[0].name}" ajouté`:`${L.length} fichiers ajoutés`;W(S),L.forEach(z=>s("upload",z))}},F=N=>{if(a.disabled||a.readonly)return;const c=g.value.filter(B=>B.id!==N.id);o.value=c,s("change",c),s("remove",N),W(`Fichier "${N.name}" supprimé`)},O=N=>{const c=N.target;c.files&&c.files.length>0&&V(c.files),c.value=""},G=()=>{var N;a.disabled||a.readonly||(N=y.value)==null||N.click()},U=N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),G())},j=N=>{s("focus",N)},q=N=>{s("blur",N)},H=N=>{N.preventDefault(),N.stopPropagation(),!(a.disabled||a.readonly)&&(i.value++,i.value===1&&(r.value=!0))},R=N=>{N.preventDefault(),N.stopPropagation(),!(a.disabled||a.readonly)&&(i.value--,i.value===0&&(r.value=!1))},K=N=>{N.preventDefault(),N.stopPropagation(),!(a.disabled||a.readonly)&&N.dataTransfer&&(N.dataTransfer.dropEffect="copy")},Z=N=>{var B;if(N.preventDefault(),N.stopPropagation(),a.disabled||a.readonly)return;r.value=!1,i.value=0;const c=(B=N.dataTransfer)==null?void 0:B.files;c&&c.length>0&&V(c)};return n({focus:()=>{var N;(N=p.value)==null||N.focus()},clear:()=>{a.disabled||a.readonly||(o.value=[],s("change",[]),W("Tous les fichiers ont été supprimés"))},fileInputRef:y,dropZoneRef:p}),(N,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(k.value)},[e.createElementVNode("input",e.mergeProps({id:f.value,ref_key:"fileInputRef",ref:y,type:"file",accept:t.accept,multiple:t.multiple,disabled:t.disabled,required:t.required,class:"su-file-upload-input"},E.value,{onChange:O,onFocus:j,onBlur:q}),null,16,bl),e.createElementVNode("div",{ref_key:"dropZoneRef",ref:p,class:e.normalizeClass(I.value),tabindex:t.disabled?-1:0,role:"button","aria-label":t.placeholder,"aria-busy":t.loading,onClick:G,onKeydown:U,onDragenter:H,onDragleave:R,onDragover:K,onDrop:Z},[e.createVNode(e.unref(Ie),{class:e.normalizeClass(["su-file-upload-icon",{"su-file-upload-icon--dragging":r.value}]),"aria-hidden":"true"},null,8,["class"]),t.loading?(e.openBlock(),e.createElementBlock("div",hl,[...c[0]||(c[0]=[e.createElementVNode("svg",{class:"su-spinner",viewBox:"0 0 24 24"},[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor","stroke-width":"2"}),e.createElementVNode("path",{d:"M12 2a10 10 0 0 1 10 10",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",kl,[e.createElementVNode("p",gl,e.toDisplayString(t.loading?"Chargement...":r.value?t.dragText:t.placeholder),1),e.createElementVNode("p",Bl,[e.createTextVNode(e.toDisplayString(t.loading?"Veuillez patienter":t.browseText)+" ",1),t.accept||t.maxSize?(e.openBlock(),e.createElementBlock("span",xl,[t.accept?(e.openBlock(),e.createElementBlock("span",$l," • "+e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0),t.maxSize?(e.openBlock(),e.createElementBlock("span",wl," • Max "+e.toDisplayString(b(t.maxSize)),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])],42,yl),t.showFileList&&g.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"su-file-upload-list",role:"list","aria-label":`${g.value.length} fichier(s) sélectionné(s)`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,B=>(e.openBlock(),e.createElementBlock("div",{key:B.id,class:e.normalizeClass(["su-file-upload-item",`su-file-upload-item--${B.status}`]),role:"listitem"},[e.createElementVNode("div",Vl,[B.preview?(e.openBlock(),e.createElementBlock("img",{key:0,src:B.preview,alt:`Aperçu de ${B.name}`,class:"su-file-upload-preview-image"},null,8,El)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m(B.file)),{key:1,class:"su-file-upload-item-icon","aria-hidden":"true"}))]),e.createElementVNode("div",Nl,[e.createElementVNode("div",Dl,e.toDisplayString(B.name),1),e.createElementVNode("div",zl,[e.createElementVNode("span",Sl,e.toDisplayString(b(B.size)),1),B.status==="uploading"&&B.progress!==void 0?(e.openBlock(),e.createElementBlock("span",Il,e.toDisplayString(B.progress)+"% ",1)):e.createCommentVNode("",!0),B.error?(e.openBlock(),e.createElementBlock("span",Ll,e.toDisplayString(B.error),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Ml,[B.status==="success"?(e.openBlock(),e.createBlock(e.unref(de),{key:0,class:"su-file-upload-status-icon su-file-upload-status-icon--success","aria-hidden":"true"})):B.status==="error"?(e.openBlock(),e.createBlock(e.unref(ue),{key:1,class:"su-file-upload-status-icon su-file-upload-status-icon--error","aria-hidden":"true"})):B.status==="uploading"?(e.openBlock(),e.createElementBlock("div",Fl,[...c[1]||(c[1]=[e.createElementVNode("svg",{class:"su-spinner",viewBox:"0 0 24 24"},[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor","stroke-width":"2"}),e.createElementVNode("path",{d:"M12 2a10 10 0 0 1 10 10",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):e.createCommentVNode("",!0)]),!t.disabled&&!t.readonly?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"su-file-upload-remove-button","aria-label":`Supprimer ${B.name}`,onClick:L=>F(B)},[e.createVNode(e.unref(_),{class:"su-file-upload-remove-icon","aria-hidden":"true"})],8,Al)):B.status==="uploading"&&t.showProgress?(e.openBlock(),e.createElementBlock("div",{key:1,class:"su-file-upload-progress-bar",role:"progressbar","aria-valuenow":B.progress||0,"aria-valuemin":"0","aria-valuemax":"100","aria-label":`Upload de ${B.name}: ${B.progress||0}%`},[e.createElementVNode("div",{class:"su-file-upload-progress-fill",style:e.normalizeStyle({width:`${B.progress||0}%`})},null,4)],8,Rl)):e.createCommentVNode("",!0)],2))),128))],8,Cl)):e.createCommentVNode("",!0)],2))}}),ql=["id","tabindex"],Pl={class:"su-switch-track"},Tl={class:"su-switch-thumb"},vl={class:"su-switch-indicator"},ge=e.defineComponent({inheritAttrs:!1,__name:"Switch",props:e.mergeModels({leftLabel:{},rightLabel:{},leftIcon:{},rightIcon:{},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur","keydown"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y=e.computed(()=>x.id||void 0),p=e.ref(),r=e.computed(()=>["su-switch-container",`su-switch-container--${a.size}`,`su-switch-container--${a.state}`,{"su-switch-container--disabled":a.disabled,"su-switch-container--readonly":a.readonly,"su-switch-container--has-labels":a.leftLabel||a.rightLabel,"su-switch-container--centered":a.leftLabel&&a.rightLabel}]),i=e.computed(()=>["su-switch",`su-switch--${a.size}`,`su-switch--${a.state}`,{"su-switch--checked":o.value,"su-switch--disabled":a.disabled,"su-switch--readonly":a.readonly}]),f=e.computed(()=>{const b={role:"switch","aria-checked":o.value};return a.ariaLabel&&(b["aria-label"]=a.ariaLabel),a.ariaInvalid!==void 0&&(b["aria-invalid"]=a.ariaInvalid),a.ariaRequired!==void 0&&(b["aria-required"]=a.ariaRequired),a.required&&(b["aria-required"]="true"),a.state==="error"&&(b["aria-invalid"]="true"),b}),g=()=>{if(a.disabled||a.readonly)return;const b=!o.value;o.value=b,s("change",b)},k=b=>{["Enter"," "].includes(b.key)&&(b.preventDefault(),g()),s("keydown",b)},I=b=>s("focus",b),E=b=>s("blur",b);return n({switchRef:p,handleToggle:g}),(b,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[t.leftLabel?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["su-switch-side-label su-switch-side-label--left",{"su-switch-side-label--active":!o.value,"su-switch-side-label--disabled":t.disabled}])},e.toDisplayString(t.leftLabel),3)):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({id:y.value,ref_key:"switchRef",ref:p,class:i.value,tabindex:t.disabled?-1:0},f.value,{onClick:g,onKeydown:k,onFocus:I,onBlur:E}),[e.createElementVNode("div",Pl,[e.createElementVNode("div",Tl,[e.createElementVNode("div",vl,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value?t.rightIcon||e.unref(le):t.leftIcon||e.unref(_)),{class:e.normalizeClass(["su-switch-icon",`su-switch-icon--${o.value?"check":"cross"}`]),"aria-hidden":"true"},null,8,["class"]))])])])],16,ql),t.rightLabel?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["su-switch-side-label su-switch-side-label--right",{"su-switch-side-label--active":o.value,"su-switch-side-label--disabled":t.disabled}])},e.toDisplayString(t.rightLabel),3)):e.createCommentVNode("",!0)],2))}}),Hl={key:0,class:"su-slider-before"},Kl={key:1,class:"su-slider-labels"},Ol={class:"su-slider-label su-slider-label--min"},Ul={class:"su-slider-label su-slider-label--max"},jl={class:"su-slider-wrapper"},Gl={key:0,class:"su-slider-value"},Zl={key:0,class:"su-slider-value-display"},Wl={key:1,class:"su-slider-value-dual"},Yl={class:"su-slider-value-min"},Xl={class:"su-slider-value-max"},Ql={key:0,class:"su-slider-ticks"},Jl={key:1,class:"su-slider-marks"},_l={class:"su-slider-mark-label"},eo=["id","tabindex"],ao=["id","tabindex"],to={key:2,class:"su-slider-after"},je=e.defineComponent({__name:"Slider",props:e.mergeModels({min:{default:0},max:{default:100},step:{default:1},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},orientation:{default:"horizontal"},tooltip:{default:"none"},marks:{default:()=>[]},showValue:{type:Boolean,default:!0},showTicks:{type:Boolean,default:!1},showLabels:{type:Boolean,default:!1},formatValue:{},label:{},message:{},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},role:{},tabIndex:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","input","focus","blur","keydown"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y=e.ref(),p=e.ref(),r=e.ref(),i=e.ref(),f=e.ref(!1),g=e.ref(null),k=e.ref(!1),I=e.ref(!1),E="slider-"+e.useId(),b=e.computed(()=>x.id||E),m=e.computed(()=>Array.isArray(o.value)),D=e.computed({get(){return o.value===void 0||o.value===null?a.min:o.value},set(u){o.value=u,s("change",u),s("input",u)}}),C=e.computed(()=>m.value?D.value[0]:D.value),d=e.computed(()=>m.value?D.value[1]:D.value),$=u=>a.formatValue?a.formatValue(u):u.toString(),V=e.computed(()=>(C.value-a.min)/(a.max-a.min)*100),F=e.computed(()=>(d.value-a.min)/(a.max-a.min)*100),O=e.computed(()=>["su-slider-container",`su-slider-container--${a.size}`,`su-slider-container--${a.state}`,`su-slider-container--${a.orientation}`,{"su-slider-container--disabled":a.disabled,"su-slider-container--readonly":a.readonly,"su-slider-container--dual":m.value,"su-slider-container--dragging":f.value}]),G=e.computed(()=>["su-slider-track",`su-slider-track--${a.size}`,`su-slider-track--${a.state}`,`su-slider-track--${a.orientation}`]),U=u=>["su-slider-thumb",`su-slider-thumb--${a.size}`,`su-slider-thumb--${a.state}`,`su-slider-thumb--${a.orientation}`,{"su-slider-thumb--disabled":a.disabled,"su-slider-thumb--readonly":a.readonly,"su-slider-thumb--active":g.value===u}],j=u=>{const h=u==="min"?C.value:d.value,w={role:"slider","aria-valuemin":a.min,"aria-valuemax":a.max,"aria-valuenow":h,"aria-valuetext":a.ariaValueText||$(h),"aria-orientation":a.orientation};return a.ariaLabel&&(w["aria-label"]=m.value?`${a.ariaLabel} ${u==="min"?"minimum":"maximum"}`:a.ariaLabel),a.ariaInvalid!==void 0&&(w["aria-invalid"]=a.ariaInvalid),a.ariaRequired!==void 0&&(w["aria-required"]=a.ariaRequired),a.required&&(w["aria-required"]="true"),a.state==="error"&&(w["aria-invalid"]="true"),w},q=u=>Math.max(a.min,Math.min(a.max,u)),H=u=>{const h=Math.round((u-a.min)/a.step);return a.min+h*a.step},R=(u,h)=>{if(!p.value)return a.min;const w=p.value.getBoundingClientRect();let P;a.orientation==="horizontal"?P=(u-w.left)/w.width:P=1-(h-w.top)/w.height,P=Math.max(0,Math.min(1,P));const M=a.min+P*(a.max-a.min);return H(q(M))},K=(u,h="min")=>{if(a.disabled||a.readonly)return;const w=q(H(u));if(m.value){const[M,X]=D.value;h==="min"?D.value=[Math.min(w,X),X]:D.value=[M,Math.max(w,M)]}else D.value=w;const P=m.value?`${h==="min"?"Minimum":"Maximum"} : ${$(w)}`:$(w);W(P)},Z=(u,h="min")=>{if(a.disabled||a.readonly)return;u.preventDefault(),f.value=!0,g.value=h;const w=M=>{const X=R(M.clientX,M.clientY);K(X,h)},P=()=>{f.value=!1,g.value=null,document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",P)};document.addEventListener("mousemove",w),document.addEventListener("mouseup",P)},v=u=>{if(a.disabled||a.readonly)return;const h=R(u.clientX,u.clientY);if(m.value){const[w,P]=D.value,M=Math.abs(h-w),X=Math.abs(h-P),Ne=M<=X?"min":"max";K(h,Ne)}else K(h)},Y=(u,h="min")=>{if(a.disabled||a.readonly)return;const w=h==="min"?C.value:d.value;let P=w;const M=(a.max-a.min)/10;switch(u.key){case"ArrowRight":case"ArrowUp":u.preventDefault(),P=w+a.step;break;case"ArrowLeft":case"ArrowDown":u.preventDefault(),P=w-a.step;break;case"PageUp":u.preventDefault(),P=w+M;break;case"PageDown":u.preventDefault(),P=w-M;break;case"Home":u.preventDefault(),P=a.min;break;case"End":u.preventDefault(),P=a.max;break;default:return}K(P,h),s("keydown",u)},N=(u,h="min")=>{a.tooltip!=="none"&&(h==="min"?k.value=!0:I.value=!0),s("focus",u)},c=(u,h="min")=>{a.tooltip!=="none"&&(h==="min"?k.value=!1:I.value=!1),s("blur",u)},B=(u="min")=>{a.tooltip!=="none"&&!a.disabled&&(u==="min"?k.value=!0:I.value=!0)},L=(u="min")=>{a.tooltip!=="none"&&(u==="min"?k.value=!1:I.value=!1)},A=e.computed(()=>{if(!a.showTicks)return[];const u=Math.min(21,(a.max-a.min)/a.step+1),h=(a.max-a.min)/(u-1);return Array.from({length:u},(w,P)=>{const M=a.min+P*h,X=(M-a.min)/(a.max-a.min)*100;return{value:H(M),percent:X}})}),S=e.computed(()=>!a.marks||a.marks.length===0?[]:a.marks.filter(u=>u>=a.min&&u<=a.max).map(u=>{const h=(u-a.min)/(a.max-a.min)*100;return{value:u,percent:h}}));return n({focus:()=>{var u;(u=r.value)==null||u.focus()},sliderRef:y,thumb1Ref:r,thumb2Ref:i}),(u,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(O.value)},[u.$slots.before?(e.openBlock(),e.createElementBlock("div",Hl,[e.renderSlot(u.$slots,"before")])):e.createCommentVNode("",!0),t.showLabels?(e.openBlock(),e.createElementBlock("div",Kl,[e.createElementVNode("span",Ol,e.toDisplayString($(t.min)),1),e.createElementVNode("span",Ul,e.toDisplayString($(t.max)),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",jl,[t.showValue&&t.tooltip==="none"?(e.openBlock(),e.createElementBlock("div",Gl,[m.value?(e.openBlock(),e.createElementBlock("div",Wl,[e.createElementVNode("span",Yl,e.toDisplayString($(C.value)),1),h[12]||(h[12]=e.createElementVNode("span",{class:"su-slider-value-separator"},"-",-1)),e.createElementVNode("span",Xl,e.toDisplayString($(d.value)),1)])):(e.openBlock(),e.createElementBlock("span",Zl,e.toDisplayString($(C.value)),1))])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"sliderRef",ref:y,class:"su-slider-slider","aria-describedby":"messageId",onClick:v},[e.createElementVNode("div",{ref_key:"trackRef",ref:p,class:e.normalizeClass(G.value)},[e.createElementVNode("div",{class:"su-slider-track-active",style:e.normalizeStyle({[t.orientation==="horizontal"?"left":"bottom"]:`${m.value?Math.min(V.value,F.value):0}%`,[t.orientation==="horizontal"?"width":"height"]:`${m.value?Math.abs(F.value-V.value):Math.abs(V.value)}%`})},null,4),t.showTicks?(e.openBlock(),e.createElementBlock("div",Ql,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.value,class:"su-slider-tick",style:e.normalizeStyle({[t.orientation==="horizontal"?"left":"bottom"]:`${w.percent}%`})},null,4))),128))])):e.createCommentVNode("",!0),S.value.length>0?(e.openBlock(),e.createElementBlock("div",Jl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.value,class:"su-slider-mark",style:e.normalizeStyle({[t.orientation==="horizontal"?"left":"bottom"]:`${w.percent}%`})},[h[13]||(h[13]=e.createElementVNode("div",{class:"su-slider-mark-dot"},null,-1)),e.createElementVNode("div",_l,e.toDisplayString($(w.value)),1)],4))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({id:m.value?`${b.value}-min`:b.value,ref_key:"thumb1Ref",ref:r,class:U("min"),style:{[t.orientation==="horizontal"?"left":"bottom"]:`${V.value}%`},tabindex:t.disabled?-1:0},j("min"),{onMousedown:h[0]||(h[0]=w=>Z(w,"min")),onKeydown:h[1]||(h[1]=w=>Y(w,"min")),onFocus:h[2]||(h[2]=w=>N(w,"min")),onBlur:h[3]||(h[3]=w=>c(w,"min")),onMouseenter:h[4]||(h[4]=w=>B("min")),onMouseleave:h[5]||(h[5]=w=>L("min"))}),[h[14]||(h[14]=e.createElementVNode("div",{class:"su-slider-thumb-handle"},null,-1)),t.tooltip!=="none"&&(k.value||f.value&&g.value==="min")?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["su-slider-tooltip",`su-slider-tooltip--${t.tooltip}`])},e.toDisplayString($(C.value)),3)):e.createCommentVNode("",!0)],16,eo),m.value?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:2,id:`${b.value}-max`,ref_key:"thumb2Ref",ref:i,class:U("max"),style:{[t.orientation==="horizontal"?"left":"bottom"]:`${F.value}%`},tabindex:t.disabled?-1:0},j("max"),{onMousedown:h[6]||(h[6]=w=>Z(w,"max")),onKeydown:h[7]||(h[7]=w=>Y(w,"max")),onFocus:h[8]||(h[8]=w=>N(w,"max")),onBlur:h[9]||(h[9]=w=>c(w,"max")),onMouseenter:h[10]||(h[10]=w=>B("max")),onMouseleave:h[11]||(h[11]=w=>L("max"))}),[h[15]||(h[15]=e.createElementVNode("div",{class:"su-slider-thumb-handle"},null,-1)),t.tooltip!=="none"&&(I.value||f.value&&g.value==="max")?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["su-slider-tooltip",`su-slider-tooltip--${t.tooltip}`])},e.toDisplayString($(d.value)),3)):e.createCommentVNode("",!0)],16,ao)):e.createCommentVNode("",!0)],2)],512)]),u.$slots.after?(e.openBlock(),e.createElementBlock("div",to,[e.renderSlot(u.$slots,"after")])):e.createCommentVNode("",!0)],2))}}),lo={class:"su-form-field-wrapper"},oo=["for"],no={key:0,class:"su-indicator-required","aria-label":"requis"},so=["id"],Q=e.defineComponent({__name:"FormField",props:{fieldId:{},label:{},message:{default:""},state:{default:"default"},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(t){const n=t,l=e.useAttrs(),a="su-form-field-"+e.useId(),o=e.computed(()=>l.id||n.fieldId||a),s=e.computed(()=>n.message?`${o.value}-message`:void 0),x=e.computed(()=>{const r={};return n.state==="error"?r["aria-live"]="assertive":(n.state==="success"||n.state==="warning")&&(r["aria-live"]="polite"),r}),y=e.computed(()=>["su-form-field-message",`su-form-field-message--${n.state}`]),p=e.computed(()=>["su-form-field-label",{"su-form-field-label--required":n.required,"su-form-field-label--disabled":n.disabled}]);return(r,i)=>(e.openBlock(),e.createElementBlock("div",lo,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:o.value,class:e.normalizeClass(p.value)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",no,"*")):e.createCommentVNode("",!0)],10,oo)):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default",{fieldId:o.value,messageId:s.value}),t.message?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:1,id:s.value,class:y.value},x.value),e.toDisplayString(t.message),17,so)):e.createCommentVNode("",!0)]))}}),ne=e.defineComponent({__name:"InputField",props:e.mergeModels({fieldId:{},label:{},message:{},state:{default:"default"},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{default:"text"},size:{default:"md"},readonly:{type:Boolean,default:!1},placeholder:{},prefix:{},suffix:{},prefixIcon:{},suffixIcon:{},textAlign:{default:"left"},autocomplete:{},min:{},max:{},step:{},minLength:{},maxLength:{},pattern:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{default:""},modelModifiers:{}}),emits:e.mergeModels(["input","change","focus","blur","keydown","keyup","prefix-click","prefix-icon-click","suffix-click","suffix-icon-click"],["update:modelValue"]),setup(t,{expose:n,emit:l}){var C;const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y="input-"+e.useId(),p=e.computed(()=>x.id||y),r=e.computed(()=>{const{label:d,message:$,...V}=a;return V}),i=d=>s("input",d),f=d=>s("change",d),g=d=>s("focus",d),k=d=>s("blur",d),I=d=>s("keydown",d),E=d=>s("keyup",d),b=e.ref();return n({focus:()=>{var d;return(d=b.value)==null?void 0:d.focus()},select:()=>{var d;return(d=b.value)==null?void 0:d.select()},inputRef:(C=b==null?void 0:b.value)==null?void 0:C.inputRef}),(d,$)=>(e.openBlock(),e.createBlock(Q,{label:t.label,message:t.message,state:t.state,required:t.required,disabled:t.disabled},{default:e.withCtx(({messageId:V})=>[e.createVNode(pe,e.mergeProps({id:p.value,ref_key:"inputRef",ref:b,value:o.value,"aria-describedby":V},{...r.value},{onInput:i,onChange:f,onFocus:g,onBlur:k,onKeydown:I,onKeyup:E,onPrefixClick:$[0]||($[0]=F=>d.$emit("prefix-click",F)),onPrefixIconClick:$[1]||($[1]=F=>d.$emit("prefix-icon-click",F)),onSuffixClick:$[2]||($[2]=F=>d.$emit("suffix-click",F)),onSuffixIconClick:$[3]||($[3]=F=>d.$emit("suffix-icon-click",F))}),null,16,["id","value","aria-describedby"])]),_:1},8,["label","message","state","required","disabled"]))}}),ro={class:"su-password-wrapper"},io={class:"sr-only","aria-live":"polite","aria-atomic":!0},co={key:0},Ge=e.defineComponent({inheritAttrs:!1,__name:"Password",props:e.mergeModels({rules:{default:()=>({minLength:8,minUppercase:1,minLowercase:1,minDigits:1,minSpecialChars:1})},showProgress:{type:Boolean,default:!1},showToggle:{type:Boolean,default:!0},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},placeholder:{},prefix:{},suffix:{},prefixIcon:{},textAlign:{},autocomplete:{},min:{},max:{},step:{},minLength:{},maxLength:{},pattern:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{default:""},modelModifiers:{}}),emits:e.mergeModels(["validation","input","change","focus","blur","keydown","keyup","toggle-visibility"],["update:modelValue"]),setup(t,{emit:n}){const l=t,a=n,o=e.useModel(t,"modelValue"),s=e.ref(!1),x=e.computed(()=>s.value?"text":"password"),y=e.computed(()=>s.value?Ma:Fa),p=d=>{const $=l.rules||{},V=d.length,F=(d.match(/[A-Z]/g)||[]).length,O=(d.match(/[a-z]/g)||[]).length,G=(d.match(/[0-9]/g)||[]).length,U=(d.match(/[^A-Za-z0-9]/g)||[]).length,j={length:{required:$.minLength||0,current:V,satisfied:V>=($.minLength||0)},uppercase:{required:$.minUppercase||0,current:F,satisfied:F>=($.minUppercase||0)},lowercase:{required:$.minLowercase||0,current:O,satisfied:O>=($.minLowercase||0)},digits:{required:$.minDigits||0,current:G,satisfied:G>=($.minDigits||0)},specialChars:{required:$.minSpecialChars||0,current:U,satisfied:U>=($.minSpecialChars||0)}},q=[],H=[];Object.entries(j).forEach(([N,c])=>{c.required>0&&(c.satisfied?q.push(N):H.push(N))});const R=Object.values(j).filter(N=>N.required>0).length,K=q.length,Z=R>0?Math.round(K/R*100):100,v=d?Z<25?"weak":Z<50?"fair":Z<75?"good":"strong":"empty";return{isValid:H.length===0&&d.length>0,score:Z,progressState:v,satisfied:q,unsatisfied:H,details:j}},r=e.computed(()=>p(o.value||"")),i=e.computed(()=>l.state!=="default"?l.state:o.value?r.value.isValid?"success":r.value.score<25?"error":r.value.score<75?"warning":"default":"default"),f=e.computed(()=>({empty:"#d1d5db",weak:"#ef4444",fair:"#f59e0b",good:"#eab308",strong:"#10b981"})[r.value.progressState||"empty"]),g=()=>{l.disabled||l.readonly||(s.value=!s.value,a("toggle-visibility",s.value))},k=()=>{g()},I=d=>{o.value=d.target.value,a("input",d)},E=d=>{a("change",d)},b=d=>{a("focus",d)},m=d=>{a("blur",d)},D=d=>{a("keydown",d)},C=d=>{a("keyup",d)};return e.watch(r,d=>{a("validation",d)},{immediate:!0}),(d,$)=>(e.openBlock(),e.createElementBlock("div",ro,[e.createVNode(ne,{modelValue:o.value,"onUpdate:modelValue":$[0]||($[0]=V=>o.value=V),type:x.value,size:t.size,state:i.value,disabled:t.disabled,readonly:t.readonly,required:t.required,placeholder:t.placeholder,prefix:t.prefix,"prefix-icon":t.prefixIcon,"suffix-icon":t.showToggle?y.value:void 0,"text-align":t.textAlign,"aria-label":t.ariaLabel,"aria-described-by":t.ariaDescribedBy,"aria-invalid":t.ariaInvalid,"aria-required":t.ariaRequired,autocomplete:t.autocomplete,"min-length":t.minLength,"max-length":t.maxLength,pattern:t.pattern,onInput:I,onChange:E,onFocus:b,onBlur:m,onKeydown:D,onKeyup:C,onSuffixIconClick:k},null,8,["modelValue","type","size","state","disabled","readonly","required","placeholder","prefix","prefix-icon","suffix-icon","text-align","aria-label","aria-described-by","aria-invalid","aria-required","autocomplete","min-length","max-length","pattern"]),t.showProgress&&o.value?(e.openBlock(),e.createBlock(fe,{key:0,modelValue:r.value.score,"onUpdate:modelValue":$[1]||($[1]=V=>r.value.score=V),size:"sm",color:f.value,"aria-label":`Force du mot de passe : ${r.value.score}%`},null,8,["modelValue","color","aria-label"])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"default",{validation:r.value,isValid:r.value.isValid,score:r.value.score,satisfied:r.value.satisfied,unsatisfied:r.value.unsatisfied,details:r.value.details}),e.createElementVNode("div",io,[o.value?(e.openBlock(),e.createElementBlock("span",co," Mot de passe "+e.toDisplayString(r.value.isValid?"valide":"invalide")+". Force : "+e.toDisplayString(r.value.score)+"%. "+e.toDisplayString(r.value.satisfied.length)+" règle(s) respectée(s), "+e.toDisplayString(r.value.unsatisfied.length)+" règle(s) non respectée(s). ",1)):e.createCommentVNode("",!0)])]))}}),Be=e.defineComponent({__name:"TextareaField",props:e.mergeModels({fieldId:{},label:{},message:{},state:{default:"default"},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"md"},readonly:{type:Boolean,default:!1},placeholder:{},value:{},rows:{default:3},minRows:{default:2},maxRows:{default:10},maxLength:{},showCounter:{type:Boolean,default:!1},autoResize:{type:Boolean,default:!1},autocomplete:{},spellcheck:{type:Boolean,default:!0},wrap:{default:"soft"},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{default:""},modelModifiers:{}}),emits:e.mergeModels(["input","change","focus","blur","keydown","keyup"],["update:modelValue"]),setup(t,{expose:n,emit:l}){var C;const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y="textarea-"+e.useId(),p=e.computed(()=>x.id||y),r=e.computed(()=>{const{label:d,message:$,value:V,...F}=a;return F}),i=d=>s("input",d),f=d=>s("change",d),g=d=>s("focus",d),k=d=>s("blur",d),I=d=>s("keydown",d),E=d=>s("keyup",d),b=e.ref();return n({focus:()=>{var d;return(d=b.value)==null?void 0:d.focus()},select:()=>{var d;return(d=b.value)==null?void 0:d.select()},textareaRef:(C=b==null?void 0:b.value)==null?void 0:C.textareaRef}),(d,$)=>(e.openBlock(),e.createBlock(Q,{"field-id":p.value,label:t.label,message:t.message,state:t.state,required:t.required,disabled:t.disabled},{default:e.withCtx(({messageId:V})=>[e.createVNode(be,e.mergeProps({id:p.value,ref_key:"textareaRef",ref:b,value:o.value,"aria-describedby":V},{...r.value},{onInput:i,onChange:f,onFocus:g,onBlur:k,onKeydown:I,onKeyup:E}),null,16,["id","value","aria-describedby"])]),_:1},8,["field-id","label","message","state","required","disabled"]))}}),xe=e.defineComponent({__name:"SelectBoxField",props:e.mergeModels({fieldId:{},label:{},message:{},state:{default:"default"},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},options:{default:()=>[]},groups:{default:()=>[]},multiple:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:"md"},readonly:{type:Boolean,default:!1},placeholder:{default:"Sélectionnez une option..."},searchPlaceholder:{default:"Rechercher..."},noOptionsText:{default:"Aucune option disponible"},noResultsText:{default:"Aucun résultat trouvé"},maxHeight:{default:"200px"},textAlign:{default:"left"},dir:{default:"auto"},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},maxSelectedItems:{default:void 0},closeOnSelect:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","open","close","search","focus","blur"],["update:modelValue"]),setup(t,{expose:n,emit:l}){var I,E;const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y="selectbox-"+e.useId(),p=e.computed(()=>x.id||y),r=e.computed(()=>{const{label:b,message:m,...D}=a;return D}),i=e.ref();return n({focus:()=>{var b;return(b=i.value)==null?void 0:b.focus()},open:()=>{var b;return(b=i.value)==null?void 0:b.open()},close:()=>{var b;return(b=i.value)==null?void 0:b.close()},selectRef:(I=i==null?void 0:i.value)==null?void 0:I.selectRef,inputRef:(E=i==null?void 0:i.value)==null?void 0:E.inputRef}),(b,m)=>(e.openBlock(),e.createBlock(Q,{"field-id":p.value,label:t.label,message:t.message,state:t.state,required:t.required,disabled:t.disabled},{default:e.withCtx(({fieldId:D,messageId:C})=>[e.createVNode(ye,e.mergeProps({id:D,ref_key:"selectBoxRef",ref:i,modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=d=>o.value=d),"aria-describedby":C},{...r.value},{onChange:m[1]||(m[1]=d=>s("change",d)),onOpen:m[2]||(m[2]=d=>s("open")),onClose:m[3]||(m[3]=d=>s("close")),onSearch:m[4]||(m[4]=d=>s("search",d)),onFocus:m[5]||(m[5]=d=>s("focus",d)),onBlur:m[6]||(m[6]=d=>s("blur",d))}),null,16,["id","modelValue","aria-describedby"])]),_:1},8,["field-id","label","message","state","required","disabled"]))}}),$e=e.defineComponent({__name:"RadioGroupField",props:e.mergeModels({fieldId:{},label:{},message:{},state:{default:"default"},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},options:{default:()=>[]},name:{},size:{default:"md"},displayType:{default:"default"},direction:{default:"vertical"},maxHeight:{default:null},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const l=t,a=e.useModel(t,"modelValue"),o=n,s=e.useAttrs(),x="radio-group-"+e.useId(),y=e.computed(()=>s.id||x),p=e.computed(()=>{const{label:g,message:k,...I}=l;return I}),r=g=>{l.disabled||(a.value=g,o("change",g))},i=g=>{o("focus",g)},f=g=>{o("blur",g)};return(g,k)=>(e.openBlock(),e.createBlock(Q,{"field-id":y.value,label:t.label,message:t.message,state:t.state,required:t.required,disabled:t.disabled},{default:e.withCtx(({fieldId:I,messageId:E})=>[e.createVNode(he,e.mergeProps({id:I,"model-value":a.value,"aria-describedby":E},p.value,{onChange:r,onFocus:i,onBlur:f}),null,16,["id","model-value","aria-describedby"])]),_:1},8,["field-id","label","message","state","required","disabled"]))}}),we=e.defineComponent({__name:"CheckboxGroupField",props:e.mergeModels({fieldId:{},label:{},message:{},state:{default:"default"},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},options:{default:()=>[]},size:{default:"md"},displayType:{default:"default"},direction:{default:"vertical"},maxSelections:{},maxHeight:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t){const n=t,l=e.useModel(t,"modelValue"),a=e.useAttrs(),o="checkbox-group-"+e.useId(),s=e.computed(()=>a.id||o),x=e.computed(()=>{const{label:y,message:p,...r}=n;return r});return(y,p)=>(e.openBlock(),e.createBlock(Q,{"field-id":s.value,label:t.label,message:t.message,state:t.state,required:t.required,disabled:t.disabled},{default:e.withCtx(({fieldId:r,messageId:i})=>[e.createVNode(ke,e.mergeProps({id:r,"model-value":l.value,"aria-describedby":i},x.value,{onChange:p[0]||(p[0]=f=>y.$emit("change",f)),onFocus:p[1]||(p[1]=f=>y.$emit("focus",f)),onBlur:p[2]||(p[2]=f=>y.$emit("blur",f))}),null,16,["id","model-value","aria-describedby"])]),_:1},8,["field-id","label","message","state","required","disabled"]))}}),Ce=e.defineComponent({__name:"SwitchField",props:e.mergeModels({fieldId:{},label:{},message:{},state:{default:"default"},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},leftLabel:{},rightLabel:{},leftIcon:{},rightIcon:{},size:{default:"md"},readonly:{type:Boolean,default:!1},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur","keydown"],["update:modelValue"]),setup(t,{emit:n}){const l=t,a=e.useModel(t,"modelValue"),o=n,s=e.useAttrs(),x="switch-"+e.useId(),y=e.computed(()=>s.id||x),p=e.computed(()=>{const{label:r,message:i,...f}=l;return f});return(r,i)=>(e.openBlock(),e.createBlock(Q,{"field-id":y.value,label:t.label,message:t.message,state:t.state,required:t.required,disabled:t.disabled},{default:e.withCtx(({fieldId:f,messageId:g})=>[e.createVNode(ge,e.mergeProps({id:f,modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=k=>a.value=k),"aria-describedby":g},{...p.value},{onChange:i[1]||(i[1]=k=>o("change",k)),onFocus:i[2]||(i[2]=k=>o("focus",k)),onBlur:i[3]||(i[3]=k=>o("blur",k)),onKeydown:i[4]||(i[4]=k=>o("keydown",k))}),null,16,["id","modelValue","aria-describedby"])]),_:1},8,["field-id","label","message","state","required","disabled"]))}}),uo={key:0,class:"su-slider-before"},mo={key:1,class:"su-slider-labels"},fo={class:"su-slider-label su-slider-label--min"},po={class:"su-slider-label su-slider-label--max"},bo={class:"su-slider-wrapper"},yo={key:0,class:"su-slider-value"},ho={key:0,class:"su-slider-value-display"},ko={key:1,class:"su-slider-value-dual"},go={class:"su-slider-value-min"},Bo={class:"su-slider-value-max"},xo=["aria-describedby"],$o={key:0,class:"su-slider-ticks"},wo={key:1,class:"su-slider-marks"},Co={class:"su-slider-mark-label"},Vo=["id","tabindex"],Eo=["id","tabindex"],No={key:2,class:"su-slider-after"},Ve=e.defineComponent({__name:"SliderField",props:e.mergeModels({min:{default:0},max:{default:100},step:{default:1},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},orientation:{default:"horizontal"},tooltip:{default:"none"},marks:{default:()=>[]},showValue:{type:Boolean,default:!0},showTicks:{type:Boolean,default:!1},showLabels:{type:Boolean,default:!1},formatValue:{},label:{},message:{},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},role:{},tabIndex:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","input","focus","blur","keydown"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y=e.ref(),p=e.ref(),r=e.ref(),i=e.ref(),f=e.ref(!1),g=e.ref(null),k=e.ref(!1),I=e.ref(!1),E="slider-"+e.useId(),b=e.computed(()=>x.id||E),m=e.computed(()=>Array.isArray(o.value)),D=e.computed({get(){return o.value===void 0||o.value===null?a.min:o.value},set(u){o.value=u,s("change",u),s("input",u)}}),C=e.computed(()=>m.value?D.value[0]:D.value),d=e.computed(()=>m.value?D.value[1]:D.value),$=u=>a.formatValue?a.formatValue(u):u.toString(),V=e.computed(()=>(C.value-a.min)/(a.max-a.min)*100),F=e.computed(()=>(d.value-a.min)/(a.max-a.min)*100),O=e.computed(()=>["su-slider-container",`su-slider-container--${a.size}`,`su-slider-container--${a.state}`,`su-slider-container--${a.orientation}`,{"su-slider-container--disabled":a.disabled,"su-slider-container--readonly":a.readonly,"su-slider-container--dual":m.value,"su-slider-container--dragging":f.value}]),G=e.computed(()=>["su-slider-track",`su-slider-track--${a.size}`,`su-slider-track--${a.state}`,`su-slider-track--${a.orientation}`]),U=u=>["su-slider-thumb",`su-slider-thumb--${a.size}`,`su-slider-thumb--${a.state}`,`su-slider-thumb--${a.orientation}`,{"su-slider-thumb--disabled":a.disabled,"su-slider-thumb--readonly":a.readonly,"su-slider-thumb--active":g.value===u}],j=u=>{const h=u==="min"?C.value:d.value,w={role:"slider","aria-valuemin":a.min,"aria-valuemax":a.max,"aria-valuenow":h,"aria-valuetext":a.ariaValueText||$(h),"aria-orientation":a.orientation};return a.ariaLabel&&(w["aria-label"]=m.value?`${a.ariaLabel} ${u==="min"?"minimum":"maximum"}`:a.ariaLabel),a.ariaInvalid!==void 0&&(w["aria-invalid"]=a.ariaInvalid),a.ariaRequired!==void 0&&(w["aria-required"]=a.ariaRequired),a.required&&(w["aria-required"]="true"),a.state==="error"&&(w["aria-invalid"]="true"),w},q=u=>Math.max(a.min,Math.min(a.max,u)),H=u=>{const h=Math.round((u-a.min)/a.step);return a.min+h*a.step},R=(u,h)=>{if(!p.value)return a.min;const w=p.value.getBoundingClientRect();let P;a.orientation==="horizontal"?P=(u-w.left)/w.width:P=1-(h-w.top)/w.height,P=Math.max(0,Math.min(1,P));const M=a.min+P*(a.max-a.min);return H(q(M))},K=(u,h="min")=>{if(a.disabled||a.readonly)return;const w=q(H(u));if(m.value){const[M,X]=D.value;h==="min"?D.value=[Math.min(w,X),X]:D.value=[M,Math.max(w,M)]}else D.value=w;const P=m.value?`${h==="min"?"Minimum":"Maximum"} : ${$(w)}`:$(w);W(P)},Z=(u,h="min")=>{if(a.disabled||a.readonly)return;u.preventDefault(),f.value=!0,g.value=h;const w=M=>{const X=R(M.clientX,M.clientY);K(X,h)},P=()=>{f.value=!1,g.value=null,document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",P)};document.addEventListener("mousemove",w),document.addEventListener("mouseup",P)},v=u=>{if(a.disabled||a.readonly)return;const h=R(u.clientX,u.clientY);if(m.value){const[w,P]=D.value,M=Math.abs(h-w),X=Math.abs(h-P),Ne=M<=X?"min":"max";K(h,Ne)}else K(h)},Y=(u,h="min")=>{if(a.disabled||a.readonly)return;const w=h==="min"?C.value:d.value;let P=w;const M=(a.max-a.min)/10;switch(u.key){case"ArrowRight":case"ArrowUp":u.preventDefault(),P=w+a.step;break;case"ArrowLeft":case"ArrowDown":u.preventDefault(),P=w-a.step;break;case"PageUp":u.preventDefault(),P=w+M;break;case"PageDown":u.preventDefault(),P=w-M;break;case"Home":u.preventDefault(),P=a.min;break;case"End":u.preventDefault(),P=a.max;break;default:return}K(P,h),s("keydown",u)},N=(u,h="min")=>{a.tooltip!=="none"&&(h==="min"?k.value=!0:I.value=!0),s("focus",u)},c=(u,h="min")=>{a.tooltip!=="none"&&(h==="min"?k.value=!1:I.value=!1),s("blur",u)},B=(u="min")=>{a.tooltip!=="none"&&!a.disabled&&(u==="min"?k.value=!0:I.value=!0)},L=(u="min")=>{a.tooltip!=="none"&&(u==="min"?k.value=!1:I.value=!1)},A=e.computed(()=>{if(!a.showTicks)return[];const u=Math.min(21,(a.max-a.min)/a.step+1),h=(a.max-a.min)/(u-1);return Array.from({length:u},(w,P)=>{const M=a.min+P*h,X=(M-a.min)/(a.max-a.min)*100;return{value:H(M),percent:X}})}),S=e.computed(()=>!a.marks||a.marks.length===0?[]:a.marks.filter(u=>u>=a.min&&u<=a.max).map(u=>{const h=(u-a.min)/(a.max-a.min)*100;return{value:u,percent:h}}));return n({focus:()=>{var u;(u=r.value)==null||u.focus()},sliderRef:y,thumb1Ref:r,thumb2Ref:i}),(u,h)=>(e.openBlock(),e.createBlock(Q,{"field-id":b.value,label:t.label,message:t.message,state:t.state,required:t.required,disabled:t.disabled},{default:e.withCtx(({fieldId:w,messageId:P})=>[e.createElementVNode("div",{class:e.normalizeClass(O.value)},[u.$slots.before?(e.openBlock(),e.createElementBlock("div",uo,[e.renderSlot(u.$slots,"before")])):e.createCommentVNode("",!0),t.showLabels?(e.openBlock(),e.createElementBlock("div",mo,[e.createElementVNode("span",fo,e.toDisplayString($(t.min)),1),e.createElementVNode("span",po,e.toDisplayString($(t.max)),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",bo,[t.showValue&&t.tooltip==="none"?(e.openBlock(),e.createElementBlock("div",yo,[m.value?(e.openBlock(),e.createElementBlock("div",ko,[e.createElementVNode("span",go,e.toDisplayString($(C.value)),1),h[12]||(h[12]=e.createElementVNode("span",{class:"su-slider-value-separator"},"-",-1)),e.createElementVNode("span",Bo,e.toDisplayString($(d.value)),1)])):(e.openBlock(),e.createElementBlock("span",ho,e.toDisplayString($(C.value)),1))])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"sliderRef",ref:y,class:"su-slider-slider","aria-describedby":P,onClick:v},[e.createElementVNode("div",{ref_key:"trackRef",ref:p,class:e.normalizeClass(G.value)},[e.createElementVNode("div",{class:"su-slider-track-active",style:e.normalizeStyle({[t.orientation==="horizontal"?"left":"bottom"]:`${m.value?Math.min(V.value,F.value):0}%`,[t.orientation==="horizontal"?"width":"height"]:`${m.value?Math.abs(F.value-V.value):Math.abs(V.value)}%`})},null,4),t.showTicks?(e.openBlock(),e.createElementBlock("div",$o,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,M=>(e.openBlock(),e.createElementBlock("div",{key:M.value,class:"su-slider-tick",style:e.normalizeStyle({[t.orientation==="horizontal"?"left":"bottom"]:`${M.percent}%`})},null,4))),128))])):e.createCommentVNode("",!0),S.value.length>0?(e.openBlock(),e.createElementBlock("div",wo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,M=>(e.openBlock(),e.createElementBlock("div",{key:M.value,class:"su-slider-mark",style:e.normalizeStyle({[t.orientation==="horizontal"?"left":"bottom"]:`${M.percent}%`})},[h[13]||(h[13]=e.createElementVNode("div",{class:"su-slider-mark-dot"},null,-1)),e.createElementVNode("div",Co,e.toDisplayString($(M.value)),1)],4))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({id:m.value?`${w}-min`:w,ref_key:"thumb1Ref",ref:r,class:U("min"),style:{[t.orientation==="horizontal"?"left":"bottom"]:`${V.value}%`},tabindex:t.disabled?-1:0},j("min"),{onMousedown:h[0]||(h[0]=M=>Z(M,"min")),onKeydown:h[1]||(h[1]=M=>Y(M,"min")),onFocus:h[2]||(h[2]=M=>N(M,"min")),onBlur:h[3]||(h[3]=M=>c(M,"min")),onMouseenter:h[4]||(h[4]=M=>B("min")),onMouseleave:h[5]||(h[5]=M=>L("min"))}),[h[14]||(h[14]=e.createElementVNode("div",{class:"su-slider-thumb-handle"},null,-1)),t.tooltip!=="none"&&(k.value||f.value&&g.value==="min")?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["su-slider-tooltip",`su-slider-tooltip--${t.tooltip}`])},e.toDisplayString($(C.value)),3)):e.createCommentVNode("",!0)],16,Vo),m.value?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:2,id:`${w}-max`,ref_key:"thumb2Ref",ref:i,class:U("max"),style:{[t.orientation==="horizontal"?"left":"bottom"]:`${F.value}%`},tabindex:t.disabled?-1:0},j("max"),{onMousedown:h[6]||(h[6]=M=>Z(M,"max")),onKeydown:h[7]||(h[7]=M=>Y(M,"max")),onFocus:h[8]||(h[8]=M=>N(M,"max")),onBlur:h[9]||(h[9]=M=>c(M,"max")),onMouseenter:h[10]||(h[10]=M=>B("max")),onMouseleave:h[11]||(h[11]=M=>L("max"))}),[h[15]||(h[15]=e.createElementVNode("div",{class:"su-slider-thumb-handle"},null,-1)),t.tooltip!=="none"&&(I.value||f.value&&g.value==="max")?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["su-slider-tooltip",`su-slider-tooltip--${t.tooltip}`])},e.toDisplayString($(d.value)),3)):e.createCommentVNode("",!0)],16,Eo)):e.createCommentVNode("",!0)],2)],8,xo)]),u.$slots.after?(e.openBlock(),e.createElementBlock("div",No,[e.renderSlot(u.$slots,"after")])):e.createCommentVNode("",!0)],2)]),_:3},8,["field-id","label","message","state","required","disabled"]))}}),Do={key:0,class:"su-range-labels"},zo={class:"su-range-label su-range-label--min"},So={class:"su-range-label su-range-label--max"},Io={class:"su-range-wrapper"},Lo={key:0,class:"su-range-value"},Mo={key:0,class:"su-range-value-display"},Fo={key:1,class:"su-range-value-dual"},Ao={class:"su-range-value-min"},Ro={class:"su-range-value-max"},qo=["aria-describedby"],Po={key:0,class:"su-range-ticks"},To=["id","tabindex"],vo=["id","tabindex"],Ze=e.defineComponent({__name:"RangeField",props:e.mergeModels({fieldId:{},label:{},message:{},state:{default:"default"},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},min:{default:0},max:{default:100},step:{default:1},size:{default:"md"},readonly:{type:Boolean,default:!1},orientation:{default:"horizontal"},dual:{type:Boolean,default:!1},showValue:{type:Boolean,default:!0},showTicks:{type:Boolean,default:!1},showLabels:{type:Boolean,default:!1},formatValue:{},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","input","focus","blur","keydown"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y=e.ref(),p=e.ref(),r=e.ref(),i=e.ref(),f=e.ref(!1),g=e.ref(null),k="range-"+e.useId(),I=e.computed(()=>x.id||k),E=e.computed({get(){if(o.value===void 0||o.value===null)return a.dual?[a.min,a.max]:a.min;if(a.dual){const c=o.value;return Array.isArray(c)?c:[a.min,a.max]}return o.value||a.min},set(c){o.value=c,s("change",c),s("input",c)}}),b=e.computed(()=>a.dual?E.value[0]:E.value),m=e.computed(()=>a.dual?E.value[1]:E.value),D=c=>a.formatValue?a.formatValue(c):c.toString(),C=e.computed(()=>(b.value-a.min)/(a.max-a.min)*100),d=e.computed(()=>(m.value-a.min)/(a.max-a.min)*100),$=e.computed(()=>["su-range-container",`su-range-container--${a.size}`,`su-range-container--${a.state}`,`su-range-container--${a.orientation}`,{"su-range-container--disabled":a.disabled,"su-range-container--readonly":a.readonly,"su-range-container--dual":a.dual,"su-range-container--dragging":f.value}]),V=e.computed(()=>["su-range-track",`su-range-track--${a.size}`,`su-range-track--${a.state}`,`su-range-track--${a.orientation}`]),F=c=>["su-range-thumb",`su-range-thumb--${a.size}`,`su-range-thumb--${a.state}`,`su-range-thumb--${a.orientation}`,{"su-range-thumb--disabled":a.disabled,"su-range-thumb--readonly":a.readonly,"su-range-thumb--active":g.value===c}],O=c=>{const B=c==="min"?b.value:m.value,L={role:"slider","aria-valuemin":a.min,"aria-valuemax":a.max,"aria-valuenow":B,"aria-valuetext":a.ariaValueText||D(B),"aria-orientation":a.orientation};return a.ariaLabel&&(L["aria-label"]=a.dual?`${a.ariaLabel} ${c==="min"?"minimum":"maximum"}`:a.ariaLabel),a.ariaInvalid!==void 0&&(L["aria-invalid"]=a.ariaInvalid),a.ariaRequired!==void 0&&(L["aria-required"]=a.ariaRequired),a.required&&(L["aria-required"]="true"),a.state==="error"&&(L["aria-invalid"]="true"),L},G=c=>Math.max(a.min,Math.min(a.max,c)),U=c=>{const B=Math.round((c-a.min)/a.step);return a.min+B*a.step},j=(c,B)=>{if(!p.value)return a.min;const L=p.value.getBoundingClientRect();let A;a.orientation==="horizontal"?A=(c-L.left)/L.width:A=1-(B-L.top)/L.height,A=Math.max(0,Math.min(1,A));const S=a.min+A*(a.max-a.min);return U(G(S))},q=(c,B="min")=>{if(a.disabled||a.readonly)return;const L=G(U(c));if(a.dual){const[S,z]=E.value;B==="min"?E.value=[Math.min(L,z),z]:E.value=[S,Math.max(L,S)]}else E.value=L;const A=a.dual?`${B==="min"?"Minimum":"Maximum"} : ${D(L)}`:D(L);W(A)},H=(c,B="min")=>{if(a.disabled||a.readonly)return;c.preventDefault(),f.value=!0,g.value=B;const L=S=>{const z=j(S.clientX,S.clientY);q(z,B)},A=()=>{f.value=!1,g.value=null,document.removeEventListener("mousemove",L),document.removeEventListener("mouseup",A)};document.addEventListener("mousemove",L),document.addEventListener("mouseup",A)},R=c=>{if(a.disabled||a.readonly)return;const B=j(c.clientX,c.clientY);if(a.dual){const[L,A]=E.value,S=Math.abs(B-L),z=Math.abs(B-A),u=S<=z?"min":"max";q(B,u)}else q(B)},K=(c,B="min")=>{if(a.disabled||a.readonly)return;const L=B==="min"?b.value:m.value;let A=L;const S=(a.max-a.min)/10;switch(c.key){case"ArrowRight":case"ArrowUp":c.preventDefault(),A=L+a.step;break;case"ArrowLeft":case"ArrowDown":c.preventDefault(),A=L-a.step;break;case"PageUp":c.preventDefault(),A=L+S;break;case"PageDown":c.preventDefault(),A=L-S;break;case"Home":c.preventDefault(),A=a.min;break;case"End":c.preventDefault(),A=a.max;break;default:return}q(A,B),s("keydown",c)},Z=c=>{s("focus",c)},v=c=>{s("blur",c)},Y=e.computed(()=>{if(!a.showTicks)return[];const c=Math.min(21,(a.max-a.min)/a.step+1),B=(a.max-a.min)/(c-1);return Array.from({length:c},(L,A)=>{const S=a.min+A*B,z=(S-a.min)/(a.max-a.min)*100;return{value:U(S),percent:z}})});return n({focus:()=>{var c,B;a.dual?(c=r.value)==null||c.focus():(B=r.value)==null||B.focus()},rangeRef:y,thumb1Ref:r,thumb2Ref:i}),(c,B)=>(e.openBlock(),e.createBlock(Q,{"field-id":I.value,label:t.label,message:t.message,state:t.state,required:t.required,disabled:t.disabled},{default:e.withCtx(({fieldId:L,messageId:A})=>[e.createElementVNode("div",{class:e.normalizeClass($.value)},[t.showLabels?(e.openBlock(),e.createElementBlock("div",Do,[e.createElementVNode("span",zo,e.toDisplayString(D(t.min)),1),e.createElementVNode("span",So,e.toDisplayString(D(t.max)),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",Io,[t.showValue?(e.openBlock(),e.createElementBlock("div",Lo,[t.dual?(e.openBlock(),e.createElementBlock("div",Fo,[e.createElementVNode("span",Ao,e.toDisplayString(D(b.value)),1),B[4]||(B[4]=e.createElementVNode("span",{class:"su-range-value-separator"},"-",-1)),e.createElementVNode("span",Ro,e.toDisplayString(D(m.value)),1)])):(e.openBlock(),e.createElementBlock("span",Mo,e.toDisplayString(D(b.value)),1))])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"rangeRef",ref:y,class:"su-range-slider","aria-describedby":A,onClick:R},[e.createElementVNode("div",{ref_key:"trackRef",ref:p,class:e.normalizeClass(V.value)},[e.createElementVNode("div",{class:"su-range-track-active",style:e.normalizeStyle({[t.orientation==="horizontal"?"left":"bottom"]:`${t.dual?C.value:0}%`,[t.orientation==="horizontal"?"width":"height"]:`${t.dual?d.value-C.value:C.value}%`})},null,4),t.showTicks?(e.openBlock(),e.createElementBlock("div",Po,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,S=>(e.openBlock(),e.createElementBlock("div",{key:S.value,class:"su-range-tick",style:e.normalizeStyle({[t.orientation==="horizontal"?"left":"bottom"]:`${S.percent}%`})},null,4))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({id:t.dual?`${L}-min`:L,ref_key:"thumb1Ref",ref:r,class:F("min"),style:{[t.orientation==="horizontal"?"left":"bottom"]:`${C.value}%`},tabindex:t.disabled?-1:0},O("min"),{onMousedown:B[0]||(B[0]=S=>H(S,"min")),onKeydown:B[1]||(B[1]=S=>K(S,"min")),onFocus:Z,onBlur:v}),[...B[5]||(B[5]=[e.createElementVNode("div",{class:"su-range-thumb-handle"},null,-1)])],16,To),t.dual?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:1,id:`${L}-max`,ref_key:"thumb2Ref",ref:i,class:F("max"),style:{[t.orientation==="horizontal"?"left":"bottom"]:`${d.value}%`},tabindex:t.disabled?-1:0},O("max"),{onMousedown:B[2]||(B[2]=S=>H(S,"max")),onKeydown:B[3]||(B[3]=S=>K(S,"max")),onFocus:Z,onBlur:v}),[...B[6]||(B[6]=[e.createElementVNode("div",{class:"su-range-thumb-handle"},null,-1)])],16,vo)):e.createCommentVNode("",!0)],2)],8,qo)])],2)]),_:1},8,["field-id","label","message","state","required","disabled"]))}}),Ho=["id","accept","multiple","disabled","required","aria-describedby"],Ko=["tabindex","aria-label","aria-busy"],Oo={key:0,class:"su-file-upload-loading","aria-hidden":"true"},Uo={class:"su-file-upload-text"},jo={class:"su-file-upload-primary-text"},Go={class:"su-file-upload-secondary-text"},Zo={key:0},Wo={key:0},Yo={key:1},Xo=["aria-label"],Qo={class:"su-file-upload-item-preview"},Jo=["src","alt"],_o={class:"su-file-upload-item-info"},en={class:"su-file-upload-item-name"},an={class:"su-file-upload-item-details"},tn={class:"su-file-upload-item-size"},ln={key:0,class:"su-file-upload-item-progress"},on={key:1,class:"su-file-upload-item-error"},nn={class:"su-file-upload-item-status"},sn={key:2,class:"su-file-upload-spinner","aria-hidden":"true"},rn=["aria-label","onClick"],dn=["aria-valuenow","aria-label"],Ee=e.defineComponent({__name:"FileUploadField",props:e.mergeModels({variant:{default:"default"},multiple:{type:Boolean,default:!1},accept:{},maxSize:{default:10*1024*1024},maxFiles:{default:5},size:{default:"md"},state:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},label:{},message:{},placeholder:{default:"Sélectionnez des fichiers ou glissez-les ici"},dragText:{default:"Relâchez pour déposer les fichiers"},browseText:{default:"Parcourir"},allowPreview:{type:Boolean,default:!0},showFileList:{type:Boolean,default:!0},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},showProgress:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:e.mergeModels(["change","upload","remove","error","focus","blur"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const a=t,o=e.useModel(t,"modelValue"),s=l,x=e.useAttrs(),y=e.ref(),p=e.ref(),r=e.ref(!1),i=e.ref(0),f="file-upload-"+e.useId(),g=e.computed(()=>x.id||f),k=e.computed(()=>Array.isArray(o.value)?o.value:[]),I=e.computed(()=>["su-file-upload-container",`su-file-upload-container--${a.variant}`,`su-file-upload-container--${a.size}`,`su-file-upload-container--${a.state}`,{"su-file-upload-container--disabled":a.disabled,"su-file-upload-container--readonly":a.readonly,"su-file-upload-container--dragging":r.value,"su-file-upload-container--has-files":k.value.length>0}]),E=e.computed(()=>["su-file-upload-dropzone",`su-file-upload-dropzone--${a.variant}`,`su-file-upload-dropzone--${a.size}`,`su-file-upload-dropzone--${a.state}`,{"su-file-upload-dropzone--disabled":a.disabled,"su-file-upload-dropzone--readonly":a.readonly,"su-file-upload-dropzone--dragging":r.value}]),b=e.computed(()=>{const c={};if(a.ariaLabel&&(c["aria-label"]=a.ariaLabel),a.ariaDescribedBy){const B=[a.ariaDescribedBy].filter(Boolean).join(" ");c["aria-describedby"]=B}return a.ariaInvalid!==void 0&&(c["aria-invalid"]=a.ariaInvalid),a.ariaRequired!==void 0&&(c["aria-required"]=a.ariaRequired),a.required&&(c["aria-required"]="true"),a.state==="error"&&(c["aria-invalid"]="true"),c}),m=c=>{if(c===0)return"0 B";const B=1024,L=["B","KB","MB","GB"],A=Math.floor(Math.log(c)/Math.log(B));return parseFloat((c/Math.pow(B,A)).toFixed(1))+" "+L[A]},D=c=>c.type.startsWith("image/")?Fe:Le,C=c=>`${c}-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,d=c=>c.type.startsWith("image/"),$=c=>new Promise(B=>{if(!d(c)){B("");return}const L=new FileReader;L.onload=A=>{var S;return B(((S=A.target)==null?void 0:S.result)||"")},L.readAsDataURL(c)}),V=c=>a.maxSize&&c.size>a.maxSize?`Le fichier "${c.name}" est trop volumineux (${m(c.size)}). Taille maximale : ${m(a.maxSize)}`:a.accept&&!a.accept.split(",").map(A=>A.trim()).some(A=>{if(A.startsWith("."))return c.name.toLowerCase().endsWith(A.toLowerCase());if(A.includes("*")){const S=A.split("/")[0];return c.type.startsWith(S)}return c.type===A})?`Le type de fichier "${c.type}" n'est pas accepté pour "${c.name}"`:null,F=async c=>{if(a.disabled||a.readonly)return;const B=Array.from(c),L=k.value;if(a.maxFiles&&L.length+B.length>a.maxFiles){const S=`Nombre maximum de fichiers dépassé (${a.maxFiles})`;s("error",S),W(S,"assertive");return}const A=[];for(const S of B){const z=V(S);if(z){s("error",z,S),W(z,"assertive");continue}const u={id:C("file"),file:S,name:S.name,size:S.size,type:S.type,status:"pending"};if(a.allowPreview&&d(S))try{u.preview=await $(S)}catch(h){console.warn("Erreur lors de la création de l'aperçu:",h)}A.push(u)}if(A.length>0){const S=a.multiple?[...L,...A]:A;o.value=S,s("change",S);const z=A.length===1?`Fichier "${A[0].name}" ajouté`:`${A.length} fichiers ajoutés`;W(z),A.forEach(u=>s("upload",u))}},O=c=>{if(a.disabled||a.readonly)return;const B=k.value.filter(L=>L.id!==c.id);o.value=B,s("change",B),s("remove",c),W(`Fichier "${c.name}" supprimé`)},G=c=>{const B=c.target;B.files&&B.files.length>0&&F(B.files),B.value=""},U=()=>{var c;a.disabled||a.readonly||(c=y.value)==null||c.click()},j=c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),U())},q=c=>{s("focus",c)},H=c=>{s("blur",c)},R=c=>{c.preventDefault(),c.stopPropagation(),!(a.disabled||a.readonly)&&(i.value++,i.value===1&&(r.value=!0))},K=c=>{c.preventDefault(),c.stopPropagation(),!(a.disabled||a.readonly)&&(i.value--,i.value===0&&(r.value=!1))},Z=c=>{c.preventDefault(),c.stopPropagation(),!(a.disabled||a.readonly)&&c.dataTransfer&&(c.dataTransfer.dropEffect="copy")},v=c=>{var L;if(c.preventDefault(),c.stopPropagation(),a.disabled||a.readonly)return;r.value=!1,i.value=0;const B=(L=c.dataTransfer)==null?void 0:L.files;B&&B.length>0&&F(B)};return n({focus:()=>{var c;(c=p.value)==null||c.focus()},clear:()=>{a.disabled||a.readonly||(o.value=[],s("change",[]),W("Tous les fichiers ont été supprimés"))},fileInputRef:y,dropZoneRef:p}),(c,B)=>(e.openBlock(),e.createBlock(Q,{"field-id":g.value,label:t.label,message:t.message,state:t.state,required:t.required,disabled:t.disabled},{default:e.withCtx(({fieldId:L,messageId:A})=>[e.createElementVNode("div",{class:e.normalizeClass(I.value)},[e.createElementVNode("input",e.mergeProps({id:L,ref_key:"fileInputRef",ref:y,type:"file",accept:t.accept,multiple:t.multiple,disabled:t.disabled,required:t.required,"aria-describedby":A,class:"su-file-upload-input"},b.value,{onChange:G,onFocus:q,onBlur:H}),null,16,Ho),e.createElementVNode("div",{ref_key:"dropZoneRef",ref:p,class:e.normalizeClass(E.value),tabindex:t.disabled?-1:0,role:"button","aria-label":t.placeholder,"aria-busy":t.loading,onClick:U,onKeydown:j,onDragenter:R,onDragleave:K,onDragover:Z,onDrop:v},[e.createVNode(e.unref(Ie),{class:e.normalizeClass(["su-file-upload-icon",{"su-file-upload-icon--dragging":r.value}]),"aria-hidden":"true"},null,8,["class"]),t.loading?(e.openBlock(),e.createElementBlock("div",Oo,[...B[0]||(B[0]=[e.createElementVNode("svg",{class:"su-spinner",viewBox:"0 0 24 24"},[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor","stroke-width":"2"}),e.createElementVNode("path",{d:"M12 2a10 10 0 0 1 10 10",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Uo,[e.createElementVNode("p",jo,e.toDisplayString(t.loading?"Chargement...":r.value?t.dragText:t.placeholder),1),e.createElementVNode("p",Go,[e.createTextVNode(e.toDisplayString(t.loading?"Veuillez patienter":t.browseText)+" ",1),t.accept||t.maxSize?(e.openBlock(),e.createElementBlock("span",Zo,[t.accept?(e.openBlock(),e.createElementBlock("span",Wo," • "+e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0),t.maxSize?(e.openBlock(),e.createElementBlock("span",Yo," • Max "+e.toDisplayString(m(t.maxSize)),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])],42,Ko),t.showFileList&&k.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"su-file-upload-list",role:"list","aria-label":`${k.value.length} fichier(s) sélectionné(s)`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,S=>(e.openBlock(),e.createElementBlock("div",{key:S.id,class:e.normalizeClass(["su-file-upload-item",`su-file-upload-item--${S.status}`]),role:"listitem"},[e.createElementVNode("div",Qo,[S.preview?(e.openBlock(),e.createElementBlock("img",{key:0,src:S.preview,alt:`Aperçu de ${S.name}`,class:"su-file-upload-preview-image"},null,8,Jo)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(D(S.file)),{key:1,class:"su-file-upload-item-icon","aria-hidden":"true"}))]),e.createElementVNode("div",_o,[e.createElementVNode("div",en,e.toDisplayString(S.name),1),e.createElementVNode("div",an,[e.createElementVNode("span",tn,e.toDisplayString(m(S.size)),1),S.status==="uploading"&&S.progress!==void 0?(e.openBlock(),e.createElementBlock("span",ln,e.toDisplayString(S.progress)+"% ",1)):e.createCommentVNode("",!0),S.error?(e.openBlock(),e.createElementBlock("span",on,e.toDisplayString(S.error),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",nn,[S.status==="success"?(e.openBlock(),e.createBlock(e.unref(de),{key:0,class:"su-file-upload-status-icon su-file-upload-status-icon--success","aria-hidden":"true"})):S.status==="error"?(e.openBlock(),e.createBlock(e.unref(ue),{key:1,class:"su-file-upload-status-icon su-file-upload-status-icon--error","aria-hidden":"true"})):S.status==="uploading"?(e.openBlock(),e.createElementBlock("div",sn,[...B[1]||(B[1]=[e.createElementVNode("svg",{class:"su-spinner",viewBox:"0 0 24 24"},[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor","stroke-width":"2"}),e.createElementVNode("path",{d:"M12 2a10 10 0 0 1 10 10",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):e.createCommentVNode("",!0)]),!t.disabled&&!t.readonly?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"su-file-upload-remove-button","aria-label":`Supprimer ${S.name}`,onClick:z=>O(S)},[e.createVNode(e.unref(_),{class:"su-file-upload-remove-icon","aria-hidden":"true"})],8,rn)):S.status==="uploading"&&t.showProgress?(e.openBlock(),e.createElementBlock("div",{key:1,class:"su-file-upload-progress-bar",role:"progressbar","aria-valuenow":S.progress||0,"aria-valuemin":"0","aria-valuemax":"100","aria-label":`Upload de ${S.name}: ${S.progress||0}%`},[e.createElementVNode("div",{class:"su-file-upload-progress-fill",style:e.normalizeStyle({width:`${S.progress||0}%`})},null,4)],8,dn)):e.createCommentVNode("",!0)],2))),128))],8,Xo)):e.createCommentVNode("",!0)],2)]),_:1},8,["field-id","label","message","state","required","disabled"]))}}),cn={key:0,class:"su-form-fields-head"},un={class:"su-form-fields-content"},mn={key:1,class:"su-form-fields-footer"},We=e.defineComponent({__name:"FormFields",props:{gap:{default:"md"},sectionGap:{default:"lg"},size:{},direction:{default:"vertical"},ariaLabel:{},ariaLabelledBy:{},ariaDescribedBy:{},ariaHidden:{type:Boolean},ariaInvalid:{type:Boolean},ariaRequired:{type:Boolean},ariaValueText:{},role:{},tabIndex:{}},setup(t){const n=t,l=e.useSlots(),a=[ne,xe,$e,we,Ce,Ee,Be,Ve],o=e.computed(()=>["su-form-fields",`su-form-fields--gap-${n.gap}`,`su-form-fields--section-gap-${n.sectionGap}`,`su-form-fields--${n.direction}`]),s=e.computed(()=>{var r;if(!(l!=null&&l.default))return[];const y=((r=l==null?void 0:l.default)==null?void 0:r.call(l))??[],p=[];for(const i of y)if(a.some(g=>i.type===g)){const g={...i.props};n.size&&(g.size=n.size),p.push(e.h(i.type,g,i==null?void 0:i.children))}else{if(i.type===e.Comment||i.type===e.Text||i.type===e.Fragment)continue;console.warn("FormFields expects only form field components as children. Found:",i.type)}return p});e.computed(()=>l!=null&&l.head?l.head():[]),e.computed(()=>l!=null&&l.footer?l.footer():[]);const x=e.computed(()=>{const y={};return n.ariaLabel&&(y["aria-label"]=n.ariaLabel),n.ariaDescribedBy&&(y["aria-describedby"]=n.ariaDescribedBy),n.role&&(y.role=n.role),y});return(y,p)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:o.value},x.value),[y.$slots.head?(e.openBlock(),e.createElementBlock("div",cn,[e.renderSlot(y.$slots,"head")])):e.createCommentVNode("",!0),e.createElementVNode("div",un,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(r,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r),{key:i}))),128))]),y.$slots.footer?(e.openBlock(),e.createElementBlock("div",mn,[e.renderSlot(y.$slots,"footer")])):e.createCommentVNode("",!0)],16))}}),fn=Symbol("SurgeuiTheme"),pn={},bn={install(t,n={}){const{prefix:l="Su",theme:a={}}=n,o={...pn,...a},s=document.documentElement,{button:x,link:y}=o;if(t.provide(fn,o),typeof document<"u"&&(o!=null&&o.textPrimaryColor&&s.style.setProperty("--su-text-primary-color",`${o==null?void 0:o.textPrimaryColor}`),o!=null&&o.textSecondaryColor&&s.style.setProperty("--su-text-secondary-color",`${o==null?void 0:o.textSecondaryColor}`),o!=null&&o.textTeriaryColor&&s.style.setProperty("--su-text-tertiary-color",`${o==null?void 0:o.textTeriaryColor}`),x&&(s.style.setProperty("--su-custom-button-bg",x.bg),s.style.setProperty("--su-custom-button-color",x.color),s.style.setProperty("--su-custom-button-border",x.border),s.style.setProperty("--su-custom-button-hover-bg",x.hoverBackground),s.style.setProperty("--su-custom-button-hover-shadow",x.hoverShadow)),y&&(s.style.setProperty("--su-custom-link-color",y.color),s.style.setProperty("--su-custom-link-hover-color",y.hoverColor),s.style.setProperty("--su-custom-link-hover-bg-color",y.hoverBackground),s.style.setProperty("--su-custom-link-active-color",y.activeColor))),o!=null&&o.linkVariant){const r={default:{color:"var(--su-link-variant-default-color)",hoverColor:"var(--su-link-variant-default-hover-color)",activeColor:"var(--su-link-variant-default-active-color)"},primary:{color:"var(--su-link-variant-primary-color)",hoverColor:"var(--su-link-variant-primary-hover-color)",activeColor:"var(--su-link-variant-primary-hover-color)"},secondary:{color:"var(--su-link-variant-secondary-color)",hoverColor:"var(--su-link-variant-secondary-hover-color)",activeColor:"var(--su-link-variant-secondary-hover-color)"},muted:{color:"var(--su-link-variant-muted-color)",hoverColor:"var(--su-link-variant-muted-hover-color)",activeColor:"var(--su-link-variant-muted-active-color)"}}[o==null?void 0:o.linkVariant];r&&(s.style.setProperty("--su-link-variant-default-color",r.color),s.style.setProperty("--su-link-variant-default-hover-color",r.hoverColor),s.style.setProperty("--su-link-variant-default-active-color",r.activeColor))}if(o!=null&&o.linkSize){const r={sm:"sm",md:"md",lg:"lg"}[o==null?void 0:o.linkSize];r&&(s.style.setProperty("--su-link-size-md-font-size",`var(--su-link-size-${r}-font-size)`),s.style.setProperty("--su-link-size-md-line-height",`var(--su-link-size-${r}-line-height)`),s.style.setProperty("--su-link-size-md-padding",`var(--su-link-size-${r}-padding)`),s.style.setProperty("--su-link-size-md-icon-size",`var(--su-link-size-${r}-icon-size)`),s.style.setProperty("--su-link-size-md-icon-only-padding",`var(--su-link-size-${r}-icon-only-padding)`),s.style.setProperty("--su-link-size-md-icon-only-size",`var(--su-link-size-${r}-icon-only-size)`))}o!=null&&o.linkUnderline&&s.style.setProperty("--su-link-default-underline",o==null?void 0:o.linkUnderline),o!=null&&o.dialogDisplay&&s.style.setProperty("--su-dialog-default-display",o==null?void 0:o.dialogDisplay),t.component(`${l}Heading`,De),t.component(`${l}Panel`,ze),t.component(`${l}Badge`,re),t.component(`${l}Dialog`,Ae),t.component(`${l}Image`,se),t.component(`${l}Avatar`,ie),t.component(`${l}AvatarGroup`,Se),t.component(`${l}Tabs`,Re),t.component(`${l}Accordion`,qe),t.component(`${l}AccordionItem`,me),t.component(`${l}Progress`,fe),t.component(`${l}Spinner`,ae),t.component(`${l}Spinner`,Te),t.component(`${l}Button`,ee),t.component(`${l}ButtonGroup`,Ke),t.component(`${l}Link`,oe),t.component(`${l}LinkGroup`,He),t.component(`${l}FloatButton`,Oe),t.component(`${l}Dropdown`,ve),t.component(`${l}Input`,pe),t.component(`${l}Textarea`,be),t.component(`${l}SelectBox`,ye),t.component(`${l}RadioGroup`,he),t.component(`${l}CheckboxGroup`,ke),t.component(`${l}FileUpload`,Ue),t.component(`${l}Switch`,ge),t.component(`${l}Slider`,je),t.component(`${l}Password`,Ge),t.component(`${l}FormField`,Q),t.component(`${l}InputField`,ne),t.component(`${l}TextareaField`,Be),t.component(`${l}SelectBoxField`,xe),t.component(`${l}RadioGroupField`,$e),t.component(`${l}CheckboxGroupField`,we),t.component(`${l}SwitchField`,Ce),t.component(`${l}SliderField`,Ve),t.component(`${l}FileUploadField`,Ee),t.component(`${l}RangeField`,Ze),t.component(`${l}FormFields`,We)}};T.Accordion=qe,T.AccordionItem=me,T.Alert=Te,T.Avatar=ie,T.AvatarGroup=Se,T.Badge=re,T.Button=ee,T.ButtonGroup=Ke,T.CheckboxGroup=ke,T.CheckboxGroupField=we,T.Dialog=Ae,T.Dropdown=ve,T.FileUpload=Ue,T.FileUploadField=Ee,T.FloatButton=Oe,T.FormField=Q,T.FormFields=We,T.Heading=De,T.Image=se,T.Input=pe,T.InputField=ne,T.Link=oe,T.LinkGroup=He,T.Panel=ze,T.Password=Ge,T.Progress=fe,T.RadioGroup=he,T.RadioGroupField=$e,T.RangeField=Ze,T.SelectBox=ye,T.SelectBoxField=xe,T.Slider=je,T.SliderField=Ve,T.Spinner=ae,T.Switch=ge,T.SwitchField=Ce,T.Tabs=Re,T.Textarea=be,T.TextareaField=Be,T.accessibility=Sa,T.default=bn,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -0,0 +1,26 @@
1
+ import { InjectionKey } from 'vue';
2
+ import { DialogDisplay, LinkSize, LinkUnderline, LinkVariant } from '../types';
3
+ export interface SurgeuiTheme {
4
+ textPrimaryColor?: string;
5
+ textSecondaryColor?: string;
6
+ textTeriaryColor?: string;
7
+ button?: {
8
+ bg: string;
9
+ color: string;
10
+ border: string;
11
+ hoverBackground: string;
12
+ hoverShadow: string;
13
+ };
14
+ link?: {
15
+ color: string;
16
+ hoverColor: string;
17
+ hoverBackground: string;
18
+ activeColor: string;
19
+ };
20
+ linkVariant?: Exclude<LinkVariant, 'custom'>;
21
+ linkSize?: Exclude<LinkSize, 'default'>;
22
+ linkUnderline?: Exclude<LinkUnderline, 'default'>;
23
+ dialogDisplay?: Exclude<DialogDisplay, 'center'>;
24
+ }
25
+ export declare const ThemeSymbol: InjectionKey<SurgeuiTheme>;
26
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/plugin/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAElF,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,MAAM,CAAC,EAAE;QACP,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,eAAe,EAAE,MAAM,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QAEb,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,MAAM,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAC;IAKF,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;CACjD;AAED,eAAO,MAAM,WAAW,EAAE,YAAY,CAAC,YAAY,CAA0B,CAAA"}