crumb-widget 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -10
- package/dist/module.d.ts +22 -59
- package/dist/module.js +2531 -1922
- package/package.json +8 -30
package/README.md
CHANGED
|
@@ -1,33 +1,85 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="
|
|
2
|
+
<img src="docs/crumb-logo.svg" alt="Crumb Widget logo" width="128" height="128">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<h1 align="center">Crumb Widget</h1>
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://github.com/bmlt-enabled/crumb-widget/actions/workflows/test.yml"><img src="https://github.com/bmlt-enabled/crumb-widget/actions/workflows/test.yml/badge.svg" alt="test"></a>
|
|
9
|
+
<a href="https://codecov.io/gh/bmlt-enabled/crumb-widget"><img src="https://codecov.io/gh/bmlt-enabled/crumb-widget/graph/badge.svg" alt="codecov"></a>
|
|
10
|
+
<a href="https://www.npmjs.com/package/crumb-widget"><img src="https://img.shields.io/npm/v/crumb-widget" alt="npm"></a>
|
|
11
|
+
<a href="https://crumb.bmlt.app/"><img src="https://img.shields.io/badge/docs-crumb.bmlt.app-blue" alt="docs"></a>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
<p align="center">
|
|
15
|
+
🌐 English | <a href="docs/intl/README.es.md">Español</a> | <a href="docs/intl/README.pt-BR.md">Português (Brasil)</a> | <a href="docs/intl/README.fr.md">Français</a> | <a href="docs/intl/README.de.md">Deutsch</a> | <a href="docs/intl/README.it.md">Italiano</a> | <a href="docs/intl/README.sv.md">Svenska</a> | <a href="docs/intl/README.da.md">Dansk</a> | <a href="docs/intl/README.pl.md">Polski</a> | <a href="docs/intl/README.el.md">Ελληνικά</a> | <a href="docs/intl/README.ru.md">Русский</a> | <a href="docs/intl/README.ja.md">日本語</a> | <a href="docs/intl/README.fa.md">فارسی</a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<p align="center">
|
|
19
|
+
<strong>👉 Live demo:</strong> <a href="https://crumb.bmlt.app/meetings.html">crumb.bmlt.app/meetings.html</a>
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<img src="docs/screenshot-carousel.gif" alt="Crumb Widget — list, map, and meeting detail views" width="550">
|
|
24
|
+
</p>
|
|
25
|
+
|
|
26
|
+
An embeddable NA meeting finder widget. Built with Svelte 5, distributed as a single self-contained JavaScript file. Available as a [WordPress plugin](https://wordpress.org/plugins/crumb/), [Drupal module](https://github.com/bmlt-enabled/crumb-drupal), [Joomla extension](https://github.com/bmlt-enabled/crumb-joomla), [CDN script](https://cdn.aws.bmlt.app/crumb-widget.js), or [npm package](https://www.npmjs.com/package/crumb-widget).
|
|
27
|
+
|
|
28
|
+
## Which version should I use?
|
|
11
29
|
|
|
12
|
-
|
|
30
|
+
| Your site | Use this |
|
|
31
|
+
|-------------------------------------------------------|--------------------------------------------------------------------------|
|
|
32
|
+
| **WordPress** | [WordPress plugin](https://wordpress.org/plugins/crumb/) |
|
|
33
|
+
| **Drupal** 10.3+ or 11 | [Drupal module](https://github.com/bmlt-enabled/crumb-drupal) |
|
|
34
|
+
| **Joomla** 4, 5, or 6 | [Joomla extension](https://github.com/bmlt-enabled/crumb-joomla) |
|
|
35
|
+
| **Wix, Squarespace, Google Sites, or plain HTML** | Paste the [CDN snippet](#quick-start) into a code block |
|
|
36
|
+
| **A JS/TS app** (React, Svelte, Vue, Vite, etc.) | `npm install crumb-widget` ([docs](https://crumb.bmlt.app/#npm-package)) |
|
|
13
37
|
|
|
14
38
|
## Features
|
|
15
39
|
|
|
16
40
|
- List and map views with real-time search and filters
|
|
17
41
|
- Meeting detail with directions, virtual join link, and formats
|
|
18
|
-
- Geolocation-based nearby search
|
|
42
|
+
- Geolocation-based nearby search, plus typed location search by city, postal code, or address
|
|
19
43
|
- Individual meeting links via built-in router
|
|
20
|
-
-
|
|
44
|
+
- 13 built-in languages (English, Español, Português (Brasil), Français, Deutsch, Italiano, Svenska, Dansk, Polski, Ελληνικά, Русский, 日本語, فارسی — including RTL layout for Persian)
|
|
21
45
|
- Configurable columns, map tiles, and custom markers
|
|
46
|
+
- Optional "Update Meeting Info" link on each meeting detail — point at a [bmlt-workflow](https://github.com/bmlt-enabled/bmlt-workflow) form, any custom form, or a `mailto:` URL ([docs](https://crumb.bmlt.app/#update-url))
|
|
22
47
|
- Printer-friendly list view
|
|
23
48
|
|
|
24
49
|
## Quick Start
|
|
25
50
|
|
|
51
|
+
**What you'll need:**
|
|
52
|
+
|
|
53
|
+
1. Your **BMLT server URL** — usually something like `https://bmlt.example.org/main_server/`. Ask your service body's webservant if you don't have it.
|
|
54
|
+
2. (Optional) A **service body ID** to filter to a specific area or region. [How to find it →](https://crumb.bmlt.app/#find-service-body)
|
|
55
|
+
|
|
56
|
+
**Minimum viable embed** (paste into any HTML page, Squarespace code block, Wix HTML embed, etc.):
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<div id="crumb-widget" data-server="https://myserver.com/main_server/"></div>
|
|
60
|
+
<script type="module" src="https://cdn.aws.bmlt.app/crumb-widget.js"></script>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Filter to a single service body:**
|
|
64
|
+
|
|
26
65
|
```html
|
|
27
|
-
<div id="crumb-widget"
|
|
66
|
+
<div id="crumb-widget"
|
|
67
|
+
data-server="https://myserver.com/main_server/"
|
|
68
|
+
data-service-body="3"
|
|
69
|
+
></div>
|
|
28
70
|
<script type="module" src="https://cdn.aws.bmlt.app/crumb-widget.js"></script>
|
|
29
71
|
```
|
|
30
72
|
|
|
73
|
+
## Documentation
|
|
74
|
+
|
|
75
|
+
Check out the full Crumb documentation — including configuration options, examples, and a getting started guide at **[crumb.bmlt.app](https://crumb.bmlt.app/)**.
|
|
76
|
+
|
|
77
|
+
## Need help?
|
|
78
|
+
|
|
79
|
+
- 🐛 **Bug or feature request:** open an issue on [GitHub](https://github.com/bmlt-enabled/crumb-widget/issues)
|
|
80
|
+
- 📧 **Email:** [help@bmlt.app](mailto:help@bmlt.app)
|
|
81
|
+
- 💬 **Community:** the [BMLT Facebook group](https://www.facebook.com/groups/bmltapp/)
|
|
82
|
+
|
|
31
83
|
## License
|
|
32
84
|
|
|
33
85
|
MIT
|
package/dist/module.d.ts
CHANGED
|
@@ -1,59 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
declare interface MarkerConfig {
|
|
27
|
-
html: string;
|
|
28
|
-
width: number;
|
|
29
|
-
height: number;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Mount the Crumb Widget into the given element.
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```ts
|
|
37
|
-
* import { mountCrumbWidget } from 'crumb-widget';
|
|
38
|
-
*
|
|
39
|
-
* mountCrumbWidget(document.getElementById('my-widget'), {
|
|
40
|
-
* serverUrl: 'https://bmlt.example.org/main_server/',
|
|
41
|
-
* serviceBodyIds: [1, 2, 3],
|
|
42
|
-
* });
|
|
43
|
-
* ```
|
|
44
|
-
*/
|
|
45
|
-
export declare function mountCrumbWidget(el: HTMLElement, options: MountOptions): void;
|
|
46
|
-
|
|
47
|
-
export declare interface MountOptions extends CrumbWidgetConfig {
|
|
48
|
-
/** URL of the BMLT server (required) */
|
|
49
|
-
serverUrl: string;
|
|
50
|
-
/** Service body IDs to filter by (defaults to all) */
|
|
51
|
-
serviceBodyIds?: number[];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
declare interface TilesConfig {
|
|
55
|
-
url: string;
|
|
56
|
-
attribution: string;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export { }
|
|
1
|
+
import { CrumbWidgetConfig, Column } from './types';
|
|
2
|
+
export type { CrumbWidgetConfig, Column };
|
|
3
|
+
export interface MountOptions extends CrumbWidgetConfig {
|
|
4
|
+
/** URL of the BMLT server (required) */
|
|
5
|
+
serverUrl: string;
|
|
6
|
+
/** Service body IDs to filter by (defaults to all) */
|
|
7
|
+
serviceBodyIds?: number[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Mount the Crumb Widget into the given element.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { mountCrumbWidget } from 'crumb-widget';
|
|
15
|
+
*
|
|
16
|
+
* mountCrumbWidget(document.getElementById('my-widget'), {
|
|
17
|
+
* serverUrl: 'https://bmlt.example.org/main_server/',
|
|
18
|
+
* serviceBodyIds: [1, 2, 3],
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function mountCrumbWidget(el: HTMLElement, options: MountOptions): void;
|