@ecopages/radiant-ui 0.2.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/README.md +2 -0
  2. package/dist/components/ui/alert/alert.d.ts +1 -3
  3. package/dist/components/ui/alert/alert.script.d.ts +7 -0
  4. package/dist/components/ui/alert/index.js +1 -1
  5. package/dist/components/ui/alert/index.js.map +3 -3
  6. package/dist/components/ui/autocomplete/autocomplete.d.ts +1 -2
  7. package/dist/components/ui/autocomplete/autocomplete.script.d.ts +7 -0
  8. package/dist/components/ui/autocomplete/index.js +1 -1
  9. package/dist/components/ui/autocomplete/index.js.map +3 -3
  10. package/dist/components/ui/breadcrumb/breadcrumb.d.ts +1 -2
  11. package/dist/components/ui/breadcrumb/breadcrumb.script.d.ts +7 -0
  12. package/dist/components/ui/breadcrumb/index.js +1 -1
  13. package/dist/components/ui/breadcrumb/index.js.map +3 -3
  14. package/dist/components/ui/calendar/calendar.script.d.ts +8 -0
  15. package/dist/components/ui/calendar/index.d.ts +1 -2
  16. package/dist/components/ui/calendar/index.js +1 -1
  17. package/dist/components/ui/calendar/index.js.map +4 -4
  18. package/dist/components/ui/carousel/carousel.d.ts +1 -2
  19. package/dist/components/ui/carousel/carousel.script.d.ts +7 -0
  20. package/dist/components/ui/carousel/index.js +1 -1
  21. package/dist/components/ui/carousel/index.js.map +3 -3
  22. package/dist/components/ui/checkbox/checkbox.d.ts +1 -2
  23. package/dist/components/ui/checkbox/checkbox.script.d.ts +7 -0
  24. package/dist/components/ui/checkbox/index.js +1 -1
  25. package/dist/components/ui/checkbox/index.js.map +3 -3
  26. package/dist/components/ui/checkbox-group/checkbox-group.d.ts +1 -2
  27. package/dist/components/ui/checkbox-group/checkbox-group.script.d.ts +7 -0
  28. package/dist/components/ui/checkbox-group/index.js +1 -1
  29. package/dist/components/ui/checkbox-group/index.js.map +3 -3
  30. package/dist/components/ui/combobox/combobox.d.ts +1 -2
  31. package/dist/components/ui/combobox/combobox.script.d.ts +7 -0
  32. package/dist/components/ui/combobox/index.js +1 -1
  33. package/dist/components/ui/combobox/index.js.map +3 -3
  34. package/dist/components/ui/cycle-toggle/cycle-toggle.d.ts +1 -2
  35. package/dist/components/ui/cycle-toggle/cycle-toggle.script.d.ts +7 -0
  36. package/dist/components/ui/cycle-toggle/index.js +1 -1
  37. package/dist/components/ui/cycle-toggle/index.js.map +3 -3
  38. package/dist/components/ui/date-field/date-field.d.ts +1 -3
  39. package/dist/components/ui/date-field/date-field.script.d.ts +7 -0
  40. package/dist/components/ui/date-field/index.js +1 -1
  41. package/dist/components/ui/date-field/index.js.map +4 -4
  42. package/dist/components/ui/date-input/date-input.d.ts +1 -2
  43. package/dist/components/ui/date-input/date-input.script.d.ts +8 -0
  44. package/dist/components/ui/date-input/index.js +1 -1
  45. package/dist/components/ui/date-input/index.js.map +3 -3
  46. package/dist/components/ui/date-range-picker/date-range-picker.d.ts +1 -3
  47. package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +7 -0
  48. package/dist/components/ui/date-range-picker/index.js +1 -1
  49. package/dist/components/ui/date-range-picker/index.js.map +4 -4
  50. package/dist/components/ui/dialog/dialog-registry.d.ts +0 -1
  51. package/dist/components/ui/dialog/dialog.d.ts +1 -2
  52. package/dist/components/ui/dialog/dialog.script.d.ts +7 -0
  53. package/dist/components/ui/dialog/index.js +1 -1
  54. package/dist/components/ui/dialog/index.js.map +3 -3
  55. package/dist/components/ui/disclosure/disclosure-group.script.d.ts +7 -0
  56. package/dist/components/ui/disclosure/disclosure.d.ts +2 -4
  57. package/dist/components/ui/disclosure/disclosure.script.d.ts +7 -0
  58. package/dist/components/ui/disclosure/index.js +1 -1
  59. package/dist/components/ui/disclosure/index.js.map +3 -3
  60. package/dist/components/ui/field/field.d.ts +1 -2
  61. package/dist/components/ui/field/field.script.d.ts +7 -0
  62. package/dist/components/ui/field/index.js +1 -1
  63. package/dist/components/ui/field/index.js.map +3 -3
  64. package/dist/components/ui/form/form.d.ts +1 -2
  65. package/dist/components/ui/form/form.script.d.ts +7 -0
  66. package/dist/components/ui/form/index.js +1 -1
  67. package/dist/components/ui/form/index.js.map +3 -3
  68. package/dist/components/ui/grid/grid.d.ts +1 -2
  69. package/dist/components/ui/grid/grid.script.d.ts +7 -0
  70. package/dist/components/ui/grid/index.js +1 -1
  71. package/dist/components/ui/grid/index.js.map +3 -3
  72. package/dist/components/ui/hover-card/hover-card.d.ts +1 -2
  73. package/dist/components/ui/hover-card/hover-card.script.d.ts +7 -0
  74. package/dist/components/ui/hover-card/index.js +1 -1
  75. package/dist/components/ui/hover-card/index.js.map +3 -3
  76. package/dist/components/ui/knob/index.js +1 -1
  77. package/dist/components/ui/knob/index.js.map +3 -3
  78. package/dist/components/ui/knob/knob.d.ts +1 -2
  79. package/dist/components/ui/knob/knob.script.d.ts +7 -0
  80. package/dist/components/ui/listbox/index.js +1 -1
  81. package/dist/components/ui/listbox/index.js.map +3 -3
  82. package/dist/components/ui/listbox/listbox.d.ts +1 -2
  83. package/dist/components/ui/listbox/listbox.script.d.ts +7 -0
  84. package/dist/components/ui/menu-button/index.js +1 -1
  85. package/dist/components/ui/menu-button/index.js.map +3 -3
  86. package/dist/components/ui/menu-button/menu-button.d.ts +1 -2
  87. package/dist/components/ui/menu-button/menu-button.script.d.ts +7 -0
  88. package/dist/components/ui/menubar/index.js +1 -1
  89. package/dist/components/ui/menubar/index.js.map +3 -3
  90. package/dist/components/ui/menubar/menubar.d.ts +1 -2
  91. package/dist/components/ui/menubar/menubar.script.d.ts +7 -0
  92. package/dist/components/ui/meter/index.d.ts +1 -2
  93. package/dist/components/ui/meter/index.js +1 -1
  94. package/dist/components/ui/meter/index.js.map +4 -4
  95. package/dist/components/ui/meter/meter.script.d.ts +8 -0
  96. package/dist/components/ui/navigation-menu/index.js +1 -1
  97. package/dist/components/ui/navigation-menu/index.js.map +3 -3
  98. package/dist/components/ui/navigation-menu/navigation-menu.css +2 -1
  99. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +1 -2
  100. package/dist/components/ui/navigation-menu/navigation-menu.script.d.ts +7 -0
  101. package/dist/components/ui/number-field/index.js +1 -1
  102. package/dist/components/ui/number-field/index.js.map +3 -3
  103. package/dist/components/ui/number-field/number-field.d.ts +1 -2
  104. package/dist/components/ui/number-field/number-field.script.d.ts +7 -0
  105. package/dist/components/ui/pagination/index.js +1 -1
  106. package/dist/components/ui/pagination/index.js.map +3 -3
  107. package/dist/components/ui/pagination/pagination.d.ts +1 -2
  108. package/dist/components/ui/pagination/pagination.script.d.ts +7 -0
  109. package/dist/components/ui/popover/index.js +1 -1
  110. package/dist/components/ui/popover/index.js.map +3 -3
  111. package/dist/components/ui/popover/popover.d.ts +1 -2
  112. package/dist/components/ui/popover/popover.script.d.ts +9 -0
  113. package/dist/components/ui/radio-group/index.js +1 -1
  114. package/dist/components/ui/radio-group/index.js.map +3 -3
  115. package/dist/components/ui/radio-group/radio-group.d.ts +1 -2
  116. package/dist/components/ui/radio-group/radio-group.script.d.ts +7 -0
  117. package/dist/components/ui/select/index.js +1 -1
  118. package/dist/components/ui/select/index.js.map +3 -3
  119. package/dist/components/ui/select/select.d.ts +1 -2
  120. package/dist/components/ui/select/select.script.d.ts +7 -0
  121. package/dist/components/ui/sidebar/index.js +1 -1
  122. package/dist/components/ui/sidebar/index.js.map +3 -3
  123. package/dist/components/ui/sidebar/sidebar-trigger.d.ts +1 -2
  124. package/dist/components/ui/sidebar/sidebar-trigger.script.d.ts +7 -0
  125. package/dist/components/ui/sidebar/sidebar.d.ts +1 -3
  126. package/dist/components/ui/sidebar/sidebar.script.d.ts +7 -0
  127. package/dist/components/ui/slider/index.js +1 -1
  128. package/dist/components/ui/slider/index.js.map +3 -3
  129. package/dist/components/ui/slider/slider.d.ts +1 -2
  130. package/dist/components/ui/slider/slider.script.d.ts +7 -0
  131. package/dist/components/ui/switch/index.js +1 -1
  132. package/dist/components/ui/switch/index.js.map +3 -3
  133. package/dist/components/ui/switch/switch.d.ts +1 -2
  134. package/dist/components/ui/switch/switch.script.d.ts +7 -0
  135. package/dist/components/ui/table/index.js +1 -1
  136. package/dist/components/ui/table/index.js.map +3 -3
  137. package/dist/components/ui/table/table.d.ts +1 -2
  138. package/dist/components/ui/table/table.script.d.ts +7 -0
  139. package/dist/components/ui/tabs/index.d.ts +2 -2
  140. package/dist/components/ui/tabs/index.js +1 -1
  141. package/dist/components/ui/tabs/index.js.map +3 -3
  142. package/dist/components/ui/tabs/tabs.d.ts +1 -4
  143. package/dist/components/ui/tabs/tabs.script.d.ts +7 -0
  144. package/dist/components/ui/tag-group/index.js +1 -1
  145. package/dist/components/ui/tag-group/index.js.map +3 -3
  146. package/dist/components/ui/tag-group/tag-group.d.ts +1 -2
  147. package/dist/components/ui/tag-group/tag-group.script.d.ts +7 -0
  148. package/dist/components/ui/toast/index.d.ts +2 -2
  149. package/dist/components/ui/toast/index.js +1 -1
  150. package/dist/components/ui/toast/index.js.map +3 -3
  151. package/dist/components/ui/toast/toast.d.ts +2 -9
  152. package/dist/components/ui/toast/toast.script.d.ts +8 -0
  153. package/dist/components/ui/toast/toaster.script.d.ts +8 -1
  154. package/dist/components/ui/toc/index.d.ts +6 -2
  155. package/dist/components/ui/toc/index.js +1 -1
  156. package/dist/components/ui/toc/index.js.map +4 -4
  157. package/dist/components/ui/toc/toc.script.d.ts +8 -0
  158. package/dist/components/ui/toolbar/index.js +1 -1
  159. package/dist/components/ui/toolbar/index.js.map +3 -3
  160. package/dist/components/ui/toolbar/toolbar.d.ts +1 -2
  161. package/dist/components/ui/toolbar/toolbar.script.d.ts +7 -0
  162. package/dist/components/ui/tooltip/index.js +1 -1
  163. package/dist/components/ui/tooltip/index.js.map +3 -3
  164. package/dist/components/ui/tooltip/tooltip.d.ts +1 -2
  165. package/dist/components/ui/tooltip/tooltip.script.d.ts +7 -0
  166. package/dist/components/ui/tree/index.js +1 -1
  167. package/dist/components/ui/tree/index.js.map +3 -3
  168. package/dist/components/ui/tree/tree.d.ts +1 -2
  169. package/dist/components/ui/tree/tree.script.d.ts +7 -0
  170. package/dist/components/ui/treegrid/index.js +1 -1
  171. package/dist/components/ui/treegrid/index.js.map +3 -3
  172. package/dist/components/ui/treegrid/treegrid.d.ts +1 -2
  173. package/dist/components/ui/treegrid/treegrid.script.d.ts +7 -0
  174. package/dist/components/ui/window-splitter/index.js +1 -1
  175. package/dist/components/ui/window-splitter/index.js.map +3 -3
  176. package/dist/components/ui/window-splitter/window-splitter.d.ts +1 -2
  177. package/dist/components/ui/window-splitter/window-splitter.script.d.ts +7 -0
  178. package/dist/index.js +1 -1
  179. package/dist/index.js.map +4 -4
  180. package/dist/styles/radiant-ui-core.css +3 -0
  181. package/dist/styles/radiant-ui.css +3 -0
  182. package/dist/styles/styles.css +1 -1
  183. package/dist/styles/tailwind.css +3 -0
  184. package/package.json +11 -11
  185. package/dist/components/ui/calendar/calendar.d.ts +0 -6
  186. package/dist/components/ui/meter/meter.d.ts +0 -10
  187. package/dist/components/ui/toc/toc.d.ts +0 -7
@@ -1,3 +1,4 @@
1
+ import type { JSX_PROPS } from '@ecopages/jsx';
1
2
  import { RadiantElement } from '@ecopages/radiant';
2
3
  import type { EventEmitter } from '@ecopages/radiant/tools/event-emitter';
3
4
  import { type ViewMultiValue } from '../shared/multi-value';
