@sectile/core 0.3.0 → 0.5.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.
Files changed (116) hide show
  1. package/README.md +1 -0
  2. package/dist/adapter-runtime.d.ts +82 -0
  3. package/dist/adapter-runtime.d.ts.map +1 -0
  4. package/dist/adapter-runtime.js +169 -0
  5. package/dist/adapter-runtime.js.map +1 -0
  6. package/dist/error-code.d.ts +2 -0
  7. package/dist/error-code.d.ts.map +1 -0
  8. package/dist/error-code.js +2 -0
  9. package/dist/error-code.js.map +1 -0
  10. package/dist/index.d.ts +2 -17
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/interaction.d.ts.map +1 -1
  13. package/dist/interaction.js.map +1 -1
  14. package/dist/internal/composites/listbox.d.ts +1 -0
  15. package/dist/internal/composites/listbox.d.ts.map +1 -1
  16. package/dist/internal/composites/listbox.js +4 -3
  17. package/dist/internal/composites/listbox.js.map +1 -1
  18. package/dist/internal/editing/text.d.ts +1 -0
  19. package/dist/internal/editing/text.d.ts.map +1 -1
  20. package/dist/internal/editing/text.js +11 -0
  21. package/dist/internal/editing/text.js.map +1 -1
  22. package/dist/internal/kernel/foundation.d.ts +6 -3
  23. package/dist/internal/kernel/foundation.d.ts.map +1 -1
  24. package/dist/internal/kernel/foundation.js +22 -7
  25. package/dist/internal/kernel/foundation.js.map +1 -1
  26. package/dist/internal/kernel/indexed-sequence.js.map +1 -1
  27. package/dist/listbox.d.ts +1 -1
  28. package/dist/listbox.d.ts.map +1 -1
  29. package/dist/listbox.js +1 -1
  30. package/dist/listbox.js.map +1 -1
  31. package/dist/number-field.d.ts.map +1 -1
  32. package/dist/number-field.js +2 -5
  33. package/dist/number-field.js.map +1 -1
  34. package/dist/reorder.d.ts +2 -1
  35. package/dist/reorder.d.ts.map +1 -1
  36. package/dist/reorder.js +4 -1
  37. package/dist/reorder.js.map +1 -1
  38. package/dist/result.d.ts +6 -4
  39. package/dist/result.d.ts.map +1 -1
  40. package/dist/result.js.map +1 -1
  41. package/dist/shared.d.ts +5 -4
  42. package/dist/shared.d.ts.map +1 -1
  43. package/dist/shared.js.map +1 -1
  44. package/dist/structures/sequence.d.ts +13 -0
  45. package/dist/structures/sequence.d.ts.map +1 -1
  46. package/dist/structures/sequence.js +39 -0
  47. package/dist/structures/sequence.js.map +1 -1
  48. package/dist/text.d.ts +1 -1
  49. package/dist/text.d.ts.map +1 -1
  50. package/dist/text.js +1 -1
  51. package/dist/text.js.map +1 -1
  52. package/package.json +13 -77
  53. package/dist/calendar.d.ts +0 -3
  54. package/dist/calendar.d.ts.map +0 -1
  55. package/dist/calendar.js +0 -3
  56. package/dist/calendar.js.map +0 -1
  57. package/dist/date-field.d.ts +0 -62
  58. package/dist/date-field.d.ts.map +0 -1
  59. package/dist/date-field.js +0 -245
  60. package/dist/date-field.js.map +0 -1
  61. package/dist/date-picker.d.ts +0 -76
  62. package/dist/date-picker.d.ts.map +0 -1
  63. package/dist/date-picker.js +0 -261
  64. package/dist/date-picker.js.map +0 -1
  65. package/dist/date-range-field.d.ts +0 -47
  66. package/dist/date-range-field.d.ts.map +0 -1
  67. package/dist/date-range-field.js +0 -66
  68. package/dist/date-range-field.js.map +0 -1
  69. package/dist/date-range-picker.d.ts +0 -29
  70. package/dist/date-range-picker.d.ts.map +0 -1
  71. package/dist/date-range-picker.js +0 -89
  72. package/dist/date-range-picker.js.map +0 -1
  73. package/dist/date-time-field.d.ts +0 -57
  74. package/dist/date-time-field.d.ts.map +0 -1
  75. package/dist/date-time-field.js +0 -267
  76. package/dist/date-time-field.js.map +0 -1
  77. package/dist/date-time-picker.d.ts +0 -71
  78. package/dist/date-time-picker.d.ts.map +0 -1
  79. package/dist/date-time-picker.js +0 -156
  80. package/dist/date-time-picker.js.map +0 -1
  81. package/dist/date-time-range-picker.d.ts +0 -87
  82. package/dist/date-time-range-picker.d.ts.map +0 -1
  83. package/dist/date-time-range-picker.js +0 -252
  84. package/dist/date-time-range-picker.js.map +0 -1
  85. package/dist/internal/composites/calendar.d.ts +0 -36
  86. package/dist/internal/composites/calendar.d.ts.map +0 -1
  87. package/dist/internal/composites/calendar.js +0 -143
  88. package/dist/internal/composites/calendar.js.map +0 -1
  89. package/dist/month-picker.d.ts +0 -5
  90. package/dist/month-picker.d.ts.map +0 -1
  91. package/dist/month-picker.js +0 -4
  92. package/dist/month-picker.js.map +0 -1
  93. package/dist/month-range-picker.d.ts +0 -6
  94. package/dist/month-range-picker.d.ts.map +0 -1
  95. package/dist/month-range-picker.js +0 -5
  96. package/dist/month-range-picker.js.map +0 -1
  97. package/dist/range-calendar.d.ts +0 -6
  98. package/dist/range-calendar.d.ts.map +0 -1
  99. package/dist/range-calendar.js +0 -5
  100. package/dist/range-calendar.js.map +0 -1
  101. package/dist/time-field.d.ts +0 -48
  102. package/dist/time-field.d.ts.map +0 -1
  103. package/dist/time-field.js +0 -157
  104. package/dist/time-field.js.map +0 -1
  105. package/dist/time-range-field.d.ts +0 -53
  106. package/dist/time-range-field.d.ts.map +0 -1
  107. package/dist/time-range-field.js +0 -75
  108. package/dist/time-range-field.js.map +0 -1
  109. package/dist/year-picker.d.ts +0 -10
  110. package/dist/year-picker.d.ts.map +0 -1
  111. package/dist/year-picker.js +0 -27
  112. package/dist/year-picker.js.map +0 -1
  113. package/dist/year-range-picker.d.ts +0 -6
  114. package/dist/year-range-picker.d.ts.map +0 -1
  115. package/dist/year-range-picker.js +0 -5
  116. package/dist/year-range-picker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../src/structures/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,yBAAyB,GAQ1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,EAAE,eAAe,EAAqB,MAAM,wCAAwC,CAAC;AAwB5F,MAAM,UAAU,cAAc,CAC5B,GAAkB,EAClB,OAAO,GAAoB,EAAE;IAE7B,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,GAAkB,EAClB,OAAO,GAAoB,EAAE;IAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC7C,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/D,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACrE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,yBAAyB,CAAC;IAC3E,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAChF,IAAI,cAAc,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACzE,IAAI,GAAG,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,oBAAoB,EAAE,uBAAuB,EAAE,4BAA4B,EAAE;YACvF,IAAI,EAAE,GAAG,CAAC,MAAM;YAChB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,CAAqB,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../src/structures/sequence.ts"],"names":[],"mappings":"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"}
