@kubex/zinc 1.1.132 → 1.1.133

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.
@@ -56,6 +56,79 @@
56
56
  }
57
57
  ]
58
58
  },
59
+ {
60
+ "kind": "javascript-module",
61
+ "path": "components/action-bar/action-bar.js",
62
+ "declarations": [
63
+ {
64
+ "kind": "class",
65
+ "description": "",
66
+ "name": "ZnActionBar",
67
+ "cssProperties": [
68
+ {
69
+ "description": "An example CSS custom property.",
70
+ "name": "--example"
71
+ }
72
+ ],
73
+ "cssParts": [
74
+ {
75
+ "description": "The component's base wrapper.",
76
+ "name": "base"
77
+ }
78
+ ],
79
+ "slots": [
80
+ {
81
+ "description": "The default slot.",
82
+ "name": ""
83
+ },
84
+ {
85
+ "description": "An example slot.",
86
+ "name": "example"
87
+ }
88
+ ],
89
+ "members": [
90
+ {
91
+ "kind": "field",
92
+ "name": "localize",
93
+ "privacy": "private",
94
+ "readonly": true,
95
+ "default": "new LocalizeController(this)"
96
+ }
97
+ ],
98
+ "events": [
99
+ {
100
+ "description": "Emitted as an example.",
101
+ "name": "zn-event-name"
102
+ }
103
+ ],
104
+ "superclass": {
105
+ "name": "ZincElement",
106
+ "module": "/src/internal/zinc-element"
107
+ },
108
+ "summary": "Short summary of the component's intended use.",
109
+ "tagNameWithoutPrefix": "action-bar",
110
+ "tagName": "zn-action-bar",
111
+ "customElement": true,
112
+ "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/action-bar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
113
+ "documentation": "https://zinc.style/components/action-bar",
114
+ "status": "experimental",
115
+ "since": "1.0",
116
+ "dependencies": [
117
+ "zn-example"
118
+ ]
119
+ }
120
+ ],
121
+ "exports": [
122
+ {
123
+ "kind": "js",
124
+ "name": "default",
125
+ "declaration": {
126
+ "name": "ZnActionBar",
127
+ "module": "components/action-bar/action-bar.js"
128
+ }
129
+ }
130
+ ]
131
+ },
59
132
  {
60
133
  "kind": "javascript-module",
61
134
  "path": "components/alert/alert.js",
@@ -250,79 +323,6 @@
250
323
  }
251
324
  ]
252
325
  },
253
- {
254
- "kind": "javascript-module",
255
- "path": "components/action-bar/action-bar.js",
256
- "declarations": [
257
- {
258
- "kind": "class",
259
- "description": "",
260
- "name": "ZnActionBar",
261
- "cssProperties": [
262
- {
263
- "description": "An example CSS custom property.",
264
- "name": "--example"
265
- }
266
- ],
267
- "cssParts": [
268
- {
269
- "description": "The component's base wrapper.",
270
- "name": "base"
271
- }
272
- ],
273
- "slots": [
274
- {
275
- "description": "The default slot.",
276
- "name": ""
277
- },
278
- {
279
- "description": "An example slot.",
280
- "name": "example"
281
- }
282
- ],
283
- "members": [
284
- {
285
- "kind": "field",
286
- "name": "localize",
287
- "privacy": "private",
288
- "readonly": true,
289
- "default": "new LocalizeController(this)"
290
- }
291
- ],
292
- "events": [
293
- {
294
- "description": "Emitted as an example.",
295
- "name": "zn-event-name"
296
- }
297
- ],
298
- "superclass": {
299
- "name": "ZincElement",
300
- "module": "/src/internal/zinc-element"
301
- },
302
- "summary": "Short summary of the component's intended use.",
303
- "tagNameWithoutPrefix": "action-bar",
304
- "tagName": "zn-action-bar",
305
- "customElement": true,
306
- "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/action-bar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
307
- "documentation": "https://zinc.style/components/action-bar",
308
- "status": "experimental",
309
- "since": "1.0",
310
- "dependencies": [
311
- "zn-example"
312
- ]
313
- }
314
- ],
315
- "exports": [
316
- {
317
- "kind": "js",
318
- "name": "default",
319
- "declaration": {
320
- "name": "ZnActionBar",
321
- "module": "components/action-bar/action-bar.js"
322
- }
323
- }
324
- ]
325
- },
326
326
  {
327
327
  "kind": "javascript-module",
328
328
  "path": "components/animated-button/animated-button.js",
@@ -3443,6 +3443,351 @@
3443
3443
  }
3444
3444
  ]
3445
3445
  },
