@pathscale/ui 0.0.85 → 0.0.87

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/index.js CHANGED
@@ -5556,8 +5556,8 @@ const Icon = (props)=>{
5556
5556
  const width = local.width ?? 24;
5557
5557
  const height = local.height ?? 24;
5558
5558
  const name = local.name;
5559
- const sizeClass = ()=>`${name} w-${width / 4} h-${height / 4}`;
5560
- const classes = ()=>twMerge(dist_clsx(local.className ?? local.class, sizeClass()));
5559
+ const sizeClass = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>`${name} w-${width / 4} h-${height / 4}`);
5560
+ const classes = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge(dist_clsx(sizeClass(), local.className ?? local.class)));
5561
5561
  return (()=>{
5562
5562
  var _el$ = Icon_tmpl$();
5563
5563
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
@@ -6345,6 +6345,379 @@ const collapse_Collapse = Object.assign(Collapse, {
6345
6345
  Title: CollapseTitle,
6346
6346
  Content: CollapseContent
6347
6347
  });
6348
+ const breakpoints = [
6349
+ "base",
6350
+ "sm",
6351
+ "md",
6352
+ "lg",
6353
+ "xl"
6354
+ ];
6355
+ function isJSXElement(node) {
6356
+ return "object" == typeof node && null !== node;
6357
+ }
6358
+ function wrapWithElementIfInvalid({ node, wrapper = "div", className = "" }) {
6359
+ null == node || "string" == typeof node || "number" == typeof node || isJSXElement(node);
6360
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.Dynamic, {
6361
+ component: wrapper,
6362
+ class: className,
6363
+ children: node
6364
+ });
6365
+ }
6366
+ function mapResponsiveProp(prop, classMap) {
6367
+ if (void 0 === prop) return [];
6368
+ if ("string" == typeof prop || "boolean" == typeof prop) return [
6369
+ classMap[String(prop)]
6370
+ ];
6371
+ return breakpoints.flatMap((bp)=>{
6372
+ const value = prop[bp];
6373
+ if (void 0 === value) return [];
6374
+ const className = classMap[String(value)];
6375
+ return "base" === bp ? [
6376
+ className
6377
+ ] : [
6378
+ `${bp}:${className}`
6379
+ ];
6380
+ });
6381
+ }
6382
+ function useDesktop(breakpoint = 1024) {
6383
+ const [isDesktop, setIsDesktop] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
6384
+ const checkIfDesktop = ()=>{
6385
+ const width = window.innerWidth;
6386
+ setIsDesktop(width >= breakpoint);
6387
+ };
6388
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onMount)(()=>{
6389
+ checkIfDesktop();
6390
+ window.addEventListener("resize", checkIfDesktop);
6391
+ });
6392
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
6393
+ window.removeEventListener("resize", checkIfDesktop);
6394
+ });
6395
+ return isDesktop;
6396
+ }
6397
+ const directionMap = {
6398
+ row: "flex-row",
6399
+ col: "flex-col",
6400
+ "row-reverse": "flex-row-reverse",
6401
+ "col-reverse": "flex-col-reverse"
6402
+ };
6403
+ const justifyMap = {
6404
+ start: "justify-start",
6405
+ center: "justify-center",
6406
+ end: "justify-end",
6407
+ between: "justify-between",
6408
+ around: "justify-around",
6409
+ evenly: "justify-evenly"
6410
+ };
6411
+ const alignMap = {
6412
+ start: "items-start",
6413
+ center: "items-center",
6414
+ end: "items-end",
6415
+ stretch: "items-stretch",
6416
+ baseline: "items-baseline"
6417
+ };
6418
+ const wrapMap = {
6419
+ wrap: "flex-wrap",
6420
+ nowrap: "flex-nowrap",
6421
+ "wrap-reverse": "flex-wrap-reverse"
6422
+ };
6423
+ const gapMap = {
6424
+ none: "gap-0",
6425
+ sm: "gap-2",
6426
+ md: "gap-4",
6427
+ lg: "gap-6",
6428
+ xl: "gap-8"
6429
+ };
6430
+ const gapXMap = {
6431
+ none: "gap-x-0",
6432
+ sm: "gap-x-2",
6433
+ md: "gap-x-4",
6434
+ lg: "gap-x-6",
6435
+ xl: "gap-x-8"
6436
+ };
6437
+ const gapYMap = {
6438
+ none: "gap-y-0",
6439
+ sm: "gap-y-2",
6440
+ md: "gap-y-4",
6441
+ lg: "gap-y-6",
6442
+ xl: "gap-y-8"
6443
+ };
6444
+ const growMap = {
6445
+ true: "flex-grow",
6446
+ false: "flex-grow-0"
6447
+ };
6448
+ const shrinkMap = {
6449
+ true: "flex-shrink",
6450
+ false: "flex-shrink-0"
6451
+ };
6452
+ const basisMap = {
6453
+ none: "basis-0",
6454
+ sm: "basis-8",
6455
+ md: "basis-16",
6456
+ lg: "basis-24",
6457
+ xl: "basis-32"
6458
+ };
6459
+ const Flex = (props)=>{
6460
+ const [local, rest] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
6461
+ "as",
6462
+ "class",
6463
+ "children",
6464
+ "direction",
6465
+ "justify",
6466
+ "align",
6467
+ "wrap",
6468
+ "gap",
6469
+ "gapX",
6470
+ "gapY",
6471
+ "grow",
6472
+ "shrink",
6473
+ "basis"
6474
+ ]);
6475
+ const tag = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>local.as || "div");
6476
+ const resolvedChildren = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.children)(()=>local.children);
6477
+ const classes = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge(dist_clsx("flex", mapResponsiveProp(local.direction, directionMap), mapResponsiveProp(local.justify, justifyMap), mapResponsiveProp(local.align, alignMap), mapResponsiveProp(local.wrap, wrapMap), mapResponsiveProp(local.gap, gapMap), mapResponsiveProp(local.gapX, gapXMap), mapResponsiveProp(local.gapY, gapYMap), mapResponsiveProp(local.grow, growMap), mapResponsiveProp(local.shrink, shrinkMap), mapResponsiveProp(local.basis, basisMap), local.class)));
6478
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.Dynamic, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)({
6479
+ get component () {
6480
+ return tag();
6481
+ },
6482
+ get ["class"] () {
6483
+ return classes();
6484
+ }
6485
+ }, rest, {
6486
+ get children () {
6487
+ return resolvedChildren();
6488
+ }
6489
+ }));
6490
+ };
6491
+ const flex_Flex = Flex;
6492
+ var Tooltip_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>");
6493
+ const Tooltip = (props)=>{
6494
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
6495
+ "message",
6496
+ "open",
6497
+ "color",
6498
+ "position",
6499
+ "dataTheme",
6500
+ "class",
6501
+ "className",
6502
+ "style"
6503
+ ]);
6504
+ const classes = ()=>twMerge("tooltip", local.class, local.className, clsx({
6505
+ "tooltip-open": local.open,
6506
+ "tooltip-primary": "primary" === local.color,
6507
+ "tooltip-secondary": "secondary" === local.color,
6508
+ "tooltip-accent": "accent" === local.color,
6509
+ "tooltip-info": "info" === local.color,
6510
+ "tooltip-success": "success" === local.color,
6511
+ "tooltip-warning": "warning" === local.color,
6512
+ "tooltip-error": "error" === local.color,
6513
+ "tooltip-top": "top" === local.position,
6514
+ "tooltip-bottom": "bottom" === local.position,
6515
+ "tooltip-left": "left" === local.position,
6516
+ "tooltip-right": "right" === local.position
6517
+ }));
6518
+ return (()=>{
6519
+ var _el$ = Tooltip_tmpl$();
6520
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
6521
+ role: "tooltip",
6522
+ get ["data-theme"] () {
6523
+ return local.dataTheme;
6524
+ },
6525
+ get ["data-tip"] () {
6526
+ return local.message;
6527
+ },
6528
+ get ["class"] () {
6529
+ return classes();
6530
+ },
6531
+ get style () {
6532
+ return local.style;
6533
+ }
6534
+ }), false, true);
6535
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>props.children);
6536
+ return _el$;
6537
+ })();
6538
+ };
6539
+ const tooltip_Tooltip = Tooltip;
6540
+ var ConnectionStatus_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="text-xs text-base-content/70">'), ConnectionStatus_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="text-xs font-mono text-base-content/70">');
6541
+ const ConnectionStatus = (props)=>{
6542
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
6543
+ "state",
6544
+ "errorMessage",
6545
+ "serviceName",
6546
+ "url",
6547
+ "isCustomUrl",
6548
+ "showDetails",
6549
+ "showUrl",
6550
+ "showReconnectButton",
6551
+ "onReconnect",
6552
+ "class",
6553
+ "className",
6554
+ "style",
6555
+ "dataTheme"
6556
+ ]);
6557
+ const containerClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge(local.class, local.className));
6558
+ const getBadgeColor = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
6559
+ switch(local.state){
6560
+ case "connected":
6561
+ return "success";
6562
+ case "connecting":
6563
+ return "warning";
6564
+ case "error":
6565
+ return "error";
6566
+ default:
6567
+ return "neutral";
6568
+ }
6569
+ });
6570
+ const getStatusText = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
6571
+ switch(local.state){
6572
+ case "connected":
6573
+ return "Connected";
6574
+ case "connecting":
6575
+ return "Connecting...";
6576
+ case "error":
6577
+ return local.errorMessage ? `Error: ${local.errorMessage}` : "Error";
6578
+ default:
6579
+ return "Disconnected";
6580
+ }
6581
+ });
6582
+ const formatUrl = (url)=>{
6583
+ if (!url) return "";
6584
+ try {
6585
+ const urlObj = new URL(url);
6586
+ return urlObj.hostname + (urlObj.port ? `:${urlObj.port}` : "");
6587
+ } catch {
6588
+ return url;
6589
+ }
6590
+ };
6591
+ const getTooltipText = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
6592
+ let tooltip = `Status: ${getStatusText()}`;
6593
+ if (local.url) {
6594
+ tooltip += `\nURL: ${local.url}`;
6595
+ if (local.isCustomUrl) tooltip += " (Custom)";
6596
+ }
6597
+ if (local.serviceName) tooltip += `\nService: ${local.serviceName}`;
6598
+ return tooltip;
6599
+ });
6600
+ const handleReconnect = async ()=>{
6601
+ if (local.onReconnect) await local.onReconnect();
6602
+ };
6603
+ const shouldShowReconnectButton = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>local.showReconnectButton && ("disconnected" === local.state || "error" === local.state));
6604
+ const displayUrl = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>local.url ? formatUrl(local.url) : "");
6605
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)({
6606
+ align: "center",
6607
+ gap: "sm",
6608
+ get ["class"] () {
6609
+ return containerClasses();
6610
+ },
6611
+ get style () {
6612
+ return local.style;
6613
+ },
6614
+ get ["data-theme"] () {
6615
+ return local.dataTheme;
6616
+ }
6617
+ }, others, {
6618
+ get children () {
6619
+ return [
6620
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(tooltip_Tooltip, {
6621
+ position: "bottom",
6622
+ get message () {
6623
+ return getTooltipText();
6624
+ },
6625
+ get children () {
6626
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
6627
+ align: "center",
6628
+ gap: "sm",
6629
+ get children () {
6630
+ return [
6631
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
6632
+ get when () {
6633
+ return local.showDetails;
6634
+ },
6635
+ get children () {
6636
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
6637
+ direction: "col",
6638
+ align: "start",
6639
+ gap: "sm",
6640
+ get children () {
6641
+ return [
6642
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(Badge, {
6643
+ get color () {
6644
+ return getBadgeColor();
6645
+ },
6646
+ size: "sm",
6647
+ get children () {
6648
+ return getStatusText();
6649
+ }
6650
+ }),
6651
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
6652
+ get when () {
6653
+ return local.serviceName;
6654
+ },
6655
+ get children () {
6656
+ var _el$ = ConnectionStatus_tmpl$();
6657
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.serviceName);
6658
+ return _el$;
6659
+ }
6660
+ }),
6661
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
6662
+ get when () {
6663
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.showUrl)() && displayUrl();
6664
+ },
6665
+ get children () {
6666
+ var _el$2 = ConnectionStatus_tmpl$2();
6667
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, displayUrl);
6668
+ return _el$2;
6669
+ }
6670
+ })
6671
+ ];
6672
+ }
6673
+ });
6674
+ }
6675
+ }),
6676
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
6677
+ get when () {
6678
+ return !local.showDetails;
6679
+ },
6680
+ get children () {
6681
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(Badge, {
6682
+ get color () {
6683
+ return getBadgeColor();
6684
+ },
6685
+ size: "sm",
6686
+ get children () {
6687
+ return getStatusText();
6688
+ }
6689
+ });
6690
+ }
6691
+ })
6692
+ ];
6693
+ }
6694
+ });
6695
+ }
6696
+ }),
6697
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
6698
+ get when () {
6699
+ return shouldShowReconnectButton();
6700
+ },
6701
+ get children () {
6702
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
6703
+ onClick: handleReconnect,
6704
+ variant: "outline",
6705
+ size: "sm",
6706
+ get disabled () {
6707
+ return "connecting" === local.state;
6708
+ },
6709
+ get loading () {
6710
+ return "connecting" === local.state;
6711
+ },
6712
+ children: "Reconnect"
6713
+ });
6714
+ }
6715
+ })
6716
+ ];
6717
+ }
6718
+ }));
6719
+ };
6720
+ const connectionstatus_ConnectionStatus = ConnectionStatus;
6348
6721
  var CopyButton_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<button type=button>");
