tiny-essentials 1.28.1 → 1.28.3

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 (218) hide show
  1. package/changelog/1/28/2.md +43 -0
  2. package/changelog/1/28/3.md +9 -0
  3. package/dist/_/numbers.d.mts +91 -16
  4. package/dist/v1/TinyBasicsEs.min.js +1 -1
  5. package/dist/v1/TinyEssentials.min.js +1 -1
  6. package/dist/v1/TinyMediaPlayer.min.js +1 -1
  7. package/dist/v1/TinyRadioFm.min.js +1 -1
  8. package/dist/v1/basics/array.d.mts +14 -14
  9. package/dist/v1/basics/clock.cjs +15 -15
  10. package/dist/v1/basics/clock.d.mts +21 -21
  11. package/dist/v1/basics/clock.mjs +15 -15
  12. package/dist/v1/basics/collision.d.mts +245 -104
  13. package/dist/v1/basics/deprecated/html.d.mts +33 -33
  14. package/dist/v1/basics/extendObjType/Buffer.d.mts +1 -1
  15. package/dist/v1/basics/fullScreen.d.mts +47 -7
  16. package/dist/v1/basics/html.d.mts +52 -61
  17. package/dist/v1/basics/index.cjs +2 -0
  18. package/dist/v1/basics/index.d.mts +11 -67
  19. package/dist/v1/basics/index.mjs +2 -2
  20. package/dist/v1/basics/mediaContent.cjs +65 -23
  21. package/dist/v1/basics/mediaContent.d.mts +144 -73
  22. package/dist/v1/basics/mediaContent.mjs +65 -23
  23. package/dist/v1/basics/objChecker.d.mts +2 -2
  24. package/dist/v1/basics/objFilter.cjs +50 -16
  25. package/dist/v1/basics/objFilter.d.mts +34 -13
  26. package/dist/v1/basics/objFilter.mjs +48 -16
  27. package/dist/v1/basics/simpleMath.d.mts +21 -21
  28. package/dist/v1/basics/text.d.mts +34 -46
  29. package/dist/v1/build/ColorSafeStringify.d.mts +1 -1
  30. package/dist/v1/build/TinyAdvancedRaffle.d.mts +1 -1
  31. package/dist/v1/build/TinyAfterScrollWatcher.d.mts +1 -1
  32. package/dist/v1/build/TinyAnalogClock.d.mts +1 -1
  33. package/dist/v1/build/TinyArrayComparator.d.mts +1 -1
  34. package/dist/v1/build/TinyArrayPaginator.d.mts +1 -1
  35. package/dist/v1/build/TinyClassManager.d.mts +1 -1
  36. package/dist/v1/build/TinyClipboard.d.mts +1 -1
  37. package/dist/v1/build/TinyColorConverter.d.mts +1 -1
  38. package/dist/v1/build/TinyColorValidator.d.mts +1 -1
  39. package/dist/v1/build/TinyCookieConsent.d.mts +1 -1
  40. package/dist/v1/build/TinyDayNightCycle.d.mts +1 -1
  41. package/dist/v1/build/TinyDomReadyManager.d.mts +1 -1
  42. package/dist/v1/build/TinyDragDropDetector.d.mts +1 -1
  43. package/dist/v1/build/TinyDragger.d.mts +1 -1
  44. package/dist/v1/build/TinyElementObserver.d.mts +1 -1
  45. package/dist/v1/build/TinyGamepad.d.mts +1 -1
  46. package/dist/v1/build/TinyHtml.d.mts +1 -1
  47. package/dist/v1/build/TinyI18.d.mts +1 -1
  48. package/dist/v1/build/TinyIframeEvents.d.mts +1 -1
  49. package/dist/v1/build/TinyInventory.d.mts +1 -1
  50. package/dist/v1/build/TinyInventoryTrader.d.mts +1 -1
  51. package/dist/v1/build/TinyLevelUp.d.mts +1 -1
  52. package/dist/v1/build/TinyLoadingScreen.d.mts +1 -1
  53. package/dist/v1/build/TinyLocalStorage.d.mts +1 -1
  54. package/dist/v1/build/TinyMediaPlayer.d.mts +1 -1
  55. package/dist/v1/build/TinyNeedBar.d.mts +1 -1
  56. package/dist/v1/build/TinyNewWinEvents.d.mts +1 -1
  57. package/dist/v1/build/TinyNotifications.d.mts +1 -1
  58. package/dist/v1/build/TinyNotifyCenter.d.mts +1 -1
  59. package/dist/v1/build/TinyPromiseQueue.d.mts +1 -1
  60. package/dist/v1/build/TinyRadioFm.d.mts +1 -1
  61. package/dist/v1/build/TinyRateLimiter.d.mts +1 -1
  62. package/dist/v1/build/TinySimpleDice.d.mts +1 -1
  63. package/dist/v1/build/TinySmartScroller.d.mts +1 -1
  64. package/dist/v1/build/TinyTextDiffer.d.mts +1 -1
  65. package/dist/v1/build/TinyTextRangeEditor.d.mts +1 -1
  66. package/dist/v1/build/TinyTextarea.d.mts +1 -1
  67. package/dist/v1/build/TinyTimeout.d.mts +1 -1
  68. package/dist/v1/build/TinyToastNotify.d.mts +1 -1
  69. package/dist/v1/build/TinyUploadClicker.d.mts +1 -1
  70. package/dist/v1/build/UltraRandomMsgGen.d.mts +1 -1
  71. package/dist/v1/fileManager/asyncFuncs.d.mts +13 -13
  72. package/dist/v1/fileManager/index.d.mts +3 -29
  73. package/dist/v1/fileManager/normalFuncs.d.mts +22 -22
  74. package/dist/v1/index.cjs +2 -0
  75. package/dist/v1/index.d.mts +53 -139
  76. package/dist/v1/index.mjs +2 -2
  77. package/dist/v1/libs/ColorSafeStringify.d.mts +3 -12
  78. package/dist/v1/libs/TinyAdvancedRaffle.d.mts +60 -103
  79. package/dist/v1/libs/TinyAfterScrollWatcher.d.mts +11 -18
  80. package/dist/v1/libs/TinyAnalogClock.d.mts +8 -11
  81. package/dist/v1/libs/TinyArrayComparator.d.mts +14 -20
  82. package/dist/v1/libs/TinyArrayPaginator.d.mts +22 -26
  83. package/dist/v1/libs/TinyClassManager/TinyPluginInliner.d.mts +8 -8
  84. package/dist/v1/libs/TinyClassManager.cjs +5 -7
  85. package/dist/v1/libs/TinyClassManager.d.mts +16 -16
  86. package/dist/v1/libs/TinyClassManager.mjs +5 -6
  87. package/dist/v1/libs/TinyClipboard.d.mts +8 -3
  88. package/dist/v1/libs/TinyColorConverter.d.mts +8 -31
  89. package/dist/v1/libs/TinyColorValidator.d.mts +145 -184
  90. package/dist/v1/libs/TinyCookieConsent.d.mts +17 -17
  91. package/dist/v1/libs/TinyDayNightCycle.d.mts +85 -110
  92. package/dist/v1/libs/TinyDomReadyManager.d.mts +8 -16
  93. package/dist/v1/libs/TinyDragDropDetector.d.mts +30 -30
  94. package/dist/v1/libs/TinyDragger.d.mts +82 -81
  95. package/dist/v1/libs/TinyElementObserver.d.mts +25 -28
  96. package/dist/v1/libs/TinyGamepad.cjs +0 -1
  97. package/dist/v1/libs/TinyGamepad.d.mts +50 -122
  98. package/dist/v1/libs/TinyGamepad.mjs +0 -1
  99. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.cjs +2 -25
  100. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.d.mts +19 -25
  101. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.mjs +3 -27
  102. package/dist/v1/libs/TinyHtml/TinyHtmlButton.cjs +2 -1
  103. package/dist/v1/libs/TinyHtml/TinyHtmlButton.d.mts +55 -55
  104. package/dist/v1/libs/TinyHtml/TinyHtmlButton.mjs +2 -1
  105. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.d.mts +6 -6
  106. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.cjs +8 -4
  107. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.d.mts +19 -21
  108. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.mjs +7 -4
  109. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.d.mts +8 -8
  110. package/dist/v1/libs/TinyHtml/TinyHtmlForm.d.mts +18 -18
  111. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.d.mts +5 -6
  112. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.d.mts +19 -19
  113. package/dist/v1/libs/TinyHtml/TinyHtmlImage.cjs +0 -28
  114. package/dist/v1/libs/TinyHtml/TinyHtmlImage.d.mts +22 -28
  115. package/dist/v1/libs/TinyHtml/TinyHtmlImage.mjs +1 -27
  116. package/dist/v1/libs/TinyHtml/TinyHtmlInput.d.mts +11 -11
  117. package/dist/v1/libs/TinyHtml/TinyHtmlLink.d.mts +23 -23
  118. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.d.mts +26 -26
  119. package/dist/v1/libs/TinyHtml/TinyHtmlScript.cjs +4 -30
  120. package/dist/v1/libs/TinyHtml/TinyHtmlScript.d.mts +20 -26
  121. package/dist/v1/libs/TinyHtml/TinyHtmlScript.mjs +5 -32
  122. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.d.mts +19 -19
  123. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.d.mts +8 -8
  124. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.d.mts +26 -28
  125. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.cjs +14 -15
  126. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.d.mts +32 -32
  127. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.mjs +15 -15
  128. package/dist/v1/libs/TinyHtml/index.d.mts +102 -45
  129. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.cjs +11 -9
  130. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.d.mts +21 -21
  131. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.mjs +11 -9
  132. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.d.mts +11 -11
  133. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.cjs +4 -4
  134. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.d.mts +17 -13
  135. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.mjs +4 -4
  136. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.d.mts +21 -21
  137. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.cjs +5 -4
  138. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.d.mts +14 -14
  139. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.mjs +5 -4
  140. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.cjs +4 -3
  141. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.d.mts +10 -10
  142. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.mjs +4 -3
  143. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.cjs +4 -3
  144. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.d.mts +19 -19
  145. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.mjs +4 -3
  146. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.cjs +5 -4
  147. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.d.mts +11 -11
  148. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.mjs +5 -4
  149. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.cjs +4 -3
  150. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.d.mts +15 -11
  151. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.mjs +4 -3
  152. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.cjs +49 -21
  153. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.d.mts +34 -20
  154. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.mjs +45 -20
  155. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.cjs +1 -1
  156. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.d.mts +14 -14
  157. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.mjs +1 -1
  158. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.cjs +1 -1
  159. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.d.mts +14 -14
  160. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.mjs +1 -1
  161. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.cjs +48 -25
  162. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.d.mts +27 -21
  163. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.mjs +40 -27
  164. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.cjs +1 -1
  165. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.d.mts +14 -14
  166. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.mjs +1 -1
  167. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.d.mts +14 -14
  168. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.d.mts +14 -14
  169. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.d.mts +25 -21
  170. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.d.mts +18 -18
  171. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.d.mts +33 -29
  172. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.d.mts +22 -22
  173. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.d.mts +18 -18
  174. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.d.mts +31 -27
  175. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.d.mts +35 -11
  176. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.d.mts +10 -10
  177. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.d.mts +12 -12
  178. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.d.mts +35 -27
  179. package/dist/v1/libs/TinyHtml.cjs +3 -4
  180. package/dist/v1/libs/TinyHtml.d.mts +1503 -1731
  181. package/dist/v1/libs/TinyHtml.mjs +3 -4
  182. package/dist/v1/libs/TinyI18.d.mts +23 -61
  183. package/dist/v1/libs/TinyIframeEvents.cjs +1 -1
  184. package/dist/v1/libs/TinyIframeEvents.d.mts +29 -38
  185. package/dist/v1/libs/TinyIframeEvents.mjs +1 -1
  186. package/dist/v1/libs/TinyInventory.d.mts +78 -141
  187. package/dist/v1/libs/TinyInventoryTrader.d.mts +19 -22
  188. package/dist/v1/libs/TinyLevelUp.d.mts +10 -13
  189. package/dist/v1/libs/TinyLoadingScreen.d.mts +21 -31
  190. package/dist/v1/libs/TinyLocalStorage.d.mts +11 -36
  191. package/dist/v1/libs/TinyMamdaniInferenceSystem.d.mts +37 -23
  192. package/dist/v1/libs/TinyMediaPlayer.cjs +5 -3
  193. package/dist/v1/libs/TinyMediaPlayer.d.mts +102 -109
  194. package/dist/v1/libs/TinyMediaPlayer.mjs +5 -3
  195. package/dist/v1/libs/TinyNeedBar.d.mts +25 -37
  196. package/dist/v1/libs/TinyNewWinEvents.d.mts +29 -32
  197. package/dist/v1/libs/TinyNotifications.d.mts +6 -6
  198. package/dist/v1/libs/TinyNotifyCenter.d.mts +15 -21
  199. package/dist/v1/libs/TinyPromiseQueue.d.mts +11 -11
  200. package/dist/v1/libs/TinyRadioFm.cjs +32 -12
  201. package/dist/v1/libs/TinyRadioFm.d.mts +44 -80
  202. package/dist/v1/libs/TinyRadioFm.mjs +29 -12
  203. package/dist/v1/libs/TinyRateLimiter.d.mts +26 -39
  204. package/dist/v1/libs/TinySimpleDice.d.mts +17 -36
  205. package/dist/v1/libs/TinySmartScroller.d.mts +50 -60
  206. package/dist/v1/libs/TinyTextDiffer.d.mts +11 -14
  207. package/dist/v1/libs/TinyTextRangeEditor.d.mts +8 -8
  208. package/dist/v1/libs/TinyTextarea.d.mts +31 -31
  209. package/dist/v1/libs/TinyTimeout.d.mts +14 -14
  210. package/dist/v1/libs/TinyToastNotify.cjs +1 -1
  211. package/dist/v1/libs/TinyToastNotify.d.mts +15 -23
  212. package/dist/v1/libs/TinyToastNotify.mjs +1 -1
  213. package/dist/v1/libs/TinyUploadClicker.d.mts +38 -14
  214. package/dist/v1/libs/UltraRandomMsgGen.d.mts +44 -84
  215. package/dist/v1/libs/utils.d.mts +5 -1
  216. package/docs/v1/basics/deprecated/objFilter.md +14 -0
  217. package/docs/v1/basics/objFilter.md +31 -17
  218. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- export default TinyHtmlTimeInput;