3446
+ {
3447
+ "kind": "javascript-module",
3448
+ "path": "components/chat-message/chat-message.js",
3449
+ "declarations": [
3450
+ {
3451
+ "kind": "class",
3452
+ "description": "",
3453
+ "name": "ZnChatMessage",
3454
+ "cssProperties": [
3455
+ {
3456
+ "description": "The bubble's background color.",
3457
+ "name": "--message-background"
3458
+ }
3459
+ ],
3460
+ "cssParts": [
3461
+ {
3462
+ "description": "The component's base wrapper.",
3463
+ "name": "base"
3464
+ },
3465
+ {
3466
+ "description": "The avatar column.",
3467
+ "name": "avatar"
3468
+ },
3469
+ {
3470
+ "description": "The header and bubble column.",
3471
+ "name": "body"
3472
+ },
3473
+ {
3474
+ "description": "The sender/time/badge row.",
3475
+ "name": "header"
3476
+ },
3477
+ {
3478
+ "description": "The message bubble.",
3479
+ "name": "bubble"
3480
+ },
3481
+ {
3482
+ "description": "The message content within the bubble.",
3483
+ "name": "content"
3484
+ },
3485
+ {
3486
+ "description": "The attachments row beneath the message content.",
3487
+ "name": "attachments"
3488
+ },
3489
+ {
3490
+ "description": "The card rendered for system action types.",
3491
+ "name": "system-card"
3492
+ }
3493
+ ],
3494
+ "slots": [
3495
+ {
3496
+ "description": "The message content. Ignored when the `message` attribute is set.",
3497
+ "name": ""
3498
+ },
3499
+ {
3500
+ "description": "Rendered in the header after the sender and time (e.g. an INTERNAL NOTE chip).",
3501
+ "name": "badge"
3502
+ },
3503
+ {
3504
+ "description": "Attachments displayed beneath the message content. Use `zn-chat-message-attachment`, which auto-assigns itself to this slot.",
3505
+ "name": "attachments"
3506
+ },
3507
+ {
3508
+ "description": "Action rendered at the end of the bubble (e.g. a remove icon button).",
3509
+ "name": "edit-dialog-trigger"
3510
+ },
3511
+ {
3512
+ "description": "Pass-through for an associated dialog element.",
3513
+ "name": "edit-dialog"
3514
+ }
3515
+ ],
3516
+ "members": [
3517
+ {
3518
+ "kind": "field",
3519
+ "name": "dependencies",
3520
+ "type": {
3521
+ "text": "object"
3522
+ },
3523
+ "static": true,
3524
+ "default": "{ 'zn-icon': ZnIcon }"
3525
+ },
3526
+ {
3527
+ "kind": "field",
3528
+ "name": "SYSTEM_ACTION_TYPES",
3529
+ "type": {
3530
+ "text": "readonly string[]"
3531
+ },
3532
+ "static": true,
3533
+ "readonly": true,
3534
+ "default": "[ 'connected.agent', 'attachment.added', 'transfer', 'ended', 'customer.ended', 'customer.connected', 'customer.disconnected', ]"
3535
+ },
3536
+ {
3537
+ "kind": "field",
3538
+ "name": "DISPLAYED_ACTION_TYPES",
3539
+ "type": {
3540
+ "text": "readonly string[]"
3541
+ },
3542
+ "privacy": "private",
3543
+ "static": true,
3544
+ "readonly": true,
3545
+ "default": "[ '', 'connected.agent', 'attachment.added', 'multi.answer', 'transfer', 'ended', 'error', 'customer.ended', 'message-sending', 'customer.connected', 'customer.disconnected', 'internal', ]"
3546
+ },
3547
+ {
3548
+ "kind": "field",
3549
+ "name": "sender",
3550
+ "type": {
3551
+ "text": "string"
3552
+ },
3553
+ "default": "''",
3554
+ "description": "The sender's name, also used for the avatar.",
3555
+ "attribute": "sender"
3556
+ },
3557
+ {
3558
+ "kind": "field",
3559
+ "name": "message",
3560
+ "type": {
3561
+ "text": "string"
3562
+ },
3563
+ "default": "''",
3564
+ "description": "The message body as an HTML string. When set, it is sanitized (scripts and event\nhandlers stripped), newlines become line breaks and bare URLs become links. When\nomitted the default slot is rendered instead.",
3565
+ "attribute": "message"
3566
+ },
3567
+ {
3568
+ "kind": "field",
3569
+ "name": "time",
3570
+ "type": {
3571
+ "text": "string"
3572
+ },
3573
+ "default": "''",
3574
+ "description": "Unix timestamp (seconds) of the message, shown as HH:MM (with date if not today).",
3575
+ "attribute": "time"
3576
+ },
3577
+ {
3578
+ "kind": "field",
3579
+ "name": "avatar",
3580
+ "type": {
3581
+ "text": "string"
3582
+ },
3583
+ "default": "''",
3584
+ "description": "Overrides the avatar source. Defaults to `sender`.",
3585
+ "attribute": "avatar"
3586
+ },
3587
+ {
3588
+ "kind": "field",
3589
+ "name": "actionType",
3590
+ "type": {
3591
+ "text": "ChatMessageActionType"
3592
+ },
3593
+ "default": "''",
3594
+ "description": "The kind of message. Drives system-card rendering, the sending state and badges.",
3595
+ "attribute": "action-type",
3596
+ "reflects": true
3597
+ },
3598
+ {
3599
+ "kind": "field",
3600
+ "name": "customerInitiated",
3601
+ "type": {
3602
+ "text": "boolean"
3603
+ },
3604
+ "default": "false",
3605
+ "description": "Marks the message as initiated by the customer (affects styling and grouping).",
3606
+ "attribute": "customer-initiated",
3607
+ "reflects": true
3608
+ },
3609
+ {
3610
+ "kind": "field",
3611
+ "name": "agentInitiated",
3612
+ "type": {
3613
+ "text": "boolean"
3614
+ },
3615
+ "default": "false",
3616
+ "description": "Marks the message as initiated by an agent (affects styling and grouping).",
3617
+ "attribute": "agent-initiated",
3618
+ "reflects": true
3619
+ },
3620
+ {
3621
+ "kind": "field",
3622
+ "name": "hideSender",
3623
+ "type": {
3624
+ "text": "boolean"
3625
+ },
3626
+ "default": "false",
3627
+ "description": "Hides the sender's name in the message header.",
3628
+ "attribute": "hide-sender",
3629
+ "reflects": true
3630
+ },
3631
+ {
3632
+ "kind": "field",
3633
+ "name": "hasAttachments",
3634
+ "type": {
3635
+ "text": "boolean"
3636
+ },
3637
+ "privacy": "private",
3638
+ "default": "false",
3639
+ "description": "Whether any element is assigned to the `attachments` slot — drives the attachments row visibility."
3640
+ },
3641
+ {
3642
+ "kind": "method",
3643
+ "name": "handleAttachmentsSlotChange",
3644
+ "privacy": "private"
3645
+ },
3646
+ {
3647
+ "kind": "method",
3648
+ "name": "syncHasAttachments",
3649
+ "privacy": "private"
3650
+ },
3651
+ {
3652
+ "kind": "method",
3653
+ "name": "isSystemMessage",
3654
+ "privacy": "private"
3655
+ },
3656
+ {
3657
+ "kind": "method",
3658
+ "name": "renderSystemCard",
3659
+ "privacy": "private"
3660
+ },
3661
+ {
3662
+ "kind": "method",
3663
+ "name": "systemLabel",
3664
+ "privacy": "private"
3665
+ },
3666
+ {
3667
+ "kind": "method",
3668
+ "name": "renderHeader",
3669
+ "privacy": "private"
3670
+ },
3671
+ {
3672
+ "kind": "method",
3673
+ "name": "renderContent",
3674
+ "privacy": "private"
3675
+ },
3676
+ {
3677
+ "kind": "method",
3678
+ "name": "getTime",
3679
+ "privacy": "private",
3680
+ "description": "HH:MM only — used on the system card."
3681
+ },
3682
+ {
3683
+ "kind": "method",
3684
+ "name": "getSentTime",
3685
+ "privacy": "private",
3686
+ "description": "HH:MM, prefixed with the date when the message is not from today."
3687
+ }
3688
+ ],
3689
+ "attributes": [
3690
+ {
3691
+ "name": "sender",
3692
+ "type": {
3693
+ "text": "string"
3694
+ },
3695
+ "default": "''",
3696
+ "description": "The sender's name, also used for the avatar.",
3697
+ "fieldName": "sender"
3698
+ },
3699
+ {
3700
+ "name": "message",
3701
+ "type": {
3702
+ "text": "string"
3703
+ },
3704
+ "default": "''",
3705
+ "description": "The message body as an HTML string. When set, it is sanitized (scripts and event\nhandlers stripped), newlines become line breaks and bare URLs become links. When\nomitted the default slot is rendered instead.",
3706
+ "fieldName": "message"
3707
+ },
3708
+ {
3709
+ "name": "time",
3710
+ "type": {
3711
+ "text": "string"
3712
+ },
3713
+ "default": "''",
3714
+ "description": "Unix timestamp (seconds) of the message, shown as HH:MM (with date if not today).",
3715
+ "fieldName": "time"
3716
+ },
3717
+ {
3718
+ "name": "avatar",
3719
+ "type": {
3720
+ "text": "string"
3721
+ },
3722
+ "default": "''",
3723
+ "description": "Overrides the avatar source. Defaults to `sender`.",
3724
+ "fieldName": "avatar"
3725
+ },
3726
+ {
3727
+ "name": "action-type",
3728
+ "type": {
3729
+ "text": "ChatMessageActionType"
3730
+ },
3731
+ "default": "''",
3732
+ "description": "The kind of message. Drives system-card rendering, the sending state and badges.",
3733
+ "fieldName": "actionType"
3734
+ },
3735
+ {
3736
+ "name": "customer-initiated",
3737
+ "type": {
3738
+ "text": "boolean"
3739
+ },
3740
+ "default": "false",
3741
+ "description": "Marks the message as initiated by the customer (affects styling and grouping).",
3742
+ "fieldName": "customerInitiated"
3743
+ },
3744
+ {
3745
+ "name": "agent-initiated",
3746
+ "type": {
3747
+ "text": "boolean"
3748
+ },
3749
+ "default": "false",
3750
+ "description": "Marks the message as initiated by an agent (affects styling and grouping).",
3751
+ "fieldName": "agentInitiated"
3752
+ },
3753
+ {
3754
+ "name": "hide-sender",
3755
+ "type": {
3756
+ "text": "boolean"
3757
+ },
3758
+ "default": "false",
3759
+ "description": "Hides the sender's name in the message header.",
3760
+ "fieldName": "hideSender"
3761
+ }
3762
+ ],
3763
+ "superclass": {
3764
+ "name": "ZincElement",
3765
+ "module": "/src/internal/zinc-element"
3766
+ },
3767
+ "summary": "A single message in a chat-style conversation: avatar, sender,\ntime, optional badge, and a message bubble with optional actions. Also renders\nsystem events (connections, transfers, etc.) as a centred card.",
3768
+ "tagNameWithoutPrefix": "chat-message",
3769
+ "tagName": "zn-chat-message",
3770
+ "customElement": true,
3771
+ "jsDoc": "/**\n * @summary A single message in a chat-style conversation: avatar, sender,\n * time, optional badge, and a message bubble with optional actions. Also renders\n * system events (connections, transfers, etc.) as a centred card.\n * @documentation https://zinc.style/components/chat-message\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - The message content. Ignored when the `message` attribute is set.\n * @slot badge - Rendered in the header after the sender and time (e.g. an INTERNAL NOTE chip).\n * @slot attachments - Attachments displayed beneath the message content. Use `zn-chat-message-attachment`,\n * which auto-assigns itself to this slot.\n * @slot edit-dialog-trigger - Action rendered at the end of the bubble (e.g. a remove icon button).\n * @slot edit-dialog - Pass-through for an associated dialog element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart avatar - The avatar column.\n * @csspart body - The header and bubble column.\n * @csspart header - The sender/time/badge row.\n * @csspart bubble - The message bubble.\n * @csspart content - The message content within the bubble.\n * @csspart attachments - The attachments row beneath the message content.\n * @csspart system-card - The card rendered for system action types.\n *\n * @cssproperty --message-background - The bubble's background color.\n */",
3772
+ "documentation": "https://zinc.style/components/chat-message",
3773
+ "status": "experimental",
3774
+ "since": "1.0",
3775
+ "dependencies": [
3776
+ "zn-icon"
3777
+ ]
3778
+ }
3779
+ ],
3780
+ "exports": [
3781
+ {
3782
+ "kind": "js",
3783
+ "name": "default",
3784
+ "declaration": {
3785
+ "name": "ZnChatMessage",
3786
+ "module": "components/chat-message/chat-message.js"
3787
+ }
3788
+ }
3789
+ ]
3790
+ },
3446
3791
  {
3447
3792
  "kind": "javascript-module",
3448
3793
  "path": "components/chart/chart.js",
@@ -3959,351 +4304,6 @@
3959
4304
  }