6349
6722
  const CopyButton_CopyButton = (props)=>{
6350
6723
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -6870,7 +7243,7 @@ const DropdownDetails = Object.assign(Details, {
6870
7243
  Toggle: DropdownToggle_Summary
6871
7244
  });
6872
7245
  var DropdownItem_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<li role=menuitem>"), DropdownItem_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<a>"), DropdownItem_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<button>");
6873
- const DropdownItem_DropdownItem = (props)=>{
7246
+ const DropdownItem = (props)=>{
6874
7247
  const dropdownContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(DropdownContext);
6875
7248
  const defaultProps = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.mergeProps)({
6876
7249
  closeOnClick: true
@@ -6912,7 +7285,7 @@ const DropdownItem_DropdownItem = (props)=>{
6912
7285
  return _el$;
6913
7286
  })();
6914
7287
  };
6915
- const DropdownItem = DropdownItem_DropdownItem;
7288
+ const dropdown_DropdownItem = DropdownItem;
6916
7289
  var DropdownMenu_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<ul>");
6917
7290
  const DropdownMenu = (props)=>{
6918
7291
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -7109,335 +7482,600 @@ const Dropdown = (props)=>{
7109
7482
  }
7110
7483
  });
7111
7484
  };
7112
- const dropdown_Dropdown = Object.assign(Dropdown, {
7113
- Details: DropdownDetails,
7114
- Toggle: dropdown_DropdownToggle,
7115
- Menu: dropdown_DropdownMenu,
7116
- Item: DropdownItem
7485
+ const dropdown_Dropdown = Object.assign(Dropdown, {
7486
+ Details: DropdownDetails,
7487
+ Toggle: dropdown_DropdownToggle,
7488
+ Menu: dropdown_DropdownMenu,
7489
+ Item: dropdown_DropdownItem
7490
+ });
7491
+ const dropdown = dropdown_Dropdown;
7492
+ var FileInput_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<input>");
7493
+ const FileInput_FileInput = (props)=>{
7494
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7495
+ "size",
7496
+ "color",
7497
+ "bordered",
7498
+ "dataTheme",
7499
+ "class",
7500
+ "className",
7501
+ "style"
7502
+ ]);
7503
+ const classes = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("file-input", local.class, local.className, clsx({
7504
+ "file-input-xl": "xl" === local.size,
7505
+ "file-input-lg": "lg" === local.size,
7506
+ "file-input-md": "md" === local.size,
7507
+ "file-input-sm": "sm" === local.size,
7508
+ "file-input-xs": "xs" === local.size,
7509
+ "file-input-primary": "primary" === local.color,
7510
+ "file-input-secondary": "secondary" === local.color,
7511
+ "file-input-accent": "accent" === local.color,
7512
+ "file-input-ghost": "ghost" === local.color,
7513
+ "file-input-info": "info" === local.color,
7514
+ "file-input-success": "success" === local.color,
7515
+ "file-input-warning": "warning" === local.color,
7516
+ "file-input-error": "error" === local.color,
7517
+ "file-input-bordered": local.bordered
7518
+ })));
7519
+ return (()=>{
7520
+ var _el$ = FileInput_tmpl$();
7521
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7522
+ type: "file",
7523
+ get ["data-theme"] () {
7524
+ return local.dataTheme;
7525
+ },
7526
+ get ["class"] () {
7527
+ return classes();
7528
+ },
7529
+ get style () {
7530
+ return local.style;
7531
+ }
7532
+ }), false, false);
7533
+ return _el$;
7534
+ })();
7535
+ };
7536
+ const FileInput = FileInput_FileInput;
7537
+ var FooterTitle_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<h6>");
7538
+ const FooterTitle = (props)=>{
7539
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7540
+ "children",
7541
+ "class",
7542
+ "className",
7543
+ "dataTheme"
7544
+ ]);
7545
+ const classes = ()=>twMerge("footer-title", local.class, local.className);
7546
+ return (()=>{
7547
+ var _el$ = FooterTitle_tmpl$();
7548
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7549
+ get ["data-theme"] () {
7550
+ return local.dataTheme;
7551
+ },
7552
+ get ["class"] () {
7553
+ return classes();
7554
+ }
7555
+ }), false, true);
7556
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
7557
+ return _el$;
7558
+ })();
7559
+ };
7560
+ var Footer_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<footer>");
7561
+ const Footer = (props)=>{
7562
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7563
+ "children",
7564
+ "class",
7565
+ "className",
7566
+ "dataTheme",
7567
+ "center",
7568
+ "horizontal",
7569
+ "vertical"
7570
+ ]);
7571
+ const classes = ()=>twMerge("footer", local.class, local.className, dist_clsx({
7572
+ "footer-center": local.center,
7573
+ "footer-horizontal": local.horizontal,
7574
+ "footer-vertical": local.vertical
7575
+ }));
7576
+ return (()=>{
7577
+ var _el$ = Footer_tmpl$();
7578
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7579
+ get ["data-theme"] () {
7580
+ return local.dataTheme;
7581
+ },
7582
+ get ["class"] () {
7583
+ return classes();
7584
+ }
7585
+ }), false, true);
7586
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
7587
+ return _el$;
7588
+ })();
7589
+ };
7590
+ const FooterNamespaces = Object.assign(Footer, {
7591
+ Title: FooterTitle
7117
7592
  });