package/dist/text.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { applyTextEvent, cancelTextComposition, commitTextComposition, createTextEditingState, createTextSnapshot, isTextCodeUnitBoundary, isWellFormedPlainText, normalizeTextEditingState, replacePlainText, replaceTextState, slicePlainText, startTextComposition, updateTextComposition, type TextComposition, type TextEditingState, type TextEvent, type TextSelection, type TextSelectionDirection, type TextSelectionInput, type TextSnapshot, type TextUpdate, } from './internal/editing/text.js';
1
+ export { applyTextEvent, cancelTextComposition, commitTextComposition, createTextEditingState, createTextSnapshot, isTextCodeUnitBoundary, isWellFormedPlainText, normalizeTextEditingState, replacePlainText, replaceTextState, sameTextEditingState, slicePlainText, startTextComposition, updateTextComposition, type TextComposition, type TextEditingState, type TextEvent, type TextSelection, type TextSelectionDirection, type TextSelectionInput, type TextSnapshot, type TextUpdate, } from './internal/editing/text.js';
2
2
  export { tryCreateTextEditingState } from './internal/editing/text.js';
3
3
  export { tryCreateTextSnapshot } from './internal/editing/text.js';
4
4
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/text.js CHANGED
@@ -1,4 +1,4 @@
1
- export { applyTextEvent, cancelTextComposition, commitTextComposition, createTextEditingState, createTextSnapshot, isTextCodeUnitBoundary, isWellFormedPlainText, normalizeTextEditingState, replacePlainText, replaceTextState, slicePlainText, startTextComposition, updateTextComposition, } from './internal/editing/text.js';
1
+ export { applyTextEvent, cancelTextComposition, commitTextComposition, createTextEditingState, createTextSnapshot, isTextCodeUnitBoundary, isWellFormedPlainText, normalizeTextEditingState, replacePlainText, replaceTextState, sameTextEditingState, slicePlainText, startTextComposition, updateTextComposition, } from './internal/editing/text.js';
2
2
  export { tryCreateTextEditingState } from './internal/editing/text.js';
3
3
  export { tryCreateTextSnapshot } from './internal/editing/text.js';
4
4
  //# sourceMappingURL=text.js.map
package/dist/text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GAStB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GAStB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@sectile/core",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Renderer-neutral interaction semantics with explicit laws, failures, and costs.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": false,
8
+ "engines": {
9
+ "node": ">=24"
10
+ },
8
11
  "files": [
9
12
  "dist"
10
13
  ],
@@ -53,6 +56,11 @@
53
56
  "import": "./dist/interaction.js",
54
57
  "default": "./dist/interaction.js"
55
58
  },
59
+ "./adapter-runtime": {
60
+ "types": "./dist/adapter-runtime.d.ts",
61
+ "import": "./dist/adapter-runtime.js",
62
+ "default": "./dist/adapter-runtime.js"
63
+ },
56
64
  "./collection-window": {
57
65
  "types": "./dist/collection-window.d.ts",
58
66
  "import": "./dist/collection-window.js",
@@ -173,76 +181,6 @@
173
181
  "import": "./dist/number-field.js",
174
182
  "default": "./dist/number-field.js"
175
183
  },
