badger-react-ui
Version:
This is a collection of React UI components using the [Badger CSS](https://abw.github.io/badger-css/) styles.
1 lines • 56.5 kB
Source Map (JSON)
{"version":3,"file":"badger-react-ui.umd.cjs","sources":["../node_modules/.pnpm/@abw+react-one-louder@0.0.6/node_modules/@abw/react-one-louder/dist/react-one-louder.js","../src/components/Icon/IconData.jsx","../node_modules/.pnpm/@abw+badger-utils@1.0.21/node_modules/@abw/badger-utils/dist/badger-utils.esm.js","../src/components/Icon/Icon.jsx","../src/components/Icon/WithIcons.jsx","../src/components/Alert/Controls.jsx","../src/components/Alert/Headline.jsx","../src/components/Alert/Content.jsx","../src/components/Alert/Icon.jsx","../src/utils/attrs.js","../src/utils/functions.js","../src/utils/classes.js","../src/constants.js","../src/utils/transform.js","../src/utils/icon.js","../src/components/Alert/Alert.jsx","../src/components/Button/Button.jsx","../src/components/Buttons/Buttons.jsx","../src/state/Visible.jsx","../src/components/Confirm/Confirm.jsx","../src/components/Modal/Close.jsx","../src/components/Modal/Header.jsx","../src/components/Modal/Footer.jsx","../src/components/Modal/Content.jsx","../src/components/Modal/Modal.jsx","../src/components/Modal/State.jsx"],"sourcesContent":["import { jsx as o } from \"react/jsx-runtime\";\nimport m, { createContext as j } from \"react\";\nconst f = j();\nfunction d(e) {\n return typeof e == \"function\";\n}\nfunction l(e) {\n return typeof e == \"object\" && !a(e) && !y(e);\n}\nfunction a(e) {\n return Array.isArray(e);\n}\nfunction y(e) {\n return e === null;\n}\nfunction b({\n context: e = {},\n Implementation: c,\n spec: u = !1,\n props: i = {},\n ref: r\n}) {\n if (!u)\n return /* @__PURE__ */ o(c, { ...i, ref: r });\n let t = {}, n = d(u) ? u(e) : e[u];\n if (a(n) && (c = n[0], n = n[1]), d(n)) {\n const s = n(i, r, e);\n if (m.isValidElement(s))\n return s;\n l(s) && Object.assign(t, i, s);\n } else\n l(n) ? Object.assign(t, n, i) : Object.assign(t, i);\n return /* @__PURE__ */ o(c, { ...t, ref: r });\n}\nconst h = (e) => ({ Context: f, Provider: ({ children: r, ...t }) => /* @__PURE__ */ o(f.Provider, { value: { ...e, ...t }, children: r }), Consumer: (r) => (t) => /* @__PURE__ */ o(f.Consumer, { children: (n) => /* @__PURE__ */ o(r, { ...n, ...t, context: n }) }), Component: (r, t = r.displayName || r.name) => m.forwardRef(\n (n, s) => /* @__PURE__ */ o(f.Consumer, { children: (C) => /* @__PURE__ */ o(\n b,\n {\n Implementation: r,\n context: C,\n spec: t,\n props: n,\n ref: s\n }\n ) })\n) }), g = h(), A = g.Component;\nexport {\n g as Theme,\n A as Themed,\n h as Themer\n};\n//# sourceMappingURL=react-one-louder.js.map\n","export const IconData = {\n 'angle': {\n spath: 'M448,320L256,128L64,320',\n },\n 'angles': {\n path: 'M448,256L256,64L64,256M448,448L256,256L64,448',\n },\n 'angle-left': 'M313,41C326,29 346,29 359,41C371,54 371,74 359,87C359,87 189,256 189,256L359,425C371,438 371,458 359,471C346,483 326,483 313,471L121,279C109,266 109,246 121,233L313,41Z',\n 'angle-right': 'M199,471C186,483 166,483 153,471C141,458 141,438 153,425C153,425 323,256 323,256L153,87C141,74 141,54 153,41C166,29 186,29 199,41L391,233C403,246 403,266 391,279L199,471Z',\n 'angle-up': 'M471,313C483,326 483,346 471,359C458,371 438,371 425,359C425,359 256,189 256,189L87,359C74,371 54,371 41,359C29,346 29,326 41,313L233,121C246,109 266,109 279,121L471,313Z',\n 'angle-down': 'M41,199C29,186 29,166 41,153C54,141 74,141 87,153C87,153 256,323 256,323L425,153C438,141 458,141 471,153C483,166 483,186 471,199L279,391C266,403 246,403 233,391L41,199Z',\n at: 'M256 64C150 64 64 150 64 256s86 192 192 192c18 0 32 14 32 32s-14 32-32 32C115 512 0 397 0 256S115 0 256 0S512 115 512 256v32c0 53-43 96-96 96c-29 0-56-13-73-34C320 371 290 384 256 384c-71 0-128-57-128-128s57-128 128-128c28 0 54 9 75 24c6-5 13-8 21-8c18 0 32 14 32 32v80 32c0 18 14 32 32 32s32-14 32-32V256c0-106-86-192-192-192zm64 192a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z',\n bars: 'M0 96C0 78 14 64 32 64H416c18 0 32 14 32 32s-14 32-32 32H32C14 128 0 114 0 96zM0 256c0-18 14-32 32-32H416c18 0 32 14 32 32s-14 32-32 32H32c-18 0-32-14-32-32zM448 416c0 18-14 32-32 32H32c-18 0-32-14-32-32s14-32 32-32H416c18 0 32 14 32 32z',\n check: 'M486,91C499,104 499,127 486,140L212,422C198,435 177,435 163,422L26,281C13,267 13,245 26,231C39,217 61,217 75,231L187,347L438,91C451,77 473,77 486,91L486,91Z',\n checked: 'M507.083,32L507.083,480C507.083,494.958 494.958,507.083 480,507.083L32,507.083C17.042,507.083 4.917,494.958 4.917,480L4.917,32C4.917,17.042 17.042,4.917 32,4.917L480,4.917C494.958,4.917 507.083,17.042 507.083,32ZM452.917,59.083L59.083,59.083L59.083,452.917L452.917,452.917L452.917,59.083ZM88.43,298.82C75.421,285.811 75.421,264.689 88.43,251.68C101.439,238.671 122.561,238.671 135.57,251.68L202,318.11L376.43,143.68C389.439,130.671 410.561,130.671 423.57,143.68C436.579,156.689 436.579,177.811 423.57,190.82L225.57,388.82C212.553,401.838 191.447,401.838 178.43,388.82L88.43,298.82Z',\n clipboard: 'M280 64h40c35 0 64 29 64 64V448c0 35-29 64-64 64H64c-35 0-64-29-64-64V128C0 93 29 64 64 64h40 10C121 28 153 0 192 0s71 28 78 64H280zM64 112c-9 0-16 7-16 16V448c0 9 7 16 16 16H320c9 0 16-7 16-16V128c0-9-7-16-16-16H304v24c0 13-11 24-24 24H192 104c-13 0-24-11-24-24V112H64zm128-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z',\n github: 'M256,0C115,0 0,115 0,256C0,369 73,465 175,499C188,501 193,493 193,487C193,481 192,460 192,439C128,451 111,423 106,409C103,402 91,379 80,373C71,368 58,356 80,356C100,356 114,374 119,382C142,421 179,410 194,403C196,387 203,375 210,369C153,363 93,340 93,243C93,215 103,192 120,174C117,167 108,141 122,106C122,106 144,99 193,132C213,126 235,124 257,124C278,124 300,126 321,132C370,99 391,106 391,106C405,141 396,167 394,174C410,192 420,214 420,243C420,341 360,363 303,369C312,377 320,392 320,416C320,451 320,478 320,487C320,493 325,501 338,499C439,465 512,369 512,256C512,115 397,0 256,0Z',\n clock: 'M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 16 11 20l96 64c11 7 26 4 33-7s4-26-7-33L280 243V120c0-13-11-24-24-24s-24 11-24 24z',\n cross: 'M456,109C470,94 470,71 456,56C441,42 418,42 403,56L256,204L109,56C94,42 71,42 56,56C42,71 42,94 56,109L204,256L56,403C42,418 42,441 56,456C71,470 94,470 109,456L256,308L403,456C418,470 441,470 456,456C470,441 470,418 456,403L308,256L456,109Z',\n // envelope: 'M64 112c-9 0-16 7-16 16v22L221 292c21 17 50 17 71 0L464 150V128c0-9-7-16-16-16H64zM48 212V384c0 9 7 16 16 16H448c9 0 16-7 16-16V212L322 329c-38 32-94 32-132 0L48 212zM0 128C0 93 29 64 64 64H448c35 0 64 29 64 64V384c0 35-29 64-64 64H64c-35 0-64-29-64-64V128z',\n // exclamation: 'M64 64c0-18-14-32-32-32S0 46 0 64V320c0 18 14 32 32 32s32-14 32-32V64zM32 480a40 40 0 1 0 0-80 40 40 0 1 0 0 80z',\n // hide: 'M39 5C28-3 13-1 5 9S-1 35 9 43l592 464c10 8 26 6 34-4s6-26-4-34L526 387c40-41 66-86 80-118c3-8 3-17 0-25c-15-36-46-88-93-131C466 69 401 32 320 32c-68 0-125 26-169 61L39 5zm151 118C226 98 270 80 320 80c65 0 119 30 160 68C518 184 545 226 559 256c-13 28-37 67-71 101l-54-42c9-18 14-38 14-59c0-71-57-128-128-128c-32 0-62 12-84 32l-46-36zM395 284l-82-64c4-9 7-18 7-28c0-6-.7-11-2-16c.7 0 1 0 2 0c44 0 80 36 80 80c0 10-2 19-5 28zm9 130C379 425 351 432 320 432c-65 0-119-30-160-68C122 329 95 286 81 256c8-18 22-42 39-65L83 162C60 191 44 221 35 244c-3 8-3 17 0 25c15 36 46 88 93 131C175 443 239 480 320 480c48 0 90-13 126-33l-42-33zM192 256c0 71 57 128 128 128c13 0 26-2 38-6L302 334c-24-5-43-21-54-42l-56-44c-.2 3-.3 6-.3 9z',\n // info: 'M48 80a48 48 0 1 1 96 0A48 48 0 1 1 48 80zM0 224c0-18 14-32 32-32H96c18 0 32 14 32 32V448h32c18 0 32 14 32 32s-14 32-32 32H32c-18 0-32-14-32-32s14-32 32-32H64V256H32c-18 0-32-14-32-32z',\n // key: 'M326,364C312,364 299,362 286,360L267,379C258,387 247,392 235,392C235,392 224,392 224,392L224,403C224,428 204,448 179,448C179,448 168,448 168,448L168,459C168,484 148,504 123,504L53,504C28,504 8,484 8,459L8,389C8,377 13,366 21,357C21,357 152,226 152,226C150,213 148,200 148,186C148,88 228,8 326,8C424,8 504,88 504,186C504,284 424,364 326,364ZM56,456L120,456L120,424C120,411 131,400 144,400L176,400L176,368C176,355 187,344 200,344L234,344L262,316C268,309 278,307 286,310C299,314 312,316 326,316C398,316 456,258 456,186C456,114 398,56 326,56C254,56 196,114 196,186C196,200 198,213 202,226C205,234 203,244 196,250L56,390L56,456ZM364,110C385,110 402,127 402,148C402,169 385,186 364,186C343,186 326,169 326,148C326,127 343,110 364,110Z',\n // lock: 'M159,133L159,226L301,226L301,133C301,94 269,62 230,62C191,62 159,94 159,133ZM101,226L101,133C101,62 159,4 230,4C301,4 359,62 359,133L359,226L373,226C404,226 430,252 430,283L430,455C430,486 404,512 373,512L87,512C56,512 30,486 30,455L30,283C30,252 56,226 87,226L101,226Z',\n // login: 'M352 96l64 0c18 0 32 14 32 32l0 256c0 18-14 32-32 32l-64 0c-18 0-32 14-32 32s14 32 32 32l64 0c53 0 96-43 96-96l0-256c0-53-43-96-96-96l-64 0c-18 0-32 14-32 32s14 32 32 32zm-9 183c13-13 13-33 0-45l-128-128c-13-13-33-13-45 0s-13 33 0 45L243 224 32 224c-18 0-32 14-32 32s14 32 32 32l211 0-73 73c-13 13-13 33 0 45s33 13 45 0l128-128z',\n // logout: 'M503 279c13-13 13-33 0-45l-128-128c-13-13-33-13-45 0s-13 33 0 45L403 224 192 224c-18 0-32 14-32 32s14 32 32 32l211 0-73 73c-13 13-13 33 0 45s33 13 45 0l128-128zM160 96c18 0 32-14 32-32s-14-32-32-32L96 32C43 32 0 75 0 128L0 384c0 53 43 96 96 96l64 0c18 0 32-14 32-32s-14-32-32-32l-64 0c-18 0-32-14-32-32l0-256c0-18 14-32 32-32l64 0z',\n // pen: 'M356,34L311,79L433,201L478,156C502,132 502,94 478,71L441,34C418,10 380,10 356,34L356,34ZM290,100L71,319C61,329 54,341 50,355L16,468C14,476 16,484 22,490C28,496 36,498 44,496L157,462C171,458 183,451 192,442L412,222L290,100Z',\n // plus: 'M292,56C292,36 276,20 256,20C236,20 220,36 220,56L220,220L56,220C36,220 20,236 20,256C20,276 36,292 56,292L220,292L220,456C220,476 236,492 256,492C276,492 292,476 292,456L292,292L456,292C476,292 492,276 492,256C492,236 476,220 456,220L292,220L292,56Z',\n redo: 'M464 224H472c13 0 24-11 24-24V72c0-10-6-19-15-22s-19-2-26 5L413 97c-88-87-229-86-316 1c-88 88-88 229 0 317s229 88 317 0c13-13 13-33 0-45s-33-13-45 0c-63 63-164 63-226 0s-63-164 0-226c62-62 163-63 225-1L327 183c-7 7-9 17-5 26s13 15 22 15H464z',\n // show: 'M288 80c-65 0-119 30-160 68C90 184 63 226 49 256c14 30 40 73 79 108C169 402 223 432 288 432s119-30 160-68C486 329 513 286 527 256c-14-30-40-73-79-108C407 110 353 80 288 80zM95 113C143 69 207 32 288 32s146 37 193 81c47 44 78 95 93 131c3 8 3 17 0 25c-15 36-46 88-93 131C434 443 369 480 288 480s-146-37-193-81C49 356 17 304 3 268c-3-8-3-17 0-25C17 208 49 156 95 113zM288 336c44 0 80-36 80-80s-36-80-80-80c-.7 0-1 0-2 0c1 5 2 11 2 16c0 35-29 64-64 64c-6 0-11-.7-16-2c0 .7 0 1 0 2c0 44 36 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z',\n trash: 'M173,33L166,46L76,46C59,46 46,59 46,76C46,93 59,106 76,106L436,106C453,106 466,93 466,76C466,59 453,46 436,46L346,46L339,33C334,22 324,16 312,16L200,16C188,16 178,22 173,33ZM436,136L76,136L96,454C97,478 117,496 141,496L371,496C395,496 415,478 416,454L436,136Z',\n // unchecked: 'M507.083,32L507.083,480C507.083,494.958 494.958,507.083 480,507.083L32,507.083C17.042,507.083 4.917,494.958 4.917,480L4.917,32C4.917,17.042 17.042,4.917 32,4.917L480,4.917C494.958,4.917 507.083,17.042 507.083,32ZM452.917,59.083L59.083,59.083L59.083,452.917L452.917,452.917L452.917,59.083Z',\n // undo: 'M168,224L40,224C27,224 16,213 16,200L16,72C16,62 22,54 31,50C40,46 50,48 57,55L99,97C186,10 327,10 414,98C502,185 502,327 414,414C327,502 185,502 98,414C85,402 85,382 98,369C110,357 130,357 143,369C205,432 307,432 369,369C432,307 432,205 369,143C307,81 207,80 144,142L185,183C192,190 194,200 190,209C187,218 178,224 168,224Z',\n // unlock: 'M313,131C313,92 345,60 384,60C423,60 455,92 455,131L455,174C455,190 468,203 484,203C499,203 512,190 512,174L512,131C512,61 455,3 384,3C313,3 256,61 256,131L256,227L57,227C26,227 0,253 0,284L0,455C0,486 26,512 57,512L341,512C373,512 398,486 398,455L398,284C398,253 373,227 341,227L313,227L313,131Z',\n // user: 'M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49 464H399c-9-63-63-112-129-112H178c-66 0-120 49-129 112zM0 482C0 384 80 304 178 304h91C368 304 448 384 448 482c0 16-13 30-30 30H30C13 512 0 499 0 482z',\n // warning: 'M256 32c14 0 27 8 35 20l216 368c7 12 7 28 .2 40S486 480 472 480H40c-14 0-28-8-35-20s-7-28 .2-40l216-368C229 40 242 32 256 32zm0 128c-13 0-24 11-24 24V296c0 13 11 24 24 24s24-11 24-24V184c0-13-11-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z',\n 'circle-check': 'M256,0C397,0 512,115 512,256C512,397 397,512 256,512C115,512 0,397 0,256C0,115 115,0 256,0ZM89,295L169,375C182,387 202,387 215,375L407,183C419,170 419,150 407,137C394,125 374,125 361,137L192,307C192,307 135,249 135,249C122,237 102,237 89,249C77,262 77,282 89,295Z',\n 'circle-exclamation': 'M256,0C397,0 512,115 512,256C512,397 397,512 256,512C115,512 0,397 0,256C0,115 115,0 256,0ZM256,377C234,377 217,394 217,416C217,438 234,455 256,455C278,455 295,438 295,416C295,394 278,377 256,377ZM224,96L224,310C224,328 238,342 256,342C274,342 288,328 288,310L288,96C288,78 274,64 256,64C238,64 224,78 224,96Z',\n 'circle-info': 'M256,0C397,0 512,115 512,256C512,397 397,512 256,512C115,512 0,397 0,256C0,115 115,0 256,0ZM256,134C277,134 294,117 294,96C294,75 277,58 256,58C235,58 218,75 218,96C218,117 235,134 256,134ZM224,234L224,384L182,384C164,384 150,398 150,416C150,434 164,448 182,448L330,448C348,448 362,434 362,416C362,398 348,384 330,384L288,384L288,202C288,184 274,170 256,170L212,170C194,170 180,184 180,202C180,220 194,234 212,234L224,234Z',\n 'circle-todo': 'M256,0C397,0 512,115 512,256C512,397 397,512 256,512C115,512 0,397 0,256C0,115 115,0 256,0ZM227,80L227,256C227,265 231,274 239,280L351,360C364,369 382,366 392,353C401,340 398,322 385,312L285,241L285,80C285,64 272,51 256,51C240,51 227,64 227,80Z',\n 'circle-cross': 'M256,0C397,0 512,115 512,256C512,397 397,512 256,512C115,512 0,397 0,256C0,115 115,0 256,0ZM211,256L121,345C109,358 109,378 121,391C134,403 154,403 167,391L256,301L345,391C358,403 378,403 391,391C403,378 403,358 391,345L301,256L391,167C403,154 403,134 391,121C378,109 358,109 345,121L256,211L167,121C154,109 134,109 121,121C109,134 109,154 121,167L211,256Z',\n}\n\nexport function addIcon(name, data) {\n IconData[name] = data\n}\n\nexport function addIcons(icons) {\n Object.entries(icons).forEach(\n ([name, data]) => addIcon(name, data)\n )\n}\n\nexport default IconData\n","function n(n){return\"boolean\"==typeof n}function t(n){return\"string\"==typeof n}function e(n){return\"number\"==typeof n}function r(n){return Number.isInteger(n)}function o(n){return e(n)&&!r(n)}function u(n){return Array.isArray(n)}function i(n){return\"function\"==typeof n}function c(n){return n instanceof RegExp}function s(n){return\"object\"==typeof n&&!u(n)&&!a(n)}function l(n){return void 0===n}function a(n){return null===n}function f(n){return!(l(n)||a(n))}function p(...n){return n.every((n=>f(n)))}function d(n){return!f(n)}function m(...n){return n.find((n=>f(n)))}const h=(n,t)=>n.replace(/<(\\w+)>/g,((e,r)=>{const o=t[r];return d(o)&&y(`Invalid variable expansion <${r}> in message format: ${n}`),o}));function y(...n){throw new Error(n.join(\"\"))}function $(n,t){throw new Error(h(n,t))}function g(n){throw n}function b(){}function v(){return Intl.DateTimeFormat().resolvedOptions().locale}let w={locale:v(),currency:\"GBP\",currencySign:\"£\",thousands:\",\"};function j(n={}){w={...w,...n}}const I=(n,t,e=1)=>{const r=t<n?-Math.abs(e):e;return Array(1+Math.floor(Math.abs((t-n)/e))).fill(n).map(((n,t)=>n+t*r))};function k(n,t={}){return new Intl.NumberFormat(t.locale||w.locale,t).format(n)}function x(n,t={}){return k(n,{style:\"currency\",currency:w.currency,...t})}function O(n,t=w.thousands){if(d(n))return\"\";for(var e=n.toString().split(\".\"),r=/(\\d+)(\\d{3})/;r.test(e[0]);)e[0]=e[0].replace(r,`$1${t}$2`);return e.join(\".\")}function A(n){return d(n)?[]:t(n)?n.length?n.split(/,\\s*|\\s+/):[]:u(n)?n:[n]}function B(n,t=!0,e={}){if(s(n))return n;return A(n).reduce(((n,e)=>(n[e]=i(t)?t(e):t,n)),e)}function C(n){return t(n)&&0!==n.length?n.split(/\\s*\\n+\\s*/).filter((function(n){return n.length>0})):[]}function T(n,t=\" \",e=t){let r=[...n];const o=r.pop();return r.length?[r.join(t),o].join(e):o}function E(n,t=\", \",e=\" and \"){return T(n,t,e)}function F(n,t=\", \",e=\" or \"){return T(n,t,e)}function L(n){return n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()}function M(n){return n.replace(/(\\w+)/g,L)}function N(n){return n.split(\"/\").map((n=>n.split(\"_\").map(L).join(\"\"))).join(\"/\")}function S(n){return n.split(\"/\").map((n=>n.split(\"_\").map(((n,t)=>t?L(n):n)).join(\"\"))).join(\"/\")}function P(n,t={}){const e=t[n];if(f(e))return e;let r;return n.match(/(ss?|sh|ch|x)$/)?n+\"es\":(r=n.match(/(.*?[^aeiou])y$/))?r[1]+\"ies\":n.match(/([^s\\d\\W])$/)?n+\"s\":n}function W(n,t={}){const e=t[n];return f(e)?e:n.match(/(ss|sh|ch|x)es$/)?n.replace(/es$/,\"\"):n.match(/([^aeiou])ies$/)?n.replace(/ies$/,\"y\"):n.match(/([^s\\d\\W])s$/)?n.replace(/s$/,\"\"):n}function _(n,t,e,r=\"no\"){return(n?O(n):r)+\" \"+(1===n?t:e||P(t))}function D(n,t,e,r=\"No\"){return _(n,t,e,r)}const G=L,R=M,U=P,q=P;function z(n){if(i(n))return n;if(c(n))return t=>n.test(t);if(s(n))return t=>Boolean(n[t]);if(u(n)||t(n)){const t=B(n);return n=>Boolean(t[n])}y(\"Invalid selector() specification: \"+n)}function H(n,t={}){const e=t.include&&z(t.include),r=t.exclude&&z(t.exclude);return Z(B(n)).reduce(((o,[u,i])=>(e&&!e(u,i,n,o)||r&&r(u,i,n,o)||(t.key&&(u=t.key(u,i,n,o)),t.value&&(i=t.value(i,u,n,o)),o[u]=i),o)),{})}function J(n,t){return Object.keys(n).reduce(((e,r)=>(e[r]=t(n[r],r),e)),{})}const K=(n,t,e={})=>{let r={},o={delete:!1,...e};const u=z(t);return Object.keys(n).map((t=>{if(u(t)){let e=n[t];o.delete&&delete n[t],o.key&&(t=o.key(t)),o.value&&(e=o.value(e)),r[t]=e}})),r},Q=K,V=(n,t)=>{const e=n[t];return delete n[t],e},X=Object.keys,Y=Object.values,Z=Object.entries,nn=(n,t)=>Boolean(n[t]||0),tn=(n,t)=>parseInt(n[t]||0),en=(n,t)=>parseFloat(n[t]||0),rn=(n,t)=>(n[t]||\"\").toString(),on=n=>(t,e)=>tn(t,n)-tn(e,n),un=n=>(t,e)=>en(t,n)-en(e,n),cn=n=>(t,e)=>{let r=rn(t,n).toLowerCase(),o=rn(e,n).toLowerCase();return r>o?1:o>r?-1:0},sn=n=>(t,e)=>{let r=nn(t,n);return r===nn(e,n)?0:r?1:-1},ln={num:un,int:on,str:cn,bool:sn,number:un,integer:on,string:cn,boolean:sn},an=n=>n,fn=n=>(t,e)=>n(e,t),pn={asc:an,desc:fn,ascending:an,descending:fn},dn=n=>{const e=A(n).map((n=>{if(i(n))return n;if(t(n)){const t=n.match(/^(\\w+)(?::(\\w+))?(?::(\\w+))?$/)||y(`Invalid sort field: ${n}`),e=ln[t[2]||\"string\"]||y(`Invalid sort type \"${t[2]}\" in sort field: ${n}`);return(pn[t[3]||\"asc\"]||y(`Invalid sort order \"${t[3]}\" in sort field: ${n}`))(e(t[1]))}y(`Invalid sort field: ${n}`)}));return(n,t)=>{for(let r=0;r<e.length;r++){const o=(0,e[r])(n,t);if(0!==o)return o}return 0}};function mn(n,t=300){let e;return(...r)=>{clearTimeout(e),e=setTimeout((()=>n.apply(this,r)),t)}}function hn(n){return new Promise((t=>setTimeout(t,n)))}export{D as Inflect,an as ascendingOrder,nn as booleanField,sn as booleanSort,L as capitalise,M as capitaliseWords,G as capitalize,R as capitalizeWords,O as commas,x as currency,mn as debounce,v as defaultLocale,fn as descendingOrder,b as doNothing,Z as entries,K as extract,y as fail,$ as failMsg,m as firstValue,h as format,k as formatNumber,f as hasValue,H as hash,p as haveValue,_ as inflect,tn as integerField,on as integerSort,u as isArray,n as isBoolean,o as isFloat,i as isFunction,r as isInteger,a as isNull,e as isNumber,s as isObject,c as isRegExp,t as isString,l as isUndefined,T as joinList,E as joinListAnd,F as joinListOr,X as keys,dn as multiSort,d as noValue,en as numberField,un as numberSort,J as objMap,Q as objSubset,P as plural,U as pluralise,q as pluralize,I as range,V as remove,g as rethrow,z as selector,j as setNumberDefaults,W as singular,hn as sleep,S as snakeToCamel,N as snakeToStudly,pn as sortOrders,ln as sortTypes,B as splitHash,C as splitLines,A as splitList,rn as stringField,cn as stringSort,Y as values};\n//# sourceMappingURL=badger-utils.esm.js.map\n","import React from 'react'\nimport IconData from './IconData.jsx'\nimport { Themed } from '@/src/Theme.jsx'\nimport { fail, isString } from '@abw/badger-utils'\n\n// TODO: fixedWidth\n\nexport const DEFAULT_WIDTH = 512\nexport const DEFAULT_HEIGHT = DEFAULT_WIDTH\n\nexport const Icon = ({\n name,\n iconData=IconData,\n ...props\n}) =>\n name\n ? <IconSVG {...props} {...getIconData(name, iconData)}/>\n : <IconSVG {...props}/>\n\nexport const getIconData = (name, iconData) => {\n const data = iconData[name]\n || fail(`Invalid icon name: ${name}`)\n return isString(data)\n ? {\n path: data,\n width: DEFAULT_WIDTH,\n height: DEFAULT_HEIGHT\n }\n : data\n}\n\nexport const IconSVG = ({\n path,\n onClick,\n width=DEFAULT_WIDTH,\n height=DEFAULT_HEIGHT,\n style,\n className='',\n fill='currentColor'\n}) =>\n <svg\n aria-hidden=\"true\" focusable=\"false\"\n className={`${className} icon`} style={style}\n role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${width} ${height}`}\n onClick={onClick}\n >\n <path d={path} fill={fill}/>\n </svg>\n\nexport default Themed(Icon, 'Icon')\n","import React from 'react'\nimport Icon from './Icon.jsx'\nimport { Themed } from '@/src/Theme.jsx'\n\nconst WithIcons = ({\n icon,\n iconClass,\n iconLeft,\n iconLeftClass='on-left',\n iconRight,\n iconRightClass='on-right',\n text,\n children\n}) =>\n <>\n { Boolean(icon) &&\n <Icon\n name={icon}\n className={iconClass}\n fixedWidth\n />\n }\n { Boolean(iconLeft) &&\n <Icon\n name={iconLeft}\n className={iconLeftClass}\n fixedWidth\n />\n }\n { text || children }\n { Boolean(iconRight) &&\n <Icon\n name={iconRight}\n className={iconRightClass}\n fixedWidth\n />\n }\n </>\n\nexport default Themed(WithIcons, 'WithIcons')\n","import React from 'react'\nimport { Themed } from '@/src/Theme.jsx'\nimport { Icon } from '@/components/Icon/index.jsx'\n\nconst AlertControls = ({\n dismissable,\n dismiss,\n revealable,\n isRevealed,\n openIcon = 'angle-down',\n closedIcon = 'angle-left',\n dismissIcon = 'circle-cross',\n}) =>\n <div>\n { Boolean(dismissable) &&\n <Icon\n name={dismissIcon}\n fixedWidth\n className=\"dismiss\"\n onClick={() => dismiss(true)}\n />\n }\n { Boolean(revealable) &&\n <Icon\n name={isRevealed ? openIcon : closedIcon}\n fixedWidth\n className=\"reveal\"\n />\n }\n </div>\n\nexport default Themed(AlertControls, 'AlertControls')\n","import React from 'react'\nimport AlertControls from './Controls.jsx'\nimport { Themed } from '@/src/Theme.jsx'\nimport { Icon } from '@/components/Icon/index.jsx'\n\nconst AlertHeadline = ({\n headline,\n headIcon,\n toggle,\n revealable = false,\n controlProps,\n Controls=AlertControls,\n}) =>\n <div\n className=\"headline flex space\"\n onClick={revealable ? toggle : null}\n >\n <div>\n { Boolean(headIcon) &&\n <Icon\n name={headIcon}\n fixedWidth\n className=\"mar-r-2\"\n />\n }\n { headline}\n </div>\n <Controls {...controlProps}/>\n </div>\n\nexport default Themed(AlertHeadline, 'AlertHeadline')\n","import React from 'react'\nimport { Themed } from '@/src/Theme.jsx'\n\nconst AlertContent = ({\n title,\n text,\n children,\n}) =>\n <>\n {title && <h3>{title}</h3>}\n {text ? <p>{text}</p> : children}\n </>\n\nexport default Themed(AlertContent, 'AlertContent')","import React from 'react'\nimport AlertContent from './Content.jsx'\nimport Icon from '@/components/Icon/Icon.jsx'\nimport { Themed } from '@/src/Theme.jsx'\n\nconst AlertIcon = ({\n icon,\n Content=AlertContent,\n ...props\n}) =>\n <div className=\"side-icon\">\n <Icon name={icon}/>\n <div className=\"wide\">\n <Content {...props}/>\n </div>\n </div>\n\nexport default Themed(AlertIcon, 'AlertIcon')","import { isUndefined } from '@abw/badger-utils'\n\nexport function parseAttrs(string) {\n return string\n .split(/\\s*[;&]\\s*/)\n .filter( v => v.length > 0 )\n .reduce(\n (attrs, attr) => {\n const [name, value] = attr.split(/\\s*[:=]\\s*/)\n attrs[name] = isUndefined(value) ? true : value\n return attrs\n },\n { }\n )\n}\n","import { isFunction } from '@abw/badger-utils'\n\nexport const maybeFunction = (fn, ...args) =>\n isFunction(fn)\n ? fn(...args)\n : fn","import { hasValue, isInteger, isObject } from '@abw/badger-utils'\nimport { maybeFunction } from './functions.js'\n\nexport const joinClasses = classes =>\n classes\n .filter(hasValue)\n .join(' ')\n\nexport const setKeys = props =>\n Object.entries(props)\n .filter( ([ , value]) => value )\n .map( ([key]) => key )\n\nexport const classes = (...inputs) => joinClasses(\n inputs.flatMap(\n input =>\n isObject(input)\n ? setKeys(input)\n : input\n )\n)\n\nexport const borderClass = border =>\n classTrueInt(border, 'border', b => `border bdw-${b}`)\n\nexport const shadowClass = shadow =>\n classTrueInt(shadow, 'shadow-1', s => `shadow-${s}`)\n\nexport const radiusClass = radius =>\n classInt(radius, r => `bdr-${r}`)\n\nexport const classInt = (c, i) =>\n isInteger(parseInt(c))\n ? maybeFunction(i, c)\n : null\n\nexport const classTrueInt = (c, t, i) =>\n c === true\n ? t\n : parseInt(c)\n ? maybeFunction(i, c)\n : null\n\n","export const DASH = '-'\nexport const DEFAULT_ICON_WIDTH = 512\nexport const DEFAULT_ICON_HEIGHT = 512","import { fail, isString } from '@abw/badger-utils'\nimport { parseAttrs } from './attrs.js'\n\nexport const nullTransform = {\n x: 0,\n y: 0,\n size: 16,\n flipX: false,\n flipY: false,\n rotate: 0\n}\n\nexport const transformFunctions = {\n flip: (transform, v) => {\n if (v.match(/^y$/i)) {\n transform.flipY = ! transform.flipY\n }\n else {\n transform.flipX = ! transform.flipX\n }\n },\n\n flipx: transform =>\n transform.flipX = ! transform.flipX,\n\n flipy: transform =>\n transform.flipY = ! transform.flipY,\n\n grow: (transform, n) =>\n transform.size += parseInt(n),\n\n shrink: (transform, n) =>\n transform.size -= parseInt(n),\n\n left: (transform, n) =>\n transform.x -= parseInt(n),\n\n right: (transform, n) =>\n transform.x += parseInt(n),\n\n up: (transform, n) =>\n transform.y -= parseInt(n),\n\n down: (transform, n) =>\n transform.y += parseInt(n),\n\n rotate: (transform, n) =>\n transform.rotate += parseInt(n)\n}\ntransformFunctions['flop'] = transformFunctions.flipy\ntransformFunctions['flip-x'] = transformFunctions.flipx\ntransformFunctions['flip-y'] = transformFunctions.flipy\n\nexport function transformData(\n transform,\n target={ ...nullTransform }\n) {\n const attrs = isString(transform)\n ? parseAttrs(transform)\n : (transform || { })\n\n return Object.entries(attrs).reduce(\n (transform, [name, value]) => {\n const lcname = name.toLowerCase()\n const transformer = transformFunctions[lcname]\n || fail(`Invalid transform: ${lcname}`)\n transformer(transform, value)\n return transform\n },\n target\n )\n}\n\n","import { fail, isString, noValue } from '@abw/badger-utils'\nimport { parseAttrs } from './attrs.js'\nimport { joinClasses } from './classes.js'\nimport { DASH, DEFAULT_ICON_WIDTH, DEFAULT_ICON_HEIGHT } from '../constants.js'\nimport { transformData } from './transform.js'\n\nconst iconDefault = {\n width: DEFAULT_ICON_WIDTH,\n height: DEFAULT_ICON_HEIGHT,\n}\n\n// An icon can be specified with a uri this:\n// name1-name2-style1-style2.class1.class2?styleOpt1=val1&styleOpt2=val2\n//\n// We want to determine the longest dashed prefix that matches an icon in\n// iconData (e.g. name1-name2), the additional styling options (style1,\n// style2), the CSS classes to add (class1, class2) and additional styling\n// parameters ({ styleOpt1: val1, styleOpt2: val2 })\n\n\n// First split it into dashes (name1, name2, style1, style2), classes\n// (class1, class2) and style options ({ styleOpt1: val1, styleOpt2: val2 })\nexport const splitIconName = uri => {\n const [base, query=''] = uri.split('?')\n const [dash, ...classes] = base.split('.')\n const dashes = dash.split(DASH).filter( d => d.length )\n const style = parseAttrs(query)\n return {\n dashes, classes, style\n }\n}\n\n// Then we look for the long subsection of dashes that correspond to a name\n// in iconData, save it as the name (name1-name2) and leave the remaining\n// items in dashes (style1, style2)\nexport const resolveIconName = (uri, iconData) => {\n const split = splitIconName(uri)\n const { dashes } = split\n\n for (let n = dashes.length; n > 0; n--) {\n const slice = dashes.slice(0, n).join(DASH)\n if (iconData[slice]) {\n split.name = dashes.splice(0, n).join(DASH)\n break\n }\n }\n return split\n}\n\n// Wrapping around that, we extract the icon data and sanitise it.\nexport const resolveIconData = (uri, iconData) => {\n const split = resolveIconName(uri, iconData)\n const { name, classes, style } = split\n\n if (noValue(name)) {\n fail(`Invalid icon name: ${uri} (no icon defined matching any subset of ${split.dashes.join(DASH)})`)\n }\n const data = iconData[name]\n || fail(`Icon not found in data: ${name}`)\n\n const icon = split.icon = isString(data)\n ? {\n ...iconDefault,\n path: data,\n }\n : {\n ...iconDefault,\n ...data\n }\n\n // CSS classes can be merged into a single string\n if (classes.length) {\n icon.className = joinClasses(classes)\n }\n\n // expand any transform defined in the icon data\n if (icon.transform) {\n icon.transform = transformData(icon.transform)\n }\n\n // expand any styles\n if (icon.style) {\n icon.style = isString(icon.style)\n ? parseAttrs(icon.style)\n : { ...icon.style }\n }\n\n // TODO: apply dashes to set style / transforms\n // Tricky because these might be transforms (e.g. -flipX, -rotate:90)\n // or style sets (e.g. -thick, -thin)\n\n if (Object.keys(style).length) {\n // add a style object to the icon if it doesn't already have one and\n // merge in the additional style parameters\n icon.style = Object.assign(icon.style || { }, style)\n }\n\n return split\n}\n\n\n/*\n\nexport const parseSpec = (spec='', icons={}) => {\n let name\n let icon\n while (dashes.length) {\n name = dashes.join('-')\n icon = icons[name]\n if (icon) {\n console.log(` - ${name} is a valid icon name`)\n break\n }\n const mod = dashes.pop()\n const styleMod = pathStyles[mod]\n if (styleMod) {\n console.log(` - ${styleMod} is a valid style modified: `, styleMod)\n styles = { ...styles, ...styleMod }\n continue\n }\n const match = mod.match(/^(.*?)(\\d*)$/)\n console.log(` - transform [${match[1]}] [${match[2]}]`);\n }\n*/","import React, { useState } from 'react'\nimport AlertControls from './Controls.jsx'\nimport AlertHeadline from './Headline.jsx'\nimport AlertContent from './Content.jsx'\nimport AlertIcon from './Icon.jsx'\nimport { Themed } from '@/src/Theme.jsx'\nimport {\n borderClass, classes, radiusClass, shadowClass\n} from '@/src/utils/index.js'\n\nconst Alert = ({\n title,\n headline,\n headIcon,\n type,\n size,\n color,\n stripe,\n border,\n radius,\n shadow,\n className,\n text,\n children,\n onDismiss,\n icon,\n dismissable = false,\n revealable = false,\n revealed = false,\n openIcon,\n closedIcon,\n dismissIcon,\n Headline=AlertHeadline,\n Controls=AlertControls,\n Content=AlertContent,\n Icon=AlertIcon,\n}) => {\n const [isRevealed, setRevealed] = useState(revealable ? revealed : true)\n const [dismissed, setDismissed] = useState(false)\n const cname = classes(\n 'alert', type, size, color, className,\n {\n revealable, dismissable, stripe\n },\n isRevealed ? 'revealed' : null,\n shadowClass(shadow),\n borderClass(border),\n radiusClass(radius)\n )\n const toggle = () => setRevealed( isRevealed => ! isRevealed )\n const dismiss = () => {\n setDismissed(true)\n if (onDismiss) {\n onDismiss()\n }\n }\n const controlProps = {\n dismissable,\n revealable,\n isRevealed,\n dismiss,\n openIcon,\n closedIcon,\n dismissIcon,\n }\n const contentProps = {\n title,\n text,\n children\n }\n const iconProps = {\n ...contentProps,\n icon,\n Content\n }\n const headlineProps = {\n headline,\n headIcon,\n toggle,\n revealable,\n controlProps,\n Controls,\n }\n\n if (dismissed) {\n return null\n }\n\n return (\n <div className={cname}>\n { Boolean(headline) &&\n <Headline {...headlineProps }/>\n }\n { isRevealed && (\n icon\n ? <Icon {...iconProps}/>\n : <Content {...contentProps}/>\n )}\n </div>\n )\n}\n\nexport const Info = Themed(\n props => <Alert {...props} type='info' />,\n 'Info'\n)\nexport const Success = Themed(\n props => <Alert {...props} type='success' />,\n 'Success'\n)\nexport const Warning = Themed(\n props => <Alert {...props} type='warning' />,\n 'Warning'\n)\nexport const Error = Themed(\n props => <Alert {...props} type='error' />,\n 'Error'\n)\n\nAlert.Info = Info\nAlert.Success = Success\nAlert.Warning = Warning\nAlert.Error = Error\n\nexport default Themed(Alert, 'Alert')\n","import React from 'react'\nimport { Themed } from '@/src/Theme.jsx'\nimport { WithIcons } from '../Icon/index.jsx'\nimport { borderClass, classes, radiusClass, shadowClass } from '@/src/utils/classes.js'\n\nconst Button = ({\n type='button',\n size,\n color,\n className,\n disabled,\n bright,\n dark,\n outline,\n bare,\n shaded,\n shadow,\n border,\n radius,\n label,\n tooltip,\n tabIndex=0,\n icon,\n iconClass,\n iconLeft,\n iconLeftClass,\n iconRight,\n iconRightClass,\n text,\n children,\n Content=WithIcons,\n ...props\n}) => {\n // const content = text || children\n const cname = classes(\n size, color, className,\n {\n bright, dark, outline, bare, shaded,\n icon\n },\n shadowClass(shadow),\n borderClass(border),\n radiusClass(radius)\n )\n const bodyProps = {\n icon, iconClass,\n iconLeft, iconLeftClass,\n iconRight, iconRightClass,\n text, children\n }\n return <button\n className={cname}\n aria-label={label}\n tabIndex={tabIndex}\n type={type}\n disabled={disabled}\n aria-disabled={disabled}\n data-tooltip={tooltip}\n {...props}\n >\n <Content\n {...bodyProps}\n />\n </button>\n}\n\nexport default Themed(Button, 'Button')\n","import React from 'react'\nimport DefaultButton from '@/components/Button/Button.jsx'\nimport { Themed } from '@/src/Theme.jsx'\n\nconst Buttons = ({\n buttons,\n children,\n className='buttons',\n buttonClass,\n Button=DefaultButton,\n ...props\n}) =>\n <div className={className}>\n { buttons\n ? buttons.map(\n (button, n) =>\n <Button\n key={n}\n className={buttonClass}\n { ...props }\n { ...button }\n />\n )\n : children\n }\n </div>\n\nexport default Themed(Buttons, 'Buttons')\n","import { useState } from 'react'\n\nexport const VisibleState = ({\n visible=false,\n} = { }) => {\n const [isVisible, setVisible] = useState(visible)\n const show = () => setVisible(true)\n const hide = () => setVisible(false)\n return {\n isVisible,\n setVisible,\n show,\n hide\n }\n}\n\nexport default VisibleState","import React from 'react'\nimport Buttons from '@/components/Buttons/Buttons.jsx'\nimport Visible from '@/state/Visible.jsx'\nimport { Themed } from '@/src/Theme.jsx'\n\nconst Confirm = ({\n initiallyRevealed=false,\n open=initiallyRevealed,\n confirmIcon='check',\n confirmText='Confirm',\n confirmColor='red',\n confirmClass,\n cancelIcon='cross',\n cancelText='Cancel',\n cancelColor='grey',\n cancelClass,\n confirm={\n iconRight: confirmIcon,\n text: confirmText,\n color: confirmColor,\n className: confirmClass\n },\n cancel={\n iconLeft: cancelIcon,\n text: cancelText,\n color: cancelColor,\n className: cancelClass\n },\n // prompt,\n buttonsClass,\n className=buttonsClass,\n buttonClass,\n onClick = () => window.alert('No confirm action defined'),\n ...props\n}) => {\n const { isVisible, hide, show } = Visible({ visible: open })\n const onConfirm = e => {\n e.preventDefault()\n hide()\n onClick()\n }\n\n const confirmProps = {\n iconRight: confirmIcon,\n text: confirmText,\n color: confirmColor,\n className: confirmClass,\n ...confirm,\n onClick: onConfirm,\n }\n\n const cancelProps = {\n iconLeft: cancelIcon,\n text: cancelText,\n color: cancelColor,\n className: cancelClass,\n outline: true,\n ...cancel,\n onClick: hide,\n }\n\n return (\n <Buttons\n className={className}\n buttonClass={buttonClass}\n buttons={\n isVisible\n ? [ cancelProps, confirmProps ]\n : [ { ...props, onClick: show }]\n }\n />\n )\n}\n\nexport default Themed(Confirm, 'Confirm')\n","import React from 'react'\nimport Icon from '@/components/Icon/Icon.jsx'\nimport { Themed } from '@/src/Theme.jsx'\n\nconst ModalClose = ({\n close,\n icon='cross',\n className='close'\n}) =>\n <div className={className} onClick={close}>\n <Icon name={icon}/>\n </div>\n\nexport default Themed(ModalClose, 'ModalClose')","import React from 'react'\nimport { Themed } from '@/src/Theme.jsx'\n\nconst ModalHeader = ({\n title,\n header,\n}) =>\n (title || header)\n ? <header>\n { Boolean(title) &&\n <h3>{title}</h3>\n }\n {header}\n </header>\n : null\n\nexport default Themed(ModalHeader, 'ModalHeader')","import React from 'react'\nimport { Themed } from '@/src/Theme.jsx'\n\nconst ModalFooter = ({\n footer,\n}) =>\n Boolean(footer) &&\n <footer>\n {footer}\n </footer>\n\nexport default Themed(ModalFooter, 'ModalFooter')","import React from 'react'\nimport { Themed } from '@/src/Theme.jsx'\nimport ModalHeader from './Header.jsx'\nimport ModalFooter from './Footer.jsx'\n\nconst ModalContent = ({\n text,\n children,\n Header=ModalHeader,\n Footer=ModalFooter,\n ...props\n}) =>\n <article>\n <Header {...props}/>\n {text || children}\n <Footer {...props}/>\n </article>\n\nexport default Themed(ModalContent, 'ModalContent')","import React, { useRef, useEffect } from 'react'\nimport ModalClose from './Close.jsx'\nimport ModalContent from './Content.jsx'\nimport { Themed } from '@/src/Theme.jsx'\n\nconst Modal = ({\n ref,\n open,\n close,\n className,\n closeClass='close',\n closeIcon='cross',\n Close=ModalClose,\n Content=ModalContent,\n ...props\n}) => {\n ref ||= useRef(null)\n\n useEffect(\n () => {\n const { current: el } = ref\n if (open) {\n el.showModal()\n }\n else {\n el.close()\n }\n },\n [open]\n )\n\n return (\n <dialog\n ref={ref}\n className={className}\n >\n { Boolean(close) &&\n <Close\n close={close}\n icon={closeIcon}\n className={closeClass}\n />\n }\n <Content {...props}/>\n </dialog>\n )\n}\n\nexport default Themed(Modal, 'Modal')","import React from 'react'\nimport Visible from '@/state/Visible.jsx'\nimport Modal from './Modal.jsx'\n\nconst ModalState = ({\n open=false\n} = { }) => {\n const { isVisible, show, hide } = Visible({ visible: open })\n return {\n show,\n hide,\n Modal: props =>\n <Modal\n open={isVisible}\n {...props}\n />\n }\n}\n\nexport default ModalState"],"names":["f","j","d","e","l","a","y","b","c","u","i","r","o","t","n","s","m","h","C","g","A","IconData","addIcon","name","data","addIcons","icons","v","DEFAULT_WIDTH","DEFAULT_HEIGHT","Icon","iconData","props","jsx","IconSVG","getIconData","fail","isString","path","onClick","width","height","style","className","fill","Icon$1","Themed","WithIcons$1","icon","iconClass","iconLeft","iconLeftClass","iconRight","iconRightClass","text","children","jsxs","Fragment","AlertControls$1","dismissable","dismiss","revealable","isRevealed","openIcon","closedIcon","dismissIcon","AlertHeadline$1","headline","headIcon","toggle","controlProps","Controls","AlertControls","AlertContent$1","title","AlertIcon$1","Content","AlertContent","parseAttrs","string","attrs","attr","value","isUndefined","maybeFunction","fn","args","isFunction","joinClasses","classes","hasValue","setKeys","key","inputs","input","isObject","borderClass","border","classTrueInt","shadowClass","shadow","radiusClass","radius","classInt","isInteger","DASH","DEFAULT_ICON_WIDTH","DEFAULT_ICON_HEIGHT","nullTransform","transformFunctions","transform","transformData","target","lcname","iconDefault","splitIconName","uri","base","query","dash","dashes","resolveIconName","split","slice","resolveIconData","noValue","Alert","type","size","color","stripe","onDismiss","revealed","Headline","AlertHeadline","AlertIcon","setRevealed","useState","dismissed","setDismissed","cname","contentProps","iconProps","headlineProps","Info","Success","Warning","Error","Alert$1","DefaultButton","disabled","bright","dark","outline","bare","shaded","label","tooltip","tabIndex","WithIcons","bodyProps","Buttons$1","buttons","buttonClass","Button","button","VisibleState","visible","isVisible","setVisible","Confirm$1","initiallyRevealed","open","confirmIcon","confirmText","confirmColor","confirmClass","cancelIcon","cancelText","cancelColor","cancelClass","confirm","cancel","buttonsClass","hide","show","Visible","confirmProps","cancelProps","Buttons","ModalClose$1","close","ModalHeader$1","header","ModalFooter$1","footer","ModalContent$1","Header","ModalHeader","Footer","ModalFooter","Modal$1","ref","closeClass","closeIcon","Close","ModalClose","ModalContent","useRef","useEffect","el","ModalState","Modal"],"mappings":"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