@visulima/tui 3.0.0 → 4.0.1

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 (215) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/LICENSE.md +130 -1
  3. package/dist/components/box.d.ts +735 -3
  4. package/dist/components/box.js +1 -1
  5. package/dist/components/canvas.js +1 -1
  6. package/dist/components/cursor.d.ts +2 -3
  7. package/dist/components/cursor.js +1 -1
  8. package/dist/components/error-overview.js +1 -1
  9. package/dist/components/spacer.js +1 -1
  10. package/dist/components/static-render.d.ts +2 -3
  11. package/dist/components/static-render.js +1 -1
  12. package/dist/components/static.d.ts +1 -3
  13. package/dist/components/static.js +1 -1
  14. package/dist/components/text.d.ts +1 -3
  15. package/dist/components/text.js +1 -1
  16. package/dist/components/transform.js +1 -1
  17. package/dist/core/index.js +1 -1
  18. package/dist/ink/canvas/index.d.ts +14 -1
  19. package/dist/ink/canvas/index.js +1 -1
  20. package/dist/ink/hooks/use-animation.js +1 -1
  21. package/dist/ink/hooks/use-app.d.ts +1 -2
  22. package/dist/ink/hooks/use-app.js +1 -1
  23. package/dist/ink/hooks/use-box-metrics.d.ts +2 -3
  24. package/dist/ink/hooks/use-box-metrics.js +1 -1
  25. package/dist/ink/hooks/use-clipboard.js +1 -1
  26. package/dist/ink/hooks/use-color-blindness.js +1 -1
  27. package/dist/ink/hooks/use-console-capture.js +1 -1
  28. package/dist/ink/hooks/use-cursor.d.ts +0 -1
  29. package/dist/ink/hooks/use-cursor.js +1 -1
  30. package/dist/ink/hooks/use-focus-manager.d.ts +0 -1
  31. package/dist/ink/hooks/use-focus-manager.js +1 -1
  32. package/dist/ink/hooks/use-focus.js +1 -1
  33. package/dist/ink/hooks/use-form.js +1 -1
  34. package/dist/ink/hooks/use-hotkey.js +1 -1
  35. package/dist/ink/hooks/use-input.js +2 -2
  36. package/dist/ink/hooks/use-interval.js +1 -1
  37. package/dist/ink/hooks/use-key-bindings.js +1 -1
  38. package/dist/ink/hooks/use-key-chord.js +1 -1
  39. package/dist/ink/hooks/use-paste.js +1 -1
  40. package/dist/ink/hooks/use-persistent-state.js +2 -2
  41. package/dist/ink/hooks/use-scroll-acceleration.js +1 -1
  42. package/dist/ink/hooks/use-scroll-input.js +1 -1
  43. package/dist/ink/hooks/use-stderr.d.ts +0 -1
  44. package/dist/ink/hooks/use-stderr.js +1 -1
  45. package/dist/ink/hooks/use-stdin.d.ts +0 -1
  46. package/dist/ink/hooks/use-stdin.js +1 -1
  47. package/dist/ink/hooks/use-stdout.d.ts +0 -1
  48. package/dist/ink/hooks/use-stdout.js +1 -1
  49. package/dist/ink/hooks/use-stopwatch.js +1 -1
  50. package/dist/ink/hooks/use-terminal-palette.js +1 -1
  51. package/dist/ink/hooks/use-text-buffer.js +4 -4
  52. package/dist/ink/hooks/use-text-selection.d.ts +3 -4
  53. package/dist/ink/hooks/use-text-selection.js +1 -1
  54. package/dist/ink/hooks/use-timeout.js +1 -1
  55. package/dist/ink/hooks/use-timer.js +1 -1
  56. package/dist/ink/hooks/use-window-size.js +1 -1
  57. package/dist/ink/index.d.ts +23 -15
  58. package/dist/ink/index.js +1 -1
  59. package/dist/ink/mouse/use-element-position.d.ts +2 -3
  60. package/dist/ink/mouse/use-element-position.js +1 -1
  61. package/dist/ink/mouse/use-mouse-action.d.ts +1 -2
  62. package/dist/ink/mouse/use-mouse-action.js +1 -1
  63. package/dist/ink/mouse/use-mouse-position.d.ts +1 -2
  64. package/dist/ink/mouse/use-mouse-position.js +1 -1
  65. package/dist/ink/mouse/use-mouse.d.ts +1 -2
  66. package/dist/ink/mouse/use-mouse.js +1 -1
  67. package/dist/ink/mouse/use-on-mouse-click.d.ts +3 -4
  68. package/dist/ink/mouse/use-on-mouse-click.js +1 -1
  69. package/dist/ink/mouse/use-on-mouse-hover.d.ts +2 -3
  70. package/dist/ink/mouse/use-on-mouse-hover.js +1 -1
  71. package/dist/ink/mouse/use-on-mouse-state.d.ts +2 -3
  72. package/dist/ink/mouse/use-on-mouse-state.js +1 -1
  73. package/dist/ink/public/cursor.d.ts +22 -1
  74. package/dist/ink/public/cursor.js +1 -1
  75. package/dist/ink/public/dom.d.ts +2 -3
  76. package/dist/ink/public/highlighter.d.ts +49 -3
  77. package/dist/ink/public/highlighter.js +1 -1
  78. package/dist/ink/public/input.d.ts +19 -1
  79. package/dist/ink/public/styles.d.ts +1 -3
  80. package/dist/ink/public/utils.d.ts +8 -1
  81. package/dist/ink/public/utils.js +1 -1
  82. package/dist/packem_shared/COLOR_BLINDNESS_COMPENSATION-CaI93Rjj.js +1 -0
  83. package/dist/packem_shared/Cell-CbDQUAjW.js +1 -0
  84. package/dist/packem_shared/DevTools-DKYxA_wO.js +1 -0
  85. package/dist/packem_shared/FocusContext-mWFBWdli.js +1 -0
  86. package/dist/packem_shared/Fullscreen-DKKMVbkg.js +1 -0
  87. package/dist/packem_shared/{IMECompositionBuffer-VhC9HRCv.js → IMECompositionBuffer-uYiAz3jI.js} +1 -1
  88. package/dist/packem_shared/{InputParser-CUAGWKQQ.js → InputParser-O4nyWUuQ.js} +2 -2
  89. package/dist/packem_shared/{KEY-C--kOw41.js → KEY-DGV_trPu.js} +1 -1
  90. package/dist/packem_shared/LayoutNode-D4i45GQM.js +1 -0
  91. package/dist/packem_shared/MouseProvider-BSTuFqG9.js +1 -0
  92. package/dist/packem_shared/NAMED_COLORS-DvfPALxN.js +1 -0
  93. package/dist/packem_shared/Range-CMqYzhij.js +1 -0
  94. package/dist/packem_shared/Renderer-Dg5_-6TF.js +1 -0
  95. package/dist/packem_shared/ResizeObserver-ClWoCtGV.js +1 -0
  96. package/dist/packem_shared/Static-sqw4n2Fv.js +1 -0
  97. package/dist/packem_shared/{TuiApp-CCVaiKbf.js → TuiApp-D1How6sn.js} +1 -1
  98. package/dist/packem_shared/TuiContext-Bbq9JRCu.js +3 -0
  99. package/dist/packem_shared/animation-context-Icwf5tBE.js +1 -0
  100. package/dist/packem_shared/ansi-parser-CysVDsNz.js +1 -0
  101. package/dist/packem_shared/ansi-tokenizer-D5k5LzXg.js +1 -0
  102. package/dist/packem_shared/{app-context-DTm1_XBA.js → app-context-CfgsW0CV.js} +1 -1
  103. package/dist/packem_shared/{app-context.d-DMLw5Nxy.d.ts → app-context.d-DAF6oxKX.d.ts} +0 -1
  104. package/dist/packem_shared/{boxes-DyY_LXCi.js → boxes-CidWUOVk.js} +1 -1
  105. package/dist/packem_shared/buildCursorOnlySequence-D24o0D7-.js +1 -0
  106. package/dist/packem_shared/calculateScroll-jdxVlcmq.js +1 -0
  107. package/dist/packem_shared/calculateScrollbarLayout-DCVwJ0Cl.js +1 -0
  108. package/dist/packem_shared/clearOsc52-olbKg5Nw.js +1 -0
  109. package/dist/packem_shared/clearStringWidthCache-EWeHQcEb.js +1 -0
  110. package/dist/packem_shared/colorize-Dsbi0Wr0.js +1 -0
  111. package/dist/packem_shared/createBrailleGrid-B5uefhi4.js +1 -0
  112. package/dist/packem_shared/createCanvasBuffer-C7w6bGe4.js +1 -0
  113. package/dist/packem_shared/createInlineLoop-BPlBAXqd.js +2 -0
  114. package/dist/packem_shared/createScreen-BBvF-ZyU.js +3 -0
  115. package/dist/packem_shared/cursor-context-wLwblh2o.js +1 -0
  116. package/dist/packem_shared/{disposeHighlighter-D9OkrhwX.js → disposeHighlighter-BS4lDPP8.js} +1 -1
  117. package/dist/packem_shared/dom-xpeZzKuf.js +1 -0
  118. package/dist/packem_shared/{dom.d-CLGlidfI.d.ts → dom.d-BV2bnRcH.d.ts} +2 -3
  119. package/dist/packem_shared/{focus-context-CsT69klR.js → focus-context-8h3hmNxy.js} +1 -1
  120. package/dist/packem_shared/formatDuration-DcLMLZro.js +1 -0
  121. package/dist/packem_shared/getPathToRoot-DBqZKIzf.js +1 -0
  122. package/dist/packem_shared/index-7Qq5uu0d.js +75 -0
  123. package/dist/packem_shared/isIntersecting-C8tJIsvH.js +1 -0
  124. package/dist/packem_shared/isTerminalPaletteQuerySupported-DwJPJ8_h.js +1 -0
  125. package/dist/packem_shared/kittyFlags-jpd_IAFL.js +1 -0
  126. package/dist/packem_shared/load-native-root-binding-B1WunHs4.js +1 -0
  127. package/dist/packem_shared/measure-element-pHwUPovG.js +1 -0
  128. package/dist/packem_shared/measure-text-DtlK6gar.js +3 -0
  129. package/dist/packem_shared/mouse-context-BEnaR3tG.js +1 -0
  130. package/dist/packem_shared/{mouse-context.d-W-nszUps.d.ts → mouse-context.d-5TGeZyIF.d.ts} +1 -2
  131. package/dist/packem_shared/parseSgrMouse-CHYo9gs6.js +1 -0
  132. package/dist/packem_shared/processLayout-DYdx6C3A.js +2 -0
  133. package/dist/packem_shared/reconciler-BPm7fZa6.js +1 -0
  134. package/dist/packem_shared/reconciler-DXp9qy6k.js +1 -0
  135. package/dist/packem_shared/render-B_NqU7AH.js +1 -0
  136. package/dist/packem_shared/render-DrIzCc0i.js +24 -0
  137. package/dist/packem_shared/{render.d-DjQhFsiN.d.ts → render.d-dEKhpngX.d.ts} +2 -3
  138. package/dist/packem_shared/renderToString-BLr8QvYq.js +2 -0
  139. package/dist/packem_shared/renderToString-D66vRHLQ.js +4 -0
  140. package/dist/packem_shared/renderToken-DFWLdYz_.js +1 -0
  141. package/dist/packem_shared/renderTreeToBuffer-MEHvKJc-.js +2 -0
  142. package/dist/packem_shared/renderer-D97BmOBO.js +17 -0
  143. package/dist/packem_shared/{selection.d-BSAWa4ey.d.ts → selection.d-DCMpXtpU.d.ts} +1 -1
  144. package/dist/packem_shared/squashTextNodesWithMap-CUJZZeW3.js +1 -0
  145. package/dist/packem_shared/stderr-context-Xeacf3Ir.js +1 -0
  146. package/dist/packem_shared/stdin-context-Ceh-YuU1.js +1 -0
  147. package/dist/packem_shared/stdout-context-BhxOwdNK.js +1 -0
  148. package/dist/packem_shared/{styles.d-CKGQFfm4.d.ts → styles.d-BCZOPl_g.d.ts} +37 -3
  149. package/dist/packem_shared/text-width-BXmBaLDv.js +2 -0
  150. package/dist/packem_shared/utils-BlDbvbdr.js +1 -0
  151. package/dist/packem_shared/waitFor-BjdYqkin.js +4 -0
  152. package/dist/packem_shared/wrapOrTruncateStyledLine-Gm21gYDr.js +3 -0
  153. package/dist/react/index.d.ts +1 -1
  154. package/dist/react/index.js +1 -1
  155. package/dist/testing/index.d.ts +4 -6
  156. package/dist/testing/index.js +1 -1
  157. package/index.js +26 -26
  158. package/package.json +13 -13
  159. package/dist/packem_shared/COLOR_BLINDNESS_COMPENSATION-Ilnoyeqc.js +0 -1
  160. package/dist/packem_shared/Cell-BrXn3jxY.js +0 -1
  161. package/dist/packem_shared/DevTools-CZ-O0Ckm.js +0 -1
  162. package/dist/packem_shared/FocusContext-BWFqf9kb.js +0 -1
  163. package/dist/packem_shared/Fullscreen-BRhuBLBh.js +0 -1
  164. package/dist/packem_shared/LayoutNode-LPYsuzBg.js +0 -1
  165. package/dist/packem_shared/MouseProvider-DOcWCRVq.js +0 -1
  166. package/dist/packem_shared/NAMED_COLORS-82DpREQV.js +0 -1
  167. package/dist/packem_shared/Range-BsVYNWtg.js +0 -1
  168. package/dist/packem_shared/Renderer-BeS49FNq.js +0 -1
  169. package/dist/packem_shared/ResizeObserver-BI9bDy-j.js +0 -1
  170. package/dist/packem_shared/Static-DSzsElz4.js +0 -1
  171. package/dist/packem_shared/TuiContext-BNmP0lMY.js +0 -3
  172. package/dist/packem_shared/animation-context-DW3p-vpk.js +0 -1
  173. package/dist/packem_shared/ansi-parser-DlgLtOYO.js +0 -1
  174. package/dist/packem_shared/ansi-tokenizer-BU67A126.js +0 -1
  175. package/dist/packem_shared/buildCursorOnlySequence-CerkmjWt.js +0 -1
  176. package/dist/packem_shared/calculateScroll-D4Y_JR4H.js +0 -1
  177. package/dist/packem_shared/calculateScrollbarLayout-Lf6i24c9.js +0 -1
  178. package/dist/packem_shared/clearOsc52-BUpnQOav.js +0 -1
  179. package/dist/packem_shared/clearStringWidthCache-DKFjfJuB.js +0 -1
  180. package/dist/packem_shared/colorize-DU4YZkp3.js +0 -1
  181. package/dist/packem_shared/createBrailleGrid-BTOQrujS.js +0 -1
  182. package/dist/packem_shared/createCanvasBuffer-CL6sAM-A.js +0 -1
  183. package/dist/packem_shared/createInlineLoop-BMDYJkRp.js +0 -2
  184. package/dist/packem_shared/createScreen-DoYpyL0V.js +0 -3
  185. package/dist/packem_shared/cursor-context-CFviBqPX.js +0 -1
  186. package/dist/packem_shared/dom-rphpG0kf.js +0 -1
  187. package/dist/packem_shared/formatDuration-Bdx4ZgRh.js +0 -1
  188. package/dist/packem_shared/getPathToRoot-PDJeqiEH.js +0 -1
  189. package/dist/packem_shared/index-Dl9I2_QH.js +0 -75
  190. package/dist/packem_shared/isIntersecting-Bo2npvMR.js +0 -1
  191. package/dist/packem_shared/isTerminalPaletteQuerySupported-BYzmqq9-.js +0 -1
  192. package/dist/packem_shared/kittyFlags-g8ALyoCU.js +0 -1
  193. package/dist/packem_shared/load-native-root-binding-CxJnHcac.js +0 -1
  194. package/dist/packem_shared/measure-element-D4M9iSYp.js +0 -1
  195. package/dist/packem_shared/measure-text-B7juNq4Y.js +0 -3
  196. package/dist/packem_shared/mouse-context-DaARgUu1.js +0 -1
  197. package/dist/packem_shared/parseSgrMouse-bUrqPrh-.js +0 -1
  198. package/dist/packem_shared/processLayout-I83k6vXE.js +0 -2
  199. package/dist/packem_shared/reconciler-D4fi5NfR.js +0 -1
  200. package/dist/packem_shared/reconciler-DkwOtC5B.js +0 -1
  201. package/dist/packem_shared/render-CPVY5vpQ.js +0 -1
  202. package/dist/packem_shared/render-CvhjGwOg.js +0 -24
  203. package/dist/packem_shared/renderToString-B1LgWcJe.js +0 -4
  204. package/dist/packem_shared/renderToString-Df6HST7u.js +0 -2
  205. package/dist/packem_shared/renderToken-DjiQ6dfv.js +0 -1
  206. package/dist/packem_shared/renderTreeToBuffer-BpSD0sBJ.js +0 -2
  207. package/dist/packem_shared/renderer-Cs0KEr1o.js +0 -17
  208. package/dist/packem_shared/squashTextNodesWithMap-BmUSBPfc.js +0 -1
  209. package/dist/packem_shared/stderr-context-CR2LLec6.js +0 -1
  210. package/dist/packem_shared/stdin-context-BjMA9Sbi.js +0 -1
  211. package/dist/packem_shared/stdout-context-DAAlQct2.js +0 -1
  212. package/dist/packem_shared/text-width-e49vlbQH.js +0 -2
  213. package/dist/packem_shared/utils-CVgM8kTn.js +0 -1
  214. package/dist/packem_shared/waitFor-CTAki32d.js +0 -4
  215. package/dist/packem_shared/wrapOrTruncateStyledLine-46W8bTtv.js +0 -3
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## @visulima/tui [4.0.1](https://github.com/visulima/visulima/compare/%40visulima%2Ftui%404.0.0...%40visulima%2Ftui%404.0.1) (2026-08-17)
2
+
3
+ ## @visulima/tui [4.0.0](https://github.com/visulima/visulima/compare/%40visulima%2Ftui%403.0.0...%40visulima%2Ftui%404.0.0) (2026-08-08)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * **@visulima/colorize:** upgraded to 2.1.1
9
+ * **@visulima/boxen:** upgraded to 4.0.0
10
+
1
11
  ## @visulima/tui [3.0.0](https://github.com/visulima/visulima/compare/%40visulima%2Ftui%402.0.1...%40visulima%2Ftui%403.0.0) (2026-08-02)
