@pathscale/ui 0.0.120 → 0.0.122

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
@@ -9397,7 +9397,7 @@ const DropdownDetails = Object.assign(Details, {
9397
9397
  Toggle: DropdownToggle_Summary
9398
9398
  });
9399
9399
  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>");
9400
- const DropdownItem_DropdownItem = (props)=>{
9400
+ const DropdownItem = (props)=>{
9401
9401
  const dropdownContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(DropdownContext);
9402
9402
  const defaultProps = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.mergeProps)({
9403
9403
  closeOnClick: true
@@ -9439,7 +9439,7 @@ const DropdownItem_DropdownItem = (props)=>{
9439
9439
  return _el$;
9440
9440
  })();
9441
9441
  };
9442
- const DropdownItem = DropdownItem_DropdownItem;
9442
+ const dropdown_DropdownItem = DropdownItem;
9443
9443
  var DropdownMenu_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<ul>");
9444
9444
  const DropdownMenu = (props)=>{
9445
9445
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -9641,7 +9641,7 @@ const dropdown_Dropdown = Object.assign(Dropdown, {
9641
9641
  Details: DropdownDetails,
9642
9642
  Toggle: dropdown_DropdownToggle,
9643
9643
  Menu: dropdown_DropdownMenu,
9644
- Item: DropdownItem
9644
+ Item: dropdown_DropdownItem
9645
9645
  });
9646
9646
  const dropdown = dropdown_Dropdown;
9647
9647
  var FileInput_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<input>");
@@ -11255,6 +11255,572 @@ const Link = (props)=>{
11255
11255
  })();
11256
11256
  };
11257
11257
  const link_Link = Link;