176
- "./date-field": {
177
- "types": "./dist/date-field.d.ts",
178
- "import": "./dist/date-field.js",
179
- "default": "./dist/date-field.js"
180
- },
181
- "./date-range-field": {
182
- "types": "./dist/date-range-field.d.ts",
183
- "import": "./dist/date-range-field.js",
184
- "default": "./dist/date-range-field.js"
185
- },
186
- "./date-time-field": {
187
- "types": "./dist/date-time-field.d.ts",
188
- "import": "./dist/date-time-field.js",
189
- "default": "./dist/date-time-field.js"
190
- },
191
- "./time-field": {
192
- "types": "./dist/time-field.d.ts",
193
- "import": "./dist/time-field.js",
194
- "default": "./dist/time-field.js"
195
- },
196
- "./time-range-field": {
197
- "types": "./dist/time-range-field.d.ts",
198
- "import": "./dist/time-range-field.js",
199
- "default": "./dist/time-range-field.js"
200
- },
201
- "./date-picker": {
202
- "types": "./dist/date-picker.d.ts",
203
- "import": "./dist/date-picker.js",
204
- "default": "./dist/date-picker.js"
205
- },
206
- "./date-range-picker": {
207
- "types": "./dist/date-range-picker.d.ts",
208
- "import": "./dist/date-range-picker.js",
209
- "default": "./dist/date-range-picker.js"
210
- },
211
- "./range-calendar": {
212
- "types": "./dist/range-calendar.d.ts",
213
- "import": "./dist/range-calendar.js",
214
- "default": "./dist/range-calendar.js"
215
- },
216
- "./month-picker": {
217
- "types": "./dist/month-picker.d.ts",
218
- "import": "./dist/month-picker.js",
219
- "default": "./dist/month-picker.js"
220
- },
221
- "./month-range-picker": {
222
- "types": "./dist/month-range-picker.d.ts",
223
- "import": "./dist/month-range-picker.js",
224
- "default": "./dist/month-range-picker.js"
225
- },
226
- "./year-picker": {
227
- "types": "./dist/year-picker.d.ts",
228
- "import": "./dist/year-picker.js",
229
- "default": "./dist/year-picker.js"
230
- },
231
- "./year-range-picker": {
232
- "types": "./dist/year-range-picker.d.ts",
233
- "import": "./dist/year-range-picker.js",
234
- "default": "./dist/year-range-picker.js"
235
- },
236
- "./date-time-picker": {
237
- "types": "./dist/date-time-picker.d.ts",
238
- "import": "./dist/date-time-picker.js",
239
- "default": "./dist/date-time-picker.js"
240
- },
241
- "./date-time-range-picker": {
242
- "types": "./dist/date-time-range-picker.d.ts",
243
- "import": "./dist/date-time-range-picker.js",
244
- "default": "./dist/date-time-range-picker.js"
245
- },
246
184
  "./units": {
247
185
  "types": "./dist/units.d.ts",
248
186
  "import": "./dist/units.js",
@@ -333,11 +271,6 @@
333
271
  "import": "./dist/feed.js",
334
272
  "default": "./dist/feed.js"
335
273
  },
336
- "./calendar": {
337
- "types": "./dist/calendar.d.ts",
338
- "import": "./dist/calendar.js",
339
- "default": "./dist/calendar.js"
340
- },
341
274
  "./combobox": {
342
275
  "types": "./dist/combobox.d.ts",
343
276
  "import": "./dist/combobox.js",
@@ -393,15 +326,18 @@
393
326
  "check:public-api": "node scripts/check-public-api.mjs",
394
327
  "check:api-stability": "node scripts/check-api-stability.mjs",
395
328
  "check:signatures": "node scripts/check-public-signatures.mjs",
329
+ "check:semantic-api": "node scripts/check-semantic-api.mjs",
396
330
  "check:laws": "node scripts/check-law-coverage.mjs",
397
331
  "check:naming": "node scripts/check-acronym-casing.mjs",
398
332
  "check:layout": "node scripts/check-layout.mjs",
333
+ "check:import-boundaries": "node scripts/check-import-boundaries.mjs",
399
334
  "check:dist-boundary": "node scripts/check-dist-platform-boundary.mjs",
400
335
  "check:subpaths": "node scripts/check-subpath-imports.mjs",
401
336
  "check:package": "node scripts/check-package-footprint.mjs",
402
337
  "check:verification": "node scripts/check-verification.mjs",
403
338
  "update:api-stability": "node scripts/update-api-stability.mjs",
404
339
  "update:signatures": "node scripts/update-public-signatures.mjs",
405
- "verify": "pnpm run typecheck && pnpm run test && pnpm run build && pnpm run check:contracts && pnpm run check:public-api && pnpm run check:api-stability && pnpm run check:signatures && pnpm run check:laws && pnpm run check:naming && pnpm run check:layout && pnpm run check:dist-boundary && pnpm run check:subpaths && pnpm run check:package && pnpm run check:verification"
340
+ "update:semantic-api": "node scripts/update-semantic-api.mjs",
341
+ "verify": "pnpm run typecheck && pnpm run test && pnpm run build && pnpm run check:contracts && pnpm run check:public-api && pnpm run check:api-stability && pnpm run check:signatures && pnpm run check:semantic-api && pnpm run check:laws && pnpm run check:naming && pnpm run check:layout && pnpm run check:import-boundaries && pnpm run check:dist-boundary && pnpm run check:subpaths && pnpm run check:package && pnpm run check:verification"
406
342
  }
