unicon 1.1.0 → 3.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2476e96d0d2f6b3d1eccf22b2062a1acb7c24436c09cf02b2409d015f1cc196c
4
- data.tar.gz: 42f879ee1cf7b6c665b8855ea6da0e21b6afdf34dcf83483d477e2f83b43b1fd
3
+ metadata.gz: 5185fcb53bddca22d825b21bc104ef84c7a438044b5e13dd571f0d357a0aa7c7
4
+ data.tar.gz: 5c4e850fc0c106120f7ed1d43d68691ef2d641b2640e9fc2c912ea8bba07b7e1
5
5
  SHA512:
6
- metadata.gz: 78f10b04df03bb4510e7b22a9395ca44424c5ee49c94fa5c22196e5c53b6f04fdaa0fa3d7b22b7e97d1f6dab4ece00a07bf622c772941cc14aeaec688c265a8b
7
- data.tar.gz: f6a3e21b3a42e632125ba5147ea956e09c48d2278a24a7423b794e74a9c850b92f7c13805b5c25e6f463de06099e9728627cdc00270dffb68cec6b0bf3f13867
6
+ metadata.gz: db39458a183eb6216358f66309846a53bba59a9b85d632abce1ea113beff48e179b0754df027f789756fcaf62f4127efbe0603990faca4588cb377965644453e
7
+ data.tar.gz: ae9ef7a68bf906abfeaeba957c050c0fdbec33be4118e75841cb70de6b3444afbc488bfcb7f3102ffccc83afc7293d025db75f7d48365cea82c12d0f95582651
data/CHANGELOG.md CHANGED
@@ -3,6 +3,34 @@
3
3
  Every entry says whether it is a fix, a feature or a breaking change, since that is
4
4
  what decides both whether a reader can take it and what the next version number is.
5
5
 
6
+ ## [3.0.0] - 2026-08-15
7
+
8
+ - **Breaking.** `Unicon.actions` is documented as the doing words, but a third of it
9
+ named pictures instead: a caller asking for `:trash` was naming the bin rather than
10
+ the deletion. Thirteen now read as the deed — `plus` is `add`, `minus` `subtract`,
11
+ `check` `confirm`, `pencil` `edit`, `trash` `delete`, `scissors` `cut`, `person_add`
12
+ `add_member`, `person_remove` `remove_member`, `ellipsis` `truncate`, `menu`
13
+ `open_menu`, `sidebar` `toggle_sidebar`, `printer` `print`, and `eye_slash` `hide`.
14
+ - **Breaking.** The eight directional names take verbs too, and deliberately different
15
+ ones, so the two pictures stay apart by their names alone. Every chevron is a `move`:
16
+ `chevron_up` is `move_up`, and the same for down, left and right. Every arrow is a
17
+ `point`: `arrow_up` is `point_up`, and the same three again.
18
+ - `power` is the one name left in `ACTIONS` that is a thing rather than a deed. It is
19
+ drawn the same whether it turns something on or off, so a verb would assert a
20
+ direction the picture does not.
21
+ - Nothing else moved. No alias pointed at a renamed name, so `:export`, `:import`,
22
+ `:sync` and `:subscription` still borrow the download, the upload, the refresh and
23
+ the repeat, and 306 names resolve as before, 135 of them aliases.
24
+
25
+ ## [2.0.0] - 2026-08-15
26
+
27
+ - **Breaking.** `:brand` and `:franchise` were both `:building` aliases, so a sidebar
28
+ told them apart by nothing. Each now draws its own picture: a brand is its mark —
29
+ `c-circle` / `c.circle` / `copyright` — and a franchise its premises, `building` /
30
+ `building.2` / `corporate_fare`. Anyone reading either name gets new artwork.
31
+ - **Feature.** `:sector` resolves to `:pie_chart`: a sector is a slice of the whole.
32
+ 306 names now resolve, 135 of them aliases.
33
+
6
34
  ## [1.1.0] - 2026-08-14
7
35
 
8
36
  - **Feature.** `:post` resolves to `:document`, beside `:page` and `:form`: a post is
data/README.md CHANGED
@@ -22,11 +22,18 @@ The keys are symbols and the names are frozen strings: a name is on its way into
22
22
  `"bi bi-#{icon}"` or into JSON either way, and `person.crop.circle` is a string long
23
23
  before it is a symbol.
24
24
 
25
- ## Installation
25
+ ## How to install
26
26
 