11258
+ var LiveChatPanel_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z">'), LiveChatPanel_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<h3 class="font-semibold text-lg">'), LiveChatPanel_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div><div class="flex-shrink-0 bg-primary text-primary-content px-4 py-4 flex items-center justify-between"><button class="hover:bg-primary-focus rounded-lg p-1 transition-colors"><svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12"></path></svg></button></div><div class="flex-1 overflow-y-auto px-4 py-4 space-y-4"></div><div class="flex-shrink-0 border-t border-base-300 bg-base-100 p-3">'), LiveChatPanel_tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), LiveChatPanel_tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div><p class="text-sm leading-relaxed whitespace-pre-wrap break-words">'), _tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="text-xs text-base-content/50 mt-1 px-1">'), _tmpl$7 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="w-4 h-4 border-2 border-primary-content/30 border-t-primary-content rounded-full animate-spin inline-block">');
11259
+ const getMockMessages = ()=>{
11260
+ const salesMessages = [
11261
+ {
11262
+ messageId: "sales-1",
11263
+ content: "Hi! I'm interested in your product. Can you tell me more?",
11264
+ sender: "user",
11265
+ timestamp: Date.now() - 3600000
11266
+ },
11267
+ {
11268
+ messageId: "sales-2",
11269
+ content: "Hello! Thanks for your interest. We offer flexible pricing plans starting at $49/month. Would you like to schedule a demo?",
11270
+ sender: "agent",
11271
+ timestamp: Date.now() - 3500000
11272
+ },
11273
+ {
11274
+ messageId: "sales-3",
11275
+ content: "That sounds great! What features are included in the basic plan?",
11276
+ sender: "user",
11277
+ timestamp: Date.now() - 3400000
11278
+ }
11279
+ ];
11280
+ const supportMessages = [
11281
+ {
11282
+ messageId: "support-1",
11283
+ content: "I'm having trouble connecting. It keeps showing 'Connection Failed'.",
11284
+ sender: "user",
11285
+ timestamp: Date.now() - 7200000
11286
+ },
11287
+ {
11288
+ messageId: "support-2",
11289
+ content: "I'm sorry to hear that. Let me help you troubleshoot. Can you tell me which browser you're using?",
11290
+ sender: "agent",
11291
+ timestamp: Date.now() - 7100000
11292
+ },
11293
+ {
11294
+ messageId: "support-3",
11295
+ content: "I'm using Chrome version 121 on Windows 11",
11296
+ sender: "user",
11297
+ timestamp: Date.now() - 7000000
11298
+ },
11299
+ {
11300
+ messageId: "support-4",
11301
+ content: "Thanks for that info. Let's try clearing your browser cache first. Can you go to Settings > Privacy and security > Clear browsing data?",
11302
+ sender: "agent",
11303
+ timestamp: Date.now() - 6900000
11304
+ }
11305
+ ];
11306
+ return [
11307
+ ...salesMessages,
11308
+ ...supportMessages
11309
+ ].sort((a, b)=>a.timestamp - b.timestamp);
11310
+ };
11311
+ const formatTime = (timestamp)=>new Intl.DateTimeFormat("en-US", {
11312
+ hour: "numeric",
11313
+ minute: "2-digit",
11314
+ hour12: true
11315
+ }).format(new Date(timestamp));
11316
+ const LiveChatPanel_LiveChatPanel = (props)=>{
11317
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
11318
+ "onClose",
11319
+ "title",
11320
+ "placeholder",
11321
+ "closeLabel",
11322
+ "sendLabel",
11323
+ "emptyMessage",
11324
+ "mockMode",
11325
+ "messages",
11326
+ "onSendMessage",
11327
+ "isSending",
11328
+ "class",
11329
+ "className",
11330
+ "style"
11331
+ ]);
11332
+ const [internalMessages, setInternalMessages] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)([]);
11333
+ const [inputValue, setInputValue] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)("");
11334
+ const [sending, setSending] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
11335
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
11336
+ if (local.mockMode) setInternalMessages(getMockMessages());
11337
+ else if (local.messages) setInternalMessages(local.messages);
11338
+ });
11339
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
11340
+ if (!local.mockMode && local.messages) setInternalMessages(local.messages);
11341
+ });
11342
+ const isSending = ()=>local.isSending ?? sending();
11343
+ const handleSend = async ()=>{
11344
+ const content = inputValue().trim();
11345
+ if (!content || isSending()) return;
11346
+ if (local.mockMode) {
11347
+ const userMessage = {
11348
+ messageId: `user-${Date.now()}`,
11349
+ content,
11350
+ sender: "user",
11351
+ timestamp: Date.now()
11352
+ };
11353
+ setInternalMessages((prev)=>[
11354
+ ...prev,
11355
+ userMessage
11356
+ ]);
11357
+ setInputValue("");
11358
+ setTimeout(()=>{
11359
+ const agentMessage = {
11360
+ messageId: `agent-${Date.now()}`,
11361
+ content: "Thanks for your message! This is a demo response.",
11362
+ sender: "agent",
11363
+ timestamp: Date.now()
11364
+ };
11365
+ setInternalMessages((prev)=>[
11366
+ ...prev,
11367
+ agentMessage
11368
+ ]);
11369
+ }, 1000);
11370
+ } else if (local.onSendMessage) {
11371
+ setSending(true);
11372
+ try {
11373
+ const response = await local.onSendMessage({
11374
+ message: content
11375
+ });
11376
+ const userMessage = {
11377
+ messageId: response.messageId,
11378
+ content,
11379
+ sender: "user",
11380
+ timestamp: response.timestamp
11381
+ };
11382
+ setInternalMessages((prev)=>[
11383
+ ...prev,
11384
+ userMessage
11385
+ ]);
11386
+ setInputValue("");
11387
+ } catch (error) {
11388
+ console.error("[LiveChatPanel] Failed to send message:", error);
11389
+ } finally{
11390
+ setSending(false);
11391
+ }
11392
+ }
11393
+ };
11394
+ const handleKeyPress = (e)=>{
11395
+ if ("Enter" === e.key && !e.shiftKey) {
11396
+ e.preventDefault();
11397
+ handleSend();
11398
+ }
11399
+ };
11400
+ const classes = ()=>twMerge(`fixed inset-0
11401
+ sm:inset-auto
11402
+ sm:bottom-20 sm:right-4
11403
+ md:bottom-24 md:right-6
11404
+ z-51
11405
+ w-full h-full
11406
+ sm:w-96 md:w-[400px]
11407
+ sm:h-[70vh]
11408
+ md:h-[75vh]
11409
+ lg:h-[80vh]
11410
+ sm:max-h-[800px]
11411
+ sm:min-h-[420px]
11412
+ bg-base-100
11413
+ sm:rounded-2xl
11414
+ shadow-2xl
11415
+ flex flex-col
11416
+ overflow-hidden`, clsx(local.class, local.className));
11417
+ return (()=>{
11418
+ var _el$ = LiveChatPanel_tmpl$3(), _el$2 = _el$.firstChild, _el$5 = _el$2.firstChild, _el$6 = _el$2.nextSibling, _el$7 = _el$6.nextSibling;
11419
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
11420
+ get ["class"] () {
11421
+ return classes();
11422
+ },
11423
+ get style () {
11424
+ return local.style;
11425
+ }
11426
+ }), false, true);
11427
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
11428
+ align: "center",
11429
+ gap: "sm",
11430
+ get children () {
11431
+ return [
11432
+ LiveChatPanel_tmpl$(),
11433
+ (()=>{
11434
+ var _el$4 = LiveChatPanel_tmpl$2();
11435
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>local.title ?? "Chat with us");
11436
+ return _el$4;
11437
+ })()
11438
+ ];
11439
+ }
11440
+ }), _el$5);
11441
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.addEventListener)(_el$5, "click", local.onClose, true);
11442
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.For, {
11443
+ get each () {
11444
+ return internalMessages();
11445
+ },
11446
+ children: (message)=>{
11447
+ const isUser = "user" === message.sender;
11448
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
11449
+ direction: isUser ? "row-reverse" : "row",
11450
+ gap: "sm",
11451
+ class: "w-full",
11452
+ get children () {
11453
+ return [
11454
+ (()=>{
11455
+ var _el$8 = LiveChatPanel_tmpl$4();
11456
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$8, `flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center text-xs font-semibold ${isUser ? "bg-primary text-primary-content" : "bg-base-300 text-base-content"}`);
11457
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$8, isUser ? "U" : "A");
11458
+ return _el$8;
11459
+ })(),
11460
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
11461
+ direction: "col",
11462
+ align: isUser ? "end" : "start",
11463
+ class: "max-w-[75%]",
11464
+ get children () {
11465
+ return [
11466
+ (()=>{
11467
+ var _el$9 = LiveChatPanel_tmpl$5(), _el$0 = _el$9.firstChild;
11468
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$9, `px-3 py-2 rounded-2xl ${isUser ? "bg-primary text-primary-content rounded-tr-sm" : "bg-base-200 text-base-content rounded-tl-sm"}`);
11469
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$0, ()=>message.content);
11470
+ return _el$9;
11471
+ })(),
11472
+ (()=>{
11473
+ var _el$1 = _tmpl$6();
11474
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$1, ()=>formatTime(message.timestamp));
11475
+ return _el$1;
11476
+ })()
11477
+ ];
11478
+ }
11479
+ })
11480
+ ];
11481
+ }
11482
+ });
11483
+ }
11484
+ }), null);
11485
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
11486
+ get when () {
11487
+ return 0 === internalMessages().length;
11488
+ },
11489
+ get children () {
11490
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
11491
+ justify: "center",
11492
+ align: "center",
11493
+ class: "h-full text-base-content/50 text-sm",
11494
+ get children () {
11495
+ return local.emptyMessage ?? "No messages yet. Start a conversation!";
11496
+ }
11497
+ });
11498
+ }
11499
+ }), null);
11500
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$7, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
11501
+ gap: "sm",
11502
+ get children () {
11503
+ return [
11504
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(input, {
11505
+ type: "text",
11506
+ get value () {
11507
+ return inputValue();
11508
+ },
11509
+ onInput: (e)=>setInputValue(e.currentTarget.value),
11510
+ onKeyPress: handleKeyPress,
11511
+ get placeholder () {
11512
+ return local.placeholder ?? "Message support...";
11513
+ },
11514
+ get disabled () {
11515
+ return isSending();
11516
+ },
11517
+ class: "flex-1 px-3 py-2 bg-base-200 border border-base-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-primary disabled:opacity-50 disabled:cursor-not-allowed transition-all"
11518
+ }),
11519
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
11520
+ onClick: handleSend,
11521
+ get disabled () {
11522
+ return !inputValue().trim() || isSending();
11523
+ },
11524
+ class: "px-4 py-2",
11525
+ color: "primary",
11526
+ get children () {
11527
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
11528
+ get when () {
11529
+ return !isSending();
11530
+ },
11531
+ get fallback () {
11532
+ return _tmpl$7();
11533
+ },
11534
+ get children () {
11535
+ return local.sendLabel ?? "Send";
11536
+ }
11537
+ });
11538
+ }
11539
+ })
11540
+ ];
11541
+ }
11542
+ }));
11543
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$5, "aria-label", local.closeLabel ?? "Close chat"));
11544
+ return _el$;
11545
+ })();
11546
+ };
11547
+ const LiveChatPanel = LiveChatPanel_LiveChatPanel;
11548
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
11549
+ "click"
11550
+ ]);
11551
+ var LiveChatBubble_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="absolute -top-1 -right-1 w-5 h-5 bg-error text-error-content text-xs font-bold rounded-full flex items-center justify-center animate-pulse">'), LiveChatBubble_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<button><span class="pointer-events-none absolute inset-0 rounded-full bg-primary animate-ping opacity-20 group-hover:opacity-0 transition-opacity">'), LiveChatBubble_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5 sm:w-6 sm:h-6"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z">'), LiveChatBubble_tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5 sm:w-6 sm:h-6"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12">');
11552
+ const LiveChatBubble = (props)=>{
11553
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
11554
+ "position",
11555
+ "aria-label",
11556
+ "unreadCount",
11557
+ "panelProps",
11558
+ "onOpen",
11559
+ "onClose",
11560
+ "children",
11561
+ "class",
11562
+ "className",
11563
+ "style"
11564
+ ]);
11565
+ const [isOpen, setIsOpen] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
11566
+ const [internalUnread, setInternalUnread] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(local.unreadCount ?? 0);
11567
+ const unreadCount = ()=>local.unreadCount ?? internalUnread();
11568
+ const toggleChat = ()=>{
11569
+ const newState = !isOpen();
11570
+ setIsOpen(newState);
11571
+ if (newState) {
11572
+ setInternalUnread(0);
11573
+ local.onOpen?.();
11574
+ } else local.onClose?.();
11575
+ };
11576
+ const handleClose = ()=>{
11577
+ setIsOpen(false);
11578
+ local.onClose?.();
11579
+ };
11580
+ const positionClasses = ()=>{
11581
+ const pos = local.position ?? "bottom-right";
11582
+ return "bottom-left" === pos ? "left-4" : "right-4";
11583
+ };
11584
+ const buttonClasses = ()=>twMerge("fixed bottom-5 z-50 w-12 h-12 sm:w-14 sm:h-14 bg-primary text-primary-content rounded-full shadow-lg hover:shadow-xl active:scale-95 transition-all duration-200 flex items-center justify-center group", positionClasses(), clsx(local.class, local.className));
11585
+ return [
11586
+ (()=>{
11587
+ var _el$ = LiveChatBubble_tmpl$2(), _el$3 = _el$.firstChild;
11588
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
11589
+ onClick: toggleChat,
11590
+ get ["class"] () {
11591
+ return buttonClasses();
11592
+ },
11593
+ get style () {
11594
+ return local.style;
11595
+ },
11596
+ get ["aria-label"] () {
11597
+ return local["aria-label"] ?? "Open chat";
11598
+ }
11599
+ }), false, true);
11600
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children ?? (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
11601
+ get when () {
11602
+ return !isOpen();
11603
+ },
11604
+ get fallback () {
11605
+ return LiveChatBubble_tmpl$4();
11606
+ },
11607
+ get children () {
11608
+ return LiveChatBubble_tmpl$3();
11609
+ }
11610
+ }), _el$3);
11611
+ (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, {
11612
+ get when () {
11613
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>unreadCount() > 0)() && !isOpen();
11614
+ },
11615
+ get children () {
11616
+ var _el$2 = LiveChatBubble_tmpl$();
11617
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, (()=>{
11618
+ var _c$ = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>unreadCount() > 9);
11619
+ return ()=>_c$() ? "9+" : unreadCount();
11620
+ })());
11621
+ return _el$2;
11622
+ }
11623
+ }), _el$3);
11624
+ return _el$;
11625
+ })(),
11626
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
11627
+ get when () {
11628
+ return isOpen();
11629
+ },
11630
+ get children () {
11631
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(LiveChatPanel, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>local.panelProps ?? {}, {
11632
+ onClose: handleClose
11633
+ }));
11634
+ }
11635
+ })
11636
+ ];
11637
+ };
11638
+ const live_chat_LiveChatBubble = LiveChatBubble;
11639
+ var LanguageSwitcher_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span>");
11640
+ const LanguageSwitcher = (props)=>{
11641
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
11642
+ "i18n",
11643
+ "class",
11644
+ "className",
11645
+ "style",
11646
+ "aria-label",
11647
+ "currentLanguageLabel",
11648
+ "optionsLabel",
11649
+ "loadingLabel",
11650
+ "onLanguageChange"
11651
+ ]);
11652
+ const currentLanguageName = ()=>local.i18n.languageNames[local.i18n.locale];
11653
+ const isSelected = (lang)=>local.i18n.locale === lang;
11654
+ const handleSelect = async (lang)=>{
11655
+ await local.i18n.setLocale(lang);
11656
+ local.onLanguageChange?.(lang);
11657
+ };
11658
+ const classes = ()=>twMerge("min-w-28", clsx(local.class, local.className));
11659
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(dropdown, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
11660
+ get ["class"] () {
11661
+ return classes();
11662
+ },
11663
+ get style () {
11664
+ return local.style;
11665
+ },
11666
+ role: void 0,
11667
+ get ["aria-label"] () {
11668
+ return local["aria-label"] ?? "Language selector";
11669
+ },
11670
+ "aria-haspopup": "menu",
11671
+ get children () {
11672
+ return [
11673
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(dropdown.Toggle, {
11674
+ class: "bg-base-100 border border-base-300 rounded px-3 py-2 flex gap-2 justify-between items-center",
11675
+ get ["aria-label"] () {
11676
+ return `${local.currentLanguageLabel ?? "Current language"}: ${currentLanguageName()}`;
11677
+ },
11678
+ get children () {
11679
+ return [
11680
+ (()=>{
11681
+ var _el$ = LanguageSwitcher_tmpl$();
11682
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, currentLanguageName);
11683
+ return _el$;
11684
+ })(),
11685
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
11686
+ get when () {
11687
+ return !local.i18n.isLoading;
11688
+ },
11689
+ get fallback () {
11690
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(icon_Icon, {
11691
+ name: "icon-[mdi--loading]",
11692
+ class: "animate-spin",
11693
+ width: 16,
11694
+ height: 16,
11695
+ get ["aria-label"] () {
11696
+ return local.loadingLabel ?? "Loading language";
11697
+ }
11698
+ });
11699
+ },
11700
+ get children () {
11701
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(icon_Icon, {
11702
+ name: "icon-[mdi--chevron-down]",
11703
+ width: 16,
11704
+ height: 16,
11705
+ "aria-hidden": "true"
11706
+ });
11707
+ }
11708
+ })
11709
+ ];
11710
+ }
11711
+ }),
11712
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(dropdown.Menu, {
11713
+ class: "w-full",
11714
+ get ["aria-label"] () {
11715
+ return local.optionsLabel ?? "Language options";
11716
+ },
11717
+ get children () {
11718
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.For, {
11719
+ get each () {
11720
+ return local.i18n.languages;
11721
+ },
11722
+ children: (lang)=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(dropdown.Item, {
11723
+ onClick: ()=>handleSelect(lang.code),
11724
+ get ["class"] () {
11725
+ return isSelected(lang.code) ? "bg-base-200" : "";
11726
+ },
11727
+ get ["aria-current"] () {
11728
+ return isSelected(lang.code) ? "true" : void 0;
11729
+ },
11730
+ get children () {
11731
+ return lang.name;
11732
+ }
11733
+ })
11734
+ });
11735
+ }
11736
+ })
11737
+ ];
11738
+ }
11739
+ }));
11740
+ };
11741
+ const language_switcher_LanguageSwitcher = LanguageSwitcher;
11742
+ function getNestedValue(obj, path) {
11743
+ const keys = path.split(".");
11744
+ let value = obj;
11745
+ for (const key of keys){
11746
+ value = value?.[key];
11747
+ if (void 0 === value) return path;
11748
+ }
11749
+ return "string" == typeof value ? value : path;
11750
+ }
11751
+ function createI18n(options) {
11752
+ const { languages, defaultLanguage = languages[0]?.code ?? "en", storageKey, loadTranslations, initialTranslations = {} } = options;
11753
+ const supportedCodes = languages.map((l)=>l.code);
11754
+ const languageNames = languages.reduce((acc, lang)=>({
11755
+ ...acc,
11756
+ [lang.code]: lang.name
11757
+ }), {});
11758
+ const [localeSignal, setLocaleSignal] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(defaultLanguage);
11759
+ const [translations, setTranslations] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(initialTranslations);
11760
+ const [isLoadingSignal, setIsLoading] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
11761
+ const t = (key)=>getNestedValue(translations(), key);
11762
+ const setLocale = async (lang)=>{
11763
+ if (!supportedCodes.includes(lang)) lang = defaultLanguage;
11764
+ if (lang === localeSignal() && Object.keys(translations()).length > 0) return;
11765
+ setIsLoading(true);
11766
+ try {
11767
+ const minDelay = new Promise((resolve)=>setTimeout(resolve, 100));
11768
+ let data;
11769
+ await minDelay;
11770
+ data = lang === defaultLanguage && Object.keys(initialTranslations).length > 0 ? initialTranslations : loadTranslations ? await loadTranslations(lang) : initialTranslations;
11771
+ setTranslations(data);
11772
+ setLocaleSignal(lang);
11773
+ if ("undefined" != typeof window) localStorage.setItem(storageKey, lang);
11774
+ } finally{
11775
+ setIsLoading(false);
11776
+ }
11777
+ };
11778
+ const init = async ()=>{
11779
+ if ("undefined" == typeof window) return;
11780
+ const urlParams = new URLSearchParams(globalThis.location.search);
11781
+ const urlLang = urlParams.get("lang");
11782
+ const saved = localStorage.getItem(storageKey);
11783
+ const browserLang = navigator.language.split("-")[0];
11784
+ let detected;
11785
+ if (urlLang && supportedCodes.includes(urlLang)) {
11786
+ detected = urlLang;
11787
+ urlParams.delete("lang");
11788
+ const newUrl = urlParams.toString() ? `${globalThis.location.pathname}?${urlParams.toString()}` : globalThis.location.pathname;
11789
+ globalThis.history.replaceState({}, "", newUrl);
11790
+ } else detected = saved && supportedCodes.includes(saved) ? saved : supportedCodes.includes(browserLang) ? browserLang : defaultLanguage;
11791
+ await setLocale(detected);
11792
+ };
11793
+ return {
11794
+ get locale () {
11795
+ return localeSignal();
11796
+ },
11797
+ get isLoading () {
11798
+ return isLoadingSignal();
11799
+ },
11800
+ t,
11801
+ setLocale,
11802
+ init,
11803
+ languages,
11804
+ languageNames,
11805
+ supportedCodes
11806
+ };
11807
+ }
11808
+ const I18nContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
11809
+ function useI18n() {
11810
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(I18nContext);
11811
+ if (!context) throw new Error("useI18n must be used within an I18nProvider");
11812
+ return context.i18n;
11813
+ }
11814
+ const I18nProvider = (props)=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(I18nContext.Provider, {
11815
+ get value () {
11816
+ return {
11817
+ i18n: props.i18n
11818
+ };
11819
+ },
11820
+ get children () {
11821
+ return props.children;
11822
+ }
11823
+ });
11258
11824
  var Mask_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<img>");