407
343
  }
@@ -1,3 +0,0 @@
1
- export { applyCalendarEvent, createCalendarState, type CalendarCommand, type CalendarEvent, type CalendarPolicies, type CalendarState, type CalendarStateInput, type CalendarUpdate, } from './internal/composites/calendar.js';
2
- export { tryCreateCalendarState } from './internal/composites/calendar.js';
3
- //# sourceMappingURL=calendar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC"}
package/dist/calendar.js DELETED
@@ -1,3 +0,0 @@
1
- export { applyCalendarEvent, createCalendarState, } from './internal/composites/calendar.js';
2
- export { tryCreateCalendarState } from './internal/composites/calendar.js';
3
- //# sourceMappingURL=calendar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAOpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC"}
@@ -1,62 +0,0 @@
1
- import type { Result } from './shared.js';
2
- import { type TextEditingState, type TextEvent } from './text.js';
3
- export interface DateValue {
4
- readonly year: number;
5
- readonly month: number;
6
- readonly day: number;
7
- }
8
- export interface DateRange {
9
- readonly start: DateValue;
10
- readonly end: DateValue;
11
- }
12
- export type DateSegment = 'year' | 'month' | 'day';
13
- export interface DateFieldState {
14
- readonly value: DateValue | null;
15
- readonly inputState: TextEditingState;
16
- }
17
- export type DateFieldEvent = {
18
- readonly type: 'text';
19
- readonly event: TextEvent;
20
- } | {
21
- readonly type: 'set-value';
22
- readonly value: DateValue | null;
23
- } | 'increment-segment' | 'decrement-segment' | 'commit' | 'cancel';
24
- export type DateFieldCommand = {
25
- readonly type: 'input-state-changed';
26
- readonly value: TextEditingState;
27
- } | {
28
- readonly type: 'value-committed';
29
- readonly value: DateValue | null;
30
- };
31
- export interface DateFieldPolicies {
32
- readonly min?: DateValue;
33
- readonly max?: DateValue;
34
- readonly required?: boolean;
35
- readonly unavailable?: (value: DateValue) => boolean;
36
- }
37
- export type DateFieldUnavailablePredicate = NonNullable<DateFieldPolicies['unavailable']>;
38
- export interface DateFieldUpdate {
39
- readonly state: DateFieldState;
40
- readonly commands: readonly DateFieldCommand[];
41
- }
42
- export declare function createDateValue(year: number, month: number, day: number): DateValue;
43
- export declare function tryCreateDateValue(year: number, month: number, day: number): Result<DateValue>;
44
- export declare function parseDateValue(text: string): Result<DateValue>;
45
- export declare function formatDateValue(value: DateValue): string;
46
- export declare function compareDateValues(left: DateValue, right: DateValue): -1 | 0 | 1;
47
- export declare function differenceInDateDays(left: DateValue, right: DateValue): number;
48
- /** ISO weekday: Monday is 1 and Sunday is 7. */
49
- export declare function dateDayOfWeek(value: DateValue): 1 | 2 | 3 | 4 | 5 | 6 | 7;
50
- export declare function addDateDays(value: DateValue, amount: number): Result<DateValue>;
51
- export declare function addDateMonths(value: DateValue, amount: number): Result<DateValue>;
52
- export declare function addDateYears(value: DateValue, amount: number): Result<DateValue>;
53
- export declare function createDateRange(start: DateValue, end: DateValue): DateRange;
54
- export declare function tryCreateDateRange(start: DateValue, end: DateValue): Result<DateRange>;
55
- export declare function dateRangeContains(range: DateRange, value: DateValue): boolean;
56
- export declare function createDateFieldState(value?: DateValue | null, inputState?: TextEditingState): DateFieldState;
57
- export declare function tryCreateDateFieldState(value?: DateValue | null, inputState?: TextEditingState): Result<DateFieldState>;
58
- export declare function applyDateFieldEvent(state: DateFieldState, event: DateFieldEvent, policies?: DateFieldPolicies): Result<DateFieldUpdate>;
59
- export declare function dateSegmentAt(offset: number): DateSegment;
60
- export declare function daysInMonth(year: number, month: number): number;
61
- export declare function isLeapYear(year: number): boolean;
62
- //# sourceMappingURL=date-field.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-field.d.ts","sourceRoot":"","sources":["../src/date-field.ts"],"names":[],"mappings":"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"}
@@ -1,245 +0,0 @@
1
- import { unwrap } from './result.js';
2
- import { fail, ok } from './internal/kernel/foundation.js';
3
- import { createMachineUpdate } from './internal/kernel/machine.js';
4
- import { applyTextEvent, createTextEditingState, normalizeTextEditingState, tryCreateTextEditingState, } from './text.js';
5
- const DATE_FIELD_MAX_CODE_UNITS = 10;
6
- export function createDateValue(year, month, day) {
7
- return unwrap(tryCreateDateValue(year, month, day));
8
- }
9
- export function tryCreateDateValue(year, month, day) {
10
- if (!Number.isSafeInteger(year) || year < 1 || year > 9_999) {
11
- return fail('construction', 'invalid-date-year', 'Date year must be an integer from 1 through 9999.', { year });
12
- }
13
- if (!Number.isSafeInteger(month) || month < 1 || month > 12) {
14
- return fail('construction', 'invalid-date-month', 'Date month must be an integer from 1 through 12.', { month });
15
- }
16
- const maximum = daysInMonth(year, month);
17
- if (!Number.isSafeInteger(day) || day < 1 || day > maximum) {
18
- return fail('construction', 'invalid-date-day', 'Date day must exist in its Gregorian month.', { year, month, day });
19
- }
20
- return ok(Object.freeze({ year, month, day }));
21
- }
22
- export function parseDateValue(text) {
23
- if (typeof text !== 'string')
24
- return fail('construction', 'invalid-date-text', 'Date text must be a string.');
25
- const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(text);
26
- return match === null
27
- ? fail('transition-rejection', 'invalid-date-format', 'Date text must use YYYY-MM-DD.', { text })
28
- : tryCreateDateValue(Number(match[1]), Number(match[2]), Number(match[3]));
29
- }
30
- export function formatDateValue(value) {
31
- return `${String(value.year).padStart(4, '0')}-${String(value.month).padStart(2, '0')}-${String(value.day).padStart(2, '0')}`;
32
- }
33
- export function compareDateValues(left, right) {
34
- const leftDay = dateToOrdinal(left);
35
- const rightDay = dateToOrdinal(right);
36
- return leftDay < rightDay ? -1 : leftDay > rightDay ? 1 : 0;
37
- }
38
- export function differenceInDateDays(left, right) {
39
- return dateToOrdinal(left) - dateToOrdinal(right);
40
- }
41
- /** ISO weekday: Monday is 1 and Sunday is 7. */
42
- export function dateDayOfWeek(value) {
43
- const thursday = dateToOrdinal(Object.freeze({ year: 1970, month: 1, day: 1 }));
44
- return (((dateToOrdinal(value) - thursday + 3) % 7 + 7) % 7 + 1);
45
- }
46
- export function addDateDays(value, amount) {
47
- if (!Number.isSafeInteger(amount))
48
- return fail('transition-rejection', 'invalid-date-day-delta', 'Date day delta must be a safe integer.');
49
- const result = ordinalToDate(dateToOrdinal(value) + amount);
50
- return result.year < 1 || result.year > 9_999
51
- ? fail('transition-rejection', 'date-outside-supported-range', 'Date arithmetic must remain between years 1 and 9999.')
52
- : ok(result);
53
- }
54
- export function addDateMonths(value, amount) {
55
- if (!Number.isSafeInteger(amount))
56
- return fail('transition-rejection', 'invalid-date-month-delta', 'Date month delta must be a safe integer.');
57
- const absolute = value.year * 12 + value.month - 1 + amount;
58
- const year = Math.floor(absolute / 12);
59
- const month = absolute - year * 12 + 1;
60
- if (year < 1 || year > 9_999)
61
- return fail('transition-rejection', 'date-outside-supported-range', 'Date arithmetic must remain between years 1 and 9999.');
62
- return tryCreateDateValue(year, month, Math.min(value.day, daysInMonth(year, month)));
63
- }
64
- export function addDateYears(value, amount) {
65
- if (!Number.isSafeInteger(amount))
66
- return fail('transition-rejection', 'invalid-date-year-delta', 'Date year delta must be a safe integer.');
67
- const year = value.year + amount;
68
- if (year < 1 || year > 9_999)
69
- return fail('transition-rejection', 'date-outside-supported-range', 'Date arithmetic must remain between years 1 and 9999.');
70
- return tryCreateDateValue(year, value.month, Math.min(value.day, daysInMonth(year, value.month)));
71
- }
72
- export function createDateRange(start, end) {
73
- return unwrap(tryCreateDateRange(start, end));
74
- }
75
- export function tryCreateDateRange(start, end) {
76
- const validStart = tryCreateDateValue(start.year, start.month, start.day);
77
- if (!validStart.ok)
78
- return validStart;
79
- const validEnd = tryCreateDateValue(end.year, end.month, end.day);
80
- if (!validEnd.ok)
81
- return validEnd;
82
- if (compareDateValues(validStart.value, validEnd.value) > 0) {
83
- return fail('construction', 'inverted-date-range', 'Date range start must not follow its end.');
84
- }
85
- return ok(Object.freeze({ start: validStart.value, end: validEnd.value }));
86
- }
87
- export function dateRangeContains(range, value) {
88
- return compareDateValues(range.start, value) <= 0 && compareDateValues(value, range.end) <= 0;
89
- }
90
- export function createDateFieldState(value = null, inputState) {
91
- return unwrap(tryCreateDateFieldState(value, inputState));
92
- }
93
- export function tryCreateDateFieldState(value = null, inputState) {
94
- const valid = value === null ? ok(null) : tryCreateDateValue(value.year, value.month, value.day);
95
- if (!valid.ok)
96
- return valid;
97
- const input = inputState === undefined
98
- ? committedInput(valid.value)
99
- : normalizeTextEditingState(inputState);
100
- if (!input.ok)
101
- return input;
102
- if (input.value.snapshot.text.length > DATE_FIELD_MAX_CODE_UNITS) {
103
- return fail('construction', 'date-field-draft-too-long', 'Date field drafts must fit YYYY-MM-DD.');
104
- }
105
- return ok(Object.freeze({ value: valid.value, inputState: input.value }));
106
- }
107
- export function applyDateFieldEvent(state, event, policies = {}) {
108
- const valid = tryCreateDateFieldState(state.value, state.inputState);
109
- if (!valid.ok)
110
- return transitionFailure(valid);
111
- const bounds = validatePolicies(policies);
112
- if (!bounds.ok)
113
- return bounds;
114
- if (typeof event === 'object' && event.type === 'text') {
115
- const edited = applyTextEvent(valid.value.inputState, event.event);
116
- if (!edited.ok)
117
- return edited;
118
- if (edited.value.state.snapshot.text.length > DATE_FIELD_MAX_CODE_UNITS) {
119
- return fail('transition-rejection', 'date-field-draft-too-long', 'Date field drafts must fit YYYY-MM-DD.');
120
- }
121
- return createMachineUpdate(Object.freeze({ value: valid.value.value, inputState: edited.value.state }), [
122
- { type: 'input-state-changed', value: edited.value.state },
123
- ]);
124
- }
125
- if (typeof event === 'object' && event.type === 'set-value') {
126
- return commitValue(event.value, policies);
127
- }
128
- if (event === 'cancel') {
129
- const input = committedInput(valid.value.value);
130
- if (!input.ok)
131
- return input;
132
- return createMachineUpdate(Object.freeze({ value: valid.value.value, inputState: input.value }), [
133
- { type: 'input-state-changed', value: input.value },
134
- ]);
135
- }
136
- if (event === 'increment-segment' || event === 'decrement-segment') {
137
- const draft = parseDateValue(valid.value.inputState.snapshot.text);
138
- if (!draft.ok && valid.value.value === null)
139
- return draft;
140
- const base = draft.ok ? draft.value : valid.value.value;
141
- if (base === null)
142
- return fail('transition-rejection', 'date-field-value-missing', 'Date field has no value to adjust.');
143
- const amount = event === 'increment-segment' ? 1 : -1;
144
- const segment = dateSegmentAt(valid.value.inputState.snapshot.selection.focusCodeUnitOffset);
145
- const adjusted = segment === 'year' ? addDateYears(base, amount)
146
- : segment === 'month' ? addDateMonths(base, amount)
147
- : addDateDays(base, amount);
148
- return adjusted.ok ? commitValue(adjusted.value, policies, segment) : adjusted;
149
- }
150
- if (event !== 'commit')
151
- return fail('transition-rejection', 'unsupported-date-field-event', 'Date field event is unsupported.');
152
- if (valid.value.inputState.composition !== null)
153
- return fail('transition-rejection', 'date-field-composition-active', 'Date field cannot commit while text composition is active.');
154
- const text = valid.value.inputState.snapshot.text.trim();
155
- if (text.length === 0)
156
- return commitValue(null, policies);
157
- const parsed = parseDateValue(text);
158
- return parsed.ok ? commitValue(parsed.value, policies) : parsed;
159
- }
160
- export function dateSegmentAt(offset) {
161
- return offset <= 4 ? 'year' : offset <= 7 ? 'month' : 'day';
162
- }
163
- export function daysInMonth(year, month) {
164
- return month === 2 ? (isLeapYear(year) ? 29 : 28) : (month === 4 || month === 6 || month === 9 || month === 11 ? 30 : 31);
165
- }
166
- export function isLeapYear(year) {
167
- return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
168
- }
169
- function commitValue(value, policies, segment) {
170
- if (value === null) {
171
- if (policies.required === true)
172
- return fail('transition-rejection', 'date-field-value-required', 'Date field requires a value.');
173
- }
174
- else {
175
- const valid = tryCreateDateValue(value.year, value.month, value.day);
176
- if (!valid.ok)
177
- return transitionFailure(valid);
178
- value = valid.value;
179
- if (policies.min !== undefined && compareDateValues(value, policies.min) < 0)
180
- return fail('transition-rejection', 'date-field-value-below-minimum', 'Date field value is below its minimum.');
181
- if (policies.max !== undefined && compareDateValues(value, policies.max) > 0)
182
- return fail('transition-rejection', 'date-field-value-above-maximum', 'Date field value is above its maximum.');
183
- if (policies.unavailable?.(value) === true)
184
- return fail('transition-rejection', 'date-field-value-unavailable', 'Date field value is unavailable.');
185
- }
186
- const input = committedInput(value, segment);
187
- if (!input.ok)
188
- return input;
189
- return createMachineUpdate(Object.freeze({ value, inputState: input.value }), [
190
- { type: 'input-state-changed', value: input.value },
191
- { type: 'value-committed', value },
192
- ]);
193
- }
194
- function committedInput(value, segment) {
195
- const text = value === null ? '' : formatDateValue(value);
196
- const selection = segment === undefined ? { anchorCodeUnitOffset: text.length, focusCodeUnitOffset: text.length }
197
- : segment === 'year' ? { anchorCodeUnitOffset: 0, focusCodeUnitOffset: 4 }
198
- : segment === 'month' ? { anchorCodeUnitOffset: 5, focusCodeUnitOffset: 7 }
199
- : { anchorCodeUnitOffset: 8, focusCodeUnitOffset: 10 };
200
- return tryCreateTextEditingState(text, selection);
201
- }
202
- function validatePolicies(policies) {
203
- if (policies.unavailable !== undefined && typeof policies.unavailable !== 'function')
204
- return fail('construction', 'invalid-date-unavailable-policy', 'Date unavailable policy must be a function.');
205
- if (policies.min !== undefined) {
206
- const min = tryCreateDateValue(policies.min.year, policies.min.month, policies.min.day);
207
- if (!min.ok)
208
- return min;
209
- }
210
- if (policies.max !== undefined) {
211
- const max = tryCreateDateValue(policies.max.year, policies.max.month, policies.max.day);
212
- if (!max.ok)
213
- return max;
214
- }
215
- if (policies.min !== undefined && policies.max !== undefined && compareDateValues(policies.min, policies.max) > 0)
216
- return fail('construction', 'inverted-date-field-bounds', 'Date field minimum must not follow its maximum.');
217
- return ok(true);
218
- }
219
- function transitionFailure(result) {
220
- return result.ok ? fail('internal-invariant', 'unexpected-valid-result', 'Expected an invalid result.') : { ok: false, error: { ...result.error, class: 'transition-rejection' } };
221
- }
222
- function dateToOrdinal(value) {
223
- let year = value.year;
224
- const month = value.month;
225
- year -= month <= 2 ? 1 : 0;
226
- const era = Math.floor(year / 400);
227
- const yearOfEra = year - era * 400;
228
- const monthPrime = month + (month > 2 ? -3 : 9);
229
- const dayOfYear = Math.floor((153 * monthPrime + 2) / 5) + value.day - 1;
230
- const dayOfEra = yearOfEra * 365 + Math.floor(yearOfEra / 4) - Math.floor(yearOfEra / 100) + dayOfYear;
231
- return era * 146097 + dayOfEra;
232
- }
233
- function ordinalToDate(ordinal) {
234
- const era = Math.floor(ordinal / 146097);
235
- const dayOfEra = ordinal - era * 146097;
236
- const yearOfEra = Math.floor((dayOfEra - Math.floor(dayOfEra / 1460) + Math.floor(dayOfEra / 36524) - Math.floor(dayOfEra / 146096)) / 365);
237
- let year = yearOfEra + era * 400;
238
- const dayOfYear = dayOfEra - (365 * yearOfEra + Math.floor(yearOfEra / 4) - Math.floor(yearOfEra / 100));
239
- const monthPrime = Math.floor((5 * dayOfYear + 2) / 153);
240
- const day = dayOfYear - Math.floor((153 * monthPrime + 2) / 5) + 1;
241
- const month = monthPrime + (monthPrime < 10 ? 3 : -9);
242
- year += month <= 2 ? 1 : 0;
243
- return Object.freeze({ year, month, day });
244
- }
245
- //# sourceMappingURL=date-field.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-field.js","sourceRoot":"","sources":["../src/date-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EAGzB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AA8CnB,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;IACtE,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;IACzE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,cAAc,EAAE,mBAAmB,EAAE,mDAAmD,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,kDAAkD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,cAAc,EAAE,kBAAkB,EAAE,6CAA6C,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,cAAc,EAAE,mBAAmB,EAAE,6BAA6B,CAAC,CAAC;IAC9G,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,KAAK,KAAK,IAAI;QACnB,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,EAAE,IAAI,EAAE,CAAC;QACjG,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAChI,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAe,EAAE,KAAgB;IACjE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAe,EAAE,KAAgB;IACpE,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAA8B,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,MAAc;IAC1D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,wCAAwC,CAAC,CAAC;IAC3I,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,KAAK;QAC3C,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,8BAA8B,EAAE,uDAAuD,CAAC;QACvH,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,MAAc;IAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,0CAA0C,CAAC,CAAC;IAC/I,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,8BAA8B,EAAE,uDAAuD,CAAC,CAAC;IAC3J,OAAO,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAgB,EAAE,MAAc;IAC3D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,yCAAyC,CAAC,CAAC;IAC7I,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;IACjC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,8BAA8B,EAAE,uDAAuD,CAAC,CAAC;IAC3J,OAAO,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAgB,EAAE,GAAc;IAC9D,OAAO,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAgB,EAAE,GAAc;IACjE,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,IAAI,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,cAAc,EAAE,qBAAqB,EAAE,2CAA2C,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAgB,EAAE,KAAgB;IAClE,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAK,GAAqB,IAAI,EAC9B,UAA6B;IAE7B,OAAO,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAK,GAAqB,IAAI,EAC9B,UAA6B;IAE7B,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACjG,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,KAAK,GAAG,UAAU,KAAK,SAAS;QACpC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,cAAc,EAAE,2BAA2B,EAAE,wCAAwC,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAqB,EACrB,KAAqB,EACrB,QAAQ,GAAsB,EAAE;IAEhC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,wCAAwC,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;YACtG,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC5D,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;YAC/F,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,KAAK,mBAAmB,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QACxD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,oCAAoC,CAAC,CAAC;QACzH,MAAM,MAAM,GAAG,KAAK,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;YAC9D,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;gBACjD,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjF,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,8BAA8B,EAAE,kCAAkC,CAAC,CAAC;IAChI,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,+BAA+B,EAAE,4DAA4D,CAAC,CAAC;IACpL,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAa;IACrD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5H,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB,EAAE,QAA2B,EAAE,OAAqB;IAC9F,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,8BAA8B,CAAC,CAAC;IACnI,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACpB,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,IAAI,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,gCAAgC,EAAE,wCAAwC,CAAC,CAAC;QAC9L,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,IAAI,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,gCAAgC,EAAE,wCAAwC,CAAC,CAAC;QAC9L,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,sBAAsB,EAAE,8BAA8B,EAAE,kCAAkC,CAAC,CAAC;IACtJ,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;QAC5E,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;QACnD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAuB,EAAE,OAAqB;IACpE,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,MAAM,EAAE;QAC/G,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE;YACxE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE;gBACzE,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;IAC7D,OAAO,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA2B;IACnD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,cAAc,EAAE,iCAAiC,EAAE,6CAA6C,CAAC,CAAC;IACpM,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,GAAG,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,GAAG,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,cAAc,EAAE,4BAA4B,EAAE,iDAAiD,CAAC,CAAC;IAChO,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAI,MAAiB;IAC7C,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,CAAC;AACrL,CAAC;AAED,SAAS,aAAa,CAAC,KAAgB;IACrC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC;IACvG,OAAO,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC5I,IAAI,IAAI,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC;IACjC,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;IACzG,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,76 +0,0 @@
1
- import type { Result } from './shared.js';
2
- import { type DateValue } from './date-field.js';
3
- export interface DatePickerView {
4
- readonly year: number;
5
- readonly month: number;
6
- }
7
- export type DatePickerViewMode = 'week' | 'month' | 'year';
8
- export interface DatePickerMonthValue {
9
- readonly year: number;
10
- readonly month: number;
11
- }
12
- export interface DatePickerState {
13
- readonly value: DateValue | null;
14
- readonly highlighted: DateValue;
15
- readonly view: DatePickerView;
16
- readonly viewMode: DatePickerViewMode;
17
- readonly open: boolean;
18
- }
19
- export type DatePickerEvent = 'open' | 'close' | 'toggle' | 'previous-month' | 'next-month' | 'previous-year' | 'next-year' | 'previous-day' | 'next-day' | 'previous-week' | 'next-week' | 'start-of-week' | 'end-of-week' | 'select-highlighted' | {
20
- readonly type: 'set-view-mode';
21
- readonly value: DatePickerViewMode;
22
- } | {
23
- readonly type: 'select-month';
24
- readonly value: DatePickerMonthValue;
25
- } | {
26
- readonly type: 'select';
27
- readonly value: DateValue;
28
- } | {
29
- readonly type: 'set-value';
30
- readonly value: DateValue | null;
31
- };
32
- export type DatePickerCommand = {
33
- readonly type: 'value-committed';
34
- readonly value: DateValue | null;
35
- } | {
36
- readonly type: 'highlight-changed';
37
- readonly value: DateValue;
38
- } | {
39
- readonly type: 'view-mode-changed';
40
- readonly value: DatePickerViewMode;
41
- } | {
42
- readonly type: 'open-changed';
43
- readonly open: boolean;
44
- };
45
- export interface DatePickerPolicies {
46
- readonly min?: DateValue;
47
- readonly max?: DateValue;
48
- readonly required?: boolean;
49
- readonly unavailable?: (value: DateValue) => boolean;
50
- readonly weekStartsOn?: 1 | 2 | 3 | 4 | 5 | 6 | 7;
51
- readonly maxScan?: number;
52
- }
53
- export type DatePickerUnavailablePredicate = NonNullable<DatePickerPolicies['unavailable']>;
54
- export interface DatePickerUpdate {
55
- readonly state: DatePickerState;
56
- readonly commands: readonly DatePickerCommand[];
57
- }
58
- export interface DatePickerStateInput {
59
- readonly value?: DateValue | null;
60
- readonly highlighted?: DateValue;
61
- readonly view?: DatePickerView;
62
- readonly viewMode?: DatePickerViewMode;
63
- readonly open?: boolean;
64
- }
65
- export declare function createDatePickerState(input?: DatePickerStateInput): DatePickerState;
66
- export declare function tryCreateDatePickerState(input?: DatePickerStateInput): Result<DatePickerState>;
67
- export declare function applyDatePickerEvent(state: DatePickerState, event: DatePickerEvent, policies?: DatePickerPolicies): Result<DatePickerUpdate>;
68
- export declare function createDatePickerWeek(value: DateValue, weekStartsOn?: 1 | 2 | 3 | 4 | 5 | 6 | 7): readonly DateValue[];
69
- export declare function tryCreateDatePickerWeek(value: DateValue, weekStartsOn?: 1 | 2 | 3 | 4 | 5 | 6 | 7): Result<readonly DateValue[]>;
70
- export declare function createDatePickerMonth(view: DatePickerView, weekStartsOn?: 1 | 2 | 3 | 4 | 5 | 6 | 7): readonly (readonly DateValue[])[];
71
- export declare function tryCreateDatePickerMonth(view: DatePickerView, weekStartsOn?: 1 | 2 | 3 | 4 | 5 | 6 | 7): Result<readonly (readonly DateValue[])[]>;
72
- export declare function createDatePickerYear(year: number): readonly (readonly DatePickerMonthValue[])[];
73
- export declare function tryCreateDatePickerYear(year: number): Result<readonly (readonly DatePickerMonthValue[])[]>;
74
- export declare function isDatePickerValueAvailable(value: DateValue, policies?: DatePickerPolicies): boolean;
75
- export declare function datePickerID(value: DateValue): string;
76
- //# sourceMappingURL=date-picker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../src/date-picker.ts"],"names":[],"mappings":"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"}