7118
- const dropdown = dropdown_Dropdown;
7119
- var FileInput_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<input>");
7120
- const FileInput_FileInput = (props)=>{
7593
+ const footer_Footer = FooterNamespaces;
7594
+ var Label_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<label><span class="label-text cursor-pointer">');
7595
+ const Label = (props)=>{
7121
7596
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7122
- "size",
7123
- "color",
7124
- "bordered",
7597
+ "children",
7598
+ "title",
7125
7599
  "dataTheme",
7126
7600
  "class",
7127
- "className",
7128
- "style"
7601
+ "className"
7129
7602
  ]);
7130
- const classes = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("file-input", local.class, local.className, clsx({
7131
- "file-input-xl": "xl" === local.size,
7132
- "file-input-lg": "lg" === local.size,
7133
- "file-input-md": "md" === local.size,
7134
- "file-input-sm": "sm" === local.size,
7135
- "file-input-xs": "xs" === local.size,
7136
- "file-input-primary": "primary" === local.color,
7137
- "file-input-secondary": "secondary" === local.color,
7138
- "file-input-accent": "accent" === local.color,
7139
- "file-input-ghost": "ghost" === local.color,
7140
- "file-input-info": "info" === local.color,
7141
- "file-input-success": "success" === local.color,
7142
- "file-input-warning": "warning" === local.color,
7143
- "file-input-error": "error" === local.color,
7144
- "file-input-bordered": local.bordered
7145
- })));
7603
+ const resolvedChildren = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.children)(()=>local.children);
7604
+ const classes = ()=>twMerge("label", local.class, local.className);
7146
7605
  return (()=>{
7147
- var _el$ = FileInput_tmpl$();
7606
+ var _el$ = Label_tmpl$(), _el$2 = _el$.firstChild;
7148
7607
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7149
- type: "file",
7150
7608
  get ["data-theme"] () {
7151
7609
  return local.dataTheme;
7152
7610
  },
7153
7611
  get ["class"] () {
7154
7612
  return classes();
7155
- },
7156
- get style () {
7157
- return local.style;
7158
7613
  }
7159
- }), false, false);
7614
+ }), false, true);
7615
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>local.title);
7616
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, resolvedChildren, null);
7160
7617
  return _el$;
7161
7618
  })();
7162
7619
  };
7163
- const FileInput = FileInput_FileInput;
7164
- const breakpoints = [
7165
- "base",
7166
- "sm",
7167
- "md",
7168
- "lg",
7169
- "xl"
7170
- ];
7171
- function isJSXElement(node) {
7172
- return "object" == typeof node && null !== node;
7173
- }
7174
- function wrapWithElementIfInvalid({ node, wrapper = "div", className = "" }) {
7175
- null == node || "string" == typeof node || "number" == typeof node || isJSXElement(node);
7176
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.Dynamic, {
7177
- component: wrapper,
7178
- class: className,
7179
- children: node
7180
- });
7181
- }
7182
- function mapResponsiveProp(prop, classMap) {
7183
- if (void 0 === prop) return [];
7184
- if ("string" == typeof prop || "boolean" == typeof prop) return [
7185
- classMap[String(prop)]
7186
- ];
7187
- return breakpoints.flatMap((bp)=>{
7188
- const value = prop[bp];
7189
- if (void 0 === value) return [];
7190
- const className = classMap[String(value)];
7191
- return "base" === bp ? [
7192
- className
7193
- ] : [
7194
- `${bp}:${className}`
7195
- ];
7196
- });
7197
- }
7198
- function useDesktop(breakpoint = 1024) {
7199
- const [isDesktop, setIsDesktop] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
7200
- const checkIfDesktop = ()=>{
7201
- const width = window.innerWidth;
7202
- setIsDesktop(width >= breakpoint);
7203
- };
7204
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onMount)(()=>{
7205
- checkIfDesktop();
7206
- window.addEventListener("resize", checkIfDesktop);
7207
- });
7208
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
7209
- window.removeEventListener("resize", checkIfDesktop);
7210
- });
7211
- return isDesktop;
7620
+ const form_Label = Label;
7621
+ const FormValidationContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
7622
+ function useFormValidation() {
7623
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(FormValidationContext);
7624
+ if (!context) throw new Error("useFormValidation must be used within a ValidatedForm");
7625
+ return context;
7212
7626
  }
