sass 1.43.5 → 1.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/sass.dart.js +36902 -34783
- package/types/compile.d.ts +152 -0
- package/types/exception.d.ts +41 -0
- package/types/importer.d.ts +294 -0
- package/types/index.d.ts +76 -0
- package/types/legacy/exception.d.ts +54 -0
- package/types/legacy/function.d.ts +652 -0
- package/types/legacy/importer.d.ts +168 -0
- package/types/legacy/options.d.ts +642 -0
- package/types/legacy/plugin_this.d.ts +70 -0
- package/types/legacy/render.d.ts +139 -0
- package/types/logger/index.d.ts +94 -0
- package/types/logger/source_location.d.ts +21 -0
- package/types/logger/source_span.d.ts +34 -0
- package/types/options.d.ts +408 -0
- package/types/util/promise_or.d.ts +17 -0
- package/types/value/argument_list.d.ts +47 -0
- package/types/value/boolean.d.ts +29 -0
- package/types/value/color.d.ts +107 -0
- package/types/value/function.d.ts +22 -0
- package/types/value/index.d.ts +173 -0
- package/types/value/list.d.ts +54 -0
- package/types/value/map.d.ts +41 -0
- package/types/value/number.d.ts +305 -0
- package/types/value/string.d.ts +84 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import {LegacyPluginThis} from './plugin_this';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The value of `this` in the context of a [[LegacyImporter]] function.
|
|
5
|
+
*
|
|
6
|
+
* @category Legacy
|
|
7
|
+
* @deprecated This is only used by the legacy [[render]] and [[renderSync]]
|
|
8
|
+
* APIs. Use [[Importer]] with [[compile]], [[compileString]], [[compileAsync]],
|
|
9
|
+
* and [[compileStringAsync]] instead.
|
|
10
|
+
*/
|
|
11
|
+
interface LegacyImporterThis extends LegacyPluginThis {
|
|
12
|
+
/**
|
|
13
|
+
* Whether the importer is being invoked because of a Sass `@import` rule, as
|
|
14
|
+
* opposed to a `@use` or `@forward` rule.
|
|
15
|
+
*
|
|
16
|
+
* This should *only* be used for determining whether or not to load
|
|
17
|
+
* [import-only files](https://sass-lang.com/documentation/at-rules/import#import-only-files).
|
|
18
|
+
*
|
|
19
|
+
* @compatibility dart: "1.33.0", node: false
|
|
20
|
+
*/
|
|
21
|
+
fromImport: boolean;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The result of running a [[LegacyImporter]]. It must be one of the following
|
|
26
|
+
* types:
|
|
27
|
+
*
|
|
28
|
+
* * An object with the key `contents` whose value is the contents of a stylesheet
|
|
29
|
+
* (in SCSS syntax). This causes Sass to load that stylesheet’s contents.
|
|
30
|
+
*
|
|
31
|
+
* * An object with the key `file` whose value is a path on disk. This causes Sass
|
|
32
|
+
* to load that file as though it had been imported directly.
|
|
33
|
+
*
|
|
34
|
+
* * `null`, which indicates that it doesn’t recognize the URL and another
|
|
35
|
+
* importer should be tried instead.
|
|
36
|
+
*
|
|
37
|
+
* * An [Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error)
|
|
38
|
+
* object, indicating that importing failed.
|
|
39
|
+
*
|
|
40
|
+
* @category Legacy
|
|
41
|
+
* @deprecated This only works with the legacy [[render]] and [[renderSync]]
|
|
42
|
+
* APIs. Use [[ImporterResult]] with [[compile]], [[compileString]],
|
|
43
|
+
* [[compileAsync]], and [[compileStringAsync]] instead.
|
|
44
|
+
*/
|
|
45
|
+
export type LegacyImporterResult =
|
|
46
|
+
| {file: string}
|
|
47
|
+
| {contents: string}
|
|
48
|
+
| Error
|
|
49
|
+
| null;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* A synchronous callback that implements custom Sass loading logic for
|
|
53
|
+
* [`@import` rules](https://sass-lang.com/documentation/at-rules/import) and
|
|
54
|
+
* [`@use` rules](https://sass-lang.com/documentation/at-rules/use). This can be
|
|
55
|
+
* passed to [[LegacySharedOptions.importer]] for either [[render]] or
|
|
56
|
+
* [[renderSync]].
|
|
57
|
+
*
|
|
58
|
+
* See [[LegacySharedOptions.importer]] for more detailed documentation.
|
|
59
|
+
*
|
|
60
|
+
* ```js
|
|
61
|
+
* sass.renderSync({
|
|
62
|
+
* file: "style.scss",
|
|
63
|
+
* importer: [
|
|
64
|
+
* function(url, prev) {
|
|
65
|
+
* if (url != "big-headers") return null;
|
|
66
|
+
*
|
|
67
|
+
* return {
|
|
68
|
+
* contents: 'h1 { font-size: 40px; }'
|
|
69
|
+
* };
|
|
70
|
+
* }
|
|
71
|
+
* ]
|
|
72
|
+
* });
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* @param url - The `@use` or `@import` rule’s URL as a string, exactly as it
|
|
76
|
+
* appears in the stylesheet.
|
|
77
|
+
*
|
|
78
|
+
* @param prev - A string identifying the stylesheet that contained the `@use`
|
|
79
|
+
* or `@import`. This string’s format depends on how that stylesheet was loaded:
|
|
80
|
+
*
|
|
81
|
+
* * If the stylesheet was loaded from the filesystem, it’s the absolute path of
|
|
82
|
+
* its file.
|
|
83
|
+
* * If the stylesheet was loaded from an importer that returned its contents,
|
|
84
|
+
* it’s the URL of the `@use` or `@import` rule that loaded it.
|
|
85
|
+
* * If the stylesheet came from the data option, it’s the string "stdin".
|
|
86
|
+
*
|
|
87
|
+
* @category Legacy
|
|
88
|
+
* @deprecated This only works with the legacy [[render]] and [[renderSync]]
|
|
89
|
+
* APIs. Use [[Importer]] with [[compile]], [[compileString]], [[compileAsync]],
|
|
90
|
+
* and [[compileStringAsync]] instead.
|
|
91
|
+
*/
|
|
92
|
+
type LegacySyncImporter = (
|
|
93
|
+
this: LegacyImporterThis,
|
|
94
|
+
url: string,
|
|
95
|
+
prev: string
|
|
96
|
+
) => LegacyImporterResult;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* An asynchronous callback that implements custom Sass loading logic for
|
|
100
|
+
* [`@import` rules](https://sass-lang.com/documentation/at-rules/import) and
|
|
101
|
+
* [`@use` rules](https://sass-lang.com/documentation/at-rules/use). This can be
|
|
102
|
+
* passed to [[LegacySharedOptions.importer]] for either [[render]] or
|
|
103
|
+
* [[renderSync]].
|
|
104
|
+
*
|
|
105
|
+
* An asynchronous importer must return `undefined`, and then call `done` with
|
|
106
|
+
* the result of its [[LegacyImporterResult]] once it's done running.
|
|
107
|
+
*
|
|
108
|
+
* See [[LegacySharedOptions.importer]] for more detailed documentation.
|
|
109
|
+
*
|
|
110
|
+
* ```js
|
|
111
|
+
* sass.render({
|
|
112
|
+
* file: "style.scss",
|
|
113
|
+
* importer: [
|
|
114
|
+
* function(url, prev, done) {
|
|
115
|
+
* if (url != "big-headers") done(null);
|
|
116
|
+
*
|
|
117
|
+
* done({
|
|
118
|
+
* contents: 'h1 { font-size: 40px; }'
|
|
119
|
+
* });
|
|
120
|
+
* }
|
|
121
|
+
* ]
|
|
122
|
+
* });
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
* @param url - The `@use` or `@import` rule’s URL as a string, exactly as it
|
|
126
|
+
* appears in the stylesheet.
|
|
127
|
+
*
|
|
128
|
+
* @param prev - A string identifying the stylesheet that contained the `@use`
|
|
129
|
+
* or `@import`. This string’s format depends on how that stylesheet was loaded:
|
|
130
|
+
*
|
|
131
|
+
* * If the stylesheet was loaded from the filesystem, it’s the absolute path of
|
|
132
|
+
* its file.
|
|
133
|
+
* * If the stylesheet was loaded from an importer that returned its contents,
|
|
134
|
+
* it’s the URL of the `@use` or `@import` rule that loaded it.
|
|
135
|
+
* * If the stylesheet came from the data option, it’s the string "stdin".
|
|
136
|
+
*
|
|
137
|
+
* @param done - The callback to call once the importer has finished running.
|
|
138
|
+
*
|
|
139
|
+
* @category Legacy
|
|
140
|
+
* @deprecated This only works with the legacy [[render]] and [[renderSync]]
|
|
141
|
+
* APIs. Use [[Importer]] with [[compile]], [[compileString]], [[compileAsync]],
|
|
142
|
+
* and [[compileStringAsync]] instead.
|
|
143
|
+
*/
|
|
144
|
+
type LegacyAsyncImporter = (
|
|
145
|
+
this: LegacyImporterThis,
|
|
146
|
+
url: string,
|
|
147
|
+
prev: string,
|
|
148
|
+
done: (result: LegacyImporterResult) => void
|
|
149
|
+
) => void;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* A callback that implements custom Sass loading logic for [`@import`
|
|
153
|
+
* rules](https://sass-lang.com/documentation/at-rules/import) and [`@use`
|
|
154
|
+
* rules](https://sass-lang.com/documentation/at-rules/use). For [[renderSync]],
|
|
155
|
+
* this must be a [[LegacySyncImporter]] which returns its result directly; for
|
|
156
|
+
* [[render]], it may be either a [[LegacySyncImporter]] or a
|
|
157
|
+
* [[LegacyAsyncImporter]] which calls a callback with its result.
|
|
158
|
+
*
|
|
159
|
+
* See [[LegacySharedOptions.importer]] for more details.
|
|
160
|
+
*
|
|
161
|
+
* @category Legacy
|
|
162
|
+
* @deprecated This only works with the legacy [[render]] and [[renderSync]]
|
|
163
|
+
* APIs. Use [[Importer]] with [[compile]], [[compileString]], [[compileAsync]],
|
|
164
|
+
* and [[compileStringAsync]] instead.
|
|
165
|
+
*/
|
|
166
|
+
export type LegacyImporter<sync = 'sync' | 'async'> = sync extends 'async'
|
|
167
|
+
? LegacySyncImporter | LegacyAsyncImporter
|
|
168
|
+
: LegacySyncImporter;
|