@ecopages/radiant-ui 0.1.0-beta.3 → 0.1.0-beta.6

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 (185) hide show
  1. package/dist/components/ui/autocomplete/autocomplete.css +135 -0
  2. package/dist/components/ui/autocomplete/autocomplete.d.ts +21 -0
  3. package/dist/components/ui/autocomplete/autocomplete.script.d.ts +42 -0
  4. package/dist/components/ui/autocomplete/index.d.ts +2 -0
  5. package/dist/components/ui/autocomplete/index.js +2 -0
  6. package/dist/components/ui/autocomplete/index.js.map +7 -0
  7. package/dist/components/ui/avatar/avatar.css +58 -0
  8. package/dist/components/ui/avatar/avatar.d.ts +13 -0
  9. package/dist/components/ui/avatar/index.d.ts +1 -0
  10. package/dist/components/ui/avatar/index.js +2 -0
  11. package/dist/components/ui/avatar/index.js.map +7 -0
  12. package/dist/components/ui/button-group/button-group.css +16 -0
  13. package/dist/components/ui/button-group/button-group.d.ts +10 -0
  14. package/dist/components/ui/button-group/index.d.ts +1 -0
  15. package/dist/components/ui/button-group/index.js +2 -0
  16. package/dist/components/ui/button-group/index.js.map +7 -0
  17. package/dist/components/ui/calendar/calendar.css +318 -0
  18. package/dist/components/ui/calendar/calendar.d.ts +5 -0
  19. package/dist/components/ui/calendar/calendar.script.d.ts +89 -0
  20. package/dist/components/ui/calendar/index.d.ts +2 -0
  21. package/dist/components/ui/calendar/index.js +2 -0
  22. package/dist/components/ui/calendar/index.js.map +7 -0
  23. package/dist/components/ui/chip/chip.css +47 -0
  24. package/dist/components/ui/chip/chip.d.ts +11 -0
  25. package/dist/components/ui/chip/index.d.ts +1 -0
  26. package/dist/components/ui/chip/index.js +2 -0
  27. package/dist/components/ui/chip/index.js.map +7 -0
  28. package/dist/components/ui/chip-list/chip-list.css +15 -0
  29. package/dist/components/ui/chip-list/chip-list.d.ts +10 -0
  30. package/dist/components/ui/chip-list/index.d.ts +1 -0
  31. package/dist/components/ui/chip-list/index.js +2 -0
  32. package/dist/components/ui/chip-list/index.js.map +7 -0
  33. package/dist/components/ui/combobox/combobox.css +42 -80
  34. package/dist/components/ui/combobox/combobox.d.ts +12 -20
  35. package/dist/components/ui/combobox/combobox.script.d.ts +15 -14
  36. package/dist/components/ui/combobox/index.d.ts +2 -1
  37. package/dist/components/ui/combobox/index.js +1 -1
  38. package/dist/components/ui/combobox/index.js.map +4 -4
  39. package/dist/components/ui/date-field/date-field.css +184 -0
  40. package/dist/components/ui/date-field/date-field.d.ts +10 -0
  41. package/dist/components/ui/date-field/date-field.script.d.ts +108 -0
  42. package/dist/components/ui/date-field/index.d.ts +2 -0
  43. package/dist/components/ui/date-field/index.js +2 -0
  44. package/dist/components/ui/date-field/index.js.map +7 -0
  45. package/dist/components/ui/date-range-picker/date-range-picker.css +194 -0
  46. package/dist/components/ui/date-range-picker/date-range-picker.d.ts +10 -0
  47. package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +99 -0
  48. package/dist/components/ui/date-range-picker/index.d.ts +2 -0
  49. package/dist/components/ui/date-range-picker/index.js +2 -0
  50. package/dist/components/ui/date-range-picker/index.js.map +7 -0
  51. package/dist/components/ui/dialog/dialog.css +1 -1
  52. package/dist/components/ui/feed/feed.css +169 -5
  53. package/dist/components/ui/feed/feed.d.ts +54 -11
  54. package/dist/components/ui/feed/index.d.ts +1 -2
  55. package/dist/components/ui/feed/index.js +1 -1
  56. package/dist/components/ui/feed/index.js.map +4 -4
  57. package/dist/components/ui/field/index.js +1 -1
  58. package/dist/components/ui/field/index.js.map +3 -3
  59. package/dist/components/ui/form/form-field.test.d.ts +1 -0
  60. package/dist/components/ui/form/index.js +1 -1
  61. package/dist/components/ui/form/index.js.map +3 -3
  62. package/dist/components/ui/heading/heading.css +107 -0
  63. package/dist/components/ui/heading/heading.d.ts +30 -0
  64. package/dist/components/ui/heading/index.d.ts +1 -0
  65. package/dist/components/ui/heading/index.js +2 -0
  66. package/dist/components/ui/heading/index.js.map +7 -0
  67. package/dist/components/ui/headline/headline.css +43 -0
  68. package/dist/components/ui/headline/headline.d.ts +16 -0
  69. package/dist/components/ui/headline/index.d.ts +1 -0
  70. package/dist/components/ui/headline/index.js +2 -0
  71. package/dist/components/ui/headline/index.js.map +7 -0
  72. package/dist/components/ui/input/index.js +1 -1
  73. package/dist/components/ui/input/index.js.map +4 -4
  74. package/dist/components/ui/input/input.d.ts +8 -1
  75. package/dist/components/ui/label/index.js +1 -1
  76. package/dist/components/ui/label/index.js.map +2 -2
  77. package/dist/components/ui/listbox/index.d.ts +1 -1
  78. package/dist/components/ui/listbox/index.js +1 -1
  79. package/dist/components/ui/listbox/index.js.map +4 -4
  80. package/dist/components/ui/listbox/listbox.css +34 -10
  81. package/dist/components/ui/listbox/listbox.d.ts +12 -4
  82. package/dist/components/ui/listbox/listbox.script.d.ts +12 -0
  83. package/dist/components/ui/menu-button/index.js +1 -1
  84. package/dist/components/ui/menu-button/index.js.map +4 -4
  85. package/dist/components/ui/menu-button/menu-button.css +24 -8
  86. package/dist/components/ui/menu-button/menu-button.script.d.ts +3 -4
  87. package/dist/components/ui/menubar/index.js +1 -1
  88. package/dist/components/ui/menubar/index.js.map +4 -4
  89. package/dist/components/ui/menubar/menubar.css +40 -22
  90. package/dist/components/ui/menubar/menubar.script.d.ts +6 -1
  91. package/dist/components/ui/number-field/index.d.ts +2 -0
  92. package/dist/components/ui/number-field/index.js +2 -0
  93. package/dist/components/ui/number-field/index.js.map +7 -0
  94. package/dist/components/ui/number-field/number-field.css +185 -0
  95. package/dist/components/ui/number-field/number-field.d.ts +43 -0
  96. package/dist/components/ui/number-field/number-field.script.d.ts +104 -0
  97. package/dist/components/ui/popover/index.d.ts +4 -0
  98. package/dist/components/ui/popover/index.js +2 -0
  99. package/dist/components/ui/popover/index.js.map +7 -0
  100. package/dist/components/ui/popover/popover.css +132 -0
  101. package/dist/components/ui/popover/popover.d.ts +15 -0
  102. package/dist/components/ui/popover/popover.script.d.ts +85 -0
  103. package/dist/components/ui/select/index.d.ts +3 -0
  104. package/dist/components/ui/select/index.js +2 -0
  105. package/dist/components/ui/select/index.js.map +7 -0
  106. package/dist/components/ui/select/select.css +216 -0
  107. package/dist/components/ui/select/select.d.ts +54 -0
  108. package/dist/components/ui/select/select.script.d.ts +106 -0
  109. package/dist/components/ui/shared/collection-navigation.d.ts +8 -0
  110. package/dist/components/ui/shared/collection-navigation.test.d.ts +1 -0
  111. package/dist/components/ui/shared/control-toggle.css +132 -0
  112. package/dist/components/ui/shared/field-label.d.ts +9 -0
  113. package/dist/components/ui/shared/floating-position.d.ts +13 -2
  114. package/dist/components/ui/shared/listbox-popover-behavior.d.ts +47 -0
  115. package/dist/components/ui/shared/listbox-popover-behavior.test.d.ts +1 -0
  116. package/dist/components/ui/shared/multi-value.d.ts +4 -0
  117. package/dist/components/ui/shared/popover-controller.d.ts +35 -0
  118. package/dist/components/ui/shared/popover-controller.test.d.ts +1 -0
  119. package/dist/components/ui/shared/popover.css +123 -0
  120. package/dist/components/ui/shared/portal.d.ts +7 -0
  121. package/dist/components/ui/shared/portal.test.d.ts +1 -0
  122. package/dist/components/ui/sidebar/index.js +1 -1
  123. package/dist/components/ui/sidebar/index.js.map +3 -3
  124. package/dist/components/ui/slider/index.js +1 -1
  125. package/dist/components/ui/slider/index.js.map +3 -3
  126. package/dist/components/ui/slider/slider.script.d.ts +5 -12
  127. package/dist/components/ui/tag-group/index.d.ts +2 -0
  128. package/dist/components/ui/tag-group/index.js +2 -0
  129. package/dist/components/ui/tag-group/index.js.map +7 -0
  130. package/dist/components/ui/tag-group/tag-group.css +184 -0
  131. package/dist/components/ui/tag-group/tag-group.d.ts +28 -0
  132. package/dist/components/ui/tag-group/tag-group.script.d.ts +65 -0
  133. package/dist/components/ui/textarea/index.js +1 -1
  134. package/dist/components/ui/textarea/index.js.map +2 -2
  135. package/dist/components/ui/toc/index.js +1 -1
  136. package/dist/components/ui/toc/index.js.map +3 -3
  137. package/dist/components/ui/toc/toc.css +1 -1
  138. package/dist/components/ui/toc/toc.ssr.test.d.ts +1 -0
  139. package/dist/components/ui/toc/toc.test.d.ts +1 -0
  140. package/dist/components/ui/tooltip/index.js +1 -1
  141. package/dist/components/ui/tooltip/index.js.map +3 -3
  142. package/dist/index.d.ts +14 -1
  143. package/dist/index.js +1 -1
  144. package/dist/index.js.map +4 -4
  145. package/dist/lib/icons/calendar.d.ts +3 -0
  146. package/dist/lib/icons/chevron-down.d.ts +3 -0
  147. package/dist/lib/icons/index.d.ts +3 -0
  148. package/dist/lib/icons/types.d.ts +4 -0
  149. package/dist/lib/intl/locale.d.ts +3 -0
  150. package/dist/lib/intl-date/calendar.d.ts +25 -0
  151. package/dist/lib/intl-date/formatters.d.ts +13 -0
  152. package/dist/lib/intl-date/index.d.ts +12 -0
  153. package/dist/lib/intl-date/iso.d.ts +6 -0
  154. package/dist/lib/intl-date/months.d.ts +12 -0
  155. package/dist/lib/intl-date/parts.d.ts +15 -0
  156. package/dist/lib/intl-date/parts.test.d.ts +1 -0
  157. package/dist/lib/intl-date/segments.d.ts +32 -0
  158. package/dist/lib/intl-date/segments.test.d.ts +1 -0
  159. package/dist/lib/intl-date/selection.d.ts +39 -0
  160. package/dist/lib/intl-date/selection.test.d.ts +1 -0
  161. package/dist/lib/intl-date/types.d.ts +17 -0
  162. package/dist/lib/intl-number/format.d.ts +9 -0
  163. package/dist/lib/intl-number/index.d.ts +2 -0
  164. package/dist/lib/intl-number/range.d.ts +3 -0
  165. package/dist/lib/intrinsic.d.ts +13 -0
  166. package/dist/lib/mask/date-mask.d.ts +29 -0
  167. package/dist/lib/mask/date-mask.test.d.ts +1 -0
  168. package/dist/lib/mask/index.d.ts +4 -0
  169. package/dist/lib/mask/input-mask.d.ts +52 -0
  170. package/dist/lib/mask/input-mask.test.d.ts +1 -0
  171. package/dist/lib/text-filter.d.ts +7 -0
  172. package/dist/lib/text-filter.test.d.ts +1 -0
  173. package/dist/styles/radiant-ui-core.css +131 -1
  174. package/dist/styles/radiant-ui.css +142 -1
  175. package/dist/styles/styles.css +4504 -2395
  176. package/dist/styles/tailwind.css +142 -1
  177. package/dist/styles/tokens/typography/default.css +8 -0
  178. package/package.json +106 -15
  179. package/dist/components/ui/feed/feed.script.d.ts +0 -22
  180. package/dist/components/ui/spinbutton/index.d.ts +0 -2
  181. package/dist/components/ui/spinbutton/index.js +0 -2
  182. package/dist/components/ui/spinbutton/index.js.map +0 -7
  183. package/dist/components/ui/spinbutton/spinbutton.css +0 -69
  184. package/dist/components/ui/spinbutton/spinbutton.d.ts +0 -5
  185. package/dist/components/ui/spinbutton/spinbutton.script.d.ts +0 -64