7213
- const directionMap = {
7214
- row: "flex-row",
7215
- col: "flex-col",
7216
- "row-reverse": "flex-row-reverse",
7217
- "col-reverse": "flex-col-reverse"
7218
- };
7219
- const justifyMap = {
7220
- start: "justify-start",
7221
- center: "justify-center",
7222
- end: "justify-end",
7223
- between: "justify-between",
7224
- around: "justify-around",
7225
- evenly: "justify-evenly"
7226
- };
7227
- const alignMap = {
7228
- start: "items-start",
7229
- center: "items-center",
7230
- end: "items-end",
7231
- stretch: "items-stretch",
7232
- baseline: "items-baseline"
7233
- };
7234
- const wrapMap = {
7235
- wrap: "flex-wrap",
7236
- nowrap: "flex-nowrap",
7237
- "wrap-reverse": "flex-wrap-reverse"
7238
- };
7239
- const gapMap = {
7240
- none: "gap-0",
7241
- sm: "gap-2",
7242
- md: "gap-4",
7243
- lg: "gap-6",
7244
- xl: "gap-8"
7245
- };
7246
- const gapXMap = {
7247
- none: "gap-x-0",
7248
- sm: "gap-x-2",
7249
- md: "gap-x-4",
7250
- lg: "gap-x-6",
7251
- xl: "gap-x-8"
7252
- };
7253
- const gapYMap = {
7254
- none: "gap-y-0",
7255
- sm: "gap-y-2",
7256
- md: "gap-y-4",
7257
- lg: "gap-y-6",
7258
- xl: "gap-y-8"
7259
- };
7260
- const growMap = {
7261
- true: "flex-grow",
7262
- false: "flex-grow-0"
7263
- };
7264
- const shrinkMap = {
7265
- true: "flex-shrink",
7266
- false: "flex-shrink-0"
7267
- };
7268
- const basisMap = {
7269
- none: "basis-0",
7270
- sm: "basis-8",
7271
- md: "basis-16",
7272
- lg: "basis-24",
7273
- xl: "basis-32"
7274
- };
7275
- const Flex = (props)=>{
7276
- const [local, rest] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7277
- "as",
7278
- "class",
7627
+ function ValidatedForm(props) {
7628
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7279
7629
  "children",
7280
- "direction",
7281
- "justify",
7282
- "align",
7283
- "wrap",
7284
- "gap",
7285
- "gapX",
7286
- "gapY",
7287
- "grow",
7288
- "shrink",
7289
- "basis"
7630
+ "schema",
7631
+ "onSubmit",
7632
+ "initialValues"
7290
7633
  ]);
7291
- const tag = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>local.as || "div");
7292
- const resolvedChildren = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.children)(()=>local.children);
7293
- const classes = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge(dist_clsx("flex", mapResponsiveProp(local.direction, directionMap), mapResponsiveProp(local.justify, justifyMap), mapResponsiveProp(local.align, alignMap), mapResponsiveProp(local.wrap, wrapMap), mapResponsiveProp(local.gap, gapMap), mapResponsiveProp(local.gapX, gapXMap), mapResponsiveProp(local.gapY, gapYMap), mapResponsiveProp(local.grow, growMap), mapResponsiveProp(local.shrink, shrinkMap), mapResponsiveProp(local.basis, basisMap), local.class)));
7294
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.Dynamic, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)({
7295
- get component () {
7296
- return tag();
7634
+ const { form, errors, touched, data, isValid, isSubmitting, setData, setErrors, setWarnings, setTouched, reset } = (0, __WEBPACK_EXTERNAL_MODULE__felte_solid_6a709b1d__.createForm)({
7635
+ initialValues: local.initialValues,
7636
+ extend: [
7637
+ (0, __WEBPACK_EXTERNAL_MODULE__felte_validator_zod_bb07151a__.validator)({
7638
+ schema: local.schema
7639
+ })
7640
+ ],
7641
+ onSubmit: local.onSubmit
7642
+ });
7643
+ const contextValue = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>({
7644
+ errors,
7645
+ touched,
7646
+ data,
7647
+ isValid,
7648
+ isSubmitting,
7649
+ setData,
7650
+ setErrors,
7651
+ setWarnings,
7652
+ setTouched,
7653
+ reset
7654
+ }));
7655
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(FormValidationContext.Provider, {
7656
+ get value () {
7657
+ return contextValue();
7297
7658
  },
7298
- get ["class"] () {
7299
- return classes();
7300
- }
7301
- }, rest, {
7302
7659
  get children () {
7303
- return resolvedChildren();
7660
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(form_Form, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7661
+ ref: form,
7662
+ get children () {
7663
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"function" == typeof local.children)() ? local.children() : local.children;
7664
+ }
7665
+ }));
7304
7666
  }
7305
- }));
7667
+ });
7668
+ }
7669
+ const form_ValidatedForm = ValidatedForm;
7670
+ var Input_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span>"), Input_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<label><input>");
7671
+ const Input = (props)=>{
7672
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7673
+ "size",
7674
+ "color",
7675
+ "variant",
7676
+ "fullWidth",
7677
+ "dataTheme",
7678
+ "class",
7679
+ "className",
7680
+ "style",
7681
+ "leftIcon",
7682
+ "rightIcon",
7683
+ "placeholder",
7684
+ "type",
7685
+ "ref",
7686
+ "aria-label",
7687
+ "aria-describedby",
7688
+ "aria-invalid",
7689
+ "aria-required"
7690
+ ]);
7691
+ const [passwordVisible, setPasswordVisible] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
7692
+ const inputType = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
7693
+ if ("password" === local.type) return passwordVisible() ? "text" : "password";
7694
+ return local.type;
7695
+ });
7696
+ const colorFocusMap = {
7697
+ primary: "focus-within:border-primary",
7698
+ success: "focus-within:border-success",
7699
+ warning: "focus-within:border-warning",
7700
+ error: "focus-within:border-error",
7701
+ info: "focus-within:border-info",
7702
+ default: "focus-within:border-base-content"
7703
+ };
7704
+ const labelClasses = ()=>twMerge("input", "items-center gap-2 focus-within:outline-none", local.class, local.className, colorFocusMap[local.color || "default"], clsx({
7705
+ "input-bordered": "bordered" === local.variant || !local.variant,
7706
+ "input-ghost": "ghost" === local.variant || "ghost" === local.color,
7707
+ "w-full": false !== local.fullWidth,
7708
+ "input-xl": "xl" === local.size,
7709
+ "input-lg": "lg" === local.size,
7710
+ "input-md": "md" === local.size,
7711
+ "input-sm": "sm" === local.size,
7712
+ "input-xs": "xs" === local.size,
7713
+ "input-primary": "primary" === local.color,
7714
+ "input-secondary": "secondary" === local.color,
7715
+ "input-accent": "accent" === local.color,
7716
+ "input-info": "info" === local.color,
7717
+ "input-success": "success" === local.color,
7718
+ "input-warning": "warning" === local.color,
7719
+ "input-error": "error" === local.color
7720
+ }));
7721
+ const inputClasses = ()=>"grow bg-transparent focus:outline-none";
7722
+ return (()=>{
7723
+ var _el$ = Input_tmpl$2(), _el$2 = _el$.firstChild;
7724
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
7725
+ get when () {
7726
+ return local.leftIcon;
7727
+ },
7728
+ get children () {
7729
+ return local.leftIcon;
7730
+ }
7731
+ }), _el$2);
7732
+ var _ref$ = local.ref;
7733
+ "function" == typeof _ref$ ? (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)(_ref$, _el$2) : local.ref = _el$2;
7734
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7735
+ get type () {
7736
+ return inputType();
7737
+ },
7738
+ get ["aria-label"] () {
7739
+ return local["aria-label"];
7740
+ },
7741
+ get ["aria-describedby"] () {
7742
+ return local["aria-describedby"];
7743
+ },
7744
+ get ["aria-invalid"] () {
7745
+ return local["aria-invalid"];
7746
+ },
7747
+ get ["aria-required"] () {
7748
+ return local["aria-required"];
7749
+ },
7750
+ get placeholder () {
7751
+ return local["placeholder"];
7752
+ },
7753
+ get style () {
7754
+ return local.style;
7755
+ },
7756
+ get ["class"] () {
7757
+ return inputClasses();
7758
+ }
7759
+ }), false, false);
7760
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
7761
+ get when () {
7762
+ return local.rightIcon;
7763
+ },
7764
+ get children () {
7765
+ var _el$3 = Input_tmpl$();
7766
+ _el$3.$$click = ()=>setPasswordVisible(!passwordVisible());
7767
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>local.rightIcon);
7768
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)((_p$)=>{
7769
+ var _v$ = "password" === local.type ? "cursor-pointer" : "", _v$2 = "password" === local.type ? "button" : void 0, _v$3 = "password" === local.type ? passwordVisible() ? "Hide password" : "Show password" : void 0, _v$4 = "password" === local.type ? 0 : void 0;
7770
+ _v$ !== _p$.e && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$3, _p$.e = _v$);
7771
+ _v$2 !== _p$.t && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "role", _p$.t = _v$2);
7772
+ _v$3 !== _p$.a && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "aria-label", _p$.a = _v$3);
7773
+ _v$4 !== _p$.o && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "tabindex", _p$.o = _v$4);
7774
+ return _p$;
7775
+ }, {
7776
+ e: void 0,
7777
+ t: void 0,
7778
+ a: void 0,
7779
+ o: void 0
7780
+ });
7781
+ return _el$3;
7782
+ }
7783
+ }), null);
7784
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)((_p$)=>{
7785
+ var _v$5 = labelClasses(), _v$6 = local.dataTheme;
7786
+ _v$5 !== _p$.e && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$, _p$.e = _v$5);
7787
+ _v$6 !== _p$.t && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$, "data-theme", _p$.t = _v$6);
7788
+ return _p$;
7789
+ }, {
7790
+ e: void 0,
7791
+ t: void 0
7792
+ });
7793
+ return _el$;
7794
+ })();
7306
7795
  };