3960
4305
  ]
3961
4306
  },
3962
- {
3963
- "kind": "javascript-module",
3964
- "path": "components/chat-message/chat-message.js",
3965
- "declarations": [
3966
- {
3967
- "kind": "class",
3968
- "description": "",
3969
- "name": "ZnChatMessage",
3970
- "cssProperties": [
3971
- {
3972
- "description": "The bubble's background color.",
3973
- "name": "--message-background"
3974
- }
3975
- ],
3976
- "cssParts": [
3977
- {
3978
- "description": "The component's base wrapper.",
3979
- "name": "base"
3980
- },
3981
- {
3982
- "description": "The avatar column.",
3983
- "name": "avatar"
3984
- },
3985
- {
3986
- "description": "The header and bubble column.",
3987
- "name": "body"
3988
- },
3989
- {
3990
- "description": "The sender/time/badge row.",
3991
- "name": "header"
3992
- },
3993
- {
3994
- "description": "The message bubble.",
3995
- "name": "bubble"
3996
- },
3997
- {
3998
- "description": "The message content within the bubble.",
3999
- "name": "content"
4000
- },
4001
- {
4002
- "description": "The attachments row beneath the message content.",
4003
- "name": "attachments"
4004
- },
4005
- {
4006
- "description": "The card rendered for system action types.",
4007
- "name": "system-card"
4008
- }
4009
- ],
4010
- "slots": [
4011
- {
4012
- "description": "The message content. Ignored when the `message` attribute is set.",
4013
- "name": ""
4014
- },
4015
- {
4016
- "description": "Rendered in the header after the sender and time (e.g. an INTERNAL NOTE chip).",
4017
- "name": "badge"
4018
- },
4019
- {
4020
- "description": "Attachments displayed beneath the message content. Use `zn-chat-message-attachment`, which auto-assigns itself to this slot.",
4021
- "name": "attachments"
4022
- },
4023
- {
4024
- "description": "Action rendered at the end of the bubble (e.g. a remove icon button).",
4025
- "name": "edit-dialog-trigger"
4026
- },
4027
- {
4028
- "description": "Pass-through for an associated dialog element.",
4029
- "name": "edit-dialog"
4030
- }
4031
- ],
4032
- "members": [
4033
- {
4034
- "kind": "field",
4035
- "name": "dependencies",
4036
- "type": {
4037
- "text": "object"
4038
- },
4039
- "static": true,
4040
- "default": "{ 'zn-icon': ZnIcon }"
4041
- },
4042
- {
4043
- "kind": "field",
4044
- "name": "SYSTEM_ACTION_TYPES",
4045
- "type": {
4046
- "text": "readonly string[]"
4047
- },
4048
- "static": true,
4049
- "readonly": true,
4050
- "default": "[ 'connected.agent', 'attachment.added', 'transfer', 'ended', 'customer.ended', 'customer.connected', 'customer.disconnected', ]"
4051
- },
4052
- {
4053
- "kind": "field",
4054
- "name": "DISPLAYED_ACTION_TYPES",
4055
- "type": {
4056
- "text": "readonly string[]"
4057
- },
4058
- "privacy": "private",
4059
- "static": true,
4060
- "readonly": true,
4061
- "default": "[ '', 'connected.agent', 'attachment.added', 'multi.answer', 'transfer', 'ended', 'error', 'customer.ended', 'message-sending', 'customer.connected', 'customer.disconnected', 'internal', ]"
4062
- },
4063
- {
4064
- "kind": "field",
4065
- "name": "sender",
4066
- "type": {
4067
- "text": "string"
4068
- },
4069
- "default": "''",
4070
- "description": "The sender's name, also used for the avatar.",
4071
- "attribute": "sender"
4072
- },
4073
- {
4074
- "kind": "field",
4075
- "name": "message",
4076
- "type": {
4077
- "text": "string"
4078
- },
4079
- "default": "''",
4080
- "description": "The message body as an HTML string. When set, it is sanitized (scripts and event\nhandlers stripped), newlines become line breaks and bare URLs become links. When\nomitted the default slot is rendered instead.",
4081
- "attribute": "message"
4082
- },
4083
- {
4084
- "kind": "field",
4085
- "name": "time",
4086
- "type": {
4087
- "text": "string"
4088
- },
4089
- "default": "''",
4090
- "description": "Unix timestamp (seconds) of the message, shown as HH:MM (with date if not today).",
4091
- "attribute": "time"
4092
- },
4093
- {
4094
- "kind": "field",
4095
- "name": "avatar",
4096
- "type": {
4097
- "text": "string"
4098
- },
4099
- "default": "''",
4100
- "description": "Overrides the avatar source. Defaults to `sender`.",
4101
- "attribute": "avatar"
4102
- },
4103
- {
4104
- "kind": "field",
4105
- "name": "actionType",
4106
- "type": {
4107
- "text": "ChatMessageActionType"
4108
- },
4109
- "default": "''",
4110
- "description": "The kind of message. Drives system-card rendering, the sending state and badges.",
4111
- "attribute": "action-type",
4112
- "reflects": true
4113
- },
4114
- {
4115
- "kind": "field",
4116
- "name": "customerInitiated",
4117
- "type": {
4118
- "text": "boolean"
4119
- },
4120
- "default": "false",
4121
- "description": "Marks the message as initiated by the customer (affects styling and grouping).",
4122
- "attribute": "customer-initiated",
4123
- "reflects": true
4124
- },
4125
- {
4126
- "kind": "field",
4127
- "name": "agentInitiated",
4128
- "type": {
4129
- "text": "boolean"
4130
- },
4131
- "default": "false",
4132
- "description": "Marks the message as initiated by an agent (affects styling and grouping).",
4133
- "attribute": "agent-initiated",
4134
- "reflects": true
4135
- },
4136
- {
4137
- "kind": "field",
4138
- "name": "hideSender",
4139
- "type": {
4140
- "text": "boolean"
4141
- },
4142
- "default": "false",
4143
- "description": "Hides the sender's name in the message header.",
4144
- "attribute": "hide-sender",
4145
- "reflects": true
4146
- },
4147
- {
4148
- "kind": "field",
4149
- "name": "hasAttachments",
4150
- "type": {
4151
- "text": "boolean"
4152
- },
4153
- "privacy": "private",
4154
- "default": "false",
4155
- "description": "Whether any element is assigned to the `attachments` slot — drives the attachments row visibility."
4156
- },
4157
- {
4158
- "kind": "method",
4159
- "name": "handleAttachmentsSlotChange",
4160
- "privacy": "private"
4161
- },
4162
- {
4163
- "kind": "method",
4164
- "name": "syncHasAttachments",
4165
- "privacy": "private"
4166
- },
4167
- {
4168
- "kind": "method",
4169
- "name": "isSystemMessage",
4170
- "privacy": "private"
4171
- },
4172
- {
4173
- "kind": "method",
4174
- "name": "renderSystemCard",
4175
- "privacy": "private"
4176
- },
4177
- {
4178
- "kind": "method",
4179
- "name": "systemLabel",
4180
- "privacy": "private"
4181
- },
4182
- {
4183
- "kind": "method",
4184
- "name": "renderHeader",
4185
- "privacy": "private"
4186
- },
4187
- {
4188
- "kind": "method",
4189
- "name": "renderContent",
4190
- "privacy": "private"
4191
- },
4192
- {
4193
- "kind": "method",
4194
- "name": "getTime",
4195
- "privacy": "private",
4196
- "description": "HH:MM only — used on the system card."
4197
- },
4198
- {
4199
- "kind": "method",
4200
- "name": "getSentTime",
4201
- "privacy": "private",
4202
- "description": "HH:MM, prefixed with the date when the message is not from today."
4203
- }
4204
- ],
4205
- "attributes": [
4206
- {
4207
- "name": "sender",
4208
- "type": {
4209
- "text": "string"
4210
- },
4211
- "default": "''",
4212
- "description": "The sender's name, also used for the avatar.",
4213
- "fieldName": "sender"
4214
- },
4215
- {
4216
- "name": "message",
4217
- "type": {
4218
- "text": "string"
4219
- },
4220
- "default": "''",
4221
- "description": "The message body as an HTML string. When set, it is sanitized (scripts and event\nhandlers stripped), newlines become line breaks and bare URLs become links. When\nomitted the default slot is rendered instead.",
4222
- "fieldName": "message"
4223
- },
4224
- {
4225
- "name": "time",
4226
- "type": {
4227
- "text": "string"
4228
- },
4229
- "default": "''",
4230
- "description": "Unix timestamp (seconds) of the message, shown as HH:MM (with date if not today).",
4231
- "fieldName": "time"
4232
- },
4233
- {
4234
- "name": "avatar",
4235
- "type": {
4236
- "text": "string"
4237
- },
4238
- "default": "''",
4239
- "description": "Overrides the avatar source. Defaults to `sender`.",
4240
- "fieldName": "avatar"
4241
- },
4242
- {
4243
- "name": "action-type",
4244
- "type": {
4245
- "text": "ChatMessageActionType"
4246
- },
4247
- "default": "''",
4248
- "description": "The kind of message. Drives system-card rendering, the sending state and badges.",
4249
- "fieldName": "actionType"
4250
- },
4251
- {
4252
- "name": "customer-initiated",
4253
- "type": {
4254
- "text": "boolean"
4255
- },
4256
- "default": "false",
4257
- "description": "Marks the message as initiated by the customer (affects styling and grouping).",
4258
- "fieldName": "customerInitiated"
4259
- },
4260
- {
4261
- "name": "agent-initiated",
4262
- "type": {
4263
- "text": "boolean"
4264
- },
4265
- "default": "false",
4266
- "description": "Marks the message as initiated by an agent (affects styling and grouping).",
4267
- "fieldName": "agentInitiated"
4268
- },
4269
- {
4270
- "name": "hide-sender",
4271
- "type": {
4272
- "text": "boolean"
4273
- },
4274
- "default": "false",
4275
- "description": "Hides the sender's name in the message header.",
4276
- "fieldName": "hideSender"
4277
- }
4278
- ],
4279
- "superclass": {
4280
- "name": "ZincElement",
4281
- "module": "/src/internal/zinc-element"
4282
- },
4283
- "summary": "A single message in a chat-style conversation: avatar, sender,\ntime, optional badge, and a message bubble with optional actions. Also renders\nsystem events (connections, transfers, etc.) as a centred card.",
4284
- "tagNameWithoutPrefix": "chat-message",
4285
- "tagName": "zn-chat-message",
4286
- "customElement": true,
4287
- "jsDoc": "/**\n * @summary A single message in a chat-style conversation: avatar, sender,\n * time, optional badge, and a message bubble with optional actions. Also renders\n * system events (connections, transfers, etc.) as a centred card.\n * @documentation https://zinc.style/components/chat-message\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - The message content. Ignored when the `message` attribute is set.\n * @slot badge - Rendered in the header after the sender and time (e.g. an INTERNAL NOTE chip).\n * @slot attachments - Attachments displayed beneath the message content. Use `zn-chat-message-attachment`,\n * which auto-assigns itself to this slot.\n * @slot edit-dialog-trigger - Action rendered at the end of the bubble (e.g. a remove icon button).\n * @slot edit-dialog - Pass-through for an associated dialog element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart avatar - The avatar column.\n * @csspart body - The header and bubble column.\n * @csspart header - The sender/time/badge row.\n * @csspart bubble - The message bubble.\n * @csspart content - The message content within the bubble.\n * @csspart attachments - The attachments row beneath the message content.\n * @csspart system-card - The card rendered for system action types.\n *\n * @cssproperty --message-background - The bubble's background color.\n */",
4288
- "documentation": "https://zinc.style/components/chat-message",
4289
- "status": "experimental",
4290
- "since": "1.0",
4291
- "dependencies": [
4292
- "zn-icon"
4293
- ]
4294
- }
4295
- ],
4296
- "exports": [
4297
- {
4298
- "kind": "js",
4299
- "name": "default",
4300
- "declaration": {
4301
- "name": "ZnChatMessage",
4302
- "module": "components/chat-message/chat-message.js"
4303
- }
4304
- }
4305
- ]
4306
- },
4307
4307
  {
4308
4308
  "kind": "javascript-module",
4309
4309
  "path": "components/chat-message-attachment/chat-message-attachment.js",
@@ -8856,6 +8856,16 @@
8856
8856
  "default": "false",
8857
8857
  "attribute": "no-initial-load"
8858
8858
  },