1
+ import TinyHtmlInput from '../../TinyHtmlInput.mjs';
2
2
  /**
3
3
  * TinyHtmlTimeInput is a helper class for managing `<input type="time">` elements.
4
4
  * It provides validated getters and setters for all relevant attributes such as
@@ -15,13 +15,19 @@ export default TinyHtmlTimeInput;
15
15
  * });
16
16
  */
17
17
  declare class TinyHtmlTimeInput extends TinyHtmlInput {
18
+ /**
19
+ * Convert a Date to Time String.
20
+ * @param {Date} value
21
+ * @returns {string}
22
+ */
23
+ static dateToString(value: Date): string;
18
24
  /**
19
25
  * Creates a new TinyHtmlTimeInput instance.
20
26
  * @param {Object} config - Configuration object.
21
27
  * @param {string} [config.value] - Initial time value in "HH:MM" format.
22
28
  * @param {string} [config.min] - Minimum allowed time (e.g., "08:00").
23
29
  * @param {string} [config.max] - Maximum allowed time (e.g., "18:00").
24
- * @param {number|string} [config.step] - Granularity in seconds (or "any").
30
+ * @param {number|'any'} [config.step] - Granularity in seconds (or "any").
25
31
  * @param {string} [config.name] - The name of the control.
26
32
  * @param {string} [config.placeholder] - Placeholder text.
27
33
  * @param {string} [config.autocomplete] - Autocomplete hint ("on", "off", or token list).
@@ -33,21 +39,21 @@ declare class TinyHtmlTimeInput extends TinyHtmlInput {
33
39
  * @throws {TypeError} If any attribute is of the wrong type.
34
40
  */
35
41
  constructor({ value, list, min, max, step, name, readonly, required, placeholder, autocomplete, tags, mainClass, }?: {
36
- value?: string | undefined;
37
- min?: string | undefined;
38
- max?: string | undefined;
39
- step?: string | number | undefined;
40
- name?: string | undefined;
41
- placeholder?: string | undefined;
42
- autocomplete?: string | undefined;
43
- list?: string | undefined;
44
- readonly?: boolean | undefined;
45
- required?: boolean | undefined;
46
- tags?: string | string[] | Set<string> | undefined;
47
- mainClass?: string | undefined;
42
+ value?: string;
43
+ min?: string;
44
+ max?: string;
45
+ step?: number | 'any';
46
+ name?: string;
47
+ placeholder?: string;
48
+ autocomplete?: string;
49
+ list?: string;
50
+ readonly?: boolean;
51
+ required?: boolean;
52
+ tags?: string | string[] | Set<string>;
53
+ mainClass?: string;
48
54
  });
49
- /** @param {string|Date|number} value */
50
- set value(value: string | Date | number);
55
+ /** @param {string} value */
56
+ set value(value: string);
51
57
  /** @returns {string|null} */
52
58
  get value(): string | null;
53
59
  /** @param {string} min */
@@ -58,10 +64,10 @@ declare class TinyHtmlTimeInput extends TinyHtmlInput {
58
64
  set max(max: string);
59
65
  /** @returns {string|null} */
60
66
  get max(): string | null;
61
- /** @param {number|string} step */
62
- set step(step: number | string);
63
- /** @returns {string|null} */
64
- get step(): string | null;
67
+ /** @param {number|'any'} step */
68
+ set step(step: number | 'any');
69
+ /** @returns {number|'any'|null} */
70
+ get step(): number | 'any' | null;
65
71
  /** @param {string} list */
66
72
  set list(list: string);
67
73
  /** @returns {string|null} */
@@ -71,5 +77,5 @@ declare class TinyHtmlTimeInput extends TinyHtmlInput {
71
77
  /** @returns {string|null} */
72
78
  get autocomplete(): string | null;
73
79
  }
74
- import TinyHtmlInput from '../../TinyHtmlInput.mjs';
80
+ export default TinyHtmlTimeInput;
75
81
  //# sourceMappingURL=TinyHtmlTimeInput.d.mts.map
@@ -1,4 +1,13 @@
1
1
  import TinyHtmlInput from '../../TinyHtmlInput.mjs';
2
+ /**
3
+ * Validator to ensure the correct HTML5 time format (HH:MM or HH:MM:SS or HH:MM:SS.mmm)
4
+ * @param {string} str
5
+ * @returns {boolean}
6
+ */
7
+ const isValidTimeString = (str) => {
8
+ const timeRegex = /^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d(\.\d{1,3})?)?$/;
9
+ return typeof str === 'string' && (str.length < 1 || timeRegex.test(str));
10
+ };
2
11
  /**
3
12
  * TinyHtmlTimeInput is a helper class for managing `<input type="time">` elements.
4
13
  * It provides validated getters and setters for all relevant attributes such as
@@ -15,13 +24,27 @@ import TinyHtmlInput from '../../TinyHtmlInput.mjs';
15
24
  * });
16
25
  */
17
26
  class TinyHtmlTimeInput extends TinyHtmlInput {
27
+ /**
28
+ * Convert a Date to Time String.
29
+ * @param {Date} value
30
+ * @returns {string}
31
+ */
32
+ static dateToString(value) {
33
+ if (!(value instanceof Date))
34
+ throw new TypeError('TinyHtmlTimeInput: "value" must be a date.');
35
+ const hours = String(value.getHours()).padStart(2, '0');
36
+ const minutes = String(value.getMinutes()).padStart(2, '0');
37
+ const seconds = String(value.getSeconds()).padStart(2, '0');
38
+ const milliSecondss = String(value.getMilliseconds()).padStart(3, '0');
39
+ return `${hours}:${minutes}:${seconds}.${milliSecondss}`;
40
+ }
18
41
  /**
19
42
  * Creates a new TinyHtmlTimeInput instance.
20
43
  * @param {Object} config - Configuration object.
21
44
  * @param {string} [config.value] - Initial time value in "HH:MM" format.
22
45
  * @param {string} [config.min] - Minimum allowed time (e.g., "08:00").
23
46
  * @param {string} [config.max] - Maximum allowed time (e.g., "18:00").
24
- * @param {number|string} [config.step] - Granularity in seconds (or "any").
47
+ * @param {number|'any'} [config.step] - Granularity in seconds (or "any").
25
48
  * @param {string} [config.name] - The name of the control.
26
49
  * @param {string} [config.placeholder] - Placeholder text.
27
50
  * @param {string} [config.autocomplete] - Autocomplete hint ("on", "off", or token list).
@@ -51,27 +74,20 @@ class TinyHtmlTimeInput extends TinyHtmlInput {
51
74
  this.readonly = readonly;
52
75
  this.required = required;
53
76
  }
54
- /** @param {string|Date|number} value */
77
+ /** @param {string} value */
55
78
  set value(value) {
56
- if (typeof value !== 'string' && typeof value !== 'number' && !(value instanceof Date))
57
- throw new TypeError('TinyHtmlTimeInput: "value" must be a string or date.');
58
- if (value instanceof Date) {
59
- const hours = String(value.getHours()).padStart(2, '0');
60
- const minutes = String(value.getMinutes()).padStart(2, '0');
61
- const formatted = `${hours}:${minutes}`;
62
- this.setVal(formatted);
63
- return;
64
- }
79
+ if (!isValidTimeString(value))
80
+ throw new TypeError('TinyHtmlTimeInput: "value" must be a valid time string (HH:MM or HH:MM:SS).');
65
81
  this.setVal(value);
66
82
  }
67
83
  /** @returns {string|null} */
68
84
  get value() {
69
- return this.attrString('value');
85
+ return this.valTxt();
70
86
  }
71
87
  /** @param {string} min */
72
88
  set min(min) {
73
- if (typeof min !== 'string')
74
- throw new TypeError('TinyHtmlTimeInput: "min" must be a string.');
89
+ if (!isValidTimeString(min))
90
+ throw new TypeError('TinyHtmlTimeInput: "min" must be a valid time string (HH:MM or HH:MM:SS).');
75
91
  this.setAttr('min', min);
76
92
  }
77
93
  /** @returns {string|null} */
@@ -80,29 +96,26 @@ class TinyHtmlTimeInput extends TinyHtmlInput {
80
96
  }
81
97
  /** @param {string} max */
82
98
  set max(max) {
83
- if (typeof max !== 'string')
84
- throw new TypeError('TinyHtmlTimeInput: "max" must be a string.');
99
+ if (!isValidTimeString(max))
100
+ throw new TypeError('TinyHtmlTimeInput: "max" must be a valid time string (HH:MM or HH:MM:SS).');
85
101
  this.setAttr('max', max);
86
102
  }
87
103
  /** @returns {string|null} */
88
104
  get max() {
89
105
  return this.attrString('max');
90
106
  }
91
- /** @param {number|string} step */
107
+ /** @param {number|'any'} step */
92
108
  set step(step) {
93
- if (typeof step === 'number') {
94
- if (!Number.isFinite(step) || step <= 0)
95
- throw new TypeError('TinyHtmlTimeInput: "step" must be a positive number or "any".');
96
- this.setAttr('step', String(step));
97
- return;
98
- }
99
- if (step !== 'any')
100
- throw new TypeError('TinyHtmlTimeInput: "step" must be a number or "any".');
109
+ if (!(typeof step === 'number' && step > 0) && step !== 'any')
110
+ throw new TypeError('TinyHtmlTimeInput: "step" must be a positive number or "any".');
101
111
  this.setAttr('step', step);
102
112
  }
103
- /** @returns {string|null} */
113
+ /** @returns {number|'any'|null} */
104
114
  get step() {
105
- return this.attrString('step');
115
+ const value = this.attrString('step');
116
+ if (value === null || value === 'any')
117
+ return value;
118
+ return parseFloat(value);
106
119
  }
107
120
  /** @param {string} list */
108
121
  set list(list) {
@@ -83,7 +83,7 @@ class TinyHtmlWeekInput extends TinyHtmlInput {
83
83
 
84
84
  /** @returns {string|null} */
85
85
  get value() {
86
- return this.attrString('value');
86
+ return this.valTxt();
87
87
  }
88
88
 
89
89
  /** @param {string} min */
@@ -1,4 +1,4 @@
1
- export default TinyHtmlWeekInput;
1
+ import TinyHtmlInput from '../../TinyHtmlInput.mjs';
2
2
  /**
3
3
  * TinyHtmlWeekInput is a helper class for managing `<input type="week">` elements.
4
4
  * It provides getters and setters for all standard attributes, ensuring type safety
@@ -32,18 +32,18 @@ declare class TinyHtmlWeekInput extends TinyHtmlInput {
32
32
  * @throws {TypeError} If any attribute is of the wrong type.
33
33
  */
34
34
  constructor({ value, min, max, step, name, placeholder, autocomplete, list, readonly, required, tags, mainClass, }?: {
35
- value?: string | undefined;
36
- min?: string | undefined;
37
- max?: string | undefined;
38
- step?: number | undefined;
39
- name?: string | undefined;
40
- placeholder?: string | undefined;
41
- autocomplete?: string | undefined;
42
- list?: string | undefined;
43
- readonly?: boolean | undefined;
44
- required?: boolean | undefined;
45
- tags?: string | string[] | Set<string> | undefined;
46
- mainClass?: string | undefined;
35
+ value?: string;
36
+ min?: string;
37
+ max?: string;
38
+ step?: number;
39
+ name?: string;
40
+ placeholder?: string;
41
+ autocomplete?: string;
42
+ list?: string;
43
+ readonly?: boolean;
44
+ required?: boolean;
45
+ tags?: string | string[] | Set<string>;
46
+ mainClass?: string;
47
47
  });
48
48
  /** @param {string|Date} value */
49
49
  set value(value: string | Date);
@@ -70,5 +70,5 @@ declare class TinyHtmlWeekInput extends TinyHtmlInput {
70
70
  /** @returns {string|null} */
71
71
  get autocomplete(): string | null;
72
72
  }
73
- import TinyHtmlInput from '../../TinyHtmlInput.mjs';
73
+ export default TinyHtmlWeekInput;
74
74
  //# sourceMappingURL=TinyHtmlWeekInput.d.mts.map
@@ -66,7 +66,7 @@ class TinyHtmlWeekInput extends TinyHtmlInput {
66
66
  }
67
67
  /** @returns {string|null} */
68
68
  get value() {
69
- return this.attrString('value');
69
+ return this.valTxt();
70
70
  }
71
71
  /** @param {string} min */
72
72
  set min(min) {
@@ -1,4 +1,4 @@
1
- export default TinyHtmlNumberInput;
1
+ import TinyHtmlInput from '../../TinyHtmlInput.mjs';
2
2
  /**
3
3
  * TinyHtmlNumberInput is a helper class for managing <input type="number"> elements.
4
4
  * It provides typed getters and setters for standard number input attributes
@@ -32,18 +32,18 @@ declare class TinyHtmlNumberInput extends TinyHtmlInput {
32
32
  * @throws {TypeError} If any attribute is of the wrong type.
33
33
  */
34
34
  constructor({ value, list, min, max, step, readonly, required, name, placeholder, autocomplete, tags, mainClass, }?: {
35
- value?: number | undefined;
36
- min?: number | undefined;
37
- max?: number | undefined;
38
- step?: number | undefined;
39
- name?: string | undefined;
40
- placeholder?: string | undefined;
41
- autocomplete?: string | undefined;
42
- list?: string | undefined;
43
- readonly?: boolean | undefined;
44
- required?: boolean | undefined;
45
- tags?: string | string[] | Set<string> | undefined;
46
- mainClass?: string | undefined;
35
+ value?: number;
36
+ min?: number;
37
+ max?: number;
38
+ step?: number;
39
+ name?: string;
40
+ placeholder?: string;
41
+ autocomplete?: string;
42
+ list?: string;
43
+ readonly?: boolean;
44
+ required?: boolean;
45
+ tags?: string | string[] | Set<string>;
46
+ mainClass?: string;
47
47
  });
48
48
  /** @param {number} value */
49
49
  set value(value: number);
@@ -70,5 +70,5 @@ declare class TinyHtmlNumberInput extends TinyHtmlInput {
70
70
  /** @returns {string|null} */
71
71
  get autocomplete(): string | null;
72
72
  }
73
- import TinyHtmlInput from '../../TinyHtmlInput.mjs';
73
+ export default TinyHtmlNumberInput;
74
74
  //# sourceMappingURL=TinyHtmlNumberInput.d.mts.map
@@ -1,4 +1,4 @@
1
- export default TinyHtmlRangeInput;
1
+ import TinyHtmlInput from '../../TinyHtmlInput.mjs';
2
2
  /**
3
3
  * TinyHtmlRangeInput is a helper class for managing <input type="range"> elements.
4
4
  * It provides validation and convenient getters/setters for standard attributes
@@ -33,18 +33,18 @@ declare class TinyHtmlRangeInput extends TinyHtmlInput {
33
33
  * @throws {TypeError} If any attribute has an invalid type.
34
34
  */
35
35
  constructor({ min, max, step, value, name, placeholder, autocomplete, list, readonly, required, tags, mainClass, }?: {
36
- min?: number | undefined;
37
- max?: number | undefined;
38
- step?: number | undefined;
39
- value?: number | undefined;
40
- name?: string | undefined;
41
- autocomplete?: string | undefined;
42
- list?: string | undefined;
43
- readonly?: boolean | undefined;
44
- required?: boolean | undefined;
45
- placeholder?: string | undefined;
46
- tags?: string | string[] | Set<string> | undefined;
47
- mainClass?: string | undefined;
36
+ min?: number;
37
+ max?: number;
38
+ step?: number;
39
+ value?: number;
40
+ name?: string;
41
+ autocomplete?: string;
42
+ list?: string;
43
+ readonly?: boolean;
44
+ required?: boolean;
45
+ placeholder?: string;
46
+ tags?: string | string[] | Set<string>;
47
+ mainClass?: string;
48
48
  });
49
49
  /** @param {number} value */
50
50
  set value(value: number);
@@ -71,5 +71,5 @@ declare class TinyHtmlRangeInput extends TinyHtmlInput {
71
71
  /** @returns {string|null} */
72
72
  get autocomplete(): string | null;
73
73
  }
74
- import TinyHtmlInput from '../../TinyHtmlInput.mjs';
74
+ export default TinyHtmlRangeInput;
75
75
  //# sourceMappingURL=TinyHtmlRangeInput.d.mts.map
@@ -1,4 +1,4 @@
1
- export default TinyHtmlEmailInput;
1
+ import TinyHtmlInput from '../../TinyHtmlInput.mjs';
2
2
  /**
3
3
  * TinyHtmlEmailInput is a helper class for managing <input type="email"> elements.
4
4
  * It provides strongly typed getters and setters for common attributes such as
@@ -34,22 +34,26 @@ declare class TinyHtmlEmailInput extends TinyHtmlInput {
34
34
  * @throws {TypeError} If any attribute is of the wrong type.
35
35
  */
36
36
  constructor({ value, list, placeholder, readonly, required, multiple, minLength, autocomplete, size, pattern, maxLength, dirname, name, tags, mainClass, }?: {
37
- value?: string | undefined;
38
- minLength?: number | undefined;
39
- maxLength?: number | undefined;
40
- pattern?: string | undefined;
41
- autocomplete?: string | undefined;
42
- dirname?: string | undefined;
43
- list?: string | undefined;
44
- multiple?: boolean | undefined;
45
- size?: number | undefined;
46
- readonly?: boolean | undefined;
47
- required?: boolean | undefined;
48
- placeholder?: string | undefined;
49
- name?: string | undefined;
50
- tags?: string | string[] | Set<string> | undefined;
51
- mainClass?: string | undefined;
37
+ value?: string;
38
+ minLength?: number;
39
+ maxLength?: number;
40
+ pattern?: string;
41
+ autocomplete?: string;
42
+ dirname?: string;
43
+ list?: string;
44
+ multiple?: boolean;
45
+ size?: number;
46
+ readonly?: boolean;
47
+ required?: boolean;
48
+ placeholder?: string;
49
+ name?: string;
50
+ tags?: string | string[] | Set<string>;
51
+ mainClass?: string;
52
52
  });
53
+ /** @param {string} value */
54
+ set value(value: string);
55
+ /** @returns {string} */
56
+ get value(): string;
53
57
  /** @param {number} minLength */
54
58
  set minLength(minLength: number);
55
59
  /** @returns {number|null} */
@@ -78,10 +82,10 @@ declare class TinyHtmlEmailInput extends TinyHtmlInput {
78
82
  set dirname(dirname: string);
79
83
  /** @returns {string|null} */
80
84
  get dirname(): string | null;
81
- /** @param {string} value */
82
- set value(value: string);
83
- /** @returns {string} */
84
- get value(): string;
85
+ /** @param {number} size */
86
+ set sizeEl(size: number);
87
+ /** @returns {number|null} */
88
+ get sizeEl(): number | null;
85
89
  }
86
- import TinyHtmlInput from '../../TinyHtmlInput.mjs';
90
+ export default TinyHtmlEmailInput;
87
91
  //# sourceMappingURL=TinyHtmlEmailInput.d.mts.map
@@ -1,4 +1,4 @@
1
- export default TinyHtmlPasswordInput;
1
+ import TinyHtmlInput from '../../TinyHtmlInput.mjs';
2
2
  /**
3
3
  * TinyHtmlPasswordInput is a helper class for managing
4
4
  * `<input type="password">` elements with validation and attribute control.
@@ -32,19 +32,23 @@ declare class TinyHtmlPasswordInput extends TinyHtmlInput {
32
32
  * @throws {TypeError} If any attribute is of the wrong type.
33
33
  */
34
34
  constructor({ value, minlength, maxlength, name, pattern, autocomplete, size, readonly, required, placeholder, tags, mainClass, }?: {
35
- value?: string | undefined;
36
- minlength?: number | undefined;
37
- maxlength?: number | undefined;
38
- name?: string | undefined;
39
- pattern?: string | undefined;
40
- autocomplete?: string | undefined;
41
- size?: number | undefined;
42
- readonly?: boolean | undefined;
43
- required?: boolean | undefined;
44
- placeholder?: string | undefined;
45
- tags?: string | string[] | Set<string> | undefined;
46
- mainClass?: string | undefined;
35
+ value?: string;
36
+ minlength?: number;
37
+ maxlength?: number;
38
+ name?: string;
39
+ pattern?: string;
40
+ autocomplete?: string;
41
+ size?: number;
42
+ readonly?: boolean;
43
+ required?: boolean;
44
+ placeholder?: string;
45
+ tags?: string | string[] | Set<string>;
46
+ mainClass?: string;
47
47
  });
48
+ /** @param {string} value */
49
+ set value(value: string);
50
+ /** @returns {string} */
51
+ get value(): string;
48
52
  /** @param {number} minlength */
49
53
  set minlength(minlength: number);
50
54
  /** @returns {number|null} */
@@ -61,10 +65,6 @@ declare class TinyHtmlPasswordInput extends TinyHtmlInput {
61
65
  set autocomplete(autocomplete: string);
62
66
  /** @returns {string|null} */
63
67
  get autocomplete(): string | null;
64
- /** @param {string} value */
65
- set value(value: string);
66
- /** @returns {string} */
67
- get value(): string;
68
68
  }
69
- import TinyHtmlInput from '../../TinyHtmlInput.mjs';
69
+ export default TinyHtmlPasswordInput;
70
70
  //# sourceMappingURL=TinyHtmlPasswordInput.d.mts.map
@@ -1,4 +1,4 @@
1
- export default TinyHtmlSearchInput;
1
+ import TinyHtmlInput from '../../TinyHtmlInput.mjs';
2
2
  /**
3
3
  * TinyHtmlSearchInput is a helper class for managing <input type="search"> elements.
4
4
  * It provides validation and convenient getters/setters for common attributes
@@ -38,36 +38,48 @@ declare class TinyHtmlSearchInput extends TinyHtmlInput {
38
38
  * @throws {TypeError} If any attribute is of the wrong type.
39
39
  */
40
40
  constructor({ value, list, placeholder, autocapitalize, autocomplete, pattern, minlength, maxlength, readonly, required, size, dirname, name, tags, mainClass, }?: {
41
- value?: string | undefined;
42
- minlength?: number | undefined;
43
- maxlength?: number | undefined;
44
- name?: string | undefined;
45
- pattern?: string | undefined;
46
- autocomplete?: string | undefined;
47
- autocapitalize?: "none" | "sentences" | "words" | "characters" | undefined;
48
- dirname?: string | undefined;
49
- size?: number | undefined;
50
- list?: string | undefined;
51
- readonly?: boolean | undefined;
52
- required?: boolean | undefined;
53
- placeholder?: string | undefined;
54
- tags?: string | string[] | Set<string> | undefined;
55
- mainClass?: string | undefined;
41
+ value?: string;
42
+ minlength?: number;
43
+ maxlength?: number;
44
+ name?: string;
45
+ pattern?: string;
46
+ autocomplete?: string;
47
+ autocapitalize?: 'none' | 'sentences' | 'words' | 'characters';
48
+ dirname?: string;
49
+ size?: number;
50
+ list?: string;
51
+ readonly?: boolean;
52
+ required?: boolean;
53
+ placeholder?: string;
54
+ tags?: string | string[] | Set<string>;
55
+ mainClass?: string;
56
56
  });
57
57
  /** @param {string} value */
58
58
  set value(value: string);
59
59
  /** @returns {string} */
60
60
  get value(): string;
61
- /** @param {string} list */
62
- set list(list: string);
61
+ /** @param {number} minlength */
62
+ set minlength(minlength: number);
63
+ /** @returns {number|null} */
64
+ get minlength(): number | null;
65
+ /** @param {number} maxlength */
66
+ set maxlength(maxlength: number);
67
+ /** @returns {number|null} */
68
+ get maxlength(): number | null;
69
+ /** @param {string} name */
70
+ set name(name: string);
63
71
  /** @returns {string|null} */
64
- get list(): string | null;
72
+ get name(): string | null;
65
73
  /** @param {string} pattern */
66
74
  set pattern(pattern: string);
67
75
  /** @returns {string|null} */
68
76
  get pattern(): string | null;
77
+ /** @param {string} list */
78
+ set list(list: string);
79
+ /** @returns {string|null} */
80
+ get list(): string | null;
69
81
  /** @param {'none'|'sentences'|'words'|'characters'} autocapitalize */
70
- set autocapitalize(autocapitalize: "none" | "sentences" | "words" | "characters");
82
+ set autocapitalize(autocapitalize: 'none' | 'sentences' | 'words' | 'characters');
71
83
  /** @returns {string|null} */
72
84
  get autocapitalize(): string | null;
73
85
  /** @param {string} autocomplete */
@@ -78,14 +90,6 @@ declare class TinyHtmlSearchInput extends TinyHtmlInput {
78
90
  set dirname(dirname: string);
79
91
  /** @returns {string|null} */
80
92
  get dirname(): string | null;
81
- /** @param {number} minlength */
82
- set minlength(minlength: number);
83
- /** @returns {number|null} */
84
- get minlength(): number | null;
85
- /** @param {number} maxlength */
86
- set maxlength(maxlength: number);
87
- /** @returns {number|null} */
88
- get maxlength(): number | null;
89
93
  }
90
- import TinyHtmlInput from '../../TinyHtmlInput.mjs';
94
+ export default TinyHtmlSearchInput;
91
95
  //# sourceMappingURL=TinyHtmlSearchInput.d.mts.map
@@ -1,4 +1,4 @@
1
- export default TinyHtmlTelInput;
1
+ import TinyHtmlInput from '../../TinyHtmlInput.mjs';
2
2
  /**
3
3
  * TinyHtmlTelInput is a helper class for managing <input type="tel"> elements.
4
4
  * It supports all standard attributes relevant for telephone inputs,
@@ -38,22 +38,26 @@ declare class TinyHtmlTelInput extends TinyHtmlInput {
38
38
  * @throws {TypeError} If any attribute is of the wrong type.
39
39
  */
40
40
  constructor({ value, minlength, maxlength, name, autocomplete, autocapitalize, dirname, size, list, readonly, required, placeholder, pattern, tags, mainClass, }?: {
41
- value?: string | undefined;
42
- minlength?: number | undefined;
43
- maxlength?: number | undefined;
44
- name?: string | undefined;
45
- autocomplete?: string | undefined;
46
- autocapitalize?: "none" | "sentences" | "words" | "characters" | undefined;
47
- dirname?: string | undefined;
48
- size?: number | undefined;
49
- list?: string | undefined;
50
- readonly?: boolean | undefined;
51
- required?: boolean | undefined;
52
- placeholder?: string | undefined;
53
- pattern?: string | undefined;
54
- tags?: string | string[] | Set<string> | undefined;
55
- mainClass?: string | undefined;
41
+ value?: string;
42
+ minlength?: number;
43
+ maxlength?: number;
44
+ name?: string;
45
+ autocomplete?: string;
46
+ autocapitalize?: 'none' | 'sentences' | 'words' | 'characters';
47
+ dirname?: string;
48
+ size?: number;
49
+ list?: string;
50
+ readonly?: boolean;
51
+ required?: boolean;
52
+ placeholder?: string;
53
+ pattern?: string;
54
+ tags?: string | string[] | Set<string>;
55
+ mainClass?: string;
56
56
  });
57
+ /** @param {string} value */
58
+ set value(value: string);
59
+ /** @returns {string} */
60
+ get value(): string;
57
61
  /** @param {number} minlength */
58
62
  set minlength(minlength: number);
59
63
  /** @returns {number|null} */
@@ -71,7 +75,7 @@ declare class TinyHtmlTelInput extends TinyHtmlInput {
71
75
  /** @returns {string|null} */
72
76
  get list(): string | null;
73
77
  /** @param {'none'|'sentences'|'words'|'characters'} autocapitalize */
74
- set autocapitalize(autocapitalize: "none" | "sentences" | "words" | "characters");
78
+ set autocapitalize(autocapitalize: 'none' | 'sentences' | 'words' | 'characters');
75
79
  /** @returns {string|null} */
76
80
  get autocapitalize(): string | null;
77
81
  /** @param {string} autocomplete */
@@ -82,10 +86,6 @@ declare class TinyHtmlTelInput extends TinyHtmlInput {
82
86
  set dirname(dirname: string);
83
87
  /** @returns {string|null} */
84
88
  get dirname(): string | null;
85
- /** @param {string} value */
86
- set value(value: string);
87
- /** @returns {string} */
88
- get value(): string;
89
89
  }
90
- import TinyHtmlInput from '../../TinyHtmlInput.mjs';
90
+ export default TinyHtmlTelInput;
91
91
  //# sourceMappingURL=TinyHtmlTelInput.d.mts.map