@purpurds/listbox 7.6.0 → 7.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/LICENSE.txt CHANGED
@@ -33,13 +33,13 @@ SOFTWARE.
33
33
  ---
34
34
 
35
35
  Name: @purpurds/icon
36
- Version: 7.5.1
36
+ Version: 7.6.1
37
37
  License: AGPL-3.0-only
38
38
  Private: false
39
39
 
40
40
  ---
41
41
 
42
42
  Name: @purpurds/paragraph
43
- Version: 7.5.1
43
+ Version: 7.6.1
44
44
  License: AGPL-3.0-only
45
45
  Private: false
@@ -1,7 +1,7 @@
1
- import { ComponentPropsWithRef, ReactElement, ReactNode, default as React } from 'react';
1
+ import { default as React, ReactElement, ReactNode } from 'react';
2
+ import { BaseProps } from '@purpurds/common-types';
2
3
 
3
- export type ListboxItemProps = Omit<ComponentPropsWithRef<"li">, "role"> & {
4
- "data-testid"?: string;
4
+ export type ListboxItemProps = Omit<BaseProps<"li">, "role"> & {
5
5
  highlighted?: boolean;
6
6
  hovered?: boolean;
7
7
  key?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"listbox-item.d.ts","sourceRoot":"","sources":["../src/listbox-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EAErB,YAAY,EACZ,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,KAAqC,MAAM,OAAO,CAAC;AAW1D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,WAAW,qGA0BvB,CAAC;AAEF,eAAO,MAAM,aAAa,WAChB,SAAS,KAChB,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAC+B,CAAC"}
1
+ {"version":3,"file":"listbox-item.d.ts","sourceRoot":"","sources":["../src/listbox-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA8B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAWxD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,WAAW,qGAiCtB,CAAC;AAEH,eAAO,MAAM,aAAa,WAAY,SAAS,KAAG,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAChB,CAAC"}
@@ -1,14 +1,14 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("react");function q(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _={exports:{}};/*!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),c=require("react");function q(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var h={exports:{}};/*!
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames
5
- */var f;function L(){return f||(f=1,function(e){(function(){var i={}.hasOwnProperty;function a(){for(var r="",t=0;t<arguments.length;t++){var p=arguments[t];p&&(r=n(r,u.call(this,p)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var t="";for(var p in r)i.call(r,p)&&r[p]&&(t=n(t,this&&this[p]||p));return t}function n(r,t){return t?r?r+" "+t:r+t:r}e.exports?(a.default=a,e.exports=a):window.classNames=a})()}(_)),_.exports}var R=L();const j=q(R),N={"purpur-listbox":"_purpur-listbox_6c8yl_1","purpur-listbox-item":"_purpur-listbox-item_6c8yl_15","purpur-listbox-item--hovered":"_purpur-listbox-item--hovered_6c8yl_29","purpur-listbox-item--highlighted":"_purpur-listbox-item--highlighted_6c8yl_37","purpur-listbox-item--noninteractive":"_purpur-listbox-item--noninteractive_6c8yl_41","purpur-listbox-item--disabled":"_purpur-listbox-item--disabled_6c8yl_44","purpur-listbox-item__icon":"_purpur-listbox-item__icon_6c8yl_51"};function I(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var v={exports:{}};/*!
5
+ */var g;function L(){return g||(g=1,function(e){(function(){var i={}.hasOwnProperty;function a(){for(var r="",t=0;t<arguments.length;t++){var p=arguments[t];p&&(r=n(r,u.call(this,p)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var t="";for(var p in r)i.call(r,p)&&r[p]&&(t=n(t,this&&this[p]||p));return t}function n(r,t){return t?r?r+" "+t:r+t:r}e.exports?(a.default=a,e.exports=a):window.classNames=a})()}(h)),h.exports}var R=L();const $=q(R),w={"purpur-listbox":"_purpur-listbox_6c8yl_1","purpur-listbox-item":"_purpur-listbox-item_6c8yl_15","purpur-listbox-item--hovered":"_purpur-listbox-item--hovered_6c8yl_29","purpur-listbox-item--highlighted":"_purpur-listbox-item--highlighted_6c8yl_37","purpur-listbox-item--noninteractive":"_purpur-listbox-item--noninteractive_6c8yl_41","purpur-listbox-item--disabled":"_purpur-listbox-item--disabled_6c8yl_44","purpur-listbox-item__icon":"_purpur-listbox-item__icon_6c8yl_51"};function I(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var m={exports:{}};/*!
6
6
  Copyright (c) 2018 Jed Watson.
7
7
  Licensed under the MIT License (MIT), see
8
8
  http://jedwatson.github.io/classnames
9
- */var b;function B(){return b||(b=1,function(e){(function(){var i={}.hasOwnProperty;function a(){for(var r="",t=0;t<arguments.length;t++){var p=arguments[t];p&&(r=n(r,u.call(this,p)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var t="";for(var p in r)i.call(r,p)&&r[p]&&(t=n(t,this&&this[p]||p));return t}function n(r,t){return t?r?r+" "+t:r+t:r}e.exports?(a.default=a,e.exports=a):window.classNames=a})()}(v)),v.exports}var C=B();const M=I(C),k={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},H=M.bind(k),x="purpur-icon",E="md",T=e=>e.filter(i=>Object.keys(i).length>=1).map(i=>`${i.name}="${i.value}"`).join(" "),z=({content:e="",title:i}={})=>{const a=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},i?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],u=i?`<title>${i}</title>`:"";return`<svg ${T(a)}>${u}${e}</svg>`},G=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),S=({["data-testid"]:e,svg:i,allyTitle:a,className:u,size:n=E,...r})=>{const t=z({content:G(i.svg),title:a}),p=H(u,x,`${x}--${n}`);return s.jsx("span",{className:p,"data-testid":e,dangerouslySetInnerHTML:{__html:t},...r})};S.displayName="Icon";const V={name:"checkmark",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M21.06 3.795a.9.9 0 0 1 .145 1.264l-11.5 14.5a.9.9 0 0 1-1.341.077l-6-6a.9.9 0 0 1 1.272-1.272l5.286 5.286L19.795 3.94a.9.9 0 0 1 1.264-.145Z" clip-rule="evenodd"/></svg>',keywords:["checkmark"],category:"utility"},O=e=>s.jsx(S,{...e,svg:V});O.displayName="IconCheckmark";function D(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var y={exports:{}};/*!
9
+ */var f;function B(){return f||(f=1,function(e){(function(){var i={}.hasOwnProperty;function a(){for(var r="",t=0;t<arguments.length;t++){var p=arguments[t];p&&(r=n(r,u.call(this,p)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var t="";for(var p in r)i.call(r,p)&&r[p]&&(t=n(t,this&&this[p]||p));return t}function n(r,t){return t?r?r+" "+t:r+t:r}e.exports?(a.default=a,e.exports=a):window.classNames=a})()}(m)),m.exports}var C=B();const M=I(C),k={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},H=M.bind(k),v="purpur-icon",E="md",T=e=>e.filter(i=>Object.keys(i).length>=1).map(i=>`${i.name}="${i.value}"`).join(" "),z=({content:e="",title:i}={})=>{const a=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},i?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],u=i?`<title>${i}</title>`:"";return`<svg ${T(a)}>${u}${e}</svg>`},G=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),j=({svg:e,allyTitle:i,className:a,size:u=E,...n})=>{const r=z({content:G(e.svg),title:i}),t=H(a,v,`${v}--${u}`);return s.jsx("span",{className:t,dangerouslySetInnerHTML:{__html:r},...n})};j.displayName="Icon";const V={name:"checkmark",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M21.06 3.795a.9.9 0 0 1 .145 1.264l-11.5 14.5a.9.9 0 0 1-1.341.077l-6-6a.9.9 0 0 1 1.272-1.272l5.286 5.286L19.795 3.94a.9.9 0 0 1 1.264-.145Z" clip-rule="evenodd"/></svg>',keywords:["checkmark"],category:"utility"},N=e=>s.jsx(j,{...e,svg:V});N.displayName="IconCheckmark";function D(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var b={exports:{}};/*!
10
10
  Copyright (c) 2018 Jed Watson.
11
11
  Licensed under the MIT License (MIT), see
12
12
  http://jedwatson.github.io/classnames
13
- */var $;function F(){return $||($=1,function(e){(function(){var i={}.hasOwnProperty;function a(){for(var r="",t=0;t<arguments.length;t++){var p=arguments[t];p&&(r=n(r,u(p)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(null,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var t="";for(var p in r)i.call(r,p)&&r[p]&&(t=n(t,p));return t}function n(r,t){return t?r?r+" "+t:r+t:r}e.exports?(a.default=a,e.exports=a):window.classNames=a})()}(y)),y.exports}var Z=F();const J=D(Z),l={"purpur-paragraph":"_purpur-paragraph_1rh57_1","purpur-paragraph--disabled":"_purpur-paragraph--disabled_1rh57_7","purpur-paragraph--hyphens":"_purpur-paragraph--hyphens_1rh57_10","purpur-paragraph--negative":"_purpur-paragraph--negative_1rh57_13","purpur-paragraph--paragraph-100":"_purpur-paragraph--paragraph-100_1rh57_16","purpur-paragraph--paragraph-100-medium":"_purpur-paragraph--paragraph-100-medium_1rh57_22","purpur-paragraph--paragraph-100-bold":"_purpur-paragraph--paragraph-100-bold_1rh57_29","purpur-paragraph--paragraph-200":"_purpur-paragraph--paragraph-200_1rh57_36","purpur-paragraph--preamble-100":"_purpur-paragraph--preamble-100_1rh57_42","purpur-paragraph--preamble-200":"_purpur-paragraph--preamble-200_1rh57_48","purpur-paragraph--additional-100":"_purpur-paragraph--additional-100_1rh57_54","purpur-paragraph--additional-100-medium":"_purpur-paragraph--additional-100-medium_1rh57_60","purpur-paragraph--overline-100":"_purpur-paragraph--overline-100_1rh57_67","purpur-paragraph--overline-200":"_purpur-paragraph--overline-200_1rh57_75"},K={PARAGRAPH100:"paragraph-100"},c="purpur-paragraph",A=({["data-testid"]:e,children:i,className:a,disabled:u,enableHyphenation:n=!1,negative:r=!1,variant:t=K.PARAGRAPH100,...p})=>{const h=J([a,l[c],l[`${c}--${t}`],{[l[`${c}--hyphens`]]:n,[l[`${c}--disabled`]]:u,[l[`${c}--negative`]]:r}]);return s.jsx("p",{...p,className:h,"data-testid":e,children:i})};A.displayName="Paragraph";const w=j.bind(N),o="purpur-listbox",g=d.forwardRef((e,i)=>{const{disabled:a,highlighted:u,hovered:n,selected:r,children:t,noninteractive:p,...h}=e,P=w(`${o}-item`,h.className,{[`${o}-item--highlighted`]:u,[`${o}-item--selected`]:r,[`${o}-item--hovered`]:n,[`${o}-item--disabled`]:a,[`${o}-item--noninteractive`]:p});return s.jsxs("li",{...h,ref:i,className:P,"aria-selected":!!r,role:"option","aria-disabled":!!a,children:[typeof t=="string"?s.jsx(A,{children:t}):t,r&&s.jsx(O,{size:"xs",className:w(`${o}-item__icon`)})]})}),Q=e=>d.isValidElement(e)&&(e==null?void 0:e.type)===g;g.displayName="ListBoxItem";const U=j.bind(N),W="purpur-listbox",m=d.forwardRef(({children:e,...i},a)=>s.jsx("ul",{...i,ref:a,className:U(W,i.className),role:"listbox",children:d.Children.toArray(e).filter(Q)}));m.Item=g;m.displayName="ListBox";exports.Listbox=m;
13
+ */var x;function F(){return x||(x=1,function(e){(function(){var i={}.hasOwnProperty;function a(){for(var r="",t=0;t<arguments.length;t++){var p=arguments[t];p&&(r=n(r,u.call(this,p)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var t="";for(var p in r)i.call(r,p)&&r[p]&&(t=n(t,this&&this[p]||p));return t}function n(r,t){return t?r?r+" "+t:r+t:r}e.exports?(a.default=a,e.exports=a):window.classNames=a})()}(b)),b.exports}var Z=F();const J=D(Z),K={"purpur-paragraph":"_purpur-paragraph_1rh57_1","purpur-paragraph--disabled":"_purpur-paragraph--disabled_1rh57_7","purpur-paragraph--hyphens":"_purpur-paragraph--hyphens_1rh57_10","purpur-paragraph--negative":"_purpur-paragraph--negative_1rh57_13","purpur-paragraph--paragraph-100":"_purpur-paragraph--paragraph-100_1rh57_16","purpur-paragraph--paragraph-100-medium":"_purpur-paragraph--paragraph-100-medium_1rh57_22","purpur-paragraph--paragraph-100-bold":"_purpur-paragraph--paragraph-100-bold_1rh57_29","purpur-paragraph--paragraph-200":"_purpur-paragraph--paragraph-200_1rh57_36","purpur-paragraph--preamble-100":"_purpur-paragraph--preamble-100_1rh57_42","purpur-paragraph--preamble-200":"_purpur-paragraph--preamble-200_1rh57_48","purpur-paragraph--additional-100":"_purpur-paragraph--additional-100_1rh57_54","purpur-paragraph--additional-100-medium":"_purpur-paragraph--additional-100-medium_1rh57_60","purpur-paragraph--overline-100":"_purpur-paragraph--overline-100_1rh57_67","purpur-paragraph--overline-200":"_purpur-paragraph--overline-200_1rh57_75"},Q=J.bind(K),U={PARAGRAPH100:"paragraph-100"},l="purpur-paragraph",S=({children:e,className:i,disabled:a,enableHyphenation:u=!1,negative:n=!1,variant:r=U.PARAGRAPH100,...t})=>{const p=Q(i,l,`${l}--${r}`,{[`${l}--hyphens`]:u,[`${l}--disabled`]:a,[`${l}--negative`]:n});return s.jsx("p",{...t,className:p,children:e})};S.displayName="Paragraph";const y=$.bind(w),o="purpur-listbox",_=c.forwardRef((e,i)=>{const{disabled:a,highlighted:u,hovered:n,selected:r,children:t,className:p,noninteractive:O,...A}=e,P=y(`${o}-item`,p,{[`${o}-item--highlighted`]:u,[`${o}-item--selected`]:r,[`${o}-item--hovered`]:n,[`${o}-item--disabled`]:a,[`${o}-item--noninteractive`]:O});return s.jsxs("li",{...A,ref:i,className:P,"aria-selected":!!r,role:"option","aria-disabled":!!a,children:[typeof t=="string"?s.jsx(S,{children:t}):t,r&&s.jsx(N,{size:"xs",className:y(`${o}-item__icon`)})]})}),W=e=>c.isValidElement(e)&&(e==null?void 0:e.type)===_;_.displayName="ListBoxItem";const X=$.bind(w),Y="purpur-listbox",d=c.forwardRef(({children:e,...i},a)=>s.jsx("ul",{...i,ref:a,className:X(Y,i.className),role:"listbox",children:c.Children.toArray(e).filter(W)}));d.Item=_;d.displayName="ListBox";exports.Listbox=d;
14
14
  //# sourceMappingURL=listbox.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listbox.cjs.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../../icon/dist/icon-BqK8slmm.mjs","../../icon/dist/components/checkmark.es.js","../../paragraph/dist/paragraph.es.js","../src/listbox-item.tsx","../src/listbox.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar p;\nfunction m() {\n return p || (p = 1, function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function o() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var s = arguments[n];\n s && (t = i(t, u.call(this, s)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return o.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var s in t)\n e.call(t, s) && t[s] && (n = i(n, this && this[s] || s));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (o.default = o, r.exports = o) : window.classNames = o;\n })();\n }(c)), c.exports;\n}\nvar _ = m();\nconst d = /* @__PURE__ */ f(_), v = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, g = d.bind(v), l = \"purpur-icon\", x = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const o = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(o)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({\n [\"data-testid\"]: r,\n svg: e,\n allyTitle: o,\n className: u,\n size: i = x,\n ...t\n}) => {\n const n = y({\n content: S(e.svg),\n title: o\n }), s = g(u, l, `${l}--${i}`);\n return /* @__PURE__ */ a(\n \"span\",\n {\n className: s,\n \"data-testid\": r,\n dangerouslySetInnerHTML: { __html: n },\n ...t\n }\n );\n};\nb.displayName = \"Icon\";\nexport {\n b as I\n};\n//# sourceMappingURL=icon-BqK8slmm.mjs.map\n","import { jsx as o } from \"react/jsx-runtime\";\nimport { I as r } from \"../icon-BqK8slmm.mjs\";\nconst c = {\n name: \"checkmark\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M21.06 3.795a.9.9 0 0 1 .145 1.264l-11.5 14.5a.9.9 0 0 1-1.341.077l-6-6a.9.9 0 0 1 1.272-1.272l5.286 5.286L19.795 3.94a.9.9 0 0 1 1.264-.145Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"checkmark\"],\n category: \"utility\"\n}, a = (e) => /* @__PURE__ */ o(r, { ...e, svg: c });\na.displayName = \"IconCheckmark\";\nexport {\n a as IconCheckmark\n};\n//# sourceMappingURL=checkmark.es.js.map\n","import { jsx as _ } from \"react/jsx-runtime\";\nfunction d(p) {\n return p && p.__esModule && Object.prototype.hasOwnProperty.call(p, \"default\") ? p.default : p;\n}\nvar o = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar l;\nfunction m() {\n return l || (l = 1, function(p) {\n (function() {\n var s = {}.hasOwnProperty;\n function u() {\n for (var r = \"\", a = 0; a < arguments.length; a++) {\n var e = arguments[a];\n e && (r = h(r, i(e)));\n }\n return r;\n }\n function i(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return u.apply(null, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var a = \"\";\n for (var e in r)\n s.call(r, e) && r[e] && (a = h(a, e));\n return a;\n }\n function h(r, a) {\n return a ? r ? r + \" \" + a : r + a : r;\n }\n p.exports ? (u.default = u, p.exports = u) : window.classNames = u;\n })();\n }(o)), o.exports;\n}\nvar c = m();\nconst f = /* @__PURE__ */ d(c), t = {\n \"purpur-paragraph\": \"_purpur-paragraph_1rh57_1\",\n \"purpur-paragraph--disabled\": \"_purpur-paragraph--disabled_1rh57_7\",\n \"purpur-paragraph--hyphens\": \"_purpur-paragraph--hyphens_1rh57_10\",\n \"purpur-paragraph--negative\": \"_purpur-paragraph--negative_1rh57_13\",\n \"purpur-paragraph--paragraph-100\": \"_purpur-paragraph--paragraph-100_1rh57_16\",\n \"purpur-paragraph--paragraph-100-medium\": \"_purpur-paragraph--paragraph-100-medium_1rh57_22\",\n \"purpur-paragraph--paragraph-100-bold\": \"_purpur-paragraph--paragraph-100-bold_1rh57_29\",\n \"purpur-paragraph--paragraph-200\": \"_purpur-paragraph--paragraph-200_1rh57_36\",\n \"purpur-paragraph--preamble-100\": \"_purpur-paragraph--preamble-100_1rh57_42\",\n \"purpur-paragraph--preamble-200\": \"_purpur-paragraph--preamble-200_1rh57_48\",\n \"purpur-paragraph--additional-100\": \"_purpur-paragraph--additional-100_1rh57_54\",\n \"purpur-paragraph--additional-100-medium\": \"_purpur-paragraph--additional-100-medium_1rh57_60\",\n \"purpur-paragraph--overline-100\": \"_purpur-paragraph--overline-100_1rh57_67\",\n \"purpur-paragraph--overline-200\": \"_purpur-paragraph--overline-200_1rh57_75\"\n}, A = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\"\n}, n = \"purpur-paragraph\", P = ({\n [\"data-testid\"]: p,\n children: s,\n className: u,\n disabled: i,\n enableHyphenation: h = !1,\n negative: r = !1,\n variant: a = A.PARAGRAPH100,\n ...e\n}) => {\n const g = f([\n u,\n t[n],\n t[`${n}--${a}`],\n {\n [t[`${n}--hyphens`]]: h,\n [t[`${n}--disabled`]]: i,\n [t[`${n}--negative`]]: r\n }\n ]);\n return /* @__PURE__ */ _(\"p\", { ...e, className: g, \"data-testid\": p, children: s });\n};\nP.displayName = \"Paragraph\";\nexport {\n P as Paragraph,\n A as ParagraphVariant\n};\n//# sourceMappingURL=paragraph.es.js.map\n","import type {\n ComponentPropsWithRef,\n ForwardedRef,\n ReactElement,\n ReactNode,\n} from \"react\";\nimport React, { forwardRef, isValidElement } from \"react\";\nimport { IconCheckmark } from \"@purpurds/icon/checkmark\";\nimport { Paragraph } from \"@purpurds/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./listbox.module.scss\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-listbox\";\n\nexport type ListboxItemProps = Omit<ComponentPropsWithRef<\"li\">, \"role\"> & {\n \"data-testid\"?: string;\n highlighted?: boolean;\n hovered?: boolean;\n key?: string;\n selected?: boolean;\n disabled?: boolean;\n noninteractive?: boolean;\n};\n\nexport const ListboxItem = forwardRef(\n (props: ListboxItemProps, ref: ForwardedRef<HTMLLIElement>) => {\n const { disabled, highlighted, hovered, selected, children, noninteractive, ...liProps } =\n props;\n const className = cx(`${rootClassName}-item`, liProps.className, {\n [`${rootClassName}-item--highlighted`]: highlighted,\n [`${rootClassName}-item--selected`]: selected,\n [`${rootClassName}-item--hovered`]: hovered,\n [`${rootClassName}-item--disabled`]: disabled,\n [`${rootClassName}-item--noninteractive`]: noninteractive,\n });\n\n return (\n <li\n {...liProps}\n ref={ref}\n className={className}\n aria-selected={!!selected}\n role=\"option\"\n aria-disabled={!!disabled}\n >\n {typeof children === \"string\" ? <Paragraph>{children}</Paragraph> : children}\n {selected && <IconCheckmark size=\"xs\" className={cx(`${rootClassName}-item__icon`)} />}\n </li>\n );\n }\n);\n\nexport const isListboxItem = (\n child?: ReactNode\n): child is ReactElement<ListboxItemProps> =>\n isValidElement<ListboxItemProps>(child) && child?.type === ListboxItem;\n\nListboxItem.displayName = \"ListBoxItem\";\n","import type {\n ComponentPropsWithRef,\n ForwardedRef,\n ForwardRefExoticComponent,\n PropsWithoutRef,\n} from \"react\";\nimport React, { Children, forwardRef } from \"react\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./listbox.module.scss\";\nimport { isListboxItem, ListboxItem } from \"./listbox-item\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-listbox\";\n\nexport type ListboxProps = Omit<ComponentPropsWithRef<\"ul\">, \"role\"> & {\n \"data-testid\"?: string;\n \"aria-label\": NonNullable<ComponentPropsWithRef<\"ul\">[\"aria-label\"]>;\n \"aria-expanded\": NonNullable<ComponentPropsWithRef<\"ul\">[\"aria-expanded\"]>;\n};\n\ntype ListboxStatic = {\n Item: typeof ListboxItem;\n};\n\ntype ListboxComponent = ForwardRefExoticComponent<PropsWithoutRef<ListboxProps>> & ListboxStatic;\n\nexport const Listbox = forwardRef(\n ({ children, ...listboxProps }: ListboxProps, ref: ForwardedRef<HTMLUListElement>) => (\n <ul\n {...listboxProps}\n ref={ref}\n className={cx(rootClassName, listboxProps.className)}\n role=\"listbox\"\n >\n {Children.toArray(children).filter(isListboxItem)}\n </ul>\n )\n) as ListboxComponent;\n\nexport type { ListboxItemProps } from \"./listbox-item\";\nListbox.Item = ListboxItem;\nListbox.displayName = \"ListBox\";\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","f","r","c","p","m","e","o","t","n","s","_","d","v","g","l","x","h","y","S","b","a","u","A","P","cx","styles","rootClassName","ListboxItem","forwardRef","props","ref","disabled","highlighted","hovered","selected","children","noninteractive","liProps","className","jsxs","jsx","Paragraph","IconCheckmark","isListboxItem","child","isValidElement","Listbox","listboxProps","Children"],"mappings":";;;;iDAOC,UAAY,CAGZ,IAAIA,EAAS,CAAA,EAAG,eAEhB,SAASC,GAAc,CAGtB,QAFIC,EAAU,GAELC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAC1C,IAAIC,EAAM,UAAUD,CAAC,EACjBC,IACHF,EAAUG,EAAYH,EAASI,EAAW,KAAK,KAAMF,CAAG,CAAC,EAE7D,CAEE,OAAOF,CACT,CAEC,SAASI,EAAYF,EAAK,CACzB,GAAI,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,SAC7C,OAAO,MAAQ,KAAKA,CAAG,GAAKA,EAG7B,GAAI,OAAOA,GAAQ,SAClB,MAAO,GAGR,GAAI,MAAM,QAAQA,CAAG,EACpB,OAAOH,EAAW,MAAM,KAAMG,CAAG,EAGlC,GAAIA,EAAI,WAAa,OAAO,UAAU,UAAY,CAACA,EAAI,SAAS,SAAQ,EAAG,SAAS,eAAe,EAClG,OAAOA,EAAI,SAAU,EAGtB,IAAIF,EAAU,GAEd,QAASK,KAAOH,EACXJ,EAAO,KAAKI,EAAKG,CAAG,GAAKH,EAAIG,CAAG,IACnCL,EAAUG,EAAYH,EAAS,MAAQ,KAAKK,CAAG,GAAKA,CAAG,GAIzD,OAAOL,CACT,CAEC,SAASG,EAAaG,EAAOC,EAAU,CACtC,OAAKA,EAIDD,EACIA,EAAQ,IAAMC,EAGfD,EAAQC,EAPPD,CAQV,CAEsCE,EAAO,SAC3CT,EAAW,QAAUA,EACrBS,UAAiBT,GAOjB,OAAO,WAAaA,CAEtB,0gBC3EA,SAASU,EAAEC,EAAG,CACZ,OAAOA,GAAKA,EAAE,YAAc,OAAO,UAAU,eAAe,KAAKA,EAAG,SAAS,EAAIA,EAAE,QAAUA,CAC/F,CACA,IAAIC,EAAI,CAAE,QAAS,EAAI,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAIC,EACJ,SAASC,GAAI,CACX,OAAOD,IAAMA,EAAI,EAAG,SAASF,EAAG,EAC7B,UAAW,CACV,IAAII,EAAI,CAAA,EAAG,eACX,SAASC,GAAI,CACX,QAASC,EAAI,GAAIC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACjD,IAAIC,EAAI,UAAUD,CAAC,EACnBC,IAAMF,EAAIf,EAAEe,EAAG,EAAE,KAAK,KAAME,CAAC,CAAC,EACxC,CACQ,OAAOF,CACf,CACM,SAAS,EAAEA,EAAG,CACZ,GAAI,OAAOA,GAAK,UAAY,OAAOA,GAAK,SACtC,OAAO,MAAQ,KAAKA,CAAC,GAAKA,EAC5B,GAAI,OAAOA,GAAK,SACd,MAAO,GACT,GAAI,MAAM,QAAQA,CAAC,EACjB,OAAOD,EAAE,MAAM,KAAMC,CAAC,EACxB,GAAIA,EAAE,WAAa,OAAO,UAAU,UAAY,CAACA,EAAE,SAAS,WAAW,SAAS,eAAe,EAC7F,OAAOA,EAAE,SAAU,EACrB,IAAIC,EAAI,GACR,QAASC,KAAKF,EACZF,EAAE,KAAKE,EAAGE,CAAC,GAAKF,EAAEE,CAAC,IAAMD,EAAIhB,EAAEgB,EAAG,MAAQ,KAAKC,CAAC,GAAKA,CAAC,GACxD,OAAOD,CACf,CACM,SAAShB,EAAEe,EAAGC,EAAG,CACf,OAAOA,EAAID,EAAIA,EAAI,IAAMC,EAAID,EAAIC,EAAID,CAC7C,CACMN,EAAE,SAAWK,EAAE,QAAUA,EAAGL,EAAE,QAAUK,GAAK,OAAO,WAAaA,CACvE,GAAQ,CACR,EAAIJ,CAAC,GAAIA,EAAE,OACX,CACA,IAAIQ,EAAIN,EAAG,EACX,MAAMO,EAAoBX,EAAEU,CAAC,EAAGE,EAAI,CAClC,cAAe,uBACf,mBAAoB,4BACpB,kBAAmB,2BACnB,kBAAmB,4BACnB,kBAAmB,4BACnB,kBAAmB,4BACnB,kBAAmB,2BACrB,EAAGC,EAAIF,EAAE,KAAKC,CAAC,EAAGE,EAAI,cAAeC,EAAI,KAAMC,EAAKf,GAAMA,EAAE,OAAQI,GAAM,OAAO,KAAKA,CAAC,EAAE,QAAU,CAAC,EAAE,IAAKA,GAAM,GAAGA,EAAE,IAAI,KAAKA,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAGY,EAAI,CAAC,CAAE,QAAShB,EAAI,GAAI,MAAOI,CAAG,EAAG,KAAO,CAChM,MAAMC,EAAI,CACR,CAAE,KAAM,QAAS,MAAO,4BAA8B,EACtD,CAAE,KAAM,OAAQ,MAAO,cAAgB,EACvC,CAAE,KAAM,UAAW,MAAO,WAAa,EACvCD,EAAI,CAAE,KAAM,OAAQ,MAAO,KAAO,EAAG,CAAE,KAAM,cAAe,MAAO,MAAM,CAC7E,EAAK,EAAIA,EAAI,UAAUA,CAAC,WAAa,GACnC,MAAO,QAAQW,EAAEV,CAAC,CAAC,IAAI,CAAC,GAAGL,CAAC,QAC9B,EAAGiB,EAAKjB,GAAMA,EAAE,QAAQ,qBAAsB,EAAE,EAAE,OAAQkB,EAAI,CAAC,CAC7D,CAAC,eAAgBlB,EACjB,IAAKI,EACL,UAAWC,EACX,UAAW,EACX,KAAMd,EAAIuB,EACV,GAAGR,CACL,IAAM,CACJ,MAAMC,EAAIS,EAAE,CACV,QAASC,EAAEb,EAAE,GAAG,EAChB,MAAOC,CACX,CAAG,EAAGG,EAAII,EAAE,EAAGC,EAAG,GAAGA,CAAC,KAAKtB,CAAC,EAAE,EAC5B,OAAuB4B,EAAC,IACtB,OACA,CACE,UAAWX,EACX,cAAeR,EACf,wBAAyB,CAAE,OAAQO,CAAG,EACtC,GAAGD,CACT,CACG,CACH,EACAY,EAAE,YAAc,OChFhB,MAAMjB,EAAI,CACR,KAAM,YACN,IAAK,0RACL,SAAU,CAAC,WAAW,EACtB,SAAU,SACZ,EAAGkB,EAAK,GAAsBd,MAAEL,EAAG,CAAE,GAAG,EAAG,IAAKC,EAAG,EACnDkB,EAAE,YAAc,gBCPhB,SAAST,EAAER,EAAG,CACZ,OAAOA,GAAKA,EAAE,YAAc,OAAO,UAAU,eAAe,KAAKA,EAAG,SAAS,EAAIA,EAAE,QAAUA,CAC/F,CACA,IAAIG,EAAI,CAAE,QAAS,EAAI,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAIQ,EACJ,SAASV,GAAI,CACX,OAAOU,IAAMA,EAAI,EAAG,SAASX,EAAG,EAC7B,UAAW,CACV,IAAIM,EAAI,CAAA,EAAG,eACX,SAASY,GAAI,CACX,QAAS,EAAI,GAAID,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACjD,IAAIf,EAAI,UAAUe,CAAC,EACnBf,IAAM,EAAIW,EAAE,EAAGxB,EAAEa,CAAC,CAAC,EAC7B,CACQ,OAAO,CACf,CACM,SAASb,EAAE,EAAG,CACZ,GAAI,OAAO,GAAK,UAAY,OAAO,GAAK,SACtC,OAAO,EACT,GAAI,OAAO,GAAK,SACd,MAAO,GACT,GAAI,MAAM,QAAQ,CAAC,EACjB,OAAO6B,EAAE,MAAM,KAAM,CAAC,EACxB,GAAI,EAAE,WAAa,OAAO,UAAU,UAAY,CAAC,EAAE,SAAS,WAAW,SAAS,eAAe,EAC7F,OAAO,EAAE,SAAU,EACrB,IAAID,EAAI,GACR,QAASf,KAAK,EACZI,EAAE,KAAK,EAAGJ,CAAC,GAAK,EAAEA,CAAC,IAAMe,EAAIJ,EAAEI,EAAGf,CAAC,GACrC,OAAOe,CACf,CACM,SAASJ,EAAE,EAAGI,EAAG,CACf,OAAOA,EAAI,EAAI,EAAI,IAAMA,EAAI,EAAIA,EAAI,CAC7C,CACMjB,EAAE,SAAWkB,EAAE,QAAUA,EAAGlB,EAAE,QAAUkB,GAAK,OAAO,WAAaA,CACvE,GAAQ,CACR,EAAIf,CAAC,GAAIA,EAAE,OACX,CACA,IAAIJ,EAAIE,EAAG,EACX,MAAMJ,EAAoBW,EAAET,CAAC,EAAGK,EAAI,CAClC,mBAAoB,4BACpB,6BAA8B,sCAC9B,4BAA6B,sCAC7B,6BAA8B,uCAC9B,kCAAmC,4CACnC,yCAA0C,mDAC1C,uCAAwC,iDACxC,kCAAmC,4CACnC,iCAAkC,2CAClC,iCAAkC,2CAClC,mCAAoC,6CACpC,0CAA2C,oDAC3C,iCAAkC,2CAClC,iCAAkC,0CACpC,EAAGe,EAAI,CACL,aAAc,eAUhB,EAAGd,EAAI,mBAAoBe,EAAI,CAAC,CAC9B,CAAC,eAAgBpB,EACjB,SAAUM,EACV,UAAWY,EACX,SAAU7B,EACV,kBAAmBwB,EAAI,GACvB,SAAU,EAAI,GACd,QAASI,EAAIE,EAAE,aACf,GAAGjB,CACL,IAAM,CACJ,MAAMQ,EAAIb,EAAE,CACVqB,EACAd,EAAEC,CAAC,EACHD,EAAE,GAAGC,CAAC,KAAKY,CAAC,EAAE,EACd,CACE,CAACb,EAAE,GAAGC,CAAC,WAAW,CAAC,EAAGQ,EACtB,CAACT,EAAE,GAAGC,CAAC,YAAY,CAAC,EAAGhB,EACvB,CAACe,EAAE,GAAGC,CAAC,YAAY,CAAC,EAAG,CAC7B,CACA,CAAG,EACD,OAAuBE,MAAE,IAAK,CAAE,GAAGL,EAAG,UAAWQ,EAAG,cAAeV,EAAG,SAAUM,CAAC,CAAE,CACrF,EACAc,EAAE,YAAc,YC/EhB,MAAMC,EAAKtB,EAAE,KAAKuB,CAAM,EAElBC,EAAgB,iBAYTC,EAAcC,EAAA,WACzB,CAACC,EAAyBC,IAAqC,CACvD,KAAA,CAAE,SAAAC,EAAU,YAAAC,EAAa,QAAAC,EAAS,SAAAC,EAAU,SAAAC,EAAU,eAAAC,EAAgB,GAAGC,CAAA,EAC7ER,EACIS,EAAYd,EAAG,GAAGE,CAAa,QAASW,EAAQ,UAAW,CAC/D,CAAC,GAAGX,CAAa,oBAAoB,EAAGM,EACxC,CAAC,GAAGN,CAAa,iBAAiB,EAAGQ,EACrC,CAAC,GAAGR,CAAa,gBAAgB,EAAGO,EACpC,CAAC,GAAGP,CAAa,iBAAiB,EAAGK,EACrC,CAAC,GAAGL,CAAa,uBAAuB,EAAGU,CAAA,CAC5C,EAGC,OAAAG,EAAA,KAAC,KAAA,CACE,GAAGF,EACJ,IAAAP,EACA,UAAAQ,EACA,gBAAe,CAAC,CAACJ,EACjB,KAAK,SACL,gBAAe,CAAC,CAACH,EAEhB,SAAA,CAAA,OAAOI,GAAa,SAAYK,EAAA,IAAAC,EAAA,CAAW,SAAAN,CAAS,CAAA,EAAeA,EACnED,GAAaM,EAAA,IAAAE,EAAA,CAAc,KAAK,KAAK,UAAWlB,EAAG,GAAGE,CAAa,aAAa,CAAG,CAAA,CAAA,CAAA,CACtF,CAAA,CAGN,EAEaiB,EACXC,GAEAC,iBAAiCD,CAAK,IAAKA,GAAA,YAAAA,EAAO,QAASjB,EAE7DA,EAAY,YAAc,cChD1B,MAAMH,EAAKtB,EAAE,KAAKuB,CAAM,EAElBC,EAAgB,iBAcToB,EAAUlB,EAAA,WACrB,CAAC,CAAE,SAAAO,EAAU,GAAGY,GAA8BjB,IAC5CU,EAAA,IAAC,KAAA,CACE,GAAGO,EACJ,IAAAjB,EACA,UAAWN,EAAGE,EAAeqB,EAAa,SAAS,EACnD,KAAK,UAEJ,SAASC,EAAAA,SAAA,QAAQb,CAAQ,EAAE,OAAOQ,CAAa,CAAA,CAAA,CAGtD,EAGAG,EAAQ,KAAOnB,EACfmB,EAAQ,YAAc","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"listbox.cjs.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../../icon/dist/icon-CAVUByiV.mjs","../../icon/dist/components/checkmark.es.js","../../paragraph/dist/paragraph.es.js","../src/listbox-item.tsx","../src/listbox.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar p;\nfunction m() {\n return p || (p = 1, function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function o() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var s = arguments[n];\n s && (t = i(t, u.call(this, s)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return o.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var s in t)\n e.call(t, s) && t[s] && (n = i(n, this && this[s] || s));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (o.default = o, r.exports = o) : window.classNames = o;\n })();\n }(c)), c.exports;\n}\nvar _ = m();\nconst v = /* @__PURE__ */ f(_), d = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, g = v.bind(d), l = \"purpur-icon\", x = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const o = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(o)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({ svg: r, allyTitle: e, className: o, size: u = x, ...i }) => {\n const t = y({\n content: S(r.svg),\n title: e\n }), n = g(o, l, `${l}--${u}`);\n return /* @__PURE__ */ a(\"span\", { className: n, dangerouslySetInnerHTML: { __html: t }, ...i });\n};\nb.displayName = \"Icon\";\nexport {\n b as I\n};\n//# sourceMappingURL=icon-CAVUByiV.mjs.map\n","import { jsx as o } from \"react/jsx-runtime\";\nimport { I as r } from \"../icon-CAVUByiV.mjs\";\nconst c = {\n name: \"checkmark\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M21.06 3.795a.9.9 0 0 1 .145 1.264l-11.5 14.5a.9.9 0 0 1-1.341.077l-6-6a.9.9 0 0 1 1.272-1.272l5.286 5.286L19.795 3.94a.9.9 0 0 1 1.264-.145Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"checkmark\"],\n category: \"utility\"\n}, a = (e) => /* @__PURE__ */ o(r, { ...e, svg: c });\na.displayName = \"IconCheckmark\";\nexport {\n a as IconCheckmark\n};\n//# sourceMappingURL=checkmark.es.js.map\n","import { jsx as l } from \"react/jsx-runtime\";\nfunction g(p) {\n return p && p.__esModule && Object.prototype.hasOwnProperty.call(p, \"default\") ? p.default : p;\n}\nvar o = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar s;\nfunction _() {\n return s || (s = 1, function(p) {\n (function() {\n var n = {}.hasOwnProperty;\n function u() {\n for (var r = \"\", a = 0; a < arguments.length; a++) {\n var e = arguments[a];\n e && (r = h(r, i.call(this, e)));\n }\n return r;\n }\n function i(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return this && this[r] || r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return u.apply(this, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var a = \"\";\n for (var e in r)\n n.call(r, e) && r[e] && (a = h(a, this && this[e] || e));\n return a;\n }\n function h(r, a) {\n return a ? r ? r + \" \" + a : r + a : r;\n }\n p.exports ? (u.default = u, p.exports = u) : window.classNames = u;\n })();\n }(o)), o.exports;\n}\nvar d = _();\nconst c = /* @__PURE__ */ g(d), f = {\n \"purpur-paragraph\": \"_purpur-paragraph_1rh57_1\",\n \"purpur-paragraph--disabled\": \"_purpur-paragraph--disabled_1rh57_7\",\n \"purpur-paragraph--hyphens\": \"_purpur-paragraph--hyphens_1rh57_10\",\n \"purpur-paragraph--negative\": \"_purpur-paragraph--negative_1rh57_13\",\n \"purpur-paragraph--paragraph-100\": \"_purpur-paragraph--paragraph-100_1rh57_16\",\n \"purpur-paragraph--paragraph-100-medium\": \"_purpur-paragraph--paragraph-100-medium_1rh57_22\",\n \"purpur-paragraph--paragraph-100-bold\": \"_purpur-paragraph--paragraph-100-bold_1rh57_29\",\n \"purpur-paragraph--paragraph-200\": \"_purpur-paragraph--paragraph-200_1rh57_36\",\n \"purpur-paragraph--preamble-100\": \"_purpur-paragraph--preamble-100_1rh57_42\",\n \"purpur-paragraph--preamble-200\": \"_purpur-paragraph--preamble-200_1rh57_48\",\n \"purpur-paragraph--additional-100\": \"_purpur-paragraph--additional-100_1rh57_54\",\n \"purpur-paragraph--additional-100-medium\": \"_purpur-paragraph--additional-100-medium_1rh57_60\",\n \"purpur-paragraph--overline-100\": \"_purpur-paragraph--overline-100_1rh57_67\",\n \"purpur-paragraph--overline-200\": \"_purpur-paragraph--overline-200_1rh57_75\"\n}, m = c.bind(f), A = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\"\n}, t = \"purpur-paragraph\", b = ({\n children: p,\n className: n,\n disabled: u,\n enableHyphenation: i = !1,\n negative: h = !1,\n variant: r = A.PARAGRAPH100,\n ...a\n}) => {\n const e = m(n, t, `${t}--${r}`, {\n [`${t}--hyphens`]: i,\n [`${t}--disabled`]: u,\n [`${t}--negative`]: h\n });\n return /* @__PURE__ */ l(\"p\", { ...a, className: e, children: p });\n};\nb.displayName = \"Paragraph\";\nexport {\n b as Paragraph,\n A as ParagraphVariant\n};\n//# sourceMappingURL=paragraph.es.js.map\n","import React, { forwardRef, isValidElement, type ReactElement, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport { IconCheckmark } from \"@purpurds/icon/checkmark\";\nimport { Paragraph } from \"@purpurds/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./listbox.module.scss\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-listbox\";\n\nexport type ListboxItemProps = Omit<BaseProps<\"li\">, \"role\"> & {\n highlighted?: boolean;\n hovered?: boolean;\n key?: string;\n selected?: boolean;\n disabled?: boolean;\n noninteractive?: boolean;\n};\n\nexport const ListboxItem = forwardRef<HTMLLIElement, ListboxItemProps>((props, ref) => {\n const {\n disabled,\n highlighted,\n hovered,\n selected,\n children,\n className,\n noninteractive,\n ...liProps\n } = props;\n\n const classes = cx(`${rootClassName}-item`, className, {\n [`${rootClassName}-item--highlighted`]: highlighted,\n [`${rootClassName}-item--selected`]: selected,\n [`${rootClassName}-item--hovered`]: hovered,\n [`${rootClassName}-item--disabled`]: disabled,\n [`${rootClassName}-item--noninteractive`]: noninteractive,\n });\n\n return (\n <li\n {...liProps}\n ref={ref}\n className={classes}\n aria-selected={!!selected}\n role=\"option\"\n aria-disabled={!!disabled}\n >\n {typeof children === \"string\" ? <Paragraph>{children}</Paragraph> : children}\n {selected && <IconCheckmark size=\"xs\" className={cx(`${rootClassName}-item__icon`)} />}\n </li>\n );\n});\n\nexport const isListboxItem = (child?: ReactNode): child is ReactElement<ListboxItemProps> =>\n isValidElement<ListboxItemProps>(child) && child?.type === ListboxItem;\n\nListboxItem.displayName = \"ListBoxItem\";\n","import React, {\n Children,\n forwardRef,\n type ForwardRefExoticComponent,\n type PropsWithoutRef,\n} from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./listbox.module.scss\";\nimport { isListboxItem, ListboxItem } from \"./listbox-item\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-listbox\";\n\nexport type ListboxProps = Omit<BaseProps<\"ul\">, \"role\"> & {\n \"aria-label\": NonNullable<BaseProps<\"ul\">[\"aria-label\"]>;\n \"aria-expanded\": NonNullable<BaseProps<\"ul\">[\"aria-expanded\"]>;\n};\n\ntype ListboxStatic = {\n Item: typeof ListboxItem;\n};\n\ntype ListboxComponent = ForwardRefExoticComponent<PropsWithoutRef<ListboxProps>> & ListboxStatic;\n\nexport const Listbox = forwardRef<HTMLUListElement, ListboxProps>(\n ({ children, ...listboxProps }, ref) => (\n <ul\n {...listboxProps}\n ref={ref}\n className={cx(rootClassName, listboxProps.className)}\n role=\"listbox\"\n >\n {Children.toArray(children).filter(isListboxItem)}\n </ul>\n )\n) as ListboxComponent;\n\nexport type { ListboxItemProps } from \"./listbox-item\";\nListbox.Item = ListboxItem;\nListbox.displayName = \"ListBox\";\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","f","r","c","p","m","e","o","t","n","s","_","v","d","g","l","x","h","y","S","b","a","u","A","cx","styles","rootClassName","ListboxItem","forwardRef","props","ref","disabled","highlighted","hovered","selected","children","className","noninteractive","liProps","jsxs","jsx","Paragraph","IconCheckmark","isListboxItem","child","isValidElement","Listbox","listboxProps","Children"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/listbox.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { ComponentPropsWithRef, ForwardRefExoticComponent, PropsWithoutRef } from 'react';
1
+ import { ForwardRefExoticComponent, PropsWithoutRef } from 'react';
2
+ import { BaseProps } from '@purpurds/common-types';
2
3
  import { ListboxItem } from './listbox-item';
3
4
 
4
- export type ListboxProps = Omit<ComponentPropsWithRef<"ul">, "role"> & {
5
- "data-testid"?: string;
6
- "aria-label": NonNullable<ComponentPropsWithRef<"ul">["aria-label"]>;
7
- "aria-expanded": NonNullable<ComponentPropsWithRef<"ul">["aria-expanded"]>;
5
+ export type ListboxProps = Omit<BaseProps<"ul">, "role"> & {
6
+ "aria-label": NonNullable<BaseProps<"ul">["aria-label"]>;
7
+ "aria-expanded": NonNullable<BaseProps<"ul">["aria-expanded"]>;
8
8
  };
9
9
  type ListboxStatic = {
10
10
  Item: typeof ListboxItem;
@@ -1 +1 @@
1
- {"version":3,"file":"listbox.d.ts","sourceRoot":"","sources":["../src/listbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EAErB,yBAAyB,EACzB,eAAe,EAChB,MAAM,OAAO,CAAC;AAKf,OAAO,EAAiB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM5D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,eAAe,EAAE,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,OAAO,WAAW,CAAC;CAC1B,CAAC;AAEF,KAAK,gBAAgB,GAAG,yBAAyB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,aAAa,CAAC;AAEjG,eAAO,MAAM,OAAO,EAWf,gBAAgB,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"listbox.d.ts","sourceRoot":"","sources":["../src/listbox.tsx"],"names":[],"mappings":"AAAA,OAAc,EAGZ,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACrB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD,OAAO,EAAiB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM5D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IACzD,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACzD,eAAe,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,OAAO,WAAW,CAAC;CAC1B,CAAC;AAEF,KAAK,gBAAgB,GAAG,yBAAyB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,aAAa,CAAC;AAEjG,eAAO,MAAM,OAAO,EAWf,gBAAgB,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,22 +1,22 @@
1
1
  import { jsx as s, jsxs as q } from "react/jsx-runtime";
2
- import { forwardRef as $, isValidElement as I, Children as L } from "react";
3
- function B(t) {
4
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
2
+ import { forwardRef as y, isValidElement as I, Children as L } from "react";
3
+ function B(e) {
4
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
5
5
  }
6
- var d = { exports: {} };
6
+ var c = { exports: {} };
7
7
  /*!
8
8
  Copyright (c) 2018 Jed Watson.
9
9
  Licensed under the MIT License (MIT), see
10
10
  http://jedwatson.github.io/classnames
11
11
  */
12
- var m;
12
+ var _;
13
13
  function C() {
14
- return m || (m = 1, function(t) {
14
+ return _ || (_ = 1, function(e) {
15
15
  (function() {
16
16
  var i = {}.hasOwnProperty;
17
17
  function a() {
18
- for (var r = "", e = 0; e < arguments.length; e++) {
19
- var p = arguments[e];
18
+ for (var r = "", t = 0; t < arguments.length; t++) {
19
+ var p = arguments[t];
20
20
  p && (r = n(r, u.call(this, p)));
21
21
  }
22
22
  return r;
@@ -30,20 +30,20 @@ function C() {
30
30
  return a.apply(this, r);
31
31
  if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
32
32
  return r.toString();
33
- var e = "";
33
+ var t = "";
34
34
  for (var p in r)
35
- i.call(r, p) && r[p] && (e = n(e, this && this[p] || p));
36
- return e;
35
+ i.call(r, p) && r[p] && (t = n(t, this && this[p] || p));
36
+ return t;
37
37
  }
38
- function n(r, e) {
39
- return e ? r ? r + " " + e : r + e : r;
38
+ function n(r, t) {
39
+ return t ? r ? r + " " + t : r + t : r;
40
40
  }
41
- t.exports ? (a.default = a, t.exports = a) : window.classNames = a;
41
+ e.exports ? (a.default = a, e.exports = a) : window.classNames = a;
42
42
  })();
43
- }(d)), d.exports;
43
+ }(c)), c.exports;
44
44
  }
45
45
  var R = C();
46
- const w = /* @__PURE__ */ B(R), N = {
46
+ const x = /* @__PURE__ */ B(R), $ = {
47
47
  "purpur-listbox": "_purpur-listbox_6c8yl_1",
48
48
  "purpur-listbox-item": "_purpur-listbox-item_6c8yl_15",
49
49
  "purpur-listbox-item--hovered": "_purpur-listbox-item--hovered_6c8yl_29",
@@ -52,23 +52,23 @@ const w = /* @__PURE__ */ B(R), N = {
52
52
  "purpur-listbox-item--disabled": "_purpur-listbox-item--disabled_6c8yl_44",
53
53
  "purpur-listbox-item__icon": "_purpur-listbox-item__icon_6c8yl_51"
54
54
  };
55
- function k(t) {
56
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
55
+ function k(e) {
56
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
57
57
  }
58
- var g = { exports: {} };
58
+ var d = { exports: {} };
59
59
  /*!
60
60
  Copyright (c) 2018 Jed Watson.
61
61
  Licensed under the MIT License (MIT), see
62
62
  http://jedwatson.github.io/classnames
63
63
  */
64
- var f;
64
+ var m;
65
65
  function M() {
66
- return f || (f = 1, function(t) {
66
+ return m || (m = 1, function(e) {
67
67
  (function() {
68
68
  var i = {}.hasOwnProperty;
69
69
  function a() {
70
- for (var r = "", e = 0; e < arguments.length; e++) {
71
- var p = arguments[e];
70
+ for (var r = "", t = 0; t < arguments.length; t++) {
71
+ var p = arguments[t];
72
72
  p && (r = n(r, u.call(this, p)));
73
73
  }
74
74
  return r;
@@ -82,17 +82,17 @@ function M() {
82
82
  return a.apply(this, r);
83
83
  if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
84
84
  return r.toString();
85
- var e = "";
85
+ var t = "";
86
86
  for (var p in r)
87
- i.call(r, p) && r[p] && (e = n(e, this && this[p] || p));
88
- return e;
87
+ i.call(r, p) && r[p] && (t = n(t, this && this[p] || p));
88
+ return t;
89
89
  }
90
- function n(r, e) {
91
- return e ? r ? r + " " + e : r + e : r;
90
+ function n(r, t) {
91
+ return t ? r ? r + " " + t : r + t : r;
92
92
  }
93
- t.exports ? (a.default = a, t.exports = a) : window.classNames = a;
93
+ e.exports ? (a.default = a, e.exports = a) : window.classNames = a;
94
94
  })();
95
- }(g)), g.exports;
95
+ }(d)), d.exports;
96
96
  }
97
97
  var H = M();
98
98
  const E = /* @__PURE__ */ k(H), z = {
@@ -103,88 +103,73 @@ const E = /* @__PURE__ */ k(H), z = {
103
103
  "purpur-icon--md": "_purpur-icon--md_8u1lq_16",
104
104
  "purpur-icon--lg": "_purpur-icon--lg_8u1lq_20",
105
105
  "purpur-icon--xl": "_purpur-icon--xl_8u1lq_24"
106
- }, G = E.bind(z), v = "purpur-icon", T = "md", V = (t) => t.filter((i) => Object.keys(i).length >= 1).map((i) => `${i.name}="${i.value}"`).join(" "), D = ({ content: t = "", title: i } = {}) => {
106
+ }, G = E.bind(z), g = "purpur-icon", T = "md", V = (e) => e.filter((i) => Object.keys(i).length >= 1).map((i) => `${i.name}="${i.value}"`).join(" "), D = ({ content: e = "", title: i } = {}) => {
107
107
  const a = [
108
108
  { name: "xmlns", value: "http://www.w3.org/2000/svg" },
109
109
  { name: "fill", value: "currentColor" },
110
110
  { name: "viewBox", value: "0 0 24 24" },
111
111
  i ? { name: "role", value: "img" } : { name: "aria-hidden", value: "true" }
112
112
  ], u = i ? `<title>${i}</title>` : "";
113
- return `<svg ${V(a)}>${u}${t}</svg>`;
114
- }, F = (t) => t.replace(/<(\/?)svg([^>]*)>/g, "").trim(), S = ({
115
- ["data-testid"]: t,
116
- svg: i,
117
- allyTitle: a,
118
- className: u,
119
- size: n = T,
120
- ...r
121
- }) => {
122
- const e = D({
123
- content: F(i.svg),
124
- title: a
125
- }), p = G(u, v, `${v}--${n}`);
126
- return /* @__PURE__ */ s(
127
- "span",
128
- {
129
- className: p,
130
- "data-testid": t,
131
- dangerouslySetInnerHTML: { __html: e },
132
- ...r
133
- }
134
- );
113
+ return `<svg ${V(a)}>${u}${e}</svg>`;
114
+ }, F = (e) => e.replace(/<(\/?)svg([^>]*)>/g, "").trim(), w = ({ svg: e, allyTitle: i, className: a, size: u = T, ...n }) => {
115
+ const r = D({
116
+ content: F(e.svg),
117
+ title: i
118
+ }), t = G(a, g, `${g}--${u}`);
119
+ return /* @__PURE__ */ s("span", { className: t, dangerouslySetInnerHTML: { __html: r }, ...n });
135
120
  };
136
- S.displayName = "Icon";
121
+ w.displayName = "Icon";
137
122
  const Z = {
138
123
  name: "checkmark",
139
124
  svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M21.06 3.795a.9.9 0 0 1 .145 1.264l-11.5 14.5a.9.9 0 0 1-1.341.077l-6-6a.9.9 0 0 1 1.272-1.272l5.286 5.286L19.795 3.94a.9.9 0 0 1 1.264-.145Z" clip-rule="evenodd"/></svg>',
140
125
  keywords: ["checkmark"],
141
126
  category: "utility"
142
- }, j = (t) => /* @__PURE__ */ s(S, { ...t, svg: Z });
143
- j.displayName = "IconCheckmark";
144
- function J(t) {
145
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
127
+ }, N = (e) => /* @__PURE__ */ s(w, { ...e, svg: Z });
128
+ N.displayName = "IconCheckmark";
129
+ function J(e) {
130
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
146
131
  }
147
- var b = { exports: {} };
132
+ var f = { exports: {} };
148
133
  /*!
149
134
  Copyright (c) 2018 Jed Watson.
150
135
  Licensed under the MIT License (MIT), see
151
136
  http://jedwatson.github.io/classnames
152
137
  */
153
- var y;
138
+ var v;
154
139
  function K() {
155
- return y || (y = 1, function(t) {
140
+ return v || (v = 1, function(e) {
156
141
  (function() {
157
142
  var i = {}.hasOwnProperty;
158
143
  function a() {
159
- for (var r = "", e = 0; e < arguments.length; e++) {
160
- var p = arguments[e];
161
- p && (r = n(r, u(p)));
144
+ for (var r = "", t = 0; t < arguments.length; t++) {
145
+ var p = arguments[t];
146
+ p && (r = n(r, u.call(this, p)));
162
147
  }
163
148
  return r;
164
149
  }
165
150
  function u(r) {
166
151
  if (typeof r == "string" || typeof r == "number")
167
- return r;
152
+ return this && this[r] || r;
168
153
  if (typeof r != "object")
169
154
  return "";
170
155
  if (Array.isArray(r))
171
- return a.apply(null, r);
156
+ return a.apply(this, r);
172
157
  if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
173
158
  return r.toString();
174
- var e = "";
159
+ var t = "";
175
160
  for (var p in r)
176
- i.call(r, p) && r[p] && (e = n(e, p));
177
- return e;
161
+ i.call(r, p) && r[p] && (t = n(t, this && this[p] || p));
162
+ return t;
178
163
  }
179
- function n(r, e) {
180
- return e ? r ? r + " " + e : r + e : r;
164
+ function n(r, t) {
165
+ return t ? r ? r + " " + t : r + t : r;
181
166
  }
182
- t.exports ? (a.default = a, t.exports = a) : window.classNames = a;
167
+ e.exports ? (a.default = a, e.exports = a) : window.classNames = a;
183
168
  })();
184
- }(b)), b.exports;
169
+ }(f)), f.exports;
185
170
  }
186
171
  var Q = K();
187
- const U = /* @__PURE__ */ J(Q), l = {
172
+ const U = /* @__PURE__ */ J(Q), W = {
188
173
  "purpur-paragraph": "_purpur-paragraph_1rh57_1",
189
174
  "purpur-paragraph--disabled": "_purpur-paragraph--disabled_1rh57_7",
190
175
  "purpur-paragraph--hyphens": "_purpur-paragraph--hyphens_1rh57_10",
@@ -199,73 +184,74 @@ const U = /* @__PURE__ */ J(Q), l = {
199
184
  "purpur-paragraph--additional-100-medium": "_purpur-paragraph--additional-100-medium_1rh57_60",
200
185
  "purpur-paragraph--overline-100": "_purpur-paragraph--overline-100_1rh57_67",
201
186
  "purpur-paragraph--overline-200": "_purpur-paragraph--overline-200_1rh57_75"
202
- }, W = {
187
+ }, X = U.bind(W), Y = {
203
188
  PARAGRAPH100: "paragraph-100"
204
- }, c = "purpur-paragraph", A = ({
205
- ["data-testid"]: t,
206
- children: i,
207
- className: a,
208
- disabled: u,
209
- enableHyphenation: n = !1,
210
- negative: r = !1,
211
- variant: e = W.PARAGRAPH100,
212
- ...p
189
+ }, l = "purpur-paragraph", S = ({
190
+ children: e,
191
+ className: i,
192
+ disabled: a,
193
+ enableHyphenation: u = !1,
194
+ negative: n = !1,
195
+ variant: r = Y.PARAGRAPH100,
196
+ ...t
213
197
  }) => {
214
- const h = U([
215
- a,
216
- l[c],
217
- l[`${c}--${e}`],
198
+ const p = X(i, l, `${l}--${r}`, {
199
+ [`${l}--hyphens`]: u,
200
+ [`${l}--disabled`]: a,
201
+ [`${l}--negative`]: n
202
+ });
203
+ return /* @__PURE__ */ s("p", { ...t, className: p, children: e });
204
+ };
205
+ S.displayName = "Paragraph";
206
+ const b = x.bind($), o = "purpur-listbox", h = y((e, i) => {
207
+ const {
208
+ disabled: a,
209
+ highlighted: u,
210
+ hovered: n,
211
+ selected: r,
212
+ children: t,
213
+ className: p,
214
+ noninteractive: A,
215
+ ...O
216
+ } = e, P = b(`${o}-item`, p, {
217
+ [`${o}-item--highlighted`]: u,
218
+ [`${o}-item--selected`]: r,
219
+ [`${o}-item--hovered`]: n,
220
+ [`${o}-item--disabled`]: a,
221
+ [`${o}-item--noninteractive`]: A
222
+ });
223
+ return /* @__PURE__ */ q(
224
+ "li",
218
225
  {
219
- [l[`${c}--hyphens`]]: n,
220
- [l[`${c}--disabled`]]: u,
221
- [l[`${c}--negative`]]: r
226
+ ...O,
227
+ ref: i,
228
+ className: P,
229
+ "aria-selected": !!r,
230
+ role: "option",
231
+ "aria-disabled": !!a,
232
+ children: [
233
+ typeof t == "string" ? /* @__PURE__ */ s(S, { children: t }) : t,
234
+ r && /* @__PURE__ */ s(N, { size: "xs", className: b(`${o}-item__icon`) })
235
+ ]
222
236
  }
223
- ]);
224
- return /* @__PURE__ */ s("p", { ...p, className: h, "data-testid": t, children: i });
225
- };
226
- A.displayName = "Paragraph";
227
- const x = w.bind(N), o = "purpur-listbox", _ = $(
228
- (t, i) => {
229
- const { disabled: a, highlighted: u, hovered: n, selected: r, children: e, noninteractive: p, ...h } = t, P = x(`${o}-item`, h.className, {
230
- [`${o}-item--highlighted`]: u,
231
- [`${o}-item--selected`]: r,
232
- [`${o}-item--hovered`]: n,
233
- [`${o}-item--disabled`]: a,
234
- [`${o}-item--noninteractive`]: p
235
- });
236
- return /* @__PURE__ */ q(
237
- "li",
238
- {
239
- ...h,
240
- ref: i,
241
- className: P,
242
- "aria-selected": !!r,
243
- role: "option",
244
- "aria-disabled": !!a,
245
- children: [
246
- typeof e == "string" ? /* @__PURE__ */ s(A, { children: e }) : e,
247
- r && /* @__PURE__ */ s(j, { size: "xs", className: x(`${o}-item__icon`) })
248
- ]
249
- }
250
- );
251
- }
252
- ), X = (t) => I(t) && (t == null ? void 0 : t.type) === _;
253
- _.displayName = "ListBoxItem";
254
- const Y = w.bind(N), rr = "purpur-listbox", O = $(
255
- ({ children: t, ...i }, a) => /* @__PURE__ */ s(
237
+ );
238
+ }), rr = (e) => I(e) && (e == null ? void 0 : e.type) === h;
239
+ h.displayName = "ListBoxItem";
240
+ const er = x.bind($), tr = "purpur-listbox", j = y(
241
+ ({ children: e, ...i }, a) => /* @__PURE__ */ s(
256
242
  "ul",
257
243
  {
258
244
  ...i,
259
245
  ref: a,
260
- className: Y(rr, i.className),
246
+ className: er(tr, i.className),
261
247
  role: "listbox",
262
- children: L.toArray(t).filter(X)
248
+ children: L.toArray(e).filter(rr)
263
249
  }
264
250
  )
265
251
  );
266
- O.Item = _;
267
- O.displayName = "ListBox";
252
+ j.Item = h;
253
+ j.displayName = "ListBox";
268
254
  export {
269
- O as Listbox
255
+ j as Listbox
270
256
  };
271
257
  //# sourceMappingURL=listbox.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listbox.es.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../../icon/dist/icon-BqK8slmm.mjs","../../icon/dist/components/checkmark.es.js","../../paragraph/dist/paragraph.es.js","../src/listbox-item.tsx","../src/listbox.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar p;\nfunction m() {\n return p || (p = 1, function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function o() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var s = arguments[n];\n s && (t = i(t, u.call(this, s)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return o.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var s in t)\n e.call(t, s) && t[s] && (n = i(n, this && this[s] || s));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (o.default = o, r.exports = o) : window.classNames = o;\n })();\n }(c)), c.exports;\n}\nvar _ = m();\nconst d = /* @__PURE__ */ f(_), v = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, g = d.bind(v), l = \"purpur-icon\", x = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const o = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(o)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({\n [\"data-testid\"]: r,\n svg: e,\n allyTitle: o,\n className: u,\n size: i = x,\n ...t\n}) => {\n const n = y({\n content: S(e.svg),\n title: o\n }), s = g(u, l, `${l}--${i}`);\n return /* @__PURE__ */ a(\n \"span\",\n {\n className: s,\n \"data-testid\": r,\n dangerouslySetInnerHTML: { __html: n },\n ...t\n }\n );\n};\nb.displayName = \"Icon\";\nexport {\n b as I\n};\n//# sourceMappingURL=icon-BqK8slmm.mjs.map\n","import { jsx as o } from \"react/jsx-runtime\";\nimport { I as r } from \"../icon-BqK8slmm.mjs\";\nconst c = {\n name: \"checkmark\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M21.06 3.795a.9.9 0 0 1 .145 1.264l-11.5 14.5a.9.9 0 0 1-1.341.077l-6-6a.9.9 0 0 1 1.272-1.272l5.286 5.286L19.795 3.94a.9.9 0 0 1 1.264-.145Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"checkmark\"],\n category: \"utility\"\n}, a = (e) => /* @__PURE__ */ o(r, { ...e, svg: c });\na.displayName = \"IconCheckmark\";\nexport {\n a as IconCheckmark\n};\n//# sourceMappingURL=checkmark.es.js.map\n","import { jsx as _ } from \"react/jsx-runtime\";\nfunction d(p) {\n return p && p.__esModule && Object.prototype.hasOwnProperty.call(p, \"default\") ? p.default : p;\n}\nvar o = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar l;\nfunction m() {\n return l || (l = 1, function(p) {\n (function() {\n var s = {}.hasOwnProperty;\n function u() {\n for (var r = \"\", a = 0; a < arguments.length; a++) {\n var e = arguments[a];\n e && (r = h(r, i(e)));\n }\n return r;\n }\n function i(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return u.apply(null, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var a = \"\";\n for (var e in r)\n s.call(r, e) && r[e] && (a = h(a, e));\n return a;\n }\n function h(r, a) {\n return a ? r ? r + \" \" + a : r + a : r;\n }\n p.exports ? (u.default = u, p.exports = u) : window.classNames = u;\n })();\n }(o)), o.exports;\n}\nvar c = m();\nconst f = /* @__PURE__ */ d(c), t = {\n \"purpur-paragraph\": \"_purpur-paragraph_1rh57_1\",\n \"purpur-paragraph--disabled\": \"_purpur-paragraph--disabled_1rh57_7\",\n \"purpur-paragraph--hyphens\": \"_purpur-paragraph--hyphens_1rh57_10\",\n \"purpur-paragraph--negative\": \"_purpur-paragraph--negative_1rh57_13\",\n \"purpur-paragraph--paragraph-100\": \"_purpur-paragraph--paragraph-100_1rh57_16\",\n \"purpur-paragraph--paragraph-100-medium\": \"_purpur-paragraph--paragraph-100-medium_1rh57_22\",\n \"purpur-paragraph--paragraph-100-bold\": \"_purpur-paragraph--paragraph-100-bold_1rh57_29\",\n \"purpur-paragraph--paragraph-200\": \"_purpur-paragraph--paragraph-200_1rh57_36\",\n \"purpur-paragraph--preamble-100\": \"_purpur-paragraph--preamble-100_1rh57_42\",\n \"purpur-paragraph--preamble-200\": \"_purpur-paragraph--preamble-200_1rh57_48\",\n \"purpur-paragraph--additional-100\": \"_purpur-paragraph--additional-100_1rh57_54\",\n \"purpur-paragraph--additional-100-medium\": \"_purpur-paragraph--additional-100-medium_1rh57_60\",\n \"purpur-paragraph--overline-100\": \"_purpur-paragraph--overline-100_1rh57_67\",\n \"purpur-paragraph--overline-200\": \"_purpur-paragraph--overline-200_1rh57_75\"\n}, A = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\"\n}, n = \"purpur-paragraph\", P = ({\n [\"data-testid\"]: p,\n children: s,\n className: u,\n disabled: i,\n enableHyphenation: h = !1,\n negative: r = !1,\n variant: a = A.PARAGRAPH100,\n ...e\n}) => {\n const g = f([\n u,\n t[n],\n t[`${n}--${a}`],\n {\n [t[`${n}--hyphens`]]: h,\n [t[`${n}--disabled`]]: i,\n [t[`${n}--negative`]]: r\n }\n ]);\n return /* @__PURE__ */ _(\"p\", { ...e, className: g, \"data-testid\": p, children: s });\n};\nP.displayName = \"Paragraph\";\nexport {\n P as Paragraph,\n A as ParagraphVariant\n};\n//# sourceMappingURL=paragraph.es.js.map\n","import type {\n ComponentPropsWithRef,\n ForwardedRef,\n ReactElement,\n ReactNode,\n} from \"react\";\nimport React, { forwardRef, isValidElement } from \"react\";\nimport { IconCheckmark } from \"@purpurds/icon/checkmark\";\nimport { Paragraph } from \"@purpurds/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./listbox.module.scss\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-listbox\";\n\nexport type ListboxItemProps = Omit<ComponentPropsWithRef<\"li\">, \"role\"> & {\n \"data-testid\"?: string;\n highlighted?: boolean;\n hovered?: boolean;\n key?: string;\n selected?: boolean;\n disabled?: boolean;\n noninteractive?: boolean;\n};\n\nexport const ListboxItem = forwardRef(\n (props: ListboxItemProps, ref: ForwardedRef<HTMLLIElement>) => {\n const { disabled, highlighted, hovered, selected, children, noninteractive, ...liProps } =\n props;\n const className = cx(`${rootClassName}-item`, liProps.className, {\n [`${rootClassName}-item--highlighted`]: highlighted,\n [`${rootClassName}-item--selected`]: selected,\n [`${rootClassName}-item--hovered`]: hovered,\n [`${rootClassName}-item--disabled`]: disabled,\n [`${rootClassName}-item--noninteractive`]: noninteractive,\n });\n\n return (\n <li\n {...liProps}\n ref={ref}\n className={className}\n aria-selected={!!selected}\n role=\"option\"\n aria-disabled={!!disabled}\n >\n {typeof children === \"string\" ? <Paragraph>{children}</Paragraph> : children}\n {selected && <IconCheckmark size=\"xs\" className={cx(`${rootClassName}-item__icon`)} />}\n </li>\n );\n }\n);\n\nexport const isListboxItem = (\n child?: ReactNode\n): child is ReactElement<ListboxItemProps> =>\n isValidElement<ListboxItemProps>(child) && child?.type === ListboxItem;\n\nListboxItem.displayName = \"ListBoxItem\";\n","import type {\n ComponentPropsWithRef,\n ForwardedRef,\n ForwardRefExoticComponent,\n PropsWithoutRef,\n} from \"react\";\nimport React, { Children, forwardRef } from \"react\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./listbox.module.scss\";\nimport { isListboxItem, ListboxItem } from \"./listbox-item\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-listbox\";\n\nexport type ListboxProps = Omit<ComponentPropsWithRef<\"ul\">, \"role\"> & {\n \"data-testid\"?: string;\n \"aria-label\": NonNullable<ComponentPropsWithRef<\"ul\">[\"aria-label\"]>;\n \"aria-expanded\": NonNullable<ComponentPropsWithRef<\"ul\">[\"aria-expanded\"]>;\n};\n\ntype ListboxStatic = {\n Item: typeof ListboxItem;\n};\n\ntype ListboxComponent = ForwardRefExoticComponent<PropsWithoutRef<ListboxProps>> & ListboxStatic;\n\nexport const Listbox = forwardRef(\n ({ children, ...listboxProps }: ListboxProps, ref: ForwardedRef<HTMLUListElement>) => (\n <ul\n {...listboxProps}\n ref={ref}\n className={cx(rootClassName, listboxProps.className)}\n role=\"listbox\"\n >\n {Children.toArray(children).filter(isListboxItem)}\n </ul>\n )\n) as ListboxComponent;\n\nexport type { ListboxItemProps } from \"./listbox-item\";\nListbox.Item = ListboxItem;\nListbox.displayName = \"ListBox\";\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","f","r","c","p","m","e","o","t","n","s","_","d","v","g","l","x","h","y","S","b","a","u","A","P","cx","styles","rootClassName","ListboxItem","forwardRef","props","ref","disabled","highlighted","hovered","selected","children","noninteractive","liProps","className","jsxs","jsx","Paragraph","IconCheckmark","isListboxItem","child","isValidElement","Listbox","listboxProps","Children"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"listbox.es.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../../icon/dist/icon-CAVUByiV.mjs","../../icon/dist/components/checkmark.es.js","../../paragraph/dist/paragraph.es.js","../src/listbox-item.tsx","../src/listbox.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar p;\nfunction m() {\n return p || (p = 1, function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function o() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var s = arguments[n];\n s && (t = i(t, u.call(this, s)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return o.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var s in t)\n e.call(t, s) && t[s] && (n = i(n, this && this[s] || s));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (o.default = o, r.exports = o) : window.classNames = o;\n })();\n }(c)), c.exports;\n}\nvar _ = m();\nconst v = /* @__PURE__ */ f(_), d = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, g = v.bind(d), l = \"purpur-icon\", x = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const o = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(o)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({ svg: r, allyTitle: e, className: o, size: u = x, ...i }) => {\n const t = y({\n content: S(r.svg),\n title: e\n }), n = g(o, l, `${l}--${u}`);\n return /* @__PURE__ */ a(\"span\", { className: n, dangerouslySetInnerHTML: { __html: t }, ...i });\n};\nb.displayName = \"Icon\";\nexport {\n b as I\n};\n//# sourceMappingURL=icon-CAVUByiV.mjs.map\n","import { jsx as o } from \"react/jsx-runtime\";\nimport { I as r } from \"../icon-CAVUByiV.mjs\";\nconst c = {\n name: \"checkmark\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M21.06 3.795a.9.9 0 0 1 .145 1.264l-11.5 14.5a.9.9 0 0 1-1.341.077l-6-6a.9.9 0 0 1 1.272-1.272l5.286 5.286L19.795 3.94a.9.9 0 0 1 1.264-.145Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"checkmark\"],\n category: \"utility\"\n}, a = (e) => /* @__PURE__ */ o(r, { ...e, svg: c });\na.displayName = \"IconCheckmark\";\nexport {\n a as IconCheckmark\n};\n//# sourceMappingURL=checkmark.es.js.map\n","import { jsx as l } from \"react/jsx-runtime\";\nfunction g(p) {\n return p && p.__esModule && Object.prototype.hasOwnProperty.call(p, \"default\") ? p.default : p;\n}\nvar o = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar s;\nfunction _() {\n return s || (s = 1, function(p) {\n (function() {\n var n = {}.hasOwnProperty;\n function u() {\n for (var r = \"\", a = 0; a < arguments.length; a++) {\n var e = arguments[a];\n e && (r = h(r, i.call(this, e)));\n }\n return r;\n }\n function i(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return this && this[r] || r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return u.apply(this, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var a = \"\";\n for (var e in r)\n n.call(r, e) && r[e] && (a = h(a, this && this[e] || e));\n return a;\n }\n function h(r, a) {\n return a ? r ? r + \" \" + a : r + a : r;\n }\n p.exports ? (u.default = u, p.exports = u) : window.classNames = u;\n })();\n }(o)), o.exports;\n}\nvar d = _();\nconst c = /* @__PURE__ */ g(d), f = {\n \"purpur-paragraph\": \"_purpur-paragraph_1rh57_1\",\n \"purpur-paragraph--disabled\": \"_purpur-paragraph--disabled_1rh57_7\",\n \"purpur-paragraph--hyphens\": \"_purpur-paragraph--hyphens_1rh57_10\",\n \"purpur-paragraph--negative\": \"_purpur-paragraph--negative_1rh57_13\",\n \"purpur-paragraph--paragraph-100\": \"_purpur-paragraph--paragraph-100_1rh57_16\",\n \"purpur-paragraph--paragraph-100-medium\": \"_purpur-paragraph--paragraph-100-medium_1rh57_22\",\n \"purpur-paragraph--paragraph-100-bold\": \"_purpur-paragraph--paragraph-100-bold_1rh57_29\",\n \"purpur-paragraph--paragraph-200\": \"_purpur-paragraph--paragraph-200_1rh57_36\",\n \"purpur-paragraph--preamble-100\": \"_purpur-paragraph--preamble-100_1rh57_42\",\n \"purpur-paragraph--preamble-200\": \"_purpur-paragraph--preamble-200_1rh57_48\",\n \"purpur-paragraph--additional-100\": \"_purpur-paragraph--additional-100_1rh57_54\",\n \"purpur-paragraph--additional-100-medium\": \"_purpur-paragraph--additional-100-medium_1rh57_60\",\n \"purpur-paragraph--overline-100\": \"_purpur-paragraph--overline-100_1rh57_67\",\n \"purpur-paragraph--overline-200\": \"_purpur-paragraph--overline-200_1rh57_75\"\n}, m = c.bind(f), A = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\"\n}, t = \"purpur-paragraph\", b = ({\n children: p,\n className: n,\n disabled: u,\n enableHyphenation: i = !1,\n negative: h = !1,\n variant: r = A.PARAGRAPH100,\n ...a\n}) => {\n const e = m(n, t, `${t}--${r}`, {\n [`${t}--hyphens`]: i,\n [`${t}--disabled`]: u,\n [`${t}--negative`]: h\n });\n return /* @__PURE__ */ l(\"p\", { ...a, className: e, children: p });\n};\nb.displayName = \"Paragraph\";\nexport {\n b as Paragraph,\n A as ParagraphVariant\n};\n//# sourceMappingURL=paragraph.es.js.map\n","import React, { forwardRef, isValidElement, type ReactElement, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport { IconCheckmark } from \"@purpurds/icon/checkmark\";\nimport { Paragraph } from \"@purpurds/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./listbox.module.scss\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-listbox\";\n\nexport type ListboxItemProps = Omit<BaseProps<\"li\">, \"role\"> & {\n highlighted?: boolean;\n hovered?: boolean;\n key?: string;\n selected?: boolean;\n disabled?: boolean;\n noninteractive?: boolean;\n};\n\nexport const ListboxItem = forwardRef<HTMLLIElement, ListboxItemProps>((props, ref) => {\n const {\n disabled,\n highlighted,\n hovered,\n selected,\n children,\n className,\n noninteractive,\n ...liProps\n } = props;\n\n const classes = cx(`${rootClassName}-item`, className, {\n [`${rootClassName}-item--highlighted`]: highlighted,\n [`${rootClassName}-item--selected`]: selected,\n [`${rootClassName}-item--hovered`]: hovered,\n [`${rootClassName}-item--disabled`]: disabled,\n [`${rootClassName}-item--noninteractive`]: noninteractive,\n });\n\n return (\n <li\n {...liProps}\n ref={ref}\n className={classes}\n aria-selected={!!selected}\n role=\"option\"\n aria-disabled={!!disabled}\n >\n {typeof children === \"string\" ? <Paragraph>{children}</Paragraph> : children}\n {selected && <IconCheckmark size=\"xs\" className={cx(`${rootClassName}-item__icon`)} />}\n </li>\n );\n});\n\nexport const isListboxItem = (child?: ReactNode): child is ReactElement<ListboxItemProps> =>\n isValidElement<ListboxItemProps>(child) && child?.type === ListboxItem;\n\nListboxItem.displayName = \"ListBoxItem\";\n","import React, {\n Children,\n forwardRef,\n type ForwardRefExoticComponent,\n type PropsWithoutRef,\n} from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./listbox.module.scss\";\nimport { isListboxItem, ListboxItem } from \"./listbox-item\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-listbox\";\n\nexport type ListboxProps = Omit<BaseProps<\"ul\">, \"role\"> & {\n \"aria-label\": NonNullable<BaseProps<\"ul\">[\"aria-label\"]>;\n \"aria-expanded\": NonNullable<BaseProps<\"ul\">[\"aria-expanded\"]>;\n};\n\ntype ListboxStatic = {\n Item: typeof ListboxItem;\n};\n\ntype ListboxComponent = ForwardRefExoticComponent<PropsWithoutRef<ListboxProps>> & ListboxStatic;\n\nexport const Listbox = forwardRef<HTMLUListElement, ListboxProps>(\n ({ children, ...listboxProps }, ref) => (\n <ul\n {...listboxProps}\n ref={ref}\n className={cx(rootClassName, listboxProps.className)}\n role=\"listbox\"\n >\n {Children.toArray(children).filter(isListboxItem)}\n </ul>\n )\n) as ListboxComponent;\n\nexport type { ListboxItemProps } from \"./listbox-item\";\nListbox.Item = ListboxItem;\nListbox.displayName = \"ListBox\";\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","f","r","c","p","m","e","o","t","n","s","_","v","d","g","l","x","h","y","S","b","a","u","A","cx","styles","rootClassName","ListboxItem","forwardRef","props","ref","disabled","highlighted","hovered","selected","children","className","noninteractive","liProps","jsxs","jsx","Paragraph","IconCheckmark","isListboxItem","child","isValidElement","Listbox","listboxProps","Children"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpurds/listbox",
3
- "version": "7.6.0",
3
+ "version": "7.7.0",
4
4
  "license": "AGPL-3.0-only",
5
5
  "main": "./dist/listbox.cjs.js",
6
6
  "types": "./dist/listbox.d.ts",
@@ -16,9 +16,10 @@
16
16
  "source": "src/listbox.tsx",
17
17
  "dependencies": {
18
18
  "classnames": "~2.5.0",
19
- "@purpurds/icon": "7.6.0",
20
- "@purpurds/paragraph": "7.6.0",
21
- "@purpurds/tokens": "7.6.0"
19
+ "@purpurds/common-types": "7.7.0",
20
+ "@purpurds/icon": "7.7.0",
21
+ "@purpurds/paragraph": "7.7.0",
22
+ "@purpurds/tokens": "7.7.0"
22
23
  },
23
24
  "devDependencies": {
24
25
  "eslint": "9.24.0",
@@ -1,10 +1,5 @@
1
- import type {
2
- ComponentPropsWithRef,
3
- ForwardedRef,
4
- ReactElement,
5
- ReactNode,
6
- } from "react";
7
- import React, { forwardRef, isValidElement } from "react";
1
+ import React, { forwardRef, isValidElement, type ReactElement, type ReactNode } from "react";
2
+ import type { BaseProps } from "@purpurds/common-types";
8
3
  import { IconCheckmark } from "@purpurds/icon/checkmark";
9
4
  import { Paragraph } from "@purpurds/paragraph";
10
5
  import c from "classnames/bind";
@@ -15,8 +10,7 @@ const cx = c.bind(styles);
15
10
 
16
11
  const rootClassName = "purpur-listbox";
17
12
 
18
- export type ListboxItemProps = Omit<ComponentPropsWithRef<"li">, "role"> & {
19
- "data-testid"?: string;
13
+ export type ListboxItemProps = Omit<BaseProps<"li">, "role"> & {
20
14
  highlighted?: boolean;
21
15
  hovered?: boolean;
22
16
  key?: string;
@@ -25,37 +19,42 @@ export type ListboxItemProps = Omit<ComponentPropsWithRef<"li">, "role"> & {
25
19
  noninteractive?: boolean;
26
20
  };
27
21
 
28
- export const ListboxItem = forwardRef(
29
- (props: ListboxItemProps, ref: ForwardedRef<HTMLLIElement>) => {
30
- const { disabled, highlighted, hovered, selected, children, noninteractive, ...liProps } =
31
- props;
32
- const className = cx(`${rootClassName}-item`, liProps.className, {
33
- [`${rootClassName}-item--highlighted`]: highlighted,
34
- [`${rootClassName}-item--selected`]: selected,
35
- [`${rootClassName}-item--hovered`]: hovered,
36
- [`${rootClassName}-item--disabled`]: disabled,
37
- [`${rootClassName}-item--noninteractive`]: noninteractive,
38
- });
39
-
40
- return (
41
- <li
42
- {...liProps}
43
- ref={ref}
44
- className={className}
45
- aria-selected={!!selected}
46
- role="option"
47
- aria-disabled={!!disabled}
48
- >
49
- {typeof children === "string" ? <Paragraph>{children}</Paragraph> : children}
50
- {selected && <IconCheckmark size="xs" className={cx(`${rootClassName}-item__icon`)} />}
51
- </li>
52
- );
53
- }
54
- );
55
-
56
- export const isListboxItem = (
57
- child?: ReactNode
58
- ): child is ReactElement<ListboxItemProps> =>
22
+ export const ListboxItem = forwardRef<HTMLLIElement, ListboxItemProps>((props, ref) => {
23
+ const {
24
+ disabled,
25
+ highlighted,
26
+ hovered,
27
+ selected,
28
+ children,
29
+ className,
30
+ noninteractive,
31
+ ...liProps
32
+ } = props;
33
+
34
+ const classes = cx(`${rootClassName}-item`, className, {
35
+ [`${rootClassName}-item--highlighted`]: highlighted,
36
+ [`${rootClassName}-item--selected`]: selected,
37
+ [`${rootClassName}-item--hovered`]: hovered,
38
+ [`${rootClassName}-item--disabled`]: disabled,
39
+ [`${rootClassName}-item--noninteractive`]: noninteractive,
40
+ });
41
+
42
+ return (
43
+ <li
44
+ {...liProps}
45
+ ref={ref}
46
+ className={classes}
47
+ aria-selected={!!selected}
48
+ role="option"
49
+ aria-disabled={!!disabled}
50
+ >
51
+ {typeof children === "string" ? <Paragraph>{children}</Paragraph> : children}
52
+ {selected && <IconCheckmark size="xs" className={cx(`${rootClassName}-item__icon`)} />}
53
+ </li>
54
+ );
55
+ });
56
+
57
+ export const isListboxItem = (child?: ReactNode): child is ReactElement<ListboxItemProps> =>
59
58
  isValidElement<ListboxItemProps>(child) && child?.type === ListboxItem;
60
59
 
61
60
  ListboxItem.displayName = "ListBoxItem";
package/src/listbox.tsx CHANGED
@@ -1,10 +1,10 @@
1
- import type {
2
- ComponentPropsWithRef,
3
- ForwardedRef,
4
- ForwardRefExoticComponent,
5
- PropsWithoutRef,
1
+ import React, {
2
+ Children,
3
+ forwardRef,
4
+ type ForwardRefExoticComponent,
5
+ type PropsWithoutRef,
6
6
  } from "react";
7
- import React, { Children, forwardRef } from "react";
7
+ import type { BaseProps } from "@purpurds/common-types";
8
8
  import c from "classnames/bind";
9
9
 
10
10
  import styles from "./listbox.module.scss";
@@ -14,10 +14,9 @@ const cx = c.bind(styles);
14
14
 
15
15
  const rootClassName = "purpur-listbox";
16
16
 
17
- export type ListboxProps = Omit<ComponentPropsWithRef<"ul">, "role"> & {
18
- "data-testid"?: string;
19
- "aria-label": NonNullable<ComponentPropsWithRef<"ul">["aria-label"]>;
20
- "aria-expanded": NonNullable<ComponentPropsWithRef<"ul">["aria-expanded"]>;
17
+ export type ListboxProps = Omit<BaseProps<"ul">, "role"> & {
18
+ "aria-label": NonNullable<BaseProps<"ul">["aria-label"]>;
19
+ "aria-expanded": NonNullable<BaseProps<"ul">["aria-expanded"]>;
21
20
  };
22
21
 
23
22
  type ListboxStatic = {
@@ -26,8 +25,8 @@ type ListboxStatic = {
26
25
 
27
26
  type ListboxComponent = ForwardRefExoticComponent<PropsWithoutRef<ListboxProps>> & ListboxStatic;
28
27
 
29
- export const Listbox = forwardRef(
30
- ({ children, ...listboxProps }: ListboxProps, ref: ForwardedRef<HTMLUListElement>) => (
28
+ export const Listbox = forwardRef<HTMLUListElement, ListboxProps>(
29
+ ({ children, ...listboxProps }, ref) => (
31
30
  <ul
32
31
  {...listboxProps}
33
32
  ref={ref}