@skdx/docs-kit 0.35.0 → 0.36.0
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/data/api-manifest.json +1 -1
- package/dist/data/styling-hooks-manifest.json +144 -0
- package/dist/shared/contracts/verification-page.js +1 -1
- package/dist/shared/core/date-value.js +1 -1
- package/dist/shared/core/label-activation.d.ts +1 -0
- package/dist/shared/core/label-activation.js +1 -0
- package/dist/shared/core/tabbable.d.ts +9 -0
- package/dist/shared/core/tabbable.js +1 -1
- package/dist/skins-src/_foundation-fallback.css +1 -0
- package/dist/skins-src/components/chat-message.css +2 -1
- package/dist/skins-src/components/onboarding-checklist.css +7 -1
- package/package.json +14 -14
|
@@ -1296,6 +1296,14 @@
|
|
|
1296
1296
|
"declared": true,
|
|
1297
1297
|
"internal": false
|
|
1298
1298
|
},
|
|
1299
|
+
{
|
|
1300
|
+
"name": "data-skdx-slot",
|
|
1301
|
+
"frameworks": [
|
|
1302
|
+
"web-components"
|
|
1303
|
+
],
|
|
1304
|
+
"declared": false,
|
|
1305
|
+
"internal": false
|
|
1306
|
+
},
|
|
1299
1307
|
{
|
|
1300
1308
|
"name": "data-state",
|
|
1301
1309
|
"frameworks": [
|
|
@@ -1351,6 +1359,14 @@
|
|
|
1351
1359
|
"declared": true,
|
|
1352
1360
|
"internal": false
|
|
1353
1361
|
},
|
|
1362
|
+
{
|
|
1363
|
+
"name": "data-skdx-slot",
|
|
1364
|
+
"frameworks": [
|
|
1365
|
+
"web-components"
|
|
1366
|
+
],
|
|
1367
|
+
"declared": false,
|
|
1368
|
+
"internal": false
|
|
1369
|
+
},
|
|
1354
1370
|
{
|
|
1355
1371
|
"name": "data-status",
|
|
1356
1372
|
"frameworks": [
|
|
@@ -2417,6 +2433,14 @@
|
|
|
2417
2433
|
],
|
|
2418
2434
|
"declared": true,
|
|
2419
2435
|
"internal": false
|
|
2436
|
+
},
|
|
2437
|
+
{
|
|
2438
|
+
"name": "data-skdx-slot",
|
|
2439
|
+
"frameworks": [
|
|
2440
|
+
"web-components"
|
|
2441
|
+
],
|
|
2442
|
+
"declared": false,
|
|
2443
|
+
"internal": false
|
|
2420
2444
|
}
|
|
2421
2445
|
],
|
|
2422
2446
|
"cssCustomProperties": []
|
|
@@ -2449,6 +2473,14 @@
|
|
|
2449
2473
|
"declared": true,
|
|
2450
2474
|
"internal": false
|
|
2451
2475
|
},
|
|
2476
|
+
{
|
|
2477
|
+
"name": "data-skdx-slot",
|
|
2478
|
+
"frameworks": [
|
|
2479
|
+
"web-components"
|
|
2480
|
+
],
|
|
2481
|
+
"declared": false,
|
|
2482
|
+
"internal": false
|
|
2483
|
+
},
|
|
2452
2484
|
{
|
|
2453
2485
|
"name": "data-state",
|
|
2454
2486
|
"frameworks": [
|
|
@@ -2504,6 +2536,14 @@
|
|
|
2504
2536
|
"declared": true,
|
|
2505
2537
|
"internal": false
|
|
2506
2538
|
},
|
|
2539
|
+
{
|
|
2540
|
+
"name": "data-skdx-slot",
|
|
2541
|
+
"frameworks": [
|
|
2542
|
+
"web-components"
|
|
2543
|
+
],
|
|
2544
|
+
"declared": false,
|
|
2545
|
+
"internal": false
|
|
2546
|
+
},
|
|
2507
2547
|
{
|
|
2508
2548
|
"name": "data-status",
|
|
2509
2549
|
"frameworks": [
|
|
@@ -3265,6 +3305,14 @@
|
|
|
3265
3305
|
],
|
|
3266
3306
|
"declared": true,
|
|
3267
3307
|
"internal": false
|
|
3308
|
+
},
|
|
3309
|
+
{
|
|
3310
|
+
"name": "data-skdx-slot",
|
|
3311
|
+
"frameworks": [
|
|
3312
|
+
"web-components"
|
|
3313
|
+
],
|
|
3314
|
+
"declared": false,
|
|
3315
|
+
"internal": false
|
|
3268
3316
|
}
|
|
3269
3317
|
],
|
|
3270
3318
|
"cssCustomProperties": []
|
|
@@ -3543,6 +3591,14 @@
|
|
|
3543
3591
|
],
|
|
3544
3592
|
"declared": true,
|
|
3545
3593
|
"internal": false
|
|
3594
|
+
},
|
|
3595
|
+
{
|
|
3596
|
+
"name": "data-skdx-slot",
|
|
3597
|
+
"frameworks": [
|
|
3598
|
+
"web-components"
|
|
3599
|
+
],
|
|
3600
|
+
"declared": false,
|
|
3601
|
+
"internal": false
|
|
3546
3602
|
}
|
|
3547
3603
|
],
|
|
3548
3604
|
"cssCustomProperties": []
|
|
@@ -3748,6 +3804,14 @@
|
|
|
3748
3804
|
],
|
|
3749
3805
|
"declared": true,
|
|
3750
3806
|
"internal": false
|
|
3807
|
+
},
|
|
3808
|
+
{
|
|
3809
|
+
"name": "data-skdx-slot",
|
|
3810
|
+
"frameworks": [
|
|
3811
|
+
"web-components"
|
|
3812
|
+
],
|
|
3813
|
+
"declared": false,
|
|
3814
|
+
"internal": false
|
|
3751
3815
|
}
|
|
3752
3816
|
],
|
|
3753
3817
|
"cssCustomProperties": []
|
|
@@ -3883,6 +3947,14 @@
|
|
|
3883
3947
|
"declared": true,
|
|
3884
3948
|
"internal": false
|
|
3885
3949
|
},
|
|
3950
|
+
{
|
|
3951
|
+
"name": "data-skdx-slot",
|
|
3952
|
+
"frameworks": [
|
|
3953
|
+
"web-components"
|
|
3954
|
+
],
|
|
3955
|
+
"declared": false,
|
|
3956
|
+
"internal": false
|
|
3957
|
+
},
|
|
3886
3958
|
{
|
|
3887
3959
|
"name": "data-variant",
|
|
3888
3960
|
"frameworks": [
|
|
@@ -4966,6 +5038,14 @@
|
|
|
4966
5038
|
],
|
|
4967
5039
|
"declared": true,
|
|
4968
5040
|
"internal": false
|
|
5041
|
+
},
|
|
5042
|
+
{
|
|
5043
|
+
"name": "data-skdx-slot",
|
|
5044
|
+
"frameworks": [
|
|
5045
|
+
"web-components"
|
|
5046
|
+
],
|
|
5047
|
+
"declared": false,
|
|
5048
|
+
"internal": false
|
|
4969
5049
|
}
|
|
4970
5050
|
],
|
|
4971
5051
|
"cssCustomProperties": []
|
|
@@ -5134,6 +5214,14 @@
|
|
|
5134
5214
|
],
|
|
5135
5215
|
"declared": true,
|
|
5136
5216
|
"internal": false
|
|
5217
|
+
},
|
|
5218
|
+
{
|
|
5219
|
+
"name": "data-skdx-slot",
|
|
5220
|
+
"frameworks": [
|
|
5221
|
+
"web-components"
|
|
5222
|
+
],
|
|
5223
|
+
"declared": false,
|
|
5224
|
+
"internal": false
|
|
5137
5225
|
}
|
|
5138
5226
|
],
|
|
5139
5227
|
"cssCustomProperties": []
|
|
@@ -6114,6 +6202,14 @@
|
|
|
6114
6202
|
],
|
|
6115
6203
|
"declared": true,
|
|
6116
6204
|
"internal": false
|
|
6205
|
+
},
|
|
6206
|
+
{
|
|
6207
|
+
"name": "data-skdx-slot",
|
|
6208
|
+
"frameworks": [
|
|
6209
|
+
"web-components"
|
|
6210
|
+
],
|
|
6211
|
+
"declared": false,
|
|
6212
|
+
"internal": false
|
|
6117
6213
|
}
|
|
6118
6214
|
],
|
|
6119
6215
|
"cssCustomProperties": []
|
|
@@ -6785,6 +6881,14 @@
|
|
|
6785
6881
|
],
|
|
6786
6882
|
"declared": true,
|
|
6787
6883
|
"internal": false
|
|
6884
|
+
},
|
|
6885
|
+
{
|
|
6886
|
+
"name": "data-skdx-slot",
|
|
6887
|
+
"frameworks": [
|
|
6888
|
+
"web-components"
|
|
6889
|
+
],
|
|
6890
|
+
"declared": false,
|
|
6891
|
+
"internal": false
|
|
6788
6892
|
}
|
|
6789
6893
|
],
|
|
6790
6894
|
"cssCustomProperties": []
|
|
@@ -7212,6 +7316,14 @@
|
|
|
7212
7316
|
"declared": true,
|
|
7213
7317
|
"internal": false
|
|
7214
7318
|
},
|
|
7319
|
+
{
|
|
7320
|
+
"name": "data-skdx-slot",
|
|
7321
|
+
"frameworks": [
|
|
7322
|
+
"web-components"
|
|
7323
|
+
],
|
|
7324
|
+
"declared": false,
|
|
7325
|
+
"internal": false
|
|
7326
|
+
},
|
|
7215
7327
|
{
|
|
7216
7328
|
"name": "data-skdx-stat-card-generated",
|
|
7217
7329
|
"frameworks": [
|
|
@@ -10167,6 +10279,14 @@
|
|
|
10167
10279
|
"declared": true,
|
|
10168
10280
|
"internal": false
|
|
10169
10281
|
},
|
|
10282
|
+
{
|
|
10283
|
+
"name": "data-skdx-slot",
|
|
10284
|
+
"frameworks": [
|
|
10285
|
+
"web-components"
|
|
10286
|
+
],
|
|
10287
|
+
"declared": false,
|
|
10288
|
+
"internal": false
|
|
10289
|
+
},
|
|
10170
10290
|
{
|
|
10171
10291
|
"name": "data-skdx-usage-card-generated",
|
|
10172
10292
|
"frameworks": [
|
|
@@ -10222,6 +10342,14 @@
|
|
|
10222
10342
|
"declared": true,
|
|
10223
10343
|
"internal": false
|
|
10224
10344
|
},
|
|
10345
|
+
{
|
|
10346
|
+
"name": "data-skdx-slot",
|
|
10347
|
+
"frameworks": [
|
|
10348
|
+
"web-components"
|
|
10349
|
+
],
|
|
10350
|
+
"declared": false,
|
|
10351
|
+
"internal": false
|
|
10352
|
+
},
|
|
10225
10353
|
{
|
|
10226
10354
|
"name": "data-skdx-user-menu-generated",
|
|
10227
10355
|
"frameworks": [
|
|
@@ -10265,6 +10393,14 @@
|
|
|
10265
10393
|
"declared": true,
|
|
10266
10394
|
"internal": false
|
|
10267
10395
|
},
|
|
10396
|
+
{
|
|
10397
|
+
"name": "data-skdx-slot",
|
|
10398
|
+
"frameworks": [
|
|
10399
|
+
"web-components"
|
|
10400
|
+
],
|
|
10401
|
+
"declared": false,
|
|
10402
|
+
"internal": false
|
|
10403
|
+
},
|
|
10268
10404
|
{
|
|
10269
10405
|
"name": "data-skdx-verification-page-content",
|
|
10270
10406
|
"frameworks": [
|
|
@@ -10316,6 +10452,14 @@
|
|
|
10316
10452
|
"declared": true,
|
|
10317
10453
|
"internal": false
|
|
10318
10454
|
},
|
|
10455
|
+
{
|
|
10456
|
+
"name": "data-skdx-slot",
|
|
10457
|
+
"frameworks": [
|
|
10458
|
+
"web-components"
|
|
10459
|
+
],
|
|
10460
|
+
"declared": false,
|
|
10461
|
+
"internal": false
|
|
10462
|
+
},
|
|
10319
10463
|
{
|
|
10320
10464
|
"name": "data-skdx-workspace-switcher-generated",
|
|
10321
10465
|
"frameworks": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{changeDetail as e}from"./change-reason.js";import{ROOT_DATA_ATTRIBUTES as t}from"./styling-hooks.js";var o={name:"VerificationPage",purpose:"A one-time-code block composing Heading, Text, Alert, Form,
|
|
1
|
+
import{changeDetail as e}from"./change-reason.js";import{ROOT_DATA_ATTRIBUTES as t}from"./styling-hooks.js";var o={name:"VerificationPage",purpose:"A one-time-code block composing Heading, Text, Alert, Form, Fieldset, PinInput and Button. It collects a code of a fixed length, reports it through a verify event once it is complete, and offers a resend control whose cooldown the consumer owns. Ships in the blocks package of each framework, not the core package.",props:[{name:"title",type:"string",defaultValue:"'Enter your verification code'",required:!1,description:"Heading text, rendered into a derived <h1> that names the section."},{name:"description",type:"string",required:!1,description:"Supporting copy rendered into a derived Text below the title, naming where the code was sent. No description region renders when omitted."},{name:"error",type:"string",required:!1,description:"Message rendered into a derived error Alert above the form. The block never clears it: set it from the verify handler and reset it when the next attempt starts."},{name:"pending",type:"boolean",defaultValue:"false",required:!1,description:"Marks the request in flight, making the submit button busy and unusable while the code boxes stay editable, so the user can still correct a digit."},{name:"codeLabel",type:"string",defaultValue:"'Verification code'",required:!1,description:"Legend of the code fieldset and accessible name of the derived pin input holding the code, so the group of boxes is announced as one control."},{name:"length",type:"number",defaultValue:"6",required:!1,description:"How many character boxes the code is entered into, and how long a complete code is before it may be submitted."},{name:"value",type:"string",required:!1,description:"Current code, for controlled usage; pair it with the value-change event. Uncontrolled, the pin input tracks the code itself."},{name:"defaultValue",type:"string",required:!1,description:"Initial code, for uncontrolled usage \u2014 seeds the boxes on first render and leaves the rest empty."},{name:"submitLabel",type:"string",defaultValue:"'Verify'",required:!1,description:"Text of the form submit button."},{name:"resendLabel",type:"string",defaultValue:"'Resend code'",required:!1,description:"Text of the resend button, which renders only alongside a resend event handler."},{name:"resendDisabled",type:"boolean",defaultValue:"false",required:!1,description:"Makes the resend button unusable, for a consumer running its own cooldown between requests."},{name:"resendHint",type:"string",required:!1,description:"Note rendered beside the resend button, such as how long the cooldown has left. The block runs no timer of its own."},{name:"footer",type:"unknown",required:!1,frameworks:["react","svelte","angular"],exception:"render-prop",frameworksReason:"Vue and Web Components take this as a named slot rather than a prop \u2014 Vue because a renderable region is a slot in Vue's own idiom, Web Components because a custom element attribute carries a string and cannot carry a node. Both slot spellings are declared under `slots`.",description:"Navigation rendered below the resend region, such as a link back to the sign-in page. No footer region renders when omitted. A prop in React, Svelte, and Angular; Vue and Web Components use the `footer` slot."}],events:[{name:"verify",detail:"{ code: string }",description:"Fires when the form is submitted with a code of exactly the declared length, carrying that code. The native submit is prevented, so the consumer performs the check and sets error on failure."},{name:"resend",detail:"void",description:"Fires when the resend button is activated. Handling it is what renders the resend region at all; the cooldown between requests belongs to the consumer."},{name:"value-change",detail:e("string"),description:"Fires with the new code whenever any box changes, controlled or not, so a consumer can mirror the code or clear a stale error."}],slots:[{name:"default",description:"Extra fields rendered inside the form, above the submit button."},{name:"footer",description:"Navigation below the resend region, such as a link back to the sign-in page."}],states:["default"],controlledUncontrolled:"The code is controllable through value with the value-change event, or seeded with defaultValue and tracked by the pin input; error and pending are always controlled by the consumer.",formBehavior:"The form is a core Form root whose pin input submits the joined code as one required entry with a length pattern, so a short code is refused by constraint validation and emits nothing.",validationBehavior:"The code is required and only satisfies its constraint once every box is filled; the block adds no validators and never times the resend cooldown.",accessibility:{role:"region (native <section> named by its heading through aria-labelledby)",keyboard:[{key:"ArrowLeft/ArrowRight",behavior:"Moves between the code boxes, which the pin input wires itself."},{key:"Enter",behavior:"Submits the form while a code box has focus (native form submission)."}],ariaAttributes:["aria-labelledby on the <section> points at the derived heading","the pin input group carries aria-label from codeLabel, so the boxes are announced as one named control","the derived error Alert is a live region, so a new error is announced without moving focus"],focusManagement:"Focus follows the code boxes as the pin input advances them; a refused submit reports through constraint validation rather than a jump of the block's own."},styling:{cssParts:["verification-page","panel","title","description","error","form","field","code","submit","resend","resend-hint","footer"],dataAttributes:[...t,{name:"data-skdx-verification-page-generated",frameworks:["webComponents"],exception:"wc-marker",frameworksReason:'Marks a node the element generated for itself rather than one the consumer authored. React, Vue, Svelte and Angular re-render their derived anatomy declaratively, so "mine or theirs" is answered by the framework and no marker is needed.'},{name:"data-skdx-verification-page-content",frameworks:["webComponents"],exception:"wc-marker",frameworksReason:'Marks a node the element generated for itself rather than one the consumer authored. React, Vue, Svelte and Angular re-render their derived anatomy declaratively, so "mine or theirs" is answered by the framework and no marker is needed.'}],cssCustomProperties:[]},publicMethods:[]};export{o as verificationPageContract};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{dateToFormValue as c,parseDateFormValue as m}from"./date-segments.js";var g=/^(\d{4,})-(\d{2})$/,p=/^(\d{4,}-\d{2}-\d{2})/,d=!1;function M(){
|
|
1
|
+
import{dateToFormValue as c,parseDateFormValue as m}from"./date-segments.js";var g=/^(\d{4,})-(\d{2})$/,p=/^(\d{4,}-\d{2}-\d{2})/,y=/^\d{4,}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:?\d{2})$/,s=!1;function M(){s=!1}function f(e,n){s||(s=!0,console.warn(`[skdx] ${n?`\`${n}\``:"A date property"} was given ${JSON.stringify(e)}, which is not an ISO-8601 date. Expected \`YYYY-MM-DD\`, \`YYYY-MM-DDTHH:mm[:ss]\`, an instant with \`Z\` or a \`\xB1HH:mm\` offset, or a bare \`YYYY-MM\` for a month. The value is ignored \u2014 the property behaves as if it had not been supplied \u2014 rather than being coerced to today, to the epoch, or to an \`Invalid Date\` that would then poison every comparison after it.`))}function l(e,n){if(e==null)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e!="string")return null;let t=e.trim();if(t==="")return null;let r=m(t);if(r!==null){let i=p.exec(t)?.[1];return i!==void 0&&o(r)!==i?(f(t,n),null):r}if(y.test(t)){let i=new Date(t);if(!Number.isNaN(i.getTime()))return i}let a=N(t);return a||(f(t,n),null)}function N(e){let n=g.exec(e);if(!n)return null;let t=Number(n[2])-1;if(t<0||t>11)return null;let r=Number(n[1]),a=new Date(r,t,1);return r<100&&a.setFullYear(r),Number.isNaN(a.getTime())?null:a}function o(e,n="day"){return c(e,n)}function b(e,n,t){if(e===void 0)return;if(e===null)return n==="multiple"?[]:null;if(typeof e=="string"){let i=h(e,t);return d(i,n)}if(Array.isArray(e)){let i=e.map(u=>l(u,t)).filter(u=>u!==null);return d(i,n)}if(e instanceof Date)return d(l(e,t),n);let r=e,a=l(r.start,t);return a===null?n==="multiple"?[]:null:{start:a,end:l(r.end,t)}}function d(e,n){return n!=="multiple"?e:e===null?[]:Array.isArray(e)?e:e instanceof Date?[e]:[]}function h(e,n){let t=e.trim();if(t==="")return null;if(t.includes("/")){let[r="",a=""]=t.split("/"),i=l(r,n);return i===null?null:{start:i,end:a===""?null:l(a,n)}}return t.includes(",")?t.split(",").map(r=>l(r,n)).filter(r=>r!==null):l(t,n)}function Y(e){return e==null?null:Array.isArray(e)?e.length===0?null:e.map(n=>o(n)).join(","):e instanceof Date?o(e):`${o(e.start)}/${e.end===null?"":o(e.end)}`}var I=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/;function T(e,n){if(e==null)return null;if(e instanceof Date){if(Number.isNaN(e.getTime()))return null;let a=D=>String(D).padStart(2,"0"),i=e.getSeconds(),u=`${a(e.getHours())}:${a(e.getMinutes())}`;return i===0?u:`${u}:${a(i)}`}if(typeof e!="string")return null;let t=e.trim();if(t==="")return null;let r=I.exec(t);return!r||Number(r[1])>23||Number(r[2])>59||r[3]!==void 0&&Number(r[3])>59?(f(t,n),null):t}export{M as resetMalformedDateWarning,Y as toCalendarString,b as toCalendarValue,l as toDate,o as toISODateValue,T as toTimeValue};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function activateLabelledButton(label: HTMLElement, event: Event): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var l='a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])',i="radio, checkbox, switch, menuitemcheckbox, menuitemradio",u='button, [role="radio"], [role="checkbox"], [role="switch"]';function s(t){let e=t instanceof HTMLButtonElement||i.split(", ").includes(t.getAttribute("role")??"")?t:t.querySelector(u);return!(e instanceof HTMLElement)||e instanceof HTMLInputElement||e.disabled||e.getAttribute("aria-disabled")==="true"?null:e}function a(t,n){let e=`#${CSS.escape(n)}`;for(let o=t.parentElement;o;o=o.parentElement){let r=o.querySelector(e);if(r)return r}return t.getRootNode().getElementById(n)}function f(t,n){if(n.defaultPrevented)return;let e=t.getAttribute("for");if(!e)return;let o=n.target instanceof Element?n.target:null;if(o&&o!==t&&o.closest(l)!==t.closest(l))return;let r=a(t,e),c=r&&s(r);c&&(n.preventDefault(),c.focus(),c.click())}export{f as activateLabelledButton};
|
|
@@ -6,3 +6,12 @@ export declare const TABBABLE_SELECTOR: string;
|
|
|
6
6
|
* small subtrees only in the DOM while open.
|
|
7
7
|
*/
|
|
8
8
|
export declare function tabbablesWithin(container: Element): HTMLElement[];
|
|
9
|
+
/**
|
|
10
|
+
* Keeps Tab cycling inside `container` while it is the modal surface: Tab from the last tabbable
|
|
11
|
+
* lands on the first and Shift+Tab from the first on the last. A native `showModal()` leaves the
|
|
12
|
+
* loop through the browser chrome instead, which assistive technology reads as focus escaping.
|
|
13
|
+
*
|
|
14
|
+
* @param container the modal surface, typically the open `<dialog>`
|
|
15
|
+
* @param event the keydown to act on; anything but an unhandled Tab is ignored
|
|
16
|
+
*/
|
|
17
|
+
export declare function wrapTabWithin(container: Element, event: KeyboardEvent): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var r=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");function d(e){return Array.from(e.querySelectorAll("*")).filter(t=>t.matches(r)||t.shadowRoot?.delegatesFocus===!0)}function u(e,t){if(t.key!=="Tab"||t.defaultPrevented)return;let o=d(e);if(o.length===0){t.preventDefault();return}let a=o[0],s=o[o.length-1],n=document.activeElement,i=n===null||n===e||!e.contains(n),l=t.shiftKey?n===a:n===s;!i&&!l||(t.preventDefault(),(t.shiftKey?s:a).focus())}export{r as TABBABLE_SELECTOR,d as tabbablesWithin,u as wrapTabWithin};
|
|
@@ -75,8 +75,9 @@
|
|
|
75
75
|
text-align: center;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
/* Muted, not disabled: the text is still meant to be read while the send is in flight. */
|
|
78
79
|
:where(.skdx-chat-message)[data-status='pending'] :where(.skdx-chat-message__content) {
|
|
79
|
-
opacity: var(--skdx-opacity-
|
|
80
|
+
opacity: var(--skdx-opacity-muted);
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
:where(.skdx-chat-message__attachments) {
|
|
@@ -54,9 +54,15 @@
|
|
|
54
54
|
gap: var(--skdx-space-3);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
/* The indicator and action fade as disabled controls; the title stays readable text, muted. */
|
|
58
|
+
:where(.skdx-onboarding-checklist__item)[data-state='disabled']
|
|
59
|
+
:where(.skdx-onboarding-checklist__indicator, .skdx-onboarding-checklist__action) {
|
|
58
60
|
opacity: var(--skdx-opacity-disabled);
|
|
59
61
|
}
|
|
62
|
+
:where(.skdx-onboarding-checklist__item)[data-state='disabled']
|
|
63
|
+
:where(.skdx-onboarding-checklist__item-title) {
|
|
64
|
+
color: var(--skdx-color-text-muted);
|
|
65
|
+
}
|
|
60
66
|
|
|
61
67
|
:where(.skdx-onboarding-checklist__indicator) {
|
|
62
68
|
position: relative;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skdx/docs-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.0",
|
|
4
4
|
"description": "Build-time toolkit for the SKDX documentation site: the shared contracts, the framework table, generated manifests and the source files the docs measure. Not a public API — no semver guarantees, may change in any release.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/SkandaDX/ui.skdx/tree/main/internal/docs-kit#readme",
|
|
@@ -36,19 +36,19 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@skdx/angular": "0.
|
|
40
|
-
"@skdx/angular-blocks": "0.
|
|
41
|
-
"@skdx/react-blocks": "0.
|
|
42
|
-
"@skdx/
|
|
43
|
-
"@skdx/
|
|
44
|
-
"@skdx/
|
|
45
|
-
"@skdx/
|
|
46
|
-
"@skdx/
|
|
47
|
-
"@skdx/
|
|
48
|
-
"@skdx/
|
|
49
|
-
"@skdx/
|
|
50
|
-
"@skdx/
|
|
51
|
-
"@skdx/web-components
|
|
39
|
+
"@skdx/angular": "0.36.0",
|
|
40
|
+
"@skdx/angular-blocks": "0.36.0",
|
|
41
|
+
"@skdx/react-blocks": "0.36.0",
|
|
42
|
+
"@skdx/react": "0.36.0",
|
|
43
|
+
"@skdx/skins": "0.36.0",
|
|
44
|
+
"@skdx/svelte-blocks": "0.36.0",
|
|
45
|
+
"@skdx/shared": "0.36.0",
|
|
46
|
+
"@skdx/tokens": "0.36.0",
|
|
47
|
+
"@skdx/svelte": "0.36.0",
|
|
48
|
+
"@skdx/vue": "0.36.0",
|
|
49
|
+
"@skdx/vue-blocks": "0.36.0",
|
|
50
|
+
"@skdx/web-components-blocks": "0.36.0",
|
|
51
|
+
"@skdx/web-components": "0.36.0"
|
|
52
52
|
},
|
|
53
53
|
"nx": {
|
|
54
54
|
"targets": {
|