8859
+ {
8860
+ "kind": "field",
8861
+ "name": "sharable",
8862
+ "type": {
8863
+ "text": "boolean"
8864
+ },
8865
+ "default": "false",
8866
+ "description": "When set, the table's non-default state (search, filter, sort, page, per-page and field values)\nis mirrored to the URL query string and restored from it on load, so the view is shareable.",
8867
+ "attribute": "sharable"
8868
+ },
8859
8869
  {
8860
8870
  "kind": "field",
8861
8871
  "name": "groupBy",
@@ -8926,6 +8936,31 @@
8926
8936
  "privacy": "private",
8927
8937
  "default": "html``"
8928
8938
  },
8939
+ {
8940
+ "kind": "field",
8941
+ "name": "_sharableInitialised",
8942
+ "type": {
8943
+ "text": "boolean"
8944
+ },
8945
+ "privacy": "private",
8946
+ "default": "false"
8947
+ },
8948
+ {
8949
+ "kind": "field",
8950
+ "name": "_sharableDefaults",
8951
+ "type": {
8952
+ "text": "Record<string, string> | null"
8953
+ },
8954
+ "privacy": "private",
8955
+ "default": "null"
8956
+ },
8957
+ {
8958
+ "kind": "field",
8959
+ "name": "_urlManagedKeys",
8960
+ "privacy": "private",
8961
+ "readonly": true,
8962
+ "default": "new Set<string>(['search', 'filter', 'sortColumn', 'sortDirection', 'page', 'perPage'])"
8963
+ },
8929
8964
  {
8930
8965
  "kind": "field",
8931
8966
  "name": "resizeObserver",
@@ -9013,7 +9048,7 @@
9013
9048
  "kind": "field",
9014
9049
  "name": "_dataTask",
9015
9050
  "privacy": "private",
9016
- "default": "new Task(this, { task: async ([dataUri, requestParams], {signal}) => { if (dataUri === undefined || this.noInitialLoad && this._initialLoad) { return {rows: [], page: 1, perPage: this.itemsPerPage, total: 0}; } if (this.groupBy) { // we want to load all the data possible so we can group and show multiple tables this.itemsPerPage = 1000; } const requestData: DataRequest = { page: this.page, perPage: this.itemsPerPage, sortColumn: this.sortColumn, sortDirection: this.sortDirection, filter: this.filter, search: this.search, }; // get all inputs that are in the inputs slot and add them to the const inputs = this.hasSlotController.getSlots(ActionSlots.inputs.valueOf()); const params: Record<string, any> = {}; if (inputs) { inputs.forEach((input) => { const allowedInputs = ['zn-input', 'zn-select', 'zn-query-builder', 'zn-multiselect', 'zn-params-select', 'zn-datepicker', 'input', 'select', 'textarea']; if (allowedInputs.includes(input.tagName.toLowerCase())) { const value = (input as AllowedInputElement).value as string || input.getAttribute('value'); const name = (input as AllowedInputElement).name || input.getAttribute('name'); if (name) { params[name] = value; } } }); Object.assign(requestData, params); } // Add any extra request params if (requestParams && typeof requestParams === 'object') { Object.assign(requestData, requestParams); } // This is also used for Rubix, so it may not work for your application. const response = await fetch(dataUri, { method: this.method, headers: { 'x-kx-fetch-style': 'zn-data-table', }, signal, credentials: 'same-origin', body: this.method === 'POST' ? JSON.stringify(requestData) : undefined }); if (!response.ok) throw new Error(response.statusText); return response.json(); }, args: () => [this.dataUri, this.requestParams] })"
9051
+ "default": "new Task(this, { task: async ([dataUri, requestParams], {signal}) => { // Every request path funnels through the task, so this is the single place to mirror the // current (non-default) state to the URL when `sharable` is set. this._updateSharableUrl(); if (dataUri === undefined || this.noInitialLoad && this._initialLoad) { return {rows: [], page: 1, perPage: this.itemsPerPage, total: 0}; } if (this.groupBy) { // we want to load all the data possible so we can group and show multiple tables this.itemsPerPage = 1000; } const requestData: DataRequest = { page: this.page, perPage: this.itemsPerPage, sortColumn: this.sortColumn, sortDirection: this.sortDirection, filter: this.filter, search: this.search, }; // Inputs-slot values are context/system params (e.g. csrf token, package name) sent with // every request - they stay at the root of the payload. const inputs = this.hasSlotController.getSlots(ActionSlots.inputs.valueOf()); const params: Record<string, any> = {}; if (inputs) { inputs.forEach((input) => { const allowedInputs = ['zn-input', 'zn-select', 'zn-query-builder', 'zn-multiselect', 'zn-params-select', 'zn-datepicker', 'input', 'select', 'textarea']; if (allowedInputs.includes(input.tagName.toLowerCase())) { const value = (input as AllowedInputElement).value as string || input.getAttribute('value'); const name = (input as AllowedInputElement).name || input.getAttribute('name'); if (name) { params[name] = value; } } }); Object.assign(requestData, params); } // Search-related fields (from <zn-data-table-search>'s `fields` slot, delivered via // requestParams) are wrapped under `searchFields` so the backend can bind them to a single // map rather than arbitrary root-level keys. `q` mirrors the search text; the root `search` // key is still sent for back-compatibility. Empty values are dropped, and `searchFields` is // null when nothing meaningful remains so the backend can treat it as \"no search\". const searchFields: Record<string, any> = {}; if (requestParams && typeof requestParams === 'object') { for (const [key, value] of Object.entries(requestParams as Record<string, unknown>)) { if (value !== undefined && value !== null && value !== '') { searchFields[key] = value; } } } if (this.search || Object.keys(searchFields).length > 0) { searchFields.q = this.search; } requestData.searchFields = Object.keys(searchFields).length > 0 ? searchFields : null; // This is also used for Rubix, so it may not work for your application. const response = await fetch(dataUri, { method: this.method, headers: { 'x-kx-fetch-style': 'zn-data-table', }, signal, credentials: 'same-origin', body: this.method === 'POST' ? JSON.stringify(requestData) : undefined }); if (!response.ok) throw new Error(response.statusText); return response.json(); }, args: () => [this.dataUri, this.requestParams] })"
9017
9052
  },