7307
- const flex_Flex = Flex;
7308
- var FooterTitle_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<h6>");
7309
- const FooterTitle = (props)=>{
7310
- const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7311
- "children",
7796
+ const input_Input = Input;
7797
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
7798
+ "click"
7799
+ ]);
7800
+ const input = input_Input;
7801
+ var FormField_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<p>"), FormField_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), FormField_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="text-error ml-1">*');
7802
+ const FormField = (props)=>{
7803
+ const { errors, touched } = useFormValidation();
7804
+ const [local, inputProps] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7805
+ "label",
7806
+ "required",
7807
+ "labelClass",
7808
+ "errorClass",
7809
+ "containerClass",
7810
+ "description",
7811
+ "descriptionClass",
7312
7812
  "class",
7313
- "className",
7314
- "dataTheme"
7813
+ "className"
7315
7814
  ]);
7316
- const classes = ()=>twMerge("footer-title", local.class, local.className);
7815
+ const containerClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("flex flex-col gap-2", local.containerClass));
7816
+ const descriptionClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("text-sm text-base-content/70", local.descriptionClass));
7817
+ const errorClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("text-error text-sm", local.errorClass));
7818
+ const inputClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge(local.class, local.className));
7819
+ const hasError = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>touched(props.name) && !!errors(props.name));
7317
7820
  return (()=>{
7318
- var _el$ = FooterTitle_tmpl$();
7319
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7320
- get ["data-theme"] () {
7321
- return local.dataTheme;
7821
+ var _el$ = FormField_tmpl$2();
7822
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(form_Form.Label, {
7823
+ get title () {
7824
+ return local.label;
7322
7825
  },
7323
7826
  get ["class"] () {
7324
- return classes();
7827
+ return local.labelClass;
7828
+ },
7829
+ get children () {
7830
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.required)() && FormField_tmpl$3();
7325
7831
  }
7326
- }), false, true);
7327
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
7832
+ }), null);
7833
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (()=>{
7834
+ var _c$ = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.description);
7835
+ return ()=>_c$() && (()=>{
7836
+ var _el$4 = FormField_tmpl$();
7837
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>local.description);
7838
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$4, descriptionClasses()));
7839
+ return _el$4;
7840
+ })();
7841
+ })(), null);
7842
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(input, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)({
7843
+ get id () {
7844
+ return props.name;
7845
+ },
7846
+ get ["aria-invalid"] () {
7847
+ return hasError();
7848
+ },
7849
+ get ["aria-required"] () {
7850
+ return local.required;
7851
+ },
7852
+ get ["class"] () {
7853
+ return inputClasses();
7854
+ }
7855
+ }, inputProps)), null);
7856
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
7857
+ get when () {
7858
+ return hasError();
7859
+ },
7860
+ get children () {
7861
+ var _el$2 = FormField_tmpl$();
7862
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>errors(props.name));
7863
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$2, errorClasses()));
7864
+ return _el$2;
7865
+ }
7866
+ }), null);
7867
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$, containerClasses()));
7328
7868
  return _el$;
7329
7869
  })();
7330
7870
  };
7331
- var Footer_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<footer>");
7332
- const Footer = (props)=>{
7333
- const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7334
- "children",
7871
+ const form_FormField = FormField;
7872
+ var PasswordField_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<p>"), PasswordField_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), PasswordField_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="text-error ml-1">*'), PasswordField_tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span class=cursor-pointer role=button>");
7873
+ const PasswordField = (props)=>{
7874
+ const [showPassword, setShowPassword] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
7875
+ const { errors, touched } = useFormValidation();
7876
+ const [local, inputProps] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7877
+ "label",
7878
+ "required",
7879
+ "labelClass",
7880
+ "errorClass",
7881
+ "containerClass",
7882
+ "description",
7883
+ "descriptionClass",
7884
+ "showPasswordIcon",
7885
+ "hidePasswordIcon",
7335
7886
  "class",
7336
- "className",
7337
- "dataTheme",
7338
- "center",
7339
- "horizontal",
7340
- "vertical"
7887
+ "className"
7341
7888
  ]);
7342
- const classes = ()=>twMerge("footer", local.class, local.className, dist_clsx({
7343
- "footer-center": local.center,
7344
- "footer-horizontal": local.horizontal,
7345
- "footer-vertical": local.vertical
7346
- }));
7889
+ const togglePassword = ()=>setShowPassword(!showPassword());
7890
+ const containerClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("flex flex-col gap-2", local.containerClass));
7891
+ const descriptionClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("text-sm text-base-content/70", local.descriptionClass));
7892
+ const errorClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("text-error text-sm", local.errorClass));
7893
+ const inputClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge(local.class, local.className));
7894
+ const hasError = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>touched(props.name) && !!errors(props.name));
7895
+ const passwordIcon = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
7896
+ if (showPassword()) return local.hidePasswordIcon || (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(icon_Icon, {
7897
+ name: "icon-[mdi-light--eye-off]",
7898
+ width: 20,
7899
+ height: 20
7900
+ });
7901
+ return local.showPasswordIcon || (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(icon_Icon, {
7902
+ name: "icon-[mdi-light--eye]",
7903
+ width: 20,
7904
+ height: 20
7905
+ });
7906
+ });
7347
7907
  return (()=>{
7348
- var _el$ = Footer_tmpl$();
7349
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7350
- get ["data-theme"] () {
7351
- return local.dataTheme;
7908
+ var _el$ = PasswordField_tmpl$2();
7909
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (()=>{
7910
+ var _c$ = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.label);
7911
+ return ()=>_c$() && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(form_Form.Label, {
7912
+ get title () {
7913
+ return local.label;
7914
+ },
7915
+ get ["class"] () {
7916
+ return local.labelClass;
7917
+ },
7918
+ get children () {
7919
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.required)() && PasswordField_tmpl$3();
7920
+ }
7921
+ });
7922
+ })(), null);
7923
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (()=>{
7924
+ var _c$2 = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.description);
7925
+ return ()=>_c$2() && (()=>{
7926
+ var _el$4 = PasswordField_tmpl$();
7927
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>local.description);
7928
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$4, descriptionClasses()));
7929
+ return _el$4;
7930
+ })();
7931
+ })(), null);
7932
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(input, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)({
7933
+ get id () {
7934
+ return props.name;
7935
+ },
7936
+ get type () {
7937
+ return showPassword() ? "text" : "password";
7938
+ },
7939
+ get ["aria-invalid"] () {
7940
+ return hasError();
7941
+ },
7942
+ get ["aria-required"] () {
7943
+ return local.required;
7352
7944
  },
7353
7945
  get ["class"] () {
7354
- return classes();
7946
+ return inputClasses();
7947
+ },
7948
+ get rightIcon () {
7949
+ return (()=>{
7950
+ var _el$5 = PasswordField_tmpl$4();
7951
+ _el$5.$$click = togglePassword;
7952
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$5, passwordIcon);
7953
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$5, "aria-label", showPassword() ? "Hide password" : "Show password"));
7954
+ return _el$5;
7955
+ })();
7355
7956
  }