11259
11825
  function maskClassName({ className, variant } = {}) {
11260
11826
  return twMerge("mask", className, clsx({
@@ -13107,7 +13673,7 @@ const steps_Steps = Object.assign(Steps, {
13107
13673
  Step: steps_Step
13108
13674
  });
13109
13675
  const steps = steps_Steps;
13110
- var SvgBackground_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><ellipse></svg>", false, true, false), SvgBackground_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle></svg>", false, true, false), SvgBackground_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=0 cy=0 r=100 opacity=0.7></svg>", false, true, false), SvgBackground_tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=400 cy=0 r=120></svg>", false, true, false), SvgBackground_tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=0 cy=400 r=100 opacity=0.7></svg>", false, true, false), _tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=400 cy=400 r=120></svg>", false, true, false), _tmpl$7 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=0 cy=200 r=70 opacity=0.6></svg>", false, true, false), _tmpl$8 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=200 cy=0 r=100></svg>", false, true, false), _tmpl$9 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=400 cy=200 r=100></svg>", false, true, false), _tmpl$0 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=200 cy=400 r=100></svg>", false, true, false), _tmpl$1 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div><div><svg viewBox="0 0 400 400"xmlns=http://www.w3.org/2000/svg><rect width=400 height=400></rect></svg></div><canvas></canvas><div class="relative z-10 h-full w-full">'), _tmpl$10 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div class="absolute inset-0 z-5">');
13676
+ var SvgBackground_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><ellipse></svg>", false, true, false), SvgBackground_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle></svg>", false, true, false), SvgBackground_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=0 cy=0 r=100 opacity=0.7></svg>", false, true, false), SvgBackground_tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=400 cy=0 r=120></svg>", false, true, false), SvgBackground_tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=0 cy=400 r=100 opacity=0.7></svg>", false, true, false), SvgBackground_tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=400 cy=400 r=120></svg>", false, true, false), SvgBackground_tmpl$7 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=0 cy=200 r=70 opacity=0.6></svg>", false, true, false), _tmpl$8 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=200 cy=0 r=100></svg>", false, true, false), _tmpl$9 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=400 cy=200 r=100></svg>", false, true, false), _tmpl$0 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<svg><circle cx=200 cy=400 r=100></svg>", false, true, false), _tmpl$1 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div><div><svg viewBox="0 0 400 400"xmlns=http://www.w3.org/2000/svg><rect width=400 height=400></rect></svg></div><canvas></canvas><div class="relative z-10 h-full w-full">'), _tmpl$10 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div class="absolute inset-0 z-5">');
13111
13677
  function SvgBackground_hexToRgb(hex) {
13112
13678
  hex = hex.replace(/^#/, "");
13113
13679
  const bigint = Number.parseInt(hex, 16);
@@ -13267,12 +13833,12 @@ function SvgBackground(props) {
13267
13833
  return _el$6;
13268
13834
  })(),
13269
13835
  (()=>{
13270
- var _el$7 = _tmpl$6();
13836
+ var _el$7 = SvgBackground_tmpl$6();
13271
13837
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$7, "fill", colorEnd);
13272
13838
  return _el$7;
13273
13839
  })(),
