open-agreements 0.7.6 → 0.8.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 (879) hide show
  1. package/LICENSE +201 -21
  2. package/README.de.md +16 -29
  3. package/README.es.md +16 -29
  4. package/README.md +45 -54
  5. package/README.pt-br.md +16 -29
  6. package/README.template.md +19 -25
  7. package/README.zh.md +16 -29
  8. package/content/recipes/nvca-certificate-of-incorporation/fields/acquisition_exception_shares.json +36 -0
  9. package/content/recipes/nvca-certificate-of-incorporation/fields/adjustment_notice_days.json +22 -0
  10. package/content/recipes/nvca-certificate-of-incorporation/fields/common_shares_authorized.json +22 -0
  11. package/content/recipes/nvca-certificate-of-incorporation/fields/company_name.json +29 -0
  12. package/content/recipes/nvca-certificate-of-incorporation/fields/conversion_notice_days.json +22 -0
  13. package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_formula_alt.json +22 -0
  14. package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_per_share.json +22 -0
  15. package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_percent.json +22 -0
  16. package/content/recipes/nvca-certificate-of-incorporation/fields/effective_date.json +22 -0
  17. package/content/recipes/nvca-certificate-of-incorporation/fields/number_of_classes.json +29 -0
  18. package/content/recipes/nvca-certificate-of-incorporation/fields/original_issue_price.json +22 -0
  19. package/content/recipes/nvca-certificate-of-incorporation/fields/par_value.json +36 -0
  20. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_director_seats.json +22 -0
  21. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_authorized.json +22 -0
  22. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_designated_portion.json +29 -0
  23. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_outstanding_threshold.json +29 -0
  24. package/content/recipes/nvca-certificate-of-incorporation/fields/qualified_financing_notice_days.json +22 -0
  25. package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_interest_rate.json +22 -0
  26. package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_start_date.json +22 -0
  27. package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_address.json +22 -0
  28. package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_name.json +22 -0
  29. package/content/recipes/nvca-certificate-of-incorporation/fields/series_designation.json +22 -0
  30. package/content/recipes/nvca-certificate-of-incorporation/fields/signature_page_marker.json +22 -0
  31. package/content/recipes/nvca-certificate-of-incorporation/fields/specify_percentage.json +22 -0
  32. package/content/recipes/nvca-certificate-of-incorporation/fields/strategic_partnership_exception_shares.json +22 -0
  33. package/content/recipes/nvca-certificate-of-incorporation/fields/time_zone.json +22 -0
  34. package/content/recipes/nvca-certificate-of-incorporation/fields/total_authorized_shares.json +22 -0
  35. package/content/recipes/nvca-certificate-of-incorporation/template-manifest.json +77 -0
  36. package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_date_month_day.json +27 -0
  37. package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_year_two_digits.json +27 -0
  38. package/content/recipes/nvca-stock-purchase-agreement/fields/company_name.json +25 -0
  39. package/content/recipes/nvca-stock-purchase-agreement/fields/investor_counsel.json +27 -0
  40. package/content/recipes/nvca-stock-purchase-agreement/fields/minimum_shares_initial_closing.json +39 -0
  41. package/content/recipes/nvca-stock-purchase-agreement/fields/optional_plural_suffix.json +27 -0
  42. package/content/recipes/nvca-stock-purchase-agreement/fields/par_value_per_share.json +28 -0
  43. package/content/recipes/nvca-stock-purchase-agreement/fields/purchase_price_per_share.json +28 -0
  44. package/content/recipes/nvca-stock-purchase-agreement/fields/series_designation.json +159 -0
  45. package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +1 -1
  46. package/content/recipes/nvca-stock-purchase-agreement/template-manifest.json +24 -0
  47. package/content/templates/bonterms-mutual-nda/template.docx +0 -0
  48. package/content/templates/openagreements-board-consent-safe/.template.generated.json +0 -1
  49. package/content/templates/openagreements-due-diligence-request-list/template.docx +0 -0
  50. package/content/templates/openagreements-due-diligence-request-list/template.md +1 -1
  51. package/content/templates/openagreements-employee-ip-inventions-assignment/.template.generated.json +9 -5
  52. package/content/templates/openagreements-employee-ip-inventions-assignment/README.md +2 -0
  53. package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +8 -9
  54. package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
  55. package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +3 -4
  56. package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +0 -9
  57. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
  58. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.json +0 -1
  59. package/content/templates/openagreements-employment-offer-letter/.template.generated.json +9 -5
  60. package/content/templates/openagreements-employment-offer-letter/README.md +17 -5
  61. package/content/templates/openagreements-employment-offer-letter/metadata.yaml +8 -9
  62. package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
  63. package/content/templates/openagreements-employment-offer-letter/template.md +3 -4
  64. package/content/templates/openagreements-restrictive-covenant-florida/.template.generated.json +9 -5
  65. package/content/templates/openagreements-restrictive-covenant-florida/README.md +2 -2
  66. package/content/templates/openagreements-restrictive-covenant-florida/metadata.yaml +10 -12
  67. package/content/templates/openagreements-restrictive-covenant-florida/template.docx +0 -0
  68. package/content/templates/openagreements-restrictive-covenant-florida/template.md +3 -4
  69. package/content/templates/openagreements-restrictive-covenant-wyoming/.template.generated.json +9 -5
  70. package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +10 -12
  71. package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
  72. package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +3 -4
  73. package/content/templates/openagreements-stockholder-consent-safe/.template.generated.json +0 -1
  74. package/dist/core/checklist/format-checklist-docx.d.ts.map +1 -1
  75. package/dist/core/checklist/format-checklist-docx.js +4 -1
  76. package/dist/core/checklist/format-checklist-docx.js.map +1 -1
  77. package/dist/core/engine.d.ts.map +1 -1
  78. package/dist/core/engine.js +2 -40
  79. package/dist/core/engine.js.map +1 -1
  80. package/dist/core/fill-pipeline.d.ts +0 -8
  81. package/dist/core/fill-pipeline.d.ts.map +1 -1
  82. package/dist/core/fill-pipeline.js +54 -38
  83. package/dist/core/fill-pipeline.js.map +1 -1
  84. package/dist/core/humanize-docx.d.ts.map +1 -1
  85. package/dist/core/humanize-docx.js +16 -6
  86. package/dist/core/humanize-docx.js.map +1 -1
  87. package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
  88. package/dist/core/recipe/bracket-normalizer.js +3 -7
  89. package/dist/core/recipe/bracket-normalizer.js.map +1 -1
  90. package/dist/core/recipe/cleaner.js +5 -5
  91. package/dist/core/recipe/cleaner.js.map +1 -1
  92. package/dist/core/recipe/index.d.ts +1 -1
  93. package/dist/core/recipe/index.d.ts.map +1 -1
  94. package/dist/core/recipe/index.js +57 -4
  95. package/dist/core/recipe/index.js.map +1 -1
  96. package/dist/core/recipe/ooxml-parts.d.ts +11 -0
  97. package/dist/core/recipe/ooxml-parts.d.ts.map +1 -1
  98. package/dist/core/recipe/ooxml-parts.js +22 -0
  99. package/dist/core/recipe/ooxml-parts.js.map +1 -1
  100. package/dist/core/recipe/patcher.d.ts.map +1 -1
  101. package/dist/core/recipe/patcher.js +2 -5
  102. package/dist/core/recipe/patcher.js.map +1 -1
  103. package/dist/core/recipe/source-drift.d.ts +19 -0
  104. package/dist/core/recipe/source-drift.d.ts.map +1 -1
  105. package/dist/core/recipe/source-drift.js +32 -2
  106. package/dist/core/recipe/source-drift.js.map +1 -1
  107. package/dist/core/selector.d.ts.map +1 -1
  108. package/dist/core/selector.js +49 -4
  109. package/dist/core/selector.js.map +1 -1
  110. package/dist/core/selectors/index.d.ts +40 -0
  111. package/dist/core/selectors/index.d.ts.map +1 -0
  112. package/dist/core/selectors/index.js +64 -0
  113. package/dist/core/selectors/index.js.map +1 -0
  114. package/dist/core/selectors/loader.d.ts +16 -0
  115. package/dist/core/selectors/loader.d.ts.map +1 -0
  116. package/dist/core/selectors/loader.js +80 -0
  117. package/dist/core/selectors/loader.js.map +1 -0
  118. package/dist/core/selectors/manifest-schema.d.ts +123 -0
  119. package/dist/core/selectors/manifest-schema.d.ts.map +1 -0
  120. package/dist/core/selectors/manifest-schema.js +93 -0
  121. package/dist/core/selectors/manifest-schema.js.map +1 -0
  122. package/dist/core/selectors/patch.d.ts +24 -0
  123. package/dist/core/selectors/patch.d.ts.map +1 -0
  124. package/dist/core/selectors/patch.js +68 -0
  125. package/dist/core/selectors/patch.js.map +1 -0
  126. package/dist/core/selectors/postconditions.d.ts +24 -0
  127. package/dist/core/selectors/postconditions.d.ts.map +1 -0
  128. package/dist/core/selectors/postconditions.js +50 -0
  129. package/dist/core/selectors/postconditions.js.map +1 -0
  130. package/dist/core/selectors/resolve.d.ts +32 -0
  131. package/dist/core/selectors/resolve.d.ts.map +1 -0
  132. package/dist/core/selectors/resolve.js +36 -0
  133. package/dist/core/selectors/resolve.js.map +1 -0
  134. package/dist/core/unified-pipeline.d.ts +3 -1
  135. package/dist/core/unified-pipeline.d.ts.map +1 -1
  136. package/dist/core/unified-pipeline.js +23 -11
  137. package/dist/core/unified-pipeline.js.map +1 -1
  138. package/gemini-extension.json +1 -1
  139. package/node_modules/@usejunior/docx-core/LICENSE +202 -21
  140. package/node_modules/@usejunior/docx-core/NOTICE +2 -0
  141. package/node_modules/@usejunior/docx-core/README.md +2 -2
  142. package/node_modules/@usejunior/docx-core/dist/.tsbuildinfo +1 -1
  143. package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts +55 -0
  144. package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts.map +1 -1
  145. package/node_modules/@usejunior/docx-core/dist/atomizer.js +139 -14
  146. package/node_modules/@usejunior/docx-core/dist/atomizer.js.map +1 -1
  147. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts +99 -0
  148. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts.map +1 -0
  149. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js +415 -0
  150. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js.map +1 -0
  151. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
  152. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js +403 -113
  153. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
  154. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts +99 -0
  155. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts.map +1 -0
  156. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js +449 -0
  157. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js.map +1 -0
  158. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts +37 -0
  159. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts.map +1 -0
  160. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js +189 -0
  161. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js.map +1 -0
  162. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts +74 -0
  163. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts.map +1 -0
  164. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js +171 -0
  165. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js.map +1 -0
  166. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts +88 -0
  167. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts.map +1 -0
  168. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js +326 -0
  169. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js.map +1 -0
  170. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts +85 -0
  171. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts.map +1 -0
  172. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js +402 -0
  173. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js.map +1 -0
  174. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts +39 -0
  175. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts.map +1 -0
  176. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js +265 -0
  177. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js.map +1 -0
  178. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts +62 -0
  179. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts.map +1 -0
  180. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js +139 -0
  181. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js.map +1 -0
  182. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts +198 -0
  183. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts.map +1 -0
  184. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js +475 -0
  185. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js.map +1 -0
  186. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts +6 -290
  187. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -1
  188. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js +23 -1828
  189. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js.map +1 -1
  190. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts +36 -2
  191. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
  192. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js +456 -224
  193. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js.map +1 -1
  194. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -1
  195. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js +199 -173
  196. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -1
  197. package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -1
  198. package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js +7 -0
  199. package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -1
  200. package/node_modules/@usejunior/docx-core/dist/cli/compare-two.d.ts.map +1 -1
  201. package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js +3 -1
  202. package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js.map +1 -1
  203. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts +3 -0
  204. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts.map +1 -0
  205. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js +93 -0
  206. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js.map +1 -0
  207. package/node_modules/@usejunior/docx-core/dist/cli/index.d.ts.map +1 -1
  208. package/node_modules/@usejunior/docx-core/dist/cli/index.js +5 -1
  209. package/node_modules/@usejunior/docx-core/dist/cli/index.js.map +1 -1
  210. package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts +197 -0
  211. package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts.map +1 -0
  212. package/node_modules/@usejunior/docx-core/dist/compare-types.js +2 -0
  213. package/node_modules/@usejunior/docx-core/dist/compare-types.js.map +1 -0
  214. package/node_modules/@usejunior/docx-core/dist/core-types.d.ts +5 -1
  215. package/node_modules/@usejunior/docx-core/dist/core-types.d.ts.map +1 -1
  216. package/node_modules/@usejunior/docx-core/dist/core-types.js +5 -1
  217. package/node_modules/@usejunior/docx-core/dist/core-types.js.map +1 -1
  218. package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts +8 -3
  219. package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts.map +1 -1
  220. package/node_modules/@usejunior/docx-core/dist/footnotes.js +8 -3
  221. package/node_modules/@usejunior/docx-core/dist/footnotes.js.map +1 -1
  222. package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts +22 -0
  223. package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts.map +1 -0
  224. package/node_modules/@usejunior/docx-core/dist/generation/compile.js +58 -0
  225. package/node_modules/@usejunior/docx-core/dist/generation/compile.js.map +1 -0
  226. package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts +42 -0
  227. package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts.map +1 -0
  228. package/node_modules/@usejunior/docx-core/dist/generation/context.js +65 -0
  229. package/node_modules/@usejunior/docx-core/dist/generation/context.js.map +1 -0
  230. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts +36 -0
  231. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts.map +1 -0
  232. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js +116 -0
  233. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js.map +1 -0
  234. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts +24 -0
  235. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts.map +1 -0
  236. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js +60 -0
  237. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js.map +1 -0
  238. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts +28 -0
  239. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts.map +1 -0
  240. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js +19 -0
  241. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js.map +1 -0
  242. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts +16 -0
  243. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts.map +1 -0
  244. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js +74 -0
  245. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js.map +1 -0
  246. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts +23 -0
  247. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts.map +1 -0
  248. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js +57 -0
  249. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js.map +1 -0
  250. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts +29 -0
  251. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts.map +1 -0
  252. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js +102 -0
  253. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js.map +1 -0
  254. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts +24 -0
  255. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts.map +1 -0
  256. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js +121 -0
  257. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js.map +1 -0
  258. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts +24 -0
  259. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts.map +1 -0
  260. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js +63 -0
  261. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js.map +1 -0
  262. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts +36 -0
  263. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts.map +1 -0
  264. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js +157 -0
  265. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js.map +1 -0
  266. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts +16 -0
  267. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts.map +1 -0
  268. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js +71 -0
  269. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js.map +1 -0
  270. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts +29 -0
  271. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts.map +1 -0
  272. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js +117 -0
  273. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js.map +1 -0
  274. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts +13 -0
  275. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts.map +1 -0
  276. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js +68 -0
  277. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js.map +1 -0
  278. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts +16 -0
  279. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts.map +1 -0
  280. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js +82 -0
  281. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js.map +1 -0
  282. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts +26 -0
  283. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts.map +1 -0
  284. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js +209 -0
  285. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js.map +1 -0
  286. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts +21 -0
  287. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts.map +1 -0
  288. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js +151 -0
  289. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js.map +1 -0
  290. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts +12 -0
  291. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts.map +1 -0
  292. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js +19 -0
  293. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js.map +1 -0
  294. package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts +22 -0
  295. package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts.map +1 -0
  296. package/node_modules/@usejunior/docx-core/dist/generation/errors.js +29 -0
  297. package/node_modules/@usejunior/docx-core/dist/generation/errors.js.map +1 -0
  298. package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts +13 -0
  299. package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts.map +1 -0
  300. package/node_modules/@usejunior/docx-core/dist/generation/index.js +12 -0
  301. package/node_modules/@usejunior/docx-core/dist/generation/index.js.map +1 -0
  302. package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts +46 -0
  303. package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts.map +1 -0
  304. package/node_modules/@usejunior/docx-core/dist/generation/ordering.js +119 -0
  305. package/node_modules/@usejunior/docx-core/dist/generation/ordering.js.map +1 -0
  306. package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts +87 -0
  307. package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts.map +1 -0
  308. package/node_modules/@usejunior/docx-core/dist/generation/recipes.js +232 -0
  309. package/node_modules/@usejunior/docx-core/dist/generation/recipes.js.map +1 -0
  310. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts +24 -0
  311. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts.map +1 -0
  312. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js +318 -0
  313. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js.map +1 -0
  314. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts +4 -0
  315. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts.map +1 -0
  316. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js +18 -0
  317. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js.map +1 -0
  318. package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts +266 -0
  319. package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts.map +1 -0
  320. package/node_modules/@usejunior/docx-core/dist/generation/types.js +63 -0
  321. package/node_modules/@usejunior/docx-core/dist/generation/types.js.map +1 -0
  322. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts +27 -0
  323. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts.map +1 -0
  324. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js +363 -0
  325. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js.map +1 -0
  326. package/node_modules/@usejunior/docx-core/dist/index.d.ts +9 -150
  327. package/node_modules/@usejunior/docx-core/dist/index.d.ts.map +1 -1
  328. package/node_modules/@usejunior/docx-core/dist/index.js +14 -0
  329. package/node_modules/@usejunior/docx-core/dist/index.js.map +1 -1
  330. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts +15 -0
  331. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts.map +1 -0
  332. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js +84 -0
  333. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js.map +1 -0
  334. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts +49 -0
  335. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts.map +1 -0
  336. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js +290 -0
  337. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js.map +1 -0
  338. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts +134 -0
  339. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts.map +1 -0
  340. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js +298 -0
  341. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js.map +1 -0
  342. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts +4 -3
  343. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts.map +1 -1
  344. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js +163 -77
  345. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js.map +1 -1
  346. package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts +12 -3
  347. package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts.map +1 -1
  348. package/node_modules/@usejunior/docx-core/dist/primitives/comments.js +374 -97
  349. package/node_modules/@usejunior/docx-core/dist/primitives/comments.js.map +1 -1
  350. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts +29 -0
  351. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts.map +1 -0
  352. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js +63 -0
  353. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js.map +1 -0
  354. package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts +94 -15
  355. package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts.map +1 -1
  356. package/node_modules/@usejunior/docx-core/dist/primitives/document.js +377 -234
  357. package/node_modules/@usejunior/docx-core/dist/primitives/document.js.map +1 -1
  358. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts +18 -0
  359. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts.map +1 -0
  360. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js +160 -0
  361. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js.map +1 -0
  362. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts +45 -0
  363. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts.map +1 -0
  364. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js +247 -0
  365. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js.map +1 -0
  366. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts +11 -0
  367. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts.map +1 -0
  368. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js +104 -0
  369. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js.map +1 -0
  370. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts +37 -0
  371. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts.map +1 -0
  372. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js +199 -0
  373. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js.map +1 -0
  374. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts +165 -0
  375. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts.map +1 -0
  376. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js +2 -0
  377. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js.map +1 -0
  378. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts +50 -101
  379. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts.map +1 -1
  380. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js +287 -326
  381. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js.map +1 -1
  382. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts +9 -0
  383. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts.map +1 -1
  384. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js +10 -1
  385. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js.map +1 -1
  386. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts +4 -3
  387. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts.map +1 -1
  388. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js +232 -44
  389. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js.map +1 -1
  390. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts +7 -0
  391. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts.map +1 -1
  392. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js +22 -11
  393. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js.map +1 -1
  394. package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts +12 -0
  395. package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts.map +1 -1
  396. package/node_modules/@usejunior/docx-core/dist/primitives/index.js +11 -0
  397. package/node_modules/@usejunior/docx-core/dist/primitives/index.js.map +1 -1
  398. package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts +4 -3
  399. package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts.map +1 -1
  400. package/node_modules/@usejunior/docx-core/dist/primitives/layout.js +45 -3
  401. package/node_modules/@usejunior/docx-core/dist/primitives/layout.js.map +1 -1
  402. package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts +76 -0
  403. package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts.map +1 -0
  404. package/node_modules/@usejunior/docx-core/dist/primitives/locator.js +223 -0
  405. package/node_modules/@usejunior/docx-core/dist/primitives/locator.js.map +1 -0
  406. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts +21 -3
  407. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts.map +1 -1
  408. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js +32 -10
  409. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js.map +1 -1
  410. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts +38 -0
  411. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts.map +1 -0
  412. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js +323 -0
  413. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js.map +1 -0
  414. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts +53 -0
  415. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts.map +1 -1
  416. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js +59 -0
  417. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js.map +1 -1
  418. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts +6 -4
  419. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts.map +1 -1
  420. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js +187 -91
  421. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js.map +1 -1
  422. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts +7 -0
  423. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts.map +1 -0
  424. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js +27 -0
  425. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js.map +1 -0
  426. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts +7 -0
  427. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts.map +1 -0
  428. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js +39 -0
  429. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js.map +1 -0
  430. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts +19 -0
  431. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts.map +1 -0
  432. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js +29 -0
  433. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js.map +1 -0
  434. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts +19 -0
  435. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts.map +1 -0
  436. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js +165 -0
  437. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js.map +1 -0
  438. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts +7 -0
  439. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts.map +1 -1
  440. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js +23 -4
  441. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js.map +1 -1
  442. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts +37 -0
  443. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts.map +1 -0
  444. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js +395 -0
  445. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js.map +1 -0
  446. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts +16 -0
  447. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts.map +1 -0
  448. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js +300 -0
  449. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js.map +1 -0
  450. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts +15 -0
  451. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts.map +1 -0
  452. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js +154 -0
  453. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js.map +1 -0
  454. package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts +15 -0
  455. package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts.map +1 -1
  456. package/node_modules/@usejunior/docx-core/dist/primitives/styles.js +33 -22
  457. package/node_modules/@usejunior/docx-core/dist/primitives/styles.js.map +1 -1
  458. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts +19 -0
  459. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts.map +1 -0
  460. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js +189 -0
  461. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js.map +1 -0
  462. package/node_modules/@usejunior/docx-core/dist/primitives/tables.d.ts.map +1 -1
  463. package/node_modules/@usejunior/docx-core/dist/primitives/tables.js +13 -3
  464. package/node_modules/@usejunior/docx-core/dist/primitives/tables.js.map +1 -1
  465. package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts +2 -1
  466. package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts.map +1 -1
  467. package/node_modules/@usejunior/docx-core/dist/primitives/text.js +116 -12
  468. package/node_modules/@usejunior/docx-core/dist/primitives/text.js.map +1 -1
  469. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts +148 -0
  470. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts.map +1 -0
  471. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js +291 -0
  472. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js.map +1 -0
  473. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts +35 -0
  474. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts.map +1 -0
  475. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js +323 -0
  476. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js.map +1 -0
  477. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts +29 -0
  478. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts.map +1 -0
  479. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js +35 -0
  480. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js.map +1 -0
  481. package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts +5 -0
  482. package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts.map +1 -1
  483. package/node_modules/@usejunior/docx-core/dist/primitives/xml.js +5 -0
  484. package/node_modules/@usejunior/docx-core/dist/primitives/xml.js.map +1 -1
  485. package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts +1 -0
  486. package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts.map +1 -1
  487. package/node_modules/@usejunior/docx-core/dist/primitives/zip.js +21 -3
  488. package/node_modules/@usejunior/docx-core/dist/primitives/zip.js.map +1 -1
  489. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts +14 -0
  490. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts.map +1 -0
  491. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js +166 -0
  492. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js.map +1 -0
  493. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts +4 -1
  494. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts.map +1 -1
  495. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js +4 -1
  496. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js.map +1 -1
  497. package/node_modules/@usejunior/docx-core/package.json +13 -9
  498. package/node_modules/@xmldom/xmldom/CHANGELOG.md +1055 -0
  499. package/node_modules/@xmldom/xmldom/LICENSE +8 -0
  500. package/node_modules/@xmldom/xmldom/SECURITY.md +50 -0
  501. package/node_modules/@xmldom/xmldom/index.d.ts +1789 -0
  502. package/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +3 -0
  503. package/node_modules/@xmldom/xmldom/lib/conventions.js +429 -0
  504. package/node_modules/@xmldom/xmldom/lib/dom-parser.js +586 -0
  505. package/node_modules/@xmldom/xmldom/lib/dom.js +3554 -0
  506. package/node_modules/@xmldom/xmldom/lib/entities.js +2171 -0
  507. package/node_modules/@xmldom/xmldom/lib/errors.js +202 -0
  508. package/node_modules/@xmldom/xmldom/lib/grammar.js +547 -0
  509. package/node_modules/@xmldom/xmldom/lib/index.js +41 -0
  510. package/node_modules/@xmldom/xmldom/lib/sax.js +929 -0
  511. package/node_modules/@xmldom/xmldom/package.json +77 -0
  512. package/node_modules/@xmldom/xmldom/readme.md +364 -0
  513. package/node_modules/core-util-is/LICENSE +19 -0
  514. package/node_modules/core-util-is/README.md +3 -0
  515. package/node_modules/core-util-is/lib/util.js +107 -0
  516. package/node_modules/core-util-is/package.json +38 -0
  517. package/node_modules/immediate/LICENSE.txt +20 -0
  518. package/node_modules/immediate/README.md +93 -0
  519. package/node_modules/immediate/dist/immediate.js +75 -0
  520. package/node_modules/immediate/dist/immediate.min.js +1 -0
  521. package/node_modules/immediate/lib/browser.js +69 -0
  522. package/node_modules/immediate/lib/index.js +73 -0
  523. package/node_modules/immediate/package.json +42 -0
  524. package/node_modules/inherits/LICENSE +16 -0
  525. package/node_modules/inherits/README.md +42 -0
  526. package/node_modules/inherits/inherits.js +9 -0
  527. package/node_modules/inherits/inherits_browser.js +27 -0
  528. package/node_modules/inherits/package.json +29 -0
  529. package/node_modules/isarray/.npmignore +1 -0
  530. package/node_modules/isarray/.travis.yml +4 -0
  531. package/node_modules/isarray/Makefile +6 -0
  532. package/node_modules/isarray/README.md +60 -0
  533. package/node_modules/isarray/component.json +19 -0
  534. package/node_modules/isarray/index.js +5 -0
  535. package/node_modules/isarray/package.json +45 -0
  536. package/node_modules/isarray/test.js +20 -0
  537. package/node_modules/jszip/.codeclimate.yml +16 -0
  538. package/node_modules/jszip/.editorconfig +8 -0
  539. package/node_modules/jszip/.eslintrc.js +43 -0
  540. package/node_modules/jszip/.github/workflows/pr.yaml +58 -0
  541. package/node_modules/jszip/.jekyll-metadata +0 -0
  542. package/node_modules/jszip/.travis.yml +17 -0
  543. package/node_modules/jszip/CHANGES.md +204 -0
  544. package/node_modules/jszip/LICENSE.markdown +651 -0
  545. package/node_modules/jszip/README.markdown +33 -0
  546. package/node_modules/jszip/deps.js +37 -0
  547. package/node_modules/jszip/dist/jszip.js +11577 -0
  548. package/node_modules/jszip/dist/jszip.min.js +13 -0
  549. package/node_modules/jszip/graph.svg +601 -0
  550. package/node_modules/jszip/index.d.ts +330 -0
  551. package/node_modules/jszip/lib/base64.js +106 -0
  552. package/node_modules/jszip/lib/compressedObject.js +74 -0
  553. package/node_modules/jszip/lib/compressions.js +14 -0
  554. package/node_modules/jszip/lib/crc32.js +77 -0
  555. package/node_modules/jszip/lib/defaults.js +11 -0
  556. package/node_modules/jszip/lib/external.js +18 -0
  557. package/node_modules/jszip/lib/flate.js +85 -0
  558. package/node_modules/jszip/lib/generate/ZipFileWorker.js +539 -0
  559. package/node_modules/jszip/lib/generate/index.js +57 -0
  560. package/node_modules/jszip/lib/index.js +55 -0
  561. package/node_modules/jszip/lib/license_header.js +11 -0
  562. package/node_modules/jszip/lib/load.js +88 -0
  563. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
  564. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
  565. package/node_modules/jszip/lib/nodejsUtils.js +57 -0
  566. package/node_modules/jszip/lib/object.js +384 -0
  567. package/node_modules/jszip/lib/readable-stream-browser.js +10 -0
  568. package/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
  569. package/node_modules/jszip/lib/reader/DataReader.js +116 -0
  570. package/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
  571. package/node_modules/jszip/lib/reader/StringReader.js +38 -0
  572. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
  573. package/node_modules/jszip/lib/reader/readerFor.js +28 -0
  574. package/node_modules/jszip/lib/signature.js +7 -0
  575. package/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
  576. package/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
  577. package/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
  578. package/node_modules/jszip/lib/stream/DataWorker.js +116 -0
  579. package/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
  580. package/node_modules/jszip/lib/stream/StreamHelper.js +214 -0
  581. package/node_modules/jszip/lib/support.js +38 -0
  582. package/node_modules/jszip/lib/utf8.js +275 -0
  583. package/node_modules/jszip/lib/utils.js +501 -0
  584. package/node_modules/jszip/lib/zipEntries.js +261 -0
  585. package/node_modules/jszip/lib/zipEntry.js +293 -0
  586. package/node_modules/jszip/lib/zipObject.js +133 -0
  587. package/node_modules/jszip/package.json +67 -0
  588. package/node_modules/jszip/sponsors.md +21 -0
  589. package/node_modules/jszip/tsconfig.json +101 -0
  590. package/node_modules/jszip/vendor/FileSaver.js +247 -0
  591. package/node_modules/lie/README.md +62 -0
  592. package/node_modules/lie/dist/lie.js +350 -0
  593. package/node_modules/lie/dist/lie.min.js +1 -0
  594. package/node_modules/lie/dist/lie.polyfill.js +358 -0
  595. package/node_modules/lie/dist/lie.polyfill.min.js +1 -0
  596. package/node_modules/lie/lib/browser.js +273 -0
  597. package/node_modules/lie/lib/index.js +298 -0
  598. package/node_modules/lie/license.md +7 -0
  599. package/node_modules/lie/lie.d.ts +244 -0
  600. package/node_modules/lie/package.json +69 -0
  601. package/node_modules/lie/polyfill.js +4 -0
  602. package/node_modules/pako/LICENSE +21 -0
  603. package/node_modules/pako/README.md +191 -0
  604. package/node_modules/pako/dist/pako.js +6818 -0
  605. package/node_modules/pako/dist/pako.min.js +1 -0
  606. package/node_modules/pako/dist/pako_deflate.js +3997 -0
  607. package/node_modules/pako/dist/pako_deflate.min.js +1 -0
  608. package/node_modules/pako/dist/pako_inflate.js +3300 -0
  609. package/node_modules/pako/dist/pako_inflate.min.js +1 -0
  610. package/node_modules/pako/index.js +14 -0
  611. package/node_modules/pako/lib/deflate.js +400 -0
  612. package/node_modules/pako/lib/inflate.js +423 -0
  613. package/node_modules/pako/lib/utils/common.js +105 -0
  614. package/node_modules/pako/lib/utils/strings.js +187 -0
  615. package/node_modules/pako/lib/zlib/README +59 -0
  616. package/node_modules/pako/lib/zlib/adler32.js +51 -0
  617. package/node_modules/pako/lib/zlib/constants.js +68 -0
  618. package/node_modules/pako/lib/zlib/crc32.js +59 -0
  619. package/node_modules/pako/lib/zlib/deflate.js +1874 -0
  620. package/node_modules/pako/lib/zlib/gzheader.js +58 -0
  621. package/node_modules/pako/lib/zlib/inffast.js +345 -0
  622. package/node_modules/pako/lib/zlib/inflate.js +1556 -0
  623. package/node_modules/pako/lib/zlib/inftrees.js +343 -0
  624. package/node_modules/pako/lib/zlib/messages.js +32 -0
  625. package/node_modules/pako/lib/zlib/trees.js +1222 -0
  626. package/node_modules/pako/lib/zlib/zstream.js +47 -0
  627. package/node_modules/pako/package.json +44 -0
  628. package/node_modules/process-nextick-args/index.js +45 -0
  629. package/node_modules/process-nextick-args/license.md +19 -0
  630. package/node_modules/process-nextick-args/package.json +25 -0
  631. package/node_modules/process-nextick-args/readme.md +18 -0
  632. package/node_modules/readable-stream/.travis.yml +34 -0
  633. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  634. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  635. package/node_modules/readable-stream/LICENSE +47 -0
  636. package/node_modules/readable-stream/README.md +58 -0
  637. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  638. package/node_modules/readable-stream/duplex-browser.js +1 -0
  639. package/node_modules/readable-stream/duplex.js +1 -0
  640. package/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  641. package/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  642. package/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  643. package/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  644. package/node_modules/readable-stream/lib/_stream_writable.js +685 -0
  645. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
  646. package/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
  647. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  648. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  649. package/node_modules/readable-stream/package.json +52 -0
  650. package/node_modules/readable-stream/passthrough.js +1 -0
  651. package/node_modules/readable-stream/readable-browser.js +7 -0
  652. package/node_modules/readable-stream/readable.js +19 -0
  653. package/node_modules/readable-stream/transform.js +1 -0
  654. package/node_modules/readable-stream/writable-browser.js +1 -0
  655. package/node_modules/readable-stream/writable.js +8 -0
  656. package/node_modules/safe-buffer/LICENSE +21 -0
  657. package/node_modules/safe-buffer/README.md +584 -0
  658. package/node_modules/safe-buffer/index.d.ts +187 -0
  659. package/node_modules/safe-buffer/index.js +62 -0
  660. package/node_modules/safe-buffer/package.json +37 -0
  661. package/node_modules/setimmediate/LICENSE.txt +20 -0
  662. package/node_modules/setimmediate/package.json +30 -0
  663. package/node_modules/setimmediate/setImmediate.js +186 -0
  664. package/node_modules/string_decoder/.travis.yml +50 -0
  665. package/node_modules/string_decoder/LICENSE +48 -0
  666. package/node_modules/string_decoder/README.md +47 -0
  667. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  668. package/node_modules/string_decoder/package.json +31 -0
  669. package/node_modules/util-deprecate/History.md +16 -0
  670. package/node_modules/util-deprecate/LICENSE +24 -0
  671. package/node_modules/util-deprecate/README.md +53 -0
  672. package/node_modules/util-deprecate/browser.js +67 -0
  673. package/node_modules/util-deprecate/node.js +6 -0
  674. package/node_modules/util-deprecate/package.json +27 -0
  675. package/package.json +7 -7
  676. package/server.json +3 -3
  677. package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/SKILL.md +2 -2
  678. package/skills/{nda → agreements/cloud-service-agreement}/template-filling-execution.md +2 -2
  679. package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/SKILL.md +15 -4
  680. package/skills/{open-agreements → agreements/data-privacy-agreement}/template-filling-execution.md +12 -6
  681. package/skills/{employment-contract → agreements/employment-contract}/SKILL.md +25 -8
  682. package/skills/{cloud-service-agreement → agreements/employment-contract}/template-filling-execution.md +12 -6
  683. package/skills/{nda → agreements/nda}/SKILL.md +2 -2
  684. package/skills/{safe → agreements/nda}/template-filling-execution.md +12 -6
  685. package/skills/{open-agreements → agreements/open-agreements}/SKILL.md +13 -30
  686. package/skills/agreements/open-agreements/template-filling-execution.md +98 -0
  687. package/skills/{safe → agreements/safe}/SKILL.md +2 -2
  688. package/skills/agreements/safe/template-filling-execution.md +98 -0
  689. package/skills/{services-agreement → agreements/services-agreement}/SKILL.md +3 -3
  690. package/skills/agreements/services-agreement/template-filling-execution.md +98 -0
  691. package/skills/{venture-financing → agreements/venture-financing}/SKILL.md +3 -3
  692. package/skills/agreements/venture-financing/template-filling-execution.md +98 -0
  693. package/skills/{client-email → client-workflows/client-email}/SKILL.md +9 -7
  694. package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/SKILL.md +1 -1
  695. package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/SKILL.md +1 -1
  696. package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/SKILL.md +1 -1
  697. package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/SKILL.md +1 -1
  698. package/skills/{soc2-readiness → compliance/soc2-readiness}/SKILL.md +1 -1
  699. package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/SKILL.md +2 -3
  700. package/skills/{recipe-quality-audit → internal/recipe-quality-audit}/SKILL.md +2 -1
  701. package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/SKILL.md +2 -0
  702. package/skills/legal-explainers/data-privacy-law-explainer/CONTRIBUTING.md +7 -0
  703. package/skills/legal-explainers/data-privacy-law-explainer/LICENSE +269 -0
  704. package/skills/legal-explainers/data-privacy-law-explainer/NOTICE +7 -0
  705. package/skills/legal-explainers/data-privacy-law-explainer/SKILL.md +113 -0
  706. package/skills/legal-explainers/data-privacy-law-explainer/content/alabama.md +211 -0
  707. package/skills/legal-explainers/data-privacy-law-explainer/content/alaska.md +155 -0
  708. package/skills/legal-explainers/data-privacy-law-explainer/content/arizona.md +181 -0
  709. package/skills/legal-explainers/data-privacy-law-explainer/content/arkansas.md +219 -0
  710. package/skills/legal-explainers/data-privacy-law-explainer/content/california.md +107 -0
  711. package/skills/legal-explainers/data-privacy-law-explainer/content/colorado.md +87 -0
  712. package/skills/legal-explainers/data-privacy-law-explainer/content/connecticut.md +83 -0
  713. package/skills/legal-explainers/data-privacy-law-explainer/content/delaware.md +85 -0
  714. package/skills/legal-explainers/data-privacy-law-explainer/content/district-of-columbia.md +153 -0
  715. package/skills/legal-explainers/data-privacy-law-explainer/content/florida.md +234 -0
  716. package/skills/legal-explainers/data-privacy-law-explainer/content/georgia.md +149 -0
  717. package/skills/legal-explainers/data-privacy-law-explainer/content/hawaii.md +167 -0
  718. package/skills/legal-explainers/data-privacy-law-explainer/content/idaho.md +149 -0
  719. package/skills/legal-explainers/data-privacy-law-explainer/content/illinois.md +238 -0
  720. package/skills/legal-explainers/data-privacy-law-explainer/content/indiana.md +93 -0
  721. package/skills/legal-explainers/data-privacy-law-explainer/content/iowa.md +99 -0
  722. package/skills/legal-explainers/data-privacy-law-explainer/content/kansas.md +155 -0
  723. package/skills/legal-explainers/data-privacy-law-explainer/content/kentucky.md +87 -0
  724. package/skills/legal-explainers/data-privacy-law-explainer/content/louisiana.md +209 -0
  725. package/skills/legal-explainers/data-privacy-law-explainer/content/maine.md +163 -0
  726. package/skills/legal-explainers/data-privacy-law-explainer/content/maryland.md +85 -0
  727. package/skills/legal-explainers/data-privacy-law-explainer/content/massachusetts.md +260 -0
  728. package/skills/legal-explainers/data-privacy-law-explainer/content/michigan.md +175 -0
  729. package/skills/legal-explainers/data-privacy-law-explainer/content/minnesota.md +93 -0
  730. package/skills/legal-explainers/data-privacy-law-explainer/content/mississippi.md +132 -0
  731. package/skills/legal-explainers/data-privacy-law-explainer/content/missouri.md +179 -0
  732. package/skills/legal-explainers/data-privacy-law-explainer/content/montana.md +105 -0
  733. package/skills/legal-explainers/data-privacy-law-explainer/content/nebraska.md +83 -0
  734. package/skills/legal-explainers/data-privacy-law-explainer/content/nevada.md +212 -0
  735. package/skills/legal-explainers/data-privacy-law-explainer/content/new-hampshire.md +91 -0
  736. package/skills/legal-explainers/data-privacy-law-explainer/content/new-jersey.md +95 -0
  737. package/skills/legal-explainers/data-privacy-law-explainer/content/new-mexico.md +174 -0
  738. package/skills/legal-explainers/data-privacy-law-explainer/content/new-york.md +195 -0
  739. package/skills/legal-explainers/data-privacy-law-explainer/content/north-carolina.md +205 -0
  740. package/skills/legal-explainers/data-privacy-law-explainer/content/north-dakota.md +169 -0
  741. package/skills/legal-explainers/data-privacy-law-explainer/content/ohio.md +171 -0
  742. package/skills/legal-explainers/data-privacy-law-explainer/content/oklahoma.md +168 -0
  743. package/skills/legal-explainers/data-privacy-law-explainer/content/oregon.md +103 -0
  744. package/skills/legal-explainers/data-privacy-law-explainer/content/pennsylvania.md +99 -0
  745. package/skills/legal-explainers/data-privacy-law-explainer/content/rhode-island.md +93 -0
  746. package/skills/legal-explainers/data-privacy-law-explainer/content/south-carolina.md +175 -0
  747. package/skills/legal-explainers/data-privacy-law-explainer/content/south-dakota.md +176 -0
  748. package/skills/legal-explainers/data-privacy-law-explainer/content/tennessee.md +89 -0
  749. package/skills/legal-explainers/data-privacy-law-explainer/content/texas.md +89 -0
  750. package/skills/legal-explainers/data-privacy-law-explainer/content/utah.md +83 -0
  751. package/skills/legal-explainers/data-privacy-law-explainer/content/vermont.md +267 -0
  752. package/skills/legal-explainers/data-privacy-law-explainer/content/virginia.md +85 -0
  753. package/skills/legal-explainers/data-privacy-law-explainer/content/washington.md +247 -0
  754. package/skills/legal-explainers/data-privacy-law-explainer/content/west-virginia.md +141 -0
  755. package/skills/legal-explainers/data-privacy-law-explainer/content/wisconsin.md +156 -0
  756. package/skills/legal-explainers/data-privacy-law-explainer/content/wyoming.md +185 -0
  757. package/skills/legal-explainers/data-privacy-law-explainer/manifest.json +519 -0
  758. package/skills/legal-explainers/non-compete-contract-explainer/CONTRIBUTING.md +7 -0
  759. package/skills/legal-explainers/non-compete-contract-explainer/LICENSE +269 -0
  760. package/skills/legal-explainers/non-compete-contract-explainer/NOTICE +7 -0
  761. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/SKILL.md +1 -1
  762. package/skills/legal-explainers/non-compete-contract-explainer/content/alabama.md +251 -0
  763. package/skills/legal-explainers/non-compete-contract-explainer/content/alaska.md +160 -0
  764. package/skills/legal-explainers/non-compete-contract-explainer/content/american-samoa.md +187 -0
  765. package/skills/legal-explainers/non-compete-contract-explainer/content/arizona.md +295 -0
  766. package/skills/legal-explainers/non-compete-contract-explainer/content/arkansas.md +235 -0
  767. package/skills/legal-explainers/non-compete-contract-explainer/content/au.md +208 -0
  768. package/skills/legal-explainers/non-compete-contract-explainer/content/australian-capital-territory.md +220 -0
  769. package/skills/legal-explainers/non-compete-contract-explainer/content/california.md +270 -0
  770. package/skills/legal-explainers/non-compete-contract-explainer/content/cnmi.md +168 -0
  771. package/skills/legal-explainers/non-compete-contract-explainer/content/colorado.md +277 -0
  772. package/skills/legal-explainers/non-compete-contract-explainer/content/connecticut.md +220 -0
  773. package/skills/legal-explainers/non-compete-contract-explainer/content/delaware.md +222 -0
  774. package/skills/legal-explainers/non-compete-contract-explainer/content/district-of-columbia.md +263 -0
  775. package/skills/legal-explainers/non-compete-contract-explainer/content/florida.md +267 -0
  776. package/skills/legal-explainers/non-compete-contract-explainer/content/georgia.md +323 -0
  777. package/skills/legal-explainers/non-compete-contract-explainer/content/guam.md +180 -0
  778. package/skills/legal-explainers/non-compete-contract-explainer/content/hawaii.md +236 -0
  779. package/skills/legal-explainers/non-compete-contract-explainer/content/idaho.md +258 -0
  780. package/skills/legal-explainers/non-compete-contract-explainer/content/illinois.md +266 -0
  781. package/skills/legal-explainers/non-compete-contract-explainer/content/in.md +269 -0
  782. package/skills/legal-explainers/non-compete-contract-explainer/content/indiana.md +253 -0
  783. package/skills/legal-explainers/non-compete-contract-explainer/content/iowa.md +232 -0
  784. package/skills/legal-explainers/non-compete-contract-explainer/content/kansas.md +227 -0
  785. package/skills/legal-explainers/non-compete-contract-explainer/content/kentucky.md +201 -0
  786. package/skills/legal-explainers/non-compete-contract-explainer/content/louisiana.md +272 -0
  787. package/skills/legal-explainers/non-compete-contract-explainer/content/maine.md +178 -0
  788. package/skills/legal-explainers/non-compete-contract-explainer/content/maryland.md +244 -0
  789. package/skills/legal-explainers/non-compete-contract-explainer/content/massachusetts.md +272 -0
  790. package/skills/legal-explainers/non-compete-contract-explainer/content/michigan.md +222 -0
  791. package/skills/legal-explainers/non-compete-contract-explainer/content/minnesota.md +171 -0
  792. package/skills/legal-explainers/non-compete-contract-explainer/content/mississippi.md +237 -0
  793. package/skills/legal-explainers/non-compete-contract-explainer/content/missouri.md +219 -0
  794. package/skills/legal-explainers/non-compete-contract-explainer/content/montana.md +202 -0
  795. package/skills/legal-explainers/non-compete-contract-explainer/content/nebraska.md +206 -0
  796. package/skills/legal-explainers/non-compete-contract-explainer/content/nevada.md +278 -0
  797. package/skills/legal-explainers/non-compete-contract-explainer/content/new-hampshire.md +233 -0
  798. package/skills/legal-explainers/non-compete-contract-explainer/content/new-jersey.md +277 -0
  799. package/skills/legal-explainers/non-compete-contract-explainer/content/new-mexico.md +244 -0
  800. package/skills/legal-explainers/non-compete-contract-explainer/content/new-south-wales.md +218 -0
  801. package/skills/legal-explainers/non-compete-contract-explainer/content/new-york.md +226 -0
  802. package/skills/legal-explainers/non-compete-contract-explainer/content/north-carolina.md +346 -0
  803. package/skills/legal-explainers/non-compete-contract-explainer/content/north-dakota.md +187 -0
  804. package/skills/legal-explainers/non-compete-contract-explainer/content/northern-territory.md +214 -0
  805. package/skills/legal-explainers/non-compete-contract-explainer/content/ohio.md +207 -0
  806. package/skills/legal-explainers/non-compete-contract-explainer/content/oklahoma.md +196 -0
  807. package/skills/legal-explainers/non-compete-contract-explainer/content/oregon.md +359 -0
  808. package/skills/legal-explainers/non-compete-contract-explainer/content/pennsylvania.md +254 -0
  809. package/skills/legal-explainers/non-compete-contract-explainer/content/ph.md +211 -0
  810. package/skills/legal-explainers/non-compete-contract-explainer/content/puerto-rico.md +163 -0
  811. package/skills/legal-explainers/non-compete-contract-explainer/content/queensland.md +206 -0
  812. package/skills/legal-explainers/non-compete-contract-explainer/content/rhode-island.md +171 -0
  813. package/skills/legal-explainers/non-compete-contract-explainer/content/sg.md +229 -0
  814. package/skills/legal-explainers/non-compete-contract-explainer/content/south-australia.md +236 -0
  815. package/skills/legal-explainers/non-compete-contract-explainer/content/south-carolina.md +226 -0
  816. package/skills/legal-explainers/non-compete-contract-explainer/content/south-dakota.md +222 -0
  817. package/skills/legal-explainers/non-compete-contract-explainer/content/tasmania.md +224 -0
  818. package/skills/legal-explainers/non-compete-contract-explainer/content/tennessee.md +251 -0
  819. package/skills/legal-explainers/non-compete-contract-explainer/content/texas.md +297 -0
  820. package/skills/legal-explainers/non-compete-contract-explainer/content/utah.md +250 -0
  821. package/skills/legal-explainers/non-compete-contract-explainer/content/vermont.md +211 -0
  822. package/skills/legal-explainers/non-compete-contract-explainer/content/victoria.md +218 -0
  823. package/skills/legal-explainers/non-compete-contract-explainer/content/virgin-islands.md +193 -0
  824. package/skills/legal-explainers/non-compete-contract-explainer/content/virginia.md +213 -0
  825. package/skills/legal-explainers/non-compete-contract-explainer/content/washington.md +296 -0
  826. package/skills/legal-explainers/non-compete-contract-explainer/content/west-virginia.md +187 -0
  827. package/skills/legal-explainers/non-compete-contract-explainer/content/western-australia.md +224 -0
  828. package/skills/legal-explainers/non-compete-contract-explainer/content/wisconsin.md +293 -0
  829. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/wyoming.md +69 -55
  830. package/skills/legal-explainers/non-compete-contract-explainer/manifest.json +689 -0
  831. package/content/templates/bonterms-mutual-nda/signing.yaml +0 -35
  832. package/dist/core/signing-config.d.ts +0 -46
  833. package/dist/core/signing-config.d.ts.map +0 -1
  834. package/dist/core/signing-config.js +0 -67
  835. package/dist/core/signing-config.js.map +0 -1
  836. package/skills/non-compete-contract-explainer/manifest.json +0 -18
  837. package/skills/services-agreement/template-filling-execution.md +0 -81
  838. package/skills/shared/template-filling-execution.md +0 -92
  839. /package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/CONNECTORS.md +0 -0
  840. /package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/CONNECTORS.md +0 -0
  841. /package/skills/{employment-contract → agreements/employment-contract}/CONNECTORS.md +0 -0
  842. /package/skills/{nda → agreements/nda}/CONNECTORS.md +0 -0
  843. /package/skills/{open-agreements → agreements/open-agreements}/CONNECTORS.md +0 -0
  844. /package/skills/{safe → agreements/safe}/CONNECTORS.md +0 -0
  845. /package/skills/{services-agreement → agreements/services-agreement}/CONNECTORS.md +0 -0
  846. /package/skills/{venture-financing → agreements/venture-financing}/CONNECTORS.md +0 -0
  847. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/CONNECTORS.md +0 -0
  848. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/ecorp-portal-playwright-notes.md +0 -0
  849. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/faq.md +0 -0
  850. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/filing-instructions.md +0 -0
  851. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/tax-calculation.md +0 -0
  852. /package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/CONNECTORS.md +0 -0
  853. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/CONNECTORS.md +0 -0
  854. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/api-exports.md +0 -0
  855. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/evidence-types.md +0 -0
  856. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/screenshot-guide.md +0 -0
  857. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/CONNECTORS.md +0 -0
  858. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/access-control.md +0 -0
  859. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/business-continuity.md +0 -0
  860. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/change-management.md +0 -0
  861. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/encryption.md +0 -0
  862. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/incident-response.md +0 -0
  863. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/isms-management.md +0 -0
  864. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/logging-monitoring.md +0 -0
  865. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/people-controls.md +0 -0
  866. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/supplier-management.md +0 -0
  867. /package/skills/{soc2-readiness → compliance/soc2-readiness}/CONNECTORS.md +0 -0
  868. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/change-vendor-management.md +0 -0
  869. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/communication-info.md +0 -0
  870. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-activities.md +0 -0
  871. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-environment.md +0 -0
  872. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/logical-access.md +0 -0
  873. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/monitoring-activities.md +0 -0
  874. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/optional-categories.md +0 -0
  875. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/privacy-criteria.md +0 -0
  876. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/risk-assessment.md +0 -0
  877. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/system-operations.md +0 -0
  878. /package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/CONNECTORS.md +0 -0
  879. /package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/references/allure-test-spec-writing-guide.md +0 -0