7356
- }), false, true);
7357
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
7957
+ }, inputProps)), null);
7958
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
7959
+ get when () {
7960
+ return hasError();
7961
+ },
7962
+ get children () {
7963
+ var _el$2 = PasswordField_tmpl$();
7964
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>errors(props.name));
7965
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$2, errorClasses()));
7966
+ return _el$2;
7967
+ }
7968
+ }), null);
7969
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$, containerClasses()));
7358
7970
  return _el$;
7359
7971
  })();
7360
7972
  };
7361
- const FooterNamespaces = Object.assign(Footer, {
7362
- Title: FooterTitle
7363
- });
7364
- const footer_Footer = FooterNamespaces;
7365
- var Label_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<label><span class="label-text cursor-pointer">');
7366
- const Label = (props)=>{
7367
- const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7368
- "children",
7369
- "title",
7370
- "dataTheme",
7973
+ const form_PasswordField = PasswordField;
7974
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
7975
+ "click"
7976
+ ]);
7977
+ var NumberField_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<p>"), NumberField_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), NumberField_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="text-error ml-1">*');
7978
+ const NumberField = (props)=>{
7979
+ const { errors, touched } = useFormValidation();
7980
+ const [local, inputProps] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7981
+ "label",
7982
+ "required",
7983
+ "labelClass",
7984
+ "errorClass",
7985
+ "containerClass",
7986
+ "description",
7987
+ "descriptionClass",
7988
+ "min",
7989
+ "max",
7990
+ "step",
7991
+ "allowDecimals",
7992
+ "formatter",
7371
7993
  "class",
7372
- "className"
7994
+ "className",
7995
+ "onInput"
7373
7996
  ]);
7374
- const resolvedChildren = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.children)(()=>local.children);
7375
- const classes = ()=>twMerge("label", local.class, local.className);
7997
+ const containerClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("flex flex-col gap-2", local.containerClass));
7998
+ const descriptionClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("text-sm text-base-content/70", local.descriptionClass));
7999
+ const errorClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge("text-error text-sm", local.errorClass));
8000
+ const inputClasses = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>twMerge(local.class, local.className));
8001
+ const hasError = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>touched(props.name) && !!errors(props.name));
8002
+ const stepValue = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>local.step || (false !== local.allowDecimals ? "any" : 1));
8003
+ const handleInput = (event)=>{
8004
+ const target = event.target;
8005
+ let value = target.value;
8006
+ if (false === local.allowDecimals && value.includes(".")) {
8007
+ value = value.replace(/\./g, "");
8008
+ target.value = value;
8009
+ }
8010
+ if (local.formatter) target.value = local.formatter(value);
8011
+ if ("function" == typeof local.onInput) local.onInput(event);
8012
+ };
7376
8013
  return (()=>{
7377
- var _el$ = Label_tmpl$(), _el$2 = _el$.firstChild;
7378
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7379
- get ["data-theme"] () {
7380
- return local.dataTheme;
8014
+ var _el$ = NumberField_tmpl$2();
8015
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (()=>{
8016
+ var _c$ = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.label);
8017
+ return ()=>_c$() && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(form_Form.Label, {
8018
+ get title () {
8019
+ return local.label;
8020
+ },
8021
+ get ["class"] () {
8022
+ return local.labelClass;
8023
+ },
8024
+ get children () {
8025
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.required)() && NumberField_tmpl$3();
8026
+ }
8027
+ });
8028
+ })(), null);
8029
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (()=>{
8030
+ var _c$2 = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.description);
8031
+ return ()=>_c$2() && (()=>{
8032
+ var _el$4 = NumberField_tmpl$();
8033
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>local.description);
8034
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$4, descriptionClasses()));
8035
+ return _el$4;
8036
+ })();
8037
+ })(), null);
8038
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(input, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)({
8039
+ get id () {
8040
+ return props.name;
8041
+ },
8042
+ type: "number",
8043
+ get min () {
8044
+ return local.min;
8045
+ },
8046
+ get max () {
8047
+ return local.max;
8048
+ },
8049
+ get step () {
8050
+ return stepValue();
8051
+ },
8052
+ get ["aria-invalid"] () {
8053
+ return hasError();
8054
+ },
8055
+ get ["aria-required"] () {
8056
+ return local.required;
8057
+ },
8058
+ onInput: handleInput,
8059
+ get ["class"] () {
8060
+ return inputClasses();
8061
+ }
8062
+ }, inputProps)), null);
8063
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
8064
+ get when () {
8065
+ return hasError();
7381
8066
  },
7382
- get ["class"] () {
7383
- return classes();
8067
+ get children () {
8068
+ var _el$2 = NumberField_tmpl$();
8069
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>errors(props.name));
8070
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$2, errorClasses()));
8071
+ return _el$2;
7384
8072
  }
7385
- }), false, true);
7386
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>local.title);
7387
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, resolvedChildren, null);
8073
+ }), null);
8074
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$, containerClasses()));
7388
8075
  return _el$;
7389
8076
  })();
7390
8077
  };
7391
- const form_Label = Label;
7392
- const FormValidationContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
7393
- function useFormValidation() {
7394
- const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(FormValidationContext);
7395
- if (!context) throw new Error("useFormValidation must be used within a ValidatedForm");
7396
- return context;
7397
- }
7398
- function ValidatedForm(props) {
7399
- const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7400
- "children",
7401
- "schema",
7402
- "onSubmit",
7403
- "initialValues"
7404
- ]);
7405
- const { form, errors, touched, data, isValid, isSubmitting, setData, setErrors, setWarnings, setTouched, reset } = (0, __WEBPACK_EXTERNAL_MODULE__felte_solid_6a709b1d__.createForm)({
7406
- initialValues: local.initialValues,
7407
- extend: [
7408
- (0, __WEBPACK_EXTERNAL_MODULE__felte_validator_zod_bb07151a__.validator)({
7409
- schema: local.schema
7410
- })
7411
- ],
7412
- onSubmit: local.onSubmit
7413
- });
7414
- const contextValue = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>({
7415
- errors,
7416
- touched,
7417
- data,
7418
- isValid,
7419
- isSubmitting,
7420
- setData,
7421
- setErrors,
7422
- setWarnings,
7423
- setTouched,
7424
- reset
7425
- }));
7426
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(FormValidationContext.Provider, {
7427
- get value () {
7428
- return contextValue();
7429
- },
7430
- get children () {
7431
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(form_Form, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7432
- ref: form,
7433
- get children () {
7434
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"function" == typeof local.children)() ? local.children() : local.children;
7435
- }
7436
- }));
7437
- }
7438
- });
7439
- }
7440
- const form_ValidatedForm = ValidatedForm;
8078
+ const form_NumberField = NumberField;
7441
8079
  var Form_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<form role=form>");