9018
9053
  {
9019
9054
  "kind": "field",
@@ -9154,6 +9189,78 @@
9154
9189
  }
9155
9190
  ]
9156
9191
  },
9192
+ {
9193
+ "kind": "field",
9194
+ "name": "_sharableKnownKeys",
9195
+ "type": {
9196
+ "text": "array"
9197
+ },
9198
+ "privacy": "private",
9199
+ "static": true,
9200
+ "readonly": true,
9201
+ "default": "['search', 'filter', 'sortColumn', 'sortDirection', 'page', 'perPage']"
9202
+ },
9203
+ {
9204
+ "kind": "method",
9205
+ "name": "_captureSharableDefaults",
9206
+ "privacy": "private",
9207
+ "description": "Snapshot the initial (attribute-provided) value of every managed key, so the URL writer can\nomit any key still holding its default - e.g. the table's default sort/direction, page 1 or the\ndefault page size. Captured once, before the URL is read, so URL values are treated as deltas."
9208
+ },
9209
+ {
9210
+ "kind": "method",
9211
+ "name": "_readSharableState",
9212
+ "privacy": "private",
9213
+ "description": "Seed the table state from the URL query string (raw param names) when `sharable` is set. Runs\nonce, before the first render, so the initial data request already carries the shared state."
9214
+ },
9215
+ {
9216
+ "kind": "method",
9217
+ "name": "_populateSharableFields",
9218
+ "privacy": "private",
9219
+ "description": "Push the shared state back into the actual DOM fields so the UI reflects it. The search value\nlives on the slotted <zn-data-table-search>, the filter on <zn-data-table-filter>, and extra\nfield params on the search/inputs fields (all light-DOM descendants)."
9220
+ },
9221
+ {
9222
+ "kind": "method",
9223
+ "name": "_hasFieldNamed",
9224
+ "privacy": "private",
9225
+ "return": {
9226
+ "type": {
9227
+ "text": "boolean"
9228
+ }
9229
+ },
9230
+ "parameters": [
9231
+ {
9232
+ "name": "name",
9233
+ "type": {
9234
+ "text": "string"
9235
+ }
9236
+ }
9237
+ ]
9238
+ },
9239
+ {
9240
+ "kind": "method",
9241
+ "name": "_setSharableFieldValue",
9242
+ "privacy": "private",
9243
+ "parameters": [
9244
+ {
9245
+ "name": "name",
9246
+ "type": {
9247
+ "text": "string"
9248
+ }
9249
+ },
9250
+ {
9251
+ "name": "value",
9252
+ "type": {
9253
+ "text": "string"
9254
+ }
9255
+ }
9256
+ ]
9257
+ },
9258
+ {
9259
+ "kind": "method",
9260
+ "name": "_updateSharableUrl",
9261
+ "privacy": "private",
9262
+ "description": "Mirror the current table state to the URL query string (raw param names) via replaceState.\nA key is written only when its value differs from the captured default, so the default sort,\npage 1, the default page size and empty search/filter/fields never clutter the URL. Unrelated\nparams (e.g. utm_*) are preserved."
9263
+ },
9157
9264
  {
9158
9265
  "kind": "method",
9159
9266
  "name": "publishFilterSuggestions",
@@ -9951,6 +10058,15 @@
9951
10058
  "default": "false",
9952
10059
  "fieldName": "noInitialLoad"
9953
10060
  },
