@gbmtech/aurora-ui 0.4.91 → 0.4.92
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/cjs/components/data-table/index.cjs +1 -1
- package/dist/cjs/components/data-table/index.cjs.map +1 -1
- package/dist/cjs/components/multi-select.cjs +1 -1
- package/dist/cjs/components/multi-select.cjs.map +1 -1
- package/dist/cjs/components/multi-select.d.ts.map +1 -1
- package/dist/esm/components/multi-select.d.ts.map +1 -1
- package/dist/esm/components/multi-select.js +1 -1
- package/dist/esm/components/multi-select.js.map +1 -1
- package/dist/esm/lib/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./data-table-action-bar":function(e){e.exports=require("./data-table-action-bar.cjs")},"./data-table-advanced-toolbar":function(e){e.exports=require("./data-table-advanced-toolbar.cjs")},"./data-table-column-header":function(e){e.exports=require("./data-table-column-header.cjs")},"
|
|
1
|
+
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./data-table-action-bar":function(e){e.exports=require("./data-table-action-bar.cjs")},"./data-table-advanced-toolbar":function(e){e.exports=require("./data-table-advanced-toolbar.cjs")},"./data-table-column-header":function(e){e.exports=require("./data-table-column-header.cjs")},"./data-table-date-filter":function(e){e.exports=require("./data-table-date-filter.cjs")},"./data-table-faceted-filter":function(e){e.exports=require("./data-table-faceted-filter.cjs")},"./data-table-filter-list":function(e){e.exports=require("./data-table-filter-list.cjs")},"./data-table-filter-menu":function(e){e.exports=require("./data-table-filter-menu.cjs")},"./data-table-pagination":function(e){e.exports=require("./data-table-pagination.cjs")},"./data-table-range-filter":function(e){e.exports=require("./data-table-range-filter.cjs")},"./data-table-skeleton":function(e){e.exports=require("./data-table-skeleton.cjs")},"./data-table-slider-filter":function(e){e.exports=require("./data-table-slider-filter.cjs")},"./data-table-sort-list":function(e){e.exports=require("./data-table-sort-list.cjs")},"./data-table-toolbar":function(e){e.exports=require("./data-table-toolbar.cjs")},"./data-table-view-options":function(e){e.exports=require("./data-table-view-options.cjs")},"./data-table":function(e){e.exports=require("./data-table.cjs")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __webpack_i__ in(()=>{__webpack_require__.r(__webpack_exports__);var e=__webpack_require__("./data-table-action-bar"),_={};for(var r in e)"default"!==r&&(_[r]=(function(_){return e[_]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var a=__webpack_require__("./data-table-advanced-toolbar"),_={};for(var r in a)"default"!==r&&(_[r]=(function(e){return a[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var t=__webpack_require__("./data-table-column-header"),_={};for(var r in t)"default"!==r&&(_[r]=(function(e){return t[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var i=__webpack_require__("./data-table-date-filter"),_={};for(var r in i)"default"!==r&&(_[r]=(function(e){return i[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var n=__webpack_require__("./data-table-faceted-filter"),_={};for(var r in n)"default"!==r&&(_[r]=(function(e){return n[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var o=__webpack_require__("./data-table-filter-list"),_={};for(var r in o)"default"!==r&&(_[r]=(function(e){return o[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var u=__webpack_require__("./data-table-filter-menu"),_={};for(var r in u)"default"!==r&&(_[r]=(function(e){return u[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var c=__webpack_require__("./data-table-pagination"),_={};for(var r in c)"default"!==r&&(_[r]=(function(e){return c[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var b=__webpack_require__("./data-table-range-filter"),_={};for(var r in b)"default"!==r&&(_[r]=(function(e){return b[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var d=__webpack_require__("./data-table-skeleton"),_={};for(var r in d)"default"!==r&&(_[r]=(function(e){return d[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var p=__webpack_require__("./data-table-slider-filter"),_={};for(var r in p)"default"!==r&&(_[r]=(function(e){return p[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var l=__webpack_require__("./data-table-sort-list"),_={};for(var r in l)"default"!==r&&(_[r]=(function(e){return l[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var f=__webpack_require__("./data-table-toolbar"),_={};for(var r in f)"default"!==r&&(_[r]=(function(e){return f[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var s=__webpack_require__("./data-table-view-options"),_={};for(var r in s)"default"!==r&&(_[r]=(function(e){return s[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var w=__webpack_require__("./data-table"),_={};for(var r in w)"default"!==r&&(_[r]=(function(e){return w[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_)})(),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\data-table\\index.cjs","sources":["webpack://@gbmtech/aurora-ui/webpack/runtime/compat_get_default_export","webpack://@gbmtech/aurora-ui/webpack/runtime/define_property_getters","webpack://@gbmtech/aurora-ui/webpack/runtime/has_own_property","webpack://@gbmtech/aurora-ui/webpack/runtime/make_namespace_object"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["__webpack_require__","e","Object","Symbol"],"mappings":"
|
|
1
|
+
{"version":3,"file":"components\\data-table\\index.cjs","sources":["webpack://@gbmtech/aurora-ui/webpack/runtime/compat_get_default_export","webpack://@gbmtech/aurora-ui/webpack/runtime/define_property_getters","webpack://@gbmtech/aurora-ui/webpack/runtime/has_own_property","webpack://@gbmtech/aurora-ui/webpack/runtime/make_namespace_object"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["__webpack_require__","e","Object","Symbol"],"mappings":"wyDACAA,oBAAoB,CAAC,CAAG,AAAC,IACxB,IAAI,EAAS,GAAU,EAAO,UAAU,CACvC,IAAO,EAAO,OAAU,CACxB,IAAO,EAER,OADAA,oBAAoB,CAAC,CAAC,EAAQ,CAAE,EAAG,CAAO,GACnC,CACR,ECPAA,oBAAoB,CAAC,CAAG,CAACC,EAAS,KACjC,IAAI,IAAI,KAAO,EACLD,oBAAoB,CAAC,CAAC,EAAY,IAAQ,CAACA,oBAAoB,CAAC,CAACC,EAAS,IACzEC,OAAO,cAAc,CAACD,EAAS,EAAK,CAAE,WAAY,GAAM,IAAK,CAAU,CAAC,EAAI,AAAC,EAGzF,ECNAD,oBAAoB,CAAC,CAAG,CAAC,EAAK,IAAUE,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAK,GCClFF,oBAAoB,CAAC,CAAG,AAACC,IACrB,AAAkB,aAAlB,OAAOE,QAA0BA,OAAO,WAAW,EACrDD,OAAO,cAAc,CAACD,EAASE,OAAO,WAAW,CAAE,CAAE,MAAO,QAAS,GAEtED,OAAO,cAAc,CAACD,EAAS,aAAc,CAAE,MAAO,EAAK,EAC5D,E"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var c in a)__webpack_require__.o(a,c)&&!__webpack_require__.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{MultiSelect:()=>MultiSelect});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@phosphor-icons/react"),external_react_namespaceObject=require("react"),utils_cjs_namespaceObject=require("../lib/utils.cjs"),external_badge_cjs_namespaceObject=require("./badge.cjs"),external_button_cjs_namespaceObject=require("./button.cjs"),external_checkbox_cjs_namespaceObject=require("./checkbox.cjs"),external_command_cjs_namespaceObject=require("./command.cjs"),external_popover_cjs_namespaceObject=require("./popover.cjs");function MultiSelect({options:e=[],onValueChange:a,variant:c="secondary",value:t=[],placeholder:s="Select options",maxCount:n=2,modalPopover:_=!1,className:r,hasRemoveOptionBadge:m=!1,...l}){let[j,i]=(0,external_react_namespaceObject.useState)(t),[p,o]=(0,external_react_namespaceObject.useState)(!1),b=e=>{let c=j.includes(e)?j.filter(a=>a!==e):[...j,e];i(c),a?.(c)};return(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover,{open:p,onOpenChange:o,modal:_,children:[(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverTrigger,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{...l,onClick:()=>{o(e=>!e)},variant:"outline",className:(0,utils_cjs_namespaceObject.cn)("flex h-10 w-auto min-w-60 items-center justify-between rounded-md border border-input bg-background px-3 py-2 hover:bg-background dark:hover:bg-input/50",r),children:j.length>0?(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex w-full items-center justify-between",children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-x-1",children:[j.slice(0,n).map(a=>{let t=e.find(e=>e.value===a);return(0,jsx_runtime_namespaceObject.jsxs)(external_badge_cjs_namespaceObject.Badge,{className:(0,utils_cjs_namespaceObject.cn)((0,external_badge_cjs_namespaceObject.badgeVariants)({variant:c})),children:[m&&(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.XIcon,{className:"mr-1 size-3 cursor-pointer",onClick:e=>{e.stopPropagation(),b(a)}}),(0,jsx_runtime_namespaceObject.jsx)("span",{className:"max-w-32 truncate",children:t?.label})]},a)}),j.length>n&&(0,jsx_runtime_namespaceObject.jsxs)(external_badge_cjs_namespaceObject.Badge,{className:(0,utils_cjs_namespaceObject.cn)((0,external_badge_cjs_namespaceObject.badgeVariants)({variant:c})),children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.XIcon,{className:"mr-1 size-3 cursor-pointer",onClick:e=>{e.stopPropagation();let c=j.slice(0,n);i(c),a?.(c)}}),`+ ${j.length-n} ...`]})]}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"ml-4 flex items-center",children:p?(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretUpIcon,{weight:"bold",className:"size-4 opacity-50"}):(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretDownIcon,{weight:"bold",className:"size-4 opacity-50"})})]}):(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"mx-auto flex w-full items-center justify-between",children:[(0,jsx_runtime_namespaceObject.jsx)("span",{className:"font-normal text-sm placeholder:text-muted-foreground",children:"Select options"===s?"Selecione as op\xe7\xf5es":s}),p?(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretUpIcon,{weight:"bold",className:"ml-2 size-4 opacity-50"}):(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretDownIcon,{weight:"bold",className:"ml-2 size-4 opacity-50"})]})})}),(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverContent,{className:"w-auto p-0",align:"start",onEscapeKeyDown:()=>o(!1),children:(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.Command,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandInput,{placeholder:"Pesquisar...",onKeyDown:e=>{"Enter"===e.key&&o(!0)}}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandList,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandEmpty,{children:"Nenhum resultado encontrado."}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandGroup,{children:[(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandItem,{onSelect:()=>{if(j.length===e.length)i([]),a?.([]);else{let c=e.map(e=>e.value);i(c),a?.(c)}},className:"cursor-pointer",children:[(0,jsx_runtime_namespaceObject.jsx)(external_checkbox_cjs_namespaceObject.Checkbox,{checked:j.length===e.length,className:"mr-2"}),(0,jsx_runtime_namespaceObject.jsx)("span",{children:"(Selecionar todos)"})]},"all"),e.map(e=>{let a=j.includes(e.value);return(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandItem,{onSelect:()=>b(e.value),className:"cursor-pointer",children:[(0,jsx_runtime_namespaceObject.jsx)(external_checkbox_cjs_namespaceObject.Checkbox,{checked:a,className:"mr-2"}),(0,jsx_runtime_namespaceObject.jsx)("span",{children:e.label})]},e.value)})]})]})]})})]})}for(var __webpack_i__ in exports.MultiSelect=__webpack_exports__.MultiSelect,__webpack_exports__)-1===["MultiSelect"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
2
|
+
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var c in a)__webpack_require__.o(a,c)&&!__webpack_require__.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{MultiSelect:()=>MultiSelect});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@phosphor-icons/react"),external_react_namespaceObject=require("react"),utils_cjs_namespaceObject=require("../lib/utils.cjs"),external_badge_cjs_namespaceObject=require("./badge.cjs"),external_button_cjs_namespaceObject=require("./button.cjs"),external_checkbox_cjs_namespaceObject=require("./checkbox.cjs"),external_command_cjs_namespaceObject=require("./command.cjs"),external_popover_cjs_namespaceObject=require("./popover.cjs");function MultiSelect({options:e=[],onValueChange:a,variant:c="secondary",value:t=[],placeholder:s="Select options",maxCount:n=2,modalPopover:_=!1,className:r,hasRemoveOptionBadge:m=!1,...l}){let[j,i]=(0,external_react_namespaceObject.useState)(t),[p,o]=(0,external_react_namespaceObject.useState)(!1),b=e=>{let c=j.includes(e)?j.filter(a=>a!==e):[...j,e];i(c),a?.(c)};return(0,external_react_namespaceObject.useEffect)(()=>{t.length>0&&t!==j&&i(t)},[t]),(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover,{open:p,onOpenChange:o,modal:_,children:[(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverTrigger,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{...l,onClick:()=>{o(e=>!e)},variant:"outline",className:(0,utils_cjs_namespaceObject.cn)("flex h-10 w-auto min-w-60 items-center justify-between rounded-md border border-input bg-background px-3 py-2 hover:bg-background dark:hover:bg-input/50",r),children:j.length>0?(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex w-full items-center justify-between",children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-x-1",children:[j.slice(0,n).map(a=>{let t=e.find(e=>e.value===a);return(0,jsx_runtime_namespaceObject.jsxs)(external_badge_cjs_namespaceObject.Badge,{className:(0,utils_cjs_namespaceObject.cn)((0,external_badge_cjs_namespaceObject.badgeVariants)({variant:c})),children:[m&&(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.XIcon,{className:"mr-1 size-3 cursor-pointer",onClick:e=>{e.stopPropagation(),b(a)}}),(0,jsx_runtime_namespaceObject.jsx)("span",{className:"max-w-32 truncate",children:t?.label})]},a)}),j.length>n&&(0,jsx_runtime_namespaceObject.jsxs)(external_badge_cjs_namespaceObject.Badge,{className:(0,utils_cjs_namespaceObject.cn)((0,external_badge_cjs_namespaceObject.badgeVariants)({variant:c})),children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.XIcon,{className:"mr-1 size-3 cursor-pointer",onClick:e=>{e.stopPropagation();let c=j.slice(0,n);i(c),a?.(c)}}),`+ ${j.length-n} ...`]})]}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"ml-4 flex items-center",children:p?(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretUpIcon,{weight:"bold",className:"size-4 opacity-50"}):(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretDownIcon,{weight:"bold",className:"size-4 opacity-50"})})]}):(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"mx-auto flex w-full items-center justify-between",children:[(0,jsx_runtime_namespaceObject.jsx)("span",{className:"font-normal text-sm placeholder:text-muted-foreground",children:"Select options"===s?"Selecione as op\xe7\xf5es":s}),p?(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretUpIcon,{weight:"bold",className:"ml-2 size-4 opacity-50"}):(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretDownIcon,{weight:"bold",className:"ml-2 size-4 opacity-50"})]})})}),(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverContent,{className:"w-auto p-0",align:"start",onEscapeKeyDown:()=>o(!1),children:(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.Command,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandInput,{placeholder:"Pesquisar...",onKeyDown:e=>{"Enter"===e.key&&o(!0)}}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandList,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandEmpty,{children:"Nenhum resultado encontrado."}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandGroup,{children:[(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandItem,{onSelect:()=>{if(j.length===e.length)i([]),a?.([]);else{let c=e.map(e=>e.value);i(c),a?.(c)}},className:"cursor-pointer",children:[(0,jsx_runtime_namespaceObject.jsx)(external_checkbox_cjs_namespaceObject.Checkbox,{checked:j.length===e.length,className:"mr-2"}),(0,jsx_runtime_namespaceObject.jsx)("span",{children:"(Selecionar todos)"})]},"all"),e.map(e=>{let a=j.includes(e.value);return(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandItem,{onSelect:()=>b(e.value),className:"cursor-pointer",children:[(0,jsx_runtime_namespaceObject.jsx)(external_checkbox_cjs_namespaceObject.Checkbox,{checked:a,className:"mr-2"}),(0,jsx_runtime_namespaceObject.jsx)("span",{children:e.label})]},e.value)})]})]})]})})]})}for(var __webpack_i__ in exports.MultiSelect=__webpack_exports__.MultiSelect,__webpack_exports__)-1===["MultiSelect"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
3
3
|
//# sourceMappingURL=multi-select.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\multi-select.cjs","sources":["webpack://@gbmtech/aurora-ui/webpack/runtime/define_property_getters","webpack://@gbmtech/aurora-ui/webpack/runtime/has_own_property","webpack://@gbmtech/aurora-ui/webpack/runtime/make_namespace_object","webpack://@gbmtech/aurora-ui/./src/components/multi-select.tsx"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\r\n\r\nimport { CaretDownIcon, CaretUpIcon, XIcon } from '@phosphor-icons/react'\r\nimport { ComponentProps, KeyboardEvent, useState } from 'react'\r\n\r\nimport { VariantProps, cn } from '../lib/utils'\r\nimport { Badge, badgeVariants } from './badge'\r\nimport { Button } from './button'\r\nimport { Checkbox } from './checkbox'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from './command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from './popover'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: MultiSelect\r\n * -------------------------------------------------------------------------- */\r\n\r\ntype MultiSelectProps = ComponentProps<'button'> &\r\n VariantProps<typeof badgeVariants> & {\r\n options?: {\r\n label: string\r\n value: string\r\n }[]\r\n value?: string[]\r\n placeholder?: string\r\n maxCount?: number\r\n modalPopover?: boolean\r\n asChild?: boolean\r\n className?: string\r\n onValueChange?: (value: string[]) => void\r\n hasRemoveOptionBadge?: boolean\r\n }\r\n\r\nfunction MultiSelect({\r\n options = [],\r\n onValueChange,\r\n variant = 'secondary',\r\n value = [],\r\n placeholder = 'Select options',\r\n maxCount = 2,\r\n modalPopover = false,\r\n className,\r\n hasRemoveOptionBadge = false,\r\n ...props\r\n}: MultiSelectProps) {\r\n const [selectedValues, setSelectedValues] = useState<string[]>(value)\r\n const [isPopoverOpen, setIsPopoverOpen] = useState(false)\r\n\r\n const handleInputKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (event.key === 'Enter') {\r\n setIsPopoverOpen(true)\r\n }\r\n }\r\n\r\n const toggleOption = (option: string) => {\r\n const newSelectedValues = selectedValues.includes(option)\r\n ? selectedValues.filter(value => value !== option)\r\n : [...selectedValues, option]\r\n setSelectedValues(newSelectedValues)\r\n onValueChange?.(newSelectedValues)\r\n }\r\n\r\n const handleClear = () => {\r\n setSelectedValues([])\r\n onValueChange?.([])\r\n }\r\n\r\n const handleTogglePopover = () => {\r\n setIsPopoverOpen(prev => !prev)\r\n }\r\n\r\n const clearExtraOptions = () => {\r\n const newSelectedValues = selectedValues.slice(0, maxCount)\r\n setSelectedValues(newSelectedValues)\r\n onValueChange?.(newSelectedValues)\r\n }\r\n\r\n const toggleAll = () => {\r\n if (selectedValues.length === options.length) {\r\n handleClear()\r\n } else {\r\n const allValues = options.map(option => option.value)\r\n setSelectedValues(allValues)\r\n onValueChange?.(allValues)\r\n }\r\n }\r\n\r\n return (\r\n <Popover\r\n open={isPopoverOpen}\r\n onOpenChange={setIsPopoverOpen}\r\n modal={modalPopover}\r\n >\r\n <PopoverTrigger asChild>\r\n <Button\r\n {...props}\r\n onClick={handleTogglePopover}\r\n variant=\"outline\"\r\n className={cn(\r\n 'flex h-10 w-auto min-w-60 items-center justify-between rounded-md border border-input bg-background px-3 py-2 hover:bg-background dark:hover:bg-input/50',\r\n className\r\n )}\r\n >\r\n {selectedValues.length > 0 ? (\r\n <div className=\"flex w-full items-center justify-between\">\r\n <div className=\"flex items-center gap-x-1\">\r\n {selectedValues.slice(0, maxCount).map(value => {\r\n const option = options.find(option => option.value === value)\r\n return (\r\n <Badge\r\n key={value}\r\n className={cn(badgeVariants({ variant }))}\r\n >\r\n {hasRemoveOptionBadge && (\r\n <XIcon\r\n className=\"mr-1 size-3 cursor-pointer\"\r\n onClick={event => {\r\n event.stopPropagation()\r\n toggleOption(value)\r\n }}\r\n />\r\n )}\r\n <span className=\"max-w-32 truncate\">{option?.label}</span>\r\n </Badge>\r\n )\r\n })}\r\n\r\n {selectedValues.length > maxCount && (\r\n <Badge className={cn(badgeVariants({ variant }))}>\r\n <XIcon\r\n className=\"mr-1 size-3 cursor-pointer\"\r\n onClick={event => {\r\n event.stopPropagation()\r\n clearExtraOptions()\r\n }}\r\n />\r\n {`+ ${selectedValues.length - maxCount} ...`}\r\n </Badge>\r\n )}\r\n </div>\r\n <div className=\"ml-4 flex items-center\">\r\n {isPopoverOpen ? (\r\n <CaretUpIcon weight=\"bold\" className=\"size-4 opacity-50\" />\r\n ) : (\r\n <CaretDownIcon weight=\"bold\" className=\"size-4 opacity-50\" />\r\n )}\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\"mx-auto flex w-full items-center justify-between\">\r\n <span className=\"font-normal text-sm placeholder:text-muted-foreground\">\r\n {placeholder === 'Select options'\r\n ? 'Selecione as opções'\r\n : placeholder}\r\n </span>\r\n {isPopoverOpen ? (\r\n <CaretUpIcon weight=\"bold\" className=\"ml-2 size-4 opacity-50\" />\r\n ) : (\r\n <CaretDownIcon\r\n weight=\"bold\"\r\n className=\"ml-2 size-4 opacity-50\"\r\n />\r\n )}\r\n </div>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent\r\n className=\"w-auto p-0\"\r\n align=\"start\"\r\n onEscapeKeyDown={() => setIsPopoverOpen(false)}\r\n >\r\n <Command>\r\n <CommandInput\r\n placeholder=\"Pesquisar...\"\r\n onKeyDown={handleInputKeyDown}\r\n />\r\n <CommandList>\r\n <CommandEmpty>Nenhum resultado encontrado.</CommandEmpty>\r\n <CommandGroup>\r\n <CommandItem\r\n key=\"all\"\r\n onSelect={toggleAll}\r\n className=\"cursor-pointer\"\r\n >\r\n <Checkbox\r\n checked={selectedValues.length === options.length}\r\n className=\"mr-2\"\r\n />\r\n <span>(Selecionar todos)</span>\r\n </CommandItem>\r\n {options.map(option => {\r\n const isSelected = selectedValues.includes(option.value)\r\n return (\r\n <CommandItem\r\n key={option.value}\r\n onSelect={() => toggleOption(option.value)}\r\n className=\"cursor-pointer\"\r\n >\r\n <Checkbox checked={isSelected} className=\"mr-2\" />\r\n <span>{option.label}</span>\r\n </CommandItem>\r\n )\r\n })}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport { MultiSelect }\r\n"],"names":["__webpack_require__","e","Object","Symbol","MultiSelect","options","onValueChange","variant","value","placeholder","maxCount","modalPopover","className","hasRemoveOptionBadge","props","selectedValues","setSelectedValues","useState","isPopoverOpen","setIsPopoverOpen","toggleOption","option","newSelectedValues","Popover","PopoverTrigger","Button","prev","cn","Badge","badgeVariants","XIcon","event","CaretUpIcon","CaretDownIcon","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","allValues","Checkbox","isSelected"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components\\multi-select.cjs","sources":["webpack://@gbmtech/aurora-ui/webpack/runtime/define_property_getters","webpack://@gbmtech/aurora-ui/webpack/runtime/has_own_property","webpack://@gbmtech/aurora-ui/webpack/runtime/make_namespace_object","webpack://@gbmtech/aurora-ui/./src/components/multi-select.tsx"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\r\n\r\nimport { CaretDownIcon, CaretUpIcon, XIcon } from '@phosphor-icons/react'\r\nimport { ComponentProps, KeyboardEvent, useEffect, useState } from 'react'\r\n\r\nimport { VariantProps, cn } from '../lib/utils'\r\nimport { Badge, badgeVariants } from './badge'\r\nimport { Button } from './button'\r\nimport { Checkbox } from './checkbox'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from './command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from './popover'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: MultiSelect\r\n * -------------------------------------------------------------------------- */\r\n\r\ntype MultiSelectProps = ComponentProps<'button'> &\r\n VariantProps<typeof badgeVariants> & {\r\n options?: {\r\n label: string\r\n value: string\r\n }[]\r\n value?: string[]\r\n placeholder?: string\r\n maxCount?: number\r\n modalPopover?: boolean\r\n asChild?: boolean\r\n className?: string\r\n onValueChange?: (value: string[]) => void\r\n hasRemoveOptionBadge?: boolean\r\n }\r\n\r\nfunction MultiSelect({\r\n options = [],\r\n onValueChange,\r\n variant = 'secondary',\r\n value = [],\r\n placeholder = 'Select options',\r\n maxCount = 2,\r\n modalPopover = false,\r\n className,\r\n hasRemoveOptionBadge = false,\r\n ...props\r\n}: MultiSelectProps) {\r\n const [selectedValues, setSelectedValues] = useState<string[]>(value)\r\n const [isPopoverOpen, setIsPopoverOpen] = useState(false)\r\n\r\n const handleInputKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (event.key === 'Enter') {\r\n setIsPopoverOpen(true)\r\n }\r\n }\r\n\r\n const toggleOption = (option: string) => {\r\n const newSelectedValues = selectedValues.includes(option)\r\n ? selectedValues.filter(value => value !== option)\r\n : [...selectedValues, option]\r\n setSelectedValues(newSelectedValues)\r\n onValueChange?.(newSelectedValues)\r\n }\r\n\r\n const handleClear = () => {\r\n setSelectedValues([])\r\n onValueChange?.([])\r\n }\r\n\r\n const handleTogglePopover = () => {\r\n setIsPopoverOpen(prev => !prev)\r\n }\r\n\r\n const clearExtraOptions = () => {\r\n const newSelectedValues = selectedValues.slice(0, maxCount)\r\n setSelectedValues(newSelectedValues)\r\n onValueChange?.(newSelectedValues)\r\n }\r\n\r\n const toggleAll = () => {\r\n if (selectedValues.length === options.length) {\r\n handleClear()\r\n } else {\r\n const allValues = options.map(option => option.value)\r\n setSelectedValues(allValues)\r\n onValueChange?.(allValues)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (value.length > 0 && value !== selectedValues) {\r\n setSelectedValues(value)\r\n }\r\n }, [value])\r\n\r\n return (\r\n <Popover\r\n open={isPopoverOpen}\r\n onOpenChange={setIsPopoverOpen}\r\n modal={modalPopover}\r\n >\r\n <PopoverTrigger asChild>\r\n <Button\r\n {...props}\r\n onClick={handleTogglePopover}\r\n variant=\"outline\"\r\n className={cn(\r\n 'flex h-10 w-auto min-w-60 items-center justify-between rounded-md border border-input bg-background px-3 py-2 hover:bg-background dark:hover:bg-input/50',\r\n className\r\n )}\r\n >\r\n {selectedValues.length > 0 ? (\r\n <div className=\"flex w-full items-center justify-between\">\r\n <div className=\"flex items-center gap-x-1\">\r\n {selectedValues.slice(0, maxCount).map(value => {\r\n const option = options.find(option => option.value === value)\r\n return (\r\n <Badge\r\n key={value}\r\n className={cn(badgeVariants({ variant }))}\r\n >\r\n {hasRemoveOptionBadge && (\r\n <XIcon\r\n className=\"mr-1 size-3 cursor-pointer\"\r\n onClick={event => {\r\n event.stopPropagation()\r\n toggleOption(value)\r\n }}\r\n />\r\n )}\r\n <span className=\"max-w-32 truncate\">{option?.label}</span>\r\n </Badge>\r\n )\r\n })}\r\n\r\n {selectedValues.length > maxCount && (\r\n <Badge className={cn(badgeVariants({ variant }))}>\r\n <XIcon\r\n className=\"mr-1 size-3 cursor-pointer\"\r\n onClick={event => {\r\n event.stopPropagation()\r\n clearExtraOptions()\r\n }}\r\n />\r\n {`+ ${selectedValues.length - maxCount} ...`}\r\n </Badge>\r\n )}\r\n </div>\r\n <div className=\"ml-4 flex items-center\">\r\n {isPopoverOpen ? (\r\n <CaretUpIcon weight=\"bold\" className=\"size-4 opacity-50\" />\r\n ) : (\r\n <CaretDownIcon weight=\"bold\" className=\"size-4 opacity-50\" />\r\n )}\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\"mx-auto flex w-full items-center justify-between\">\r\n <span className=\"font-normal text-sm placeholder:text-muted-foreground\">\r\n {placeholder === 'Select options'\r\n ? 'Selecione as opções'\r\n : placeholder}\r\n </span>\r\n {isPopoverOpen ? (\r\n <CaretUpIcon weight=\"bold\" className=\"ml-2 size-4 opacity-50\" />\r\n ) : (\r\n <CaretDownIcon\r\n weight=\"bold\"\r\n className=\"ml-2 size-4 opacity-50\"\r\n />\r\n )}\r\n </div>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent\r\n className=\"w-auto p-0\"\r\n align=\"start\"\r\n onEscapeKeyDown={() => setIsPopoverOpen(false)}\r\n >\r\n <Command>\r\n <CommandInput\r\n placeholder=\"Pesquisar...\"\r\n onKeyDown={handleInputKeyDown}\r\n />\r\n <CommandList>\r\n <CommandEmpty>Nenhum resultado encontrado.</CommandEmpty>\r\n <CommandGroup>\r\n <CommandItem\r\n key=\"all\"\r\n onSelect={toggleAll}\r\n className=\"cursor-pointer\"\r\n >\r\n <Checkbox\r\n checked={selectedValues.length === options.length}\r\n className=\"mr-2\"\r\n />\r\n <span>(Selecionar todos)</span>\r\n </CommandItem>\r\n {options.map(option => {\r\n const isSelected = selectedValues.includes(option.value)\r\n return (\r\n <CommandItem\r\n key={option.value}\r\n onSelect={() => toggleOption(option.value)}\r\n className=\"cursor-pointer\"\r\n >\r\n <Checkbox checked={isSelected} className=\"mr-2\" />\r\n <span>{option.label}</span>\r\n </CommandItem>\r\n )\r\n })}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport { MultiSelect }\r\n"],"names":["__webpack_require__","e","Object","Symbol","MultiSelect","options","onValueChange","variant","value","placeholder","maxCount","modalPopover","className","hasRemoveOptionBadge","props","selectedValues","setSelectedValues","useState","isPopoverOpen","setIsPopoverOpen","toggleOption","option","newSelectedValues","useEffect","Popover","PopoverTrigger","Button","prev","cn","Badge","badgeVariants","XIcon","event","CaretUpIcon","CaretDownIcon","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","allValues","Checkbox","isSelected"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../src/components/multi-select.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../src/components/multi-select.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAsC,MAAM,OAAO,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAM,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAS,aAAa,EAAE,MAAM,SAAS,CAAA;AAiB9C,KAAK,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAC9C,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACzC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAEH,iBAAS,WAAW,CAAC,EACnB,OAAY,EACZ,aAAa,EACb,OAAqB,EACrB,KAAU,EACV,WAA8B,EAC9B,QAAY,EACZ,YAAoB,EACpB,SAAS,EACT,oBAA4B,EAC5B,GAAG,KAAK,EACT,EAAE,gBAAgB,2CA4KlB;AAMD,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../src/components/multi-select.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../src/components/multi-select.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAsC,MAAM,OAAO,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAM,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAS,aAAa,EAAE,MAAM,SAAS,CAAA;AAiB9C,KAAK,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAC9C,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACzC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAEH,iBAAS,WAAW,CAAC,EACnB,OAAY,EACZ,aAAa,EACb,OAAqB,EACrB,KAAU,EACV,WAA8B,EAC9B,QAAY,EACZ,YAAoB,EACpB,SAAS,EACT,oBAA4B,EAC5B,GAAG,KAAK,EACT,EAAE,gBAAgB,2CA4KlB;AAMD,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
import{jsx as e,jsxs as l}from"react/jsx-runtime";import{CaretDownIcon as r,CaretUpIcon as
|
|
2
|
+
import{jsx as e,jsxs as l}from"react/jsx-runtime";import{CaretDownIcon as r,CaretUpIcon as t,XIcon as a}from"@phosphor-icons/react";import{useEffect as n,useState as o}from"react";import{cn as s}from"../lib/utils.js";import{Badge as i,badgeVariants as c}from"./badge.js";import{Button as m}from"./button.js";import{Checkbox as d}from"./checkbox.js";import{Command as p,CommandEmpty as h,CommandGroup as u,CommandInput as f,CommandItem as g,CommandList as N}from"./command.js";import{Popover as b,PopoverContent as w,PopoverTrigger as x}from"./popover.js";function v({options:v=[],onValueChange:y,variant:j="secondary",value:k=[],placeholder:S="Select options",maxCount:z=2,modalPopover:C=!1,className:P,hasRemoveOptionBadge:D=!1,...E}){let[K,q]=o(k),[M,O]=o(!1),$=e=>{let l=K.includes(e)?K.filter(l=>l!==e):[...K,e];q(l),y?.(l)};return n(()=>{k.length>0&&k!==K&&q(k)},[k]),l(b,{open:M,onOpenChange:O,modal:C,children:[e(x,{asChild:!0,children:e(m,{...E,onClick:()=>{O(e=>!e)},variant:"outline",className:s("flex h-10 w-auto min-w-60 items-center justify-between rounded-md border border-input bg-background px-3 py-2 hover:bg-background dark:hover:bg-input/50",P),children:K.length>0?l("div",{className:"flex w-full items-center justify-between",children:[l("div",{className:"flex items-center gap-x-1",children:[K.slice(0,z).map(r=>{let t=v.find(e=>e.value===r);return l(i,{className:s(c({variant:j})),children:[D&&e(a,{className:"mr-1 size-3 cursor-pointer",onClick:e=>{e.stopPropagation(),$(r)}}),e("span",{className:"max-w-32 truncate",children:t?.label})]},r)}),K.length>z&&l(i,{className:s(c({variant:j})),children:[e(a,{className:"mr-1 size-3 cursor-pointer",onClick:e=>{e.stopPropagation();let l=K.slice(0,z);q(l),y?.(l)}}),`+ ${K.length-z} ...`]})]}),e("div",{className:"ml-4 flex items-center",children:M?e(t,{weight:"bold",className:"size-4 opacity-50"}):e(r,{weight:"bold",className:"size-4 opacity-50"})})]}):l("div",{className:"mx-auto flex w-full items-center justify-between",children:[e("span",{className:"font-normal text-sm placeholder:text-muted-foreground",children:"Select options"===S?"Selecione as op\xe7\xf5es":S}),M?e(t,{weight:"bold",className:"ml-2 size-4 opacity-50"}):e(r,{weight:"bold",className:"ml-2 size-4 opacity-50"})]})})}),e(w,{className:"w-auto p-0",align:"start",onEscapeKeyDown:()=>O(!1),children:l(p,{children:[e(f,{placeholder:"Pesquisar...",onKeyDown:e=>{"Enter"===e.key&&O(!0)}}),l(N,{children:[e(h,{children:"Nenhum resultado encontrado."}),l(u,{children:[l(g,{onSelect:()=>{if(K.length===v.length)q([]),y?.([]);else{let e=v.map(e=>e.value);q(e),y?.(e)}},className:"cursor-pointer",children:[e(d,{checked:K.length===v.length,className:"mr-2"}),e("span",{children:"(Selecionar todos)"})]},"all"),v.map(r=>l(g,{onSelect:()=>$(r.value),className:"cursor-pointer",children:[e(d,{checked:K.includes(r.value),className:"mr-2"}),e("span",{children:r.label})]},r.value))]})]})]})})]})}export{v as MultiSelect};
|
|
3
3
|
//# sourceMappingURL=multi-select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\multi-select.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/multi-select.tsx"],"sourcesContent":["\r\n\r\nimport { CaretDownIcon, CaretUpIcon, XIcon } from '@phosphor-icons/react'\r\nimport { ComponentProps, KeyboardEvent, useState } from 'react'\r\n\r\nimport { VariantProps, cn } from '../lib/utils'\r\nimport { Badge, badgeVariants } from './badge'\r\nimport { Button } from './button'\r\nimport { Checkbox } from './checkbox'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from './command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from './popover'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: MultiSelect\r\n * -------------------------------------------------------------------------- */\r\n\r\ntype MultiSelectProps = ComponentProps<'button'> &\r\n VariantProps<typeof badgeVariants> & {\r\n options?: {\r\n label: string\r\n value: string\r\n }[]\r\n value?: string[]\r\n placeholder?: string\r\n maxCount?: number\r\n modalPopover?: boolean\r\n asChild?: boolean\r\n className?: string\r\n onValueChange?: (value: string[]) => void\r\n hasRemoveOptionBadge?: boolean\r\n }\r\n\r\nfunction MultiSelect({\r\n options = [],\r\n onValueChange,\r\n variant = 'secondary',\r\n value = [],\r\n placeholder = 'Select options',\r\n maxCount = 2,\r\n modalPopover = false,\r\n className,\r\n hasRemoveOptionBadge = false,\r\n ...props\r\n}: MultiSelectProps) {\r\n const [selectedValues, setSelectedValues] = useState<string[]>(value)\r\n const [isPopoverOpen, setIsPopoverOpen] = useState(false)\r\n\r\n const handleInputKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (event.key === 'Enter') {\r\n setIsPopoverOpen(true)\r\n }\r\n }\r\n\r\n const toggleOption = (option: string) => {\r\n const newSelectedValues = selectedValues.includes(option)\r\n ? selectedValues.filter(value => value !== option)\r\n : [...selectedValues, option]\r\n setSelectedValues(newSelectedValues)\r\n onValueChange?.(newSelectedValues)\r\n }\r\n\r\n const handleClear = () => {\r\n setSelectedValues([])\r\n onValueChange?.([])\r\n }\r\n\r\n const handleTogglePopover = () => {\r\n setIsPopoverOpen(prev => !prev)\r\n }\r\n\r\n const clearExtraOptions = () => {\r\n const newSelectedValues = selectedValues.slice(0, maxCount)\r\n setSelectedValues(newSelectedValues)\r\n onValueChange?.(newSelectedValues)\r\n }\r\n\r\n const toggleAll = () => {\r\n if (selectedValues.length === options.length) {\r\n handleClear()\r\n } else {\r\n const allValues = options.map(option => option.value)\r\n setSelectedValues(allValues)\r\n onValueChange?.(allValues)\r\n }\r\n }\r\n\r\n return (\r\n <Popover\r\n open={isPopoverOpen}\r\n onOpenChange={setIsPopoverOpen}\r\n modal={modalPopover}\r\n >\r\n <PopoverTrigger asChild>\r\n <Button\r\n {...props}\r\n onClick={handleTogglePopover}\r\n variant=\"outline\"\r\n className={cn(\r\n 'flex h-10 w-auto min-w-60 items-center justify-between rounded-md border border-input bg-background px-3 py-2 hover:bg-background dark:hover:bg-input/50',\r\n className\r\n )}\r\n >\r\n {selectedValues.length > 0 ? (\r\n <div className=\"flex w-full items-center justify-between\">\r\n <div className=\"flex items-center gap-x-1\">\r\n {selectedValues.slice(0, maxCount).map(value => {\r\n const option = options.find(option => option.value === value)\r\n return (\r\n <Badge\r\n key={value}\r\n className={cn(badgeVariants({ variant }))}\r\n >\r\n {hasRemoveOptionBadge && (\r\n <XIcon\r\n className=\"mr-1 size-3 cursor-pointer\"\r\n onClick={event => {\r\n event.stopPropagation()\r\n toggleOption(value)\r\n }}\r\n />\r\n )}\r\n <span className=\"max-w-32 truncate\">{option?.label}</span>\r\n </Badge>\r\n )\r\n })}\r\n\r\n {selectedValues.length > maxCount && (\r\n <Badge className={cn(badgeVariants({ variant }))}>\r\n <XIcon\r\n className=\"mr-1 size-3 cursor-pointer\"\r\n onClick={event => {\r\n event.stopPropagation()\r\n clearExtraOptions()\r\n }}\r\n />\r\n {`+ ${selectedValues.length - maxCount} ...`}\r\n </Badge>\r\n )}\r\n </div>\r\n <div className=\"ml-4 flex items-center\">\r\n {isPopoverOpen ? (\r\n <CaretUpIcon weight=\"bold\" className=\"size-4 opacity-50\" />\r\n ) : (\r\n <CaretDownIcon weight=\"bold\" className=\"size-4 opacity-50\" />\r\n )}\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\"mx-auto flex w-full items-center justify-between\">\r\n <span className=\"font-normal text-sm placeholder:text-muted-foreground\">\r\n {placeholder === 'Select options'\r\n ? 'Selecione as opções'\r\n : placeholder}\r\n </span>\r\n {isPopoverOpen ? (\r\n <CaretUpIcon weight=\"bold\" className=\"ml-2 size-4 opacity-50\" />\r\n ) : (\r\n <CaretDownIcon\r\n weight=\"bold\"\r\n className=\"ml-2 size-4 opacity-50\"\r\n />\r\n )}\r\n </div>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent\r\n className=\"w-auto p-0\"\r\n align=\"start\"\r\n onEscapeKeyDown={() => setIsPopoverOpen(false)}\r\n >\r\n <Command>\r\n <CommandInput\r\n placeholder=\"Pesquisar...\"\r\n onKeyDown={handleInputKeyDown}\r\n />\r\n <CommandList>\r\n <CommandEmpty>Nenhum resultado encontrado.</CommandEmpty>\r\n <CommandGroup>\r\n <CommandItem\r\n key=\"all\"\r\n onSelect={toggleAll}\r\n className=\"cursor-pointer\"\r\n >\r\n <Checkbox\r\n checked={selectedValues.length === options.length}\r\n className=\"mr-2\"\r\n />\r\n <span>(Selecionar todos)</span>\r\n </CommandItem>\r\n {options.map(option => {\r\n const isSelected = selectedValues.includes(option.value)\r\n return (\r\n <CommandItem\r\n key={option.value}\r\n onSelect={() => toggleOption(option.value)}\r\n className=\"cursor-pointer\"\r\n >\r\n <Checkbox checked={isSelected} className=\"mr-2\" />\r\n <span>{option.label}</span>\r\n </CommandItem>\r\n )\r\n })}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport { MultiSelect }\r\n"],"names":["MultiSelect","options","onValueChange","variant","value","placeholder","maxCount","modalPopover","className","hasRemoveOptionBadge","props","selectedValues","setSelectedValues","useState","isPopoverOpen","setIsPopoverOpen","toggleOption","option","newSelectedValues","Popover","PopoverTrigger","Button","prev","cn","Badge","badgeVariants","XIcon","event","CaretUpIcon","CaretDownIcon","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","allValues","Checkbox"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components\\multi-select.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/multi-select.tsx"],"sourcesContent":["\r\n\r\nimport { CaretDownIcon, CaretUpIcon, XIcon } from '@phosphor-icons/react'\r\nimport { ComponentProps, KeyboardEvent, useEffect, useState } from 'react'\r\n\r\nimport { VariantProps, cn } from '../lib/utils'\r\nimport { Badge, badgeVariants } from './badge'\r\nimport { Button } from './button'\r\nimport { Checkbox } from './checkbox'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from './command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from './popover'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: MultiSelect\r\n * -------------------------------------------------------------------------- */\r\n\r\ntype MultiSelectProps = ComponentProps<'button'> &\r\n VariantProps<typeof badgeVariants> & {\r\n options?: {\r\n label: string\r\n value: string\r\n }[]\r\n value?: string[]\r\n placeholder?: string\r\n maxCount?: number\r\n modalPopover?: boolean\r\n asChild?: boolean\r\n className?: string\r\n onValueChange?: (value: string[]) => void\r\n hasRemoveOptionBadge?: boolean\r\n }\r\n\r\nfunction MultiSelect({\r\n options = [],\r\n onValueChange,\r\n variant = 'secondary',\r\n value = [],\r\n placeholder = 'Select options',\r\n maxCount = 2,\r\n modalPopover = false,\r\n className,\r\n hasRemoveOptionBadge = false,\r\n ...props\r\n}: MultiSelectProps) {\r\n const [selectedValues, setSelectedValues] = useState<string[]>(value)\r\n const [isPopoverOpen, setIsPopoverOpen] = useState(false)\r\n\r\n const handleInputKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (event.key === 'Enter') {\r\n setIsPopoverOpen(true)\r\n }\r\n }\r\n\r\n const toggleOption = (option: string) => {\r\n const newSelectedValues = selectedValues.includes(option)\r\n ? selectedValues.filter(value => value !== option)\r\n : [...selectedValues, option]\r\n setSelectedValues(newSelectedValues)\r\n onValueChange?.(newSelectedValues)\r\n }\r\n\r\n const handleClear = () => {\r\n setSelectedValues([])\r\n onValueChange?.([])\r\n }\r\n\r\n const handleTogglePopover = () => {\r\n setIsPopoverOpen(prev => !prev)\r\n }\r\n\r\n const clearExtraOptions = () => {\r\n const newSelectedValues = selectedValues.slice(0, maxCount)\r\n setSelectedValues(newSelectedValues)\r\n onValueChange?.(newSelectedValues)\r\n }\r\n\r\n const toggleAll = () => {\r\n if (selectedValues.length === options.length) {\r\n handleClear()\r\n } else {\r\n const allValues = options.map(option => option.value)\r\n setSelectedValues(allValues)\r\n onValueChange?.(allValues)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (value.length > 0 && value !== selectedValues) {\r\n setSelectedValues(value)\r\n }\r\n }, [value])\r\n\r\n return (\r\n <Popover\r\n open={isPopoverOpen}\r\n onOpenChange={setIsPopoverOpen}\r\n modal={modalPopover}\r\n >\r\n <PopoverTrigger asChild>\r\n <Button\r\n {...props}\r\n onClick={handleTogglePopover}\r\n variant=\"outline\"\r\n className={cn(\r\n 'flex h-10 w-auto min-w-60 items-center justify-between rounded-md border border-input bg-background px-3 py-2 hover:bg-background dark:hover:bg-input/50',\r\n className\r\n )}\r\n >\r\n {selectedValues.length > 0 ? (\r\n <div className=\"flex w-full items-center justify-between\">\r\n <div className=\"flex items-center gap-x-1\">\r\n {selectedValues.slice(0, maxCount).map(value => {\r\n const option = options.find(option => option.value === value)\r\n return (\r\n <Badge\r\n key={value}\r\n className={cn(badgeVariants({ variant }))}\r\n >\r\n {hasRemoveOptionBadge && (\r\n <XIcon\r\n className=\"mr-1 size-3 cursor-pointer\"\r\n onClick={event => {\r\n event.stopPropagation()\r\n toggleOption(value)\r\n }}\r\n />\r\n )}\r\n <span className=\"max-w-32 truncate\">{option?.label}</span>\r\n </Badge>\r\n )\r\n })}\r\n\r\n {selectedValues.length > maxCount && (\r\n <Badge className={cn(badgeVariants({ variant }))}>\r\n <XIcon\r\n className=\"mr-1 size-3 cursor-pointer\"\r\n onClick={event => {\r\n event.stopPropagation()\r\n clearExtraOptions()\r\n }}\r\n />\r\n {`+ ${selectedValues.length - maxCount} ...`}\r\n </Badge>\r\n )}\r\n </div>\r\n <div className=\"ml-4 flex items-center\">\r\n {isPopoverOpen ? (\r\n <CaretUpIcon weight=\"bold\" className=\"size-4 opacity-50\" />\r\n ) : (\r\n <CaretDownIcon weight=\"bold\" className=\"size-4 opacity-50\" />\r\n )}\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\"mx-auto flex w-full items-center justify-between\">\r\n <span className=\"font-normal text-sm placeholder:text-muted-foreground\">\r\n {placeholder === 'Select options'\r\n ? 'Selecione as opções'\r\n : placeholder}\r\n </span>\r\n {isPopoverOpen ? (\r\n <CaretUpIcon weight=\"bold\" className=\"ml-2 size-4 opacity-50\" />\r\n ) : (\r\n <CaretDownIcon\r\n weight=\"bold\"\r\n className=\"ml-2 size-4 opacity-50\"\r\n />\r\n )}\r\n </div>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent\r\n className=\"w-auto p-0\"\r\n align=\"start\"\r\n onEscapeKeyDown={() => setIsPopoverOpen(false)}\r\n >\r\n <Command>\r\n <CommandInput\r\n placeholder=\"Pesquisar...\"\r\n onKeyDown={handleInputKeyDown}\r\n />\r\n <CommandList>\r\n <CommandEmpty>Nenhum resultado encontrado.</CommandEmpty>\r\n <CommandGroup>\r\n <CommandItem\r\n key=\"all\"\r\n onSelect={toggleAll}\r\n className=\"cursor-pointer\"\r\n >\r\n <Checkbox\r\n checked={selectedValues.length === options.length}\r\n className=\"mr-2\"\r\n />\r\n <span>(Selecionar todos)</span>\r\n </CommandItem>\r\n {options.map(option => {\r\n const isSelected = selectedValues.includes(option.value)\r\n return (\r\n <CommandItem\r\n key={option.value}\r\n onSelect={() => toggleOption(option.value)}\r\n className=\"cursor-pointer\"\r\n >\r\n <Checkbox checked={isSelected} className=\"mr-2\" />\r\n <span>{option.label}</span>\r\n </CommandItem>\r\n )\r\n })}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport { MultiSelect }\r\n"],"names":["MultiSelect","options","onValueChange","variant","value","placeholder","maxCount","modalPopover","className","hasRemoveOptionBadge","props","selectedValues","setSelectedValues","useState","isPopoverOpen","setIsPopoverOpen","toggleOption","option","newSelectedValues","useEffect","Popover","PopoverTrigger","Button","prev","cn","Badge","badgeVariants","XIcon","event","CaretUpIcon","CaretDownIcon","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","allValues","Checkbox"],"mappings":"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"}
|
package/dist/esm/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import*as t from"./data-table-config.js";export*from"./format.js";export*from"./utils.js";var r={"@/lib/data-table-config":function(r){r.exports=t}},o={};!function t(a){var e=o[a];if(void 0!==e)return e.exports;var i=o[a]={exports:{}};return r[a](i,i.exports,t),i.exports}("@/lib/data-table-config");
|