7442
8080
  const Form = (props)=>{
7443
8081
  const merged = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.mergeProps)({
@@ -7509,7 +8147,10 @@ const Form = (props)=>{
7509
8147
  };
7510
8148
  const form_Form = Object.assign(Form, {
7511
8149
  Label: form_Label,
7512
- Validated: form_ValidatedForm
8150
+ Validated: form_ValidatedForm,
8151
+ Field: form_FormField,
8152
+ Password: form_PasswordField,
8153
+ Number: form_NumberField
7513
8154
  });
7514
8155
  const colsMap = {
7515
8156
  1: "grid-cols-1",
@@ -7765,136 +8406,6 @@ const IndicatorItem = (props)=>{
7765
8406
  const indicator_Indicator = Object.assign(Indicator, {
7766
8407
  Item: IndicatorItem
7767
8408
  });
7768
- var Input_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span>"), Input_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<label><input>");
7769
- const Input = (props)=>{
7770
- const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7771
- "size",
7772
- "color",
7773
- "variant",
7774
- "fullWidth",
7775
- "dataTheme",
7776
- "class",
7777
- "className",
7778
- "style",
7779
- "leftIcon",
7780
- "rightIcon",
7781
- "placeholder",
7782
- "type",
7783
- "ref",
7784
- "aria-label",
7785
- "aria-describedby",
7786
- "aria-invalid",
7787
- "aria-required"
7788
- ]);
7789
- const [passwordVisible, setPasswordVisible] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
7790
- const inputType = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
7791
- if ("password" === local.type) return passwordVisible() ? "text" : "password";
7792
- return local.type;
7793
- });
7794
- const colorFocusMap = {
7795
- primary: "focus-within:border-primary",
7796
- success: "focus-within:border-success",
7797
- warning: "focus-within:border-warning",
7798
- error: "focus-within:border-error",
7799
- info: "focus-within:border-info",
7800
- default: "focus-within:border-base-content"
7801
- };
7802
- const labelClasses = ()=>twMerge("input", "items-center gap-2 focus-within:outline-none", local.class, local.className, colorFocusMap[local.color || "default"], clsx({
7803
- "input-bordered": "bordered" === local.variant || !local.variant,
7804
- "input-ghost": "ghost" === local.variant || "ghost" === local.color,
7805
- "w-full": false !== local.fullWidth,
7806
- "input-xl": "xl" === local.size,
7807
- "input-lg": "lg" === local.size,
7808
- "input-md": "md" === local.size,
7809
- "input-sm": "sm" === local.size,
7810
- "input-xs": "xs" === local.size,
7811
- "input-primary": "primary" === local.color,
7812
- "input-secondary": "secondary" === local.color,
7813
- "input-accent": "accent" === local.color,
7814
- "input-info": "info" === local.color,
7815
- "input-success": "success" === local.color,
7816
- "input-warning": "warning" === local.color,
7817
- "input-error": "error" === local.color
7818
- }));
7819
- const inputClasses = ()=>"grow bg-transparent focus:outline-none";
7820
- return (()=>{
7821
- var _el$ = Input_tmpl$2(), _el$2 = _el$.firstChild;
7822
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
7823
- get when () {
7824
- return local.leftIcon;
7825
- },
7826
- get children () {
7827
- return local.leftIcon;
7828
- }
7829
- }), _el$2);
7830
- var _ref$ = local.ref;
7831
- "function" == typeof _ref$ ? (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)(_ref$, _el$2) : local.ref = _el$2;
7832
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
7833
- get type () {
7834
- return inputType();
7835
- },
7836
- get ["aria-label"] () {
7837
- return local["aria-label"];
7838
- },
7839
- get ["aria-describedby"] () {
7840
- return local["aria-describedby"];
7841
- },
7842
- get ["aria-invalid"] () {
7843
- return local["aria-invalid"];
7844
- },
7845
- get ["aria-required"] () {
7846
- return local["aria-required"];
7847
- },
7848
- get placeholder () {
7849
- return local["placeholder"];
7850
- },
7851
- get style () {
7852
- return local.style;
7853
- },
7854
- get ["class"] () {
7855
- return inputClasses();
7856
- }
7857
- }), false, false);
7858
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
7859
- get when () {
7860
- return local.rightIcon;
7861
- },
7862
- get children () {
7863
- var _el$3 = Input_tmpl$();
7864
- _el$3.$$click = ()=>setPasswordVisible(!passwordVisible());
7865
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>local.rightIcon);
7866
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)((_p$)=>{
7867
- var _v$ = "password" === local.type ? "cursor-pointer" : "", _v$2 = "password" === local.type ? "button" : void 0, _v$3 = "password" === local.type ? passwordVisible() ? "Hide password" : "Show password" : void 0, _v$4 = "password" === local.type ? 0 : void 0;
7868
- _v$ !== _p$.e && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$3, _p$.e = _v$);
7869
- _v$2 !== _p$.t && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "role", _p$.t = _v$2);
7870
- _v$3 !== _p$.a && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "aria-label", _p$.a = _v$3);
7871
- _v$4 !== _p$.o && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "tabindex", _p$.o = _v$4);
7872
- return _p$;
7873
- }, {
7874
- e: void 0,
7875
- t: void 0,
7876
- a: void 0,
7877
- o: void 0
7878
- });
7879
- return _el$3;
7880
- }
7881
- }), null);
7882
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)((_p$)=>{
7883
- var _v$5 = labelClasses(), _v$6 = local.dataTheme;
7884
- _v$5 !== _p$.e && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$, _p$.e = _v$5);
7885
- _v$6 !== _p$.t && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$, "data-theme", _p$.t = _v$6);
7886
- return _p$;
7887
- }, {
7888
- e: void 0,
7889
- t: void 0
7890
- });
7891
- return _el$;
7892
- })();
7893
- };
7894
- const input_Input = Input;
7895
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
7896
- "click"
7897
- ]);
7898
8409
  var Join_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>");
7899
8410
  const Join = (props)=>{
7900
8411
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -9106,7 +9617,7 @@ const Select = (props)=>{
9106
9617
  };
9107
9618
  const select_Select = Select;
9108
9619
  var ShowcaseSection_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="opacity-0 group-hover/title:opacity-100 text-base-content/70 transition-opacity">#'), ShowcaseSection_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<h2 class="text-xl font-semibold group/title">'), ShowcaseSection_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div><div class=space-y-3>");
9109
- const ShowcaseSection_ShowcaseSection = (props)=>{
9620
+ const ShowcaseSection = (props)=>{
9110
9621
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
9111
9622
  "id",
9112
9623
  "title",
@@ -9171,7 +9682,7 @@ const ShowcaseSection_ShowcaseSection = (props)=>{
9171
9682
  return _el$;
9172
9683
  })();
9173
9684
  };
9174
- const ShowcaseSection = ShowcaseSection_ShowcaseSection;
9685
+ const showcase_section_ShowcaseSection = ShowcaseSection;
9175
9686
  var ShowcaseBlock_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<p class="text-base-content/70 mb-4">'), ShowcaseBlock_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div class="bg-base-200 shadow-sm p-6 rounded-lg"><h3 class="text-lg font-semibold mb-2 text-base-content"></h3><div>');
9176
9687
  const ShowcaseBlock = (props)=>{
9177
9688
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -11057,6 +11568,74 @@ const Toast = (props)=>{
11057
11568
  })();
11058
11569
  };
11059
11570
  const toast_Toast = Toast;
11571
+ const [toasts, setToasts] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)([]);
11572
+ let toastCounter = 0;
11573
+ const toastStore = {
11574
+ toasts,
11575
+ addToast: (message, type = "info", duration = 8000)=>{
11576
+ const id = `toast-${++toastCounter}`;
11577
+ const toast = {
11578
+ id,
11579
+ message,
11580
+ type,
11581
+ timestamp: Date.now()
11582
+ };
11583
+ setToasts((prev)=>[
11584
+ ...prev,
11585
+ toast
11586
+ ]);
11587
+ setTimeout(()=>{
11588
+ toastStore.removeToast(id);
11589
+ }, duration);
11590
+ return id;
11591
+ },
11592
+ removeToast: (id)=>{
11593
+ setToasts((prev)=>prev.filter((toast)=>toast.id !== id));
11594
+ },
11595
+ clearAll: ()=>{
11596
+ setToasts([]);
11597
+ },
11598
+ showError: (message)=>toastStore.addToast(message, "error", 10000),
11599
+ showSuccess: (message)=>toastStore.addToast(message, "success", 6000),
11600
+ showWarning: (message)=>toastStore.addToast(message, "warning", 8000),
11601
+ showInfo: (message)=>toastStore.addToast(message, "info", 6000)
11602
+ };
11603
+ var ToastContainer_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span class=flex-1>");
11604
+ const ToastContainer = ()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(toast_Toast, {
11605
+ get children () {
11606
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.For, {
11607
+ get each () {
11608
+ return toastStore.toasts();
11609
+ },
11610
+ children: (toast)=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(alert_Alert, {
11611
+ get status () {
11612
+ return toast.type;
11613
+ },
11614
+ class: "flex justify-between items-center gap-4",
11615
+ style: {
11616
+ "min-width": "20rem",
11617
+ "max-width": "32rem"
11618
+ },
11619
+ get children () {
11620
+ return [
11621
+ (()=>{
11622
+ var _el$ = ToastContainer_tmpl$();
11623
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>toast.message);
11624
+ return _el$;
11625
+ })(),
11626
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
11627
+ size: "sm",
11628
+ color: "ghost",
11629
+ onClick: ()=>toastStore.removeToast(toast.id),
11630
+ class: "ml-2 opacity-70 hover:opacity-100",
11631
+ children: "\u2715"
11632
+ })
11633
+ ];
11634
+ }
11635
+ })
11636
+ });
11637
+ }
11638
+ });
11060
11639
  var Toggle_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<input>");