10061
+ {
10062
+ "name": "sharable",
10063
+ "type": {
10064
+ "text": "boolean"
10065
+ },
10066
+ "default": "false",
10067
+ "description": "When set, the table's non-default state (search, filter, sort, page, per-page and field values)\nis mirrored to the URL query string and restored from it on load, so the view is shareable.",
10068
+ "fieldName": "sharable"
10069
+ },
9954
10070
  {
9955
10071
  "name": "group-by",
9956
10072
  "type": {
@@ -10448,6 +10564,12 @@
10448
10564
  "name": "emitChange",
10449
10565
  "privacy": "private"
10450
10566
  },
10567
+ {
10568
+ "kind": "method",
10569
+ "name": "hydrateFromValue",
10570
+ "privacy": "private",
10571
+ "description": "Rebuild the active filters from an encoded `value` (the inverse of emitChange), so a filter\nrestored from a shareable URL shows its pills. Runs only while there are no active filters and\nneeds the filters schema present to resolve each key. Sets `_active` directly so it neither\nre-emits nor overwrites the value it just read."
10572
+ },
10451
10573
  {
10452
10574
  "kind": "method",
10453
10575
  "name": "handleDateInput",
@@ -10919,7 +11041,7 @@
10919
11041
  "text": "number"
10920
11042
  },
10921
11043
  "default": "350",
10922
- "description": "The delay in milliseconds before triggering a search (default: 500).",
11044
+ "description": "The delay in milliseconds before triggering a search (default: 350).",
10923
11045
  "attribute": "debounce-delay"
10924
11046
  },