@@ -0,0 +1,236 @@
1
+ ---
2
+ jurisdiction: "South Australia, Australia"
3
+ slug: south-australia
4
+ countryCode: AU
5
+ snapshotAsOf: "2026-06-19"
6
+ lastReviewed: "2026-06-10"
7
+ canonicalUrl: https://openagreements.org/practice-guides/non-compete/au/south-australia
8
+ license: CC BY 4.0
9
+ stale: false
10
+ ---
11
+
12
+ > [!IMPORTANT]
13
+ > **Informational only — not legal advice.** This is a snapshot of an OpenAgreements practice note,
14
+ > provided for general information. It is not legal advice, does not create an attorney-client
15
+ > relationship, and is not a substitute for a licensed attorney in the relevant jurisdiction.
16
+ > Laws change; verify against the canonical version before relying on it.
17
+ >
18
+ > **Canonical:** https://openagreements.org/practice-guides/non-compete/au/south-australia · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
19
+
20
+ # Non-Compete Enforceability in South Australia[^about]
21
+
22
+ In South Australia a post-employment non-compete is presumptively void as a restraint of trade and binds a former employee only so far as it is reasonable; South Australia has no statutory read-down power, so courts apply the common-law blue-pencil rule only — they can delete severable words but cannot rewrite an overbroad clause, and a clause that severance cannot save fails entirely.
23
+
24
+
25
+ ## At a glance
26
+
27
+ | Question | South Australia, Australia |
28
+ | --- | --- |
29
+ | **Are non-competes enforceable?** | Allowed if reasonable |
30
+ | **Bottom line** | A South Australian non-compete is presumptively void and binds a former employee only so far as it is reasonable to protect a legitimate interest; there is no statutory read-down power, so a court can only strike out grammatically severable words under the blue-pencil rule and an overbroad clause that severance cannot save fails entirely. |
31
+ | **Main law or case** | Common-law restraint of trade (no equivalent of the NSW Restraints of Trade Act 1976) |
32
+ | **Main exceptions** | Sale-of-business covenants are judged more leniently; a proposed federal ban would, if enacted, cover most employees earning under the Fair Work Act high-income threshold (with sale-of-business and above-threshold restraints reported to be excluded), but it is not yet law. |
33
+ | **Can a court narrow it?** | Only strikes wording |
34
+ | **Applies to contractors?** | Yes |
35
+ | **Restriction extended during a breach?** | Untested; reasonableness is fixed at the date of contract, and no South Australian authority validates extending a restraint because of a breach. |
36
+ | **Maximum length set by law** | No statutory cap; reasonableness is judged case by case by reference to the time needed to break the customer connection (a 12-month restraint was upheld in International Cleaning Services v Dmytrenko). |
37
+
38
+ ## Are employee non-competes enforceable in South Australia? {#enforceability}
39
+
40
+ **Short answer.** Only so far as they are reasonable. A post-employment non-compete is treated as a restraint of trade, which the courts presume is void as contrary to public policy unless the party enforcing it shows that, in the particular circumstances, the restraint is reasonable [^dmytrenko-presumed-void]. The onus sits squarely on the employer: it must demonstrate a legitimate interest and show that the restraint goes no further than is necessary to protect that interest [^hydron-onus].
41
+
42
+ South Australia is not a per se ban jurisdiction, and it has no statute that sets fixed numeric limits on duration or area. It is a reasonableness jurisdiction built entirely on the common-law restraint-of-trade doctrine. The starting point — confirmed by the High Court in *Lindner v Murdock's Garage*, an appeal from South Australia — is that every post-employment covenant is presumptively unenforceable and the burden of justifying it falls on the party seeking to enforce it [^lindner-onus].
43
+
44
+ "At common law a restraint of trade is contrary to public policy and void unless it can be shown that the restraint is, in the particular circumstances of the case, reasonable."[^dmytrenko-presumed-void]
45
+
46
+ Courts apply the doctrine more strictly to employment covenants than to covenants given on the sale of a business [^dmytrenko-stricter-view]. The Supreme Court of South Australia continues to apply the framework laid down in *Nordenfelt v Maxim Nordenfelt Guns and Ammunition Co* and *Lindner v Murdock's Garage* today. The sections that follow work through whether a court can narrow an overbroad clause, why cascading clauses matter so much, what counts as a legitimate interest, how reasonableness of scope is judged, and the open question of whether a breach can extend the restraint.
47
+
48
+ ## Can a South Australian court narrow an overbroad non-compete? {#court-narrowing}
49
+
50
+ **Short answer.** Only in a limited way, and far less generously than many employers assume. South Australia has no statute that lets a court read an overbroad restraint down to a reasonable level. A court applies the common-law blue-pencil rule only: it can delete severable words if what remains is reasonable, but it cannot read down, add to, or rewrite the clause. If the restraint confers greater protection than can be justified, it is unreasonable and unenforceable [^dmytrenko-greater-protection], and if severance cannot save it the whole restraint fails [^hydron-no-rewriting].
51
+
52
+ The South Australian approach to severance is deletion, not editing. Where part of a restraint is invalid, that part may be severed from the balance and disregarded — an approach the Supreme Court has described in the traditional language of the blue pencil [^dmytrenko-blue-pencil].
53
+
54
+ "In the context of these cases that approach is sometimes described as the blue pencil rule."[^dmytrenko-blue-pencil]
55
+
56
+ *International Cleaning Services (Australia) Pty Ltd v Dmytrenko* is the worked example of severance actually rescuing a clause. Stanley J held that the covenant as drafted went too far, because it reached beyond working in or for a competitor to cover any indirect interest in anything that might assist a competitor — even a passive shareholding [^dmytrenko-severance-worked]. Rather than strike the whole clause down, his Honour deleted the offending words so that what remained was a clean prohibition on being employed directly or indirectly in any competitor, and enforced the trimmed restraint for its full 12-month term. The animating idea is that the court should hold the parties to the bargain they actually struck [^dmytrenko-destroyer].
57
+
58
+ The limit of the technique appears in *Hydron Pty Ltd v Harous*. A severance clause cannot save a covenant whose defect runs through its core: the court there refused to excise internal parts of the restraint where doing so would have left no certain covenant behind [^hydron-no-rewriting]. Deletion must leave a sensible, self-contained restraint standing on its own; if it would take rewriting to get there, the covenant fails entirely.
59
+
60
+ > [!CAUTION]
61
+ > **Drafting note.**
62
+ >
63
+ > Because a South Australian court will not read an overbroad restraint down to a reasonable level — it can only delete severable words and cannot rewrite the clause — draft scope, area, and duration to the minimum the legitimate interest actually requires [^dmytrenko-greater-protection]. Structure the clause so that any over-reaching words can be struck out cleanly and leave a complete covenant behind; where deletion would leave no certain obligation, the whole restraint fails [^hydron-no-rewriting].
64
+
65
+ ## Are cascading or ladder restraint clauses valid in South Australia? {#cascading-clauses}
66
+
67
+ **Short answer.** Yes, within limits, and they are essential drafting in South Australia precisely because a court cannot read an overbroad clause down. A cascading clause sets out a menu of progressively narrower combinations of period and area, each expressed as a separate, severable restraint, so that if the widest is unreasonable a narrower rung can still be enforced on its own. The Full Court upheld restraints built exactly this way in *Richmond v Moore Stephens Adelaide Pty Ltd* [^richmond-cascading], and a ladder clause supported by proper severance provisions is not void for uncertainty where it is a genuine attempt to define the protection needed [^hydron-genuine-attempt].
68
+
69
+ *Richmond* is the South Australian anchor, and its context matters: the restraints arose from the sale of an accountancy practice together with an ongoing service agreement under which the seller continued to work in the practice, not from a bare employment contract. The service agreement restrained the principal from soliciting or dealing with clients and enticing away staff, with the restraint expressed as a cascade [^richmond-cascading].
70
+
71
+ "These restraints operate for cascading periods ranging from three years to two years and down to 3 months after termination of the Service Agreement within cascading areas ranging from Australia down to 10 kilometres from the site the Principal carries on business."[^richmond-cascading]
72
+
73
+ On that service agreement cascade, the Full Court found no error in the trial judge's conclusion that a two-year restraint after termination was reasonable on those facts [^richmond-two-years]. The business sale agreement carried its own separate cascade — four years down to one year, South Australia down to a 10-kilometre radius — which the Full Court likewise upheld at its longest rung of four years after completion. Because the restraints protected goodwill the buyer had paid for, the analysis was more generous than it would be for a covenant imposed on an ordinary employee, so the case should be read as validating the cascading structure rather than as a benchmark for employment durations.
74
+
75
+ A cascade works only if each rung is genuinely independent and severable. In *Hydron Pty Ltd v Harous* the court accepted that ladder clauses generated by combining variables of conduct, time and area are not void for uncertainty where the agreements state that each combination is a separate covenant and the exercise is a genuine attempt to define the protection required [^hydron-genuine-attempt]. The contrast is a clause that piles up combinations with no statement of priority and no separate covenants: the court in *Hydron* cited the warning of Wootten J that what fails in such a case is not simply an area but a total covenant whose other terms shift underfoot [^hydron-wootten-total-covenant].
76
+
77
+ > [!CAUTION]
78
+ > **Drafting note.**
79
+ >
80
+ > A cascading clause is the practical answer to South Australia's no-read-down rule, but only if each rung is a self-contained, reasonable restraint that the agreement expressly treats as a separate covenant [^hydron-genuine-attempt]. A pile of mechanical combinations with no severance architecture risks failing as a whole, because a court cannot decide what the covenant forbids when the conduct, period and area all move at once [^hydron-wootten-total-covenant].
81
+
82
+ ## What legitimate interest must an employer show to enforce a South Australian non-compete? {#legitimate-interest}
83
+
84
+ **Short answer.** A protectable business interest — not a mere wish to avoid competition. An employer cannot restrain a former employee simply because a rival might benefit; an employer must be prepared to face the competition of a former employee if it comes [^lindner-face-competition]. The recognised interests are the employer's customer connection and goodwill and its confidential information; the employee's own skill, experience and know-how remain the employee's to use [^dmytrenko-mere-competition].
85
+
86
+ The dividing line drawn by the High Court in *Lindner v Murdock's Garage* — a South Australian appeal — is between protecting an asset and suppressing a rival. A covenant aimed at competition by itself, rather than at a recognised interest, is invalid [^lindner-face-competition].
87
+
88
+ "An employer must be prepared to face the competition of a former employee if it comes."[^lindner-face-competition]
89
+
90
+ The Full Court's decision in *N P Generations Pty Ltd v Feneley* marks the same line for confidential information. A departing rental property manager had compiled an address book of the employer's landlords from its records: because the list was confided to her for the limited purpose of doing her job, she was obliged to hand it back when the employment ended [^feneley-address-book]. Her work diary, by contrast, was built up from day-to-day appointments, contained material fairly described as her own general knowledge, skill and experience, and was held not to be confidential at all [^feneley-diary]. The customer list belonged to the business; the working knowledge belonged to the person.
91
+
92
+ That second half of the line is just as important in the restraint context. An employer is not entitled to protection against mere competition, and a former employee is entitled to deploy the skill, experience and know-how acquired in the old job in legitimate competition with it [^dmytrenko-mere-competition]. What can be protected is the customer connection the employee built up at the employer's expense and the genuinely confidential information the role exposed them to — in *Dmytrenko* the court accepted that the risk of clients simply following a well-connected former employee to a competitor was a legitimate interest supporting a non-compete, even if the employee did nothing active to draw them across.
93
+
94
+ > [!CAUTION]
95
+ > **Drafting note.**
96
+ >
97
+ > A clause that simply bars a former employee from joining or starting a competing business, without tying the restraint to a specific protectable interest, is the weakest position, because an employer is not entitled to protection against competition as such [^lindner-face-competition]. Identify the actual interest — the customer connection or the confidential information — and draft around it, remembering that material reflecting the employee's own accumulated skill and experience cannot be claimed back [^feneley-diary].
98
+
99
+ ## How long and how wide can a South Australian non-compete be? {#reasonableness-factors}
100
+
101
+ **Short answer.** There is no statutory limit; reasonableness is decided case by case on the activity restrained, the geographic area, the duration, and the employee's actual customer influence. The restraint must impose no more than adequate protection on the party it favours [^dmytrenko-adequate-protection], it is assessed prospectively as at the date of the agreement rather than with hindsight [^richmond-prospective], and an area wider than the business reasonably requires is fatal [^lindner-area-too-wide].
102
+
103
+ Because the limits are judge-made, there is no fixed ceiling to anchor a covenant, and the analysis cuts both ways. In *Lindner v Murdock's Garage* the High Court held a covenant void because it covered an area wider than the employer's business reasonably required [^lindner-area-too-wide]. By contrast, in *International Cleaning Services (Australia) Pty Ltd v Dmytrenko* a statewide restraint on a senior business-development employee of a commercial cleaning company was upheld — the former employee conceded the geographic reach was reasonable, and the court found that it was.
104
+
105
+ On duration, the question for a customer-connection interest is how long it takes to break the bond between the departing employee and the clients they dealt with. In *Dmytrenko* the evidence showed it had taken the employee about a year to build relationships with most key clients, and client contracts generally ran for more than a year, so a 12-month restraint was the period needed to sever the connection [^dmytrenko-twelve-months].
106
+
107
+ "In the circumstances a 12-month restraint is necessary to sever the connection between the respondent and the applicant's customers with whom he dealt."[^dmytrenko-twelve-months]
108
+
109
+ Two further points shape the analysis. First, the test is what protection is adequate — anything more is over-reach [^dmytrenko-adequate-protection]. Second, reasonableness is fixed when the contract is made: it is assessed prospectively by reference to the contingencies as at the date of the agreement, not retrospectively by reference to how events actually unfolded [^richmond-prospective]. A clause that looks defensible against later events but was over-wide when signed is still void.
110
+
111
+ ## Do paid restraints, garden leave, and fresh consideration help in South Australia? {#garden-leave}
112
+
113
+ **Short answer.** Payment helps but is not required, and garden leave as such has not been squarely tested in the staged South Australian authorities. The Supreme Court has held that the absence of any obligation to pay the former employee during the restraint period does not, of itself, make the restraint unreasonable [^dmytrenko-no-payment-rule] — payment, where it exists, simply reflects the bargain the parties struck [^dmytrenko-payment-bargain].
114
+
115
+ The point arose directly in *International Cleaning Services (Australia) Pty Ltd v Dmytrenko*. The former employee argued that a 12-month restraint was unreasonable because he had no entitlement to be paid during it. Stanley J rejected the submission: while some restraints have been upheld where the employer paid the former employee through the restraint period, there is no rule running the other way [^dmytrenko-no-payment-rule].
116
+
117
+ "Generally, the existence of an obligation to pay the former employee his or her salary during the period of the restraint reflects the terms of the bargain struck between the parties."[^dmytrenko-payment-bargain]
118
+
119
+ That cuts in both directions for drafters. Paying a former employee to sit out the restraint can only strengthen the employer's position on reasonableness, because it lightens the burden the covenant places on the employee — but it does not displace the requirement to prove a legitimate interest and a no-wider-than-necessary scope. Garden leave, where the employee stays employed and paid through a notice period, would be assessed under the same reasonableness framework rather than enjoying any special validity; none of the South Australian decisions discussed here rules on a garden-leave clause as such, so its treatment should be regarded as following the general doctrine rather than as settled by local authority. For mid-employment covenants introduced after hiring, the relevant baseline is that validity is judged at the date the covenant is entered into [^dmytrenko-tested-at-contract], so a restraint added later is assessed against the circumstances then and needs its own consideration.
120
+
121
+ ## What if the employer wrongfully dismissed the employee? {#employer-breach}
122
+
123
+ **Short answer.** It depends on the contract — South Australia's Full Court has rejected the idea that an employer's breach automatically kills the restraint. In *Richmond v Moore Stephens Adelaide Pty Ltd* the covenantor argued that the principle in *General Billposting Co Ltd v Atkinson* laid down a rule of law that a repudiating party can never enforce a post-termination restraint; the Full Court held instead that whether the restraint survives termination depends on the proper construction of the contract [^richmond-construction]. An employer in serious breach can still lose the covenant — but by the route of construction and the facts of termination, not by an automatic rule.
124
+
125
+ *Richmond* litigated the question on facts connected to the sale of an accountancy practice and an associated service agreement, not a bare employment relationship. The covenantor contended that the covenantee's defaults — chiefly ceasing to pay interest on the outstanding purchase price — amounted to repudiation that freed him of the restraints. The Full Court applied the orthodox threshold: conduct amounts to repudiation only where a party shows itself unwilling or unable to render substantial performance [^richmond-repudiation-standard], and held on the facts that the threshold was not met, so the covenantor and his company were not entitled to terminate [^richmond-no-termination].
126
+
127
+ "Mr Richmond's contention should be rejected because the question whether the restraint clause survives must depend on the proper construction of the contract."[^richmond-construction]
128
+
129
+ Two practical conclusions follow. First, the outcome turns on who validly terminated: the Full Court construed the agreements so that the restraints would not have survived a valid termination by the covenantor for the covenantee's breach or repudiation before the agreed term had run — it was the failure of that termination on the facts that left the restraints standing [^richmond-no-termination]. Second, the *General Billposting* concern still has force through construction and through equity: an injunction is a discretionary remedy, and an enforcing party's own serious misconduct will weigh against it.
130
+
131
+ > [!NOTE]
132
+ > **Practice note.**
133
+ >
134
+ > South Australia's Full Court treats survival of the restraint as a question of construction rather than an automatic rule [^richmond-construction], and on the construction adopted in *Richmond* — a sale-and-services context, not an employment dismissal — the restraints would not have survived a valid termination by the covenantor for the covenantee's breach. By analogy, an employer that terminates abruptly — without giving contractual notice or paying in lieu — risks losing the very non-compete it wants to rely on, with the *General Billposting* principle reinforcing the same caution at common law. Before suing to enforce a covenant, confirm that the termination itself complied with the contract.
135
+
136
+ ## Does a South Australian non-compete pause or extend if the employee breaches? {#tolling}
137
+
138
+ **Short answer.** This is an open question, and an employer should not assume the clock stops. No settled South Australian authority holds that a restraint period tolls — pauses and then resumes — while a former employee is in breach or while litigation runs. Validity is judged at the date the contract is entered into [^dmytrenko-tested-at-contract-tolling], which sits uneasily with a clause that purports to lengthen the restraint automatically depending on the employee's later conduct.
139
+
140
+ Because validity is fixed at the date of contract, a drafting device that extends the period by the length of any breach pushes the effective duration beyond what was assessed as reasonable at the outset, and there is no clear South Australian authority validating it. An employer that needs relief for an actual breach is on firmer ground seeking a tailored injunction or damages than relying on the clause itself to stretch the restraint. The safer assumption is that the stated period is the maximum the employer can rely on.
141
+
142
+ > [!CAUTION]
143
+ > **Drafting note.**
144
+ >
145
+ > Do not rely on a clause that purports to extend the non-compete by the length of any breach. No clear South Australian authority validates tolling of the restraint period, and because validity is judged at the date of entry into the contract, an automatic extension risks being treated as unreasonable [^dmytrenko-tested-at-contract-tolling]. Treat the stated duration as the maximum and address an actual breach through an injunction or a damages claim instead.
146
+
147
+ ## Do South Australian restraint rules differ for contractors and business sales? {#contractors-and-sale}
148
+
149
+ **Short answer.** Yes, in different directions. Restraints on independent contractors are assessed under the same restraint-of-trade doctrine as employee covenants — in *Richmond v Moore Stephens Adelaide Pty Ltd* the restraint sat in a service agreement between a principal and a contractor company, and the ordinary reasonableness analysis applied [^richmond-overall-circumstances]. Restraints given by the seller of a business, by contrast, are judged more leniently, because a buyer is entitled to protect the goodwill it paid for [^lindner-sale-distinction].
150
+
151
+ The sale-of-business leniency is long-standing and uncontroversial — it predates *Lindner v Murdock's Garage* and has never been in doubt, so the way the point is expressed in that case (in a judgment that dissented on the ultimate outcome) reflects settled doctrine rather than any minority view. A restraint in a sale agreement is more easily upheld than the same restraint in an employment contract [^lindner-sale-more-easily], and the Supreme Court of South Australia has put the converse directly: courts in general take a stricter and less favourable view of covenants between employer and employee than of covenants between vendor and purchaser [^hydron-stricter-view].
152
+
153
+ *Richmond* shows the leniency working in the covenantee's favour where employment-like and sale elements are mixed. Because the business sale agreement and the service agreement were inextricably intertwined, the court assessed the restraint in the service agreement against the whole transaction — including the goodwill the buyer had paid for — rather than as a stand-alone working-relationship covenant [^richmond-overall-circumstances]. But the sale label is not a blank cheque. In *Hydron Pty Ltd v Harous* the restraints in the business sale documents themselves were struck down because they ran from the end of the seller's later employment rather than from the transfer of the business, and so bore no real connection to the goodwill actually acquired [^hydron-goodwill-connection]. Substance controls over form in both directions: a sale covenant must genuinely protect the purchased goodwill, and a contractor covenant gets no extra latitude merely because the worker is not called an employee.
154
+
155
+ ## Is a federal ban on non-competes coming to Australia? {#federal-reform}
156
+
157
+ **Short answer.** A ban has been proposed but is not yet law, and as of June 2026 the common-law restraint-of-trade framework above still governs in South Australia [^dmytrenko-still-governs]. According to Australian Government Treasury material and law-firm commentary, the Government announced in the 2025–26 Federal Budget that it intends to ban post-employment non-competes for workers earning under the Fair Work Act high-income threshold (reported at around AUD $183,100), with Treasury running a consultation on the design, and the reform expected to be legislated during 2026 and to take effect from 2027, operating prospectively. Those figures and dates come from that secondary material — Treasury announcements and commentary — not from any enacted statute. Until any ban is enacted, the existing common-law framework continues to govern [^dmytrenko-still-governs].
158
+
159
+ The proposal, as described in current Treasury material and law-firm commentary rather than in any enacted statute, would cover most employees earning below the high-income threshold while excluding sale-of-business covenants and restraints on higher earners. Non-solicitation, no-poach, and wage-fixing arrangements are also reported to be under consideration. None of this is in force, and the precise scope, threshold, and commencement could change before any legislation passes; the threshold figure and the 2026/2027 timeline in particular are drawn from secondary reporting and should be re-checked against the enacted text when it appears.
160
+
161
+ Because this is a future legislative matter, employers should treat the timeline and detail as provisional rather than settled. A covenant entered into now is governed by existing South Australian law; whether and how a future ban would affect existing or new agreements will depend on the enacted text and its transitional provisions.
162
+
163
+ > [!NOTE]
164
+ > **Practice note.**
165
+ >
166
+ > Do not draft to a federal ban that does not yet exist. As of June 2026 no Commonwealth statute bans employee non-competes, so enforceability in South Australia still turns on the common-law reasonableness test and the blue-pencil-only severance rule [^dmytrenko-still-governs]. Track the proposal through to enacted legislation before changing practice, because its threshold, scope, and commencement remain proposals subject to change.
167
+
168
+ [^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org). Last reviewed 2026-06-10. License: CC BY 4.0. Steven Obiajulu, J.D. is not admitted to practise law in South Australia, Australia. This article summarizes publicly available South Australia, Australia legal sources for general information only — it is not legal advice and does not create a lawyer–client relationship. It may not reflect the most recent legal developments and is provided without warranty as to accuracy or completeness; verify against the primary sources cited and consult a locally qualified lawyer before relying on it.
169
+
170
+ [^dmytrenko-presumed-void]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "At common law a restraint of trade is contrary to public policy and void unless it can be shown that the restraint is, in the particular circumstances of the case, reasonable." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
171
+
172
+ [^hydron-onus]: **Hydron Pty Ltd v Harous** — "In any event, Hydron bears the onus of demonstrating that the restraint is to protect a legitimate interest of itself, and that the extent of the restraint goes no further than is necessary to protect that interest." *Hydron Pty Ltd v Harous [2005] SASC 176 (Bleby J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2005/176.html>
173
+
174
+ [^lindner-onus]: **Lindner v Murdock's Garage** — "The onus was on the plaintiff firm to prove circumstances showing that the restriction on the defendant's freedom to work was reasonable." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
175
+
176
+ [^dmytrenko-stricter-view]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "A stricter view is taken of covenants in restraint of trade in employment contracts than those contained in contracts for the sale of a business." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
177
+
178
+ [^dmytrenko-greater-protection]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "If the Court is satisfied that the restraint confers greater protection than can be justified, the restraint will be unreasonable and therefore unenforceable." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
179
+
180
+ [^hydron-no-rewriting]: **Hydron Pty Ltd v Harous** — "Even if this were possible, without rewriting the covenants there would be no certainty when any of the periods commenced." *Hydron Pty Ltd v Harous [2005] SASC 176 (Bleby J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2005/176.html>
181
+
182
+ [^dmytrenko-blue-pencil]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "In the context of these cases that approach is sometimes described as the blue pencil rule." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
183
+
184
+ [^dmytrenko-severance-worked]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "In my view, clause 10.8.1 is cast in wider terms than is necessary to protect the applicant's legitimate interests because it seeks to extend beyond working in or for a competitor of the applicant." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
185
+
186
+ [^dmytrenko-destroyer]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "The Court should not be the destroyer of bargains." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
187
+
188
+ [^richmond-cascading]: **Richmond v Moore Stephens Adelaide Pty Ltd** — "These restraints operate for cascading periods ranging from three years to two years and down to 3 months after termination of the Service Agreement within cascading areas ranging from Australia down to 10 kilometres from the site the Principal carries on business." *Richmond v Moore Stephens Adelaide Pty Ltd [2015] SASCFC 147 (Blue J, Kourakis CJ and Stanley J agreeing).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASCFC/2015/147.html>
189
+
190
+ [^hydron-genuine-attempt]: **Hydron Pty Ltd v Harous** — "On their face, the clauses appear to be a genuine attempt to define Hydron's need for protection in respect of the various situations covered by the agreements." *Hydron Pty Ltd v Harous [2005] SASC 176 (Bleby J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2005/176.html>
191
+
192
+ [^richmond-two-years]: **Richmond v Moore Stephens Adelaide Pty Ltd** — "In the circumstances, no error has been demonstrated in the Judge's conclusion that a period of two years after termination comprised a reasonable restraint." *Richmond v Moore Stephens Adelaide Pty Ltd [2015] SASCFC 147 (Blue J, Kourakis CJ and Stanley J agreeing).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASCFC/2015/147.html>
193
+
194
+ [^hydron-wootten-total-covenant]: **Hydron Pty Ltd v Harous** — "But it is not simply a restraint in respect of an area which is unenforceable, but a total covenant." *Hydron Pty Ltd v Harous [2005] SASC 176 (Bleby J), quoting the warning of Wootten J in Austra Tanks Pty Ltd v Running, which Bleby J distinguished on the facts.* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2005/176.html>
195
+
196
+ [^lindner-face-competition]: **Lindner v Murdock's Garage** — "An employer must be prepared to face the competition of a former employee if it comes." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
197
+
198
+ [^dmytrenko-mere-competition]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "An employer is not entitled to protect itself against mere competition by a former employee, and that employee is entitled to use his or her skill, experience and know-how acquired in the service of the former employer in legitimate competition." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
199
+
200
+ [^feneley-address-book]: **N P Generations Pty Ltd v Feneley** — "Given that the address book was compiled from the appellant's records for use in its business, the respondent was obliged to deliver up the address book once her employment had been terminated." *N P Generations Pty Ltd v Feneley [2001] SASC 185 (Debelle J, Williams and Wicks JJ agreeing).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2001/185.html>
201
+
202
+ [^feneley-diary]: **N P Generations Pty Ltd v Feneley** — "For these reasons, I do not think that the diary constitutes confidential information." *N P Generations Pty Ltd v Feneley [2001] SASC 185 (Debelle J, Williams and Wicks JJ agreeing).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2001/185.html>
203
+
204
+ [^dmytrenko-adequate-protection]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "So far as the parties' interests are concerned the restraint must impose no more than adequate protection to a party in whose favour it is imposed." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
205
+
206
+ [^richmond-prospective]: **Richmond v Moore Stephens Adelaide Pty Ltd** — "The reasonableness of the restraint is to be assessed prospectively as at the date of the agreement and not retrospectively as at the date of enforcement." *Richmond v Moore Stephens Adelaide Pty Ltd [2015] SASCFC 147 (Blue J, Kourakis CJ and Stanley J agreeing).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASCFC/2015/147.html>
207
+
208
+ [^lindner-area-too-wide]: **Lindner v Murdock's Garage** — "I think it must be held that the area was unreasonably wide." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
209
+
210
+ [^dmytrenko-twelve-months]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "In the circumstances a 12-month restraint is necessary to sever the connection between the respondent and the applicant's customers with whom he dealt." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
211
+
212
+ [^dmytrenko-no-payment-rule]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "It does not reflect a rule that the absence of payment to the former employee during the restraint period renders the restraint unreasonable." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
213
+
214
+ [^dmytrenko-payment-bargain]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "Generally, the existence of an obligation to pay the former employee his or her salary during the period of the restraint reflects the terms of the bargain struck between the parties." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
215
+
216
+ [^dmytrenko-tested-at-contract]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "The validity of the covenant in an employment contract is to be judged at the date of entry into the contract." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
217
+
218
+ [^richmond-construction]: **Richmond v Moore Stephens Adelaide Pty Ltd** — "Mr Richmond's contention should be rejected because the question whether the restraint clause survives must depend on the proper construction of the contract." *Richmond v Moore Stephens Adelaide Pty Ltd [2015] SASCFC 147 (Blue J, Kourakis CJ and Stanley J agreeing).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASCFC/2015/147.html>
219
+
220
+ [^richmond-repudiation-standard]: **Richmond v Moore Stephens Adelaide Pty Ltd** — "Conduct only amounts to repudiation if a party evinces an unwillingness or inability to render substantial performance of the contract." *Richmond v Moore Stephens Adelaide Pty Ltd [2015] SASCFC 147 (Blue J, Kourakis CJ and Stanley J agreeing).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASCFC/2015/147.html>
221
+
222
+ [^richmond-no-termination]: **Richmond v Moore Stephens Adelaide Pty Ltd** — "WKYA and Mr Richmond were not entitled to terminate the Business Sale Agreement or the Service Agreement." *Richmond v Moore Stephens Adelaide Pty Ltd [2015] SASCFC 147 (Blue J, Kourakis CJ and Stanley J agreeing).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASCFC/2015/147.html>
223
+
224
+ [^dmytrenko-tested-at-contract-tolling]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "The validity of the covenant in an employment contract is to be judged at the date of entry into the contract." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
225
+
226
+ [^richmond-overall-circumstances]: **Richmond v Moore Stephens Adelaide Pty Ltd** — "The Judge was entitled to have regard to the overall circumstances under both agreements in assessing the reasonableness of the restraint clause under the Service Agreement." *Richmond v Moore Stephens Adelaide Pty Ltd [2015] SASCFC 147 (Blue J, Kourakis CJ and Stanley J agreeing).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASCFC/2015/147.html>
227
+
228
+ [^lindner-sale-distinction]: **Lindner v Murdock's Garage** — "A distinction is drawn between a restraint upon trade included in an agreement for the sale of a business and a restraint included in an agreement with an employee." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Latham CJ, dissenting as to the outcome).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
229
+
230
+ [^lindner-sale-more-easily]: **Lindner v Murdock's Garage** — "The restraint is more easily upheld in the former than in the latter case." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Latham CJ, dissenting as to the outcome).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
231
+
232
+ [^hydron-stricter-view]: **Hydron Pty Ltd v Harous** — "The courts in general take a stricter and less favourable view of covenants in restraint of trade entered into between an employer and an employee than of such covenants entered into between a vendor and a purchaser" *Hydron Pty Ltd v Harous [2005] SASC 176 (Bleby J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2005/176.html>
233
+
234
+ [^hydron-goodwill-connection]: **Hydron Pty Ltd v Harous** — "The period specified shows no real connection with the protection of the acquired goodwill of the Nu Contacts business." *Hydron Pty Ltd v Harous [2005] SASC 176 (Bleby J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2005/176.html>
235
+
236
+ [^dmytrenko-still-governs]: **International Cleaning Services (Australia) Pty Ltd v Dmytrenko** — "At common law a restraint of trade is contrary to public policy and void unless it can be shown that the restraint is, in the particular circumstances of the case, reasonable." *International Cleaning Services (Australia) Pty Ltd v Dmytrenko [2020] SASC 222 (Stanley J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/sa/SASC/2020/222.html>
@@ -0,0 +1,226 @@
1
+ ---
2
+ jurisdiction: "South Carolina"
3
+ slug: south-carolina
4
+ countryCode: US
5
+ snapshotAsOf: "2026-06-19"
6
+ lastReviewed: "2026-06-03"
7
+ canonicalUrl: https://openagreements.org/practice-guides/non-compete/us/south-carolina
8
+ license: CC BY 4.0
9
+ stale: false
10
+ ---
11
+
12
+ > [!IMPORTANT]
13
+ > **Informational only — not legal advice.** This is a snapshot of an OpenAgreements practice note,
14
+ > provided for general information. It is not legal advice, does not create an attorney-client
15
+ > relationship, and is not a substitute for a licensed attorney in the relevant jurisdiction.
16
+ > Laws change; verify against the canonical version before relying on it.
17
+ >
18
+ > **Canonical:** https://openagreements.org/practice-guides/non-compete/us/south-carolina · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
19
+
20
+ # Non-Competes in South Carolina[^about]
21
+
22
+ South Carolina enforces non-competes only when the restraint is reasonable under common law, strictly construes them against the employer, and will not blue-pencil an overbroad covenant.
23
+
24
+
25
+ ## At a glance
26
+
27
+ | Question | South Carolina |
28
+ | --- | --- |
29
+ | **Are non-competes enforceable?** | Allowed if reasonable |
30
+ | **Bottom line** | South Carolina has no non-compete statute and enforces a covenant only if it meets all five common-law reasonableness factors, strictly construes it against the employer, and will not blue-pencil or reform an overbroad covenant. |
31
+ | **Main law or case** | Team IA, Inc. v. Lucas, 717 S.E.2d 103 (S.C. Ct. App. 2011) (five-factor test from Standard Register Co. v. Kerrigan) |
32
+ | **Main exceptions** | Sale-of-business reviewed more leniently (Palmetto Mortuary); pending H.4767 physician-ban bill not enacted |
33
+ | **Can a court narrow it?** | No |
34
+ | **Applies to contractors?** | Unclear |
35
+ | **Restriction extended during a breach?** | Points against it — extending past stated end date is against public policy (Stonhard) |
36
+ | **Maximum length set by law** | No statutory cap |
37
+
38
+ ## Are employee non-compete agreements enforceable in South Carolina? {#employee-noncompetes}
39
+
40
+ **Short answer.** Yes, sometimes. South Carolina has no general non-compete statute, so enforceability turns on common law: a covenant is upheld only if it is necessary to protect a legitimate interest, reasonably limited in time and place, not unduly harsh on the employee, reasonable as a matter of public policy, and supported by valuable consideration [^team-ia-five-factor-test][^kerrigan-restraint-of-trade].
41
+
42
+ Because a non-compete is a restraint on trade that is against public policy, South Carolina courts disfavor these covenants [^kerrigan-restraint-of-trade]. The reasonableness analysis is rooted in *Standard Register Co. v. Kerrigan* and is applied today as a conjunctive list — every one of the five elements must be met or the covenant fails [^team-ia-five-factor-test].
43
+
44
+ "A covenant not to compete will be upheld only if it is: (1) necessary for the protection of the legitimate interest of the employer; (2) reasonably limited in its operation with respect to time and place; (3) not unduly harsh and oppressive in curtailing the legitimate efforts of the employee to earn a livelihood; (4) reasonable from the standpoint of sound public policy; and (5) supported by valuable consideration."[^team-ia-five-factor-test]
45
+
46
+ > [!NOTE]
47
+ > **Practice note.**
48
+ >
49
+ > Do not assume South Carolina will trim an overbroad covenant down to something enforceable — as the dedicated question below explains, it will not. Because the five factors are conjunctive, a covenant that fails any single one of them is unenforceable [^team-ia-five-factor-test][^kerrigan-restraint-of-trade].
50
+
51
+ ## What legitimate business interests can support a South Carolina non-compete? {#protectable-interests}
52
+
53
+ **Short answer.** The core interest that justifies a non-compete is the employer's customer relationships and goodwill. South Carolina separately enforces covenants protecting an employer's contractual relationships with its own employees, and it protects trade secrets by statute independent of any covenant [^kerrigan-customer-protection][^oxman-employee-nonsolicit][^trade-secrets-act-employee-duty].
54
+
55
+ A restraint is reasonable when it is designed to protect the employer against the loss of customers the employee could divert; protecting against ordinary competition, untethered to such an interest, is not enough [^kerrigan-customer-protection]. South Carolina also recognizes an employer's interest in its relationships with its own employees: in *Oxman v. Sherman*, the court read a covenant as barring inducement of other employees to breach their contracts rather than as a blanket bar on hiring [^oxman-employee-nonsolicit].
56
+
57
+ Trade secrets are protected by statute independent of any covenant. Under the *South Carolina Trade Secrets Act*, every employee who knows of an employer's trade secret has a duty to refrain from using or disclosing it, separate from and in addition to any written agreement [^trade-secrets-act-employee-duty]. That statutory protection endures until the secret is disclosed or discovered by proper means [^trade-secrets-act-endures].
58
+
59
+ > [!CAUTION]
60
+ > **Drafting note.**
61
+ >
62
+ > Do not rely on a non-compete to protect information that the *South Carolina Trade Secrets Act* already covers. A focused confidentiality and trade-secret strategy can reach misappropriation without the strict-construction risk that attaches to a covenant not to compete [^trade-secrets-act-employee-duty][^trade-secrets-act-endures].
63
+
64
+ ## How narrow must a customer non-solicitation covenant be in South Carolina? {#customer-non-solicitation}
65
+
66
+ **Short answer.** It must be tied to the customers the employee actually dealt with. South Carolina enforces a customer non-solicitation covenant limited to customers the employee had contact with during a defined look-back period — and such a limit can even substitute for a geographic restriction — but a covenant barring solicitation of every customer on the employer's books advances no legitimate interest and is unenforceable [^vessel-personal-contact][^fournil-ordinary-competition].
67
+
68
+ Federal courts applying South Carolina law draw the line at the employee's own customer relationships. In *Vessel Medical, Inc. v. Elliott*, the District of South Carolina upheld a non-solicitation covenant precisely because it reached only customers the employee had contact with during his last twelve months of employment [^vessel-personal-contact]. By contrast, *Fournil v. Turbeville Insurance Agency, Inc.* refused to enforce a covenant that also barred soliciting customers the employee had never serviced, because prohibiting those contacts protected no legitimate interest of the employer [^fournil-no-legitimate-interest]. The governing principle is that an employer may protect its customer relationships but may not enforce a covenant that simply prevents ordinary competition [^fournil-ordinary-competition].
69
+
70
+ > [!CAUTION]
71
+ > **Drafting note.**
72
+ >
73
+ > Do not write an *any customer on our books* non-solicitation clause. Limit the restriction to customers the departing employee actually serviced or contacted within a defined look-back period; a blanket customer ban is treated as an unenforceable restraint on ordinary competition rather than the protection of a legitimate interest [^vessel-personal-contact][^fournil-no-legitimate-interest].
74
+
75
+ ## Is continued at-will employment enough consideration for a South Carolina non-compete? {#continued-employment-consideration}
76
+
77
+ **Short answer.** Not by itself. When a covenant is signed after employment has already begun, South Carolina requires separate, independent consideration — continued at-will employment alone is not enough [^poole-separate-consideration].
78
+
79
+ *Poole v. Incentives Unlimited, Inc.* is the controlling rule. The court held that a covenant entered after the inception of employment needs new consideration beyond the continuation of at-will work [^poole-separate-consideration]. In *Poole* itself, the employee's duties, position, and salary were left unchanged after she signed, so there was nothing to supply that separate consideration [^poole-duties-unchanged].
80
+
81
+ > [!NOTE]
82
+ > **Practice note.**
83
+ >
84
+ > Do not ask a current employee to sign a non-compete on the strength of keeping the same job. Pair the covenant with genuine new consideration — a raise, bonus, promotion, or a change in status — and document it, because an unchanged role will not support the restraint [^poole-separate-consideration][^poole-duties-unchanged].
85
+
86
+ ## What duration and geographic scope are reasonable for a South Carolina non-compete? {#duration-geography}
87
+
88
+ **Short answer.** There is no statutory cap; reasonableness is judged on the facts. The territory may be no broader than necessary to protect the employer's legitimate interest, and both time and place must independently be reasonably limited [^kerrigan-territorial-scope][^q4-team-ia-five-factor-test].
89
+
90
+ Geography is tied to the employer's actual customer base. A territorial restriction is unreasonable when it sweeps in an area broader than necessary to protect the legitimate interest of the employer [^kerrigan-territorial-scope]. Because the test is conjunctive, each of time and place must be reasonable on its own; as a practical matter, a wide territory paired with a long duration is harder to defend than a restraint matched to where the employee actually worked and the customers the employee actually served [^q4-team-ia-five-factor-test].
91
+
92
+ > [!CAUTION]
93
+ > **Drafting note.**
94
+ >
95
+ > Do not copy a duration or radius from another state's form. Match the territory to the employee's real customer contacts and keep the time period to what the record can justify, because a South Carolina court will not narrow an overbroad scope to save the covenant [^kerrigan-territorial-scope][^q4-team-ia-five-factor-test].
96
+
97
+ ## Will a South Carolina court blue-pencil or narrow an overbroad non-compete? {#court-narrowing}
98
+
99
+ **Short answer.** No. South Carolina is a strict no-blue-pencil, no-reformation jurisdiction: a court will not rewrite an unreasonable covenant, and the agreement must stand or fall on its own terms [^poynter-no-blue-pencil][^stonhard-no-reformation].
100
+
101
+ In *Poynter Investments, Inc. v. Century Builders of Piedmont, Inc.*, the South Carolina Supreme Court held that the restrictions in a non-compete cannot be rewritten by a court or limited by the parties' later agreement, but must stand or fall on their own terms [^poynter-no-blue-pencil]. The court reversed an order that had purported to enforce the covenant on narrower terms than the parties wrote [^poynter-rewrite-error]. *Stonhard, Inc. v. Carolina Flooring Specialists, Inc.* refused to supply a missing territorial limitation, reasoning that adding a term the parties never negotiated would itself violate public policy [^stonhard-no-reformation].
102
+
103
+ There is one narrow lever: an alternative, *already-drafted* fallback. In *Team IA, Inc. v. Lucas*, the Court of Appeals indicated that a narrower alternative territory written into the original agreement could remain enforceable even when the primary territory was overbroad — because the court would be enforcing language the parties actually agreed to, not inventing it [^team-ia-step-down]. For a clause-by-clause pass over a specific agreement against these drafting rules, the [South Carolina non-compete review checklist](/checklists/non-compete/us/south-carolina) walks the full covenant suite item by item with each requirement's force level.
104
+
105
+ > [!CAUTION]
106
+ > **Drafting note.**
107
+ >
108
+ > Do not rely on a savings clause asking a court to reduce an overbroad restraint to whatever is reasonable — South Carolina will not do it. Build tiered, severable, narrower alternatives directly into the agreement so a court has enforceable text to fall back on rather than a term it must create [^poynter-no-blue-pencil][^team-ia-step-down].
109
+
110
+ ## Are confidentiality and nondisclosure agreements treated like non-competes in South Carolina? {#confidentiality-ndas}
111
+
112
+ **Short answer.** It depends on how broad they are. A genuine confidentiality or invention-assignment clause is not a restraint of trade and is not strictly construed against the employee — but an NDA that operates like a non-compete is judged like one [^milliken-not-restraint][^fay-functional-noncompete].
113
+
114
+ In *Milliken & Co. v. Morin*, the South Carolina Supreme Court held that confidentiality and invention-assignment clauses are not in restraint of trade and should not be strictly construed in favor of the employee [^milliken-not-restraint]. Even so, those agreements are still restrictive covenants whose scope is subject to judicial review for reasonableness [^milliken-reasonableness-review].
115
+
116
+ The line matters because a sweeping NDA can collapse into a functional non-compete. In *Fay v. Total Quality Logistics, LLC*, nondisclosure provisions that had the effect of a covenant not to compete required a reasonable time restriction like any other non-compete [^fay-functional-noncompete]. Because those provisions operated as non-competes with no reasonable time limit, they violated South Carolina public policy [^fay-no-time-limit].
117
+
118
+ > [!CAUTION]
119
+ > **Drafting note.**
120
+ >
121
+ > Do not draft an open-ended NDA that bars an employee from doing similar work indefinitely. If a nondisclosure provision functions as a non-compete, South Carolina courts apply non-compete scrutiny — including a reasonable time limit — and an unlimited duration can void it [^fay-functional-noncompete][^fay-no-time-limit].
122
+
123
+ ## Does South Carolina treat sale-of-business non-competes differently? {#sale-of-business}
124
+
125
+ **Short answer.** Yes. A covenant tied to the sale of a business is scrutinized at a more relaxed level than an employment covenant, so broader restraints may be easier to defend [^palmetto-relaxed-scrutiny].
126
+
127
+ In *Palmetto Mortuary Transport, Inc. v. Knight Systems, Inc.*, the South Carolina Supreme Court applied this relaxed standard to a covenant executed with an asset purchase [^palmetto-relaxed-scrutiny]. Reviewing the restraint under that standard, the court upheld the territorial restriction as reasonable and enforceable [^palmetto-enforced]. The rationale is that a buyer is paying for goodwill, and the seller bargained for the price that the covenant helps protect [^palmetto-relaxed-scrutiny].
128
+
129
+ > [!NOTE]
130
+ > **Practice note.**
131
+ >
132
+ > Do not assume the relaxed sale-of-business standard rescues an ordinary employment non-compete. The looser scrutiny applies because the covenant is part of a business sale; a covenant a worker signs as a condition of employment is still judged under the strict five-factor test [^palmetto-relaxed-scrutiny][^palmetto-enforced].
133
+
134
+ ## Does a South Carolina non-compete toll or extend during breach or litigation? {#tolling-extension}
135
+
136
+ **Short answer.** South Carolina law points against it. In *Stonhard*, the Supreme Court held that extending a covenant's time period beyond its stated expiration would be against public policy, and no South Carolina decision endorses automatic judicial tolling during a breach [^stonhard-no-extension][^q8-team-ia-five-factor-test].
137
+
138
+ The closest authority is *Stonhard, Inc. v. Carolina Flooring Specialists, Inc.*, which reasoned that judicially extending the restrained period would be arbitrary and would let a court disrupt the parties' private right to contract [^stonhard-no-extension]. That reflects the same strict-construction instinct behind South Carolina's no-reformation rule: a court will hold the parties to the period they wrote rather than lengthen it.
139
+
140
+ A contractual tolling clause — language in the agreement that pauses the clock during a breach — is a different question that no surveyed South Carolina case squarely decides. Any such clause still has to satisfy the five-factor reasonableness test, and a clause that converts a fixed restraint into an open-ended one invites the same public-policy objection *Stonhard* raised [^q8-team-ia-five-factor-test].
141
+
142
+ > [!NOTE]
143
+ > **Practice note.**
144
+ >
145
+ > Open question: South Carolina has not clearly decided whether a contractual extension-on-breach clause is enforceable, and *Stonhard* rejects judicially extending a covenant past its stated end date. Draft any tolling provision as a separate, reasonable term tied to the duration of the breach, and do not assume a court will lengthen an expired covenant [^stonhard-no-extension][^q8-team-ia-five-factor-test].
146
+
147
+ ## Are physician and healthcare non-competes enforceable in South Carolina? {#physician-healthcare}
148
+
149
+ **Short answer.** For now, yes, under the same common-law test — South Carolina has no enacted physician-specific ban, though a bill to void physician non-competes passed the House in 2026 and is pending in the Senate [^h4767-physician-bill][^q9-team-ia-five-factor-test].
150
+
151
+ A physician non-compete is currently analyzed under the ordinary five-factor reasonableness test, with the public-interest factor — patient access to care — as a likely pressure point [^q9-team-ia-five-factor-test]. That could change. H.4767, the Physician Noncompete Contract Prohibition Act, would add a new chapter declaring that contracts with physicians containing noncompete clauses are against South Carolina public policy [^h4767-physician-bill]. As of this review the bill had passed the House and received a favorable Senate committee report, but it had not been enacted.
152
+
153
+ The bill is physician-specific — not a general healthcare-worker ban — and it is not an absolute prohibition. It would still let an employer recoup documented relocation, signing, retention, and training costs from a physician who leaves within a set period, and it preserves the employer's ability to protect trade secrets and confidential information; its limits would apply only to contracts or renewals entered on or after its effective date [^h4767-physician-bill].
154
+
155
+ > [!NOTE]
156
+ > **Practice note.**
157
+ >
158
+ > Watch this bill, but do not treat it as law yet. H.4767 has not passed the Senate or been signed, so physician non-competes in South Carolina are still governed by common-law reasonableness; recheck the bill's status before relying on either the current rule or the proposed ban [^h4767-physician-bill][^q9-team-ia-five-factor-test].
159
+
160
+ ## Did the FTC's federal non-compete rule change South Carolina non-compete law? {#federal-ftc-overlay}
161
+
162
+ **Short answer.** No. The FTC's 2024 nationwide Non-Compete Rule was set aside by a federal court before it took effect, so South Carolina non-competes remain governed by South Carolina common law [^ryan-ftc-set-aside].
163
+
164
+ *Ryan LLC v. Federal Trade Commission* held that the FTC lacked statutory authority to issue the rule and that the rule was arbitrary and capricious [^ryan-ftc-unlawful]. The court set the rule aside and held it would not be enforced or take effect [^ryan-ftc-set-aside]. That removes the federal rule as a nationwide overlay but does not make any particular South Carolina covenant enforceable — the common-law reasonableness test still controls.
165
+
166
+ "The Non-Compete Rule, 16 C.F.R. § 910.1–.6, is hereby SET ASIDE and shall not be enforced or otherwise take effect on September 4, 2024, or thereafter."[^ryan-ftc-set-aside]
167
+
168
+ [^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org). Last reviewed 2026-06-03. License: CC BY 4.0. Steven Obiajulu, J.D. is admitted in New York, not South Carolina. This article synthesizes South Carolina primary law and is not legal advice from a South Carolina-admitted attorney. This article is for informational purposes only and does not create an attorney-client relationship.
169
+
170
+ [^team-ia-five-factor-test]: **Team IA, Inc. v. Lucas** — "A covenant not to compete will be upheld only if it is: (1) necessary for the protection of the legitimate interest of the employer; (2) reasonably limited in its operation with respect to time and place; (3) not unduly harsh and oppressive in curtailing the legitimate efforts of the employee to earn a livelihood; (4) reasonable from the standpoint of sound public policy; and (5) supported by valuable consideration." *Team IA, Inc. v. Lucas, 395 S.C. 237, 717 S.E.2d 103 (Ct. App. 2011).* <https://www.courtlistener.com/opinion/2507693/team-ia-inc-v-lucas/#:~:text=A%20covenant%20not%20to%20compete,(5)%20supported%20by%20valuable%20consideration.>
171
+
172
+ [^kerrigan-restraint-of-trade]: **Standard Register Co. v. Kerrigan** — "The reason that contracts against competition are held to be unenforceable unless they meet certain criteria, is that they constitute a restraint upon trade which is against public policy." *Standard Register Co. v. Kerrigan, 238 S.C. 54, 119 S.E.2d 533 (1961).* <https://www.courtlistener.com/opinion/1356432/standard-register-co-v-kerrigan/#:~:text=The%20reason%20that%20contracts%20against,which%20is%20against%20public%20policy.>
173
+
174
+ [^kerrigan-customer-protection]: **Standard Register Co. v. Kerrigan** — "A restrictive covenant, therefore, is reasonable if it is designed to protect the employer against loss of his customers." *Standard Register Co. v. Kerrigan, 238 S.C. 54, 119 S.E.2d 533 (1961).* <https://www.courtlistener.com/opinion/1356432/standard-register-co-v-kerrigan/#:~:text=A%20restrictive%20covenant%2C%20therefore%2C%20is,against%20loss%20of%20his%20customers.>
175
+
176
+ [^oxman-employee-nonsolicit]: **Oxman v. Sherman** — "We construe the first covenant mentioned as restraining appellant from seeking to induce any of respondents' employees to breach their contract of employment and not as preventing him from seeking the services of such employees so long as there is no interference with their contractual relations with respondents." *Oxman v. Sherman, 239 S.C. 218, 122 S.E.2d 559 (1961).* <https://www.courtlistener.com/opinion/1336916/oxman-v-sherman/#:~:text=We%20construe%20the%20first%20covenant,their%20contractual%20relations%20with%20respondents.>
177
+
178
+ [^trade-secrets-act-employee-duty]: **S.C. Code Ann. § 39-8-30** — "Every employee who is informed of or should reasonably have known from the circumstances of the existence of any employer's trade secret has a duty to refrain from using or disclosing the trade secret without the employer's permission independently of and in addition to any written contract of employment, secrecy agreement, noncompete agreement, nondisclosure agreement, or other agreement between the employer and the employee." *S.C. Code Ann. § 39-8-30(B).* <https://www.scstatehouse.gov/code/t39c008.php>
179
+
180
+ [^trade-secrets-act-endures]: **S.C. Code Ann. § 39-8-30** — "A trade secret endures and is protectable and enforceable until it is disclosed or discovered by proper means." *S.C. Code Ann. § 39-8-30(A).* <https://www.scstatehouse.gov/code/t39c008.php>
181
+
182
+ [^vessel-personal-contact]: **Vessel Medical, Inc. v. Elliott** — "Here, Elliott is restricted from soliciting customers with whom he had contact during his last 12 months of employment and such covenants have withstood overbreadth challenges." *Vessel Med., Inc. v. Elliott, No. 6:15-cv-00330-MGL, 2015 U.S. Dist. LEXIS 122436 (D.S.C. Sept. 15, 2015).* <https://www.courtlistener.com/docket/5358739/vessel-medical-inc-v-elliott/#:~:text=Here%2C%20Elliott%20is%20restricted%20from,covenants%20have%20withstood%20overbreadth%20challenges.>
183
+
184
+ [^fournil-ordinary-competition]: **Fournil v. Turbeville Insurance Agency, Inc.** — "An employer is not, however, entitled to enforce an agreement preventing ordinary competition." *Fournil v. Turbeville Ins. Agency, Inc., No. 3:07-cv-03836-JFA (D.S.C. Mar. 2, 2009).* <https://www.courtlistener.com/docket/4822524/fournil-v-turbeville-insurance-agency-inc/#:~:text=An%20employer%20is%20not%2C%20however%2C,an%20agreement%20preventing%20ordinary%20competition.>
185
+
186
+ [^fournil-no-legitimate-interest]: **Fournil v. Turbeville Insurance Agency, Inc.** — "The magistrate found that prohibiting such contacts was not related to any legitimate interest of Turbeville, and this conclusion was well-founded." *Fournil v. Turbeville Ins. Agency, Inc., No. 3:07-cv-03836-JFA (D.S.C. Mar. 2, 2009).* <https://www.courtlistener.com/docket/4822524/fournil-v-turbeville-insurance-agency-inc/#:~:text=The%20magistrate%20found%20that%20prohibiting,and%20this%20conclusion%20was%20well%2Dfounded.>
187
+
188
+ [^poole-separate-consideration]: **Poole v. Incentives Unlimited, Inc.** — "Therefore, we adopt the rule that when a covenant is entered into after the inception of employment, separate consideration, in addition to continued at-will employment, is necessary in order for the covenant to be enforceable." *Poole v. Incentives Unlimited, Inc., 345 S.C. 378, 548 S.E.2d 207 (2001).* <https://www.courtlistener.com/opinion/1328953/poole-v-incentives-unlimited-inc/#:~:text=Therefore%2C%20we%20adopt%20the%20rule,the%20covenant%20to%20be%20enforceable.>
189
+
190
+ [^poole-duties-unchanged]: **Poole v. Incentives Unlimited, Inc.** — "In the instant case, Poole's duties, position, and salary were left unchanged." *Poole v. Incentives Unlimited, Inc., 345 S.C. 378, 548 S.E.2d 207 (2001).* <https://www.courtlistener.com/opinion/1328953/poole-v-incentives-unlimited-inc/#:~:text=In%20the%20instant%20case%2C%20Poole's,and%20salary%20were%20left%20unchanged.>
191
+
192
+ [^kerrigan-territorial-scope]: **Standard Register Co. v. Kerrigan** — "Stated negatively, the territorial scope renders the restraint unreasonable if it covers an area broader than necessary to protect the legitimate interest of the employer." *Standard Register Co. v. Kerrigan, 238 S.C. 54, 119 S.E.2d 533 (1961).* <https://www.courtlistener.com/opinion/1356432/standard-register-co-v-kerrigan/#:~:text=Stated%20negatively%2C%20the%20territorial%20scope,legitimate%20interest%20of%20the%20employer.>
193
+
194
+ [^q4-team-ia-five-factor-test]: **Team IA, Inc. v. Lucas** — "A covenant not to compete will be upheld only if it is: (1) necessary for the protection of the legitimate interest of the employer; (2) reasonably limited in its operation with respect to time and place; (3) not unduly harsh and oppressive in curtailing the legitimate efforts of the employee to earn a livelihood; (4) reasonable from the standpoint of sound public policy; and (5) supported by valuable consideration." *Team IA, Inc. v. Lucas, 395 S.C. 237, 717 S.E.2d 103 (Ct. App. 2011).* <https://www.courtlistener.com/opinion/2507693/team-ia-inc-v-lucas/#:~:text=A%20covenant%20not%20to%20compete,(5)%20supported%20by%20valuable%20consideration.>
195
+
196
+ [^poynter-no-blue-pencil]: **Poynter Investments, Inc. v. Century Builders of Piedmont, Inc.** — "These cases stand for the proposition that, in South Carolina, the restrictions in a non-compete clause cannot be rewritten by a court or limited by the parties' agreement, but must stand or fall on their own terms." *Poynter Invs., Inc. v. Century Builders of Piedmont, Inc., 387 S.C. 583, 694 S.E.2d 15 (2010).* <https://www.courtlistener.com/opinion/1316178/poynter-investments-inc-v-century-builders-of-piedmont-inc/#:~:text=These%20cases%20stand%20for%20the,fall%20on%20their%20own%20terms.>
197
+
198
+ [^stonhard-no-reformation]: **Stonhard, Inc. v. Carolina Flooring Specialists, Inc.** — "We hold, therefore, that the contract may not be reformed or blue-penciled so as to add an entirely new term to which neither of the parties agreed." *Stonhard, Inc. v. Carolina Flooring Specialists, Inc., 366 S.C. 156, 621 S.E.2d 352 (2005).* <https://www.courtlistener.com/opinion/1202971/stonhard-inc-v-carolina-flooring-specialists-inc/#:~:text=We%20hold%2C%20therefore%2C%20that%20the,neither%20of%20the%20parties%20agreed.>
199
+
200
+ [^poynter-rewrite-error]: **Poynter Investments, Inc. v. Century Builders of Piedmont, Inc.** — "We reverse the order which purports to enforce a non-competition agreement on terms other than those agreed upon by the parties." *Poynter Invs., Inc. v. Century Builders of Piedmont, Inc., 387 S.C. 583, 694 S.E.2d 15 (2010).* <https://www.courtlistener.com/opinion/1316178/poynter-investments-inc-v-century-builders-of-piedmont-inc/#:~:text=We%20reverse%20the%20order%20which,agreed%20upon%20by%20the%20parties.>
201
+
202
+ [^team-ia-step-down]: **Team IA, Inc. v. Lucas** — "However, we conclude the alternative territorial restriction contained in the parties' original agreement (South Carolina, North Carolina, Georgia, and Alabama) would remain valid and enforceable to the extent it is not overly broad after further development of the facts." *Team IA, Inc. v. Lucas, 395 S.C. 237, 717 S.E.2d 103 (Ct. App. 2011).* <https://www.courtlistener.com/opinion/2507693/team-ia-inc-v-lucas/#:~:text=However%2C%20we%20conclude%20the%20alternative,further%20development%20of%20the%20facts.>
203
+
204
+ [^milliken-not-restraint]: **Milliken & Co. v. Morin** — "We therefore hold confidentiality and invention assignment clauses are not in restraint of trade and should not be strictly construed in favor of the employee." *Milliken & Co. v. Morin, 399 S.C. 23, 731 S.E.2d 288 (2012).* <https://www.courtlistener.com/opinion/8327160/milliken-co-v-morin/#:~:text=We%20therefore%20hold%20confidentiality%20and,in%20favor%20of%20the%20employee.>
205
+
206
+ [^fay-functional-noncompete]: **Fay v. Total Quality Logistics, LLC** — "Because the nondisclosure provisions had the effect of a covenant not to compete, they required a reasonable time restriction like any other noncompete agreement." *Fay v. Total Quality Logistics, LLC, 419 S.C. 622, 799 S.E.2d 318 (Ct. App. 2017).* <https://www.courtlistener.com/opinion/8328279/fay-v-total-quality-logistics-llc/#:~:text=Because%20the%20nondisclosure%20provisions%20had,like%20any%20other%20noncompete%20agreement.>
207
+
208
+ [^milliken-reasonableness-review]: **Milliken & Co. v. Morin** — "Nevertheless, these agreements are still restrictive covenants and public policy demands their scope be subject to judicial review for reasonableness." *Milliken & Co. v. Morin, 399 S.C. 23, 731 S.E.2d 288 (2012).* <https://www.courtlistener.com/opinion/8327160/milliken-co-v-morin/#:~:text=Nevertheless%2C%20these%20agreements%20are%20still,to%20judicial%20review%20for%20reasonableness.>
209
+
210
+ [^fay-no-time-limit]: **Fay v. Total Quality Logistics, LLC** — "The nondisclosure provisions in paragraphs four and six operated as noncompete provisions with no reasonable time restriction, which violated the public policy of South Carolina." *Fay v. Total Quality Logistics, LLC, 419 S.C. 622, 799 S.E.2d 318 (Ct. App. 2017).* <https://www.courtlistener.com/opinion/8328279/fay-v-total-quality-logistics-llc/#:~:text=The%20nondisclosure%20provisions%20in%20paragraphs,public%20policy%20of%20South%20Carolina.>
211
+
212
+ [^palmetto-relaxed-scrutiny]: **Palmetto Mortuary Transport, Inc. v. Knight Systems, Inc.** — "Non-compete covenants executed in conjunction with the sale of a business should be scrutinized at a more relaxed level than non-compete covenants executed in conjunction with employment contracts." *Palmetto Mortuary Transp., Inc. v. Knight Sys., Inc., 424 S.C. 444, 818 S.E.2d 724 (2018).* <https://www.courtlistener.com/opinion/8399125/palmetto-mortuary-transp-inc-v-knight-sys-inc/#:~:text=Non%2Dcompete%20covenants%20executed%20in%20conjunction,in%20conjunction%20with%20employment%20contracts.>
213
+
214
+ [^palmetto-enforced]: **Palmetto Mortuary Transport, Inc. v. Knight Systems, Inc.** — "We hold the territorial restriction of the non-compete covenant is reasonable and enforceable, and we hold Knight's additional sustaining grounds are without merit." *Palmetto Mortuary Transp., Inc. v. Knight Sys., Inc., 424 S.C. 444, 818 S.E.2d 724 (2018).* <https://www.courtlistener.com/opinion/8399125/palmetto-mortuary-transp-inc-v-knight-sys-inc/#:~:text=We%20hold%20the%20territorial%20restriction,sustaining%20grounds%20are%20without%20merit.>
215
+
216
+ [^stonhard-no-extension]: **Stonhard, Inc. v. Carolina Flooring Specialists, Inc.** — "Accordingly, any extension of the time period would be against public policy, because it would be arbitrary and set precedent allowing a court to disrupt a party's private right to contract." *Stonhard, Inc. v. Carolina Flooring Specialists, Inc., 366 S.C. 156, 621 S.E.2d 352 (2005).* <https://www.courtlistener.com/opinion/1202971/stonhard-inc-v-carolina-flooring-specialists-inc/#:~:text=Accordingly%2C%20any%20extension%20of%20the,party's%20private%20right%20to%20contract.>
217
+
218
+ [^q8-team-ia-five-factor-test]: **Team IA, Inc. v. Lucas** — "A covenant not to compete will be upheld only if it is: (1) necessary for the protection of the legitimate interest of the employer; (2) reasonably limited in its operation with respect to time and place; (3) not unduly harsh and oppressive in curtailing the legitimate efforts of the employee to earn a livelihood; (4) reasonable from the standpoint of sound public policy; and (5) supported by valuable consideration." *Team IA, Inc. v. Lucas, 395 S.C. 237, 717 S.E.2d 103 (Ct. App. 2011).* <https://www.courtlistener.com/opinion/2507693/team-ia-inc-v-lucas/#:~:text=A%20covenant%20not%20to%20compete,(5)%20supported%20by%20valuable%20consideration.>
219
+
220
+ [^h4767-physician-bill]: **H.4767, Physician Noncompete Contract Prohibition Act** — "Contracts with physicians containing noncompete clauses are considered interference with the establishment or maintenance of a patient's choice of physician and are against the public policy of the State of South Carolina." *H.4767, 126th Gen. Assemb., Reg. Sess. (S.C. 2026) (passed House Mar. 26, 2026; favorable Senate committee report May 5, 2026; not enacted).* <https://www.scstatehouse.gov/sess126_2025-2026/prever/4767_20260505.htm>
221
+
222
+ [^q9-team-ia-five-factor-test]: **Team IA, Inc. v. Lucas** — "A covenant not to compete will be upheld only if it is: (1) necessary for the protection of the legitimate interest of the employer; (2) reasonably limited in its operation with respect to time and place; (3) not unduly harsh and oppressive in curtailing the legitimate efforts of the employee to earn a livelihood; (4) reasonable from the standpoint of sound public policy; and (5) supported by valuable consideration." *Team IA, Inc. v. Lucas, 395 S.C. 237, 717 S.E.2d 103 (Ct. App. 2011).* <https://www.courtlistener.com/opinion/2507693/team-ia-inc-v-lucas/#:~:text=A%20covenant%20not%20to%20compete,(5)%20supported%20by%20valuable%20consideration.>
223
+
224
+ [^ryan-ftc-set-aside]: **Ryan LLC v. Federal Trade Commission** — "The Non-Compete Rule, 16 C.F.R. § 910.1–.6, is hereby SET ASIDE and shall not be enforced or otherwise take effect on September 4, 2024, or thereafter." *Ryan LLC v. Fed. Trade Comm'n, 746 F. Supp. 3d 369 (N.D. Tex. 2024).* <https://www.courtlistener.com/opinion/10205745/ryan-llc-v-federal-trade-commission/#:~:text=The%20Non%2DCompete%20Rule%2C%2016%20C.F.R.,September%204%2C%202024%2C%20or%20thereafter.>
225
+
226
+ [^ryan-ftc-unlawful]: **Ryan LLC v. Federal Trade Commission** — "In sum, the Court concludes that the FTC lacks statutory authority to promulgate the Non- Compete Rule, and that the Rule is arbitrary and capricious." *Ryan LLC v. Fed. Trade Comm'n, 746 F. Supp. 3d 369 (N.D. Tex. 2024).* <https://www.courtlistener.com/opinion/10205745/ryan-llc-v-federal-trade-commission/#:~:text=In%20sum%2C%20the%20Court%20concludes%20that,Rule%20is%20arbitrary%20and%20capricious.>