11061
11640
  const Toggle = (props)=>{
11062
11641
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -11125,54 +11704,6 @@ const Toggle = (props)=>{
11125
11704
  })();
11126
11705
  };
11127
11706
  const toggle_Toggle = Toggle;
11128
- var Tooltip_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>");
11129
- const Tooltip = (props)=>{
11130
- const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
11131
- "message",
11132
- "open",
11133
- "color",
11134
- "position",
11135
- "dataTheme",
11136
- "class",
11137
- "className",
11138
- "style"
11139
- ]);
11140
- const classes = ()=>twMerge("tooltip", local.class, local.className, clsx({
11141
- "tooltip-open": local.open,
11142
- "tooltip-primary": "primary" === local.color,
11143
- "tooltip-secondary": "secondary" === local.color,
11144
- "tooltip-accent": "accent" === local.color,
11145
- "tooltip-info": "info" === local.color,
11146
- "tooltip-success": "success" === local.color,
11147
- "tooltip-warning": "warning" === local.color,
11148
- "tooltip-error": "error" === local.color,
11149
- "tooltip-top": "top" === local.position,
11150
- "tooltip-bottom": "bottom" === local.position,
11151
- "tooltip-left": "left" === local.position,
11152
- "tooltip-right": "right" === local.position
11153
- }));
11154
- return (()=>{
11155
- var _el$ = Tooltip_tmpl$();
11156
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
11157
- role: "tooltip",
11158
- get ["data-theme"] () {
11159
- return local.dataTheme;
11160
- },
11161
- get ["data-tip"] () {
11162
- return local.message;
11163
- },
11164
- get ["class"] () {
11165
- return classes();
11166
- },
11167
- get style () {
11168
- return local.style;
11169
- }
11170
- }), false, true);
11171
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>props.children);
11172
- return _el$;
11173
- })();
11174
- };
11175
- const tooltip_Tooltip = Tooltip;
11176
11707
  var WindowMockup_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), WindowMockup_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div aria-label="Window mockup">');
11177
11708
  const WindowMockup = (props)=>{
11178
11709
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -11253,4 +11784,4 @@ const WindowMockup = (props)=>{
11253
11784
  })();
11254
11785
  };
11255
11786
  const windowmockup_WindowMockup = WindowMockup;
11256
- export { accordion_Accordion as Accordion, alert_Alert as Alert, artboard_Artboard as Artboard, avatar as Avatar, background_Background as Background, Badge, Breadcrumbs, breadcrumbs_BreadcrumbsItem as BreadcrumbsItem, browsermockup_BrowserMockup as BrowserMockup, button_Button as Button, Calendar, card_Card as Card, carousel_Carousel as Carousel, chatbubble_ChatBubble as ChatBubble, checkbox_Checkbox as Checkbox, codemockup_CodeMockup as CodeMockup, CodeMockupLine, collapse_Collapse as Collapse, CollapseContent, CollapseDetails, CollapseTitle, CopyButton, countdown_Countdown as Countdown, diff_Diff as Diff, divider as Divider, dock as Dock, Drawer, dropdown as Dropdown, FileInput, flex_Flex as Flex, footer_Footer as Footer, form_Form as Form, Grid, hero_Hero as Hero, icon_Icon as Icon, indicator_Indicator as Indicator, input_Input as Input, join_Join as Join, kbd_Kbd as Kbd, link_Link as Link, loading_Loading as Loading, mask as Mask, menu_Menu as Menu, modal_Modal as Modal, navbar_Navbar as Navbar, pagination_Pagination as Pagination, phonemockup_PhoneMockup as PhoneMockup, Progress, props_table_PropsTable as PropsTable, radialprogress_RadialProgress as RadialProgress, radio_Radio as Radio, range_Range as Range, Rating, select_Select as Select, showcase_ShowcaseBlock as ShowcaseBlock, ShowcaseSection, sidenav_Sidenav as Sidenav, sidenav_SidenavButton as SidenavButton, sidenav_SidenavGroup as SidenavGroup, sidenav_SidenavItem as SidenavItem, sidenav_SidenavLink as SidenavLink, sidenav_SidenavMenu as SidenavMenu, skeleton_Skeleton as Skeleton, Stack, stat_card_StatCard as StatCard, stats_Stats as Stats, status_Status as Status, steps as Steps, Summary, SvgBackground, Swap, table_Table as Table, tabs_Tabs as Tabs, textarea_Textarea as Textarea, Timeline, timeline_TimelineEnd as TimelineEnd, timeline_TimelineItem as TimelineItem, timeline_TimelineMiddle as TimelineMiddle, timeline_TimelineStart as TimelineStart, toast_Toast as Toast, toggle_Toggle as Toggle, tooltip_Tooltip as Tooltip, windowmockup_WindowMockup as WindowMockup, useDesktop, useFormValidation };
11787
+ export { accordion_Accordion as Accordion, alert_Alert as Alert, artboard_Artboard as Artboard, avatar as Avatar, background_Background as Background, Badge, Breadcrumbs, breadcrumbs_BreadcrumbsItem as BreadcrumbsItem, browsermockup_BrowserMockup as BrowserMockup, button_Button as Button, Calendar, card_Card as Card, carousel_Carousel as Carousel, chatbubble_ChatBubble as ChatBubble, checkbox_Checkbox as Checkbox, codemockup_CodeMockup as CodeMockup, CodeMockupLine, collapse_Collapse as Collapse, CollapseContent, CollapseDetails, CollapseTitle, connectionstatus_ConnectionStatus as ConnectionStatus, CopyButton, countdown_Countdown as Countdown, diff_Diff as Diff, divider as Divider, dock as Dock, Drawer, dropdown as Dropdown, FileInput, flex_Flex as Flex, footer_Footer as Footer, form_Form as Form, Grid, hero_Hero as Hero, icon_Icon as Icon, indicator_Indicator as Indicator, input as Input, join_Join as Join, kbd_Kbd as Kbd, link_Link as Link, loading_Loading as Loading, mask as Mask, menu_Menu as Menu, modal_Modal as Modal, navbar_Navbar as Navbar, pagination_Pagination as Pagination, phonemockup_PhoneMockup as PhoneMockup, Progress, props_table_PropsTable as PropsTable, radialprogress_RadialProgress as RadialProgress, radio_Radio as Radio, range_Range as Range, Rating, select_Select as Select, showcase_ShowcaseBlock as ShowcaseBlock, showcase_section_ShowcaseSection as ShowcaseSection, sidenav_Sidenav as Sidenav, sidenav_SidenavButton as SidenavButton, sidenav_SidenavGroup as SidenavGroup, sidenav_SidenavItem as SidenavItem, sidenav_SidenavLink as SidenavLink, sidenav_SidenavMenu as SidenavMenu, skeleton_Skeleton as Skeleton, Stack, stat_card_StatCard as StatCard, stats_Stats as Stats, status_Status as Status, steps as Steps, Summary, SvgBackground, Swap, table_Table as Table, tabs_Tabs as Tabs, textarea_Textarea as Textarea, Timeline, timeline_TimelineEnd as TimelineEnd, timeline_TimelineItem as TimelineItem, timeline_TimelineMiddle as TimelineMiddle, timeline_TimelineStart as TimelineStart, toast_Toast as Toast, ToastContainer, toggle_Toggle as Toggle, tooltip_Tooltip as Tooltip, windowmockup_WindowMockup as WindowMockup, connectionstatus_ConnectionStatus as default, toastStore, useDesktop, useFormValidation };