13274
13840
  (()=>{
13275
- var _el$8 = _tmpl$7();
13841
+ var _el$8 = SvgBackground_tmpl$7();
13276
13842
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$8, "fill", getIntermediateColor(0.65)));
13277
13843
  return _el$8;
13278
13844
  })(),
@@ -15008,6 +15574,585 @@ const Textarea = (props)=>{
15008
15574
  })();
15009
15575
  };
15010
15576
  const textarea_Textarea = Textarea;
15577
+ let cspAllowsInlineStyles = null;
15578
+ const checkCspAllowsInlineStyles = ()=>{
15579
+ if (null !== cspAllowsInlineStyles) return cspAllowsInlineStyles;
15580
+ if ("undefined" == typeof window) return true;
15581
+ try {
15582
+ const testEl = document.createElement("div");
15583
+ testEl.style.setProperty("--csp-test", "1");
15584
+ document.body.appendChild(testEl);
15585
+ const computed = getComputedStyle(testEl).getPropertyValue("--csp-test");
15586
+ document.body.removeChild(testEl);
15587
+ cspAllowsInlineStyles = "1" === computed;
15588
+ } catch {
15589
+ cspAllowsInlineStyles = false;
15590
+ }
15591
+ if (!cspAllowsInlineStyles) console.info("[hueShift] CSP blocks inline styles - hue customization disabled");
15592
+ return cspAllowsInlineStyles;
15593
+ };
15594
+ const MIN_CHROMA_SCALE = 0.3;
15595
+ function hslHueToOklchHue(hslHue) {
15596
+ const h = (hslHue % 360 + 360) % 360;
15597
+ const controlPoints = [
15598
+ [
15599
+ 0,
15600
+ 29
15601
+ ],
15602
+ [
15603
+ 30,
15604
+ 55
15605
+ ],
15606
+ [
15607
+ 60,
15608
+ 100
15609
+ ],
15610
+ [
15611
+ 120,
15612
+ 145
15613
+ ],
15614
+ [
15615
+ 180,
15616
+ 195
15617
+ ],
15618
+ [
15619
+ 240,
15620
+ 265
15621
+ ],
15622
+ [
15623
+ 300,
15624
+ 330
15625
+ ],
15626
+ [
15627
+ 360,
15628
+ 389
15629
+ ]
15630
+ ];
15631
+ for(let i = 0; i < controlPoints.length - 1; i++){
15632
+ const [h1, o1] = controlPoints[i];
15633
+ const [h2, o2] = controlPoints[i + 1];
15634
+ if (h >= h1 && h <= h2) {
15635
+ const t = (h - h1) / (h2 - h1);
15636
+ const oklchHue = o1 + t * (o2 - o1);
15637
+ return (oklchHue % 360 + 360) % 360;
15638
+ }
15639
+ }
15640
+ return h;
15641
+ }
15642
+ const PRIMARY_SETTINGS = {
15643
+ light: {
15644
+ "--color-primary": {
15645
+ l: 45,
15646
+ c: 0.2
15647
+ },
15648
+ "--color-primary-content": {
15649
+ l: 98,
15650
+ c: 0.02
15651
+ }
15652
+ },
15653
+ dark: {
15654
+ "--color-primary": {
15655
+ l: 58,
15656
+ c: 0.233
15657
+ },
15658
+ "--color-primary-content": {
15659
+ l: 96,
15660
+ c: 0.018
15661
+ }
15662
+ }
15663
+ };
15664
+ const HARMONY_OFFSETS = {
15665
+ secondary: 108,
15666
+ accent: -94
15667
+ };
15668
+ const HARMONY_SETTINGS = {
15669
+ light: {
15670
+ "--color-secondary": {
15671
+ l: 68,
15672
+ c: 0.162
15673
+ },
15674
+ "--color-secondary-content": {
15675
+ l: 98,
15676
+ c: 0.026
15677
+ },
15678
+ "--color-accent": {
15679
+ l: 60,
15680
+ c: 0.118
15681
+ },
15682
+ "--color-accent-content": {
15683
+ l: 98,
15684
+ c: 0.014
15685
+ }
15686
+ },
15687
+ dark: {
15688
+ "--color-secondary": {
15689
+ l: 63,
15690
+ c: 0.237
15691
+ },
15692
+ "--color-secondary-content": {
15693
+ l: 97,
15694
+ c: 0.013
15695
+ },
15696
+ "--color-accent": {
15697
+ l: 70,
15698
+ c: 0.14
15699
+ },
15700
+ "--color-accent-content": {
15701
+ l: 98,
15702
+ c: 0.014
15703
+ }
15704
+ }
15705
+ };
15706
+ const SEMANTIC_BASE_HUES = {
15707
+ success: 140,
15708
+ warning: 55,
15709
+ error: 10,
15710
+ info: 220
15711
+ };
15712
+ const SEMANTIC_TINT_FACTOR = 0.12;
15713
+ const SEMANTIC_SETTINGS = {
15714
+ light: {
15715
+ "--color-success": {
15716
+ l: 72,
15717
+ c: 0.219
15718
+ },
15719
+ "--color-success-content": {
15720
+ l: 98,
15721
+ c: 0.018
15722
+ },
15723
+ "--color-warning": {
15724
+ l: 70,
15725
+ c: 0.213
15726
+ },
15727
+ "--color-warning-content": {
15728
+ l: 98,
15729
+ c: 0.016
15730
+ },
15731
+ "--color-error": {
15732
+ l: 65,
15733
+ c: 0.241
15734
+ },
15735
+ "--color-error-content": {
15736
+ l: 97,
15737
+ c: 0.014
15738
+ },
15739
+ "--color-info": {
15740
+ l: 68,
15741
+ c: 0.169
15742
+ },
15743
+ "--color-info-content": {
15744
+ l: 97,
15745
+ c: 0.013
15746
+ }
15747
+ },
15748
+ dark: {
15749
+ "--color-success": {
15750
+ l: 76,
15751
+ c: 0.233
15752
+ },
15753
+ "--color-success-content": {
15754
+ l: 98,
15755
+ c: 0.031
15756
+ },
15757
+ "--color-warning": {
15758
+ l: 79,
15759
+ c: 0.184
15760
+ },
15761
+ "--color-warning-content": {
15762
+ l: 98,
15763
+ c: 0.026
15764
+ },
15765
+ "--color-error": {
15766
+ l: 64,
15767
+ c: 0.246
15768
+ },
15769
+ "--color-error-content": {
15770
+ l: 96,
15771
+ c: 0.015
15772
+ },
15773
+ "--color-info": {
15774
+ l: 71,
15775
+ c: 0.143
15776
+ },
15777
+ "--color-info-content": {
15778
+ l: 98,
15779
+ c: 0.019
15780
+ }
15781
+ }
15782
+ };
15783
+ const BASE_COLORS = {
15784
+ light: {
15785
+ "--color-base-100": {
15786
+ l: 98,
15787
+ c: 0.001,
15788
+ h: 106.423
15789
+ },
15790
+ "--color-base-200": {
15791
+ l: 97,
15792
+ c: 0.001,
15793
+ h: 106.424
15794
+ },
15795
+ "--color-base-300": {
15796
+ l: 92,
15797
+ c: 0.003,
15798
+ h: 48.717
15799
+ }
15800
+ },
15801
+ dark: {
15802
+ "--color-base-100": {
15803
+ l: 13,
15804
+ c: 0.028,
15805
+ h: 261.692
15806
+ },
15807
+ "--color-base-200": {
15808
+ l: 21,
15809
+ c: 0.034,
15810
+ h: 264.665
15811
+ },
15812
+ "--color-base-300": {
15813
+ l: 27,
15814
+ c: 0.033,
15815
+ h: 256.848
15816
+ }
15817
+ }
15818
+ };
15819
+ const BASE_CHROMA_BOOST = 0.025;
15820
+ const GRADIENT_COLORS = {
15821
+ light: {
15822
+ "--gradient-start": {
15823
+ h: 347,
15824
+ s: 47,
15825
+ l: 93
15826
+ },
15827
+ "--gradient-end": {
15828
+ h: 199,
15829
+ s: 45,
15830
+ l: 93
15831
+ }
15832
+ },
15833
+ dark: {
15834
+ "--gradient-start": {
15835
+ h: 261,
15836
+ s: 38,
15837
+ l: 15
15838
+ },
15839
+ "--gradient-end": {
15840
+ h: 220,
15841
+ s: 54,
15842
+ l: 8
15843
+ }
15844
+ }
15845
+ };
15846
+ function toOklch(l, c, h) {
15847
+ const normalizedH = (h % 360 + 360) % 360;
15848
+ return `oklch(${l}% ${c} ${normalizedH})`;
15849
+ }
15850
+ function hslToHex(h, s, l) {
15851
+ const normalizedH = (h % 360 + 360) % 360;
15852
+ const sNorm = s / 100;
15853
+ const lNorm = l / 100;
15854
+ const c = (1 - Math.abs(2 * lNorm - 1)) * sNorm;
15855
+ const x = c * (1 - Math.abs(normalizedH / 60 % 2 - 1));
15856
+ const m = lNorm - c / 2;
15857
+ let r = 0, g = 0, b = 0;
15858
+ if (normalizedH < 60) {
15859
+ r = c;
15860
+ g = x;
15861
+ b = 0;
15862
+ } else if (normalizedH < 120) {
15863
+ r = x;
15864
+ g = c;
15865
+ b = 0;
15866
+ } else if (normalizedH < 180) {
15867
+ r = 0;
15868
+ g = c;
15869
+ b = x;
15870
+ } else if (normalizedH < 240) {
15871
+ r = 0;
15872
+ g = x;
15873
+ b = c;
15874
+ } else if (normalizedH < 300) {
15875
+ r = x;
15876
+ g = 0;
15877
+ b = c;
15878
+ } else {
15879
+ r = c;
15880
+ g = 0;
15881
+ b = x;
15882
+ }
15883
+ const toHex = (n)=>{
15884
+ const hex = Math.round((n + m) * 255).toString(16);
15885
+ return 1 === hex.length ? "0" + hex : hex;
15886
+ };
15887
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
15888
+ }
15889
+ function getTintedHue(baseHue, targetHue) {
15890
+ let diff = targetHue - baseHue;
15891
+ if (diff > 180) diff -= 360;
15892
+ if (diff < -180) diff += 360;
15893
+ return baseHue + diff * SEMANTIC_TINT_FACTOR;
15894
+ }
15895
+ function getResolvedTheme() {
15896
+ const dataTheme = document.documentElement.getAttribute("data-theme");
15897
+ if ("dark" === dataTheme) return "dark";
15898
+ if ("light" === dataTheme) return "light";
15899
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
15900
+ }
15901
+ function applyHueShift(targetHue, saturation = 100) {
15902
+ if (!checkCspAllowsInlineStyles()) return;
15903
+ const root = document.documentElement;
15904
+ const oklchHue = hslHueToOklchHue(targetHue);
15905
+ const chromaScale = MIN_CHROMA_SCALE + saturation / 100 * (1 - MIN_CHROMA_SCALE);
15906
+ const resolvedTheme = getResolvedTheme();
15907
+ const primarySettings = PRIMARY_SETTINGS[resolvedTheme];
15908
+ for (const [varName, settings] of Object.entries(primarySettings)){
15909
+ const scaledChroma = settings.c * chromaScale;
15910
+ root.style.setProperty(varName, toOklch(settings.l, scaledChroma, oklchHue));
15911
+ }
15912
+ const harmonySettings = HARMONY_SETTINGS[resolvedTheme];
15913
+ for (const [varName, settings] of Object.entries(harmonySettings)){
15914
+ let hue = oklchHue;
15915
+ if (varName.includes("secondary")) hue = oklchHue + HARMONY_OFFSETS.secondary;
15916
+ else if (varName.includes("accent")) hue = oklchHue + HARMONY_OFFSETS.accent;
15917
+ const scaledChroma = settings.c * chromaScale;
15918
+ root.style.setProperty(varName, toOklch(settings.l, scaledChroma, hue));
15919
+ }
15920
+ const semanticSettings = SEMANTIC_SETTINGS[resolvedTheme];
15921
+ for (const [varName, settings] of Object.entries(semanticSettings)){
15922
+ let baseHue = 0;
15923
+ if (varName.includes("success")) baseHue = SEMANTIC_BASE_HUES.success;
15924
+ else if (varName.includes("warning")) baseHue = SEMANTIC_BASE_HUES.warning;
15925
+ else if (varName.includes("error")) baseHue = SEMANTIC_BASE_HUES.error;
15926
+ else if (varName.includes("info")) baseHue = SEMANTIC_BASE_HUES.info;
15927
+ const tintedHue = getTintedHue(baseHue, oklchHue);
15928
+ const semanticChromaScale = MIN_CHROMA_SCALE + (1 - MIN_CHROMA_SCALE) * Math.sqrt(saturation / 100);
15929
+ const scaledChroma = settings.c * semanticChromaScale;
15930
+ root.style.setProperty(varName, toOklch(settings.l, scaledChroma, tintedHue));
15931
+ }
15932
+ const gradients = GRADIENT_COLORS[resolvedTheme];
15933
+ for (const [varName, color] of Object.entries(gradients)){
15934
+ const scaledSat = color.s * (saturation / 100);
15935
+ const shifted = hslToHex(targetHue + (varName.includes("end") ? 40 : 0), scaledSat, color.l);
15936
+ root.style.setProperty(varName, shifted);
15937
+ }
15938
+ const baseColors = BASE_COLORS[resolvedTheme];
15939
+ for (const [varName, color] of Object.entries(baseColors)){
15940
+ const baseChroma = Math.max(color.c, BASE_CHROMA_BOOST);
15941
+ const scaledChroma = baseChroma * chromaScale;
15942
+ const shifted = toOklch(color.l, scaledChroma, oklchHue);
15943
+ root.style.setProperty(varName, shifted);
15944
+ }
15945
+ }
15946
+ function resetHueShift() {
15947
+ if (!checkCspAllowsInlineStyles()) return;
15948
+ const root = document.documentElement;
15949
+ for (const varName of Object.keys(PRIMARY_SETTINGS.light))root.style.removeProperty(varName);
15950
+ for (const varName of Object.keys(HARMONY_SETTINGS.light))root.style.removeProperty(varName);
15951
+ for (const varName of Object.keys(SEMANTIC_SETTINGS.light))root.style.removeProperty(varName);
15952
+ for (const varName of Object.keys(GRADIENT_COLORS.light))root.style.removeProperty(varName);
15953
+ for (const varName of Object.keys(BASE_COLORS.light))root.style.removeProperty(varName);
15954
+ }
15955
+ function createHueShiftStore(storagePrefix) {
15956
+ const STORAGE_KEY = `${storagePrefix}_hue_shift`;
15957
+ const STORAGE_KEY_SAT = `${storagePrefix}_hue_saturation`;
15958
+ const getInitialHueShift = ()=>{
15959
+ if ("undefined" == typeof window) return null;
15960
+ const saved = localStorage.getItem(STORAGE_KEY);
15961
+ if (null !== saved) {
15962
+ const parsed = parseFloat(saved);
15963
+ if (!isNaN(parsed)) return parsed;
15964
+ }
15965
+ return null;
15966
+ };
15967
+ const getInitialSaturation = ()=>{
15968
+ if ("undefined" == typeof window) return 100;
15969
+ const saved = localStorage.getItem(STORAGE_KEY_SAT);
15970
+ if (null !== saved) {
15971
+ const parsed = parseFloat(saved);
15972
+ if (!isNaN(parsed)) return parsed;
15973
+ }
15974
+ return 100;
15975
+ };
15976
+ const [hueShift, setHueShiftInternal] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(getInitialHueShift());
15977
+ const [hueSaturation, setHueSaturationInternal] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(getInitialSaturation());
15978
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
15979
+ const shift = hueShift();
15980
+ const sat = hueSaturation();
15981
+ if ("undefined" == typeof window) return;
15982
+ if (null === shift) {
15983
+ localStorage.removeItem(STORAGE_KEY);
15984
+ localStorage.removeItem(STORAGE_KEY_SAT);
15985
+ resetHueShift();
15986
+ } else {
15987
+ localStorage.setItem(STORAGE_KEY, String(shift));
15988
+ localStorage.setItem(STORAGE_KEY_SAT, String(sat));
15989
+ applyHueShift(shift, sat);
15990
+ }
15991
+ });
15992
+ if ("undefined" != typeof window) {
15993
+ const observer = new MutationObserver((mutations)=>{
15994
+ for (const mutation of mutations)if ("attributes" === mutation.type && "data-theme" === mutation.attributeName) {
15995
+ const shift = hueShift();
15996
+ const sat = hueSaturation();
15997
+ if (null !== shift) requestAnimationFrame(()=>applyHueShift(shift, sat));
15998
+ }
15999
+ });
16000
+ observer.observe(document.documentElement, {
16001
+ attributes: true,
16002
+ attributeFilter: [
16003
+ "data-theme"
16004
+ ]
16005
+ });
16006
+ }
16007
+ const setHueShift = (hue, saturation = 100)=>{
16008
+ setHueShiftInternal(hue);
16009
+ setHueSaturationInternal(saturation);
16010
+ };
16011
+ return {
16012
+ hueShift,
16013
+ hueSaturation,
16014
+ setHueShift,
16015
+ isAvailable: ()=>checkCspAllowsInlineStyles()
16016
+ };
16017
+ }
16018
+ let defaultStore = null;
16019
+ function getDefaultHueShiftStore() {
16020
+ if (!defaultStore) defaultStore = createHueShiftStore("theme");
16021
+ return defaultStore;
16022
+ }
16023
+ var ThemeColorPicker_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div class="absolute right-0 mt-2 p-4 bg-base-100 rounded-lg shadow-xl border border-base-300 z-50">'), ThemeColorPicker_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>");
16024
+ function hueToColorValue(hue, sat) {
16025
+ const h = hue ?? 0;
16026
+ const s = null === hue ? 0 : sat;
16027
+ return {
16028
+ rgb: {
16029
+ r: 255,
16030
+ g: 255,
16031
+ b: 255,
16032
+ a: 1
16033
+ },
16034
+ hsl: {
16035
+ h,
16036
+ s,
16037
+ l: 50,
16038
+ a: 1
16039
+ },
16040
+ hex: "#ffffff"
16041
+ };
16042
+ }
16043
+ const ThemeColorPicker_ThemeColorPicker = (props)=>{
16044
+ const [isOpen, setIsOpen] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
16045
+ const [featureAvailable, setFeatureAvailable] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(true);
16046
+ let containerRef;
16047
+ const store = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>createHueShiftStore(props.storagePrefix ?? "theme"));
16048
+ const colorValue = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>hueToColorValue(store().hueShift(), store().hueSaturation()));
16049
+ const handleColorChange = (color)=>{
16050
+ const hue = color.hsl.h;
16051
+ const saturation = color.hsl.s;
16052
+ if (saturation < 10 && color.hsl.l > 90) {
16053
+ store().setHueShift(null);
16054
+ props.onColorChange?.(null, 100);
16055
+ } else {
16056
+ store().setHueShift(hue, saturation);
16057
+ props.onColorChange?.(hue, saturation);
16058
+ }
16059
+ };
16060
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
16061
+ if (!isOpen()) return;
16062
+ const handleClickOutside = (e)=>{
16063
+ if (containerRef && !containerRef.contains(e.target)) setIsOpen(false);
16064
+ };
16065
+ const timer = setTimeout(()=>{
16066
+ document.addEventListener("click", handleClickOutside);
16067
+ }, 0);
16068
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
16069
+ clearTimeout(timer);
16070
+ document.removeEventListener("click", handleClickOutside);
16071
+ });
16072
+ });
16073
+ const handleKeyDown = (e)=>{
16074
+ if ("Escape" === e.key && isOpen()) setIsOpen(false);
16075
+ };
16076
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
16077
+ const timer = setTimeout(()=>{
16078
+ setFeatureAvailable(store().isAvailable());
16079
+ }, 0);
16080
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>clearTimeout(timer));
16081
+ });
16082
+ const contextValue = ()=>({
16083
+ color: colorValue,
16084
+ format: ()=>"hsl",
16085
+ disabled: ()=>false,
16086
+ onChange: handleColorChange,
16087
+ onFormatChange: ()=>{}
16088
+ });
16089
+ const classes = ()=>twMerge("relative", clsx(props.class, props.className));
16090
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
16091
+ get when () {
16092
+ return featureAvailable();
16093
+ },
16094
+ get children () {
16095
+ var _el$ = ThemeColorPicker_tmpl$2();
16096
+ _el$.$$keydown = handleKeyDown;
16097
+ var _ref$ = containerRef;
16098
+ "function" == typeof _ref$ ? (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)(_ref$, _el$) : containerRef = _el$;
16099
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
16100
+ type: "button",
16101
+ size: "sm",
16102
+ onClick: ()=>setIsOpen(!isOpen()),
16103
+ get ["aria-label"] () {
16104
+ return props["aria-label"] ?? "Change theme color";
16105
+ },
16106
+ get ["aria-expanded"] () {
16107
+ return isOpen();
16108
+ },
16109
+ get children () {
16110
+ return props.children ?? (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(icon_Icon, {
16111
+ name: "icon-[mdi--palette]",
16112
+ width: 16,
16113
+ height: 16,
16114
+ get ["class"] () {
16115
+ return null !== store().hueShift() ? "text-primary" : void 0;
16116
+ }
16117
+ });
16118
+ }
16119
+ }), null);
16120
+ (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, {
16121
+ get when () {
16122
+ return isOpen();
16123
+ },
16124
+ get children () {
16125
+ var _el$2 = ThemeColorPicker_tmpl$();
16126
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(ColorPickerContext.Provider, {
16127
+ get value () {
16128
+ return contextValue();
16129
+ },
16130
+ get children () {
16131
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(colorpicker_ColorWheelFlower, {
16132
+ class: "color-wheel-custom"
16133
+ });
16134
+ }
16135
+ }));
16136
+ return _el$2;
16137
+ }
16138
+ }), null);
16139
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)((_p$)=>{
16140
+ var _v$ = classes(), _v$2 = props.style;
16141
+ _v$ !== _p$.e && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$, _p$.e = _v$);
16142
+ _p$.t = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.style)(_el$, _v$2, _p$.t);
16143
+ return _p$;
16144
+ }, {
16145
+ e: void 0,
16146
+ t: void 0
16147
+ });
16148
+ return _el$;
16149
+ }
16150
+ });
16151
+ };
16152
+ const ThemeColorPicker = ThemeColorPicker_ThemeColorPicker;
16153
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
16154
+ "keydown"
16155
+ ]);
15011
16156
  var Timeline_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<ul>");