2
12
 
3
13
 
package/LICENSE.md CHANGED
@@ -254,7 +254,7 @@ Repository: git+https://github.com/Morglod/tseep.git
254
254
 
255
255
  # Licenses of bundled types
256
256
  The published @visulima/tui artifact additionally contains code with the following licenses:
257
- MIT
257
+ MIT, (MIT OR CC0-1.0)
258
258
 
259
259
  # Bundled types:
260
260
  ## cli-boxes
@@ -331,4 +331,133 @@ Repository: git+https://github.com/Morglod/tseep.git
331
331
  > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
332
332
  > SOFTWARE.
333
333
 
334
+ ---------------------------------------
335
+
336
+ ## type-fest
337
+ License: (MIT OR CC0-1.0)
338
+ By: Sindre Sorhus
339
+ Repository: sindresorhus/type-fest
340
+
341
+ > Creative Commons Legal Code
342
+ >
343
+ > CC0 1.0 Universal
344
+ >
345
+ > CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
346
+ > LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
347
+ > ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
348
+ > INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
349
+ > REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
350
+ > PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
351
+ > THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
352
+ > HEREUNDER.
353
+ >
354
+ > Statement of Purpose
355
+ >
356
+ > The laws of most jurisdictions throughout the world automatically confer
357
+ > exclusive Copyright and Related Rights (defined below) upon the creator
358
+ > and subsequent owner(s) (each and all, an "owner") of an original work of
359
+ > authorship and/or a database (each, a "Work").
360
+ >
361
+ > Certain owners wish to permanently relinquish those rights to a Work for
362
+ > the purpose of contributing to a commons of creative, cultural and
363
+ > scientific works ("Commons") that the public can reliably and without fear
364
+ > of later claims of infringement build upon, modify, incorporate in other
365
+ > works, reuse and redistribute as freely as possible in any form whatsoever
366
+ > and for any purposes, including without limitation commercial purposes.
367
+ > These owners may contribute to the Commons to promote the ideal of a free
368
+ > culture and the further production of creative, cultural and scientific
369
+ > works, or to gain reputation or greater distribution for their Work in
370
+ > part through the use and efforts of others.
371
+ >
372
+ > For these and/or other purposes and motivations, and without any
373
+ > expectation of additional consideration or compensation, the person
374
+ > associating CC0 with a Work (the "Affirmer"), to the extent that he or she
375
+ > is an owner of Copyright and Related Rights in the Work, voluntarily
376
+ > elects to apply CC0 to the Work and publicly distribute the Work under its
377
+ > terms, with knowledge of his or her Copyright and Related Rights in the
378
+ > Work and the meaning and intended legal effect of CC0 on those rights.
379
+ >
380
+ > 1. Copyright and Related Rights. A Work made available under CC0 may be
381
+ > protected by copyright and related or neighboring rights ("Copyright and
382
+ > Related Rights"). Copyright and Related Rights include, but are not
383
+ > limited to, the following:
384
+ >
385
+ > i. the right to reproduce, adapt, distribute, perform, display,
386
+ > communicate, and translate a Work;
387
+ > ii. moral rights retained by the original author(s) and/or performer(s);
388
+ > iii. publicity and privacy rights pertaining to a person's image or
389
+ > likeness depicted in a Work;
390
+ > iv. rights protecting against unfair competition in regards to a Work,
391
+ > subject to the limitations in paragraph 4(a), below;
392
+ > v. rights protecting the extraction, dissemination, use and reuse of data
393
+ > in a Work;
394
+ > vi. database rights (such as those arising under Directive 96/9/EC of the
395
+ > European Parliament and of the Council of 11 March 1996 on the legal
396
+ > protection of databases, and under any national implementation
397
+ > thereof, including any amended or successor version of such
398
+ > directive); and
399
+ > vii. other similar, equivalent or corresponding rights throughout the
400
+ > world based on applicable law or treaty, and any national
401
+ > implementations thereof.
402
+ >
403
+ > 2. Waiver. To the greatest extent permitted by, but not in contravention
404
+ > of, applicable law, Affirmer hereby overtly, fully, permanently,
405
+ > irrevocably and unconditionally waives, abandons, and surrenders all of
406
+ > Affirmer's Copyright and Related Rights and associated claims and causes
407
+ > of action, whether now known or unknown (including existing as well as
408
+ > future claims and causes of action), in the Work (i) in all territories
409
+ > worldwide, (ii) for the maximum duration provided by applicable law or
410
+ > treaty (including future time extensions), (iii) in any current or future
411
+ > medium and for any number of copies, and (iv) for any purpose whatsoever,
412
+ > including without limitation commercial, advertising or promotional
413
+ > purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
414
+ > member of the public at large and to the detriment of Affirmer's heirs and
415
+ > successors, fully intending that such Waiver shall not be subject to
416
+ > revocation, rescission, cancellation, termination, or any other legal or
417
+ > equitable action to disrupt the quiet enjoyment of the Work by the public
418
+ > as contemplated by Affirmer's express Statement of Purpose.
419
+ >
420
+ > 3. Public License Fallback. Should any part of the Waiver for any reason
421
+ > be judged legally invalid or ineffective under applicable law, then the
422
+ > Waiver shall be preserved to the maximum extent permitted taking into
423
+ > account Affirmer's express Statement of Purpose. In addition, to the
424
+ > extent the Waiver is so judged Affirmer hereby grants to each affected
425
+ > person a royalty-free, non transferable, non sublicensable, non exclusive,
426
+ > irrevocable and unconditional license to exercise Affirmer's Copyright and
427
+ > Related Rights in the Work (i) in all territories worldwide, (ii) for the
428
+ > maximum duration provided by applicable law or treaty (including future
429
+ > time extensions), (iii) in any current or future medium and for any number
430
+ > of copies, and (iv) for any purpose whatsoever, including without
431
+ > limitation commercial, advertising or promotional purposes (the
432
+ > "License"). The License shall be deemed effective as of the date CC0 was
433
+ > applied by Affirmer to the Work. Should any part of the License for any
434
+ > reason be judged legally invalid or ineffective under applicable law, such
435
+ > partial invalidity or ineffectiveness shall not invalidate the remainder
436
+ > of the License, and in such case Affirmer hereby affirms that he or she
437
+ > will not (i) exercise any of his or her remaining Copyright and Related
438
+ > Rights in the Work or (ii) assert any associated claims and causes of
439
+ > action with respect to the Work, in either case contrary to Affirmer's
440
+ > express Statement of Purpose.
441
+ >
442
+ > 4. Limitations and Disclaimers.
443
+ >
444
+ > a. No trademark or patent rights held by Affirmer are waived, abandoned,
445
+ > surrendered, licensed or otherwise affected by this document.
446
+ > b. Affirmer offers the Work as-is and makes no representations or
447
+ > warranties of any kind concerning the Work, express, implied,
448
+ > statutory or otherwise, including without limitation warranties of
449
+ > title, merchantability, fitness for a particular purpose, non
450
+ > infringement, or the absence of latent or other defects, accuracy, or
451
+ > the present or absence of errors, whether or not discoverable, all to
452
+ > the greatest extent permissible under applicable law.
453
+ > c. Affirmer disclaims responsibility for clearing rights of other persons
454
+ > that may apply to the Work or any use thereof, including without
455
+ > limitation any person's Copyright and Related Rights in the Work.
456
+ > Further, Affirmer disclaims responsibility for obtaining any necessary
457
+ > consents, permissions or other rights required for any use of the
458
+ > Work.
459
+ > d. Affirmer understands and acknowledges that Creative Commons is not a
460
+ > party to this document and has no duty or obligation with respect to
461
+ > this CC0 or use of the Work.
462
+
334
463
  <!-- /TYPE_DEPENDENCIES -->