10925
11047
  {
@@ -11056,7 +11178,7 @@
11056
11178
  "text": "number"
11057
11179
  },
11058
11180
  "default": "350",
11059
- "description": "The delay in milliseconds before triggering a search (default: 500).",
11181
+ "description": "The delay in milliseconds before triggering a search (default: 350).",
11060
11182
  "fieldName": "debounceDelay"
11061
11183
  }
11062
11184
  ],
@@ -11068,7 +11190,7 @@
11068
11190
  "tagNameWithoutPrefix": "data-table-search",
11069
11191
  "tagName": "zn-data-table-search",
11070
11192
  "customElement": true,
11071
- "jsDoc": "/**\n * @summary A search component for data tables.\n * @documentation https://zinc.style/components/data-table-search\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-input\n * @dependency zn-tooltip\n *\n * @event zn-search-change - Emitted when the search value changes (debounced).\n *\n * @slot - The default slot for additional form inputs.\n *\n * @csspart base - The component's base wrapper.\n *\n * @property {string} name - The name of the search input field (default: \"search\").\n * @property {string} value - The current search value.\n * @property {string} placeholder - The placeholder text for the search input (default: \"Search...\").\n * @property {string} helpText - Help text, shown from an information icon inside the search input.\n * @property {string} searchUri - Optional URI to use for search operations.\n * @property {number} debounceDelay - The delay in milliseconds before triggering a search (default: 500).\n */",
11193
+ "jsDoc": "/**\n * @summary A search component for data tables.\n * @documentation https://zinc.style/components/data-table-search\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-input\n * @dependency zn-tooltip\n *\n * @event zn-search-change - Emitted when the search value changes (debounced).\n *\n * @slot - The default slot for additional form inputs.\n *\n * @csspart base - The component's base wrapper.\n *\n * @property {string} name - The name of the search input field (default: \"search\").\n * @property {string} value - The current search value.\n * @property {string} placeholder - The placeholder text for the search input (default: \"Search...\").\n * @property {string} helpText - Help text, shown from an information icon inside the search input.\n * @property {string} searchUri - Optional URI to use for search operations.\n * @property {number} debounceDelay - The delay in milliseconds before triggering a search (default: 350).\n */",
11072
11194
  "documentation": "https://zinc.style/components/data-table-search",
11073
11195
  "status": "experimental",
11074
11196
  "since": "1.0",
@@ -52826,7 +52948,7 @@
52826
52948
  "package": {
52827
52949
  "name": "@kubex/zinc",
52828
52950
  "description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
52829
- "version": "1.1.132",
52951
+ "version": "1.1.133",
52830
52952
  "author": "",
52831
52953
  "license": "MIT"
52832
52954
  }