27
- ```ruby
28
- gem 'unicon'
29
- ```
27
+ To install on your system, run
28
+
29
+ gem install unicon
30
+
31
+ To use inside a bundled Ruby project, add this line to the Gemfile:
32
+
33
+ gem 'unicon', '~> 3.0'
34
+
35
+ Since the gem follows [Semantic Versioning](http://semver.org), indicating `~> *major*.*minor*`
36
+ guarantees your project won’t occur in breaking changes whenever you `bundle update`.
30
37
 
31
38
  ## The three keys
32
39
 
@@ -56,9 +63,9 @@ blank. A concept may be given as a string, so `Unicon['contact']` works too.
56
63
  ## Three lists, and which one you want
57
64
 
58
65
  ```ruby
59
- Unicon.icons # => [:account, :airplane, :alarm, :archive, :award, :badge, ...] 127
60
- Unicon.names # => [:account, :address, :agent, :airplane, :alarm, :alert, ...] 303
61
- Unicon.actions # => [:arrow_down, :arrow_left, :arrow_right, :arrow_up, ...] 42
66
+ Unicon.icons # => [:account, :airplane, :alarm, :archive, :award, :badge, ...] 129
67
+ Unicon.names # => [:account, :add, :add_member, :address, :agent, ...] 306
68
+ Unicon.actions # => [:add, :add_member, :close, :confirm, ...] 42
62
69
  ```
63
70
 
64
71
  - `Unicon.icons` is **one name per distinct picture**. No two entries draw the same
@@ -66,9 +73,12 @@ Unicon.actions # => [:arrow_down, :arrow_left, :arrow_right, :arrow_up, ...]
66
73
  - `Unicon.names` is **the union of all three groups** — the icons, the actions and the
67
74
  model synonyms — and so every name that resolves. Ask for it to find out whether a
68
75
  name draws something; ask for `icons` when somebody is choosing one.
69
- - `Unicon.actions` is **the doing words**: `close`, `pencil`, every chevron. A toolbar
76
+ - `Unicon.actions` is **the doing words**: `close`, `edit`, every `move`. A toolbar
70
77
  needs them and `Unicon[:close]` answers, but nobody has a Close model, so `icons`
71
- leaves them out on purpose.
78
+ leaves them out on purpose. Each names the deed rather than the picture of it — `add`
79
+ rather than `plus`, `delete` rather than `trash` — bar `power`, which is drawn the same
80
+ whether it turns something on or off. The four chevrons are `move_up` and its three
81
+ directions, the four arrows `point_up` and its three, so the families stay apart.
72
82
 
73
83
  All three are frozen, sorted arrays of symbols; only what `fetch` returns is strings.
74
84
  `Unicon::ICONS`, `Unicon::TABLE` and `Unicon::ACTIONS` are the tables behind them, for a
@@ -77,7 +87,7 @@ caller who wants the pictures as well as the names.
77
87
  ## Model names
78
88
 
79
89
  A host app looks an icon up by the name of the model it is rendering, and the more names
80
- answer, the less any app has to declare. 134 of them borrow the icons of a concept —
90
+ answer, the less any app has to declare. 131 of them borrow the icons of a concept —
81
91
  `:user` takes the person, `:zip` takes the pin — and the Aliases column of the table below
82
92
  says which took which. They resolve without swelling the list a picker offers.
83
93
 
@@ -97,11 +107,11 @@ licenses them for developing applications for Apple-branded products, and this r
97
107
  is part of building one. They may not be redistributed for any other purpose, so anyone
98
108
  reusing this gem outside that context should show the names alone.
99
109
 
100
- The cells hold the icon and not its name, so the table stays readable at 127 rows. **The
110
+ The cells hold the icon and not its name, so the table stays readable at 129 rows. **The
101
111
  name each system uses is on the icon**: hover it, or reach it with a screen reader, and
102
112
  `Unicon[:search][:ios]` reads back as `magnifyingglass`.
103
113
 
104
- The 42 action icons are not in the table. They are fetchable — `Unicon[:pencil]` answers
114
+ The 42 action icons are not in the table. They are fetchable — `Unicon[:edit]` answers
105
115
  — but they name what an app does rather than what it has, and this table is `Unicon.icons`
106
116
  drawn out. `Unicon.actions` names them all.
107
117
 
@@ -125,9 +135,10 @@ drawn out. `Unicon.actions` names them all.
125
135
  | `:book` | | ![book](vendor/bootstrap-icons/book.svg "book") | ![book](vendor/sf-symbols/book.svg "book") | ![book](vendor/material-symbols/book.svg "book") |
126
136
  | `:bookmark` | | ![bookmark](vendor/bootstrap-icons/bookmark.svg "bookmark") | ![bookmark](vendor/sf-symbols/bookmark.svg "bookmark") | ![bookmark](vendor/material-symbols/bookmark.svg "bookmark") |
127
137
  | `:box` | `:inventory` `:item` `:package` `:product` | ![box](vendor/bootstrap-icons/box.svg "box") | ![shippingbox](vendor/sf-symbols/shippingbox.svg "shippingbox") | ![inventory_2](vendor/material-symbols/inventory_2.svg "inventory_2") |
138
+ | `:brand` | | ![c-circle](vendor/bootstrap-icons/c-circle.svg "c-circle") | ![c.circle](vendor/sf-symbols/c.circle.svg "c.circle") | ![copyright](vendor/material-symbols/copyright.svg "copyright") |
128
139
  | `:briefcase` | `:provider` | ![briefcase](vendor/bootstrap-icons/briefcase.svg "briefcase") | ![briefcase](vendor/sf-symbols/briefcase.svg "briefcase") | ![work](vendor/material-symbols/work.svg "work") |
129
140
  | `:brush` | | ![brush](vendor/bootstrap-icons/brush.svg "brush") | ![paintbrush](vendor/sf-symbols/paintbrush.svg "paintbrush") | ![brush](vendor/material-symbols/brush.svg "brush") |
130
- | `:building` | `:brand` `:business` `:city` `:company` `:franchise` `:office` `:organization` | ![building](vendor/bootstrap-icons/building.svg "building") | ![building](vendor/sf-symbols/building.svg "building") | ![apartment](vendor/material-symbols/apartment.svg "apartment") |
141
+ | `:building` | `:business` `:city` `:company` `:office` `:organization` | ![building](vendor/bootstrap-icons/building.svg "building") | ![building](vendor/sf-symbols/building.svg "building") | ![apartment](vendor/material-symbols/apartment.svg "apartment") |
131
142
  | `:bus` | | ![bus-front](vendor/bootstrap-icons/bus-front.svg "bus-front") | ![bus](vendor/sf-symbols/bus.svg "bus") | ![directions_bus](vendor/material-symbols/directions_bus.svg "directions_bus") |
132
143
  | `:calendar` | `:event` `:plan` `:schedule` | ![calendar](vendor/bootstrap-icons/calendar.svg "calendar") | ![calendar](vendor/sf-symbols/calendar.svg "calendar") | ![calendar_month](vendor/material-symbols/calendar_month.svg "calendar_month") |
133
144
  | `:calendar_check` | `:appointment` `:booking` | ![calendar-check](vendor/bootstrap-icons/calendar-check.svg "calendar-check") | ![calendar.badge.checkmark](vendor/sf-symbols/calendar.badge.checkmark.svg "calendar.badge.checkmark") | ![event_available](vendor/material-symbols/event_available.svg "event_available") |
@@ -155,6 +166,7 @@ drawn out. `Unicon.actions` names them all.
155
166
  | `:fire` | | ![fire](vendor/bootstrap-icons/fire.svg "fire") | ![flame](vendor/sf-symbols/flame.svg "flame") | ![local_fire_department](vendor/material-symbols/local_fire_department.svg "local_fire_department") |
156
167
  | `:flag` | `:milestone` | ![flag](vendor/bootstrap-icons/flag.svg "flag") | ![flag](vendor/sf-symbols/flag.svg "flag") | ![flag](vendor/material-symbols/flag.svg "flag") |
157
168
  | `:folder` | `:project` | ![folder](vendor/bootstrap-icons/folder.svg "folder") | ![folder](vendor/sf-symbols/folder.svg "folder") | ![folder](vendor/material-symbols/folder.svg "folder") |
169
+ | `:franchise` | | ![building](vendor/bootstrap-icons/building.svg "building") | ![building.2](assets/undrawn.svg "building.2") | ![corporate_fare](vendor/material-symbols/corporate_fare.svg "corporate_fare") |
158
170
  | `:gear` | `:configuration` `:setting` | ![gear](vendor/bootstrap-icons/gear.svg "gear") | ![gearshape](vendor/sf-symbols/gearshape.svg "gearshape") | ![settings](vendor/material-symbols/settings.svg "settings") |
159
171
  | `:gift` | `:coupon` `:offer` | ![gift](vendor/bootstrap-icons/gift.svg "gift") | ![gift](vendor/sf-symbols/gift.svg "gift") | ![redeem](vendor/material-symbols/redeem.svg "redeem") |
160
172
  | `:globe` | `:country` `:site` | ![globe](vendor/bootstrap-icons/globe.svg "globe") | ![globe](vendor/sf-symbols/globe.svg "globe") | ![public](vendor/material-symbols/public.svg "public") |
@@ -190,7 +202,7 @@ drawn out. `Unicon.actions` names them all.
190
202
  | `:percent` | `:discount` | ![percent](vendor/bootstrap-icons/percent.svg "percent") | ![percent](vendor/sf-symbols/percent.svg "percent") | ![percent](vendor/material-symbols/percent.svg "percent") |
191
203
  | `:person` | `:client` `:customer` `:lead` `:member` `:user` | ![person](vendor/bootstrap-icons/person.svg "person") | ![person](vendor/sf-symbols/person.svg "person") | ![person](vendor/material-symbols/person.svg "person") |
192
204
  | `:phone` | `:call` | ![telephone](vendor/bootstrap-icons/telephone.svg "telephone") | ![phone](vendor/sf-symbols/phone.svg "phone") | ![call](vendor/material-symbols/call.svg "call") |
193
- | `:pie_chart` | | ![pie-chart](vendor/bootstrap-icons/pie-chart.svg "pie-chart") | ![chart.pie](vendor/sf-symbols/chart.pie.svg "chart.pie") | ![pie_chart](vendor/material-symbols/pie_chart.svg "pie_chart") |
205
+ | `:pie_chart` | `:sector` | ![pie-chart](vendor/bootstrap-icons/pie-chart.svg "pie-chart") | ![chart.pie](vendor/sf-symbols/chart.pie.svg "chart.pie") | ![pie_chart](vendor/material-symbols/pie_chart.svg "pie_chart") |
194
206
  | `:pin` | `:address` `:destination` `:location` `:zip` | ![geo-alt](vendor/bootstrap-icons/geo-alt.svg "geo-alt") | ![mappin](vendor/sf-symbols/mappin.svg "mappin") | ![location_on](vendor/material-symbols/location_on.svg "location_on") |
195
207
  | `:playlist` | `:episode` | ![collection-play](vendor/bootstrap-icons/collection-play.svg "collection-play") | ![play.square.stack](vendor/sf-symbols/play.square.stack.svg "play.square.stack") | ![video_library](vendor/material-symbols/video_library.svg "video_library") |
196
208
  | `:puzzle` | `:integration` `:platform` `:plugin` | ![puzzle](vendor/bootstrap-icons/puzzle.svg "puzzle") | ![puzzlepiece](vendor/sf-symbols/puzzlepiece.svg "puzzlepiece") | ![extension](vendor/material-symbols/extension.svg "extension") |
@@ -1,21 +1,21 @@
1
1
  module Unicon
2
2
  # Changing a record, or what is shown of it
3
3
  EDITING = {
4
- plus: { bootstrap: 'plus', ios: 'plus', android: 'add' },
5
- minus: { bootstrap: 'dash', ios: 'minus', android: 'remove' },
6
- check: { bootstrap: 'check', ios: 'checkmark', android: 'check' },
4
+ add: { bootstrap: 'plus', ios: 'plus', android: 'add' },
5
+ subtract: { bootstrap: 'dash', ios: 'minus', android: 'remove' },
6
+ confirm: { bootstrap: 'check', ios: 'checkmark', android: 'check' },
7
7
  close: { bootstrap: 'x', ios: 'xmark', android: 'close' },
8
- pencil: { bootstrap: 'pencil', ios: 'pencil', android: 'edit' },
9
- trash: { bootstrap: 'trash', ios: 'trash', android: 'delete' },
8
+ edit: { bootstrap: 'pencil', ios: 'pencil', android: 'edit' },
9
+ delete: { bootstrap: 'trash', ios: 'trash', android: 'delete' },
10
10
  copy: { bootstrap: 'copy', ios: 'doc.on.doc', android: 'content_copy' },
11
- scissors: { bootstrap: 'scissors', ios: 'scissors', android: 'content_cut' },
11
+ cut: { bootstrap: 'scissors', ios: 'scissors', android: 'content_cut' },
12
12
  undo: { bootstrap: 'arrow-counterclockwise', ios: 'arrow.uturn.backward', android: 'undo' },
13
13
  refresh: { bootstrap: 'arrow-clockwise', ios: 'arrow.clockwise', android: 'refresh' },
14
14
  sort: { bootstrap: 'sort-down', ios: 'arrow.up.arrow.down', android: 'sort' },
15
15
  zoom_in: { bootstrap: 'zoom-in', ios: 'plus.magnifyingglass', android: 'zoom_in' },
16
16
  zoom_out: { bootstrap: 'zoom-out', ios: 'minus.magnifyingglass', android: 'zoom_out' },
17
- person_add: { bootstrap: 'person-plus', ios: 'person.badge.plus', android: 'person_add' },
18
- person_remove: {
17
+ add_member: { bootstrap: 'person-plus', ios: 'person.badge.plus', android: 'person_add' },
18
+ remove_member: {
19
19
  bootstrap: 'person-dash', ios: 'person.badge.minus', android: 'person_remove',
20
20
  },
21
21
  }.freeze
@@ -1,22 +1,22 @@
1
1
  module Unicon
2
2
  # Where a control leads, and what it opens
3
3
  POINTING = {
4
- chevron_up: { bootstrap: 'chevron-up', ios: 'chevron.up', android: 'keyboard_arrow_up' },
5
- chevron_down: {
4
+ move_up: { bootstrap: 'chevron-up', ios: 'chevron.up', android: 'keyboard_arrow_up' },
5
+ move_down: {
6
6
  bootstrap: 'chevron-down', ios: 'chevron.down', android: 'keyboard_arrow_down',
7
7
  },
8
- chevron_left: {
8
+ move_left: {
9
9
  bootstrap: 'chevron-left', ios: 'chevron.left', android: 'keyboard_arrow_left',
10
10
  },
11
- chevron_right: {
11
+ move_right: {
12
12
  bootstrap: 'chevron-right', ios: 'chevron.right', android: 'keyboard_arrow_right',
13
13
  },
14
- arrow_up: { bootstrap: 'arrow-up', ios: 'arrow.up', android: 'arrow_upward' },
15
- arrow_down: { bootstrap: 'arrow-down', ios: 'arrow.down', android: 'arrow_downward' },
16
- arrow_left: { bootstrap: 'arrow-left', ios: 'arrow.left', android: 'arrow_back' },
17
- arrow_right: { bootstrap: 'arrow-right', ios: 'arrow.right', android: 'arrow_forward' },
18
- menu: { bootstrap: 'list', ios: 'line.3.horizontal', android: 'menu' },
19
- ellipsis: { bootstrap: 'three-dots', ios: 'ellipsis', android: 'more_horiz' },
20
- sidebar: { bootstrap: 'layout-sidebar', ios: 'sidebar.left', android: 'view_sidebar' },
14
+ point_up: { bootstrap: 'arrow-up', ios: 'arrow.up', android: 'arrow_upward' },
15
+ point_down: { bootstrap: 'arrow-down', ios: 'arrow.down', android: 'arrow_downward' },
16
+ point_left: { bootstrap: 'arrow-left', ios: 'arrow.left', android: 'arrow_back' },
17
+ point_right: { bootstrap: 'arrow-right', ios: 'arrow.right', android: 'arrow_forward' },
18
+ open_menu: { bootstrap: 'list', ios: 'line.3.horizontal', android: 'menu' },
19
+ truncate: { bootstrap: 'three-dots', ios: 'ellipsis', android: 'more_horiz' },
20
+ toggle_sidebar: { bootstrap: 'layout-sidebar', ios: 'sidebar.left', android: 'view_sidebar' },
21
21
  }.freeze
22
22
  end
@@ -5,6 +5,6 @@ module Unicon
5
5
  share: { bootstrap: 'share', ios: 'square.and.arrow.up', android: 'share' },
6
6
  download: { bootstrap: 'download', ios: 'arrow.down.circle', android: 'download' },
7
7
  upload: { bootstrap: 'upload', ios: 'arrow.up.circle', android: 'upload' },
8
- printer: { bootstrap: 'printer', ios: 'printer', android: 'print' },
8
+ print: { bootstrap: 'printer', ios: 'printer', android: 'print' },
9
9
  }.freeze
10
10
  end
@@ -10,7 +10,7 @@ module Unicon
10
10
  bootstrap: 'box-arrow-right', ios: 'rectangle.portrait.and.arrow.right', android: 'logout',
11
11
  },
12
12
  unlock: { bootstrap: 'unlock', ios: 'lock.open', android: 'lock_open' },
13
- eye_slash: { bootstrap: 'eye-slash', ios: 'eye.slash', android: 'visibility_off' },
13
+ hide: { bootstrap: 'eye-slash', ios: 'eye.slash', android: 'visibility_off' },
14
14
  power: { bootstrap: 'power', ios: 'power', android: 'power_settings_new' },
15
15
  }.freeze
16
16
  end
@@ -5,7 +5,7 @@ module Unicon
5
5
  answer: :question, api: :terminal, app: :window, appointment: :calendar_check,
6
6
  area: :map, assessment: :clipboard, attachment: :paperclip, audio: :waveform,
7
7
  author: :account, avatar: :account, backup: :cloud, banner: :image, bill: :invoice,
8
- booking: :calendar_check, brand: :building, business: :building, call: :phone,
8
+ booking: :calendar_check, business: :building, call: :phone,
9
9
  campaign: :megaphone, category: :tag, charge: :credit_card, city: :building,
10
10
  client: :person, comment: :chat, company: :building, configuration: :gear,
11
11
  contract: :signature, conversation: :chat, cost: :cash, country: :globe,
@@ -14,7 +14,7 @@ module Unicon
14
14
  discount: :percent, echo: :waveform, email: :envelope, employee: :badge,
15
15
  episode: :playlist, evaluation: :speedometer, event: :calendar, export: :download,
16
16
  feedback: :smiley, file: :document, fleet: :truck, form: :document,
17
- franchise: :building, goal: :trophy, group: :people, history: :clock,
17
+ goal: :trophy, group: :people, history: :clock,
18
18
  home: :house, import: :upload, integration: :puzzle, inventory: :box,
19
19
  issue: :warning, item: :box, job: :hammer, label: :tag,
20
20
  lead: :person, location: :pin, log: :list, market: :shop,
@@ -28,7 +28,7 @@ module Unicon
28
28
  project: :folder, prompt: :terminal, provider: :briefcase, purchase: :cart,
29
29
  rating: :star, recording: :microphone, region: :map, reminder: :bell,
30
30
  review: :star, ride: :car, role: :badge, route: :signpost,
31
- schedule: :calendar, screen: :display, session: :clock, setting: :gear,
31
+ schedule: :calendar, screen: :display, sector: :pie_chart, session: :clock, setting: :gear,
32
32
  shift: :clock, shipment: :truck, site: :globe, source: :signpost,
33
33
  specialty: :award, staff: :people, state: :map, subscription: :repeat,
34
34
  summary: :document, supplier: :truck, survey: :clipboard, sync: :refresh,
@@ -4,6 +4,7 @@ module Unicon
4
4
  cart: { bootstrap: 'cart', ios: 'cart', android: 'shopping_cart' },
5
5
  bag: { bootstrap: 'bag', ios: 'bag', android: 'shopping_bag' },
6
6
  tag: { bootstrap: 'tag', ios: 'tag', android: 'sell' },
7
+ brand: { bootstrap: 'c-circle', ios: 'c.circle', android: 'copyright' },
7
8
  credit_card: { bootstrap: 'credit-card', ios: 'creditcard', android: 'credit_card' },
8
9
  cash: { bootstrap: 'cash', ios: 'banknote', android: 'payments' },
9
10
  wallet: { bootstrap: 'wallet', ios: 'wallet.pass', android: 'wallet' },
@@ -4,6 +4,7 @@ module Unicon
4
4
  house: { bootstrap: 'house', ios: 'house', android: 'home' },
5
5
  building: { bootstrap: 'building', ios: 'building', android: 'apartment' },
6
6
  shop: { bootstrap: 'shop', ios: 'storefront', android: 'storefront' },
7
+ franchise: { bootstrap: 'building', ios: 'building.2', android: 'corporate_fare' },
7
8
  bank: { bootstrap: 'bank', ios: 'building.columns', android: 'account_balance' },
8
9
  map: { bootstrap: 'map', ios: 'map', android: 'map' },
9
10
  pin: { bootstrap: 'geo-alt', ios: 'mappin', android: 'location_on' },
@@ -1,4 +1,4 @@
1
1
  module Unicon
2
2
  # Version of the gem, read by the gemspec and by hosts checking compatibility.
3
- VERSION = '1.1.0'
3
+ VERSION = '3.0.0'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unicon
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - claudiob