@@ -78,6 +79,7 @@ export type RuiTableRowActionDetail = {
78
79
  * BEM classes live on the view; the host never queries them.
79
80
  */
80
81
  export declare class RuiTable extends RadiantElement {
82
+ readonly [JSX_PROPS]?: RuiTableProps;
81
83
  label: string;
82
84
  ariaBusy: 'true' | 'false';
83
85
  selectionMode: RuiTableSelectionMode;
@@ -124,3 +126,8 @@ export declare class RuiTable extends RadiantElement {
124
126
  onSelectAllChange(event: CustomEvent<RuiCheckboxChangeDetail>): void;
125
127
  onSortClick(event: Event): void;
126
128
  }
129
+ declare global {
130
+ interface HTMLElementTagNameMap {
131
+ 'rui-table': RuiTable;
132
+ }
133
+ }
@@ -1,3 +1,3 @@
1
- export { RuiTabs as RuiTabsElement, type RuiTabsProps, type RuiTabsVariant, type RuiTabsChangeDetail, } from './tabs.script';
2
- export { RuiTabs, RuiTabList, RuiTab, RuiTabPanels, RuiTabPanel } from './tabs';
1
+ export { RuiTabs, RuiTabs as RuiTabsElement, type RuiTabsProps, type RuiTabsVariant, type RuiTabsChangeDetail, } from './tabs.script';
2
+ export { RuiTabList, RuiTab, RuiTabPanels, RuiTabPanel } from './tabs';
3
3
  export type { RuiTabListProps, RuiTabProps, RuiTabPanelsProps, RuiTabPanelProps } from './tabs';
@@ -1,2 +1,2 @@
1
- import{RadiantElement as yt,customElement as Ot,event as It,onEvent as xt,onUpdated as kt,prop as M}from"@ecopages/radiant";function wt(e,t){e.forEach((n,l)=>{let u=l===t?0:-1;n.tabIndex!==u&&(n.tabIndex=u)})}function Et(e,t){if(!e.length)return null;let n=Math.max(0,Math.min(e.length-1,t));return wt(e,n),e[n]?.focus(),e[n]??null}function Rt(e,t){return e==="Home"?"first":e==="End"?"last":t==="horizontal"?e==="ArrowRight"?"next":e==="ArrowLeft"?"prev":null:e==="ArrowDown"?"next":e==="ArrowUp"?"prev":null}function it(e){let{items:t,current:n,key:l,orientation:u="horizontal",wrap:d=!0}=e;if(!t.length||!n)return{handled:!1};let r=t.indexOf(n);if(r<0)return{handled:!1};let a=Rt(l,u);if(!a)return{handled:!1};let h=r;a==="first"?h=0:a==="last"?h=t.length-1:a==="next"?h=d?(r+1)%t.length:Math.min(t.length-1,r+1):h=d?(r-1+t.length)%t.length:Math.max(0,r-1);let E=Et(t,h);return E?{handled:!0,index:h,item:E}:{handled:!1}}var ot,lt,st,ut,ct,bt,ft,dt,ht,pt,vt,gt;function St(e,t,n,l,u,d){var r,a,h,E,I,K,S,J=Symbol.metadata||Symbol.for("Symbol.metadata"),Q=Object.defineProperty,U=Object.create,W=[U(null),U(null)],X=t.length;function k(i,g,p){return function(o,s){g&&(s=o,o=e);for(var m=0;m<i.length;m++)s=i[m].apply(o,p?[s]:[]);return p?s:o}}function _(i,g,p,o){if(typeof i!="function"&&(o||i!==void 0))throw new TypeError(g+" must "+(p||"be")+" a function"+(o?"":" or undefined"));return i}function Y(i,g,p,o,s,m,w,v,y,x,H){function $(b){if(!H(b))throw new TypeError("Attempted to access private element on non-instance")}var q=[].concat(g[0]),F=g[3],B=!w,A=s===1,N=s===3,tt=s===4,C=s===2;function D(b,R,rt){return function(z,at){return R&&(at=z,z=i),rt&&rt(z),c[b].call(z,at)}}if(!B){var c={},P=[],T=N?"get":tt||A?"set":"value";if(y?(x||A?c={get:mt(function(){return F(this)},o,"get"),set:function(b){g[4](this,b)}}:c[T]=F,x||mt(c[T],o,C?"":T)):x||(c=Object.getOwnPropertyDescriptor(i,o)),!x&&!y){if((a=W[+v][o])&&(a^s)!==7)throw Error("Decorating two elements with the same name ("+c[T].name+") is not supported yet");W[+v][o]=s<3?1:s}}for(var f=i,L=q.length-1;L>=0;L-=p?2:1){var et=_(q[L],"A decorator","be",!0),nt=p?q[L-1]:void 0,G={},j={kind:["field","accessor","method","getter","setter","class"][s],name:o,metadata:r,addInitializer:function(b,R){if(b.v)throw new TypeError("attempted to call addInitializer after decoration was finished");_(R,"An initializer","be",!0),m.push(R)}.bind(null,G)};if(B)a=et.call(nt,f,j),G.v=1,_(a,"class decorators","return")&&(f=a);else if(j.static=v,j.private=y,a=j.access={has:y?H.bind():function(b){return o in b}},tt||(a.get=y?C?function(b){return $(b),c.value}:D("get",0,$):function(b){return b[o]}),C||N||(a.set=y?D("set",0,$):function(b,R){b[o]=R}),f=et.call(nt,A?{get:c.get,set:c.set}:c[T],j),G.v=1,A){if(typeof f=="object"&&f)(a=_(f.get,"accessor.get"))&&(c.get=a),(a=_(f.set,"accessor.set"))&&(c.set=a),(a=_(f.init,"accessor.init"))&&P.unshift(a);else if(f!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else _(f,(x?"field":"method")+" decorators","return")&&(x?P.unshift(f):c[T]=f)}return s<2&&w.push(k(P,v,1),k(m,v,0)),x||B||(y?A?w.splice(-1,0,D("get",v),D("set",v)):w.push(C?c[T]:_.call.bind(c[T])):Q(i,o,c)),f}function Z(i){return Q(i,J,{configurable:!0,enumerable:!0,value:r})}return d!==void 0&&(r=d[J]),r=U(r??null),I=[],K=function(i){i&&I.push(k(i))},S=function(i,g){for(var p=0;p<n.length;p++){var o=n[p],s=o[1],m=7&s;if((8&s)==i&&!m==g){var w=o[2],v=!!o[3],y=16&s;Y(i?e:e.prototype,o,y,v?"#"+w:At(w),m,m<2?[]:i?E=E||[]:h=h||[],I,!!i,v,g,i&&v?function(x){return Vt(x)===e}:u)}}},S(8,0),S(0,0),S(8,1),S(0,1),K(h),K(E),a=I,X||Z(e),{e:a,get c(){var i=[];return X&&[Z(e=Y(e,[t],l,e.name,5,i)),k(i,1)]}}}function At(e){var t=jt(e,"string");return typeof t=="symbol"?t:t+""}function jt(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var l=n.call(e,t||"default");if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function mt(e,t,n){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch{}return e}function Vt(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(e!==null?typeof e:"null"));return e}var Tt,_t=class extends yt{static{({e:[st,ut,ct,bt,ft,dt,ht,pt,vt,gt,ot],c:[Tt,lt]}=St(this,[Ot("rui-tabs")],[[M({type:String,reflect:!0,defaultValue:"boxed"}),0,"variant"],[M({type:String,reflect:!0,defaultValue:""}),0,"value"],[M({type:String,defaultValue:""}),0,"label"],[M({type:Boolean,defaultValue:!0}),0,"automatic"],[It({name:"rui-change",bubbles:!0,composed:!0}),0,"changeEvent"],[kt(["value","label"]),2,"onPropsUpdated"],[xt({selector:'[role="tab"]',type:"click"}),2,"onTabClick"],[xt({selector:'[role="tab"]',type:"keydown"}),2,"onTabKeydown"]],0,void 0,yt))}variant=(ot(this),st(this));value=(ut(this),ct(this));label=(bt(this),ft(this));automatic=(dt(this),ht(this));changeEvent=(pt(this),vt(this));childObserver=(gt(this),null);connectedCallback(){super.connectedCallback(),this.childObserver=new MutationObserver(()=>this.resync()),this.childObserver.observe(this,{childList:!0,subtree:!0})}onConnected(){this.resync()}disconnectedCallback(){this.childObserver?.disconnect(),this.childObserver=null,super.disconnectedCallback()}onPropsUpdated(){this.resync()}resync(){this.syncTablistLabel(),this.syncSelection(this.value||this.getTabValue(this.getTabs()[0])||"")}getTabs(){return Array.from(this.querySelectorAll('[role="tab"]'))}getPanels(){return Array.from(this.querySelectorAll('[role="tabpanel"]'))}getTabValue(t){return t?t.dataset.tabValue??t.id.replace(/^tab-/,""):""}syncTablistLabel(){let t=this.querySelector('[role="tablist"]');!t||t.hasAttribute("aria-label")||!this.label||t.setAttribute("aria-label",this.label)}syncSelection(t){let n=this.getTabs(),l=this.getPanels();if(!n.length)return;let u=n.find(r=>this.getTabValue(r)===t)??n.find(r=>r.id===t)??n[0],d=this.getTabValue(u);this.value=d;for(let r of n){let a=r===u;r.setAttribute("aria-selected",String(a)),r.tabIndex=a?0:-1}for(let r of l){let h=(r.dataset.tabValue??r.id.replace(/^panel-/,""))===d;r.hidden=!h,r.hasAttribute("tabindex")||(r.tabIndex=0)}}activateTab(t){!t||t.getAttribute("aria-disabled")==="true"||(this.syncSelection(this.getTabValue(t)),this.changeEvent.emit({value:this.value}))}onTabClick(t){let n=t.target.closest('[role="tab"]');!n||!this.contains(n)||this.activateTab(n)}onTabKeydown(t){let n=this.getTabs(),l=t.target.closest('[role="tab"]');if(!l||!n.includes(l))return;if(t.key==="Enter"||t.key===" "){t.preventDefault(),this.activateTab(l);return}let u=it({items:n,current:l,key:t.key,orientation:"horizontal"});u.handled&&(t.preventDefault(),this.automatic&&this.activateTab(u.item))}static{lt()}};import{jsx as O}from"@ecopages/jsx/jsx-runtime";function V(...e){return e.filter(Boolean).join(" ")}function Ct({children:e,class:t,...n}){return O("div",{...n,class:V("rui-tabs__list",t),role:"tablist",children:e})}function Dt({id:e,children:t,class:n,disabled:l,selected:u,...d}){return O("button",{...d,type:"button",class:V("rui-tabs__tab",n),role:"tab",id:`tab-${e}`,"data-tab-value":e,"aria-controls":`panel-${e}`,"aria-selected":u?"true":"false",tabindex:u?0:-1,disabled:l,children:t})}function Lt({children:e,class:t,...n}){return O("div",{...n,class:V("rui-tabs__panels",t),children:e})}function zt({id:e,children:t,class:n,selected:l,hidden:u,...d}){return O("div",{...d,class:V("rui-tabs__panel",n),role:"tabpanel",id:`panel-${e}`,"data-tab-value":e,"aria-labelledby":`tab-${e}`,tabindex:0,hidden:l===void 0?u:!l,children:t})}function Mt({children:e,...t}){return O("rui-tabs",{...t,children:e})}export{Dt as RuiTab,Ct as RuiTabList,zt as RuiTabPanel,Lt as RuiTabPanels,Mt as RuiTabs,Tt as RuiTabsElement};
1
+ import{RadiantElement as xt,customElement as Ot,event as It,onEvent as _t,onUpdated as kt,prop as z}from"@ecopages/radiant";function wt(e,t){e.forEach((n,o)=>{let u=o===t?0:-1;n.tabIndex!==u&&(n.tabIndex=u)})}function Et(e,t){if(!e.length)return null;let n=Math.max(0,Math.min(e.length-1,t));return wt(e,n),e[n]?.focus(),e[n]??null}function Rt(e,t){return e==="Home"?"first":e==="End"?"last":t==="horizontal"?e==="ArrowRight"?"next":e==="ArrowLeft"?"prev":null:e==="ArrowDown"?"next":e==="ArrowUp"?"prev":null}function lt(e){let{items:t,current:n,key:o,orientation:u="horizontal",wrap:d=!0}=e;if(!t.length||!n)return{handled:!1};let r=t.indexOf(n);if(r<0)return{handled:!1};let a=Rt(o,u);if(!a)return{handled:!1};let h=r;a==="first"?h=0:a==="last"?h=t.length-1:a==="next"?h=d?(r+1)%t.length:Math.min(t.length-1,r+1):h=d?(r-1+t.length)%t.length:Math.max(0,r-1);let E=Et(t,h);return E?{handled:!0,index:h,item:E}:{handled:!1}}var ot,st,ut,ct,bt,ft,dt,ht,pt,vt,gt,mt;function St(e,t,n,o,u,d){var r,a,h,E,O,K,S,Q=Symbol.metadata||Symbol.for("Symbol.metadata"),W=Object.defineProperty,U=Object.create,X=[U(null),U(null)],Y=t.length;function I(i,g,p){return function(l,s){g&&(s=l,l=e);for(var m=0;m<i.length;m++)s=i[m].apply(l,p?[s]:[]);return p?s:l}}function _(i,g,p,l){if(typeof i!="function"&&(l||i!==void 0))throw new TypeError(g+" must "+(p||"be")+" a function"+(l?"":" or undefined"));return i}function Z(i,g,p,l,s,m,w,v,y,x,F){function $(b){if(!F(b))throw new TypeError("Attempted to access private element on non-instance")}var q=[].concat(g[0]),N=g[3],B=!w,A=s===1,tt=s===3,et=s===4,k=s===2;function C(b,R,at){return function(L,it){return R&&(it=L,L=i),at&&at(L),c[b].call(L,it)}}if(!B){var c={},P=[],T=tt?"get":et||A?"set":"value";if(y?(x||A?c={get:yt(function(){return N(this)},l,"get"),set:function(b){g[4](this,b)}}:c[T]=N,x||yt(c[T],l,k?"":T)):x||(c=Object.getOwnPropertyDescriptor(i,l)),!x&&!y){if((a=X[+v][l])&&(a^s)!==7)throw Error("Decorating two elements with the same name ("+c[T].name+") is not supported yet");X[+v][l]=s<3?1:s}}for(var f=i,D=q.length-1;D>=0;D-=p?2:1){var nt=_(q[D],"A decorator","be",!0),rt=p?q[D-1]:void 0,G={},j={kind:["field","accessor","method","getter","setter","class"][s],name:l,metadata:r,addInitializer:function(b,R){if(b.v)throw new TypeError("attempted to call addInitializer after decoration was finished");_(R,"An initializer","be",!0),m.push(R)}.bind(null,G)};if(B)a=nt.call(rt,f,j),G.v=1,_(a,"class decorators","return")&&(f=a);else if(j.static=v,j.private=y,a=j.access={has:y?F.bind():function(b){return l in b}},et||(a.get=y?k?function(b){return $(b),c.value}:C("get",0,$):function(b){return b[l]}),k||tt||(a.set=y?C("set",0,$):function(b,R){b[l]=R}),f=nt.call(rt,A?{get:c.get,set:c.set}:c[T],j),G.v=1,A){if(typeof f=="object"&&f)(a=_(f.get,"accessor.get"))&&(c.get=a),(a=_(f.set,"accessor.set"))&&(c.set=a),(a=_(f.init,"accessor.init"))&&P.unshift(a);else if(f!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else _(f,(x?"field":"method")+" decorators","return")&&(x?P.unshift(f):c[T]=f)}return s<2&&w.push(I(P,v,1),I(m,v,0)),x||B||(y?A?w.splice(-1,0,C("get",v),C("set",v)):w.push(k?c[T]:_.call.bind(c[T])):W(i,l,c)),f}function H(i){return W(i,Q,{configurable:!0,enumerable:!0,value:r})}return d!==void 0&&(r=d[Q]),r=U(r??null),O=[],K=function(i){i&&O.push(I(i))},S=function(i,g){for(var p=0;p<n.length;p++){var l=n[p],s=l[1],m=7&s;if((8&s)==i&&!m==g){var w=l[2],v=!!l[3],y=16&s;Z(i?e:e.prototype,l,y,v?"#"+w:At(w),m,m<2?[]:i?E=E||[]:h=h||[],O,!!i,v,g,i&&v?function(x){return Vt(x)===e}:u)}}},S(8,0),S(0,0),S(8,1),S(0,1),K(h),K(E),a=O,Y||H(e),{e:a,get c(){var i=[];return Y&&[H(e=Z(e,[t],o,e.name,5,i)),I(i,1)]}}}function At(e){var t=jt(e,"string");return typeof t=="symbol"?t:t+""}function jt(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var o=n.call(e,t||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function yt(e,t,n){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch{}return e}function Vt(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(e!==null?typeof e:"null"));return e}var J,Tt=class extends xt{static{({e:[ut,ct,bt,ft,dt,ht,pt,vt,gt,mt,ot],c:[J,st]}=St(this,[Ot("rui-tabs")],[[z({type:String,reflect:!0,defaultValue:"boxed"}),0,"variant"],[z({type:String,reflect:!0,defaultValue:""}),0,"value"],[z({type:String,defaultValue:""}),0,"label"],[z({type:Boolean,defaultValue:!0}),0,"automatic"],[It({name:"rui-change",bubbles:!0,composed:!0}),0,"changeEvent"],[kt(["value","label"]),2,"onPropsUpdated"],[_t({selector:'[role="tab"]',type:"click"}),2,"onTabClick"],[_t({selector:'[role="tab"]',type:"keydown"}),2,"onTabKeydown"]],0,void 0,xt))}variant=(ot(this),ut(this));value=(ct(this),bt(this));label=(ft(this),dt(this));automatic=(ht(this),pt(this));changeEvent=(vt(this),gt(this));childObserver=(mt(this),null);connectedCallback(){super.connectedCallback(),this.childObserver=new MutationObserver(()=>this.resync()),this.childObserver.observe(this,{childList:!0,subtree:!0})}onConnected(){this.resync()}disconnectedCallback(){this.childObserver?.disconnect(),this.childObserver=null,super.disconnectedCallback()}onPropsUpdated(){this.resync()}resync(){this.syncTablistLabel(),this.syncSelection(this.value||this.getTabValue(this.getTabs()[0])||"")}getTabs(){return Array.from(this.querySelectorAll('[role="tab"]'))}getPanels(){return Array.from(this.querySelectorAll('[role="tabpanel"]'))}getTabValue(t){return t?t.dataset.tabValue??t.id.replace(/^tab-/,""):""}syncTablistLabel(){let t=this.querySelector('[role="tablist"]');!t||t.hasAttribute("aria-label")||!this.label||t.setAttribute("aria-label",this.label)}syncSelection(t){let n=this.getTabs(),o=this.getPanels();if(!n.length)return;let u=n.find(r=>this.getTabValue(r)===t)??n.find(r=>r.id===t)??n[0],d=this.getTabValue(u);this.value=d;for(let r of n){let a=r===u;r.setAttribute("aria-selected",String(a)),r.tabIndex=a?0:-1}for(let r of o){let h=(r.dataset.tabValue??r.id.replace(/^panel-/,""))===d;r.hidden=!h,r.hasAttribute("tabindex")||(r.tabIndex=0)}}activateTab(t){!t||t.getAttribute("aria-disabled")==="true"||(this.syncSelection(this.getTabValue(t)),this.changeEvent.emit({value:this.value}))}onTabClick(t){let n=t.target.closest('[role="tab"]');!n||!this.contains(n)||this.activateTab(n)}onTabKeydown(t){let n=this.getTabs(),o=t.target.closest('[role="tab"]');if(!o||!n.includes(o))return;if(t.key==="Enter"||t.key===" "){t.preventDefault(),this.activateTab(o);return}let u=lt({items:n,current:o,key:t.key,orientation:"horizontal"});u.handled&&(t.preventDefault(),this.automatic&&this.activateTab(u.item))}static{st()}};import{jsx as M}from"@ecopages/jsx/jsx-runtime";function V(...e){return e.filter(Boolean).join(" ")}function Ct({children:e,class:t,...n}){return M("div",{...n,class:V("rui-tabs__list",t),role:"tablist",children:e})}function Dt({id:e,children:t,class:n,disabled:o,selected:u,...d}){return M("button",{...d,type:"button",class:V("rui-tabs__tab",n),role:"tab",id:`tab-${e}`,"data-tab-value":e,"aria-controls":`panel-${e}`,"aria-selected":u?"true":"false",tabindex:u?0:-1,disabled:o,children:t})}function Lt({children:e,class:t,...n}){return M("div",{...n,class:V("rui-tabs__panels",t),children:e})}function zt({id:e,children:t,class:n,selected:o,hidden:u,...d}){return M("div",{...d,class:V("rui-tabs__panel",n),role:"tabpanel",id:`panel-${e}`,"data-tab-value":e,"aria-labelledby":`tab-${e}`,tabindex:0,hidden:o===void 0?u:!o,children:t})}export{Dt as RuiTab,Ct as RuiTabList,zt as RuiTabPanel,Lt as RuiTabPanels,J as RuiTabs,J as RuiTabsElement};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/ui/tabs/tabs.script.tsx", "../../../../src/lib/roving-tabindex.ts", "../../../../src/components/ui/tabs/tabs.tsx", "../../../../src/lib/cx.ts"],
4
- "sourcesContent": ["let _initProto, _initClass, _init_variant, _init_extra_variant, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_automatic, _init_extra_automatic, _init_changeEvent, _init_extra_changeEvent;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, customElement, event, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nimport { navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nlet _RuiTabs;\nclass RuiTabs extends RadiantElement {\n static {\n ({\n e: [_init_variant, _init_extra_variant, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_automatic, _init_extra_automatic, _init_changeEvent, _init_extra_changeEvent, _initProto],\n c: [_RuiTabs, _initClass]\n } = _applyDecs(this, [customElement(\"rui-tabs\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"boxed\"\n }), 0, \"variant\"], [prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: Boolean,\n defaultValue: true\n }), 0, \"automatic\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [onUpdated([\"value\", \"label\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: '[role=\"tab\"]',\n type: \"click\"\n }), 2, \"onTabClick\"], [onEvent({\n selector: '[role=\"tab\"]',\n type: \"keydown\"\n }), 2, \"onTabKeydown\"]], 0, void 0, RadiantElement));\n }\n variant = (_initProto(this), _init_variant(this));\n value = (_init_extra_variant(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n automatic = (_init_extra_label(this), _init_automatic(this));\n changeEvent = (_init_extra_automatic(this), _init_changeEvent(this));\n childObserver = (_init_extra_changeEvent(this), null);\n connectedCallback() {\n super.connectedCallback();\n this.childObserver = new MutationObserver(() => this.resync());\n this.childObserver.observe(this, {\n childList: true,\n subtree: true\n });\n }\n onConnected() {\n this.resync();\n }\n disconnectedCallback() {\n this.childObserver?.disconnect();\n this.childObserver = null;\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.resync();\n }\n /** Re-applies tablist labeling and selected/hidden state from the current `value`. */\n resync() {\n this.syncTablistLabel();\n this.syncSelection(this.value || this.getTabValue(this.getTabs()[0]) || \"\");\n }\n getTabs() {\n return Array.from(this.querySelectorAll('[role=\"tab\"]'));\n }\n getPanels() {\n return Array.from(this.querySelectorAll('[role=\"tabpanel\"]'));\n }\n getTabValue(tab) {\n if (!tab) return \"\";\n return tab.dataset.tabValue ?? tab.id.replace(/^tab-/, \"\");\n }\n syncTablistLabel() {\n const tablist = this.querySelector('[role=\"tablist\"]');\n if (!tablist || tablist.hasAttribute(\"aria-label\") || !this.label) return;\n tablist.setAttribute(\"aria-label\", this.label);\n }\n syncSelection(nextValue) {\n const tabs = this.getTabs();\n const panels = this.getPanels();\n if (!tabs.length) return;\n const selected = tabs.find(tab => this.getTabValue(tab) === nextValue) ?? tabs.find(tab => tab.id === nextValue) ?? tabs[0];\n const selectedValue = this.getTabValue(selected);\n this.value = selectedValue;\n for (const tab of tabs) {\n const isSelected = tab === selected;\n tab.setAttribute(\"aria-selected\", String(isSelected));\n tab.tabIndex = isSelected ? 0 : -1;\n }\n for (const panel of panels) {\n const panelValue = panel.dataset.tabValue ?? panel.id.replace(/^panel-/, \"\");\n const isSelected = panelValue === selectedValue;\n panel.hidden = !isSelected;\n if (!panel.hasAttribute(\"tabindex\")) {\n panel.tabIndex = 0;\n }\n }\n }\n activateTab(tab) {\n if (!tab || tab.getAttribute(\"aria-disabled\") === \"true\") return;\n this.syncSelection(this.getTabValue(tab));\n this.changeEvent.emit({\n value: this.value\n });\n }\n onTabClick(event2) {\n const tab = event2.target.closest('[role=\"tab\"]');\n if (!tab || !this.contains(tab)) return;\n this.activateTab(tab);\n }\n onTabKeydown(event2) {\n const tabs = this.getTabs();\n const current = event2.target.closest('[role=\"tab\"]');\n if (!current || !tabs.includes(current)) return;\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n this.activateTab(current);\n return;\n }\n const result = navigateRovingTabindex({\n items: tabs,\n current,\n key: event2.key,\n orientation: \"horizontal\"\n });\n if (!result.handled) return;\n event2.preventDefault();\n if (this.automatic) this.activateTab(result.item);\n }\n static {\n _initClass();\n }\n}\nexport { _RuiTabs as RuiTabs };", "export function applyRovingTabindex(items, activeIndex) {\n items.forEach((item, index) => {\n const next = index === activeIndex ? 0 : -1;\n if (item.tabIndex !== next) {\n item.tabIndex = next;\n }\n });\n}\nexport function focusRovingItem(items, index) {\n if (!items.length) return null;\n const next = Math.max(0, Math.min(items.length - 1, index));\n applyRovingTabindex(items, next);\n items[next]?.focus();\n return items[next] ?? null;\n}\nfunction deltaForKey(key, orientation) {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"horizontal\") {\n if (key === \"ArrowRight\") return \"next\";\n if (key === \"ArrowLeft\") return \"prev\";\n return null;\n }\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"prev\";\n return null;\n}\nexport function navigateRovingTabindex(options) {\n const {\n items,\n current,\n key,\n orientation = \"horizontal\",\n wrap = true\n } = options;\n if (!items.length || !current) return {\n handled: false\n };\n const index = items.indexOf(current);\n if (index < 0) return {\n handled: false\n };\n const delta = deltaForKey(key, orientation);\n if (!delta) return {\n handled: false\n };\n let next = index;\n if (delta === \"first\") next = 0;else if (delta === \"last\") next = items.length - 1;else if (delta === \"next\") next = wrap ? (index + 1) % items.length : Math.min(items.length - 1, index + 1);else next = wrap ? (index - 1 + items.length) % items.length : Math.max(0, index - 1);\n const item = focusRovingItem(items, next);\n if (!item) return {\n handled: false\n };\n return {\n handled: true,\n index: next,\n item\n };\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport \"./tabs.script\";\nexport function RuiTabList({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-tabs__list\", className),\n role: \"tablist\",\n children\n });\n}\nexport function RuiTab({\n id,\n children,\n class: className,\n disabled,\n selected,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n class: cx(\"rui-tabs__tab\", className),\n role: \"tab\",\n id: `tab-${id}`,\n \"data-tab-value\": id,\n \"aria-controls\": `panel-${id}`,\n \"aria-selected\": selected ? \"true\" : \"false\",\n tabindex: selected ? 0 : -1,\n disabled,\n children\n });\n}\nexport function RuiTabPanels({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-tabs__panels\", className),\n children\n });\n}\nexport function RuiTabPanel({\n id,\n children,\n class: className,\n selected,\n hidden,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-tabs__panel\", className),\n role: \"tabpanel\",\n id: `panel-${id}`,\n \"data-tab-value\": id,\n \"aria-labelledby\": `tab-${id}`,\n tabindex: 0,\n hidden: selected === void 0 ? hidden : !selected,\n children\n });\n}\nexport function RuiTabs({\n children,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-tabs\", {\n ...props,\n children\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
5
- "mappings": "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",
6
- "names": ["RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "applyRovingTabindex", "items", "activeIndex", "item", "index", "next", "focusRovingItem", "deltaForKey", "key", "orientation", "navigateRovingTabindex", "options", "current", "wrap", "delta", "_initProto", "_initClass", "_init_variant", "_init_extra_variant", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_automatic", "_init_extra_automatic", "_init_changeEvent", "_init_extra_changeEvent", "_applyDecs", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "n", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiTabs", "RuiTabs", "RadiantElement", "customElement", "prop", "event", "onUpdated", "onEvent", "tab", "tablist", "nextValue", "tabs", "panels", "selected", "selectedValue", "isSelected", "panel", "event2", "current", "result", "navigateRovingTabindex", "jsx", "cx", "parts", "RuiTabList", "children", "className", "props", "jsx", "cx", "RuiTab", "id", "disabled", "selected", "RuiTabPanels", "RuiTabPanel", "hidden", "RuiTabs"]
4
+ "sourcesContent": ["let _initProto, _initClass, _init_variant, _init_extra_variant, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_automatic, _init_extra_automatic, _init_changeEvent, _init_extra_changeEvent;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, customElement, event, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nimport { navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nlet _RuiTabs;\nclass RuiTabs extends RadiantElement {\n static {\n ({\n e: [_init_variant, _init_extra_variant, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_automatic, _init_extra_automatic, _init_changeEvent, _init_extra_changeEvent, _initProto],\n c: [_RuiTabs, _initClass]\n } = _applyDecs(this, [customElement(\"rui-tabs\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"boxed\"\n }), 0, \"variant\"], [prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: Boolean,\n defaultValue: true\n }), 0, \"automatic\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [onUpdated([\"value\", \"label\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: '[role=\"tab\"]',\n type: \"click\"\n }), 2, \"onTabClick\"], [onEvent({\n selector: '[role=\"tab\"]',\n type: \"keydown\"\n }), 2, \"onTabKeydown\"]], 0, void 0, RadiantElement));\n }\n variant = (_initProto(this), _init_variant(this));\n value = (_init_extra_variant(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n automatic = (_init_extra_label(this), _init_automatic(this));\n changeEvent = (_init_extra_automatic(this), _init_changeEvent(this));\n childObserver = (_init_extra_changeEvent(this), null);\n connectedCallback() {\n super.connectedCallback();\n this.childObserver = new MutationObserver(() => this.resync());\n this.childObserver.observe(this, {\n childList: true,\n subtree: true\n });\n }\n onConnected() {\n this.resync();\n }\n disconnectedCallback() {\n this.childObserver?.disconnect();\n this.childObserver = null;\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.resync();\n }\n /** Re-applies tablist labeling and selected/hidden state from the current `value`. */\n resync() {\n this.syncTablistLabel();\n this.syncSelection(this.value || this.getTabValue(this.getTabs()[0]) || \"\");\n }\n getTabs() {\n return Array.from(this.querySelectorAll('[role=\"tab\"]'));\n }\n getPanels() {\n return Array.from(this.querySelectorAll('[role=\"tabpanel\"]'));\n }\n getTabValue(tab) {\n if (!tab) return \"\";\n return tab.dataset.tabValue ?? tab.id.replace(/^tab-/, \"\");\n }\n syncTablistLabel() {\n const tablist = this.querySelector('[role=\"tablist\"]');\n if (!tablist || tablist.hasAttribute(\"aria-label\") || !this.label) return;\n tablist.setAttribute(\"aria-label\", this.label);\n }\n syncSelection(nextValue) {\n const tabs = this.getTabs();\n const panels = this.getPanels();\n if (!tabs.length) return;\n const selected = tabs.find(tab => this.getTabValue(tab) === nextValue) ?? tabs.find(tab => tab.id === nextValue) ?? tabs[0];\n const selectedValue = this.getTabValue(selected);\n this.value = selectedValue;\n for (const tab of tabs) {\n const isSelected = tab === selected;\n tab.setAttribute(\"aria-selected\", String(isSelected));\n tab.tabIndex = isSelected ? 0 : -1;\n }\n for (const panel of panels) {\n const panelValue = panel.dataset.tabValue ?? panel.id.replace(/^panel-/, \"\");\n const isSelected = panelValue === selectedValue;\n panel.hidden = !isSelected;\n if (!panel.hasAttribute(\"tabindex\")) {\n panel.tabIndex = 0;\n }\n }\n }\n activateTab(tab) {\n if (!tab || tab.getAttribute(\"aria-disabled\") === \"true\") return;\n this.syncSelection(this.getTabValue(tab));\n this.changeEvent.emit({\n value: this.value\n });\n }\n onTabClick(event2) {\n const tab = event2.target.closest('[role=\"tab\"]');\n if (!tab || !this.contains(tab)) return;\n this.activateTab(tab);\n }\n onTabKeydown(event2) {\n const tabs = this.getTabs();\n const current = event2.target.closest('[role=\"tab\"]');\n if (!current || !tabs.includes(current)) return;\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n this.activateTab(current);\n return;\n }\n const result = navigateRovingTabindex({\n items: tabs,\n current,\n key: event2.key,\n orientation: \"horizontal\"\n });\n if (!result.handled) return;\n event2.preventDefault();\n if (this.automatic) this.activateTab(result.item);\n }\n static {\n _initClass();\n }\n}\nexport { _RuiTabs as RuiTabs };", "export function applyRovingTabindex(items, activeIndex) {\n items.forEach((item, index) => {\n const next = index === activeIndex ? 0 : -1;\n if (item.tabIndex !== next) {\n item.tabIndex = next;\n }\n });\n}\nexport function focusRovingItem(items, index) {\n if (!items.length) return null;\n const next = Math.max(0, Math.min(items.length - 1, index));\n applyRovingTabindex(items, next);\n items[next]?.focus();\n return items[next] ?? null;\n}\nfunction deltaForKey(key, orientation) {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"horizontal\") {\n if (key === \"ArrowRight\") return \"next\";\n if (key === \"ArrowLeft\") return \"prev\";\n return null;\n }\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"prev\";\n return null;\n}\nexport function navigateRovingTabindex(options) {\n const {\n items,\n current,\n key,\n orientation = \"horizontal\",\n wrap = true\n } = options;\n if (!items.length || !current) return {\n handled: false\n };\n const index = items.indexOf(current);\n if (index < 0) return {\n handled: false\n };\n const delta = deltaForKey(key, orientation);\n if (!delta) return {\n handled: false\n };\n let next = index;\n if (delta === \"first\") next = 0;else if (delta === \"last\") next = items.length - 1;else if (delta === \"next\") next = wrap ? (index + 1) % items.length : Math.min(items.length - 1, index + 1);else next = wrap ? (index - 1 + items.length) % items.length : Math.max(0, index - 1);\n const item = focusRovingItem(items, next);\n if (!item) return {\n handled: false\n };\n return {\n handled: true,\n index: next,\n item\n };\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nexport function RuiTabList({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-tabs__list\", className),\n role: \"tablist\",\n children\n });\n}\nexport function RuiTab({\n id,\n children,\n class: className,\n disabled,\n selected,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n class: cx(\"rui-tabs__tab\", className),\n role: \"tab\",\n id: `tab-${id}`,\n \"data-tab-value\": id,\n \"aria-controls\": `panel-${id}`,\n \"aria-selected\": selected ? \"true\" : \"false\",\n tabindex: selected ? 0 : -1,\n disabled,\n children\n });\n}\nexport function RuiTabPanels({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-tabs__panels\", className),\n children\n });\n}\nexport function RuiTabPanel({\n id,\n children,\n class: className,\n selected,\n hidden,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-tabs__panel\", className),\n role: \"tabpanel\",\n id: `panel-${id}`,\n \"data-tab-value\": id,\n \"aria-labelledby\": `tab-${id}`,\n tabindex: 0,\n hidden: selected === void 0 ? hidden : !selected,\n children\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
5
+ "mappings": "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",
6
+ "names": ["RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "applyRovingTabindex", "items", "activeIndex", "item", "index", "next", "focusRovingItem", "deltaForKey", "key", "orientation", "navigateRovingTabindex", "options", "current", "wrap", "delta", "_initProto", "_initClass", "_init_variant", "_init_extra_variant", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_automatic", "_init_extra_automatic", "_init_changeEvent", "_init_extra_changeEvent", "_applyDecs", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "n", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiTabs", "RuiTabs", "RadiantElement", "customElement", "prop", "event", "onUpdated", "onEvent", "tab", "tablist", "nextValue", "tabs", "panels", "selected", "selectedValue", "isSelected", "panel", "event2", "current", "result", "navigateRovingTabindex", "jsx", "cx", "parts", "RuiTabList", "children", "className", "props", "jsx", "cx", "RuiTab", "id", "disabled", "selected", "RuiTabPanels", "RuiTabPanel", "hidden"]
7
7
  }
@@ -1,7 +1,5 @@
1
- import type { JsxCustomElementAttributes, JsxElementProps } from '@ecopages/jsx';
1
+ import type { JsxElementProps } from '@ecopages/jsx';
2
2
  import type { NativeButtonProps } from '../../../lib/native-element-props';
3
- import type { RuiTabs as RuiTabsElement, RuiTabsProps } from './tabs.script';
4
- import './tabs.script';
5
3
  export type RuiTabListProps = JsxElementProps<HTMLDivElement>;
6
4
  export type RuiTabProps = NativeButtonProps & {
7
5
  id: string;
@@ -44,4 +42,3 @@ export declare function RuiTabPanels({ children, class: className, ...props }: R
44
42
  * @cssclass rui-tabs__panel - `role="tabpanel"`; hidden when not selected.
45
43
  */
46
44
  export declare function RuiTabPanel({ id, children, class: className, selected, hidden, ...props }: RuiTabPanelProps): import("@ecopages/jsx").JsxRenderable;
47
- export declare function RuiTabs({ children, ...props }: JsxCustomElementAttributes<RuiTabsElement, RuiTabsProps>): import("@ecopages/jsx").JsxRenderable;
@@ -1,3 +1,4 @@
1
+ import type { JSX_PROPS } from '@ecopages/jsx';
1
2
  import { RadiantElement } from '@ecopages/radiant';
2
3
  import type { EventEmitter } from '@ecopages/radiant/tools/event-emitter';
3
4
  export type RuiTabsVariant = 'ghost' | 'boxed';
@@ -67,6 +68,7 @@ export type RuiTabsChangeDetail = {
67
68
  * Observes `childList` so replaced children (e.g. parent re-render) stay in sync.
68
69
  */
69
70
  export declare class RuiTabs extends RadiantElement {
71
+ readonly [JSX_PROPS]?: RuiTabsProps;
70
72
  variant: RuiTabsVariant;
71
73
  value: string;
72
74
  label: string;
@@ -88,3 +90,8 @@ export declare class RuiTabs extends RadiantElement {
88
90
  onTabClick(event: Event): void;
89
91
  onTabKeydown(event: KeyboardEvent): void;
90
92
  }
93
+ declare global {
94
+ interface HTMLElementTagNameMap {
95
+ 'rui-tabs': RuiTabs;
96
+ }
97
+ }
@@ -1,2 +1,2 @@
1
- import{RadiantElement as qt,customElement as re,event as zt,onEvent as P,onUpdated as ie,prop as C,state as ne}from"@ecopages/radiant";import{jsx as ut,jsxs as Kt}from"@ecopages/jsx/jsx-runtime";function R(...e){return e.filter(Boolean).join(" ")}var lt="http://www.w3.org/2000/svg";function N({class:e,size:t="sm",...r}){return Kt("svg",{...r,class:R("rui-icon",t==="md"&&"rui-icon--md",e),viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",children:[ut("path",{d:"m18 6-12 12"}),ut("path",{d:"m6 6 12 12"})]})}function ct(){let e=document.createElementNS(lt,"svg");e.setAttribute("class","rui-icon"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("fill","none"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.setAttribute("aria-hidden","true");for(let t of["m18 6-12 12","m6 6 12 12"]){let r=document.createElementNS(lt,"path");r.setAttribute("d",t),e.append(r)}return e}function Nt(e,t){e.forEach((r,i)=>{let s=i===t?0:-1;r.tabIndex!==s&&(r.tabIndex=s)})}function Pt(e,t){if(!e.length)return null;let r=Math.max(0,Math.min(e.length-1,t));return Nt(e,r),e[r]?.focus(),e[r]??null}function Zt(e,t){return e==="Home"?"first":e==="End"?"last":t==="horizontal"?e==="ArrowRight"?"next":e==="ArrowLeft"?"prev":null:e==="ArrowDown"?"next":e==="ArrowUp"?"prev":null}function dt(e){let{items:t,current:r,key:i,orientation:s="horizontal",wrap:p=!0}=e;if(!t.length||!r)return{handled:!1};let l=t.indexOf(r);if(l<0)return{handled:!1};let n=Zt(i,s);if(!n)return{handled:!1};let b=l;n==="first"?b=0:n==="last"?b=t.length-1:n==="next"?b=p?(l+1)%t.length:Math.min(t.length-1,l+1):b=p?(l-1+t.length)%t.length:Math.max(0,l-1);let S=Pt(t,b);return S?{handled:!0,index:b,item:S}:{handled:!1}}var Jt=/^[A-Za-z][A-Za-z0-9_-]*$/;function ft(e){return Jt.test(e)}function Qt(e){let t=e.trim();if(ft(t))return t;let r=`rui-${t}`;return t&&ft(r)?r:"rui"}function mt(e){let t=typeof crypto.randomUUID=="function"?crypto.randomUUID().replace(/-/g,""):Array.from(crypto.getRandomValues(new Uint8Array(16)),r=>r.toString(16).padStart(2,"0")).join("");return`${Qt(e)}-${t}`}function gt(e){return e?pt(e.split(",")):[]}function Wt(e){return e.join(",")}var Yt={fromAttribute:e=>gt(e),toAttribute:e=>e.length>0?Wt(e):null,fromProperty:e=>Array.isArray(e)?pt(e.map(String)):typeof e=="string"?gt(e):[]},ht={type:Array,reflect:!0,transform:Yt};function pt(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))]}var bt,vt,yt,xt,_t,Tt,At,wt,St,It,Rt,Et,Vt,jt,Ct,Mt,kt,Lt;function Ft(e,t,r,i,s,p){var l,n,b,S,M,B,E,J=Symbol.metadata||Symbol.for("Symbol.metadata"),Q=Object.defineProperty,U=Object.create,W=[U(null),U(null)],Y=t.length;function k(a,v,m){return function(o,u){v&&(u=o,o=e);for(var y=0;y<a.length;y++)u=a[y].apply(o,m?[u]:[]);return m?u:o}}function T(a,v,m,o){if(typeof a!="function"&&(o||a!==void 0))throw new TypeError(v+" must "+(m||"be")+" a function"+(o?"":" or undefined"));return a}function F(a,v,m,o,u,y,w,g,x,_,tt){function $(d){if(!tt(d))throw new TypeError("Attempted to access private element on non-instance")}var G=[].concat(v[0]),et=v[3],O=!w,V=u===1,rt=u===3,it=u===4,L=u===2;function D(d,I,ot){return function(z,st){return I&&(st=z,z=a),ot&&ot(z),c[d].call(z,st)}}if(!O){var c={},X=[],A=rt?"get":it||V?"set":"value";if(x?(_||V?c={get:Dt(function(){return et(this)},o,"get"),set:function(d){v[4](this,d)}}:c[A]=et,_||Dt(c[A],o,L?"":A)):_||(c=Object.getOwnPropertyDescriptor(a,o)),!_&&!x){if((n=W[+g][o])&&(n^u)!==7)throw Error("Decorating two elements with the same name ("+c[A].name+") is not supported yet");W[+g][o]=u<3?1:u}}for(var f=a,q=G.length-1;q>=0;q-=m?2:1){var nt=T(G[q],"A decorator","be",!0),at=m?G[q-1]:void 0,K={},j={kind:["field","accessor","method","getter","setter","class"][u],name:o,metadata:l,addInitializer:function(d,I){if(d.v)throw new TypeError("attempted to call addInitializer after decoration was finished");T(I,"An initializer","be",!0),y.push(I)}.bind(null,K)};if(O)n=nt.call(at,f,j),K.v=1,T(n,"class decorators","return")&&(f=n);else if(j.static=g,j.private=x,n=j.access={has:x?tt.bind():function(d){return o in d}},it||(n.get=x?L?function(d){return $(d),c.value}:D("get",0,$):function(d){return d[o]}),L||rt||(n.set=x?D("set",0,$):function(d,I){d[o]=I}),f=nt.call(at,V?{get:c.get,set:c.set}:c[A],j),K.v=1,V){if(typeof f=="object"&&f)(n=T(f.get,"accessor.get"))&&(c.get=n),(n=T(f.set,"accessor.set"))&&(c.set=n),(n=T(f.init,"accessor.init"))&&X.unshift(n);else if(f!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else T(f,(_?"field":"method")+" decorators","return")&&(_?X.unshift(f):c[A]=f)}return u<2&&w.push(k(X,g,1),k(y,g,0)),_||O||(x?V?w.splice(-1,0,D("get",g),D("set",g)):w.push(L?c[A]:T.call.bind(c[A])):Q(a,o,c)),f}function H(a){return Q(a,J,{configurable:!0,enumerable:!0,value:l})}return p!==void 0&&(l=p[J]),l=U(l??null),M=[],B=function(a){a&&M.push(k(a))},E=function(a,v){for(var m=0;m<r.length;m++){var o=r[m],u=o[1],y=7&u;if((8&u)==a&&!y==v){var w=o[2],g=!!o[3],x=16&u;F(a?e:e.prototype,o,x,g?"#"+w:Ht(w),y,y<2?[]:a?S=S||[]:b=b||[],M,!!a,g,v,a&&g?function(_){return ee(_)===e}:s)}}},E(8,0),E(0,0),E(8,1),E(0,1),B(b),B(S),n=M,Y||H(e),{e:n,get c(){var a=[];return Y&&[H(e=F(e,[t],i,e.name,5,a)),k(a,1)]}}}function Ht(e){var t=te(e,"string");return typeof t=="symbol"?t:t+""}function te(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Dt(e,t,r){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:r?r+" "+t:t})}catch{}return e}function ee(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(e!==null?typeof e:"null"));return e}var Ut,Bt=class extends qt{static{({e:[yt,xt,_t,Tt,At,wt,St,It,Rt,Et,Vt,jt,Ct,Mt,kt,Lt,bt],c:[Ut,vt]}=Ft(this,[re("rui-tag-group")],[[C({...ht,defaultValue:[]}),0,"value"],[C({type:String,defaultValue:""}),0,"label"],[C({type:Boolean,reflect:!0,defaultValue:!1}),0,"disabled"],[C({type:String,attribute:"selection-mode",defaultValue:"multiple"}),0,"selectionMode"],[C({type:Boolean,reflect:!0,defaultValue:!1}),0,"embedded"],[zt({name:"rui-change",bubbles:!0,composed:!0}),0,"changeEvent"],[zt({name:"rui-remove",bubbles:!0,composed:!0}),0,"removeEvent"],[ne,0,"derivedItems"],[ie(["value","label","disabled","selectionMode","embedded","derivedItems"]),2,"onPropsUpdated"],[P({selector:"[data-tag]",type:"click"}),2,"onTagClick"],[P({selector:"[data-tag-remove]",type:"click"}),2,"onRemoveClick"],[P({selector:"[data-tag]",type:"keydown"}),2,"onTagKeydown"]],0,void 0,qt))}constructor(...t){super(...t),Lt(this)}value=(bt(this),yt(this));label=(xt(this),_t(this));disabled=(Tt(this),At(this));selectionMode=(wt(this),St(this));embedded=(It(this),Rt(this));changeEvent=(Et(this),Vt(this));removeEvent=(jt(this),Ct(this));uid=(Mt(this),mt("rui-tag-group"));derivedItems=kt(this,null);isMultiple(){return this.selectionMode==="multiple"}getSelectedValues(){return this.value}setSelectedValues(t){this.value=t}getList(){let t=this.querySelector("[data-rui-managed-list]");return t||(this.derivedItems!=null?null:this.querySelector("[data-tag-list]"))}getTags(){let t=this.getList();return t?Array.from(t.querySelectorAll("[data-tag]")):[]}getVisibleTags(){return this.getTags().filter(t=>!t.hidden&&t.getAttribute("aria-disabled")!=="true")}getTagValue(t){return t.getAttribute("data-value")||t.textContent?.trim()||""}getTagLabel(t){return t.getAttribute("data-label")||t.textContent?.trim()||""}ensureTagIds(){this.getTags().forEach((t,r)=>{t.id||(t.id=`${this.uid}-tag-${r}`)})}syncList(){let t=this.getList();t&&(t.id||(t.id=`${this.uid}-list`),t.setAttribute("role","list"),t.setAttribute("aria-label",this.label||"Tags"),this.disabled?t.setAttribute("aria-disabled","true"):t.removeAttribute("aria-disabled"))}syncTags(){let t=new Set(this.getSelectedValues());this.getTags().forEach((i,s)=>{i.setAttribute("role","listitem");let p=this.getTagValue(i),l=t.has(p);i.setAttribute("aria-selected",String(l)),i.tabIndex=s===0?0:-1;let n=i.querySelector("[data-tag-remove]");n&&(n.type="button",n.tabIndex=-1,n.setAttribute("aria-label",`Remove ${this.getTagLabel(i)}`))})}selectTag(t){if(this.disabled||this.embedded||t.getAttribute("aria-disabled")==="true")return;let r=this.getTagValue(t);if(this.isMultiple()){let i=new Set(this.getSelectedValues());i.has(r)?i.delete(r):i.add(r),this.setSelectedValues([...i])}else this.value=[r];this.syncTags(),this.changeEvent.emit({value:this.value})}removeTag(t){let r=this.getTagValue(t),i=new Set(this.getSelectedValues());i.delete(r),this.setSelectedValues([...i]),this.syncTags(),this.removeEvent.emit({value:r}),this.changeEvent.emit({value:this.value})}initialize(){this.syncManagedList(),this.ensureTagIds(),this.syncList(),this.syncTags()}onConnected(){this.initialize()}onPropsUpdated(){this.syncManagedList(),this.syncList(),this.syncTags()}resync(){this.ensureTagIds(),this.syncList(),this.syncTags()}setItems(t){this.derivedItems=t,this.value=t.map(r=>r.value)}createManagedTag(t){let r=document.createElement("span");r.setAttribute("data-tag",""),r.setAttribute("data-value",t.value),r.setAttribute("data-label",t.label),r.className="rui-tag",r.textContent=t.label,r.setAttribute("aria-label",t.label);let i=document.createElement("button");return i.type="button",i.setAttribute("data-tag-remove",""),i.className="rui-tag__remove",i.setAttribute("aria-label",`Remove ${t.label}`),i.append(ct()),r.append(i),r}syncManagedList(){let t=this.querySelector('[data-ref="root"]');if(!t||this.derivedItems==null)return;t.querySelector("[data-tag-list]:not([data-rui-managed-list])")?.toggleAttribute("hidden",!0);let i=t.querySelector("[data-rui-managed-list]");if(this.derivedItems.length===0){i?.remove();return}i||(i=document.createElement("div"),i.setAttribute("data-tag-list",""),i.setAttribute("data-rui-managed-list",""),i.className="rui-tag-group__list",t.appendChild(i)),i.replaceChildren(...this.derivedItems.map(s=>this.createManagedTag(s))),this.ensureTagIds(),this.syncList(),this.syncTags()}onTagClick(t){let r=t.target;if(r.closest("[data-tag-remove]"))return;let i=r.closest("[data-tag]");i&&this.contains(i)&&this.selectTag(i)}onRemoveClick(t){t.stopPropagation();let i=t.target.closest("[data-tag]");i&&this.contains(i)&&this.removeTag(i)}onTagKeydown(t){let r=this.getVisibleTags(),i=t.target.closest("[data-tag]");if(!i)return;if(t.key==="Enter"||t.key===" "){t.preventDefault(),this.embedded||this.selectTag(i);return}if(t.key==="Backspace"||t.key==="Delete"){i.querySelector("[data-tag-remove]")&&(t.preventDefault(),this.removeTag(i));return}dt({items:r,current:i,key:t.key,orientation:"horizontal"}).handled&&t.preventDefault()}static{vt()}};import{jsx as h,jsxs as ae}from"@ecopages/jsx/jsx-runtime";function Z(e,t){return t===void 0||e?.label!==void 0?e:{...e,label:t}}function Gt({children:e,class:t,...r}){return h("div",{...r,"data-tag-list":!0,class:R("rui-tag-group__list",t),children:e})}function Ot({value:e,label:t,children:r,class:i,disabled:s,aria:p,...l}){return ae("span",{...l,"data-tag":!0,"data-value":e,"data-label":t,class:R("rui-tag",i),aria:Z(p,t),"aria-disabled":s?"true":void 0,children:[r,h(Xt,{})]})}function Xt({children:e,class:t,aria:r,...i}){return h("button",{...i,aria:Z(r,"Remove"),type:"button","data-tag-remove":!0,class:R("rui-tag__remove",t),children:e??h(N,{})})}function $t({children:e}){return h("div",{class:"rui-tag-group","data-ref":"root",children:e})}function oe({tags:e,children:t,value:r,...i}){return e!=null?h("rui-tag-group",{...i,value:r,children:h($t,{children:h(Gt,{children:e.map(s=>h(Ot,{value:s.value,label:typeof s.label=="string"?s.label:void 0,disabled:s.disabled,children:s.label}))})})}):h("rui-tag-group",{...i,value:r,children:h($t,{children:t})})}export{Ot as RuiTag,oe as RuiTagGroup,Ut as RuiTagGroupElement,Gt as RuiTagList,Xt as RuiTagRemove};
1
+ import{RadiantElement as zt,customElement as re,event as Bt,onEvent as Z,onUpdated as ie,prop as C,state as ne}from"@ecopages/radiant";import{jsx as lt,jsxs as Kt}from"@ecopages/jsx/jsx-runtime";function R(...e){return e.filter(Boolean).join(" ")}var ct="http://www.w3.org/2000/svg";function P({class:e,size:t="sm",...r}){return Kt("svg",{...r,class:R("rui-icon",t==="md"&&"rui-icon--md",e),viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",children:[lt("path",{d:"m18 6-12 12"}),lt("path",{d:"m6 6 12 12"})]})}function dt(){let e=document.createElementNS(ct,"svg");e.setAttribute("class","rui-icon"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("fill","none"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.setAttribute("aria-hidden","true");for(let t of["m18 6-12 12","m6 6 12 12"]){let r=document.createElementNS(ct,"path");r.setAttribute("d",t),e.append(r)}return e}function Nt(e,t){e.forEach((r,i)=>{let s=i===t?0:-1;r.tabIndex!==s&&(r.tabIndex=s)})}function Pt(e,t){if(!e.length)return null;let r=Math.max(0,Math.min(e.length-1,t));return Nt(e,r),e[r]?.focus(),e[r]??null}function Zt(e,t){return e==="Home"?"first":e==="End"?"last":t==="horizontal"?e==="ArrowRight"?"next":e==="ArrowLeft"?"prev":null:e==="ArrowDown"?"next":e==="ArrowUp"?"prev":null}function ft(e){let{items:t,current:r,key:i,orientation:s="horizontal",wrap:p=!0}=e;if(!t.length||!r)return{handled:!1};let l=t.indexOf(r);if(l<0)return{handled:!1};let n=Zt(i,s);if(!n)return{handled:!1};let b=l;n==="first"?b=0:n==="last"?b=t.length-1:n==="next"?b=p?(l+1)%t.length:Math.min(t.length-1,l+1):b=p?(l-1+t.length)%t.length:Math.max(0,l-1);let S=Pt(t,b);return S?{handled:!0,index:b,item:S}:{handled:!1}}var Jt=/^[A-Za-z][A-Za-z0-9_-]*$/;function mt(e){return Jt.test(e)}function Qt(e){let t=e.trim();if(mt(t))return t;let r=`rui-${t}`;return t&&mt(r)?r:"rui"}function gt(e){let t=typeof crypto.randomUUID=="function"?crypto.randomUUID().replace(/-/g,""):Array.from(crypto.getRandomValues(new Uint8Array(16)),r=>r.toString(16).padStart(2,"0")).join("");return`${Qt(e)}-${t}`}function ht(e){return e?bt(e.split(",")):[]}function Wt(e){return e.join(",")}var Yt={fromAttribute:e=>ht(e),toAttribute:e=>e.length>0?Wt(e):null,fromProperty:e=>Array.isArray(e)?bt(e.map(String)):typeof e=="string"?ht(e):[]},pt={type:Array,reflect:!0,transform:Yt};function bt(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))]}var vt,yt,xt,Tt,_t,At,wt,St,It,Rt,Et,Vt,jt,Ct,Mt,kt,Lt,Dt;function Ft(e,t,r,i,s,p){var l,n,b,S,k,G,E,Q=Symbol.metadata||Symbol.for("Symbol.metadata"),W=Object.defineProperty,U=Object.create,Y=[U(null),U(null)],F=t.length;function L(a,v,m){return function(o,u){v&&(u=o,o=e);for(var y=0;y<a.length;y++)u=a[y].apply(o,m?[u]:[]);return m?u:o}}function _(a,v,m,o){if(typeof a!="function"&&(o||a!==void 0))throw new TypeError(v+" must "+(m||"be")+" a function"+(o?"":" or undefined"));return a}function H(a,v,m,o,u,y,w,g,x,T,et){function $(d){if(!et(d))throw new TypeError("Attempted to access private element on non-instance")}var O=[].concat(v[0]),rt=v[3],X=!w,V=u===1,it=u===3,nt=u===4,D=u===2;function q(d,I,st){return function(B,ut){return I&&(ut=B,B=a),st&&st(B),c[d].call(B,ut)}}if(!X){var c={},K=[],A=it?"get":nt||V?"set":"value";if(x?(T||V?c={get:qt(function(){return rt(this)},o,"get"),set:function(d){v[4](this,d)}}:c[A]=rt,T||qt(c[A],o,D?"":A)):T||(c=Object.getOwnPropertyDescriptor(a,o)),!T&&!x){if((n=Y[+g][o])&&(n^u)!==7)throw Error("Decorating two elements with the same name ("+c[A].name+") is not supported yet");Y[+g][o]=u<3?1:u}}for(var f=a,z=O.length-1;z>=0;z-=m?2:1){var at=_(O[z],"A decorator","be",!0),ot=m?O[z-1]:void 0,N={},j={kind:["field","accessor","method","getter","setter","class"][u],name:o,metadata:l,addInitializer:function(d,I){if(d.v)throw new TypeError("attempted to call addInitializer after decoration was finished");_(I,"An initializer","be",!0),y.push(I)}.bind(null,N)};if(X)n=at.call(ot,f,j),N.v=1,_(n,"class decorators","return")&&(f=n);else if(j.static=g,j.private=x,n=j.access={has:x?et.bind():function(d){return o in d}},nt||(n.get=x?D?function(d){return $(d),c.value}:q("get",0,$):function(d){return d[o]}),D||it||(n.set=x?q("set",0,$):function(d,I){d[o]=I}),f=at.call(ot,V?{get:c.get,set:c.set}:c[A],j),N.v=1,V){if(typeof f=="object"&&f)(n=_(f.get,"accessor.get"))&&(c.get=n),(n=_(f.set,"accessor.set"))&&(c.set=n),(n=_(f.init,"accessor.init"))&&K.unshift(n);else if(f!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else _(f,(T?"field":"method")+" decorators","return")&&(T?K.unshift(f):c[A]=f)}return u<2&&w.push(L(K,g,1),L(y,g,0)),T||X||(x?V?w.splice(-1,0,q("get",g),q("set",g)):w.push(D?c[A]:_.call.bind(c[A])):W(a,o,c)),f}function tt(a){return W(a,Q,{configurable:!0,enumerable:!0,value:l})}return p!==void 0&&(l=p[Q]),l=U(l??null),k=[],G=function(a){a&&k.push(L(a))},E=function(a,v){for(var m=0;m<r.length;m++){var o=r[m],u=o[1],y=7&u;if((8&u)==a&&!y==v){var w=o[2],g=!!o[3],x=16&u;H(a?e:e.prototype,o,x,g?"#"+w:Ht(w),y,y<2?[]:a?S=S||[]:b=b||[],k,!!a,g,v,a&&g?function(T){return ee(T)===e}:s)}}},E(8,0),E(0,0),E(8,1),E(0,1),G(b),G(S),n=k,F||tt(e),{e:n,get c(){var a=[];return F&&[tt(e=H(e,[t],i,e.name,5,a)),L(a,1)]}}}function Ht(e){var t=te(e,"string");return typeof t=="symbol"?t:t+""}function te(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function qt(e,t,r){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:r?r+" "+t:t})}catch{}return e}function ee(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(e!==null?typeof e:"null"));return e}var M,Gt=class extends zt{static{({e:[xt,Tt,_t,At,wt,St,It,Rt,Et,Vt,jt,Ct,Mt,kt,Lt,Dt,vt],c:[M,yt]}=Ft(this,[re("rui-tag-group")],[[C({...pt,defaultValue:[]}),0,"value"],[C({type:String,defaultValue:""}),0,"label"],[C({type:Boolean,reflect:!0,defaultValue:!1}),0,"disabled"],[C({type:String,attribute:"selection-mode",defaultValue:"multiple"}),0,"selectionMode"],[C({type:Boolean,reflect:!0,defaultValue:!1}),0,"embedded"],[Bt({name:"rui-change",bubbles:!0,composed:!0}),0,"changeEvent"],[Bt({name:"rui-remove",bubbles:!0,composed:!0}),0,"removeEvent"],[ne,0,"derivedItems"],[ie(["value","label","disabled","selectionMode","embedded","derivedItems"]),2,"onPropsUpdated"],[Z({selector:"[data-tag]",type:"click"}),2,"onTagClick"],[Z({selector:"[data-tag-remove]",type:"click"}),2,"onRemoveClick"],[Z({selector:"[data-tag]",type:"keydown"}),2,"onTagKeydown"]],0,void 0,zt))}constructor(...t){super(...t),Dt(this)}value=(vt(this),xt(this));label=(Tt(this),_t(this));disabled=(At(this),wt(this));selectionMode=(St(this),It(this));embedded=(Rt(this),Et(this));changeEvent=(Vt(this),jt(this));removeEvent=(Ct(this),Mt(this));uid=(kt(this),gt("rui-tag-group"));derivedItems=Lt(this,null);isMultiple(){return this.selectionMode==="multiple"}getSelectedValues(){return this.value}setSelectedValues(t){this.value=t}getList(){let t=this.querySelector("[data-rui-managed-list]");return t||(this.derivedItems!=null?null:this.querySelector("[data-tag-list]"))}getTags(){let t=this.getList();return t?Array.from(t.querySelectorAll("[data-tag]")):[]}getVisibleTags(){return this.getTags().filter(t=>!t.hidden&&t.getAttribute("aria-disabled")!=="true")}getTagValue(t){return t.getAttribute("data-value")||t.textContent?.trim()||""}getTagLabel(t){return t.getAttribute("data-label")||t.textContent?.trim()||""}ensureTagIds(){this.getTags().forEach((t,r)=>{t.id||(t.id=`${this.uid}-tag-${r}`)})}syncList(){let t=this.getList();t&&(t.id||(t.id=`${this.uid}-list`),t.setAttribute("role","list"),t.setAttribute("aria-label",this.label||"Tags"),this.disabled?t.setAttribute("aria-disabled","true"):t.removeAttribute("aria-disabled"))}syncTags(){let t=new Set(this.getSelectedValues());this.getTags().forEach((i,s)=>{i.setAttribute("role","listitem");let p=this.getTagValue(i),l=t.has(p);i.setAttribute("aria-selected",String(l)),i.tabIndex=s===0?0:-1;let n=i.querySelector("[data-tag-remove]");n&&(n.type="button",n.tabIndex=-1,n.setAttribute("aria-label",`Remove ${this.getTagLabel(i)}`))})}selectTag(t){if(this.disabled||this.embedded||t.getAttribute("aria-disabled")==="true")return;let r=this.getTagValue(t);if(this.isMultiple()){let i=new Set(this.getSelectedValues());i.has(r)?i.delete(r):i.add(r),this.setSelectedValues([...i])}else this.value=[r];this.syncTags(),this.changeEvent.emit({value:this.value})}removeTag(t){let r=this.getTagValue(t),i=new Set(this.getSelectedValues());i.delete(r),this.setSelectedValues([...i]),this.syncTags(),this.removeEvent.emit({value:r}),this.changeEvent.emit({value:this.value})}initialize(){this.syncManagedList(),this.ensureTagIds(),this.syncList(),this.syncTags()}onConnected(){this.initialize()}onPropsUpdated(){this.syncManagedList(),this.syncList(),this.syncTags()}resync(){this.ensureTagIds(),this.syncList(),this.syncTags()}setItems(t){this.derivedItems=t,this.value=t.map(r=>r.value)}createManagedTag(t){let r=document.createElement("span");r.setAttribute("data-tag",""),r.setAttribute("data-value",t.value),r.setAttribute("data-label",t.label),r.className="rui-tag",r.textContent=t.label,r.setAttribute("aria-label",t.label);let i=document.createElement("button");return i.type="button",i.setAttribute("data-tag-remove",""),i.className="rui-tag__remove",i.setAttribute("aria-label",`Remove ${t.label}`),i.append(dt()),r.append(i),r}syncManagedList(){let t=this.querySelector('[data-ref="root"]');if(!t||this.derivedItems==null)return;t.querySelector("[data-tag-list]:not([data-rui-managed-list])")?.toggleAttribute("hidden",!0);let i=t.querySelector("[data-rui-managed-list]");if(this.derivedItems.length===0){i?.remove();return}i||(i=document.createElement("div"),i.setAttribute("data-tag-list",""),i.setAttribute("data-rui-managed-list",""),i.className="rui-tag-group__list",t.appendChild(i)),i.replaceChildren(...this.derivedItems.map(s=>this.createManagedTag(s))),this.ensureTagIds(),this.syncList(),this.syncTags()}onTagClick(t){let r=t.target;if(r.closest("[data-tag-remove]"))return;let i=r.closest("[data-tag]");i&&this.contains(i)&&this.selectTag(i)}onRemoveClick(t){t.stopPropagation();let i=t.target.closest("[data-tag]");i&&this.contains(i)&&this.removeTag(i)}onTagKeydown(t){let r=this.getVisibleTags(),i=t.target.closest("[data-tag]");if(!i)return;if(t.key==="Enter"||t.key===" "){t.preventDefault(),this.embedded||this.selectTag(i);return}if(t.key==="Backspace"||t.key==="Delete"){i.querySelector("[data-tag-remove]")&&(t.preventDefault(),this.removeTag(i));return}ft({items:r,current:i,key:t.key,orientation:"horizontal"}).handled&&t.preventDefault()}static{yt()}};import{jsx as h,jsxs as ae}from"@ecopages/jsx/jsx-runtime";function J(e,t){return t===void 0||e?.label!==void 0?e:{...e,label:t}}function $t({children:e,class:t,...r}){return h("div",{...r,"data-tag-list":!0,class:R("rui-tag-group__list",t),children:e})}function Ot({value:e,label:t,children:r,class:i,disabled:s,aria:p,...l}){return ae("span",{...l,"data-tag":!0,"data-value":e,"data-label":t,class:R("rui-tag",i),aria:J(p,t),"aria-disabled":s?"true":void 0,children:[r,h(Xt,{})]})}function Xt({children:e,class:t,aria:r,...i}){return h("button",{...i,aria:J(r,"Remove"),type:"button","data-tag-remove":!0,class:R("rui-tag__remove",t),children:e??h(P,{})})}function Ut({children:e}){return h("div",{class:"rui-tag-group","data-ref":"root",children:e})}function oe({tags:e,children:t,value:r,...i}){return e!=null?h(M,{...i,value:r,children:h(Ut,{children:h($t,{children:e.map(s=>h(Ot,{value:s.value,label:typeof s.label=="string"?s.label:void 0,disabled:s.disabled,children:s.label}))})})}):h(M,{...i,value:r,children:h(Ut,{children:t})})}export{Ot as RuiTag,oe as RuiTagGroup,M as RuiTagGroupElement,$t as RuiTagList,Xt as RuiTagRemove};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/ui/tag-group/tag-group.script.tsx", "../../../../src/lib/icons/x.tsx", "../../../../src/lib/cx.ts", "../../../../src/lib/roving-tabindex.ts", "../../../../src/lib/unique-id.ts", "../../../../src/components/ui/shared/multi-value.ts", "../../../../src/components/ui/tag-group/tag-group.tsx", "../../../../src/aria.ts"],
4
- "sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_embedded, _init_extra_embedded, _init_changeEvent, _init_extra_changeEvent, _init_removeEvent, _init_extra_removeEvent, _init_derivedItems, _init_extra_derivedItems;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, customElement, event, onEvent, onUpdated, prop, state } from \"@ecopages/radiant\";\nimport { createRuiIconX } from \"@/lib/icons/x\";\nimport { navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nimport { uniqueId } from \"@/lib/unique-id\";\nimport { multiValuePropOptions } from \"../shared/multi-value\";\nlet _RuiTagGroup;\nclass RuiTagGroup extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_embedded, _init_extra_embedded, _init_changeEvent, _init_extra_changeEvent, _init_removeEvent, _init_extra_removeEvent, _init_derivedItems, _init_extra_derivedItems, _initProto],\n c: [_RuiTagGroup, _initClass]\n } = _applyDecs(this, [customElement(\"rui-tag-group\")], [[prop({\n ...multiValuePropOptions,\n defaultValue: []\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: String,\n attribute: \"selection-mode\",\n defaultValue: \"multiple\"\n }), 0, \"selectionMode\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"embedded\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [event({\n name: \"rui-remove\",\n bubbles: true,\n composed: true\n }), 0, \"removeEvent\"], [state, 0, \"derivedItems\"], [onUpdated([\"value\", \"label\", \"disabled\", \"selectionMode\", \"embedded\", \"derivedItems\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: \"[data-tag]\",\n type: \"click\"\n }), 2, \"onTagClick\"], [onEvent({\n selector: \"[data-tag-remove]\",\n type: \"click\"\n }), 2, \"onRemoveClick\"], [onEvent({\n selector: \"[data-tag]\",\n type: \"keydown\"\n }), 2, \"onTagKeydown\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_derivedItems(this);\n }\n value = (_initProto(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n disabled = (_init_extra_label(this), _init_disabled(this));\n selectionMode = (_init_extra_disabled(this), _init_selectionMode(this));\n embedded = (_init_extra_selectionMode(this), _init_embedded(this));\n changeEvent = (_init_extra_embedded(this), _init_changeEvent(this));\n removeEvent = (_init_extra_changeEvent(this), _init_removeEvent(this));\n uid = (_init_extra_removeEvent(this), uniqueId(\"rui-tag-group\"));\n derivedItems = _init_derivedItems(this, null);\n isMultiple() {\n return this.selectionMode === \"multiple\";\n }\n getSelectedValues() {\n return this.value;\n }\n setSelectedValues(values) {\n this.value = values;\n }\n getList() {\n const managed = this.querySelector(\"[data-rui-managed-list]\");\n if (managed) {\n return managed;\n }\n if (this.derivedItems != null) {\n return null;\n }\n return this.querySelector(\"[data-tag-list]\");\n }\n getTags() {\n const list = this.getList();\n if (!list) {\n return [];\n }\n return Array.from(list.querySelectorAll(\"[data-tag]\"));\n }\n getVisibleTags() {\n return this.getTags().filter(tag => !tag.hidden && tag.getAttribute(\"aria-disabled\") !== \"true\");\n }\n getTagValue(tag) {\n return tag.getAttribute(\"data-value\") || tag.textContent?.trim() || \"\";\n }\n getTagLabel(tag) {\n return tag.getAttribute(\"data-label\") || tag.textContent?.trim() || \"\";\n }\n ensureTagIds() {\n this.getTags().forEach((tag, index) => {\n if (!tag.id) {\n tag.id = `${this.uid}-tag-${index}`;\n }\n });\n }\n syncList() {\n const list = this.getList();\n if (!list) {\n return;\n }\n if (!list.id) {\n list.id = `${this.uid}-list`;\n }\n list.setAttribute(\"role\", \"list\");\n list.setAttribute(\"aria-label\", this.label || \"Tags\");\n if (this.disabled) {\n list.setAttribute(\"aria-disabled\", \"true\");\n } else {\n list.removeAttribute(\"aria-disabled\");\n }\n }\n syncTags() {\n const selected = new Set(this.getSelectedValues());\n const tags = this.getTags();\n tags.forEach((tag, index) => {\n tag.setAttribute(\"role\", \"listitem\");\n const value = this.getTagValue(tag);\n const isSelected = selected.has(value);\n tag.setAttribute(\"aria-selected\", String(isSelected));\n tag.tabIndex = index === 0 ? 0 : -1;\n const removeButton = tag.querySelector(\"[data-tag-remove]\");\n if (removeButton) {\n removeButton.type = \"button\";\n removeButton.tabIndex = -1;\n removeButton.setAttribute(\"aria-label\", `Remove ${this.getTagLabel(tag)}`);\n }\n });\n }\n selectTag(tag) {\n if (this.disabled || this.embedded || tag.getAttribute(\"aria-disabled\") === \"true\") {\n return;\n }\n const tagValue = this.getTagValue(tag);\n if (this.isMultiple()) {\n const selected = new Set(this.getSelectedValues());\n if (selected.has(tagValue)) {\n selected.delete(tagValue);\n } else {\n selected.add(tagValue);\n }\n this.setSelectedValues([...selected]);\n } else {\n this.value = [tagValue];\n }\n this.syncTags();\n this.changeEvent.emit({\n value: this.value\n });\n }\n removeTag(tag) {\n const tagValue = this.getTagValue(tag);\n const selected = new Set(this.getSelectedValues());\n selected.delete(tagValue);\n this.setSelectedValues([...selected]);\n this.syncTags();\n this.removeEvent.emit({\n value: tagValue\n });\n this.changeEvent.emit({\n value: this.value\n });\n }\n initialize() {\n this.syncManagedList();\n this.ensureTagIds();\n this.syncList();\n this.syncTags();\n }\n onConnected() {\n this.initialize();\n }\n onPropsUpdated() {\n this.syncManagedList();\n this.syncList();\n this.syncTags();\n }\n /**\n * Re-read authored `[data-tag]` children after the parent mutates them in place.\n */\n resync() {\n this.ensureTagIds();\n this.syncList();\n this.syncTags();\n }\n /**\n * Replace authored tags with a CE-owned list. Requires `[data-ref=\"root\"]`.\n *\n * @remarks Hides the authored `[data-tag-list]` and sets `value` to every\n * item. Pass `[]` to clear the managed list.\n */\n setItems(items) {\n this.derivedItems = items;\n this.value = items.map(item => item.value);\n }\n /**\n * Imperative twin of the view's `RuiTag` / `RuiTagRemove` markup for\n * CE-managed items (same `data-*` hooks, classes, and remove icon).\n */\n createManagedTag(item) {\n const tag = document.createElement(\"span\");\n tag.setAttribute(\"data-tag\", \"\");\n tag.setAttribute(\"data-value\", item.value);\n tag.setAttribute(\"data-label\", item.label);\n tag.className = \"rui-tag\";\n tag.textContent = item.label;\n tag.setAttribute(\"aria-label\", item.label);\n const remove = document.createElement(\"button\");\n remove.type = \"button\";\n remove.setAttribute(\"data-tag-remove\", \"\");\n remove.className = \"rui-tag__remove\";\n remove.setAttribute(\"aria-label\", `Remove ${item.label}`);\n remove.append(createRuiIconX());\n tag.append(remove);\n return tag;\n }\n syncManagedList() {\n const root = this.querySelector('[data-ref=\"root\"]');\n if (!root || this.derivedItems == null) {\n return;\n }\n const authored = root.querySelector(\"[data-tag-list]:not([data-rui-managed-list])\");\n authored?.toggleAttribute(\"hidden\", true);\n let managed = root.querySelector(\"[data-rui-managed-list]\");\n if (this.derivedItems.length === 0) {\n managed?.remove();\n return;\n }\n if (!managed) {\n managed = document.createElement(\"div\");\n managed.setAttribute(\"data-tag-list\", \"\");\n managed.setAttribute(\"data-rui-managed-list\", \"\");\n managed.className = \"rui-tag-group__list\";\n root.appendChild(managed);\n }\n managed.replaceChildren(...this.derivedItems.map(item => this.createManagedTag(item)));\n this.ensureTagIds();\n this.syncList();\n this.syncTags();\n }\n onTagClick(event2) {\n const target = event2.target;\n if (target.closest(\"[data-tag-remove]\")) {\n return;\n }\n const tag = target.closest(\"[data-tag]\");\n if (tag && this.contains(tag)) {\n this.selectTag(tag);\n }\n }\n onRemoveClick(event2) {\n event2.stopPropagation();\n const button = event2.target;\n const tag = button.closest(\"[data-tag]\");\n if (tag && this.contains(tag)) {\n this.removeTag(tag);\n }\n }\n onTagKeydown(event2) {\n const tags = this.getVisibleTags();\n const current = event2.target.closest(\"[data-tag]\");\n if (!current) {\n return;\n }\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n if (!this.embedded) {\n this.selectTag(current);\n }\n return;\n }\n if (event2.key === \"Backspace\" || event2.key === \"Delete\") {\n const removeButton = current.querySelector(\"[data-tag-remove]\");\n if (removeButton) {\n event2.preventDefault();\n this.removeTag(current);\n }\n return;\n }\n const result = navigateRovingTabindex({\n items: tags,\n current,\n key: event2.key,\n orientation: \"horizontal\"\n });\n if (result.handled) {\n event2.preventDefault();\n }\n }\n static {\n _initClass();\n }\n}\nexport { _RuiTagGroup as RuiTagGroup };", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nexport function RuiIconX({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: [/* @__PURE__ */jsx(\"path\", {\n d: \"m18 6-12 12\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m6 6 12 12\"\n })]\n });\n}\nexport function createRuiIconX() {\n const icon = document.createElementNS(SVG_NAMESPACE, \"svg\");\n icon.setAttribute(\"class\", \"rui-icon\");\n icon.setAttribute(\"viewBox\", \"0 0 24 24\");\n icon.setAttribute(\"fill\", \"none\");\n icon.setAttribute(\"stroke\", \"currentColor\");\n icon.setAttribute(\"stroke-width\", \"2\");\n icon.setAttribute(\"stroke-linecap\", \"round\");\n icon.setAttribute(\"stroke-linejoin\", \"round\");\n icon.setAttribute(\"aria-hidden\", \"true\");\n for (const d of [\"m18 6-12 12\", \"m6 6 12 12\"]) {\n const path = document.createElementNS(SVG_NAMESPACE, \"path\");\n path.setAttribute(\"d\", d);\n icon.append(path);\n }\n return icon;\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "export function applyRovingTabindex(items, activeIndex) {\n items.forEach((item, index) => {\n const next = index === activeIndex ? 0 : -1;\n if (item.tabIndex !== next) {\n item.tabIndex = next;\n }\n });\n}\nexport function focusRovingItem(items, index) {\n if (!items.length) return null;\n const next = Math.max(0, Math.min(items.length - 1, index));\n applyRovingTabindex(items, next);\n items[next]?.focus();\n return items[next] ?? null;\n}\nfunction deltaForKey(key, orientation) {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"horizontal\") {\n if (key === \"ArrowRight\") return \"next\";\n if (key === \"ArrowLeft\") return \"prev\";\n return null;\n }\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"prev\";\n return null;\n}\nexport function navigateRovingTabindex(options) {\n const {\n items,\n current,\n key,\n orientation = \"horizontal\",\n wrap = true\n } = options;\n if (!items.length || !current) return {\n handled: false\n };\n const index = items.indexOf(current);\n if (index < 0) return {\n handled: false\n };\n const delta = deltaForKey(key, orientation);\n if (!delta) return {\n handled: false\n };\n let next = index;\n if (delta === \"first\") next = 0;else if (delta === \"last\") next = items.length - 1;else if (delta === \"next\") next = wrap ? (index + 1) % items.length : Math.min(items.length - 1, index + 1);else next = wrap ? (index - 1 + items.length) % items.length : Math.max(0, index - 1);\n const item = focusRovingItem(items, next);\n if (!item) return {\n handled: false\n };\n return {\n handled: true,\n index: next,\n item\n };\n}", "const CSS_SAFE_ID = /^[A-Za-z][A-Za-z0-9_-]*$/;\nexport function isCssSafeId(value) {\n return CSS_SAFE_ID.test(value);\n}\nfunction cssSafePrefix(prefix) {\n const trimmed = prefix.trim();\n if (isCssSafeId(trimmed)) {\n return trimmed;\n }\n const prefixed = `rui-${trimmed}`;\n if (trimmed && isCssSafeId(prefixed)) {\n return prefixed;\n }\n return \"rui\";\n}\nexport function uniqueId(prefix) {\n const token = typeof crypto.randomUUID === \"function\" ? crypto.randomUUID().replace(/-/g, \"\") : Array.from(crypto.getRandomValues(new Uint8Array(16)), byte => byte.toString(16).padStart(2, \"0\")).join(\"\");\n return `${cssSafePrefix(prefix)}-${token}`;\n}", "export function parseMultiValue(value) {\n if (!value) {\n return [];\n }\n return uniqueTrimmed(value.split(\",\"));\n}\nexport function serializeMultiValue(values) {\n return values.join(\",\");\n}\nexport const multiValueTransform = {\n fromAttribute: value => parseMultiValue(value),\n toAttribute: values => values.length > 0 ? serializeMultiValue(values) : null,\n fromProperty: value => {\n if (Array.isArray(value)) {\n return uniqueTrimmed(value.map(String));\n }\n if (typeof value === \"string\") {\n return parseMultiValue(value);\n }\n return [];\n }\n};\nexport const multiValuePropOptions = {\n type: Array,\n reflect: true,\n transform: multiValueTransform\n};\nexport function parseViewValue(value) {\n return multiValueTransform.fromProperty?.(value) ?? [];\n}\nfunction parseNumberArray(value) {\n if (!value) {\n return [];\n }\n return value.split(\",\").map(item => Number(item.trim())).filter(item => Number.isFinite(item));\n}\nfunction serializeNumberArray(values) {\n return values.join(\",\");\n}\nexport const numberArrayTransform = {\n fromAttribute: value => parseNumberArray(value),\n toAttribute: values => values.length > 0 ? serializeNumberArray(values) : null,\n fromProperty: value => {\n if (Array.isArray(value)) {\n return value.map(Number).filter(item => Number.isFinite(item));\n }\n if (typeof value === \"number\" && Number.isFinite(value)) {\n return [value];\n }\n if (typeof value === \"string\") {\n return parseNumberArray(value);\n }\n return [];\n }\n};\nfunction uniqueTrimmed(values) {\n return [...new Set(values.map(item => item.trim()).filter(Boolean))];\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { withDefaultAriaLabel } from \"@/aria\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiIconX } from \"@/lib/icons\";\nimport \"./tag-group.script\";\nexport function RuiTagList({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-tag-list\": true,\n class: cx(\"rui-tag-group__list\", className),\n children\n });\n}\nexport function RuiTag({\n value,\n label,\n children,\n class: className,\n disabled,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"span\", {\n ...props,\n \"data-tag\": true,\n \"data-value\": value,\n \"data-label\": label,\n class: cx(\"rui-tag\", className),\n aria: withDefaultAriaLabel(aria, label),\n \"aria-disabled\": disabled ? \"true\" : void 0,\n children: [children, /* @__PURE__ */jsx(RuiTagRemove, {})]\n });\n}\nexport function RuiTagRemove({\n children,\n class: className,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Remove\"),\n type: \"button\",\n \"data-tag-remove\": true,\n class: cx(\"rui-tag__remove\", className),\n children: children ?? /* @__PURE__ */jsx(RuiIconX, {})\n });\n}\nfunction TagGroupShell({\n children\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-tag-group\",\n \"data-ref\": \"root\",\n children\n });\n}\nexport function RuiTagGroup({\n tags,\n children,\n value,\n ...props\n}) {\n if (tags != null) {\n return /* @__PURE__ */jsx(\"rui-tag-group\", {\n ...props,\n value,\n children: /* @__PURE__ */jsx(TagGroupShell, {\n children: /* @__PURE__ */jsx(RuiTagList, {\n children: tags.map(tag => /* @__PURE__ */jsx(RuiTag, {\n value: tag.value,\n label: typeof tag.label === \"string\" ? tag.label : void 0,\n disabled: tag.disabled,\n children: tag.label\n }))\n })\n })\n });\n }\n return /* @__PURE__ */jsx(\"rui-tag-group\", {\n ...props,\n value,\n children: /* @__PURE__ */jsx(TagGroupShell, {\n children\n })\n });\n}", "export function withDefaultAriaLabel(aria, fallback) {\n if (fallback === void 0 || aria?.label !== void 0) {\n return aria;\n }\n return {\n ...aria,\n label: fallback\n };\n}"],
5
- "mappings": "AAMA,OAAS,kBAAAA,GAAgB,iBAAAC,GAAe,SAAAC,GAAO,WAAAC,EAAS,aAAAC,GAAW,QAAAC,EAAM,SAAAC,OAAa,oBCNtF,OAAS,OAAAC,GAAK,QAAAC,OAAY,4BCAnB,SAASC,KAAMC,EAAO,CAC3B,OAAOA,EAAM,OAAO,OAAO,EAAE,KAAK,GAAG,CACvC,CDAA,IAAMC,GAAgB,6BACf,SAASC,EAAS,CACvB,MAAOC,EACP,KAAAC,EAAO,KACP,GAAGC,CACL,EAAG,CACD,OAAsBC,GAAK,MAAO,CAChC,GAAGD,EACH,MAAOE,EAAG,WAAYH,IAAS,MAAQ,eAAgBD,CAAS,EAChE,QAAS,YACT,KAAM,OACN,OAAQ,eACR,eAAgB,IAChB,iBAAkB,QAClB,kBAAmB,QACnB,cAAe,OACf,SAAU,CAAgBK,GAAI,OAAQ,CACpC,EAAG,aACL,CAAC,EAAkBA,GAAI,OAAQ,CAC7B,EAAG,YACL,CAAC,CAAC,CACJ,CAAC,CACH,CACO,SAASC,IAAiB,CAC/B,IAAMC,EAAO,SAAS,gBAAgBT,GAAe,KAAK,EAC1DS,EAAK,aAAa,QAAS,UAAU,EACrCA,EAAK,aAAa,UAAW,WAAW,EACxCA,EAAK,aAAa,OAAQ,MAAM,EAChCA,EAAK,aAAa,SAAU,cAAc,EAC1CA,EAAK,aAAa,eAAgB,GAAG,EACrCA,EAAK,aAAa,iBAAkB,OAAO,EAC3CA,EAAK,aAAa,kBAAmB,OAAO,EAC5CA,EAAK,aAAa,cAAe,MAAM,EACvC,QAAWC,IAAK,CAAC,cAAe,YAAY,EAAG,CAC7C,IAAMC,EAAO,SAAS,gBAAgBX,GAAe,MAAM,EAC3DW,EAAK,aAAa,IAAKD,CAAC,EACxBD,EAAK,OAAOE,CAAI,CAClB,CACA,OAAOF,CACT,CEzCO,SAASG,GAAoBC,EAAOC,EAAa,CACtDD,EAAM,QAAQ,CAACE,EAAMC,IAAU,CAC7B,IAAMC,EAAOD,IAAUF,EAAc,EAAI,GACrCC,EAAK,WAAaE,IACpBF,EAAK,SAAWE,EAEpB,CAAC,CACH,CACO,SAASC,GAAgBL,EAAOG,EAAO,CAC5C,GAAI,CAACH,EAAM,OAAQ,OAAO,KAC1B,IAAMI,EAAO,KAAK,IAAI,EAAG,KAAK,IAAIJ,EAAM,OAAS,EAAGG,CAAK,CAAC,EAC1D,OAAAJ,GAAoBC,EAAOI,CAAI,EAC/BJ,EAAMI,CAAI,GAAG,MAAM,EACZJ,EAAMI,CAAI,GAAK,IACxB,CACA,SAASE,GAAYC,EAAKC,EAAa,CACrC,OAAID,IAAQ,OAAe,QACvBA,IAAQ,MAAc,OACtBC,IAAgB,aACdD,IAAQ,aAAqB,OAC7BA,IAAQ,YAAoB,OACzB,KAELA,IAAQ,YAAoB,OAC5BA,IAAQ,UAAkB,OACvB,IACT,CACO,SAASE,GAAuBC,EAAS,CAC9C,GAAM,CACJ,MAAAV,EACA,QAAAW,EACA,IAAAJ,EACA,YAAAC,EAAc,aACd,KAAAI,EAAO,EACT,EAAIF,EACJ,GAAI,CAACV,EAAM,QAAU,CAACW,EAAS,MAAO,CACpC,QAAS,EACX,EACA,IAAMR,EAAQH,EAAM,QAAQW,CAAO,EACnC,GAAIR,EAAQ,EAAG,MAAO,CACpB,QAAS,EACX,EACA,IAAMU,EAAQP,GAAYC,EAAKC,CAAW,EAC1C,GAAI,CAACK,EAAO,MAAO,CACjB,QAAS,EACX,EACA,IAAIT,EAAOD,EACPU,IAAU,QAAST,EAAO,EAAWS,IAAU,OAAQT,EAAOJ,EAAM,OAAS,EAAWa,IAAU,OAAQT,EAAOQ,GAAQT,EAAQ,GAAKH,EAAM,OAAS,KAAK,IAAIA,EAAM,OAAS,EAAGG,EAAQ,CAAC,EAAOC,EAAOQ,GAAQT,EAAQ,EAAIH,EAAM,QAAUA,EAAM,OAAS,KAAK,IAAI,EAAGG,EAAQ,CAAC,EACnR,IAAMD,EAAOG,GAAgBL,EAAOI,CAAI,EACxC,OAAKF,EAGE,CACL,QAAS,GACT,MAAOE,EACP,KAAAF,CACF,EAPkB,CAChB,QAAS,EACX,CAMF,CCzDA,IAAMY,GAAc,2BACb,SAASC,GAAYC,EAAO,CACjC,OAAOF,GAAY,KAAKE,CAAK,CAC/B,CACA,SAASC,GAAcC,EAAQ,CAC7B,IAAMC,EAAUD,EAAO,KAAK,EAC5B,GAAIH,GAAYI,CAAO,EACrB,OAAOA,EAET,IAAMC,EAAW,OAAOD,CAAO,GAC/B,OAAIA,GAAWJ,GAAYK,CAAQ,EAC1BA,EAEF,KACT,CACO,SAASC,GAASH,EAAQ,CAC/B,IAAMI,EAAQ,OAAO,OAAO,YAAe,WAAa,OAAO,WAAW,EAAE,QAAQ,KAAM,EAAE,EAAI,MAAM,KAAK,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC,EAAGC,GAAQA,EAAK,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EAAE,KAAK,EAAE,EAC1M,MAAO,GAAGN,GAAcC,CAAM,CAAC,IAAII,CAAK,EAC1C,CClBO,SAASE,GAAgBC,EAAO,CACrC,OAAKA,EAGEC,GAAcD,EAAM,MAAM,GAAG,CAAC,EAF5B,CAAC,CAGZ,CACO,SAASE,GAAoBC,EAAQ,CAC1C,OAAOA,EAAO,KAAK,GAAG,CACxB,CACO,IAAMC,GAAsB,CACjC,cAAeJ,GAASD,GAAgBC,CAAK,EAC7C,YAAaG,GAAUA,EAAO,OAAS,EAAID,GAAoBC,CAAM,EAAI,KACzE,aAAcH,GACR,MAAM,QAAQA,CAAK,EACdC,GAAcD,EAAM,IAAI,MAAM,CAAC,EAEpC,OAAOA,GAAU,SACZD,GAAgBC,CAAK,EAEvB,CAAC,CAEZ,EACaK,GAAwB,CACnC,KAAM,MACN,QAAS,GACT,UAAWD,EACb,EA6BA,SAASE,GAAcC,EAAQ,CAC7B,MAAO,CAAC,GAAG,IAAI,IAAIA,EAAO,IAAIC,GAAQA,EAAK,KAAK,CAAC,EAAE,OAAO,OAAO,CAAC,CAAC,CACrE,CLzDA,IAAIC,GAAYC,GAAYC,GAAaC,GAAmBC,GAAaC,GAAmBC,GAAgBC,GAAsBC,GAAqBC,GAA2BC,GAAgBC,GAAsBC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAoBC,GACpU,SAASC,GAAW,EAAG,EAAGC,EAAGC,EAAGC,EAAGC,EAAG,CAAE,IAAIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAI,OAAO,UAAY,OAAO,IAAI,iBAAiB,EAAGC,EAAI,OAAO,eAAgBC,EAAI,OAAO,OAAQC,EAAI,CAACD,EAAE,IAAI,EAAGA,EAAE,IAAI,CAAC,EAAGE,EAAI,EAAE,OAAQ,SAASC,EAAEC,EAAGjB,EAAGC,EAAG,CAAE,OAAO,SAAU,EAAGE,EAAG,CAAEH,IAAMG,EAAI,EAAG,EAAI,GAAI,QAASC,EAAI,EAAGA,EAAIa,EAAE,OAAQb,IAAKD,EAAIc,EAAEb,CAAC,EAAE,MAAM,EAAGH,EAAI,CAACE,CAAC,EAAI,CAAC,CAAC,EAAG,OAAOF,EAAIE,EAAI,CAAG,CAAG,CAAE,SAASe,EAAEC,EAAGF,EAAGjB,EAAGC,EAAG,CAAE,GAAkB,OAAOkB,GAArB,aAA2BlB,GAAgBkB,IAAX,QAAe,MAAM,IAAI,UAAUF,EAAI,UAAYjB,GAAK,MAAQ,eAAiBC,EAAI,GAAK,gBAAgB,EAAG,OAAOkB,CAAG,CAAE,SAASC,EAASD,EAAGF,EAAGjB,EAAGC,EAAGC,EAAGC,EAAGG,EAAGC,EAAGC,EAAGC,EAAGC,GAAG,CAAE,SAASC,EAAEQ,EAAG,CAAE,GAAI,CAACT,GAAES,CAAC,EAAG,MAAM,IAAI,UAAU,qDAAqD,CAAG,CAAE,IAAIN,EAAI,CAAC,EAAE,OAAOI,EAAE,CAAC,CAAC,EAAGF,GAAIE,EAAE,CAAC,EAAGI,EAAI,CAACf,EAAGgB,EAAUpB,IAAN,EAASqB,GAAUrB,IAAN,EAASsB,GAAUtB,IAAN,EAASuB,EAAUvB,IAAN,EAAS,SAASwB,EAAET,EAAGjB,EAAGC,GAAG,CAAE,OAAO,SAAUC,EAAGC,GAAG,CAAE,OAAOH,IAAMG,GAAID,EAAGA,EAAIiB,GAAIlB,IAAKA,GAAEC,CAAC,EAAGyB,EAAEV,CAAC,EAAE,KAAKf,EAAGC,EAAC,CAAG,CAAG,CAAE,GAAI,CAACkB,EAAG,CAAE,IAAIM,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGC,EAAIN,GAAI,MAAQC,IAAKF,EAAI,MAAQ,QAAS,GAAId,GAAKC,GAAKa,EAAIK,EAAI,CAAE,IAAKG,GAAiB,UAAY,CAAE,OAAOf,GAAE,IAAI,CAAG,EAAGd,EAAG,KAAK,EAAG,IAAK,SAAUkB,EAAG,CAAEF,EAAE,CAAC,EAAE,KAAME,CAAC,CAAG,CAAE,EAAIQ,EAAEE,CAAC,EAAId,GAAGN,GAAKqB,GAAiBH,EAAEE,CAAC,EAAG5B,EAAGwB,EAAI,GAAKI,CAAC,GAAKpB,IAAMkB,EAAI,OAAO,yBAAyBR,EAAGlB,CAAC,GAAI,CAACQ,GAAK,CAACD,EAAG,CAAE,IAAKH,EAAIS,EAAE,CAACP,CAAC,EAAEN,CAAC,KAAaI,EAAIH,KAAX,EAAe,MAAM,MAAM,+CAAiDyB,EAAEE,CAAC,EAAE,KAAO,wBAAwB,EAAGf,EAAE,CAACP,CAAC,EAAEN,CAAC,EAAIC,EAAI,EAAI,EAAIA,CAAG,CAAE,CAAE,QAAS6B,EAAIZ,EAAGa,EAAInB,EAAE,OAAS,EAAGmB,GAAK,EAAGA,GAAKhC,EAAI,EAAI,EAAG,CAAE,IAAIiC,GAAIf,EAAEL,EAAEmB,CAAC,EAAG,cAAe,KAAM,EAAE,EAAGE,GAAIlC,EAAIa,EAAEmB,EAAI,CAAC,EAAI,OAAQG,EAAI,CAAC,EAAGC,EAAI,CAAE,KAAM,CAAC,QAAS,WAAY,SAAU,SAAU,SAAU,OAAO,EAAElC,CAAC,EAAG,KAAMD,EAAG,SAAUG,EAAG,eAAgB,SAAUe,EAAGF,EAAG,CAAE,GAAIE,EAAE,EAAG,MAAM,IAAI,UAAU,gEAAgE,EAAGD,EAAED,EAAG,iBAAkB,KAAM,EAAE,EAAGd,EAAE,KAAKc,CAAC,CAAG,EAAE,KAAK,KAAMkB,CAAC,CAAE,EAAG,GAAId,EAAGhB,EAAI4B,GAAE,KAAKC,GAAGH,EAAGK,CAAC,EAAGD,EAAE,EAAI,EAAGjB,EAAEb,EAAG,mBAAoB,QAAQ,IAAM0B,EAAI1B,WAAY+B,EAAE,OAAS7B,EAAG6B,EAAE,QAAU5B,EAAGH,EAAI+B,EAAE,OAAS,CAAE,IAAK5B,EAAIE,GAAE,KAAK,EAAI,SAAUS,EAAG,CAAE,OAAOlB,KAAKkB,CAAG,CAAE,EAAGK,KAAMnB,EAAE,IAAMG,EAAIiB,EAAI,SAAUN,EAAG,CAAE,OAAOR,EAAEQ,CAAC,EAAGQ,EAAE,KAAO,EAAID,EAAE,MAAO,EAAGf,CAAC,EAAI,SAAUQ,EAAG,CAAE,OAAOA,EAAElB,CAAC,CAAG,GAAIwB,GAAKF,KAAMlB,EAAE,IAAMG,EAAIkB,EAAE,MAAO,EAAGf,CAAC,EAAI,SAAUQ,EAAGF,EAAG,CAAEE,EAAElB,CAAC,EAAIgB,CAAG,GAAIc,EAAIE,GAAE,KAAKC,GAAGZ,EAAI,CAAE,IAAKK,EAAE,IAAK,IAAKA,EAAE,GAAI,EAAIA,EAAEE,CAAC,EAAGO,CAAC,EAAGD,EAAE,EAAI,EAAGb,GAAK,GAAgB,OAAOS,GAAnB,UAAwBA,GAAI1B,EAAIa,EAAEa,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMtB,IAAKA,EAAIa,EAAEa,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMtB,IAAKA,EAAIa,EAAEa,EAAE,KAAM,eAAe,IAAMH,EAAE,QAAQvB,CAAC,UAAsB0B,IAAX,OAAc,MAAM,IAAI,UAAU,0FAA0F,OAAUb,EAAEa,GAAItB,EAAI,QAAU,UAAY,cAAe,QAAQ,IAAMA,EAAImB,EAAE,QAAQG,CAAC,EAAIJ,EAAEE,CAAC,EAAIE,EAAI,CAAE,OAAO7B,EAAI,GAAKI,EAAE,KAAKU,EAAEY,EAAGrB,EAAG,CAAC,EAAGS,EAAEb,EAAGI,EAAG,CAAC,CAAC,EAAGE,GAAKY,IAAMb,EAAIc,EAAIhB,EAAE,OAAO,GAAI,EAAGoB,EAAE,MAAOnB,CAAC,EAAGmB,EAAE,MAAOnB,CAAC,CAAC,EAAID,EAAE,KAAKmB,EAAIE,EAAEE,CAAC,EAAIX,EAAE,KAAK,KAAKS,EAAEE,CAAC,CAAC,CAAC,EAAIjB,EAAEO,EAAGlB,EAAG0B,CAAC,GAAII,CAAG,CAAE,SAASV,EAAEF,EAAG,CAAE,OAAOP,EAAEO,EAAGR,EAAG,CAAE,aAAc,GAAI,WAAY,GAAI,MAAOP,CAAE,CAAC,CAAG,CAAE,OAAkBD,IAAX,SAAiBC,EAAID,EAAEQ,CAAC,GAAIP,EAAIS,EAAUT,GAAI,IAAQ,EAAGI,EAAI,CAAC,EAAGC,EAAI,SAAUU,EAAG,CAAEA,GAAKX,EAAE,KAAKQ,EAAEG,CAAC,CAAC,CAAG,EAAGT,EAAI,SAAUO,EAAGhB,EAAG,CAAE,QAASE,EAAI,EAAGA,EAAIH,EAAE,OAAQG,IAAK,CAAE,IAAIC,EAAIJ,EAAEG,CAAC,EAAGE,EAAID,EAAE,CAAC,EAAGK,EAAI,EAAIJ,EAAG,IAAK,EAAIA,IAAMY,GAAK,CAACR,GAAKR,EAAG,CAAE,IAAIS,EAAIN,EAAE,CAAC,EAAGO,EAAI,CAAC,CAACP,EAAE,CAAC,EAAGQ,EAAI,GAAKP,EAAGe,EAASH,EAAI,EAAI,EAAE,UAAWb,EAAGQ,EAAGD,EAAI,IAAMD,EAAI2B,GAAe3B,CAAC,EAAGD,EAAGA,EAAI,EAAI,CAAC,EAAIQ,EAAIV,EAAIA,GAAK,CAAC,EAAID,EAAIA,GAAK,CAAC,EAAGE,EAAG,CAAC,CAACS,EAAGN,EAAGV,EAAGgB,GAAKN,EAAI,SAAUM,EAAG,CAAE,OAAOqB,GAAYrB,CAAC,IAAM,CAAG,EAAIf,CAAC,CAAG,CAAE,CAAE,EAAGQ,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGD,EAAEH,CAAC,EAAGG,EAAEF,CAAC,EAAGF,EAAIG,EAAGO,GAAKM,EAAE,CAAC,EAAG,CAAE,EAAGhB,EAAG,IAAI,GAAI,CAAE,IAAIL,EAAI,CAAC,EAAG,OAAOe,GAAK,CAACM,EAAE,EAAID,EAAS,EAAG,CAAC,CAAC,EAAGnB,EAAG,EAAE,KAAM,EAAGD,CAAC,CAAC,EAAGgB,EAAEhB,EAAG,CAAC,CAAC,CAAG,CAAE,CAAG,CACn/G,SAASqC,GAAepB,EAAG,CAAE,IAAId,EAAIoC,GAAatB,EAAG,QAAQ,EAAG,OAAmB,OAAOd,GAAnB,SAAuBA,EAAIA,EAAI,EAAI,CAC1G,SAASoC,GAAatB,EAAGhB,EAAG,CAAE,GAAgB,OAAOgB,GAAnB,UAAwB,CAACA,EAAG,OAAOA,EAAG,IAAIE,EAAIF,EAAE,OAAO,WAAW,EAAG,GAAeE,IAAX,OAAc,CAAE,IAAI,EAAIA,EAAE,KAAKF,EAAGhB,GAAK,SAAS,EAAG,GAAgB,OAAO,GAAnB,SAAsB,OAAO,EAAG,MAAM,IAAI,UAAU,8CAA8C,CAAG,CAAE,OAAqBA,IAAb,SAAiB,OAAS,QAAQgB,CAAC,CAAG,CACvT,SAASa,GAAiB,EAAG,EAAG9B,EAAG,CAAc,OAAO,GAAnB,WAAyB,GAAK,EAAI,EAAE,aAAe,IAAM,EAAI,IAAM,IAAK,GAAI,CAAE,OAAO,eAAe,EAAG,OAAQ,CAAE,aAAc,GAAI,MAAOA,EAAIA,EAAI,IAAM,EAAI,CAAE,CAAC,CAAG,MAAY,CAAC,CAAE,OAAO,CAAG,CAChO,SAASsC,GAAY,EAAG,CAAE,GAAI,OAAO,CAAC,IAAM,EAAG,MAAM,UAAU,qDAAgE,IAAT,KAAa,OAAO,EAAI,OAAO,EAAG,OAAO,CAAG,CAMlK,IAAIE,GACEC,GAAN,cAA0BC,EAAe,CACvC,MAAO,EACJ,CACC,EAAG,CAAC3D,GAAaC,GAAmBC,GAAaC,GAAmBC,GAAgBC,GAAsBC,GAAqBC,GAA2BC,GAAgBC,GAAsBC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAoBC,GAA0BjB,EAAU,EAChV,EAAG,CAAC2D,GAAc1D,EAAU,CAC9B,EAAIiB,GAAW,KAAM,CAAC4C,GAAc,eAAe,CAAC,EAAG,CAAC,CAACC,EAAK,CAC5D,GAAGC,GACH,aAAc,CAAC,CACjB,CAAC,EAAG,EAAG,OAAO,EAAG,CAACD,EAAK,CACrB,KAAM,OACN,aAAc,EAChB,CAAC,EAAG,EAAG,OAAO,EAAG,CAACA,EAAK,CACrB,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACA,EAAK,CACxB,KAAM,OACN,UAAW,iBACX,aAAc,UAChB,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,EAAK,CAC7B,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACE,GAAM,CACzB,KAAM,aACN,QAAS,GACT,SAAU,EACZ,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,GAAM,CAC5B,KAAM,aACN,QAAS,GACT,SAAU,EACZ,CAAC,EAAG,EAAG,aAAa,EAAG,CAACC,GAAO,EAAG,cAAc,EAAG,CAACC,GAAU,CAAC,QAAS,QAAS,WAAY,gBAAiB,WAAY,cAAc,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACC,EAAQ,CACzK,SAAU,aACV,KAAM,OACR,CAAC,EAAG,EAAG,YAAY,EAAG,CAACA,EAAQ,CAC7B,SAAU,oBACV,KAAM,OACR,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,EAAQ,CAChC,SAAU,aACV,KAAM,SACR,CAAC,EAAG,EAAG,cAAc,CAAC,EAAG,EAAG,OAAQP,EAAc,EACpD,CACA,eAAeQ,EAAM,CACnB,MAAM,GAAGA,CAAI,EACbpD,GAAyB,IAAI,CAC/B,CACA,OAASjB,GAAW,IAAI,EAAGE,GAAY,IAAI,GAC3C,OAASC,GAAkB,IAAI,EAAGC,GAAY,IAAI,GAClD,UAAYC,GAAkB,IAAI,EAAGC,GAAe,IAAI,GACxD,eAAiBC,GAAqB,IAAI,EAAGC,GAAoB,IAAI,GACrE,UAAYC,GAA0B,IAAI,EAAGC,GAAe,IAAI,GAChE,aAAeC,GAAqB,IAAI,EAAGC,GAAkB,IAAI,GACjE,aAAeC,GAAwB,IAAI,EAAGC,GAAkB,IAAI,GACpE,KAAOC,GAAwB,IAAI,EAAGuD,GAAS,eAAe,GAC9D,aAAetD,GAAmB,KAAM,IAAI,EAC5C,YAAa,CACX,OAAO,KAAK,gBAAkB,UAChC,CACA,mBAAoB,CAClB,OAAO,KAAK,KACd,CACA,kBAAkBuD,EAAQ,CACxB,KAAK,MAAQA,CACf,CACA,SAAU,CACR,IAAMC,EAAU,KAAK,cAAc,yBAAyB,EAC5D,OAAIA,IAGA,KAAK,cAAgB,KAChB,KAEF,KAAK,cAAc,iBAAiB,EAC7C,CACA,SAAU,CACR,IAAMC,EAAO,KAAK,QAAQ,EAC1B,OAAKA,EAGE,MAAM,KAAKA,EAAK,iBAAiB,YAAY,CAAC,EAF5C,CAAC,CAGZ,CACA,gBAAiB,CACf,OAAO,KAAK,QAAQ,EAAE,OAAOC,GAAO,CAACA,EAAI,QAAUA,EAAI,aAAa,eAAe,IAAM,MAAM,CACjG,CACA,YAAYA,EAAK,CACf,OAAOA,EAAI,aAAa,YAAY,GAAKA,EAAI,aAAa,KAAK,GAAK,EACtE,CACA,YAAYA,EAAK,CACf,OAAOA,EAAI,aAAa,YAAY,GAAKA,EAAI,aAAa,KAAK,GAAK,EACtE,CACA,cAAe,CACb,KAAK,QAAQ,EAAE,QAAQ,CAACA,EAAKC,IAAU,CAChCD,EAAI,KACPA,EAAI,GAAK,GAAG,KAAK,GAAG,QAAQC,CAAK,GAErC,CAAC,CACH,CACA,UAAW,CACT,IAAMF,EAAO,KAAK,QAAQ,EACrBA,IAGAA,EAAK,KACRA,EAAK,GAAK,GAAG,KAAK,GAAG,SAEvBA,EAAK,aAAa,OAAQ,MAAM,EAChCA,EAAK,aAAa,aAAc,KAAK,OAAS,MAAM,EAChD,KAAK,SACPA,EAAK,aAAa,gBAAiB,MAAM,EAEzCA,EAAK,gBAAgB,eAAe,EAExC,CACA,UAAW,CACT,IAAMG,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EACpC,KAAK,QAAQ,EACrB,QAAQ,CAACF,EAAKC,IAAU,CAC3BD,EAAI,aAAa,OAAQ,UAAU,EACnC,IAAMG,EAAQ,KAAK,YAAYH,CAAG,EAC5BI,EAAaF,EAAS,IAAIC,CAAK,EACrCH,EAAI,aAAa,gBAAiB,OAAOI,CAAU,CAAC,EACpDJ,EAAI,SAAWC,IAAU,EAAI,EAAI,GACjC,IAAMI,EAAeL,EAAI,cAAc,mBAAmB,EACtDK,IACFA,EAAa,KAAO,SACpBA,EAAa,SAAW,GACxBA,EAAa,aAAa,aAAc,UAAU,KAAK,YAAYL,CAAG,CAAC,EAAE,EAE7E,CAAC,CACH,CACA,UAAUA,EAAK,CACb,GAAI,KAAK,UAAY,KAAK,UAAYA,EAAI,aAAa,eAAe,IAAM,OAC1E,OAEF,IAAMM,EAAW,KAAK,YAAYN,CAAG,EACrC,GAAI,KAAK,WAAW,EAAG,CACrB,IAAME,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EAC7CA,EAAS,IAAII,CAAQ,EACvBJ,EAAS,OAAOI,CAAQ,EAExBJ,EAAS,IAAII,CAAQ,EAEvB,KAAK,kBAAkB,CAAC,GAAGJ,CAAQ,CAAC,CACtC,MACE,KAAK,MAAQ,CAACI,CAAQ,EAExB,KAAK,SAAS,EACd,KAAK,YAAY,KAAK,CACpB,MAAO,KAAK,KACd,CAAC,CACH,CACA,UAAUN,EAAK,CACb,IAAMM,EAAW,KAAK,YAAYN,CAAG,EAC/BE,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EACjDA,EAAS,OAAOI,CAAQ,EACxB,KAAK,kBAAkB,CAAC,GAAGJ,CAAQ,CAAC,EACpC,KAAK,SAAS,EACd,KAAK,YAAY,KAAK,CACpB,MAAOI,CACT,CAAC,EACD,KAAK,YAAY,KAAK,CACpB,MAAO,KAAK,KACd,CAAC,CACH,CACA,YAAa,CACX,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,CAChB,CACA,aAAc,CACZ,KAAK,WAAW,CAClB,CACA,gBAAiB,CACf,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,SAAS,CAChB,CAIA,QAAS,CACP,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,CAChB,CAOA,SAASC,EAAO,CACd,KAAK,aAAeA,EACpB,KAAK,MAAQA,EAAM,IAAIC,GAAQA,EAAK,KAAK,CAC3C,CAKA,iBAAiBA,EAAM,CACrB,IAAMR,EAAM,SAAS,cAAc,MAAM,EACzCA,EAAI,aAAa,WAAY,EAAE,EAC/BA,EAAI,aAAa,aAAcQ,EAAK,KAAK,EACzCR,EAAI,aAAa,aAAcQ,EAAK,KAAK,EACzCR,EAAI,UAAY,UAChBA,EAAI,YAAcQ,EAAK,MACvBR,EAAI,aAAa,aAAcQ,EAAK,KAAK,EACzC,IAAMC,EAAS,SAAS,cAAc,QAAQ,EAC9C,OAAAA,EAAO,KAAO,SACdA,EAAO,aAAa,kBAAmB,EAAE,EACzCA,EAAO,UAAY,kBACnBA,EAAO,aAAa,aAAc,UAAUD,EAAK,KAAK,EAAE,EACxDC,EAAO,OAAOC,GAAe,CAAC,EAC9BV,EAAI,OAAOS,CAAM,EACVT,CACT,CACA,iBAAkB,CAChB,IAAMW,EAAO,KAAK,cAAc,mBAAmB,EACnD,GAAI,CAACA,GAAQ,KAAK,cAAgB,KAChC,OAEeA,EAAK,cAAc,8CAA8C,GACxE,gBAAgB,SAAU,EAAI,EACxC,IAAIb,EAAUa,EAAK,cAAc,yBAAyB,EAC1D,GAAI,KAAK,aAAa,SAAW,EAAG,CAClCb,GAAS,OAAO,EAChB,MACF,CACKA,IACHA,EAAU,SAAS,cAAc,KAAK,EACtCA,EAAQ,aAAa,gBAAiB,EAAE,EACxCA,EAAQ,aAAa,wBAAyB,EAAE,EAChDA,EAAQ,UAAY,sBACpBa,EAAK,YAAYb,CAAO,GAE1BA,EAAQ,gBAAgB,GAAG,KAAK,aAAa,IAAIU,GAAQ,KAAK,iBAAiBA,CAAI,CAAC,CAAC,EACrF,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,CAChB,CACA,WAAWI,EAAQ,CACjB,IAAMC,EAASD,EAAO,OACtB,GAAIC,EAAO,QAAQ,mBAAmB,EACpC,OAEF,IAAMb,EAAMa,EAAO,QAAQ,YAAY,EACnCb,GAAO,KAAK,SAASA,CAAG,GAC1B,KAAK,UAAUA,CAAG,CAEtB,CACA,cAAcY,EAAQ,CACpBA,EAAO,gBAAgB,EAEvB,IAAMZ,EADSY,EAAO,OACH,QAAQ,YAAY,EACnCZ,GAAO,KAAK,SAASA,CAAG,GAC1B,KAAK,UAAUA,CAAG,CAEtB,CACA,aAAaY,EAAQ,CACnB,IAAME,EAAO,KAAK,eAAe,EAC3BC,EAAUH,EAAO,OAAO,QAAQ,YAAY,EAClD,GAAI,CAACG,EACH,OAEF,GAAIH,EAAO,MAAQ,SAAWA,EAAO,MAAQ,IAAK,CAChDA,EAAO,eAAe,EACjB,KAAK,UACR,KAAK,UAAUG,CAAO,EAExB,MACF,CACA,GAAIH,EAAO,MAAQ,aAAeA,EAAO,MAAQ,SAAU,CACpCG,EAAQ,cAAc,mBAAmB,IAE5DH,EAAO,eAAe,EACtB,KAAK,UAAUG,CAAO,GAExB,MACF,CACeC,GAAuB,CACpC,MAAOF,EACP,QAAAC,EACA,IAAKH,EAAO,IACZ,YAAa,YACf,CAAC,EACU,SACTA,EAAO,eAAe,CAE1B,CACA,MAAO,CACLrF,GAAW,CACb,CACF,EMjTA,OAAS,OAAA0F,EAAK,QAAAC,OAAY,4BCAnB,SAASC,EAAqBC,EAAMC,EAAU,CACnD,OAAIA,IAAa,QAAUD,GAAM,QAAU,OAClCA,EAEF,CACL,GAAGA,EACH,MAAOC,CACT,CACF,CDHO,SAASC,GAAW,CACzB,SAAAC,EACA,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,EAAI,MAAO,CAC/B,GAAGD,EACH,gBAAiB,GACjB,MAAOE,EAAG,sBAAuBH,CAAS,EAC1C,SAAAD,CACF,CAAC,CACH,CACO,SAASK,GAAO,CACrB,MAAAC,EACA,MAAAC,EACA,SAAAP,EACA,MAAOC,EACP,SAAAO,EACA,KAAAC,EACA,GAAGP,CACL,EAAG,CACD,OAAsBQ,GAAK,OAAQ,CACjC,GAAGR,EACH,WAAY,GACZ,aAAcI,EACd,aAAcC,EACd,MAAOH,EAAG,UAAWH,CAAS,EAC9B,KAAMU,EAAqBF,EAAMF,CAAK,EACtC,gBAAiBC,EAAW,OAAS,OACrC,SAAU,CAACR,EAAyBG,EAAIS,GAAc,CAAC,CAAC,CAAC,CAC3D,CAAC,CACH,CACO,SAASA,GAAa,CAC3B,SAAAZ,EACA,MAAOC,EACP,KAAAQ,EACA,GAAGP,CACL,EAAG,CACD,OAAsBC,EAAI,SAAU,CAClC,GAAGD,EACH,KAAMS,EAAqBF,EAAM,QAAQ,EACzC,KAAM,SACN,kBAAmB,GACnB,MAAOL,EAAG,kBAAmBH,CAAS,EACtC,SAAUD,GAA2BG,EAAIU,EAAU,CAAC,CAAC,CACvD,CAAC,CACH,CACA,SAASC,GAAc,CACrB,SAAAd,CACF,EAAG,CACD,OAAsBG,EAAI,MAAO,CAC/B,MAAO,gBACP,WAAY,OACZ,SAAAH,CACF,CAAC,CACH,CACO,SAASe,GAAY,CAC1B,KAAAC,EACA,SAAAhB,EACA,MAAAM,EACA,GAAGJ,CACL,EAAG,CACD,OAAIc,GAAQ,KACYb,EAAI,gBAAiB,CACzC,GAAGD,EACH,MAAAI,EACA,SAAyBH,EAAIW,GAAe,CAC1C,SAAyBX,EAAIJ,GAAY,CACvC,SAAUiB,EAAK,IAAIC,GAAsBd,EAAIE,GAAQ,CACnD,MAAOY,EAAI,MACX,MAAO,OAAOA,EAAI,OAAU,SAAWA,EAAI,MAAQ,OACnD,SAAUA,EAAI,SACd,SAAUA,EAAI,KAChB,CAAC,CAAC,CACJ,CAAC,CACH,CAAC,CACH,CAAC,EAEmBd,EAAI,gBAAiB,CACzC,GAAGD,EACH,MAAAI,EACA,SAAyBH,EAAIW,GAAe,CAC1C,SAAAd,CACF,CAAC,CACH,CAAC,CACH",
6
- "names": ["RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "state", "jsx", "jsxs", "cx", "parts", "SVG_NAMESPACE", "RuiIconX", "className", "size", "props", "jsxs", "cx", "jsx", "createRuiIconX", "icon", "d", "path", "applyRovingTabindex", "items", "activeIndex", "item", "index", "next", "focusRovingItem", "deltaForKey", "key", "orientation", "navigateRovingTabindex", "options", "current", "wrap", "delta", "CSS_SAFE_ID", "isCssSafeId", "value", "cssSafePrefix", "prefix", "trimmed", "prefixed", "uniqueId", "token", "byte", "parseMultiValue", "value", "uniqueTrimmed", "serializeMultiValue", "values", "multiValueTransform", "multiValuePropOptions", "uniqueTrimmed", "values", "item", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_disabled", "_init_extra_disabled", "_init_selectionMode", "_init_extra_selectionMode", "_init_embedded", "_init_extra_embedded", "_init_changeEvent", "_init_extra_changeEvent", "_init_removeEvent", "_init_extra_removeEvent", "_init_derivedItems", "_init_extra_derivedItems", "_applyDecs", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiTagGroup", "RuiTagGroup", "RadiantElement", "customElement", "prop", "multiValuePropOptions", "event", "state", "onUpdated", "onEvent", "args", "uniqueId", "values", "managed", "list", "tag", "index", "selected", "value", "isSelected", "removeButton", "tagValue", "items", "item", "remove", "createRuiIconX", "root", "event2", "target", "tags", "current", "navigateRovingTabindex", "jsx", "jsxs", "withDefaultAriaLabel", "aria", "fallback", "RuiTagList", "children", "className", "props", "jsx", "cx", "RuiTag", "value", "label", "disabled", "aria", "jsxs", "withDefaultAriaLabel", "RuiTagRemove", "RuiIconX", "TagGroupShell", "RuiTagGroup", "tags", "tag"]
4
+ "sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_embedded, _init_extra_embedded, _init_changeEvent, _init_extra_changeEvent, _init_removeEvent, _init_extra_removeEvent, _init_derivedItems, _init_extra_derivedItems;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, customElement, event, onEvent, onUpdated, prop, state } from \"@ecopages/radiant\";\nimport { createRuiIconX } from \"@/lib/icons/x\";\nimport { navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nimport { uniqueId } from \"@/lib/unique-id\";\nimport { multiValuePropOptions } from \"../shared/multi-value\";\nlet _RuiTagGroup;\nclass RuiTagGroup extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_embedded, _init_extra_embedded, _init_changeEvent, _init_extra_changeEvent, _init_removeEvent, _init_extra_removeEvent, _init_derivedItems, _init_extra_derivedItems, _initProto],\n c: [_RuiTagGroup, _initClass]\n } = _applyDecs(this, [customElement(\"rui-tag-group\")], [[prop({\n ...multiValuePropOptions,\n defaultValue: []\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: String,\n attribute: \"selection-mode\",\n defaultValue: \"multiple\"\n }), 0, \"selectionMode\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"embedded\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [event({\n name: \"rui-remove\",\n bubbles: true,\n composed: true\n }), 0, \"removeEvent\"], [state, 0, \"derivedItems\"], [onUpdated([\"value\", \"label\", \"disabled\", \"selectionMode\", \"embedded\", \"derivedItems\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: \"[data-tag]\",\n type: \"click\"\n }), 2, \"onTagClick\"], [onEvent({\n selector: \"[data-tag-remove]\",\n type: \"click\"\n }), 2, \"onRemoveClick\"], [onEvent({\n selector: \"[data-tag]\",\n type: \"keydown\"\n }), 2, \"onTagKeydown\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_derivedItems(this);\n }\n value = (_initProto(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n disabled = (_init_extra_label(this), _init_disabled(this));\n selectionMode = (_init_extra_disabled(this), _init_selectionMode(this));\n embedded = (_init_extra_selectionMode(this), _init_embedded(this));\n changeEvent = (_init_extra_embedded(this), _init_changeEvent(this));\n removeEvent = (_init_extra_changeEvent(this), _init_removeEvent(this));\n uid = (_init_extra_removeEvent(this), uniqueId(\"rui-tag-group\"));\n derivedItems = _init_derivedItems(this, null);\n isMultiple() {\n return this.selectionMode === \"multiple\";\n }\n getSelectedValues() {\n return this.value;\n }\n setSelectedValues(values) {\n this.value = values;\n }\n getList() {\n const managed = this.querySelector(\"[data-rui-managed-list]\");\n if (managed) {\n return managed;\n }\n if (this.derivedItems != null) {\n return null;\n }\n return this.querySelector(\"[data-tag-list]\");\n }\n getTags() {\n const list = this.getList();\n if (!list) {\n return [];\n }\n return Array.from(list.querySelectorAll(\"[data-tag]\"));\n }\n getVisibleTags() {\n return this.getTags().filter(tag => !tag.hidden && tag.getAttribute(\"aria-disabled\") !== \"true\");\n }\n getTagValue(tag) {\n return tag.getAttribute(\"data-value\") || tag.textContent?.trim() || \"\";\n }\n getTagLabel(tag) {\n return tag.getAttribute(\"data-label\") || tag.textContent?.trim() || \"\";\n }\n ensureTagIds() {\n this.getTags().forEach((tag, index) => {\n if (!tag.id) {\n tag.id = `${this.uid}-tag-${index}`;\n }\n });\n }\n syncList() {\n const list = this.getList();\n if (!list) {\n return;\n }\n if (!list.id) {\n list.id = `${this.uid}-list`;\n }\n list.setAttribute(\"role\", \"list\");\n list.setAttribute(\"aria-label\", this.label || \"Tags\");\n if (this.disabled) {\n list.setAttribute(\"aria-disabled\", \"true\");\n } else {\n list.removeAttribute(\"aria-disabled\");\n }\n }\n syncTags() {\n const selected = new Set(this.getSelectedValues());\n const tags = this.getTags();\n tags.forEach((tag, index) => {\n tag.setAttribute(\"role\", \"listitem\");\n const value = this.getTagValue(tag);\n const isSelected = selected.has(value);\n tag.setAttribute(\"aria-selected\", String(isSelected));\n tag.tabIndex = index === 0 ? 0 : -1;\n const removeButton = tag.querySelector(\"[data-tag-remove]\");\n if (removeButton) {\n removeButton.type = \"button\";\n removeButton.tabIndex = -1;\n removeButton.setAttribute(\"aria-label\", `Remove ${this.getTagLabel(tag)}`);\n }\n });\n }\n selectTag(tag) {\n if (this.disabled || this.embedded || tag.getAttribute(\"aria-disabled\") === \"true\") {\n return;\n }\n const tagValue = this.getTagValue(tag);\n if (this.isMultiple()) {\n const selected = new Set(this.getSelectedValues());\n if (selected.has(tagValue)) {\n selected.delete(tagValue);\n } else {\n selected.add(tagValue);\n }\n this.setSelectedValues([...selected]);\n } else {\n this.value = [tagValue];\n }\n this.syncTags();\n this.changeEvent.emit({\n value: this.value\n });\n }\n removeTag(tag) {\n const tagValue = this.getTagValue(tag);\n const selected = new Set(this.getSelectedValues());\n selected.delete(tagValue);\n this.setSelectedValues([...selected]);\n this.syncTags();\n this.removeEvent.emit({\n value: tagValue\n });\n this.changeEvent.emit({\n value: this.value\n });\n }\n initialize() {\n this.syncManagedList();\n this.ensureTagIds();\n this.syncList();\n this.syncTags();\n }\n onConnected() {\n this.initialize();\n }\n onPropsUpdated() {\n this.syncManagedList();\n this.syncList();\n this.syncTags();\n }\n /**\n * Re-read authored `[data-tag]` children after the parent mutates them in place.\n */\n resync() {\n this.ensureTagIds();\n this.syncList();\n this.syncTags();\n }\n /**\n * Replace authored tags with a CE-owned list. Requires `[data-ref=\"root\"]`.\n *\n * @remarks Hides the authored `[data-tag-list]` and sets `value` to every\n * item. Pass `[]` to clear the managed list.\n */\n setItems(items) {\n this.derivedItems = items;\n this.value = items.map(item => item.value);\n }\n /**\n * Imperative twin of the view's `RuiTag` / `RuiTagRemove` markup for\n * CE-managed items (same `data-*` hooks, classes, and remove icon).\n */\n createManagedTag(item) {\n const tag = document.createElement(\"span\");\n tag.setAttribute(\"data-tag\", \"\");\n tag.setAttribute(\"data-value\", item.value);\n tag.setAttribute(\"data-label\", item.label);\n tag.className = \"rui-tag\";\n tag.textContent = item.label;\n tag.setAttribute(\"aria-label\", item.label);\n const remove = document.createElement(\"button\");\n remove.type = \"button\";\n remove.setAttribute(\"data-tag-remove\", \"\");\n remove.className = \"rui-tag__remove\";\n remove.setAttribute(\"aria-label\", `Remove ${item.label}`);\n remove.append(createRuiIconX());\n tag.append(remove);\n return tag;\n }\n syncManagedList() {\n const root = this.querySelector('[data-ref=\"root\"]');\n if (!root || this.derivedItems == null) {\n return;\n }\n const authored = root.querySelector(\"[data-tag-list]:not([data-rui-managed-list])\");\n authored?.toggleAttribute(\"hidden\", true);\n let managed = root.querySelector(\"[data-rui-managed-list]\");\n if (this.derivedItems.length === 0) {\n managed?.remove();\n return;\n }\n if (!managed) {\n managed = document.createElement(\"div\");\n managed.setAttribute(\"data-tag-list\", \"\");\n managed.setAttribute(\"data-rui-managed-list\", \"\");\n managed.className = \"rui-tag-group__list\";\n root.appendChild(managed);\n }\n managed.replaceChildren(...this.derivedItems.map(item => this.createManagedTag(item)));\n this.ensureTagIds();\n this.syncList();\n this.syncTags();\n }\n onTagClick(event2) {\n const target = event2.target;\n if (target.closest(\"[data-tag-remove]\")) {\n return;\n }\n const tag = target.closest(\"[data-tag]\");\n if (tag && this.contains(tag)) {\n this.selectTag(tag);\n }\n }\n onRemoveClick(event2) {\n event2.stopPropagation();\n const button = event2.target;\n const tag = button.closest(\"[data-tag]\");\n if (tag && this.contains(tag)) {\n this.removeTag(tag);\n }\n }\n onTagKeydown(event2) {\n const tags = this.getVisibleTags();\n const current = event2.target.closest(\"[data-tag]\");\n if (!current) {\n return;\n }\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n if (!this.embedded) {\n this.selectTag(current);\n }\n return;\n }\n if (event2.key === \"Backspace\" || event2.key === \"Delete\") {\n const removeButton = current.querySelector(\"[data-tag-remove]\");\n if (removeButton) {\n event2.preventDefault();\n this.removeTag(current);\n }\n return;\n }\n const result = navigateRovingTabindex({\n items: tags,\n current,\n key: event2.key,\n orientation: \"horizontal\"\n });\n if (result.handled) {\n event2.preventDefault();\n }\n }\n static {\n _initClass();\n }\n}\nexport { _RuiTagGroup as RuiTagGroup };", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nexport function RuiIconX({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: [/* @__PURE__ */jsx(\"path\", {\n d: \"m18 6-12 12\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m6 6 12 12\"\n })]\n });\n}\nexport function createRuiIconX() {\n const icon = document.createElementNS(SVG_NAMESPACE, \"svg\");\n icon.setAttribute(\"class\", \"rui-icon\");\n icon.setAttribute(\"viewBox\", \"0 0 24 24\");\n icon.setAttribute(\"fill\", \"none\");\n icon.setAttribute(\"stroke\", \"currentColor\");\n icon.setAttribute(\"stroke-width\", \"2\");\n icon.setAttribute(\"stroke-linecap\", \"round\");\n icon.setAttribute(\"stroke-linejoin\", \"round\");\n icon.setAttribute(\"aria-hidden\", \"true\");\n for (const d of [\"m18 6-12 12\", \"m6 6 12 12\"]) {\n const path = document.createElementNS(SVG_NAMESPACE, \"path\");\n path.setAttribute(\"d\", d);\n icon.append(path);\n }\n return icon;\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "export function applyRovingTabindex(items, activeIndex) {\n items.forEach((item, index) => {\n const next = index === activeIndex ? 0 : -1;\n if (item.tabIndex !== next) {\n item.tabIndex = next;\n }\n });\n}\nexport function focusRovingItem(items, index) {\n if (!items.length) return null;\n const next = Math.max(0, Math.min(items.length - 1, index));\n applyRovingTabindex(items, next);\n items[next]?.focus();\n return items[next] ?? null;\n}\nfunction deltaForKey(key, orientation) {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"horizontal\") {\n if (key === \"ArrowRight\") return \"next\";\n if (key === \"ArrowLeft\") return \"prev\";\n return null;\n }\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"prev\";\n return null;\n}\nexport function navigateRovingTabindex(options) {\n const {\n items,\n current,\n key,\n orientation = \"horizontal\",\n wrap = true\n } = options;\n if (!items.length || !current) return {\n handled: false\n };\n const index = items.indexOf(current);\n if (index < 0) return {\n handled: false\n };\n const delta = deltaForKey(key, orientation);\n if (!delta) return {\n handled: false\n };\n let next = index;\n if (delta === \"first\") next = 0;else if (delta === \"last\") next = items.length - 1;else if (delta === \"next\") next = wrap ? (index + 1) % items.length : Math.min(items.length - 1, index + 1);else next = wrap ? (index - 1 + items.length) % items.length : Math.max(0, index - 1);\n const item = focusRovingItem(items, next);\n if (!item) return {\n handled: false\n };\n return {\n handled: true,\n index: next,\n item\n };\n}", "const CSS_SAFE_ID = /^[A-Za-z][A-Za-z0-9_-]*$/;\nexport function isCssSafeId(value) {\n return CSS_SAFE_ID.test(value);\n}\nfunction cssSafePrefix(prefix) {\n const trimmed = prefix.trim();\n if (isCssSafeId(trimmed)) {\n return trimmed;\n }\n const prefixed = `rui-${trimmed}`;\n if (trimmed && isCssSafeId(prefixed)) {\n return prefixed;\n }\n return \"rui\";\n}\nexport function uniqueId(prefix) {\n const token = typeof crypto.randomUUID === \"function\" ? crypto.randomUUID().replace(/-/g, \"\") : Array.from(crypto.getRandomValues(new Uint8Array(16)), byte => byte.toString(16).padStart(2, \"0\")).join(\"\");\n return `${cssSafePrefix(prefix)}-${token}`;\n}", "export function parseMultiValue(value) {\n if (!value) {\n return [];\n }\n return uniqueTrimmed(value.split(\",\"));\n}\nexport function serializeMultiValue(values) {\n return values.join(\",\");\n}\nexport const multiValueTransform = {\n fromAttribute: value => parseMultiValue(value),\n toAttribute: values => values.length > 0 ? serializeMultiValue(values) : null,\n fromProperty: value => {\n if (Array.isArray(value)) {\n return uniqueTrimmed(value.map(String));\n }\n if (typeof value === \"string\") {\n return parseMultiValue(value);\n }\n return [];\n }\n};\nexport const multiValuePropOptions = {\n type: Array,\n reflect: true,\n transform: multiValueTransform\n};\nexport function parseViewValue(value) {\n return multiValueTransform.fromProperty?.(value) ?? [];\n}\nfunction parseNumberArray(value) {\n if (!value) {\n return [];\n }\n return value.split(\",\").map(item => Number(item.trim())).filter(item => Number.isFinite(item));\n}\nfunction serializeNumberArray(values) {\n return values.join(\",\");\n}\nexport const numberArrayTransform = {\n fromAttribute: value => parseNumberArray(value),\n toAttribute: values => values.length > 0 ? serializeNumberArray(values) : null,\n fromProperty: value => {\n if (Array.isArray(value)) {\n return value.map(Number).filter(item => Number.isFinite(item));\n }\n if (typeof value === \"number\" && Number.isFinite(value)) {\n return [value];\n }\n if (typeof value === \"string\") {\n return parseNumberArray(value);\n }\n return [];\n }\n};\nfunction uniqueTrimmed(values) {\n return [...new Set(values.map(item => item.trim()).filter(Boolean))];\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { withDefaultAriaLabel } from \"@/aria\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiIconX } from \"@/lib/icons\";\nimport { RuiTagGroup as RuiTagGroupElement } from \"./tag-group.script\";\nexport function RuiTagList({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-tag-list\": true,\n class: cx(\"rui-tag-group__list\", className),\n children\n });\n}\nexport function RuiTag({\n value,\n label,\n children,\n class: className,\n disabled,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"span\", {\n ...props,\n \"data-tag\": true,\n \"data-value\": value,\n \"data-label\": label,\n class: cx(\"rui-tag\", className),\n aria: withDefaultAriaLabel(aria, label),\n \"aria-disabled\": disabled ? \"true\" : void 0,\n children: [children, /* @__PURE__ */jsx(RuiTagRemove, {})]\n });\n}\nexport function RuiTagRemove({\n children,\n class: className,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Remove\"),\n type: \"button\",\n \"data-tag-remove\": true,\n class: cx(\"rui-tag__remove\", className),\n children: children ?? /* @__PURE__ */jsx(RuiIconX, {})\n });\n}\nfunction TagGroupShell({\n children\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-tag-group\",\n \"data-ref\": \"root\",\n children\n });\n}\nexport function RuiTagGroup({\n tags,\n children,\n value,\n ...props\n}) {\n if (tags != null) {\n return /* @__PURE__ */jsx(RuiTagGroupElement, {\n ...props,\n value,\n children: /* @__PURE__ */jsx(TagGroupShell, {\n children: /* @__PURE__ */jsx(RuiTagList, {\n children: tags.map(tag => /* @__PURE__ */jsx(RuiTag, {\n value: tag.value,\n label: typeof tag.label === \"string\" ? tag.label : void 0,\n disabled: tag.disabled,\n children: tag.label\n }))\n })\n })\n });\n }\n return /* @__PURE__ */jsx(RuiTagGroupElement, {\n ...props,\n value,\n children: /* @__PURE__ */jsx(TagGroupShell, {\n children\n })\n });\n}", "export function withDefaultAriaLabel(aria, fallback) {\n if (fallback === void 0 || aria?.label !== void 0) {\n return aria;\n }\n return {\n ...aria,\n label: fallback\n };\n}"],
5
+ "mappings": "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",
6
+ "names": ["RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "state", "jsx", "jsxs", "cx", "parts", "SVG_NAMESPACE", "RuiIconX", "className", "size", "props", "jsxs", "cx", "jsx", "createRuiIconX", "icon", "d", "path", "applyRovingTabindex", "items", "activeIndex", "item", "index", "next", "focusRovingItem", "deltaForKey", "key", "orientation", "navigateRovingTabindex", "options", "current", "wrap", "delta", "CSS_SAFE_ID", "isCssSafeId", "value", "cssSafePrefix", "prefix", "trimmed", "prefixed", "uniqueId", "token", "byte", "parseMultiValue", "value", "uniqueTrimmed", "serializeMultiValue", "values", "multiValueTransform", "multiValuePropOptions", "uniqueTrimmed", "values", "item", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_disabled", "_init_extra_disabled", "_init_selectionMode", "_init_extra_selectionMode", "_init_embedded", "_init_extra_embedded", "_init_changeEvent", "_init_extra_changeEvent", "_init_removeEvent", "_init_extra_removeEvent", "_init_derivedItems", "_init_extra_derivedItems", "_applyDecs", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiTagGroup", "RuiTagGroup", "RadiantElement", "customElement", "prop", "multiValuePropOptions", "event", "state", "onUpdated", "onEvent", "args", "uniqueId", "values", "managed", "list", "tag", "index", "selected", "value", "isSelected", "removeButton", "tagValue", "items", "item", "remove", "createRuiIconX", "root", "event2", "target", "tags", "current", "navigateRovingTabindex", "jsx", "jsxs", "withDefaultAriaLabel", "aria", "fallback", "RuiTagList", "children", "className", "props", "jsx", "cx", "RuiTag", "value", "label", "disabled", "aria", "jsxs", "withDefaultAriaLabel", "RuiTagRemove", "RuiIconX", "TagGroupShell", "RuiTagGroup", "tags", "_RuiTagGroup", "tag"]
7
7
  }
@@ -1,7 +1,6 @@
1
1
  import { type JsxCustomElementAttributes, type JsxElementProps, type JsxRenderable } from '@ecopages/jsx';
2
2
  import type { NativeButtonProps } from '../../../lib/native-element-props';
3
- import type { RuiTagGroup as RuiTagGroupElement, RuiTagGroupProps } from './tag-group.script';
4
- import './tag-group.script';
3
+ import { RuiTagGroup as RuiTagGroupElement, type RuiTagGroupProps } from './tag-group.script';
5
4
  export type RuiTagListProps = JsxElementProps<HTMLDivElement>;
6
5
  /**
7
6
  * Flex-wrapped container for `RuiTag` children. Stamps `[data-tag-list]`.
@@ -1,3 +1,4 @@
1
+ import type { JSX_PROPS } from '@ecopages/jsx';
1
2
  import { RadiantElement } from '@ecopages/radiant';
2
3
  import type { EventEmitter } from '@ecopages/radiant/tools/event-emitter';
3
4
  import { type ViewMultiValue } from '../shared/multi-value';
@@ -72,6 +73,7 @@ export type RuiTagGroupRemoveDetail = {
72
73
  * Not form-associated: wrap in `rui-field` and read `RuiForm` `onSubmit`.
73
74
  */
74
75
  export declare class RuiTagGroup extends RadiantElement {
76
+ readonly [JSX_PROPS]?: RuiTagGroupProps;
75
77
  value: string[];
76
78
  label: string;
77
79
  disabled: boolean;
@@ -122,3 +124,8 @@ export declare class RuiTagGroup extends RadiantElement {
122
124
  onRemoveClick(event: Event): void;
123
125
  onTagKeydown(event: KeyboardEvent): void;
124
126
  }
127
+ declare global {
128
+ interface HTMLElementTagNameMap {
129
+ 'rui-tag-group': RuiTagGroup;
130
+ }
131
+ }
@@ -1,5 +1,5 @@
1
1
  export { RuiToast as RuiToastElement, type RuiToastProps } from './toast.script';
2
- export { RuiToaster as RuiToasterElement, type RuiToasterProps } from './toaster.script';
3
- export { RuiToast, RuiToaster, type RuiToastViewProps, type RuiToasterViewProps } from './toast';
2
+ export { RuiToaster, RuiToaster as RuiToasterElement, type RuiToasterProps } from './toaster.script';
3
+ export { RuiToast, type RuiToastViewProps, type RuiToasterViewProps } from './toast';
4
4
  export { toast, showToast, dismissToast, type ToastCallable } from './toast-api';
5
5
  export { RUI_TOAST_SHOW_EVENT, RUI_TOAST_DISMISS_EVENT, TOAST_LIFETIME, TOAST_WIDTH, TOAST_GAP, TOAST_VIEWPORT_OFFSET, TOAST_VISIBLE_AMOUNT, TOAST_COLLAPSED_PEEK, TOAST_SWIPE_THRESHOLD, TOAST_EXIT_MS, DEFAULT_TOAST_POSITION, TOAST_POSITIONS, type ToastVariant, type ToastPosition, type ToastAction, type ToastId, type ToastOptions, type ToastRecord, type ToastDismissDetail, type ToastShowDetail, type PromiseToastMessages, } from './toast-context';