@@ -0,0 +1,123 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer components {
4
+ .rui-floating {
5
+ position: fixed;
6
+ visibility: hidden;
7
+ }
8
+ .rui-popover {
9
+ z-index: var(--z-index-popover, var(--z-popover));
10
+ overflow: auto;
11
+ border-radius: var(--radius-container, var(--radius-container));
12
+ border-style: var(--tw-border-style);
13
+ border-width: 1px;
14
+ border-color: var(--color-border, var(--border));
15
+ background-color: var(--color-background, var(--background));
16
+ --tw-shadow: var(--shadow-overlay);
17
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
18
+ }
19
+ .rui-popover--listbox {
20
+ display: flex;
21
+ width: 100%;
22
+ flex-direction: column;
23
+ overflow: hidden;
24
+ padding: 0px;
25
+ }
26
+ .rui-popover[hidden] {
27
+ display: none;
28
+ }
29
+ .rui-popover-trigger {
30
+ display: inline-flex;
31
+ }
32
+ }
33
+ @property --tw-border-style {
34
+ syntax: "*";
35
+ inherits: false;
36
+ initial-value: solid;
37
+ }
38
+ @property --tw-shadow {
39
+ syntax: "*";
40
+ inherits: false;
41
+ initial-value: 0 0 #0000;
42
+ }
43
+ @property --tw-shadow-color {
44
+ syntax: "*";
45
+ inherits: false;
46
+ }
47
+ @property --tw-shadow-alpha {
48
+ syntax: "<percentage>";
49
+ inherits: false;
50
+ initial-value: 100%;
51
+ }
52
+ @property --tw-inset-shadow {
53
+ syntax: "*";
54
+ inherits: false;
55
+ initial-value: 0 0 #0000;
56
+ }
57
+ @property --tw-inset-shadow-color {
58
+ syntax: "*";
59
+ inherits: false;
60
+ }
61
+ @property --tw-inset-shadow-alpha {
62
+ syntax: "<percentage>";
63
+ inherits: false;
64
+ initial-value: 100%;
65
+ }
66
+ @property --tw-ring-color {
67
+ syntax: "*";
68
+ inherits: false;
69
+ }
70
+ @property --tw-ring-shadow {
71
+ syntax: "*";
72
+ inherits: false;
73
+ initial-value: 0 0 #0000;
74
+ }
75
+ @property --tw-inset-ring-color {
76
+ syntax: "*";
77
+ inherits: false;
78
+ }
79
+ @property --tw-inset-ring-shadow {
80
+ syntax: "*";
81
+ inherits: false;
82
+ initial-value: 0 0 #0000;
83
+ }
84
+ @property --tw-ring-inset {
85
+ syntax: "*";
86
+ inherits: false;
87
+ }
88
+ @property --tw-ring-offset-width {
89
+ syntax: "<length>";
90
+ inherits: false;
91
+ initial-value: 0px;
92
+ }
93
+ @property --tw-ring-offset-color {
94
+ syntax: "*";
95
+ inherits: false;
96
+ initial-value: #fff;
97
+ }
98
+ @property --tw-ring-offset-shadow {
99
+ syntax: "*";
100
+ inherits: false;
101
+ initial-value: 0 0 #0000;
102
+ }
103
+ @layer properties {
104
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
105
+ *, ::before, ::after, ::backdrop {
106
+ --tw-border-style: solid;
107
+ --tw-shadow: 0 0 #0000;
108
+ --tw-shadow-color: initial;
109
+ --tw-shadow-alpha: 100%;
110
+ --tw-inset-shadow: 0 0 #0000;
111
+ --tw-inset-shadow-color: initial;
112
+ --tw-inset-shadow-alpha: 100%;
113
+ --tw-ring-color: initial;
114
+ --tw-ring-shadow: 0 0 #0000;
115
+ --tw-inset-ring-color: initial;
116
+ --tw-inset-ring-shadow: 0 0 #0000;
117
+ --tw-ring-inset: initial;
118
+ --tw-ring-offset-width: 0px;
119
+ --tw-ring-offset-color: #fff;
120
+ --tw-ring-offset-shadow: 0 0 #0000;
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,7 @@
1
+ export type PortalHandle = {
2
+ unmount: () => void;
3
+ };
4
+ /**
5
+ * Moves `node` into `container`, leaving a placeholder to restore DOM order on unmount.
6
+ */
7
+ export declare function mountPortal(node: HTMLElement, container?: ParentNode): PortalHandle;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,2 @@
1
- import{jsx as st,jsxs as qe}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as me,bound as ot,customElement as Ye,event as ft,onEvent as Xe,onUpdated as mt,prop as w,query as ut,state as Ne}from"@ecopages/radiant";function _t(i){return i.split(",").map(t=>t.trim()).filter(t=>t.length>0)}var vt,yt,St,wt,xt,Et,Mt,At,Tt,kt,Lt,Rt,Wt,Ct,Ot,Dt,It,zt,jt,Bt,Vt,Ut,Pt,Ht,Kt,Qt,Gt,$t,qt,Yt,Xt,Nt,Jt,Zt,Ft,te,ee,ie,re,ne,ae,se,oe,de,le,ue,ce,he,pe,be;function Ke(i,t,e,r,u,E){var h,s,C,R,A,W,T,$=Symbol.metadata||Symbol.for("Symbol.metadata"),q=Object.defineProperty,U=Object.create,Y=[U(null),U(null)],X=t.length;function I(n,f,p){return function(a,o){f&&(o=a,a=i);for(var m=0;m<n.length;m++)o=n[m].apply(a,p?[o]:[]);return p?o:a}}function v(n,f,p,a){if(typeof n!="function"&&(a||n!==void 0))throw new TypeError(f+" must "+(p||"be")+" a function"+(a?"":" or undefined"));return n}function N(n,f,p,a,o,m,M,b,g,_,Z){function P(l){if(!Z(l))throw new TypeError("Attempted to access private element on non-instance")}var H=[].concat(f[0]),F=f[3],K=!M,O=o===1,tt=o===3,et=o===4,z=o===2;function j(l,k,nt){return function(V,at){return k&&(at=V,V=n),nt&&nt(V),d[l].call(V,at)}}if(!K){var d={},Q=[],y=tt?"get":et||O?"set":"value";if(g?(_||O?d={get:fe(function(){return F(this)},a,"get"),set:function(l){f[4](this,l)}}:d[y]=F,_||fe(d[y],a,z?"":y)):_||(d=Object.getOwnPropertyDescriptor(n,a)),!_&&!g){if((s=Y[+b][a])&&(s^o)!==7)throw Error("Decorating two elements with the same name ("+d[y].name+") is not supported yet");Y[+b][a]=o<3?1:o}}for(var c=n,B=H.length-1;B>=0;B-=p?2:1){var it=v(H[B],"A decorator","be",!0),rt=p?H[B-1]:void 0,G={},D={kind:["field","accessor","method","getter","setter","class"][o],name:a,metadata:h,addInitializer:function(l,k){if(l.v)throw new TypeError("attempted to call addInitializer after decoration was finished");v(k,"An initializer","be",!0),m.push(k)}.bind(null,G)};if(K)s=it.call(rt,c,D),G.v=1,v(s,"class decorators","return")&&(c=s);else if(D.static=b,D.private=g,s=D.access={has:g?Z.bind():function(l){return a in l}},et||(s.get=g?z?function(l){return P(l),d.value}:j("get",0,P):function(l){return l[a]}),z||tt||(s.set=g?j("set",0,P):function(l,k){l[a]=k}),c=it.call(rt,O?{get:d.get,set:d.set}:d[y],D),G.v=1,O){if(typeof c=="object"&&c)(s=v(c.get,"accessor.get"))&&(d.get=s),(s=v(c.set,"accessor.set"))&&(d.set=s),(s=v(c.init,"accessor.init"))&&Q.unshift(s);else if(c!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else v(c,(_?"field":"method")+" decorators","return")&&(_?Q.unshift(c):d[y]=c)}return o<2&&M.push(I(Q,b,1),I(m,b,0)),_||K||(g?O?M.splice(-1,0,j("get",b),j("set",b)):M.push(z?d[y]:v.call.bind(d[y])):q(n,a,d)),c}function J(n){return q(n,$,{configurable:!0,enumerable:!0,value:h})}return E!==void 0&&(h=E[$]),h=U(h??null),A=[],W=function(n){n&&A.push(I(n))},T=function(n,f){for(var p=0;p<e.length;p++){var a=e[p],o=a[1],m=7&o;if((8&o)==n&&!m==f){var M=a[2],b=!!a[3],g=16&o;N(n?i:i.prototype,a,g,b?"#"+M:Qe(M),m,m<2?[]:n?R=R||[]:C=C||[],A,!!n,b,f,n&&b?function(_){return $e(_)===i}:u)}}},T(8,0),T(0,0),T(8,1),T(0,1),W(C),W(R),s=A,X||J(i),{e:s,get c(){var n=[];return X&&[J(i=N(i,[t],r,i.name,5,n)),I(n,1)]}}}function Qe(i){var t=Ge(i,"string");return typeof t=="symbol"?t:t+""}function Ge(i,t){if(typeof i!="object"||!i)return i;var e=i[Symbol.toPrimitive];if(e!==void 0){var r=e.call(i,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(i)}function fe(i,t,e){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(i,"name",{configurable:!0,value:e?e+" "+t:t})}catch{}return i}function $e(i){if(Object(i)!==i)throw TypeError("right-hand side of 'in' should be an object, got "+(i!==null?typeof i:"null"));return i}var Je=256,Ze=48,Fe=200,ti=480,ei=768,ii="b",ge=8,_e=32,ri="a.rui-sidebar__menu-button";function ni(i){return i.metaKey||i.ctrlKey}function ai(){return typeof window<"u"&&typeof window.matchMedia=="function"}function ct(i){return i==="left"||i==="right"}var ht,ve=class extends me{static{({e:[St,wt,xt,Et,Mt,At,Tt,kt,Lt,Rt,Wt,Ct,Ot,Dt,It,zt,jt,Bt,Vt,Ut,Pt,Ht,Kt,Qt,Gt,$t,qt,Yt,Xt,Nt,Jt,Zt,Ft,te,ee,ie,re,ne,ae,se,oe,de,le,ue,ce,he,pe,be,vt],c:[ht,yt]}=Ke(this,[Ye("rui-sidebar")],[[w({type:String,reflect:!0,defaultValue:"sidebar"}),0,"variant"],[w({type:String,reflect:!0,defaultValue:"left"}),0,"side"],[w({type:String,reflect:!0,defaultValue:"off"}),0,"collapsible"],[w({type:Number,defaultValue:Je}),0,"defaultWidth"],[w({type:Number,reflect:!0,attribute:"width"}),0,"width"],[w({type:Number,defaultValue:Fe}),0,"minWidth"],[w({type:Number,defaultValue:ti}),0,"maxWidth"],[w({type:Boolean,defaultValue:!1}),0,"resizable"],[w({type:Boolean,defaultValue:!0}),0,"defaultOpen"],[w({type:Boolean,attribute:"open"}),0,"open"],[w({type:Number,defaultValue:ei}),0,"mobileBreakpoint"],[w({type:String,defaultValue:"Sidebar"}),0,"label"],[w({type:Boolean,reflect:!0,attribute:"match-active"}),0,"matchActive"],[w({type:String,defaultValue:"pathname"}),0,"matchMode"],[w({type:Boolean,attribute:"scroll-active-on-mount"}),0,"scrollActiveOnMount"],[w({type:String,attribute:"navigation-events",defaultValue:""}),0,"navigationEvents"],[ut({ref:"root"}),0,"rootTarget"],[ut({ref:"pane"}),0,"paneTarget"],[ut({ref:"handle"}),0,"handleTarget"],[ut({ref:"scrim"}),0,"scrimTarget"],[ft({name:"rui-sidebar-toggle",bubbles:!0,composed:!0}),0,"toggleEvent"],[ft({name:"rui-sidebar-resize",bubbles:!0,composed:!0}),0,"resizeEvent"],[ft({name:"rui-sidebar-mobile-change",bubbles:!0,composed:!0}),0,"mobileChangeEvent"],[Ne,0,"isMobile"],[mt(["open","collapsible","variant","side","width","defaultWidth","defaultOpen","minWidth","maxWidth","isMobile","resizable"]),2,"onStateUpdated"],[mt(["mobileBreakpoint"]),2,"onMobileBreakpointUpdated"],[mt(["matchActive","matchMode","navigationEvents"]),2,"onMatchSettingsUpdated"],[ot,2,"onPointerMove"],[ot,2,"onPointerUp"],[ot,2,"onHandlePointerDown"],[ot,2,"onHandleKeydown"],[ot,2,"onScrimClick"],[Xe({document:!0,type:"keydown"}),2,"onHostKeydown"]],0,void 0,me))}variant=(vt(this),St(this));side=(wt(this),xt(this));collapsible=(Et(this),Mt(this));defaultWidth=(At(this),Tt(this));width=(kt(this),Lt(this));minWidth=(Rt(this),Wt(this));maxWidth=(Ct(this),Ot(this));resizable=(Dt(this),It(this));defaultOpen=(zt(this),jt(this));open=(Bt(this),Vt(this));mobileBreakpoint=(Ut(this),Pt(this));label=(Ht(this),Kt(this));matchActive=(Qt(this),Gt(this,!1));matchMode=($t(this),qt(this));scrollActiveOnMount=(Yt(this),Xt(this,!1));navigationEvents=(Nt(this),Jt(this,""));rootTarget=(Zt(this),Ft(this));paneTarget=(te(this),ee(this));handleTarget=(ie(this),re(this));scrimTarget=(ne(this),ae(this));toggleEvent=(se(this),oe(this));resizeEvent=(de(this),le(this));mobileChangeEvent=(ue(this),ce(this));isMobile=(he(this),pe(this,!1));mediaQuery=(be(this),null);mediaListener=t=>this.setMobile(t.matches);dragging=!1;dragStartCoord=0;dragStartSize=0;navigationCleanups=[];connectedCallback(){super.connectedCallback(),this.ensureWidthInitialized(),this.setAttribute("role","complementary"),this.setAttribute("aria-label",this.label),this.syncHostAttributes(),this.attachNavigationListeners(),queueMicrotask(()=>{this.open===void 0&&(this.open=this.defaultOpen),this.ensureWidthInitialized(),this.syncHostAttributes(),this.syncPaneWidthVar(),this.bindMobileMediaQuery(),this.syncActiveLinks(this.scrollActiveOnMount)})}disconnectedCallback(){this.endDrag(),this.unbindMobileMediaQuery(),this.detachNavigationListeners(),super.disconnectedCallback()}syncHostAttributes(){let t=this.isOpen()?"expanded":"collapsed";this.setAttribute("data-state",t),this.setAttribute("data-collapsible",this.collapsible),this.setAttribute("data-variant",this.variant),this.setAttribute("data-side",this.side),this.setAttribute("data-mobile",String(this.isMobile)),this.setAttribute("data-pane-width",String(this.paneWidth()))}isOpen(){return this.open!==void 0?this.open:this.defaultOpen}ensureWidthInitialized(){this.hasAttribute("width")||(this.width===void 0||this.width===0)&&(this.width=this.defaultWidth)}onStateUpdated(){this.syncHostAttributes(),this.syncPaneWidthVar()}onMobileBreakpointUpdated(){this.bindMobileMediaQuery()}onMatchSettingsUpdated(){this.detachNavigationListeners(),this.attachNavigationListeners(),this.syncActiveLinks(!1)}syncActiveLinks(t=!1){if(!this.matchActive||typeof window>"u"||typeof window.location>"u")return;let e=window.location.pathname;for(let r of this.querySelectorAll(ri)){let u=this.isLinkActive(r,e);r.classList.toggle("rui-sidebar__menu-button--active",u),u?(r.setAttribute("aria-current","page"),t&&r.scrollIntoView({block:"nearest"})):r.removeAttribute("aria-current")}}isLinkActive(t,e){let r=t.pathname;return this.matchMode==="prefix"?e===r||e.startsWith(`${r}/`):r===e}attachNavigationListeners(){if(!this.matchActive||typeof window>"u"||typeof window.addEventListener!="function")return;let t=()=>this.syncActiveLinks(!1);if(window.addEventListener("popstate",t),this.navigationCleanups.push(()=>window.removeEventListener("popstate",t)),typeof document<"u"&&typeof document.addEventListener=="function")for(let e of _t(this.navigationEvents))document.addEventListener(e,t),this.navigationCleanups.push(()=>document.removeEventListener(e,t))}detachNavigationListeners(){for(let t of this.navigationCleanups)t();this.navigationCleanups=[]}unbindMobileMediaQuery(){this.mediaQuery?.removeEventListener("change",this.mediaListener),this.mediaQuery=null}bindMobileMediaQuery(){if(this.unbindMobileMediaQuery(),this.mobileBreakpoint<=0||!ai()){this.setMobile(!1);return}this.mediaQuery=window.matchMedia(`(max-width: ${this.mobileBreakpoint-1}px)`),this.mediaQuery.addEventListener("change",this.mediaListener),this.setMobile(this.mediaQuery.matches)}setMobile(t){if(t===this.isMobile)return;let e=this.isMobile&&!t;this.isMobile=t,e&&this.collapsible==="off"&&!this.isOpen()?this.setOpen(!0):this.syncPaneWidthVar(),this.mobileChangeEvent.emit({mobile:t})}clampWidth(t){return Math.min(this.maxWidth,Math.max(this.minWidth,t))}paneWidth(){return this.isOpen()?this.width&&this.width>0?this.width:this.defaultWidth:this.isMobile?0:this.collapsible==="icon"?Ze:0}syncPaneWidthVar(t=this.paneWidth()){let e=this.rootTarget;e&&e.style.setProperty("--rui-sidebar-pane-width",`${t}px`),this.paneTarget&&(this.paneTarget.style.removeProperty("width"),this.paneTarget.style.removeProperty("height")),this.setAttribute("data-pane-width",String(t))}applyWidth(t,e){let r=this.clampWidth(t);this.width=r,this.syncPaneWidthVar(r),e&&this.resizeEvent.emit({width:r})}toggle(){this.setOpen(!this.isOpen())}setOpen(t){let e=this.isOpen();if(t===e){this.syncPaneWidthVar();return}this.open=t;let r=t?"expanded":"collapsed";this.setAttribute("data-state",r),this.syncPaneWidthVar(),this.toggleEvent.emit({open:t,state:r})}beginDrag(t){if(t.button!==0||this.collapsible!=="off")return;this.dragging=!0;let e=ct(this.side);this.dragStartCoord=e?t.clientX:t.clientY,this.dragStartSize=this.paneWidth(),this.handleTarget?.setPointerCapture(t.pointerId),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp),document.addEventListener("pointercancel",this.onPointerUp)}endDrag(){this.dragging&&(this.dragging=!1,document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp),document.removeEventListener("pointercancel",this.onPointerUp))}onPointerMove(t){if(!this.dragging)return;let r=ct(this.side)?t.clientX:t.clientY,u=this.side==="right"?this.dragStartCoord-r:r-this.dragStartCoord;this.applyWidth(this.dragStartSize+u,!0)}onPointerUp(){this.endDrag()}onHandlePointerDown(t){t.preventDefault(),this.beginDrag(t)}onHandleKeydown(t){let e=t,r=this.paneWidth(),u=ct(this.side),E=u?"ArrowLeft":"ArrowUp",h=u?"ArrowRight":"ArrowDown",s=r;if(e.key===E)s=r-(e.shiftKey?_e:ge);else if(e.key===h)s=r+(e.shiftKey?_e:ge);else if(e.key==="Home")s=this.minWidth;else if(e.key==="End")s=this.maxWidth;else return;t.preventDefault(),this.applyWidth(s,!0)}onScrimClick(){this.isMobile&&this.setOpen(!1)}onHostKeydown(t){let e=t;if(e.key==="Escape"&&this.isMobile&&this.isOpen()){e.preventDefault(),this.setOpen(!1);return}ni(e)&&e.key.toLowerCase()===ii&&(e.preventDefault(),this.toggle())}render(){let t=ct(this.side),e=this.isOpen(),r=e?"expanded":"collapsed",u=this.resizable&&this.collapsible==="off"&&e&&!this.isMobile,E=`${this.paneWidth()}px`,h=e||!this.isMobile&&this.collapsible==="icon"?void 0:"";return qe("div",{class:"rui-sidebar",style:{"--rui-sidebar-pane-width":E},"data-ref":"root","data-state":r,"data-collapsible":this.collapsible,"data-variant":this.variant,"data-side":this.side,"data-mobile":String(this.isMobile),children:[st("button",{"data-ref":"scrim",type:"button",class:"rui-sidebar__scrim",tabindex:-1,"aria-label":"Close sidebar",hidden:!this.isMobile||!e,"on:click":this.onScrimClick}),st("div",{"data-ref":"pane",class:"rui-sidebar__pane","data-side":this.side,"data-variant":this.variant,"aria-label":this.$.label,inert:h,children:st("slot",{})}),u?st("div",{"data-ref":"handle",class:"rui-sidebar__handle",role:"separator",tabindex:0,"aria-orientation":t?"vertical":"horizontal","aria-valuenow":this.paneWidth(),"aria-valuemin":this.minWidth,"aria-valuemax":this.maxWidth,"aria-label":`${this.label} resize handle`,"on:pointerdown":this.onHandlePointerDown,"on:keydown":this.onHandleKeydown,children:st("span",{class:"rui-sidebar__handle-grip","aria-hidden":"true"})}):null]})}static{yt()}};import{jsx as L,jsxs as dt}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as je,customElement as ui,onEvent as ci,onUpdated as hi,prop as lt,query as pi,state as bi}from"@ecopages/radiant";var ye,Se,we,xe,Ee,Me,Ae,Te,ke,Le,Re,We,Ce,Oe,De,Ie;function si(i,t,e,r,u,E){var h,s,C,R,A,W,T,$=Symbol.metadata||Symbol.for("Symbol.metadata"),q=Object.defineProperty,U=Object.create,Y=[U(null),U(null)],X=t.length;function I(n,f,p){return function(a,o){f&&(o=a,a=i);for(var m=0;m<n.length;m++)o=n[m].apply(a,p?[o]:[]);return p?o:a}}function v(n,f,p,a){if(typeof n!="function"&&(a||n!==void 0))throw new TypeError(f+" must "+(p||"be")+" a function"+(a?"":" or undefined"));return n}function N(n,f,p,a,o,m,M,b,g,_,Z){function P(l){if(!Z(l))throw new TypeError("Attempted to access private element on non-instance")}var H=[].concat(f[0]),F=f[3],K=!M,O=o===1,tt=o===3,et=o===4,z=o===2;function j(l,k,nt){return function(V,at){return k&&(at=V,V=n),nt&&nt(V),d[l].call(V,at)}}if(!K){var d={},Q=[],y=tt?"get":et||O?"set":"value";if(g?(_||O?d={get:ze(function(){return F(this)},a,"get"),set:function(l){f[4](this,l)}}:d[y]=F,_||ze(d[y],a,z?"":y)):_||(d=Object.getOwnPropertyDescriptor(n,a)),!_&&!g){if((s=Y[+b][a])&&(s^o)!==7)throw Error("Decorating two elements with the same name ("+d[y].name+") is not supported yet");Y[+b][a]=o<3?1:o}}for(var c=n,B=H.length-1;B>=0;B-=p?2:1){var it=v(H[B],"A decorator","be",!0),rt=p?H[B-1]:void 0,G={},D={kind:["field","accessor","method","getter","setter","class"][o],name:a,metadata:h,addInitializer:function(l,k){if(l.v)throw new TypeError("attempted to call addInitializer after decoration was finished");v(k,"An initializer","be",!0),m.push(k)}.bind(null,G)};if(K)s=it.call(rt,c,D),G.v=1,v(s,"class decorators","return")&&(c=s);else if(D.static=b,D.private=g,s=D.access={has:g?Z.bind():function(l){return a in l}},et||(s.get=g?z?function(l){return P(l),d.value}:j("get",0,P):function(l){return l[a]}),z||tt||(s.set=g?j("set",0,P):function(l,k){l[a]=k}),c=it.call(rt,O?{get:d.get,set:d.set}:d[y],D),G.v=1,O){if(typeof c=="object"&&c)(s=v(c.get,"accessor.get"))&&(d.get=s),(s=v(c.set,"accessor.set"))&&(d.set=s),(s=v(c.init,"accessor.init"))&&Q.unshift(s);else if(c!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else v(c,(_?"field":"method")+" decorators","return")&&(_?Q.unshift(c):d[y]=c)}return o<2&&M.push(I(Q,b,1),I(m,b,0)),_||K||(g?O?M.splice(-1,0,j("get",b),j("set",b)):M.push(z?d[y]:v.call.bind(d[y])):q(n,a,d)),c}function J(n){return q(n,$,{configurable:!0,enumerable:!0,value:h})}return E!==void 0&&(h=E[$]),h=U(h??null),A=[],W=function(n){n&&A.push(I(n))},T=function(n,f){for(var p=0;p<e.length;p++){var a=e[p],o=a[1],m=7&o;if((8&o)==n&&!m==f){var M=a[2],b=!!a[3],g=16&o;N(n?i:i.prototype,a,g,b?"#"+M:oi(M),m,m<2?[]:n?R=R||[]:C=C||[],A,!!n,b,f,n&&b?function(_){return li(_)===i}:u)}}},T(8,0),T(0,0),T(8,1),T(0,1),W(C),W(R),s=A,X||J(i),{e:s,get c(){var n=[];return X&&[J(i=N(i,[t],r,i.name,5,n)),I(n,1)]}}}function oi(i){var t=di(i,"string");return typeof t=="symbol"?t:t+""}function di(i,t){if(typeof i!="object"||!i)return i;var e=i[Symbol.toPrimitive];if(e!==void 0){var r=e.call(i,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(i)}function ze(i,t,e){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(i,"name",{configurable:!0,value:e?e+" "+t:t})}catch{}return i}function li(i){if(Object(i)!==i)throw TypeError("right-hand side of 'in' should be an object, got "+(i!==null?typeof i:"null"));return i}var pt,Be=class extends je{static{({e:[we,xe,Ee,Me,Ae,Te,ke,Le,Re,We,Ce,Oe,De,Ie,ye],c:[pt,Se]}=si(this,[ui("rui-sidebar-trigger")],[[lt({type:String,defaultValue:""}),0,"controls"],[lt({type:String,attribute:"button-label",defaultValue:"Toggle sidebar"}),0,"buttonLabel"],[lt({type:String,reflect:!0,attribute:"data-placement",defaultValue:""}),0,"placement"],[lt({type:String,defaultValue:"ghost"}),0,"variant"],[lt({type:String,defaultValue:"md"}),0,"size"],[pi({ref:"button"}),0,"buttonTarget"],[bi,0,"sidebarState"],[hi(["controls","buttonLabel","placement"]),2,"onControlsUpdated"],[ci({selector:'button[data-ref="button"]',type:"click"}),2,"onButtonClick"]],0,void 0,je))}controls=(ye(this),we(this));buttonLabel=(xe(this),Ee(this));placement=(Me(this),Ae(this));variant=(Te(this),ke(this));size=(Le(this),Re(this));buttonTarget=(We(this),Ce(this));sidebarState=(Oe(this),De(this,"expanded"));sidebarListener=(Ie(this),null);attachedSidebar=null;connectedCallback(){super.connectedCallback(),this.syncWithSidebar(),queueMicrotask(()=>this.syncWithSidebar())}disconnectedCallback(){this.detachFromSidebar(),super.disconnectedCallback()}onControlsUpdated(){this.detachFromSidebar(),this.syncWithSidebar(),this.applyState(this.attachedSidebar?this.readState(this.attachedSidebar):"expanded")}resolveSidebar(){let t=this.controls?.trim();if(t){let r=document.getElementById(t);if(r)return r}let e=this.closest("rui-sidebar");return e?.id?e:null}syncWithSidebar(){let t=this.resolveSidebar();if(t===this.attachedSidebar){t&&this.applyState(this.readState(t));return}this.detachFromSidebar(),t&&(this.attachedSidebar=t,this.sidebarListener=e=>{let r=e.detail;this.applyState(r.state)},t.addEventListener("rui-sidebar-toggle",this.sidebarListener),this.applyState(this.readState(t)))}detachFromSidebar(){this.attachedSidebar&&this.sidebarListener&&this.attachedSidebar.removeEventListener("rui-sidebar-toggle",this.sidebarListener),this.attachedSidebar=null,this.sidebarListener=null}readState(t){return t.getAttribute("data-state")??"expanded"}resolvedButtonLabel(t=this.sidebarState){if(this.placement==="inset")return t==="expanded"?"Close navigation":"Open navigation";let e=this.getAttribute("data-button-label")?.trim();if(e)return e;let r=this.getAttribute("button-label")?.trim();return r||this.buttonLabel||"Toggle sidebar"}applyState(t){this.sidebarState=t;let e=this.buttonTarget;if(!e)return;let r=this.resolveSidebar(),u=this.resolvedButtonLabel(t);e.setAttribute("aria-expanded",String(t==="expanded")),e.setAttribute("data-sidebar-state",t),e.setAttribute("aria-label",u),r?.id?e.setAttribute("aria-controls",r.id):this.controls&&e.setAttribute("aria-controls",this.controls)}onButtonClick(t){t.preventDefault(),t.stopPropagation();let e=this.resolveSidebar();e&&typeof e.toggle=="function"&&e.toggle()}placementClass(){return this.placement==="header"?"rui-sidebar__trigger--header":this.placement==="inset"?"rui-sidebar__trigger--inset":""}renderMenuIcon(t){return t==="expanded"?dt("svg",{class:"rui-sidebar__trigger-glyph rui-sidebar__trigger-glyph--close",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[L("path",{d:"M18 6 6 18"}),L("path",{d:"m6 6 12 12"})]}):dt("svg",{class:"rui-sidebar__trigger-glyph rui-sidebar__trigger-glyph--menu",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[L("path",{d:"M4 6h16"}),L("path",{d:"M4 12h16"}),L("path",{d:"M4 18h16"})]})}renderDefaultIcon(){let t=this.sidebarState,e=this.placement;return e==="inset"?L("span",{class:"rui-sidebar__trigger-icon","aria-hidden":"true",children:this.renderMenuIcon(t)}):dt("span",{class:"rui-sidebar__trigger-icon","aria-hidden":"true",children:[e==="header"||t==="expanded"?dt("svg",{class:"rui-sidebar__trigger-glyph rui-sidebar__trigger-glyph--collapse",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[L("path",{d:"M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),L("path",{d:"M9 3v18"}),L("path",{d:"m14 15 3-3-3-3"})]}):null,e!=="header"&&t==="collapsed"?dt("svg",{class:"rui-sidebar__trigger-glyph rui-sidebar__trigger-glyph--expand",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[L("path",{d:"M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),L("path",{d:"M9 3v18"}),L("path",{d:"m14 9-3 3 3 3"})]}):null]})}render(){let e=this.resolveSidebar()?.id||this.controls||null,r=this.sidebarState,u=this.resolvedButtonLabel(r);return L("button",{"data-ref":"button",type:"button",class:`rui-button rui-button--${this.variant} rui-button--${this.size} rui-sidebar__trigger ${this.placementClass()}`.trim(),"data-sidebar-state":r,"aria-expanded":String(r==="expanded"),"aria-controls":e||null,"aria-label":u,children:this.renderDefaultIcon()})}static{Se()}};import{jsx as S,jsxs as bt}from"@ecopages/jsx/jsx-runtime";function x(...i){return i.filter(Boolean).join(" ")}var fi=Symbol.for("@ecopages/storybook-radiant.viewElement"),Ve=Symbol.for("@ecopages/storybook-radiant.scriptModule"),Ue=Symbol.for("@ecopages/storybook-radiant.scriptExport");function mi(i,t){i[fi]=t;let e=t[Ve];e&&(i[Ve]=e,i[Ue]=t[Ue]??t.name)}function gt(i,t,e){let r=u=>t(u);return mi(r,i),r}function gi({layout:i="default",siteHeader:t,sidebar:e,children:r,class:u}){return i==="docs"?bt("div",{class:x("rui-sidebar-provider",u),"data-layout":i,children:[t?S("div",{class:"rui-sidebar-provider__site-header",children:t}):null,bt("div",{class:"rui-sidebar-provider__body",children:[e,r]})]}):bt("div",{class:x("rui-sidebar-provider",u),"data-layout":i,children:[e,r]})}function _i({children:i,class:t,"aria-label":e}){return S("div",{class:x("rui-sidebar__header",t),"aria-label":e,children:i})}function vi({children:i,class:t,"aria-label":e}){return S("div",{class:x("rui-sidebar__content",t),"aria-label":e,children:i})}function yi({children:i,class:t}){return S("div",{class:x("rui-sidebar__footer",t),children:i})}function Si({class:i,"aria-label":t}){return S("hr",{role:"separator","aria-orientation":"horizontal","aria-label":t,class:x("rui-sidebar__separator",i)})}function wi({children:i,class:t,"aria-label":e}){return S("section",{class:x("rui-sidebar__group",t),"aria-label":e,children:i})}function Pe({children:i,class:t,id:e}){return S("h2",{id:e,class:x("rui-sidebar__group-label",t),children:i})}function xi({children:i,class:t,"aria-label":e}){return S("button",{type:"button","aria-label":e,class:x("rui-sidebar__group-action",t),children:i})}function Ei({label:i,action:t,class:e}){return bt("div",{class:x("rui-sidebar__group-header",e),children:[S(Pe,{children:i}),t]})}function Mi({children:i,class:t,"aria-label":e}){return S("ul",{role:"list",class:x("rui-sidebar__menu",t),"aria-label":e,children:i})}function Ai({children:i,class:t}){return S("li",{class:x("rui-sidebar__menu-item",t),children:i})}function He({children:i,class:t,isActive:e,as:r,href:u,type:E="button",tooltip:h,disabled:s,onClick:C}){let R=x("rui-sidebar__menu-button",e&&"rui-sidebar__menu-button--active",t),A=h,W=typeof i=="string"?void 0:h;return r==="button"||!r&&!u?S("button",{type:E,class:R,"aria-current":e?"page":void 0,disabled:s,title:A,"aria-label":W,"on:click":C,children:i}):S("a",{href:u,class:R,"aria-current":e?"page":void 0,title:A,"aria-label":W,children:i})}function Ti(i){let{class:t,...e}=i;return S(He,{class:x("rui-sidebar__menu-action",t),...e})}function ki({children:i,class:t,id:e}){return S("main",{id:e,class:x("rui-sidebar__inset",t),children:i})}var Li=gt(ht,({children:i,id:t,defaultOpen:e,open:r,defaultWidth:u,width:E,resizable:h,mobileBreakpoint:s,matchActive:C,matchMode:R,scrollActiveOnMount:A,navigationEvents:W,...T})=>S("rui-sidebar",{...T,id:t,"prop:defaultOpen":e,"prop:open":r,"prop:defaultWidth":u,"prop:width":E,"prop:resizable":h,"prop:mobileBreakpoint":s,"prop:matchActive":C,"prop:matchMode":R,"prop:scrollActiveOnMount":A,"prop:navigationEvents":W,children:i}),{stylesheets:["./sidebar.css"]}),Ri=gt(pt,({children:i,controls:t,triggerLabel:e,placement:r,variant:u,size:E,...h})=>S("rui-sidebar-trigger",{...h,"prop:controls":t,"prop:buttonLabel":e??"Toggle sidebar","attr:data-button-label":e??"Toggle sidebar","prop:placement":r,"attr:data-placement":r,variant:u,size:E,children:i}),{stylesheets:["./sidebar.css"]});export{Li as RuiSidebar,vi as RuiSidebarContent,ht as RuiSidebarElement,yi as RuiSidebarFooter,wi as RuiSidebarGroup,xi as RuiSidebarGroupAction,Ei as RuiSidebarGroupHeader,Pe as RuiSidebarGroupLabel,_i as RuiSidebarHeader,ki as RuiSidebarInset,Mi as RuiSidebarMenu,Ti as RuiSidebarMenuAction,He as RuiSidebarMenuButton,Ai as RuiSidebarMenuItem,gi as RuiSidebarProvider,Si as RuiSidebarSeparator,Ri as RuiSidebarTrigger,pt as RuiSidebarTriggerElement};
1
+ import{jsx as st,jsxs as qe}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as me,bound as ot,customElement as Ye,event as ft,onEvent as Xe,onUpdated as mt,prop as w,query as ut,state as Ne}from"@ecopages/radiant";import{isServer as Je}from"@ecopages/radiant/is-server";function _t(i){return i.split(",").map(t=>t.trim()).filter(t=>t.length>0)}var vt,yt,St,wt,xt,Et,Mt,At,Tt,kt,Lt,Rt,Wt,Ct,Ot,Dt,It,zt,jt,Bt,Vt,Ut,Pt,Ht,Kt,Qt,Gt,$t,qt,Yt,Xt,Nt,Jt,Zt,Ft,te,ee,ie,re,ne,ae,se,oe,de,le,ue,ce,he,pe,be;function Ke(i,t,e,r,u,E){var h,s,C,R,A,W,T,$=Symbol.metadata||Symbol.for("Symbol.metadata"),q=Object.defineProperty,U=Object.create,Y=[U(null),U(null)],X=t.length;function I(n,f,p){return function(a,o){f&&(o=a,a=i);for(var m=0;m<n.length;m++)o=n[m].apply(a,p?[o]:[]);return p?o:a}}function v(n,f,p,a){if(typeof n!="function"&&(a||n!==void 0))throw new TypeError(f+" must "+(p||"be")+" a function"+(a?"":" or undefined"));return n}function N(n,f,p,a,o,m,M,b,g,_,Z){function P(l){if(!Z(l))throw new TypeError("Attempted to access private element on non-instance")}var H=[].concat(f[0]),F=f[3],K=!M,O=o===1,tt=o===3,et=o===4,z=o===2;function j(l,k,nt){return function(V,at){return k&&(at=V,V=n),nt&&nt(V),d[l].call(V,at)}}if(!K){var d={},Q=[],y=tt?"get":et||O?"set":"value";if(g?(_||O?d={get:fe(function(){return F(this)},a,"get"),set:function(l){f[4](this,l)}}:d[y]=F,_||fe(d[y],a,z?"":y)):_||(d=Object.getOwnPropertyDescriptor(n,a)),!_&&!g){if((s=Y[+b][a])&&(s^o)!==7)throw Error("Decorating two elements with the same name ("+d[y].name+") is not supported yet");Y[+b][a]=o<3?1:o}}for(var c=n,B=H.length-1;B>=0;B-=p?2:1){var it=v(H[B],"A decorator","be",!0),rt=p?H[B-1]:void 0,G={},D={kind:["field","accessor","method","getter","setter","class"][o],name:a,metadata:h,addInitializer:function(l,k){if(l.v)throw new TypeError("attempted to call addInitializer after decoration was finished");v(k,"An initializer","be",!0),m.push(k)}.bind(null,G)};if(K)s=it.call(rt,c,D),G.v=1,v(s,"class decorators","return")&&(c=s);else if(D.static=b,D.private=g,s=D.access={has:g?Z.bind():function(l){return a in l}},et||(s.get=g?z?function(l){return P(l),d.value}:j("get",0,P):function(l){return l[a]}),z||tt||(s.set=g?j("set",0,P):function(l,k){l[a]=k}),c=it.call(rt,O?{get:d.get,set:d.set}:d[y],D),G.v=1,O){if(typeof c=="object"&&c)(s=v(c.get,"accessor.get"))&&(d.get=s),(s=v(c.set,"accessor.set"))&&(d.set=s),(s=v(c.init,"accessor.init"))&&Q.unshift(s);else if(c!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else v(c,(_?"field":"method")+" decorators","return")&&(_?Q.unshift(c):d[y]=c)}return o<2&&M.push(I(Q,b,1),I(m,b,0)),_||K||(g?O?M.splice(-1,0,j("get",b),j("set",b)):M.push(z?d[y]:v.call.bind(d[y])):q(n,a,d)),c}function J(n){return q(n,$,{configurable:!0,enumerable:!0,value:h})}return E!==void 0&&(h=E[$]),h=U(h??null),A=[],W=function(n){n&&A.push(I(n))},T=function(n,f){for(var p=0;p<e.length;p++){var a=e[p],o=a[1],m=7&o;if((8&o)==n&&!m==f){var M=a[2],b=!!a[3],g=16&o;N(n?i:i.prototype,a,g,b?"#"+M:Qe(M),m,m<2?[]:n?R=R||[]:C=C||[],A,!!n,b,f,n&&b?function(_){return $e(_)===i}:u)}}},T(8,0),T(0,0),T(8,1),T(0,1),W(C),W(R),s=A,X||J(i),{e:s,get c(){var n=[];return X&&[J(i=N(i,[t],r,i.name,5,n)),I(n,1)]}}}function Qe(i){var t=Ge(i,"string");return typeof t=="symbol"?t:t+""}function Ge(i,t){if(typeof i!="object"||!i)return i;var e=i[Symbol.toPrimitive];if(e!==void 0){var r=e.call(i,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(i)}function fe(i,t,e){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(i,"name",{configurable:!0,value:e?e+" "+t:t})}catch{}return i}function $e(i){if(Object(i)!==i)throw TypeError("right-hand side of 'in' should be an object, got "+(i!==null?typeof i:"null"));return i}var Ze=256,Fe=48,ti=200,ei=480,ii=768,ri="b",ge=8,_e=32,ni="a.rui-sidebar__menu-button";function ai(i){return i.metaKey||i.ctrlKey}function si(){return typeof window<"u"&&typeof window.matchMedia=="function"}function ct(i){return i==="left"||i==="right"}var ht,ve=class extends me{static{({e:[St,wt,xt,Et,Mt,At,Tt,kt,Lt,Rt,Wt,Ct,Ot,Dt,It,zt,jt,Bt,Vt,Ut,Pt,Ht,Kt,Qt,Gt,$t,qt,Yt,Xt,Nt,Jt,Zt,Ft,te,ee,ie,re,ne,ae,se,oe,de,le,ue,ce,he,pe,be,vt],c:[ht,yt]}=Ke(this,[Ye("rui-sidebar")],[[w({type:String,reflect:!0,defaultValue:"sidebar"}),0,"variant"],[w({type:String,reflect:!0,defaultValue:"left"}),0,"side"],[w({type:String,reflect:!0,defaultValue:"off"}),0,"collapsible"],[w({type:Number,defaultValue:Ze}),0,"defaultWidth"],[w({type:Number,reflect:!0,attribute:"width"}),0,"width"],[w({type:Number,defaultValue:ti}),0,"minWidth"],[w({type:Number,defaultValue:ei}),0,"maxWidth"],[w({type:Boolean,defaultValue:!1}),0,"resizable"],[w({type:Boolean,defaultValue:!0}),0,"defaultOpen"],[w({type:Boolean,attribute:"open"}),0,"open"],[w({type:Number,defaultValue:ii}),0,"mobileBreakpoint"],[w({type:String,defaultValue:"Sidebar"}),0,"label"],[w({type:Boolean,reflect:!0,attribute:"match-active"}),0,"matchActive"],[w({type:String,defaultValue:"pathname"}),0,"matchMode"],[w({type:Boolean,attribute:"scroll-active-on-mount"}),0,"scrollActiveOnMount"],[w({type:String,attribute:"navigation-events",defaultValue:""}),0,"navigationEvents"],[ut({ref:"root"}),0,"rootTarget"],[ut({ref:"pane"}),0,"paneTarget"],[ut({ref:"handle"}),0,"handleTarget"],[ut({ref:"scrim"}),0,"scrimTarget"],[ft({name:"rui-sidebar-toggle",bubbles:!0,composed:!0}),0,"toggleEvent"],[ft({name:"rui-sidebar-resize",bubbles:!0,composed:!0}),0,"resizeEvent"],[ft({name:"rui-sidebar-mobile-change",bubbles:!0,composed:!0}),0,"mobileChangeEvent"],[Ne,0,"isMobile"],[mt(["open","collapsible","variant","side","width","defaultWidth","defaultOpen","minWidth","maxWidth","isMobile","resizable"]),2,"onStateUpdated"],[mt(["mobileBreakpoint"]),2,"onMobileBreakpointUpdated"],[mt(["matchActive","matchMode","navigationEvents"]),2,"onMatchSettingsUpdated"],[ot,2,"onPointerMove"],[ot,2,"onPointerUp"],[ot,2,"onHandlePointerDown"],[ot,2,"onHandleKeydown"],[ot,2,"onScrimClick"],[Xe({document:!0,type:"keydown"}),2,"onHostKeydown"]],0,void 0,me))}variant=(vt(this),St(this));side=(wt(this),xt(this));collapsible=(Et(this),Mt(this));defaultWidth=(At(this),Tt(this));width=(kt(this),Lt(this));minWidth=(Rt(this),Wt(this));maxWidth=(Ct(this),Ot(this));resizable=(Dt(this),It(this));defaultOpen=(zt(this),jt(this));open=(Bt(this),Vt(this));mobileBreakpoint=(Ut(this),Pt(this));label=(Ht(this),Kt(this));matchActive=(Qt(this),Gt(this,!1));matchMode=($t(this),qt(this));scrollActiveOnMount=(Yt(this),Xt(this,!1));navigationEvents=(Nt(this),Jt(this,""));rootTarget=(Zt(this),Ft(this));paneTarget=(te(this),ee(this));handleTarget=(ie(this),re(this));scrimTarget=(ne(this),ae(this));toggleEvent=(se(this),oe(this));resizeEvent=(de(this),le(this));mobileChangeEvent=(ue(this),ce(this));isMobile=(he(this),pe(this,!1));mediaQuery=(be(this),null);mediaListener=t=>this.setMobile(t.matches);dragging=!1;dragStartCoord=0;dragStartSize=0;navigationCleanups=[];connectedCallback(){super.connectedCallback(),this.ensureWidthInitialized(),this.setAttribute("role","complementary"),this.setAttribute("aria-label",this.label),this.syncHostAttributes(),this.attachNavigationListeners(),queueMicrotask(()=>{this.open===void 0&&(this.open=this.defaultOpen),this.ensureWidthInitialized(),this.syncHostAttributes(),this.syncPaneWidthVar(),this.bindMobileMediaQuery(),this.syncActiveLinks(this.scrollActiveOnMount)})}disconnectedCallback(){this.endDrag(),this.unbindMobileMediaQuery(),this.detachNavigationListeners(),super.disconnectedCallback()}syncHostAttributes(){let t=this.isOpen()?"expanded":"collapsed";this.setAttribute("data-state",t),this.setAttribute("data-collapsible",this.collapsible),this.setAttribute("data-variant",this.variant),this.setAttribute("data-side",this.side),this.setAttribute("data-mobile",String(this.isMobile)),this.setAttribute("data-pane-width",String(this.paneWidth()))}isOpen(){return this.open!==void 0?this.open:this.defaultOpen}ensureWidthInitialized(){this.hasAttribute("width")||(this.width===void 0||this.width===0)&&(this.width=this.defaultWidth)}onStateUpdated(){this.syncHostAttributes(),this.syncPaneWidthVar()}onMobileBreakpointUpdated(){this.bindMobileMediaQuery()}onMatchSettingsUpdated(){this.detachNavigationListeners(),this.attachNavigationListeners(),this.syncActiveLinks(!1)}syncActiveLinks(t=!1){if(!this.matchActive||typeof window>"u"||typeof window.location>"u")return;let e=window.location.pathname;for(let r of this.querySelectorAll(ni)){let u=this.isLinkActive(r,e);r.classList.toggle("rui-sidebar__menu-button--active",u),u?(r.setAttribute("aria-current","page"),t&&r.scrollIntoView({block:"nearest"})):r.removeAttribute("aria-current")}}isLinkActive(t,e){let r=t.pathname;return this.matchMode==="prefix"?e===r||e.startsWith(`${r}/`):r===e}attachNavigationListeners(){if(Je||!this.isConnected||!this.matchActive||typeof window>"u"||typeof window.addEventListener!="function")return;let t=()=>this.syncActiveLinks(!1);if(window.addEventListener("popstate",t),this.navigationCleanups.push(()=>window.removeEventListener("popstate",t)),typeof document<"u"&&typeof document.addEventListener=="function")for(let e of _t(this.navigationEvents))document.addEventListener(e,t),this.navigationCleanups.push(()=>document.removeEventListener(e,t))}detachNavigationListeners(){for(let t of this.navigationCleanups)t();this.navigationCleanups=[]}unbindMobileMediaQuery(){this.mediaQuery?.removeEventListener("change",this.mediaListener),this.mediaQuery=null}bindMobileMediaQuery(){if(this.unbindMobileMediaQuery(),this.mobileBreakpoint<=0||!si()){this.setMobile(!1);return}this.mediaQuery=window.matchMedia(`(max-width: ${this.mobileBreakpoint-1}px)`),this.mediaQuery.addEventListener("change",this.mediaListener),this.setMobile(this.mediaQuery.matches)}setMobile(t){if(t===this.isMobile)return;let e=this.isMobile&&!t;this.isMobile=t,e&&this.collapsible==="off"&&!this.isOpen()?this.setOpen(!0):this.syncPaneWidthVar(),this.mobileChangeEvent.emit({mobile:t})}clampWidth(t){return Math.min(this.maxWidth,Math.max(this.minWidth,t))}paneWidth(){return this.isOpen()?this.width&&this.width>0?this.width:this.defaultWidth:this.isMobile?0:this.collapsible==="icon"?Fe:0}syncPaneWidthVar(t=this.paneWidth()){let e=this.rootTarget;e&&e.style.setProperty("--rui-sidebar-pane-width",`${t}px`),this.paneTarget&&(this.paneTarget.style.removeProperty("width"),this.paneTarget.style.removeProperty("height")),this.setAttribute("data-pane-width",String(t))}applyWidth(t,e){let r=this.clampWidth(t);this.width=r,this.syncPaneWidthVar(r),e&&this.resizeEvent.emit({width:r})}toggle(){this.setOpen(!this.isOpen())}setOpen(t){let e=this.isOpen();if(t===e){this.syncPaneWidthVar();return}this.open=t;let r=t?"expanded":"collapsed";this.setAttribute("data-state",r),this.syncPaneWidthVar(),this.toggleEvent.emit({open:t,state:r})}beginDrag(t){if(t.button!==0||this.collapsible!=="off")return;this.dragging=!0;let e=ct(this.side);this.dragStartCoord=e?t.clientX:t.clientY,this.dragStartSize=this.paneWidth(),this.handleTarget?.setPointerCapture(t.pointerId),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp),document.addEventListener("pointercancel",this.onPointerUp)}endDrag(){this.dragging&&(this.dragging=!1,document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp),document.removeEventListener("pointercancel",this.onPointerUp))}onPointerMove(t){if(!this.dragging)return;let r=ct(this.side)?t.clientX:t.clientY,u=this.side==="right"?this.dragStartCoord-r:r-this.dragStartCoord;this.applyWidth(this.dragStartSize+u,!0)}onPointerUp(){this.endDrag()}onHandlePointerDown(t){t.preventDefault(),this.beginDrag(t)}onHandleKeydown(t){let e=t,r=this.paneWidth(),u=ct(this.side),E=u?"ArrowLeft":"ArrowUp",h=u?"ArrowRight":"ArrowDown",s=r;if(e.key===E)s=r-(e.shiftKey?_e:ge);else if(e.key===h)s=r+(e.shiftKey?_e:ge);else if(e.key==="Home")s=this.minWidth;else if(e.key==="End")s=this.maxWidth;else return;t.preventDefault(),this.applyWidth(s,!0)}onScrimClick(){this.isMobile&&this.setOpen(!1)}onHostKeydown(t){let e=t;if(e.key==="Escape"&&this.isMobile&&this.isOpen()){e.preventDefault(),this.setOpen(!1);return}ai(e)&&e.key.toLowerCase()===ri&&(e.preventDefault(),this.toggle())}render(){let t=ct(this.side),e=this.isOpen(),r=e?"expanded":"collapsed",u=this.resizable&&this.collapsible==="off"&&e&&!this.isMobile,E=`${this.paneWidth()}px`,h=e||!this.isMobile&&this.collapsible==="icon"?void 0:"";return qe("div",{class:"rui-sidebar",style:{"--rui-sidebar-pane-width":E},"data-ref":"root","data-state":r,"data-collapsible":this.collapsible,"data-variant":this.variant,"data-side":this.side,"data-mobile":String(this.isMobile),children:[st("button",{"data-ref":"scrim",type:"button",class:"rui-sidebar__scrim",tabindex:-1,"aria-label":"Close sidebar",hidden:!this.isMobile||!e,"on:click":this.onScrimClick}),st("div",{"data-ref":"pane",class:"rui-sidebar__pane","data-side":this.side,"data-variant":this.variant,"aria-label":this.$.label,inert:h,children:st("slot",{})}),u?st("div",{"data-ref":"handle",class:"rui-sidebar__handle",role:"separator",tabindex:0,"aria-orientation":t?"vertical":"horizontal","aria-valuenow":this.paneWidth(),"aria-valuemin":this.minWidth,"aria-valuemax":this.maxWidth,"aria-label":`${this.label} resize handle`,"on:pointerdown":this.onHandlePointerDown,"on:keydown":this.onHandleKeydown,children:st("span",{class:"rui-sidebar__handle-grip","aria-hidden":"true"})}):null]})}static{yt()}};import{jsx as L,jsxs as dt}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as je,customElement as ci,onEvent as hi,onUpdated as pi,prop as lt,query as bi,state as fi}from"@ecopages/radiant";var ye,Se,we,xe,Ee,Me,Ae,Te,ke,Le,Re,We,Ce,Oe,De,Ie;function oi(i,t,e,r,u,E){var h,s,C,R,A,W,T,$=Symbol.metadata||Symbol.for("Symbol.metadata"),q=Object.defineProperty,U=Object.create,Y=[U(null),U(null)],X=t.length;function I(n,f,p){return function(a,o){f&&(o=a,a=i);for(var m=0;m<n.length;m++)o=n[m].apply(a,p?[o]:[]);return p?o:a}}function v(n,f,p,a){if(typeof n!="function"&&(a||n!==void 0))throw new TypeError(f+" must "+(p||"be")+" a function"+(a?"":" or undefined"));return n}function N(n,f,p,a,o,m,M,b,g,_,Z){function P(l){if(!Z(l))throw new TypeError("Attempted to access private element on non-instance")}var H=[].concat(f[0]),F=f[3],K=!M,O=o===1,tt=o===3,et=o===4,z=o===2;function j(l,k,nt){return function(V,at){return k&&(at=V,V=n),nt&&nt(V),d[l].call(V,at)}}if(!K){var d={},Q=[],y=tt?"get":et||O?"set":"value";if(g?(_||O?d={get:ze(function(){return F(this)},a,"get"),set:function(l){f[4](this,l)}}:d[y]=F,_||ze(d[y],a,z?"":y)):_||(d=Object.getOwnPropertyDescriptor(n,a)),!_&&!g){if((s=Y[+b][a])&&(s^o)!==7)throw Error("Decorating two elements with the same name ("+d[y].name+") is not supported yet");Y[+b][a]=o<3?1:o}}for(var c=n,B=H.length-1;B>=0;B-=p?2:1){var it=v(H[B],"A decorator","be",!0),rt=p?H[B-1]:void 0,G={},D={kind:["field","accessor","method","getter","setter","class"][o],name:a,metadata:h,addInitializer:function(l,k){if(l.v)throw new TypeError("attempted to call addInitializer after decoration was finished");v(k,"An initializer","be",!0),m.push(k)}.bind(null,G)};if(K)s=it.call(rt,c,D),G.v=1,v(s,"class decorators","return")&&(c=s);else if(D.static=b,D.private=g,s=D.access={has:g?Z.bind():function(l){return a in l}},et||(s.get=g?z?function(l){return P(l),d.value}:j("get",0,P):function(l){return l[a]}),z||tt||(s.set=g?j("set",0,P):function(l,k){l[a]=k}),c=it.call(rt,O?{get:d.get,set:d.set}:d[y],D),G.v=1,O){if(typeof c=="object"&&c)(s=v(c.get,"accessor.get"))&&(d.get=s),(s=v(c.set,"accessor.set"))&&(d.set=s),(s=v(c.init,"accessor.init"))&&Q.unshift(s);else if(c!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else v(c,(_?"field":"method")+" decorators","return")&&(_?Q.unshift(c):d[y]=c)}return o<2&&M.push(I(Q,b,1),I(m,b,0)),_||K||(g?O?M.splice(-1,0,j("get",b),j("set",b)):M.push(z?d[y]:v.call.bind(d[y])):q(n,a,d)),c}function J(n){return q(n,$,{configurable:!0,enumerable:!0,value:h})}return E!==void 0&&(h=E[$]),h=U(h??null),A=[],W=function(n){n&&A.push(I(n))},T=function(n,f){for(var p=0;p<e.length;p++){var a=e[p],o=a[1],m=7&o;if((8&o)==n&&!m==f){var M=a[2],b=!!a[3],g=16&o;N(n?i:i.prototype,a,g,b?"#"+M:di(M),m,m<2?[]:n?R=R||[]:C=C||[],A,!!n,b,f,n&&b?function(_){return ui(_)===i}:u)}}},T(8,0),T(0,0),T(8,1),T(0,1),W(C),W(R),s=A,X||J(i),{e:s,get c(){var n=[];return X&&[J(i=N(i,[t],r,i.name,5,n)),I(n,1)]}}}function di(i){var t=li(i,"string");return typeof t=="symbol"?t:t+""}function li(i,t){if(typeof i!="object"||!i)return i;var e=i[Symbol.toPrimitive];if(e!==void 0){var r=e.call(i,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(i)}function ze(i,t,e){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(i,"name",{configurable:!0,value:e?e+" "+t:t})}catch{}return i}function ui(i){if(Object(i)!==i)throw TypeError("right-hand side of 'in' should be an object, got "+(i!==null?typeof i:"null"));return i}var pt,Be=class extends je{static{({e:[we,xe,Ee,Me,Ae,Te,ke,Le,Re,We,Ce,Oe,De,Ie,ye],c:[pt,Se]}=oi(this,[ci("rui-sidebar-trigger")],[[lt({type:String,defaultValue:""}),0,"controls"],[lt({type:String,attribute:"button-label",defaultValue:"Toggle sidebar"}),0,"buttonLabel"],[lt({type:String,reflect:!0,attribute:"data-placement",defaultValue:""}),0,"placement"],[lt({type:String,defaultValue:"ghost"}),0,"variant"],[lt({type:String,defaultValue:"md"}),0,"size"],[bi({ref:"button"}),0,"buttonTarget"],[fi,0,"sidebarState"],[pi(["controls","buttonLabel","placement"]),2,"onControlsUpdated"],[hi({selector:'button[data-ref="button"]',type:"click"}),2,"onButtonClick"]],0,void 0,je))}controls=(ye(this),we(this));buttonLabel=(xe(this),Ee(this));placement=(Me(this),Ae(this));variant=(Te(this),ke(this));size=(Le(this),Re(this));buttonTarget=(We(this),Ce(this));sidebarState=(Oe(this),De(this,"expanded"));sidebarListener=(Ie(this),null);attachedSidebar=null;connectedCallback(){super.connectedCallback(),this.syncWithSidebar(),queueMicrotask(()=>this.syncWithSidebar())}disconnectedCallback(){this.detachFromSidebar(),super.disconnectedCallback()}onControlsUpdated(){this.detachFromSidebar(),this.syncWithSidebar(),this.applyState(this.attachedSidebar?this.readState(this.attachedSidebar):"expanded")}resolveSidebar(){let t=this.controls?.trim();if(t){let r=document.getElementById(t);if(r)return r}let e=this.closest("rui-sidebar");return e?.id?e:null}syncWithSidebar(){let t=this.resolveSidebar();if(t===this.attachedSidebar){t&&this.applyState(this.readState(t));return}this.detachFromSidebar(),t&&(this.attachedSidebar=t,this.sidebarListener=e=>{let r=e.detail;this.applyState(r.state)},t.addEventListener("rui-sidebar-toggle",this.sidebarListener),this.applyState(this.readState(t)))}detachFromSidebar(){this.attachedSidebar&&this.sidebarListener&&this.attachedSidebar.removeEventListener("rui-sidebar-toggle",this.sidebarListener),this.attachedSidebar=null,this.sidebarListener=null}readState(t){return t.getAttribute("data-state")??"expanded"}resolvedButtonLabel(t=this.sidebarState){if(this.placement==="inset")return t==="expanded"?"Close navigation":"Open navigation";let e=this.getAttribute("data-button-label")?.trim();if(e)return e;let r=this.getAttribute("button-label")?.trim();return r||this.buttonLabel||"Toggle sidebar"}applyState(t){this.sidebarState=t;let e=this.buttonTarget;if(!e)return;let r=this.resolveSidebar(),u=this.resolvedButtonLabel(t);e.setAttribute("aria-expanded",String(t==="expanded")),e.setAttribute("data-sidebar-state",t),e.setAttribute("aria-label",u),r?.id?e.setAttribute("aria-controls",r.id):this.controls&&e.setAttribute("aria-controls",this.controls)}onButtonClick(t){t.preventDefault(),t.stopPropagation();let e=this.resolveSidebar();e&&typeof e.toggle=="function"&&e.toggle()}placementClass(){return this.placement==="header"?"rui-sidebar__trigger--header":this.placement==="inset"?"rui-sidebar__trigger--inset":""}renderMenuIcon(t){return t==="expanded"?dt("svg",{class:"rui-sidebar__trigger-glyph rui-sidebar__trigger-glyph--close",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[L("path",{d:"M18 6 6 18"}),L("path",{d:"m6 6 12 12"})]}):dt("svg",{class:"rui-sidebar__trigger-glyph rui-sidebar__trigger-glyph--menu",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[L("path",{d:"M4 6h16"}),L("path",{d:"M4 12h16"}),L("path",{d:"M4 18h16"})]})}renderDefaultIcon(){let t=this.sidebarState,e=this.placement;return e==="inset"?L("span",{class:"rui-sidebar__trigger-icon","aria-hidden":"true",children:this.renderMenuIcon(t)}):dt("span",{class:"rui-sidebar__trigger-icon","aria-hidden":"true",children:[e==="header"||t==="expanded"?dt("svg",{class:"rui-sidebar__trigger-glyph rui-sidebar__trigger-glyph--collapse",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[L("path",{d:"M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),L("path",{d:"M9 3v18"}),L("path",{d:"m14 15 3-3-3-3"})]}):null,e!=="header"&&t==="collapsed"?dt("svg",{class:"rui-sidebar__trigger-glyph rui-sidebar__trigger-glyph--expand",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[L("path",{d:"M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),L("path",{d:"M9 3v18"}),L("path",{d:"m14 9-3 3 3 3"})]}):null]})}render(){let e=this.resolveSidebar()?.id||this.controls||null,r=this.sidebarState,u=this.resolvedButtonLabel(r);return L("button",{"data-ref":"button",type:"button",class:`rui-button rui-button--${this.variant} rui-button--${this.size} rui-sidebar__trigger ${this.placementClass()}`.trim(),"data-sidebar-state":r,"aria-expanded":String(r==="expanded"),"aria-controls":e||null,"aria-label":u,children:this.renderDefaultIcon()})}static{Se()}};import{jsx as S,jsxs as bt}from"@ecopages/jsx/jsx-runtime";function x(...i){return i.filter(Boolean).join(" ")}var mi=Symbol.for("@ecopages/storybook-radiant.viewElement"),Ve=Symbol.for("@ecopages/storybook-radiant.scriptModule"),Ue=Symbol.for("@ecopages/storybook-radiant.scriptExport");function gi(i,t){i[mi]=t;let e=t[Ve];e&&(i[Ve]=e,i[Ue]=t[Ue]??t.name)}function gt(i,t,e){let r=u=>t(u);return gi(r,i),r}function _i({layout:i="default",siteHeader:t,sidebar:e,children:r,class:u}){return i==="docs"?bt("div",{class:x("rui-sidebar-provider",u),"data-layout":i,children:[t?S("div",{class:"rui-sidebar-provider__site-header",children:t}):null,bt("div",{class:"rui-sidebar-provider__body",children:[e,r]})]}):bt("div",{class:x("rui-sidebar-provider",u),"data-layout":i,children:[e,r]})}function vi({children:i,class:t,"aria-label":e}){return S("div",{class:x("rui-sidebar__header",t),"aria-label":e,children:i})}function yi({children:i,class:t,"aria-label":e}){return S("div",{class:x("rui-sidebar__content",t),"aria-label":e,children:i})}function Si({children:i,class:t}){return S("div",{class:x("rui-sidebar__footer",t),children:i})}function wi({class:i,"aria-label":t}){return S("hr",{role:"separator","aria-orientation":"horizontal","aria-label":t,class:x("rui-sidebar__separator",i)})}function xi({children:i,class:t,"aria-label":e}){return S("section",{class:x("rui-sidebar__group",t),"aria-label":e,children:i})}function Pe({children:i,class:t,id:e}){return S("h2",{id:e,class:x("rui-sidebar__group-label",t),children:i})}function Ei({children:i,class:t,"aria-label":e}){return S("button",{type:"button","aria-label":e,class:x("rui-sidebar__group-action",t),children:i})}function Mi({label:i,action:t,class:e}){return bt("div",{class:x("rui-sidebar__group-header",e),children:[S(Pe,{children:i}),t]})}function Ai({children:i,class:t,"aria-label":e}){return S("ul",{role:"list",class:x("rui-sidebar__menu",t),"aria-label":e,children:i})}function Ti({children:i,class:t}){return S("li",{class:x("rui-sidebar__menu-item",t),children:i})}function He({children:i,class:t,isActive:e,as:r,href:u,type:E="button",tooltip:h,disabled:s,onClick:C}){let R=x("rui-sidebar__menu-button",e&&"rui-sidebar__menu-button--active",t),A=h,W=typeof i=="string"?void 0:h;return r==="button"||!r&&!u?S("button",{type:E,class:R,"aria-current":e?"page":void 0,disabled:s,title:A,"aria-label":W,"on:click":C,children:i}):S("a",{href:u,class:R,"aria-current":e?"page":void 0,title:A,"aria-label":W,children:i})}function ki(i){let{class:t,...e}=i;return S(He,{class:x("rui-sidebar__menu-action",t),...e})}function Li({children:i,class:t,id:e}){return S("main",{id:e,class:x("rui-sidebar__inset",t),children:i})}var Ri=gt(ht,({children:i,id:t,defaultOpen:e,open:r,defaultWidth:u,width:E,resizable:h,mobileBreakpoint:s,matchActive:C,matchMode:R,scrollActiveOnMount:A,navigationEvents:W,...T})=>S("rui-sidebar",{...T,id:t,"prop:defaultOpen":e,"prop:open":r,"prop:defaultWidth":u,"prop:width":E,"prop:resizable":h,"prop:mobileBreakpoint":s,"prop:matchActive":C,"prop:matchMode":R,"prop:scrollActiveOnMount":A,"prop:navigationEvents":W,children:i}),{stylesheets:["./sidebar.css"]}),Wi=gt(pt,({children:i,controls:t,triggerLabel:e,placement:r,variant:u,size:E,...h})=>S("rui-sidebar-trigger",{...h,"prop:controls":t,"prop:buttonLabel":e??"Toggle sidebar","attr:data-button-label":e??"Toggle sidebar","prop:placement":r,"attr:data-placement":r,variant:u,size:E,children:i}),{stylesheets:["./sidebar.css"]});export{Ri as RuiSidebar,yi as RuiSidebarContent,ht as RuiSidebarElement,Si as RuiSidebarFooter,xi as RuiSidebarGroup,Ei as RuiSidebarGroupAction,Mi as RuiSidebarGroupHeader,Pe as RuiSidebarGroupLabel,vi as RuiSidebarHeader,Li as RuiSidebarInset,Ai as RuiSidebarMenu,ki as RuiSidebarMenuAction,He as RuiSidebarMenuButton,Ti as RuiSidebarMenuItem,_i as RuiSidebarProvider,wi as RuiSidebarSeparator,Wi as RuiSidebarTrigger,pt as RuiSidebarTriggerElement};
2
2
  //# sourceMappingURL=index.js.map