@polyipseity/obsidian-plugin-library 1.26.0 → 1.27.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/dist/index.js +114 -100
- package/dist/index.js.map +3 -3
- package/dist/sources/@types/obsidian.d.ts.map +1 -1
- package/dist/sources/components/find.d.svelte.ts +21 -0
- package/dist/sources/components/find.svelte +79 -44
- package/dist/sources/components/index.d.ts +2 -1
- package/dist/sources/components/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obsidian.d.ts","sourceRoot":"","sources":["../../../sources/@types/obsidian.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"obsidian.d.ts","sourceRoot":"","sources":["../../../sources/@types/obsidian.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Direction, Params } from "./find.ts"
|
|
2
|
+
import type { Component } from "svelte"
|
|
3
|
+
import type { DeepWritable } from "ts-essentials"
|
|
4
|
+
import type { t as i18nt } from "i18next"
|
|
5
|
+
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
7
|
+
declare const FindComponent: Component<{
|
|
8
|
+
readonly i18n?: typeof i18nt,
|
|
9
|
+
readonly params?: Params
|
|
10
|
+
readonly onClose?: () => unknown
|
|
11
|
+
readonly onFind?: (direction: Direction, params: Params) => unknown
|
|
12
|
+
readonly onParamsChanged?: (params: Params) => unknown
|
|
13
|
+
readonly results?: string
|
|
14
|
+
}, {
|
|
15
|
+
readonly setI18n: (i18n: typeof i18nt) => void
|
|
16
|
+
readonly getParamsRef: () => DeepWritable<Params>
|
|
17
|
+
readonly setResults: (results: string) => void
|
|
18
|
+
readonly focus: () => void
|
|
19
|
+
readonly blur: () => void
|
|
20
|
+
}>
|
|
21
|
+
export default FindComponent
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<svelte:options
|
|
1
|
+
<svelte:options />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script module lang="typescript">
|
|
4
4
|
import type { Direction, Params } from "./find.js"
|
|
5
|
-
import { consumeEvent, getKeyModifiers } from "../util.js"
|
|
5
|
+
import { cloneAsWritable, consumeEvent, getKeyModifiers } from "../util.js"
|
|
6
6
|
import type { DeepWritable } from "ts-essentials"
|
|
7
7
|
import { t as i18nt } from "i18next"
|
|
8
8
|
import { isEmpty } from "lodash-es"
|
|
@@ -11,17 +11,44 @@
|
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
13
|
<script lang="typescript">
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
const {
|
|
15
|
+
i18n = i18nt,
|
|
16
|
+
params = {
|
|
17
|
+
caseSensitive: false,
|
|
18
|
+
findText: "",
|
|
19
|
+
regex: false,
|
|
20
|
+
wholeWord: false,
|
|
21
|
+
},
|
|
22
|
+
onClose = () => {},
|
|
23
|
+
onFind = (_direction, _params) => {},
|
|
24
|
+
onParamsChanged = (_params) => {},
|
|
25
|
+
results = "",
|
|
26
|
+
}: {
|
|
27
|
+
readonly i18n?: typeof i18nt;
|
|
28
|
+
readonly params?: Params;
|
|
29
|
+
readonly onClose?: () => unknown;
|
|
30
|
+
readonly onFind?: (direction: Direction, params: Params) => unknown;
|
|
31
|
+
readonly onParamsChanged?: (params: Params) => unknown;
|
|
32
|
+
readonly results?: string;
|
|
33
|
+
} = $props()
|
|
34
|
+
|
|
35
|
+
let stateI18n = $state.raw(i18n)
|
|
36
|
+
const stateParams = $state(cloneAsWritable(params))
|
|
37
|
+
let stateResults = $state.raw(results)
|
|
38
|
+
|
|
39
|
+
$effect(() => {
|
|
40
|
+
onParamsChanged(stateParams)
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
export function setI18n(i18n0: typeof i18nt): void {
|
|
44
|
+
stateI18n = i18n0
|
|
45
|
+
}
|
|
46
|
+
export function getParamsRef(): DeepWritable<Params> {
|
|
47
|
+
return stateParams
|
|
48
|
+
}
|
|
49
|
+
export function setResults(results0: string): void {
|
|
50
|
+
stateResults = results0
|
|
20
51
|
}
|
|
21
|
-
export let onClose = (): void => {}
|
|
22
|
-
export let onFind = (_direction: Direction, _params: Params): void => {}
|
|
23
|
-
export let onParamsChanged = (_params: Params): void => {}
|
|
24
|
-
export let results = ""
|
|
25
52
|
|
|
26
53
|
let inputElement: HTMLElement | null = null
|
|
27
54
|
export function focus(): void {
|
|
@@ -30,8 +57,6 @@
|
|
|
30
57
|
export function blur(): void {
|
|
31
58
|
inputElement?.blur()
|
|
32
59
|
}
|
|
33
|
-
|
|
34
|
-
$: onParamsChanged(params)
|
|
35
60
|
</script>
|
|
36
61
|
|
|
37
62
|
<div class="document-search-container" transition:slide role="search">
|
|
@@ -39,39 +64,44 @@
|
|
|
39
64
|
<div class="document-search-buttons">
|
|
40
65
|
<button
|
|
41
66
|
class={`document-search-button${
|
|
42
|
-
|
|
67
|
+
stateParams.caseSensitive ? " mod-cta" : ""
|
|
43
68
|
}`}
|
|
44
|
-
aria-label={
|
|
45
|
-
|
|
46
|
-
|
|
69
|
+
aria-label={stateI18n("components.find.case-sensitive")}
|
|
70
|
+
onclick={(event) => {
|
|
71
|
+
stateParams.caseSensitive = !stateParams.caseSensitive
|
|
72
|
+
consumeEvent(event)
|
|
47
73
|
}}
|
|
48
|
-
use:setIcon={
|
|
74
|
+
use:setIcon={stateI18n("asset:components.find.case-sensitive-icon")}
|
|
49
75
|
></button>
|
|
50
76
|
<button
|
|
51
|
-
class={`document-search-button${
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
77
|
+
class={`document-search-button${stateParams.wholeWord
|
|
78
|
+
? " mod-cta"
|
|
79
|
+
: ""}`}
|
|
80
|
+
aria-label={stateI18n("components.find.whole-word")}
|
|
81
|
+
onclick={(event) => {
|
|
82
|
+
stateParams.wholeWord = !stateParams.wholeWord
|
|
83
|
+
consumeEvent(event)
|
|
55
84
|
}}
|
|
56
|
-
use:setIcon={
|
|
85
|
+
use:setIcon={stateI18n("asset:components.find.whole-word-icon")}
|
|
57
86
|
></button>
|
|
58
87
|
<button
|
|
59
|
-
class={`document-search-button${
|
|
60
|
-
aria-label={
|
|
61
|
-
|
|
62
|
-
|
|
88
|
+
class={`document-search-button${stateParams.regex ? " mod-cta" : ""}`}
|
|
89
|
+
aria-label={stateI18n("components.find.regex")}
|
|
90
|
+
onclick={(event) => {
|
|
91
|
+
stateParams.regex = !stateParams.regex
|
|
92
|
+
consumeEvent(event)
|
|
63
93
|
}}
|
|
64
|
-
use:setIcon={
|
|
94
|
+
use:setIcon={stateI18n("asset:components.find.regex-icon")}
|
|
65
95
|
></button>
|
|
66
96
|
</div>
|
|
67
97
|
<input
|
|
68
98
|
class="document-search-input"
|
|
69
99
|
type="text"
|
|
70
|
-
placeholder={
|
|
100
|
+
placeholder={stateI18n("components.find.input-placeholder")}
|
|
71
101
|
role="searchbox"
|
|
72
|
-
bind:value={
|
|
102
|
+
bind:value={stateParams.findText}
|
|
73
103
|
bind:this={inputElement}
|
|
74
|
-
|
|
104
|
+
onkeydown={(event) => {
|
|
75
105
|
if (event.key === "Escape" && isEmpty(getKeyModifiers(event))) {
|
|
76
106
|
onClose()
|
|
77
107
|
consumeEvent(event)
|
|
@@ -81,25 +111,30 @@
|
|
|
81
111
|
<div class="document-search-buttons">
|
|
82
112
|
<button
|
|
83
113
|
class="document-search-button"
|
|
84
|
-
aria-label={
|
|
85
|
-
|
|
86
|
-
onFind("previous",
|
|
114
|
+
aria-label={stateI18n("components.find.previous")}
|
|
115
|
+
onclick={(event) => {
|
|
116
|
+
onFind("previous", stateParams)
|
|
117
|
+
consumeEvent(event)
|
|
87
118
|
}}
|
|
88
|
-
use:setIcon={
|
|
119
|
+
use:setIcon={stateI18n("asset:components.find.previous-icon")}
|
|
89
120
|
></button>
|
|
90
121
|
<button
|
|
91
122
|
class="document-search-button"
|
|
92
|
-
aria-label={
|
|
93
|
-
|
|
94
|
-
onFind("next",
|
|
123
|
+
aria-label={stateI18n("components.find.next")}
|
|
124
|
+
onclick={(event) => {
|
|
125
|
+
onFind("next", stateParams)
|
|
126
|
+
consumeEvent(event)
|
|
95
127
|
}}
|
|
96
|
-
use:setIcon={
|
|
128
|
+
use:setIcon={stateI18n("asset:components.find.next-icon")}
|
|
97
129
|
></button>
|
|
98
|
-
<div class="document-search-results">{
|
|
130
|
+
<div class="document-search-results">{stateResults}</div>
|
|
99
131
|
<button
|
|
100
132
|
class="document-search-close-button"
|
|
101
|
-
aria-label={
|
|
102
|
-
|
|
133
|
+
aria-label={stateI18n("components.find.close")}
|
|
134
|
+
onclick={(event) => {
|
|
135
|
+
onClose()
|
|
136
|
+
consumeEvent(event)
|
|
137
|
+
}}
|
|
103
138
|
></button>
|
|
104
139
|
</div>
|
|
105
140
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sources/components/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sources/components/index.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,cAAc,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,CAAA"}
|