15012
16157
  const Timeline_Timeline = (props)=>{
15013
16158
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -15654,4 +16799,4 @@ const createRouteTransitionResolver = (options)=>{
15654
16799
  return fallback ?? noMotion;
15655
16800
  };
15656
16801
  };
15657
- export { accordion_Accordion as Accordion, alert_Alert as Alert, AlphaSlider, artboard_Artboard as Artboard, avatar as Avatar, background_Background as Background, Badge, bottom_sheet_BottomSheet as BottomSheet, 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, colorpicker_ColorInput as ColorInput, colorpicker_ColorPicker as ColorPicker, ColorPickerContext, ColorPickerFlowerSelector, colorpicker_ColorPickerGradientSelector as ColorPickerGradientSelector, ColorPickerWheelSelector, colorpicker_ColorPreview as ColorPreview, colorpicker_ColorSwatches as ColorSwatches, ColorWheel, colorpicker_ColorWheelFlower as ColorWheelFlower, connectionstatus_ConnectionStatus as ConnectionStatus, CopyButton, countdown_Countdown as Countdown, diff_Diff as Diff, divider as Divider, dock as Dock, Drawer, dropdown as Dropdown, EnhancedTable, FileInput, flex_Flex as Flex, footer_Footer as Footer, form_Form as Form, Grid, hero_Hero as Hero, colorpicker_HueSlider as HueSlider, icon_Icon as Icon, immersive_landing_ImmersiveLanding as ImmersiveLanding, ImmersiveLandingContext, indicator_Indicator as Indicator, input as Input, join_Join as Join, kbd_Kbd as Kbd, LightnessSlider, link_Link as Link, loading_Loading as Loading, mask as Mask, menu_Menu as Menu, modal_Modal as Modal, MotionDiv, 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, colorpicker_SaturationBrightness as SaturationBrightness, 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, streaming_table_StreamingTable as StreamingTable, 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, ToastStack_ToastStack as ToastStack, toggle_Toggle as Toggle, tooltip_Tooltip as Tooltip, windowmockup_WindowMockup as WindowMockup, createMotionPresets, createMotionSystem, createPopmotionDriver, createRouteTransitionResolver, createStreamingTableStore, connectionstatus_ConnectionStatus as default, defaultMotionTokens, enablePopmotion, getMotionDriver, presets_getPreset as getPreset, immediateDriver, mergeMotionTokens, motionDistances, motionDurations, motionEasings, motionPresets, noMotion, prefersReducedMotion, presets_registerPreset as registerPreset, resolveEase, presets_resolvePreset as resolvePreset, routeTransition, runMotion, setMotionDriver, toastStore, useColorPickerContext, useDesktop, useFormValidation, useImmersiveLanding, useImmersiveLandingContext };
16802
+ export { accordion_Accordion as Accordion, alert_Alert as Alert, AlphaSlider, artboard_Artboard as Artboard, avatar as Avatar, background_Background as Background, Badge, bottom_sheet_BottomSheet as BottomSheet, 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, colorpicker_ColorInput as ColorInput, colorpicker_ColorPicker as ColorPicker, ColorPickerContext, ColorPickerFlowerSelector, colorpicker_ColorPickerGradientSelector as ColorPickerGradientSelector, ColorPickerWheelSelector, colorpicker_ColorPreview as ColorPreview, colorpicker_ColorSwatches as ColorSwatches, ColorWheel, colorpicker_ColorWheelFlower as ColorWheelFlower, connectionstatus_ConnectionStatus as ConnectionStatus, CopyButton, countdown_Countdown as Countdown, diff_Diff as Diff, divider as Divider, dock as Dock, Drawer, dropdown as Dropdown, EnhancedTable, FileInput, flex_Flex as Flex, footer_Footer as Footer, form_Form as Form, Grid, hero_Hero as Hero, colorpicker_HueSlider as HueSlider, I18nContext, I18nProvider, icon_Icon as Icon, immersive_landing_ImmersiveLanding as ImmersiveLanding, ImmersiveLandingContext, indicator_Indicator as Indicator, input as Input, join_Join as Join, kbd_Kbd as Kbd, language_switcher_LanguageSwitcher as LanguageSwitcher, LightnessSlider, link_Link as Link, live_chat_LiveChatBubble as LiveChatBubble, LiveChatPanel, loading_Loading as Loading, mask as Mask, menu_Menu as Menu, modal_Modal as Modal, MotionDiv, 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, colorpicker_SaturationBrightness as SaturationBrightness, 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, streaming_table_StreamingTable as StreamingTable, Summary, SvgBackground, Swap, table_Table as Table, tabs_Tabs as Tabs, textarea_Textarea as Textarea, ThemeColorPicker, Timeline, timeline_TimelineEnd as TimelineEnd, timeline_TimelineItem as TimelineItem, timeline_TimelineMiddle as TimelineMiddle, timeline_TimelineStart as TimelineStart, toast_Toast as Toast, ToastContainer, ToastStack_ToastStack as ToastStack, toggle_Toggle as Toggle, tooltip_Tooltip as Tooltip, windowmockup_WindowMockup as WindowMockup, createHueShiftStore, createI18n, createMotionPresets, createMotionSystem, createPopmotionDriver, createRouteTransitionResolver, createStreamingTableStore, connectionstatus_ConnectionStatus as default, defaultMotionTokens, enablePopmotion, getDefaultHueShiftStore, getMotionDriver, presets_getPreset as getPreset, immediateDriver, mergeMotionTokens, motionDistances, motionDurations, motionEasings, motionPresets, noMotion, prefersReducedMotion, presets_registerPreset as registerPreset, resetHueShift, resolveEase, presets_resolvePreset as resolvePreset, routeTransition, runMotion, setMotionDriver, toastStore, useColorPickerContext, useDesktop, useFormValidation, useI18n, useImmersiveLanding, useImmersiveLandingContext };